🔧 fix(floatComponent): add id attribute to Input component to improve accessibility and testing capabilities
🔧 fix(keypairListComponent): add id attribute to Input components to improve accessibility and testing capabilities
🔧 fix(keypairListComponent): add id attribute to Plus and Minus buttons to improve accessibility and testing capabilities
🔧 fix(toggleShadComponent): add id attribute to Switch component to improve accessibility and testing capabilities
🔧 fix(EditNodeModal): add id attribute to ToggleShadComponent component to improve accessibility and testing capabilities
🔧 fix(PageComponent): add id attribute to div element to improve accessibility and testing capabilities
🔧 fix(extraSidebarComponent): add id attribute to div element to improve accessibility and testing capabilities
🔧 fix(nodeToolbarComponent): add id attribute to div element to improve accessibility and testing capabilities
🔧 fix(nodeToolbarComponent): add id attribute to button element to improve accessibility and testing capabilities
🔧 fix(types/components): add id attribute to ToggleComponentType to improve accessibility and testing capabilities
🚀 feat(keypair.spec.ts): add tests for KeypairListComponent to verify key-value pairs functionality
🚀 feat(float.spec.ts): add tests for FloatComponent to verify float input functionality
🚀 feat: add support for toggling various options in the UI
This commit adds support for toggling various options in the UI. The following options can now be toggled:
- showtemperature
- showtop_k
- showtop_p
- showuse_mlock
- showuse_mmap
- showverbose
- showvocab_only
- showcache
- showecho
- showf16_kv
- showgrammar_path
- showlast_n_tokens_size
- showlogits_all
- showlogprobs
- showlora_base
- showlora_path
- showmax_tokens
- showmetadata
- showmodel_kwargs
- showmodel_path
- shown_batch
- shown_ctx
- shown_gpu_layers
- shown_parts
- shown_threads
- showrepeat_penalty
- showrope_freq_base
- showrope_freq_scale
- showseed
- showstop
- showstreaming
- showsuffix
- showtags
These options can be toggled by clicking on the respective elements in the UI. The commit also includes tests to ensure that the toggling functionality works as expected.
The test_process_flow_vector_store_grouped function now includes assertions to check if the expected keywords are present in the source and target fields of the edges in the processed_flow dictionary. This ensures that the processing of the flow vector store grouped JSON is correctly generating the edges with the expected connections between nodes.
🐛 fix(Makefile): handle error in install_frontend command and attempt to fix it by running install_frontendc
🔧 chore(Makefile): simplify backend target by combining install_backend and run_backend commands
✨ feat(Makefile): add support for login flag to control autologin feature in backend command
✨ feat(Makefile): add error handling to retry frontend installation if it fails to ensure successful installation
🐛 fix(Makefile): fix typo in make target name 'install_frontendc' to 'install_frontend' to resolve error during frontend installation
✨ feat(Makefile): add support for running backend with or without autologin based on the value of the 'autologin' variable
The `initialize_database()` function now handles two specific exceptions: "overlaps with other requested revisions" and "Can't locate revision identified by". If either of these exceptions occur, they will not be raised and instead the `alembic_version` table will be deleted. This change improves the error handling and ensures that the database is properly initialized.
Add end-to-end tests for the Flow Page and Group component in the frontend. The Flow Page tests include a test for saving a custom component and verifying the success alert. The Group component tests include tests for grouping and ungrouping components, editing component properties, and verifying the changes.
🐛 fix(base.py): change assignment of parent_node_id and parent_is_top_level to use state dictionary instead of _data attribute
🐛 fix(test_graph.py): change arguments passed to update_source_handle() function to match its signature
The updateGroupNodeTemplate function was updated to include support for the "dict" and "NestedDict" types. This allows the function to properly handle these types when checking if they are required or not.
fix(reactflowUtils): update the display_name value to "group Component" in the generateNodeFromFlow function
The changes were made to improve the semantics and provide more descriptive names for better understanding and maintainability.
fix(formModal/index.tsx): update template.current value when data.type is "prompt" and data.prompt is provided
fix(formModal/index.tsx): remove unnecessary updateLastMessage call when data.type is "stream" and isStream is true
🔧 refactor(buildTrigger/index.tsx): remove unnecessary 'finished' variable and while loop to simplify code logic
🔧 refactor(buildTrigger/index.tsx): remove unnecessary return statement and resolve/reject promises directly to improve code readability
🔧 refactor(buildTrigger/index.tsx): remove unused 'isValid' variable and directly push validation results to 'validationResults' array
🔧 refactor(buildTrigger/index.tsx): remove unnecessary 'else' statements and simplify code logic
🔧 refactor(buildTrigger/index.tsx): remove unnecessary 'setProgress' function call and directly set progress value
🔧 refactor(buildTrigger/index.tsx): remove unnecessary 'setSuccessData' and 'setErrorData' function calls and directly set success and error data values
🔧 refactor(buildTrigger/index.tsx): remove unnecessary type assertion for 'setTabsState' function call
🔧 refactor(buildTrigger/index.tsx): remove unnecessary 'setIsBuilding' function call
🔧 refactor(buildTrigger/index.tsx): remove unnecessary 'eventSource.close()' function call in 'onerror' event handler
🔧 refactor(buildTrigger/index.tsx): remove unnecessary 'resolve' function call in 'onmessage' event handler
🐛 fix(utils.py): fix update_source_handle function to receive g_nodes and g_edges as arguments instead of flow_data
🐛 fix(utils.py): fix get_updated_edges function to receive g_nodes and g_edges as arguments instead of base_flow and group_node_id
✨ feat(utils.py): add support for passing nodes and edges as arguments to find_last_node, update_source_handle, and get_updated_edges functions to improve reusability and modularity
🐛 fix(utils.py): fix bug where ungrouped nodes were not added to the queue for future processing
✨ feat(utils.py): add functionality to keep track of processed nodes to avoid duplicate processing
✨ feat(utils.py): add functionality to process nodes in a breadth-first manner to ensure correct order of processing
✨ feat(utils.py): add functionality to update source handles correctly when ungrouping nodes
🔧 chore(conftest.py): add new path for vector_store_grouped.json file to improve test coverage
🆕 feat(Vector Store): add Vector Store agent and Vector Store Info node
The Vector Store agent allows querying a Vector Store. It can be used to construct an agent from a Vector Store. The Vector Store Info node provides information about a Vector Store.
The Vector Store agent and Vector Store Info node are added to support the functionality of querying a Vector Store.
🔧 chore: update configuration options in the code
📝 docs: add information about the OpenAI API Base configuration option in the code comments
🔧 chore: update configuration for ChatOpenAI and Chroma nodes
📝 docs: update documentation for ChatOpenAI and Chroma nodes
🔧 chore(config): update OpenAIEmbeddings-YwSvx configuration options
The OpenAIEmbeddings-YwSvx configuration options have been updated to include new fields and values. This commit updates the configuration file to reflect these changes.
🔧 chore(config): update configuration options for OpenAIEmbeddings and Chroma
🔧 chore(config): update configuration options for OpenAIEmbeddings and Chroma to improve flexibility and customization
🔧 chore(config): update configuration options for RecursiveCharacterTextSplitter and WebBaseLoader
📝 docs(config): update configuration options for RecursiveCharacterTextSplitter and WebBaseLoader in documentation
🔧 chore(OpenAIEmbeddings): update OpenAIEmbeddings configuration options
The OpenAIEmbeddings node configuration options have been updated to include the following changes:
- `allowed_special` and `disallowed_special` now accept a list of values instead of a single value
- `chunk_size` now accepts an integer value
- `deployment` now accepts a string value
- `embedding_ctx_length` now accepts an integer value
- `headers` now supports multiline values
- `max_retries` now accepts an integer value
- `model` now accepts a string value
- `model_kwargs` now accepts code input
- `openai_api_base` now accepts a password input
- `openai_api_key` now accepts a password input
- `openai_api_type` now accepts a password input
- `openai_api_version` now accepts a password input
- `openai_organization` has been removed from the configuration options
🔧 chore: update OpenAIEmbeddings configuration options in the UI
The OpenAIEmbeddings configuration options in the UI have been updated to include the following changes:
- Added the `openai_organization` option to specify the OpenAI organization.
- Added the `openai_proxy` option to configure the OpenAI proxy.
- Added the `request_timeout` option to set the request timeout.
- Added the `show_progress_bar` option to control the display of progress bars.
- Added the `tiktoken_model_name` option to specify the Tiktoken model name.
These changes improve the flexibility and customization of the OpenAI embedding models.
🔧 chore: clean up unused code and remove unnecessary fields in the configuration file
📝 docs: update documentation link for the Chroma vectorstore module
🔧 fix: fix formatting issue in chunk_size field in RecursiveCharacterTextSplitter node configuration
🔧 fix: fix formatting issue in separator_type field in RecursiveCharacterTextSplitter node configuration
🔧 fix: fix formatting issue in separators field in RecursiveCharacterTextSplitter node configuration
📝 chore(vector_store_grouped.json): add vector_store_grouped.json test data file
🔀 chore(vector_store_grouped.json): add vector_store_grouped.json test data file
✅ test(graph.py): add test case for processing flow with grouped nodes and vector store
🔍 test(graph.py): add assertions to verify the correctness of the processed flow with grouped nodes and vector store
🔧 test(graph.py): update test case for updating template to make a deep copy of sample_nodes to keep it unchanged
✨ feat(utils.py): add support for nested proxy dictionary in template to handle field and id separately
✅ test(test_graph.py): add test cases for process_flow function to ensure correct processing of grouped chat data
✅ test(test_graph.py): add test cases for update_template function to ensure correct updating of template
🔧 chore(conftest.py): add one_grouped_chat_json_flow fixture to read and return the contents of the one_group_chat.json file
📝 chore(one_group_chat.json): add one_group_chat.json test data file
This commit adds the one_group_chat.json file to the tests/data directory. The file contains a simple chat with a custom prompt template and conversational memory buffer. It is used for testing purposes.
🔧 chore: update node configuration for ConversationBufferMemory, ChatOpenAI, and LLMChain
📝 docs: update documentation links for ConversationBufferMemory and LLMChain
🔧 fix: update prompt template in LLMChain to include conversation history and text input variables
🔧 fix: update ConversationBufferMemory node to include description and documentation links
🎨 style: format and organize code for better readability and maintainability
The code was removing the "code" template for CustomComponent by setting its "show" property to false. However, this code is no longer needed and has been removed to simplify the logic and improve maintainability.