@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,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in Node Components Registration
|
|
3
|
+
* Registers all default FlowDrop node components with the registry.
|
|
4
|
+
*
|
|
5
|
+
* This module is automatically loaded when the library initializes,
|
|
6
|
+
* ensuring all built-in node types are available without user action.
|
|
7
|
+
*/
|
|
8
|
+
import { nodeComponentRegistry } from './nodeComponentRegistry.js';
|
|
9
|
+
import WorkflowNode from '../components/nodes/WorkflowNode.svelte';
|
|
10
|
+
import SimpleNode from '../components/nodes/SimpleNode.svelte';
|
|
11
|
+
import SquareNode from '../components/nodes/SquareNode.svelte';
|
|
12
|
+
import ToolNode from '../components/nodes/ToolNode.svelte';
|
|
13
|
+
import GatewayNode from '../components/nodes/GatewayNode.svelte';
|
|
14
|
+
import NotesNode from '../components/nodes/NotesNode.svelte';
|
|
15
|
+
import TerminalNode from '../components/nodes/TerminalNode.svelte';
|
|
16
|
+
import IdeaNode from '../components/nodes/IdeaNode.svelte';
|
|
17
|
+
/**
|
|
18
|
+
* Source identifier for built-in FlowDrop components
|
|
19
|
+
*/
|
|
20
|
+
export const FLOWDROP_SOURCE = 'flowdrop';
|
|
21
|
+
/**
|
|
22
|
+
* Built-in FlowDrop node component registrations.
|
|
23
|
+
* These are the default node types that ship with FlowDrop.
|
|
24
|
+
*/
|
|
25
|
+
export const BUILTIN_NODE_COMPONENTS = [
|
|
26
|
+
{
|
|
27
|
+
type: 'workflowNode',
|
|
28
|
+
displayName: 'Default (Standard Workflow Node)',
|
|
29
|
+
description: 'Full-featured workflow node with inputs/outputs display',
|
|
30
|
+
component: WorkflowNode,
|
|
31
|
+
icon: 'mdi:vector-square',
|
|
32
|
+
category: 'visual',
|
|
33
|
+
source: FLOWDROP_SOURCE,
|
|
34
|
+
statusPosition: 'top-right',
|
|
35
|
+
statusSize: 'md'
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
type: 'simple',
|
|
39
|
+
displayName: 'Simple (Compact Layout)',
|
|
40
|
+
description: 'Compact node with header, icon, and description',
|
|
41
|
+
component: SimpleNode,
|
|
42
|
+
icon: 'mdi:card-outline',
|
|
43
|
+
category: 'visual',
|
|
44
|
+
source: FLOWDROP_SOURCE,
|
|
45
|
+
statusPosition: 'top-right',
|
|
46
|
+
statusSize: 'md'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'square',
|
|
50
|
+
displayName: 'Square (Minimal Icon)',
|
|
51
|
+
description: 'Minimal square node showing only an icon',
|
|
52
|
+
component: SquareNode,
|
|
53
|
+
icon: 'mdi:square',
|
|
54
|
+
category: 'visual',
|
|
55
|
+
source: FLOWDROP_SOURCE,
|
|
56
|
+
statusPosition: 'top-right',
|
|
57
|
+
statusSize: 'sm'
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
type: 'tool',
|
|
61
|
+
displayName: 'Tool (Agent Tool)',
|
|
62
|
+
description: 'Specialized node for agent tools with tool metadata',
|
|
63
|
+
component: ToolNode,
|
|
64
|
+
icon: 'mdi:tools',
|
|
65
|
+
category: 'functional',
|
|
66
|
+
source: FLOWDROP_SOURCE,
|
|
67
|
+
statusPosition: 'top-left',
|
|
68
|
+
statusSize: 'sm'
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'gateway',
|
|
72
|
+
displayName: 'Gateway (Branching)',
|
|
73
|
+
description: 'Branching control flow node with multiple output branches',
|
|
74
|
+
component: GatewayNode,
|
|
75
|
+
icon: 'mdi:source-branch',
|
|
76
|
+
category: 'functional',
|
|
77
|
+
source: FLOWDROP_SOURCE,
|
|
78
|
+
statusPosition: 'top-right',
|
|
79
|
+
statusSize: 'md'
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
type: 'note',
|
|
83
|
+
displayName: 'Note (Sticky Note)',
|
|
84
|
+
description: 'Documentation note with markdown support',
|
|
85
|
+
component: NotesNode,
|
|
86
|
+
icon: 'mdi:note-text',
|
|
87
|
+
category: 'layout',
|
|
88
|
+
source: FLOWDROP_SOURCE,
|
|
89
|
+
statusPosition: 'bottom-right',
|
|
90
|
+
statusSize: 'sm'
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'terminal',
|
|
94
|
+
displayName: 'Terminal (Start/End/Exit)',
|
|
95
|
+
description: 'Circular terminal node for workflow start, end, or exit points',
|
|
96
|
+
component: TerminalNode,
|
|
97
|
+
icon: 'mdi:circle-double',
|
|
98
|
+
category: 'functional',
|
|
99
|
+
source: FLOWDROP_SOURCE,
|
|
100
|
+
statusPosition: 'top-right',
|
|
101
|
+
statusSize: 'sm'
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: 'idea',
|
|
105
|
+
displayName: 'Idea (Conceptual Flow)',
|
|
106
|
+
description: 'Conceptual idea node for BPMN-like flow diagrams',
|
|
107
|
+
component: IdeaNode,
|
|
108
|
+
icon: 'mdi:lightbulb-outline',
|
|
109
|
+
category: 'layout',
|
|
110
|
+
source: FLOWDROP_SOURCE,
|
|
111
|
+
statusPosition: 'top-right',
|
|
112
|
+
statusSize: 'sm'
|
|
113
|
+
}
|
|
114
|
+
];
|
|
115
|
+
/**
|
|
116
|
+
* Alias mapping for type resolution.
|
|
117
|
+
* Maps alternative type names to their canonical registration.
|
|
118
|
+
*/
|
|
119
|
+
export const BUILTIN_TYPE_ALIASES = {
|
|
120
|
+
default: 'workflowNode'
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Track whether built-in nodes have been registered.
|
|
124
|
+
* Prevents duplicate registration on hot reload.
|
|
125
|
+
*/
|
|
126
|
+
let builtinsRegistered = false;
|
|
127
|
+
/**
|
|
128
|
+
* Initialize the registry with built-in components.
|
|
129
|
+
* This is called automatically when the library loads.
|
|
130
|
+
*
|
|
131
|
+
* Safe to call multiple times - will only register once.
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* // Usually not needed - called automatically
|
|
136
|
+
* // But can be called manually if needed
|
|
137
|
+
* registerBuiltinNodes();
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
export function registerBuiltinNodes() {
|
|
141
|
+
if (builtinsRegistered) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
// Register all built-in components
|
|
145
|
+
nodeComponentRegistry.registerAll(BUILTIN_NODE_COMPONENTS, true);
|
|
146
|
+
// Set the default type
|
|
147
|
+
nodeComponentRegistry.setDefaultType('workflowNode');
|
|
148
|
+
builtinsRegistered = true;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Check if built-in nodes have been registered.
|
|
152
|
+
*
|
|
153
|
+
* @returns true if registerBuiltinNodes() has been called
|
|
154
|
+
*/
|
|
155
|
+
export function areBuiltinsRegistered() {
|
|
156
|
+
return builtinsRegistered;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Reset the registration state.
|
|
160
|
+
* Primarily useful for testing.
|
|
161
|
+
*/
|
|
162
|
+
export function resetBuiltinRegistration() {
|
|
163
|
+
builtinsRegistered = false;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Get the canonical type for a given type string.
|
|
167
|
+
* Handles aliases like "default" -> "workflowNode".
|
|
168
|
+
*
|
|
169
|
+
* @param type - The type string to resolve
|
|
170
|
+
* @returns The canonical type string
|
|
171
|
+
*/
|
|
172
|
+
export function resolveBuiltinAlias(type) {
|
|
173
|
+
return BUILTIN_TYPE_ALIASES[type] ?? type;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Check if a type is a built-in FlowDrop type.
|
|
177
|
+
*
|
|
178
|
+
* @param type - The type to check
|
|
179
|
+
* @returns true if this is a built-in type
|
|
180
|
+
*/
|
|
181
|
+
export function isBuiltinType(type) {
|
|
182
|
+
const canonicalType = resolveBuiltinAlias(type);
|
|
183
|
+
return BUILTIN_NODE_COMPONENTS.some((reg) => reg.type === canonicalType);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Get all built-in type identifiers.
|
|
187
|
+
*
|
|
188
|
+
* @returns Array of built-in type strings
|
|
189
|
+
*/
|
|
190
|
+
export function getBuiltinTypes() {
|
|
191
|
+
return BUILTIN_NODE_COMPONENTS.map((reg) => reg.type);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Array of built-in type strings for runtime validation.
|
|
195
|
+
*/
|
|
196
|
+
export const BUILTIN_NODE_TYPES = [
|
|
197
|
+
'workflowNode',
|
|
198
|
+
'simple',
|
|
199
|
+
'square',
|
|
200
|
+
'tool',
|
|
201
|
+
'gateway',
|
|
202
|
+
'note',
|
|
203
|
+
'terminal',
|
|
204
|
+
'idea'
|
|
205
|
+
];
|
|
206
|
+
// Sync registration flag with registry.clear() for test isolation
|
|
207
|
+
nodeComponentRegistry.onClear(() => {
|
|
208
|
+
builtinsRegistered = false;
|
|
209
|
+
});
|
|
210
|
+
// Auto-register built-ins when this module is imported
|
|
211
|
+
registerBuiltinNodes();
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node Component Registry Module
|
|
3
|
+
* Exports all registry-related functionality.
|
|
4
|
+
*/
|
|
5
|
+
export { BaseRegistry } from './BaseRegistry.js';
|
|
6
|
+
export { nodeComponentRegistry, createNamespacedType, parseNamespacedType, type NodeComponentProps, type NodeTypeInfo, type NodeComponentRegistration, type NodeComponentCategory, type StatusPosition, type StatusSize, type NodeRegistrationFilter } from './nodeComponentRegistry.js';
|
|
7
|
+
export { BUILTIN_NODE_COMPONENTS, BUILTIN_NODE_TYPES, FLOWDROP_SOURCE, registerBuiltinNodes, areBuiltinsRegistered, resetBuiltinRegistration, resolveBuiltinAlias, isBuiltinType, getBuiltinTypes, type BuiltinNodeType } from './builtinNodes.js';
|
|
8
|
+
export { registerFlowDropPlugin, unregisterFlowDropPlugin, registerCustomNode, createPlugin, isValidNamespace, getRegisteredPlugins, getPluginNodeCount, type FlowDropPluginConfig, type PluginNodeDefinition, type PluginRegistrationResult } from './plugin.js';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node Component Registry Module
|
|
3
|
+
* Exports all registry-related functionality.
|
|
4
|
+
*/
|
|
5
|
+
// Base registry
|
|
6
|
+
export { BaseRegistry } from './BaseRegistry.js';
|
|
7
|
+
// Core registry
|
|
8
|
+
export { nodeComponentRegistry, createNamespacedType, parseNamespacedType } from './nodeComponentRegistry.js';
|
|
9
|
+
// Built-in nodes
|
|
10
|
+
export { BUILTIN_NODE_COMPONENTS, BUILTIN_NODE_TYPES, FLOWDROP_SOURCE, registerBuiltinNodes, areBuiltinsRegistered, resetBuiltinRegistration, resolveBuiltinAlias, isBuiltinType, getBuiltinTypes } from './builtinNodes.js';
|
|
11
|
+
// Plugin system
|
|
12
|
+
export { registerFlowDropPlugin, unregisterFlowDropPlugin, registerCustomNode, createPlugin, isValidNamespace, getRegisteredPlugins, getPluginNodeCount } from './plugin.js';
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node Component Registry
|
|
3
|
+
* Central registry for node component types that allows built-in and third-party
|
|
4
|
+
* components to be registered and resolved at runtime.
|
|
5
|
+
*
|
|
6
|
+
* This enables:
|
|
7
|
+
* - Custom node components to be registered by users
|
|
8
|
+
* - External libraries to contribute node types via plugins
|
|
9
|
+
* - Runtime switching between different node visualizations
|
|
10
|
+
*/
|
|
11
|
+
import type { Component } from 'svelte';
|
|
12
|
+
import type { WorkflowNode } from '../types/index.js';
|
|
13
|
+
import { BaseRegistry } from './BaseRegistry.js';
|
|
14
|
+
/**
|
|
15
|
+
* Props interface that all node components must accept.
|
|
16
|
+
* Any component registered in the registry must be compatible with these props.
|
|
17
|
+
*/
|
|
18
|
+
export interface NodeComponentProps {
|
|
19
|
+
/** Node data containing label, config, metadata, executionInfo */
|
|
20
|
+
data: WorkflowNode['data'] & {
|
|
21
|
+
nodeId?: string;
|
|
22
|
+
onConfigOpen?: (node: {
|
|
23
|
+
id: string;
|
|
24
|
+
type: string;
|
|
25
|
+
data: WorkflowNode['data'];
|
|
26
|
+
}) => void;
|
|
27
|
+
};
|
|
28
|
+
/** Whether the node is currently selected */
|
|
29
|
+
selected?: boolean;
|
|
30
|
+
/** Whether the node is in processing state */
|
|
31
|
+
isProcessing?: boolean;
|
|
32
|
+
/** Whether the node has an error */
|
|
33
|
+
isError?: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Position options for the status overlay on nodes
|
|
37
|
+
*/
|
|
38
|
+
export type StatusPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
39
|
+
/**
|
|
40
|
+
* Size options for the status overlay on nodes
|
|
41
|
+
*/
|
|
42
|
+
export type StatusSize = 'sm' | 'md' | 'lg';
|
|
43
|
+
/**
|
|
44
|
+
* Category for organizing node types in the UI
|
|
45
|
+
*/
|
|
46
|
+
export type NodeComponentCategory = 'visual' | 'functional' | 'layout' | 'custom';
|
|
47
|
+
/**
|
|
48
|
+
* Framework-agnostic metadata for a node type.
|
|
49
|
+
* Contains all display/organizational information without any Svelte dependency.
|
|
50
|
+
* Use this interface when you only need node metadata (e.g., in adapters, headless consumers).
|
|
51
|
+
*/
|
|
52
|
+
export interface NodeTypeInfo {
|
|
53
|
+
/** Unique identifier for this node type (e.g., "simple", "mylib:custom") */
|
|
54
|
+
type: string;
|
|
55
|
+
/** Display name for UI purposes (e.g., "Simple Node") */
|
|
56
|
+
displayName: string;
|
|
57
|
+
/** Description of what this node type is for */
|
|
58
|
+
description?: string;
|
|
59
|
+
/** Icon to show in the node type selector (iconify format) */
|
|
60
|
+
icon?: string;
|
|
61
|
+
/** Category for grouping in UI */
|
|
62
|
+
category?: NodeComponentCategory;
|
|
63
|
+
/** Source of the registration (e.g., "flowdrop", "mylib") for debugging/filtering */
|
|
64
|
+
source?: string;
|
|
65
|
+
/** Default status overlay position for this node type */
|
|
66
|
+
statusPosition?: StatusPosition;
|
|
67
|
+
/** Default status overlay size for this node type */
|
|
68
|
+
statusSize?: StatusSize;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Full registration for a node component.
|
|
72
|
+
* Extends NodeTypeInfo with the Svelte component needed for rendering.
|
|
73
|
+
*/
|
|
74
|
+
export interface NodeComponentRegistration extends NodeTypeInfo {
|
|
75
|
+
/** The Svelte component to render for this node type */
|
|
76
|
+
component: Component<NodeComponentProps>;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Options for filtering node registrations
|
|
80
|
+
*/
|
|
81
|
+
export interface NodeRegistrationFilter {
|
|
82
|
+
/** Filter by category */
|
|
83
|
+
category?: NodeComponentCategory;
|
|
84
|
+
/** Filter by source */
|
|
85
|
+
source?: string;
|
|
86
|
+
/** Custom filter function */
|
|
87
|
+
predicate?: (registration: NodeComponentRegistration) => boolean;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Central registry for node component types.
|
|
91
|
+
* Allows built-in and third-party components to be registered and resolved.
|
|
92
|
+
*
|
|
93
|
+
* Extends BaseRegistry for shared mechanics (subscribe, onClear, etc.).
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* // Register a custom node
|
|
98
|
+
* nodeComponentRegistry.register({
|
|
99
|
+
* type: "myCustomNode",
|
|
100
|
+
* displayName: "My Custom Node",
|
|
101
|
+
* component: MyCustomNodeComponent,
|
|
102
|
+
* icon: "mdi:star",
|
|
103
|
+
* category: "custom"
|
|
104
|
+
* });
|
|
105
|
+
*
|
|
106
|
+
* // Get a component
|
|
107
|
+
* const component = nodeComponentRegistry.getComponent("myCustomNode");
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
declare class NodeComponentRegistry extends BaseRegistry<string, NodeComponentRegistration> {
|
|
111
|
+
/** Default type to use when requested type is not found */
|
|
112
|
+
private defaultType;
|
|
113
|
+
/** Initial default type, restored on clear() */
|
|
114
|
+
private static readonly INITIAL_DEFAULT_TYPE;
|
|
115
|
+
/**
|
|
116
|
+
* Register a node component type.
|
|
117
|
+
*
|
|
118
|
+
* @param registration - The component registration details
|
|
119
|
+
* @param overwrite - If true, allows overwriting existing registrations
|
|
120
|
+
* @throws Error if type already registered and overwrite is false
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```typescript
|
|
124
|
+
* nodeComponentRegistry.register({
|
|
125
|
+
* type: "fancy",
|
|
126
|
+
* displayName: "Fancy Node",
|
|
127
|
+
* component: FancyNode,
|
|
128
|
+
* icon: "mdi:sparkles"
|
|
129
|
+
* });
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
/**
|
|
133
|
+
* Clear all registrations and reset default type.
|
|
134
|
+
*/
|
|
135
|
+
clear(): void;
|
|
136
|
+
register(registration: NodeComponentRegistration, overwrite?: boolean): void;
|
|
137
|
+
/**
|
|
138
|
+
* Register multiple components at once.
|
|
139
|
+
* Useful for libraries registering multiple node types.
|
|
140
|
+
*
|
|
141
|
+
* @param registrations - Array of registrations to add
|
|
142
|
+
* @param overwrite - If true, allows overwriting existing registrations
|
|
143
|
+
*/
|
|
144
|
+
registerAll(registrations: NodeComponentRegistration[], overwrite?: boolean): void;
|
|
145
|
+
/**
|
|
146
|
+
* Get the component for a type, with fallback to default.
|
|
147
|
+
*
|
|
148
|
+
* @param type - The type identifier to look up
|
|
149
|
+
* @returns The component if found, or the default component
|
|
150
|
+
*/
|
|
151
|
+
getComponent(type: string): Component<NodeComponentProps> | undefined;
|
|
152
|
+
/**
|
|
153
|
+
* Get framework-agnostic metadata for a type, without the Svelte component.
|
|
154
|
+
*
|
|
155
|
+
* @param type - The type identifier to look up
|
|
156
|
+
* @returns The metadata if found, undefined otherwise
|
|
157
|
+
*/
|
|
158
|
+
getMetadata(type: string): NodeTypeInfo | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* Get all registered type identifiers.
|
|
161
|
+
*
|
|
162
|
+
* @returns Array of registered type strings
|
|
163
|
+
*/
|
|
164
|
+
getTypes(): string[];
|
|
165
|
+
/**
|
|
166
|
+
* Get registrations filtered by criteria.
|
|
167
|
+
*
|
|
168
|
+
* @param filter - Filter options
|
|
169
|
+
* @returns Filtered array of registrations
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```typescript
|
|
173
|
+
* // Get all visual nodes
|
|
174
|
+
* const visualNodes = nodeComponentRegistry.filter({ category: "visual" });
|
|
175
|
+
*
|
|
176
|
+
* // Get nodes from a specific library
|
|
177
|
+
* const libNodes = nodeComponentRegistry.filter({ source: "mylib" });
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
filter(filter: NodeRegistrationFilter): NodeComponentRegistration[];
|
|
181
|
+
/**
|
|
182
|
+
* Get registrations filtered by category.
|
|
183
|
+
*
|
|
184
|
+
* @param category - The category to filter by
|
|
185
|
+
* @returns Array of registrations in that category
|
|
186
|
+
*/
|
|
187
|
+
getByCategory(category: NodeComponentCategory): NodeComponentRegistration[];
|
|
188
|
+
/**
|
|
189
|
+
* Get registrations filtered by source.
|
|
190
|
+
*
|
|
191
|
+
* @param source - The source identifier to filter by (e.g., "flowdrop", "mylib")
|
|
192
|
+
* @returns Array of registrations from that source
|
|
193
|
+
*/
|
|
194
|
+
getBySource(source: string): NodeComponentRegistration[];
|
|
195
|
+
/**
|
|
196
|
+
* Set the default fallback type.
|
|
197
|
+
*
|
|
198
|
+
* @param type - The type to use as default when requested type is not found
|
|
199
|
+
* @throws Error if the type is not registered
|
|
200
|
+
*/
|
|
201
|
+
setDefaultType(type: string): void;
|
|
202
|
+
/**
|
|
203
|
+
* Get the current default type.
|
|
204
|
+
*
|
|
205
|
+
* @returns The default type identifier
|
|
206
|
+
*/
|
|
207
|
+
getDefaultType(): string;
|
|
208
|
+
/**
|
|
209
|
+
* Get oneOf options for config forms.
|
|
210
|
+
* Returns array suitable for JSON Schema oneOf with const/title.
|
|
211
|
+
*
|
|
212
|
+
* @param filterFn - Optional filter function to limit which types are included
|
|
213
|
+
* @returns Array of oneOf items with const (type value) and title (display name)
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```typescript
|
|
217
|
+
* const oneOf = nodeComponentRegistry.getOneOfOptions();
|
|
218
|
+
* // Use in configSchema: { type: "string", oneOf }
|
|
219
|
+
* ```
|
|
220
|
+
*/
|
|
221
|
+
getOneOfOptions(filterFn?: (reg: NodeComponentRegistration) => boolean): Array<{
|
|
222
|
+
const: string;
|
|
223
|
+
title: string;
|
|
224
|
+
}>;
|
|
225
|
+
/**
|
|
226
|
+
* Get the status position for a node type.
|
|
227
|
+
*
|
|
228
|
+
* @param type - The node type
|
|
229
|
+
* @returns The status position, or default "top-right"
|
|
230
|
+
*/
|
|
231
|
+
getStatusPosition(type: string): StatusPosition;
|
|
232
|
+
/**
|
|
233
|
+
* Get the status size for a node type.
|
|
234
|
+
*
|
|
235
|
+
* @param type - The node type
|
|
236
|
+
* @returns The status size, or default "md"
|
|
237
|
+
*/
|
|
238
|
+
getStatusSize(type: string): StatusSize;
|
|
239
|
+
}
|
|
240
|
+
/** Singleton instance of the node component registry */
|
|
241
|
+
export declare const nodeComponentRegistry: NodeComponentRegistry;
|
|
242
|
+
/**
|
|
243
|
+
* Helper function to create a namespaced type identifier.
|
|
244
|
+
* Use this to avoid conflicts when registering custom nodes.
|
|
245
|
+
*
|
|
246
|
+
* @param namespace - Your library/project namespace
|
|
247
|
+
* @param type - The node type name
|
|
248
|
+
* @returns Namespaced type string (e.g., "mylib:custom")
|
|
249
|
+
*
|
|
250
|
+
* @example
|
|
251
|
+
* ```typescript
|
|
252
|
+
* const type = createNamespacedType("mylib", "fancy");
|
|
253
|
+
* // Returns "mylib:fancy"
|
|
254
|
+
* ```
|
|
255
|
+
*/
|
|
256
|
+
export declare function createNamespacedType(namespace: string, type: string): string;
|
|
257
|
+
/**
|
|
258
|
+
* Parse a namespaced type into its components.
|
|
259
|
+
*
|
|
260
|
+
* @param namespacedType - The full namespaced type (e.g., "mylib:custom")
|
|
261
|
+
* @returns Object with namespace and type, or null if not namespaced
|
|
262
|
+
*
|
|
263
|
+
* @example
|
|
264
|
+
* ```typescript
|
|
265
|
+
* parseNamespacedType("mylib:fancy");
|
|
266
|
+
* // Returns { namespace: "mylib", type: "fancy" }
|
|
267
|
+
*
|
|
268
|
+
* parseNamespacedType("simple");
|
|
269
|
+
* // Returns null (not namespaced)
|
|
270
|
+
* ```
|
|
271
|
+
*/
|
|
272
|
+
export declare function parseNamespacedType(namespacedType: string): {
|
|
273
|
+
namespace: string;
|
|
274
|
+
type: string;
|
|
275
|
+
} | null;
|
|
276
|
+
export {};
|