✨ feat(chat.py): add dependency injection for ChatManager in chat and init_build routes to improve modularity and testability
🔧 fix(chat.py): remove duplicate instantiation of ChatManager in chat and init_build routes to improve efficiency
🔧 fix(chat.py): remove duplicate instantiation of ChatManager in stream_build route to improve efficiency
🔧 fix(utils.py): add missing import for ChatManager in get_chat_manager function
🐛 fix(flows.py): change update_flow function signature to include settings_manager as a dependency to improve code readability
🐛 fix(login.py): change auto_login function signature to include settings_manager as a dependency to improve code readability
🐛 fix(users.py): change add_user function signature to include session as a dependency to improve code readability
🐛 fix(users.py): change read_all_users function signature to include session as a dependency to improve code readability
🐛 fix(users.py): change patch_user function signature to include session as a dependency to improve code readability
🐛 fix(users.py): change delete_user function signature to include session as a dependency to improve code readability
🐛 fix(users.py): change add_super_user_for_testing_purposes_delete_me_before_merge_into_dev function signature to include session as a dependency to improve code readability
✨ feat(endpoints.py): add support for launching tasks using task manager to improve task management
🐛 fix(endpoints.py): change process_graph_cached_task function call to use task_manager.launch_task to fix AttributeError
🐛 fix(endpoints.py): change process_flow function to use task_manager.get_task to fix AttributeError
🐛 fix(endpoints.py): change get_task_status function to use task_manager.get_task to fix AttributeError
🐛 fix(process.py): change process_graph_cached function to be async to fix TypeError
✨ feat(manager.py): add support for task manager service in the service manager initialization process
✨ feat(schema.py): add task manager service type to the ServiceType enum
🔨 refactor(factory.py): add type hinting for settings_manager parameter in create method of CacheManagerFactory
🔨 refactor(manager.py): remove inheritance of Service class from InMemoryCache and RedisCache to simplify class hierarchy
✨ 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
🐛 fix(task): update get_task_status function in TaskManager class to return the correct task status
🔧 chore(task): add AsyncIOTaskResult class to handle asyncio tasks and get their status and result
🔧 chore(task): add get_celery_worker_status function to get the status of the Celery worker
This PR introduces a new **DropdownButton** component that enables the
creation of interactive dropdown buttons in our application. The
dropdown button provides a user-friendly way to present multiple options
while maintaining a clean and compact interface.
🐛 fix(utils.py): raise credentials_exception when SECRET_KEY is None in get_current_user function
🐛 fix(utils.py): raise HTTPException with status code 400 and detail message when FIRST_SUPERUSER credentials are missing in create_user_longterm_token function
🐛 fix(auth.py): set SECRET_KEY default value to empty string and disallow mutation in AuthSettings class
🐛 fix(auth.py): set FIRST_SUPERUSER and FIRST_SUPERUSER_PASSWORD as optional fields with default values and disallow mutation in AuthSettings class
🐛 fix(manager.py): raise ValueError when CONFIG_DIR is not set in settings
🐛 fix(keypairListComponent): remove console.log statement
🐛 fix(keypairListComponent): add class 'input-invalid' to input when duplicate key is detected
🐛 fix(EditNodeModal): fix incorrect condition for rendering KeypairListComponent based on type
🎨 style(applies.css): add styles for 'input-invalid' class to indicate invalid input
🔧 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
🐛 fix(parameterComponent): fix logic error in onChange handler to update dictArr state when there are duplicate keys in the array
✨ feat(parameterComponent): add type annotation to onChange handler parameter to improve code clarity
✨ feat(parameterComponent): add error handling for duplicate keys in dictionary input field to prevent saving invalid data
🐛 fix(keypairListComponent): fix logic for handling duplicate keys in key-value pairs to prevent saving invalid data
🚚 chore(types): add optional duplicateKey property to KeyPairListComponent type
✨ feat(reactflowUtils): add utility functions to convert object to array and array to object, and check for duplicate keys in an array of objects
✨ feat(manager.py): add debug log messages for service creation and update to improve debugging
✨ feat(manager.py): add teardown method to ServiceManager to teardown all services and clear state
✨ feat(manager.py): add teardown_services function to teardown all services and clear state