Commit graph

2,676 commits

Author SHA1 Message Date
Gustavo Schaedler
12164ec79a
CSS Color Changes and Dark Mode Implementation - New Style Features (#572)
This pull request introduces significant style changes to the website,
focusing on CSS color modifications and the implementation of a dark
mode feature. These updates enhance the overall visual appeal and
improve user experience in different lighting environments. Below is a
detailed overview of the changes made.

Updated Color Palette: The existing color scheme has been revamped to
create a more visually appealing and cohesive design. This involved
modifying the colors used throughout the website, including background
colors, text colors, and accent colors.

Dark Mode Implementation: A new feature, dark mode, has been added to
provide users with an alternative interface that is easier on the eyes
in low-light environments. The dark mode utilizes a new set of colors
specifically designed for this mode, ensuring optimal readability and
aesthetic appeal.

CSS Classes and Selectors: New CSS classes and selectors have been
introduced to facilitate the implementation of the color changes and
dark mode feature. These classes are applied to specific elements within
the HTML structure, allowing for precise control over the appearance of
different components.
2023-06-30 00:41:27 +01:00
Cristhian Zanforlin Lousa
e95dd524a8 formatting branch 2023-06-29 19:58:34 -03:00
Gustavo Schaedler
d3793e364c
Adding New Components, XSS treatment in the chat, other fixes (#571)
- PostgresChatMessageHistory added to allow loading memory from external
sources
- MultiQueryRetriever added which builds better queries to
Retrievers/VectorStores
- XSS protection in the chat that uses markdown
- FrontendNode refactor start
- Fix Serializable nodes that were exposing wrong base classes on
Components
- ConversationEntityMemory as the first memory with EntityStore (entity
stores coming very soon)
2023-06-29 23:52:12 +01:00
Cristhian Zanforlin Lousa
4039540148 🐛 fix(GenericNode): add strokeWidth property to Icon component to fix styling issue
🐛 fix(NodeModal): add strokeWidth property to Icon component to fix styling issue
🐛 fix(DisclosureComponent): add strokeWidth property to Icon component to fix styling issue
🐛 fix(extraSidebarComponent): add strokeWidth property to Icon components to fix styling issue
2023-06-29 19:51:28 -03:00
Gabriel Luiz Freitas Almeida
ca32bc3ab5 📦 chore(poetry.lock): update strenum package version to 0.4.15
The strenum package has been updated from version 0.4.12 to version 0.4.15. This update may include bug fixes, performance improvements, or new features.
2023-06-29 19:46:33 -03:00
Gabriel Luiz Freitas Almeida
9fe13ca52d 🔀 chore(test_llms_template.py): rename base class from "Serializable" to "BaseLLM" for clarity and consistency
The base class "Serializable" has been renamed to "BaseLLM" to provide a more descriptive and consistent name for the class. This change improves clarity and maintainability of the code.
2023-06-29 19:46:08 -03:00
Cristhian Zanforlin Lousa
a8d7edff7a 🔧 fix(frontend): update class names and colors in singleAlertComponent and NoticeAlert components to match the new design
🔧 fix(frontend): update class names and colors in index.css to match the new design
🔧 fix(frontend): update tailwind.config.js to use the new color variable name 'status-blue' instead of 'medium-dark-blue'
2023-06-29 19:45:22 -03:00
Gabriel Luiz Freitas Almeida
169815fd3f
Flow Tweaks (#567) 2023-06-29 19:39:10 -03:00
Gabriel Luiz Freitas Almeida
60032d6146 🐛 fix(AccordionComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(codeAreaComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(dropdownComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(floatComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(inputFileComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(inputListComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(intComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(promptComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(textAreaComponent): fix formatting and add missing semicolons to improve code readability and maintainability
🐛 fix(ui/accordion.tsx): fix formatting and add missing semicolons to improve code readability and maintainability

The changes were made to fix formatting issues and add missing semicolons in the code. This improves code readability and maintainability, making it easier for developers to understand and work with the code.

🐛 fix(constants.tsx): fix formatting and indentation issues in the buildTweakObject function
🐛 fix(popUpContext.tsx): remove unnecessary empty line
🐛 fix(tabsContext.tsx): remove unnecessary empty line
🐛 fix(ApiModal/index.tsx): fix formatting and indentation issues
🐛 fix(codeAreaModal/index.tsx): fix formatting and indentation issues
🐛 fix(types/components/index.ts): remove unnecessary empty line
The changes in constants.tsx fix formatting and indentation issues in the buildTweakObject function to improve code readability. The changes in popUpContext.tsx, tabsContext.tsx, ApiModal/index.tsx, codeAreaModal/index.tsx, and types/components/index.ts fix formatting and indentation issues to ensure consistent code style.
2023-06-29 19:36:22 -03:00
Gabriel Luiz Freitas Almeida
b188400517 🐛 fix(loading.py): improve error message formatting when failing to build connection to database
🐛 fix(base.py): add optional 'name' parameter to the format method in FieldFormatter
In loading.py, the error message when failing to build a connection to the database is now formatted in a more readable way. This improves the clarity of the error message and makes it easier to identify the cause of the issue.

In base.py, the format method in FieldFormatter now accepts an optional 'name' parameter. This allows for more flexibility when formatting the field and provides the ability to include the field name in the formatting process if needed.
2023-06-29 19:36:04 -03:00
Gabriel Luiz Freitas Almeida
15e38be62e
Merge branch 'release' into feat-tweaks 2023-06-29 19:22:12 -03:00
Gabriel Luiz Freitas Almeida
879390488e 🔖 chore(pyproject.toml): update package version to 0.2.7
The package version has been updated from 0.2.6 to 0.2.7. This change is made to reflect the latest changes and improvements in the package.
2023-06-29 19:06:50 -03:00
Gabriel Luiz Freitas Almeida
67d889c8d0
Merge branch 'main' into release 2023-06-29 19:05:10 -03:00
Gabriel Luiz Freitas Almeida
eb53798c41 🐛 fix(utils.ts): update color code for "retrievers" in nodeColors object
The color code for the "retrievers" category in the nodeColors object has been updated from "#F5B85A" to "#e6b25a". This change was made to ensure consistency and improve the visual representation of the "retrievers" category.
2023-06-29 18:43:37 -03:00
Gabriel Luiz Freitas Almeida
4f94662881 📝 docs(config.yaml): add documentation for ConversationEntityMemory integration
The ConversationEntityMemory integration is now documented in the config.yaml file. This provides a link to the documentation for using the ConversationEntityMemory module with SQLite as the underlying storage. This change improves the clarity and accessibility of the documentation for this integration.
2023-06-29 18:43:24 -03:00
Rodrigo Nader
9098d8cd29 remove index1 2023-06-29 18:43:05 -03:00
Rodrigo Nader
262eac0f46 Merge remote-tracking branch 'origin/dev' into new-style-features 2023-06-29 18:42:53 -03:00
Cristhian Zanforlin Lousa
82c469d3c2 🔥 refactor(constants.tsx): remove console.log statements for better code cleanliness and performance 2023-06-29 18:42:40 -03:00
Cristhian Zanforlin Lousa
fdb998688a 🐛 fix(codeAreaComponent): update initial state of myValue to handle non-string values properly
🐛 fix(constants.tsx): refactor getCurlCode and getPythonCode to use buildTweakObject function for generating tweak object

🐛 fix(ApiModal): update logic for opening accordions based on tweak.current length and closeEdit value
2023-06-29 18:42:09 -03:00
Gabriel Luiz Freitas Almeida
2b33334de6 🔒 chore(poetry.lock): update google-api-python-client version to 2.91.0
🔒 chore(poetry.lock): update joblib version to 1.3.1
The versions of the anthropic, google-api-python-client, and joblib packages have been updated to their latest versions. This ensures that the application is using the most recent bug fixes, improvements, and features provided by these packages.
2023-06-29 18:41:23 -03:00
Rodrigo Nader
27b17a13c2 Refactor styles and class names in multiple components, update color variables, and adjust button and control styles.
- Simplify class names in the SingleAlert component and update color variables.
- Update class names and color variables in the Dialog component.
- Update color variables in the constants file.
- Update color variables and class names in the index.css file.
- Update class names and color variables in the PageComponent file.
- Add a color variable for shared blur styles.
- Update Tailwind CSS configuration to include new color variables.

Note: These changes improve code readability and maintain color consistency throughout the application.
2023-06-29 18:39:00 -03:00
Gabriel Luiz Freitas Almeida
08c7bb5230 🐛 fix(loading.py): catch additional exception when object has no 'conn' field to improve error handling
The code now catches an additional exception when the object does not have a 'conn' field. This improves the error handling by providing a more specific error message when building a connection to the database fails.
2023-06-29 18:38:36 -03:00
Gabriel Luiz Freitas Almeida
4761eda9a0 🔀 chore(base.py): add 'SQLiteEntityStore' to 'from_method_nodes' dictionary
The 'from_method_nodes' dictionary in the 'MemoryCreator' class in 'base.py' has been updated to include the 'SQLiteEntityStore' class and its '__init__' method. This change allows the 'SQLiteEntityStore' class to be used as a memory node in the LangFlow application.
2023-06-29 18:38:08 -03:00
Gabriel Luiz Freitas Almeida
6fa295b8a8 🐛 fix(memories.py): fix condition to add extra fields in MemoryFrontendNode class
 feat(memories.py): add show attribute to entity_store field in MemoryFrontendNode class
The condition to add extra fields in the MemoryFrontendNode class has been fixed to correctly check if any of the base classes are in a list of base message classes. Additionally, the show attribute has been added to the entity_store field in the MemoryFrontendNode class to control its visibility.
2023-06-29 18:37:52 -03:00
Gabriel Luiz Freitas Almeida
c834d91efd 🐛 fix(util.py): exclude "kwargs" and "args" parameters from the generated template dictionary
The "kwargs" and "args" parameters are now excluded from the generated template dictionary. This ensures that only the relevant parameters are included in the template, improving the accuracy and usefulness of the generated template.
2023-06-29 18:37:33 -03:00
Gabriel Luiz Freitas Almeida
f81a835001 🐛 fix(process.py): add error handling for unknown langchain_object types
When processing the data graph, if the langchain_object is of an unknown type, a ValueError is now raised. This provides better error handling and helps identify any unexpected langchain_object types that may be encountered during processing.
2023-06-29 18:19:22 -03:00
Gabriel Luiz Freitas Almeida
7eeacfbb31 🐛 fix(base.py): add support for creating MemoryFrontendNode from a method
 feat(base.py): add support for creating MemoryFrontendNode from a specific method in ZepChatMessageHistory class
The `MemoryCreator` class now supports creating `MemoryFrontendNode` from a specific method in the `ZepChatMessageHistory` class. This is achieved by adding the `from_method_nodes` dictionary with the method name as the key and the class name as the value. The `build_template_from_method` function is used to create the `MemoryFrontendNode` from the specified method. This enhancement allows for more flexibility in creating `MemoryFrontendNode` instances.
2023-06-29 17:39:46 -03:00
Gabriel Luiz Freitas Almeida
77cc23bf5f 🐛 fix(base.py): fix method name in build_template_from_method call for MultiQueryRetriever
 feat(base.py): add support for ZepRetriever in from_method_nodes dictionary
The build_template_from_method call for the MultiQueryRetriever in the get_signature method was using the incorrect method name "from_llm". It has been fixed to use the correct method name "from_method_nodes". Additionally, support for the ZepRetriever has been added to the from_method_nodes dictionary to allow for its usage in the RetrieverCreator class.
2023-06-29 17:39:36 -03:00
Gabriel Luiz Freitas Almeida
e24ad0513b 🔧 chore(memories.py): set 'url' field to be shown in the frontend
The 'url' field in the MemoryFrontendNode class is now set to be shown in the frontend. This change allows the 'url' field to be visible and accessible to users in the frontend interface.
2023-06-29 17:39:25 -03:00
Gabriel Luiz Freitas Almeida
26c42cac05 🔧 chore(util.py): exclude "self" parameter from template building
The "self" parameter is now excluded from the template building process. This change improves the accuracy of the generated template by removing unnecessary information.
2023-06-29 17:39:12 -03:00
Gabriel Luiz Freitas Almeida
9e44720ac8 🔧 chore(config.yaml): comment out unused integrations in memories and retrievers sections
The unused integrations in the memories and retrievers sections have been commented out to improve code readability and remove unnecessary clutter. These integrations are not currently being used in the application and can be safely ignored.
2023-06-29 17:38:58 -03:00
Rodrigo Nader
c0dbafe49f refactor(components): Update CSS classes in codeAreaComponent, floatComponent, intComponent, and dialog
- Update CSS classes in codeAreaComponent, floatComponent, intComponent, and dialog components to improve styling and maintain consistency.
- Replace specific color values with Tailwind CSS utility classes.
- Refactor input styles and focus styles for better user experience.
- Remove unused CSS classes from index.css.
2023-06-29 16:49:24 -03:00
Cristhian Zanforlin Lousa
a41c8552a8 🎨 style(parameterComponent): add full width to the div container for better layout consistency 2023-06-29 16:42:38 -03:00
Cristhian Zanforlin Lousa
5522b51d6b 🐛 fix(parameterComponent): add margin-top to the container divs to improve spacing between elements 2023-06-29 16:41:41 -03:00
Cristhian Zanforlin Lousa
9bf5adcd7a 🔧 chore(extraSidebarComponent/index.tsx): center align the input field in the extra sidebar component for better visual consistency 2023-06-29 15:24:01 -03:00
Gabriel Luiz Freitas Almeida
473bde940c 🐛 fix(loading.py): add error handling for missing 'cursor' attribute in instantiate_memory function
The instantiate_memory function now includes error handling for a specific AttributeError that occurs when the object does not have a 'cursor' attribute. If this error occurs, an AttributeError is raised with a specific error message indicating a failure to build a connection to the database. This change improves the error handling and provides more informative error messages for debugging purposes.
2023-06-29 15:17:23 -03:00
Gabriel Luiz Freitas Almeida
ac2e05d8cf
Fixed broken link (#568) 2023-06-29 14:31:48 -03:00
Cristhian Zanforlin Lousa
7c777bf692 🐛 fix(ApiModal/index.tsx): fix linting issues and improve code readability
 feat(ApiModal/index.tsx): add support for displaying tweaks code in a separate tab if there are any tweaks present
2023-06-29 14:17:55 -03:00
Gabriel Luiz Freitas Almeida
3ced33b678 🔧 chore(base.py): add method to remove unwanted base classes from the list of base classes
🐛 fix(base.py): call the method to remove unwanted base classes before converting the frontend node to a dict
The `process_base_classes` method is added to the `FrontendNode` class to remove unwanted base classes from the list of base classes. This method iterates over the base classes and filters out any classes that are present in the `CLASSES_TO_REMOVE` list. The method is then called before converting the frontend node to a dictionary representation in the `to_dict` method to ensure that the unwanted base classes are not included in the final output.
2023-06-29 13:07:04 -03:00
Gabriel Luiz Freitas Almeida
549a8dedc5 🔧 chore(llms.py): add method to add extra base classes to improve extensibility
The `add_extra_base_classes` method is added to the `LLMFrontendNode` class. This method checks if the "BaseLLM" class is already present in the `base_classes` list and appends it if not. This change allows for easier extensibility by providing a way to add additional base classes to the `LLMFrontendNode` class.
2023-06-29 11:18:19 -03:00
Gabriel Luiz Freitas Almeida
8cc0497120 🔀 refactor(base.py): add from_method_nodes dictionary to RetrieverCreator class
The `from_method_nodes` dictionary is added to the `RetrieverCreator` class in order to map the "MultiQueryRetriever" node to the "from_llm" method. This refactor improves the readability and maintainability of the code by explicitly defining the mapping between nodes and methods.
2023-06-29 11:18:11 -03:00
Gabriel Luiz Freitas Almeida
72b6681f5a 🔧 chore(loading.py): add support for instantiating retrievers in the initialization process
🚀 feat(loading.py): implement the ability to instantiate retrievers based on node type and class object
The `instantiate_based_on_type` function now includes a new condition to handle the instantiation of retrievers. The `instantiate_retriever` function is introduced to handle the specific logic for creating retrievers. This change allows for the dynamic creation of retrievers based on the provided node type and class object.
2023-06-29 11:17:59 -03:00
Gabriel Luiz Freitas Almeida
6b893237d0 🐛 fix(utils.py): add import_retriever function to import retriever module
 feat(utils.py): add support for importing retriever module based on retriever name
The `import_retriever` function is added to the `utils.py` module to allow importing the retriever module based on the retriever name. This function uses the `import_module` function from the `importlib` module to dynamically import the retriever module from the `langchain.retrievers` package. This enhances the modularity and extensibility of the codebase by providing a convenient way to import retrievers based on their names.
2023-06-29 11:17:30 -03:00
Gabriel Luiz Freitas Almeida
6ef5e56c5c feat(graph): add RetrieverVertex to the list of available vertex types
The RetrieverVertex class is added to the list of available vertex types in the langflow.graph.vertex.types module. This allows for the creation of vertices that represent retrievers in the graph.
2023-06-29 11:16:05 -03:00
Gabriel Luiz Freitas Almeida
f1de9a554d 🔀 refactor(constants.py): import vertex types from langflow.graph.vertex.types as types for improved readability and maintainability
The import statements for vertex types in the constants.py file have been refactored to import from langflow.graph.vertex.types as types. This change improves the readability and maintainability of the code by making it clear where the vertex types are coming from.
2023-06-29 11:15:51 -03:00
Gabriel Luiz Freitas Almeida
f1e2bbb69c 🐛 fix(chat.py): change BuildStatus.IN_PROGRESS to BuildStatus.STARTED for better clarity
🐛 fix(chat.py): fix incorrect key used to retrieve graph_data from flow_data_store
The BuildStatus.IN_PROGRESS constant is changed to BuildStatus.STARTED to provide a more accurate representation of the flow status. Additionally, the incorrect key "data" is replaced with "graph_data" when retrieving the graph data from the flow_data_store dictionary.
2023-06-29 10:54:27 -03:00
Cristhian Zanforlin Lousa
c954f8d338 🐛 fix(AccordionComponent): fix the logic to set the initial value of the accordion based on the open prop array
 feat(AccordionComponent): add support for multiple open accordions by changing the open prop from boolean to string array
🐛 fix(constants.tsx): remove escape characters from the JSON stringified tweaks to fix parsing issues
 feat(constants.tsx): add support for tweaks dictionary in the getCurlCode and getPythonCode functions
🐛 fix(ApiModal): fix the logic to set the initial value of the openAccordion state based on the getTweak array
 feat(ApiModal): add support for opening accordions based on the getTweak array when switching to the Tweak tab
🐛 fix(ApiModal): fix the logic to filter and remove empty tweaks from the tweak.current array
 feat(ApiModal): add support for adding new tweaks to the tweak.current array and generating Python API code
🐛 fix(ApiModal): fix the logic to get the value of a specific tweak template based on the node id and template name
 feat(ApiModal): add support for opening accordions based on the tweak.current array when switching to the Tweak tab
🐛 fix(types): add missing newline at the end of the file
2023-06-29 10:44:32 -03:00
Gabriel Luiz Freitas Almeida
3faf5f5b96 🐛 fix(chatMessage): sanitize HTML content to prevent potential XSS attacks
 feat(chatMessage): improve rendering of multi-line messages
The `convert` variable is now imported before being used to convert ANSI to HTML. Additionally, the `DOMPurify` library is imported and used to sanitize the HTML content before rendering it, preventing potential XSS attacks. The rendering of multi-line messages has been improved by splitting the message by newline characters and rendering each line separately with a line break.
2023-06-29 10:02:28 -03:00
Gabriel Luiz Freitas Almeida
e1bf25a4ff 📦 chore(frontend): add dompurify package as a dependency
The dompurify package is added as a dependency to the frontend package.json file. This package is needed for sanitizing HTML to prevent cross-site scripting (XSS) attacks.
2023-06-29 09:59:31 -03:00
Gabriel Luiz Freitas Almeida
19828da830 🐛 fix(utils.ts): rename Search icon to FileSearch for better clarity and accuracy
The Search icon has been renamed to FileSearch to provide a more accurate representation of its purpose. This change improves clarity and ensures that the icon name aligns with its actual functionality.
2023-06-29 09:57:09 -03:00