* feature/bugfix: added otpional css selector to puppeteer web scraper, fixed error when puppeteerLoader does not work.
* feature: added button to add empty link in web scraper tools
* feature: added custom executable file path as an input to puppeteer to fix issues when puppeteer can not find/launch the browser.
* feature: added new puppeteer features to playwright aswell.
* fixed review comments
* Fixes the lossy-replace when a new state assignment contains the {{ output }} variable
* Replaces replace with replaceAll
---------
Co-authored-by: Corentin <corentin.hoareau@sogeti.com>
* - Added support for built-in OpenAI tools including web search, code interpreter, and image generation.
- Enhanced file handling by extracting artifacts and file annotations from response metadata.
- Implemented download functionality for file annotations in the UI.
- Updated chat history management to include additional kwargs for artifacts, file annotations, and used tools.
- Improved UI components to display used tools and file annotations effectively.
* remove redundant currentContainerId
* update comment
- Updated `validateMCPServerSecurity` to only allow whitelisted commands, removing the extensive list of dangerous commands.
- Introduced `validateArgsForLocalFileAccess` to check for potential local file access patterns and null byte injections.
- Updated `Supergateway_MCP` to utilize the new argument validation function.
- Added a warning in `CustomMCP` regarding upcoming changes to Remote MCP support.
* - Implemented a validation function to check for banned commands and dangerous patterns.
- Added checks for potential shell injection attempts in command and arguments.
- Security validation is conditionally enabled based on environment variable CUSTOM_MCP_SECURITY_CHECK.
* Enhance security by implementing command and argument validation in SupergatewayMCP. Added checks for banned commands, dangerous patterns, and potential shell injection attempts. Security validation is conditionally enabled based on the CUSTOM_MCP_SECURITY_CHECK environment variable.
* add validateMCPServerSecurity
* feat: Implement SSO token caching and retrieval in CachePool
This implementation improves the authentication process by securely caching SSO tokens and managing user sessions.
* Removed commented code
* feat: add deleteSSOTokenCache in ssoSuccess
---------
Co-authored-by: Ong Chung Yau <33013947+chungyau97@users.noreply.github.com>
Co-authored-by: chungyau97 <chungyau97@gmail.com>
* Refactor URL filtering logic in App class
- Introduced a denylist for URLs using the DENYLIST_URLS environment variable.
- Updated the whitelist logic to filter out denylisted URLs, ensuring improved request validation.
* revery whitelist url changes
* revert whitelist url changes
Refactor URL filtering logic in App class
- Introduced a denylist for URLs using the DENYLIST_URLS environment variable.
- Updated the whitelist logic to filter out denylisted URLs, ensuring improved request validation.
Refactor account and evaluations routes to use POST for billing and run-again endpoints
- Changed the billing route from GET to POST in account.route.ts and account.api.js for consistency with other account actions.
- Updated the run-again route from GET to POST in evaluations/index.ts and evaluations.js to align with the API design for creating actions.
refactor: Update code execution sandbox implementation across components
- Replaced NodeVM usage with a new createCodeExecutionSandbox function for improved sandbox management.
- Enhanced JavaScript code execution with executeJavaScriptCode function, allowing for better handling of libraries and output streaming.
- Updated multiple components to utilize the new sandboxing approach, ensuring consistent execution environment.
- Added validation for UUIDs and URLs in various tools to enhance input safety.
- Refactored input handling in CustomFunction and IfElseFunction to streamline variable management.
Refactor: Update pnpm-lock.yaml and enhance UI components for safe HTML rendering
- Updated pnpm-lock.yaml to improve dependency management and ensure consistency.
- Refactored the JSONViewer component to utilize a new JsonToken for syntax highlighting.
- Introduced SafeHTML component to sanitize and safely render HTML content in ViewMessagesDialog and NodeExecutionDetails.
- Replaced direct HTML rendering with SafeHTML in ChatMessage component for enhanced security.
* refactor: Implement SecureZodSchemaParser for safe Zod schema handling and add FilterParser for Supabase filters
* Replaced direct Zod schema evaluation with SecureZodSchemaParser in StructuredOutputParserAdvanced and CustomTool.
* Introduced FilterParser to safely handle Supabase filter strings, preventing arbitrary code execution.
* Added new filterParser.ts file to encapsulate filter parsing logic.
* Updated Supabase vector store to utilize the new FilterParser for RPC filters.
* Created secureZodParser.ts for secure parsing of Zod schemas.
* remove console log
Enhance file upload capabilities by adding support for additional file types (html, css, js, xml, md, excel, powerpoint) and updating related MIME type mappings. Improve user interface for file type selection in FileUpload component.
feat: Implement caching for MCP toolkit in CachePool
- Added methods to CachePool for managing MCP toolkit cache.
- Integrated caching logic in CustomMCP to store and retrieve toolkit data based on workspaceId and configuration.
- Updated node service to pass cachePool to CustomMCP for enhanced performance.
* Added region support to chatGoogleVertexAi
* Added region to the vertex ai embeddings loader too
* Updated the available vertex text embedding models to be valid
* Update ChatGoogleVertexAI.ts
* Update GoogleVertexAIEmbedding.ts
---------
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
* style enhancements
* Introduce autocomplete to select usecases
* add grid gap property
* add tooltip to display remaining selected items on hover
* use ordered list to show more items
* common pagination component
* Pagination for Doc Store Dashboard
* Pagination for Executions Dashboard
* Pagination Support for Tables
* lint fixes
* update view message dialog UI
* initial loading was ignoring the pagination counts
* 1) default page size change
2) ensure page limits are passed on load
3) co-pilot review comments (n+1 query)
4)
* 1) default page size change
2) ensure page limits are passed on load
3) co-pilot review comments (n+1 query)
4) refresh lists after insert/delete.
* Enhancement: Improve handling of empty responses in DocumentStore and API key services
- Added check for empty entities in DocumentStoreDTO.fromEntities to return an empty array.
- Updated condition in getAllDocumentStores to handle total count correctly, allowing for zero total.
- Refined logic in getAllApiKeys to check for empty keys and ensure correct API key retrieval.
- Adjusted UI components to safely handle potential undefined apiKeys array.
* Refresh API key list on pagination change
* Enhancement: Update pagination and filter handling across components
- Increased default items per page in AgentExecutions from 10 to 12.
- Improved JSON parsing for chat type and feedback type filters in ViewMessagesDialog.
- Enhanced execution filtering logic in AgentExecutions to ensure proper pagination and state management.
- Refactored filter section in AgentExecutions for better readability and functionality.
- Updated refresh logic in Agentflows to use the correct agentflow version.
* add workspaceId to removeAllChatMessages
* Refactor chat message retrieval logic for improved efficiency and maintainability
- Introduced a new `handleFeedbackQuery` function to streamline feedback-related queries.
- Enhanced pagination handling for session-based queries in `getMessagesWithFeedback`.
- Updated `ViewMessagesDialog` to sort messages in descending order by default.
- Simplified image rendering logic in `DocumentStoreTable` for better readability.
* - Update `validateChatflowAPIKey` and `validateAPIKey` functions to get the correct keys array
- Enhanced error handling in the `sanitizeExecution` function to ensure safe access to nested properties
* Refactor API key validation logic for improved accuracy and error handling
- Consolidated API key validation in `validateAPIKey` to return detailed validation results.
- Updated `validateFlowAPIKey` to streamline flow API key validation.
- Introduced `getApiKeyById` function in the API key service for better key retrieval.
- Removed unused function `getAllChatSessionsFromChatflow` from the chat message API.
---------
Co-authored-by: Henry <hzj94@hotmail.com>
Feature/Add remove-markdown dependency and integrate into Condition node for text processing
- Added `remove-markdown` package to `packages/components/package.json`.
- Integrated `removeMarkdown` function in `Condition.ts` to sanitize string inputs by removing markdown formatting.
Removed redundant chatId validation and path traversal checks, improving code clarity and maintainability. The chatId is now validated after the chatflowid check, ensuring proper error handling for invalid inputs.
Bugfix/Enhance input configuration merging logic in replaceInputsWithConfig
Improve the handling of input configurations by merging existing values with overrides instead of complete replacement. This includes support for merging objects and parsing JSON strings when necessary.
Refactor: Remove humanInput parameter from determineNodesToIgnore function
- Updated the determineNodesToIgnore function to eliminate the humanInput parameter, simplifying the logic for decision nodes.
- Adjusted related function calls to ensure compatibility with the new signature.
- Enhanced handling of humanInput within the executeNode function, ensuring it is cleared after consumption to prevent unintended behavior in subsequent nodes.
* Enhancement: Introduce prepended chat history handling in Agent and LLM nodes.
- Added support for `prependedChatHistory` in both `Agent` and `LLM` classes to allow for initial message context.
- Implemented validation for history schema in execution flow to ensure proper format.
- Refactored utility functions to include JSON sanitization and validation methods for improved data handling.
* update prediction swagger
Enhancement: Add JSON sanitization and parsing methods to HTTP agentflow.
- Introduced `sanitizeJsonString` to clean problematic escape sequences and fix common JSON formatting issues.
- Added `parseJsonBody` to attempt parsing JSON directly, with fallback to sanitization if parsing fails, providing clearer error messages for invalid JSON.
- Updated request handling to utilize the new parsing method for JSON and x-www-form-urlencoded body types.
* New Feature: Ability to change role for a workspace user.
* reverting some of the changes in workspace-user.service.ts and minor code cleanup in the ui components.
* chore: refactor updateWorkspaceUser function queryRunner handling
---------
Co-authored-by: chungyau97 <chungyau97@gmail.com>
* Enhancement: Update issue templates and add new tools
- Updated bug report template to include a default label of 'bug'.
- Updated feature request template to include a default label of 'enhancement'.
- Added new credential class for Agentflow API.
- Enhanced Agent and HTTP nodes to improve tool management and error handling.
- Added deprecation badges to several agent and chain classes.
- Introduced new tools for handling requests (GET, POST, DELETE, PUT) with improved error handling.
- Added new chatflows and agentflows for various use cases, including document QnA and translation.
- Updated UI components for better handling of agent flows and marketplace interactions.
- Refactored utility functions for improved functionality and clarity.
* Refactor: Remove beta badge and streamline template title assignment
- Removed the 'BETA' badge from the ExtractMetadataRetriever class.
- Simplified the title assignment in the agentflowv2 generator by using a variable instead of inline string manipulation.
* bugfix/Modify the style of the AsyncDropdown component to adjust its width based on the multiple property. #4641
* style: fix linter warning
* style: fix linter warning
* style: fix linter warning
---------
Co-authored-by: 강나훈 <nahoon.kang@mnc.ai>
* feat: Add configurable system prompt to Condition Agent
* Update system prompt to HTML for UI readability
* fix: Remove invalid default routing and sync hardcoded role-based examples
* Update ConditionAgent.ts
* Update ConditionAgent.ts
---------
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
* New Feature: Evaluations for AgentFlow v2
* New Feature: Evaluations for Assistants and minor tweaks on other evaluations.
* do not store messages during evaluation for agent flows.
* common cost formatting
* moving the category names to description (in create dialog) and adjusting the side drawer label
* lint fixes
* Enhancement: Add auto-refresh toggle for evaluations with 5-second interval and adjust grid item size for metrics display.
* 1) chatflow types are stored in additional config
2) messages are now stored with type "Evaluations"
3) Message Dialog has a new Type in the ChatType Filter Dropdown
4) Chatflow badges on the view page, have the right canvas URL
5) outdated API returns chatflow type along with the stale indicator.
6) UI - Flow Indicator Icons are shown in the Chatflows Used chips & side drawer
* Refactor JWT error handling to return 401 status for expired refresh tokens. Update chat message ID assignment to remove UUID fallback. Enhance ViewMessagesDialog to set default chat type filters and implement a new method for determining chat type sources. Modify EvalsResultDialog to open links in a new tab and adjust icon sizes for better consistency. Clean up unused imports in EvaluationResultSideDrawer.
* handling on Click for deleted flows and minor code cleanup
* evals ui fix
* Refactor evaluation service to improve error handling and data parsing. Update additionalConfig handling to default to an empty object if not present. Enhance type definitions for better clarity. Adjust MetricsItemCard to prevent overflow and improve layout consistency.
---------
Co-authored-by: Henry <hzj94@hotmail.com>
* add teams, gmail, outlook tools
* update docs link
* update credentials for oauth2
* add jira tool
* add google drive, google calendar, google sheets tools, powerpoint, excel, word doc loader
* update jira logo
* Refactor Gmail and Outlook tools to remove maxOutputLength parameter and enhance request handling. Update response formatting to include parameters in the output. Adjust Google Drive tools to simplify success messages by removing unnecessary parameter details.
* Update pnpm-lock.yaml
* add google docs
* Enhancement: Add recursive key normalization for metadata in Weaviate vector store
- Introduced `normalizeKeysRecursively` utility to standardize metadata keys.
- Updated Weaviate vector store to apply normalization on document metadata before processing.
* format(compnonents/utils): format for ci
* Update utils.ts
---------
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
* feat: add search functionality to FireCrawl with customizable parameters
* refactor: unify request parameters in FireCrawl to include integration identifier
* Update FireCrawl Document Loader to version 4.0, enhancing parameter labels and adding conditional visibility for URL and crawler options based on selected crawler type.
---------
Co-authored-by: Henry <hzj94@hotmail.com>
* add teams, gmail, outlook tools
* update docs link
* update credentials for oauth2
* add jira tool
* add google drive, google calendar, google sheets tools, powerpoint, excel, word doc loader
* update jira logo
* Refactor Gmail and Outlook tools to remove maxOutputLength parameter and enhance request handling. Update response formatting to include parameters in the output. Adjust Google Drive tools to simplify success messages by removing unnecessary parameter details.
* Adds Current Message Param in getChatMessages to use Mem0 more effectively
* Revert "Adds Current Message Param in getChatMessages to use Mem0 more effectively"
This reverts commit 086be60b0a.
* Used the input param for Getting the Input text inside of Mem0 Node
* Update pnpm-lock.yaml
* Update pnpm-lock.yaml
---------
Co-authored-by: Henry <hzj94@hotmail.com>
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
* feat: add tooltip display on icon hover in chatflows and marketplace page
* update list view, remove sticky note images
---------
Co-authored-by: Henry <hzj94@hotmail.com>
* chore: update Firecrawl version and add FirecrawlExtractTool
* refactor: update outputs format
* chore: update Firecrawl request headers to include X-Origin and X-Origin-Type
* feat: add FireCrawl testing suite for scraping, crawling, and data extraction
- Introduced FireCrawl-TEST.ts to validate FireCrawlLoader functionality.
- Implemented tests for basic scraping, crawling with text splitting, data extraction, and extract status retrieval.
- Enhanced error handling in FireCrawlLoader for better debugging.
* Update pnpm-lock.yaml
* refactor: FireCrawl API integration to improve parameter handling and error logging
* refractor firecrawl
* Update FireCrawl.ts
removed console log
* Update pnpm-lock.yaml
* Update pnpm-lock.yaml
---------
Co-authored-by: Ong Chung Yau <33013947+chungyau97@users.noreply.github.com>
Co-authored-by: Henry <hzj94@hotmail.com>
Co-authored-by: Henry Heng <henryheng@flowiseai.com>