Commit graph

6,351 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
82fbeace06 🔀 chore(api_key): update import and export names in __init__.py for better clarity and consistency
🔀 chore(api_key): add UnmaskedApiKeyRead model to represent an unmasked API key

🔀 chore(api_key): add user relationship to ApiKey model for easier access to associated user

🔀 chore(api_key): add user_id field to ApiKeyBase and ApiKeyCreate models for easier user association

🔀 chore(api_key): add mask_api_key validator to ApiKeyRead model to mask the API key for security reasons
2023-08-25 12:03:51 -03:00
Gabriel Luiz Freitas Almeida
edd58705e4 🔨 refactor(schemas.py): update import statement for ApiKeyRead to reflect new file structure
🔨 refactor(schemas.py): update import statement for ApiKeyRead to reflect
2023-08-25 12:03:03 -03:00
Gabriel Luiz Freitas Almeida
eb02220aad feat(api_key.py): add GET and POST routes for retrieving and creating API keys
🐛 fix(api_key.py): fix delete_api_key route to use correct dependencies and handle exceptions properly
2023-08-25 12:02:32 -03:00
vincent-pli
359bea1286 fix issue, the custom component cannot be load success by setting env variables 2023-08-25 22:57:25 +08:00
Gabriel Luiz Freitas Almeida
614d85b7b7 📦 chore(pyproject.toml): add markupsafe dependency to improve compatibility and security
🔒 chore(pyproject.toml): update black dependency to version 23.1.0 for development purposes
2023-08-25 11:16:08 -03:00
Gabriel Luiz Freitas Almeida
8d1e1b8710 🔒 chore(api_key.py): update hardcoded API key value to improve security
🔒 chore(api_key.py): update hardcoded API key value to improve security by removing the actual key from the code and adding a placeholder comment
2023-08-25 10:25:28 -03:00
Gabriel Luiz Freitas Almeida
fc93e4ced0 🔀 chore(test_database.py): update import statement for Session from sqlalchemy.orm to sqlmodel to match the library being used 2023-08-25 10:24:33 -03:00
Gabriel Luiz Freitas Almeida
81816baada 🔧 fix(login.py): update import statement from sqlalchemy.orm to sqlmodel.Session for Session class
🔧 fix(users.py): update type annotation for current_user parameter from Session to User
🔧 fix(utils.py): update import statement from sqlalchemy.orm to sqlmodel.Session
🔧 fix(utils.py): update type annotation for token parameter from Annotated to Union[Coroutine, str]
🔧 fix(utils.py): update type annotation for get_user_by_username function return type from User to Union[User, None]
🔧 fix(utils.py): update type annotation for get_user_by_id function return type from User to Union[User, None]
🔧 fix(manager.py): update type annotation for dependencies parameter in register_factory method from List to Optional[List]
2023-08-25 10:24:01 -03:00
Gabriel Luiz Freitas Almeida
8411922a07 feat(test_user.py): add tests for user-related functionalities
🐛 fix(test_user.py): fix typo in test_user_waiting_for_approval function name
🐛 fix(test_user.py): fix typo in test_deactivated_user_cannot_access function name
🐛 fix(test_user.py): fix typo in test_data_consistency_after_update function name
🐛 fix(test_user.py): fix typo in test_data_consistency_after_delete function name
🐛 fix(test_user.py): fix typo in test_inactive_user function name
🐛 fix(test_user.py): fix typo in test_normal_user_cant_read_all_users function name
🐛 fix(test_user.py): fix typo in test_patch_user_wrong_id function name
🐛 fix(test_user.py): fix typo in test_delete_user_wrong_id function name
🐛 fix(test_user.py): fix typo in test_normal_user_cant_delete_user function name
 feat(test_user.py): add test_add_super_user_for_testing_purposes_delete_me_before_merge_into_dev function
2023-08-25 10:17:46 -03:00
Gabriel Luiz Freitas Almeida
7b897906b9 feat(test_login.py): add tests for login functionality
🐛 fix(test_login.py): fix typo in test_login_unsuccessful_wrong_username test

🐛 fix(test_login.py): fix typo in test_login_unsuccessful_wrong_password test
2023-08-25 10:17:36 -03:00
Gabriel Luiz Freitas Almeida
7e3d329df9 🔧 chore(auth.py): add API_V1_STR constant to improve code readability and maintainability
🐛 fix(auth.py): update tokenUrl in oauth2_scheme to use API_V1_STR constant for consistency
2023-08-25 10:17:25 -03:00
Gabriel Luiz Freitas Almeida
92a7ae6be7 🐛 fix(utils.py): remove unnecessary type casting in get_user_by_username and get_user_by_id functions
🐛 fix(utils.py): fix update_user function to correctly update user attributes and handle username conflicts
2023-08-25 10:16:04 -03:00
Gabriel Luiz Freitas Almeida
4517f8ad5c 🔧 fix(service.py): add request parameter to run_oauth2_scheme method in AuthManager class to handle FastAPI request object
🔧 fix(utils.py): add request parameter to auth_scheme_dependency function to handle FastAPI request object
🔧 fix(utils.py): change get_current_active_user function to synchronous and remove async keyword
 feat(utils.py): add get_current_active_superuser function to check if the current user is an active superuser
2023-08-25 10:11:24 -03:00
Gabriel Luiz Freitas Almeida
e4cbc0a07f 🐛 fix(users.py): change router tag from "Login" to "Users" for better categorization
 feat(users.py): add status code 201 to the response of the add_user endpoint to indicate successful creation of a new user
🐛 fix(users.py): update the usage of UserCreate model to create a new User instance using User.from_orm(user) for better compatibility
 feat(users.py): add current_user parameter to the read_current_user endpoint to enforce authentication and authorization
 feat(users.py): add current_user parameter to the read_all_users endpoint to enforce authentication and authorization
 feat(users.py): add current_user parameter to the delete_user endpoint to enforce authentication and authorization. Also, add validation checks to prevent deleting own user account and unauthorized deletion of users.
2023-08-25 10:10:57 -03:00
Gabriel Luiz Freitas Almeida
43b2d62661 🔀 chore(router.py): add login_router to the APIRouter to include login functionality
🔀 chore(__init__.py): import and include login_router in the APIRouter to enable login functionality
🔀 chore(login.py): add tags to the login router to categorize it as "Login" in the API documentation
2023-08-25 10:10:19 -03:00
Gabriel Luiz Freitas Almeida
6b82b730cd 🔥 refactor(auth): remove unused code and dependencies in auth module
🔥 refactor(routers): remove unused code and dependencies in routers module
2023-08-25 10:09:37 -03:00
Gabriel Luiz Freitas Almeida
7987a10f92
Fixes bug when saving name and description, TextSplitters (#818) 2023-08-25 02:01:13 +00:00
Gabriel Luiz Freitas Almeida
9249e254fb
Merge branch 'main' into release 2023-08-25 01:59:38 +00:00
Gabriel Luiz Freitas Almeida
748f38e8c4
Fixed bug where name is not changed when description changes (#813) 2023-08-25 01:58:09 +00:00
Gabriel Luiz Freitas Almeida
f19e745b77
New Text Splitters (#817) 2023-08-25 01:56:26 +00:00
Gabriel Luiz Freitas Almeida
a28df1f08f 📝 docs(LanguageRecursiveTextSplitter.py): update documentation link to point to the correct URL
🔨 refactor(LanguageRecursiveTextSplitter.py): change type hints for the 'documents' parameter from Document to list[Document] and change return type from Document to list[Document] to improve clarity and consistency
🔨 refactor(LanguageRecursiveTextSplitter.py): change type hints for the 'chunk_overlap' parameter from Optional[int] to Optional[str] and handle conversion to int to improve flexibility and error handling
🔨 refactor(LanguageRecursiveTextSplitter.py): change type hints for the 'chunk_size' parameter from Optional[int] to Optional[str] and handle conversion to int to improve flexibility and error handling
🔨 refactor(RecursiveCharacterTextSplitter.py): change type hints for the 'documents' parameter from Document to list[Document] and change return type from Document to list[Document] to improve clarity and consistency
🔨 refactor(RecursiveCharacterTextSplitter.py): change type hints for the 'separators' parameter from Optional[str] to Optional[list[str]] and handle conversion to list of escaped characters to improve flexibility and error handling
🔨 refactor(RecursiveCharacterTextSplitter.py): change type hints for the 'chunk_overlap' parameter from Optional[int] to Optional[str] and handle conversion to int to improve flexibility and error handling
🔨 refactor(RecursiveCharacterTextSplitter.py): change type hints for the 'chunk_size' parameter from Optional[int] to Optional[str] and handle conversion to int to improve flexibility and error handling
2023-08-24 22:52:16 -03:00
Gabriel Luiz Freitas Almeida
c9f4969080 🐛 fix(types.py): fix regex pattern in extract_type_from_optional function to correctly extract type from optional field_type
🐛 fix(types.py): fix logic in add_new_custom_field function to correctly set is_list flag when field_type contains "list" keyword
 feat(types.py): add field_contains_list variable to check if field_type contains "list" keyword to improve semantics in add_new_custom_field function
2023-08-24 22:49:52 -03:00
Gabriel Luiz Freitas Almeida
86927d10d3 🔧 fix(types.py): add support for extracting inner type from list field types in process_type function 2023-08-24 22:37:30 -03:00
Gabriel Luiz Freitas Almeida
b326a7e246 📦 chore(pyproject.toml): update package version from 0.4.15 to 0.4.16
🔧 chore(pyproject.toml): add pillow package as a dependency for the project
2023-08-24 22:25:16 -03:00
Gabriel Luiz Freitas Almeida
0649b61fca 📦 chore(LanguageRecursiveTextSplitter.py): add LanguageRecursiveTextSplitter component to split text into chunks based on language
📝 docs(LanguageRecursiveTextSplitter.py): add documentation link for LanguageRecursiveTextSplitter component
🔧 refactor(LanguageRecursiveTextSplitter.py): refactor build_config method to use options from Language enum for separator_type
🔧 refactor(LanguageRecursiveTextSplitter.py): refactor build method to split text into chunks based on specified length and overlap
🔧 refactor(LanguageRecursiveTextSplitter.py): refactor build method to handle chunk_size and chunk_overlap as integers
🔧 refactor(LanguageRecursiveTextSplitter.py): refactor build method to use RecursiveCharacterTextSplitter from langchain.text_splitter
🔧 refactor(LanguageRecursiveTextSplitter.py): refactor build method to split documents using RecursiveCharacterTextSplitter and return the chunks
2023-08-24 22:24:07 -03:00
Gabriel Luiz Freitas Almeida
86730437a5 feat(RecursiveCharacterTextSplitter.py): add RecursiveCharacterTextSplitter component to split text into chunks of a specified length 2023-08-24 22:23:45 -03:00
Gabriel Luiz Freitas Almeida
383c9dc5ff 📝 docs(text-splitters.mdx): improve formatting and add missing information about LanguageRecursiveTextSplitter and its parameters
🐛 fix(text-splitters.mdx): fix typo in the description of `separators` parameter in `RecursiveCharacterTextSplitter`
2023-08-24 22:23:27 -03:00
Gabriel Luiz Freitas Almeida
40ab6b1e87 🔥 refactor(config.yaml): remove RecursiveCharacterTextSplitter from the config file as it is no longer used
📚 docs(config.yaml): update documentation link for CharacterTextSplitter in the config file
2023-08-24 22:22:31 -03:00
Gabriel Luiz Freitas Almeida
95ff2a7f6b 🔧 chore(util.py): add missing import for 'Document' from langchain.schema
🔧 chore(util.py): add missing type hint for 'documents' parameter in build_loader_repr_from_documents function
🔧 chore(util.py): add logic to calculate average document length and display summary information in build_loader_repr_from_documents function
2023-08-24 22:22:09 -03:00
Gabriel Luiz Freitas Almeida
f950bd8a2c
Added readme for docker example (#815) 2023-08-25 00:25:12 +00:00
Gabriel Luiz Freitas Almeida
6de92ea788
Fixes bug in websocket and updates dependencies (#816) 2023-08-25 00:23:40 +00:00
Gabriel Luiz Freitas Almeida
04b14747a2
Merge branch 'main' into release 2023-08-25 00:23:28 +00:00
Gabriel Luiz Freitas Almeida
43ca5e32d7 🔖 chore(pyproject.toml): update package version from 0.4.14 to 0.4.15
🔖 chore(pyproject.toml): update gunicorn package from version 21.1.0 to 21.2.0
🔖 chore(pyproject.toml): update chromadb package from version 0.3.21 to 0.3.0
🔖 chore(pyproject.toml): update rich package from version 13.4.2 to 13.5.0
🔖 chore(pyproject.toml): update unstructured package from version 0.7.0 to 0.10.0
🔖 chore(pyproject.toml): update pypdf package from version 3.11.0 to 3.15.0
🔖 chore(pyproject.toml): update fake-useragent package from version 1.1.3 to 1.2.1
🔖 chore(pyproject.toml): update qdrant-client package from version 1.3.0 to 1.4.0
🔖 chore(pyproject.toml): update weaviate-client package from version 3.21.0 to 3.23.0
🔖 chore(pyproject.toml): update cohere package from version 4.11.0 to 4.21.0
2023-08-24 21:20:33 -03:00
Gabriel Luiz Freitas Almeida
32de3e1f0a 🔧 chore(Makefile): exclude .venv folder from mypy linting to improve performance and avoid unnecessary errors 2023-08-24 21:20:11 -03:00
Gabriel Luiz Freitas Almeida
9fb1a26277 🐛 fix(manager.py): catch all exceptions instead of just TypeError when loading JSON payload to improve error handling and prevent crashes 2023-08-24 21:10:34 -03:00
Cristhian Zanforlin Lousa
151d01f506 🔧 chore(Makefile): remove unnecessary semicolons in Makefile commands
🔧 chore(Makefile): remove unnecessary package-lock.json deletion in install_frontendc command
 feat(ParameterComponent): add KeypairListComponent to handle key-value pairs
🔧 chore(KeypairListComponent): create KeypairListComponent to handle key-value pairs
🔧 chore(KeypairListComponent): add handleChangeKey and handleChangeValue functions to handle changes in key-value pairs
🔧 chore(KeypairListComponent): add button to add new key-value pair and remove existing key-value pair
🔧 chore(KeypairListComponent): add disabled prop to disable editing of key-value pairs
🔧 chore(KeypairListComponent): add editNode prop to style input fields in edit mode
🔧 chore(types): add KeyPairListComponent type definition
2023-08-24 21:00:38 -03:00
Lucas Oliveira
1e5fc97013 Bug fixed 2023-08-24 20:21:09 -03:00
igorrCarvalho
a1ea788d45 Feat: Make edges with data work on Examples too 2023-08-24 19:53:00 -03:00
anovazzi1
9b3e4f27a5 fix(tabsContext.tsx): handle error message properly when saving changes in the tabs provider
The error handling in the tabs provider has been improved to display a more meaningful error message when there is an error while saving changes. Instead of directly assigning the error to the `setErrorData` state variable, the error message is now wrapped in an object with a title and a list of error messages. This change ensures that the error message is displayed consistently and provides better context to the user.
2023-08-24 19:50:17 -03:00
anovazzi1
cea8acacd8 update type to avoid undefined 2023-08-24 19:42:48 -03:00
anovazzi1
bf568ad22f update attribute 2023-08-24 19:42:05 -03:00
anovazzi1
aaf34d49bb
Fix success messages to work only after backend response (#804)
🔧 fix(tabsContext.tsx): add setSuccessData to useContext to fix missing
function error
 feat(tabsContext.tsx): add success alert when changes are saved
successfully in TabsProvider component
🔧 fix(flowSettingsModal/index.tsx): remove setSuccessData from
useContext to fix missing function error
🔧 fix(AdminPage/index.tsx): remove console.log statement
 feat(AdminPage/index.tsx): add success alert when user is edited
successfully
🔧 fix(extraSidebarComponent/index.tsx): remove setSuccessData from
useContext to fix missing function error
2023-08-24 17:59:40 -03:00
anovazzi1
544738ebef
Merge branch 'login' into bugfix-msgSuccess 2023-08-24 17:58:25 -03:00
igorrCarvalho
3395a932aa Feat: add data to edges with source and handle info 2023-08-24 17:44:43 -03:00
Gabriel Luiz Freitas Almeida
41ef2fd2f7 🔧 fix(alembic): fix indentation and formatting issues in add_apikey_table migration script
 feat(alembic): add support for creating apikey and user tables in the database
🔥 chore(alembic): remove flowstyle and component tables from the database schema
2023-08-24 17:42:53 -03:00
Gabriel Luiz Freitas Almeida
58121cc6ca 🔥 refactor(main.py): remove unused routers from the app to improve code cleanliness and reduce unnecessary imports 2023-08-24 17:42:33 -03:00
Gabriel Luiz Freitas Almeida
d9cbf17b1a 🔄 chore(router.py): add users_router and api_key_router to the APIRouter to include the new routes for users and api keys
🔄 chore(__init__.py): add users_router and api_key_router to the __all__ list to include the new routes for users and api keys
🆕 feat(api_key.py): add new routes for retrieving, creating, and deleting API keys
🆕 feat(login.py): add new routes for user login, auto login, and token refresh
🆕 feat(schemas.py): add new schemas for API key response and users response
🆕 feat(users.py): add new routes for adding, reading, updating, and deleting users
🗑️ chore(health.py): remove health router as it is no longer needed
🔄 chore(utils.py): update import statements for User model and update_user_last_login_at function
2023-08-24 17:41:41 -03:00
anovazzi1
6dbc06dc12 Merge remote-tracking branch 'origin/dev' into bugfix-msgSuccess 2023-08-24 17:41:26 -03:00
anovazzi1
704fc6a244
fix: tweaks page (#807)
This pull request addresses multiple bugs and issues that have been
identified on the tweaks page of our application. The changes
implemented here aim to enhance the overall user experience and improve
the stability of the page. Below is an overview of the resolved issues:
2023-08-24 17:40:36 -03:00
anovazzi1
24e84aa2fe Merge branch 'dev' into bugfix-msgSuccess 2023-08-24 17:39:52 -03:00