@flowdrop/flowdrop 1.14.0 → 2.0.0-beta.1

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.
Files changed (218) hide show
  1. package/CHANGELOG.md +475 -0
  2. package/MIGRATION-2.0.md +472 -0
  3. package/README.md +23 -23
  4. package/dist/adapters/WorkflowAdapter.d.ts +1 -1
  5. package/dist/adapters/WorkflowAdapter.js +14 -8
  6. package/dist/adapters/agentspec/AgentSpecAdapter.js +7 -7
  7. package/dist/chat/batchFeedback.d.ts +39 -0
  8. package/dist/chat/batchFeedback.js +51 -0
  9. package/dist/commands/executor.js +15 -1
  10. package/dist/commands/storeIntegration.svelte.d.ts +4 -1
  11. package/dist/commands/storeIntegration.svelte.js +26 -21
  12. package/dist/commands/types.d.ts +2 -0
  13. package/dist/components/App.svelte +162 -192
  14. package/dist/components/App.svelte.d.ts +47 -8
  15. package/dist/components/ConfigForm.svelte +110 -66
  16. package/dist/components/ConfigModal.svelte +7 -2
  17. package/dist/components/ConnectionLine.svelte +4 -2
  18. package/dist/components/Navbar.svelte +61 -1
  19. package/dist/components/NodeSidebar.svelte +27 -45
  20. package/dist/components/NodeStatusOverlay.svelte +94 -6
  21. package/dist/components/NodeSwapPicker.svelte +10 -8
  22. package/dist/components/PipelineStatus.svelte +16 -67
  23. package/dist/components/PortCoordinateTracker.svelte +5 -6
  24. package/dist/components/SchemaForm.stories.svelte +1 -3
  25. package/dist/components/SchemaForm.svelte +45 -40
  26. package/dist/components/SchemaForm.svelte.d.ts +0 -8
  27. package/dist/components/SettingsModal.svelte +8 -3
  28. package/dist/components/SettingsPanel.svelte +20 -4
  29. package/dist/components/SwapMappingEditor.svelte +67 -49
  30. package/dist/components/SwapMappingEditor.svelte.d.ts +0 -2
  31. package/dist/components/UniversalNode.svelte +9 -7
  32. package/dist/components/WorkflowEditor.svelte +118 -111
  33. package/dist/components/WorkflowEditor.svelte.d.ts +18 -10
  34. package/dist/components/chat/AIChatPanel.svelte +93 -89
  35. package/dist/components/chat/AIChatPanel.svelte.d.ts +0 -4
  36. package/dist/components/chat/CommandPreview.svelte +2 -1
  37. package/dist/components/console/CommandConsole.svelte +7 -5
  38. package/dist/components/console/ConsoleAutocomplete.svelte +10 -11
  39. package/dist/components/console/ConsoleAutocomplete.svelte.d.ts +6 -0
  40. package/dist/components/console/ConsoleInput.svelte +15 -6
  41. package/dist/components/console/ConsoleOutput.svelte +2 -1
  42. package/dist/components/form/FormArray.svelte +5 -9
  43. package/dist/components/form/FormArray.svelte.d.ts +2 -1
  44. package/dist/components/form/FormAutocomplete.svelte +29 -13
  45. package/dist/components/form/FormField.svelte +4 -2
  46. package/dist/components/form/FormFieldLight.svelte +4 -2
  47. package/dist/components/form/FormMarkdownEditor.svelte +9 -4
  48. package/dist/components/form/FormRangeField.svelte +1 -0
  49. package/dist/components/form/FormTemplateEditor.svelte +11 -3
  50. package/dist/components/form/FormToggle.svelte +5 -12
  51. package/dist/components/form/FormToggle.svelte.d.ts +4 -2
  52. package/dist/components/form/templateAutocomplete.js +1 -5
  53. package/dist/components/form/types.d.ts +1 -14
  54. package/dist/components/interrupt/FormPrompt.svelte +3 -2
  55. package/dist/components/interrupt/InterruptBubble.svelte +16 -17
  56. package/dist/components/interrupt/ReviewPrompt.svelte +10 -3
  57. package/dist/components/interrupt/TextInputPrompt.svelte +2 -1
  58. package/dist/components/layouts/MainLayout.svelte +20 -13
  59. package/dist/components/layouts/MainLayout.svelte.d.ts +4 -0
  60. package/dist/components/nodes/AtomNode.svelte +292 -0
  61. package/dist/components/nodes/AtomNode.svelte.d.ts +26 -0
  62. package/dist/components/nodes/GatewayNode.svelte +19 -10
  63. package/dist/components/nodes/IdeaNode.svelte +7 -0
  64. package/dist/components/nodes/SimpleNode.svelte +11 -6
  65. package/dist/components/nodes/SquareNode.svelte +15 -8
  66. package/dist/components/nodes/TerminalNode.svelte +9 -4
  67. package/dist/components/nodes/ToolNode.svelte +7 -1
  68. package/dist/components/nodes/WorkflowNode.svelte +16 -7
  69. package/dist/components/playground/ChatInput.svelte +11 -14
  70. package/dist/components/playground/ChatPanel.svelte +6 -49
  71. package/dist/components/playground/ChatPanel.svelte.d.ts +0 -14
  72. package/dist/components/playground/ControlPanel.svelte +134 -123
  73. package/dist/components/playground/ControlPanel.svelte.d.ts +3 -0
  74. package/dist/components/playground/ExecutionLogs.svelte +11 -9
  75. package/dist/components/playground/InputCollector.svelte +11 -9
  76. package/dist/components/playground/MessageStream.svelte +17 -23
  77. package/dist/components/playground/PipelineKanbanView.svelte +65 -6
  78. package/dist/components/playground/PipelinePanel.svelte +11 -5
  79. package/dist/components/playground/PipelineTableView.svelte +186 -44
  80. package/dist/components/playground/Playground.svelte +95 -92
  81. package/dist/components/playground/Playground.svelte.d.ts +2 -0
  82. package/dist/components/playground/PlaygroundApp.svelte +6 -1
  83. package/dist/components/playground/PlaygroundApp.svelte.d.ts +3 -0
  84. package/dist/components/playground/PlaygroundModal.svelte +13 -3
  85. package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -0
  86. package/dist/components/playground/PlaygroundStudio.svelte +34 -32
  87. package/dist/components/playground/PlaygroundStudio.svelte.d.ts +3 -0
  88. package/dist/components/playground/SessionManager.svelte +9 -12
  89. package/dist/components/playground/pipelineViewUtils.svelte.d.ts +28 -0
  90. package/dist/components/playground/pipelineViewUtils.svelte.js +38 -1
  91. package/dist/config/endpoints.d.ts +0 -7
  92. package/dist/config/endpoints.js +2 -10
  93. package/dist/core/index.d.ts +4 -4
  94. package/dist/core/index.js +6 -6
  95. package/dist/display/index.d.ts +0 -2
  96. package/dist/display/index.js +0 -6
  97. package/dist/editor/index.d.ts +19 -20
  98. package/dist/editor/index.js +25 -35
  99. package/dist/form/code.d.ts +25 -15
  100. package/dist/form/code.js +44 -41
  101. package/dist/form/fieldRegistry.d.ts +17 -13
  102. package/dist/form/fieldRegistry.js +32 -12
  103. package/dist/form/full.d.ts +17 -13
  104. package/dist/form/full.js +22 -27
  105. package/dist/form/index.d.ts +3 -3
  106. package/dist/form/index.js +3 -3
  107. package/dist/form/markdown.d.ts +13 -8
  108. package/dist/form/markdown.js +22 -23
  109. package/dist/helpers/proximityConnect.d.ts +7 -3
  110. package/dist/helpers/proximityConnect.js +19 -6
  111. package/dist/helpers/workflowEditorHelper.d.ts +12 -5
  112. package/dist/helpers/workflowEditorHelper.js +27 -25
  113. package/dist/index.d.ts +28 -24
  114. package/dist/index.js +27 -50
  115. package/dist/messages/defaults.d.ts +2 -5
  116. package/dist/messages/defaults.js +3 -6
  117. package/dist/messages/index.d.ts +0 -1
  118. package/dist/messages/index.js +0 -1
  119. package/dist/mocks/app-forms.d.ts +6 -2
  120. package/dist/mocks/app-forms.js +11 -4
  121. package/dist/openapi/v1/openapi.yaml +227 -164
  122. package/dist/playground/index.d.ts +2 -3
  123. package/dist/playground/index.js +2 -30
  124. package/dist/playground/mount.d.ts +15 -0
  125. package/dist/playground/mount.js +46 -20
  126. package/dist/registry/{BaseRegistry.d.ts → BaseRegistry.svelte.d.ts} +22 -1
  127. package/dist/registry/{BaseRegistry.js → BaseRegistry.svelte.js} +37 -1
  128. package/dist/registry/builtinFormats.d.ts +9 -18
  129. package/dist/registry/builtinFormats.js +9 -39
  130. package/dist/registry/builtinNodes.d.ts +1 -26
  131. package/dist/registry/builtinNodes.js +14 -50
  132. package/dist/registry/index.d.ts +3 -4
  133. package/dist/registry/index.js +4 -6
  134. package/dist/registry/nodeComponentRegistry.d.ts +182 -15
  135. package/dist/registry/nodeComponentRegistry.js +235 -17
  136. package/dist/registry/workflowFormatRegistry.d.ts +14 -9
  137. package/dist/registry/workflowFormatRegistry.js +24 -8
  138. package/dist/{schema → schemas}/index.d.ts +2 -2
  139. package/dist/{schema → schemas}/index.js +2 -2
  140. package/dist/schemas/v1/workflow.schema.json +53 -6
  141. package/dist/services/agentSpecExecutionService.js +0 -1
  142. package/dist/services/apiVariableService.d.ts +2 -1
  143. package/dist/services/apiVariableService.js +5 -22
  144. package/dist/services/autoSaveService.d.ts +7 -0
  145. package/dist/services/autoSaveService.js +6 -4
  146. package/dist/services/chatService.d.ts +8 -4
  147. package/dist/services/chatService.js +15 -15
  148. package/dist/services/draftStorage.d.ts +129 -13
  149. package/dist/services/draftStorage.js +185 -37
  150. package/dist/services/dynamicSchemaService.d.ts +2 -1
  151. package/dist/services/dynamicSchemaService.js +5 -22
  152. package/dist/services/globalSave.d.ts +13 -12
  153. package/dist/services/globalSave.js +29 -51
  154. package/dist/services/historyService.d.ts +9 -3
  155. package/dist/services/historyService.js +9 -3
  156. package/dist/services/interruptService.d.ts +14 -9
  157. package/dist/services/interruptService.js +27 -27
  158. package/dist/services/nodeExecutionService.d.ts +18 -3
  159. package/dist/services/nodeExecutionService.js +71 -45
  160. package/dist/services/playgroundService.d.ts +14 -9
  161. package/dist/services/playgroundService.js +31 -30
  162. package/dist/services/variableService.d.ts +2 -1
  163. package/dist/services/variableService.js +2 -2
  164. package/dist/services/workflowStorage.js +6 -6
  165. package/dist/stores/apiContext.d.ts +45 -0
  166. package/dist/stores/apiContext.js +65 -0
  167. package/dist/stores/categoriesStore.svelte.d.ts +28 -23
  168. package/dist/stores/categoriesStore.svelte.js +70 -64
  169. package/dist/stores/getInstance.svelte.d.ts +39 -0
  170. package/dist/stores/getInstance.svelte.js +65 -0
  171. package/dist/stores/historyStore.svelte.d.ts +77 -93
  172. package/dist/stores/historyStore.svelte.js +134 -160
  173. package/dist/stores/instanceContainer.svelte.d.ts +111 -0
  174. package/dist/stores/instanceContainer.svelte.js +114 -0
  175. package/dist/stores/interruptStore.svelte.d.ts +112 -82
  176. package/dist/stores/interruptStore.svelte.js +253 -226
  177. package/dist/stores/pipelinePanelStore.svelte.d.ts +27 -3
  178. package/dist/stores/pipelinePanelStore.svelte.js +61 -14
  179. package/dist/stores/playgroundStore.svelte.d.ts +169 -216
  180. package/dist/stores/playgroundStore.svelte.js +515 -572
  181. package/dist/stores/portCoordinateStore.svelte.d.ts +57 -51
  182. package/dist/stores/portCoordinateStore.svelte.js +109 -98
  183. package/dist/stores/settingsStore.svelte.d.ts +4 -1
  184. package/dist/stores/settingsStore.svelte.js +47 -12
  185. package/dist/stores/workflowStore.svelte.d.ts +178 -213
  186. package/dist/stores/workflowStore.svelte.js +449 -501
  187. package/dist/stories/EdgeDecorator.svelte +5 -2
  188. package/dist/stories/NodeDecorator.svelte +5 -3
  189. package/dist/svelte-app.d.ts +60 -10
  190. package/dist/svelte-app.js +157 -53
  191. package/dist/types/events.d.ts +6 -3
  192. package/dist/types/index.d.ts +71 -6
  193. package/dist/types/navbar.d.ts +7 -0
  194. package/dist/types/playground.d.ts +18 -3
  195. package/dist/types/settings.d.ts +13 -0
  196. package/dist/types/settings.js +1 -0
  197. package/dist/utils/colors.d.ts +47 -21
  198. package/dist/utils/colors.js +69 -68
  199. package/dist/utils/connections.d.ts +9 -15
  200. package/dist/utils/connections.js +13 -32
  201. package/dist/utils/duration.d.ts +13 -0
  202. package/dist/utils/duration.js +45 -0
  203. package/dist/utils/formMerge.d.ts +36 -0
  204. package/dist/utils/formMerge.js +70 -0
  205. package/dist/utils/icons.d.ts +5 -2
  206. package/dist/utils/icons.js +6 -5
  207. package/dist/utils/nodeSwap.d.ts +6 -2
  208. package/dist/utils/nodeSwap.js +62 -126
  209. package/dist/utils/nodeTypes.d.ts +17 -8
  210. package/dist/utils/nodeTypes.js +27 -19
  211. package/dist/utils/performanceUtils.js +7 -0
  212. package/package.json +6 -5
  213. package/dist/messages/deprecation.d.ts +0 -20
  214. package/dist/messages/deprecation.js +0 -33
  215. package/dist/registry/plugin.d.ts +0 -215
  216. package/dist/registry/plugin.js +0 -249
  217. package/dist/services/api.d.ts +0 -129
  218. package/dist/services/api.js +0 -217
package/dist/index.js CHANGED
@@ -1,64 +1,41 @@
1
1
  /**
2
2
  * FlowDrop - Visual Workflow Editor Library
3
3
  *
4
- * A Svelte 5 component library built on @xyflow/svelte for creating node-based workflow editors.
4
+ * A Svelte 5 component library built on @xyflow/svelte for creating node-based
5
+ * workflow editors.
5
6
  *
6
- * ## Module Structure (Tree-Shakable)
7
+ * ## The main entry is a minimal front door
7
8
  *
8
- * For optimal bundle size, import from specific sub-modules:
9
+ * This entry point intentionally exposes only the small surface most apps need
10
+ * to get started: the `App` component, the `mountFlowDropApp` / `unmountFlowDropApp`
11
+ * mount helpers, instance plumbing (`createFlowDropInstance` / `getInstance` /
12
+ * `provideInstance`), endpoint + auth helpers, and the core public types. It does
13
+ * NOT re-export the entire library.
9
14
  *
10
- * - `@flowdrop/flowdrop/core` - Types and utilities only (no heavy deps)
11
- * - `@flowdrop/flowdrop/editor` - WorkflowEditor with @xyflow/svelte
15
+ * Everything else lives in focused sub-modules import from the one you need:
16
+ *
17
+ * - `@flowdrop/flowdrop/core` - Types, utilities, theme/skin, messages helpers (no heavy deps)
18
+ * - `@flowdrop/flowdrop/editor` - WorkflowEditor, registries, stores, services (adds @xyflow/svelte)
12
19
  * - `@flowdrop/flowdrop/form` - SchemaForm with basic fields
13
- * - `@flowdrop/flowdrop/form/code` - Code editor support (adds CodeMirror)
14
- * - `@flowdrop/flowdrop/form/markdown` - Markdown editor support (CodeMirror 6)
20
+ * - `@flowdrop/flowdrop/form/code` - Code editor field (adds CodeMirror)
21
+ * - `@flowdrop/flowdrop/form/markdown` - Markdown editor field (CodeMirror 6)
15
22
  * - `@flowdrop/flowdrop/display` - MarkdownDisplay (adds marked)
16
23
  * - `@flowdrop/flowdrop/playground` - Playground for interactive workflow testing
24
+ * - `@flowdrop/flowdrop/settings` - Settings stores, services, components
17
25
  * - `@flowdrop/flowdrop/styles` - CSS styles
18
26
  *
19
- * ## Legacy Import (Full Bundle)
20
- *
21
- * Importing from the main entry point includes everything:
22
- *
23
- * ```typescript
24
- * import { WorkflowEditor, SchemaForm } from "@flowdrop/flowdrop";
25
- * ```
26
- *
27
- * **Note**: This will bundle ALL dependencies including @xyflow/svelte,
28
- * CodeMirror and marked. For smaller bundles, use sub-modules.
29
- *
30
27
  * @module flowdrop
31
28
  */
32
29
  // ============================================================================
33
- // IMPORTANT: This module re-exports from sub-modules for backward compatibility.
34
- // New code should import directly from sub-modules for better tree-shaking.
35
- //
36
- // The wildcard re-exports below are intentional: each sub-module barrel uses
37
- // explicit named exports, so the public API surface is fully controlled there.
38
- // ============================================================================
39
- // ============================================================================
40
- // Core Exports (Types & Utilities - No Heavy Dependencies)
41
- // ============================================================================
42
- export * from './core/index.js';
43
- // ============================================================================
44
- // Form Exports
45
- // ============================================================================
46
- export * from './form/index.js';
47
- // Note: Heavy form fields (code, markdown) are NOT auto-registered.
48
- // Users must import from form/code or form/markdown and register explicitly.
49
- // ============================================================================
50
- // Display Exports
51
- // ============================================================================
52
- export * from './display/index.js';
53
- // ============================================================================
54
- // Playground Exports
55
- // ============================================================================
56
- export * from './playground/index.js';
57
- // ============================================================================
58
- // Editor Exports (includes @xyflow/svelte and auto-registers builtin nodes)
59
- // ============================================================================
60
- export * from './editor/index.js';
61
- // ============================================================================
62
- // Settings Exports (stores, services, components, types)
63
- // ============================================================================
64
- export * from './settings/index.js';
30
+ // Values
31
+ // ============================================================================
32
+ // App component + vanilla-JS mount lifecycle.
33
+ export { default as App } from './components/App.svelte';
34
+ export { mountFlowDropApp, unmountFlowDropApp } from './svelte-app.js';
35
+ // Instance plumbing — per-instance state container + Svelte context helpers.
36
+ export { createFlowDropInstance } from './stores/instanceContainer.svelte.js';
37
+ export { getInstance, provideInstance } from './stores/getInstance.svelte.js';
38
+ // Endpoint configuration helpers.
39
+ export { createEndpointConfig, defaultEndpointConfig } from './config/endpoints.js';
40
+ // Authentication providers.
41
+ export { NoAuthProvider, StaticAuthProvider, CallbackAuthProvider } from './types/auth.js';
@@ -279,12 +279,8 @@ export declare const defaultMessages: {
279
279
  readonly predefinedRun: "Run workflow";
280
280
  };
281
281
  readonly states: {
282
- readonly viewOnlyTitle: "View only";
283
- readonly viewOnlyText: "This playground is in view-only mode. No inputs are available.";
284
282
  readonly newSessionTitle: "New session";
285
283
  readonly newSessionText: "Test your flow with a prompt";
286
- readonly readyTitle: "Ready to run";
287
- readonly readyText: "Click Run to execute your workflow";
288
284
  readonly processing: "Processing...";
289
285
  readonly viewOnlyHelp: "View-only mode. Workflow execution is controlled externally.";
290
286
  };
@@ -342,7 +338,7 @@ export declare const defaultMessages: {
342
338
  readonly newSession: "New session";
343
339
  };
344
340
  readonly controlPanel: {
345
- readonly sessionsLabel: "Sessions";
341
+ readonly sessionsLabel: "Session";
346
342
  readonly noSession: "No session";
347
343
  readonly switchSession: "Switch session";
348
344
  readonly newSession: "New session";
@@ -420,6 +416,7 @@ export declare const defaultMessages: {
420
416
  readonly lastRunLabel: "Last Run:";
421
417
  readonly durationLabel: "Duration:";
422
418
  readonly errorLabel: "Error:";
419
+ readonly historyLabel: "Runs:";
423
420
  };
424
421
  };
425
422
  };
@@ -258,12 +258,8 @@ export const defaultMessages = {
258
258
  predefinedRun: 'Run workflow'
259
259
  },
260
260
  states: {
261
- viewOnlyTitle: 'View only',
262
- viewOnlyText: 'This playground is in view-only mode. No inputs are available.',
263
261
  newSessionTitle: 'New session',
264
262
  newSessionText: 'Test your flow with a prompt',
265
- readyTitle: 'Ready to run',
266
- readyText: 'Click Run to execute your workflow',
267
263
  processing: 'Processing...',
268
264
  viewOnlyHelp: 'View-only mode. Workflow execution is controlled externally.'
269
265
  },
@@ -316,7 +312,7 @@ export const defaultMessages = {
316
312
  newSession: 'New session'
317
313
  },
318
314
  controlPanel: {
319
- sessionsLabel: 'Sessions',
315
+ sessionsLabel: 'Session',
320
316
  noSession: 'No session',
321
317
  switchSession: 'Switch session',
322
318
  newSession: 'New session',
@@ -380,7 +376,8 @@ export const defaultMessages = {
380
376
  executionsLabel: 'Executions:',
381
377
  lastRunLabel: 'Last Run:',
382
378
  durationLabel: 'Duration:',
383
- errorLabel: 'Error:'
379
+ errorLabel: 'Error:',
380
+ historyLabel: 'Runs:'
384
381
  }
385
382
  }
386
383
  };
@@ -7,5 +7,4 @@
7
7
  export { defaultMessages } from './defaults.js';
8
8
  export { mergeMessages } from './merge.js';
9
9
  export { setMessages, getMessages, m } from './context.js';
10
- export { warnDeprecatedProp, __resetDeprecationWarningsForTests } from './deprecation.js';
11
10
  export type { Messages, MessagesOverride, DeepPartial } from './types.js';
@@ -7,4 +7,3 @@
7
7
  export { defaultMessages } from './defaults.js';
8
8
  export { mergeMessages } from './merge.js';
9
9
  export { setMessages, getMessages, m } from './context.js';
10
- export { warnDeprecatedProp, __resetDeprecationWarningsForTests } from './deprecation.js';
@@ -1,2 +1,6 @@
1
- export function enhance(form: any, options?: {}): (event: any) => void;
2
- export function applyAction(action: any): any;
1
+ export function enhance(_form: HTMLFormElement, options?: {
2
+ onResult?: (result: {
3
+ type: string;
4
+ }) => void;
5
+ }): (event: SubmitEvent) => void;
6
+ export function applyAction(action: unknown): unknown;
@@ -1,11 +1,15 @@
1
- // @ts-nocheck
2
1
  /**
3
2
  * Mock for $app/forms
4
3
  * Provides minimal implementations for SvelteKit forms in library context
5
4
  */
6
5
 
7
- // Mock enhance function
8
- export const enhance = (form, options = {}) => {
6
+ /**
7
+ * Mock enhance function
8
+ * @param {HTMLFormElement} _form
9
+ * @param {{ onResult?: (result: { type: string }) => void }} [options]
10
+ */
11
+ export const enhance = (_form, options = {}) => {
12
+ /** @param {SubmitEvent} event */
9
13
  return (event) => {
10
14
  event.preventDefault();
11
15
  // Basic form handling for library context
@@ -15,7 +19,10 @@ export const enhance = (form, options = {}) => {
15
19
  };
16
20
  };
17
21
 
18
- // Mock applyAction function
22
+ /**
23
+ * Mock applyAction function
24
+ * @param {unknown} action
25
+ */
19
26
  export const applyAction = (action) => {
20
27
  // No-op for library context
21
28
  return action;