@flowdrop/flowdrop 1.0.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/LICENSE +21 -0
- package/README.md +252 -0
- package/dist/adapters/WorkflowAdapter.d.ts +167 -0
- package/dist/adapters/WorkflowAdapter.js +368 -0
- package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +96 -0
- package/dist/adapters/agentspec/AgentSpecAdapter.js +626 -0
- package/dist/adapters/agentspec/agentAdapter.d.ts +59 -0
- package/dist/adapters/agentspec/agentAdapter.js +91 -0
- package/dist/adapters/agentspec/autoLayout.d.ts +34 -0
- package/dist/adapters/agentspec/autoLayout.js +127 -0
- package/dist/adapters/agentspec/componentTypeDefaults.d.ts +73 -0
- package/dist/adapters/agentspec/componentTypeDefaults.js +238 -0
- package/dist/adapters/agentspec/defaultNodeTypes.d.ts +53 -0
- package/dist/adapters/agentspec/defaultNodeTypes.js +561 -0
- package/dist/adapters/agentspec/index.d.ts +37 -0
- package/dist/adapters/agentspec/index.js +39 -0
- package/dist/adapters/agentspec/validator.d.ts +34 -0
- package/dist/adapters/agentspec/validator.js +169 -0
- package/dist/api/enhanced-client.d.ts +183 -0
- package/dist/api/enhanced-client.js +430 -0
- package/dist/components/App.svelte +981 -0
- package/dist/components/App.svelte.d.ts +54 -0
- package/dist/components/CanvasBanner.stories.svelte +29 -0
- package/dist/components/CanvasBanner.stories.svelte.d.ts +27 -0
- package/dist/components/CanvasBanner.svelte +57 -0
- package/dist/components/CanvasBanner.svelte.d.ts +8 -0
- package/dist/components/ConfigForm.svelte +1138 -0
- package/dist/components/ConfigForm.svelte.d.ts +44 -0
- package/dist/components/ConfigModal.svelte +188 -0
- package/dist/components/ConfigModal.svelte.d.ts +13 -0
- package/dist/components/ConfigPanel.stories.svelte +47 -0
- package/dist/components/ConfigPanel.stories.svelte.d.ts +27 -0
- package/dist/components/ConfigPanel.svelte +182 -0
- package/dist/components/ConfigPanel.svelte.d.ts +32 -0
- package/dist/components/ConnectionLine.svelte +32 -0
- package/dist/components/ConnectionLine.svelte.d.ts +3 -0
- package/dist/components/EdgeRefresher.svelte +41 -0
- package/dist/components/EdgeRefresher.svelte.d.ts +9 -0
- package/dist/components/FlowDropZone.svelte +83 -0
- package/dist/components/FlowDropZone.svelte.d.ts +13 -0
- package/dist/components/LoadingSpinner.stories.svelte +30 -0
- package/dist/components/LoadingSpinner.stories.svelte.d.ts +27 -0
- package/dist/components/LoadingSpinner.svelte +36 -0
- package/dist/components/LoadingSpinner.svelte.d.ts +8 -0
- package/dist/components/Logo.stories.svelte +22 -0
- package/dist/components/Logo.stories.svelte.d.ts +27 -0
- package/dist/components/Logo.svelte +102 -0
- package/dist/components/Logo.svelte.d.ts +26 -0
- package/dist/components/LogsSidebar.svelte +563 -0
- package/dist/components/LogsSidebar.svelte.d.ts +17 -0
- package/dist/components/MarkdownDisplay.stories.svelte +36 -0
- package/dist/components/MarkdownDisplay.stories.svelte.d.ts +27 -0
- package/dist/components/MarkdownDisplay.svelte +29 -0
- package/dist/components/MarkdownDisplay.svelte.d.ts +7 -0
- package/dist/components/Navbar.stories.svelte +53 -0
- package/dist/components/Navbar.stories.svelte.d.ts +27 -0
- package/dist/components/Navbar.svelte +726 -0
- package/dist/components/Navbar.svelte.d.ts +29 -0
- package/dist/components/NodeSidebar.svelte +762 -0
- package/dist/components/NodeSidebar.svelte.d.ts +9 -0
- package/dist/components/NodeStatusOverlay.stories.svelte +85 -0
- package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +27 -0
- package/dist/components/NodeStatusOverlay.svelte +327 -0
- package/dist/components/NodeStatusOverlay.svelte.d.ts +11 -0
- package/dist/components/PipelineStatus.svelte +314 -0
- package/dist/components/PipelineStatus.svelte.d.ts +20 -0
- package/dist/components/PortCoordinateTracker.svelte +58 -0
- package/dist/components/PortCoordinateTracker.svelte.d.ts +12 -0
- package/dist/components/ReadOnlyDetails.svelte +170 -0
- package/dist/components/ReadOnlyDetails.svelte.d.ts +25 -0
- package/dist/components/SchemaForm.stories.svelte +116 -0
- package/dist/components/SchemaForm.stories.svelte.d.ts +27 -0
- package/dist/components/SchemaForm.svelte +536 -0
- package/dist/components/SchemaForm.svelte.d.ts +83 -0
- package/dist/components/SettingsModal.svelte +279 -0
- package/dist/components/SettingsModal.svelte.d.ts +23 -0
- package/dist/components/SettingsPanel.svelte +638 -0
- package/dist/components/SettingsPanel.svelte.d.ts +21 -0
- package/dist/components/StatusIcon.stories.svelte +60 -0
- package/dist/components/StatusIcon.stories.svelte.d.ts +27 -0
- package/dist/components/StatusIcon.svelte +119 -0
- package/dist/components/StatusIcon.svelte.d.ts +10 -0
- package/dist/components/StatusLabel.stories.svelte +17 -0
- package/dist/components/StatusLabel.stories.svelte.d.ts +27 -0
- package/dist/components/StatusLabel.svelte +33 -0
- package/dist/components/StatusLabel.svelte.d.ts +7 -0
- package/dist/components/ThemeToggle.stories.svelte +25 -0
- package/dist/components/ThemeToggle.stories.svelte.d.ts +27 -0
- package/dist/components/ThemeToggle.svelte +185 -0
- package/dist/components/ThemeToggle.svelte.d.ts +14 -0
- package/dist/components/UniversalNode.svelte +155 -0
- package/dist/components/UniversalNode.svelte.d.ts +15 -0
- package/dist/components/WorkflowEditor.svelte +1035 -0
- package/dist/components/WorkflowEditor.svelte.d.ts +23 -0
- package/dist/components/form/FormArray.svelte +1049 -0
- package/dist/components/form/FormArray.svelte.d.ts +22 -0
- package/dist/components/form/FormAutocomplete.svelte +1009 -0
- package/dist/components/form/FormAutocomplete.svelte.d.ts +25 -0
- package/dist/components/form/FormCheckboxGroup.stories.svelte +28 -0
- package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +27 -0
- package/dist/components/form/FormCheckboxGroup.svelte +155 -0
- package/dist/components/form/FormCheckboxGroup.svelte.d.ts +17 -0
- package/dist/components/form/FormCodeEditor.svelte +458 -0
- package/dist/components/form/FormCodeEditor.svelte.d.ts +25 -0
- package/dist/components/form/FormField.svelte +417 -0
- package/dist/components/form/FormField.svelte.d.ts +29 -0
- package/dist/components/form/FormFieldLight.svelte +425 -0
- package/dist/components/form/FormFieldLight.svelte.d.ts +18 -0
- package/dist/components/form/FormFieldWrapper.stories.svelte +53 -0
- package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +27 -0
- package/dist/components/form/FormFieldWrapper.svelte +125 -0
- package/dist/components/form/FormFieldWrapper.svelte.d.ts +18 -0
- package/dist/components/form/FormFieldset.svelte +142 -0
- package/dist/components/form/FormFieldset.svelte.d.ts +11 -0
- package/dist/components/form/FormMarkdownEditor.svelte +752 -0
- package/dist/components/form/FormMarkdownEditor.svelte.d.ts +33 -0
- package/dist/components/form/FormNumberField.stories.svelte +36 -0
- package/dist/components/form/FormNumberField.stories.svelte.d.ts +27 -0
- package/dist/components/form/FormNumberField.svelte +112 -0
- package/dist/components/form/FormNumberField.svelte.d.ts +25 -0
- package/dist/components/form/FormRangeField.stories.svelte +31 -0
- package/dist/components/form/FormRangeField.stories.svelte.d.ts +27 -0
- package/dist/components/form/FormRangeField.svelte +246 -0
- package/dist/components/form/FormRangeField.svelte.d.ts +23 -0
- package/dist/components/form/FormSelect.stories.svelte +50 -0
- package/dist/components/form/FormSelect.stories.svelte.d.ts +27 -0
- package/dist/components/form/FormSelect.svelte +129 -0
- package/dist/components/form/FormSelect.svelte.d.ts +20 -0
- package/dist/components/form/FormTemplateEditor.svelte +825 -0
- package/dist/components/form/FormTemplateEditor.svelte.d.ts +41 -0
- package/dist/components/form/FormTextField.stories.svelte +30 -0
- package/dist/components/form/FormTextField.stories.svelte.d.ts +27 -0
- package/dist/components/form/FormTextField.svelte +91 -0
- package/dist/components/form/FormTextField.svelte.d.ts +19 -0
- package/dist/components/form/FormTextarea.stories.svelte +34 -0
- package/dist/components/form/FormTextarea.stories.svelte.d.ts +27 -0
- package/dist/components/form/FormTextarea.svelte +97 -0
- package/dist/components/form/FormTextarea.svelte.d.ts +21 -0
- package/dist/components/form/FormToggle.stories.svelte +30 -0
- package/dist/components/form/FormToggle.stories.svelte.d.ts +27 -0
- package/dist/components/form/FormToggle.svelte +126 -0
- package/dist/components/form/FormToggle.svelte.d.ts +19 -0
- package/dist/components/form/FormUISchemaRenderer.svelte +136 -0
- package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +32 -0
- package/dist/components/form/index.d.ts +50 -0
- package/dist/components/form/index.js +54 -0
- package/dist/components/form/templateAutocomplete.d.ts +29 -0
- package/dist/components/form/templateAutocomplete.js +254 -0
- package/dist/components/form/types.d.ts +485 -0
- package/dist/components/form/types.js +73 -0
- package/dist/components/interrupt/ChoicePrompt.stories.svelte +52 -0
- package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +27 -0
- package/dist/components/interrupt/ChoicePrompt.svelte +401 -0
- package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +23 -0
- package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +71 -0
- package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +27 -0
- package/dist/components/interrupt/ConfirmationPrompt.svelte +292 -0
- package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +25 -0
- package/dist/components/interrupt/FormPrompt.svelte +236 -0
- package/dist/components/interrupt/FormPrompt.svelte.d.ts +23 -0
- package/dist/components/interrupt/InterruptBubble.svelte +601 -0
- package/dist/components/interrupt/InterruptBubble.svelte.d.ts +16 -0
- package/dist/components/interrupt/ReviewPrompt.stories.svelte +67 -0
- package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +27 -0
- package/dist/components/interrupt/ReviewPrompt.svelte +861 -0
- package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +23 -0
- package/dist/components/interrupt/TextInputPrompt.stories.svelte +47 -0
- package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +27 -0
- package/dist/components/interrupt/TextInputPrompt.svelte +346 -0
- package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +23 -0
- package/dist/components/interrupt/index.d.ts +13 -0
- package/dist/components/interrupt/index.js +15 -0
- package/dist/components/layouts/MainLayout.svelte +718 -0
- package/dist/components/layouts/MainLayout.svelte.d.ts +62 -0
- package/dist/components/nodes/GatewayNode.stories.svelte +108 -0
- package/dist/components/nodes/GatewayNode.stories.svelte.d.ts +26 -0
- package/dist/components/nodes/GatewayNode.svelte +591 -0
- package/dist/components/nodes/GatewayNode.svelte.d.ts +15 -0
- package/dist/components/nodes/IdeaNode.stories.svelte +52 -0
- package/dist/components/nodes/IdeaNode.stories.svelte.d.ts +26 -0
- package/dist/components/nodes/IdeaNode.svelte +455 -0
- package/dist/components/nodes/IdeaNode.svelte.d.ts +24 -0
- package/dist/components/nodes/NotesNode.stories.svelte +76 -0
- package/dist/components/nodes/NotesNode.stories.svelte.d.ts +26 -0
- package/dist/components/nodes/NotesNode.svelte +378 -0
- package/dist/components/nodes/NotesNode.svelte.d.ts +24 -0
- package/dist/components/nodes/SimpleNode.stories.svelte +159 -0
- package/dist/components/nodes/SimpleNode.stories.svelte.d.ts +26 -0
- package/dist/components/nodes/SimpleNode.svelte +451 -0
- package/dist/components/nodes/SimpleNode.svelte.d.ts +25 -0
- package/dist/components/nodes/SquareNode.stories.svelte +82 -0
- package/dist/components/nodes/SquareNode.stories.svelte.d.ts +26 -0
- package/dist/components/nodes/SquareNode.svelte +407 -0
- package/dist/components/nodes/SquareNode.svelte.d.ts +25 -0
- package/dist/components/nodes/TerminalNode.stories.svelte +25 -0
- package/dist/components/nodes/TerminalNode.stories.svelte.d.ts +26 -0
- package/dist/components/nodes/TerminalNode.svelte +690 -0
- package/dist/components/nodes/TerminalNode.svelte.d.ts +25 -0
- package/dist/components/nodes/ToolNode.stories.svelte +189 -0
- package/dist/components/nodes/ToolNode.stories.svelte.d.ts +26 -0
- package/dist/components/nodes/ToolNode.svelte +471 -0
- package/dist/components/nodes/ToolNode.svelte.d.ts +36 -0
- package/dist/components/nodes/WorkflowNode.stories.svelte +55 -0
- package/dist/components/nodes/WorkflowNode.stories.svelte.d.ts +26 -0
- package/dist/components/nodes/WorkflowNode.svelte +571 -0
- package/dist/components/nodes/WorkflowNode.svelte.d.ts +15 -0
- package/dist/components/playground/ChatPanel.svelte +905 -0
- package/dist/components/playground/ChatPanel.svelte.d.ts +46 -0
- package/dist/components/playground/ExecutionLogs.svelte +488 -0
- package/dist/components/playground/ExecutionLogs.svelte.d.ts +14 -0
- package/dist/components/playground/InputCollector.svelte +444 -0
- package/dist/components/playground/InputCollector.svelte.d.ts +16 -0
- package/dist/components/playground/MessageBubble.stories.svelte +62 -0
- package/dist/components/playground/MessageBubble.stories.svelte.d.ts +27 -0
- package/dist/components/playground/MessageBubble.svelte +633 -0
- package/dist/components/playground/MessageBubble.svelte.d.ts +24 -0
- package/dist/components/playground/Playground.svelte +1075 -0
- package/dist/components/playground/Playground.svelte.d.ts +25 -0
- package/dist/components/playground/PlaygroundModal.svelte +220 -0
- package/dist/components/playground/PlaygroundModal.svelte.d.ts +25 -0
- package/dist/components/playground/SessionManager.svelte +538 -0
- package/dist/components/playground/SessionManager.svelte.d.ts +20 -0
- package/dist/config/agentSpecEndpoints.d.ts +70 -0
- package/dist/config/agentSpecEndpoints.js +65 -0
- package/dist/config/constants.d.ts +43 -0
- package/dist/config/constants.js +31 -0
- package/dist/config/defaultCategories.d.ts +7 -0
- package/dist/config/defaultCategories.js +126 -0
- package/dist/config/defaultPortConfig.d.ts +6 -0
- package/dist/config/defaultPortConfig.js +201 -0
- package/dist/config/endpoints.d.ts +160 -0
- package/dist/config/endpoints.js +146 -0
- package/dist/config/runtimeConfig.d.ts +47 -0
- package/dist/config/runtimeConfig.js +80 -0
- package/dist/core/index.d.ts +75 -0
- package/dist/core/index.js +92 -0
- package/dist/display/index.d.ts +29 -0
- package/dist/display/index.js +36 -0
- package/dist/editor/index.d.ts +95 -0
- package/dist/editor/index.js +138 -0
- package/dist/form/code.d.ts +101 -0
- package/dist/form/code.js +168 -0
- package/dist/form/fieldRegistry.d.ts +169 -0
- package/dist/form/fieldRegistry.js +152 -0
- package/dist/form/full.d.ts +56 -0
- package/dist/form/full.js +80 -0
- package/dist/form/index.d.ts +77 -0
- package/dist/form/index.js +91 -0
- package/dist/form/markdown.d.ts +69 -0
- package/dist/form/markdown.js +103 -0
- package/dist/helpers/nodeLayoutHelper.d.ts +14 -0
- package/dist/helpers/nodeLayoutHelper.js +19 -0
- package/dist/helpers/proximityConnect.d.ts +94 -0
- package/dist/helpers/proximityConnect.js +314 -0
- package/dist/helpers/workflowEditorHelper.d.ts +183 -0
- package/dist/helpers/workflowEditorHelper.js +595 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.js +64 -0
- package/dist/mocks/app-environment.d.ts +8 -0
- package/dist/mocks/app-environment.js +16 -0
- package/dist/mocks/app-forms.d.ts +2 -0
- package/dist/mocks/app-forms.js +22 -0
- package/dist/mocks/app-navigation.d.ts +5 -0
- package/dist/mocks/app-navigation.js +36 -0
- package/dist/mocks/app-stores.d.ts +14 -0
- package/dist/mocks/app-stores.js +26 -0
- package/dist/playground/index.d.ts +131 -0
- package/dist/playground/index.js +172 -0
- package/dist/playground/mount.d.ts +203 -0
- package/dist/playground/mount.js +235 -0
- package/dist/registry/BaseRegistry.d.ts +92 -0
- package/dist/registry/BaseRegistry.js +124 -0
- package/dist/registry/builtinFormats.d.ts +23 -0
- package/dist/registry/builtinFormats.js +70 -0
- package/dist/registry/builtinNodes.d.ts +77 -0
- package/dist/registry/builtinNodes.js +211 -0
- package/dist/registry/index.d.ts +8 -0
- package/dist/registry/index.js +12 -0
- package/dist/registry/nodeComponentRegistry.d.ts +276 -0
- package/dist/registry/nodeComponentRegistry.js +262 -0
- package/dist/registry/plugin.d.ts +215 -0
- package/dist/registry/plugin.js +249 -0
- package/dist/registry/workflowFormatRegistry.d.ts +122 -0
- package/dist/registry/workflowFormatRegistry.js +96 -0
- package/dist/schema/index.d.ts +23 -0
- package/dist/schema/index.js +23 -0
- package/dist/schemas/v1/workflow.schema.json +1078 -0
- package/dist/services/agentSpecExecutionService.d.ts +106 -0
- package/dist/services/agentSpecExecutionService.js +334 -0
- package/dist/services/api.d.ts +115 -0
- package/dist/services/api.js +214 -0
- package/dist/services/apiVariableService.d.ts +114 -0
- package/dist/services/apiVariableService.js +338 -0
- package/dist/services/autoSaveService.d.ts +112 -0
- package/dist/services/autoSaveService.js +227 -0
- package/dist/services/categoriesApi.d.ts +14 -0
- package/dist/services/categoriesApi.js +49 -0
- package/dist/services/draftStorage.d.ts +171 -0
- package/dist/services/draftStorage.js +299 -0
- package/dist/services/dynamicSchemaService.d.ts +108 -0
- package/dist/services/dynamicSchemaService.js +444 -0
- package/dist/services/globalSave.d.ts +69 -0
- package/dist/services/globalSave.js +248 -0
- package/dist/services/historyService.d.ts +208 -0
- package/dist/services/historyService.js +321 -0
- package/dist/services/interruptService.d.ts +133 -0
- package/dist/services/interruptService.js +280 -0
- package/dist/services/nodeExecutionService.d.ts +63 -0
- package/dist/services/nodeExecutionService.js +266 -0
- package/dist/services/playgroundService.d.ts +130 -0
- package/dist/services/playgroundService.js +321 -0
- package/dist/services/portConfigApi.d.ts +14 -0
- package/dist/services/portConfigApi.js +54 -0
- package/dist/services/settingsService.d.ts +92 -0
- package/dist/services/settingsService.js +196 -0
- package/dist/services/toastService.d.ts +156 -0
- package/dist/services/toastService.js +265 -0
- package/dist/services/variableService.d.ts +141 -0
- package/dist/services/variableService.js +463 -0
- package/dist/services/workflowStorage.d.ts +37 -0
- package/dist/services/workflowStorage.js +116 -0
- package/dist/settings/index.d.ts +25 -0
- package/dist/settings/index.js +33 -0
- package/dist/stores/categoriesStore.svelte.d.ts +32 -0
- package/dist/stores/categoriesStore.svelte.js +77 -0
- package/dist/stores/editorStateMachine.svelte.d.ts +42 -0
- package/dist/stores/editorStateMachine.svelte.js +132 -0
- package/dist/stores/historyStore.svelte.d.ts +136 -0
- package/dist/stores/historyStore.svelte.js +207 -0
- package/dist/stores/interruptStore.svelte.d.ts +179 -0
- package/dist/stores/interruptStore.svelte.js +346 -0
- package/dist/stores/playgroundStore.svelte.d.ts +230 -0
- package/dist/stores/playgroundStore.svelte.js +515 -0
- package/dist/stores/portCoordinateStore.svelte.d.ts +66 -0
- package/dist/stores/portCoordinateStore.svelte.js +186 -0
- package/dist/stores/settingsStore.svelte.d.ts +158 -0
- package/dist/stores/settingsStore.svelte.js +544 -0
- package/dist/stores/workflowStore.svelte.d.ts +260 -0
- package/dist/stores/workflowStore.svelte.js +649 -0
- package/dist/stories/CanvasDecorator.svelte +49 -0
- package/dist/stories/CanvasDecorator.svelte.d.ts +8 -0
- package/dist/stories/NodeDecorator.svelte +73 -0
- package/dist/stories/NodeDecorator.svelte.d.ts +8 -0
- package/dist/stories/utils.d.ts +93 -0
- package/dist/stories/utils.js +122 -0
- package/dist/styles/base.css +1300 -0
- package/dist/styles/toast.css +35 -0
- package/dist/styles/tokens.css +475 -0
- package/dist/svelte-app.d.ts +150 -0
- package/dist/svelte-app.js +295 -0
- package/dist/types/agentspec.d.ts +318 -0
- package/dist/types/agentspec.js +48 -0
- package/dist/types/auth.d.ts +263 -0
- package/dist/types/auth.js +229 -0
- package/dist/types/config.d.ts +151 -0
- package/dist/types/config.js +7 -0
- package/dist/types/events.d.ts +190 -0
- package/dist/types/events.js +30 -0
- package/dist/types/index.d.ts +1234 -0
- package/dist/types/index.js +27 -0
- package/dist/types/interrupt.d.ts +390 -0
- package/dist/types/interrupt.js +145 -0
- package/dist/types/interruptState.d.ts +211 -0
- package/dist/types/interruptState.js +308 -0
- package/dist/types/playground.d.ts +351 -0
- package/dist/types/playground.js +95 -0
- package/dist/types/settings.d.ts +189 -0
- package/dist/types/settings.js +97 -0
- package/dist/types/uischema.d.ts +144 -0
- package/dist/types/uischema.js +51 -0
- package/dist/utils/colors.d.ts +288 -0
- package/dist/utils/colors.js +548 -0
- package/dist/utils/config.d.ts +37 -0
- package/dist/utils/config.js +226 -0
- package/dist/utils/connections.d.ts +125 -0
- package/dist/utils/connections.js +414 -0
- package/dist/utils/errors.d.ts +28 -0
- package/dist/utils/errors.js +44 -0
- package/dist/utils/fetchWithAuth.d.ts +25 -0
- package/dist/utils/fetchWithAuth.js +34 -0
- package/dist/utils/handleIds.d.ts +35 -0
- package/dist/utils/handleIds.js +58 -0
- package/dist/utils/handlePositioning.d.ts +31 -0
- package/dist/utils/handlePositioning.js +35 -0
- package/dist/utils/icons.d.ts +106 -0
- package/dist/utils/icons.js +157 -0
- package/dist/utils/logger.d.ts +47 -0
- package/dist/utils/logger.js +72 -0
- package/dist/utils/nodeStatus.d.ts +53 -0
- package/dist/utils/nodeStatus.js +183 -0
- package/dist/utils/nodeTypes.d.ts +117 -0
- package/dist/utils/nodeTypes.js +244 -0
- package/dist/utils/nodeWrapper.d.ts +39 -0
- package/dist/utils/nodeWrapper.js +62 -0
- package/dist/utils/performanceUtils.d.ts +30 -0
- package/dist/utils/performanceUtils.js +108 -0
- package/dist/utils/sanitize.d.ts +19 -0
- package/dist/utils/sanitize.js +31 -0
- package/dist/utils/uischema.d.ts +52 -0
- package/dist/utils/uischema.js +88 -0
- package/dist/utils/validation.d.ts +29 -0
- package/dist/utils/validation.js +39 -0
- package/package.json +292 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration utilities for FlowDrop Editor
|
|
3
|
+
*/
|
|
4
|
+
import { createEndpointConfig } from '../config/endpoints.js';
|
|
5
|
+
/**
|
|
6
|
+
* Create default editor features configuration
|
|
7
|
+
*/
|
|
8
|
+
export function createDefaultFeatures() {
|
|
9
|
+
return {
|
|
10
|
+
dragAndDrop: true,
|
|
11
|
+
nodeEditing: true,
|
|
12
|
+
execution: true,
|
|
13
|
+
saveWorkflow: true,
|
|
14
|
+
loadWorkflow: true,
|
|
15
|
+
undoRedo: true,
|
|
16
|
+
nodeSearch: true,
|
|
17
|
+
nodeCategories: true,
|
|
18
|
+
nodeValidation: true,
|
|
19
|
+
collaboration: false,
|
|
20
|
+
templates: false,
|
|
21
|
+
importExport: false
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Create default UI configuration
|
|
26
|
+
*/
|
|
27
|
+
export function createDefaultUIConfig() {
|
|
28
|
+
return {
|
|
29
|
+
showSidebar: true,
|
|
30
|
+
showToolbar: true,
|
|
31
|
+
showMinimap: true,
|
|
32
|
+
showGrid: true,
|
|
33
|
+
gridSize: 20,
|
|
34
|
+
nodeSpacing: 100,
|
|
35
|
+
canvasPadding: 50,
|
|
36
|
+
navbarHeight: 60, // Default navbar height in pixels (current demo height)
|
|
37
|
+
zoom: {
|
|
38
|
+
min: 0.1,
|
|
39
|
+
max: 2,
|
|
40
|
+
default: 1
|
|
41
|
+
},
|
|
42
|
+
colors: {
|
|
43
|
+
primary: '#3b82f6',
|
|
44
|
+
secondary: '#64748b',
|
|
45
|
+
accent: '#f59e0b',
|
|
46
|
+
background: '#ffffff',
|
|
47
|
+
text: '#1f2937'
|
|
48
|
+
},
|
|
49
|
+
cssClasses: {}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Create default API configuration
|
|
54
|
+
*/
|
|
55
|
+
export function createDefaultAPIConfig() {
|
|
56
|
+
return {
|
|
57
|
+
endpoints: createEndpointConfig('/api/flowdrop'),
|
|
58
|
+
timeout: 30000,
|
|
59
|
+
retry: {
|
|
60
|
+
enabled: true,
|
|
61
|
+
maxAttempts: 3,
|
|
62
|
+
delay: 1000
|
|
63
|
+
},
|
|
64
|
+
auth: {
|
|
65
|
+
type: 'none'
|
|
66
|
+
},
|
|
67
|
+
headers: {
|
|
68
|
+
'Content-Type': 'application/json'
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Create default execution configuration
|
|
74
|
+
*/
|
|
75
|
+
export function createDefaultExecutionConfig() {
|
|
76
|
+
return {
|
|
77
|
+
realTimeUpdates: true,
|
|
78
|
+
timeout: 300,
|
|
79
|
+
maxConcurrent: 5,
|
|
80
|
+
showProgress: true,
|
|
81
|
+
autoSaveState: true,
|
|
82
|
+
caching: {
|
|
83
|
+
enabled: true,
|
|
84
|
+
ttl: 3600
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Create default storage configuration
|
|
90
|
+
*/
|
|
91
|
+
export function createDefaultStorageConfig() {
|
|
92
|
+
return {
|
|
93
|
+
type: 'api',
|
|
94
|
+
autoSaveInterval: 5000,
|
|
95
|
+
maxUndoSteps: 50,
|
|
96
|
+
keyPrefix: 'flowdrop_'
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Create default workflow editor configuration
|
|
101
|
+
*/
|
|
102
|
+
export function createDefaultConfig(endpointConfig) {
|
|
103
|
+
return {
|
|
104
|
+
theme: 'auto',
|
|
105
|
+
features: createDefaultFeatures(),
|
|
106
|
+
ui: createDefaultUIConfig(),
|
|
107
|
+
api: {
|
|
108
|
+
...createDefaultAPIConfig(),
|
|
109
|
+
endpoints: endpointConfig || createEndpointConfig('/api/flowdrop')
|
|
110
|
+
},
|
|
111
|
+
ports: {
|
|
112
|
+
dataTypes: [],
|
|
113
|
+
compatibilityRules: [],
|
|
114
|
+
defaultDataType: 'mixed'
|
|
115
|
+
},
|
|
116
|
+
execution: createDefaultExecutionConfig(),
|
|
117
|
+
storage: createDefaultStorageConfig()
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Merge configuration with defaults
|
|
122
|
+
*/
|
|
123
|
+
export function mergeConfig(userConfig, defaultConfig) {
|
|
124
|
+
return {
|
|
125
|
+
...defaultConfig,
|
|
126
|
+
...userConfig,
|
|
127
|
+
features: {
|
|
128
|
+
...defaultConfig.features,
|
|
129
|
+
...userConfig.features
|
|
130
|
+
},
|
|
131
|
+
ui: {
|
|
132
|
+
...defaultConfig.ui,
|
|
133
|
+
...userConfig.ui,
|
|
134
|
+
zoom: {
|
|
135
|
+
...defaultConfig.ui.zoom,
|
|
136
|
+
...userConfig.ui?.zoom
|
|
137
|
+
},
|
|
138
|
+
colors: {
|
|
139
|
+
...defaultConfig.ui.colors,
|
|
140
|
+
...userConfig.ui?.colors
|
|
141
|
+
},
|
|
142
|
+
cssClasses: {
|
|
143
|
+
...defaultConfig.ui.cssClasses,
|
|
144
|
+
...userConfig.ui?.cssClasses
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
api: {
|
|
148
|
+
...defaultConfig.api,
|
|
149
|
+
...userConfig.api,
|
|
150
|
+
retry: {
|
|
151
|
+
...defaultConfig.api.retry,
|
|
152
|
+
...userConfig.api?.retry
|
|
153
|
+
},
|
|
154
|
+
auth: {
|
|
155
|
+
...defaultConfig.api.auth,
|
|
156
|
+
...userConfig.api?.auth
|
|
157
|
+
},
|
|
158
|
+
headers: {
|
|
159
|
+
...defaultConfig.api.headers,
|
|
160
|
+
...userConfig.api?.headers
|
|
161
|
+
},
|
|
162
|
+
endpoints: {
|
|
163
|
+
...defaultConfig.api.endpoints,
|
|
164
|
+
...userConfig.api?.endpoints
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
execution: {
|
|
168
|
+
...defaultConfig.execution,
|
|
169
|
+
...userConfig.execution,
|
|
170
|
+
caching: {
|
|
171
|
+
...defaultConfig.execution.caching,
|
|
172
|
+
...userConfig.execution?.caching
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
storage: {
|
|
176
|
+
...defaultConfig.storage,
|
|
177
|
+
...userConfig.storage
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Validate configuration
|
|
183
|
+
*/
|
|
184
|
+
export function validateConfig(config) {
|
|
185
|
+
const errors = [];
|
|
186
|
+
if (!config.features) {
|
|
187
|
+
errors.push('features configuration is required');
|
|
188
|
+
}
|
|
189
|
+
if (!config.ui) {
|
|
190
|
+
errors.push('ui configuration is required');
|
|
191
|
+
}
|
|
192
|
+
if (!config.api) {
|
|
193
|
+
errors.push('api configuration is required');
|
|
194
|
+
}
|
|
195
|
+
if (!config.execution) {
|
|
196
|
+
errors.push('execution configuration is required');
|
|
197
|
+
}
|
|
198
|
+
if (!config.storage) {
|
|
199
|
+
errors.push('storage configuration is required');
|
|
200
|
+
}
|
|
201
|
+
// Validate API configuration
|
|
202
|
+
if (config.api.timeout <= 0) {
|
|
203
|
+
errors.push('API timeout must be greater than 0');
|
|
204
|
+
}
|
|
205
|
+
if (config.api.retry.maxAttempts < 0) {
|
|
206
|
+
errors.push('Retry max attempts must be non-negative');
|
|
207
|
+
}
|
|
208
|
+
// Validate execution configuration
|
|
209
|
+
if (config.execution.timeout <= 0) {
|
|
210
|
+
errors.push('Execution timeout must be greater than 0');
|
|
211
|
+
}
|
|
212
|
+
if (config.execution.maxConcurrent <= 0) {
|
|
213
|
+
errors.push('Max concurrent executions must be greater than 0');
|
|
214
|
+
}
|
|
215
|
+
// Validate UI configuration
|
|
216
|
+
if (config.ui.gridSize <= 0) {
|
|
217
|
+
errors.push('Grid size must be greater than 0');
|
|
218
|
+
}
|
|
219
|
+
if (config.ui.nodeSpacing <= 0) {
|
|
220
|
+
errors.push('Node spacing must be greater than 0');
|
|
221
|
+
}
|
|
222
|
+
if (config.ui.zoom.min >= config.ui.zoom.max) {
|
|
223
|
+
errors.push('Zoom min must be less than zoom max');
|
|
224
|
+
}
|
|
225
|
+
return errors;
|
|
226
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection validation utilities for FlowDrop
|
|
3
|
+
*/
|
|
4
|
+
import type { NodeMetadata, NodePort, NodeDataType, WorkflowNode, WorkflowEdge, PortConfig, PortDataTypeConfig } from '../types/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Determines if an edge is a loopback edge.
|
|
7
|
+
* Loopback edges target the special `loop_back` input port on ForEach nodes.
|
|
8
|
+
* These edges are used to trigger the next iteration in a loop construct.
|
|
9
|
+
*
|
|
10
|
+
* @param edge - The edge to check
|
|
11
|
+
* @returns True if the edge is a loopback edge
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const edge = { targetHandle: "foreach.1-input-loop_back", ... };
|
|
16
|
+
* const isLoop = isLoopbackEdge(edge); // true
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function isLoopbackEdge(edge: WorkflowEdge): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Checks if a cycle consists entirely of loopback edges.
|
|
22
|
+
* A valid loopback cycle only contains edges that target loop_back ports.
|
|
23
|
+
*
|
|
24
|
+
* @param cycleEdges - Array of edges that form a cycle
|
|
25
|
+
* @returns True if all edges in the cycle are loopback edges
|
|
26
|
+
*/
|
|
27
|
+
export declare function isValidLoopbackCycle(cycleEdges: WorkflowEdge[]): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Configurable port compatibility checker
|
|
30
|
+
*/
|
|
31
|
+
export declare class PortCompatibilityChecker {
|
|
32
|
+
private portConfig;
|
|
33
|
+
private compatibilityMap;
|
|
34
|
+
constructor(portConfig: PortConfig);
|
|
35
|
+
/**
|
|
36
|
+
* Build the compatibility map from configuration rules
|
|
37
|
+
*/
|
|
38
|
+
private buildCompatibilityMap;
|
|
39
|
+
/**
|
|
40
|
+
* Check if two data types are compatible for connection
|
|
41
|
+
*/
|
|
42
|
+
areDataTypesCompatible(outputType: NodeDataType, inputType: NodeDataType): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Get all compatible target types for a source type
|
|
45
|
+
*/
|
|
46
|
+
getCompatibleTypes(sourceType: NodeDataType): NodeDataType[];
|
|
47
|
+
/**
|
|
48
|
+
* Get data type configuration by ID
|
|
49
|
+
*/
|
|
50
|
+
getDataTypeConfig(dataTypeId: string): PortDataTypeConfig | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Get all enabled data types
|
|
53
|
+
*/
|
|
54
|
+
getEnabledDataTypes(): PortDataTypeConfig[];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Initialize the global port compatibility checker
|
|
58
|
+
*/
|
|
59
|
+
export declare function initializePortCompatibility(portConfig: PortConfig): void;
|
|
60
|
+
/**
|
|
61
|
+
* Get the global port compatibility checker
|
|
62
|
+
*/
|
|
63
|
+
export declare function getPortCompatibilityChecker(): PortCompatibilityChecker;
|
|
64
|
+
/**
|
|
65
|
+
* Get all possible connections from a source node to target nodes
|
|
66
|
+
*/
|
|
67
|
+
export declare function getPossibleConnections(sourceNode: WorkflowNode, targetNodes: WorkflowNode[], nodeTypes: NodeMetadata[]): Array<{
|
|
68
|
+
sourceNodeId: string;
|
|
69
|
+
sourcePortId: string;
|
|
70
|
+
sourcePort: NodePort;
|
|
71
|
+
targetNodeId: string;
|
|
72
|
+
targetPortId: string;
|
|
73
|
+
targetPort: NodePort;
|
|
74
|
+
compatible: boolean;
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* Validate if a specific connection is valid
|
|
78
|
+
*/
|
|
79
|
+
export declare function validateConnection(sourceNodeId: string, sourcePortId: string, targetNodeId: string, targetPortId: string, nodes: WorkflowNode[], nodeTypes: NodeMetadata[]): {
|
|
80
|
+
valid: boolean;
|
|
81
|
+
error?: string;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Get connection suggestions for a node
|
|
85
|
+
*/
|
|
86
|
+
export declare function getConnectionSuggestions(nodeId: string, nodes: WorkflowNode[], nodeTypes: NodeMetadata[]): Array<{
|
|
87
|
+
nodeId: string;
|
|
88
|
+
nodeName: string;
|
|
89
|
+
portId: string;
|
|
90
|
+
portName: string;
|
|
91
|
+
portType: 'input' | 'output';
|
|
92
|
+
dataType: NodeDataType;
|
|
93
|
+
compatible: boolean;
|
|
94
|
+
}>;
|
|
95
|
+
/**
|
|
96
|
+
* Check if a workflow has any cycles (prevent infinite loops)
|
|
97
|
+
* Note: This function detects ALL cycles, including valid loopback cycles.
|
|
98
|
+
* Use `hasInvalidCycles` to check only for cycles that could cause infinite execution.
|
|
99
|
+
*
|
|
100
|
+
* @param nodes - Array of workflow nodes
|
|
101
|
+
* @param edges - Array of workflow edges
|
|
102
|
+
* @returns True if any cycle exists in the workflow
|
|
103
|
+
*/
|
|
104
|
+
export declare function hasCycles(nodes: WorkflowNode[], edges: WorkflowEdge[]): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Check if a workflow has any invalid cycles (non-loopback cycles).
|
|
107
|
+
* This excludes valid loopback cycles used for ForEach iteration.
|
|
108
|
+
* Only cycles that could cause infinite execution are detected.
|
|
109
|
+
*
|
|
110
|
+
* @param nodes - Array of workflow nodes
|
|
111
|
+
* @param edges - Array of workflow edges
|
|
112
|
+
* @returns True if any invalid (non-loopback) cycle exists
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* // A cycle through a loopback edge is valid (returns false)
|
|
117
|
+
* // A cycle through regular data edges is invalid (returns true)
|
|
118
|
+
* const hasInvalid = hasInvalidCycles(nodes, edges);
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
export declare function hasInvalidCycles(nodes: WorkflowNode[], edges: WorkflowEdge[]): boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Get the execution order for a workflow (topological sort)
|
|
124
|
+
*/
|
|
125
|
+
export declare function getExecutionOrder(nodes: WorkflowNode[], edges: WorkflowEdge[]): string[];
|