Commit Graph
774 Commits
Author SHA1 Message Date
Henry Heng 09f099dbfd Release/3.1.3 (#6566)
[email protected]
2026-06-25 11:06:22 +01:00
Ilango 96a9b23b5a fix: flowise 370 (#6409)
* add: new executions:update permissions and apply it to PUT /api/v1/executions endpoint

* add: executions:update permissions check in UI

* fix: review feedback
2026-06-16 16:20:56 +05:30
yau-wd b2550f7ffe Fix FLOWISE-703 (#6446)
fix(flowise-703): workspace import/export privileges
2026-05-30 08:15:14 +08:00
yau-wd bc22bf8bae Fix FLOWISE 596 (#6435)
disable files API endpoint and UI route
2026-05-26 23:11:19 +08:00
Henry Heng f05af6cb5f Reject webhook/schedule flows on prediction API and surface trigger-specific code samples (#6361)
* guard prediction API against webhook/schedule trigger flows and surface trigger-specific API snippets

* Enhance error message for webhook trigger configuration in executeAgentFlow function to include the configured HTTP method
2026-05-12 20:08:47 +01:00
Ilango e9bf04ac74 fix: flowise-186 (#6158)
* update: type field for some credentials where string type could expose secrets

* update: contribution docs with note on adding credential files

* update: add reveal for url type, permissions for get credential by id

* fix: review feedback

* fix: review feedback

* update: agentflow package with credentials ui changes

* fix: test coverage, add tests for changes in CreateCredentialDialog

* revert: changes to agentflows package
2026-05-08 15:08:18 +05:30
1449e80d34 feature/extend AWS Bedrock node with full model catalog and custom model support (#6309)
* feat(bedrock): extend AWS Bedrock node with full model catalog and custom model support

* Update packages/components/models.json

fixed typo

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fixed typo

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update packages/components/nodes/chatmodels/AWSBedrock/FlowiseAWSChatBedrockImported.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix

* lint fix

* remove redundant readme implementation file

---------

Co-authored-by: Ankit <[email protected]>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Henry <[email protected]>
2026-05-06 15:58:09 +01:00
aee37e16b1 feat:344 | ambient agents webhooks (#6283)
* feat(ambient-agents): Add webhook trigger UI on start node (#6068)

* feat(ambient-agents): Add webhook trigger UI on start node, handles in both canvas, agentflow is out of scope but shows temporary ui

* fix: resolve webhookURL copy button not appearing after first save

useParams() does not update when window.history.replaceState() is used
on first save (bypasses React Router). Fall back to Redux canvas.chatflow.id
so NodeInputHandler re-renders reactively when SET_CHATFLOW is dispatched.

* feat/365-366-Webhooks-Server-Route-And-Execution (#6164)

* feat(webhooks): add server route and validation for webhook trigger

- POST /api/v1/webhook/:id route (accepts all HTTP methods via router.all)
- Validates chatflow exists and is configured as webhookTrigger, returns 404 otherwise
- Wraps raw webhook payload as incomingInput.webhook for buildAgentflow

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

* feat(agentflow): wire up webhook flow execution (FLOWISE-366)

- Resolve {{ $webhook.field }} template variables in agentflow nodes
- Add required body param validation in webhook service
- Whitelist /api/v1/webhook/ to bypass global auth middleware
- Set $input to JSON payload in custom function nodes for webhook flows
- Add $webhook. autocomplete suggestions in node editors
- Unit tests for body param validation and pre-mutation body pass-through

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

* feat(webhooks): namespace webhook payload under $webhook.body.*

- Wrap webhook body as { webhook: { body } } in controller so $webhook.body.*,
  $webhook.headers.*, and $webhook.query.* can coexist as distinct namespaces
- Update suggestion option IDs/labels in UI from $webhook.* to $webhook.body.*
- Restrict webhookTrigger start option to agentflowv2 client only
- Remove static webhookURL placeholder from NodeInputHandler (agentflow)

---------

Co-authored-by: Claude Sonnet 4.6 <[email protected]>

* feat/389-Webhooks-Headers-Query-params-Methods-validation (#6217)

* feat(ambient-agents): Add webhook trigger UI on start node, handles in both canvas, agentflow is out of scope but shows temporary ui

* fix: resolve webhookURL copy button not appearing after first save

useParams() does not update when window.history.replaceState() is used
on first save (bypasses React Router). Fall back to Redux canvas.chatflow.id
so NodeInputHandler re-renders reactively when SET_CHATFLOW is dispatched.

* feat(webhooks): add headers, query params & body validation to webhook trigger

- Add webhookTrigger input type to Start node with HTTP method, content
  type, and expected headers/query/body param configuration
- New /api/v1/webhook/:id route with method, content-type, header, body,
  and query param validation (400/405/415 on mismatch)
- Namespace webhook payload as $webhook.body.*, $webhook.headers.*,
  $webhook.query.* in the flow runtime
- Resolve $webhook.* variables in downstream nodes via buildAgentflow.ts
- Auto-unwrap form-encoded `payload` JSON strings (e.g. GitHub webhooks)
  so $webhook.body.* paths work regardless of content type
- Expose webhook variable suggestions in the node variable picker
- Show copyable webhook URL in the Start node canvas UI

* fixed a bug where downstream nodes cant reference values via node id, and a lowercase headers issue

* feat:533 webhook secrets (#6227)

* feat: add webhook secret & HMAC signature verification to webhook trigger

Adds server-side webhook secret management (generate/clear/verify) and a
UI control in the Start node for configuring the secret, signature header,
and signature type (HMAC-SHA256 or plain token). Raw request body is now
captured before JSON parsing so HMAC signatures can be verified against the
original bytes. Migrations added for all four supported databases.

* fix: accept string-coerced numbers and booleans in webhook body type validation

application/x-www-form-urlencoded payloads deliver all values as strings,
so the strict typeof check was incorrectly rejecting valid numeric ("42")
and boolean ("true"/"false") values. Updated the filter to coerce and
validate instead, with tests covering both JSON and form-encoded cases.

* fix: prevent mass-assignment of webhookSecret fields in chatflow create/update

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>

* feat:367 | Webhooks - Human Input + Callback Support (#6263)

* Added HITL support for webhooks

* feat: add async callback URL to webhook trigger
Optional Callback URL / Secret on the Start node (or x-callback-url
header). Webhook now returns 202 immediately and POSTs SUCCESS,
STOPPED (HITL), or ERROR to the callback URL, signed with HMAC-SHA256
when a secret is set. Retries 3x with 0s/3s/6s backoff.

* used getErrorMessage for error messages

* feat: add object/array body param types and per-option show/hide on d… (#6273)

* feat: add webhook secret & HMAC signature verification to webhook trigger

Adds server-side webhook secret management (generate/clear/verify) and a
UI control in the Start node for configuring the secret, signature header,
and signature type (HMAC-SHA256 or plain token). Raw request body is now
captured before JSON parsing so HMAC signatures can be verified against the
original bytes. Migrations added for all four supported databases.

* fix: accept string-coerced numbers and booleans in webhook body type validation

application/x-www-form-urlencoded payloads deliver all values as strings,
so the strict typeof check was incorrectly rejecting valid numeric ("42")
and boolean ("true"/"false") values. Updated the filter to coerce and
validate instead, with tests covering both JSON and form-encoded cases.

* Added HITL support for webhooks

* feat: add async callback URL to webhook trigger
Optional Callback URL / Secret on the Start node (or x-callback-url
header). Webhook now returns 202 immediately and POSTs SUCCESS,
STOPPED (HITL), or ERROR to the callback URL, signed with HMAC-SHA256
when a secret is set. Retries 3x with 0s/3s/6s backoff.

* feat: add object/array body param types and per-option show/hide on dropdowns

- Add object, array[string/number/boolean/object] as webhook body param types, available when content type is application/json
- Extend options fields with show/hide conditions so individual dropdown choices can be hidden based on other param values

* fix: prevent SSRF in webhook callback URL

Remove the x-callback-url header override that allowed any external
caller to control where the server sends POST requests. Callback URL
now only comes from the Start node config (authenticated users).

Add checkDenyList validation to block callback URLs targeting private
networks, cloud metadata endpoints, and loopback addresses.

* fix: exclude HTTP method from webhook URL copy

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

* feat: enhance webhook functionality in Start node

- Added new input options for webhook handling, including input modes (Custom Text, No Input, Full Webhook Payload) and response modes (Synchronous, Asynchronous, Streaming).
- Implemented request signature verification and callback URL handling for asynchronous responses.
- Updated validation logic for webhook requests, including content type and required headers.
- Enhanced tests to cover new webhook features and validation scenarios

* adds a generic SSE observer primitive and a webhook listener registry that lets the canvas watch incoming webhook executions live

* fix webhook tests by mocking webhook listener registry and updating expectations for chatId in createWebhook function

* fix: harden webhook trigger surface against SSRF, secret leakage, and listener data exposure

* fix: improve webhook listener reliability with initial heartbeat and logging

---------

Co-authored-by: Claude Sonnet 4.6 <[email protected]>
Co-authored-by: Henry <[email protected]>
2026-05-06 14:57:11 +01:00
Henry Heng 433b97d3af feat/show scheduled flow status (#6330)
* show scheduled flow status

* enhance ScheduleStatusBadge to display loading state and update tooltip text. Refactor schedule status retrieval in Agentflows to handle errors and improve state management.
2026-05-05 12:17:24 +01:00
ce7a811b71 feat: implement scheduling functionality for AgentflowV2 (#5971)
* feat: implement scheduling functionality for AgentflowV2

- Added ScheduleQueue class for managing scheduled jobs using BullMQ.
- Introduced scheduleService for creating, updating, and disabling schedules.
- Integrated schedule validation and cron expression handling.
- Enhanced chatflow service to manage schedules for agentflows.
- Added UI components for time and day selection (TimePicker, WeekDaysPicker, MonthDaysPicker).
- Updated NodeInputHandler to support new input types for scheduling.
- Improved validation for schedule configurations in agentflows.

* feat: implement schedule management for agentflows

- Refactor ScheduleQueue to utilize executeScheduleJob for job execution.
- Add new endpoints for schedule status retrieval and enabling/disabling schedules in chatflows.
- Update chatflow service to handle schedule creation, updates, and deletions more effectively.
- Introduce DatePicker component for date input in UI.
- Enhance CanvasHeader to manage schedule state and toggle functionality.
- Integrate schedule validation logic to ensure proper configuration before enabling schedules.
- Update dependencies to include node-cron for improved scheduling capabilities.

* feat(schedule): refactor schedule services and tests for schedule job

- Seperate the utils function from schedule service.
- Created comprehensive unit tests for all utility functions in `utils.test.ts`, covering various scenarios for cron expression validation, visual picker validation, and schedule resolution.
- Ensured proper handling of edge cases and error messages for invalid inputs.

* feat(schedule): remove timestamp in schedule tabes to support sqlite

- Change the way to update the existing schedule to avoid typescript issue when building.
- Add merge function in mockRepo in schedule service test.

* fix(schedule): add nullable to optional entity columns and entity interfaces

- Add nullable: true to lastRunAt, nextRunAt, endDate on ScheduleRecord
  entity to match migration DDL and prevent runtime errors
- Add IScheduleRecord and IScheduleTriggerLog interfaces to Interface.ts
- Have entities implement their respective interfaces per codebase convention

* fixed tests and hide schedule input from package/agentflow

* feat: integrate IdentityManager into worker and queue management

- Remove supporting cron express with 6 fields (second)
- Calculate the prediction usage in cron job

* feat: add support for MIN_SCHEDULE_INTERVAL_SECONDS in cron job configuration and validation

* fixed broken tests

* UI UX fixes for scheduler in dark mode

* fix(schedule): remove unnecessary UUID generation in createOrUpdateSchedule

* adds required scheduleInputMode column with text/form/none variants, ChatType.SCHEDULED, trigger-logs endpoint + drawer UI, IANA timezone dropdown, and dark-mode UX polish.

* add deleteScheduleTriggerLogs endpoint and UI integration for log deletion

* feat: enhance cron job handling for last day of month (L) in ScheduleBeat and related utilities

Co-authored-by: Copilot <[email protected]>

* - fix(start-node): persist declared defaults of newly-visible fields so saves don't drop required values
- update ui for last day to include hints and next run datetime

---------

Co-authored-by: Jackie Chui <[email protected]>
Co-authored-by: Henry <[email protected]>
Co-authored-by: Copilot <[email protected]>
2026-05-01 22:39:20 +01:00
tiancizhouandClaude Sonnet 4.6 42d61f54a4 docs/ui: fix typos in user-facing copy (#6303)
Co-authored-by: Claude Sonnet 4.6 <[email protected]>
2026-04-28 12:27:33 +01:00
Henry Heng 1298a392d8 Chore/pin axios to 1.15.0 (#6282)
pin axios to 1.15.0
2026-04-24 18:19:56 +01:00
Hoang DoanandHenry 3d7597717a feat: implement the custom MCP Server in tool (#6205)
* feat: implement the custom MCP Server in tool

- Implemented MCPServersTable for displaying MCP server data with status badges and tools count.
- Created CustomMcpServerDialog for adding and editing custom MCP servers with validation and authorization features.
- Integrated MCP server management into the Tools view with tabbed navigation for Custom Tools and Custom MCP Servers.
- Added pagination and loading states for MCP servers.

* tfix nodes.test.ts ESM load crash

* feat(custom-mcp): harden security, scalability, and UI polish

* enhance custom mcp server creation flow and UI updates

* feat(mcp): add MCP server handshake timeout, enhance UI UX for editing custom mcp server

---------

Co-authored-by: Henry <[email protected]>
2026-04-23 16:52:07 +01:00
Henry Heng 62b56d08a7 Bugfix/Missing Reasoning Item (#6237)
* - pass langchain message instance as a whole to avoid missing reasoning item
- add `normalizeMessagesForStorage` function to convert LangChain message instances into plain JSON objects, improving database storage efficiency and UI readability

* - Fix ChatflowConfigurationDialog for inconsistent behaviour
- Added a button in NodeExecutionDetails to toggle visibility of all available tools, improving user experience.

* display input data for tool node in execution
2026-04-20 12:12:38 +01:00
Henry Heng 85df44bca4 Feat/FlowConfigDialog UI Redesign (#6229)
* enhance ChatflowConfigurationDialog with new configuration sections and improved UI

* fix: remove background color override for MuiSvgIcon in dark mode
2026-04-16 14:57:43 +01:00
Hoang DoanandHenry 62a5d1d59c feat: turn chatflow into MCP server (#5930)
* feat: turn chatflow into MCP server

- Added '@modelcontextprotocol/sdk' version 1.12.0
- Added 'zod' version 3.25.32
- Added migrations for MCP server config
- Added MCP endpoints (Streamable HTTP and SSE)
- Added MCP server configuration tab
- Added unit tests for MCP endpoints and services

* feat: Implement MCP endpoint service with SSE support

- Added a new MCP endpoint service to handle requests for chatflows, including support for SSE (Server-Sent Events) and stateless transport.
- Introduced functions for handling MCP requests, SSE connections, and message routing.
- Implemented error handling for service errors and session management for SSE.
- Created unit tests for the MCP server service, covering configuration CRUD operations and token management.
- Updated the MCP server configuration logic to ensure proper validation and error handling.
- Refactored the UI component to utilize a new API hook for fetching MCP server configuration.

* chore: handle error when get mcp server config

* - Introduced a new chat type 'MCP' in the ChatType enum, including UI filters and backend processing.
- Updated the zod dependency version specification to support both ^3.25.76 and ^4.
- Fix setHasExistingConfig

* fix: update chatflowCallback to enable chatflow building with active state for MCP

* refactor: remove deprecated SSE transport endpoints and related logic

- Removed handleGet and handleSseMessage methods from MCP endpoint controller.
- Updated MCP endpoint routes to eliminate SSE-related routes.
- Refactored service layer to remove SSE session management and related methods.
- Updated tests to remove references to deprecated SSE functionality.
- Adjusted UI component to remove SSE endpoint URL handling.

* chore: update MCP endpoint routes and references to align with new API structure

* chore: remove abortChatMessage when mcp request closed

* optimize mcpserver dialog for dark mode

* feat: implement form input schema generation for agentflow chatflows

---------

Co-authored-by: Henry <[email protected]>
2026-04-15 20:36:28 +01:00
abdullah-workday 04b897adc3 Fix: Clean and Nuke Script (#6213) 2026-04-14 10:30:01 -07:00
Henry Hengandyau-wd 4114b3b506 Release/3.1.2 (#6215)
[email protected]

Co-authored-by: yau-wd <[email protected]>
2026-04-14 11:42:44 +01:00
Ilangoandyau-wd fd48519f41 fix: remove basic auth (#5680)
Co-authored-by: yau-wd <[email protected]>
2026-04-10 19:49:44 +08:00
Ilango e765367fdc fix: flowise-317 (#6168)
* fix: flowise-317

* fix: review feedback

* fix: add permission check to execute button in custom function node
2026-04-09 11:09:03 +01:00
Sahil Yuvraj kamble edff15219e Feat/docstore rename delete actions (optimised for dark theme) (#6144)
* feat(ui): add document store rename/delete actions for cards and table

* refactor(docstore): inline action button styles into index.jsx
2026-04-07 20:35:54 +01:00
Sahil Yuvraj kamble 140f1d35a0 feat(ui): add accessible show/hide password toggle on signin (#6098) 2026-04-07 14:27:58 +05:30
jchui-wdandClaude Sonnet 4.6 8985c5ec55 feat: add client-scoped filtering to node input params (#6107)
* feat: add client-scoped filtering to node input params

Adds a `client` field to `INodeParams` and `INodeOptionsValue` so node
authors can restrict params or dropdown options to specific clients
(agentflowv2 canvas or agentflowsdk). The server filters params before
responding based on a `?client=` query param passed by each client.

- Add `ClientType = 'agentflowv2' | 'agentflowsdk'` to Interface.ts
- Add `client?: Array<ClientType>` to INodeParams and INodeOptionsValue
- Server nodes service: add filterNodeByClient() applied to all node fetch paths
- Server nodes controller: read and forward ?client= query param
- packages/agentflow API: pass ?client=agentflowsdk on all node fetches
- packages/ui API: pass ?client=agentflowv2 on all node fetches
- Add tests for filterNodeByClient and update agentflow node API tests

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Made-with: Cursor

* refactor: move filterNodeByClient to bottom of nodes service

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

* fix: address PR review comments on client-scoped node filtering

- Validate ?client= query param against allowlist before casting to ClientType
- Extract VALID_CLIENT_TYPES const to flowise-components Interface.ts as single source of truth
- Make filterNodeByClient pure by returning a new object instead of mutating node.inputs
- Add immutability test to nodes.test.ts

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

---------

Co-authored-by: Claude Sonnet 4.6 <[email protected]>
2026-04-06 09:41:21 -07:00
Sahil Yuvraj kamble 2555f10c11 feat(ui): add document store rename/delete actions for cards and table (#6041)
* feat(ui): add document store rename/delete actions for cards and table

* refactor(docstore): simplify local rename state update

* refactor(docstore): use DeleteDocStoreDialog in list delete flow and keep safe error fallback
2026-04-03 19:50:31 +08:00
Jocelyn Lin 7df6e95c40 fix(ui): allow XML tag for markdown rich input (#6095)
* fix(ui): allow XML tag for rich input

- Introduced utilities for escaping and unescaping non-standard XML/HTML tags to preserve them during markdown processing.
- Updated RichInput and ExpandRichInputDialog components to utilize the new XML tag utilities for handling custom tags.
- Added Jest configuration for the UI package and created tests for the XML tag utilities to ensure functionality.
- Updated package.json to include Jest as a dependency and added a test script.

* address code review comments from Gemini

* allow html tag in markdown editor

* add test case for markdown format

* update dependency in ui
2026-04-02 09:02:07 -07:00
yau-wd c4e689b97a Feature/Add Audit and Deletion (#5994)
* feat(audit): add emitEvent and file-based audit logging

* fix(sanitize.util.ts): correct IPv6 sanitization for audit log IP masking

* feat(account): add account deletion

* fix(sanitize.util.ts): add recursive sanitization for nested metadata

* fix(MainLayout/Header/Workspace): refresh workspace list when clicking dropdown

* feat(views/account): require typed confirmation for account deletion
2026-04-02 22:15:05 +08:00
Ilangoandyau-wd 6d668fbba1 feat: email change confirmation flow (#5992)
* fix: update stripe email when changing email in account settings

* fix: review feedback

* fix: circular dependency, destroy all sessions on email change

* add: email change confirmation flow + smtp available check + enable email flows for oss and enterprise

* add: confirm email change page. update: change email behavior in account settings

---------

Co-authored-by: yau-wd <[email protected]>
2026-04-01 20:16:13 +05:30
Mewyii 24e713b99e mini-feat: Store page sizes of views in local storage (#5830)
* page sizes for agent execution view, agentflow view, chatflow view and docstore view are now stored in local storage.

* Code improvements.
2026-03-31 21:33:34 +08:00
Rohan Patil d8b7fefe36 feat: add Pipedream MCP support (#5858)
* feat: add Pipedream MCP support

* fix: applied reviewer suggestions

* chore: unwanted console log cleanup
2026-03-31 20:50:04 +08:00
Jocelyn Lin 106f2113a6 fix(ui): limit Markdown rendering on RichInput (#6061)
- Added a new `useMarkdown` prop to RichInput for toggling between Markdown and HTML content.
- Updated the `extensions` function to conditionally configure link support based on the `useMarkdown` prop.
- Modified the content update logic to handle Markdown conversion when `useMarkdown` is enabled.
- Adjusted initial content loading to respect the `useMarkdown` setting for proper content type detection.
2026-03-26 12:18:17 -07:00
Henry Heng 34cf28546b release/3.1.1 (#6037)
[email protected]
2026-03-23 18:38:19 +08:00
MykhailoandHenry 3ffa96457f fix: disable Generate button when required fields are not filled (#5927)
* fix: disable Generate button when required fields are not filled

* add onBlur handler to Input component and simplify data handling in DocStoreInputHandler

---------

Co-authored-by: Henry <[email protected]>
2026-03-23 01:20:25 +08:00
Henry Heng 5daf8a3e44 Feat/Add Markdown support to RichInput with Edit/Source toggle (#6021)
* update @tiptap dependencies and enhance RichTextEditor functionality

* feat(customMention): add Markdown support for custom mentions

- Implemented a custom tokenizer for recognizing {{...}} syntax in Markdown.
- Added parsing and rendering functions to handle mentions in Markdown format.
- Enhanced the CustomMention component to support Markdown serialization and deserialization.

* update tiptap to latest 3.20.4
2026-03-20 18:51:41 +08:00
Henry Heng 57e08207de Release/3.1.0 (#5981)
[email protected] release
2026-03-16 20:37:41 +08:00
Henry Hengandyau-wd 0c6924bb08 Feat/Reasoning Support, Migrate LangChain to v1, Upgrade AI SDKs and Models (#5893)
* update langchain and all related scoped packages to v1, deprecate agents and llms, rename and upgrade chat models

* add reasoning capability to Agent and LLM

* add token cost to usageMetadata

* update azure and chat openai

* restore executable permission for husky pre-commit hook

* refactor(agentflow): implement extractResponseContent utility for consistent response handling

- Introduced extractResponseContent function to streamline response content extraction across various components.
- Updated multiple files to utilize the new utility, enhancing code readability and maintainability.
- Adjusted model configurations and added new parameters for Gemini models to improve functionality.

* added a mock implementation for the logger in the URL security utilities test file to isolate tests and improve reliability.

* chore: update package.json and pnpm-lock.yaml to add uuid dependency and mock multer-azure-blob-storage in Jest config

- Added uuid dependency with version 10.0.0 and request>uuid with version 3.4.0 in package.json.
- Updated pnpm-lock.yaml to reflect the new uuid dependency and its deprecation notice.
- Modified Jest configuration to mock multer-azure-blob-storage to avoid module resolution issues with uuid/v4.

* gpt 5.4 models

* - Changed the stream conversion method in convertTextToSpeechStream to utilize Readable.fromWeb, enhancing compatibility with web streams.
- Added '/api/v1/chatmessage/abort' to the WHITELIST_URLS array to allow for aborting chat messages in the API.

* - Refactors how agentflow nodes (Agent, ConditionAgent, LLM) handle images in chat messages so that base64 is only used during model invocation
- Storage and chat history keep file references only
- Added comprehensive test cases to ensure correct handling of base64 image data and file references

* fix unit test

* implement filename sanitization to prevent path traversal vulnerabilities

* fix(validator): normalize backslashes in file names for cross-platform compatibility

* updated utils to process messages with images, converting stored-file references to base64 for model invocation, and implement interfaces

* add sanitization to unwanted keys when processing images

* add uuid to components package.json

* move allow image uploads params on chat models

* add encodingformat to openai embeddings

* Refactor output parsing for reasoning models

* Update ConditionAgent to version 2.0, refactor system prompt handling, and enhance message preparation logic

* add claude settings local json to gitignore

* remove claude settings local json

---------

Co-authored-by: yau-wd <[email protected]>
2026-03-16 19:21:29 +08:00
christopherholland-workdayandgemini-code-assist[bot] 66374bfcc9 Sanitize image url from DOM node (#5779)
* Sanitize text from DOM node

* Update packages/ui/src/views/assistants/openai/AssistantDialog.jsx

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update AssistantDialog.jsx

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-24 14:02:08 -08:00
Ilangoandyau-wd c22f2d3d25 fix: read loginmethod (#5805)
* fix: auth for read loginmethod endpoint

* fix: review feedback

* fix: lint issues

* fix: validate auth0 domain

* fix: lint issues

* fix: wrong loginmethod endpoint in org setup page

---------

Co-authored-by: yau-wd <[email protected]>
2026-02-24 16:09:41 +08:00
1e4b0d8788 Fix improper mass assignment in account registration (#5689)
* Sanitize account information during registration

* Fix Improper Mass Assignment in Account Registration

* Update account.service.ts

* Fix improper mass assignment in account registration

* Fix improper mass assignment in account registration

* Update packages/server/src/enterprise/controllers/account.controller.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update packages/server/src/enterprise/controllers/account.controller.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix(account.controller.ts): remove additional }

* chore(organization/index.jsx): remove hardcoded user type pro from organization setup

---------

Co-authored-by: yau-wd <[email protected]>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-12 22:20:59 +08:00
Ilango 420907210a fix: hardcoded audio file extension failing validation in stt (#5737)
* fix: hardcoded audio file extension in stt

* fix: review feedback
2026-02-11 16:56:33 +05:30
christopherholland-workdayandHenry Heng c8282c97fb Fix Paramater Override Bypass (#5667)
* Fix Paramater Override Bypass

* Update OverrideConfig.jsx

* Update VectorStoreDialog.jsx

---------

Co-authored-by: Henry Heng <[email protected]>
2026-02-06 09:54:39 -08:00
Henry Heng f0c1294173 Release/3.0.13 (#5700)
release @3.0.13
2026-02-03 21:00:09 +08:00
yau-wd 72b920b019 Chore/Refactor login activity component (#5679)
chore(audit): refactor
2026-02-03 18:48:21 +08:00
afa24cc698 Add Input Validation to Password Reset (#5659)
* Add Input Validation to Password Reset

Previously, the new password used in password resets was not being validated to meet strength requirements. This change:

1. Adds validation to the new password
2. Small refactor to reduce code duplication related to the error message displayed when the new password has insufficient strength

* Update packages/server/src/enterprise/utils/validation.util.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix: password validation

* fix(account.service.ts): update response status and improve error handling for password reset

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: yau-wd <[email protected]>
2026-01-27 00:29:31 +08:00
ed86d1e73f Add validation for Agentflow generation (#5607)
* Add validation for Agentflow generation

* Update based on feedbacks

* Fix lint issues

* Apply suggestion from @tianwei-liu

Co-authored-by: tianwei-liu <[email protected]>

* Apply suggestion from @tianwei-liu

Co-authored-by: tianwei-liu <[email protected]>

* Lint fix AgentflowGeneratorDialog.jsx

---------

Co-authored-by: Henry Heng <[email protected]>
Co-authored-by: tianwei-liu <[email protected]>
Co-authored-by: Henry Heng <[email protected]>
2026-01-20 18:07:09 +08:00
Henry Heng 3901ef2652 Chore/deprecating llamaindex (#5654)
deprecating llamaindex
2026-01-20 17:05:58 +08:00
e135b29433 Feature/Add Permissions To API Keys (#5590)
* feat(database.util.ts): add function to check if column exists in table

* feat(migrations): add permission column to apikey table

* chore(services/apikey): remove auto-create default API key

* chore: remove auto-create default API key

* fix(migrations): rename permission to permissions in apikey table

* feat(services/apikey): add permissions to create and update

* feat(views/apikey): add permissions to create and update

* feat(api): use API key permissions instead of role permissions

* feat(permissions): filter by user.permissions except for ROLE type

* feat(services/apikey): filter keys by user permissions in getAllApiKeys

* feat(services/apikey): limit API key permissions to user permissions during creation/update

* fix(database.util.ts): replace non-null assertion with explicit error handling

* feat(services/apikey): log errors for malformed API key permissions

* refactor(services/apikey): extract permission validation

* feat(permission): enhance permission filtering based on user features and platform type

* chore(migrations): lower API key permission value

* Update packages/ui/src/views/apikey/APIKeyDialog.jsx

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update packages/ui/src/views/apikey/APIKeyDialog.jsx

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* refactor: remove deprecated APIKEY_PATH and APIKEY migration

* refactor(apikey): remove functionality related to import apikey

* feat(permission): filter out workspace and admin categories for non-ROLE

* feat(services/apikey): validate API key permissions during create and update

* chore(migrations): clean up role permissions values

* fix(migrations): handle corrupted permissions gracefully

* fix(server/src/index.ts): add error handling for API key permissions parsing

* fix(APIKeyDialog.jsx): handle corrupted permissions when editing API key

* fix(views/apikey/index.jsx): handle corrupted permissions in API key list

* fix(services/apikey): validate permissions JSON in API key operations

* Potential fix for code scanning alert no. 83: Clear-text logging of sensitive information

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* feat(migrations): change ApiKey.permissions column from TEXT to JSON

* Update packages/server/src/services/apikey/index.ts

Co-authored-by: Jocelyn Lin <[email protected]>

* feat(PricingDialog.jsx): handle downgrade with excessive apikey permissions

* feat(controllers\apikey): enforce permissions validation

* chore(services/apikey): remove redundant null checks

* fix(services/dataset): throw error when dataset not found before fetching rows

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Jocelyn Lin <[email protected]>
2026-01-16 12:21:48 +08:00
Ilango 1bfa7a1c7f Fix: Disclosures (#5562)
* fix: remove hostname from log filename

* fix: remove metrics endpoint from whitelist and require authentication

* update: example prometheus configuration

* fix: require authentication for bullmq dashboard

* remove: get-upload-path route

* update: move export chat messages logic to backend

* update: auth method for bullmq dashboard

* fix: hard-coded api key in example prometheus config

* fix: unused imports

* fix: duplicated try-catch blocks

* fix: add rate-limiting to bullmq dashboard

* fix: add rate-limiting to bullmq dashboard

* update: use existing json parse method
2026-01-08 14:01:13 +05:30
Henry Heng 55b6913c03 Release/3.0.12 (#5554)
[email protected]
2025-12-05 13:23:12 +00:00
Henry Heng 77ceeb9a3e Bugfix/Credential Filter (#5553)
* update credential filter by name

* update FlowListMenu and dialog components with refresh functionality
2025-12-05 13:09:25 +00:00
Henry Heng 465005a503 Bugfix/Remove postgres vector store data when deletion (#5536)
Remove postgres vector store data when deletion

- Introduced a new `doc_id` column in MySQL, Postgres, and SQLite record managers to support document identification.
- Updated the `update` method to handle both string and object formats for keys, allowing for better flexibility in document updates.
- Enhanced `listKeys` method to filter by `doc_id` when provided in options.
- Updated vector store integrations to utilize the new `doc_id` filtering capability
2025-11-30 12:01:36 +00:00