Commit graph

4,874 commits

Author SHA1 Message Date
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
9f617ff6f1 📝 docs(utilities.mdx): update Utilities documentation with additional sections and improve formatting for better readability 2023-08-22 11:56:14 -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
3be9b054cd
🔺 chore(package.json): update "@mendable/search" dependency from "^0.0.114" to "^0.0.154" to get the latest features and bug fixes (#798) 2023-08-22 12:51:05 +00:00
Gabriel Luiz Freitas Almeida
022b6e1170 🔺 chore(package.json): update "@mendable/search" dependency from "^0.0.114" to "^0.0.154" to get the latest features and bug fixes 2023-08-22 09:50:09 -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
e7f43297b1 🔀 chore(pre-release.yml): simplify if condition for the if_release job to improve readability 2023-08-21 17:11:10 -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
a84b5a119b Merge remote-tracking branch 'origin/dev' into authentication 2023-08-21 16:32:28 -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
4d3b12aff8 📝 chore(tasks.json): add tasks.json file to configure build tasks for the project
The tasks.json file is added to configure build tasks for the project. It includes tasks for initializing the project, building the backend and frontend, running tests, linting, formatting, and installing dependencies.
2023-08-21 15:09:36 -03:00
Gabriel Luiz Freitas Almeida
53722f3f1d 🔧 chore(devcontainer.json): update devcontainer.json for Langflow Demo Container
🔧 chore(devcontainer.json): update devcontainer.json for Langflow Dev Container
2023-08-21 14:54:09 -03:00
Gabriel Luiz Freitas Almeida
0679fb8754 🔧 chore(devcontainer.json): update postCreateCommand to install frontend and backend dependencies after container creation for easier development setup 2023-08-21 14:53:37 -03:00
Gabriel Luiz Freitas Almeida
20cf3e0346 🔧 chore(devcontainer.json): update devcontainer.json for Langflow Demo Container
🔧 chore(devcontainer.json): update devcontainer.json for Langflow Dev Container
2023-08-21 14:31:12 -03:00
Gabriel Luiz Freitas Almeida
6afaede719 ✨ feat(.gitignore): add .gitignore file to ignore Terraform related files and directories 2023-08-21 13:47:11 -03:00
Gabriel Luiz Freitas Almeida
f4760a38a3 🚀 feat(build-push.sh): add script to build and push Docker images
🚀 feat(build.sh): add script to build Docker images
2023-08-21 13:47:02 -03:00
Gabriel Luiz Freitas Almeida
15f6200477 🔧 chore(locustfile.py): remove hardcoded flow ID and replace it with the value from the FLOW_ID environment variable for flexibility and security 2023-08-21 13:46:35 -03:00
Gabriel Luiz Freitas Almeida
517a48f885 First implementation of terraform setup 2023-08-21 13:45:41 -03:00
Gabriel Luiz Freitas Almeida
d1ae69ca6e
fix mendable (#789) 2023-08-21 16:21:15 +00:00
Gabriel Luiz Freitas Almeida
fe65b63400 🔧 chore(deploy): update docker-compose version to 3.8 for better compatibility and features
🐳 chore(deploy): update traefik image version to v3.0 for improved functionality and compatibility
🔧 chore(deploy): remove unnecessary port mappings for backend, queue, pgadmin, redis, prometheus, and grafana services
2023-08-21 08:19:12 -03:00
Gabriel Luiz Freitas Almeida
d0911b3fd2 ✨ feat(.env.example): add example environment variables for domain, stack name, Traefik network, and Traefik tags to provide a template for configuring the deployment environment 2023-08-20 23:41:21 -03:00
Gabriel Luiz Freitas Almeida
6ffb994e53 📦 chore(docker-compose.override.yml): add docker-compose.override.yml file to configure Traefik proxy and services for local development
This commit adds a new file `docker-compose.override.yml` to the `deploy` directory. The file contains configuration for the Traefik proxy and services used for local development. The configuration includes:

- Enabling Docker in Traefik to read labels from Docker services
- Adding a constraint to only use services with a specific label for this stack
- Disabling the exposure of all Docker services by default
- Enabling the access log and Traefik log
- Enabling the Traefik Dashboard and API in insecure mode for local development

The file also includes configuration for the following services:

- `proxy`: Configured to listen on ports 80 and 8090, with labels for routing and load balancing
- `pgadmin`: Configured to listen on port 5050
- `flower`: Configured to listen on port 5555
- `backend`: Configured with labels for routing and load balancing on paths `/api/v1`, `/docs`, and `/health`
- `frontend`: Configured with labels for routing and load balancing on the root path

The `traefik-public` network is also defined for use by the Traefik proxy.

This file is intended to be used as an override for the main `docker-compose.yml` file during local development.

🐳 chore(docker-compose.yml): add Traefik reverse proxy configuration for services

🔧 fix(docker-compose.yml): fix path to startup-backend.sh script

🚀 feat(docker-compose.yml): add support for deploying backend, celery worker, flower, frontend, prometheus, and grafana services

🔧 fix(docker-compose.yml): fix volume configuration for db service

🔧 fix(docker-compose.yml): fix network configuration for pgadmin service

🔧 fix(docker-compose.yml): fix network configuration for traefik proxy service

🔧 fix(docker-compose.yml): fix network configuration for flower service

🔧 fix(docker-compose.yml): fix network configuration for frontend service

🔧 fix(docker-compose.yml): fix network configuration for prometheus service

🔧 fix(docker-compose.yml): fix network configuration for grafana service
2023-08-20 23:39:19 -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
bff329e278 🔧 chore(flower.env): add FLOWER_UNAUTHENTICATED_API=True to allow unauthenticated access to Flower API 2023-08-20 13:26:29 -03:00
Gabriel Luiz Freitas Almeida
2d85ae9dd4 🚀 feat(docker-compose.yml): upgrade docker-compose version to 3.3 for compatibility with newer features and syntax
🔧 chore(docker-compose.yml): update backend.env file path to remove leading './' for consistency

🔧 chore(docker-compose.yml): remove explicit port mapping for backend service to use the default port

🔧 chore(docker-compose.yml): add deploy configuration for celery worker service to ensure only one replica is deployed

🔧 chore(docker-compose.yml): add prometheus and grafana services with necessary configurations and dependencies

📝 docs(prometheus.yml): add prometheus configuration file with scrape targets for prometheus and flower services
2023-08-20 13:26:02 -03:00
Gabriel Luiz Freitas Almeida
afcd1f847c 🔧 chore(locustfile.py): update Locust test file to use FastHttpUser instead of HttpUser for improved performance
🔧 chore(locustfile.py): update host URL to remove unnecessary colon in the port number
🔧 chore(locustfile.py): refactor send_name_and_check task to use a more efficient polling mechanism for task status
🔧 chore(locustfile.py): update flow_id and session_id generation logic to use more meaningful values
🔧 chore(locustfile.py): refactor send_name_and_check task to use a separate process function for better code organization and readability
🔧 chore(locustfile.py): update payload2 to include a more descriptive text for the input
🔧 chore(locustfile.py): update assertion in send_name_and_check task to check if the name is present in the result2 response
2023-08-20 13:25:11 -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