Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: make JSON serialization work with Callable objects #4302

Merged
merged 1 commit into from
Oct 28, 2024

Conversation

ogabrielluiz
Copy link
Contributor

@ogabrielluiz ogabrielluiz commented Oct 28, 2024

This pull request includes several changes to enhance the encoding of callable objects and improve logging for JSON conversion errors. The most important changes involve the introduction of custom encoders for callable objects and the application of these encoders in various functions.

Enhancements to encoding and logging:

Imports and dependencies:

Related to #3691

@dosubot dosubot bot added size:S This PR changes 10-29 lines, ignoring generated files. bug Something isn't working labels Oct 28, 2024
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Oct 28, 2024
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Oct 28, 2024
@ogabrielluiz ogabrielluiz enabled auto-merge (squash) October 28, 2024 19:46
@ogabrielluiz ogabrielluiz merged commit 882f20d into main Oct 28, 2024
27 checks passed
@ogabrielluiz ogabrielluiz deleted the fix-artifact-serialization branch October 28, 2024 20:45
diogocabral added a commit to headlinevc/langflow that referenced this pull request Nov 22, 2024
… main

* fix: update assistants client import (#4150)

* tests: fix decision flow test (#4143)

* starting fix test

* ✨ (decisionFlow.spec.ts): refactor integration test to remove unnecessary commented out code and improve readability by simplifying and organizing the test steps for creating a flow with decision.

* feat: add new input type - SliderComponent + tests (#4144)

* ref: Auto-fix ruff rules in tests (#4154)

* build: dockerfile with entrypoint (#4062)

Adds a dockerfile with an entrypoint for use with Datastax Langflow

* feat: add new categories endpoint (#4184)

* ✨ (endpoints.py): Add new endpoint to retrieve sidebar categories for the frontend application.

* 📝 (schemas.py): add SidebarCategory and SidebarCategoriesResponse models to define sidebar categories and response structure for API endpoint.

* ✨ (constants.py): Add sidebar categories with display names, names, icons, and beta status for different components to enhance the user interface and navigation experience.

* 📝 (constants.py): Update icons names to use proper casing for consistency and clarity in the code.

* chore: use ~= for assistants dependency (#4176)

use ~= for assistants dependency

* ref: Add missing __init__.py files in tests (#4180)

Add missing __init__.py files in tests

* fix: add memo to deepcopy call to avoid recursion error (#4194)

Fix deepcopy bug by passing memo to deepcopy calls in custom component

* feat: remove beta tag from categories endpoint (#4202)

🔄 (constants.py): refactor sidebar categories list to improve readability and maintainability by removing unnecessary properties and formatting the dictionary entries for consistency.

* fix: override modal not exiting (#4205)

Fixed override modal not exiting

* feat: Folders Design Uplift (#4122)

* move folders to a full page aside

* new dropdown + styles

* [autofix.ci] apply automated fixes

* design updates

* [autofix.ci] apply automated fixes

* increase empty state width

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <[email protected]>

* fix: update regex to get supported python versions (#4175)

* fix: update regex to get supported python versions

* chore: move version check to bash script

* fix: handle unsupported LLM exception message (#4199)

* fix: handle unsupported LLM exception message

* Update src/backend/base/langflow/components/agents/ToolCallingAgent.py

Co-authored-by: Gabriel Luiz Freitas Almeida <[email protected]>

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: Fix add_extra_fields() (#4209)

Fix add_extra_fields()

* ref: Add ruff rules for naming (N) (#4187)

Add ruff rules for naming (N)

* ref: Use pathlib read/write functions (#4177)

Use pathlib read/write functions

* ref: Add ALL ruff rules for tests (#4183)

Add ALL ruff rules for tests

* fix: Fix some tests missing client fixture (#4213)

Fix some tests missing client fixture

* feat: concat default variables with env values (#4211)

* feat: concat default variables with env values

* fix: prevent duplicate env variables

* feat: pagination improvements + tests (#4163)

* 📝 (utils.py): Add Query import and custom_params function to handle custom pagination parameters
📝 (flows.py): Update read_flows function to handle get_all flag and add error handling for missing folders
📝 (folders.py): Add custom_params dependency to read_folder endpoint for custom pagination handling
📝 (model.py): Remove PaginatedFlowResponse class as it is no longer used, add FlowHeader class to represent flow headers without data

✨ (test_database.py): Add pagination support for reading flows with different parameters to improve testing coverage and flexibility.

✅ (test_database.py): add unit tests for reading folders with different scenarios such as pagination, flows, search, and component filter to ensure proper functionality and data retrieval.

* 📝 (utils.py): Add constants MAX_PAGE_SIZE and MIN_PAGE_SIZE for better readability and maintainability
📝 (flows.py): Update get_all parameter default value to True for backward compatibility with frontend
📝 (flows.py): Update error message formatting for clarity
📝 (model.py): Update comments for folder_id, is_component, endpoint_name, and description fields for clarity

* ✨ (test_database.py): Simplify test functions by removing unnecessary parameters and code duplication to improve readability and maintainability.

* formatter

* [autofix.ci] apply automated fixes

* ruff fix

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: Update header button variant based on the active route (#4207) (#4214)

- Added logic to change button variant to "primary" or "secondary"
  based on the current pathname, including the "/flows" route.

Co-authored-by: Mike Fortman <[email protected]>

* docs: Update global variable documentation (#4188)

* Update global variable docs

* Remove old step

* Change example

* feat: app Header Update  (#4189)

* feat: add new customization components

- Added CustomOrgSelector component
- Added CustomProfileIcon component
- Added CustomProductSelector component
- Added CustomHeaderMenuItemsTitle component
- Added CustomFeedbackDialog component

This commit adds new customization components to the codebase.

* [autofix.ci] apply automated fixes

* refactor: update AppHeader component styling

* refactor: update AppHeader component styling

* refactor: update HeaderMenu component styling

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* ref: Remove useless fastapi Depends (#4217)

Remove useless fastapi Depends

* fix: Use an async client for Redis cache (#4231)

Use an async client for Redis cache

* ref: Move get services out of API methods (#4216)

* Move get services out of API methods

* Rollback files API to be able to mock the dependency

* ref: Auto-fix some ruff ANN rules (#4210)

* Auto-fix some ruff ANN rules

* Fix mypy errors

* Changes following review

* Fix ServiceFactory

* build(deps): bump hono from 4.6.1 to 4.6.5 in /src/frontend (#4161)

Bumps [hono](https://github.com/honojs/hono) from 4.6.1 to 4.6.5.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](https://github.com/honojs/hono/compare/v4.6.1...v4.6.5)

---
updated-dependencies:
- dependency-name: hono
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ref: Some fixes for ruff rules preview mode (#4197)

* Some fixes for ruff rules preview mode

* Fix mypy error

* More Annotated[] types for fastapi endpoints

* Use type aliases for Depends(get_session) and Depends(get_current_active_user)

* fix: logger config and env file loading (#4174)

* fix: logger config and env file loading

* fix: mypy error assignment and arg-type

* chore: apply changes to pyproject.toml from v1.0.19.1 (#4238)

* apply changes to pyproject.toml from v1.0.19.1

* back out langflow and langflow version for now

* fix: sidebar_categories route (#4237)

chore: add default value to beta attribute

* ref: Rename component modules to lower case (ruff N999) (#4220)

* Rename component modules to lower case (ruff N999)

* git rename workaround (1/2)

* git rename workaround (2/2)

* Rollback changes on schema __init__

* Fix tests

* ref: Move get_settings_service out of Depends() (#4239)

Move get_settings_service out of Depends()

* fix: Update Azure OpenAI API versions and improve version selection (#4232)

Update Azure OpenAI API versions and improve version selection

This PR updates the `AZURE_OPENAI_API_VERSIONS` list in the `AzureChatOpenAIComponent` class to include the latest GA and preview versions of the Azure OpenAI API. It also improves the default version selection logic.

Changes:
- Updated `AZURE_OPENAI_API_VERSIONS` list:
  - Added the latest GA version: "2024-06-01"
  - Added recent preview versions: "2024-07-01-preview", "2024-08-01-preview", "2024-09-01-preview", "2024-10-01-preview"
  - Removed older versions that are no longer relevant
  - Reordered the list to prioritize newer versions
- Improved the `api_version` DropdownInput:
  - Now sorts options in reverse chronological order
  - Default value now selects the latest non-preview version, falling back to the first version if all are preview

The updated list now reflects the most current API versions as of the latest documentation update, and the improved selection logic ensures users are presented with the most appropriate default version.

* feature: add new playground ui (#4193)

* create newmodal.tsx

* Add new icons to styleUtils.ts

* Refactor import path for IOModal in chatComponent/index.tsx

* Refactor import path for IOModal in chatComponent/index.tsx

* Refactor session selector UI in IOFieldView component

* Refactor NodeToolbarComponent to add a minimum width to SelectContent

* Refactor IOModal to use newChatView component for ChatView

* improve html structure to ensure aligment of texts

* Refactor IOModal to improve sidebar behavior and alignment

* add new input

* Add Image icon to nodeIconsLucide in styleUtils.ts

* Refactor uploadFileButton to use Image icon instead of PaperclipIcon

* Refactor chat input layout for improved alignment and behavior

* Refactor buttonSendWrapper component to show a "Stop" button with loading indicator

* add a new TextAreaWrapper component

* add icons and update colors

* Add CornerDownLeft icon to nodeIconsLucide in styleUtils.ts

* Refactor buttonSendWrapper component to use default button state

* create newFilePreview

* Refactor file preview component and update button styling

* Refactor file preview component and update button styling

* fix overflow bug

* Refactor ChatView component to include a lockChat feature and display a flow running message

* [autofix.ci] apply automated fixes

* Refactor ChatView component to fix padding issue

* [autofix.ci] apply automated fixes

* Refactor dependencies in uv.lock to use a more specific version specifier for astra-assistants package

* Refactor ChatView component to import newChatMessage instead of chatMessage

* Refactor IOModal newModal component to conditionally display the session name

* Refactor TextAreaWrapper component to update placeholder text and fix padding issue

* Refactor TextAreaWrapper component to update placeholder text and fix padding issue

* Refactor ChatView component to update lockChat UI and display flow running message

* Refactor ChatView component to update lockChat UI and display flow running message

* Refactor ChatMessage component to update sender name UI and fix message width issue

* Refactor EditMessageButton component to update button UI and add tooltips

* Refactor EditMessageButton component to update button UI and add tooltips

* Refactor EditMessageField component to update UI and add functionality

* update edit message field

* fix group reference

* Refactor CodeTabsComponent to update UI, add functionality, and improve code structure

* Refactor CodeTabsComponent to update UI and improve code structure

* Refactor CodeTabsComponent to simplify and improve UI

* [autofix.ci] apply automated fixes

* Refactor ChatView component to fix UI layout issue

* fix overflow code boundaries problems

* Refactor CSS to update background color variables

* Refactor ChatCodeTabComponent to update UI and improve code structure

* fix broken rebase changes

* [autofix.ci] apply automated fixes

* Refactor EditMessageButton component to remove delete functionality

* Refactor SessionSelector component to update UI and improve code structure

* Refactor SessionSelector component to update UI and improve code structure

* [autofix.ci] apply automated fixes

* refactor session selector to use old code and keep updates on newSessionSelector

* create new button send wrapper

* restore old button send wrapper and update imports

* restore upload file button and create new UploadFileButton

* [autofix.ci] apply automated fixes

* Add feature flag for new IO modal

* Refactor IOModal imports to support feature flag

* update package-lock.json

* [autofix.ci] apply automated fixes

* remove console.log

* Refactor session selector event handlers

* Refactor file deletion in ChatInput component

* [autofix.ci] apply automated fixes

* Refactor file handling in ChatInput component

* [autofix.ci] apply automated fixes

* add user icon to messages

* feat: Add "Run Flow" button to ChatInput component

This commit adds a new button labeled "Run Flow" to the ChatInput component. When clicked, it triggers the sendMessage function with a repeat value of 1. Additionally, if there is no input in the chat, a message is displayed prompting the user to add a Chat Input component to their flow.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* FEAT: Upgrade langchain (0.3.x) and associated packages including langchain-astradb (#4229)

* Start on big langchain dep upgrade

* Update pyproject.toml

* add new lock

* Rebase on post1 changes

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <[email protected]>

* ref: Add ruff rules for bandit (S) (#4111)

* Add ruff rules for bandit (S)

* Changes following review

* ref: Fix some ruff rules for private access (SLF) (#4139)

* Add ruff rules for private access (SLF)

* Changes following review

* Rename Vertex._data to Vertex.full_data

* fix: updating components to access secret key with new method get_secret_value() (#4243)

* updating components to access secret key with new method

* [autofix.ci] apply automated fixes

* 📝 (text_embedder.py): Add error messages as constants for better error handling and readability
📝 (text_embedder.py): Improve error handling and validation for embedding model and text content
📝 (text_embedder.py): Ensure proper protocol for the base URL in the embedding model client
📝 (text_embedder.py): Validate the output of embeddings and handle exceptions with logging
📝 (text_embedder.py): Refactor code to encapsulate results in a Data object and update status accordingly
📝 (similarity.spec.ts): Add a delay before clicking the button to run the text output test for better synchronization

* uv fix

* [autofix.ci] apply automated fixes

* 📝 (text_embedder.py): refactor error messages to use inline strings for better readability and maintainability
🐛 (text_embedder.py): fix issue with extracting the first element from embeddings list to ensure correct data handling

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <[email protected]>

* chore: update dependencies and enable HTTP/2 support for AsyncClient in tests (#4173)

* Update dependencies in pyproject.toml: fastapi, httpx, python-multipart

* Enable HTTP/2 support for AsyncClient in test configurations

* feat: Add AstraGraphVectorStoreComponent (#4248)

Add AstraGraphVectorStoreComponent

* feat: theme color updates (#4256)

theme color updates

* fix: restore radius (#4257)

restore radius

* feat: Add LM Studio Model and Embeddings Component (#4021)

* docs: Langfuse integration (#4245)

Add doc for Langfuse integration

* refactor: Tool Output Management: Add Component-Specific Variable for Conditional Tool Output (#4259)

Implement conditional tool output handling

- Updated `component.py` to check for `FEATURE_FLAGS.add_toolkit_output` and call `_append_tool_output` if the component has the `add_tool_output` attribute set to True.
- Ensured that the tool output behavior is correctly managed based on feature flags and component attributes in `custom_component.py`.

* fix: correctly call the /variable endpoint after the user is authenticated (#4267)

* ✨ (authContext.tsx): Add functionality to fetch global variables on authentication
🔧 (api.tsx): Replace universal-cookie import with react-cookie for consistency
🔧 (authStore.ts): Replace universal-cookie import with react-cookie for consistency
🔧 (use-get-global-variables.ts): Add check to only fetch global variables if user is authenticated
✨ (use-get-mutation-global-variables.ts): Add mutation function to fetch and update global variables
🔧 (authStore.ts): Replace universal-cookie import with react-cookie for consistency

* ✨ (use-get-folders.ts): add authentication check before fetching folders data to ensure only authenticated users can access the data

* fix: make sure data is json serializable (#4269)

* Refactor `recursive_serialize_or_str` function into a separate module

- Moved the `recursive_serialize_or_str` function from `schema.py` to a new `serialize.py` module for better modularity and reusability.
- Updated imports in `data.py`, `artifact.py`, and `schema.py` to reflect the new location of the `recursive_serialize_or_str` function.
- Enhanced the `recursive_serialize_or_str` function to handle `datetime` objects by converting them to ISO format.

* Enhance data serialization with recursive handling in `to_json` method

---------

Co-authored-by: Edwin Jose <[email protected]>

* fix: Solves Issues with Set Function in Component Class and Enhance Input Handling (#4258)

* Enhance Component Input Handling and Add Unit Tests

Enhance component input handling and add unit tests for mixed input scenarios.

* [autofix.ci] apply automated fixes

* fix: handle JSON serialization for lists and dicts in _process_connection_or_parameters

- Updated the _process_connection_or_parameters function to handle lists and dictionaries properly.
- Ensured that each element in a list is checked for serializability and converted to a string if necessary.
- Added logic to convert dictionaries to JSON strings, handling non-serializable contents by converting them to strings.
- This change prevents JSON serialization errors when processing component parameters.

* reverting the changes

* [autofix.ci] apply automated fixes

* Update component.py

updates _process_connection_or_parameters to handles situations where the list is not all component.

Also handles any serialisation isseus caused by _process_connection_or_parameters

* [autofix.ci] apply automated fixes

* Update component.py

update make sure it is not a list str | int | float | bool | type(None)

Serialisation removed

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: refine subflow field filtering to include '|' character check (#4277)

* Refine subflow field filtering to include '|' character check

* Add resource cleanup in test_components_path to ensure proper closure

* Remove unnecessary try-finally block in test_cli.py

* Remove unused pytest fixture decorator from test_components_path function

* Update test duration tracking in backend tests

* fix: assistants optional dependencies (#4278)

assistants optional dependencies

* fix: Fix async cache (#4265)

Fix async cache

* fix: Add missing inputs for HuggingFace model component and include pytest (#4291)

* fix: Add missing inputs for HuggingFace model component and include pytest

- Added missing inputs to the HuggingFace model component.
- Implemented pytest to ensure the inputs are correctly handled.

* remove print statement

* fix: Fix Astra DB collection indexing params (#4255)

Fix Astra DB collection indexing params

* refactor: remove unnecessary 'client' fixture and update test durations (#4283)

* Remove unnecessary use of 'client' fixture in test_superuser

* Remove unnecessary use of 'usefixtures' decorator in test files

* Update test fixtures to improve test duration tracking

* Remove unnecessary 'client' fixture from test cases

* fix: Fix issues with use of async (#4296)

* Fix issues with use of async

* Update src/backend/base/langflow/custom/custom_component/component.py

Co-authored-by: Gabriel Luiz Freitas Almeida <[email protected]>

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <[email protected]>

* fix: Remove sync Graph.run() (#4287)

Remove sync Graph.run()

* fix: Fix async usage in app startup (#4285)

Fix async usage in app startup

* fix: input value error when tweaks are active (#4288)

fix: remove input value when tweaks are active to prevent error on api call

* fix: Make logger file sink non-blocking when used with asyncio (#4301)

The Loguru FileSink is blocking so it is bad to use it in the event loop.
Use instead an AsyncSink wrapping the FileSink to delegate the log writing to the default thread pool.
NB: when the AsyncFileSink is used, logs produced outside of the event loop are not written to the file.

* feat: add new .env variable "LANGFLOW_FEATURE_MVP_COMPONENTS" to show/hide integration sidebar components (#4270)

* ✨ (authContext.tsx): Add functionality to fetch global variables on authentication
🔧 (api.tsx): Replace universal-cookie import with react-cookie for consistency
🔧 (authStore.ts): Replace universal-cookie import with react-cookie for consistency
🔧 (use-get-global-variables.ts): Add check to only fetch global variables if user is authenticated
✨ (use-get-mutation-global-variables.ts): Add mutation function to fetch and update global variables
🔧 (authStore.ts): Replace universal-cookie import with react-cookie for consistency

* 📝 (endpoints.py): add feature_flags field to ConfigResponse schema
📝 (endpoints.py): modify get_config function to include feature_flags in the response
📝 (feature_flags.py): add mvp_components field to FeatureFlags settings
📝 (schemas.py): add feature_flags field to ConfigResponse schema

* ✨ (use-get-config.ts): Add feature_flags field to ConfigResponse interface to support feature flags in the application
🔧 (utilityStore.ts): Add featureFlags field and setFeatureFlags function to utilityStore to manage feature flags in the application
💡 (extraSidebarComponent/index.tsx): Use featureFlags from utilityStore to conditionally render components based on feature flags in ExtraSidebar component

* ♻️ (frontend/package-lock.json): remove extraneous flag from is-unicode-supported package to clean up unnecessary information

* ✨ (integration-side-bar.spec.ts): Add integration tests to ensure correct visibility of integrations in the sidebar based on the value of mvp_components.

* ✨ (integration-side-bar.spec.ts): update integration-side-bar tests to use feature_flags object for mvp_components flag for better readability and maintainability.

* ✨ (integration-side-bar.spec.ts): add a 4-second delay before making the API call to improve test reliability

* [autofix.ci] apply automated fixes

* Update src/backend/base/langflow/api/v1/schemas.py

Co-authored-by: Gabriel Luiz Freitas Almeida <[email protected]>

* Update src/backend/base/langflow/api/v1/endpoints.py

Co-authored-by: Gabriel Luiz Freitas Almeida <[email protected]>

* formata

* [autofix.ci] apply automated fixes

* ✨ (extraSidebarComponent/index.tsx): update featureFlags property access to use optional chaining for better error handling
📝 (stop-building.spec.ts): add ua-parser-js import to get user agent information and update control key based on user's operating system for better user experience. Also, refactor code to improve readability and add comments for better understanding.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <[email protected]>

* test: add unit tests for routes (#4249)

* fix: make JSON serialization work with Callable objects (#4302)

Enhance JSON serialization with custom encoder for Callable objects

* fix: make asyncio cancellation handling compatible with 3.10 (#4303)

Fix asyncio cancellation handling for Python 3.11 compatibility

Co-authored-by: Christophe Bornet <[email protected]>

* feat: Add alembic log path as env var change (#4272)

* Added alembic log path as env var change

* [autofix.ci] apply automated fixes

* Improved platform independence of path check

* fix: arg-type mypy error

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Ítalo Johnny <[email protected]>

* feat: Allow variables to be defined outside a Component (#4316)

* feat: Allow variables to be defined outside a Component

Fixes #4315

Modify `prepare_global_scope` function in `src/backend/base/langflow/utils/validate.py` to evaluate classes, functions, and variables defined outside the Component's class.

* **Function Changes:**
  - Add evaluation of external classes using `ast.ClassDef`.
  - Add evaluation of external functions using `ast.FunctionDef`.
  - Add evaluation of external variables using `ast.Assign`.

* **Unit Tests:**
  - Add tests in `src/backend/tests/unit/test_validate_code.py` to verify the evaluation of external classes, functions, and variables.
  - Include tests for multiple external classes and external variables and functions.

---

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

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* refactor: update OpenTelemetry initialization to avoid multiple calls (#4306)

* Ensure single initialization of OpenTelemetry and optimize meter provider setup

* Simplify condition by removing redundant class attribute

* refactor: update inputs in `ToolCallingAgentComponent` and add astream_events setup (#4240)

* Refactor `ToolCallingAgentComponent` to enhance input handling and update descriptions

* Add async event processing for agent execution in agent.py

- Introduced `process_agent_events` method to handle asynchronous event processing for agent execution.
- Added individual async handlers for different event types: `handle_chain_start`, `handle_chain_end`, `handle_chat_model_stream`, `handle_tool_start`, and `handle_tool_end`.
- Updated agent execution to use `astream_events` for improved event handling.
- Enhanced logging for better traceability of agent and tool execution events.

* Refactor agent component to use MessageTextInput and improve prompt handling

* Refactor tool calling agent component: update prompt handling and input naming conventions

* Remove input key validation from create_agent_runnable method in tool_calling.py

* Enhance agent logging by removing redundant checks and adding scratchpad logging

* Refactor `process_agent_events` to a standalone function with enhanced logging capabilities

* Refactor log callback messages to improve emoji placement consistency

* Use `jsonable_encoder` to encode agent scratchpad messages before logging

* style: simplify double string on the same line

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <[email protected]>
Co-authored-by: italojohnny <[email protected]>

* chore: update devcontainer configuration and Dockerfile (#4298)

* Add Dockerfile for devcontainer with Rust and UV setup

* Update devcontainer configuration to use Dockerfile and enhance features

- Switch from using a pre-built image to building from a Dockerfile.
- Replace Poetry feature with Hadolint for linting Dockerfiles.
- Add new VSCode extensions: Ruff, Autodocstring, Indent Rainbow, and Hadolint.
- Set default terminal profile to zsh in VSCode settings.
- Add a postStartCommand to initialize the environment.
- Change remote user to 'vscode'.

* Update test command in VSCode tasks to 'make unit_tests'

* chore: remove unnecessary comment

---------

Co-authored-by: italojohnny <[email protected]>

* 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

* docs: Update CLI page and add new environment variables page (#4311)

* Update drafts

* Sync CLI and env variables

* More drafts

* Converge CLI pages

* Formalize env variables page

* Remove Required column

* Remove some variables

* More tweaks to env

* Small changes to CLI config

* Add anchor links to env variables and cli options

* Add cross references between cli and env options

* Some qol tweaks to env variable page

* Remove unused env variables

* Fix double period

* Fix typo

---------

Co-authored-by: Ítalo Johnny <[email protected]>

* fix: suppress LangChainDeprecationWarning messages (#4319)

* fix: suppress LangChainDeprecationWarning messages

* fix: suppress LangChainDeprecationWarning messages

* fix: Refactor file reading and async task creation, fix return type in vertex_builds model (#4273)

* feat: Flow's canvas actions design uplift (#4260)

* init

* move panels and make custom

* post review changes

* [autofix.ci] apply automated fixes

* pr comment fix

* design review fixes

* [autofix.ci] apply automated fixes

* action toolbar positioning feedback

* [autofix.ci] apply automated fixes

* remove extra imports

* test selector updates

* missed a couple

* one more

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: cartesian product warning in delete_folder (#4224)

* 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

* 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 p…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working lgtm This PR has been approved by a maintainer size:S This PR changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants