Commit graph

5,483 commits

Author SHA1 Message Date
Lucas Oliveira
3279b8a1e8
fix: add collapsible function to templates and fix design bugs (#4305)
* Updated colors

* Fixed design for small screens

* Change border radius

* Changed size of text on templates description

* Fix shine effect on small screens

* Fixed icons on starter templates

* Updated mono font to JetBrains

* Updated icon hit area for X

* Added gradient wrapper and x-gradient

* Changed colors and font weights for nav component

* Added zoom on hover of gradient

* Fixed input size

* Fixed all templates to show everything

* Hide scrollbar

* Change text size of card

* Removed title of the categories

* Removed unused currentTab from templatecategory

* Updated position of search icon

* Updated style of inputs

* Updated search clear button

* Fixed bug on small screens

* Added no results query

* Fixed background on get started cards

* Added focus ring on nav component

* Added tab index to search and sidebar buttons

* Added keyboard navigation to templates

* Updated templatesModal to use ShadCN Sidebar

* Implemented collapsible sidebar

* Fix collapsible to work on mobile but be overlaying content

* Added noise to styleUtils

* Updated padding and sizes for mobile

* Updated text size

* Updated font family to inter

* Made get started components fetch title and description from the flow

* Updated description on get started component

* Updated naming of sidebar

* Updated description of start from scratch

* Updated color of selected sidebar item

* Changed text color for sidebar not active items

* changed description sizes

* changed to line clamp

* Reduced gap between icon and category text

* Fixed no results state

* Fixed X icon only appearing on hover

* Fix auto focus issue

* fixed hover color of primary button

* Fixed gradients to use stops if it exists and stop using random gradient

* removed random gradient

* Fixed design of cards in templates

* Updated nav to go through tests

* Fixed focus on input

* [autofix.ci] apply automated fixes

* New color

* fix testes

* Fixed starter projects test

*  (starter-projects.spec.ts): add Page import to test function parameters for better code readability and maintainability
📝 (starter-projects.spec.ts): refactor test to include a function for waiting for template visibility, improving code readability and reducing duplication

---------

Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-10-31 16:39:58 -03:00
Sebastián Estévez
a03da10750
fix: langfuse upgrade and crew result usage (#4342)
* lanfuse upgrade and crew result usage

*  (Dynamic Agent.spec.ts): Enable tests for checking the presence of required environment variables before running the test suite.

 (Hierarchical Agent.spec.ts): Add integration test for Hierarchical Tasks Agent to ensure proper functionality and behavior
 (Sequential Task Agent.spec.ts): Add integration test for Sequential Tasks Agent to ensure proper functionality and behavior

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2024-10-31 15:57:07 -03: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
Mike Fortman
20b3a6b46e
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>
2024-10-31 00:51:33 +00:00
Cristhian Zanforlin Lousa
a88fd9bbb0
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 <gabriel@langflow.org>

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

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

* 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 <gabriel@langflow.org>
2024-10-28 19:36:52 +00:00
anovazzi1
4aa7aed0a9
fix: input value error when tweaks are active (#4288)
fix: remove input value when tweaks are active to prevent error on api call
2024-10-28 15:49:43 +00:00
Cristhian Zanforlin Lousa
374d3af9c6
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
2024-10-24 13:12:29 -03:00
EDllT
735c7330da
feat: Add LM Studio Model and Embeddings Component (#4021) 2024-10-23 18:46:36 +00:00
Mike Fortman
921743da5f
fix: restore radius (#4257)
restore radius
2024-10-23 18:24:35 +00:00
Mike Fortman
e910148907
feat: theme color updates (#4256)
theme color updates
2024-10-23 13:04:48 -05:00
Cristhian Zanforlin Lousa
9b1c382641
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 <ericrhare@gmail.com>
2024-10-22 23:21:58 +00:00
anovazzi1
4bb4f02e5b
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>
2024-10-22 18:07:27 +00:00
dependabot[bot]
e308f8d84d
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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-22 12:26:41 +00:00
Deon Sanchez
d48ec86121
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>
2024-10-21 19:34:07 +00:00
Vinícios Batista da Silva
48b80e146f
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 <michael.fortman@datastax.com>
2024-10-21 09:17:43 -05:00
Mike Fortman
e8e226c0dc
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 <gabriel@langflow.org>
2024-10-18 17:17:49 +00:00
Lucas Oliveira
fdaaf19ba1
fix: override modal not exiting (#4205)
Fixed override modal not exiting
2024-10-18 12:42:05 -03:00
Cristhian Zanforlin Lousa
51b3909d60
feat: add new input type - SliderComponent + tests (#4144) 2024-10-16 14:00:27 +00:00
Cristhian Zanforlin Lousa
ab77ca752b
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.
2024-10-16 13:05:31 +00:00
Lucas Oliveira
c670778ecb
fix: toggle and row hover colors (#4169)
* Fix toggle colors

* Fix row hover color
2024-10-16 11:23:09 +00:00
Cristhian Zanforlin Lousa
9a97fc9154
feat: change the Tools color to improve user experience (#4141) 2024-10-16 10:30:35 +00:00
anovazzi1
c9b9fcf63c
fix: batch updates and scrolling issues (#4167)
* use Flush instead of timeout to prevent batch updates

* fix scroll while streaming

* fix: Use setTimeout instead with flushSync for batch updates in buildUtils.ts

* [autofix.ci] apply automated fixes

* fix: Set selected view field when session is visible in IOModal

* fix: Set selected view field when session is visible in IOModal

* fix: Reset selected view field when closing IOModal

* fix: Update date format in DateReader component

- Pad hours, minutes, and seconds with leading zeros
- Remove AM/PM from the formatted date
- Use 24-hour format for hours in the formatted date

fix: Update session ID generation in IOModal component

- Remove AM/PM from the session ID format
- Use 24-hour format for hours in the session ID

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-10-15 18:23:03 -03:00
anovazzi1
908c141d97
feature: get messages from messages table for the playground (#3874)
* refactor: Update MessageBase text attribute based on isinstance check.

* feat: Add update_message function to update a message in the database.

* refactor(chat): Update imports and remove unnecessary config method in ChatComponent.

* refactor: Add stream_message method to ChatComponent.

* refactor: Update method call in ChatOutput component.

* feat: Add callback function to custom component and update build_results signature.

* feat: Add callback parameter to instantiate_class function.

* feat(graph): Add callback functions for sync and async operations.

* feat: Add callback function support to vertex build process.

* feat: Add handling for added message in InterfaceVertex class.

* feat: Add callback support to Graph methods.

* feat(chat): Add callback function to build_vertices function.

* refactor: Simplify update_message function and use session_scope for session management.

* fix: Call set_callback method if available on custom component.

* refactor(chat): Update chat message chunk handling and ID conversion.

* feat: Add null check before setting cache in build_vertex_stream function.

* refactor: Fix send_event_wrapper function and add callback parameter to _build_vertex function.

* refactor: Simplify conditional statement and import order in ChatOutput.

* [autofix.ci] apply automated fixes

* refactor: move log method to Component class.

* refactor: Simplify CallbackFunction definition.

* feat: Initialize _current_output attribute in Component class.

* feat: store current output name in custom component during processing.

* feat: Add current output and component ID to log data.

* fix: Add condition to check current output before invoking callback.

* refactor: Update callback to log_callback in graph methods.

* feat: Add test for callback graph execution with log messages.

* update projects

* fix(chat.py): fix condition to check if message text is a string before updating message text in the database

* refactor(ChatOutput.py): update ChatOutput class to correctly store and assign the message value to ensure consistency and avoid potential bugs

* refactor(chat.py): update return type of store_message method to return a single Message object instead of a list of Messages
refactor(chat.py): update logic to correctly handle updating and returning a single stored message object instead of a list of messages

* update starter projects

* refactor(component.py): update type hint for name parameter in log method to be more explicit

* feat: Add EventManager class for managing events and event registration

* refactor: Update log_callback to event_manager in custom component classes

* refactor(component.py): rename _log_callback to _event_manager and update method call to on_log for better clarity and consistency

* refactor(chat.py): rename _log_callback method to _event_manager.on_token for clarity and consistency in method naming

* refactor: Rename log_callback to event_manager for clarity and consistency

* refactor: Update Vertex class to use EventManager instead of log_callback for better clarity and consistency

* refactor: update build_flow to use EventManager

* refactor: Update EventManager class to use Protocol for event callbacks

* if event_type is not passed, it uses the default send_event

* Add method to register event functions in EventManager

- Introduced `register_event_function` method to allow passing custom event functions.
- Updated `noop` method to accept `event_type` parameter.
- Adjusted `__getattr__` to return `EventCallback` type.

* update test_callback_graph

* Add unit tests for EventManager in test_event_manager.py

- Added tests for event registration, including default event type, empty string names, and specific event types.
- Added tests for custom event functions and unregistered event access.
- Added tests for event sending, including JSON formatting, empty data, and large payloads.
- Added tests for handling JSON serialization errors and the noop function.

* feat: Add callback function support to vertex build process.

* feat: Add callback support to Graph methods.

* feat(chat): Add callback function to build_vertices function.

* [autofix.ci] apply automated fixes

* refactor: Update callback to log_callback in graph methods.

* fetching data from messages and builds at the same time, need to remove duplicates

* refactor: Sort chat history by timestamp in ChatView component

* fix: update serialization and improve error handling (#3516)

* feat(utils): add support for V1BaseModel in serialize_field

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

* refactor: Update field serializer function and error handling in build_flow function

* remove use memo to prevent bugs

* feat: add updateMessagePartial method to MessagesStoreType

* feat: update message partially in MessagesStoreType

This commit adds the `updateMessagePartial` method to the `MessagesStoreType` in `messagesStore.ts`. This method allows updating a specific message by merging the changes with the existing message object.

* feat: add log callback for start message in ChatComponent

* feat: update log_callback name

* feat: add log_callback for message in ChatComponent that are not streaming

* refactor: remove console.log statement in buildFlowVertices function

* refactor: store message in ChatInput after updating flow_id

This commit refactors the `ChatInput` component by moving the logic to store the message after updating the `flow_id` property. This ensures that the message is properly stored in the correct flow. The previous implementation had the logic to store the message before updating the `flow_id`, which could lead to incorrect storage of messages. This change improves the reliability and accuracy of message storage in the `ChatInput` component.

* refactor: move message storage logic in ChatInput after updating flow_id

* refactor: update ChatComponent to use stored_message.id instead of self.graph.flow_id

Update the `ChatComponent` class in `chat.py` to use the `stored_message.id` property instead of `self.graph.flow_id` when logging a message. This ensures that the correct message ID is used for logging purposes. The previous implementation used the flow ID, which could lead to incorrect logging. This change improves the accuracy of message logging in the `ChatComponent`.

* refactor: remove unused code and console.log statements

* raw: temp serializer fix

* streaming working but the message comes in one shot

* refactor: optimize message update in useMessagesStore

Improve the efficiency of updating messages in the `useMessagesStore` function of `messagesStore.ts`. Instead of iterating through the entire message list, this refactor searches for the message to update by iterating backwards from the end. This approach allows for faster message retrieval and update. The code has been modified to use a for loop and break out of the loop once the message is found. This change enhances the performance of the message update process.

* Refactor `serialize_flow_id` method to correctly handle UUID serialization in `message.py`

* Refactor `send_event` method to use `jsonable_encoder` for data serialization

* refactor: optimize message update in useMessagesStore

* streaming working with timeout

* refactor: update buildUtils.ts to use data instead of data.data in addMessage function

* version with reactState for chatHistory

* refactor: update on_message method in ChatComponent

* refactor: update on_message method in ChatComponent

* refactor: Remove unused dependency in package-lock.json

* Refactor chatView component and add hiddenSession prop

* Refactor chatView component and update hiddenSessions prop

* Refactor chatView component to use visibleSessions prop instead of hiddenSessions

* Refactor IOModal component to remove redundant code

* Refactor chatView component to include focusChat prop

* Refactor chatView component to include focusChat prop and trigger focus on chat when new session is set

* Refactor IOModal component to update visible sessions when new session is added

* feat: Add session parameter to buildFlowVertices function

* feat: Add someFlowTemplateFields function

Add the someFlowTemplateFields function to the reactflowUtils module. This function checks if any of the nodes in the provided array have template fields that pass a given validation function.

* feat: Add session parameter to buildFlowVertices function

* feat: Add session parameter to buildFlowVertices function

* update Session logic on ioModal

* Refactor ChatView component: Remove unused eraser button

The eraser button in the ChatView component was removed as it was not being used and served no purpose. This change improves code cleanliness and removes unnecessary code.

* Refactor Vertex class: Inject session_id if provided in inputs

* Refactor build_flow function: Set default session if inputs are empty

* Refactor InputValueRequest schema: Add session parameter

* Refactor IOModal component: Update session logic

* Refactor buildFlowVertices function: Update input handling

* Refactor MessagesStoreType in zustand/messages/index.ts: Remove unused columns property and setColumns method

* Refactor MessagesStoreType: Remove unused columns property and setColumns method

* Refactor SessionView component: Update columns extraction logic

* Refactor ChatView component: Remove unused variables

* Refactor useGetMessagesQuery: Remove unused setColumns method

* Refactor RenderIcons component: Set default value for filteredShortcut prop to prevent bug

* create edit message component for chat view

* Refactor useUpdateMessage: Add refetch option to trigger query refetch

* Refactor IOModal component: Remove unused variables and update useGetMessagesQuery

* Refactor ChatView component: Add session ID to message object

* update chat message to handle message edit

* update types

* fix: Update API call to send entire message object

* Refactor EditMessageField component: Add timeout to onBlur event

* Refactor EditMessageField component: Update layout of edit message field

* create migration

* add fields to data table

* feat: Add "edit" flag to message_dict in update_message API endpoint

* Refactor EditMessageField component: Improve onBlur event handling and add button click flag

* Refactor code to include "edit" flag in message types

* feat: Add EditMessageButton component for editing chat messages

* Refactor ChatMessage component: Add EditMessageButton and improve layout

* fix: Add refetch query for current flow messages not all flows

* Refactor ChatMessage component: Add ShadTooltip for EditMessageButton

* add info into edit message field

* fix: migrate

* fix running chat input directly from the flow

* [autofix.ci] apply automated fixes

* fix edit flag

* Refactor IOModal component to generate a unique session ID based on the current date and time

* [autofix.ci] apply automated fixes

* Refactor IOModal component to improve session management and interaction

* [autofix.ci] apply automated fixes

* Refactor sessionSelector component to improve session management and interaction

* chore: Refactor sessionSelector component to improve session management and interaction

* [autofix.ci] apply automated fixes

* create mutation to handle session rename

* refactor: Rename useUpdateSession to useUpdateSessionName for clarity

* [autofix.ci] apply automated fixes

* Refactor sessionSelector component for improved session management and interaction

* Refactor sessionSelector component to update visible session on session name change

* [autofix.ci] apply automated fixes

* add message related events back

* chore: Add console logs for debugging in buildFlowVertices function

* Refactor IOModal component to update tab trigger label from "Memories" to "Chat"

* improve edit name feature

* Refactor IOModal component button label to "New Chat"

* Refactor sessionSelector component to improve session management and interaction

* Refactor IOModal component to remove unused code and improve session management

* fix typing error

* fix run chat input on component level

* prevent toogle visibility on session menu

* fix bug on rename session while in table view mode

* chore: Update setSelectedView prop type in sessionSelector component

* add first test version not working yet

* fix bug for renaming and deleting session

* refactor: Update sessionSelector component to handle session changes

* improve test

* fix rename session multiple session bugs

* change visible session from array to string

* chore: Update editMessageField component to include margin-right for text span

* [autofix.ci] apply automated fixes

* Update down_revision in Alembic migration script

* Refactor IOModal component to simplify session visibility handling

* Fix comparison operator for filtering error messages in memory.py

* Refactor ChatInput to conditionally store and update messages

* Refactor JSON formatting for improved readability in starter projects

* Add type casting for message_text and import cast from typing module

* Refactor input handling to use direct dictionary access for 'session' and 'input_value' keys

* Allow `update_message` to accept `str` type for `message_id` parameter

* ⬆️ (pyproject.toml): upgrade duckduckgo-search dependency to version 6.3.1 for bug fixes or new features
🔧 (duckduckgo.spec.ts): refactor test to handle multiple possible outcomes when waiting for selectors and improve readability

* Refactor test file: generalBugs-shard-0.spec.ts

* Refactor test file: freeze.spec.ts

* Refactor test files: update element selectors and actions

* Refactor test file: chatInputOutput.spec.ts

* [autofix.ci] apply automated fixes

* Refactor chatMessage component to handle different types of children content on code modal

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2024-10-15 19:09:12 +00:00
Samuel Matioli
e04d6b9d2f
feat: Add Astra DB Tool components for use with Tool Agents (#3911)
* Adding Astra Tools

* Format

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

* Lint and Renaming to AstraDB

* Adding Astra Tools

* Format

* [autofix.ci] apply automated fixes

* ignoring .dspy cache

* [autofix.ci] apply automated fixes

* docs: Improve the search UX in Langflow docs (#4089)

* Add Mendable search bar component

* Align Mendable anon_key retrieval

* Update url and tagline in docusaurus config

* Move sitemap config to preset options

* Add Mendable anon key to docusaurus config

* docs: remove old examples (#4102)

Removed old examples

* fix: network error handling and build errors (#4088)

* Fixed API not throwing network errors

* Fix onBuildError assigning wrong status for the components

* Fix Network Error handling, making it call onBuildError

* Fixed build stop not triggering the alert

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>

* fix: store api key pydantic error (#4103)

Fixed User pydantic error

Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>

* version: upgrade to 1.0.19 and 0.0.97 (#4104)

* upgrade to 1.0.19 and 0.0.97

* build: add readme to dockerfile (#4105)

Add readme to dockerfile

* feat: Add traceback to fastapi exception handler logs (#4099)

Add traceback to fastapi exception handler logs

* fix: prevent possible race condition on upload flows/folders (#4114)

*  (create-file-upload.ts): improve file upload functionality by adding cleanup logic and handling edge cases for resolving file selection

* 🐛 (create-file-upload.ts): fix removing input element from the DOM by checking if it is contained in the document body before removal
💡 (create-file-upload.ts): add a comment to clarify the purpose of the setTimeout function for a fallback timeout of 1 minute

*  (create-file-upload.ts): change createFileUpload function to be asynchronous to support Promise return type for better handling of file upload operations

* 📝 (create-file-upload.ts): improve error handling when removing input element from the DOM
📝 (create-file-upload.ts): remove unnecessary comment about timeout value in the code

* fix: truncate "params" column on vertex_build table to prevent memory heap on database (#4118)

*  (model.py): add new method `serialize_params` to serialize parameters data in VertexBuildBase class

* 🐛 (util_strings.py): fix truncation logic to correctly handle long strings by truncating them with ellipsis if they exceed the maximum length

*  (test_truncate_long_strings.py): add unit tests for the truncate_long_strings function to ensure it works correctly with various input scenarios

*  (test_truncate_long_strings_on_objects.py): update test assertion message to reflect the expected behavior of the function

* refactor: add pagination on folders (#4020)

* ⬆️ (uv.lock): Update authlib version from 1.3.2 to 1.3.1
⬆️ (uv.lock): Update httpx version from 0.27.2 to 0.27.0
⬆️ (uv.lock): Add new package grpcio-health-checking version 1.62.3

⬆️ (uv.lock): upgrade weaviate-client package from version 3.26.7 to 4.8.1 and add new dependencies grpcio, grpcio-health-checking, grpcio-tools, httpx, and pydantic. Update package source and distribution URLs accordingly.

*  (flows.py): Add pagination support for retrieving a list of flows to improve performance and user experience
📝 (flows.py): Update documentation to reflect changes made for pagination and additional query parameters
📝 (folders.py): Add a new endpoint to retrieve a folder with paginated flows for better organization and readability

*  (model.py): add PaginatedFlowResponse class to handle paginated flow responses in API calls

*  (test_database.py): add support for fetching all flows by adding "get_all" parameter to the request
🐛 (test_database.py): fix endpoint for fetching read-only starter projects to use correct URL path

* packages changes

* packages changes

* 📝 (paginatorComponent/index.tsx): refactor PaginatorComponent to use constants for default values and improve code readability
🐛 (paginatorComponent/index.tsx): fix issue with setting maxPageIndex when pages prop is provided to PaginatorComponent

* 🐛 (storeCardComponent): fix height of store card component to prevent overflow and improve layout aesthetics

*  (constants.ts): introduce new constants for search tabs, pagination settings, and store pagination settings to enhance user experience and improve functionality

*  (use-post-login-user.ts): add queryClient to UseRequestProcessor to enable refetching queries on mutation settled state
📝 (use-post-login-user.ts): update useLoginUser function to include onSettled callback in options to refetch queries after mutation settles

*  (use-get-basic-examples.ts): introduce a new query function to fetch basic examples of flows from the API and update the state with the fetched data.

*  (use-get-refresh-flows.ts): introduce new functionality to fetch and process flows with query parameters for components_only, get_all, folder_id, remove_example_flows, page, and size. This allows for more flexible and specific retrieval of flow data.

*  (use-get-folder.ts): Add support for pagination and filtering options in the useGetFolderQuery function to enhance flexibility and customization for fetching folder data.

* 🔧 (use-get-folders.ts): Remove unused code related to refreshFlows and setStarterProjectId to improve code readability and maintainability
 (use-get-folders.ts): Update useGetFoldersQuery to setFolders with the fetched data instead of filtering out starter projects to simplify the logic and improve performance

*  (use-upload-flow.ts): update refreshFlows function call to include an object with get_all property set to true to fetch all flows when refreshing

* 🔧 (codeAreaModal/index.tsx): remove unused import postCustomComponent to clean up code and improve readability

* 📝 (AdminPage/index.tsx): Update initial page size and index values to use constants for better maintainability
📝 (AdminPage/index.tsx): Update resetFilter function to set page size and index using constants for consistency
📝 (AdminPage/index.tsx): Update logic to handle loading state and empty user list based on isIdle state for better user experience
📝 (AdminPage/index.tsx): Update PaginatorComponent props to use constant for rows count and simplify paginate function assignment

*  (AppInitPage/index.tsx): introduce new queries to fetch basic examples and folders data for improved functionality and user experience

*  (FlowPage/index.tsx): update refreshFlows function call to include a parameter to get all flows at once for better performance.

*  (frontend): introduce flowsPagination and setFlowsPagination functions to manage pagination for flows in the UtilityStoreType

*  (frontend): introduce new 'folders' and 'setFolders' properties to FoldersStoreType to manage folder data efficiently

*  (types.ts): introduce Pagination type to define structure for pagination data in frontend application

*  (frontend): introduce PaginatedFlowsType to represent paginated flow data structure in the application.

*  (frontend): add optional 'pages' property to PaginatorComponentType to allow customization of the number of pages displayed in the paginator

*  (utilityStore.ts): introduce flowsPagination object with default values for page and size to manage pagination in the utility store

*  (foldersStore.tsx): introduce new state 'folders' and setter function 'setFolders' to manage folder data in the store

*  (ViewPage/index.tsx): update refreshFlows function call to include a parameter to get all flows at once, improving efficiency and reducing unnecessary calls to the backend.

* 📝 (StorePage/index.tsx): update constants import to include new pagination constants for better organization
♻️ (StorePage/index.tsx): refactor pagination logic to use new pagination constants for clarity and consistency throughout the file

*  (componentsComponent/index.tsx): Add support for pagination feature in ComponentsComponent to improve user experience and performance.

*  (myCollectionComponent/index.tsx): introduce pagination and search functionality to improve user experience and data handling in the MyCollectionComponent component

*  (Playground/index.tsx): Update refreshFlows function call to include a parameter to get all flows at once for better performance.

*  (entities/index.tsx): introduce PaginatedFolderType to represent a folder with pagination information for better organization and handling of paginated data.

*  (headerTabsSearchComponent/index.tsx): add support for changing tabs and searching functionality in headerTabsSearchComponent
📝 (headerTabsSearchComponent/index.tsx): update tabsOptions to use constant SEARCH_TABS for consistency and reusability

* 📝 (folders.py): Remove redundant import and unused code related to FolderWithPaginatedFlows class
🔧 (folders.py): Update query conditions to use explicit boolean values instead of implicit truthiness for better clarity and readability

* 📝 (folders.py): reorganize imports to improve readability and maintain consistency

* 📝 (flows.py): import FlowSummary model to support new functionality in the API
📝 (flows.py): add header_flows parameter to read_flows function to return a simplified list of flows if set to true

* 📝 (folders.py): remove unnecessary empty line to improve code readability

*  (model.py): introduce new FlowSummary class to represent a summary of flow data for better organization and readability

*  (pagination_model.py): introduce a new model 'FolderWithPaginatedFlows' to represent a folder with paginated flows for better organization and readability.

* 📝 (cardComponent/index.tsx): add missing semicolon to improve code consistency
♻️ (cardComponent/index.tsx): refactor logic to use data parameter directly instead of fetching flow by id to simplify code and improve readability

*  (use-get-refresh-flows.ts): introduce new query parameter 'header_flows' to support fetching header flows in API requests.

*  (use-get-folders.ts): add functionality to refresh flows when fetching folders to ensure data consistency and up-to-date information.

*  (use-upload-flow.ts): add support for fetching header flows along with all flows when refreshing flows in useUploadFlow hook

*  (use-redirect-flow-card-click.tsx): introduce a new custom hook 'useFlowCardClick' to handle flow card click events in the newFlowModal component. This hook utilizes react-router-dom for navigation, custom analytics tracking, and various utility functions to manage flow data and update the UI.

*  (NewFlowCardComponent/index.tsx): refactor onClick event handler into a separate function handleClick for better readability and maintainability

* 📝 (undrawCards/index.tsx): Remove unused imports and variables to clean up the code
♻️ (undrawCards/index.tsx): Refactor onClick event handler to use a separate function for handling flow card click events

*  (flowsManager/index.ts): introduce new state and setter for flowToCanvas to manage the flow displayed on canvas

*  (flowsManagerStore.ts): introduce new feature to set and update the flow to be displayed on the canvas asynchronously

*  (ViewPage/index.tsx): add support for fetching header flows along with all flows when refreshing data to improve data retrieval efficiency

*  (collectionCard/index.tsx): introduce useFlowsManagerStore to manage flows in the application
📝 (collectionCard/index.tsx): update handleClick function to set flow to canvas before navigating to editFlowLink

*  (Playground/index.tsx): add support for fetching header flows along with all flows when refreshing data in the Playground page.

* 🐛 (FlowPage/index.tsx): Fix setCurrentFlow logic to correctly set the current flow based on flowToCanvas value. Add flowToCanvas dependency to useEffect to ensure proper rendering.

*  (use-get-flow.ts): introduce a new file to handle API queries for fetching flow data in the frontend application. This file defines a custom hook 'useGetFlow' that makes a GET request to the API endpoint to retrieve flow data based on the provided flow ID.

* 📝 (flows.py): update import statement to use FlowHeader instead of FlowSummary for better clarity
📝 (flows.py): update response_model in read_flows endpoint to use FlowHeader for consistency and clarity

*  (model.py): rename FlowSummary class to FlowHeader for better clarity and consistency in naming conventions
📝 (model.py): add is_component field to FlowHeader class to indicate if the flow is a component or not

*  (use-get-folder.ts): introduce processFlows function to process flows data
📝 (use-get-folder.ts): add cloneDeep function to safely clone data before processing

* 🔧 (use-get-refresh-flows.ts): refactor useGetRefreshFlows function to simplify processing of dbDataFlows and update state accordingly

*  (FlowPage/index.tsx): Add useGetFlow hook to fetch flow data and update current flow on canvas. Add getFlowToAddToCanvas function to handle fetching and setting flow data on canvas.

*  (nodeToolbarComponent/index.tsx): improve user experience by automatically closing the override modal after successful flow override

*  (use-post-login-user.ts): add queryClient.refetchQueries for "useGetTags" after successful login to update tags data in the frontend.

*  (use-get-flow.ts): add processFlows function to process flow data before returning it to improve code readability and maintainability

* 🐛 (use-get-refresh-flows.ts): fix asynchronous flow to correctly handle data retrieval and processing before setting state and returning flows

*  (use-get-tags.ts): add functionality to set tags in utility store after fetching them from the API

* 📝 (shareModal/index.tsx): Update import statement for useUtilityStore to improve code organization and readability
🔧 (shareModal/index.tsx): Replace useGetTagsQuery with useUtilityStore to manage tags state and remove unnecessary API call for tags data
🔧 (shareModal/index.tsx): Replace references to data with tags variable to ensure consistency and avoid potential bugs
🔧 (shareModal/index.tsx): Update TagsSelector component to use tags variable instead of data for better data management

*  (AppInitPage/index.tsx): introduce useGetTagsQuery to fetch tags data from the store API for AppInitPage.

*  (StorePage/index.tsx): refactor to use useUtilityStore for tags state management instead of useGetTagsQuery for better separation of concerns and code organization. Update TagsSelector component to use tags from useUtilityStore hook.

*  (frontend): introduce Tag type to UtilityStoreType and add tags and setTags functions to manage tags in the store.

*  (types.ts): introduce new Tag type to represent a tag with id and name properties

*  (utilityStore.ts): introduce new 'tags' array and 'setTags' function to manage tags in the utility store

* 📝 (App.css): add a blank line for better readability and consistency in the CSS file

*  (test_database.py): add pagination support for reading flows and folders to improve data retrieval efficiency and user experience

*  (tabsComponent/index.tsx): refactor changeLocation function to use useCallback hook for better performance and stability
 (tabsComponent/index.tsx): update onClick event handler to directly call changeLocation function for cleaner code and improved readability

*  (headerTabsSearchComponent/index.tsx): refactor handleChangeTab, handleSearch, handleInputChange, and handleKeyDown functions to use useCallback for better performance and memoization
📝 (headerTabsSearchComponent/index.tsx): update tabActive prop to use the activeTab prop passed from parent component for consistency and clarity

*  (myCollectionComponent/index.tsx): refactor filter state initialization to dynamically set based on current location pathname
♻️ (myCollectionComponent/index.tsx): refactor onSearch and onChangeTab functions to use useCallback for better performance and memoization

*  (create-query-param-string.ts): introduce a new utility function to build query parameter strings for URLs in the frontend controllers.

*  (use-get-folder.ts): introduce buildQueryStringUrl function to create query parameter strings for API requests
📝 (use-get-folder.ts): add comments to explain the purpose of the code and improve code readability
🔧 (use-get-folder.ts): update useGetFolderQuery function to include additional configuration options for the query, such as refetchOnWindowFocus: false

*  (use-delete-folders.ts): add functionality to update local store after deleting a folder to keep it in sync with the server data

* 📝 (use-post-add-flow.ts): import useFolderStore to access myCollectionId state for refetching queries with the correct folder_id
🐛 (use-post-add-flow.ts): fix queryClient.refetchQueries to include the correct queryKey with folder_id or myCollectionId if response.folder_id is null

*  (use-get-refresh-flows.ts): refactor addQueryParams function to use buildQueryStringUrl utility function for better code readability and maintainability

* ♻️ (flows.py): remove unnecessary commented out code and add pagination functionality to the router for better code organization and readability

* 🔧 (NodeDescription/index.tsx): remove console.log statement for better code cleanliness and readability

*  (index.tsx): Add DialogClose component from @radix-ui/react-dialog to handle cancel action in ConfirmationModal. Refactor handleCancel function to improve code readability and maintainability.

* ♻️ (use-redirect-flow-card-click.tsx): remove unused setFlowToCanvas function to clean up code and improve maintainability

* 📝 (use-patch-update-flow.ts): update onSettled callback to refetch useGetFolders query with the updated folder_id after patching a flow

* 🔧 (use-delete-folders.ts): update onSettled function to correctly refetch queries with the specific folder id when deleting folders

*  (use-get-folder.ts): update useGetFolderQuery to include additional query parameters for pagination and filtering options

* 🔧 (use-post-upload-to-folder.ts): update onSettled callback to refetch useGetFolders query with the correct queryKey and folder_id parameter

*  (use-add-flow.ts): add functionality to refresh flows after adding a new flow to ensure the UI is up to date with the latest data.

*  (AppInitPage/index.tsx): enable fetching basic examples and tags only when isFetched is true to improve performance and reduce unnecessary API calls

*  (myCollectionComponent/index.tsx): refactor onPaginate function to handlePageChange callback for better code organization and readability. Update key prop in ComponentsComponent to include filter and search variables for proper re-rendering.

*  (use-get-folder.ts): add placeholderData option to useGetFolderQuery to provide initial data while fetching folder information

* [autofix.ci] apply automated fixes

* 🐛 (use-post-upload-to-folder.ts): fix queryKey values to correctly refetch queries after uploading a file to a folder

* ⬆️ (folders.spec.ts): increase timeout for waiting in test to improve reliability and prevent flakiness

*  (folders.spec.ts): update selectors to target specific elements by using the first() method to improve test reliability

*  (auto-save-off.spec.ts): update test to match changes in UI for auto-save feature and improve test coverage for hover functionality.

* 📝 (model.py): update model fields to set default values for folder_id, is_component, endpoint_name, and description to None for consistency and clarity

* ♻️ (index.tsx): refactor isUpdatingFolder logic to include isFetchingFolder variable for better accuracy and readability

* 🐛 (index.tsx): fix variable name typo in isLoadingFolder assignment to correctly reference isFetchingFolder

* 🐛 (use-patch-update-flow.ts): fix issue with missing closing parenthesis in queryClient.refetchQueries() method
📝 (use-patch-update-flow.ts): update queryKey in queryClient.refetchQueries() to ["useGetFolder"] to correctly refetch the folder data after updating a flow

*  (use-save-flow.ts): add support for fetching flow data before saving if not already present to ensure data consistency and accuracy

*  (folders.spec.ts): update selectors to target specific elements correctly for testing purposes

*  (use-on-file-drop.tsx): add support for checking flow names in a specific collection to prevent duplicates
♻️ (use-add-flow.ts): refactor to use the same logic for checking flow names in a specific collection to prevent duplicates

*  (index.tsx): Add useIsMutating hook to check if a folder is being deleted to update UI accordingly
♻️ (index.tsx): Refactor logic to determine if a folder is being updated to include check for folder deletion
🔧 (index.tsx): Refactor Select component to use a separate function for handling value change
🔧 (index.tsx): Refactor Button components to disable based on separate variables for first and last page
🔧 (index.ts): Remove unused import and refactor code to use useRef hook for storing the latest folder id in useGetFolderQuery

---------

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

* Fix: Add UTC timezone info to message.timestamp. (#4129)

* fix: enhance recursive_serialize_or_str to handle BaseModelV1 and improve exception logging (#4132)

Enhance `recursive_serialize_or_str` to handle `BaseModelV1` and improve exception logging

* fix: name/description bug in "Flow as Tool" (#4097)

Fix name/description bug in "Flow as Tool".

* chore: add opensearch-py dependency (#4134)

Add opensearch-py dependency to pyproject.toml

* refactor: starter projects templates and components (#4121)

* Update starter flows

* Update button with new menu variants

* Updated AstraDB icon

* Made header be optional on baseModal and added classname to content

* Removed old newFlowModal

* added a Nav component to show the sidebar categories

* Created new templates modal

* Updated components and modals to use new Templates modal

* Added used icons

* added template card

* changed templates modal to use modular components

* Add template content

* Add get started content

* added other size for templates

* Added size in base modal

* Changed menu ring-0 to be important

* Added all of the images of get started

* Fix hover effect on spirals

* Implement clicking get started templates

* Fix shiny design

* update package lock

* update examples

* updated card design

* Added grid of examples to templates

* Implemented card click

* Changed hover effect

* Added arrows

* delete unused

* implemented fuse search

* Added create blank project

* Made tags be read

* Added tags to basic prompting

* Added types

* Added tags to the tabs

* remove important from tailwind config

* updated setup and model to include icon

* added random-gradient npm package

* updated colors to remove white

* added icons

* inserted metadata of icons and etc into starter flows

* Removed integrations and added blank project creation

* Added gradient to cards

* Reset query when changing tab, reset scroll when typing

* added mix blend overlay to text

* Added id and gradient to templatecard type

* made icons for components still work

* added important on stroke

* formatting

* Fixed infinite render

* added test id to create blank project

* added data test id for templates title

*  (navComponent/index.tsx): add data-testid attribute with converted test name for side navigation options to improve testability and accessibility

*  (starter-projects.spec.ts): add test to ensure user can interact with starter projects in the frontend application

*  (TemplateCardComponent/index.tsx): add data-testid attribute with converted test name for better testability and accessibility

*  (TemplateCategoryComponent/index.tsx): import convertTestName function to convert test names for data-testid attributes in TemplateCategoryComponent

* fixed currentTab not changing results

* Fixed various tests

*  (similarity.spec.ts): improve user experience by adding functionality to fit view and scroll using mouse wheel in the test suite

* Fix other tests relying on multiple

* fix two edges test

* Fix hover on test 3 of generalBugs

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>

* ref: Add ruff rules TRY3xx (#4098)

Add ruff rules TRY3xx

* ref: Some ruff rule fixes from preview mode (#4131)

Some ruff rule fixes from preview mode

* ref: Add ruff rules for pydocstyle (D) (#4120)

Add ruff rules for pydocstyle (D)

* ref: Add ruff rules for arguments (ARG) (#4123)

Add ruff rules for arguments (ARG)

* ref: Add ruff rules for boolean trap (FBT) (#4126)

Add ruff rules for boolean trap (FBT)

* fix: escape directory to prevent \n on Windows directory name to fail on Pathlib + Tests (#4101)

* 📝 (utils.py): add format_directory_path function to properly escape and format directory paths for consistency and validity

*  (test_format_directory_path.py): add unit tests for the format_directory_path function to ensure correct formatting of directory paths
📝 (test_format_directory_path.py): add documentation and examples for different types of directory paths in the unit tests to improve code readability and maintainability

* 🐛 (utils.py): fix the incorrect replacement of backslashes with newline characters in the format_directory_path function
📝 (test_rewrite_file_path.py): update test cases and function names to reflect the changes made in the format_directory_path function in utils.py

* 🐛 (test_format_directory_path.py): update parameter name from 'path' to 'input_path' for clarity and consistency
📝 (test_format_directory_path.py): improve test case descriptions and handle newline characters in paths correctly

* feat: update theme (#4084)

* update theme

* update component styles

* change output node background

* update background for component folderrs

* update astra icon coloring

* fix: border and editor display issues (#4142)

* Fixed border on chat input on playground

* Fixed ace editor not taking up entire screen

* fix: Union type on components  (#4137)

* 🐛 (type_extraction.py): fix condition to correctly handle UnionType objects in type extraction process

*  (test_schema.py): add support for additional data types and nested structures in post_process_type function to improve type handling and flexibility

*  (test_schema.py): add additional test cases for post_process_type function to cover various Union types and combinations for better test coverage and accuracy

* Adding Astra Tools

* [autofix.ci] apply automated fixes

* Lint and Renaming to AstraDB

* Adding Astra Tools

* Cleanup old files and re-format

* More formatting

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Eric Schneider <37347760+eric-schneider@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: dhlidongming <lidongming@dhgate.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
2024-10-15 11:52:58 -07:00
Lucas Oliveira
e043964585
fix: border and editor display issues (#4142)
* Fixed border on chat input on playground

* Fixed ace editor not taking up entire screen
2024-10-14 13:32:09 -07:00
Mike Fortman
cb3219f3fe
feat: update theme (#4084)
* update theme

* update component styles

* change output node background

* update background for component folderrs

* update astra icon coloring
2024-10-14 17:24:06 +00:00
Lucas Oliveira
0964190579
refactor: starter projects templates and components (#4121)
* Update starter flows

* Update button with new menu variants

* Updated AstraDB icon

* Made header be optional on baseModal and added classname to content

* Removed old newFlowModal

* added a Nav component to show the sidebar categories

* Created new templates modal

* Updated components and modals to use new Templates modal

* Added used icons

* added template card

* changed templates modal to use modular components

* Add template content

* Add get started content

* added other size for templates

* Added size in base modal

* Changed menu ring-0 to be important

* Added all of the images of get started

* Fix hover effect on spirals

* Implement clicking get started templates

* Fix shiny design

* update package lock

* update examples

* updated card design

* Added grid of examples to templates

* Implemented card click

* Changed hover effect

* Added arrows

* delete unused

* implemented fuse search

* Added create blank project

* Made tags be read

* Added tags to basic prompting

* Added types

* Added tags to the tabs

* remove important from tailwind config

* updated setup and model to include icon

* added random-gradient npm package

* updated colors to remove white

* added icons

* inserted metadata of icons and etc into starter flows

* Removed integrations and added blank project creation

* Added gradient to cards

* Reset query when changing tab, reset scroll when typing

* added mix blend overlay to text

* Added id and gradient to templatecard type

* made icons for components still work

* added important on stroke

* formatting

* Fixed infinite render

* added test id to create blank project

* added data test id for templates title

*  (navComponent/index.tsx): add data-testid attribute with converted test name for side navigation options to improve testability and accessibility

*  (starter-projects.spec.ts): add test to ensure user can interact with starter projects in the frontend application

*  (TemplateCardComponent/index.tsx): add data-testid attribute with converted test name for better testability and accessibility

*  (TemplateCategoryComponent/index.tsx): import convertTestName function to convert test names for data-testid attributes in TemplateCategoryComponent

* fixed currentTab not changing results

* Fixed various tests

*  (similarity.spec.ts): improve user experience by adding functionality to fit view and scroll using mouse wheel in the test suite

* Fix other tests relying on multiple

* fix two edges test

* Fix hover on test 3 of generalBugs

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2024-10-14 14:05:45 +00:00
Cristhian Zanforlin Lousa
376e4cfdd3
refactor: add pagination on folders (#4020)
* ⬆️ (uv.lock): Update authlib version from 1.3.2 to 1.3.1
⬆️ (uv.lock): Update httpx version from 0.27.2 to 0.27.0
⬆️ (uv.lock): Add new package grpcio-health-checking version 1.62.3

⬆️ (uv.lock): upgrade weaviate-client package from version 3.26.7 to 4.8.1 and add new dependencies grpcio, grpcio-health-checking, grpcio-tools, httpx, and pydantic. Update package source and distribution URLs accordingly.

*  (flows.py): Add pagination support for retrieving a list of flows to improve performance and user experience
📝 (flows.py): Update documentation to reflect changes made for pagination and additional query parameters
📝 (folders.py): Add a new endpoint to retrieve a folder with paginated flows for better organization and readability

*  (model.py): add PaginatedFlowResponse class to handle paginated flow responses in API calls

*  (test_database.py): add support for fetching all flows by adding "get_all" parameter to the request
🐛 (test_database.py): fix endpoint for fetching read-only starter projects to use correct URL path

* packages changes

* packages changes

* 📝 (paginatorComponent/index.tsx): refactor PaginatorComponent to use constants for default values and improve code readability
🐛 (paginatorComponent/index.tsx): fix issue with setting maxPageIndex when pages prop is provided to PaginatorComponent

* 🐛 (storeCardComponent): fix height of store card component to prevent overflow and improve layout aesthetics

*  (constants.ts): introduce new constants for search tabs, pagination settings, and store pagination settings to enhance user experience and improve functionality

*  (use-post-login-user.ts): add queryClient to UseRequestProcessor to enable refetching queries on mutation settled state
📝 (use-post-login-user.ts): update useLoginUser function to include onSettled callback in options to refetch queries after mutation settles

*  (use-get-basic-examples.ts): introduce a new query function to fetch basic examples of flows from the API and update the state with the fetched data.

*  (use-get-refresh-flows.ts): introduce new functionality to fetch and process flows with query parameters for components_only, get_all, folder_id, remove_example_flows, page, and size. This allows for more flexible and specific retrieval of flow data.

*  (use-get-folder.ts): Add support for pagination and filtering options in the useGetFolderQuery function to enhance flexibility and customization for fetching folder data.

* 🔧 (use-get-folders.ts): Remove unused code related to refreshFlows and setStarterProjectId to improve code readability and maintainability
 (use-get-folders.ts): Update useGetFoldersQuery to setFolders with the fetched data instead of filtering out starter projects to simplify the logic and improve performance

*  (use-upload-flow.ts): update refreshFlows function call to include an object with get_all property set to true to fetch all flows when refreshing

* 🔧 (codeAreaModal/index.tsx): remove unused import postCustomComponent to clean up code and improve readability

* 📝 (AdminPage/index.tsx): Update initial page size and index values to use constants for better maintainability
📝 (AdminPage/index.tsx): Update resetFilter function to set page size and index using constants for consistency
📝 (AdminPage/index.tsx): Update logic to handle loading state and empty user list based on isIdle state for better user experience
📝 (AdminPage/index.tsx): Update PaginatorComponent props to use constant for rows count and simplify paginate function assignment

*  (AppInitPage/index.tsx): introduce new queries to fetch basic examples and folders data for improved functionality and user experience

*  (FlowPage/index.tsx): update refreshFlows function call to include a parameter to get all flows at once for better performance.

*  (frontend): introduce flowsPagination and setFlowsPagination functions to manage pagination for flows in the UtilityStoreType

*  (frontend): introduce new 'folders' and 'setFolders' properties to FoldersStoreType to manage folder data efficiently

*  (types.ts): introduce Pagination type to define structure for pagination data in frontend application

*  (frontend): introduce PaginatedFlowsType to represent paginated flow data structure in the application.

*  (frontend): add optional 'pages' property to PaginatorComponentType to allow customization of the number of pages displayed in the paginator

*  (utilityStore.ts): introduce flowsPagination object with default values for page and size to manage pagination in the utility store

*  (foldersStore.tsx): introduce new state 'folders' and setter function 'setFolders' to manage folder data in the store

*  (ViewPage/index.tsx): update refreshFlows function call to include a parameter to get all flows at once, improving efficiency and reducing unnecessary calls to the backend.

* 📝 (StorePage/index.tsx): update constants import to include new pagination constants for better organization
♻️ (StorePage/index.tsx): refactor pagination logic to use new pagination constants for clarity and consistency throughout the file

*  (componentsComponent/index.tsx): Add support for pagination feature in ComponentsComponent to improve user experience and performance.

*  (myCollectionComponent/index.tsx): introduce pagination and search functionality to improve user experience and data handling in the MyCollectionComponent component

*  (Playground/index.tsx): Update refreshFlows function call to include a parameter to get all flows at once for better performance.

*  (entities/index.tsx): introduce PaginatedFolderType to represent a folder with pagination information for better organization and handling of paginated data.

*  (headerTabsSearchComponent/index.tsx): add support for changing tabs and searching functionality in headerTabsSearchComponent
📝 (headerTabsSearchComponent/index.tsx): update tabsOptions to use constant SEARCH_TABS for consistency and reusability

* 📝 (folders.py): Remove redundant import and unused code related to FolderWithPaginatedFlows class
🔧 (folders.py): Update query conditions to use explicit boolean values instead of implicit truthiness for better clarity and readability

* 📝 (folders.py): reorganize imports to improve readability and maintain consistency

* 📝 (flows.py): import FlowSummary model to support new functionality in the API
📝 (flows.py): add header_flows parameter to read_flows function to return a simplified list of flows if set to true

* 📝 (folders.py): remove unnecessary empty line to improve code readability

*  (model.py): introduce new FlowSummary class to represent a summary of flow data for better organization and readability

*  (pagination_model.py): introduce a new model 'FolderWithPaginatedFlows' to represent a folder with paginated flows for better organization and readability.

* 📝 (cardComponent/index.tsx): add missing semicolon to improve code consistency
♻️ (cardComponent/index.tsx): refactor logic to use data parameter directly instead of fetching flow by id to simplify code and improve readability

*  (use-get-refresh-flows.ts): introduce new query parameter 'header_flows' to support fetching header flows in API requests.

*  (use-get-folders.ts): add functionality to refresh flows when fetching folders to ensure data consistency and up-to-date information.

*  (use-upload-flow.ts): add support for fetching header flows along with all flows when refreshing flows in useUploadFlow hook

*  (use-redirect-flow-card-click.tsx): introduce a new custom hook 'useFlowCardClick' to handle flow card click events in the newFlowModal component. This hook utilizes react-router-dom for navigation, custom analytics tracking, and various utility functions to manage flow data and update the UI.

*  (NewFlowCardComponent/index.tsx): refactor onClick event handler into a separate function handleClick for better readability and maintainability

* 📝 (undrawCards/index.tsx): Remove unused imports and variables to clean up the code
♻️ (undrawCards/index.tsx): Refactor onClick event handler to use a separate function for handling flow card click events

*  (flowsManager/index.ts): introduce new state and setter for flowToCanvas to manage the flow displayed on canvas

*  (flowsManagerStore.ts): introduce new feature to set and update the flow to be displayed on the canvas asynchronously

*  (ViewPage/index.tsx): add support for fetching header flows along with all flows when refreshing data to improve data retrieval efficiency

*  (collectionCard/index.tsx): introduce useFlowsManagerStore to manage flows in the application
📝 (collectionCard/index.tsx): update handleClick function to set flow to canvas before navigating to editFlowLink

*  (Playground/index.tsx): add support for fetching header flows along with all flows when refreshing data in the Playground page.

* 🐛 (FlowPage/index.tsx): Fix setCurrentFlow logic to correctly set the current flow based on flowToCanvas value. Add flowToCanvas dependency to useEffect to ensure proper rendering.

*  (use-get-flow.ts): introduce a new file to handle API queries for fetching flow data in the frontend application. This file defines a custom hook 'useGetFlow' that makes a GET request to the API endpoint to retrieve flow data based on the provided flow ID.

* 📝 (flows.py): update import statement to use FlowHeader instead of FlowSummary for better clarity
📝 (flows.py): update response_model in read_flows endpoint to use FlowHeader for consistency and clarity

*  (model.py): rename FlowSummary class to FlowHeader for better clarity and consistency in naming conventions
📝 (model.py): add is_component field to FlowHeader class to indicate if the flow is a component or not

*  (use-get-folder.ts): introduce processFlows function to process flows data
📝 (use-get-folder.ts): add cloneDeep function to safely clone data before processing

* 🔧 (use-get-refresh-flows.ts): refactor useGetRefreshFlows function to simplify processing of dbDataFlows and update state accordingly

*  (FlowPage/index.tsx): Add useGetFlow hook to fetch flow data and update current flow on canvas. Add getFlowToAddToCanvas function to handle fetching and setting flow data on canvas.

*  (nodeToolbarComponent/index.tsx): improve user experience by automatically closing the override modal after successful flow override

*  (use-post-login-user.ts): add queryClient.refetchQueries for "useGetTags" after successful login to update tags data in the frontend.

*  (use-get-flow.ts): add processFlows function to process flow data before returning it to improve code readability and maintainability

* 🐛 (use-get-refresh-flows.ts): fix asynchronous flow to correctly handle data retrieval and processing before setting state and returning flows

*  (use-get-tags.ts): add functionality to set tags in utility store after fetching them from the API

* 📝 (shareModal/index.tsx): Update import statement for useUtilityStore to improve code organization and readability
🔧 (shareModal/index.tsx): Replace useGetTagsQuery with useUtilityStore to manage tags state and remove unnecessary API call for tags data
🔧 (shareModal/index.tsx): Replace references to data with tags variable to ensure consistency and avoid potential bugs
🔧 (shareModal/index.tsx): Update TagsSelector component to use tags variable instead of data for better data management

*  (AppInitPage/index.tsx): introduce useGetTagsQuery to fetch tags data from the store API for AppInitPage.

*  (StorePage/index.tsx): refactor to use useUtilityStore for tags state management instead of useGetTagsQuery for better separation of concerns and code organization. Update TagsSelector component to use tags from useUtilityStore hook.

*  (frontend): introduce Tag type to UtilityStoreType and add tags and setTags functions to manage tags in the store.

*  (types.ts): introduce new Tag type to represent a tag with id and name properties

*  (utilityStore.ts): introduce new 'tags' array and 'setTags' function to manage tags in the utility store

* 📝 (App.css): add a blank line for better readability and consistency in the CSS file

*  (test_database.py): add pagination support for reading flows and folders to improve data retrieval efficiency and user experience

*  (tabsComponent/index.tsx): refactor changeLocation function to use useCallback hook for better performance and stability
 (tabsComponent/index.tsx): update onClick event handler to directly call changeLocation function for cleaner code and improved readability

*  (headerTabsSearchComponent/index.tsx): refactor handleChangeTab, handleSearch, handleInputChange, and handleKeyDown functions to use useCallback for better performance and memoization
📝 (headerTabsSearchComponent/index.tsx): update tabActive prop to use the activeTab prop passed from parent component for consistency and clarity

*  (myCollectionComponent/index.tsx): refactor filter state initialization to dynamically set based on current location pathname
♻️ (myCollectionComponent/index.tsx): refactor onSearch and onChangeTab functions to use useCallback for better performance and memoization

*  (create-query-param-string.ts): introduce a new utility function to build query parameter strings for URLs in the frontend controllers.

*  (use-get-folder.ts): introduce buildQueryStringUrl function to create query parameter strings for API requests
📝 (use-get-folder.ts): add comments to explain the purpose of the code and improve code readability
🔧 (use-get-folder.ts): update useGetFolderQuery function to include additional configuration options for the query, such as refetchOnWindowFocus: false

*  (use-delete-folders.ts): add functionality to update local store after deleting a folder to keep it in sync with the server data

* 📝 (use-post-add-flow.ts): import useFolderStore to access myCollectionId state for refetching queries with the correct folder_id
🐛 (use-post-add-flow.ts): fix queryClient.refetchQueries to include the correct queryKey with folder_id or myCollectionId if response.folder_id is null

*  (use-get-refresh-flows.ts): refactor addQueryParams function to use buildQueryStringUrl utility function for better code readability and maintainability

* ♻️ (flows.py): remove unnecessary commented out code and add pagination functionality to the router for better code organization and readability

* 🔧 (NodeDescription/index.tsx): remove console.log statement for better code cleanliness and readability

*  (index.tsx): Add DialogClose component from @radix-ui/react-dialog to handle cancel action in ConfirmationModal. Refactor handleCancel function to improve code readability and maintainability.

* ♻️ (use-redirect-flow-card-click.tsx): remove unused setFlowToCanvas function to clean up code and improve maintainability

* 📝 (use-patch-update-flow.ts): update onSettled callback to refetch useGetFolders query with the updated folder_id after patching a flow

* 🔧 (use-delete-folders.ts): update onSettled function to correctly refetch queries with the specific folder id when deleting folders

*  (use-get-folder.ts): update useGetFolderQuery to include additional query parameters for pagination and filtering options

* 🔧 (use-post-upload-to-folder.ts): update onSettled callback to refetch useGetFolders query with the correct queryKey and folder_id parameter

*  (use-add-flow.ts): add functionality to refresh flows after adding a new flow to ensure the UI is up to date with the latest data.

*  (AppInitPage/index.tsx): enable fetching basic examples and tags only when isFetched is true to improve performance and reduce unnecessary API calls

*  (myCollectionComponent/index.tsx): refactor onPaginate function to handlePageChange callback for better code organization and readability. Update key prop in ComponentsComponent to include filter and search variables for proper re-rendering.

*  (use-get-folder.ts): add placeholderData option to useGetFolderQuery to provide initial data while fetching folder information

* [autofix.ci] apply automated fixes

* 🐛 (use-post-upload-to-folder.ts): fix queryKey values to correctly refetch queries after uploading a file to a folder

* ⬆️ (folders.spec.ts): increase timeout for waiting in test to improve reliability and prevent flakiness

*  (folders.spec.ts): update selectors to target specific elements by using the first() method to improve test reliability

*  (auto-save-off.spec.ts): update test to match changes in UI for auto-save feature and improve test coverage for hover functionality.

* 📝 (model.py): update model fields to set default values for folder_id, is_component, endpoint_name, and description to None for consistency and clarity

* ♻️ (index.tsx): refactor isUpdatingFolder logic to include isFetchingFolder variable for better accuracy and readability

* 🐛 (index.tsx): fix variable name typo in isLoadingFolder assignment to correctly reference isFetchingFolder

* 🐛 (use-patch-update-flow.ts): fix issue with missing closing parenthesis in queryClient.refetchQueries() method
📝 (use-patch-update-flow.ts): update queryKey in queryClient.refetchQueries() to ["useGetFolder"] to correctly refetch the folder data after updating a flow

*  (use-save-flow.ts): add support for fetching flow data before saving if not already present to ensure data consistency and accuracy

*  (folders.spec.ts): update selectors to target specific elements correctly for testing purposes

*  (use-on-file-drop.tsx): add support for checking flow names in a specific collection to prevent duplicates
♻️ (use-add-flow.ts): refactor to use the same logic for checking flow names in a specific collection to prevent duplicates

*  (index.tsx): Add useIsMutating hook to check if a folder is being deleted to update UI accordingly
♻️ (index.tsx): Refactor logic to determine if a folder is being updated to include check for folder deletion
🔧 (index.tsx): Refactor Select component to use a separate function for handling value change
🔧 (index.tsx): Refactor Button components to disable based on separate variables for first and last page
🔧 (index.ts): Remove unused import and refactor code to use useRef hook for storing the latest folder id in useGetFolderQuery

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-10-11 21:49:20 +00:00
Cristhian Zanforlin Lousa
6bad987f38
fix: prevent possible race condition on upload flows/folders (#4114)
*  (create-file-upload.ts): improve file upload functionality by adding cleanup logic and handling edge cases for resolving file selection

* 🐛 (create-file-upload.ts): fix removing input element from the DOM by checking if it is contained in the document body before removal
💡 (create-file-upload.ts): add a comment to clarify the purpose of the setTimeout function for a fallback timeout of 1 minute

*  (create-file-upload.ts): change createFileUpload function to be asynchronous to support Promise return type for better handling of file upload operations

* 📝 (create-file-upload.ts): improve error handling when removing input element from the DOM
📝 (create-file-upload.ts): remove unnecessary comment about timeout value in the code
2024-10-11 16:17:20 +00:00
Lucas Oliveira
b5e504b4dc
fix: network error handling and build errors (#4088)
* Fixed API not throwing network errors

* Fix onBuildError assigning wrong status for the components

* Fix Network Error handling, making it call onBuildError

* Fixed build stop not triggering the alert

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
2024-10-10 20:20:39 +00:00
Mike Fortman
4a745aae5d
refactor: tracking updates for deleted nodes (#4027)
* tracking updates for deleted nodes

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-10-09 17:38:51 +00:00
Gabriel Luiz Freitas Almeida
65153374ed
feat: Add default value support for table columns (#4043)
* Add 'type', 'description', and 'default' fields to Table schema and enhance formatter validation

* Add type-based mapping to formatter validator in table schema

* Add default value support for new table rows in TableNodeComponent

* Add optional 'description' and 'default' fields to ColumnField interface

* Add default value inference for table columns in utils.ts

- Initialize 'default' property for table columns to null.
- Infer default value from the first row of data if available.
- Adjust column formatter determination based on sample value.

* Add default table input validation and update formatter logic in Column model

* Add unit tests for Column class in table schema module

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-09 17:10:40 +00:00
anovazzi1
d0bfac3e7e
feature: Hide integrations (#4074)
* hide integrations

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-10-09 13:04:06 +00:00
anovazzi1
12a381a3fa
refactor: improve parameter render component (#3995)
* refactor: update dynamic parameter in ParameterRenderComponent to false

* refactor: update CodeAreaComponent to use CodeAreaModal for node toolbar

* feat: Add EmptyParameterComponent to render empty parameters

* refactor: Add types for parameter render component

Add typescript types for the parameter render component to improve code readability and maintainability.

* feat: Add EmptyParameterComponent to render empty parameters

* refactor: Update RefreshParameterComponent to use InputProps

Update the RefreshParameterComponent to use the InputProps interface for better code readability and maintainability.

* refactor: Update InputProps in parameterRenderComponent/types.ts

Update the InputProps interface in parameterRenderComponent/types.ts to remove the Partial<OptionalInputProps> and simplify the composition of input props. This improves code readability and maintainability.

* refactor: Update InputProps in parameterRenderComponent/types.ts

* refactor: Update parameterRenderComponent/types.ts to use handleOnNewValue instead of onChange

Update the parameterRenderComponent/types.ts file to import the handleOnNewValueType from "@/CustomNodes/hooks/use-handle-new-value" and replace the onChange function with handleOnNewValue in the BaseInputProps interface. This change improves code readability and maintainability.

* update folder structure

* refactor: Update TableModal to support disabled state

Update the TableModal component to include a disabled prop, allowing the modal to be disabled when necessary. This improves the flexibility and usability of the component.

* refactor: Update parameterRenderComponent/types.ts to include TableComponentType

Update the parameterRenderComponent/types.ts file to include the TableComponentType interface, which defines the structure for a table component. This change improves code organization and maintainability.

* refactor: Update parameterRenderComponent to use TableNodeComponent from the correct folder

* refactor: Update codeAreaComponent imports and props in parameterRenderComponent

Update the imports and props in the parameterRenderComponent file to reflect the changes made in the codeAreaComponent file. This refactor improves code organization and maintainability.

* refactor: Update parameterRenderComponent/types.ts to include CodeAreaComponentType

Update the parameterRenderComponent/types.ts file to include the CodeAreaComponentType interface, which defines the structure for a code area component. This change improves code organization and maintainability.

* refactor: Remove unused import of CodeAreaComponent in nodeToolbarComponent

Remove the unused import of CodeAreaComponent in the nodeToolbarComponent file to improve code cleanliness and maintainability.

* refactor: Remove unused import of CodeAreaComponent in nodeToolbarComponent

* refactor: Remove unused import of CodeAreaComponent in nodeToolbarComponent

* refactor: Remove unused import of CodeAreaComponent in codeAreaComponent/index.tsx

* refactor: Remove unused import of CodeAreaComponent in parameterRenderComponent/index.tsx

* refactor: Update floatComponent imports and props in parameterRenderComponent

Update the imports and props in the parameterRenderComponent file to reflect the changes made in the floatComponent file. This refactor improves code organization and maintainability.

* refactor: Update floatComponent imports and props in parameterRenderComponent

* update int component path

* update int component type

* update toogle location

* refactor: Update ToggleComponentType in components/index.ts

Remove the ToggleComponentType interface from the components/index.ts file. This change is part of a refactoring effort to remove unused code and improve code organization.

* refactor: Update ToggleComponentType in components/index.ts

Remove unused ToggleComponentType interface from components/index.ts

* refactor: Update ToggleShadComponent to handle new value changes

Refactor the ToggleShadComponent to handle new value changes by passing the updated value to the handleOnNewValue function. This improves the functionality and maintainability of the component.

* refactor: Move InputFileComponent to parameterRenderComponent/components folder

Move the InputFileComponent file from the src/frontend/src/components folder to the src/frontend/src/components/parameterRenderComponent/components folder. This change improves code organization and maintainability.

* refactor: Add FileComponentType interface to parameterRenderComponent/types.ts

Add the FileComponentType interface to the parameterRenderComponent/types.ts file. This interface defines the fileTypes property for the FileComponentType, allowing for better type checking and documentation. This change improves code organization and maintainability.

* refactor: Update InputFileComponent props in parameterRenderComponent

Update the props of the InputFileComponent in the parameterRenderComponent file to match the changes made in the index.tsx file. This refactor improves code organization and maintainability.

* refactor: Move PromptAreaComponent to parameterRenderComponent/components folder

* update types prompt field

* refactor: Update PromptAreaComponent to handle new value changes

Refactor the PromptAreaComponent to handle new value changes by passing the updated value to the handleOnNewValue function. This improves the functionality and maintainability of the component.

* refactor: Move LinkComponent to parameterRenderComponent/components folder

* refactor: Add LinkComponentType interface to parameterRenderComponent/types.ts

Add the LinkComponentType interface to the parameterRenderComponent/types.ts file. This interface defines the icon and text properties for the LinkComponentType, allowing for better type checking and documentation. This change improves code organization and maintainability.

* refactor: Update LinkComponent to use InputProps in parameterRenderComponent

Update the LinkComponent in parameterRenderComponent to use the InputProps interface for better type checking and consistency. This refactor improves code organization and maintainability.

* refactor: Move KeypairListComponent to parameterRenderComponent/components folder

* refactor: Add KeyPairListComponentType interface to parameterRenderComponent/types.ts

* refactor: Update KeypairListComponent to use InputProps in parameterRenderComponent

Refactor the KeypairListComponent in parameterRenderComponent to use the InputProps interface for better type checking and consistency. This refactor improves code organization and maintainability.

* refactor: Move DictComponent to parameterRenderComponent/components folder

* refactor: Update KeyPairListComponentType interface in parameterRenderComponent/types.ts

* refactor: Update KeypairListComponent to use InputProps in parameterRenderComponent

* refactor: Move InputListComponent to parameterRenderComponent/components folder

Move the InputListComponent to the parameterRenderComponent/components folder for better code organization and maintainability.

* refactor: Add StrRenderComponentType interface to parameterRenderComponent/types.ts

* refactor: Move InputListComponent to parameterRenderComponent/components folder

* refactor: Move InputListComponent to parameterRenderComponent/components folder

* refactor: Move InputListComponent to parameterRenderComponent/components folder

Move the InputListComponent to the parameterRenderComponent/components folder for better code organization and maintainability.

* refactor: Update InputListComponent to use InputProps in parameterRenderComponent

Refactor the InputListComponent in parameterRenderComponent to use the InputProps interface for better type checking and consistency. This refactor improves code organization and maintainability.

* refactor: Move IOFieldView to IOModal/components folder

Move the IOFieldView component to the IOModal/components folder for better code organization and maintainability.

* refactor: Move DropdownComponent to parameterRenderComponent/components folder

* refactor: Add DropDownComponentType interface to parameterRenderComponent/types.ts

* refactor: Update DropdownComponent import in StrRenderComponent

Update the import statement for DropdownComponent in StrRenderComponent to reflect its new location in the parameterRenderComponent/components folder. This refactor improves code organization and maintainability.

* refactor: Update StrRenderComponent to use baseInputProps

Refactor the StrRenderComponent in parameterRenderComponent to use the baseInputProps object instead of individual props for better code organization and maintainability.

* refactor: Update StrRenderComponent to use TextAreaComponent from correct location

Update the import statement for TextAreaComponent in StrRenderComponent to reflect its new location in the parameterRenderComponent/components folder. This refactor improves code organization and maintainability.

* remove unused imports

* refactor: Add TextAreaComponentType interface to parameterRenderComponent/types.ts

* refactor: Update TextAreaComponent to use handleOnNewValue instead of onChange

Refactor the TextAreaComponent in parameterRenderComponent to use the handleOnNewValue function instead of the onChange function for better code consistency. This change aligns with the recent updates to the component's props and improves maintainability.

* refactor: Update StrRenderComponent to use baseInputProps

Refactor the StrRenderComponent in parameterRenderComponent to use the baseInputProps object instead of individual props for better code organization and maintainability.

* refactor: Move inputGlobalComponent to parameterRenderComponent/components folder

Move the inputGlobalComponent to the parameterRenderComponent/components folder to improve code organization and maintainability.

* refactor: Move inputGlobalComponent to parameterRenderComponent/components folder

* refactor: Update InputGlobalComponent to use handleOnNewValue instead of onChange

Refactor the InputGlobalComponent in parameterRenderComponent to use the handleOnNewValue function instead of the onChange function for better code consistency. This change aligns with the recent updates to the component's props and improves maintainability.

* refactor: Update StrRenderComponent to use baseInputProps

Refactor the StrRenderComponent in parameterRenderComponent to use the baseInputProps object instead of individual props for better code organization and maintainability.

* refactor: Move multiselectComponent to parameterRenderComponent/components folder

Move the multiselectComponent to the parameterRenderComponent/components folder to improve code organization and maintainability.

* refactor: Move MultiselectComponent to parameterRenderComponent/components folder

Move the MultiselectComponent to the parameterRenderComponent/components folder to improve code organization and maintainability.

* refactor: Move MultiselectComponent to parameterRenderComponent/components folder

* refactor: Move MultiselectComponent to parameterRenderComponent/components folder

* refactor: Remove unused code in StrRenderComponent

* refactor: Remove unused code in StrRenderComponent

* refactor: Remove unused code in StrRenderComponent

* [autofix.ci] apply automated fixes

*  (tableInputComponent.spec.ts): add ua-parser-js library to parse user agent information for better control handling based on OS
🔧 (tableInputComponent.spec.ts): update key press event to use the correct control key based on the user's operating system for textarea selection.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
2024-10-08 18:29:23 +00:00
anovazzi1
94a647f60d
feat: Add target="_blank" to Markdown links in NodeDescription and ChatMessage components (#4060)
* feat: Add target="_blank" to Markdown links in NodeDescription and ChatMessage components

* added gfm back
2024-10-08 16:58:23 +00:00
anovazzi1
dce5523f5e
fix: Add useUpdateNodeInternals hook to handle node class changes (#4058)
* fix: Add useUpdateNodeInternals hook to handle node class changes

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
2024-10-07 18:04:07 -03: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
anovazzi1
99cdaaf073
feature: Add cursor highlight feature in canvas page (#4007)
* added a color change in cursor to help user find the cursor in the canvas page

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
2024-10-04 13:59:56 +00:00
namastex888
350189c88d
feat(tools): add TavilyAI search tool for enhanced LLM search results (#3774)
* add tavily new icon

* feat(tools): add TavilyAI search tool for enhanced LLM search results

* [autofix.ci] apply automated fixes

* add tavily icon

* [autofix.ci] apply automated fixes

---------

Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
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-03 17:38:44 +00:00
Edwin Jose
461238aa0e
fix: Add session_id Parameter to run_flow_from_json Function (#3989)
This pull request fixes the `run_flow_from_json` function by adding  `session_id` parameter. This update ensures that session management is properly handled during flow execution.

Changes include:
- Added `session_id` as an optional input parameter.
- Updated function documentation to reflect the inclusion of the new parameter.
- Added unit test for run_flow_from_json input parameters

This fix enhances the function's usability by allowing for better tracking of individual sessions.
2024-10-03 15:43:31 +00:00
Yuqi Tang
91e5ae797d
fix: make streaming work in JS code example (#3891)
* fix js code

* fix js code

* fix js code

* fix js code

* update js code

* update js code
2024-10-02 23:34:05 +00:00
anovazzi1
0d796db02c
feat: add integrations category in the sidebar (#3843)
* feat: Add skipFallback parameter to ForwardedIconComponent

This commit adds a new skipFallback parameter to the ForwardedIconComponent in the genericIconComponent module. The skipFallback parameter allows developers to skip rendering the fallback component when using Suspense. This can be useful in cases where the fallback component is not needed or should be handled differently.

* feat: Add skipFallback parameter to IconComponentProps

* feat: Add skipFallback parameter to IconComponentProps and ForwardedIconComponent

This commit adds the skipFallback parameter to the IconComponentProps and ForwardedIconComponent. This parameter allows skipping the fallback icon rendering when the specified icon is not found. The skipFallback parameter is used in the ParentDisclosureComponent to conditionally render the chevron-down or chevron-right icon based on the component's state.

The commit also updates the defaultOpen value in the ParentDisclosureComponent in the ExtraSidebarComponent. The defaultOpen value is set to true, ensuring that the "Integrations" section is always expanded when the component is rendered.

* refactor: Update ExtraSidebarComponent layout and styling

* [autofix.ci] apply automated fixes

* move file

* move file

* move file

* move file

* move file

* Update NotionLogo size

* Update size of AssemblyAI logo

* Update colors and names for AssemblyAI in styleUtils.ts

* Update BUNDLES_SIDEBAR_FOLDER_NAMES in constants.ts

* [autofix.ci] apply automated fixes

* add changes from pr #3934

* chore: add cache.db to .gitignore

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-10-02 12:07:57 -07:00
Yuqi Tang
06239ea63a
Fix: change note node horizontal padding (#3991)
* fix notes style

* fix notes style

* adding ghost node

* [autofix.ci] apply automated fixes

* change cursor position

* update notes related test

* [autofix.ci] apply automated fixes

* adjust shadow block width

* move cursor to middle:

* [autofix.ci] apply automated fixes

* fix padding

* change note node horizontal padding

* [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 <gabriel@langflow.org>
2024-10-02 10:56:36 -05:00
Yuqi Tang
e58b27062c
feat: improve notes design (#3938)
* fix notes style

* fix notes style

* adding ghost node

* [autofix.ci] apply automated fixes

* change cursor position

* update notes related test

* [autofix.ci] apply automated fixes

* adjust shadow block width

* move cursor to middle:

* [autofix.ci] apply automated fixes

* fix padding

---------

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:45:19 -07:00
João
b9bcb09e63
feat: Add OpenSearch VectorStore Component with Ingest and Search Capabilities (#3799)
* update: adding opensearch-py dependency

* feat: adding OpenSearch icon

* feat: adding OpenSearch VectorStore code

* fix: removing unused methods and adding hybrid search capabilities using search method

* update: poetry lock with recent hash added

* fix: removing unused methods and adding hybrid search capabilities using search method

* fix: default value of search_input to an empty string

* fix: adapting code to match make format script
2024-10-01 21:42:55 +00:00
Cristhian Zanforlin Lousa
7f10a2a201
fix: playground img not working (#3980)
* 🐛 (model.py): fix issue where message.files was not being updated correctly when image_paths is empty in MessageBase class

* 🐛 (model.py): simplify condition for checking if image_paths is not empty to improve readability and maintainability

* [autofix.ci] apply automated fixes

* 🔧 (OutputParser.py): refactor error message handling for unsupported or missing parser to improve readability and maintainability

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-10-01 18:54:11 +00:00
Mendon Kissling
34f18185c5
docs: add notes to flows (#3861)
* add-note

* notes

* vector-store-rag-notes

* vector-store-rag-notes

* comma

* comma

* revert

* add-notes

* another-way

* revert

* revert

* fix

* descriptions

* lightbulb

* deployed-size

* size

* size

* resizing-is-true

* targethandle

* double

* set-components

* pin

* notes

* fix

* dont-change-code

* cleanup

* update example

* fix postion on example

* fix-descriptions

* swap-link

* newline-and-lightbulb

* another-docs-link

* play-button

* remove-double

* update NODE_FORMAT_ATTRIBUTES to prevent description updates on examples

* Update AstraDB documentation link

* update documentation on code

*  (chatInputOutputUser-shard-0.spec.ts): update the test to click on the last element with the text "Playground" to ensure correct element is clicked

* 🐛 (Basic Prompting.spec.ts): fix clicking on "Playground" element by selecting the last occurrence to ensure correct element is clicked

*  (Blog Writer.spec.ts): update test to click on the last element with text "Playground" to ensure correct element is clicked on the page

*  (Dynamic Agent.spec.ts): update test to click on the last element with text "Playground" to ensure correct element is clicked on the page

* 🐛 (decisionFlow.spec.ts): fix clicking on "Playground" button by selecting the last element with the text "Playground" to ensure correct element is clicked

* 🐛 (generalBugs-shard-3.spec.ts): fix clicking on "Playground" button by selecting the last occurrence to prevent ambiguity

* 🐛 (generalBugs-shard-0.spec.ts): fix clicking on "Playground" button by selecting the last element with the text "Playground" to ensure correct element is clicked

* 🐛 (general-bugs-shard-3836.spec.ts): fix clicking on "Playground" button by selecting the last element with the text "Playground" to ensure correct element is clicked

*  (chatInputOutputUser-shard-2.spec.ts): update test to click on the last element with text "Playground" to ensure correct interaction with chat input/output feature

*  (stop-button-playground.spec.ts): update test to click on the last occurrence of the text "Playground" to ensure correct element is clicked

* 🐛 (limit-file-size-upload.spec.ts): fix selector to click on the last element with text "Playground" instead of the first one

*  (fileUploadComponent.spec.ts): update test to click on the last element with text "Playground" to ensure correct element is clicked on the page

*  (chatInputOutput.spec.ts): update test to click on the last occurrence of the "Playground" text to ensure correct element is clicked

* 🐛 (generalBugs-shard-9.spec.ts): fix clicking on "Playground" element by selecting the last occurrence to prevent flakiness in tests

* 🐛 (Document QA.spec.ts): fix clicking on "Playground" element by selecting the last occurrence to ensure correct element is clicked

*  (similarity.spec.ts): update click method to target the last occurrence of "Playground" text to ensure correct element is clicked

* 🐛 (Simple Agent.spec.ts): fix clicking on "Playground" button by selecting the last element with the text to avoid ambiguity

*  (textInputOutput.spec.ts): update test script to target the last occurrence of the "Playground" text element to ensure correct interaction with the UI.

*  (Travel Planning Agent.spec.ts): Update the selector for the "Playground" text to ensure the correct element is clicked on the page.

* 🐛 (Vector Store.spec.ts): fix clicking on "Playground" element by selecting the last one to avoid ambiguity

*  (generalBugs-shard-9.spec.ts): add click action on the last element with test id "title-Prompt" to improve test coverage and interaction with the page

---------

Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
2024-10-01 16:26:18 +00:00
Mike Fortman
e63c377283
fix: Only show error state on components w/ errors for node validation (#3968)
* Only show error state on components w/ errors for node validation

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-10-01 10:22:31 -05:00
Lucas Oliveira
855694208e
fix: update docs link (#3966)
Fix docs link
2024-09-30 20:29:32 +00:00
Ítalo Johnny
f873309004
fix: security file upload (#3923)
* fix: add check user authentication
* fix: add request body multipart boundary validation
2024-09-30 19:14:03 +00:00