Commit Graph

138 Commits

Author SHA1 Message Date
Ilango 9181ae2879 Fix output type for request tools - get, put, post, and delete (#5044) 2025-08-08 10:46:49 +01:00
Henry Heng 5930f1119c Chore/Add CUSTOM_MCP_PROTOCOL (#5003)
add CUSTOM_MCP_PROTOCOL
2025-08-01 23:48:21 +01:00
Henry Heng d29db16bfc Chore/Custom MCP Validation (#4996)
- 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.
2025-07-31 23:15:11 +01:00
Henry Heng 89a806f722 Chore/Prevent invalid http redirect (#4990)
prevent invalid http redirect
2025-07-31 12:24:08 +01:00
Henry Heng 0998bf4327 Chore/add http denylist checks (#4985)
add http denylist checks
2025-07-30 17:16:40 +01:00
Henry Heng e8dac2048f Bugfix/Custom MCP Security (#4963)
* - 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
2025-07-30 16:44:20 +01:00
Henry Heng dca91b979b Refactor/Update code execution sandbox implementation across components (#4904)
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.
2025-07-21 00:09:01 +01:00
Henry Heng 96a57a58e7 Refractor/SecureZodSchemaParser (#4898)
* 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
2025-07-19 01:11:31 +01:00
Henry Heng 2b7a074c8b Feat/Implement caching for MCP toolkit in CachePool (#4897)
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.
2025-07-18 19:07:48 +01:00
Rick Ryan aea2801b8c fix(components): promise.all failed silently when loading MCP tools (#4750)
* fix(components): promise.all failed silently when loading MCP tools

* fix: satisfy linter format

* fix(packages): pnpm lint-fix

* Update core.ts

---------

Co-authored-by: Henry Heng <henryheng@flowiseai.com>
2025-07-09 10:18:18 +01:00
Henry Heng 4c3b729b79 Chore/Google GenAI (#4742)
* update @langchain/core, custom google genai implementation

* update @langchain/core, custom google genai implementation
2025-06-27 00:44:11 +01:00
Henry Heng a107aa7a77 Chore/Update issue templates and add new tools (#4687)
* 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.
2025-06-19 18:11:24 +01:00
Henry Heng 2387a06ce4 Feature/GoogleDocs (#4613)
* 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
2025-06-09 00:30:03 +01:00
Henry Heng 6495c64dac Feat/add headers to custom mcp (#4581)
* add headers to custom mcp

* Refactor MCP fetch method and update CustomMCP documentation to include variable usage in headers
2025-06-07 16:23:42 +01:00
Henry Heng 30c4180d97 Feature/Add teams, gmail, outlook tools (#4577)
* 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.
2025-06-06 19:52:04 +01:00
Henry Heng 954e6c88f4 Feat/add supergateway MCP (#4303)
* add supergateway MCP

* update supergateway mcp
2025-05-28 17:21:01 +01:00
Henry Heng 3d6bf72e73 Feature/Custom MCP vars (#4527)
* add input vars to custom mcp

* add ability to specify vars in custom mcp, fix other ui issues

* update setup org ui
2025-05-28 12:47:53 +01:00
Henry Heng 5a37227d14 Chore/refractor (#4454)
* markdown files and env examples cleanup

* components update

* update jsonlines description

* server refractor

* update telemetry

* add execute custom node

* add ui refractor

* add username and password authenticate

* correctly retrieve past images in agentflowv2

* disable e2e temporarily

* add existing username and password authenticate

* update migration to default workspace

* update todo

* blob storage migrating

* throw error on agent tool call error

* add missing execution import

* add referral

* chore: add error message when importData is undefined

* migrate api keys to db

* fix: data too long for column executionData

* migrate api keys from json to db at init

* add info on account setup

* update docstore missing fields

---------

Co-authored-by: chungyau97 <chungyau97@gmail.com>
2025-05-27 07:29:42 +01:00
Henry Heng 82d16458e4 Bugfix/Update file loader (#4420)
* update file loader

* delete temp for o1

* fix tavily
2025-05-14 10:30:33 +08:00
Henry Heng 7924fbce0d Feature/agentflow v2 (#4298)
* agent flow v2

* chat message background

* conditon agent flow

* add sticky note

* update human input dynamic prompt

* add HTTP node

* add default tool icon

* fix export duplicate agentflow v2

* add agentflow v2 marketplaces

* refractor memoization, add iteration nodes

* add agentflow v2 templates

* add agentflow generator

* add migration scripts for mysql, mariadb, posrgres and fix date filters for executions

* update agentflow chat history config

* fix get all flows error after deletion and rename

* add previous nodes from parent node

* update generator prompt

* update run time state when using iteration nodes

* prevent looping connection, prevent duplication of start node, add executeflow node, add nodes agentflow, chat history variable

* update embed

* convert form input to string

* bump openai version

* add react rewards

* add prompt generator to prediction queue

* add array schema to overrideconfig

* UI touchup

* update embedded chat version

* fix node info dialog

* update start node and loop default iteration

* update UI fixes for agentflow v2

* fix async drop down

* add export import to agentflowsv2, executions, fix UI bugs

* add default empty object to flowlisttable

* add ability to share trace link publicly, allow MCP tool use for Agent and Assistant

* add runtime message length to variable, display conditions on UI

* fix array validation

* add ability to add knowledge from vector store and embeddings for agent

* add agent tool require human input

* add ephemeral memory to start node

* update agent flow node to show vs and embeddings icons

* feat: add import chat data functionality for AgentFlowV2

* feat: set chatMessage.executionId to null if not found in import JSON file or database

* fix: MariaDB execution migration script to utf8mb4_unicode_520_ci

---------

Co-authored-by: Ong Chung Yau <33013947+chungyau97@users.noreply.github.com>
Co-authored-by: chungyau97 <chungyau97@gmail.com>
2025-05-10 10:21:26 +08:00
Henry Heng c3610ff3c7 Chore/Close mcp connection (#4375)
* close mcp connection

* update file types
2025-05-06 10:28:18 +08:00
toi500 f5b9c6907e fix(nodes): Correct path and case sensitivity for Cheerio Web Scraper icon (#4359)
* fix Cheerio Web Scraper for online deployments

* fix: change node name
2025-05-02 21:53:00 +07:00
toi500 925ca7be81 Feature/Add Cheerio Web Scraper node (#4337)
* feat: add Free Web Scraper tool

* fix: remove unused variable 'finalCount'

* feat(tools): Add configurable timeout to handle edge scenarios

* add sitemap mode and rename Cheerio Web Scraper node

* refactor: simplify tool description for broader LLM compatibility
2025-04-28 15:45:36 +08:00
May Ramati Kroitero 6dcc7bb152 feature: add additional parameters to Tavily API tool (#4353)
* feat: add additional parameters to Tavily API tool

* update descirption

* fix version

* lint fix

---------

Co-authored-by: Henry Heng <henryheng@flowiseai.com>
2025-04-28 15:45:05 +08:00
Zero Gu ac0450523a Feature: Upgrade MCP version and support SSE mode. (#4329)
Upgrade MCP version and support SSE mode.

Co-authored-by: guwenjia <guwenjia@bilibili.com>
2025-04-27 12:13:06 +08:00
Asharib Ali 69a272201a Add Sequential Thinking MCP tool for structured problem-solving (#4143) 2025-03-10 10:15:10 +00:00
Henry Heng ac7cf30e01 Feature/Custom MCP (#4136)
* add mcp tools

* add custom MCP
2025-03-06 21:27:28 +00:00
Henry Heng 713ed26971 Feature/MCP (Model Context Protocol) (#4134)
add mcp tools
2025-03-06 13:57:18 +00:00
Henry Heng 9c22bee991 Feature/Add multi select option to composio (#4122)
* add multi select option to composio

* Update pnpm-lock.yaml
2025-03-06 09:59:33 +00:00
owengo e58c8b953d Several features for OpenAPI toolkit and OpenAI Assistants (#3989)
* Allows 'x-strict' attribute in OpenAPI spec tool and other json spec objects, this allows the OpenAI Assistant to have function calls with 'strict' mode. Also allows the OpenAI assistant to call several tools in the same run. And adds a checkbox 'remove Nulls' for the OpenAPI toolkit so that parameters with null values are not passed to the backend api.

* fix lint errors

---------

Co-authored-by: Olivier Schiavo <olivier.schiavo@wengo.com>
2025-02-28 12:05:57 +00:00
Thanos Kontokostas 229366968a Adding Tavily custom tool (#4027)
Adding Tavily custom tool
2025-02-25 21:31:17 +00:00
Henry Heng c96d634db2 Bugfix/update view message dialog (#3994)
* update view message dialog

* update lock file

* update github main action

* update github main action

* Update style.scss

* Update pnpm-lock.yaml

* Update pnpm-lock.yaml
2025-02-06 11:05:06 +00:00
Henry Heng a49177f7fb Chore/O3 MINI (#3962)
* add gemini flash

* add gemin flash to vertex

* add gemin-1.5-flash-preview to vertex

* add azure gpt 4o

* add claude 3.5 sonnet

* add mistral nemo

* add groq llama3.1

* add gpt4o-mini to azure

* o1 mini

* add groq llama 3.2

* update anthropic models

* add 3.5 haiku

* update vertex embedding models

* add azure o1 models

* add o3 mini

* add wolframalpha tool
2025-02-01 01:17:40 +00:00
Yi-Cheng Wang 50a7339299 fix: Correct logic error in tool input assignment for ChatflowTool (#3903)
The previous code incorrectly assigned `toolInput` to an empty string when `customInput` was non-empty. Corrected the logic to ensure that `toolInput` is assigned `customInput` when `useQuestionFromChat` is false and `customInput` is non-empty.
2025-01-22 18:22:24 +00:00
Henry Heng 62d5d1e8ef Bugfix/add hidden properties to custom tool (#3875)
add hidden properties to custom tool
2025-01-15 13:43:58 +00:00
Henry Heng 9a417bdc95 Bugfix/update nodevm sandbox options, sanitize tablename (#3818)
* update nodevm sandbox options, sanitize tablename

* sanitize file name when getFileFromStorage
2025-01-07 15:26:25 +00:00
Pavel Nasovich bbe0203f4e [Feature] Update Exa category filter with new values (#3746)
Added `financial report` and `linkedin profile` categories.
2024-12-20 18:43:25 +00:00
Abhishek Patil b29523d093 Feature/add composio tool (#3722)
* feat: add composio tool

* fix: improve error handling & field description

* update composio tools for refresh and sorting

---------

Co-authored-by: Henry <hzj94@hotmail.com>
2024-12-19 13:36:56 +00:00
Henry Heng 85abd157a2 Bugfix/Get value with nested metadata filter (#3695)
add ability to get value with nested metadata filter
2024-12-12 14:57:38 +00:00
serhiy-matoffo 16ceed1bda Feature/Add support for state-based metadata filter to Retriever Tool (#3501)
* Added support for state-based metadata filter to Retriever Tool

* Update RetrieverTool.ts

---------

Co-authored-by: Henry Heng <henryheng@flowiseai.com>
2024-11-16 13:59:42 +00:00
Henry Heng 38ddbd8283 Feature/Add stripe toolkit (#3522)
add stripe toolkit
2024-11-15 20:28:07 +00:00
Henry Heng 14b714824b Feature/add endpoints for realtime api (#3318)
add endpoints for realtime api
2024-10-07 13:30:57 +01:00
Henry Heng f5cedb2460 Feature/Revamp of OpenAPI Toolkit (#3312)
Revamp of OpenAPI Toolkit
2024-10-05 13:33:44 +01:00
Henry Heng 8690c43ef5 Bugfix/Searxng tool not working (#3263)
fix searxng tool not working
2024-09-26 11:52:08 +01:00
Henry Heng b7cb8be7c3 Bugfix/Prevent streaming of chatflow tool and chain tool (#3257)
prevent streaming of chatflow tool and chain tool
2024-09-26 00:34:19 +01:00
Henry Heng b02f279e9d Feature/Code Interpreter (#3183)
* Base changes for ServerSide Events (instead of socket.io)

* lint fixes

* adding of interface and separate methods for streaming events

* lint

* first draft, handles both internal and external prediction end points.

* lint fixes

* additional internal end point for streaming and associated changes

* return streamresponse as true to build agent flow

* 1) JSON formatting for internal events
2) other fixes

* 1) convert internal event to metadata to maintain consistency with external response

* fix action and metadata streaming

* fix for error when agent flow is aborted

* prevent subflows from streaming and other code cleanup

* prevent streaming from enclosed tools

* add fix for preventing chaintool streaming

* update lock file

* add open when hidden to sse

* Streaming errors

* Streaming errors

* add fix for showing error message

* add code interpreter

* add artifacts to view message dialog

* Update pnpm-lock.yaml

---------

Co-authored-by: Vinod Paidimarry <vinodkiran@outlook.in>
2024-09-17 08:44:56 +01:00
Vinod Kiran 26444ac3ae Feature/sse (#3125)
* Base changes for ServerSide Events (instead of socket.io)

* lint fixes

* adding of interface and separate methods for streaming events

* lint

* first draft, handles both internal and external prediction end points.

* lint fixes

* additional internal end point for streaming and associated changes

* return streamresponse as true to build agent flow

* 1) JSON formatting for internal events
2) other fixes

* 1) convert internal event to metadata to maintain consistency with external response

* fix action and metadata streaming

* fix for error when agent flow is aborted

* prevent subflows from streaming and other code cleanup

* prevent streaming from enclosed tools

* add fix for preventing chaintool streaming

* update lock file

* add open when hidden to sse

* Streaming errors

* Streaming errors

* add fix for showing error message

---------

Co-authored-by: Henry <hzj94@hotmail.com>
2024-09-17 08:01:25 +01:00
Henry Heng 7a4c7efcab Chore/changed vm2 to @flowiseai/nodevm (#3200)
* changed vm2 to @flowiseai/nodevm

* update set-value and lunary version
2024-09-17 01:57:02 +01:00
YISH 0420ff2af3 feat: add support for custom overrideConfig for ChatflowTool (#3168)
* feat: add support for custom overrideConfig for ChatflowTool

* fix(ChatflowTool):  fix JSON parsing  error of OverrideConfig

* chore: Remove unneccessary acceptVariable

* Update ChatflowTool.ts

* fix linting

---------

Co-authored-by: Henry Heng <henryheng@flowiseai.com>
2024-09-14 03:10:23 +01:00
Henry Heng b9f0ec3a3f Bugfix/stream custom tool return direct (#3003)
stream custom tool return direct
2024-08-12 18:35:15 +01:00