✨ feat(base.py): add support for 'dict' type fields to be handled as 'dict' instead of 'code' or 'file'
🐛 fix(documentloaders.py): change field_type of metadata field to 'dict' instead of 'code'
🐛 fix(embeddings.py): change field_type of model_kwargs field to 'dict' instead of 'code'
🐛 fix(field_formatters.py): refactor DictCodeFileFormatter to handle 'dict' type fields as 'dict' instead of 'code' or 'file'
🐛 fix(prompts.py): call parent format_field method in PromptFrontendNode to ensure proper formatting
🐛 fix(vectorstores.py): change field_type of search_kwargs field to 'NestedDict' instead of 'code'
🐛 fix(util.py): remove unused replace_dict_type_with_code function
🔨 refactor(MetalRetriever.py): remove field_type code from params field in the component configuration
🔨 refactor(GetRequest.py): remove field_type code from headers field in the component configuration
🔨 refactor(PostRequest.py): remove field_type code from headers field in the component configuration
The previous implementation was not correctly handling nested dictionaries and lists. This fix updates the assignment of params[key] to correctly handle nested dictionaries and lists by using a dictionary comprehension.
🔧 chore(base.py): handle "dict" and "NestedDict" types in params parsing to ensure correct conversion from frontend data
🔧 chore(llms.py): change field_type from "code" to "dict" for model_kwargs field to improve semantics
🔧 chore(utilities.py): remove field_type "code" for fields with dict values to improve consistency
🔧 chore(constants.py): add "dict" and "NestedDict" to DIRECT_TYPES list to reflect available field types
🔧 chore(util.py): remove replace_dict_type_with_code function as it is no longer needed
✨ 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(users.py): add support for resetting a user's password
🐛 fix(crud.py): fix update_user function to properly handle unchanged attributes and return 304 status code if nothing is updated
🐛 fix(user.py): change field name in UserUpdate model from 'username' to 'password' to reflect the intended functionality
🐛 fix(index.ts): update API routes in frontend controller functions to match the changed user-related endpoint paths
🐛 fix(validate.py): set frontend_node to None instead of an empty dictionary in post_validate_prompt function to align with the default value in ValidatePromptRequest class
✨ 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
🐛 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