Commit graph

3,891 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
6634e8864b 🔧 chore(vector_store.py): import orjson library for JSON serialization and deserialization
🐛 fix(vector_store.py): fix typo in function comment, change "OR" to "or" for better readability
2023-08-22 16:11:24 -03:00
Gabriel Luiz Freitas Almeida
59652b8875 🔧 chore(prebuilt.py): import missing JSON_PREFIX and JsonToolkit to fix unresolved references
🔧 chore(prebuilt.py): import missing JSON_PREFIX and JsonToolkit to fix unresolved references in prebuilt.py
2023-08-22 16:11:10 -03:00
Gabriel Luiz Freitas Almeida
8098cea405 🐛 fix(JSONDocumentBuilder.py): fix JSON serialization issue by using orjson_dumps function
🔒 chore(JSONDocumentBuilder.py): add type checking and raise TypeError for invalid input
2023-08-22 15:36:49 -03:00
Gabriel Luiz Freitas Almeida
0d53db1653 🐛 fix(PostRequest.py): add validation for document parameter to only accept Document or list of Documents to prevent errors 2023-08-22 15:33:44 -03:00
Gabriel Luiz Freitas Almeida
4efe06e440 🐛 fix(PostRequest.py): remove redundant session creation and move it to the calling function to improve efficiency and reusability
 feat(PostRequest.py): add support for processing multiple documents in a single request to improve performance and reduce network overhead
2023-08-22 15:32:00 -03:00
Gabriel Luiz Freitas Almeida
696a139171 🐛 fix(GetRequest.py): handle request timeout by returning a Document with status code 408 and "Request Timed Out" content
 feat(GetRequest.py): add timeout parameter to the build method to allow configuring the request timeout value
2023-08-22 15:31:47 -03:00
igorrCarvalho
185754e2cd a 2023-08-22 15:00:14 -03:00
Gabriel Luiz Freitas Almeida
5fa8281e94 🐛 fix(JSONDocumentBuilder.py): handle both single document and list of documents when building JSON document
 feat(JSONDocumentBuilder.py): add support for building JSON document from a list of documents
2023-08-22 14:59:00 -03:00
Gabriel Luiz Freitas Almeida
6e18e795ff 🔧 chore(GetRequest.py): refactor GetRequest class to store the returned documents in a repr_value attribute for debugging purposes 2023-08-22 14:58:52 -03:00
Gabriel Luiz Freitas Almeida
62b9bb523c 🔧 fix(GetRequest.py): improve code readability and add support for multiple URLs and headers in GetRequest component
🔧 fix(PostRequest.py): improve code readability and add support for multiple documents, URLs, and headers in PostRequest component
2023-08-22 14:56:34 -03:00
igorrCarvalho
0c0d8cfdb3 Feat: Add button on admin page to return to main page 2023-08-22 14:33:06 -03:00
Gabriel Luiz Freitas Almeida
b8b9bb25bc 📦 feat(JSONDocumentBuilder.py): add JSONDocumentBuilder component to build a Document containing a JSON object using a key and another Document page content
📝 docs(JSONDocumentBuilder.py): add description and field configuration for JSONDocumentBuilder component
2023-08-22 11:56:01 -03:00
Gabriel Luiz Freitas Almeida
fb028e55b8 feat(GetRequest.py): add GetRequest component to make a GET request to a given URL
 feat(PostRequest.py): add PostRequest component to make a POST request to a given URL
2023-08-22 11:38:48 -03:00
Gabriel Luiz Freitas Almeida
22072084f8 🐛 fix(schemas.py): fix indentation issue in the __str__ method of StreamData class to improve code readability 2023-08-22 11:38:36 -03:00
Gabriel Luiz Freitas Almeida
44ce4eac5c 🔧 fix(endpoints.py): refactor logger.debug statement to improve readability and provide more information
🔧 fix(base.py): remove redundant logger.debug statement
🔧 fix(directory_reader.py): refactor logger.debug statement to improve readability and provide more information
🔧 fix(types.py): refactor logger.debug statement to improve readability and provide more information
2023-08-22 11:38:24 -03:00
Gabriel Luiz Freitas Almeida
ecf217dce8 🐛 fix(chat.py): remove unnecessary try-except block for building the graph and handle any exceptions thrown by Graph.from_payload() method
🔧 refactor(chat.py): improve logging output for built node parameters in stream_build() method
2023-08-22 11:37:51 -03:00
Gabriel Luiz Freitas Almeida
d0aa3261f1 🐛 fix(flows.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
🐛 fix(schemas.py): change json.dumps to orjson_dumps for improved performance and compatibility with orjson library
🐛 fix(utils.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
🐛 fix(loading.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
🐛 fix(utils.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
🐛 fix(vector_store.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
🐛 fix(types.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
🐛 fix(process.py): change json.loads to orjson.loads for improved performance and compatibility with orjson library
 feat(server.ts): change port variable case from lowercase port to uppercase PORT to improve semantics
 feat(server.ts): add support for process.env.PORT environment variable to be able to run app on a configurable port

🔧 fix(base.py): import orjson instead of json to improve performance and compatibility
🔧 fix(frontend_node/llms.py): use orjson_dumps instead of json.dumps to improve performance and compatibility
🔧 fix(frontend_node/utilities.py): use orjson_dumps instead of json.dumps to improve performance and compatibility
🔧 fix(test_cache.py): import orjson and use orjson_dumps instead of json.dumps to improve performance and compatibility

🔧 fix(test_database.py): import correct json encoder and decoder functions to fix import errors
🔧 fix(test_database.py): replace json.dumps and json.loads with orjson_dumps and orjson.loads for better performance and compatibility
🔧 fix(test_loading.py): remove unused import statement
2023-08-22 11:04:41 -03:00
DiogenesBR
f01658d521 added client_settings tho the returned Chroma object 2023-08-22 13:37:34 +00:00
Gabriel Luiz Freitas Almeida
c8d9c41f9a 🐛 fix(base.py): add support for langfuse callback to flush if present
 feat(base.py): add support for langfuse callback to flush if present when getting result and steps
2023-08-22 09:47:22 -03:00
Gabriel Luiz Freitas Almeida
894dbdcd40 🔧 chore(base.py): improve error handling and error message when importing langfuse callback module
🚀 feat(base.py): add langfuse callback import type hint to ignore type checking for better compatibility with dynamic imports
2023-08-21 22:07:35 -03:00
igorrCarvalho
a2a3beb868 Fix: github stars on header always reloading 2023-08-21 19:54:20 -03:00
Gabriel Luiz Freitas Almeida
48965a8ba8 🐛 fix(endpoints.py): add check for empty custom_component_dict to prevent errors
🐛 fix(login.py): update import statement for auth utils module
🐛 fix(users.py): update import statement for auth utils module
🐛 fix(factory.py): remove unnecessary argument from create method
🐛 fix(test_cli.py): convert temp_dir to string before checking if it's in COMPONENTS_PATH
2023-08-21 19:14:58 -03:00
Cristhian Zanforlin Lousa
76c4d4afe7 🔧 chore(Makefile): remove unnecessary semicolon in 'install_frontend' and 'install_frontendc' targets
🔧 chore(Makefile): remove unnecessary 'rm' command in 'install_frontendc' target
 feat(App.tsx): set user data in state when auto-login is triggered to ensure consistent user experience
🔧 chore(UserManagementModal/index.tsx): rename 'isDisabled' state variable to 'isActive' for clarity
🔧 chore(UserManagementModal/index.tsx): rename 'isDisabled' prop and label to 'Active' for clarity
🔧 chore(UserManagementModal/index.tsx): rename 'isDisabled' state variable to 'isActive' in handleInput function
🔧 chore(AdminPage/index.tsx): rename 'confirmationText' prop from 'Edit' to 'Save' for clarity
2023-08-21 18:46:42 -03:00
igorrCarvalho
d7f0ab9ba3 Fix: Tweak section and tweaks inputs not working 2023-08-21 17:47:37 -03:00
Gabriel Luiz Freitas Almeida
0a235ef8d5 🔀 refactor(manager.py): refactor service initialization in manager.py for better organization and readability
🔀 refactor(schema.py): add AUTH_MANAGER service type to the ServiceType enum for better organization and consistency
2023-08-21 16:58:22 -03:00
Gabriel Luiz Freitas Almeida
031ab7e4b7 📦 chore(factory.py): add AuthManagerFactory class to handle creation of AuthManager service
🐛 fix(service.py): add type hints and import for SettingsManager in AuthManager class
2023-08-21 16:58:09 -03:00
Gabriel Luiz Freitas Almeida
5d9e631ddf 🔨 refactor(factory.py): remove unused parameter 'settings_service' from create method in CacheManagerFactory class 2023-08-21 16:56:20 -03:00
Gabriel Luiz Freitas Almeida
712d57be53 🔄 refactor(factory.py): rename settings_service parameter to settings_manager for better clarity and consistency
🐛 fix(factory.py): update variable name in if condition from settings_service.settings.DATABASE_URL to settings_manager.settings.DATABASE_URL to fix incorrect variable reference
2023-08-21 16:56:07 -03:00
Gabriel Luiz Freitas Almeida
fa9ecd0039 🚀 feat(models/__init__.py): add User and Token models to __all__ list for better module importability 2023-08-21 16:55:45 -03:00
Gabriel Luiz Freitas Almeida
181620e538 🔧 fix(manager.py): import List from typing module to fix type hinting error
 feat(manager.py): add support for registering factories with dependencies to handle service creation
🔧 fix(manager.py): fix service creation logic to handle dependencies and create services in the correct order
 feat(manager.py): add support for initializing session manager with dependencies
2023-08-21 16:37:56 -03:00
Gabriel Luiz Freitas Almeida
b309d8be0e 🔒 chore(auth.py): import necessary modules and add password context and OAuth2 password bearer scheme for authentication
🔒 chore(auth.py): add password context using bcrypt scheme and OAuth2 password bearer scheme for authentication
2023-08-21 16:34:23 -03:00
Gabriel Luiz Freitas Almeida
244a967517 🔨 refactor(service.py): remove unused imports and unused functions in the AuthManager class
🔧 chore(service.py): refactor the AuthManager class to accept a settings_manager parameter in the constructor for better dependency injection
🔧 chore(service.py): refactor the run_oauth2_scheme method in the AuthManager class to use the oauth2_scheme from the settings_manager instead of a hardcoded value

 feat(auth/utils.py): add authentication and authorization utilities for user authentication and token generation
🔒 chore(auth/utils.py): add auth_scheme_dependency function to handle authentication scheme dependency
🔒 chore(auth/utils.py): add get_current_user function to retrieve the current authenticated user
🔒 chore(auth/utils.py): add get_current_active_user function to retrieve the current active authenticated user
🔒 chore(auth/utils.py): add verify_password function to verify the password
🔒 chore(auth/utils.py): add get_password_hash function to get the hashed password
🔒 chore(auth/utils.py): add create_token function to create a JWT token
🔒 chore(auth/utils.py): add create_super_user function to create a super user
🔒 chore(auth/utils.py): add create_user_longterm_token function to create a long-term token for a user
🔒 chore(auth/utils.py): add create_user_api_key function to create an API key for a user
🔒 chore(auth/utils.py): add get_user_id_from_token function to get the user ID from a token
🔒 chore(auth/utils.py): add create_user_tokens function to create access and refresh tokens for a user
🔒 chore(auth/utils.py): add create_refresh_token function to create new access and refresh tokens using a refresh token
🔒 chore(auth/utils.py): add authenticate_user function to authenticate a user with username and password
2023-08-21 16:33:56 -03:00
Gabriel Luiz Freitas Almeida
e6bd9a07d5 🔧 fix(auth.py): update import statements for User model and related functions to match new file structure
🔧 fix(auth.py): update import statements for settings_manager and related settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
🔧 fix(auth.py): update references to settings_manager.settings to settings_manager.auth_settings to match new file structure
2023-08-21 16:33:27 -03:00
Gabriel Luiz Freitas Almeida
f4d12f27e6 Adds new AuthSettings 2023-08-21 16:12:49 -03:00
Gabriel Luiz Freitas Almeida
3d5cf84095 📦 feat(models): add Token model to represent access and refresh tokens
📦 feat(models): add User model to represent user data

📦 feat(models): add UserAddModel, UserListModel, UserPatchModel, and UsersResponse models for user CRUD operations

📦 feat(models): add get_user_by_username and get_user_by_id functions to retrieve user data from the database

📦 feat(models): add update_user function to update user data in the database

📦 feat(models): add update_user_last_login_at function to update the last login timestamp of a user
2023-08-21 15:59:51 -03:00
Gabriel Luiz Freitas Almeida
9baf588e5e 🔥 refactor(nginx.conf): remove redundant code for proxying /api/v1/ and /health routes to backend service 2023-08-20 23:38:47 -03:00
Gabriel Luiz Freitas Almeida
3d84aace37 🔧 fix(endpoints.py): import missing dependencies to resolve NameError
 feat(endpoints.py): add new endpoint to get task status by task ID
🔧 fix(schemas.py): update ProcessResponse schema to use 'id' instead of 'session_id' for consistency
 feat(schemas.py): add new schema for TaskStatusResponse
2023-08-20 13:24:47 -03:00
DiogenesBR
5fd3da010e Atualização do ChromaComponent adicionando campos que havia na versão antiga 2023-08-18 21:10:03 +00:00
DiogenesBR
5e7681ea09 Add some new types to .gitattributes 2023-08-18 16:58:18 -03:00
Cristhian Zanforlin Lousa
b319b909e4 ️ chore(frontend): update moment package to version 2.29.4 for bug fixes and improvements 2023-08-18 15:01:10 -03:00
Gabriel Luiz Freitas Almeida
8bdde3bc05 🔨 refactor(custom_component.py): remove unused import and update function name for better code organization and clarity
📝 docs(custom_component.py): update docstring for better readability and understanding
🔧 chore(custom_component.py): add new file names.txt for locust tests with a list of names for load testing
2023-08-18 08:57:53 -03:00
Gabriel Luiz Freitas Almeida
7f217bd518 🔧 refactor(process.py): remove unused imports and variables, refactor function names for clarity
 feat(process.py): introduce SessionManager to handle loading and updating langchain_object sessions
🐛 fix(process.py): update cache with the updated langchain_object after processing graph
2023-08-18 08:57:38 -03:00
Gabriel Luiz Freitas Almeida
2183f167cd 🐛 fix(manager.py): add cache_manager.set() to store langchain_object in cache after successful initialization
🐛 fix(celeryconfig.py): fix condition to check if BROKER_URL and RESULT_BACKEND are present in os.environ before using them, fallback to langflow_redis_host and langflow_redis_port if not present
2023-08-18 08:57:24 -03:00
Gabriel Luiz Freitas Almeida
682e611947 🔧 fix(endpoints.py): remove unused import and function call to process_graph_cached
🔧 fix(worker.py): refactor process_graph_cached into process_graph_cached_task and update function signature and implementation to use SessionManager for loading and updating the graph
2023-08-18 08:57:12 -03:00
Gabriel Luiz Freitas Almeida
c195456c49 🔧 fix(base.py): update debug log message to provide more meaningful information about the number of vertices in the graph
🔧 fix(run.py): comment out the caching functionality for building sorted vertices to prevent caching issues
2023-08-18 08:56:58 -03:00
Gabriel Luiz Freitas Almeida
f4a0c9f436 🐛 fix(manager.py): remove commented code block to improve code readability and maintainability
 feat(manager.py): add initialization for session manager and its dependencies (cache manager and settings manager) to enable session management functionality
2023-08-18 08:52:26 -03:00
Gabriel Luiz Freitas Almeida
853648ae33 📝 chore(locustfile.py): add locustfile.py for load testing the API
🐛 fix(test_process.py): refactor test_load_langchain_object_with_cached_session to use session_manager
🐛 fix(test_process.py): refactor test_load_langchain_object_with_no_cached_session to use session_manager
🐛 fix(test_process.py): refactor test_load_langchain_object_without_session_id to use session_manager
2023-08-18 08:51:56 -03:00
ogabrielluiz
d76cef81e8 fix: Remove category log 2023-08-17 23:11:44 -03:00
Gabriel Luiz Freitas Almeida
b772bbe976 🐛 fix(endpoints.py): add validation to ensure that custom components are in a single category 2023-08-17 22:33:52 -03:00
Cristhian Zanforlin Lousa
d2dc0feae4 🔧 chore(base.py): enable AUTO_LOGIN by default for easier development and testing 2023-08-17 20:14:48 -03:00