Commit graph

13,696 commits

Author SHA1 Message Date
cristhianzl
602ebf7b15 ✨ (monitor.py): add MessageIds schema for structured message deletion
♻️ (monitor.py): change delete_messages endpoint to POST for better semantics
♻️ (monitor.py): update delete_messages to use MessageIds schema
✨ (schemas.py): add MessageIds schema for structured message deletion
🐛 (service.py): fix SQL query in delete_messages to use correct column name
✨ (index.tsx): add toTitleCase utility to format column headers
✨ (API/index.ts): add deleteMessagesFn to handle message deletion via API
✨ (headerMessages): add HeaderMessagesComponent for message management UI
✨ (use-messages-table): add useMessagesTable hook to fetch and manage messages
✨ (use-remove-messages): add useRemoveMessages hook to handle message deletion

♻️ (messagesPage): refactor messages page to use new messages store
✨ (messagesStore): create zustand store for managing messages state
✨ (types): add types for messages and zustand messages store
2024-05-31 13:43:28 -03:00
Mendon Kissling
1a569a4cb7
Update README.md (#2036)
For clarity in Python version.
2024-05-31 12:15:51 -04:00
Mendon Kissling
139a3f254f
Update README.md
For clarity in Python version.
2024-05-31 11:55:54 -04:00
ogabrielluiz
a3a09fed3b refactor: Fix serialize_datetime function in model.py 2024-05-31 11:41:17 -03:00
ogabrielluiz
031b82c665 refactor: Update serialize_datetime function in model.py 2024-05-31 11:25:36 -03:00
ogabrielluiz
82404d1ed9 refactor: Update serialize_datetime function in model.py
The serialize_datetime function in model.py has been updated to handle the "updated_at" and "created_at" fields. The function now converts datetime values to ISO 8601 format with timezone information. This change ensures consistent serialization of datetime values in the codebase.

Note: The commit message has been generated based on the provided code changes and recent commits.
2024-05-31 11:22:40 -03:00
ogabrielluiz
f705995311 refactor: Update new output creation logic in reactflowUtils.ts
Simplify the logic for creating new output fields in the `updateNewOutput` function of `reactflowUtils.ts`. Instead of mapping over the `outputTypes` array, directly assign a new output field to `sourceNode.data.node!.outputs`. The new output field includes the `outputTypes` as `types`, sets `selected` based on the `selected` variable, and sets `name` as a string representation of `outputTypes` joined with " | ". This change improves the clarity and efficiency of the code.
2024-05-31 10:30:25 -03:00
ogabrielluiz
f79289f966 feat: Add API endpoints for managing messages
This commit adds new API endpoints for managing messages. It includes the ability to delete messages by their IDs, update a specific message, and delete all messages associated with a session. These changes are implemented in the `monitor.py`, `schema.py`, and `service.py` files.
2024-05-31 09:38:05 -03:00
ogabrielluiz
b7de1ff3bd feat: Add ComponentFrontendNode to CustomComponent
This commit adds the `ComponentFrontendNode` class to the `CustomComponent` module. The `ComponentFrontendNode` class defines a new frontend node for the `Component` type. It includes a template with a code input field. This change enhances the functionality and flexibility of the `CustomComponent` module.
2024-05-31 09:25:48 -03:00
ogabrielluiz
b0432c3802 feat: Add set_attributes method to CustomComponent
This commit adds the set_attributes method to the CustomComponent class in the custom_component.py file. The set_attributes method allows for setting attributes of the CustomComponent instance based on a dictionary of key-value pairs. This change enhances the flexibility and configurability of the CustomComponent class.
2024-05-30 23:05:41 -03:00
ogabrielluiz
98a09174d9 refactor: Add __bool__ method to CacheMiss class
This commit adds the __bool__ method to the CacheMiss class in the utils.py file. The __bool__ method returns False, allowing the CacheMiss object to be treated as False in boolean expressions. This change improves the functionality and usability of the CacheMiss class.
2024-05-30 22:52:53 -03:00
ogabrielluiz
230c4a69ed feat: update template and custom component to load inputs and outputs 2024-05-30 22:47:29 -03:00
ogabrielluiz
5dae23bcb1 feat: Update get_all endpoint to use async/await
This commit updates the `get_all` endpoint in the `endpoints.py` file to use `async` and `await` keywords. By making the `get_all` function asynchronous, it allows for better performance and responsiveness when retrieving all types from the langchain. This change improves the overall efficiency of the codebase.
2024-05-30 22:46:49 -03:00
ogabrielluiz
ff489cb1f5 feat: Add MultipleOutputsComponent to CustomComponent
This commit adds the `MultipleOutputsComponent` class to the `CustomComponent` module. The `MultipleOutputsComponent` class defines multiple inputs and outputs for the component. The `inputs` field includes an input for a string and an input for a number. The `outputs` field includes an output for a certain output and an output for another output. This change enhances the functionality and flexibility of the `CustomComponent` module.
2024-05-30 22:45:58 -03:00
ogabrielluiz
709082f2f0 feat: Update title in GenericNode component
This commit updates the title in the GenericNode component to use the `name` property instead of the `selected` or `types[0]` properties. This change improves the accuracy and clarity of the code.
2024-05-30 22:45:44 -03:00
Lucas Oliveira
a119c3777a Changed empty component to open New Project modal 2024-05-30 20:15:48 -03:00
Lucas Oliveira
cd9429ac9d Changed message of terminal as Run Langflow. 2024-05-30 20:07:33 -03:00
Lucas Oliveira
f5462b1f8d Made node description editable by clicking once and changed cursor type 2024-05-30 19:49:56 -03:00
Lucas Oliveira
b1a5fb5de6 Removed Pencil of name of node 2024-05-30 19:48:36 -03:00
ogabrielluiz
2cffd76135 feat: Update pre-commit configuration
The pre-commit configuration file `.pre-commit-config.yaml` was updated to remove the `pretty-format-json` hook and exclude `tsconfig.*.json` files. This change improves the formatting consistency of the codebase.

Note: The commit message has been generated based on the provided code changes and recent commits.
2024-05-30 19:13:15 -03:00
ogabrielluiz
82fcdfb67a feat: Add inputs and outputs to CustomComponent
This commit adds the `inputs` and `outputs` fields to the `CustomComponent` class in the `custom_component.py` file. The `inputs` field is of type `List[Input]` and the `outputs` field is of type `List[Output]`. This change allows for better organization and management of the component's input and output fields.
2024-05-30 18:29:40 -03:00
ogabrielluiz
59126fa01a refactor: rename InputField to Input 2024-05-30 17:55:02 -03:00
Gabriel Luiz Freitas Almeida
67207eb171
Fix endpoint URL interpolation issue in getCurlCode (#2026)
* chore: Update getCurlCode to fix endpoint URL interpolation issue
2024-05-30 13:18:56 -07:00
ogabrielluiz
25752b1aa8 feat: Migrate base classes to outputs in FrontendNode
This commit migrates the base classes of the FrontendNode to the outputs field. Each base class is converted into an OutputField with the same name and type. This change ensures consistency and improves the structure of the code.
2024-05-30 17:17:36 -03:00
igorrCarvalho
d091bf9611 Fix: formatFileName function cant truncate when numberToTruncate are bigger than name length 2024-05-30 17:14:39 -03:00
igorrCarvalho
a88193aeee Refactor: Create function to get style classes 2024-05-30 17:09:26 -03:00
igorrCarvalho
7ea7d9a407 Refactor: Create specific folder for handleDownload function 2024-05-30 17:05:20 -03:00
igorrCarvalho
b02b4ee4eb Refactor: Create wrap for download button 2024-05-30 17:00:39 -03:00
igorrCarvalho
7e09131800 Feat: Implement download file on chat function 2024-05-30 16:52:50 -03:00
ogabrielluiz
5c818f0b60 feat: Update field types in prompt and formatter modules
This commit updates the field types in the `prompt.py` and `formatter/base.py` modules. The `DefaultPromptField` class in `prompt.py` now inherits from `InputField` instead of `TemplateField`. Similarly, the `format` method in the `FieldFormatter` class in `formatter/base.py` now accepts an `InputField` parameter instead of a `TemplateField` parameter. These changes ensure consistency and improve the accuracy of the code.
2024-05-30 16:46:45 -03:00
ogabrielluiz
32726cba30 added OutputFieldType 2024-05-30 16:43:03 -03:00
ogabrielluiz
cc49757333 feat: Update API modal utils to use InputFieldType
The code changes in this commit update the API modal utils to use the `InputFieldType` type instead of the deprecated `TemplateVariableType`. This change ensures that the codebase is up to date with the latest API types and improves the accuracy and clarity of the code.
2024-05-30 16:42:01 -03:00
igorrCarvalho
e56ce2f2b4 Feat: enhance sending files UI 2024-05-30 16:38:35 -03:00
Gabriel Luiz Freitas Almeida
eb68558905
Update utils.py to handle SecretStr field type as str with password and load_from_db attributes (#2005)
* chore: Update utils.py to handle SecretStr field type as str with password and load_from_db attributes

* Update utils.py to handle SecretStr field type as str with password and load_from_db attributes
2024-05-30 12:02:54 -07:00
Gabriel Luiz Freitas Almeida
4c113d5ac0
Add Upstash Vector Store support (#2004)
* docs(migration): add UPSTASH_VECTOR_REST_URL and UPSTASH_VECTOR_REST_TOKEN to the list of default environment variables
pyproject.toml: add upstash-vector package as a dependency with version 0.4.0
src/backend/base/langflow/components/vectorsearch/UpstashSearch.py: create UpstashSearchComponent for implementing a Vector Store using Upstash
src/backend/base/langflow/components/vectorstores/Upstash.py: create UpstashVectorStoreComponent for implementing a Vector Store using Upstash
src/backend/base/langflow/services/settings/constants.py: add UPSTASH_VECTOR_REST_URL and UPSTASH_VECTOR_REST_TOKEN to the list of variables to get from the environment

* ✨ (UpstashSearch.py): Add support for 'number_of_results' and 'text_key' parameters in UpstashSearchComponent to enhance search functionality
♻️ (Upstash.py): Refactor UpstashVectorStoreComponent to include 'text_key' parameter for consistency and improved functionality

* ♻️ (Upstash.py): refactor UpstashVectorStoreComponent to improve code readability and maintainability by restructuring the instantiation of UpstashVectorStore instances based on conditions and adding support for adding documents directly to the instance.

* feat: Update langchain-core, langchainhub, langsmith, and requests dependencies to latest versions
2024-05-30 12:02:40 -07:00
Gabriel Luiz Freitas Almeida
39f86a409a
feat: Add Docker Hub propagation wait and HuggingFace Spaces build restart (#2024)
The code changes include adding a new step in the `.github/workflows/docker-build.yml` file to wait for Docker Hub to propagate. Additionally, a new script `factory_restart_space.py` is added in the `scripts` directory to restart the HuggingFace Spaces build. This script uses the `HfApi` and `rich` libraries to interact with the HuggingFace Hub API and print the space runtime.

Note: The commit message has been generated based on the provided code changes and recent commits.
2024-05-30 12:01:09 -07:00
ogabrielluiz
764fcfcfd1 feat: Add Docker Hub propagation wait and HuggingFace Spaces build restart
The code changes include adding a new step in the `.github/workflows/docker-build.yml` file to wait for Docker Hub to propagate. Additionally, a new script `factory_restart_space.py` is added in the `scripts` directory to restart the HuggingFace Spaces build. This script uses the `HfApi` and `rich` libraries to interact with the HuggingFace Hub API and print the space runtime.

Note: The commit message has been generated based on the provided code changes and recent commits.
2024-05-30 16:00:01 -03:00
Rodrigo Nader
92674a7f03
Update README.md 2024-05-30 15:15:57 -03:00
igorrCarvalho
830d5a6ca8 Feat: add diferent loading for file and image 2024-05-30 15:11:28 -03:00
ogabrielluiz
d0829f5dbe Merge remote-tracking branch 'origin/dev' into two_edges 2024-05-30 14:48:38 -03:00
cristhianzl
5bdf80da65 ✨ (RecordsOutputComponent): add support for dynamic column modes and rows
♻️ (TableComponent): remove unused useCallback import and add autoHeight
✨ (convert-to-table-rows): add helper function to convert objects to table rows
♻️ (SwitchOutputView): refactor to use new convertToTableRows helper and improve type checks
♻️ (OutputModal): change modal size to medium-log for better visualization
♻️ (IOFieldView): refactor to use new rows and columnMode props in RecordsOutputComponent

♻️ (baseModal): remove unnecessary comma in ReactElement type array
✨ (baseModal): add new size option "medium-log" for modal component
♻️ (textOutputView): simplify TextOutputView component props
♻️ (api): add params and messages to VertexBuildTypeAPI
♻️ (api): add type to logs in VertexDataTypeAPI
♻️ (api): make artifacts optional in VertexDataTypeAPI
♻️ (chat): make artifacts optional in FlowPoolObjectType
✨ (components): add playgroundDisabled to InputListComponentType
♻️ (components): fix formatting in various component types

♻️ (utils.ts): remove unused imports to clean up the code
✨ (utils.ts): add 'all' mode to extractColumnsFromRows for more flexibility
2024-05-30 14:34:32 -03:00
Mendon Kissling
e22f0c2d9d
[Docs] - Example Components (#2022)
* Remove outdated pages from example folder
* Repopulate with component-of-the-day pages with videos
* Update Notion index image
* Python version 3.10 -> Python >= 3.10
2024-05-30 12:08:35 -04:00
Mendon Kissling
572f26f5a3 strip-old-links 2024-05-30 12:05:38 -04:00
Nicolò Boschi
7abfb0b232
feat: read flows from local directory at startup (#1989)
* feat: read flows from local directory at startup

* cleanup

* add check

* fix

* fix

* fix by endpoint name

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-05-30 08:58:57 -07:00
Nicolò Boschi
44121515ed
fix: create superuser at startup to avoid concurrency issues (#2019)
* fix: create superuser at startup to avoid concurrency issues

* fix import

* fix mypy

* fix mypy
2024-05-30 08:54:48 -07:00
Mendon Kissling
c8716a9c22 Merge branch 'dev' into docs-example-components 2024-05-30 11:51:04 -04:00
Mendon Kissling
b4152c8a5f update-notion-image 2024-05-30 11:38:55 -04:00
Mendon Kissling
d757f1a703 repopulate-examples 2024-05-30 11:35:42 -04:00
Gabriel Luiz Freitas Almeida
94e8bf1e2b
Add support for running flows by endpoint name (#2012)
* feat: Add support for running flows by endpoint name

This commit modifies the `simplified_run_flow` endpoint in `endpoints.py` to allow running flows using the endpoint name instead of the flow ID. It introduces a new route parameter `flow_id_or_name` which can accept either a UUID or a string representing the endpoint name. The code first attempts to parse the parameter as a UUID, and if that fails, it queries the database to find a flow with the matching endpoint name. This change improves the usability of the API by providing an alternative way to identify flows for execution.

* feat: Add endpoint_name field to FlowType

This commit adds the `endpoint_name` field to the `FlowType` interface in the `index.ts` file. The `endpoint_name` field is an optional string that represents the name of the endpoint associated with the flow. This change allows for more flexibility in identifying flows by endpoint name instead of just the flow ID. It improves the usability of the codebase by providing an alternative way to reference flows.

* 🐛 (endpoints.py): change type of flow_id_or_name parameter from Union[str, UUID] to str to simplify the API and improve readability

* feat: Add migration utility functions for table, column, foreign key, and constraint existence checks

This commit adds utility functions to the `migration.py` module in the `langflow.utils` package. These functions provide convenient ways to check the existence of tables, columns, foreign keys, and constraints in a database using SQLAlchemy. The functions `table_exists`, `column_exists`, `foreign_key_exists`, and `constraint_exists` take the table name, column name, foreign key name, and constraint name respectively, along with the SQLAlchemy engine or connection object. They use the `Inspector` class from `sqlalchemy.engine.reflection` to retrieve the necessary information and return a boolean value indicating whether the specified element exists in the database. These utility functions improve the readability and maintainability of the codebase by encapsulating the common existence checks in a reusable and modular way.

* feat: Add unique constraints for per-user folders and flows

This commit adds unique constraints for per-user folders and flows in the database. It introduces the `unique_folder_name` constraint for the `folder` table, ensuring that each user can have only one folder with a specific name. Similarly, it adds the `unique_flow_endpoint_name` and `unique_flow_name` constraints for the `flow` table, enforcing uniqueness of endpoint names and flow names per user. These constraints improve data integrity and prevent duplicate entries in the database, providing a more robust and reliable system.

* feat: Add poetry installation and caching steps to GitHub Actions workflow

This commit updates the GitHub Actions workflow file `action.yml` to include additional steps for installing poetry and caching its dependencies. The `run` step now installs poetry using the specified version and ensures that the poetry binary is available in the PATH. Additionally, the workflow now includes a step to restore pip and poetry cached dependencies using the `actions/cache` action. These changes improve the workflow by providing a more efficient and reliable way to manage poetry dependencies and caching.

* refactor: Improve error handling in update_flow function

This commit improves the error handling in the `update_flow` function in `flows.py`. It adds a new `elif` condition to check if the exception is an instance of `HTTPException` and re-raises it. This ensures that any `HTTPException` raised during the update process is properly handled and returned as a response. Additionally, it removes the unnecessary `else` block and simplifies the code logic. This refactor enhances the reliability and maintainability of the `update_flow` function.
2024-05-30 07:46:28 -07:00
Mendon Kissling
b1505cf4f7 Merge branch 'dev' into docs-example-components 2024-05-30 10:38:49 -04:00