* Implement Node versioning
* Add new example for showing outdated versions
* Remove header sync button
* Test changes
* ix lint error
* Fix gemini comments
* Udpate example to show no verison, outdated and correct version
* Add Sync as a FAB button
* Increase test coversge
* Add 2 sceaniors to exampels to make it clearer
* Fix gemini comments
* Fix review comments
* Fix review comments
* 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]>
* feat: reusable publish workflow + @flowiseai/observe publish pipeline
* chore(observe): mark package as sideEffects: false
Addresses gemini-code-assist[bot] review feedback on PR #6341.
Enables tree-shaking of unused exports for consumer bundlers.
Audited src/ — no bare side-effect imports exist, so the claim is
accurate.
* 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]>
* Fix output node not selectable
* Fix highlight color
* Fix previous node displaying label and not ID
* Fix tool arguements not being called
* Fix dropdown values to not be bold
* Add standard sizing for all input text
* FIx syntax highlighting styling
* Use predefined tokens for font weight and size
* Fix dialog size of Source
* Fix color of syntax highlight in dark mode
* Fix the input fileds color in dark and regular mode
* Fix gemini comments
* FIx inconsistent spacing
* Standardise gap between label and field
* Remove export for unused function and standardize dialog size accrosss code, rich text,
and source
* Fix test error
* Fix opening node editing dialog on iteration node
* Untested change
* Add {{iteration}} variable
* Add node execution status to Iteration node
* Fix delete iteration node
* stream iteration node results incrementally when it is the terminal node
* Add test cases
* Fix edit color in dark mode and gemini comments
* Fix lint warnings
* Fix review comment - Add iterationEdge z-index value to tokens
* keep succesful and error messages in content
* Add removed comment
* Remove changes to server code in this PR
* feat(observe) FLOWISE-575: port NodeExecutionDetail with hooks, atoms, and tool surfaces
Ports legacy NodeExecutionDetails.jsx (~1,285 LOC) to the observe SDK as a
composed orchestrator. Adds atoms (CodeFenceBlock, JsonBlock, NodeIcon),
core utils (guards, resolveTool, extractToolCalls), feature hooks
(useNodeData, useHumanInput, useResizableSidebar), and tool / condition /
HITL surfaces. Establishes the type-location and tier-3 conventions in
ARCHITECTURE.md and TESTS.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
* fix(observe): use original index for fulfilled condition labels
Iterate the original conditions array and skip non-fulfilled entries so
"Condition N" matches the branch the user configured in the Condition
node editor. Legacy had the same filter-then-index pattern; this is a
deliberate deviation tagged with a // PARITY: comment.
Addresses review on #6310.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
* fix(observe): cap JSON viewer height at 400px to match legacy
Bake legacy JSONViewer.jsx's `maxHeight: '400px'` default into the
JsonBlock atom so all call sites (Tools list, fulfilled conditions,
chat message JSON content, NodeContentRenderer JSON paths) scroll
inside a bounded frame instead of pushing the rest of the panel
off-screen. Previously only NodeContentRenderer applied a cap;
ToolAccordionList and FulfilledConditionsBlock were unbounded.
Drops the now-redundant DEFAULT_JSON_MAX_HEIGHT in NodeContentRenderer
and MESSAGE_JSON_MAX_HEIGHT in ChatMessageBubble — three copies of the
same 400 collapsed to the atom's single source of truth. The
jsonMaxHeight override path in NodeContentRenderer remains for
consumers that need a non-default cap.
Adds regression tests that compare emotion classNames against an
explicit-value control (jsdom can't compute MUI sx-applied CSS).
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
* Integrate executuons API
* Fix Status indicators example to use AgetnContext
* Fix styling of HITL pause icon
* Tet changes for node executiom
* Fix lint error
* Chat panel implementation
* Import functionality from v2
* Fix proxy issues for chat
* Fix styling of chat
* Split out chat panel changes — execution UI only
Remove TestFlowDialog, TestFlowButton container, chat avatars, react-markdown/remark-gfm/fetch-event-source deps, uuid/fileMock mocks, and related vite proxy changes. These belong to feat-agentflow-chatpanel which will be opened on top of this branch.
Restore StyledFab to node-palette, restore old TestFlowButton component, and revert Agentflow.tsx/canvas index to pre-chat state so this branch contains only the node execution status UI work.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
* chore(agentflow): remove TestFlowButton placeholder from execution branch
TestFlowButton belongs to the chat panel PR. Removing the placeholder
component, its exports, and its usage in Agentflow.tsx so this branch
contains only execution UI work.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
* Add test changes
* FIx gemini comments
* Add dark mode toggle
* Remove Execution API references
* Update E2E to stream API responses
---------
Co-authored-by: Claude Sonnet 4.6 <[email protected]>
* Fix output node not selectable
* Fix highlight color
* Fix previous node displaying label and not ID
* Fix tool arguements not being called
* Fix dropdown values to not be bold
* Add standard sizing for all input text
* FIx syntax highlighting styling
* Use predefined tokens for font weight and size
* Fix dialog size of Source
* Fix color of syntax highlight in dark mode
* Fix the input fileds color in dark and regular mode
* Fix gemini comments
* FIx inconsistent spacing
* Standardise gap between label and field
* Remove export for unused function and standardize dialog size accrosss code, rich text,
and source
* Fix test error
* chore: update agentflow workflow and add changelog
- Enhanced the npm dist-tag description in the publish-agentflow.yml workflow to clarify options for development, pre-release, and stable versions.
- Introduced a new CHANGELOG.md file for the @flowiseai/agentflow package, documenting notable changes and adhering to the Keep a Changelog format.
- Updated README.md to reflect the current development status and features of the agentflow package, including detailed descriptions of functionalities and examples.
* update TESTS.md to include TipTap mock
* fix(agentflow): fix variable resolution, credential sync, and add E2E example
- Fix variable picker emitting {{nodeId.data.instance}} instead of {{nodeId}}
- Fix customMention serializer using display label instead of node ID
- Fix Start node missing outputData.content for chatInput type
- Sync credential selection to nodeData.credential for server-side execution
- Add E2E example with save/delete/test-run FABs via canvasActions
- Simplify BasicExample to minimal canvas-only usage
- Fix act() warnings in TooltipWithParser and useAsyncOptions tests
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
* fix(agentflow): add user-facing error feedback for save failures in E2E example
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
* fix(agentflow): fix variable chip display and revert Start node content field
- VariableInput: show {{nodeId}} in mention chip instead of display label,
consistent with the value serialized to flow data
- useAvailableVariables: exclude startAgentflow from upstream node outputs;
users reference the question via {{question}} (global variable), matching
agentflow v2 behavior — no Start node change or server change needed
- Start.ts: revert outputData.content = input; Start node is no longer
exposed as a node output variable in the picker
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
---------
Co-authored-by: Claude Sonnet 4.6 <[email protected]>
* To highlight input fiels in dark mode
* Fix background color of edit node dialog
* Fix background color for input messages field
* Fix Message container
* Fix border container color
* Make token be referenced by name
* Revert changes to server file
* Fix gemini comments
* feat(agentflow): optional cavasActions to allow additional buttons next to validate
- Updated Agentflow component to support canvasActions prop for rendering additional action buttons in the canvas overlay.
- Enhanced type definitions to include canvasActions in AgentflowProps.
- Added tests to verify the rendering of canvasActions in the Agentflow component.
- Added a new example demonstrating custom FABs alongside the validation button.
* update jsdoc to match actual implementation
* fix(agentflow): add onFlowChange notifications for deleteNode, deleteEdge, and duplicateNode actions
- Updated context state management to include viewport information during flow changes.
- Improved test coverage for flow change notifications to ensure correct behavior on node and edge modifications.
* address gemini comment
- Implemented auto-add functionality for Start node in Agentflow when creating a new canvas.
- Updated default values for number and options types to return empty strings instead of zero or first option name.
- Adjusted MessagesInput and ArrayInput tests to reflect changes in default values.
* Fix c=incorrect color for edit nodes
* Fix to ensure all input fields have same width
* Fix accordian having an extra line
* Fix gemini comment
* Test fix
* Fix JSON inout button not appearing
* Fix to display icons for vector embeddings and tools in Agent node
* Add variable syntax support to condition node
* Clear out existing values when operation is changed in Condition node
* Loop node to show ancestral nodes
* Fix position and styling of "See Example"
* Refactor AsyncInput to remove duplicate logic
* Fix gemini comments
* Addressed review comments
* Changes to limit markdown
* Remove extra content
* Test changes
* Add support to escape XML tags
* FIx lint errors
* Revert changes to server file
* Fix Gemini comments
* Fix gemini comments
* Refactor to remove duplicated logic
* 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]>
* feat(agentflow): Add refresh button for Available Actions dropdown
- Introduced a refresh button in AsyncInput and AsyncMultiOptionsInput components to allow users to re-fetch options dynamically.
- Updated InputParam interface to include a new `refresh` property.
- Enhanced tests to verify the visibility and functionality of the refresh button based on the `refresh` property.
- Adjusted loadMethodRegistry to ensure proper handling of credential and inputs for the `listActions` method.
This update improves user experience by providing a way to refresh options without needing to reload the entire component.
* wrap tests to a top layer describe
* Update packages/agentflow/src/features/node-editor/AsyncInput.tsx
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Initial flow
* Fix markdown import shape
* Add support to check for HTML or markdown
* Fix values not being persisted
* Make implementation similar to v2
* Add vairable syntax support to expandDialog
* Add variable syntax support to messageInput
* Test cases added
* Remove eslint-disable
* Add getHtml as a fallback
* Fixed gemini comments
* Fix test cases and lint warnings
* Fixed editorUtils.test to not have nested structure
* Fix review comments
* feat(agentflow): enhance state management with StateKeyValueInput and variable support
- Added StateKeyValueInput component for managing key-value pairs in flow state updates.
- Integrated VariableInput for value fields to support variable syntax.
- Updated MessagesInput and ExpandTextDialog to utilize variable items for enhanced user experience.
- Introduced new types for state updates in core types.
- Enhanced Jest tests to cover new functionality and ensure reliability.
This update improves the flexibility and usability of state management within the agentflow package.
* fix(agentflow): address PR #6119 review feedback
- Add autoFocus prop to VariableInput, apply in ExpandTextDialog for
consistent focus behavior with RichTextEditor fallback
- Extract duplicated VariableItem→SuggestionItem mapping into shared
toSuggestionItems utility, used by MessagesInput and NodeInputHandler
- Remove redundant default export from StateKeyValueInput
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
* clear selected key and update dropdown when a state key is removed
* cleanup unused type
---------
Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
* Initial flow
* Add tiptap - mention dependency similar to v2
* Add functionalities similiar to V2
* update to tiptap to 3.20.4
* Fix lint error
* Added missiing test cases for new files
* Styling changes
* InputMessage should be visible on initial load
* Fix gemini comment
* Remove outdated SelectVariable
* Add icon support similar to v2
* Fix gemini comments
* Remove input folder and utils folder under atoms
* Fix test error
* Fix initlalDefualts not being set
* Fix after merge with main
* Fixes for review comments
* Fix review comments
* New test cases added for fixes
* Remove additional space
* Intial changes
* Test changes
* Fix gemini suggestion
* revert changes to RichTextEditor
* Changes to create a common base class for NodeData and NodeDataBase
* Fix TS error
* Revert all changes to RichTextEditor
* Fixed comments in nodeFactory.ts
* Remove migration code
* Removed unwanted change in behaviour
* Remove all changes to RichTextEditor and test
* Rename NodeDataBase to NodeDataSchema
* Initial flow
* Fix styling to look the same as v2
* Add new atoms - SwitxhInput, Dropdown and ToolTipWithParser similar to v2
* Add test cases for all changes
* Refactor input default value handling and consolidate utility functions
* Allow imports from utils for atoms
* Fix gemini comments
* Fixed buold issues
* FIx styling and create credentiall behavior
* Add support for edit credentials
* Fix bug to display tool and vector embeddign parameters
* Add CredentialTypeSelector for HTTP node
* Fix to add falback icon in case of error
* Move inputDefaults under core/primitives
* Added fix to check if all mandatory fields have value before submittign a credential
* Fix new credential not being selected on creating
* Fixes made to address comments
* Gemini comment fix
* Fix test error by adding theme
* Refactor getDefaultValueForType to remove null/undefined handling
* Fixed getDefaultValueForType to be generic
* Fixed getDefaultValueForType to take single destructured object parameter
- Reintroduced NodeInfoDialog component with improved structure and functionality.
- Added new properties (badge, tags, documentation) to NodeData interface for better metadata handling.
- Updated flowExport and nodeFactory utilities to preserve new metadata during data processing.
- Implemented tests for NodeInfoDialog to ensure proper rendering and functionality.
- Adjusted Jest configuration to include coverage for the new NodeInfoDialog component.
* feat(agentflow): update behaviour for Start node, Http Node, and validation fixes (FLOWISE-265, FLOWISE-264)
- Updated behaviors for Start and HTTP nodes
- Fix computeArrayItemParameters crash when non-array field changes
- Fix validateNode to use availableNodes schema when node.data.inputs is missing
- Fix validateNode to respect param.default for required field checks
- Add option.description rendering in dropdown to match legacy UI
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
* fix dropdown display to match agentflow v2
* add missing credential field on start node
* remove HttpBodyInput component and associated tests (not referenced)
---------
Co-authored-by: Claude Sonnet 4.6 <[email protected]>
* feat(agentflow): add ConditionAgent ScenariosInput with dynamic output ports
Implement FLOWISE-262: port ConditionAgent scenarios editing from agentflow
v2 to the SDK package.
- Add ScenariosInput atom for editing scenario strings with add/delete
- Integrate into EditNodeDialog with dynamic output anchor generation
- Wire up edge label computation for conditionAgentAgentflow in useFlowHandlers
- Fix cleanupOrphanedEdges to always filter by anchor count (no stale prevCount)
- Make updateNodeData accept optional edges for atomic node+edge updates
- Add coverage threshold for ScenariosInput.tsx in jest.config.js
Co-Authored-By: Claude Opus 4.6 <[email protected]>
* fix(agentflow): address PR review comment and fix CI build error
Clarify ScenariosInput docstring to note Else is a visual indicator, not
a dynamic output anchor. Fix nodeFactory test outputs to use `type`
instead of non-existent `description` property on NodeOutput.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
* feat(agentflow): enhance ExpandTextDialog to handle value updates correctly
- Added tests to ensure the dialog displays the current value when opened after changes while closed.
- Implemented logic to reset the dialog's value to the original when reopened after cancellation.
- Updated state management in ExpandTextDialog to synchronize local value immediately upon opening.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
---------
Co-authored-by: Claude Opus 4.6 <[email protected]>