@d34dman/flowdrop 0.0.27 → 0.0.29

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/dist/index.d.ts CHANGED
@@ -1,67 +1,34 @@
1
1
  /**
2
2
  * FlowDrop - Visual Workflow Editor Library
3
- * A Svelte 5 component library built on @xyflow/svelte for creating node-based workflow editors
3
+ *
4
+ * A Svelte 5 component library built on @xyflow/svelte for creating node-based workflow editors.
5
+ *
6
+ * ## Module Structure (Tree-Shakable)
7
+ *
8
+ * For optimal bundle size, import from specific sub-modules:
9
+ *
10
+ * - `@d34dman/flowdrop/core` - Types and utilities only (no heavy deps)
11
+ * - `@d34dman/flowdrop/editor` - WorkflowEditor with @xyflow/svelte
12
+ * - `@d34dman/flowdrop/form` - SchemaForm with basic fields
13
+ * - `@d34dman/flowdrop/form/code` - Code editor support (adds CodeMirror)
14
+ * - `@d34dman/flowdrop/form/markdown` - Markdown editor support (adds EasyMDE)
15
+ * - `@d34dman/flowdrop/display` - MarkdownDisplay (adds marked)
16
+ * - `@d34dman/flowdrop/styles` - CSS styles
17
+ *
18
+ * ## Legacy Import (Full Bundle)
19
+ *
20
+ * Importing from the main entry point includes everything:
21
+ *
22
+ * ```typescript
23
+ * import { WorkflowEditor, SchemaForm } from "@d34dman/flowdrop";
24
+ * ```
25
+ *
26
+ * **Note**: This will bundle ALL dependencies including @xyflow/svelte,
27
+ * CodeMirror, EasyMDE, and marked. For smaller bundles, use sub-modules.
28
+ *
29
+ * @module flowdrop
4
30
  */
5
- import './styles/base.css';
6
- import './registry/builtinNodes.js';
7
- export type { NodeCategory, NodeDataType, NodePort, DynamicPort, Branch, NodeMetadata, NodeExtensions, NodeUIExtensions, ConfigValues, WorkflowNode, WorkflowEdge, Workflow, ApiResponse, NodesResponse, WorkflowResponse, WorkflowsResponse, ExecutionStatus, ExecutionResult, FlowDropConfig, WorkflowEvents, BuiltinNodeType, HttpMethod, DynamicSchemaEndpoint, ExternalEditLink, ConfigEditOptions } from './types/index.js';
8
- export type { WorkflowEditorConfig, EditorFeatures, UIConfig, APIConfig, ExecutionConfig, StorageConfig } from './types/config.js';
9
- export type { AuthProvider, StaticAuthConfig, CallbackAuthConfig } from './types/auth.js';
10
- export { StaticAuthProvider, CallbackAuthProvider, NoAuthProvider } from './types/auth.js';
11
- export type { WorkflowChangeType, FlowDropEventHandlers, FlowDropFeatures } from './types/events.js';
12
- export { DEFAULT_FEATURES, mergeFeatures } from './types/events.js';
13
- export { FlowDropApiClient } from './api/client.js';
14
- export { EnhancedFlowDropApiClient } from './api/enhanced-client.js';
15
- export { default as WorkflowEditor } from './components/WorkflowEditor.svelte';
16
- export { default as NodeSidebar } from './components/NodeSidebar.svelte';
17
- export { default as WorkflowNodeComponent } from './components/nodes/WorkflowNode.svelte';
18
- export { default as SimpleNodeComponent } from './components/nodes/SimpleNode.svelte';
19
- export { default as ToolNodeComponent } from './components/nodes/ToolNode.svelte';
20
- export { default as NotesNodeComponent } from './components/nodes/NotesNode.svelte';
21
- export { default as CanvasBanner } from './components/CanvasBanner.svelte';
22
- export { default as UniversalNode } from './components/UniversalNode.svelte';
23
- export { default as GatewayNode } from './components/nodes/GatewayNode.svelte';
24
- export { default as SquareNode } from './components/nodes/SquareNode.svelte';
25
- export { default as LoadingSpinner } from './components/LoadingSpinner.svelte';
26
- export { default as StatusIcon } from './components/StatusIcon.svelte';
27
- export { default as StatusLabel } from './components/StatusLabel.svelte';
28
- export { default as NodeStatusOverlay } from './components/NodeStatusOverlay.svelte';
29
- export { default as MarkdownDisplay } from './components/MarkdownDisplay.svelte';
30
- export { default as ConfigForm } from './components/ConfigForm.svelte';
31
- export { default as ConfigModal } from './components/ConfigModal.svelte';
32
- export { default as ConfigPanel } from './components/ConfigPanel.svelte';
33
- export { default as ReadOnlyDetails } from './components/ReadOnlyDetails.svelte';
34
- export { default as ConnectionLine } from './components/ConnectionLine.svelte';
35
- export { default as LogsSidebar } from './components/LogsSidebar.svelte';
36
- export { default as PipelineStatus } from './components/PipelineStatus.svelte';
37
- export { default as Navbar } from './components/Navbar.svelte';
38
- export { default as Logo } from './components/Logo.svelte';
39
- export * from './utils/icons.js';
40
- export * from './utils/colors.js';
41
- export * from './utils/connections.js';
42
- export * from './utils/config.js';
43
- export * from './utils/nodeTypes.js';
44
- export { getStatusColor, getStatusIcon, getStatusLabel, getStatusBackgroundColor, getStatusTextColor, createDefaultExecutionInfo, updateExecutionStart, updateExecutionComplete, updateExecutionFailed, resetExecutionInfo, formatExecutionDuration, formatLastExecuted } from './utils/nodeStatus.js';
45
- export { createNodeWrapperConfig, shouldShowNodeStatus, getOptimalStatusPosition, getOptimalStatusSize, DEFAULT_NODE_STATUS_CONFIG } from './utils/nodeWrapper.js';
46
- export type { NodeStatusConfig } from './utils/nodeWrapper.js';
47
- export { nodeComponentRegistry, createNamespacedType, parseNamespacedType, BUILTIN_NODE_COMPONENTS, BUILTIN_NODE_TYPES, FLOWDROP_SOURCE, registerBuiltinNodes, areBuiltinsRegistered, isBuiltinType, getBuiltinTypes, resolveBuiltinAlias, registerFlowDropPlugin, unregisterFlowDropPlugin, registerCustomNode, createPlugin, isValidNamespace, getRegisteredPlugins, getPluginNodeCount } from './registry/index.js';
48
- export type { NodeComponentProps, NodeComponentRegistration, NodeComponentCategory, StatusPosition, StatusSize, NodeRegistrationFilter, FlowDropPluginConfig, PluginNodeDefinition, PluginRegistrationResult } from './registry/index.js';
49
- export * from './services/api.js';
50
- export { showSuccess, showError, showWarning, showInfo, showLoading, dismissToast, dismissAllToasts, showPromise, showConfirmation, apiToasts, workflowToasts, pipelineToasts } from './services/toastService.js';
51
- export type { ToastType, ToastOptions } from './services/toastService.js';
52
- export { NodeExecutionService, nodeExecutionService } from './services/nodeExecutionService.js';
53
- export { saveWorkflow, updateWorkflow, getWorkflow, getWorkflows, deleteWorkflow, getWorkflowCount, initializeSampleWorkflows } from './services/workflowStorage.js';
54
- export { globalSaveWorkflow, globalExportWorkflow, initializeGlobalSave } from './services/globalSave.js';
55
- export { fetchPortConfig, validatePortConfig } from './services/portConfigApi.js';
56
- export { fetchDynamicSchema, resolveExternalEditUrl, getEffectiveConfigEditOptions, clearSchemaCache, invalidateSchemaCache, hasConfigEditOptions, shouldShowExternalEdit, shouldUseDynamicSchema } from './services/dynamicSchemaService.js';
57
- export type { DynamicSchemaResult } from './services/dynamicSchemaService.js';
58
- export { getDraftStorageKey, saveDraft, loadDraft, deleteDraft, hasDraft, getDraftMetadata, DraftAutoSaveManager } from './services/draftStorage.js';
59
- export { EdgeStylingHelper, NodeOperationsHelper, WorkflowOperationsHelper, ConfigurationHelper } from './helpers/workflowEditorHelper.js';
60
- export { workflowStore, workflowActions, workflowId, workflowName, workflowNodes, workflowEdges, workflowMetadata, workflowChanged, workflowValidation, workflowMetadataChanged, connectedHandles, isDirtyStore, isDirty, markAsSaved, getWorkflow as getWorkflowFromStore, setOnDirtyStateChange, setOnWorkflowChange } from './stores/workflowStore.js';
61
- export * from './config/endpoints.js';
62
- export { DEFAULT_PORT_CONFIG } from './config/defaultPortConfig.js';
63
- export * from './config/runtimeConfig.js';
64
- export * from './adapters/WorkflowAdapter.js';
65
- export { mountWorkflowEditor, mountFlowDropApp, unmountFlowDropApp } from './svelte-app.js';
66
- export type { FlowDropMountOptions, MountedFlowDropApp, NavbarAction } from './svelte-app.js';
67
- export { ApiError } from './api/enhanced-client.js';
31
+ export * from "./core/index.js";
32
+ export * from "./form/index.js";
33
+ export * from "./display/index.js";
34
+ export * from "./editor/index.js";
package/dist/index.js CHANGED
@@ -1,82 +1,52 @@
1
1
  /**
2
2
  * FlowDrop - Visual Workflow Editor Library
3
- * A Svelte 5 component library built on @xyflow/svelte for creating node-based workflow editors
3
+ *
4
+ * A Svelte 5 component library built on @xyflow/svelte for creating node-based workflow editors.
5
+ *
6
+ * ## Module Structure (Tree-Shakable)
7
+ *
8
+ * For optimal bundle size, import from specific sub-modules:
9
+ *
10
+ * - `@d34dman/flowdrop/core` - Types and utilities only (no heavy deps)
11
+ * - `@d34dman/flowdrop/editor` - WorkflowEditor with @xyflow/svelte
12
+ * - `@d34dman/flowdrop/form` - SchemaForm with basic fields
13
+ * - `@d34dman/flowdrop/form/code` - Code editor support (adds CodeMirror)
14
+ * - `@d34dman/flowdrop/form/markdown` - Markdown editor support (adds EasyMDE)
15
+ * - `@d34dman/flowdrop/display` - MarkdownDisplay (adds marked)
16
+ * - `@d34dman/flowdrop/styles` - CSS styles
17
+ *
18
+ * ## Legacy Import (Full Bundle)
19
+ *
20
+ * Importing from the main entry point includes everything:
21
+ *
22
+ * ```typescript
23
+ * import { WorkflowEditor, SchemaForm } from "@d34dman/flowdrop";
24
+ * ```
25
+ *
26
+ * **Note**: This will bundle ALL dependencies including @xyflow/svelte,
27
+ * CodeMirror, EasyMDE, and marked. For smaller bundles, use sub-modules.
28
+ *
29
+ * @module flowdrop
4
30
  */
5
- // Import CSS to ensure styles are included in the library build
6
- import './styles/base.css';
7
- // Initialize built-in node components in the registry
8
- // This import has a side effect of registering all built-in nodes
9
- import './registry/builtinNodes.js';
10
- export { StaticAuthProvider, CallbackAuthProvider, NoAuthProvider } from './types/auth.js';
11
- export { DEFAULT_FEATURES, mergeFeatures } from './types/events.js';
12
- // Export API clients
13
- export { FlowDropApiClient } from './api/client.js';
14
- export { EnhancedFlowDropApiClient } from './api/enhanced-client.js';
15
- // Export components
16
- export { default as WorkflowEditor } from './components/WorkflowEditor.svelte';
17
- export { default as NodeSidebar } from './components/NodeSidebar.svelte';
18
- export { default as WorkflowNodeComponent } from './components/nodes/WorkflowNode.svelte';
19
- export { default as SimpleNodeComponent } from './components/nodes/SimpleNode.svelte';
20
- export { default as ToolNodeComponent } from './components/nodes/ToolNode.svelte';
21
- export { default as NotesNodeComponent } from './components/nodes/NotesNode.svelte';
22
- export { default as CanvasBanner } from './components/CanvasBanner.svelte';
23
- export { default as UniversalNode } from './components/UniversalNode.svelte';
24
- export { default as GatewayNode } from './components/nodes/GatewayNode.svelte';
25
- export { default as SquareNode } from './components/nodes/SquareNode.svelte';
26
- export { default as LoadingSpinner } from './components/LoadingSpinner.svelte';
27
- export { default as StatusIcon } from './components/StatusIcon.svelte';
28
- export { default as StatusLabel } from './components/StatusLabel.svelte';
29
- export { default as NodeStatusOverlay } from './components/NodeStatusOverlay.svelte';
30
- export { default as MarkdownDisplay } from './components/MarkdownDisplay.svelte';
31
- export { default as ConfigForm } from './components/ConfigForm.svelte';
32
- export { default as ConfigModal } from './components/ConfigModal.svelte';
33
- export { default as ConfigPanel } from './components/ConfigPanel.svelte';
34
- export { default as ReadOnlyDetails } from './components/ReadOnlyDetails.svelte';
35
- export { default as ConnectionLine } from './components/ConnectionLine.svelte';
36
- export { default as LogsSidebar } from './components/LogsSidebar.svelte';
37
- export { default as PipelineStatus } from './components/PipelineStatus.svelte';
38
- export { default as Navbar } from './components/Navbar.svelte';
39
- export { default as Logo } from './components/Logo.svelte';
40
- // Export utilities
41
- export * from './utils/icons.js';
42
- export * from './utils/colors.js';
43
- export * from './utils/connections.js';
44
- export * from './utils/config.js';
45
- export * from './utils/nodeTypes.js';
46
- export { getStatusColor, getStatusIcon, getStatusLabel, getStatusBackgroundColor, getStatusTextColor, createDefaultExecutionInfo, updateExecutionStart, updateExecutionComplete, updateExecutionFailed, resetExecutionInfo, formatExecutionDuration, formatLastExecuted } from './utils/nodeStatus.js';
47
- export { createNodeWrapperConfig, shouldShowNodeStatus, getOptimalStatusPosition, getOptimalStatusSize, DEFAULT_NODE_STATUS_CONFIG } from './utils/nodeWrapper.js';
48
- // Export node component registry
49
- export {
50
- // Core registry
51
- nodeComponentRegistry, createNamespacedType, parseNamespacedType,
52
- // Built-in nodes
53
- BUILTIN_NODE_COMPONENTS, BUILTIN_NODE_TYPES, FLOWDROP_SOURCE, registerBuiltinNodes, areBuiltinsRegistered, isBuiltinType, getBuiltinTypes, resolveBuiltinAlias,
54
- // Plugin system
55
- registerFlowDropPlugin, unregisterFlowDropPlugin, registerCustomNode, createPlugin, isValidNamespace, getRegisteredPlugins, getPluginNodeCount } from './registry/index.js';
56
- // Export services
57
- export * from './services/api.js';
58
- export { showSuccess, showError, showWarning, showInfo, showLoading, dismissToast, dismissAllToasts, showPromise, showConfirmation, apiToasts, workflowToasts, pipelineToasts } from './services/toastService.js';
59
- export { NodeExecutionService, nodeExecutionService } from './services/nodeExecutionService.js';
60
- export { saveWorkflow, updateWorkflow, getWorkflow, getWorkflows, deleteWorkflow, getWorkflowCount, initializeSampleWorkflows } from './services/workflowStorage.js';
61
- export { globalSaveWorkflow, globalExportWorkflow, initializeGlobalSave } from './services/globalSave.js';
62
- export { fetchPortConfig, validatePortConfig } from './services/portConfigApi.js';
63
- // Export dynamic schema service for config edit functionality
64
- export { fetchDynamicSchema, resolveExternalEditUrl, getEffectiveConfigEditOptions, clearSchemaCache, invalidateSchemaCache, hasConfigEditOptions, shouldShowExternalEdit, shouldUseDynamicSchema } from './services/dynamicSchemaService.js';
65
- // Export draft storage service
66
- export { getDraftStorageKey, saveDraft, loadDraft, deleteDraft, hasDraft, getDraftMetadata, DraftAutoSaveManager } from './services/draftStorage.js';
67
- // Export helpers
68
- export { EdgeStylingHelper, NodeOperationsHelper, WorkflowOperationsHelper, ConfigurationHelper } from './helpers/workflowEditorHelper.js';
69
- // Export stores
70
- export { workflowStore, workflowActions, workflowId, workflowName, workflowNodes, workflowEdges, workflowMetadata, workflowChanged, workflowValidation, workflowMetadataChanged, connectedHandles,
71
- // Dirty state tracking
72
- isDirtyStore, isDirty, markAsSaved, getWorkflow as getWorkflowFromStore, setOnDirtyStateChange, setOnWorkflowChange } from './stores/workflowStore.js';
73
- // Export endpoint configuration
74
- export * from './config/endpoints.js';
75
- export { DEFAULT_PORT_CONFIG } from './config/defaultPortConfig.js';
76
- export * from './config/runtimeConfig.js';
77
- // Export adapters
78
- export * from './adapters/WorkflowAdapter.js';
79
- // Export Svelte app wrapper for framework integration
80
- export { mountWorkflowEditor, mountFlowDropApp, unmountFlowDropApp } from './svelte-app.js';
81
- // Export API error class
82
- export { ApiError } from './api/enhanced-client.js';
31
+ // ============================================================================
32
+ // IMPORTANT: This module re-exports from sub-modules for backward compatibility.
33
+ // New code should import directly from sub-modules for better tree-shaking.
34
+ // ============================================================================
35
+ // ============================================================================
36
+ // Core Exports (Types & Utilities - No Heavy Dependencies)
37
+ // ============================================================================
38
+ export * from "./core/index.js";
39
+ // ============================================================================
40
+ // Form Exports
41
+ // ============================================================================
42
+ export * from "./form/index.js";
43
+ // Note: Heavy form fields (code, markdown) are NOT auto-registered.
44
+ // Users must import from form/code or form/markdown and register explicitly.
45
+ // ============================================================================
46
+ // Display Exports
47
+ // ============================================================================
48
+ export * from "./display/index.js";
49
+ // ============================================================================
50
+ // Editor Exports (includes @xyflow/svelte and auto-registers builtin nodes)
51
+ // ============================================================================
52
+ export * from "./editor/index.js";
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@d34dman/flowdrop",
3
3
  "license": "MIT",
4
4
  "private": false,
5
- "version": "0.0.27",
5
+ "version": "0.0.29",
6
6
  "scripts": {
7
7
  "dev": "vite dev",
8
8
  "build": "vite build && npm run prepack",
@@ -71,7 +71,8 @@
71
71
  ],
72
72
  "sideEffects": [
73
73
  "**/*.css",
74
- "./dist/styles/base.css"
74
+ "./dist/styles/base.css",
75
+ "./dist/editor/index.js"
75
76
  ],
76
77
  "svelte": "./dist/index.js",
77
78
  "types": "./dist/index.d.ts",
@@ -82,12 +83,54 @@
82
83
  "svelte": "./dist/index.js",
83
84
  "default": "./dist/index.js"
84
85
  },
85
- "./styles/base.css": "./dist/styles/base.css"
86
+ "./core": {
87
+ "types": "./dist/core/index.d.ts",
88
+ "svelte": "./dist/core/index.js",
89
+ "default": "./dist/core/index.js"
90
+ },
91
+ "./editor": {
92
+ "types": "./dist/editor/index.d.ts",
93
+ "svelte": "./dist/editor/index.js",
94
+ "default": "./dist/editor/index.js"
95
+ },
96
+ "./form": {
97
+ "types": "./dist/form/index.d.ts",
98
+ "svelte": "./dist/form/index.js",
99
+ "default": "./dist/form/index.js"
100
+ },
101
+ "./form/code": {
102
+ "types": "./dist/form/code.d.ts",
103
+ "svelte": "./dist/form/code.js",
104
+ "default": "./dist/form/code.js"
105
+ },
106
+ "./form/markdown": {
107
+ "types": "./dist/form/markdown.d.ts",
108
+ "svelte": "./dist/form/markdown.js",
109
+ "default": "./dist/form/markdown.js"
110
+ },
111
+ "./form/full": {
112
+ "types": "./dist/form/full.d.ts",
113
+ "svelte": "./dist/form/full.js",
114
+ "default": "./dist/form/full.js"
115
+ },
116
+ "./display": {
117
+ "types": "./dist/display/index.d.ts",
118
+ "svelte": "./dist/display/index.js",
119
+ "default": "./dist/display/index.js"
120
+ },
121
+ "./styles": "./dist/styles/base.css",
122
+ "./styles/*": "./dist/styles/*"
86
123
  },
87
124
  "peerDependencies": {
125
+ "@iconify/svelte": "^5.0.0",
88
126
  "@sveltejs/kit": "^2.0.0",
89
127
  "svelte": "^5.0.0"
90
128
  },
129
+ "peerDependenciesMeta": {
130
+ "@iconify/svelte": {
131
+ "optional": false
132
+ }
133
+ },
91
134
  "repository": {
92
135
  "type": "git",
93
136
  "url": "git+https://github.com/d34dman/flowdrop.git"
@@ -161,4 +204,4 @@
161
204
  "static"
162
205
  ]
163
206
  }
164
- }
207
+ }