* 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.
* 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.
* 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>
* 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>
* adding DeepSeekr1 distill to groq
* Added max_tokens to groq.ts and chatGroqLlamaindex.ts plus updated groq models removing the outdated models and adding new models such as compound-beta
* Patched OpenAI typo on ChatGroq_LLamaIndex.ts
* Patching groq llamaindex
* Patched pnpm lint error
* Removed retundant image
* Update ChatGroq_LlamaIndex.ts
---------
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
* feat: add GPT-4.1 series models support to OpenAI Assistant Dialog
* Update models.json
---------
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
* fix: 400 Bad Request errors from Gemini API when converting tool schemas (MCP tools).
* Update FlowiseChatGoogleGenerativeAI.ts
---------
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
* Fix(FlowiseChatGoogleGenerativeAI): Prevent "parts must not be empty" API error in Seq Agents
* Fix: Update pnpm-lock.yaml to resolve CI issues
* convert role function and tool to function
* remove comment
---------
Co-authored-by: Henry <hzj94@hotmail.com>
* Support cache system instructs for Google GenAI
* format code
* Update FlowiseGoogleAICacheManager.ts
---------
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
* support google cloud storage
* update example and docs for supporting google cloud storage
* recover the indent of pnpm-lock-yaml
* populate the logs to google logging
* normalize gcs storage paths
---------
Co-authored-by: Ilango <rajagopalilango@gmail.com>
Co-authored-by: Henry <hzj94@hotmail.com>
Add new Groq model options to `groqChat` section in `models.json`
* Add `meta-llama/llama-4-maverick-17b-128e-instruct`
* Add `meta-llama/llama-4-scout-17b-16e-instruct`
This update adds support for Opik tracer in Flowise. It includes new
credential components, analytic nodes, and UI assets for both tracers. The
changes enhance observability by allowing users to integrate Opik for better
model monitoring, analysis and evaluation.
* fix: udpate label to "NVIDIA NIM API Key"
* test: update tag from ":latest" to ":1.8.0-rtx"
* test: add image URL path "nvcr.io/nim/"
* fix/nvidia-nim-2 (#4208)
* fix: update nim-container-manager
* feat: add "DeepSeek R1 Distill Llama 8B"
* fix/nidia-nim-3 (#4209)
* chore: add error message NVIDIA NIM is not installed.
* chore: standardize NVIDIA NGC API Key
* chore: capitalize Nvidia to NVIDIA
* chore: generalize error message for chat models
* fix/nvidia-nim-4-yau (#4212)
* test: nimRelaxMemConstraints and hostPort
* test: add logger for hostPort and nimRelaxMemConstraints
* test: nim-container-manager version 1.0.9
* test: parseInt nimRelaxMemConstraints
* test: update nim-container-manager version to 1.0.10
* chore: update nim-container-manager version to 1.0.11
* Update start container behaviour - show existing containers and give users the choice
* Go back to previous step when clicking start new so user can change port number
* Update condition for showing existing container dialog
* Fix start new in different port not working
* Update get container controller
* Update again
* fix: generalize error message for chat models
* Update getContainer controller
* Fix incorrect image check in getContainer controller
* Update existing container dialog text
* Fix styles in container exists dialog for nvidia nim
---------
Co-authored-by: chungyau97 <chungyau97@gmail.com>
Co-authored-by: Ong Chung Yau <33013947+chungyau97@users.noreply.github.com>
Update README files for Postgres Record Manager and Vector Store to include a new SSL environment variable, allowing optional SSL configuration for database connections
* 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>
* add nim container setup
* check if image or container exist before pulling
* update NIM dialog
* update chat nvidia api key
* update nim container version
* update nim container version
* New Feature: Add post postprocessing of response from LLM using custom Javascript functions
* Disable Save when there is no content
* add post processing ui changes, disable streaming
---------
Co-authored-by: Henry <hzj94@hotmail.com>
* Update AzureChatOpenAI.ts - corrected reasoning description and default
- Description for reasoning effort only mentioned o1. Added o3.
- Changed reasoning effort default to medium as this is OpenAI's default / what users will most likely expect (https://platform.openai.com/docs/guides/reasoning)
* Update ChatOpenAI.ts - corrected reasoning description and default
- Description for reasoning effort only mentioned o1. Added o3.
- Changed reasoning effort default to medium as this is OpenAI's default / what users will most likely expect (https://platform.openai.com/docs/guides/reasoning)
* Update models.json - add specific model ID for o3-mini
- Added o3-mini-2025-01-31
- Updated "o3-mini" label to "o3-mini (latest)"
This allows the user to choose a specific model ID and avoid the risk of unexpected behavior if the "o3-mini" alias is updated.
* Late Chunking support for Jina Embeddings
* improved constructor handling. remove redundant code.
* remove unnessary function overrides, since late_chunking parameter only needs to be stored in the class.
* fix: Preserve port in normalizeURL function
The normalizeURL function was previously ignoring the port in the URL.
This fix explicitly includes the port if present (e.g., `:3000`).
* fix lint problem
fix lint problem
* Expose dimensions parameter on Jina Embeddings
* fix linting issue
* update description text to refer to dimensions
* Update JinaAIEmbedding.ts
---------
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
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.
* added: Neo4j database connectivity, Neo4j credentials, supports the usage of the GraphCypherQaChain node and modifies the FewShotPromptTemplate node to handle variables from the prefix field.
* Merge branch 'main' of github.com:FlowiseAI/Flowise into feature/graphragsupport
* revert pnpm-lock.yaml
* add: neo4j package
* Refactor GraphCypherQAChain: Update version to 1.0, remove memory input, and enhance prompt handling
- Changed version from 2.0 to 1.0.
- Removed the 'Memory' input parameter from the GraphCypherQAChain.
- Made 'cypherPrompt' optional and improved error handling for prompt validation.
- Updated the 'init' and 'run' methods to streamline input processing and response handling.
- Enhanced streaming response logic based on the 'returnDirect' flag.
* Refactor GraphCypherQAChain: Simplify imports and update init method signature
- Consolidated import statements for better readability.
- Removed the 'input' and 'options' parameters from the 'init' method, streamlining its signature to only accept 'nodeData'.
* add output, format final response, fix optional inputs
---------
Co-authored-by: Henry <hzj94@hotmail.com>
* feat: Enhance ConditionAgent with conversation history selection options
- Added a new parameter `conversationHistorySelection` to allow users to choose which messages from the conversation history to include in prompts.
- Options include: User Question, Last Conversation Message, All Conversation Messages, and Empty.
- Default selection is set to 'All Conversation Messages' for improved context management in sequential LLM and Agent nodes.
* Bump version from 2.0 to 3.0
* feat: Add Azure Cognitive Services integration for speech-to-text functionality
- Introduced a new credential class for Azure Cognitive Services.
- Updated speech-to-text processing to support Azure Cognitive Services as a provider.
- Enhanced UI components to include Azure Cognitive Services options and inputs for configuration.
- Added necessary imports and error handling for Azure API requests.
* Update SpeechToText.jsx linting
* refactor: Update audio file handling in SpeechToText component
- Removed the dependency on 'form-data' and replaced it with a Blob for audio file uploads.
- Simplified the audio file appending process to the form data.
- Cleaned up the headers in the Axios request by removing unnecessary form data headers.
This change enhances the efficiency of audio file processing in the speech-to-text functionality.
---------
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
Co-authored-by: Henry <hzj94@hotmail.com>
* feat: Add Groq Whisper support to SpeechToText component
- Introduced a new speech-to-text provider, Groq Whisper, in both the backend and UI components.
- Updated SpeechToTextType to include GROQ_WHISPER.
- Implemented Groq client integration for audio transcription with customizable model, language, and temperature options.
- Added UI elements for Groq Whisper configuration, including input fields for model, language, and temperature settings.
* turn speech to text none status to false when other was selected
---------
Co-authored-by: Henry <hzj94@hotmail.com>
* Update 'Require Approval' button description to clarify dependency on MemoryAgent
* Refine RequiredApproval message description
* Fix message description by removing unscaped character ('\')
* Break line
* docs: clarify and enhance the "Require Approval" description for Agent node
* chore: slight update of the description
* feat: Add option to disable conversation history
- Add new `disableConversationHistory` boolean parameter in LLMNodes.ts and Agent.ts to optionally skip including conversation history in prompts
- Fix potential error in Agent.ts when messages array is empty by adding null safety checks
- Improve memory efficiency by allowing stateless interactions when history isn't needed
* feat: add conversation history filtering options
Replace the disable conversation history feature with a more flexible filtering system that allows selecting:
- User question only
- Last message only
- All messages (default)
- No messages
This provides more granular control over conversation context management.
* chore: break lines
* chore: removed ending semi columns
* chore: fix eslint errors
* fix(sequentialagents): improve conversation history filtering logic
- Remove unnecessary state.messages check for user_question case
- Add proper null handling for last_message and all_messages cases
- Remove @ts-ignore comments with proper typing
* Update LLMNode.ts
* Update Agent.ts
---------
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
* feat(models): add Llama 3.3 70B models to groqChat
Add Meta's latest Llama 3.3 70B models to groqChat options:
- llama-3.3-70b-versatile: New versatile model for general tasks
- llama-3.3-70b-specdec: Specialized model for specific tasks
These models offer comparable quality to Llama 3.1 405B at 1/5th the size,
with improvements in:
- Reasoning and math capabilities
- General knowledge tasks
- Instruction following
- Tool use and JSON outputs
- Code generation and feedback
* Revert minor version bump
* Added redis open connection if it is closed
* Removed unecessary modification
* Added check connection in all methods
* Renamed method
* added await on method call
* Refactor Redis connection handling: remove singleton pattern, ensure connections are opened and closed per operation.
---------
Co-authored-by: Maicon Matsubara <maicon@fullwise.com.br>
* Added support for state-based metadata filter to Retriever Tool
* Update RetrieverTool.ts
---------
Co-authored-by: Henry Heng <henryheng@flowiseai.com>
* adding support for prometheus and grafana
* open telemetry
* lint fixes
* missing counter and telemetry standardization
---------
Co-authored-by: Henry <hzj94@hotmail.com>
* Set azureOpenAIBasePath to undefined if empty to enforce usage of env variable AZURE_OPENAI_BASE_PATH in @langchain+openai@0.0.30_encoding@0.1.13_langchain@0.2.11/node_modules/@langchain/openai/dist/embeddings.cjs
Fixed a bug in `restructureMessages` leading to blowing up of the message content with escape characters and eventually crashing the flow with "repetitive patterns" error