Commit graph

5,746 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
c5ef201755 feat(store): add store service to integrate langflow with the store
This commit adds the necessary files to implement the store service in langflow. The store service allows searching, getting, posting, and downloading components from the store. The store service is integrated with a Directus instance.

The following files were added:
- `src/backend/langflow/services/store/__init__.py`: Initializes the store service.
- `src/backend/langflow/services/store/factory.py`: Implements the store service factory.
- `src/backend/langflow/services/store/schema.py`: Defines the schema for the component response.
- `src/backend/langflow/services/store/service.py`: Implements the store service, including methods for searching, listing components, downloading, and uploading components.

The store service requires the `SettingsService` to be passed during initialization. The base URL and components URL are retrieved from the `MARKETPLACE_URL` setting.

The store service provides the following methods:
- `search`: Searches for components in the store based on various parameters.
- `list_components`: Lists components from the store.
- `download`: Downloads a specific component from the store.
- `upload`: Uploads a new component to the store.

The store service uses the `httpx` library to perform HTTP requests to the store API. The `_get` method is a utility method to perform GET requests with optional API key and parameters.

The `ComponentResponse` schema defines the structure of the component response from the store. It includes various properties such as name, description, id, status, sort, user_created, date_created, user_updated, date_updated, is_component, likes, tags, data, and documentation.

The `get_api_key` method is not implemented and will be completed in a future commit.
2023-10-18 16:22:24 -03:00
Gabriel Luiz Freitas Almeida
2653bbc70e First draft of MarketplaceService 2023-10-18 09:18:16 -03:00
Gabriel Luiz Freitas Almeida
c50d1344ca rename getters to deps 2023-10-18 09:18:16 -03:00
Gabriel Luiz Freitas Almeida
de238bf5db Rename manager to service 2023-10-18 09:18:15 -03:00
anovazzi1
277caccc05 fix(typesContext.tsx): fix import statement for APIClassType in typesContext.tsx
feat(typesContext.tsx): add support for generating unique display names for custom components in typesContext.tsx
fix(nodeToolbarComponent/index.tsx): fix issue with saving component data by cloning the data object before saving
feat(utils.ts): add getSetFromObject function to get a set of keys from an object
2023-10-17 19:43:30 -03:00
anovazzi1
a3de1ea989 fix(reactflowUtils.ts): add a check to ensure that the proxy id exists in the idsMap before updating it in the template 2023-10-16 17:50:00 -03:00
anovazzi1
7553a89d52 Merge remote-tracking branch 'origin/dev' into saveComponent 2023-10-16 17:35:27 -03:00
anovazzi1
c8d231c331 update make file 2023-10-16 17:29:21 -03:00
anovazzi1
4f50425807 Merge remote-tracking branch 'origin/dev' into saveComponent 2023-10-16 17:09:42 -03:00
anovazzi1
cba92c10b4 fix(typesContext.tsx): prevent wrong overwriting of component template by a group of the same type
refactor(reactflowUtils.ts): remove unused code that was causing a syntax error
2023-10-16 17:02:37 -03:00
anovazzi1
46fc843760 fix(reactflowUtils.ts): update updateEdgesIds function to correctly update targetHandle proxy ids and stringify targetHandle
fix(reactflowUtils.ts): update expandGroupNode function to correctly iterate over flowEdges instead of ReactFlowInstance.getEdges() to redirect edges to correct proxy node
2023-10-16 15:23:13 -03:00
anovazzi1
4b04aadd1d fix(nodeToolbarComponent): add missing useContext import for TabsContext
fix(reactflowUtils): add missing return statement in updateIds function
feat(nodeToolbarComponent): update expandGroupNode function to update ids of proxy nodes and edges before expanding group node
2023-10-16 14:50:40 -03:00
anovazzi1
466c158f15 fix(tabsContext.tsx): remove unnecessary noticeData setting when downloading a file
feat(tabsContext.tsx): change the order of arguments in addFlow function call to improve readability
feat(exportModal/index.tsx): add alertContext and setNoticeData to display a warning when saving a file with API keys
feat(exportModal/index.tsx): add a caution message to inform users about the consequences of saving with API keys
2023-10-16 13:57:12 -03:00
Gabriel Luiz Freitas Almeida
d9e69b1ba3 🔧 chore(.env.example): add LANGFLOW_AUTO_LOGIN variable to enable/disable automatic login feature 2023-10-16 09:59:43 -03:00
Gabriel Luiz Freitas Almeida
e5d6e72406
Fix: missing numexpr when using poetry to run (#1040) 2023-10-16 09:47:51 -03:00
Gabriel Luiz Freitas Almeida
7bdf564170 🔧 chore(constants.py): clean up import statements and remove unnecessary whitespace to improve code readability
🐛 fix(custom_component.py): set the type of argument to "Data" if it is not specified to ensure consistency and prevent errors
2023-10-12 19:23:45 -03:00
Gabriel Luiz Freitas Almeida
4366b02c4f 🔀 chore(field_typing): reorganize imports and update __all__ list for better readability and maintainability
🔥 chore(field_typing): remove unused base.py file as it is no longer needed
🔀 chore(constants): update import statements and add type aliases for better readability and maintainability
2023-10-12 19:23:13 -03:00
Gabriel Luiz Freitas Almeida
dad8480ce3 🔨 refactor(HuggingFaceEndpoints.py): update import statement for HuggingFaceEndpoint class to match new file structure
🔧 chore(HuggingFaceEndpoints.py): remove unused import statement for langchain.llms.base module

🔧 chore(HuggingFaceEndpoints.py): remove unused "type" field from task parameter in build method signature

🔧 chore(HuggingFaceEndpoints.py): add default value for task parameter in build method signature

🔧 chore(HuggingFaceEndpoints.py): add default values for huggingfacehub_api_token and model_kwargs parameters in build method signature

🐛 fix(HuggingFaceEndpoints.py): add model_kwargs parameter to HuggingFaceEndpoint constructor to fix missing argument error
2023-10-12 19:22:41 -03:00
Gabriel Luiz Freitas Almeida
964b4ec7f2 🐛 fix(base.py): improve code readability by formatting the CreateTrace function call in multiple lines 2023-10-12 16:29:48 -03:00
Gabriel Luiz Freitas Almeida
6abd5d5343 🐛 fix(base.py): handle cases where value is not a valid int or float to prevent ValueError and assign the original value instead 2023-10-12 16:29:30 -03:00
Gabriel Luiz Freitas Almeida
8f20105b4b 🔧 fix(custom_component.py): fix import statement for CUSTOM_COMPONENT_SUPPORTED_TYPES
🔧 fix(custom_component.py): fix argument type in return statement of CustomComponent.get_args()
🔧 fix(custom_components.py): make description attribute optional in CustomComponentFrontendNode class
2023-10-11 18:33:13 -03:00
Gabriel Luiz Freitas Almeida
846a15f9fd 🐛 fix(base.py): convert "int" and "float" type values to their respective types for better data consistency and type safety 2023-10-11 18:32:56 -03:00
Gabriel Luiz Freitas Almeida
440298861c 🔄 refactor(types.py): update import statement for CUSTOM_COMPONENT_SUPPORTED_TYPES to match new location in field_typing module 2023-10-11 18:32:19 -03:00
Gabriel Luiz Freitas Almeida
df66ae848e 🔀 chore(field_typing): add support for additional types in field_typing/__init__.py
🔀 chore(field_typing): add support for Data type in field_typing/base.py

🔀 chore(field_typing): add constants.py file to define supported types in field_typing

🔀 chore(interface/custom): remove duplicate imports and use field_typing types

🔀 chore(utils): fix syntax error in get_base_classes function
2023-10-11 18:31:05 -03:00
Gabriel Luiz Freitas Almeida
b2205bba8a 🐛 fix(types.py): add output types to the frontend node to improve data integrity and error handling
 feat(types.py): add support for adding output types to the frontend node to ensure valid return types and improve error handling
2023-10-11 17:33:32 -03:00
anovazzi1
411052c077 added todo comment 2023-10-11 17:05:00 -03:00
anovazzi1
fe6d0a78ed fix(tabsContext.tsx): fix the order of arguments in the addFlow function call to correctly add flows to newProject 2023-10-11 16:50:56 -03:00
anovazzi1
f0c64112ea Merge branch 'dev' into saveComponent 2023-10-11 16:13:11 -03:00
Gabriel Luiz Freitas Almeida
562ebdec6f
added trace name (#1043)
Fixed https://github.com/logspace-ai/langflow/issues/1042
2023-10-11 15:51:07 -03:00
Guangya Liu
7c9f649f01 added trace name 2023-10-11 14:21:41 -04:00
cristhianzl
4e4fae329a chore(applies.css): update class name in .header-arrangement to improve semantics
chore(applies.css): update class name in .api-modal-tabs to improve semantics
2023-10-11 08:41:26 -03:00
merrygoround-of-life
957da16d6e Fix: missing numexpr when using poetry to run 2023-10-11 12:59:27 +09:00
anovazzi1
2b3e6fd2e3
update makeFiles (#1037) 2023-10-10 20:18:51 -03:00
anovazzi1
06c7328012 update makeFiles 2023-10-10 19:47:09 -03:00
anovazzi1
71945ed9cf fix(typesContext.tsx): update deleteComponent function signature to include id parameter for better data management
fix(typesContext.tsx): update deleteComponent implementation to use id parameter for localStorage key
fix(sideBarDraggableComponent/index.tsx): update deleteComponent function call to include id parameter for better data management
2023-10-10 17:08:27 -03:00
anovazzi1
a95db60a89
prevent code fields to show on group node (#1035)
refactor(reactflowUtils.ts): change display_name of generated group node
from "group Component" to "Group" for better clarity and understanding
2023-10-10 16:01:04 -03:00
anovazzi1
7f9a4a13f2 chore(reactflowUtils.ts): prevent code fields from showing on the group node to improve user experience and maintain consistency
refactor(reactflowUtils.ts): change display_name of generated group node from "group Component" to "Group" for better clarity and understanding
2023-10-10 15:56:25 -03:00
anovazzi1
82e1131ed2 fix(typesContext.tsx): set official property of component.node to false to mark it as unofficial
fix(extraSidebarComponent/index.tsx): set official property of component to false if it is explicitly set to false
fix(sideBarDraggableComponent/index.tsx): add official property to SidebarDraggableComponent props and use it to conditionally render delete option in SelectItem
fix(api/index.ts): add official property to APIClassType to indicate if it is an official API
2023-10-10 15:11:04 -03:00
anovazzi1
66700bd30e
Bugfix minimize node (#1032)
some minor bug fixes
2023-10-10 13:51:41 -03:00
anovazzi1
6ae41c265c Merge remote-tracking branch 'origin/dev' into bugfix_minimizeNode 2023-10-10 13:39:01 -03:00
anovazzi1
99662ccc23
New group node (#891) 2023-10-10 13:12:29 -03:00
anovazzi1
0718819a10 fix invalid json strings 2023-10-09 21:26:40 -03:00
anovazzi1
4a8caa609f remove console.log 2023-10-09 21:15:15 -03:00
anovazzi1
94b3aa88b9 add suport to drop collections 2023-10-09 21:13:42 -03:00
igorrCarvalho
e1107ffdf7 Remove blank space 2023-10-09 18:20:23 -03:00
igorrCarvalho
3fd7a3e4cd Fix: Add dict on verification to avoid unknown edge 2023-10-09 18:08:33 -03:00
igorrCarvalho
8e5dd6b0e3 Fix: Add onclick on minimized node to make filter edges work 2023-10-09 17:14:39 -03:00
anovazzi1
a90e5b243f update git ignore 2023-10-09 17:05:03 -03:00
anovazzi1
f7534516ef create shell scripts to run frontend test 2023-10-09 17:04:07 -03:00
Gabriel Luiz Freitas Almeida
4544abe96d
Update README.md (#1020) 2023-10-09 16:53:35 -03:00