✅ test(test_user.py): add test to create a super user for testing purposes and ensure it returns the correct response
🔥 chore(utils.py): remove unused functions run_post and poll_task_status to clean up code
🔧 chore(test_graph.py): add missing imports for AgentVertex and VectorStoreVertex to fix NameError
🔧 chore(test_graph.py): add missing import for langchain.agents.AgentExecutor to fix NameError
🔧 chore(test_graph.py): add missing import for langchain.graph.Graph to fix NameError
🔧 chore(test_graph.py): add missing import for langflow.processing.process.get_result_and_thought to fix NameError
🔧 chore(test_graph.py): add missing import for langflow.utils.payload.get_root_node to fix NameError
🔧 chore(test_graph.py): add missing import for langchain.llms.fake.FakeListLLM to fix NameError
🔧 chore(test_graph.py): add missing import for langchain.chains.base.Chain to fix NameError
🔧 chore(test_graph.py): add missing import for langflow.graph.edge.base.Edge to fix NameError
🔧 chore(test_graph.py): add missing import for langflow.graph.vertex.base.Vertex to fix NameError
🔧 chore(test_graph.py): add missing import for langflow.graph.vertex.types.ToolkitVertex to fix NameError
🔧 chore(test_graph.py): add missing import for langflow.graph.vertex.types.FileToolVertex to fix NameError
🔧 chore(test_graph.py): add missing import for langflow.graph.vertex.types.LLMVertex to fix NameError
🔧 chore(test_graph.py): add missing import for langflow.graph.vertex.types.AgentVertex to fix NameError
🔧 chore(test_graph.py): add missing import for langflow.graph.vertex.types.VectorStoreVertex to fix NameError
🔧 chore(test_graph.py): add missing import for langchain.agents.AgentExecutor to fix NameError
🔧 chore(test_graph.py): add missing import for langchain.graph.Graph to fix NameError
🔧 chore(test_graph.py): add missing import for langflow.processing.process.get_result_and_thought to fix NameError
🔧 chore(test_graph.py): add missing import for langflow.utils.payload.get_root_node to fix NameError
🔧 chore(test_graph.py): add missing import for langchain.llms.fake.FakeListLLM to fix NameError
🔧 chore(test_graph.py): add missing import for langchain.chains.base.Chain to
✨ feat(test_endpoints.py): add helper functions run_post and poll_task_status to improve code modularity and reusability
🔧 fix(test_endpoints.py): fix typo in test_basic_chat_with_two_session_ids_and_names function to improve code readability
✨ feat(test_endpoints.py): add async_test marker to test_vector_store_in_process function to indicate it is an asynchronous test
✨ feat(test_endpoints.py): add distributed_client parameter to test_vector_store_in_process function to test distributed client functionality
✨ feat(test_endpoints.py): add async_test marker to test_async_task_processing function to indicate it is an asynchronous test
✨ feat(test_endpoints.py): add distributed_client parameter to test_async_task_processing function to test distributed client functionality
✨ feat(test_endpoints.py): add async_test marker to test_async_task_processing_vector_store function to indicate it is an asynchronous test
✨ feat(test_endpoints.py): add distributed_client parameter to test_async_task_processing_vector_store function to test distributed client functionality
✨ feat(test_database.py): add support for session management using session_getter to improve code organization and maintainability
🐛 fix(test_endpoints.py): remove unused imports to improve code readability
✨ feat(test_endpoints.py): add support for session management using session_getter to improve code organization and maintainability
🐛 fix(test_login.py): remove unused imports to improve code readability
✨ feat(test_login.py): add support for session management using session_getter to improve code organization and maintainability
🔧 fix(test_user.py): update fixtures to use session_getter and get_db_manager functions for session management
✨ feat(test_user.py): add support for creating and managing database sessions using session_getter and get_db_manager functions
🔧 fix(test_user.py): update test_user_waiting_for_approval function to use session_getter and get_db_manager functions for session management
🔧 fix(test_user.py): update test_data_consistency_after_delete function to use session_getter and get_db_manager functions for session management
🔧 fix(test_user.py): update test_inactive_user function to use session_getter and get_db_manager functions for session management
🐛 fix(test_template.py): update type annotation in test_format_dict function to reflect the correct type of the field
🐛 fix(test_prompts_template.py): update type annotation in test_prompt_template function to reflect the correct type of the field
🔒 test(test_setup_superuser.py): test when AUTO_LOGIN is True, setup_superuser should not call get_session and create_super_user
🔒 test(test_setup_superuser.py): test when username and password are default, setup_superuser should call get_session, query, filter, and create_super_user with correct arguments, and reset superuser credentials
🔒 test(test_setup_superuser.py): test when superuser already exists, setup_superuser should call get_session, query, and filter with correct arguments, and not call create_super_user
🔒 test(test_teardown_superuser_default_superuser): test teardown_superuser with default superuser, should call get_session, query, filter, delete, and commit with correct arguments
🔒 test(test_teardown_superuser_no_default_superuser): test teardown_superuser without default superuser, should not call get_session, query, delete, and commit
🐛 fix(api_key.py): import correct function for get_session in langflow/api/v1/api_key.py
🐛 fix(chat.py): import correct function for get_chat_manager and get_session in langflow/api/v1/chat.py
🐛 fix(components.py): import correct function for get_session in langflow/api/v1/components.py
🐛 fix(endpoints.py): import correct function for get_session and get_settings_manager in langflow/api/v1/endpoints.py
🐛 fix(flows.py): import correct function for get_session and get_settings_manager in langflow/api/v1/flows.py
🐛 fix(login.py): import correct function for get_session and get_settings_manager in langflow/api/v1/login.py
🐛 fix(users.py): import correct function for get_session in langflow/api/v1/users.py
🐛 fix(base.py): import correct function for get_settings_manager in langflow/interface/agents/base.py
🐛 fix(base.py): import correct function for get_settings_manager in langflow/interface/base.py
🐛 fix(base.py): import correct function for get_settings_manager in langflow/interface/chains/base.py
🐛 fix(custom_component.py): import correct function for get_db_manager in langflow/interface/custom/custom_component.py
🐛 fix(base.py): import correct function for get_settings_manager in langflow/interface/document_loaders/base.py
🐛 fix(base.py): import correct function for get_settings_manager in langflow/interface/embeddings/base.py
🐛 fix(base.py): import correct function for get_settings_manager in langflow/interface/llms/base.py
🐛 fix(base.py): import correct function for get_settings_manager in langflow/interface/memories/base.py
🐛 fix(base.py): import correct function for get_settings_manager in langflow/interface/output_parsers/base.py
🐛 fix(base.py): import correct function for get_settings_manager in langflow/interface/prompts/base.py
🐛 fix(base.py): import correct function for get_settings_manager in langflow/interface/retrievers/base.py
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect new module location
🐛 fix(base.py): update import statement for get_settings_manager function to reflect
🔧 fix(test_user.py): update import statement for get_settings_manager to reflect new module structure
🔧 fix(test_user.py): update variable names for superuser and superuser password to match new naming convention
🔧 fix(test_user.py): update variable names for superuser and superuser password to match new naming convention
🔧 fix(test_vectorstore_template.py): update import statement for get_settings_manager to reflect new module structure
🐛 fix(endpoints.py): remove unused import and type hinting to improve code readability and maintainability
🐛 fix(endpoints.py): fix incorrect import statement for TaskService
🐛 fix(endpoints.py): fix incorrect return value for get_task_status function
✨ feat(endpoints.py): add test case for async task processing to validate task completion and result
✨ feat(crud.py): add support for updating user profile image in the update_user function
✨ feat(test_user.py): add test case for updating user profile image in the test_patch_user function
✨ feat(tests): add assertion for response status code 201 after creating a user
🐛 fix(tests): update endpoint path from "/api/v1/user/{user_id}" to "/api/v1/users/{user_id}" for consistency and clarity
🐛 fix(tests): update endpoint path from "/api/v1/user" to "/api/v1/users/whoami" to fetch the updated user
🐛 fix(tests): update endpoint path from "/api/v1/user/{user_id}" to "/api/v1/users/{user_id}" for consistency and clarity
🐛 fix(tests): update endpoint path from "/api/v1/user/{user_id}" to "/api/v1/users/{user_id}" for consistency and clarity
✨ feat(tests): add assertion for response status code 401 and detail message after fetching the updated user
✨ feat(tests): add assertion for response status code 200 after deleting a user
🐛 fix(tests): update endpoint path from "/api/v1/user/{user_id}" to "/api/v1/users/{user_id}" for consistency and clarity
✨ feat(tests): add assertion for response status code 200 and detail message after deleting a user
🐛 fix(tests): update endpoint path from "/api/v1/user/{user_id}" to "/api/v1/users/{user_id}" for consistency and clarity
🐛 fix(tests): update endpoint path from "/api/v1/user/{user_id}" to "/api/v1/users/{user_id}" for consistency and clarity
✨ feat(tests): add assertion for response status code 304 after patching user data
✨ feat(tests): add assertion for response status code 200 after resetting user password
🐛 fix(tests): update endpoint path from "/api/v1/user/{user_id}" to "/api/v1/users/{user_id}" for consistency and clarity
✨ feat(tests): add assertion for response status code 422 and detail message after patching user data with wrong id
🐛 fix(tests): update endpoint path from "/api/v1/user/{user_id}" to "/api/v1/users/{user_id}" for consistency and clarity
✨ feat(tests): add assertion for response
✨ feat(test_endpoints.py): add test_basic_chat_with_two_session_ids_and_names to test the functionality of handling multiple session IDs and names in the chat endpoint
🐛 fix(process.py): update session_manager.update_session() method signature to match the new implementation
🐛 fix(worker.py): update session_manager.update_session() method signature to match the new implementation
🐛 fix(test_process.py): update session_manager.build_key() and session_manager.clear_session() method calls to match the new implementation
ℹ️ This commit adds a new node called "Basic Chat with Prompt and History (2)" to the chat application. This node is responsible for creating a simple chat interface with a custom prompt template and a conversational memory buffer.
The node configuration includes various properties such as callbacks, cache, client, max_retries, max_tokens, metadata, model_kwargs, model_name, n, openai_api_base, openai_api_key, openai_organization, openai_proxy, and more.
This new node enhances the chat functionality by providing a more interactive and dynamic chat experience for users.
📝 chore(tests): add BasicChatwithPromptandHistory.json test data file for testing purposes
🔧 fix(test_endpoints.py): remove unused imports and trailing whitespace
✅ test(test_endpoints.py): add test for basic chat in process endpoint to verify correct response and session_id generation
✅ test(test_endpoints.py): add test for basic chat with different session_ids to verify correct response
✅ test(test_endpoints.py): add test for basic chat with two session_ids and names to verify correct response
🔧 chore(conftest.py): add pytest fixture for loading JSON flow with prompt and history
🔧 chore(conftest.py): add pytest fixture for adding a flow with prompt and history to the database
✨ feat(test_endpoints.py): add mock function for update_total_uses to fix test_process_flow_invalid_api_key
✨ feat(test_endpoints.py): add mock function for update_total_uses to fix test_process_flow_without_autologin
✨ feat(test_endpoints.py): add mock function for update_total_uses to fix test_process_flow_fails_autologin_off
✨ feat(test_endpoints.py): change mock_process_graph_cached function to be async and return a Result object instead of a tuple to improve code readability and maintainability
✨ feat(locustfile.py): add x-api-key header to requests for authentication
🐛 fix(locustfile.py): provide default value for FLOW_ID environment variable to prevent errors
🔧 chore(test_user.py): refactor super_user fixture to use auth settings from settings manager for username and password in create_super_user function call
🔧 chore(test_cli.py): update test to use the new run command instead of serve command
✨ feat(test_cli.py): add test for creating a superuser with the superuser command
✨ feat(test_endpoints.py): add test case for handling invalid API key in 'test_process_flow_invalid_api_key' function
✨ feat(test_endpoints.py): add test case for handling invalid flow ID in 'test_process_flow_invalid_id' function
✨ feat(test_endpoints.py): add test case for handling flow not found in 'test_process_flow_invalid_id' function
✨ feat(test_endpoints.py): add test case for testing process flow without autologin in 'test_process_flow_without_autologin' function
✨ feat(conftest.py): add fixture 'flow' to create a test flow in tests/conftest.py
🐛 fix(test_endpoints.py): import missing get_settings_manager function in tests/test_endpoints.py to fix NameError
✨ feat(test_endpoints.py): add test case 'test_process_flow_without_autologin' to test flow processing without auto login
🐛 fix(test_endpoints.py): fix incorrect endpoint URL in test case 'test_process_flow_without_autologin' in tests/test_endpoints.py
✨ feat(test_endpoints.py): add test case 'test_process_flow_fails_autologin_off' to test flow processing failure when auto login is off
✨ feat(endpoints.py): add validation of API key in process_flow endpoint to ensure only valid requests are processed
🔧 chore(utils.py): add validate_api_key function to validate API key against database
🔧 chore(test_endpoints.py): add test case for process_flow endpoint to test API key validation and processing
🐛 fix(chat.py): add missing import statement for Session from sqlmodel
🐛 fix(chat.py): add missing import statement for get_session from langflow.services.utils
🐛 fix(chat.py): add missing import statement for get_current_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_active_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for WebSocket from fastapi
🐛 fix(chat.py): add missing import statement for WebSocketException from fastapi
🐛 fix(chat.py): add missing import statement for status from fastapi
🐛 fix(chat.py): add missing import statement for APIRouter from fastapi
🐛 fix(chat.py): add missing import statement for Depends from fastapi
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_active_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for get_current_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for get_session from langflow.services.utils
🐛 fix(chat.py): add missing import statement for Session from sqlmodel
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_user from langflow.services.auth.utils
🐛 fix(chat.py): add missing import statement for HTTPException from fastapi
🐛 fix(chat.py): add missing import statement for get_current_user from langflow
🔧 fix(test_chains_template.py): update test functions to include logged_in_headers parameter to test authenticated requests
🔧 fix(test_endpoints.py): update test_get_all function to include logged_in_headers parameter to test authenticated requests
🔧 fix(test_llms_template.py): update test functions to include logged_in_headers parameter to test authenticated requests
🔧 fix(test_prompts_template.py): update test functions to include logged_in_headers parameter to test authenticated requests
🔧 fix(test_vectorstore_template.py): update test functions to include logged_in_headers parameter to test authenticated requests
🐛 fix(base.py): add optional user_id parameter to _build and _build_list_of_nodes_and_update_params methods in Vertex class to support building with user-specific data
🐛 fix(base.py): add optional user_id parameter to _get_and_instantiate_class method in Vertex class to support building with user-specific data
🐛 fix(custom_component.py): add user_id attribute to CustomComponent class to store the user ID associated with the component
🐛 fix(custom_component.py): add user_id parameter to list_flows method in CustomComponent class to filter flows by user ID
🐛 fix(custom_component.py): add user_id parameter to get_flow method in CustomComponent class to filter flows by user ID
🐛 fix(conftest.py): add client parameter to active_user fixture in tests to fix missing dependency error
🔥 refactor(test_custom_component.py): remove unused fixture and imports to clean up the test file
🔧 chore(test_custom_component.py): update component fixture to include user_id parameter for testing purposes
🔧 fix(test_database.py): fix test_read_flows function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_read_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_update_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_delete_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_create_flows function signature to include logged_in_headers parameter
🔧 fix(test_database.py): fix test_upload_file function signature to include logged_in_headers parameter
🔧 fix(test_database.py): fix test_download_file function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_create_flow_with_invalid_data function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_get_nonexistent_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_update_flow_idempotency function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_update_nonexistent_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_delete_nonexistent_flow function signature to include active_user and logged_in_headers parameters
🔧 fix(test_database.py): fix test_read_empty_flows function signature to include active_user and logged_in_headers parameters