@flowdrop/flowdrop 1.5.0 → 1.7.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 +46 -47
- package/dist/adapters/WorkflowAdapter.d.ts +1 -1
- package/dist/adapters/WorkflowAdapter.js +26 -26
- 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 +1 -1
- package/dist/adapters/agentspec/autoLayout.js +7 -9
- 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.js +6 -6
- package/dist/chat/index.d.ts +5 -5
- package/dist/chat/index.js +4 -4
- package/dist/chat/responseParser.d.ts +6 -6
- package/dist/chat/responseParser.js +28 -24
- package/dist/commands/batch.d.ts +1 -1
- package/dist/commands/batch.js +5 -7
- package/dist/commands/executor.d.ts +2 -2
- package/dist/commands/executor.js +320 -231
- package/dist/commands/index.d.ts +6 -6
- package/dist/commands/index.js +5 -5
- package/dist/commands/parser.d.ts +1 -1
- package/dist/commands/parser.js +91 -74
- package/dist/commands/positioner.d.ts +2 -2
- package/dist/commands/positioner.js +1 -1
- package/dist/commands/storeIntegration.svelte.d.ts +2 -2
- package/dist/commands/storeIntegration.svelte.js +5 -5
- package/dist/commands/types.d.ts +42 -42
- package/dist/commands/types.js +2 -2
- package/dist/components/App.svelte +280 -303
- package/dist/components/App.svelte.d.ts +11 -9
- 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 +3 -4
- package/dist/components/ConfigForm.svelte +118 -256
- package/dist/components/ConfigForm.svelte.d.ts +2 -2
- package/dist/components/ConfigMappingRow.svelte +7 -9
- package/dist/components/ConfigMappingRow.svelte.d.ts +1 -1
- 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 +9 -20
- package/dist/components/ConfigPanel.svelte.d.ts +1 -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 +9 -9
- 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 +41 -48
- 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 +42 -88
- 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 +20 -64
- package/dist/components/NodeSwapPicker.svelte.d.ts +1 -1
- 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 +20 -24
- package/dist/components/PortMappingRow.svelte.d.ts +2 -2
- 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 +35 -56
- package/dist/components/SwapMappingEditor.svelte.d.ts +2 -2
- 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 +113 -168
- package/dist/components/WorkflowEditor.svelte.d.ts +4 -4
- package/dist/components/chat/AIChatPanel.svelte +272 -133
- package/dist/components/chat/AIChatPanel.svelte.d.ts +3 -3
- package/dist/components/chat/CommandPreview.svelte +74 -24
- package/dist/components/chat/CommandPreview.svelte.d.ts +1 -1
- package/dist/components/console/CommandConsole.stories.svelte +71 -53
- package/dist/components/console/CommandConsole.stories.svelte.d.ts +1 -1
- package/dist/components/console/CommandConsole.svelte +39 -35
- package/dist/components/console/CommandConsole.svelte.d.ts +2 -2
- package/dist/components/console/ConsoleAutocomplete.svelte +6 -3
- package/dist/components/console/ConsoleInput.svelte +148 -89
- package/dist/components/console/ConsoleInput.svelte.d.ts +1 -1
- package/dist/components/console/ConsoleOutput.svelte +5 -10
- package/dist/components/console/ConsoleOutput.svelte.d.ts +1 -1
- package/dist/components/console/formatters.d.ts +1 -1
- package/dist/components/console/formatters.js +27 -29
- 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 +46 -59
- 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 -6
- package/dist/components/interrupt/index.js +6 -6
- 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 +51 -81
- 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 +4 -4
- package/dist/config/endpoints.js +68 -68
- package/dist/config/runtimeConfig.d.ts +2 -2
- package/dist/config/runtimeConfig.js +8 -8
- package/dist/core/index.d.ts +68 -68
- package/dist/core/index.js +38 -38
- package/dist/display/index.d.ts +2 -2
- package/dist/display/index.js +2 -2
- package/dist/editor/index.d.ts +64 -64
- package/dist/editor/index.js +54 -54
- 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 +32 -34
- package/dist/helpers/workflowEditorHelper.d.ts +6 -6
- package/dist/helpers/workflowEditorHelper.js +64 -68
- 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 +5 -0
- 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 +1 -1
- package/dist/services/chatService.js +18 -18
- 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 +1 -1
- package/dist/services/historyService.js +10 -10
- 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 +21 -21
- package/dist/stores/playgroundStore.svelte.d.ts +2 -2
- package/dist/stores/playgroundStore.svelte.js +18 -21
- package/dist/stores/portCoordinateStore.svelte.d.ts +2 -2
- package/dist/stores/portCoordinateStore.svelte.js +10 -13
- package/dist/stores/settingsStore.svelte.d.ts +2 -2
- package/dist/stores/settingsStore.svelte.js +57 -62
- package/dist/stores/workflowStore.svelte.d.ts +4 -3
- package/dist/stores/workflowStore.svelte.js +47 -47
- 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 +2 -2
- package/dist/types/config.d.ts +6 -6
- package/dist/types/events.d.ts +3 -3
- package/dist/types/events.js +2 -2
- package/dist/types/index.d.ts +34 -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 +7 -5
- package/dist/types/settings.js +19 -24
- 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 +6 -2
- package/dist/utils/connections.js +21 -15
- package/dist/utils/edgeStyling.d.ts +2 -2
- package/dist/utils/edgeStyling.js +36 -39
- 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 +1 -1
- package/dist/utils/nodeIds.js +1 -1
- package/dist/utils/nodeStatus.d.ts +1 -1
- package/dist/utils/nodeStatus.js +48 -48
- package/dist/utils/nodeSwap.d.ts +9 -9
- package/dist/utils/nodeSwap.js +52 -58
- 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 +7 -11
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
*
|
|
11
11
|
* @module stores/workflowStore
|
|
12
12
|
*/
|
|
13
|
-
import { DEFAULT_WORKFLOW_FORMAT } from
|
|
14
|
-
import { historyService } from
|
|
13
|
+
import { DEFAULT_WORKFLOW_FORMAT } from '../types/index.js';
|
|
14
|
+
import { historyService } from '../services/historyService.js';
|
|
15
15
|
/**
|
|
16
16
|
* Safely build updated workflow metadata, providing defaults for required fields.
|
|
17
17
|
*/
|
|
18
18
|
function buildMetadata(existing, updates) {
|
|
19
19
|
return {
|
|
20
|
-
version: existing?.version ??
|
|
20
|
+
version: existing?.version ?? '1.0',
|
|
21
21
|
createdAt: existing?.createdAt ?? new Date().toISOString(),
|
|
22
22
|
updatedAt: new Date().toISOString(),
|
|
23
23
|
author: existing?.author,
|
|
@@ -25,7 +25,7 @@ function buildMetadata(existing, updates) {
|
|
|
25
25
|
versionId: existing?.versionId,
|
|
26
26
|
updateNumber: existing?.updateNumber,
|
|
27
27
|
format: existing?.format,
|
|
28
|
-
...updates
|
|
28
|
+
...updates
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
// =========================================================================
|
|
@@ -112,7 +112,7 @@ export function getWorkflowId() {
|
|
|
112
112
|
* @returns The workflow name or 'Untitled Workflow'
|
|
113
113
|
*/
|
|
114
114
|
export function getWorkflowName() {
|
|
115
|
-
return workflowState?.name ??
|
|
115
|
+
return workflowState?.name ?? 'Untitled Workflow';
|
|
116
116
|
}
|
|
117
117
|
/**
|
|
118
118
|
* Get the workflow nodes reactively
|
|
@@ -137,11 +137,11 @@ export function getWorkflowEdges() {
|
|
|
137
137
|
*/
|
|
138
138
|
export function getWorkflowMetadata() {
|
|
139
139
|
return (workflowState?.metadata ?? {
|
|
140
|
-
version:
|
|
140
|
+
version: '1.0.0',
|
|
141
141
|
createdAt: new Date().toISOString(),
|
|
142
142
|
updatedAt: new Date().toISOString(),
|
|
143
143
|
versionId: `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
|
|
144
|
-
updateNumber: 0
|
|
144
|
+
updateNumber: 0
|
|
145
145
|
});
|
|
146
146
|
}
|
|
147
147
|
/**
|
|
@@ -161,7 +161,7 @@ export function getWorkflowChanged() {
|
|
|
161
161
|
return {
|
|
162
162
|
nodes: getWorkflowNodes(),
|
|
163
163
|
edges: getWorkflowEdges(),
|
|
164
|
-
name: getWorkflowName()
|
|
164
|
+
name: getWorkflowName()
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
@@ -177,7 +177,7 @@ export function getWorkflowValidation() {
|
|
|
177
177
|
hasEdges: edges.length > 0,
|
|
178
178
|
nodeCount: nodes.length,
|
|
179
179
|
edgeCount: edges.length,
|
|
180
|
-
isValid: nodes.length > 0 && edges.length >= 0
|
|
180
|
+
isValid: nodes.length > 0 && edges.length >= 0
|
|
181
181
|
};
|
|
182
182
|
}
|
|
183
183
|
/**
|
|
@@ -190,7 +190,7 @@ export function getWorkflowMetadataChanged() {
|
|
|
190
190
|
return {
|
|
191
191
|
createdAt: metadata.createdAt,
|
|
192
192
|
updatedAt: metadata.updatedAt,
|
|
193
|
-
version: metadata.version ??
|
|
193
|
+
version: metadata.version ?? '1.0.0'
|
|
194
194
|
};
|
|
195
195
|
}
|
|
196
196
|
/**
|
|
@@ -392,8 +392,7 @@ function hasWorkflowDataChanged(currentWorkflow, newNodes, newEdges) {
|
|
|
392
392
|
return true;
|
|
393
393
|
if (currentEdge.id !== newEdge.id)
|
|
394
394
|
return true;
|
|
395
|
-
if (currentEdge.source !== newEdge.source ||
|
|
396
|
-
currentEdge.target !== newEdge.target)
|
|
395
|
+
if (currentEdge.source !== newEdge.source || currentEdge.target !== newEdge.target)
|
|
397
396
|
return true;
|
|
398
397
|
}
|
|
399
398
|
return false;
|
|
@@ -433,7 +432,7 @@ export const workflowActions = {
|
|
|
433
432
|
updateWorkflow: (workflow) => {
|
|
434
433
|
workflowState = workflow;
|
|
435
434
|
bumpVersion();
|
|
436
|
-
notifyWorkflowChange(
|
|
435
|
+
notifyWorkflowChange('metadata');
|
|
437
436
|
},
|
|
438
437
|
/**
|
|
439
438
|
* Restore workflow from history (undo/redo)
|
|
@@ -444,7 +443,7 @@ export const workflowActions = {
|
|
|
444
443
|
isRestoringFromHistory = true;
|
|
445
444
|
workflowState = workflow;
|
|
446
445
|
bumpVersion();
|
|
447
|
-
notifyWorkflowChange(
|
|
446
|
+
notifyWorkflowChange('metadata');
|
|
448
447
|
isRestoringFromHistory = false;
|
|
449
448
|
},
|
|
450
449
|
/**
|
|
@@ -464,11 +463,11 @@ export const workflowActions = {
|
|
|
464
463
|
nodes,
|
|
465
464
|
metadata: buildMetadata(workflowState.metadata, {
|
|
466
465
|
versionId,
|
|
467
|
-
updateNumber: (workflowState.metadata?.updateNumber ?? 0) + 1
|
|
468
|
-
})
|
|
466
|
+
updateNumber: (workflowState.metadata?.updateNumber ?? 0) + 1
|
|
467
|
+
})
|
|
469
468
|
};
|
|
470
469
|
bumpVersion();
|
|
471
|
-
notifyWorkflowChange(
|
|
470
|
+
notifyWorkflowChange('node_move');
|
|
472
471
|
},
|
|
473
472
|
/**
|
|
474
473
|
* Update edges
|
|
@@ -487,11 +486,11 @@ export const workflowActions = {
|
|
|
487
486
|
edges,
|
|
488
487
|
metadata: buildMetadata(workflowState.metadata, {
|
|
489
488
|
versionId,
|
|
490
|
-
updateNumber: (workflowState.metadata?.updateNumber ?? 0) + 1
|
|
491
|
-
})
|
|
489
|
+
updateNumber: (workflowState.metadata?.updateNumber ?? 0) + 1
|
|
490
|
+
})
|
|
492
491
|
};
|
|
493
492
|
bumpVersion();
|
|
494
|
-
notifyWorkflowChange(
|
|
493
|
+
notifyWorkflowChange('edge_add');
|
|
495
494
|
},
|
|
496
495
|
/**
|
|
497
496
|
* Update workflow name
|
|
@@ -502,25 +501,25 @@ export const workflowActions = {
|
|
|
502
501
|
workflowState = {
|
|
503
502
|
...workflowState,
|
|
504
503
|
name,
|
|
505
|
-
metadata: buildMetadata(workflowState.metadata)
|
|
504
|
+
metadata: buildMetadata(workflowState.metadata)
|
|
506
505
|
};
|
|
507
506
|
bumpVersion();
|
|
508
|
-
notifyWorkflowChange(
|
|
507
|
+
notifyWorkflowChange('name');
|
|
509
508
|
},
|
|
510
509
|
/**
|
|
511
510
|
* Add a node
|
|
512
511
|
*/
|
|
513
512
|
addNode: (node) => {
|
|
514
|
-
pushToHistory(
|
|
513
|
+
pushToHistory('Add node');
|
|
515
514
|
if (!workflowState)
|
|
516
515
|
return;
|
|
517
516
|
workflowState = {
|
|
518
517
|
...workflowState,
|
|
519
518
|
nodes: [...workflowState.nodes, node],
|
|
520
|
-
metadata: buildMetadata(workflowState.metadata)
|
|
519
|
+
metadata: buildMetadata(workflowState.metadata)
|
|
521
520
|
};
|
|
522
521
|
bumpVersion();
|
|
523
|
-
notifyWorkflowChange(
|
|
522
|
+
notifyWorkflowChange('node_add');
|
|
524
523
|
},
|
|
525
524
|
/**
|
|
526
525
|
* Remove a node
|
|
@@ -529,47 +528,47 @@ export const workflowActions = {
|
|
|
529
528
|
* A single undo will restore both the node and its edges.
|
|
530
529
|
*/
|
|
531
530
|
removeNode: (nodeId) => {
|
|
532
|
-
pushToHistory(
|
|
531
|
+
pushToHistory('Delete node');
|
|
533
532
|
if (!workflowState)
|
|
534
533
|
return;
|
|
535
534
|
workflowState = {
|
|
536
535
|
...workflowState,
|
|
537
536
|
nodes: workflowState.nodes.filter((node) => node.id !== nodeId),
|
|
538
537
|
edges: workflowState.edges.filter((edge) => edge.source !== nodeId && edge.target !== nodeId),
|
|
539
|
-
metadata: buildMetadata(workflowState.metadata)
|
|
538
|
+
metadata: buildMetadata(workflowState.metadata)
|
|
540
539
|
};
|
|
541
540
|
bumpVersion();
|
|
542
|
-
notifyWorkflowChange(
|
|
541
|
+
notifyWorkflowChange('node_remove');
|
|
543
542
|
},
|
|
544
543
|
/**
|
|
545
544
|
* Add an edge
|
|
546
545
|
*/
|
|
547
546
|
addEdge: (edge) => {
|
|
548
|
-
pushToHistory(
|
|
547
|
+
pushToHistory('Add connection');
|
|
549
548
|
if (!workflowState)
|
|
550
549
|
return;
|
|
551
550
|
workflowState = {
|
|
552
551
|
...workflowState,
|
|
553
552
|
edges: [...workflowState.edges, edge],
|
|
554
|
-
metadata: buildMetadata(workflowState.metadata)
|
|
553
|
+
metadata: buildMetadata(workflowState.metadata)
|
|
555
554
|
};
|
|
556
555
|
bumpVersion();
|
|
557
|
-
notifyWorkflowChange(
|
|
556
|
+
notifyWorkflowChange('edge_add');
|
|
558
557
|
},
|
|
559
558
|
/**
|
|
560
559
|
* Remove an edge
|
|
561
560
|
*/
|
|
562
561
|
removeEdge: (edgeId) => {
|
|
563
|
-
pushToHistory(
|
|
562
|
+
pushToHistory('Delete connection');
|
|
564
563
|
if (!workflowState)
|
|
565
564
|
return;
|
|
566
565
|
workflowState = {
|
|
567
566
|
...workflowState,
|
|
568
567
|
edges: workflowState.edges.filter((edge) => edge.id !== edgeId),
|
|
569
|
-
metadata: buildMetadata(workflowState.metadata)
|
|
568
|
+
metadata: buildMetadata(workflowState.metadata)
|
|
570
569
|
};
|
|
571
570
|
bumpVersion();
|
|
572
|
-
notifyWorkflowChange(
|
|
571
|
+
notifyWorkflowChange('edge_remove');
|
|
573
572
|
},
|
|
574
573
|
/**
|
|
575
574
|
* Update a specific node
|
|
@@ -577,16 +576,16 @@ export const workflowActions = {
|
|
|
577
576
|
* Used for config changes. Pushes to history for undo support.
|
|
578
577
|
*/
|
|
579
578
|
updateNode: (nodeId, updates) => {
|
|
580
|
-
pushToHistory(
|
|
579
|
+
pushToHistory('Update node config');
|
|
581
580
|
if (!workflowState)
|
|
582
581
|
return;
|
|
583
582
|
workflowState = {
|
|
584
583
|
...workflowState,
|
|
585
584
|
nodes: workflowState.nodes.map((node) => node.id === nodeId ? { ...node, ...updates } : node),
|
|
586
|
-
metadata: buildMetadata(workflowState.metadata)
|
|
585
|
+
metadata: buildMetadata(workflowState.metadata)
|
|
587
586
|
};
|
|
588
587
|
bumpVersion();
|
|
589
|
-
notifyWorkflowChange(
|
|
588
|
+
notifyWorkflowChange('node_config');
|
|
590
589
|
},
|
|
591
590
|
/**
|
|
592
591
|
* Clear the workflow
|
|
@@ -610,10 +609,10 @@ export const workflowActions = {
|
|
|
610
609
|
return;
|
|
611
610
|
workflowState = {
|
|
612
611
|
...workflowState,
|
|
613
|
-
metadata: buildMetadata(workflowState.metadata, metadata)
|
|
612
|
+
metadata: buildMetadata(workflowState.metadata, metadata)
|
|
614
613
|
};
|
|
615
614
|
bumpVersion();
|
|
616
|
-
notifyWorkflowChange(
|
|
615
|
+
notifyWorkflowChange('metadata');
|
|
617
616
|
},
|
|
618
617
|
/**
|
|
619
618
|
* Batch update nodes and edges
|
|
@@ -622,7 +621,7 @@ export const workflowActions = {
|
|
|
622
621
|
* Creates a single history entry for the entire batch.
|
|
623
622
|
*/
|
|
624
623
|
batchUpdate: (updates) => {
|
|
625
|
-
pushToHistory(
|
|
624
|
+
pushToHistory('Batch update');
|
|
626
625
|
if (!workflowState)
|
|
627
626
|
return;
|
|
628
627
|
workflowState = {
|
|
@@ -631,12 +630,13 @@ export const workflowActions = {
|
|
|
631
630
|
...(updates.edges && { edges: updates.edges }),
|
|
632
631
|
...(updates.name && { name: updates.name }),
|
|
633
632
|
...(updates.description !== undefined && {
|
|
634
|
-
description: updates.description
|
|
633
|
+
description: updates.description
|
|
635
634
|
}),
|
|
636
|
-
|
|
635
|
+
...(updates.config !== undefined && { config: updates.config }),
|
|
636
|
+
metadata: buildMetadata(workflowState.metadata, updates.metadata ?? undefined)
|
|
637
637
|
};
|
|
638
638
|
bumpVersion();
|
|
639
|
-
notifyWorkflowChange(
|
|
639
|
+
notifyWorkflowChange('metadata');
|
|
640
640
|
},
|
|
641
641
|
/**
|
|
642
642
|
* Swap a node — atomically replaces nodes and edges with a descriptive history entry.
|
|
@@ -645,17 +645,17 @@ export const workflowActions = {
|
|
|
645
645
|
* records a meaningful description for the undo history.
|
|
646
646
|
*/
|
|
647
647
|
swapNode: (updates) => {
|
|
648
|
-
pushToHistory(updates.description ??
|
|
648
|
+
pushToHistory(updates.description ?? 'Swap node');
|
|
649
649
|
if (!workflowState)
|
|
650
650
|
return;
|
|
651
651
|
workflowState = {
|
|
652
652
|
...workflowState,
|
|
653
653
|
nodes: updates.nodes,
|
|
654
654
|
edges: updates.edges,
|
|
655
|
-
metadata: buildMetadata(workflowState.metadata)
|
|
655
|
+
metadata: buildMetadata(workflowState.metadata)
|
|
656
656
|
};
|
|
657
657
|
bumpVersion();
|
|
658
|
-
notifyWorkflowChange(
|
|
658
|
+
notifyWorkflowChange('node_swap');
|
|
659
659
|
},
|
|
660
660
|
/**
|
|
661
661
|
* Push current state to history manually
|
|
@@ -668,5 +668,5 @@ export const workflowActions = {
|
|
|
668
668
|
*/
|
|
669
669
|
pushHistory: (description, workflow) => {
|
|
670
670
|
pushToHistory(description, workflow);
|
|
671
|
-
}
|
|
671
|
+
}
|
|
672
672
|
};
|
|
@@ -3,28 +3,25 @@
|
|
|
3
3
|
matching how overlay components (e.g. CanvasBanner) appear in the workflow editor.
|
|
4
4
|
-->
|
|
5
5
|
<script lang="ts">
|
|
6
|
-
import { SvelteFlow, Controls } from
|
|
7
|
-
import type { ColorMode } from
|
|
8
|
-
import
|
|
9
|
-
import type { Snippet } from
|
|
6
|
+
import { SvelteFlow, Controls } from '@xyflow/svelte';
|
|
7
|
+
import type { ColorMode } from '@xyflow/svelte';
|
|
8
|
+
import '@xyflow/svelte/dist/style.css';
|
|
9
|
+
import type { Snippet } from 'svelte';
|
|
10
10
|
|
|
11
11
|
let { children }: { children: Snippet } = $props();
|
|
12
12
|
|
|
13
13
|
// Watch the data-theme attribute set by Storybook's addon-themes
|
|
14
14
|
let colorMode = $state<ColorMode>(
|
|
15
|
-
(document.documentElement.getAttribute(
|
|
16
|
-
"light",
|
|
15
|
+
(document.documentElement.getAttribute('data-theme') as ColorMode) || 'light'
|
|
17
16
|
);
|
|
18
17
|
|
|
19
18
|
$effect(() => {
|
|
20
19
|
const observer = new MutationObserver(() => {
|
|
21
|
-
colorMode =
|
|
22
|
-
(document.documentElement.getAttribute("data-theme") as ColorMode) ||
|
|
23
|
-
"light";
|
|
20
|
+
colorMode = (document.documentElement.getAttribute('data-theme') as ColorMode) || 'light';
|
|
24
21
|
});
|
|
25
22
|
observer.observe(document.documentElement, {
|
|
26
23
|
attributes: true,
|
|
27
|
-
attributeFilter: [
|
|
24
|
+
attributeFilter: ['data-theme']
|
|
28
25
|
});
|
|
29
26
|
return () => observer.disconnect();
|
|
30
27
|
});
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
to showcase edge rendering with arrowhead markers.
|
|
4
4
|
-->
|
|
5
5
|
<script lang="ts">
|
|
6
|
-
import { SvelteFlow, Controls, MarkerType } from
|
|
7
|
-
import type { Node, Edge, ColorMode } from
|
|
8
|
-
import
|
|
9
|
-
import UniversalNode from
|
|
10
|
-
import FlowDropEdge from
|
|
11
|
-
import { registerBuiltinNodes } from
|
|
12
|
-
import { EDGE_MARKER_SIZES } from
|
|
6
|
+
import { SvelteFlow, Controls, MarkerType } from '@xyflow/svelte';
|
|
7
|
+
import type { Node, Edge, ColorMode } from '@xyflow/svelte';
|
|
8
|
+
import '@xyflow/svelte/dist/style.css';
|
|
9
|
+
import UniversalNode from '../components/UniversalNode.svelte';
|
|
10
|
+
import FlowDropEdge from '../components/FlowDropEdge.svelte';
|
|
11
|
+
import { registerBuiltinNodes } from '../registry/builtinNodes.js';
|
|
12
|
+
import { EDGE_MARKER_SIZES } from '../config/constants.js';
|
|
13
13
|
|
|
14
14
|
interface Props {
|
|
15
15
|
sourceData: Record<string, unknown>;
|
|
@@ -25,46 +25,46 @@
|
|
|
25
25
|
let {
|
|
26
26
|
sourceData,
|
|
27
27
|
targetData,
|
|
28
|
-
edgeStyle =
|
|
29
|
-
edgeClass =
|
|
30
|
-
edgeMarkerColor =
|
|
28
|
+
edgeStyle = 'stroke: #64748b;',
|
|
29
|
+
edgeClass = 'flowdrop--edge--data',
|
|
30
|
+
edgeMarkerColor = '#64748b',
|
|
31
31
|
edgeMarkerSize = EDGE_MARKER_SIZES.data,
|
|
32
|
-
sourceHandleId =
|
|
33
|
-
targetHandleId =
|
|
32
|
+
sourceHandleId = 'output',
|
|
33
|
+
targetHandleId = 'input'
|
|
34
34
|
}: Props = $props();
|
|
35
35
|
|
|
36
36
|
registerBuiltinNodes();
|
|
37
37
|
|
|
38
38
|
const nodeTypes = {
|
|
39
|
-
universalNode: UniversalNode
|
|
39
|
+
universalNode: UniversalNode
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
const edgeTypes = {
|
|
43
|
-
default: FlowDropEdge
|
|
43
|
+
default: FlowDropEdge
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
-
const SOURCE_ID =
|
|
47
|
-
const TARGET_ID =
|
|
46
|
+
const SOURCE_ID = 'source-node';
|
|
47
|
+
const TARGET_ID = 'target-node';
|
|
48
48
|
|
|
49
49
|
let nodes = $derived<Node[]>([
|
|
50
50
|
{
|
|
51
51
|
id: SOURCE_ID,
|
|
52
|
-
type:
|
|
52
|
+
type: 'universalNode',
|
|
53
53
|
position: { x: 0, y: 0 },
|
|
54
|
-
data: { ...sourceData, nodeId: SOURCE_ID }
|
|
54
|
+
data: { ...sourceData, nodeId: SOURCE_ID }
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
id: TARGET_ID,
|
|
58
|
-
type:
|
|
58
|
+
type: 'universalNode',
|
|
59
59
|
position: { x: 350, y: 0 },
|
|
60
|
-
data: { ...targetData, nodeId: TARGET_ID }
|
|
61
|
-
}
|
|
60
|
+
data: { ...targetData, nodeId: TARGET_ID }
|
|
61
|
+
}
|
|
62
62
|
]);
|
|
63
63
|
|
|
64
64
|
// Handle IDs follow the format: {nodeId}-{input|output}-{portId}
|
|
65
65
|
let edges = $derived<Edge[]>([
|
|
66
66
|
{
|
|
67
|
-
id:
|
|
67
|
+
id: 'edge-1',
|
|
68
68
|
source: SOURCE_ID,
|
|
69
69
|
target: TARGET_ID,
|
|
70
70
|
sourceHandle: `${SOURCE_ID}-output-${sourceHandleId}`,
|
|
@@ -74,25 +74,22 @@
|
|
|
74
74
|
markerEnd: {
|
|
75
75
|
type: MarkerType.ArrowClosed,
|
|
76
76
|
...edgeMarkerSize,
|
|
77
|
-
color: edgeMarkerColor
|
|
78
|
-
}
|
|
79
|
-
}
|
|
77
|
+
color: edgeMarkerColor
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
80
|
]);
|
|
81
81
|
|
|
82
82
|
let colorMode = $state<ColorMode>(
|
|
83
|
-
(document.documentElement.getAttribute(
|
|
84
|
-
"light",
|
|
83
|
+
(document.documentElement.getAttribute('data-theme') as ColorMode) || 'light'
|
|
85
84
|
);
|
|
86
85
|
|
|
87
86
|
$effect(() => {
|
|
88
87
|
const observer = new MutationObserver(() => {
|
|
89
|
-
colorMode =
|
|
90
|
-
(document.documentElement.getAttribute("data-theme") as ColorMode) ||
|
|
91
|
-
"light";
|
|
88
|
+
colorMode = (document.documentElement.getAttribute('data-theme') as ColorMode) || 'light';
|
|
92
89
|
});
|
|
93
90
|
observer.observe(document.documentElement, {
|
|
94
91
|
attributes: true,
|
|
95
|
-
attributeFilter: [
|
|
92
|
+
attributeFilter: ['data-theme']
|
|
96
93
|
});
|
|
97
94
|
return () => observer.disconnect();
|
|
98
95
|
});
|
|
@@ -3,49 +3,43 @@
|
|
|
3
3
|
inside a canvas, matching how they appear in the workflow editor.
|
|
4
4
|
-->
|
|
5
5
|
<script lang="ts">
|
|
6
|
-
import { SvelteFlow, Controls } from
|
|
7
|
-
import type { Node, ColorMode } from
|
|
8
|
-
import
|
|
9
|
-
import UniversalNode from
|
|
10
|
-
import { registerBuiltinNodes } from
|
|
6
|
+
import { SvelteFlow, Controls } from '@xyflow/svelte';
|
|
7
|
+
import type { Node, ColorMode } from '@xyflow/svelte';
|
|
8
|
+
import '@xyflow/svelte/dist/style.css';
|
|
9
|
+
import UniversalNode from '../components/UniversalNode.svelte';
|
|
10
|
+
import { registerBuiltinNodes } from '../registry/builtinNodes.js';
|
|
11
11
|
|
|
12
|
-
let {
|
|
13
|
-
data,
|
|
14
|
-
selected = false,
|
|
15
|
-
}: { data: Record<string, unknown>; selected?: boolean } = $props();
|
|
12
|
+
let { data, selected = false }: { data: Record<string, unknown>; selected?: boolean } = $props();
|
|
16
13
|
|
|
17
14
|
// Ensure built-in node components are registered
|
|
18
15
|
registerBuiltinNodes();
|
|
19
16
|
|
|
20
17
|
const nodeTypes = {
|
|
21
|
-
universalNode: UniversalNode
|
|
18
|
+
universalNode: UniversalNode
|
|
22
19
|
};
|
|
23
20
|
|
|
24
21
|
let nodes = $derived<Node[]>([
|
|
25
22
|
{
|
|
26
|
-
id:
|
|
27
|
-
type:
|
|
23
|
+
id: 'story-node',
|
|
24
|
+
type: 'universalNode',
|
|
28
25
|
position: { x: 0, y: 0 },
|
|
29
26
|
selected,
|
|
30
|
-
data
|
|
31
|
-
}
|
|
27
|
+
data
|
|
28
|
+
}
|
|
32
29
|
]);
|
|
33
30
|
|
|
34
31
|
// Watch the data-theme attribute set by Storybook's addon-themes
|
|
35
32
|
let colorMode = $state<ColorMode>(
|
|
36
|
-
(document.documentElement.getAttribute(
|
|
37
|
-
"light",
|
|
33
|
+
(document.documentElement.getAttribute('data-theme') as ColorMode) || 'light'
|
|
38
34
|
);
|
|
39
35
|
|
|
40
36
|
$effect(() => {
|
|
41
37
|
const observer = new MutationObserver(() => {
|
|
42
|
-
colorMode =
|
|
43
|
-
(document.documentElement.getAttribute("data-theme") as ColorMode) ||
|
|
44
|
-
"light";
|
|
38
|
+
colorMode = (document.documentElement.getAttribute('data-theme') as ColorMode) || 'light';
|
|
45
39
|
});
|
|
46
40
|
observer.observe(document.documentElement, {
|
|
47
41
|
attributes: true,
|
|
48
|
-
attributeFilter: [
|
|
42
|
+
attributeFilter: ['data-theme']
|
|
49
43
|
});
|
|
50
44
|
return () => observer.disconnect();
|
|
51
45
|
});
|
package/dist/stories/utils.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Shared story utilities
|
|
3
3
|
* Reusable mock data factories for Storybook stories
|
|
4
4
|
*/
|
|
5
|
-
import type { ConfirmationConfig, ChoiceConfig, TextConfig, ReviewConfig, ReviewChange } from
|
|
5
|
+
import type { ConfirmationConfig, ChoiceConfig, TextConfig, ReviewConfig, ReviewChange } from '../types/interrupt.js';
|
|
6
6
|
export declare function createSampleNodeData(overrides?: Record<string, unknown>): {
|
|
7
7
|
label: string;
|
|
8
8
|
config: {};
|
|
@@ -28,7 +28,7 @@ export declare function createSampleNodeData(overrides?: Record<string, unknown>
|
|
|
28
28
|
}[];
|
|
29
29
|
};
|
|
30
30
|
};
|
|
31
|
-
export declare function createTerminalNodeData(variant?:
|
|
31
|
+
export declare function createTerminalNodeData(variant?: 'start' | 'end' | 'exit'): {
|
|
32
32
|
label: string;
|
|
33
33
|
config: {};
|
|
34
34
|
metadata: {
|