Commit graph

360 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
243dd9da0c
ci: Add GitHub Actions workflow to store pytest durations once a day (#4937)
Add GitHub Actions workflow to store pytest durations

This commit introduces a new workflow that runs pytest and stores test durations. The workflow is scheduled to run daily at 6:30 UTC and includes steps for setting up the environment, restoring cache, running tests, and creating a pull request to update the test durations file automatically.
2024-11-29 21:09:13 +00:00
Gabriel Luiz Freitas Almeida
ad43340a9a
chore: Update CI workflow job and step names for clarity and consistency (#4847)
Update CI workflow job and step names for clarity and consistency
2024-11-27 07:33:07 -08:00
anovazzi1
5d2de860e5
Refactor: inputListComponent.spec.ts to improve test reliability and performance (#4859)
* Refactor inputListComponent.spec.ts to improve test reliability and performance

* Refactor: update intComponent tests for improved reliability and performance (#4860)

* Refactor inputListComponent.spec.ts to improve test reliability and performance

* Refactor IntComponent test to improve search reliability and performance

* Refactor test grep pattern to fix syntax error

* debuging ci

* Refactor test grep pattern to fix syntax error and improve test reliability and performance
2024-11-26 22:06:28 +00:00
Jordan Frazier
b5b1da7f6e
build: adds arm64 build to docker build workflow (#4872)
Adds arm64 build to docker build workflow
2024-11-26 10:00:41 -08:00
Gabriel Luiz Freitas Almeida
ad52046f20
ci: Enable release flag for TypeScript tests in nightly build workflow (#4848)
ci: Enable release flag in nightly build workflow for TypeScript tests
2024-11-25 16:52:50 -08:00
Gabriel Luiz Freitas Almeida
c941936db3
ci: Add dynamic shard count calculation for Playwright tests in CI workflow (#4844)
* Add dynamic shard count calculation for Playwright tests in CI workflow

* Fix incorrect format for shardTotal in TypeScript test workflow

* Enhance CI workflow by dynamically generating shard indices using JSON array

* Set default test suites to an empty array in TypeScript CI workflow

* Improve shard index array creation using jq in CI workflow

* Add Playwright installation step to CI workflow

* Update CI workflow to use setup-node and install Node.js dependencies

* Refactor shard index array creation in CI workflow for proper escaping

* Refactor CI workflow to use matrix combinations for test sharding

* Refactor CI workflow to improve matrix handling and shard configuration

* Remove redundant condition from Playwright Tests job in CI workflow

* Add grep pattern for release tests and conditional job execution in CI workflow
2024-11-26 00:20:21 +00:00
anovazzi1
b9af310abf
fix: starter-project was broken in main (#4842)
* fix broken test

* ci: Enhance TypeScript test workflow with debug output and refined release condition

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
2024-11-25 22:43:34 +00:00
Gabriel Luiz Freitas Almeida
dd92d9c10c
ci: Update TypeScript CI workflow to select tests if test files change (#4840)
* Update TypeScript CI workflow: streamline suite selection and dependency setup

- Set default test suites to an empty array to dynamically determine suites based on changes.
- Ensure compact JSON output for test suites.
- Simplify Node.js and Playwright setup by using built-in caching and custom actions.
- Add UV_CACHE_DIR environment variable for caching.

* Expand test coverage paths in changes-filter.yaml configuration
2024-11-25 19:30:13 -03:00
Cristhian Zanforlin Lousa
043cf14fba
fix: improve node internal updates in setNodeClass function (#4836)
*  (use-handle-new-value.tsx): change the callback function to be asynchronous to introduce a delay of 500ms before updating node internals

* 🐛 (use-handle-new-value.tsx): fix setNode function call to include additional parameters for immediate update and callback function to update node internals after setting the node class.

* 🔧 (use-handle-new-value.tsx): Remove unnecessary line break to improve code readability and consistency

* 🔧 (.github/workflows/typescript_test.yml): update matrix output to ensure proper JSON formatting using jq command
2024-11-25 19:17:23 -03:00
Gabriel Luiz Freitas Almeida
87e5b86f48
ci: Update TypeScript test workflow for improved Playwright integration (#4781)
* Update TypeScript test workflow to improve Playwright caching and containerization

- Add container image for Playwright to ensure consistent environment
- Modify Playwright version retrieval to use `npm ls` for accuracy
- Enhance caching strategy with restore keys for Playwright binaries
- Refactor Playwright installation steps to handle dependencies based on cache status

* Remove Playwright container image specification from GitHub Actions workflow

* Add GitHub Action to install Playwright with caching support

- Created a new composite GitHub Action `install-playwright` to install Playwright and its dependencies with caching.
- Updated `typescript_test.yml` workflow to use the new `install-playwright` action, simplifying the installation process and ensuring efficient use of cache.
- The action supports specifying a working directory and selecting browsers to install.

* Remove redundant Playwright caching steps from GitHub Actions workflow

* Update Playwright version extraction logic in GitHub Action

- Modify script to read `package.json` directly for Playwright version.
- Support both `dependencies` and `devDependencies` for version retrieval.
- Remove caret and tilde symbols from version string.

* Optimize Node.js setup and caching in GitHub Actions workflow

* Set UV_CACHE_DIR environment variable in GitHub workflows

* Refactor SignUpPage to import InputComponent from the core components directory

* Set default test suites to an empty array in TypeScript test workflow

* Fix conditional logic in TypeScript test workflow for release builds

* Fix syntax error in conditional statement in GitHub Actions workflow
2024-11-25 21:16:30 +00:00
Cristhian Zanforlin Lousa
989cefd0ac
tests: organize playwright tests by feature suites and optimize CI runtime (#4687)
* starting realocating components FE

* tagging tests

* 📝 (.github/workflows/typescript_test.yml): remove unnecessary comment before the Playwright test execution step to improve readability and maintainability

* 📝 (.github/changes-filter.yaml): Update paths in changes-filter.yaml to categorize different sections of the project for testing purposes
🔧 (.github/workflows/typescript_test.yml): Refactor workflow to use paths-filter action for determining test suites based on changes in different project sections

*  (changes-filter.yaml): reorganize and update paths for test categories, starter projects, components, workspace, api, and database
 (components): add new components for GradientWrapper, pageLayout, and paginatorComponent
🔧 (MainPage): update import path for PageLayout component
🔧 (SettingsPage): update import path for PageLayout component
🔧 (StorePage): update import path for PageLayout component

*  (frontend): Update import paths for components to use common directory instead of core directory for better organization and consistency
🔧 (frontend): Remove duplicate import of PaginatorComponent in various files and import it from the common directory to reduce redundancy and improve maintainability

* 🔧 (changes-filter.yaml): remove unnecessary release section from changes-filter.yaml
🔧 (typescript_test.yml): refactor workflow to support input suites and release flag for test runs

* 📝 (changes-filter.yaml): remove unnecessary entries from components section and add missing entries to workspace section for better organization and filtering of changes
🔧 (changes-filter.yaml): update changes-filter.yaml to include missing utils files in the frontend/src/utils directory
🔧 (typescript_test.yml): remove redundant code block that sets SUITES variable to default values as it is no longer needed due to changes in the changes-filter.yaml file

*  (actionsMainPage-shard-1.spec.ts): Update test tags to remove unnecessary tags for better organization and clarity
📝 (store-shard-2.spec.ts): Update test tags to remove unnecessary tags for better organization and clarity
📝 (generalBugs-shard-4.spec.ts): Update test tags to remove unnecessary tags for better organization and clarity
📝 (generalBugs-shard-9.spec.ts): Update test tags to remove unnecessary tags for better organization and clarity
📝 (deleteComponents.spec.ts): Update test tags to remove unnecessary tags for better organization and clarity
📝 (deleteFlows.spec.ts): Update test tags to remove unnecessary tags for better organization and clarity

 (dragAndDrop.spec.ts): Refactor drag and drop test to improve readability and maintainability
 (flowPage.spec.ts): Refactor save test in Flow Page to improve readability and maintainability
 (store-shard-0.spec.ts): Refactor Store test to improve readability and maintainability
 (store-shard-1.spec.ts): Refactor Store test to improve readability and maintainability

 (store-shard-3.spec.ts): Remove unnecessary tags from test descriptions to improve clarity and consistency
 (userSettings.spec.ts): Remove unnecessary tags from test descriptions to improve clarity and consistency
 (general-bugs-shard-3909.spec.ts): Remove unnecessary tags from test descriptions to improve clarity and consistency

📝 (frontend): Update test tags in regression tests to remove unnecessary tags for better organization and clarity
📝 (frontend): Update test file paths in tsconfig.json to match the new file structure for consistency and maintainability

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* Update paths-filter action to v3 and adjust filter configuration file

* Add logging to matrix setup in TypeScript test workflow

* Refactor decisionFlow.spec.ts to improve test setup and execution flow

* Refactor import paths for genericIconComponent and shadTooltipComponent in PlaygroundButton component

* feat: add release input to CI workflows for enhanced deployment control

* Fix: Correct 'release' input type in CI workflow configuration

* [autofix.ci] apply automated fixes

* Refactor Blog Writer test: streamline setup and interaction steps

* Refactor test cases to improve modal handling and streamline API key input logic

* Add test grep pattern to GitHub Actions workflow for targeted test execution

- Introduced `test_grep` output in the `determine-test-suite` job to generate a grep pattern based on changed files or input suites.
- Updated Playwright test execution to use the generated grep pattern, allowing for more targeted test runs.
- Enhanced the `Set Matrix` step to include tag processing for test filtering.

* Enhance tag filtering in test workflow with regex lookaheads

* Fix syntax for default suite input in GitHub Actions workflow

* Update GitHub Actions to handle empty suite input for release builds

* Escape regex lookaheads and quotes for GitHub Actions in test workflow

* Update regex pattern and quote escaping in TypeScript test workflow

* Use single quotes for echo command in GitHub Actions script

* Refactor tag handling in GitHub Actions to use OR logic for grep patterns

* 🔧 (FlowPage/index.tsx): Remove unnecessary empty line to improve code readability and consistency

* 📝 (FlowPage/index.tsx): add missing line break for better code readability

* Refactor import path and reorder CSS classes for consistency in UpdateAllComponents component

* [autofix.ci] apply automated fixes

* Update import path for PaginatorComponent in AdminPage index.tsx

*  (logs.spec.ts): introduce a new variable 'modalCount' to keep track of the number of modals opened in the test suite

* 📝 (filterSidebar.spec.ts): remove unnecessary test steps related to filter removal and sidebar interactions to simplify and improve test focus on main functionality

*  (logs.spec.ts): add tests to ensure proper interaction with logs feature in the frontend application

*  (similarity.spec.ts): add a test tag for release and components to categorize the test case
💡 (similarity.spec.ts): add a comment to explain the purpose of the test case and the condition for skipping the test

*  (decisionFlow.spec.ts): add missing newline before async function declaration to improve code readability

*  (textInputOutput.spec.ts): skip the test for TextInputOutputComponent to exclude it from the test suite temporarily

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-11-25 20:55:03 +00:00
Gabriel Luiz Freitas Almeida
7b7513a813
chore: Remove 'v' prefix from release tag in CI workflow that caused problems in docker build (#4819)
* Remove redundant 'v' prefix from release tag in CI workflow

* Add run-name to Docker Build and Push workflow for better traceability
2024-11-25 19:20:50 +00:00
Sebastián Estévez
4f27dbd918
chore: speed up whl install in cli tests with uv (#4764)
uv for whl install
2024-11-21 17:19:18 +00:00
Gabriel Luiz Freitas Almeida
ffd9eaae9f
fix: update Test Docker Images workflow to use get_version_info (#4721)
Update Docker test workflow to use get_version_info function for version retrieval
2024-11-19 21:48:37 +00:00
Gabriel Luiz Freitas Almeida
4723ab4ce5
ci: Exclude specific components from Codspeed workflow paths (#4596)
Exclude specific components from Codspeed workflow paths
2024-11-14 11:28:21 +00:00
Gabriel Luiz Freitas Almeida
24f5638ada
ci: Add GitHub Actions workflow for creating releases (#4587)
* Add GitHub Actions workflow for creating releases

* Remove POETRY_VERSION environment variable from create-release workflow
2024-11-13 16:11:30 -08:00
Gabriel Luiz Freitas Almeida
c8ac7e671d
ci: Add condition to PyPI publish step in release workflow (#4585)
Add condition to PyPI publish step in release workflow
2024-11-13 15:42:11 -08:00
Gabriel Luiz Freitas Almeida
348a7c2b8a
ci: Strip 'v' prefix from version and remove obsolete release workflow (#4584)
* Remove 'create-release.yml' workflow file from GitHub Actions configuration

* Strip 'v' prefix from version in release workflow script
2024-11-13 15:19:51 -08:00
Gabriel Luiz Freitas Almeida
b25726a015
chore: Update langflow-base dependency to version 0.1.0 (#4581)
Update langflow-base dependency to version 0.1.0 in pyproject.toml
2024-11-13 21:46:59 +00:00
Gabriel Luiz Freitas Almeida
313f197c88
ci: Update CI path filters for frontend tests (#4571)
* Update changes-filter.yaml to include new component and starter project paths

* Update CI path filters and conditions for frontend and component changes
2024-11-13 19:37:20 +00:00
Cristhian Zanforlin Lousa
4e2ee25da8
test: Enhance test stability (#4566)
* 🐛 (genericIconComponent/index.tsx): fix optional chaining for split and map functions to prevent errors
🐛 (actionsMainPage-shard-1.spec.ts): remove redundant zoom_out click
🐛 (auto-login-off.spec.ts): reduce wait time from 2000ms to 1000ms
🐛 (freeze-path.spec.ts): change click target from "openai" to "OpenAI" for consistency
🐛 (freeze.spec.ts): change click target from "Split Text" to "Split Text" for consistency
🐛 (Dynamic Agent.spec.ts): skip test execution
🐛 (Hierarchical Agent.spec.ts): skip test execution
🐛 (Sequential Task Agent.spec.ts): skip test execution
🐛 (Simple Agent.spec.ts): skip test execution
🐛 (decisionFlow.spec.ts): change search input from "conditional router" to "if else"
🐛 (similarity.spec.ts): change search input from "openai" to "openai embedding"
🐛 (fileUploadComponent.spec.ts): enable test for file upload functionality

📝 (deleteComponents.spec.ts): Remove commented out code and enable test for deleting a component
📝 (deleteFlows.spec.ts): Enable test for deleting a flow
📝 (starter-projects.spec.ts): Enable test for interacting with starter projects
📝 (store-shard-3.spec.ts): Enable tests for ordering visualization and filtering by type
📝 (generalBugs-shard-13.spec.ts): Enable test for sharing a component on the store

* ⬆️ (typescript_test.yml): update matrix configuration to run tests on multiple shards for better parallelization
🔧 (typescript_test.yml): enable playwright test execution with shard index and total for parallel test execution

* 🐛 (genericIconComponent/index.tsx): fix optional chaining for split and map functions to prevent errors
🐛 (actionsMainPage-shard-1.spec.ts): remove redundant zoom_out click
🐛 (auto-login-off.spec.ts): reduce wait time from 2000ms to 1000ms
🐛 (freeze-path.spec.ts): change click target from "openai" to "OpenAI" for consistency
🐛 (freeze.spec.ts): change click target from "Split Text" to "Split Text" for consistency
🐛 (Dynamic Agent.spec.ts): skip test execution
🐛 (Hierarchical Agent.spec.ts): skip test execution
🐛 (Sequential Task Agent.spec.ts): skip test execution
🐛 (Simple Agent.spec.ts): skip test execution
🐛 (decisionFlow.spec.ts): change search input from "conditional router" to "if else"
🐛 (similarity.spec.ts): change search input from "openai" to "openai embedding"
🐛 (fileUploadComponent.spec.ts): enable test for file upload functionality

📝 (deleteComponents.spec.ts): Remove commented out code and enable test for deleting a component
📝 (deleteFlows.spec.ts): Enable test for deleting a flow
📝 (starter-projects.spec.ts): Enable test for interacting with starter projects
📝 (store-shard-3.spec.ts): Enable tests for ordering visualization and filtering by type
📝 (generalBugs-shard-13.spec.ts): Enable test for sharing a component on the store

* ⬆️ (typescript_test.yml): update matrix configuration to run tests on multiple shards for better parallelization
🔧 (typescript_test.yml): enable playwright test execution with shard index and total for parallel test execution

* 🐛 (Travel Planning Agent.spec.ts): Fix issue with setting API keys for OpenAI models and Search API
🐛 (Travel Planning Agent.spec.ts): Fix issue with clicking the wrong button for running chat output
🐛 (Travel Planning Agent.spec.ts): Fix issue with checking rate limit and skipping test logic
🐛 (Travel Planning Agent.spec.ts): Fix issue with checking output text for lowercase city names
🐛 (Vector Store.spec.ts): Fix issue with clicking the wrong button for creating a new flow
🐛 (Vector Store.spec.ts): Fix issue with filling the wrong input field for collection name in Vector Store RAG test

* 🔧 (generalBugs-shard-4.spec.ts): skip test case temporarily due to functionality not working with uplift designs

* Update test to use 'message history' instead of 'chat memory' in sidebar search input

* Update test selectors and expected values in dropdownComponent.spec.ts

* 📝 (Simple Agent.spec.ts): Remove unnecessary test.skip and commented out code
📝 (dropdownComponent.spec.ts): Update dropdown selection to match new text
📝 (starter-projects.spec.ts): Remove unused template IDs
📝 (store-shard-1.spec.ts): Update test.skip to test.skip for consistency
📝 (generalBugs-shard-10.spec.ts): Refactor test cases for promptText and newPromptText
📝 (generalBugs-shard-6.spec.ts): Add delay before interacting with elements to ensure stability

* Refactor tests to use `ControlOrMeta` for cross-platform keyboard shortcuts

*  (Simple Agent.spec.ts): update timeout value for waitForSelector to improve test reliability and prevent false negatives

* Handle undefined stars in GithubStarComponent to prevent errors

* Add waitForSelector to ensure sidebar search input is visible before interaction in chatInputOutput test

*  (Simple Agent.spec.ts): update timeout value to 5 minutes for "built successfully" message to allow for longer build times
 (Simple Agent.spec.ts): add additional test cases to check for the presence of "apple" in chat messages and ensure the total length of chat messages is greater than 100 characters

* 🐛 (Simple Agent.spec.ts): reduce timeout for "built successfully" text to improve test efficiency

*  (auto-login-off.spec.ts): add delay before checking visibility of elements to ensure proper rendering and improve test reliability

* Fix indentation in TypeScript test workflow file

* Update test IDs and expected values in dropdownComponent.spec.ts

* 📝 (playground.spec.ts): remove redundant code related to zooming out and dragging elements in the playground test
📝 (deleteComponents.spec.ts): update selectors for clicking buttons and elements in the deleteComponents test
📝 (deleteFlows.spec.ts): update selectors for clicking buttons and elements in the deleteFlows test
📝 (starter-projects.spec.ts): update selectors for starter projects in the extended features test to match changes in the application's UI.

*  (playground.spec.ts): remove skip from the test case to enable it to run during testing.

* Refactor timeout in playground test for better stability

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
2024-11-13 18:11:51 +00:00
Gabriel Luiz Freitas Almeida
f91a700893
ci: Limit workflows to Python files and optimize environment setup (#4567)
* Limit style check workflow to Python files only

* refactor: update autofix workflow to target Python files and optimize environment setup
2024-11-13 05:49:08 -08:00
Cristhian Zanforlin Lousa
654d4815dc
refactor: standardize toolbar select item widths and improve alignment (#4539)
* 📝 (select-custom.tsx): Update styling in SelectItem component to improve consistency and readability
📝 (nodeToolbarComponent/index.tsx): Refactor SelectItem components to include consistent width styling for better alignment and visual appeal

*  (nodeToolbarComponent/index.tsx): Center align select items by adding 'm-auto' class to improve visual presentation.

*  (GenericNode/index.tsx): Add functionality to toggle show more options in GenericNode component
🔧 (nodeToolbarComponent/index.tsx): Pass setOpenShowMoreOptions function to toggle show more options in NodeToolbarComponent
📝 (components/index.ts): Update nodeToolbarPropsType to include setOpenShowMoreOptions function for better type checking

*  (nodeToolbarComponent/index.tsx): Update styles and dimensions for better UI consistency and alignment in the Node Toolbar Component.

* 🔧 (nodeToolbarComponent/index.tsx): Remove unnecessary 'm-auto' class from SelectItem components to improve code readability and reduce redundancy.

* 📝 (select-custom.tsx): Update styling in SelectItem component to improve consistency and readability
📝 (nodeToolbarComponent/index.tsx): Refactor SelectItem components to include consistent width styling for better alignment and visual appeal

*  (nodeToolbarComponent/index.tsx): Center align select items by adding 'm-auto' class to improve visual presentation.

*  (GenericNode/index.tsx): Add functionality to toggle show more options in GenericNode component
🔧 (nodeToolbarComponent/index.tsx): Pass setOpenShowMoreOptions function to toggle show more options in NodeToolbarComponent
📝 (components/index.ts): Update nodeToolbarPropsType to include setOpenShowMoreOptions function for better type checking

*  (nodeToolbarComponent/index.tsx): Update styles and dimensions for better UI consistency and alignment in the Node Toolbar Component.

* 🔧 (nodeToolbarComponent/index.tsx): Remove unnecessary 'm-auto' class from SelectItem components to improve code readability and reduce redundancy.

*  (actionsMainPage-shard-1.spec.ts): Update test descriptions to use "Document Q&A" instead of "Document QA" for consistency
📝 (Basic Prompting.spec.ts, Blog Writer.spec.ts, Document QA.spec.ts, Dynamic Agent.spec.ts, Hierarchical Agent.spec.ts, Memory Chatbot.spec.ts, Sequential Task Agent.spec.ts, Simple Agent.spec.ts, Travel Planning Agent.spec.ts, Vector Store.spec.ts): Remove 'skip' from test descriptions to enable running the tests.

* 🔧 (typescript_test.yml): Update shardIndex and shardTotal values to run tests on a single shard for simplicity
📝 (typescript_test.yml): Comment out unused test commands to improve readability and reduce confusion
 (starter-projects.spec.ts): Remove skip from test case to ensure it is executed as intended
2024-11-13 09:03:48 -03:00
Gabriel Luiz Freitas Almeida
3d65de4c79
ci: Add concurrency control to Run benchmarks workflow (#4551)
Add concurrency control to GitHub Actions workflow to cancel in-progress runs
2024-11-12 13:03:20 -08:00
Gabriel Luiz Freitas Almeida
7114cc4799
ci: Add temporary database setup for performance tests (#4469)
Add temporary database setup for performance tests and assertions for database URL
2024-11-08 14:41:01 +00:00
Ítalo Johnny
19301b1cce
ci: stop backend unit tests on first failure (#4466)
ci: stop backend unit tests on first failure
2024-11-08 13:23:25 +00:00
Jordan Frazier
91ccf1f458
ref: simplify docker build workflow (#4294) 2024-11-06 12:38:05 -08:00
Gabriel Luiz Freitas Almeida
e5969b2f18
ci: Update Codspeed workflow to exclude api_key_required tests and enable parallel execution (#4412)
fix: update codspeed workflow to exclude api_key_required tests and run in parallel
2024-11-06 12:52:29 +00:00
Gabriel Luiz Freitas Almeida
cd3a7472c2
tests: Add performance benchmarks for database initialization and app startup (#4367)
* feat: add benchmark markers to multiple test cases

* test: add performance tests for database initialization and app startup

Introduce benchmark tests to measure the performance of database initialization and application startup. This helps ensure efficiency and identify potential bottlenecks in the setup process.

* feat: update CodSpeed workflow to enhance test execution and duration tracking

* refactor: streamline performance tests for database initialization and app startup

* test: enhance app startup performance test with pytest benchmarking

* test: update benchmark for database initialization

Remove unnecessary benchmark call and simplify the database initialization test to enhance clarity and reliability in performance testing.

* chore: remove unnecessary pytest options from CodSpeed workflow

* Add environment setup for test_app_startup benchmark test

* Add benchmark test for app startup with database setup and flow loading

* Add benchmark markers to flow building tests in test_chat_endpoint.py

* perf: add benchmarks for service initialization and caching

Introduce benchmarks for various service initialization functions and LLM caching to improve performance evaluations.

* Remove unused benchmark marker from test function in test_chat_endpoint.py

* perf: initialize services in super user benchmark test

* Add benchmarking to test_create_starter_projects in performance tests

* Add asyncio threading to benchmark tests and remove benchmark fixture usage

* Remove database initialization benchmark test from performance suite
2024-11-04 23:45:39 +00:00
Gabriel Luiz Freitas Almeida
a7f28394ae
ci: add CodSpeed workflow and pytest-codspeed for performance testing (#4350) 2024-11-02 13:06:14 +00:00
dependabot[bot]
10a63ff07e
build(deps):(deps): bump install-pinned/ruff from f5afd2b0fca6556debe3e07025fc90e04fb3c44c to 9ebc31a5721a0fb034f915e4bbcb2ee6feeaecbc (#4352) 2024-11-01 15:09:58 +00:00
Sebastián Estévez
e965fd3b7f
fix: broken docker test (#4337)
* Fix broken docker test

Fixes #4336

Update the Docker test workflow to use the `get_version` function from `langflow.utils.version`.

* Modify the `Test image` step in `.github/workflows/docker_test.yml` to use the `get_version` function instead of directly importing `__version__`.
* Modify the `Test backend image` step in `.github/workflows/docker_test.yml` to use the `get_version` function instead of directly importing `__version__`.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/langflow-ai/langflow/issues/4336?shareId=XXXX-XXXX-XXXX-XXXX).

* version.version not util.version
2024-10-31 21:16:08 +00:00
Cristhian Zanforlin Lousa
099a057d4f
feat: Update Components and Nodes UI enhancements (#4236)
*  (frontend): introduce lastOutput property to NodeOutputFieldComponentType to indicate if it is the last output field

* ♻️ (applies.css): refactor styles for generic-node-div-title and generic-node-icon classes to improve consistency and readability

* 🔧 (use-icons-status.tsx): Update icon sizes and classes for better UI consistency and readability

* 🔧 (NodeStatus/index.tsx): Update CSS classes for border and icon sizes to improve styling and consistency

*  (NodeOutputField/index.tsx): Add support for displaying last output field in a different style by adding a conditional class based on the lastOutput prop
🔧 (NodeOutputField/index.tsx): Update classNames to improve styling and readability of the NodeOutputField component

*  (NodeName/index.tsx): update NodeName component to use a font-medium class for better text styling

* 🔧 (NodeDescription/index.tsx): Remove unused CSS class "generic-node-desc" to clean up code
♻️ (NodeDescription/index.tsx): Refactor Markdown component class names for better readability and maintainability

* 🔧 (GenericNode/index.tsx): Refactor renderOutputParameter function to accept an additional parameter 'lastOutput' to handle styling based on the last output field
🔧 (GenericNode/index.tsx): Update styling classes for the node container to adjust width and border radius based on showNode state
🔧 (GenericNode/index.tsx): Add grid layout and padding to the node container for better alignment and spacing
🔧 (GenericNode/index.tsx): Adjust layout and styling for the NodeDescription component within the node container
🔧 (GenericNode/index.tsx): Modify the logic to pass 'lastOutput' flag to renderOutputParameter function based on the index of the output field
🔧 (GenericNode/index.tsx): Update renderOutputParameter function to handle the last output field differently in the mapping loop

* 🔧 (frontend/package-lock.json): remove tinycolor2 package from package-lock.json as it is no longer used in the project

*  (getenvvar.py): update icon property value to "code" for better representation in the UI

* 📝 (CustomComponent.py): update icon attribute value from "custom_components" to "code" for better representation

*  (ChatInput.py): update icon property value to "messages-square" for better representation of the component

*  (ChatOutput.py): update icon property value to "messages-square" for better representation in the Playground

* updating basic examples icon name

* 🔧 (NodeOutputfield/index.tsx): refactor NodeOutputField component to correctly display errorOutput icon and apply appropriate styling based on conditions

* ♻️ (NodeStatus/index.tsx): remove unnecessary 'selected' parameter from useIconStatus function to simplify the code and improve readability

* 🐛 (get-class-from-build-status.ts): fix logic to correctly determine class based on build status and validation status
💡 (get-class-from-build-status.ts): remove unnecessary condition for 'selected' variable in determining class from build status

* 🔧 (use-icons-status.tsx): remove unused 'selected' parameter from useIconStatus hook to clean up code and improve readability
🔧 (use-icons-status.tsx): update className in Xmark component to use 'text-destructive' instead of 'text-status-red' for better semantic naming

* 📝 (GenericNode/index.tsx): Add tooltips for showing and hiding hidden outputs in GenericNode component for better user experience
📝 (constants.ts): Add constants for tooltips to show and hide hidden outputs in GenericNode component for better user experience

* change messageIcons

* add inter font to project

*  (frontend/index.html): add JetBrains Mono font from Google Fonts for better code readability and aesthetics

* 📝 (tailwind.config.mjs): remove unused font family configuration to clean up the code
 (tailwind.config.mjs): add new custom color variables for emerald theme
♻️ (tailwind.config.mjs): refactor font family configuration to include 'JetBrains Mono' font for better code readability

* 📝 (inputComponent/index.tsx): import getIconName function to resolve icon names dynamically
📝 (inputComponent/index.tsx): add nodeStyle prop to InputComponent for conditional rendering
📝 (inputComponent/index.tsx): update classNames and styles for better UI/UX and accessibility

*  (get-icon-name.ts): add a new helper function getIconName to determine the icon name based on the input parameters

*  (get-input-class-name.ts): Add a new helper function getInputClassName to dynamically generate class names based on input properties for better styling and customization.

* 📝 (index.tsx): Add useEffect hook to dynamically adjust input width based on selected option length
📝 (index.tsx): Refactor className logic to use a helper function for better readability and maintainability

*  (inputGlobalComponent/index.tsx): add nodeStyle prop to InputComponent to apply specific styling to the component

*  (promptComponent/index.tsx): Add support for dark mode in prompt component rendering
📝 (promptComponent/index.tsx): Refactor prompt component to improve readability and maintainability by extracting classes and functions for prompt content and external link icon rendering

*  (textAreaComponent/index.tsx): Introduce support for dark mode by using the useDarkStore hook and adding conditional styling based on the dark mode state. Add constants for text area content classes, external link icon classes, and password toggle classes for better organization and reusability. Update render functions to use the new constants and improve readability. Add support for displaying different icons based on the password visibility state.

*  (get-gradient-class.ts): introduce new helper function getBackgroundStyle to dynamically set background style based on disabled and isDark parameters

*  (get-textarea-content-class.ts): introduce a new helper function getTextAreaContentClasses to dynamically generate CSS classes based on input parameters

*  (constants.ts): add gradient classes for styling purposes
📝 (constants.ts): add constant for receiving input value to improve code readability

* 🐛 (NodeInputField/index.tsx): Fix styling issue in NodeInputField component to correctly display the tooltip and custom parameter title. Adjust spacing and font size for better readability.

*  (frontend): introduce a new GlobeOkIcon component to display an icon of a globe with a checkmark for use in the frontend of the application

*  (styleUtils.ts): introduce new GlobeOkIcon and Scan icons to the list of node icons for Lucide icons set.

* 📝 (frontend): remove unused imports and functions to clean up the code and improve maintainability
♻️ (frontend): refactor InputComponentType interface to include new property nodeStyle for better component customization

* 📝 (index.css): add new color variables for emerald icon, smooth, and hard shades to enhance design consistency

* 📝 (applies.css): remove unnecessary whitespace to improve code readability

*  (globe-ok.jsx): Add new SVG icon component for a globe with a checkmark
♻️ (index.tsx): Refactor NodeToolbarComponent styles to remove unnecessary ring styling and improve readability and maintainability

* 📝 (textAreaComponent/index.tsx): update CSS class 'normal' to use 'text-border' instead of 'text-muted-foreground' for better styling consistency
📝 (index.css): remove unnecessary empty line in CSS file

* 📝 (inputComponent): Update class name for disabled state to improve readability and maintain consistency
📝 (popover/index): Import constant RECEIVING_INPUT_VALUE for placeholder text
📝 (inputComponent/index): Update cursor style for disabled state to improve user experience
📝 (inputGlobalComponent): Import getPlaceholder function for setting placeholder text based on disabled state
📝 (promptComponent): Import getPlaceholder function for setting placeholder text based on disabled state
📝 (textAreaComponent): Import getPlaceholder function for setting placeholder text based on disabled state
📝 (get-placeholder-disabled): Create helper function to handle placeholder text based on disabled state
🔧 (applies.css): Add style for disabled text input to use smooth zinc color
🔧 (index.css): Add custom CSS variable for smooth zinc color
🔧 (tailwind.config.mjs): Add custom Tailwind CSS color for smooth zinc to theme configuration

*  (tailwind.config.mjs): add new color variable "hard-zinc" to the Tailwind CSS configuration for consistency and future use.

*  (dropdownComponent/index.tsx): Add support for dynamic placeholder name based on the 'name' prop value to improve user experience.

* 🔧 (inputComponent/index.tsx): update icon size classes from h-5 w-5 to h-4 w-4 for better UI consistency

* 📝 (get-input-class-name.ts): update disabled input class to use a custom style for better visual representation

*  (utils.ts): introduce a new function formatPlaceholderName to format a given name into a user-friendly placeholder string with proper grammar.

*  (frontend): introduce a new 'name' property to the DropDownComponent type to allow passing a name attribute to the component.

* 🐛 (popover/index.tsx): fix input component not being read-only when disabled to improve user experience

*  (types.ts): add 'name' property to DropDownComponentType to provide a unique identifier for the component.

*  (dropdownComponent/index.tsx): add support for passing a name prop to the DropdownComponent to improve component flexibility

* ♻️ (promptComponent/index.tsx): refactor CSS classes for promptComponent to improve readability and maintainability

*  (strRenderComponent): add support for optional 'name' property in StrRenderComponent to improve flexibility and avoid potential errors

* 🔧 (textAreaComponent/index.tsx): Update CSS classes for better styling and readability in TextAreaComponent

* ♻️ (get-textarea-content-class.ts): refactor logic to simplify the condition for applying disabled class

* 🐛 (button.tsx): fix disabled state opacity value to 100% to ensure button is fully disabled visually

* 📝 (constants.ts): update gradient colors in constants to improve visual consistency and accessibility

* 📝 (applies.css): add a new custom style for disabled input fields to improve user experience and accessibility
♻️ (applies.css): refactor existing styles for disabled text input fields to use new utility classes for consistency and maintainability

* 📝 (index.css): add new CSS variable --hard-zinc to define a color shade for better styling consistency

*  (tailwind.config.mjs): introduce new color variable "smooth-red" to the tailwind configuration for use in styling.

* 🐛 (index.tsx): Fix inputWidth calculation to improve accuracy and consistency in popover component styling

*  (parameterRenderComponent/index.tsx): improve code readability by adding name prop to DictComponent and size prop to ToggleShadComponent

*  (dictComponent/index.tsx): Add support for dynamic placeholder name based on input name prop to improve user experience.

* 🔧 (index.tsx): Update classNames for button and input elements to improve styling and readability
🔧 (index.tsx): Change button icons to be more descriptive and improve button styling for better user experience

* 📝 (index.css): add missing semicolons to the CSS custom properties declarations for consistency and to prevent potential issues with the styles.

* 📝 (applies.css): add pointer-events-none class to disabled-state to prevent user interaction with disabled elements

*  (NodeInputField/index.tsx): Add support for FLEX_VIEW_TYPES to determine flex layout type dynamically
🔧 (NodeInputField/index.tsx): Update classNames in NodeInputField component to handle flex layout based on FLEX_VIEW_TYPES
🔧 (refreshParameterComponent/index.tsx): Remove unnecessary 'w-full' class from parent div in RefreshParameterComponent
🔧 (tableAdvancedToggleCellRender/index.tsx): Remove 'size="small"' prop from TableAdvancedToggleCellRender component
♻️ (switch.tsx): Refactor Switch component to adjust the size and position of the thumb element
📝 (constants.ts): Add FLEX_VIEW_TYPES constant to define types that support flex layout in NodeInputField

* 🔧 (dictComponent/index.tsx): remove unnecessary console.log statement from DictComponent to clean up code and improve readability

* 🔧 (get-input-class-name.ts): Remove unnecessary disabled class from getInputClassName function
🔧 (index.tsx): Replace readOnly prop with disabled prop in CustomInputPopover component
🔧 (index.tsx): Replace readOnly prop with disabled prop in Input component
🔧 (applies.css): Update disabled styles in primary-input class to improve accessibility and consistency

*  (File.py): Update description in FileComponent to provide clearer information on its purpose
 (Document QA.json, Vector Store RAG.json): Update description in FileComponent to provide clearer information on its purpose

* 🔧 (tailwind.config.mjs): update tailwind configuration to use a more descriptive class name for accent-emerald-foreground color
♻️ (tailwind.config.mjs): refactor the font-family definition in the tailwind configuration for better readability and maintainability

*  (styleUtils.ts): introduce new CircleCheckBig icon to the nodeIconsLucide iconsType for use in the frontend application.

*  (inputComponent/index.tsx): update CSS class name for better readability and consistency

*  (index.tsx): refactor InputFileComponent to improve UI and user experience by updating the file upload input field and button styling and behavior.

* 🔧 (use-icons-status.tsx): change class order for Checkmark component to improve styling consistency

* 📝 (globe-ok.jsx): fix indentation and formatting issues in SvgGlobeOkIcon component to improve code readability and maintainability

* 📝 (index.css): remove duplicate color variables and fix typo in variable name to improve consistency and readability in the CSS file

* 📝 (frontend): update CSS classes to use 'text-placeholder' instead of specific color names for better consistency and maintainability

* 🐛 (popover/index.tsx): fix calculation of inputWidth to prevent unnecessary padding on popover input field

* 🔧 (index.tsx): Remove unused import of RECEIVING_INPUT_VALUE constant from constants file
🔧 (index.tsx): Remove unused import of RECEIVING_INPUT_VALUE constant from constants file

*  (keypairListComponent/index.tsx): Refactor component to improve readability and maintainability by splitting logic into smaller functions and improving code structure.

*  (intComponent/index.tsx): Add increment and decrement icons to the NumberInputStepper for better user experience and visual feedback.

*  (tailwind.config.mjs): add new variants for text color to support increment and decrement hover effects
♻️ (tailwind.config.mjs): refactor code to add custom variants for group increment and decrement hover effects

* ♻️ (index.css): remove duplicate and unused CSS variables to clean up the code and improve maintainability

*  (NodeOutputfield/index.tsx): Update CSS classes for text color and hover effect to improve styling consistency
 (NodeStatus/index.tsx): Update CSS class for text color to improve styling consistency
 (GenericNode/index.tsx): Update CSS classes for text color, hover effect, and group styling to improve styling consistency
 (popover/index.tsx): Update CSS classes for background color and width calculation to improve styling consistency
 (applies.css): Update CSS classes for placeholder text color, border color, and disabled styles to improve styling consistency

*  (HandleTooltipComponent): Update text and background styles for better readability and consistency
♻️ (NodeName): Adjust margin for better spacing
♻️ (NodeOutputfield): Change darkTooltip prop to contrastTooltip for clarity
♻️ (NodeStatus): Rename isDark prop to isBuilding for better semantics
♻️ (handleRenderComponent): Add contrastTooltip prop for consistency
♻️ (GenericNode): Change darkTooltip prop to contrastTooltip for clarity
♻️ (get-class-from-build-status): Rename isDark parameter to isBuilding for better semantics
♻️ (inputComponent): Add console log for debugging purposes
♻️ (shadTooltipComponent): Rename darkTooltip prop to contrastTooltip for clarity
♻️ (nodeToolbarComponent): Change darkTooltip prop to contrastTooltip for consistency
♻️ (components/index): Import handleOnNewValueType function for future use

* 🐛 (index.tsx): Fix calculation of inputWidth to handle cases where selectedOption length is greater than 25 characters
📝 (index.tsx): Update className to fix styling issue with background color in CustomInputPopover

* 🐛 (App.css): fix styling issue where the stroke width of selected edges was not consistent with the design
📝 (App.css): update stroke width of all edges to 2px for better visibility and consistency in the application

* 📝 (App.css): Add custom CSS variables for selected colors to improve readability and maintainability
📝 (App.css): Update CSS styles to use custom selected colors based on the theme
📝 (sanitizedHTMLWrapper/index.tsx): Add margin class to the component for better spacing
📝 (PageComponent/index.tsx): Add functionality to change selected color based on edge click event
📝 (styleUtils.ts): Add new colors for Agent and Tool nodes to the nodeColors object

* fix icons

* editing sliderComponent

*  (floatComponent/index.tsx): Refactor FloatComponent to improve code readability and maintainability. Add support for handling cursor position in input field, updating value on input change, and using Chakra UI components for number input and stepper functionality.

*  (frontend): Increase gap between items in RefreshParameterComponent for better spacing
♻️ (frontend): Refactor RefreshButton component to use 'ghost' variant instead of 'primary' for better visual consistency

* [autofix.ci] apply automated fixes

* merge fix

*  (inputBadge/index.tsx): Add new InputBadge component to handle framework selection with a popover
📝 (inputComponent/components/popover/index.tsx): Refactor Popover component to improve readability and maintainability
🔄 (parameterRenderComponent/index.tsx): Import InputBadge component to use in parameter render component

* 🐛 (popover/index.tsx): fix incorrect calculation for setting input width based on selected option length

* [autofix.ci] apply automated fixes

*  (actionsMainPage-shard-1.spec.ts): add delays between actions to ensure proper execution and avoid race conditions
📝 (filterEdge-shard-0.spec.ts): update text labels for better clarity and consistency in tooltips

* 📝 (inputComponent): Update input component class name to improve styling consistency
📝 (promptComponent): Remove unused imports and update styling classes for external link icon
📝 (textAreaComponent): Refactor text area component to improve code readability and maintainability
🔧 (get-gradient-class): Remove unused file and function for getting background style

📝 (constants.ts): update gradient classes to use HSL values for background color instead of RGBA for better color management
📝 (applies.css): add new CSS classes for background and gradient fade input styles
📝 (index.ts): add optional 'open' and 'setOpen' props to textModalPropsType for better control over modal visibility

*  (frontend): Introduce new constants for codeAreaComponent and promptComponent to improve code readability and maintainability
🔧 (frontend): Update import paths for constants and modals in codeAreaComponent to use absolute paths
🔧 (frontend): Update import paths for utils in codeAreaComponent to use relative paths
🔧 (frontend): Update import paths for ui components in codeAreaComponent to use relative paths
🔧 (frontend): Update import paths for helpers in codeAreaComponent to use relative paths
🔧 (frontend): Update import paths for types in codeAreaComponent to use relative paths
🔧 (frontend): Update import paths for genericIconComponent in codeAreaComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for Button component in inputFileComponent to use relative paths
🔧 (frontend): Update import paths for

 (index.tsx): Introduce support for password visibility toggle in TextAreaComponent to allow users to show/hide password while typing
📝 (applies.css): Add styles for password visibility toggle functionality in TextAreaComponent

* 🐛 (frontend): Fix default min and max values for FloatComponent to be -2 and 2 respectively
🐛 (frontend): Fix test cases in floatComponent.spec.ts to use correct test ids and fill values

* ♻️ (styleUtils.ts): refactor code to use shorthand object property syntax for consistency and improved readability

* [autofix.ci] apply automated fixes

*  (inputFileComponent/index.tsx): add data-testid attribute to the upload file button for testing purposes

* 🐛 (globalVariables.spec.ts): fix clicking behavior on global variable popover anchor to ensure correct functionality in tests

*  (Document QA.spec.ts): improve test readability by updating element selector from "icon-FileSearch2" to "button_upload_file"

*  (fileUploadComponent.spec.ts): improve test readability by updating the element selector to be more descriptive and meaningful

* 📝 (frontend): Rename KeyValuePairComponent to KeypairListComponent for better clarity and consistency
📝 (frontend): Add data-testid attribute to Button component for testing purposes
📝 (frontend): Remove unused id prop from KeypairListComponent
📝 (frontend): Remove redundant assignment of sliderButtons and sliderInput variables in SliderComponent
📝 (frontend): Update test selectors in various test files for consistency and accuracy

*  (keypairListComponent/index.tsx): Add new functionality to handle key-value pairs, including converting objects to arrays, checking for duplicate keys, and updating values
📝 (promptComponent/index.tsx): Remove unnecessary data-testid attribute from IconComponent in PromptAreaComponent
📝 (textAreaComponent/index.tsx): Add a Button component around the renderIcon function to improve accessibility and user experience
📝 (parameterRenderComponent/index.tsx): Add unique id prop to KeypairListComponent component for better identification and tracking
📝 (promptModalComponent.spec.ts): Update test cases to use the new Button component to open the text area modal for editing prompts

*  (frontend): Improve button id and data-testid attributes for better testability and readability
📝 (frontend): Update CSS classes for consistency and background color in prompt and text area components
🔧 (frontend): Refactor test selectors in promptModalComponent.spec.ts for better specificity and clarity

* 🐛 (keyPairListComponent.spec.ts): fix condition to check if elementCount is equal to 1 instead of 0 to correctly handle the presence of an element

* 📝 (NodeDescription/index.tsx): add data-testid attribute to improve testability
📝 (textAreaModalComponent.spec.ts): update test to use button_open_text_area_modal_textarea_str_text data-testid
📝 (sticky-notes.spec.ts): update selector to match correct element for double click action
📝 (general-bugs-shard-3836.spec.ts): update file path and button data-testid for file upload action

* 📝 (general-bugs-shard-3836.spec.ts): update file path for image in test to fix file not found issue

* 📝 (inputComponent/index.tsx): replace inline SVG icons with ForwardedIconComponent for better maintainability and reusability

* 📝 (inputComponent/index.tsx): refactor code to replace inline SVG icons with ForwardedIconComponent for better maintainability and reusability

* 📝 (popover/index.tsx): Remove unused nodeStyle prop from CustomInputPopover component
📝 (popover/index.tsx): Update classNames for primary-input element in CustomInputPopover component
📝 (popover/index.tsx): Update input type based on pwdVisible and password props in CustomInputPopover component
📝 (popover/index.tsx): Update className for input element in CustomInputPopover component
📝 (inputComponent/index.tsx): Remove unused nodeStyle prop from CustomInputPopover component in InputComponent

* 🔧 (inputBadge/index.tsx): Remove unused import statements and components to clean up the codebase and improve maintainability.

* 📝 (get-icon-name.ts): Add nodeStyle parameter to getIconName function for additional logic
📝 (get-input-class-name.ts): Remove nodeStyle parameter from getInputClassName function as it is no longer used
📝 (index.tsx): Add nodeStyle parameter to InputComponent for customization
📝 (index.tsx): Pass nodeStyle parameter to CustomInputPopover component for styling
📝 (index.tsx): Pass nodeStyle parameter to InputComponent for customization
📝 (index.tsx): Pass nodeStyle parameter to getIconName function in ForwardedIconComponent
📝 (index.tsx): Remove placeholder prop from InputGlobalComponent and add nodeStyle prop for consistency and styling purposes

* 🔧 (NodeOutputfield/index.tsx): update styling class for rounded border to use specific pixel value for consistency

* 🔧 (textAreaComponent/index.tsx): Refactor externalLinkIconClasses to use functions for editNodeTop and normalTop based on value presence
🔧 (textAreaComponent/index.tsx): Refactor usage of externalLinkIconClasses.editNodeTop and externalLinkIconClasses.normalTop to use functions with value parameter

* 🔧 (textAreaComponent/index.tsx): Refactor styles for TextAreaComponent to improve readability and maintainability
📝 (textAreaComponent/index.tsx): Remove unnecessary console.log statement from TextAreaComponent

* 📝 (index.tsx): Remove unused variables and clean up code for better readability and maintainability
📝 (applies.css): Add a new CSS class for popover input styling to improve consistency and reusability

* 🐛 (popover/index.tsx): fix popover onClick event to only show options when nodeStyle is not present and input is not disabled

* 🔧 (inputComponent/index.tsx): adjust icon size and position for better alignment and visibility

* 📝 (popover/index.tsx): add missing props optionButton, autoFocus, and className to improve component flexibility and customization

* 🐛 (chatInputOutputUser-shard-0.spec.ts): Fix filling API key only if the input field is visible
🐛 (freeze-path.spec.ts): Fix filling API key only if the input field is visible
🐛 (logs.spec.ts): Fix filling API key only if the input field is visible
🐛 (Basic Prompting.spec.ts): Fix filling API key only if the input field is visible
🐛 (Blog Writer.spec.ts): Fix filling API key only if the input field is visible
🐛 (Document QA.spec.ts): Fix filling API key only if the input field is visible
🐛 (Dynamic Agent.spec.ts): Fix filling API key only if the input field is visible
🐛 (Memory Chatbot.spec.ts): Fix filling API key only if the input field is visible
🐛 (Simple Agent.spec.ts): Fix filling API key only if the input field is visible
🐛 (Travel Planning Agent.spec.ts): Fix filling API key only if the input field is visible
🐛 (Vector Store.spec.ts): Fix filling API key only if the input field is visible
🐛 (decisionFlow.spec.ts): Fix filling API key only if the input field is visible

📝 (textInputOutput.spec.ts, generalBugs-shard-9.spec.ts, limit-file-size-upload.spec.ts, chatInputOutputUser-shard-1.spec.ts, chatInputOutputUser-shard-2.spec.ts, general-bugs-shard-3836.spec.ts, generalBugs-shard-1.spec.ts, generalBugs-shard-3.spec.ts): Refactor code to check visibility of apiKey input before filling it with OPENAI_API_KEY from environment variables. This change ensures that the apiKey input is only filled if it is visible on the page.

*  (NodeName/index.tsx): Increase max width of NodeName component for better layout
♻️ (GenericNode/index.tsx): Refactor class names and styles for better readability and maintainability
🔧 (PageComponent/index.tsx): Add background color to the canvas element for improved visual distinction
🔧 (tailwind.config.mjs): Update canvas color variable to use HSL format for consistency

* [autofix.ci] apply automated fixes

*  (NodeName/index.tsx): Remove unnecessary CSS classes to simplify styling
♻️ (genericIconComponent/index.tsx): Refactor data-testid logic to improve readability and maintainability
📝 (popover/index.tsx): Add missing import statement for ForwardedIconComponent
♻️ (inputComponent/index.tsx): Rearrange classNames for better readability and maintainability
📝 (textAreaComponent/index.tsx): Add data-testid attribute for button element
♻️ (components/index.ts): Add dataTestId property to IconComponentProps type
📝 (globalVariables.spec.ts): Replace click action with isVisible check for better test reliability
📝 (similarity.spec.ts): Refactor input filling logic to improve readability and maintainability

* [autofix.ci] apply automated fixes

*  (playground.spec.ts): Add 500ms delay after certain actions to improve test stability and reliability
🐛 (Dynamic Agent.spec.ts): Fix selector to click on the first element with the heading "Dynamic Agent" for correct interaction
🐛 (Travel Planning Agent.spec.ts): Fix selector to click on the first element with the heading "Travel Planning Agents" for correct interaction

* 🔧 (NodeOutputfield/index.tsx): Update styling classes for NodeOutputField component to improve visual consistency and readability.

*  (NodeName/index.tsx): Add support for displaying a beta badge next to the node name if the node is in beta and showNode is true
 (GenericNode/index.tsx): Update to show beta badge based on data.node.beta and showNode values
📝 (applies.css): Add styling for the beta badge component
📝 (index.css): Define custom CSS variables for accent pink color and foreground color
📝 (tailwind.config.mjs): Add custom Tailwind CSS variables for accent pink color and foreground color

* 📝 (frontend): Update CSS classes to use 'bg-muted' instead of 'bg-secondary' for better consistency and readability.

* [autofix.ci] apply automated fixes

* 🐛 (GenericNode/index.tsx): fix positioning class for the button to correctly align it at the bottom of the node

*  (dropdownComponent/index.tsx): update dropdownComponent to change text color on hover for better user experience
📝 (types/components/index.ts): add name property to DropDownComponent type for better component customization

* [autofix.ci] apply automated fixes

*  (typescript_test.yml): add Playwright test command to run tests with specified shard index and total shards, and list tests before running them

*  (index.tsx): add data-testid attribute to anchor element for testing purposes
🔧 (userSettings.spec.ts): update test to use correct data-testid attribute value for anchor element

* 📝 (frontend): update placeholder text color to improve visibility and consistency across components

* [autofix.ci] apply automated fixes

*  (frontend): Update CSS classes to improve consistency and readability in inputComponent, parameterRenderComponent, keypairListComponent, and refreshButton components. Add new CSS classes for icon size and hit area to enhance styling and user interaction.

*  (frontend): introduce ICON_STROKE_WIDTH constant to standardize stroke width for icons across components

* 🔧 (NodeInputField/index.tsx): Use constant ICON_STROKE_WIDTH for strokeWidth in IconComponent
🔧 (NodeOutputField/index.tsx): Use constant ICON_STROKE_WIDTH for strokeWidth in IconComponent
🔧 (inputComponent/index.tsx): Use constant ICON_STROKE_WIDTH for strokeWidth in ForwardedIconComponent
🔧 (intComponent/index.tsx): Use constant ICON_STROKE_WIDTH for strokeWidth in PlusIcon and MinusIcon

* 📝 (NodeName): Increase gap between items in flex container for better spacing
📝 (NodeStatus): Add support for buildStatus prop to display build status of a node
📝 (nodeIcon): Add constant for ICON_STROKE_WIDTH to improve consistency
📝 (use-get-build-status): Create custom hook to get build status for a node
📝 (GenericNode): Implement useBuildStatus hook to fetch build status for a node
📝 (get-class-from-build-status): Refactor class calculation based on build status and validation status
📝 (border-beams): Add BorderBeam component for visual effect
📝 (applies.css): Update styles for primary-input and building-status classes
📝 (buildUtils): Remove console.log statements
📝 (tailwind.config.mjs): Add animation for border-beam effect

* [autofix.ci] apply automated fixes

*  (NodeDescription/index.tsx): update text size and styling for better readability and consistency
 (NodeName/index.tsx): update text size for better visual hierarchy
 (OutputComponent/index.tsx): update text size for better visual hierarchy
 (shadTooltipComponent/index.tsx): update tooltip styling for better contrast and visibility
 (nodeToolbarComponent/index.tsx): add border to node toolbar for improved visual separation
 (shortcutDisplay/index.tsx): update background color and text color for better contrast and visibility

* 💡 (textAreaComponent/index.tsx): Add console log for value in TextAreaComponent for debugging purposes
♻️ (applies.css): Rearrange CSS classes in primary-input to improve readability and maintain consistency

* [autofix.ci] apply automated fixes

*  (NodeInputField): Update styling to reduce gap between flex items for better layout
 (NodeInputField): Add support for contrastTooltip and adjust layout for NodeInputInfo component
 (NodeName): Import cn utility function for conditional classnames and adjust styling based on beta flag
 (GenericNode): Update styling to include padding bottom for generic-node-div class
 (GenericNode): Adjust class order for better readability and consistency
🔧 (popover): Add state to track input focus and update border color on focus
🔧 (popover): Update onBlur event to reset focus state
🔧 (TextAreaComponent): Remove console.log statement
🔧 (TextAreaComponent): Add cursor-pointer class for better UX
🔧 (applies.css): Update focus border color for popover-input class

* 📝 (api_request.py): Update display name from "Curl" to "cURL" for consistency and clarity
♻️ (dictComponent/index.tsx): Refactor code to use constant ICON_STROKE_WIDTH instead of hardcoded value
♻️ (button.tsx): Refactor button variants to use "muted" color instead of "secondary" for better visual consistency

* 🔧 (textAreaComponent/index.tsx): Reorder CSS classes to maintain consistency and improve readability

* [autofix.ci] apply automated fixes

*  (GenericNode/index.tsx): add conditional styling for padding bottom based on the presence of outputs in the node

* 📝 (NodeStatus): Remove unused import and hook from NodeStatus component
♻️ (get-class-from-build-status): Remove console.log statement for currentNodeId and validationStatus.id
 (AstraDB): Increase size of AstraDB icon and update fill color based on dark mode
🔧 (index.tsx): Add dark mode support to AstraDBIcon component
♻️ (flowStore): Add method clearEdgesRunningByNodes to reset edges animation state
♻️ (flowStore): Add currentBuildingNodeId property and setCurrentBuildingNodeId method to track currently building nodes
♻️ (flowStore): Refactor updateEdgesRunningByNodes method to use edge data source handle id for comparison
🔧 (buildUtils): Add isStringArray utility function to check if value is an array of strings
♻️ (buildUtils): Update buildFlowVertices function to use new setCurrentBuildingNodeId and clearEdgesRunningByNodes methods
🔧 (utils): Add isStringArray utility function to check if value is an array of strings

*  (frontend): add new AstraDB icon to the project

*  (handleRenderComponent/index.tsx): add neon pulse effect on handle hover to improve user interaction and visual feedback
🔧 (flow/index.ts): change clearEdgesRunningByNodes function to return a Promise to handle asynchronous operations correctly

* [autofix.ci] apply automated fixes

* 📝 (NodeName/index.tsx): Refactor NodeName component to improve code readability and structure
📝 (NodeStatus/index.tsx): Add support for displaying an alert icon for outdated nodes and handle updating code functionality
📝 (handleRenderComponent/index.tsx): Refactor handleRenderComponent to optimize shadow generation logic
📝 (GenericNode/index.tsx): Remove redundant code for displaying outdated node alert icon and move it to NodeStatus component for better separation of concerns

*  (frontend): Update styles in various components to improve alignment and readability
📝 (frontend): Add Button component to NodeToolbarComponent for better structure and consistency
📝 (frontend): Update TooltipContent and TooltipContentWithoutPortal components for better alignment
📝 (frontend): Update ShortcutDisplay component for better styling and alignment
📝 (frontend): Add CSS classes for node-toolbar-buttons and more-option-button-toolbar for styling purposes

* 📝 (HandleTooltipComponent/index.tsx): Improve tooltip styling and add support for different tooltip colors based on index
📝 (handleRenderComponent/index.tsx): Refactor handle color logic to use dark mode colors and fix tooltip display issues

* 📝 (App.css): Add whitespace for readability
♻️ (handleRenderComponent/index.tsx): Increase handle size from 10x10 to 12x12 for better user interaction
♻️ (handleRenderComponent/index.tsx): Increase handle size from 10x10 to 14x14 for better user interaction
📝 (ConnectionLineComponent/index.tsx): Import useFlowStore from flowStore for handleDragging functionality
📝 (ConnectionLineComponent/index.tsx): Update strokeWidth to 2 for better visibility
📝 (ConnectionLineComponent/index.tsx): Update circle radius to 5 and stroke color to match handleDragging color
📝 (PageComponent/index.tsx): Increase connectionRadius from 25 to 30 for better user experience

* ♻️ (handleRenderComponent/index.tsx): refactor animation logic to remove unnecessary condition for isNullHandle

* 📝 (frontend): Update CSS classes in promptComponent and textAreaComponent for better styling
🔧 (frontend): Refactor stop-building.spec.ts to use more specific selectors for better test reliability
 (frontend): Add click action to "fit view" button in fileUploadComponent.spec.ts for improved test coverage
 (frontend): Update click actions in tableInputComponent.spec.ts to target specific elements for accurate testing

* 🐛 (generalBugs-shard-5.spec.ts): Fix mouse move coordinates to correct position for output preview
🐛 (generalBugs-shard-5.spec.ts): Fix background color check values for gradient handles to match expected values

* ♻️ (handleRenderComponent/index.tsx): remove unnecessary border property to improve code readability and maintainability

* 📝 (handleRenderComponent/index.tsx): refactor handleRenderComponent to improve code readability and maintainability
🐛 (handleRenderComponent/index.tsx): fix issue with missing cleanup function in useEffect to remove dynamically added stylesheets

*  (handleRenderComponent/index.tsx): Improve handle rendering component by adding an invisible overlay with a larger clickable area for better user interaction
♻️ (classes.css): Refactor handle positioning in CSS to adjust the left and right positions for better alignment and spacing

*  (NodeOutputField): Increase border radius of output field for better visual appearance
♻️ (handleRenderComponent): Refactor handle rendering component to improve readability and maintainability
♻️ (classes.css): Refactor handle positioning styles to simplify and standardize the code

*  (handleRenderComponent/index.tsx): Add useRef to handleRef and invisibleDivRef to improve performance and manage DOM elements efficiently
🔧 (handleRenderComponent/index.tsx): Update event handling logic to forward events to handleRef element for better user interaction
🔧 (classes.css): Adjust positioning of handle elements to align with changes in handleRenderComponent/index.tsx

* 📝 (handleRenderComponent/index.tsx): update styleClasses in ShadTooltip component to include additional classes for improved styling and positioning

* improve handle ux

* 🔧 (NoteToolbarComponent/index.tsx): Remove unnecessary ring styling from color picker and more options modal to improve UI consistency.

* 📝 (handleRenderComponent/index.tsx): Update styles for invisibleDivRef to improve positioning and dimensions for better user experience
📝 (classes.css): Update handle positioning classes to use rem units for better consistency and scalability across different screen sizes

* 📝 (handleRenderComponent/index.tsx): Adjust size and position of a div element for better visual appearance
📝 (classes.css): Update the position of handle elements in the react-flow component for improved alignment

* ♻️ (handleRenderComponent/index.tsx): remove unnecessary bg-black class from handleRenderComponent styles to improve code cleanliness

* 📝 (index.tsx): update min-height value in popover component to use rem units for consistency and better readability

* 📝 (applies.css): update placeholder text color in primary-input class to improve readability and consistency

* 📝 (index.tsx): remove unnecessary placeholder styling class to improve code cleanliness and readability

*  (NodeStatus/index.tsx): Add Check icon from lucide-react library to display success status conditionally based on build and validation status
♻️ (get-class-from-build-status.ts): Remove unnecessary code related to currentNodeId and currentNodeBuilding
♻️ (use-icons-status.tsx): Simplify useIconStatus hook to only handle buildStatus condition checks and remove validationStatus logic
🔧 (applies.css): Update rounded-sm class to rounded-[6px] for consistency in styling across the application

*  (NodeStatus/index.tsx): Add margin to the element to improve spacing and alignment
🐛 (shadTooltipComponent/index.tsx): Fix class names for tooltip background and text colors to ensure proper styling and readability

* 📝 (NodeOutputField/index.tsx): Refactor NodeOutputField component to improve code readability and structure
📝 (NodeStatus/index.tsx): Update NodeStatus component to correctly handle duration data
📝 (HCD.jsx): Update fill color in HCD SVG component based on dark mode setting
📝 (index.tsx): Add dark mode support to HCDIcon component using useDarkStore hook

*  (NodeStatus/index.tsx): Add support for dynamic icon name and classes based on build status to improve UI feedback
🔧 (GenericNode/index.tsx): Update BorderBeam component properties for better visual representation
🔧 (custom-parameter.tsx): Update getCustomParameterTitle function to return title wrapped in a span element for styling consistency
🔧 (nodeToolbarComponent/index.tsx): Refactor node toolbar buttons styling for better readability and maintainability
🔧 (applies.css): Update node-toolbar-buttons class styling for consistent button appearance across the application

*  (NodeStatus): Add utility function normalizeTimeString to format run-time values for better readability and consistency.

* 🐛 (NodeStatus/index.tsx): Fix issue where the stop build functionality was not triggered when hovering over the build icon
📝 (NodeStatus/index.tsx): Update tooltip content dynamically based on build status and hover state to provide better user guidance
📝 (format-run-time.ts): Add null check to input parameter in normalizeTimeString function to prevent errors when input is undefined

* 📝 (handleRenderComponent/index.tsx): Update box-shadow size in keyframes to improve visual effect
📝 (handleRenderComponent/index.tsx): Adjust box-shadow size in getNeonShadow function for better styling
📝 (handleRenderComponent/index.tsx): Modify background, width, height, and border styles for better UI consistency
📝 (nodeToolbarComponent/index.tsx): Refactor imports and add useRef hook for selectTrigger
📝 (nodeToolbarComponent/index.tsx): Update handleButtonClick function to use selectTriggerRef
📝 (nodeToolbarComponent/index.tsx): Adjust styles and functionality of buttons in the toolbar component
📝 (applies.css): Update styles for node-toolbar-buttons class to improve layout and appearance

* new toolbar

*  (App.css): Update styles for different edge statuses in the React Flow component to improve visual representation and user experience.

 (NodeName/index.tsx, NodeStatus/index.tsx, index.tsx): Refactor NodeName and NodeStatus components to handle validation status and outdated status for GenericNode component. Add support for displaying beta badge based on node properties.

📝 (use-update-validation-status.tsx): Update useUpdateValidationStatus hook to accept a function to get validation status and call it with relevant data.

📝 (flowStore.ts): Update flowStore to update edge properties based on the running status of nodes to improve visualization in the flow diagram.

*  (NodeInputField): Add support for passing colorName prop to NodeInputField component
 (NodeOutputField): Add support for passing colorName prop to NodeOutputField component
 (HandleRenderComponent): Add support for passing colorName prop to HandleRenderComponent component
📝 (GenericNode): Import and use getNodeInputColorsName and getNodeOutputColorsName functions
📝 (getNodeInputColorsName): Create function to determine color based on input types and types

 (get-node-output-colors-name.ts): Add function to determine node output colors based on type and data
🔧 (index.tsx): Import nodeColorsName from styleUtils to use in handleEdgeClick function
🔧 (index.css): Add inner color variables for different color shades to be used in styling
📝 (components/index.ts): Add colorName property to NodeOutputFieldComponentType and NodeInputFieldComponentType for color customization

 (styleUtils.ts): Add new nodeColorsName object to provide more descriptive names for node colors
📝 (tailwind.config.mjs): Add new inner color classes with corresponding foreground and muted colors for better styling options

* 🔧 (handleRenderComponent/index.tsx): remove redundant styles and event listeners for a more streamlined and cleaner codebase

* 📝 (NodeStatus/index.tsx): Update border and ring styles for better visual representation
📝 (GenericNode/index.tsx): Adjust BorderBeam size and borderWidth for improved design
📝 (get-class-from-build-status.ts): Update border styles based on build status and isBuilding flag
📝 (popover/index.tsx): Add ring styles for better focus indication
📝 (refreshParameterComponent/index.tsx): Add conditional class based on templateData type
📝 (applies.css): Update border and ring styles for primary-input and textarea-primary classes
📝 (tailwind.config.mjs): Add new borderWidth values for better customization options

*  (nodeToolbarComponent/index.tsx): add data-testid attribute to the more options modal button for testing purposes

* 📝 (nodeToolbarComponent/index.tsx): update data-testid attribute value from "advanced-button-modal" to "edit-button-modal" for consistency and clarity in testing purposes

* 📝 (frontend): Update styling in NodeOutputField component to use a smaller border radius
📝 (frontend): Add data-testid attribute and convert title to lowercase in getCustomParameterTitle function
📝 (frontend): Add data-testid attribute to div in handleRenderComponent for testing purposes
📝 (frontend): Add data-testid attribute to button in NodeToolbarComponent for testing purposes
📝 (frontend): Update value and icon in SelectItem component in NodeToolbarComponent
📝 (frontend): Update data-testid attribute in tests for better clarity and consistency

*  (nodeToolbarComponent): update dataTestId from "edit-button-modal" to "advanced-button-modal" for consistency and clarity
🐛 (chatInputOutputUser-shard-0.spec.ts, dropdownComponent.spec.ts, floatComponent.spec.ts, inputComponent.spec.ts, inputListComponent.spec.ts, intComponent.spec.ts, keyPairListComponent.spec.ts, nestedComponent.spec.ts, promptModalComponent.spec.ts, toggleComponent.spec.ts): update dataTestId from "edit-button-modal" to "advanced-button-modal" for consistency and clarity
🐛 (limit-file-size-upload.spec.ts, general-bugs-shard-3836.spec.ts): update dataTestId from "edit-button-modal" to "advanced-button-modal" for consistency and clarity

*  (nodeToolbarComponent/index.tsx): Add functionality to reset selected value after a timeout to improve user experience
📝 (components/index.ts): Add closeToolbar function to nodeToolbarPropsType to allow closing the toolbar when needed

* 🐛 (nodeToolbarComponent/index.tsx): Fix issue with selectedValue possibly being undefined by adding a non-null assertion operator (!) to ensure it is not null or undefined

* 🔧 (nodeToolbarComponent/index.tsx): remove unnecessary setTimeout function for setting selected value to null, improving code readability and performance

*  (floatComponent.spec.ts, inputComponent.spec.ts, keyPairListComponent.spec.ts): update button test IDs to match new button labels for improved test clarity

* 📝 (deleteComponents.spec.ts): Comment out test code related to API key validation and setup to prevent test failures
📝 (store-shard-1.spec.ts): Comment out test code related to API key validation and setup to prevent test failures

📝 (store-shard-3.spec.ts): Comment out redundant test code to improve readability and maintainability of the test file.

*  (index.tsx): add data-testid attribute to remove icon badge for testing purposes
📝 (index.tsx): update styling class for password input to limit width to 64 characters

* fix tests

* 📝 (NodeOutputField): Update class name for last output border to improve styling consistency
📝 (ShadTooltip): Remove unused contrastTooltip prop and related styles
📝 (applies.css): Add new class .last-output-border for styling last output border
📝 (components/index.ts): Remove unused position and zoom properties from ShadToolTipType

* adjust title on buttons

* 📝 (frontend): Remove redundant code duplication in multiple test files by extracting common logic into a reusable function.

🔧 (Vector Store.spec.ts): Fix typo in file name "Vector Store.spec.ts" to "VectorStore.spec.ts" for consistency

📝 (Vector Store.spec.ts): Comment out unnecessary test.skip blocks and unused code to improve code readability and maintainability.

 (file.ts): Add environment variable support for API keys and Astra DB tokens and endpoints
🔧 (file.ts): Update file upload process and improve test automation flow for better reliability and maintainability

📝 (similarity.spec.ts): Remove redundant code for removing icon badge before clicking on it
📝 (textInputOutput.spec.ts): Remove redundant code for removing icon badge before clicking on it
📝 (generalBugs-shard-9.spec.ts): Remove redundant code for removing icon badge before clicking on it
📝 (limit-file-size-upload.spec.ts): Remove redundant code for removing icon badge before clicking on it
📝 (chatInputOutputUser-shard-1.spec.ts): Remove redundant code for removing icon badge before clicking on it
📝 (chatInputOutputUser-shard-2.spec.ts): Remove redundant code for removing icon badge before clicking on it
📝 (general-bugs-shard-3836.spec.ts): Remove redundant code for removing icon badge before clicking on it
📝 (generalBugs-shard-1.spec.ts): Remove redundant code for removing icon badge before clicking on it
📝 (generalBugs-shard-3.spec.ts): Remove redundant code for removing icon badge before clicking on it

*  (Travel Planning Agent.spec.ts): Uncommented and re-enabled the test code for Travel Planning Agent to ensure proper functionality and testing coverage.

* 📝 (codeTabsComponent/index.tsx): add data-testid attribute to copy button for testing purposes
📝 (Dynamic Agent.spec.ts): comment out unnecessary test code to improve readability and maintainability
📝 (Simple Agent.spec.ts): update assertion for pythonWords count from 3 to 2 for accuracy; adjust selectors and add wait for visibility to improve test reliability; add data-testid attribute to copy button for testing purposes

📝 (generalBugs-shard-3.spec.ts): update test script to improve readability and maintainability
🐛 (generalBugs-shard-3.spec.ts): fix commented out code and enable hover action for visibleElementHandle
 (generalBugs-shard-3.spec.ts): add new test step to click on .react-flow__pane element
 (generalBugs-shard-3.spec.ts): add new test step to wait for and click on btn-copy-code element
 (generalBugs-shard-3.spec.ts): add new test step to read clipboard content and perform assertions on it

*  (Dynamic Agent.spec.ts): Add logic to handle rate limit indicators during test execution to prevent test failures due to rate limiting issues
 (Travel Planning Agent.spec.ts): Add logic to handle rate limit indicators during test execution to prevent test failures due to rate limiting issues

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-10-31 14:33:45 +00:00
Sebastián Estévez
c1097d2dde
chore: update dockerfiles and docker-build workflows to fix releases (#4317)
* bash -x

* bash verbose

* combine bash calls in uv run

* combined python script

* relative dir

* pass args correctly

* pass args correctly

* function name

* fix arg order

* merge base and main

* remove nightly -ep docker image for now

* set up uv in the get-version job in docker-build.yml

* v prefix for version in build job

* use inputs.nightly_tag_main for checkout actions

* mount root project metadata for base build

* fix comment

* continued dockerfile fixes for workspaces setup

* fix path

* ruff check fix
2024-10-31 11:16:26 +00:00
Gabriel Luiz Freitas Almeida
6ca864931d
ci: add pytest failure annotations (#4324)
* Add pytest-github-actions-annotate-failures to dependencies in pyproject.toml

* feat: add --exclude-warning-annotations option to pytest commands in Makefile

* feat: add pytest-github-actions-annotate-failures to dev dependencies in pyproject.toml and uv.lock

* Add PYTEST_RUN_PATH environment variable to GitHub Actions workflow

* Remove '--exclude-warning-annotations' option from pytest commands in Makefile
2024-10-30 09:29:24 -03:00
Jordan Frazier
eedfe43e69
build: dockerfile with entrypoint (#4062)
Adds a dockerfile with an entrypoint for use with Datastax Langflow
2024-10-16 20:18:39 -07:00
Jordan Frazier
4a574da0c0
ci: fix release workflows for uv (#4053) 2024-10-07 21:41:19 +00:00
Gabriel Luiz Freitas Almeida
54dd81a681
chore: removes Poetry references from pyproject.toml and updates the project metadata (#4019)
* Remove Poetry references from pyproject.toml and update project metadata

* Remove '--no-update' flag from 'uv lock' commands in Makefile

* Add script metadata with Python version and dependencies

* Remove Poetry references and integrate UV setup in CI workflow

* Remove Poetry setup and installation from integration tests workflow

* Remove Poetry references and update workflow to use custom setup action

* Remove references to Poetry from configuration files
2024-10-04 17:24:55 +00:00
Jordan Frazier
06eebb5ca8
ci: small nightly fixes (#3993)
* Add back correct checkout steps

* fix directory
2024-10-02 16:36:55 +00:00
Jordan Frazier
e19d90bd6c
ci: fix releases with uv (#3971)
* Update scripts

* update the base dep in uv deps

* update nightly scripts

* Add uv creds for publish

* skip tests for now

* fix version

* only build the wheel

* try again

* add uv to python run

* [autofix.ci] apply automated fixes

* use uv cache

* more version fixe

* fixing versions

* fix base version

* Try no frozen?

* skip everything to try docker build

* tag

* frozen

* separate script for updating uv dep

* [autofix.ci] apply automated fixes

* hardcoded versions

* hardcoded versions

* add version to editable package

* build project before docker file runs

* try again

* fix uv patht o build

* don't know why this would mkae a difference

* debug statements

* debug statements

* debug statements

* change path to whl 🤷

* manually move the wheel...

* make dir

* try no sources

* add back tests

* refactor uv to action

* add uv action

* Update nightly build workflow to include uv lock files in version update commit

* Update lint-py workflow to use specific ref for setup-uv action

* Add checkout step to style-check-py GitHub Actions workflow

* Remove redundant GitHub ref syntax in lint-py.yml workflow

* Update lint-py.yml to use specific ref for setup-uv action

* Update action.yml: standardize quotes and remove redundant checkout step

* Add checkout step to GitHub Actions workflows for specific ref handling

- Introduced `actions/checkout@v4` step to multiple workflows to ensure code is checked out at a specific ref.
- Updated `.github/workflows/docker-build.yml`, `.github/workflows/release_nightly.yml`, `.github/workflows/lint-py.yml`, and `.github/workflows/style-check-py.yml` to include the new checkout step.
- Ensured credentials are persisted during the checkout process.

* Add checkout step to Python test workflow with specific ref

---------

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-10-02 05:37:04 -07:00
dependabot[bot]
0d2a03920d
build(deps):(deps): bump peter-evans/create-pull-request from 6 to 7 (#3976)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-01 18:31:30 +00:00
dependabot[bot]
a47a089fec
build(deps):(deps): bump install-pinned/ruff from 826c99bfba88282a5506ab737c92253a106c070e to f5afd2b0fca6556debe3e07025fc90e04fb3c44c (#3977)
build(deps):(deps): bump install-pinned/ruff

Bumps [install-pinned/ruff](https://github.com/install-pinned/ruff) from 826c99bfba88282a5506ab737c92253a106c070e to f5afd2b0fca6556debe3e07025fc90e04fb3c44c.
- [Release notes](https://github.com/install-pinned/ruff/releases)
- [Commits](826c99bfba...f5afd2b0fc)

---
updated-dependencies:
- dependency-name: install-pinned/ruff
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-01 18:31:05 +00:00
Gabriel Luiz Freitas Almeida
43ad226ddb
chore: update docker images to use uv (#3916)
* fix dev dependencies

* fix dev dependencies

* update lock

* Add langchain-unstructured dependency to pyproject.toml

* Switch to uv-based Docker image and streamline build process

- Use `ghcr.io/astral-sh/uv:python3.12-bookworm-slim` as the base image
- Simplify environment variable setup and remove unnecessary ones
- Install project dependencies using `uv sync` with cache mounts
- Add and copy necessary files for the build process
- Update npm installation and frontend build steps
- Adjust entrypoint and runtime configurations
- Remove redundant user setup and streamline CMD execution

* Refactor Dockerfile to use multi-stage builds for optimized image size

- Introduce a builder stage to install dependencies and build the frontend.
- Use npm ci instead of npm install for more reliable builds.
- Copy built frontend assets to the final image.
- Transition to a runtime stage with a slimmer Python base image.
- Ensure the final image only contains necessary runtime dependencies.

* Switch base image to `ghcr.io/astral-sh/uv:python3.12-bookworm-slim` and update Dockerfile

- Replace `python:3.12.3-slim` with `ghcr.io/astral-sh/uv:python3.12-bookworm-slim` as the base image.
- Enable bytecode compilation and set link mode to copy.
- Update dependency installation process using `uv sync`.
- Simplify frontend build and copy process.
- Add OCI labels for image metadata.
- Update CMD to use `langflow-base` for running the application.

* Update Dockerfile to use uv base image and optimize dependency installation

- Switch base image to `ghcr.io/astral-sh/uv:python3.12-bookworm-slim`
- Combine apt-get commands and clean up to reduce image size
- Replace Poetry with uv for dependency management and caching

* Refactor Dockerfile to use multi-stage build for optimized image size

- Introduce a builder stage using `ghcr.io/astral-sh/uv:python3.12-bookworm-slim`
- Add a runtime stage using `python:3.12.3-slim`
- Copy the virtual environment from the builder stage to the runtime stage
- Remove the `uv` entrypoint to avoid invoking it by default

* Update Dockerfile: Fix indentation and remove redundant ENTRYPOINT reset

* ci: update release workflows to use uv (#3919)

* Update nightly build workflow to use 'uv' for dependency management and caching

- Replace Poetry with 'uv' for dependency installation and project setup
- Add steps to install 'uv' and set up caching for 'uv.lock'
- Modify Python setup to use version specified in 'pyproject.toml'
- Remove Node.js setup steps

* Update release workflow to use uv for dependency management

- Replace Poetry with uv for dependency installation and caching
- Update Python setup to use version specified in pyproject.toml
- Add steps to restore uv cache and install project dependencies using uv
- Adjust publish steps to maintain functionality with new setup

* Replace 'poetry publish' with 'uv publish' in Makefile for consistency

* Update nightly build workflow to use 'uv' for dependency management and caching

* Set up Node.js 20 in release_nightly workflow and update version verification logic

* Update Makefile to use `uv sync --frozen` for backend dependencies installation

* Update Makefile to pass arguments to 'uv build' and remove '--skip-existing' from publish commands

- Modified 'build_langflow' target to accept arguments.
- Removed '--skip-existing' from 'publish_base' and 'publish_base_testpypi' commands.
- Added TODO comments for updating test-pypi repository usage.

* Remove --skip-existing flag from uv publish commands and add TODO comments for test-pypi updates

* new lock

* Update CI workflow to remove version prefix and add build args

- Removed 'v' prefix from version extraction in nightly release workflow.
- Added '--no-sources' argument to the build command in the distribution step.

* Update CI workflow to use 'uv' for versioning and publishing

- Replace 'poetry' with 'uv' for version extraction in release checks

* Update CI workflow to use UV_PUBLISH_TOKEN for PyPI publishing

* Add verification step for 'langflow-nightly' name and version in CI workflow

- Corrected awk commands for extracting 'langflow-base' name and version.
- Added a new step to verify 'langflow-nightly' name and version against expected values.

* feat: Update dev.Dockerfile to use 'uv' for dependency management and caching

* update dockerfiles with --no-editable

---------

Co-authored-by: phact <estevezsebastian@gmail.com>
Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com>
2024-09-30 22:49:25 +00:00
Sebastián Estévez
fbb097dc4c
chore: uv to replace poetry (#3900)
* uv sync works

* fist stab at Makefile

* uv treatment for langflow-base

* sqlmodel to 0.0.18

* add reinstall_backend to Makefile

* makefile - reinstall_backend fix and unit_test dependency

* fix dev dependencies

* fix dev dependencies

* fix dev dependencies

* lock

* Makefile

* [autofix.ci] apply automated fixes

* Update Makefile

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

* delete update_dependencies

* fix lint

* Remove Poetry lock check from GitHub Actions workflow

* Switch to 'uv' for dependency management and caching in style-check workflow

* Update style-check workflow to use '--only-dev' flag for Ruff check

* Integrate 'uv' package setup and caching in GitHub Actions workflows

* Update version check in GitHub Actions to use 'uv tree' for langflow-base

* Remove redundant poetry environment setup in GitHub Actions workflow

* Add step to minimize uv cache in GitHub Actions workflow

* Update GitHub Actions workflow to use 'uv' for dependency management and caching

* Remove redundant script execution from build_langflow target in Makefile

* [autofix.ci] apply automated fixes

* Switch build system from Poetry to Hatchling and update dependencies

- Replace `poetry-core` with `hatchling` in build-system requirements
- Update `langflow-base` dependency to version `0.0.96`
- Add `tool.hatch.build.targets.wheel` configuration
- Adjust `tool.uv.sources` paths for `langflow-frontend` and `langflow-base`

* update lock

* Switch build system from Poetry to Hatchling in pyproject.toml

* Add langchain-unstructured dependency to pyproject.toml

---------

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-09-25 13:40:30 -07:00
Jordan Frazier
b12fa9f874
ci: explicitly pass secrets for fe test (#3905)
explicitly pass secrets
2024-09-24 19:21:09 +00:00
Jordan Frazier
f802f9a92a
ci: make nightly run all fe tests (#3888)
make nightly run all fe tests
2024-09-23 18:35:23 +00:00
Jordan Frazier
14b6157b1d
ci: remove unnecessary ref checkout for nightly tests (#3847)
Remove unnecessary ref checkout for nightly tests
2024-09-18 09:49:55 -07:00
Jordan Frazier
a7d1449e9d
ci: tag fixes and robustness to workflow failures (#3838) 2024-09-17 18:03:48 -07:00
Jordan Frazier
1ea42725a4
ci: adds step to push to ghcr (#3779) 2024-09-12 09:23:04 -07:00
Christophe Bornet
7273a6e78a
feat: Add CassandraGraphVectorStoreComponent and HtmlLinkExtractorComponent (#3757)
* Add CassandraGraphVectorStoreComponent and HtmlLinkExtractorComponent

* Move uuid import to global imports

* fix test with new text spliter

* update poetry lock

* ci: add continue-on-error to py_autofix.yml

---------

Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
2024-09-11 14:56:25 -03:00