Commit graph

1,289 commits

Author SHA1 Message Date
gustavoschaedler
c752872fc3 🐛 fix(auth.py): add optional parameter 'update_last_login' to 'create_user_tokens' function to allow updating last login only when needed
🐛 fix(auth.py): add optional parameter 'db' to 'create_refresh_token' function to allow passing the database session
 feat(login.py): pass 'update_last_login=True' to 'create_user_tokens' function to update last login when user successfully logs in
🐛 fix(ApiModal/index.tsx): fix formatting of 'codesArray' array to improve readability
🐛 fix(formModal/index.tsx): fix formatting of 'getWebSocketUrl' function to improve readability
🐛 fix(vite.config.ts): fix typo in comment
2023-08-15 16:50:40 +01:00
gustavoschaedler
ab61edfbf9 Merge remote-tracking branch 'origin/dev' into authentication 2023-08-14 22:52:57 +01:00
gustavoschaedler
e9a94d7374 🐛 fix(auth.py): remove unnecessary blank line
🐛 fix(auth.py): add validation for inactive users and users waiting for approval in authenticate_user function
 feat(login.py): remove unnecessary blank line
2023-08-14 22:46:55 +01:00
gustavoschaedler
501d7399a8 🔒 chore(auth.py): add support for retrieving current user and current active user
🔒 chore(auth.py): add support for creating user tokens with user id

🔒 chore(auth.py): add support for updating last_login_at when creating user tokens

🔒 chore(auth.py): add support for updating user information

🔒 chore(login.py): add support for retrieving current active user in login route

🐛 fix(users.py): fix import order and remove unused imports to improve code readability
 feat(users.py): add support for pagination in read_all_users endpoint to retrieve a list of users with pagination
🔧 refactor(users.py): rename update_user function to patch_user for better semantics and consistency
🔧 refactor(users.py): refactor update_user function to use update_user function from models module for better code organization and reusability
 feat(users.py): add support for creating a superuser for testing purposes in add_super_user_for_testing_purposes_delete_me_before_merge_into_dev endpoint
2023-08-14 21:18:47 +01:00
Gabriel Luiz Freitas Almeida
5e47d0ff14
adding ChatVertexAI LLM component back into the config.yaml (#724) 2023-08-14 15:10:26 +00:00
gustavoschaedler
f1b2fea20f Merge remote-tracking branch 'origin/dev' into authentication 2023-08-11 19:40:11 +01:00
gustavoschaedler
580b439b80 🔧 chore(users.py): refactor and improve code readability in users.py
 feat(users.py): add docstrings to API endpoints for better documentation
🔥 chore(users.py): remove unnecessary code and comments
🐛 fix(users.py): fix return type hints in API endpoints
2023-08-11 03:52:02 +01:00
gustavoschaedler
0a5026a6ed 🔧 fix(auth.py): change refresh token expiration time from 180 minutes to 70 minutes for better security
🔧 fix(auth.py): change SECRET_KEY comment from "TODO" to "JUST FOR TEST" for clarity
🔧 fix(auth.py): change create_access_token function name to create_token for consistency
🔧 fix(auth.py): change create_refresh_token function to accept refresh_token parameter instead of data dictionary
🔧 fix(auth.py): change create_refresh_token function to decode and validate refresh_token before creating new user tokens
🔧 fix(auth.py): change authenticate_user function to use get_user_by_username instead of get_user
🔧 fix(auth.py): change get_current_user function to use get_user_by_username instead of get_user
🔧 fix(auth.py): change get_user function name to get_user_by_username for clarity
🔧 fix(users.py): change get_password_hash function to be inside the router scope for better encapsulation
🔧 fix(users.py): change add_user function to return UserListModel instead of User
🔧 fix(users.py): change update_user function to update user data based on UserPatchModel fields
🔧 fix(users.py): change update_user function to handle username conflicts and update user's updated_at field
🔧 fix(users.py): change delete_user function to delete user based on user_id
 feat(login.py): add refresh_token endpoint to refresh access token using refresh token
 feat(login.py): add refresh_token function to create new user tokens based on refresh token
 feat(login.py): add refresh_token endpoint to refresh access token using refresh token
 feat(login.py): add refresh_token function to create new user tokens based on refresh token
 feat(login.py): add refresh_token endpoint to refresh access token using refresh token
 feat(login.py): add refresh_token function to create new user tokens based on refresh token
 feat(login.py): add refresh_token endpoint to refresh access token using refresh token
 feat(login.py): add refresh_token function to create new user tokens based on refresh token
 feat(login.py): add refresh_token endpoint to refresh access token using refresh token
 feat(login.py): add refresh_token function to create new user tokens based on refresh token
 feat(login.py): add refresh_token endpoint to refresh access token using refresh token
 feat(login.py): add refresh
2023-08-11 03:13:08 +01:00
gustavoschaedler
f0f061ab46 🔒 chore(auth.py): increase access token expiration time to 60 minutes for better user experience
🔒 chore(auth.py): add refresh token functionality with expiration time of 180 minutes
🔒 chore(login.py): change token endpoint URL from /token to /login for better semantics
🔒 chore(login.py): add refresh token creation to login endpoint to provide a refresh token along with the access token
2023-08-10 19:05:11 +01:00
Gabriel Luiz Freitas Almeida
83631606d3 🐛 fix(manager.py): fix undefined variable 'database_url' error in _create_engine method
 feat(manager.py): add support for SQLite database by setting connect_args in create_engine method
2023-08-10 11:30:06 -03:00
Gabriel Luiz Freitas Almeida
3d8d44538f Merge branch 'release' into dev 2023-08-10 10:10:28 -03:00
Gabriel Luiz Freitas Almeida
df77ba81f7 🐛 fix(custom_component.py): fix condition to check if Optional type hint is used but not imported in the code 2023-08-10 09:24:10 -03:00
Gabriel Luiz Freitas Almeida
564634d36c 🐛 fix(directory_reader.py): handle SyntaxError when parsing code to prevent crashes
🐛 fix(directory_reader.py): return False if code is not valid Python to prevent false positives
🐛 fix(directory_reader.py): fix method name from is_type_hint_used_but_not_imported to _is_type_hint_used_in_args for consistency
🐛 fix(directory_reader.py): fix method name from is_type_hint_imported to _is_type_hint_imported for consistency
🐛 fix(directory_reader.py): fix return value of _is_type_hint_used_in_args method to return False if type hint is used but not imported
2023-08-10 09:23:36 -03:00
Gabriel Luiz Freitas Almeida
261e258ed4 🐛 fix(loading.py): make a copy of the params before modifying it to prevent unintended side effects 2023-08-10 09:23:02 -03:00
Gabriel Luiz Freitas Almeida
8c41415a32 🐛 fix(custom_component.py): handle case when return_type is None to prevent errors
🐛 fix(test_custom_component.py): update assertion to expect return_type as a list instead of a string
🐛 fix(test_vectorstore_template.py): update assertion to check if all vectorstores in settings are present in the response
2023-08-09 17:50:03 -03:00
gustavoschaedler
f065a46950 Merge remote-tracking branch 'origin/dev' into authentication 2023-08-09 21:46:08 +01:00
Gabriel Luiz Freitas Almeida
e1407d0595 🔧 chore(Metaphor.py): refactor build method to accept additional parameters for improved configurability
🔧 chore(Metaphor.py): update search method to use the provided parameters for use_autoprompt and search_num_results
🔧 chore(Metaphor.py): update find_similar method to use the provided parameter for similar_num_results
2023-08-09 17:12:22 -03:00
Gabriel Luiz Freitas Almeida
29766ecaf0 🐛 fix(Metaphor.py): ignore type error for importing Metaphor from metaphor_python
🐛 fix(Metaphor.py): ignore type error for returning a list with mixed types
🐛 fix(Vectara.py): add condition to check if documents and embedding are not None before creating Vectara instance
🐛 fix(CustomComponent.py): change return type of get_function_entrypoint_return_type to List[str] to match the actual return value
2023-08-09 15:53:18 -03:00
Gabriel Luiz Freitas Almeida
9bbdd9465b 🔨 refactor(Vectara.py): reorganize function parameters for better readability and maintainability
🔧 chore(Vectara.py): add "embedding" parameter to the build function to support custom embeddings in VectaraComponent
2023-08-09 15:47:22 -03:00
Gabriel Luiz Freitas Almeida
e5e23a1da6 🐛 fix(component.py): add support for "documentation" field in template_config to properly handle component documentation
🐛 fix(types.py): update_attributes function now updates frontend_node with "documentation" field from template_config
2023-08-09 15:32:41 -03:00
Gabriel Luiz Freitas Almeida
38b6831b57 feat(Metaphor.py): add MetaphorToolkit component to langflow toolkit
The MetaphorToolkit component is added to the langflow toolkit. It provides functionality for searching metaphors using the Metaphor API. The component includes three tools: search, get_contents, and find_similar. The search tool allows users to search for metaphors using a query. The get_contents tool retrieves the contents of a webpage based on the ids returned from the search tool. The find_similar tool finds search results similar to a given URL returned from the search tool.

The MetaphorToolkit component is still in beta and requires a Metaphor API key to function. The API key is stored securely and can be configured in the field_config of the component. For more information, refer to the documentation: [Metaphor Toolkit Documentation](https://python.langchain.com/docs/integrations/tools/metaphor_search)
2023-08-09 15:29:11 -03:00
Gabriel Luiz Freitas Almeida
d16d916952 🐛 fix(custom_component.py): improve parsing of return type in CustomComponent class
 feat(custom_component.py): add support for parsing return type when it is a Union of types in CustomComponent class
2023-08-09 15:28:39 -03:00
Gabriel Luiz Freitas Almeida
b3e512f55f feat(PromptRunner.py): add PromptRunner component to run a Chain with a given PromptTemplate
 feat(Vectara.py): add VectaraComponent to implement Vector Store using Vectara
🔧 chore(vectorstores): add empty __init__.py file to the vectorstores directory
2023-08-09 14:37:20 -03:00
Gabriel Luiz Freitas Almeida
72f88e1a16 🐛 fix(custom_component.py): handle return_type as a Union[type1, type2] and add support for multiple return types in add_base_classes function
🐛 fix(types.py): handle multiple return types in add_base_classes function and raise HTTPException with appropriate error message if return type is invalid
2023-08-09 14:36:45 -03:00
Gabriel Luiz Freitas Almeida
be14d45589 🐛 fix(utils.py): handle CommandError when running migrations and delete alembic_version table if wrong revision in DB 2023-08-09 10:28:41 -03:00
Dave Morris
e922978f27 adding VertexAIEmbeddings into config.yaml 2023-08-09 08:07:59 -05:00
Gabriel Luiz Freitas Almeida
61bee4424f
Add zip_path and workspace_url fields (#729) 2023-08-09 09:18:30 -03:00
Gabriel Luiz Freitas Almeida
f7afbd89b0 🔧 chore(vector_store.py): change the way pinecone_api_key and pinecone_env are retrieved from params dictionary to improve code readability and remove unnecessary code duplication 2023-08-09 08:48:53 -03:00
Melvin Hillsman
f4ad8572e7 Add zip_path and workspace_url fields
As noted in the
[documentation](https://python.langchain.com/docs/integrations/document_loaders/slack)
for this plugin zip_path is the first named parameter not file_path and
workspace_url is the second with zip_path being required and
workspace_url being optional.

Fixes #695

Signed-off-by: Melvin Hillsman <mhillsma@redhat.com>
2023-08-08 21:01:34 -05:00
Dave Morris
bb2b8fbb3d add support for VertexAIEmbeddings node 2023-08-08 17:35:50 -05:00
Dave Morris
35af73822a
Merge pull request #1 from logspace-ai/dev
updating from dev branch
2023-08-08 17:29:36 -05:00
gustavoschaedler
056ce51ad0 🐛 fix(login.py): change argument type of create_user_token function from str to User to improve type safety and clarity
🐛 fix(login.py): remove unnecessary type ignore comment in create_user_token function
🐛 fix(login.py): remove unnecessary type ignore comment in return statement of login_to_get_access_token function
🐛 fix(users.py): remove unnecessary async keyword from read_current_user function
🐛 fix(users.py): remove unnecessary async keyword from read_all_users function
🐛 fix(users.py): remove unnecessary async keyword from add_user function
🐛 fix(users.py): remove unnecessary async keyword from add_super_user_to_testing_purposes function
2023-08-08 22:20:53 +01:00
gustavoschaedler
3c6d46021d 🔧 chore(user.py): remove unnecessary line breaks and import formatting for better code readability
🔧 chore(main.py): fix indentation and remove unnecessary line breaks for better code readability
🔧 chore(login.py): fix indentation and add missing line breaks for better code readability
2023-08-08 22:09:38 +01:00
gustavoschaedler
1c28979766 🔀 refactor(users.py): rename router prefix from "/users" to "Login" to improve clarity and consistency 2023-08-08 22:08:51 +01:00
gustavoschaedler
4af08d99fc Merge remote-tracking branch 'origin/dev' into authentication 2023-08-08 22:05:23 +01:00
Gabriel Luiz Freitas Almeida
d6bb6bf3d9 🐛 fix(base.py): handle case where database and tables already exist to prevent error and log a debug message 2023-08-08 17:41:17 -03:00
gustavoschaedler
59a55b4371 🔧 fix(auth.py): update import statements to reflect new file structure in langflow package
🔧 fix(auth.py): fix typo in verify_password function call
🔧 fix(auth.py): update get_user function call to reflect new file structure in langflow package
🔧 fix(auth.py): update get_current_user function signature to match the annotated type
🔧 fix(auth.py): update get_user function call to reflect new file structure in langflow package
🔧 fix(auth.py): update get_current_user function signature to match the annotated type
🔧 fix(auth.py): update get_user function call to reflect new file structure in langflow package
🔧 fix(auth.py): update get_current_user function signature to match the annotated type
🔧 fix(auth.py): update get_user function call to reflect new file structure in langflow package
🔧 fix(auth.py): update get_current_user function signature to match the annotated type
🔧 fix(auth.py): update get_user function call to reflect new file structure in langflow package
🔧 fix(auth.py): update get_current_user function signature to match the annotated type
🔧 fix(auth.py): update get_user function call to reflect new file structure in langflow package
🔧 fix(auth.py): update get_current_user function signature to match the annotated type
🔧 fix(auth.py): update get_user function call to reflect new file structure in langflow package
🔧 fix(auth.py): update get_current_user function signature to match the annotated type
🔧 fix(auth.py): update get_user function call to reflect new file structure in langflow package
🔧 fix(auth.py): update get_current_user function signature to match the annotated type
🔧 fix(auth.py): update get_user function call to reflect new file structure in langflow package
🔧 fix(auth.py): update get_current_user function signature to match the annotated type
🔧 fix(auth.py): update get_user function call to reflect new file structure in langflow package
🔧 fix(auth.py): update get_current_user function signature to match the annotated type
🔧 fix(auth.py): update get_user function call to reflect new file structure in langflow package
🔧 fix(auth.py): update get_current_user function signature to match the annotated type
🔧 fix(auth.py): update get_user function call to reflect
2023-08-08 21:19:22 +01:00
Gabriel Luiz Freitas Almeida
4b47f9f196 🐛 fix(endpoints.py): add check to skip empty custom_component_dict to prevent potential errors 2023-08-08 16:35:15 -03:00
Gabriel Luiz Freitas Almeida
a6cacbf377 Merge branch 'dev' into migrations_service 2023-08-08 16:13:32 -03:00
Gabriel Luiz Freitas Almeida
b8d8ed8283 Revert "Revert "Fixes flows without input_keys not being runnable" (#731)"
This reverts commit 352e74cbc7, reversing
changes made to 3f531a1157.
2023-08-08 15:12:37 -03:00
Gabriel Luiz Freitas Almeida
f9b392d5b8
Revert "Fixes flows without input_keys not being runnable" 2023-08-08 15:02:16 -03:00
Gabriel Luiz Freitas Almeida
f61d265e77 🔧 chore(vector_store.py): refactor initialize_chroma function to remove unnecessary if conditions and improve code readability
🔧 chore(vector_store.py): remove chroma_server_ keys from params dictionary if not needed to avoid potential conflicts
2023-08-07 18:52:19 -03:00
Gabriel Luiz Freitas Almeida
239811dbff 🐛 fix(chat.py): change "input_keys" value from an empty dictionary to None to improve readability and reduce redundancy 2023-08-07 18:46:13 -03:00
Gabriel Luiz Freitas Almeida
9ee76fd18f 🐛 fix(manager.py): change default value of chat_inputs from empty string to empty dictionary to improve data consistency and prevent potential errors
🐛 fix(utils.py): handle case when chat_inputs.message is None by assigning an empty dictionary to it to prevent potential errors
2023-08-07 18:37:49 -03:00
Gabriel Luiz Freitas Almeida
9fcc96e767 🔀 refactor(manager.py): update import statement for models in database manager to improve readability and maintainability 2023-08-07 14:18:07 -03:00
Gabriel Luiz Freitas Almeida
71012ac47b 🔥 chore(alembic): remove flowstyles table
 feat(alembic): add migration to remove flowstyles table

🔥 chore(alembic): remove old migration file for removing flowstyles table

🐛 fix(database): import Flow model to avoid unused import warning
2023-08-07 14:09:27 -03:00
Gabriel Luiz Freitas Almeida
96dfb9b324 🐛 fix(main.py): fix condition to setup static files only if static_files_dir is not None 2023-08-07 12:08:16 -03:00
Gabriel Luiz Freitas Almeida
1601745ed9 🔀 refactor(alembic/env.py): update import statement for SQLModel in env.py to reflect new location in manager module
🔀 refactor(interface/custom/custom_component.py): update import statement for session_getter in custom_component.py to reflect new location in utils module

🔀 refactor(main.py): update import statement for initialize_database in main.py to reflect new location in utils module

🔀 refactor(database/factory.py): update import statement for DatabaseManager in factory.py to reflect new location in manager module
2023-08-07 12:00:58 -03:00
Gabriel Luiz Freitas Almeida
8436c66aa7 📦 chore(manager.py): add DatabaseManager class to handle database operations
📦 chore(utils.py): add initialize_database function and session_getter context manager to handle database initialization and session management
2023-08-07 12:00:27 -03:00
Gabriel Luiz Freitas Almeida
d75fb49bf2 🔥 chore(alembic): remove FlowStyles table
This commit removes the FlowStyles table from the database. The table was no longer needed and has been dropped. The corresponding indexes and foreign key constraints have also been removed.

Downgrade functionality has been implemented to recreate the FlowStyles table and its associated indexes and foreign key constraints if needed.
2023-08-07 10:25:46 -03:00