@d34dman/flowdrop 0.0.63 → 0.0.65

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 (125) hide show
  1. package/README.md +2 -0
  2. package/dist/adapters/agentspec/AgentSpecAdapter.js +1 -40
  3. package/dist/api/enhanced-client.d.ts +19 -0
  4. package/dist/api/enhanced-client.js +9 -0
  5. package/dist/components/App.svelte +32 -36
  6. package/dist/components/CanvasBanner.stories.svelte +12 -8
  7. package/dist/components/CanvasBanner.stories.svelte.d.ts +1 -1
  8. package/dist/components/ConfigModal.svelte +7 -11
  9. package/dist/components/ConfigModal.svelte.d.ts +5 -23
  10. package/dist/components/ConfigPanel.stories.svelte +35 -26
  11. package/dist/components/ConfigPanel.stories.svelte.d.ts +1 -1
  12. package/dist/components/LoadingSpinner.stories.svelte +13 -13
  13. package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
  14. package/dist/components/Logo.stories.svelte +4 -4
  15. package/dist/components/Logo.stories.svelte.d.ts +1 -1
  16. package/dist/components/LogsSidebar.svelte +6 -9
  17. package/dist/components/LogsSidebar.svelte.d.ts +3 -20
  18. package/dist/components/MarkdownDisplay.stories.svelte +25 -10
  19. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
  20. package/dist/components/Navbar.stories.svelte +42 -30
  21. package/dist/components/Navbar.stories.svelte.d.ts +1 -1
  22. package/dist/components/Navbar.svelte +6 -3
  23. package/dist/components/NodeSidebar.svelte +1 -0
  24. package/dist/components/NodeStatusOverlay.stories.svelte +61 -50
  25. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
  26. package/dist/components/NodeStatusOverlay.svelte +4 -4
  27. package/dist/components/PipelineStatus.svelte +10 -12
  28. package/dist/components/PipelineStatus.svelte.d.ts +2 -2
  29. package/dist/components/SchemaForm.stories.svelte +97 -82
  30. package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
  31. package/dist/components/SchemaForm.svelte +6 -2
  32. package/dist/components/SettingsPanel.svelte +6 -1
  33. package/dist/components/StatusIcon.stories.svelte +15 -15
  34. package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
  35. package/dist/components/StatusIcon.svelte +1 -1
  36. package/dist/components/StatusLabel.stories.svelte +8 -8
  37. package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
  38. package/dist/components/ThemeToggle.stories.svelte +10 -10
  39. package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
  40. package/dist/components/WorkflowEditor.svelte +23 -5
  41. package/dist/components/form/FormAutocomplete.svelte +2 -0
  42. package/dist/components/form/FormCheckboxGroup.stories.svelte +13 -13
  43. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
  44. package/dist/components/form/FormField.svelte +2 -2
  45. package/dist/components/form/FormFieldLight.svelte +4 -4
  46. package/dist/components/form/FormFieldWrapper.stories.svelte +38 -16
  47. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
  48. package/dist/components/form/FormNumberField.stories.svelte +21 -18
  49. package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
  50. package/dist/components/form/FormRangeField.stories.svelte +13 -13
  51. package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
  52. package/dist/components/form/FormSelect.stories.svelte +21 -21
  53. package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
  54. package/dist/components/form/FormTemplateEditor.svelte +0 -13
  55. package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -7
  56. package/dist/components/form/FormTextField.stories.svelte +17 -17
  57. package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
  58. package/dist/components/form/FormTextarea.stories.svelte +21 -18
  59. package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
  60. package/dist/components/form/FormToggle.stories.svelte +13 -13
  61. package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
  62. package/dist/components/form/index.d.ts +2 -1
  63. package/dist/components/form/index.js +1 -2
  64. package/dist/components/form/types.d.ts +8 -20
  65. package/dist/components/form/types.js +3 -8
  66. package/dist/components/interrupt/ChoicePrompt.stories.svelte +37 -28
  67. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
  68. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +57 -35
  69. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
  70. package/dist/components/interrupt/FormPrompt.svelte +1 -0
  71. package/dist/components/interrupt/ReviewPrompt.stories.svelte +52 -31
  72. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
  73. package/dist/components/interrupt/ReviewPrompt.svelte +44 -25
  74. package/dist/components/interrupt/TextInputPrompt.stories.svelte +32 -19
  75. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
  76. package/dist/components/interrupt/TextInputPrompt.svelte +1 -0
  77. package/dist/components/layouts/MainLayout.svelte +3 -0
  78. package/dist/components/nodes/GatewayNode.stories.svelte +96 -64
  79. package/dist/components/nodes/IdeaNode.stories.svelte +40 -36
  80. package/dist/components/nodes/NotesNode.stories.svelte +61 -54
  81. package/dist/components/nodes/SimpleNode.stories.svelte +141 -83
  82. package/dist/components/nodes/SquareNode.stories.svelte +70 -44
  83. package/dist/components/nodes/TerminalNode.stories.svelte +10 -10
  84. package/dist/components/nodes/TerminalNode.svelte +6 -2
  85. package/dist/components/nodes/ToolNode.stories.svelte +177 -59
  86. package/dist/components/nodes/WorkflowNode.stories.svelte +43 -38
  87. package/dist/components/playground/MessageBubble.stories.svelte +51 -38
  88. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
  89. package/dist/components/playground/Playground.svelte +2 -4
  90. package/dist/config/constants.d.ts +21 -0
  91. package/dist/config/constants.js +9 -0
  92. package/dist/core/index.d.ts +7 -5
  93. package/dist/core/index.js +5 -5
  94. package/dist/editor/index.d.ts +4 -4
  95. package/dist/editor/index.js +3 -4
  96. package/dist/form/code.js +16 -4
  97. package/dist/form/fieldRegistry.d.ts +8 -82
  98. package/dist/form/fieldRegistry.js +9 -101
  99. package/dist/form/full.d.ts +4 -1
  100. package/dist/form/full.js +6 -1
  101. package/dist/form/index.d.ts +1 -1
  102. package/dist/form/index.js +0 -2
  103. package/dist/form/markdown.js +11 -3
  104. package/dist/helpers/workflowEditorHelper.d.ts +0 -3
  105. package/dist/helpers/workflowEditorHelper.js +7 -26
  106. package/dist/index.js +3 -0
  107. package/dist/services/apiVariableService.d.ts +1 -3
  108. package/dist/services/apiVariableService.js +3 -4
  109. package/dist/services/dynamicSchemaService.js +3 -4
  110. package/dist/stories/CanvasDecorator.svelte +7 -8
  111. package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
  112. package/dist/stories/NodeDecorator.svelte +13 -14
  113. package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
  114. package/dist/stories/utils.d.ts +2 -2
  115. package/dist/stories/utils.js +55 -55
  116. package/dist/styles/base.css +12 -4
  117. package/dist/styles/tokens.css +138 -130
  118. package/dist/types/interrupt.d.ts +1 -4
  119. package/dist/utils/errors.d.ts +28 -0
  120. package/dist/utils/errors.js +44 -0
  121. package/dist/utils/handleIds.d.ts +35 -0
  122. package/dist/utils/handleIds.js +58 -0
  123. package/package.json +53 -12
  124. package/dist/api/client.d.ts +0 -110
  125. package/dist/api/client.js +0 -240
@@ -1,101 +1,159 @@
1
1
  <script module>
2
- import { defineMeta } from "@storybook/addon-svelte-csf";
3
- import NodeDecorator from "../../stories/NodeDecorator.svelte";
4
- import { createSampleNodeData } from "../../stories/utils.js";
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import NodeDecorator from '../../stories/NodeDecorator.svelte';
4
+ import { createSampleNodeData } from '../../stories/utils.js';
5
5
 
6
6
  const { Story } = defineMeta({
7
- title: "Nodes/SimpleNode",
8
- tags: ["autodocs"],
7
+ title: 'Nodes/SimpleNode',
8
+ tags: ['autodocs'],
9
9
  parameters: {
10
- layout: "centered",
11
- },
10
+ layout: 'centered'
11
+ }
12
12
  });
13
13
  </script>
14
14
 
15
15
  <Story name="Default">
16
- <NodeDecorator data={createSampleNodeData({
17
- label: "Text Input",
18
- metadata: {
19
- id: "text_input",
20
- name: "Text Input",
21
- description: "Simple text input for user data",
22
- category: "inputs",
23
- version: "1.0.0",
24
- type: "simple",
25
- supportedTypes: ["simple", "square", "default"],
26
- icon: "mdi:text",
27
- color: "#22c55e",
28
- inputs: [],
29
- outputs: [
30
- { id: "text", name: "text", type: "output", dataType: "string", required: false, description: "The input text value" },
31
- ],
32
- },
33
- })} />
16
+ <NodeDecorator
17
+ data={createSampleNodeData({
18
+ label: 'Text Input',
19
+ metadata: {
20
+ id: 'text_input',
21
+ name: 'Text Input',
22
+ description: 'Simple text input for user data',
23
+ category: 'inputs',
24
+ version: '1.0.0',
25
+ type: 'simple',
26
+ supportedTypes: ['simple', 'square', 'default'],
27
+ icon: 'mdi:text',
28
+ color: '#22c55e',
29
+ inputs: [],
30
+ outputs: [
31
+ {
32
+ id: 'text',
33
+ name: 'text',
34
+ type: 'output',
35
+ dataType: 'string',
36
+ required: false,
37
+ description: 'The input text value'
38
+ }
39
+ ]
40
+ }
41
+ })}
42
+ />
34
43
  </Story>
35
44
 
36
45
  <Story name="With Icon">
37
- <NodeDecorator data={createSampleNodeData({
38
- label: "Notification Template",
39
- metadata: {
40
- id: "notification_template",
41
- name: "Notification Template",
42
- description: "Create notification templates with API-driven variable suggestions",
43
- category: "outputs",
44
- version: "1.0.0",
45
- type: "simple",
46
- supportedTypes: ["simple", "default"],
47
- icon: "mdi:bell-ring",
48
- color: "#f59e0b",
49
- inputs: [
50
- { id: "event", name: "Event Data", type: "input", dataType: "json", required: false, description: "Event that triggered notification" },
51
- { id: "trigger", name: "Trigger", type: "input", dataType: "trigger", required: false, description: "Execution trigger" },
52
- ],
53
- outputs: [
54
- { id: "notification", name: "Notification", type: "output", dataType: "json", required: false, description: "Formatted notification object" },
55
- ],
56
- },
57
- })} />
46
+ <NodeDecorator
47
+ data={createSampleNodeData({
48
+ label: 'Notification Template',
49
+ metadata: {
50
+ id: 'notification_template',
51
+ name: 'Notification Template',
52
+ description: 'Create notification templates with API-driven variable suggestions',
53
+ category: 'outputs',
54
+ version: '1.0.0',
55
+ type: 'simple',
56
+ supportedTypes: ['simple', 'default'],
57
+ icon: 'mdi:bell-ring',
58
+ color: '#f59e0b',
59
+ inputs: [
60
+ {
61
+ id: 'event',
62
+ name: 'Event Data',
63
+ type: 'input',
64
+ dataType: 'json',
65
+ required: false,
66
+ description: 'Event that triggered notification'
67
+ },
68
+ {
69
+ id: 'trigger',
70
+ name: 'Trigger',
71
+ type: 'input',
72
+ dataType: 'trigger',
73
+ required: false,
74
+ description: 'Execution trigger'
75
+ }
76
+ ],
77
+ outputs: [
78
+ {
79
+ id: 'notification',
80
+ name: 'Notification',
81
+ type: 'output',
82
+ dataType: 'json',
83
+ required: false,
84
+ description: 'Formatted notification object'
85
+ }
86
+ ]
87
+ }
88
+ })}
89
+ />
58
90
  </Story>
59
91
 
60
92
  <Story name="Selected">
61
- <NodeDecorator data={createSampleNodeData({
62
- label: "Text Input",
63
- metadata: {
64
- id: "text_input",
65
- name: "Text Input",
66
- description: "Simple text input for user data",
67
- category: "inputs",
68
- version: "1.0.0",
69
- type: "simple",
70
- supportedTypes: ["simple", "square", "default"],
71
- icon: "mdi:text",
72
- color: "#22c55e",
73
- inputs: [],
74
- outputs: [
75
- { id: "text", name: "text", type: "output", dataType: "string", required: false, description: "The input text value" },
76
- ],
77
- },
78
- })} selected={true} />
93
+ <NodeDecorator
94
+ data={createSampleNodeData({
95
+ label: 'Text Input',
96
+ metadata: {
97
+ id: 'text_input',
98
+ name: 'Text Input',
99
+ description: 'Simple text input for user data',
100
+ category: 'inputs',
101
+ version: '1.0.0',
102
+ type: 'simple',
103
+ supportedTypes: ['simple', 'square', 'default'],
104
+ icon: 'mdi:text',
105
+ color: '#22c55e',
106
+ inputs: [],
107
+ outputs: [
108
+ {
109
+ id: 'text',
110
+ name: 'text',
111
+ type: 'output',
112
+ dataType: 'string',
113
+ required: false,
114
+ description: 'The input text value'
115
+ }
116
+ ]
117
+ }
118
+ })}
119
+ selected={true}
120
+ />
79
121
  </Story>
80
122
 
81
123
  <Story name="Multiple Ports">
82
- <NodeDecorator data={createSampleNodeData({
83
- label: "Text Output",
84
- metadata: {
85
- id: "text_output",
86
- name: "Text Output",
87
- description: "Simple text output for displaying data",
88
- category: "outputs",
89
- version: "1.0.0",
90
- type: "simple",
91
- supportedTypes: ["square", "simple", "default"],
92
- icon: "mdi:text-box",
93
- color: "#ef4444",
94
- inputs: [
95
- { id: "text", name: "Text Input", type: "input", dataType: "string", required: false, description: "The text to output" },
96
- { id: "trigger", name: "Trigger", type: "input", dataType: "trigger", required: false, description: "" },
97
- ],
98
- outputs: [],
99
- },
100
- })} />
124
+ <NodeDecorator
125
+ data={createSampleNodeData({
126
+ label: 'Text Output',
127
+ metadata: {
128
+ id: 'text_output',
129
+ name: 'Text Output',
130
+ description: 'Simple text output for displaying data',
131
+ category: 'outputs',
132
+ version: '1.0.0',
133
+ type: 'simple',
134
+ supportedTypes: ['square', 'simple', 'default'],
135
+ icon: 'mdi:text-box',
136
+ color: '#ef4444',
137
+ inputs: [
138
+ {
139
+ id: 'text',
140
+ name: 'Text Input',
141
+ type: 'input',
142
+ dataType: 'string',
143
+ required: false,
144
+ description: 'The text to output'
145
+ },
146
+ {
147
+ id: 'trigger',
148
+ name: 'Trigger',
149
+ type: 'input',
150
+ dataType: 'trigger',
151
+ required: false,
152
+ description: ''
153
+ }
154
+ ],
155
+ outputs: []
156
+ }
157
+ })}
158
+ />
101
159
  </Story>
@@ -1,56 +1,82 @@
1
1
  <script module>
2
- import { defineMeta } from "@storybook/addon-svelte-csf";
3
- import NodeDecorator from "../../stories/NodeDecorator.svelte";
4
- import { createSampleNodeData } from "../../stories/utils.js";
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import NodeDecorator from '../../stories/NodeDecorator.svelte';
4
+ import { createSampleNodeData } from '../../stories/utils.js';
5
5
 
6
6
  const { Story } = defineMeta({
7
- title: "Nodes/SquareNode",
8
- tags: ["autodocs"],
7
+ title: 'Nodes/SquareNode',
8
+ tags: ['autodocs'],
9
9
  parameters: {
10
- layout: "centered",
11
- },
10
+ layout: 'centered'
11
+ }
12
12
  });
13
13
  </script>
14
14
 
15
15
  <Story name="Default">
16
- <NodeDecorator data={createSampleNodeData({
17
- label: "Text Input",
18
- metadata: {
19
- id: "text_input",
20
- name: "Text Input",
21
- description: "Simple text input for user data",
22
- category: "inputs",
23
- version: "1.0.0",
24
- type: "square",
25
- supportedTypes: ["square"],
26
- icon: "mdi:text",
27
- color: "#22c55e",
28
- inputs: [],
29
- outputs: [
30
- { id: "text", name: "text", type: "output", dataType: "string", required: false, description: "The input text value" },
31
- ],
32
- },
33
- })} />
16
+ <NodeDecorator
17
+ data={createSampleNodeData({
18
+ label: 'Text Input',
19
+ metadata: {
20
+ id: 'text_input',
21
+ name: 'Text Input',
22
+ description: 'Simple text input for user data',
23
+ category: 'inputs',
24
+ version: '1.0.0',
25
+ type: 'square',
26
+ supportedTypes: ['square'],
27
+ icon: 'mdi:text',
28
+ color: '#22c55e',
29
+ inputs: [],
30
+ outputs: [
31
+ {
32
+ id: 'text',
33
+ name: 'text',
34
+ type: 'output',
35
+ dataType: 'string',
36
+ required: false,
37
+ description: 'The input text value'
38
+ }
39
+ ]
40
+ }
41
+ })}
42
+ />
34
43
  </Story>
35
44
 
36
45
  <Story name="Selected">
37
- <NodeDecorator data={createSampleNodeData({
38
- label: "Text Output",
39
- metadata: {
40
- id: "text_output",
41
- name: "Text Output",
42
- description: "Simple text output for displaying data",
43
- category: "outputs",
44
- version: "1.0.0",
45
- type: "square",
46
- supportedTypes: ["square"],
47
- icon: "mdi:text-box",
48
- color: "#ef4444",
49
- inputs: [
50
- { id: "text", name: "Text Input", type: "input", dataType: "string", required: false, description: "The text to output" },
51
- { id: "trigger", name: "Trigger", type: "input", dataType: "trigger", required: false, description: "" },
52
- ],
53
- outputs: [],
54
- },
55
- })} selected={true} />
46
+ <NodeDecorator
47
+ data={createSampleNodeData({
48
+ label: 'Text Output',
49
+ metadata: {
50
+ id: 'text_output',
51
+ name: 'Text Output',
52
+ description: 'Simple text output for displaying data',
53
+ category: 'outputs',
54
+ version: '1.0.0',
55
+ type: 'square',
56
+ supportedTypes: ['square'],
57
+ icon: 'mdi:text-box',
58
+ color: '#ef4444',
59
+ inputs: [
60
+ {
61
+ id: 'text',
62
+ name: 'Text Input',
63
+ type: 'input',
64
+ dataType: 'string',
65
+ required: false,
66
+ description: 'The text to output'
67
+ },
68
+ {
69
+ id: 'trigger',
70
+ name: 'Trigger',
71
+ type: 'input',
72
+ dataType: 'trigger',
73
+ required: false,
74
+ description: ''
75
+ }
76
+ ],
77
+ outputs: []
78
+ }
79
+ })}
80
+ selected={true}
81
+ />
56
82
  </Story>
@@ -1,25 +1,25 @@
1
1
  <script module>
2
- import { defineMeta } from "@storybook/addon-svelte-csf";
3
- import NodeDecorator from "../../stories/NodeDecorator.svelte";
4
- import { createTerminalNodeData } from "../../stories/utils.js";
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import NodeDecorator from '../../stories/NodeDecorator.svelte';
4
+ import { createTerminalNodeData } from '../../stories/utils.js';
5
5
 
6
6
  const { Story } = defineMeta({
7
- title: "Nodes/TerminalNode",
8
- tags: ["autodocs"],
7
+ title: 'Nodes/TerminalNode',
8
+ tags: ['autodocs'],
9
9
  parameters: {
10
- layout: "centered",
11
- },
10
+ layout: 'centered'
11
+ }
12
12
  });
13
13
  </script>
14
14
 
15
15
  <Story name="Start">
16
- <NodeDecorator data={createTerminalNodeData("start")} />
16
+ <NodeDecorator data={createTerminalNodeData('start')} />
17
17
  </Story>
18
18
 
19
19
  <Story name="End">
20
- <NodeDecorator data={createTerminalNodeData("end")} />
20
+ <NodeDecorator data={createTerminalNodeData('end')} />
21
21
  </Story>
22
22
 
23
23
  <Story name="Exit">
24
- <NodeDecorator data={createTerminalNodeData("exit")} />
24
+ <NodeDecorator data={createTerminalNodeData('exit')} />
25
25
  </Story>
@@ -267,12 +267,16 @@
267
267
  /**
268
268
  * Visible input ports filtered by hideUnconnectedHandles setting
269
269
  */
270
- let visibleInputPorts = $derived(inputPorts.filter((port: NodePort) => isPortVisible(port, 'input')));
270
+ let visibleInputPorts = $derived(
271
+ inputPorts.filter((port: NodePort) => isPortVisible(port, 'input'))
272
+ );
271
273
 
272
274
  /**
273
275
  * Visible output ports filtered by hideUnconnectedHandles setting
274
276
  */
275
- let visibleOutputPorts = $derived(outputPorts.filter((port: NodePort) => isPortVisible(port, 'output')));
277
+ let visibleOutputPorts = $derived(
278
+ outputPorts.filter((port: NodePort) => isPortVisible(port, 'output'))
279
+ );
276
280
 
277
281
  /**
278
282
  * Determine if we should show inputs based on visible ports