@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,262 @@
|
|
|
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 { BaseRegistry } from './BaseRegistry.js';
|
|
12
|
+
/**
|
|
13
|
+
* Central registry for node component types.
|
|
14
|
+
* Allows built-in and third-party components to be registered and resolved.
|
|
15
|
+
*
|
|
16
|
+
* Extends BaseRegistry for shared mechanics (subscribe, onClear, etc.).
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Register a custom node
|
|
21
|
+
* nodeComponentRegistry.register({
|
|
22
|
+
* type: "myCustomNode",
|
|
23
|
+
* displayName: "My Custom Node",
|
|
24
|
+
* component: MyCustomNodeComponent,
|
|
25
|
+
* icon: "mdi:star",
|
|
26
|
+
* category: "custom"
|
|
27
|
+
* });
|
|
28
|
+
*
|
|
29
|
+
* // Get a component
|
|
30
|
+
* const component = nodeComponentRegistry.getComponent("myCustomNode");
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
class NodeComponentRegistry extends BaseRegistry {
|
|
34
|
+
/** Default type to use when requested type is not found */
|
|
35
|
+
defaultType = 'workflowNode';
|
|
36
|
+
/** Initial default type, restored on clear() */
|
|
37
|
+
static INITIAL_DEFAULT_TYPE = 'workflowNode';
|
|
38
|
+
/**
|
|
39
|
+
* Register a node component type.
|
|
40
|
+
*
|
|
41
|
+
* @param registration - The component registration details
|
|
42
|
+
* @param overwrite - If true, allows overwriting existing registrations
|
|
43
|
+
* @throws Error if type already registered and overwrite is false
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* nodeComponentRegistry.register({
|
|
48
|
+
* type: "fancy",
|
|
49
|
+
* displayName: "Fancy Node",
|
|
50
|
+
* component: FancyNode,
|
|
51
|
+
* icon: "mdi:sparkles"
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* Clear all registrations and reset default type.
|
|
57
|
+
*/
|
|
58
|
+
clear() {
|
|
59
|
+
super.clear();
|
|
60
|
+
this.defaultType = NodeComponentRegistry.INITIAL_DEFAULT_TYPE;
|
|
61
|
+
}
|
|
62
|
+
register(registration, overwrite = false) {
|
|
63
|
+
if (this.items.has(registration.type) && !overwrite) {
|
|
64
|
+
throw new Error(`Node type "${registration.type}" is already registered. ` +
|
|
65
|
+
`Use overwrite: true to replace it, or use a namespaced type like "mylib:${registration.type}".`);
|
|
66
|
+
}
|
|
67
|
+
this.items.set(registration.type, registration);
|
|
68
|
+
this.notifyListeners();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Register multiple components at once.
|
|
72
|
+
* Useful for libraries registering multiple node types.
|
|
73
|
+
*
|
|
74
|
+
* @param registrations - Array of registrations to add
|
|
75
|
+
* @param overwrite - If true, allows overwriting existing registrations
|
|
76
|
+
*/
|
|
77
|
+
registerAll(registrations, overwrite = false) {
|
|
78
|
+
for (const registration of registrations) {
|
|
79
|
+
this.register(registration, overwrite);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get the component for a type, with fallback to default.
|
|
84
|
+
*
|
|
85
|
+
* @param type - The type identifier to look up
|
|
86
|
+
* @returns The component if found, or the default component
|
|
87
|
+
*/
|
|
88
|
+
getComponent(type) {
|
|
89
|
+
const registration = this.items.get(type) ?? this.items.get(this.defaultType);
|
|
90
|
+
return registration?.component;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get framework-agnostic metadata for a type, without the Svelte component.
|
|
94
|
+
*
|
|
95
|
+
* @param type - The type identifier to look up
|
|
96
|
+
* @returns The metadata if found, undefined otherwise
|
|
97
|
+
*/
|
|
98
|
+
getMetadata(type) {
|
|
99
|
+
const reg = this.items.get(type);
|
|
100
|
+
if (!reg)
|
|
101
|
+
return undefined;
|
|
102
|
+
const { component: _, ...metadata } = reg;
|
|
103
|
+
return metadata;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get all registered type identifiers.
|
|
107
|
+
*
|
|
108
|
+
* @returns Array of registered type strings
|
|
109
|
+
*/
|
|
110
|
+
getTypes() {
|
|
111
|
+
return this.getKeys();
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get registrations filtered by criteria.
|
|
115
|
+
*
|
|
116
|
+
* @param filter - Filter options
|
|
117
|
+
* @returns Filtered array of registrations
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* // Get all visual nodes
|
|
122
|
+
* const visualNodes = nodeComponentRegistry.filter({ category: "visual" });
|
|
123
|
+
*
|
|
124
|
+
* // Get nodes from a specific library
|
|
125
|
+
* const libNodes = nodeComponentRegistry.filter({ source: "mylib" });
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
filter(filter) {
|
|
129
|
+
return this.getAll().filter((reg) => {
|
|
130
|
+
if (filter.category && reg.category !== filter.category) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
if (filter.source && reg.source !== filter.source) {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
if (filter.predicate && !filter.predicate(reg)) {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
return true;
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Get registrations filtered by category.
|
|
144
|
+
*
|
|
145
|
+
* @param category - The category to filter by
|
|
146
|
+
* @returns Array of registrations in that category
|
|
147
|
+
*/
|
|
148
|
+
getByCategory(category) {
|
|
149
|
+
return this.filter({ category });
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Get registrations filtered by source.
|
|
153
|
+
*
|
|
154
|
+
* @param source - The source identifier to filter by (e.g., "flowdrop", "mylib")
|
|
155
|
+
* @returns Array of registrations from that source
|
|
156
|
+
*/
|
|
157
|
+
getBySource(source) {
|
|
158
|
+
return this.filter({ source });
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Set the default fallback type.
|
|
162
|
+
*
|
|
163
|
+
* @param type - The type to use as default when requested type is not found
|
|
164
|
+
* @throws Error if the type is not registered
|
|
165
|
+
*/
|
|
166
|
+
setDefaultType(type) {
|
|
167
|
+
if (!this.items.has(type)) {
|
|
168
|
+
throw new Error(`Cannot set default to unregistered type: ${type}`);
|
|
169
|
+
}
|
|
170
|
+
this.defaultType = type;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get the current default type.
|
|
174
|
+
*
|
|
175
|
+
* @returns The default type identifier
|
|
176
|
+
*/
|
|
177
|
+
getDefaultType() {
|
|
178
|
+
return this.defaultType;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Get oneOf options for config forms.
|
|
182
|
+
* Returns array suitable for JSON Schema oneOf with const/title.
|
|
183
|
+
*
|
|
184
|
+
* @param filterFn - Optional filter function to limit which types are included
|
|
185
|
+
* @returns Array of oneOf items with const (type value) and title (display name)
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```typescript
|
|
189
|
+
* const oneOf = nodeComponentRegistry.getOneOfOptions();
|
|
190
|
+
* // Use in configSchema: { type: "string", oneOf }
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
getOneOfOptions(filterFn) {
|
|
194
|
+
const registrations = filterFn ? this.getAll().filter(filterFn) : this.getAll();
|
|
195
|
+
return registrations.map((r) => ({
|
|
196
|
+
const: r.type,
|
|
197
|
+
title: r.displayName
|
|
198
|
+
}));
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Get the status position for a node type.
|
|
202
|
+
*
|
|
203
|
+
* @param type - The node type
|
|
204
|
+
* @returns The status position, or default "top-right"
|
|
205
|
+
*/
|
|
206
|
+
getStatusPosition(type) {
|
|
207
|
+
return this.items.get(type)?.statusPosition ?? 'top-right';
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Get the status size for a node type.
|
|
211
|
+
*
|
|
212
|
+
* @param type - The node type
|
|
213
|
+
* @returns The status size, or default "md"
|
|
214
|
+
*/
|
|
215
|
+
getStatusSize(type) {
|
|
216
|
+
return this.items.get(type)?.statusSize ?? 'md';
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/** Singleton instance of the node component registry */
|
|
220
|
+
export const nodeComponentRegistry = new NodeComponentRegistry();
|
|
221
|
+
/**
|
|
222
|
+
* Helper function to create a namespaced type identifier.
|
|
223
|
+
* Use this to avoid conflicts when registering custom nodes.
|
|
224
|
+
*
|
|
225
|
+
* @param namespace - Your library/project namespace
|
|
226
|
+
* @param type - The node type name
|
|
227
|
+
* @returns Namespaced type string (e.g., "mylib:custom")
|
|
228
|
+
*
|
|
229
|
+
* @example
|
|
230
|
+
* ```typescript
|
|
231
|
+
* const type = createNamespacedType("mylib", "fancy");
|
|
232
|
+
* // Returns "mylib:fancy"
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
export function createNamespacedType(namespace, type) {
|
|
236
|
+
return `${namespace}:${type}`;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Parse a namespaced type into its components.
|
|
240
|
+
*
|
|
241
|
+
* @param namespacedType - The full namespaced type (e.g., "mylib:custom")
|
|
242
|
+
* @returns Object with namespace and type, or null if not namespaced
|
|
243
|
+
*
|
|
244
|
+
* @example
|
|
245
|
+
* ```typescript
|
|
246
|
+
* parseNamespacedType("mylib:fancy");
|
|
247
|
+
* // Returns { namespace: "mylib", type: "fancy" }
|
|
248
|
+
*
|
|
249
|
+
* parseNamespacedType("simple");
|
|
250
|
+
* // Returns null (not namespaced)
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
export function parseNamespacedType(namespacedType) {
|
|
254
|
+
const colonIndex = namespacedType.indexOf(':');
|
|
255
|
+
if (colonIndex === -1) {
|
|
256
|
+
return null;
|
|
257
|
+
}
|
|
258
|
+
return {
|
|
259
|
+
namespace: namespacedType.slice(0, colonIndex),
|
|
260
|
+
type: namespacedType.slice(colonIndex + 1)
|
|
261
|
+
};
|
|
262
|
+
}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FlowDrop Plugin System
|
|
3
|
+
* Provides APIs for external libraries to register custom node components.
|
|
4
|
+
*
|
|
5
|
+
* This enables a plugin ecosystem where:
|
|
6
|
+
* - Third-party libraries can provide custom node types
|
|
7
|
+
* - Custom nodes are namespaced to avoid conflicts
|
|
8
|
+
* - Registration is simplified with a clean API
|
|
9
|
+
*/
|
|
10
|
+
import { type NodeComponentProps, type NodeComponentCategory, type StatusPosition, type StatusSize } from './nodeComponentRegistry.js';
|
|
11
|
+
import type { Component } from 'svelte';
|
|
12
|
+
/**
|
|
13
|
+
* Plugin configuration for external libraries.
|
|
14
|
+
* Use this to register multiple node types from a library.
|
|
15
|
+
*/
|
|
16
|
+
export interface FlowDropPluginConfig {
|
|
17
|
+
/**
|
|
18
|
+
* Unique namespace for this plugin.
|
|
19
|
+
* Used to prefix all node types (e.g., "mylib" -> "mylib:nodename").
|
|
20
|
+
* Should be lowercase, alphanumeric with optional hyphens.
|
|
21
|
+
*/
|
|
22
|
+
namespace: string;
|
|
23
|
+
/** Display name for the plugin (for UI/debugging purposes) */
|
|
24
|
+
name: string;
|
|
25
|
+
/** Plugin version (optional, for debugging) */
|
|
26
|
+
version?: string;
|
|
27
|
+
/** Description of what this plugin provides */
|
|
28
|
+
description?: string;
|
|
29
|
+
/** Node components to register */
|
|
30
|
+
nodes: PluginNodeDefinition[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Simplified node definition for plugins.
|
|
34
|
+
* Provides a cleaner API than full NodeComponentRegistration.
|
|
35
|
+
*/
|
|
36
|
+
export interface PluginNodeDefinition {
|
|
37
|
+
/**
|
|
38
|
+
* Type identifier for this node.
|
|
39
|
+
* Will be prefixed with the plugin namespace (e.g., "fancy" -> "mylib:fancy").
|
|
40
|
+
*/
|
|
41
|
+
type: string;
|
|
42
|
+
/** Display name shown in UI */
|
|
43
|
+
displayName: string;
|
|
44
|
+
/** Description of what this node does */
|
|
45
|
+
description?: string;
|
|
46
|
+
/** The Svelte component to render */
|
|
47
|
+
component: Component<NodeComponentProps>;
|
|
48
|
+
/** Icon in iconify format (e.g., "mdi:star") */
|
|
49
|
+
icon?: string;
|
|
50
|
+
/** Category for organizing in UI */
|
|
51
|
+
category?: NodeComponentCategory;
|
|
52
|
+
/** Status overlay position */
|
|
53
|
+
statusPosition?: StatusPosition;
|
|
54
|
+
/** Status overlay size */
|
|
55
|
+
statusSize?: StatusSize;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Result of plugin registration.
|
|
59
|
+
* Contains information about what was registered and any errors.
|
|
60
|
+
*/
|
|
61
|
+
export interface PluginRegistrationResult {
|
|
62
|
+
/** Whether all nodes were registered successfully */
|
|
63
|
+
success: boolean;
|
|
64
|
+
/** The plugin namespace */
|
|
65
|
+
namespace: string;
|
|
66
|
+
/** Array of successfully registered type identifiers (namespaced) */
|
|
67
|
+
registeredTypes: string[];
|
|
68
|
+
/** Array of error messages for failed registrations */
|
|
69
|
+
errors: string[];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Register a FlowDrop plugin with custom node components.
|
|
73
|
+
* All node types are automatically namespaced with the plugin namespace.
|
|
74
|
+
*
|
|
75
|
+
* @param config - Plugin configuration with namespace and node definitions
|
|
76
|
+
* @returns Result object with registered types and any errors
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* import { registerFlowDropPlugin } from "@flowdrop/lib";
|
|
81
|
+
* import FancyNode from "./FancyNode.svelte";
|
|
82
|
+
* import GlowNode from "./GlowNode.svelte";
|
|
83
|
+
*
|
|
84
|
+
* const result = registerFlowDropPlugin({
|
|
85
|
+
* namespace: "awesome",
|
|
86
|
+
* name: "Awesome Nodes",
|
|
87
|
+
* version: "1.0.0",
|
|
88
|
+
* nodes: [
|
|
89
|
+
* {
|
|
90
|
+
* type: "fancy",
|
|
91
|
+
* displayName: "Fancy Node",
|
|
92
|
+
* component: FancyNode,
|
|
93
|
+
* icon: "mdi:sparkles"
|
|
94
|
+
* },
|
|
95
|
+
* {
|
|
96
|
+
* type: "glow",
|
|
97
|
+
* displayName: "Glowing Node",
|
|
98
|
+
* component: GlowNode,
|
|
99
|
+
* icon: "mdi:lightbulb"
|
|
100
|
+
* }
|
|
101
|
+
* ]
|
|
102
|
+
* });
|
|
103
|
+
*
|
|
104
|
+
* // Result:
|
|
105
|
+
* // {
|
|
106
|
+
* // success: true,
|
|
107
|
+
* // namespace: "awesome",
|
|
108
|
+
* // registeredTypes: ["awesome:fancy", "awesome:glow"],
|
|
109
|
+
* // errors: []
|
|
110
|
+
* // }
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export declare function registerFlowDropPlugin(config: FlowDropPluginConfig): PluginRegistrationResult;
|
|
114
|
+
/**
|
|
115
|
+
* Unregister all nodes from a plugin by namespace.
|
|
116
|
+
*
|
|
117
|
+
* @param namespace - The plugin namespace to unregister
|
|
118
|
+
* @returns Array of unregistered type identifiers
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* const removed = unregisterFlowDropPlugin("awesome");
|
|
123
|
+
* // Returns ["awesome:fancy", "awesome:glow"]
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
export declare function unregisterFlowDropPlugin(namespace: string): string[];
|
|
127
|
+
/**
|
|
128
|
+
* Check if a namespace is valid.
|
|
129
|
+
* Must be lowercase alphanumeric with optional hyphens.
|
|
130
|
+
*
|
|
131
|
+
* @param namespace - The namespace to validate
|
|
132
|
+
* @returns true if valid
|
|
133
|
+
*/
|
|
134
|
+
export declare function isValidNamespace(namespace: string): boolean;
|
|
135
|
+
/**
|
|
136
|
+
* Get all registered plugins (unique namespaces).
|
|
137
|
+
*
|
|
138
|
+
* @returns Array of namespace strings
|
|
139
|
+
*/
|
|
140
|
+
export declare function getRegisteredPlugins(): string[];
|
|
141
|
+
/**
|
|
142
|
+
* Get the count of nodes registered by a plugin.
|
|
143
|
+
*
|
|
144
|
+
* @param namespace - The plugin namespace
|
|
145
|
+
* @returns Number of nodes registered by this plugin
|
|
146
|
+
*/
|
|
147
|
+
export declare function getPluginNodeCount(namespace: string): number;
|
|
148
|
+
/**
|
|
149
|
+
* Register a single custom node without a full plugin.
|
|
150
|
+
* Useful for project-specific custom nodes.
|
|
151
|
+
*
|
|
152
|
+
* @param type - Type identifier (can be namespaced or plain)
|
|
153
|
+
* @param displayName - Display name for UI
|
|
154
|
+
* @param component - Svelte component
|
|
155
|
+
* @param options - Additional options
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* import { registerCustomNode } from "@flowdrop/lib";
|
|
160
|
+
* import MyNode from "./MyNode.svelte";
|
|
161
|
+
*
|
|
162
|
+
* registerCustomNode("myproject:special", "Special Node", MyNode, {
|
|
163
|
+
* icon: "mdi:star",
|
|
164
|
+
* description: "A special node for my project"
|
|
165
|
+
* });
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
export declare function registerCustomNode(type: string, displayName: string, component: Component<NodeComponentProps>, options?: {
|
|
169
|
+
description?: string;
|
|
170
|
+
icon?: string;
|
|
171
|
+
category?: NodeComponentCategory;
|
|
172
|
+
source?: string;
|
|
173
|
+
statusPosition?: StatusPosition;
|
|
174
|
+
statusSize?: StatusSize;
|
|
175
|
+
}): void;
|
|
176
|
+
/**
|
|
177
|
+
* Create a plugin builder for a fluent API experience.
|
|
178
|
+
*
|
|
179
|
+
* @param namespace - Plugin namespace
|
|
180
|
+
* @param name - Plugin name
|
|
181
|
+
* @returns Plugin builder with chainable methods
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```typescript
|
|
185
|
+
* import { createPlugin } from "@flowdrop/lib";
|
|
186
|
+
*
|
|
187
|
+
* createPlugin("awesome", "Awesome Nodes")
|
|
188
|
+
* .version("1.0.0")
|
|
189
|
+
* .node("fancy", "Fancy Node", FancyNode)
|
|
190
|
+
* .node("glow", "Glowing Node", GlowNode, { icon: "mdi:lightbulb" })
|
|
191
|
+
* .register();
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
export declare function createPlugin(namespace: string, name: string): {
|
|
195
|
+
/**
|
|
196
|
+
* Set plugin version
|
|
197
|
+
*/
|
|
198
|
+
version(v: string): /*elided*/ any;
|
|
199
|
+
/**
|
|
200
|
+
* Set plugin description
|
|
201
|
+
*/
|
|
202
|
+
description(desc: string): /*elided*/ any;
|
|
203
|
+
/**
|
|
204
|
+
* Add a node to the plugin
|
|
205
|
+
*/
|
|
206
|
+
node(type: string, displayName: string, component: Component<NodeComponentProps>, options?: Partial<Omit<PluginNodeDefinition, "type" | "displayName" | "component">>): /*elided*/ any;
|
|
207
|
+
/**
|
|
208
|
+
* Register the plugin
|
|
209
|
+
*/
|
|
210
|
+
register(): PluginRegistrationResult;
|
|
211
|
+
/**
|
|
212
|
+
* Get the config without registering (for testing/inspection)
|
|
213
|
+
*/
|
|
214
|
+
getConfig(): FlowDropPluginConfig;
|
|
215
|
+
};
|