Commit graph

10,574 commits

Author SHA1 Message Date
Eric Hare
28c94145c7
feat: Add Glean Search API Component (#3532) 2024-08-27 22:03:13 -03:00
anovazzi1
03e95d4522
feat: add notion integration components (#3579) 2024-08-27 22:01:43 -03:00
Gabriel Luiz Freitas Almeida
63cf0cff29
fix: surround a tag with feature flag for ENABLE_BRANDING (#3581) 2024-08-27 22:01:19 -03:00
Edwin Jose
46a9789028
fix(ollama): resolve model list loading issue and add Pytest for component testing (#3575)
* Commit to solve Model not loading issue

The issue was that the url of the models: api/tags was not parsed correctly.
It was having a // hence used urlencode to parse it properly.

Th e correct apporach works only if the base_url is correct,i.e a valid ollama URL:
for DS LF this must be a public ollama Server URL.

* updated the component Ollama Component

changed the get model to take in base url and the function will make the expected url for the model names. This makes the function better, than providing the model url as paramter.

Added Pytest, 7 tests, 1 test excluded for future implememtstion: test_build_model_failure

Make lint and Make format had touched multiple files

* removed unwanted print statements

removed unwanted print statements.

make format, formatted a lot of .tsx files also

* removed skipped tests

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-08-27 19:21:06 -04:00
Edwin Jose
3222153938
fix: Component name Corrected (#3577)
Component name Corrected

Error in name of the component.
2024-08-27 18:03:06 +00:00
Gabriel Luiz Freitas Almeida
c92bea64c4
chore: bump langflow versions (#3570) 2024-08-27 05:57:32 -07:00
Eric Hare
5eb0d9df75
feat: add LangChain Hub Component (#2990)
* #2822 LangSmith Hub Component

* [autofix.ci] apply automated fixes

* Update __init__.py

* Move and restructure langsmith prompt component

* [autofix.ci] apply automated fixes

* Fix imports

* Update __init__.py

* Update LangSmithPrompt.py

* Next pass at component for langchain hub

* [autofix.ci] apply automated fixes

* Return a chat prompt template

* [autofix.ci] apply automated fixes

* Create OpenAIToolsAgentPrompt.py

* Update OpenAIToolsAgentPrompt.py

* Delete OpenAIToolsAgentPrompt.py

* FIX remove old fields when refreshing

* [autofix.ci] apply automated fixes

* Return a Message object

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-08-27 05:46:26 -07:00
Nicolò Boschi
8e9ba9cca1
fix: building vertices not working on Safari and improve stop button (#3569)
* fix: building vertices not working on Safari

* fix: building vertices not working on Safari

* fix: stop build button seems to not work

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-08-27 05:19:26 -07:00
Ítalo Johnny
46770567a8
chore: remove-unused-code (#3554) 2024-08-27 09:37:56 +00:00
Ítalo Johnny
b5fc559d65
feat: implement LangfuseTracer (#3398)
* feat: implement langfuse tracer class for event monitoring

* feat: integrate langfuse trace class into trace service
2024-08-26 22:30:12 +00:00
Sanghyub.Lee
ee6fc45f68
fix: connection_string_parser.py (#3522)
* fix: connection_string_parser.py

In version 1.0.14, a connection string that includes a port, like the following example, works without any issues:
`test_connection_string = 'postgresql://postgres:password!!@pgdatabase.hosts:5432'`

However, in version 1.0.15, using this connection string causes an error.
"Error building Component PGVector: invalid literal for int() with base 10"

This is because 5432, which is the result of parsing the password_url, is being used as the last element in the password_url list.

* [autofix.ci] apply automated fixes

* Update connection_string_parser.py

fix 
transformed_connection_string = f'{protocol_user}:{encoded_password}@{db_url_name}'

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-08-26 15:25:59 -07:00
anovazzi1
df16cfdb93
fix: update border class for selected node status (#3556)
Update the border class for the selected node status in the NodeStatus component to "border-2 border-node-selected hover:shadow-node". This change improves the visual representation of the selected node status.
2024-08-26 22:10:00 +00:00
Gabriel Luiz Freitas Almeida
c20e02e0e2
refactor: release session after select (#3555) 2024-08-26 21:53:53 +00:00
Gabriel Luiz Freitas Almeida
60c586a52b
fix: add await to to_thread call (#3558)
* refactor(tracing/service.py): change asyncio.create_task to self.logs_queue.put_nowait for better performance and readability

* fix(chat.py): remove unnecessary logging of exception in build_flow function to improve code readability and maintainability

* refactor(tracing/service.py): refactor _end_and_reset method to use asyncio.create_task for better performance and readability
2024-08-26 14:53:24 -07:00
Cristhian Zanforlin Lousa
a763f57af5
feat: add timeout handler on FE (#3537)
*  (frontend): Add TimeoutErrorComponent to handle timeout errors in API requests
🔧 (frontend): Add healthCheckTimeout state and setHealthCheckTimeout function to utilityStore for managing timeout errors in API requests

* 📝 (constants.ts): add constants for server health check intervals to improve code readability and maintainability
🐛 (use-get-health.ts): fix refetch interval value to use the newly added constant REFETCH_SERVER_HEALTH_INTERVAL for consistency and easier maintenance

* 📝 (api.tsx): Add utilityStore import to improve code organization
📝 (api.tsx): Add createNewError503 function to handle custom 503 errors
📝 (api.tsx): Add AxiosError import for type checking
📝 (api.tsx): Refactor error handling logic for authentication errors
📝 (use-get-health.ts): Add createNewError503 import for custom 503 errors
📝 (use-get-health.ts): Add AxiosError import for type checking
📝 (use-get-health.ts): Refactor error handling logic for server busy status
📝 (index.tsx): Add AxiosError import for type checking
📝 (index.tsx): Add useEffect and useState imports for state management
📝 (index.tsx): Refactor error handling logic for server status and retries
📝 (utilityStore.ts): Add retriesApiRequest state and setRetriesApiRequest function
📝 (axios-error-503.ts): Create function to generate custom 503 error responses
📝 (index.ts): Add retriesApiRequest state and setRetriesApiRequest function to UtilityStoreType

* 🔧 (utilityStore.ts): remove unused retriesApiRequest and setRetriesApiRequest functions to clean up code and improve maintainability
🔧 (index.ts): remove unused retriesApiRequest and setRetriesApiRequest types to keep type definitions consistent and up to date

*  (nginx.conf): add new health endpoint to proxy_pass requests to the backend server for health checks

*  (langflow): Add support for configuring the number of retries for the health check feature. This change introduces a new option `health_check_max_retries` that can be set via environment variable or command line argument to control the maximum number of retries for the health check process.

* check if value is none
2024-08-26 14:21:05 -07:00
anovazzi1
9bf72ab444
fix: improve file name generation in upload_file function to prevent files with the same name (#3550)
* fix: improve file name generation in upload_file function to prevent files with the same name

* [autofix.ci] apply automated fixes

* fix: improve file name generation in upload_file function

* [autofix.ci] apply automated fixes

* fix: improve file name generation in upload_file function

* fix: improve file path generation in test_upload_file function

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-08-26 18:35:19 +00:00
Jordan Frazier
75520729de
build: fix astra integration tests (#3518) 2024-08-26 16:44:27 +00:00
Lucas Oliveira
f4e96b113e
revert: add compression support to frontend and backend (#3549)
Revert "feat: add compression support to frontend and backend (#3484)"

This reverts commit b63916e3c6.
2024-08-26 13:24:02 -03:00
Cristhian Zanforlin Lousa
7fdfe10098
fix: user not been able to add new user on langflow docker (#3538)
🐛 (use-post-add-user.ts): fix API endpoint URL to include trailing slash for consistency and to ensure correct routing
2024-08-26 12:56:38 +00:00
Cristhian Zanforlin Lousa
0818d88075
fix: remove depth loop calls on folder's useEffect (#3535)
🐛 (index.tsx): Fix issue where setEditFolderName was being called with undefined or empty folders array, causing a crash. Added a check to ensure folders array is not empty before setting edit folder names.
2024-08-23 20:02:42 +00:00
Lucas Oliveira
b63916e3c6
feat: add compression support to frontend and backend (#3484)
* Added compression lib to frontend

* Added compression handling to backend

* Added compression to body requests on frontend

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-08-23 12:07:07 -07:00
Himanshu Dixit
b4e550bbfc
fix: composio ux flow (#3529)
* feat: revert composio fix

* [autofix.ci] apply automated fixes

* feat: run format

* feat: add suggested change

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-08-23 11:08:06 -07:00
Gabriel Luiz Freitas Almeida
d9a9401e3b
fix: ensure cache is set for graph in build flow (#3531)
added a condition to set the cache for the graph when it is built.

this ensures that the latest graph state is stored in the chat service.
2024-08-23 10:08:38 -07:00
Gabriel Luiz Freitas Almeida
189ef4147d
fix: update serialization and improve error handling (#3516)
* feat(utils): add support for V1BaseModel in serialize_field

Add support for V1BaseModel instances in the serialize_field function by
checking for a "to_json" method. If the method is not present, return the
attribute values as a dictionary.

* refactor: Update field serializer function and error handling in build_flow function
2024-08-23 06:30:42 -07:00
Gabriel Luiz Freitas Almeida
7e7d5a1a1c
refactor: improve metric creation logic and silence ot warnings (#3207)
refactor(opentelemetry.py): enhance metric creation logic warnings and improved metric handling methods
2024-08-23 12:51:36 +00:00
Ítalo Johnny
8e733ce580
fix: build version notification function (#3527)
fix: added try/except block to version notification function
2024-08-23 09:15:54 -03:00
hotamago
2896c72e99
feat: Enhance Chroma Handling, Bug Fixes & add GoogleGenerativeAIEmbeddingsComponent (#3476)
* Update Chroma.py

* Update utils.py

* Create GoogleGenerativeAIEmbeddings.py

* Update __init__.py

* Update GoogleGenerativeAIEmbeddings.py

* [autofix.ci] apply automated fixes

* Update src/backend/base/langflow/components/embeddings/GoogleGenerativeAIEmbeddings.py

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-08-23 04:45:13 -07:00
Gabriel Luiz Freitas Almeida
4e15090927
fix: check if variable is valid before converting (#3514)
* feat: Add logging and session imports to endpoints.py

Import logging and session modules for better error handling and database interaction in endpoints.py.

* refactor: Improve custom component parameter handling in update endpoint

* feat: Add parse_value function to parse values based on input type

Add a new function `parse_value` to `utils.py` that parses values based on the input type provided. The function handles different input types such as 'IntInput' and 'FloatInput' to ensure proper parsing.

* feat: Refactor custom_component_update() to use parse_value utility function

Use parse_value utility function to handle different input types and empty values in custom_component_update() for better readability and maintainability.
2024-08-22 21:27:36 +00:00
Gabriel Luiz Freitas Almeida
9d5f97acf2
chore: remove locust dependency (#3513)
Remove it so we don't have flask-cors as a dependency because of a vulnerability
2024-08-22 20:44:05 +00:00
Gabriel Luiz Freitas Almeida
a98e07e1a2
feat: Update project name retrieval in LCModelComponent and CustomComponent (#3506)
Return the project name using get_project_name method in both classes.
2024-08-22 19:13:22 +00:00
Gabriel Luiz Freitas Almeida
6d048b2d2c
refactor: add fixtures for client in test files to speed them up (#3490)
refactor: Add fixtures for client in test files to speed them up
2024-08-22 12:08:47 -07:00
Lucas Oliveira
f5ddc3ed52
fix: appearance of update button on title (#3503)
Fixed update button appearing on the bottom of the title
2024-08-22 17:31:53 +00:00
Gabriel Luiz Freitas Almeida
2eca4d9e32
refactor: move import statement inside function to avoid unnecessary imports (#3505)
* fix: Add exception handling for missing langchain_anthropic package

* refactor: Move import statement for get_starter_projects_dump in get_starter_projects

* chore: Modify logger to use error level for exception in directory_reader
2024-08-22 07:56:36 -07:00
Cristhian Zanforlin Lousa
b5116e6f68
tests: fix dropdown components test (#3504)
*  (dropdownComponent.spec.ts): add missing test case for dropdownComponent to improve test coverage and ensure functionality
🔧 (dropdownComponent.spec.ts): update test case to include additional interactions with the page to simulate user behavior and improve test robustness

*  (dropdownComponent.spec.ts): update mouse wheel scroll distance to 800 to improve test reliability
📝 (dropdownComponent.spec.ts): add additional wait time to ensure stability in test execution

* 🔧 (dropdownComponent.spec.ts): remove unnecessary code related to hovering and scrolling in the dropdown component test to improve test readability and maintainability
2024-08-22 07:10:31 -07:00
Gabriel Luiz Freitas Almeida
1e5aa0c2cf
feat: Add import check for langchain_aws module in AmazonBedrockComponent (#3492) 2024-08-21 19:09:12 -07:00
Gabriel Luiz Freitas Almeida
3623d9ac9c
chore(starter-projects): Update OpenAIModelComponent inputs and build_model method (#3489) 2024-08-21 18:35:59 -07:00
Gabriel Luiz Freitas Almeida
300e79f70c
build: Update langflow-base and langflow versions to 0.0.94 and 1.0.16 respectively. (#3455) 2024-08-21 18:07:32 -07:00
Gabriel Luiz Freitas Almeida
40237d0631
fix: improve end_traces so it doesn't block the build loop (#3482)
* refactor: Simplify log configuration logic in Graph class

* feat(tracing): Refactor _end_traces method to be async and use asyncio.to_thread.

This is an attempt to avoid blocking the build loop
2024-08-21 18:06:41 -07:00
Yuqi Tang
dde0fa4566
Fix: API JS generated code (#3461)
* update js code

* fix langflowid

* fix code change
2024-08-21 18:04:38 -07:00
Jordan Frazier
96ca71dab8
fix: moves caching of vector store to LCModelComponent level (#3435)
* refactor LCModelComponent to use a cached vector store to prevent multiple embeddings
2024-08-21 14:38:06 -07:00
Rodrigo Nader
a700ea003d
feat: remove api key from advanced and update HuggingFace components (#3397)
* feat:  remove api key from advanced

* refactor: 🎨 improve naming and descriptions

* fix: 🐛 Fix hf api component

* [autofix.ci] apply automated fixes

* feat: 🎨 Add default values

* [autofix.ci] apply automated fixes

* fix: 🐛 fix hf api component

* [autofix.ci] apply automated fixes

* feat: 🔥 remove hugging face embeddings (local)

* refactor: Removed HuggingFaceEmbeddingsComponent from __init__.py

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-08-21 19:22:20 +00:00
MaxZhang
5ffaa78e1c
fix: allow setting temperature to 0 in OpenAIModel.py (#3465)
Update OpenAIModel.py- Fix can not set temperature to 0 bug.

As when the input temperature is 0, the condition would become False , so this expressing set it to 0.1, it become impossible to set it to 0.
2024-08-21 19:12:42 +00:00
Cristhian Zanforlin Lousa
1db1e3af3d
feat: add LANGFLOW_AUTO_SAVING_INTERVAL .env variable for flow auto-saving debounce (#3478)
* 📝 (langflow): Add support for configuring auto saving interval for Langflow
📝 (langflow): Update ConfigResponse and Settings to include auto_saving_interval
📝 (frontend): Update useGetConfigQuery and useSaveConfig to handle auto_saving_interval
📝 (frontend): Update useAutoSaveFlow and flowsManagerStore to handle auto saving interval

* 📝 (util.py): add support for setting auto_saving_interval in update_settings function to allow customization of auto-saving interval
2024-08-21 12:02:26 -07:00
Cristhian Zanforlin Lousa
8dd85d98b6
fix: auto_login=off error on login and editing a user + FE tests (#3471)
* 🐛 (users.py): Fix issue where user password was not being updated correctly
📝 (constants.ts, authContext.tsx, index.tsx): Add LANGFLOW_REFRESH_TOKEN constant and update related code to support refresh token functionality
📝 (userManagementModal/index.tsx): Update form reset logic and handle input values correctly
📝 (LoginPage/index.tsx, LoginAdminPage/index.tsx): Update login function to include refresh token parameter
📝 (components/index.ts, auth.ts): Update inputHandlerEventType to support boolean values

 (auto-login-off.spec.ts): Add end-to-end test for user login functionality with auto_login set to false, CRUD operations for users, and verification of user flows visibility based on permissions.

*  (auto-login-off.spec.ts): improve test description for better clarity and understanding
📝 (auto-login-off.spec.ts): add comments to clarify the purpose of intercepting requests and performing CRUD operations

* 🐛 (users.py): fix comparison of password to check for None using 'is not None' instead of '!= None' for better accuracy
2024-08-21 15:55:47 +00:00
Lucas Oliveira
3a408c8141
refactor: add useGetRefreshFlows mutation and update code to use it (#3475)
* Added refresh flows mutation

* Changed places that used refreshFlows to use the mutation

* removed old refreshFlows

* removed readFlowsFromDatabase api call

* Removed unused API calls from API.ts

* Removed getFlowFromDatabase call
2024-08-21 15:21:19 +00:00
Lucas Oliveira
0586d1e1d5
refactor: prompt validation functionality (#3473)
* Added post validate prompt mutation

* Updated prompt modal to use mutation to validate prompt

* Removed post validate prompt from API.ts
2024-08-21 15:12:45 +00:00
Lucas Oliveira
a5e366c03d
fix: auto login hooks order bug (#3472)
Fix auto login hooks order bug
2024-08-21 12:12:17 -03:00
Lucas Oliveira
1d46bee0f9
refactor: component code validation (#3470)
* removed post custom component update

* Added post validade component code mutation

* Used post validade code mutation on component code

* removed unused console log

* used validate component code on generic node code validation
2024-08-21 14:47:11 +00:00
anovazzi1
767a1a68b0
refactor: Add NodeIcon component for displaying icons in GenericNode (#3459)
* feat: Add NodeIcon component for displaying icons in GenericNode

This commit adds a new component called NodeIcon to the GenericNode module. The NodeIcon component is responsible for displaying icons based on the data type of the node. It uses the nodeIconsLucide object from the styleUtils module to map the data type to the corresponding icon name. The component also handles the display of emojis as icons by checking if the icon is an emoji using the emoji-regex library. The icon color is determined based on the data type using the nodeColors object from the styleUtils module. The NodeIcon component is used in the GenericNode component to render the icon of the node.

* [autofix.ci] apply automated fixes

* feat: Remove useIconNodeRender hook from CustomNodes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-08-21 11:29:57 -03:00
Lucas Oliveira
f328179d82
refactor: add code validation functionality on tanstack mutation (#3469)
* Added Validate endpoint

* Added API Code Validate type

* Added post validate code hook

* Used mutation instead of API call to validate code

* Removed validate code api call
2024-08-21 13:24:54 +00:00