Commit graph

1,489 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
2bbbf44b39 🐛 fix(endpoints.py): change get_all function signature to include settings_manager as a dependency to improve code readability
🐛 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
2023-09-04 06:41:34 -03:00
Gabriel Luiz Freitas Almeida
594dfb13c1 🔀 chore(manager.py): ignore type error for session_manager_factory import to prevent linting errors 2023-08-31 11:49:51 -03:00
Gabriel Luiz Freitas Almeida
156d8bb089 🔧 chore(auth.py): remove unnecessary comments and fields in AuthSettings class
🔧 chore(manager.py): remove unnecessary arguments in AuthSettings instantiation
2023-08-31 11:43:41 -03:00
Gabriel Luiz Freitas Almeida
c7b500dd5c 🔧 fix(base.py): fix comment indentation for better readability
🔧 fix(users.py): fix code formatting and indentation for better readability
2023-08-31 11:27:45 -03:00
Gabriel Luiz Freitas Almeida
942c489552 🐛 fix(utils.py): change file mode from "rb" to "r" when reading secret from file to fix incorrect file mode 2023-08-31 11:17:28 -03:00
Gabriel Luiz Freitas Almeida
9eca124b17 🐛 fix(utils.py): raise HTTPException with status code 400 and detail message when FIRST_SUPERUSER credentials are missing in api_key_security function
🐛 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
2023-08-31 11:17:16 -03:00
Gabriel Luiz Freitas Almeida
8429f3fe72 🐛 fix(chat.py): fix typo in variable name 'messsage' to 'message' for better readability
🔧 chore(chat.py): refactor error handling in chat websocket to improve code clarity and maintainability
2023-08-31 11:16:52 -03:00
Gabriel Luiz Freitas Almeida
269cb9bc53 🐛 fix(__main__.py): pass the session as a keyword argument 'db' to the create_super_user function for clarity and consistency
🐛 fix(test_user.py): pass the session as a keyword argument 'db' to the create_super_user function for clarity and consistency
2023-08-31 11:16:39 -03:00
Gabriel Luiz Freitas Almeida
8d96c32c2b 🔧 chore(manager.py): add teardown method to DatabaseManager class for cleaning up the database
🔧 chore(manager.py): remove default superuser if auto_login is enabled during teardown to ensure clean database state
2023-08-31 10:21:03 -03:00
Gabriel Luiz Freitas Almeida
29a616bc77 🐛 fix(utils.py): remove unnecessary code and simplify create_super_user function
 feat(utils.py): refactor create_user_longterm_token to use settings_manager for username and password
2023-08-31 10:20:53 -03:00
Gabriel Luiz Freitas Almeida
91ea879e50 🔧 fix(base.py): make Service class inherit from ABC to make it an abstract base class
 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
2023-08-31 10:20:40 -03:00
Gabriel Luiz Freitas Almeida
08407abe9a 🔧 chore(main.py): add teardown_services function to be called on app shutdown event to properly clean up resources 2023-08-31 10:20:20 -03:00
Gabriel Luiz Freitas Almeida
98dfc01934 🔒 refactor(auth.py): move SECRET_KEY logic to AuthSettings class to improve code organization and reusability
🔒 refactor(base.py): remove SECRET_KEY field from Settings class since it is now handled by AuthSettings class
🔒 refactor(manager.py): pass CONFIG_DIR to AuthSettings constructor when creating an instance
2023-08-30 18:58:12 -03:00
Gabriel Luiz Freitas Almeida
3a90b07235 fix exception 2023-08-30 18:18:22 -03:00
Gabriel Luiz Freitas Almeida
1407719f2f 🐛 fix(chat.py): handle unauthorized error in chat websocket to return WS_1008_POLICY_VIOLATION status code and "Unauthorized" reason 2023-08-30 18:12:03 -03:00
Gabriel Luiz Freitas Almeida
9d7deccc53 🐛 fix(chat.py): handle and log any exception that occurs in the chat websocket to prevent unhandled errors and provide better error messages 2023-08-30 17:54:58 -03:00
Gabriel Luiz Freitas Almeida
163a7c49cd 🐛 fix(utils.py): fix TypeError when comparing offset-naive and offset-aware datetimes in get_current_user function 2023-08-30 17:51:57 -03:00
Gabriel Luiz Freitas Almeida
61f0a93cc6 🔥 refactor(manager.py): remove redundant code in connect method by removing unnecessary await websocket.accept() call 2023-08-30 17:40:22 -03:00
Gabriel Luiz Freitas Almeida
a8b9c08a9d 🐛 fix(base.py): fix issue with loading and saving secret key in Settings class
🐛 fix(utils.py): fix issue with writing secret key to file in write_secret_to_file function
2023-08-30 17:39:51 -03:00
Gabriel Luiz Freitas Almeida
eacf558e70 🐛 fix(chat.py): close websocket connection with status code 1008 and reason "Unauthorized" if user is not authenticated or inactive
🐛 fix(auth/utils.py): raise credentials_exception if token has expired
2023-08-30 17:29:07 -03:00
Gabriel Luiz Freitas Almeida
53b9565ac6 Merge remote-tracking branch 'origin/dev' into fix_secret_key 2023-08-30 16:48:04 -03:00
Gabriel Luiz Freitas Almeida
b3c2fd26a5 🐛 fix(base.py): fix import statements for read_secret_from_file and write_secret_to_file functions
🔒 chore(utils.py): add write_secret_to_file and read_secret_from_file functions to handle secret key file read/write operations
2023-08-30 16:14:27 -03:00
Gabriel Luiz Freitas Almeida
e2e890464f 🔧 fix(base.py): import set_secure_permissions function from utils module to fix NameError
🔒 feat(utils.py): add set_secure_permissions function to set secure file permissions based on the operating system
2023-08-30 15:53:32 -03:00
anovazzi1
8a772086e2 fix(api): make frontend_node field optional in ValidatePromptRequest to allow for a tweak call without a frontend_node
fix(api): handle case where frontend_node is None in post_validate_prompt to avoid attempting to update a non-existent node
2023-08-29 22:03:54 -03:00
anovazzi1
cf8df6c62b fix(users.py): update error message to be more generic and not reveal specific reason for username unavailability
fix(AdminPage/index.tsx): fix nullish assertion for create_at and updated_at properties to avoid potential errors
fix(signUpPage/index.tsx): fix error handling to correctly display error message
fix(types/components/index.ts): make id, create_at, and updated_at properties optional in UserInputType
2023-08-29 16:44:15 -03:00
anovazzi1
d73b3b0b52 fix(users.py): improve error message when trying to add a user with an already claimed username 2023-08-29 16:26:15 -03:00
Gabriel Luiz Freitas Almeida
8c77613f72 🔀 refactor(utils.py): change return type annotation of authenticate_user function from Union[User, None] to Optional[User] for clarity and consistency 2023-08-29 10:45:10 -03:00
Cristhian Zanforlin Lousa
6c03edc50a 🐛 fix(auth.py): set AUTO_LOGIN to False to disable automatic login as a super user
🐛 fix(API/index.ts): add null check for response object before checking status to prevent potential error
2023-08-28 18:22:59 -03:00
Gabriel Luiz Freitas Almeida
acd661f629 🔧 chore(__main__.py): remove unused imports and functions to improve code cleanliness and maintainability
🔧 chore(main.py): update import statement to use get_number_of_workers from __main__ module
🔧 chore(util.py): remove unused imports and functions to improve code cleanliness and maintainability
2023-08-28 18:09:26 -03:00
Gabriel Luiz Freitas Almeida
9804d58d32 🐛 fix(base.py): add *args and **kwargs to build method in Vertex class to allow for additional arguments to be passed
🐛 fix(types.py): add *args and **kwargs to build method in AgentVertex, LLMVertex, WrapperVertex, ChainVertex, and PromptVertex classes to allow for additional arguments to be passed
🐛 fix(utils.py): change return type annotation in api_key_security function from Optional[ApiKey] to Optional[User] to reflect the actual return type
2023-08-28 18:05:43 -03:00
Gabriel Luiz Freitas Almeida
099921514c 🐛 fix(endpoints.py): add missing colon after if statement condition to fix syntax error
🔒 chore(endpoints.py): fix indentation and add missing colon after if statement condition for better code readability
2023-08-28 17:56:40 -03:00
Gabriel Luiz Freitas Almeida
1b79c1bd7e 🐛 fix(types.py): pass user_id parameter to build methods in AgentVertex, LLMVertex, WrapperVertex, ChainVertex, and PromptVertex to enable user-specific functionality 2023-08-28 17:56:39 -03:00
Gabriel Luiz Freitas Almeida
ac6d2ff8b4 🔥 refactor(service.py): remove unused import and commented code in AuthManager class 2023-08-28 17:56:38 -03:00
Gabriel Luiz Freitas Almeida
31abe8d67e 🐛 fix(utils.py): fix missing return statement in api_key_security function
🔀 refactor(utils.py): refactor create_super_user function to use Optional types for username and password parameters
2023-08-28 17:56:38 -03:00
Gabriel Luiz Freitas Almeida
d9deb6fd5f 🔧 chore(util.py): add type ignore comment to import statement for multiprocess module
🐛 fix(util.py): fix condition to check if "BaseModel" is in the string representation of _type to avoid skipping BaseModel types in format_dict function
2023-08-28 17:56:37 -03:00
Gabriel Luiz Freitas Almeida
2edffd33ee 🐛 fix(endpoints.py): add missing colon after if statement condition
🔒 chore(endpoints.py): rename api_key parameter to api_key_user for clarity and consistency
🔒 chore(endpoints.py): add type hint for api_key_user parameter to indicate it is of type User
🔒 chore(endpoints.py): remove unnecessary assignment of api_key_user from api_key.user
2023-08-28 17:56:36 -03:00
Gabriel Luiz Freitas Almeida
c9fef26981
Merge branch 'dev' into login 2023-08-28 20:34:08 +00:00
Gabriel Luiz Freitas Almeida
a154955154 🔧 fix(__main__.py): import display_results function from utils.util to fix NameError
 feat(__main__.py): add migration command to run database migrations with an option to run in test mode
🔧 fix(util.py): import console from __main__ module to fix NameError
 feat(util.py): add display_results function to display migration results in a table format
2023-08-28 16:22:56 -03:00
Gabriel Luiz Freitas Almeida
5f2a949ec5 🔧 fix(manager.py): import missing dependencies to resolve NameError and improve code readability
 feat(manager.py): add method run_migrations_test() to check if all models are in the database and up to date with all columns
 feat(manager.py): add method check_table() to check if a table exists and if all expected columns are present
🔧 fix(utils.py): import missing dependencies to resolve NameError and improve code readability
 feat(utils.py): add dataclasses Result and TableResults to store check results for tables and columns
2023-08-28 16:22:55 -03:00
Gabriel Luiz Freitas Almeida
bdd04004b3 🔀 chore(utils.py): add type hints to the get_db_manager() function for better code readability and maintainability 2023-08-28 16:22:54 -03:00
Gabriel Luiz Freitas Almeida
137954de6b 🐛 fix(__main__.py): rename serve command to run command for better semantics and clarity
🔧 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
2023-08-28 15:47:57 -03:00
Gabriel Luiz Freitas Almeida
ecf54acb7c 🔧 fix(adds_tables.py): set default values for 'total_uses' and 'is_active' columns to improve data consistency and simplify code 2023-08-28 15:30:42 -03:00
Gabriel Luiz Freitas Almeida
9604ace084 🔥 chore(adds_tables.py): remove 'flowstyle' table and related indices if it exists during upgrade to ensure data consistency
🔥 chore(adds_tables.py): remove 'flowstyle' table and related indices if it exists during downgrade to ensure data consistency
2023-08-28 14:45:30 -03:00
Gabriel Luiz Freitas Almeida
4320b127d3 🐛 fix(utils.py): handle exception when running migrations to ignore "already exists" error and prevent unnecessary error logging and raising of RuntimeError 2023-08-28 14:43:58 -03:00
Gabriel Luiz Freitas Almeida
58317a3891 🔧 chore(adds_tables.py): add comment explaining the reason for dropping '_alembic_tmp_flow' table before creating indices 2023-08-28 11:54:13 -03:00
Gabriel Luiz Freitas Almeida
49d6054517 🔧 fix(adds_tables.py): fix foreign key creation for 'flow' table when 'user' table exists
 feat(adds_tables.py): add support for creating 'user_id' column in 'flow' table if it does not exist
🔧 fix(adds_tables.py): fix index creation for 'flow' table when 'user_id' column exists
2023-08-28 11:53:24 -03:00
Gabriel Luiz Freitas Almeida
2a53ac2688 🐛 fix(util.py): handle IndentationError when parsing class source code and log an error message 2023-08-28 11:18:16 -03:00
Gabriel Luiz Freitas Almeida
4d08d511e9 🐛 fix(manager.py): fix typo in logger.warn to logger.warning
 feat(manager.py): add check_schema_health method to DatabaseManager to verify the integrity of the database schema
🐛 fix(utils.py): add error handling when checking schema health in initialize_database method
2023-08-28 11:18:01 -03:00
Gabriel Luiz Freitas Almeida
0aa8a25e3f 🔧 chore(util.py): remove unnecessary check for "BaseModel" in _type variable
The check for "BaseModel" in the _type variable is unnecessary and can be safely removed.
2023-08-28 11:17:44 -03:00
Gabriel Luiz Freitas Almeida
f922214d2a 🐛 fix(endpoints.py): add check for missing api_key and raise HTTPException with status code 401 and detail message "Invalid API Key"
🐛 fix(crud.py): remove unnecessary return statement and update_total_uses function call if api_key_object is None
2023-08-28 11:17:34 -03:00