@flowdrop/flowdrop 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -51
- package/dist/adapters/WorkflowAdapter.d.ts +1 -1
- package/dist/adapters/WorkflowAdapter.js +27 -47
- package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +2 -2
- package/dist/adapters/agentspec/AgentSpecAdapter.js +122 -133
- package/dist/adapters/agentspec/agentAdapter.d.ts +2 -2
- package/dist/adapters/agentspec/agentAdapter.js +10 -10
- package/dist/adapters/agentspec/autoLayout.d.ts +52 -6
- package/dist/adapters/agentspec/autoLayout.js +118 -23
- package/dist/adapters/agentspec/componentTypeDefaults.d.ts +1 -1
- package/dist/adapters/agentspec/componentTypeDefaults.js +120 -120
- package/dist/adapters/agentspec/defaultNodeTypes.d.ts +2 -2
- package/dist/adapters/agentspec/defaultNodeTypes.js +307 -307
- package/dist/adapters/agentspec/index.d.ts +10 -10
- package/dist/adapters/agentspec/index.js +6 -6
- package/dist/adapters/agentspec/validator.d.ts +2 -2
- package/dist/adapters/agentspec/validator.js +20 -22
- package/dist/api/enhanced-client.d.ts +3 -3
- package/dist/api/enhanced-client.js +72 -73
- package/dist/chat/commandClassifier.d.ts +19 -0
- package/dist/chat/commandClassifier.js +30 -0
- package/dist/chat/index.d.ts +27 -0
- package/dist/chat/index.js +32 -0
- package/dist/chat/responseParser.d.ts +21 -0
- package/dist/chat/responseParser.js +91 -0
- package/dist/commands/batch.d.ts +18 -0
- package/dist/commands/batch.js +54 -0
- package/dist/commands/executor.d.ts +37 -0
- package/dist/commands/executor.js +1133 -0
- package/dist/commands/index.d.ts +14 -0
- package/dist/commands/index.js +17 -0
- package/dist/commands/parser.d.ts +16 -0
- package/dist/commands/parser.js +295 -0
- package/dist/commands/positioner.d.ts +19 -0
- package/dist/commands/positioner.js +33 -0
- package/dist/commands/storeIntegration.svelte.d.ts +16 -0
- package/dist/commands/storeIntegration.svelte.js +67 -0
- package/dist/commands/types.d.ts +343 -0
- package/dist/commands/types.js +45 -0
- package/dist/components/App.svelte +522 -237
- package/dist/components/App.svelte.d.ts +11 -8
- package/dist/components/CanvasBanner.stories.svelte +10 -16
- package/dist/components/CanvasBanner.stories.svelte.d.ts +1 -1
- package/dist/components/CanvasBanner.svelte +2 -2
- package/dist/components/CanvasBanner.svelte.d.ts +1 -1
- package/dist/components/CanvasController.svelte +37 -0
- package/dist/components/CanvasController.svelte.d.ts +32 -0
- package/dist/components/ConfigForm.svelte +118 -256
- package/dist/components/ConfigForm.svelte.d.ts +2 -2
- package/dist/components/ConfigMappingRow.svelte +128 -0
- package/dist/components/ConfigMappingRow.svelte.d.ts +8 -0
- package/dist/components/ConfigModal.svelte +3 -3
- package/dist/components/ConfigModal.svelte.d.ts +1 -1
- package/dist/components/ConfigPanel.stories.svelte +19 -19
- package/dist/components/ConfigPanel.stories.svelte.d.ts +1 -1
- package/dist/components/ConfigPanel.svelte +57 -19
- package/dist/components/ConfigPanel.svelte.d.ts +3 -1
- package/dist/components/ConnectionLine.svelte +4 -4
- package/dist/components/EdgeRefresher.svelte +1 -1
- package/dist/components/FlowDropEdge.stories.svelte +110 -110
- package/dist/components/FlowDropEdge.svelte +11 -19
- package/dist/components/FlowDropEdge.svelte.d.ts +1 -1
- package/dist/components/FlowDropZone.svelte +6 -9
- package/dist/components/FlowDropZone.svelte.d.ts +1 -1
- package/dist/components/LoadingSpinner.stories.svelte +13 -13
- package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
- package/dist/components/LoadingSpinner.svelte +3 -3
- package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
- package/dist/components/Logo.stories.svelte +4 -4
- package/dist/components/Logo.stories.svelte.d.ts +1 -1
- package/dist/components/Logo.svelte +3 -9
- package/dist/components/LogsSidebar.svelte +46 -53
- package/dist/components/LogsSidebar.svelte.d.ts +1 -1
- package/dist/components/MarkdownDisplay.stories.svelte +10 -14
- package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
- package/dist/components/MarkdownDisplay.svelte +4 -6
- package/dist/components/Navbar.stories.svelte +19 -19
- package/dist/components/Navbar.stories.svelte.d.ts +1 -1
- package/dist/components/Navbar.svelte +28 -49
- package/dist/components/Navbar.svelte.d.ts +2 -2
- package/dist/components/NodeSidebar.svelte +55 -135
- package/dist/components/NodeSidebar.svelte.d.ts +1 -1
- package/dist/components/NodeStatusOverlay.stories.svelte +19 -31
- package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
- package/dist/components/NodeStatusOverlay.svelte +40 -55
- package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
- package/dist/components/NodeSwapPicker.svelte +493 -0
- package/dist/components/NodeSwapPicker.svelte.d.ts +16 -0
- package/dist/components/PipelineStatus.svelte +63 -89
- package/dist/components/PipelineStatus.svelte.d.ts +4 -4
- package/dist/components/PortCoordinateTracker.svelte +5 -7
- package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
- package/dist/components/PortMappingRow.svelte +205 -0
- package/dist/components/PortMappingRow.svelte.d.ts +12 -0
- package/dist/components/ReadOnlyDetails.svelte +1 -1
- package/dist/components/SchemaForm.stories.svelte +53 -53
- package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
- package/dist/components/SchemaForm.svelte +24 -51
- package/dist/components/SchemaForm.svelte.d.ts +2 -2
- package/dist/components/SettingsModal.svelte +6 -9
- package/dist/components/SettingsModal.svelte.d.ts +1 -1
- package/dist/components/SettingsPanel.svelte +138 -158
- package/dist/components/SettingsPanel.svelte.d.ts +1 -1
- package/dist/components/StatusIcon.stories.svelte +16 -29
- package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
- package/dist/components/StatusIcon.svelte +19 -19
- package/dist/components/StatusIcon.svelte.d.ts +2 -2
- package/dist/components/StatusLabel.stories.svelte +8 -8
- package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
- package/dist/components/SwapMappingEditor.svelte +529 -0
- package/dist/components/SwapMappingEditor.svelte.d.ts +12 -0
- package/dist/components/ThemeToggle.stories.svelte +10 -10
- package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
- package/dist/components/ThemeToggle.svelte +22 -33
- package/dist/components/ThemeToggle.svelte.d.ts +1 -1
- package/dist/components/UniversalNode.svelte +29 -41
- package/dist/components/UniversalNode.svelte.d.ts +3 -3
- package/dist/components/WorkflowEditor.svelte +210 -170
- package/dist/components/WorkflowEditor.svelte.d.ts +12 -4
- package/dist/components/chat/AIChatPanel.svelte +797 -0
- package/dist/components/chat/AIChatPanel.svelte.d.ts +13 -0
- package/dist/components/chat/CommandPreview.svelte +234 -0
- package/dist/components/chat/CommandPreview.svelte.d.ts +9 -0
- package/dist/components/console/CommandConsole.stories.svelte +111 -0
- package/dist/components/console/CommandConsole.stories.svelte.d.ts +27 -0
- package/dist/components/console/CommandConsole.svelte +263 -0
- package/dist/components/console/CommandConsole.svelte.d.ts +11 -0
- package/dist/components/console/ConsoleAutocomplete.svelte +142 -0
- package/dist/components/console/ConsoleAutocomplete.svelte.d.ts +21 -0
- package/dist/components/console/ConsoleInput.svelte +771 -0
- package/dist/components/console/ConsoleInput.svelte.d.ts +16 -0
- package/dist/components/console/ConsoleOutput.svelte +116 -0
- package/dist/components/console/ConsoleOutput.svelte.d.ts +11 -0
- package/dist/components/console/formatters.d.ts +26 -0
- package/dist/components/console/formatters.js +116 -0
- package/dist/components/form/FormArray.svelte +75 -132
- package/dist/components/form/FormArray.svelte.d.ts +1 -1
- package/dist/components/form/FormAutocomplete.svelte +65 -108
- package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
- package/dist/components/form/FormCheckboxGroup.stories.svelte +13 -16
- package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormCheckboxGroup.svelte +2 -2
- package/dist/components/form/FormCodeEditor.svelte +42 -56
- package/dist/components/form/FormField.svelte +79 -90
- package/dist/components/form/FormField.svelte.d.ts +2 -2
- package/dist/components/form/FormFieldLight.svelte +72 -88
- package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
- package/dist/components/form/FormFieldWrapper.stories.svelte +14 -14
- package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormFieldWrapper.svelte +2 -9
- package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
- package/dist/components/form/FormFieldset.svelte +3 -3
- package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
- package/dist/components/form/FormMarkdownEditor.svelte +123 -156
- package/dist/components/form/FormNumberField.stories.svelte +18 -18
- package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormNumberField.svelte +6 -6
- package/dist/components/form/FormRangeField.stories.svelte +13 -13
- package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormRangeField.svelte +4 -12
- package/dist/components/form/FormSelect.stories.svelte +21 -21
- package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormSelect.svelte +5 -5
- package/dist/components/form/FormSelect.svelte.d.ts +1 -1
- package/dist/components/form/FormTemplateEditor.svelte +126 -175
- package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
- package/dist/components/form/FormTextField.stories.svelte +17 -23
- package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormTextField.svelte +4 -4
- package/dist/components/form/FormTextarea.stories.svelte +18 -21
- package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormTextarea.svelte +4 -4
- package/dist/components/form/FormToggle.stories.svelte +13 -16
- package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormToggle.svelte +3 -3
- package/dist/components/form/FormUISchemaRenderer.svelte +12 -19
- package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
- package/dist/components/form/index.d.ts +19 -19
- package/dist/components/form/index.js +18 -18
- package/dist/components/form/templateAutocomplete.d.ts +2 -2
- package/dist/components/form/templateAutocomplete.js +55 -64
- package/dist/components/form/types.d.ts +6 -6
- package/dist/components/form/types.js +4 -9
- package/dist/components/icons/AlertCircleIcon.svelte +1 -6
- package/dist/components/icons/CogIcon.svelte +1 -6
- package/dist/components/interrupt/ChoicePrompt.stories.svelte +27 -27
- package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
- package/dist/components/interrupt/ChoicePrompt.svelte +17 -41
- package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
- package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +17 -17
- package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
- package/dist/components/interrupt/ConfirmationPrompt.svelte +10 -16
- package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
- package/dist/components/interrupt/FormPrompt.svelte +10 -15
- package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
- package/dist/components/interrupt/InterruptBubble.svelte +87 -121
- package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
- package/dist/components/interrupt/ReviewPrompt.stories.svelte +37 -37
- package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
- package/dist/components/interrupt/ReviewPrompt.svelte +55 -75
- package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
- package/dist/components/interrupt/TextInputPrompt.stories.svelte +16 -17
- package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
- package/dist/components/interrupt/TextInputPrompt.svelte +13 -18
- package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
- package/dist/components/interrupt/index.d.ts +6 -5
- package/dist/components/interrupt/index.js +6 -5
- package/dist/components/layouts/MainLayout.svelte +46 -84
- package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
- package/dist/components/nodes/GatewayNode.stories.svelte +64 -65
- package/dist/components/nodes/GatewayNode.svelte +37 -70
- package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
- package/dist/components/nodes/IdeaNode.stories.svelte +25 -26
- package/dist/components/nodes/IdeaNode.svelte +22 -36
- package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
- package/dist/components/nodes/NotesNode.stories.svelte +37 -38
- package/dist/components/nodes/NotesNode.svelte +28 -39
- package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
- package/dist/components/nodes/SimpleNode.stories.svelte +137 -138
- package/dist/components/nodes/SimpleNode.svelte +44 -74
- package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
- package/dist/components/nodes/SquareNode.stories.svelte +75 -75
- package/dist/components/nodes/SquareNode.svelte +42 -68
- package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
- package/dist/components/nodes/TerminalNode.stories.svelte +10 -10
- package/dist/components/nodes/TerminalNode.svelte +74 -112
- package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
- package/dist/components/nodes/ToolNode.stories.svelte +115 -116
- package/dist/components/nodes/ToolNode.svelte +31 -64
- package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
- package/dist/components/nodes/WorkflowNode.stories.svelte +84 -89
- package/dist/components/nodes/WorkflowNode.svelte +50 -103
- package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
- package/dist/components/playground/ChatPanel.svelte +47 -103
- package/dist/components/playground/ExecutionLogs.svelte +45 -68
- package/dist/components/playground/InputCollector.svelte +32 -51
- package/dist/components/playground/MessageBubble.stories.svelte +25 -25
- package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
- package/dist/components/playground/MessageBubble.svelte +54 -70
- package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
- package/dist/components/playground/Playground.svelte +60 -91
- package/dist/components/playground/Playground.svelte.d.ts +3 -3
- package/dist/components/playground/PlaygroundModal.svelte +8 -12
- package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
- package/dist/components/playground/SessionManager.svelte +34 -40
- package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
- package/dist/config/agentSpecEndpoints.d.ts +1 -1
- package/dist/config/agentSpecEndpoints.js +20 -20
- package/dist/config/constants.js +2 -2
- package/dist/config/defaultCategories.d.ts +1 -1
- package/dist/config/defaultCategories.js +86 -86
- package/dist/config/defaultPortConfig.d.ts +1 -1
- package/dist/config/defaultPortConfig.js +144 -144
- package/dist/config/endpoints.d.ts +12 -4
- package/dist/config/endpoints.js +70 -65
- package/dist/config/runtimeConfig.d.ts +2 -2
- package/dist/config/runtimeConfig.js +8 -8
- package/dist/core/index.d.ts +68 -63
- package/dist/core/index.js +44 -35
- package/dist/display/index.d.ts +2 -2
- package/dist/display/index.js +2 -2
- package/dist/editor/index.d.ts +64 -62
- package/dist/editor/index.js +57 -55
- package/dist/form/code.d.ts +5 -5
- package/dist/form/code.js +14 -14
- package/dist/form/fieldRegistry.d.ts +3 -3
- package/dist/form/fieldRegistry.js +9 -11
- package/dist/form/full.d.ts +8 -8
- package/dist/form/full.js +9 -9
- package/dist/form/index.d.ts +18 -18
- package/dist/form/index.js +16 -16
- package/dist/form/markdown.d.ts +4 -4
- package/dist/form/markdown.js +8 -8
- package/dist/helpers/proximityConnect.d.ts +3 -3
- package/dist/helpers/proximityConnect.js +40 -35
- package/dist/helpers/workflowEditorHelper.d.ts +8 -58
- package/dist/helpers/workflowEditorHelper.js +73 -292
- package/dist/index.d.ts +6 -6
- package/dist/index.js +6 -6
- package/dist/mocks/app-environment.js +2 -2
- package/dist/mocks/app-forms.js +1 -1
- package/dist/mocks/app-navigation.js +2 -2
- package/dist/mocks/app-stores.js +3 -3
- package/dist/playground/index.d.ts +19 -19
- package/dist/playground/index.js +16 -16
- package/dist/playground/mount.d.ts +3 -3
- package/dist/playground/mount.js +24 -24
- package/dist/registry/builtinFormats.js +13 -13
- package/dist/registry/builtinNodes.d.ts +2 -2
- package/dist/registry/builtinNodes.js +77 -77
- package/dist/registry/index.d.ts +4 -4
- package/dist/registry/index.js +4 -4
- package/dist/registry/nodeComponentRegistry.d.ts +8 -8
- package/dist/registry/nodeComponentRegistry.js +9 -11
- package/dist/registry/plugin.d.ts +2 -2
- package/dist/registry/plugin.js +11 -11
- package/dist/registry/workflowFormatRegistry.d.ts +3 -3
- package/dist/registry/workflowFormatRegistry.js +2 -2
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/index.js +2 -2
- package/dist/schemas/v1/workflow.schema.json +107 -22
- package/dist/services/agentSpecExecutionService.d.ts +3 -3
- package/dist/services/agentSpecExecutionService.js +55 -56
- package/dist/services/api.d.ts +2 -2
- package/dist/services/api.js +37 -37
- package/dist/services/apiVariableService.d.ts +1 -1
- package/dist/services/apiVariableService.js +34 -41
- package/dist/services/autoSaveService.js +8 -8
- package/dist/services/categoriesApi.d.ts +2 -2
- package/dist/services/categoriesApi.js +8 -8
- package/dist/services/chatService.d.ts +65 -0
- package/dist/services/chatService.js +131 -0
- package/dist/services/draftStorage.d.ts +1 -1
- package/dist/services/draftStorage.js +11 -11
- package/dist/services/dynamicSchemaService.d.ts +1 -1
- package/dist/services/dynamicSchemaService.js +39 -41
- package/dist/services/globalSave.d.ts +2 -2
- package/dist/services/globalSave.js +38 -41
- package/dist/services/historyService.d.ts +7 -5
- package/dist/services/historyService.js +29 -14
- package/dist/services/interruptService.d.ts +1 -1
- package/dist/services/interruptService.js +29 -35
- package/dist/services/nodeExecutionService.d.ts +1 -1
- package/dist/services/nodeExecutionService.js +44 -45
- package/dist/services/playgroundService.d.ts +1 -1
- package/dist/services/playgroundService.js +29 -29
- package/dist/services/portConfigApi.d.ts +2 -2
- package/dist/services/portConfigApi.js +8 -8
- package/dist/services/settingsService.d.ts +2 -2
- package/dist/services/settingsService.js +19 -25
- package/dist/services/toastService.d.ts +4 -4
- package/dist/services/toastService.js +33 -33
- package/dist/services/variableService.d.ts +1 -1
- package/dist/services/variableService.js +36 -36
- package/dist/services/workflowStorage.d.ts +2 -2
- package/dist/services/workflowStorage.js +13 -13
- package/dist/settings/index.d.ts +7 -7
- package/dist/settings/index.js +6 -6
- package/dist/skins/default.d.ts +1 -1
- package/dist/skins/default.js +1 -1
- package/dist/skins/index.d.ts +3 -3
- package/dist/skins/index.js +7 -7
- package/dist/skins/slate.d.ts +1 -1
- package/dist/skins/slate.js +69 -69
- package/dist/stores/categoriesStore.svelte.d.ts +1 -1
- package/dist/stores/categoriesStore.svelte.js +5 -5
- package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
- package/dist/stores/editorStateMachine.svelte.js +34 -34
- package/dist/stores/historyStore.svelte.d.ts +4 -4
- package/dist/stores/historyStore.svelte.js +4 -4
- package/dist/stores/interruptStore.svelte.d.ts +3 -3
- package/dist/stores/interruptStore.svelte.js +27 -22
- package/dist/stores/playgroundStore.svelte.d.ts +3 -3
- package/dist/stores/playgroundStore.svelte.js +29 -23
- package/dist/stores/portCoordinateStore.svelte.d.ts +6 -2
- package/dist/stores/portCoordinateStore.svelte.js +30 -39
- package/dist/stores/settingsStore.svelte.d.ts +2 -2
- package/dist/stores/settingsStore.svelte.js +57 -62
- package/dist/stores/workflowStore.svelte.d.ts +34 -5
- package/dist/stores/workflowStore.svelte.js +127 -108
- package/dist/stories/CanvasDecorator.svelte +7 -10
- package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
- package/dist/stories/EdgeDecorator.svelte +28 -31
- package/dist/stories/EdgeDecorator.svelte.d.ts +1 -1
- package/dist/stories/NodeDecorator.svelte +14 -20
- package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
- package/dist/stories/utils.d.ts +2 -2
- package/dist/stories/utils.js +89 -93
- package/dist/styles/base.css +16 -50
- package/dist/styles/tokens.css +10 -28
- package/dist/svelte-app.d.ts +10 -10
- package/dist/svelte-app.js +39 -39
- package/dist/themes/default.d.ts +1 -1
- package/dist/themes/default.js +4 -4
- package/dist/themes/index.d.ts +3 -3
- package/dist/themes/index.js +11 -11
- package/dist/themes/minimal.d.ts +1 -1
- package/dist/themes/minimal.js +5 -5
- package/dist/types/agentspec.d.ts +18 -18
- package/dist/types/agentspec.js +2 -2
- package/dist/types/auth.d.ts +1 -1
- package/dist/types/auth.js +6 -6
- package/dist/types/chat.d.ts +63 -0
- package/dist/types/chat.js +9 -0
- package/dist/types/config.d.ts +6 -6
- package/dist/types/events.d.ts +28 -2
- package/dist/types/events.js +2 -1
- package/dist/types/index.d.ts +40 -32
- package/dist/types/index.js +6 -6
- package/dist/types/interrupt.d.ts +6 -6
- package/dist/types/interrupt.js +21 -21
- package/dist/types/interruptState.d.ts +12 -12
- package/dist/types/interruptState.js +66 -66
- package/dist/types/playground.d.ts +7 -7
- package/dist/types/playground.js +14 -14
- package/dist/types/settings.d.ts +12 -4
- package/dist/types/settings.js +21 -23
- package/dist/types/skin.d.ts +1 -1
- package/dist/types/theme.d.ts +2 -2
- package/dist/types/uischema.d.ts +4 -4
- package/dist/types/uischema.js +3 -3
- package/dist/utils/colors.d.ts +1 -1
- package/dist/utils/colors.js +95 -97
- package/dist/utils/config.d.ts +2 -2
- package/dist/utils/config.js +48 -48
- package/dist/utils/connections.d.ts +2 -2
- package/dist/utils/connections.js +15 -15
- package/dist/utils/edgeStyling.d.ts +42 -0
- package/dist/utils/edgeStyling.js +173 -0
- package/dist/utils/errors.js +3 -3
- package/dist/utils/fetchWithAuth.d.ts +1 -1
- package/dist/utils/fetchWithAuth.js +2 -2
- package/dist/utils/handleIds.d.ts +2 -2
- package/dist/utils/handleIds.js +8 -8
- package/dist/utils/handlePositioning.d.ts +1 -1
- package/dist/utils/handlePositioning.js +2 -2
- package/dist/utils/icons.d.ts +1 -1
- package/dist/utils/icons.js +74 -74
- package/dist/utils/logger.d.ts +1 -1
- package/dist/utils/logger.js +7 -7
- package/dist/utils/nodeIds.d.ts +31 -0
- package/dist/utils/nodeIds.js +42 -0
- package/dist/utils/nodeStatus.d.ts +1 -1
- package/dist/utils/nodeStatus.js +48 -48
- package/dist/utils/nodeSwap.d.ts +221 -0
- package/dist/utils/nodeSwap.js +680 -0
- package/dist/utils/nodeTypes.d.ts +1 -1
- package/dist/utils/nodeTypes.js +20 -21
- package/dist/utils/nodeWrapper.d.ts +7 -7
- package/dist/utils/nodeWrapper.js +19 -21
- package/dist/utils/performanceUtils.d.ts +1 -1
- package/dist/utils/performanceUtils.js +1 -2
- package/dist/utils/portUtils.d.ts +2 -2
- package/dist/utils/portUtils.js +1 -1
- package/dist/utils/sanitize.js +1 -1
- package/dist/utils/uischema.d.ts +2 -2
- package/dist/utils/uischema.js +8 -8
- package/dist/utils/validation.js +8 -8
- package/package.json +12 -11
- package/dist/helpers/nodeLayoutHelper.d.ts +0 -14
- package/dist/helpers/nodeLayoutHelper.js +0 -19
|
@@ -5,36 +5,36 @@
|
|
|
5
5
|
* When a node is dragged near another node, this helper finds the best
|
|
6
6
|
* compatible port pair and creates a preview/permanent edge.
|
|
7
7
|
*/
|
|
8
|
-
import { dynamicPortToNodePort } from
|
|
9
|
-
import { getPortCompatibilityChecker } from
|
|
10
|
-
import { v4 as uuidv4 } from
|
|
8
|
+
import { dynamicPortToNodePort } from '../types/index.js';
|
|
9
|
+
import { getPortCompatibilityChecker } from '../utils/connections.js';
|
|
10
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
11
11
|
/** CSS class applied to proximity preview edges */
|
|
12
|
-
const PROXIMITY_EDGE_CLASS =
|
|
12
|
+
const PROXIMITY_EDGE_CLASS = 'flowdrop--edge--proximity-preview';
|
|
13
13
|
export class ProximityConnectHelper {
|
|
14
14
|
/**
|
|
15
15
|
* Get ALL ports (static + dynamic + gateway branches) for a node.
|
|
16
16
|
*/
|
|
17
17
|
static getAllPorts(node, direction) {
|
|
18
18
|
// Static ports from metadata
|
|
19
|
-
const staticPorts = direction ===
|
|
19
|
+
const staticPorts = direction === 'output'
|
|
20
20
|
? (node.data?.metadata?.outputs ?? [])
|
|
21
21
|
: (node.data?.metadata?.inputs ?? []);
|
|
22
22
|
// Dynamic ports from config
|
|
23
|
-
const dynamicKey = direction ===
|
|
23
|
+
const dynamicKey = direction === 'output' ? 'dynamicOutputs' : 'dynamicInputs';
|
|
24
24
|
const rawDynamic = node.data?.config?.[dynamicKey] ?? [];
|
|
25
25
|
const dynamicPorts = rawDynamic.map((p) => dynamicPortToNodePort(p, direction));
|
|
26
26
|
// Gateway branches (output only, dataType = 'trigger')
|
|
27
|
-
if (direction ===
|
|
27
|
+
if (direction === 'output') {
|
|
28
28
|
const branches = node.data?.config?.branches;
|
|
29
29
|
const nodeType = node.data?.metadata?.type || node.type;
|
|
30
|
-
if (nodeType ===
|
|
30
|
+
if (nodeType === 'gateway' && branches?.length) {
|
|
31
31
|
const branchPorts = branches
|
|
32
32
|
.filter((b) => !staticPorts.some((sp) => sp.id === b.name))
|
|
33
33
|
.map((b) => ({
|
|
34
34
|
id: b.name,
|
|
35
35
|
name: b.name,
|
|
36
|
-
type:
|
|
37
|
-
dataType:
|
|
36
|
+
type: 'output',
|
|
37
|
+
dataType: 'trigger'
|
|
38
38
|
}));
|
|
39
39
|
return [...staticPorts, ...dynamicPorts, ...branchPorts];
|
|
40
40
|
}
|
|
@@ -88,10 +88,10 @@ export class ProximityConnectHelper {
|
|
|
88
88
|
}
|
|
89
89
|
if (!closestNode)
|
|
90
90
|
return [];
|
|
91
|
-
const draggedOutputs = this.getAllPorts(draggedNode,
|
|
92
|
-
const draggedInputs = this.getAllPorts(draggedNode,
|
|
93
|
-
const nearbyInputs = this.getAllPorts(closestNode,
|
|
94
|
-
const nearbyOutputs = this.getAllPorts(closestNode,
|
|
91
|
+
const draggedOutputs = this.getAllPorts(draggedNode, 'output');
|
|
92
|
+
const draggedInputs = this.getAllPorts(draggedNode, 'input');
|
|
93
|
+
const nearbyInputs = this.getAllPorts(closestNode, 'input');
|
|
94
|
+
const nearbyOutputs = this.getAllPorts(closestNode, 'output');
|
|
95
95
|
// Collect all compatible pairs, then pick the best one
|
|
96
96
|
let exactMatch = null;
|
|
97
97
|
let compatibleMatch = null;
|
|
@@ -100,8 +100,8 @@ export class ProximityConnectHelper {
|
|
|
100
100
|
for (const inPort of nearbyInputs) {
|
|
101
101
|
if (!checker.areDataTypesCompatible(outPort.dataType, inPort.dataType))
|
|
102
102
|
continue;
|
|
103
|
-
const sourceHandle = this.buildHandleId(draggedNode.id,
|
|
104
|
-
const targetHandle = this.buildHandleId(closestNode.id,
|
|
103
|
+
const sourceHandle = this.buildHandleId(draggedNode.id, 'output', outPort.id);
|
|
104
|
+
const targetHandle = this.buildHandleId(closestNode.id, 'input', inPort.id);
|
|
105
105
|
const edgeKey = `${draggedNode.id}:${sourceHandle}->${closestNode.id}:${targetHandle}`;
|
|
106
106
|
if (existingEdgeSet.has(edgeKey))
|
|
107
107
|
continue;
|
|
@@ -112,7 +112,7 @@ export class ProximityConnectHelper {
|
|
|
112
112
|
sourceHandle,
|
|
113
113
|
targetHandle,
|
|
114
114
|
sourcePortDataType: outPort.dataType,
|
|
115
|
-
targetPortDataType: inPort.dataType
|
|
115
|
+
targetPortDataType: inPort.dataType
|
|
116
116
|
};
|
|
117
117
|
if (outPort.dataType === inPort.dataType) {
|
|
118
118
|
if (!exactMatch)
|
|
@@ -135,8 +135,8 @@ export class ProximityConnectHelper {
|
|
|
135
135
|
for (const inPort of draggedInputs) {
|
|
136
136
|
if (!checker.areDataTypesCompatible(outPort.dataType, inPort.dataType))
|
|
137
137
|
continue;
|
|
138
|
-
const sourceHandle = this.buildHandleId(closestNode.id,
|
|
139
|
-
const targetHandle = this.buildHandleId(draggedNode.id,
|
|
138
|
+
const sourceHandle = this.buildHandleId(closestNode.id, 'output', outPort.id);
|
|
139
|
+
const targetHandle = this.buildHandleId(draggedNode.id, 'input', inPort.id);
|
|
140
140
|
const edgeKey = `${closestNode.id}:${sourceHandle}->${draggedNode.id}:${targetHandle}`;
|
|
141
141
|
if (existingEdgeSet.has(edgeKey))
|
|
142
142
|
continue;
|
|
@@ -147,7 +147,7 @@ export class ProximityConnectHelper {
|
|
|
147
147
|
sourceHandle,
|
|
148
148
|
targetHandle,
|
|
149
149
|
sourcePortDataType: outPort.dataType,
|
|
150
|
-
targetPortDataType: inPort.dataType
|
|
150
|
+
targetPortDataType: inPort.dataType
|
|
151
151
|
};
|
|
152
152
|
if (outPort.dataType === inPort.dataType) {
|
|
153
153
|
if (!exactMatch)
|
|
@@ -193,13 +193,13 @@ export class ProximityConnectHelper {
|
|
|
193
193
|
const otherOutputsByType = new Map();
|
|
194
194
|
for (const coord of portCoordinates.values()) {
|
|
195
195
|
if (coord.nodeId === draggedNodeId) {
|
|
196
|
-
if (coord.direction ===
|
|
196
|
+
if (coord.direction === 'output')
|
|
197
197
|
draggedOutputs.push(coord);
|
|
198
198
|
else
|
|
199
199
|
draggedInputs.push(coord);
|
|
200
200
|
}
|
|
201
201
|
else {
|
|
202
|
-
const groupMap = coord.direction ===
|
|
202
|
+
const groupMap = coord.direction === 'input' ? otherInputsByType : otherOutputsByType;
|
|
203
203
|
let group = groupMap.get(coord.dataType);
|
|
204
204
|
if (!group) {
|
|
205
205
|
group = [];
|
|
@@ -224,8 +224,7 @@ export class ProximityConnectHelper {
|
|
|
224
224
|
return;
|
|
225
225
|
const isExact = sourceCoord.dataType === targetCoord.dataType;
|
|
226
226
|
// Prefer exact match, then closest distance
|
|
227
|
-
if ((isExact && !bestIsExact) ||
|
|
228
|
-
(isExact === bestIsExact && dist < bestDistance)) {
|
|
227
|
+
if ((isExact && !bestIsExact) || (isExact === bestIsExact && dist < bestDistance)) {
|
|
229
228
|
bestCandidate = {
|
|
230
229
|
id: `proximity-${uuidv4()}`,
|
|
231
230
|
source: sourceCoord.nodeId,
|
|
@@ -233,15 +232,22 @@ export class ProximityConnectHelper {
|
|
|
233
232
|
sourceHandle: sourceCoord.handleId,
|
|
234
233
|
targetHandle: targetCoord.handleId,
|
|
235
234
|
sourcePortDataType: sourceCoord.dataType,
|
|
236
|
-
targetPortDataType: targetCoord.dataType
|
|
235
|
+
targetPortDataType: targetCoord.dataType
|
|
237
236
|
};
|
|
238
237
|
bestDistance = dist;
|
|
239
238
|
bestIsExact = isExact;
|
|
240
239
|
}
|
|
241
240
|
};
|
|
241
|
+
// Cache compatible types per dataType to avoid redundant lookups
|
|
242
|
+
const compatCache = new Map();
|
|
243
|
+
for (const srcPort of draggedOutputs) {
|
|
244
|
+
if (!compatCache.has(srcPort.dataType)) {
|
|
245
|
+
compatCache.set(srcPort.dataType, checker.getCompatibleTypes(srcPort.dataType));
|
|
246
|
+
}
|
|
247
|
+
}
|
|
242
248
|
// Direction A: dragged outputs → other inputs (only compatible types)
|
|
243
249
|
for (const srcPort of draggedOutputs) {
|
|
244
|
-
const compatibleTypes =
|
|
250
|
+
const compatibleTypes = compatCache.get(srcPort.dataType);
|
|
245
251
|
for (const targetType of compatibleTypes) {
|
|
246
252
|
const targets = otherInputsByType.get(targetType);
|
|
247
253
|
if (!targets)
|
|
@@ -274,17 +280,17 @@ export class ProximityConnectHelper {
|
|
|
274
280
|
sourceHandle: c.sourceHandle,
|
|
275
281
|
targetHandle: c.targetHandle,
|
|
276
282
|
class: PROXIMITY_EDGE_CLASS,
|
|
277
|
-
style:
|
|
283
|
+
style: 'stroke-dasharray: 5 5; opacity: 0.6;',
|
|
278
284
|
animated: true,
|
|
279
285
|
selectable: false,
|
|
280
286
|
deletable: false,
|
|
281
287
|
data: {
|
|
282
288
|
metadata: {
|
|
283
|
-
edgeType:
|
|
289
|
+
edgeType: 'data',
|
|
284
290
|
sourcePortDataType: c.sourcePortDataType,
|
|
285
|
-
isProximityPreview: true
|
|
286
|
-
}
|
|
287
|
-
}
|
|
291
|
+
isProximityPreview: true
|
|
292
|
+
}
|
|
293
|
+
}
|
|
288
294
|
}));
|
|
289
295
|
}
|
|
290
296
|
/**
|
|
@@ -296,16 +302,15 @@ export class ProximityConnectHelper {
|
|
|
296
302
|
source: c.source,
|
|
297
303
|
target: c.target,
|
|
298
304
|
sourceHandle: c.sourceHandle,
|
|
299
|
-
targetHandle: c.targetHandle
|
|
305
|
+
targetHandle: c.targetHandle
|
|
300
306
|
}));
|
|
301
307
|
}
|
|
302
308
|
/**
|
|
303
309
|
* Check if an edge is a temporary proximity preview edge.
|
|
304
310
|
*/
|
|
305
311
|
static isProximityPreviewEdge(edge) {
|
|
306
|
-
return (edge.id.startsWith(
|
|
307
|
-
edge.data?.metadata?.isProximityPreview ===
|
|
308
|
-
true);
|
|
312
|
+
return (edge.id.startsWith('proximity-') ||
|
|
313
|
+
edge.data?.metadata?.isProximityPreview === true);
|
|
309
314
|
}
|
|
310
315
|
/**
|
|
311
316
|
* Remove all proximity preview edges from an edge array.
|
|
@@ -2,14 +2,9 @@
|
|
|
2
2
|
* Workflow Editor Helper
|
|
3
3
|
* Contains business logic for workflow operations
|
|
4
4
|
*/
|
|
5
|
-
import type { WorkflowNode as WorkflowNodeType, NodeMetadata, Workflow, WorkflowEdge, NodeExecutionInfo } from
|
|
6
|
-
import type { EndpointConfig } from
|
|
7
|
-
|
|
8
|
-
* Generate a unique node ID based on node type and existing nodes
|
|
9
|
-
* Format: <node_type>.<number>
|
|
10
|
-
* Example: boolean_gateway.1, calculator.2
|
|
11
|
-
*/
|
|
12
|
-
export declare function generateNodeId(nodeTypeId: string, existingNodes: WorkflowNodeType[]): string;
|
|
5
|
+
import type { WorkflowNode as WorkflowNodeType, NodeMetadata, Workflow, WorkflowEdge, NodeExecutionInfo } from '../types/index.js';
|
|
6
|
+
import type { EndpointConfig } from '../config/endpoints.js';
|
|
7
|
+
export { generateNodeId, extractConfigDefaults } from '../utils/nodeIds.js';
|
|
13
8
|
/**
|
|
14
9
|
* Edge category type for styling purposes
|
|
15
10
|
* - trigger: For control flow connections (dataType: "trigger")
|
|
@@ -17,63 +12,18 @@ export declare function generateNodeId(nodeTypeId: string, existingNodes: Workfl
|
|
|
17
12
|
* - loopback: Dashed gray line for loop iteration connections (targets loop_back port)
|
|
18
13
|
* - data: Normal gray line for all other data connections
|
|
19
14
|
*/
|
|
20
|
-
export type EdgeCategory =
|
|
15
|
+
export type EdgeCategory = 'trigger' | 'tool' | 'loopback' | 'data';
|
|
21
16
|
/**
|
|
22
|
-
* Edge styling configuration based on source port data type
|
|
17
|
+
* Edge styling configuration based on source port data type.
|
|
18
|
+
* Delegates to standalone functions in utils/edgeStyling.ts.
|
|
23
19
|
*/
|
|
24
20
|
export declare class EdgeStylingHelper {
|
|
25
|
-
/**
|
|
26
|
-
* Extract the port ID from a handle ID
|
|
27
|
-
* @param handleId - The handle ID string (e.g., "sample-node.1-output-trigger" or "trigger")
|
|
28
|
-
* @returns The port ID (e.g., "trigger") or the handleId itself for short format
|
|
29
|
-
*/
|
|
30
21
|
static extractPortIdFromHandle(handleId: string | undefined): string | null;
|
|
31
|
-
/**
|
|
32
|
-
* Check if a port ID matches a dynamic branch in a Gateway node
|
|
33
|
-
* Gateway nodes store branches in config.branches array
|
|
34
|
-
* @param node - The workflow node to check
|
|
35
|
-
* @param portId - The port ID to look up
|
|
36
|
-
* @returns true if the portId matches a gateway branch
|
|
37
|
-
*/
|
|
38
22
|
static isGatewayBranch(node: WorkflowNodeType, portId: string): boolean;
|
|
39
|
-
|
|
40
|
-
* Get the data type of a port from a node's metadata
|
|
41
|
-
* Also handles dynamic ports like Gateway branches
|
|
42
|
-
* @param node - The workflow node containing the port
|
|
43
|
-
* @param portId - The port ID to look up
|
|
44
|
-
* @param portType - Whether to look in "inputs" or "outputs"
|
|
45
|
-
* @returns The port's dataType or null if not found
|
|
46
|
-
*/
|
|
47
|
-
static getPortDataType(node: WorkflowNodeType, portId: string, portType: "input" | "output"): string | null;
|
|
48
|
-
/**
|
|
49
|
-
* Determine the edge category based on source port data type
|
|
50
|
-
* Note: This method does not check for loopback edges.
|
|
51
|
-
* Use getEdgeCategoryWithLoopback() for full edge categorization.
|
|
52
|
-
*
|
|
53
|
-
* @param sourcePortDataType - The data type of the source output port
|
|
54
|
-
* @returns The edge category for styling
|
|
55
|
-
*/
|
|
23
|
+
static getPortDataType(node: WorkflowNodeType, portId: string, portType: 'input' | 'output'): string | null;
|
|
56
24
|
static getEdgeCategory(sourcePortDataType: string | null): EdgeCategory;
|
|
57
|
-
/**
|
|
58
|
-
* Determine the full edge category including loopback detection
|
|
59
|
-
* Loopback edges take precedence over source port data type
|
|
60
|
-
*
|
|
61
|
-
* @param edge - The edge to categorize
|
|
62
|
-
* @param sourcePortDataType - The data type of the source output port
|
|
63
|
-
* @returns The edge category for styling
|
|
64
|
-
*/
|
|
65
25
|
static getEdgeCategoryWithLoopback(edge: WorkflowEdge, sourcePortDataType: string | null): EdgeCategory;
|
|
66
|
-
/**
|
|
67
|
-
* Apply custom styling to connection edges based on edge type:
|
|
68
|
-
* - Loopback: Dashed gray line for loop iteration (targets loop_back port)
|
|
69
|
-
* - Trigger ports: Solid black line with arrow
|
|
70
|
-
* - Tool ports: Dashed amber line with arrow
|
|
71
|
-
* - Data ports: Normal gray line with arrow
|
|
72
|
-
*/
|
|
73
26
|
static applyConnectionStyling(edge: WorkflowEdge, sourceNode: WorkflowNodeType, targetNode: WorkflowNodeType): void;
|
|
74
|
-
/**
|
|
75
|
-
* Update existing edges with custom styling rules
|
|
76
|
-
*/
|
|
77
27
|
static updateEdgeStyles(edges: WorkflowEdge[], nodes: WorkflowNodeType[]): WorkflowEdge[];
|
|
78
28
|
}
|
|
79
29
|
/**
|
|
@@ -103,7 +53,7 @@ export declare class WorkflowOperationsHelper {
|
|
|
103
53
|
/**
|
|
104
54
|
* Generate workflow metadata for updates
|
|
105
55
|
*/
|
|
106
|
-
static generateMetadata(existingMetadata?: Workflow[
|
|
56
|
+
static generateMetadata(existingMetadata?: Workflow['metadata']): Workflow['metadata'];
|
|
107
57
|
/**
|
|
108
58
|
* Update workflow with new nodes/edges and generate new metadata
|
|
109
59
|
*/
|