- Added `invalidName` and `setInvalidName` props to `EditFlowSettings` component to handle validation for duplicate flow names.
- Added `nameLists` useRef to store the list of flow names fetched from the database.
- Added `useEffect` to fetch the flow names from the database and populate `nameLists` useRef.
- Modified `handleNameChange` function to check if the entered name already exists in `nameLists` useRef and set `invalidName` accordingly.
- Added a new span element to display an error message if the name is already in use.
fix(flowSettingsModal): disable save button when the flow name is invalid
- Added `invalidName` and `setInvalidName` states to `FlowSettingsModal` component to handle the validation for invalid flow names.
- Passed `invalidName` and `setInvalidName` props to `EditFlowSettings` component.
- Disabled the save button when `invalidName` is true.
✨ feat(utils.py): add merge_nested_dicts function to merge nested dictionaries recursively
🐛 fix(endpoints.py): import merge_nested_dicts function from the correct module
✨ feat(endpoints.py): use merge_nested_dicts function to merge dictionaries in build_langchain_custom_component_list_from_path function
🐛 fix(types.py): import merge_nested_dicts function from the correct module
✨ feat(types.py): use merge_nested_dicts function to merge dictionaries in build_langchain_custom_component_list_from_path function
🐛 fix(types.py): import merge_nested_dicts function from the correct module
✨ feat(types.py): use merge_nested_dicts function to merge valid and invalid menus in build_langchain_custom_component_list_from_path function
🐛 fix(tools.py): import Optional from typing module
✨ feat(tools.py): add CustomComponentEmptyNode class to represent an empty custom component template
🔨 refactor(types.py): change usage of CustomComponentNode to CustomComponentFrontendNode to align with updated module structure
🔨 refactor(frontend_node/base.py): add beta flag to FrontendNode class to indicate if a node is in beta stage
🔨 refactor(custom_components.py): add beta flag to CustomComponentFrontendNode class to indicate it is in beta stage
🔨 refactor(tools.py): remove unused import of DEFAULT_CUSTOM_COMPONENT_CODE
🔨 refactor(tools.py): remove CustomComponentNode class as it is no longer used
🐛 fix(custom_component.py): fix return value of list_flows method to return the actual flow objects instead of just their names
🔥 chore(custom_component.py): remove unused build method as it is not implemented
✨ feat(endpoints.py): add support for clear_cache parameter in process_flow endpoint to allow clearing the cache before processing the flow
🐛 fix(process.py): add logic to clear cache if clear_cache parameter is True in process_graph_cached function to fix caching issue
✨ feat(__main__.py): add support for loading settings from a specified config file
✨ feat(__main__.py): add support for setting remove_api_keys flag
✨ feat(__main__.py): add support for setting cache flag
✨ feat(__main__.py): add support for adding component path
🐛 fix(utils): remove unnecessary if condition and code block
✨ feat(parameterComponent): add fallback logic to display a custom component when no grouped objects are found
✨ feat(__main__.py): add component_path option to serve command to specify the directory containing custom components
🐛 fix(settings.py): modify update_settings function to handle list attributes correctly
This PR is about the transition from PopupContext to the Radix native
way of handling popups, as well as applying a BaseModal to all of the
modals to improve modularity.
✨ feat(parameterComponent): add support for custom components in groupByFamily function
✨ feat(utils): add groupByFamilyCustom function to handle custom components in groupByFamily function
🔧 fix(parameterComponent): add 'flows' to the list of destructured variables from TabsContext to fix missing reference error
🔧 fix(parameterComponent): remove unused console.log statements to clean up code