@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
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - External libraries to contribute node types via plugins
|
|
9
9
|
* - Runtime switching between different node visualizations
|
|
10
10
|
*/
|
|
11
|
-
import { BaseRegistry } from
|
|
11
|
+
import { BaseRegistry } from './BaseRegistry.js';
|
|
12
12
|
/**
|
|
13
13
|
* Central registry for node component types.
|
|
14
14
|
* Allows built-in and third-party components to be registered and resolved.
|
|
@@ -32,9 +32,9 @@ import { BaseRegistry } from "./BaseRegistry.js";
|
|
|
32
32
|
*/
|
|
33
33
|
class NodeComponentRegistry extends BaseRegistry {
|
|
34
34
|
/** Default type to use when requested type is not found */
|
|
35
|
-
defaultType =
|
|
35
|
+
defaultType = 'workflowNode';
|
|
36
36
|
/** Initial default type, restored on clear() */
|
|
37
|
-
static INITIAL_DEFAULT_TYPE =
|
|
37
|
+
static INITIAL_DEFAULT_TYPE = 'workflowNode';
|
|
38
38
|
/**
|
|
39
39
|
* Register a node component type.
|
|
40
40
|
*
|
|
@@ -191,12 +191,10 @@ class NodeComponentRegistry extends BaseRegistry {
|
|
|
191
191
|
* ```
|
|
192
192
|
*/
|
|
193
193
|
getOneOfOptions(filterFn) {
|
|
194
|
-
const registrations = filterFn
|
|
195
|
-
? this.getAll().filter(filterFn)
|
|
196
|
-
: this.getAll();
|
|
194
|
+
const registrations = filterFn ? this.getAll().filter(filterFn) : this.getAll();
|
|
197
195
|
return registrations.map((r) => ({
|
|
198
196
|
const: r.type,
|
|
199
|
-
title: r.displayName
|
|
197
|
+
title: r.displayName
|
|
200
198
|
}));
|
|
201
199
|
}
|
|
202
200
|
/**
|
|
@@ -206,7 +204,7 @@ class NodeComponentRegistry extends BaseRegistry {
|
|
|
206
204
|
* @returns The status position, or default "top-right"
|
|
207
205
|
*/
|
|
208
206
|
getStatusPosition(type) {
|
|
209
|
-
return this.items.get(type)?.statusPosition ??
|
|
207
|
+
return this.items.get(type)?.statusPosition ?? 'top-right';
|
|
210
208
|
}
|
|
211
209
|
/**
|
|
212
210
|
* Get the status size for a node type.
|
|
@@ -215,7 +213,7 @@ class NodeComponentRegistry extends BaseRegistry {
|
|
|
215
213
|
* @returns The status size, or default "md"
|
|
216
214
|
*/
|
|
217
215
|
getStatusSize(type) {
|
|
218
|
-
return this.items.get(type)?.statusSize ??
|
|
216
|
+
return this.items.get(type)?.statusSize ?? 'md';
|
|
219
217
|
}
|
|
220
218
|
}
|
|
221
219
|
/** Singleton instance of the node component registry */
|
|
@@ -253,12 +251,12 @@ export function createNamespacedType(namespace, type) {
|
|
|
253
251
|
* ```
|
|
254
252
|
*/
|
|
255
253
|
export function parseNamespacedType(namespacedType) {
|
|
256
|
-
const colonIndex = namespacedType.indexOf(
|
|
254
|
+
const colonIndex = namespacedType.indexOf(':');
|
|
257
255
|
if (colonIndex === -1) {
|
|
258
256
|
return null;
|
|
259
257
|
}
|
|
260
258
|
return {
|
|
261
259
|
namespace: namespacedType.slice(0, colonIndex),
|
|
262
|
-
type: namespacedType.slice(colonIndex + 1)
|
|
260
|
+
type: namespacedType.slice(colonIndex + 1)
|
|
263
261
|
};
|
|
264
262
|
}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* - Custom nodes are namespaced to avoid conflicts
|
|
8
8
|
* - Registration is simplified with a clean API
|
|
9
9
|
*/
|
|
10
|
-
import { type NodeComponentProps, type NodeComponentCategory, type StatusPosition, type StatusSize } from
|
|
11
|
-
import type { Component } from
|
|
10
|
+
import { type NodeComponentProps, type NodeComponentCategory, type StatusPosition, type StatusSize } from './nodeComponentRegistry.js';
|
|
11
|
+
import type { Component } from 'svelte';
|
|
12
12
|
/**
|
|
13
13
|
* Plugin configuration for external libraries.
|
|
14
14
|
* Use this to register multiple node types from a library.
|
package/dist/registry/plugin.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - Custom nodes are namespaced to avoid conflicts
|
|
8
8
|
* - Registration is simplified with a clean API
|
|
9
9
|
*/
|
|
10
|
-
import { nodeComponentRegistry, createNamespacedType
|
|
10
|
+
import { nodeComponentRegistry, createNamespacedType } from './nodeComponentRegistry.js';
|
|
11
11
|
/**
|
|
12
12
|
* Register a FlowDrop plugin with custom node components.
|
|
13
13
|
* All node types are automatically namespaced with the plugin namespace.
|
|
@@ -55,7 +55,7 @@ export function registerFlowDropPlugin(config) {
|
|
|
55
55
|
success: true,
|
|
56
56
|
namespace: config.namespace,
|
|
57
57
|
registeredTypes: [],
|
|
58
|
-
errors: []
|
|
58
|
+
errors: []
|
|
59
59
|
};
|
|
60
60
|
// Validate namespace
|
|
61
61
|
if (!isValidNamespace(config.namespace)) {
|
|
@@ -74,10 +74,10 @@ export function registerFlowDropPlugin(config) {
|
|
|
74
74
|
description: nodeDef.description,
|
|
75
75
|
component: nodeDef.component,
|
|
76
76
|
icon: nodeDef.icon,
|
|
77
|
-
category: nodeDef.category ??
|
|
77
|
+
category: nodeDef.category ?? 'custom',
|
|
78
78
|
source: config.namespace,
|
|
79
79
|
statusPosition: nodeDef.statusPosition,
|
|
80
|
-
statusSize: nodeDef.statusSize
|
|
80
|
+
statusSize: nodeDef.statusSize
|
|
81
81
|
};
|
|
82
82
|
nodeComponentRegistry.register(registration);
|
|
83
83
|
result.registeredTypes.push(namespacedType);
|
|
@@ -133,7 +133,7 @@ export function getRegisteredPlugins() {
|
|
|
133
133
|
const sources = new Set();
|
|
134
134
|
const registrations = nodeComponentRegistry.getAll();
|
|
135
135
|
for (const reg of registrations) {
|
|
136
|
-
if (reg.source && reg.source !==
|
|
136
|
+
if (reg.source && reg.source !== 'flowdrop') {
|
|
137
137
|
sources.add(reg.source);
|
|
138
138
|
}
|
|
139
139
|
}
|
|
@@ -175,10 +175,10 @@ export function registerCustomNode(type, displayName, component, options = {}) {
|
|
|
175
175
|
component,
|
|
176
176
|
description: options.description,
|
|
177
177
|
icon: options.icon,
|
|
178
|
-
category: options.category ??
|
|
179
|
-
source: options.source ??
|
|
178
|
+
category: options.category ?? 'custom',
|
|
179
|
+
source: options.source ?? 'custom',
|
|
180
180
|
statusPosition: options.statusPosition,
|
|
181
|
-
statusSize: options.statusSize
|
|
181
|
+
statusSize: options.statusSize
|
|
182
182
|
});
|
|
183
183
|
}
|
|
184
184
|
/**
|
|
@@ -203,7 +203,7 @@ export function createPlugin(namespace, name) {
|
|
|
203
203
|
const config = {
|
|
204
204
|
namespace,
|
|
205
205
|
name,
|
|
206
|
-
nodes: []
|
|
206
|
+
nodes: []
|
|
207
207
|
};
|
|
208
208
|
const builder = {
|
|
209
209
|
/**
|
|
@@ -228,7 +228,7 @@ export function createPlugin(namespace, name) {
|
|
|
228
228
|
type,
|
|
229
229
|
displayName,
|
|
230
230
|
component,
|
|
231
|
-
...options
|
|
231
|
+
...options
|
|
232
232
|
});
|
|
233
233
|
return builder;
|
|
234
234
|
},
|
|
@@ -243,7 +243,7 @@ export function createPlugin(namespace, name) {
|
|
|
243
243
|
*/
|
|
244
244
|
getConfig() {
|
|
245
245
|
return { ...config };
|
|
246
|
-
}
|
|
246
|
+
}
|
|
247
247
|
};
|
|
248
248
|
return builder;
|
|
249
249
|
}
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Extends BaseRegistry for shared mechanics (subscribe, onClear, etc.).
|
|
13
13
|
*/
|
|
14
|
-
import type { StandardWorkflow } from
|
|
15
|
-
import type { NodeMetadata, WorkflowFormat } from
|
|
16
|
-
import { BaseRegistry } from
|
|
14
|
+
import type { StandardWorkflow } from '../adapters/WorkflowAdapter.js';
|
|
15
|
+
import type { NodeMetadata, WorkflowFormat } from '../types/index.js';
|
|
16
|
+
import { BaseRegistry } from './BaseRegistry.js';
|
|
17
17
|
/**
|
|
18
18
|
* Validation result returned by format adapters.
|
|
19
19
|
*/
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Extends BaseRegistry for shared mechanics (subscribe, onClear, etc.).
|
|
13
13
|
*/
|
|
14
|
-
import { BaseRegistry } from
|
|
14
|
+
import { BaseRegistry } from './BaseRegistry.js';
|
|
15
15
|
/**
|
|
16
16
|
* Central registry for workflow format adapters.
|
|
17
17
|
* Singleton — extends BaseRegistry for shared mechanics.
|
|
@@ -88,7 +88,7 @@ class WorkflowFormatRegistry extends BaseRegistry {
|
|
|
88
88
|
getOneOfOptions() {
|
|
89
89
|
return this.getAll().map((adapter) => ({
|
|
90
90
|
const: adapter.id,
|
|
91
|
-
title: adapter.name
|
|
91
|
+
title: adapter.name
|
|
92
92
|
}));
|
|
93
93
|
}
|
|
94
94
|
}
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*
|
|
18
18
|
* @module schema
|
|
19
19
|
*/
|
|
20
|
-
import workflowSchema from
|
|
20
|
+
import workflowSchema from '../schemas/v1/workflow.schema.json';
|
|
21
21
|
/** Current workflow schema format version */
|
|
22
22
|
export declare const WORKFLOW_SCHEMA_VERSION = "1.0.0";
|
|
23
23
|
export { workflowSchema };
|
package/dist/schema/index.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*
|
|
18
18
|
* @module schema
|
|
19
19
|
*/
|
|
20
|
-
import workflowSchema from
|
|
20
|
+
import workflowSchema from '../schemas/v1/workflow.schema.json';
|
|
21
21
|
/** Current workflow schema format version */
|
|
22
|
-
export const WORKFLOW_SCHEMA_VERSION =
|
|
22
|
+
export const WORKFLOW_SCHEMA_VERSION = '1.0.0';
|
|
23
23
|
export { workflowSchema };
|
|
@@ -36,6 +36,11 @@
|
|
|
36
36
|
},
|
|
37
37
|
"metadata": {
|
|
38
38
|
"$ref": "#/$defs/WorkflowMetadata"
|
|
39
|
+
},
|
|
40
|
+
"config": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"description": "Custom workflow-level configuration values. Populated when a workflowSettingsSchema is provided to the editor.",
|
|
43
|
+
"additionalProperties": true
|
|
39
44
|
}
|
|
40
45
|
},
|
|
41
46
|
"required": [
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Follows the same singleton pattern as NodeExecutionService.
|
|
8
8
|
*/
|
|
9
|
-
import type { NodeExecutionInfo } from
|
|
10
|
-
import type { StandardWorkflow } from
|
|
11
|
-
import type { AgentSpecEndpointConfig } from
|
|
9
|
+
import type { NodeExecutionInfo } from '../types/index.js';
|
|
10
|
+
import type { StandardWorkflow } from '../adapters/WorkflowAdapter.js';
|
|
11
|
+
import type { AgentSpecEndpointConfig } from '../config/agentSpecEndpoints.js';
|
|
12
12
|
/** Result returned when starting an execution */
|
|
13
13
|
export interface AgentSpecExecutionHandle {
|
|
14
14
|
/** Unique execution ID from the runtime */
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Follows the same singleton pattern as NodeExecutionService.
|
|
8
8
|
*/
|
|
9
|
-
import { buildAgentSpecUrl, getAgentSpecAuthHeaders
|
|
10
|
-
import { AgentSpecAdapter } from
|
|
11
|
-
import { logger } from
|
|
9
|
+
import { buildAgentSpecUrl, getAgentSpecAuthHeaders } from '../config/agentSpecEndpoints.js';
|
|
10
|
+
import { AgentSpecAdapter } from '../adapters/agentspec/AgentSpecAdapter.js';
|
|
11
|
+
import { logger } from '../utils/logger.js';
|
|
12
12
|
/**
|
|
13
13
|
* Service for executing FlowDrop workflows on Agent Spec runtimes.
|
|
14
14
|
*
|
|
@@ -67,7 +67,7 @@ export class AgentSpecExecutionService {
|
|
|
67
67
|
const url = buildAgentSpecUrl(this.config, this.config.endpoints.health);
|
|
68
68
|
const response = await fetch(url, {
|
|
69
69
|
headers: getAgentSpecAuthHeaders(this.config),
|
|
70
|
-
signal: AbortSignal.timeout(5000)
|
|
70
|
+
signal: AbortSignal.timeout(5000)
|
|
71
71
|
});
|
|
72
72
|
return response.ok;
|
|
73
73
|
}
|
|
@@ -90,29 +90,29 @@ export class AgentSpecExecutionService {
|
|
|
90
90
|
// POST to runtime
|
|
91
91
|
const url = buildAgentSpecUrl(this.getConfig(), this.getConfig().endpoints.execute);
|
|
92
92
|
const response = await fetch(url, {
|
|
93
|
-
method:
|
|
93
|
+
method: 'POST',
|
|
94
94
|
headers: getAgentSpecAuthHeaders(this.getConfig()),
|
|
95
95
|
body: JSON.stringify({
|
|
96
96
|
flow: agentSpecFlow,
|
|
97
|
-
inputs: inputs || {}
|
|
97
|
+
inputs: inputs || {}
|
|
98
98
|
}),
|
|
99
|
-
signal: AbortSignal.timeout(this.getConfig().timeout || 60000)
|
|
99
|
+
signal: AbortSignal.timeout(this.getConfig().timeout || 60000)
|
|
100
100
|
});
|
|
101
101
|
if (!response.ok) {
|
|
102
|
-
const errorText = await response.text().catch(() =>
|
|
102
|
+
const errorText = await response.text().catch(() => 'Unknown error');
|
|
103
103
|
throw new Error(`Agent Spec runtime error (${response.status}): ${errorText}`);
|
|
104
104
|
}
|
|
105
105
|
const result = await response.json();
|
|
106
106
|
const executionId = result.execution_id || result.id;
|
|
107
107
|
if (!executionId) {
|
|
108
|
-
throw new Error(
|
|
108
|
+
throw new Error('Runtime did not return an execution ID');
|
|
109
109
|
}
|
|
110
110
|
// Track execution
|
|
111
111
|
const state = {
|
|
112
112
|
id: executionId,
|
|
113
|
-
status:
|
|
113
|
+
status: 'running',
|
|
114
114
|
startedAt: new Date().toISOString(),
|
|
115
|
-
nodeStatuses: {}
|
|
115
|
+
nodeStatuses: {}
|
|
116
116
|
};
|
|
117
117
|
this.activeExecutions.set(executionId, state);
|
|
118
118
|
// Build node name → FlowDrop node ID mapping for status updates
|
|
@@ -135,10 +135,10 @@ export class AgentSpecExecutionService {
|
|
|
135
135
|
this.ensureConfigured();
|
|
136
136
|
try {
|
|
137
137
|
const url = buildAgentSpecUrl(this.getConfig(), this.getConfig().endpoints.status, {
|
|
138
|
-
id: executionId
|
|
138
|
+
id: executionId
|
|
139
139
|
});
|
|
140
140
|
const response = await fetch(url, {
|
|
141
|
-
headers: getAgentSpecAuthHeaders(this.getConfig())
|
|
141
|
+
headers: getAgentSpecAuthHeaders(this.getConfig())
|
|
142
142
|
});
|
|
143
143
|
if (!response.ok)
|
|
144
144
|
return null;
|
|
@@ -156,15 +156,15 @@ export class AgentSpecExecutionService {
|
|
|
156
156
|
this.ensureConfigured();
|
|
157
157
|
this.stopPolling(executionId);
|
|
158
158
|
const url = buildAgentSpecUrl(this.getConfig(), this.getConfig().endpoints.cancel, {
|
|
159
|
-
id: executionId
|
|
159
|
+
id: executionId
|
|
160
160
|
});
|
|
161
161
|
await fetch(url, {
|
|
162
|
-
method:
|
|
163
|
-
headers: getAgentSpecAuthHeaders(this.getConfig())
|
|
162
|
+
method: 'POST',
|
|
163
|
+
headers: getAgentSpecAuthHeaders(this.getConfig())
|
|
164
164
|
});
|
|
165
165
|
const state = this.activeExecutions.get(executionId);
|
|
166
166
|
if (state) {
|
|
167
|
-
state.status =
|
|
167
|
+
state.status = 'cancelled';
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
/**
|
|
@@ -174,10 +174,10 @@ export class AgentSpecExecutionService {
|
|
|
174
174
|
this.ensureConfigured();
|
|
175
175
|
try {
|
|
176
176
|
const url = buildAgentSpecUrl(this.getConfig(), this.getConfig().endpoints.results, {
|
|
177
|
-
id: executionId
|
|
177
|
+
id: executionId
|
|
178
178
|
});
|
|
179
179
|
const response = await fetch(url, {
|
|
180
|
-
headers: getAgentSpecAuthHeaders(this.getConfig())
|
|
180
|
+
headers: getAgentSpecAuthHeaders(this.getConfig())
|
|
181
181
|
});
|
|
182
182
|
if (!response.ok)
|
|
183
183
|
return null;
|
|
@@ -195,14 +195,14 @@ export class AgentSpecExecutionService {
|
|
|
195
195
|
const agentSpecFlow = this.adapter.toAgentSpec(workflow);
|
|
196
196
|
const url = buildAgentSpecUrl(this.getConfig(), this.getConfig().endpoints.validate);
|
|
197
197
|
const response = await fetch(url, {
|
|
198
|
-
method:
|
|
198
|
+
method: 'POST',
|
|
199
199
|
headers: getAgentSpecAuthHeaders(this.getConfig()),
|
|
200
|
-
body: JSON.stringify(agentSpecFlow)
|
|
200
|
+
body: JSON.stringify(agentSpecFlow)
|
|
201
201
|
});
|
|
202
202
|
if (!response.ok) {
|
|
203
203
|
return {
|
|
204
204
|
valid: false,
|
|
205
|
-
errors: [`Runtime validation failed: ${response.status}`]
|
|
205
|
+
errors: [`Runtime validation failed: ${response.status}`]
|
|
206
206
|
};
|
|
207
207
|
}
|
|
208
208
|
return await response.json();
|
|
@@ -221,7 +221,7 @@ export class AgentSpecExecutionService {
|
|
|
221
221
|
// ========================================================================
|
|
222
222
|
ensureConfigured() {
|
|
223
223
|
if (!this.config) {
|
|
224
|
-
throw new Error(
|
|
224
|
+
throw new Error('AgentSpecExecutionService not configured. Call configure() with runtime endpoint config first.');
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
/** Get the config, throwing if not configured */
|
|
@@ -237,10 +237,10 @@ export class AgentSpecExecutionService {
|
|
|
237
237
|
const poll = async () => {
|
|
238
238
|
try {
|
|
239
239
|
const url = buildAgentSpecUrl(this.getConfig(), this.getConfig().endpoints.status, {
|
|
240
|
-
id: executionId
|
|
240
|
+
id: executionId
|
|
241
241
|
});
|
|
242
242
|
const response = await fetch(url, {
|
|
243
|
-
headers: getAgentSpecAuthHeaders(this.getConfig())
|
|
243
|
+
headers: getAgentSpecAuthHeaders(this.getConfig())
|
|
244
244
|
});
|
|
245
245
|
if (!response.ok) {
|
|
246
246
|
throw new Error(`Status check failed: ${response.status}`);
|
|
@@ -256,27 +256,26 @@ export class AgentSpecExecutionService {
|
|
|
256
256
|
onNodeUpdate?.(nodeId, info);
|
|
257
257
|
}
|
|
258
258
|
// Check if execution is done
|
|
259
|
-
if (executionStatus ===
|
|
260
|
-
state.status =
|
|
259
|
+
if (executionStatus === 'completed' || executionStatus === 'success') {
|
|
260
|
+
state.status = 'completed';
|
|
261
261
|
this.stopPolling(executionId);
|
|
262
262
|
const results = await this.getResults(executionId);
|
|
263
263
|
onComplete?.(results || {});
|
|
264
264
|
}
|
|
265
|
-
else if (executionStatus ===
|
|
266
|
-
|
|
267
|
-
state.status = "failed";
|
|
265
|
+
else if (executionStatus === 'failed' || executionStatus === 'error') {
|
|
266
|
+
state.status = 'failed';
|
|
268
267
|
this.stopPolling(executionId);
|
|
269
|
-
const errorMsg = data.error || data.message ||
|
|
268
|
+
const errorMsg = data.error || data.message || 'Execution failed';
|
|
270
269
|
onError?.(new Error(errorMsg));
|
|
271
270
|
}
|
|
272
|
-
else if (executionStatus ===
|
|
273
|
-
state.status =
|
|
271
|
+
else if (executionStatus === 'cancelled') {
|
|
272
|
+
state.status = 'cancelled';
|
|
274
273
|
this.stopPolling(executionId);
|
|
275
274
|
}
|
|
276
275
|
}
|
|
277
276
|
catch (error) {
|
|
278
277
|
// Don't stop polling on transient errors — let it retry
|
|
279
|
-
logger.error(
|
|
278
|
+
logger.error('[AgentSpecExecution] Polling error:', error);
|
|
280
279
|
}
|
|
281
280
|
};
|
|
282
281
|
// Initial poll immediately, then at interval
|
|
@@ -299,38 +298,38 @@ export class AgentSpecExecutionService {
|
|
|
299
298
|
return result;
|
|
300
299
|
}
|
|
301
300
|
mapSingleNodeStatus(status) {
|
|
302
|
-
const runtimeStatus = (status.status || status.state ||
|
|
301
|
+
const runtimeStatus = (status.status || status.state || 'idle');
|
|
303
302
|
return {
|
|
304
303
|
status: this.mapToFlowDropStatus(runtimeStatus),
|
|
305
304
|
executionCount: status.execution_count || 0,
|
|
306
|
-
isExecuting: runtimeStatus ===
|
|
305
|
+
isExecuting: runtimeStatus === 'running' || runtimeStatus === 'executing',
|
|
307
306
|
lastExecuted: status.started_at,
|
|
308
307
|
lastExecutionDuration: status.duration_ms,
|
|
309
|
-
lastError: status.error
|
|
308
|
+
lastError: status.error
|
|
310
309
|
};
|
|
311
310
|
}
|
|
312
311
|
mapToFlowDropStatus(runtimeStatus) {
|
|
313
312
|
switch (runtimeStatus) {
|
|
314
|
-
case
|
|
315
|
-
case
|
|
316
|
-
return
|
|
317
|
-
case
|
|
318
|
-
case
|
|
319
|
-
case
|
|
320
|
-
return
|
|
321
|
-
case
|
|
322
|
-
case
|
|
323
|
-
return
|
|
324
|
-
case
|
|
325
|
-
case
|
|
326
|
-
return
|
|
327
|
-
case
|
|
328
|
-
case
|
|
329
|
-
return
|
|
330
|
-
case
|
|
331
|
-
return
|
|
313
|
+
case 'running':
|
|
314
|
+
case 'executing':
|
|
315
|
+
return 'running';
|
|
316
|
+
case 'completed':
|
|
317
|
+
case 'success':
|
|
318
|
+
case 'done':
|
|
319
|
+
return 'completed';
|
|
320
|
+
case 'failed':
|
|
321
|
+
case 'error':
|
|
322
|
+
return 'failed';
|
|
323
|
+
case 'cancelled':
|
|
324
|
+
case 'canceled':
|
|
325
|
+
return 'cancelled';
|
|
326
|
+
case 'pending':
|
|
327
|
+
case 'queued':
|
|
328
|
+
return 'pending';
|
|
329
|
+
case 'skipped':
|
|
330
|
+
return 'skipped';
|
|
332
331
|
default:
|
|
333
|
-
return
|
|
332
|
+
return 'idle';
|
|
334
333
|
}
|
|
335
334
|
}
|
|
336
335
|
}
|
package/dist/services/api.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Client-side API service for FlowDrop
|
|
3
3
|
* Provides methods to interact with the backend APIs using configurable endpoints
|
|
4
4
|
*/
|
|
5
|
-
import type { NodeMetadata, Workflow } from
|
|
6
|
-
import type { EndpointConfig } from
|
|
5
|
+
import type { NodeMetadata, Workflow } from '../types/index.js';
|
|
6
|
+
import type { EndpointConfig } from '../config/endpoints.js';
|
|
7
7
|
/**
|
|
8
8
|
* Set the endpoint configuration at runtime
|
|
9
9
|
*/
|