🐛 fix(utils.py): add input validation for 'chat_inputs.message' to prevent errors when no message is provided
🐛 fix(loading.py): add type hint for 'format_kwargs' variable in instantiate_prompt function
🐛 fix(base.py): add type hint for 'inputs' parameter in get_result_and_steps function
The changes in `base.py` and `utils.py` are bug fixes that address potential issues in the code. The type hint for the 'template' attribute in the `FrontendNodeRequest` class is added to improve code clarity and maintainability. The input validation for 'chat_inputs.message' in the `process_graph` function ensures that an error is raised when no message is provided, preventing potential issues down the line. In `loading.py`, the type hint for the 'format_kwargs' variable in the `instantiate_prompt` function improves type safety. Lastly, in `base.py`, the type hint for the 'inputs' parameter in the `get_result_and_steps` function ensures proper type checking.
The 'type_name' attribute for the 'Tools' field in the 'ZeroShotAgent' class has been changed to 'field_type' to improve consistency with the naming conventions used in the codebase.
The condition to remove empty input_key and output_key parameters has been fixed to correctly handle cases where the parameters are empty strings. This ensures that the parameters are only removed if they are either empty strings or not present in the params dictionary.
The prettier-plugin-organize-imports package is added to the project to improve code formatting. This plugin helps to organize and sort import statements in a consistent and standardized manner, making the codebase more readable and maintainable.
🔧 fix(genericModal/index.tsx): fix CSS class name in flex container to change height to h-[55vh]
🔧 fix(genericModal/index.tsx): fix CSS class name in div container to change height to h-[60px] and adjust width for different screen sizes
🔧 fix(genericModal/index.tsx): fix CSS class name in Badge component to add max-width and truncate long text
🔧 fix(genericModal/index.tsx): fix logic to handle long text in Tooltip component and truncate it if necessary
🔧 fix(genericModal/index.tsx): fix logic to handle button click in DialogFooter component and close modal if input value is empty
The syntax error was caused by a missing quotation mark in the default value of the JSON string. The fix adds the missing quotation mark to ensure the JSON string is valid.
The import statement for the 'typing' module was incorrectly indented, causing a syntax error. The import statement has been fixed to align with the correct indentation.
In the getPythonApiCode function, the run_flow function had an unnecessary type annotation for the message parameter. It was removed to improve code readability. Additionally, the variable name in the run_flow function was changed from inputs to payload to better reflect its purpose.
In the getCurlCode function, support for dynamic inputs was added. The inputs variable is now passed as an argument to the flow function, allowing for flexibility in providing different inputs when generating the curl code.
🐛 fix(constants.tsx): remove unnecessary type annotation and fix variable name in run_flow function
✨ feat(chatMessage/index.tsx): add labels for chatbot and user avatars to improve accessibility and user experience
🐛 fix(chatMessage/index.tsx): adjust styling of chat message content to prevent overflow and improve readability
🐛 fix(chatMessage/index.tsx): adjust button background color to match the background color of the chat message container
🔨 refactor(modals/ApiModal/index.tsx): pass tabsState parameter to getPythonApiCode, getCurlCode, and getPythonCode functions to build inputs dynamically
🔨 refactor(utils.ts): add buildInputs function to build inputs dynamically based on tabsState
🐛 fix(inputFileComponent): fix class order in className to ensure proper styling
🐛 fix(textAreaComponent): fix class order in className to ensure proper styling
🐛 fix(API): remove trailing whitespace at the end of the file
🐛 fix(ApiModal): add missing space before if statement condition
🐛 fix(genericModal): remove unnecessary whitespace and fix class order in className
🐛 fix(utils): add missing comma in INVALID_CHARACTERS array
🐛 fix(tailwind.config.js): add missing comma in custom-scroll CSS rule
🔨 refactor(chatMessage/index.tsx): simplify rendering of matched text in AccordionContent by using a span instead of a div
🔨 refactor(chatMessage/index.tsx): remove unnecessary div wrapper around chat.message[chat.chatKey]
🎨 style(genericModal): add custom-scroll class to div to enable vertical scrolling
🐛 fix(genericModal): set value of inputValue before closing modal in case 1 of switch statement
🐛 fix(genericModal): fix indentation and add missing semicolon in case 2 of switch statement
🔧 fix(types.py): process field_type to convert "Prompt" to "prompt"
The `utils.py` file was missing an import statement for the `CustomComponent` class from the `langflow.interface.custom.custom` module. This import statement has been added to the top of the file. Additionally, a new function `import_custom_component` has been added to import a custom component based on its name.
In the `types.py` file, a new function `process_type` has been added to convert the field_type "Prompt" to "prompt". This is done to ensure consistency in the field types used throughout the codebase.
The code now uses ast.literal_eval to evaluate each item in the split_item list. This is done to handle cases where the items are not strings and cannot be directly converted to their respective types. This ensures that the output_list contains correctly evaluated items.
🐛 fix(loading.py): fix instantiation of custom components and handle single document input in instantiate_textsplitter function
The code in loading.py has been reorganized to improve readability and remove duplicate import_by_type function. The instantiation of custom components has been fixed to correctly build the class object. Additionally, the instantiate_textsplitter function now handles single document input by converting it to a list before processing.
The contextlib.suppress block was suppressing import errors, but it is no longer needed as the import errors are handled elsewhere in the code. Removing this block improves code readability and removes unnecessary complexity.
🔀 refactor(constants.py): refactor build method in YourComponent class to use PromptTemplate and limit response text length
The YourComponent class in constants.py has been refactored to improve readability and remove unused imports. The build method now uses PromptTemplate to handle the template parameter and limits the length of the response text to 300 characters to avoid potential issues.
🔧 fix(constants.py): remove unused import statements
🔧 fix(types.py): refactor add_new_custom_field function to update field_config values
The import statement for `get_custom_nodes` in `base.py` is removed as it is not being used in the code. Similarly, the import statements for `requests` and `LLMChain` in `constants.py` are removed as they are not being used either.
In `types.py`, the `add_new_custom_field` function is refactored to update the values of `field_config` if any of the keys are present in it. This allows for more flexibility in customizing the field configuration for a custom component.
🐛 fix(custom_components.py): update import statement for DEFAULT_CUSTOM_COMPONENT_CODE constant
🐛 fix(tools.py): update import statement for DEFAULT_CUSTOM_COMPONENT_CODE constant
The `CustomComponent` class now supports parsing annotated assignments, allowing attributes with annotated values to be added to the `attributes` dictionary. This improves the flexibility and extensibility of the class.
The import statement for the `DEFAULT_CUSTOM_COMPONENT_CODE` constant in `custom_components.py` and `tools.py` has been updated to reflect the correct location of the constant in the `langflow.interface.custom.constants` module. This ensures that the correct value is imported and used in the code.
🔥 chore(constants.py): remove unused DEFAULT_CUSTOM_COMPONENT_CODE constant
The FieldFormatter class now inherits from pydantic.BaseModel, which allows for improved type checking and validation of the format method arguments. The unused DEFAULT_CUSTOM_COMPONENT_CODE constant has been removed to clean up the codebase.
- Removed the `postCustomComponent` function from the API controller.
- Fixed formatting issues in the `CodeAreaModal` component.
- Removed unnecessary code comments and imports.
This commit simplifies the codebase and improves readability.
The CustomComponentFrontendNode class is added to the custom_components.py file. This class represents a custom component in the frontend of the application. It has properties such as name, display_name, template, description, and base_classes. The template property defines the structure of the custom component, including a code field with default value. The to_dict() method is also implemented to convert the class instance to a dictionary. This allows the custom component to be serialized and used in other parts of the application.
The custom_components module is now included in the list of exported modules in the frontend_node package. This change allows other modules or packages to import and use the custom components provided by the frontend_node package.