* refactor: add new use-query endpoint of upload files
* extend type for payload callbackSuccess
* [autofix.ci] apply automated fixes
* bugfix: drag and drop image on chat not working
* Refactored query function to use Options
* Used dedicated function as queryFn
* ✨ (API): export use-post-upload-file in files index
♻️ (FileInput): refactor file upload mutation to use onSuccess and onError
♻️ (chatInput): refactor file upload mutation to use onSuccess and onError
♻️ (chatView): refactor file upload mutation to use onSuccess and onError
* ♻️ (use-get-download-images.ts): simplify getDownloadImagesFn function
♻️ (use-get-transactions.ts): simplify getTransactionsFn function
✨ (use-handle-file-change.tsx): add hook to handle file input changes
✨ (use-upload.tsx): add hook to handle file paste events
* Added type on Request Processor
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
* ✅ (tests): remove redundant test assertions in filterEdge-shard-0.spec.ts
✅ (tests): add new test assertions and remove redundant ones in filterEdge-shard-1.spec.ts
* ✅ (filterSidebar.spec.ts): add test for visibility of helpersID Generator
♻️ (filterSidebar.spec.ts): remove redundant visibility test for textsplittersCharacterTextSplitter
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* refactor(base.py): refactor logic to find start_component_id based on multiple keywords for improved flexibility and readability
* feat(schema.py): add WebhookInput component type to INPUT_COMPONENTS list for handling webhook inputs in the graph schema
* refactor(base.py): refactor logic to determine start_component_id based on webhook or chat component presence in input vertices
* refactor: prioritize webhook component for determining start_component_id
* feat(utils.py): add function find_start_component_id to find component ID based on priority list of input types
* refactor(graph/base.py): refactor logic to find start component id in Graph class for better readability and maintainability
* test(test_webhook.py): override pytest fixture to check for OpenAI API key in environment variables before running tests
* test(test_webhook.py): update webhook json
* feat(schema.py): update WebhookInput component type name
* refactor: log package run telemetry in simplified_run_flow
* test: add test for webhook flow on run endpoint
* refactor(graph/base.py): skip unbuilt vertices when getting vertex outputs in Graph class
* refactor: simplify data_input assignment in LCTextSplitterComponent
* refactor: remove unused build method in CharacterTextSplitterComponent
* refactor: update imports in CharacterTextSplitter.py
* chore: update conventional-labeler action to version 2.0.0
* chore: add 'bug' label to fix category in release.yml
* chore(conventional-labels.yml): add 'Validate PR' job to validate pull requests before labeling them
chore(conventional-labels.yml): add 'Label PR' job to label pull requests after validation is successful
* chore(conventional-labels.yml): update conditional statement in Label PR job to exclude Bot users from linting and only run if PR validation is successful
* chore(conventional-labels.yml): update type_labels mapping to align with conventional commit keywords for better labeling in GitHub actions.
* fix(conventional-labels.yml): run workflow only on editing the PR
* chore(conventional-labels.yml): do not require an issue reference
* feat: Add GitHub Actions workflow for labeling PRs with Conventional Commits
* feat(release.yml): add release.yml file with predefined categories for changelog to improve consistency and clarity in release notes
* style(release.yml): change 'perf' label to 'performance' for better clarity and consistency across labels in changelog section
* fix(tracing/service.py): remove wait_for_all_tracers call
* refactor: set reasonable timeout for TelemetryService client
* fix: handle HTTP and request errors in TelemetryService
Handle HTTPStatusError and RequestError exceptions separately in the send_telemetry_data method of TelemetryService to provide more specific error messages. Also, catch any unexpected exceptions and log them with an appropriate error message.
* fix: cancel worker task and close client in TelemetryService stop method
Cancel the worker task and close the client in the stop method of TelemetryService to ensure proper cleanup and prevent potential resource leaks. Also handle any exceptions that may occur during the cleanup process and log appropriate error messages.
* style(telemetry/service.py): fix indentation issue in await statement to comply with PEP8 guidelines
* feat(graph): add method to remove vertex from runnables in Graph class
* fix(chat.py): fix issue where vertex was not being removed from runnables list to prevent duplication of results
* fix(chat.py): defines when the end_all_traces call should happen
* chore: update py_autofix.yml workflow to run Ruff Check and Format
* ci(js_autofix.yml): remove unnecessary pull request types to trigger workflow only on changes in src/frontend directory
Handle the case where the artifact type is unknown and the raw value is not None in the post_process_raw function. Set the raw value to "Built Successfully ✨" in this case.
* bugfix: add env import to spec files correctly
* 🔧 (ci.yml): fix indentation for consistency and readability in CI workflow
* ci: add inputs to workflow
* bugfix: improve flaky test general bugs to run smoothier on CI
* ci: add more shards to improve tests on CI
Fixes key error in browser on flow page for extra sidebar disclosure components
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* Fixed bug where updating the node does not remove edited status
* Fixed order of edited override
* Made all node-changing functions to alter type the right way
* Update StoreMessageComponent for enhanced message handling
- Changed base class from CustomComponent to Component
- Added multiple input fields: message, sender, sender_name, session_id
- Included output field for stored messages
- Improved logic to handle both string and Message types
- Enhanced error handling and validation for message storage
* Apply Ruff formatting
* Update StoreMessageComponent for enhanced message handling
* Apply Ruff formatting
* Feat: add more types
* Format code
* feat: Add CreateListComponent for creating a list of texts
This commit adds a new component called CreateListComponent, which is responsible for creating a list of texts. The component takes in one or more texts as input and outputs a list of Data objects. This component is useful for scenarios where a list of texts needs to be processed or manipulated.
The CreateListComponent class is added to the helpers module in the langflow.components package. It includes the necessary inputs and outputs, as well as a create_list method that generates the list of Data objects based on the input texts.
This commit also includes some minor changes to other files, such as renaming the UUIDGeneratorComponent to IDGeneratorComponent and updating import statements.
* [autofix.ci] apply automated fixes
* Changed native categories to use the keys of the style utils categories, which is updated
* change component name
* chore: add the name attribute to the CustomComponent
* chore: assign the value of name to the components
* chore: change the logic of the type value returned
* chore: extract code to new func
* chore: change component_name value
* [autofix.ci] apply automated fixes
* Formatted files
---------
Co-authored-by: Rodrigo <rodrigosilvanader@gmail.com>
Co-authored-by: rodrigosnader <rodrigosnader@users.noreply.github.com>
Co-authored-by: igorrCarvalho <igorsilvabhz6@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
* Fixed dbvalue on table node cell renderer
* Added Change Advanced hook
* Added Handle New Value hook
* Added Handle Node Class hook
* Added Node Class handler to TableNodeCellRender
* Removed internal state of EditNode, added internal state for NodeClass and made the rows and columns be updated when NodeClass changes
* Added NodeClass as dependencies on useMemo to update columns when NodeClass changes
* Fixed advanced not changing the node
* feat: updating tests without save btn
* Added Close button on editNode
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* chore(workflows): update lint-js.yml and lint-py.yml workflows to include support for workflow_call and workflow_dispatch events with optional branch input for checkout
* chore(docs_test.yml): update workflow triggers to include workflow_call and workflow_dispatch events
* ci(python_test.yml): update workflow to trigger on workflow_dispatch event and add support for optional branch input parameter to checkout specific branch for testing
* chore(typescript_test.yml): remove unnecessary pull_request event types to streamline workflow configuration
* feat(ci.yml): add CI workflow for automated testing and linting of backend, frontend, and documentation code
* chore: update release.yml to include CI workflow for automated testing and linting
* chore(typescript_test.yml): remove unnecessary 'if: always()' condition from merge-reports job
* chore(ci): add typescript_test.yml to the list of files included in the frontend job for CI workflow
* chore(ci.yml): fix typo in file path for typescript_test.yml in the frontend job of CI workflow
* chore(ci.yml): update path-filter job in CI workflow to include frontend tests and fix typo in file path for typescript_test.yml
* chore(ci.yml): add concurrency configuration to improve workflow efficiency
fix(ci.yml): include tests output in the filter paths job to run frontend tests when needed
* chore(ci.yml): update CI workflow to remove lint-frontend job
* chore(ci.yml): restructure CI workflow to improve readability and maintainability
feat(ci.yml): add separate jobs for frontend tests, backend linting, and docs build to enhance testing coverage
feat(ci.yml): introduce a final job 'CI Success' to check the status of all previous jobs and provide a summary of the CI pipeline execution
* ci(ci.yml): add dependencies between jobs to ensure proper execution order and avoid unnecessary runs
* chore(ci.yml): reformat YAML file for better readability and consistency in indentation
feat(ci.yml): add support for running backend tests, frontend tests, linting backend code, and testing docs build in CI workflow
feat(ci.yml): introduce a final step 'CI Success' to check the status of all previous jobs and exit with appropriate code based on their results
* chore(ci.yml): Remove concurrency configuration and cancel-in-progress option from lint-js, lint-py, python_test, and style-check-py workflows
* chore(ci.yml): Update pull_request event types in js_autofix.yml workflow to remove auto_merge_enabled
* chore: Remove concurrency configuration and cancel-in-progress option from typescript_test.yml workflow
* refactor: change add store key inside test
* ♻️ (tests): remove hardcoded API key and use environment variable
✅ (tests): add environment variable check to skip tests if not set
* ✅ (store-shard-2.spec.ts): add test skip condition for STORE_API_KEY
✨ (store-shard-2.spec.ts): implement test for sharing component with API key
* ✅ (store-shard-2.spec.ts): update navigation step in end-to-end test to click "My Collection" instead of going to home page
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* bugfix: update tests FE
* ✅ (tests): add end-to-end tests for deleting components and flows
✅ (tsconfig.json): update tsconfig to include new deleteFlows.spec.ts test file
* ♻️ (dropdownComponent.spec.ts): remove redundant test cases for showendpoint_url to streamline test suite
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* fix: improve handling of ToolCallingAgent output in ToolCallingAgentComponent
The code changes in `ToolCallingAgent.py` modify the `ToolCallingAgentComponent` class to improve the handling of the output from the `ToolCallingAgent`. The changes include updating the logic to handle both single results and lists of results, extracting the relevant text from the results, and assigning it to the `result_string` variable. This ensures that the `result_string` contains the appropriate output to be returned as a `Message` object.
* fix(ToolCallingAgent.py): fix variable name typo from 'result' to 'results' for correct data processing
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat(pyproject.toml): update package versions to 1.0.6 for langflow and 0.0.82 for langflow-base to reflect latest changes and improvements
* chore(lock): new lock
* fix: update ChatGroq output in GroqModel.py
* chore: update workflow_dispatch in Python and TypeScript test workflows
* feat(release.yml): add a new 'test' job to run Typescript and Python tests before releasing Langflow Main to ensure code quality and stability. Update dependencies to include Typescript and Python test workflows.
Fixed Create Data component to maintain old values and use new code structure
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(tracing_service): use correct trace name and attribute name
* fix: update tracing_service attribute name in LCModelComponent
* feat: add trace_name property in CustomComponent
* fix: update trace_name usage in Component build method
* feat: update log method in CustomComponent to use trace_name
* fix: update trace_name usage in Component build method
* feat(custom_component): add logs to CustomComponent
The `CustomComponent` class now includes a `_logs` attribute to store log messages. This attribute is initialized as an empty list in the constructor. The `log` method has been updated to accept an optional `name` parameter, which allows specifying a custom name for the log message. If no name is provided, a default name is generated based on the number of logs already stored.
This change enhances the logging functionality of the `CustomComponent` and provides more flexibility in managing log messages.
* feat(tracing_service): add logs to TracingService
This commit adds a `_logs` attribute to the `TracingService` class to store log messages. The attribute is initialized as a defaultdict of lists in the constructor. The `add_log` method has been updated to append logs to the corresponding trace name in the `_logs` dictionary. This change enhances the logging functionality of the `TracingService` and allows for better management of log messages.
* chore(tracing_service): improve error handling in stop method
* refactor(tracing/service.py): update _logs data structure to support both Log objects and generic dictionaries for flexibility in handling different types of data
refactor(tracing/service.py): add conditional check to only add metadata if it is provided for better control over the information being added
* refactor: update build_model method return type annotation
* refactor(CohereModel.py): update return type of build_model method to only LanguageModel for clarity and consistency
* chore(GroqModel.py): add stop_sequences parameter to GroqModel query method
* refactor(AstraDB.py): reorganize imports and update cached_vectorstore type
* refactor: update cached_vectorstore type and input order in CassandraVectorStoreComponent
* chore(GroqModel.py): remove unused stop_sequences parameter in GroqModel query method
* chore: adding default values to Azure OpenAI mandatory component
* fix: huggingface model component:
- Change Huggingface-hub version from 0.20.0 to 0.22.0;
- Internal model_id resolver not working, create a field to model_id;
* feat: add HuggingFace as extra dependency
* chore: remove redundant atribution on children
* fix: remove user environment variables from ChatLiteLLMModelComponent
---------
Co-authored-by: joaoguilhermeS <j.guilherme.s.oliveira2@gmail.com>