@d34dman/flowdrop 0.0.61 → 0.0.63

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 (204) hide show
  1. package/README.md +6 -0
  2. package/dist/adapters/WorkflowAdapter.d.ts +1 -1
  3. package/dist/adapters/agentspec/AgentSpecAdapter.js +3 -1
  4. package/dist/api/client.d.ts +4 -0
  5. package/dist/api/client.js +6 -1
  6. package/dist/api/enhanced-client.js +7 -6
  7. package/dist/components/App.svelte +143 -219
  8. package/dist/components/CanvasBanner.stories.svelte +25 -0
  9. package/dist/components/CanvasBanner.stories.svelte.d.ts +27 -0
  10. package/dist/components/CanvasBanner.svelte +2 -2
  11. package/dist/components/ConfigForm.svelte +37 -36
  12. package/dist/components/ConfigPanel.stories.svelte +38 -0
  13. package/dist/components/ConfigPanel.stories.svelte.d.ts +27 -0
  14. package/dist/components/ConfigPanel.svelte +2 -2
  15. package/dist/components/ConnectionLine.svelte +2 -2
  16. package/dist/components/FlowDropZone.svelte +18 -2
  17. package/dist/components/FlowDropZone.svelte.d.ts +2 -0
  18. package/dist/components/LoadingSpinner.stories.svelte +30 -0
  19. package/dist/components/LoadingSpinner.stories.svelte.d.ts +27 -0
  20. package/dist/components/Logo.stories.svelte +22 -0
  21. package/dist/components/Logo.stories.svelte.d.ts +27 -0
  22. package/dist/components/Logo.svelte +33 -13
  23. package/dist/components/Logo.svelte.d.ts +1 -1
  24. package/dist/components/MarkdownDisplay.stories.svelte +21 -0
  25. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +27 -0
  26. package/dist/components/MarkdownDisplay.svelte +4 -3
  27. package/dist/components/Navbar.stories.svelte +41 -0
  28. package/dist/components/Navbar.stories.svelte.d.ts +27 -0
  29. package/dist/components/Navbar.svelte +4 -4
  30. package/dist/components/NodeSidebar.svelte +12 -12
  31. package/dist/components/NodeStatusOverlay.stories.svelte +74 -0
  32. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +27 -0
  33. package/dist/components/PipelineStatus.svelte +11 -4
  34. package/dist/components/PortCoordinateTracker.svelte +1 -1
  35. package/dist/components/SchemaForm.stories.svelte +101 -0
  36. package/dist/components/SchemaForm.stories.svelte.d.ts +27 -0
  37. package/dist/components/SchemaForm.svelte +17 -12
  38. package/dist/components/SettingsModal.svelte +3 -3
  39. package/dist/components/SettingsPanel.svelte +23 -22
  40. package/dist/components/StatusIcon.stories.svelte +60 -0
  41. package/dist/components/StatusIcon.stories.svelte.d.ts +27 -0
  42. package/dist/components/StatusIcon.svelte +7 -0
  43. package/dist/components/StatusLabel.stories.svelte +17 -0
  44. package/dist/components/StatusLabel.stories.svelte.d.ts +27 -0
  45. package/dist/components/ThemeToggle.stories.svelte +25 -0
  46. package/dist/components/ThemeToggle.stories.svelte.d.ts +27 -0
  47. package/dist/components/ThemeToggle.svelte +8 -8
  48. package/dist/components/UniversalNode.svelte +1 -1
  49. package/dist/components/WorkflowEditor.svelte +298 -298
  50. package/dist/components/form/FormAutocomplete.svelte +20 -19
  51. package/dist/components/form/FormCheckboxGroup.stories.svelte +28 -0
  52. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +27 -0
  53. package/dist/components/form/FormField.svelte +3 -3
  54. package/dist/components/form/FormFieldLight.svelte +2 -2
  55. package/dist/components/form/FormFieldWrapper.stories.svelte +31 -0
  56. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +27 -0
  57. package/dist/components/form/FormFieldset.svelte +7 -7
  58. package/dist/components/form/FormNumberField.stories.svelte +33 -0
  59. package/dist/components/form/FormNumberField.stories.svelte.d.ts +27 -0
  60. package/dist/components/form/FormRangeField.stories.svelte +31 -0
  61. package/dist/components/form/FormRangeField.stories.svelte.d.ts +27 -0
  62. package/dist/components/form/FormSelect.stories.svelte +50 -0
  63. package/dist/components/form/FormSelect.stories.svelte.d.ts +27 -0
  64. package/dist/components/form/FormTemplateEditor.svelte +2 -1
  65. package/dist/components/form/FormTextField.stories.svelte +30 -0
  66. package/dist/components/form/FormTextField.stories.svelte.d.ts +27 -0
  67. package/dist/components/form/FormTextarea.stories.svelte +31 -0
  68. package/dist/components/form/FormTextarea.stories.svelte.d.ts +27 -0
  69. package/dist/components/form/FormToggle.stories.svelte +30 -0
  70. package/dist/components/form/FormToggle.stories.svelte.d.ts +27 -0
  71. package/dist/components/form/FormUISchemaRenderer.svelte +1 -1
  72. package/dist/components/form/types.d.ts +15 -47
  73. package/dist/components/interrupt/ChoicePrompt.stories.svelte +43 -0
  74. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +27 -0
  75. package/dist/components/interrupt/ChoicePrompt.svelte +24 -24
  76. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +49 -0
  77. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +27 -0
  78. package/dist/components/interrupt/ConfirmationPrompt.svelte +19 -19
  79. package/dist/components/interrupt/FormPrompt.svelte +15 -15
  80. package/dist/components/interrupt/InterruptBubble.svelte +202 -236
  81. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +1 -1
  82. package/dist/components/interrupt/ReviewPrompt.stories.svelte +46 -0
  83. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +27 -0
  84. package/dist/components/interrupt/ReviewPrompt.svelte +842 -0
  85. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +23 -0
  86. package/dist/components/interrupt/TextInputPrompt.stories.svelte +34 -0
  87. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +27 -0
  88. package/dist/components/interrupt/TextInputPrompt.svelte +21 -21
  89. package/dist/components/nodes/GatewayNode.stories.svelte +76 -0
  90. package/dist/components/nodes/GatewayNode.stories.svelte.d.ts +26 -0
  91. package/dist/components/nodes/GatewayNode.svelte +19 -17
  92. package/dist/components/nodes/IdeaNode.stories.svelte +48 -0
  93. package/dist/components/nodes/IdeaNode.stories.svelte.d.ts +26 -0
  94. package/dist/components/nodes/IdeaNode.svelte +10 -26
  95. package/dist/components/nodes/NotesNode.stories.svelte +69 -0
  96. package/dist/components/nodes/NotesNode.stories.svelte.d.ts +26 -0
  97. package/dist/components/nodes/NotesNode.svelte +8 -8
  98. package/dist/components/nodes/SimpleNode.stories.svelte +101 -0
  99. package/dist/components/nodes/SimpleNode.stories.svelte.d.ts +26 -0
  100. package/dist/components/nodes/SimpleNode.svelte +16 -24
  101. package/dist/components/nodes/SquareNode.stories.svelte +56 -0
  102. package/dist/components/nodes/SquareNode.stories.svelte.d.ts +26 -0
  103. package/dist/components/nodes/SquareNode.svelte +13 -21
  104. package/dist/components/nodes/TerminalNode.stories.svelte +25 -0
  105. package/dist/components/nodes/TerminalNode.stories.svelte.d.ts +26 -0
  106. package/dist/components/nodes/TerminalNode.svelte +7 -7
  107. package/dist/components/nodes/ToolNode.stories.svelte +71 -0
  108. package/dist/components/nodes/ToolNode.stories.svelte.d.ts +26 -0
  109. package/dist/components/nodes/ToolNode.svelte +7 -15
  110. package/dist/components/nodes/WorkflowNode.stories.svelte +50 -0
  111. package/dist/components/nodes/WorkflowNode.stories.svelte.d.ts +26 -0
  112. package/dist/components/nodes/WorkflowNode.svelte +13 -13
  113. package/dist/components/playground/ChatPanel.svelte +48 -48
  114. package/dist/components/playground/ExecutionLogs.svelte +23 -23
  115. package/dist/components/playground/InputCollector.svelte +24 -24
  116. package/dist/components/playground/MessageBubble.stories.svelte +49 -0
  117. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +27 -0
  118. package/dist/components/playground/MessageBubble.svelte +49 -46
  119. package/dist/components/playground/Playground.svelte +194 -129
  120. package/dist/components/playground/PlaygroundModal.svelte +5 -5
  121. package/dist/components/playground/SessionManager.svelte +26 -26
  122. package/dist/config/constants.d.ts +22 -0
  123. package/dist/config/constants.js +22 -0
  124. package/dist/config/endpoints.d.ts +19 -0
  125. package/dist/config/runtimeConfig.js +2 -1
  126. package/dist/core/index.d.ts +5 -2
  127. package/dist/core/index.js +9 -1
  128. package/dist/editor/index.d.ts +13 -9
  129. package/dist/editor/index.js +15 -11
  130. package/dist/form/code.d.ts +2 -1
  131. package/dist/form/code.js +1 -3
  132. package/dist/form/markdown.d.ts +2 -1
  133. package/dist/form/markdown.js +1 -3
  134. package/dist/helpers/workflowEditorHelper.js +18 -33
  135. package/dist/mocks/app-forms.js +1 -0
  136. package/dist/mocks/app-navigation.js +3 -1
  137. package/dist/mocks/app-stores.d.ts +4 -4
  138. package/dist/playground/index.d.ts +4 -3
  139. package/dist/playground/index.js +12 -10
  140. package/dist/playground/mount.js +6 -13
  141. package/dist/services/agentSpecExecutionService.js +2 -1
  142. package/dist/services/api.js +10 -18
  143. package/dist/services/apiVariableService.js +2 -1
  144. package/dist/services/autoSaveService.d.ts +3 -3
  145. package/dist/services/autoSaveService.js +21 -17
  146. package/dist/services/categoriesApi.js +13 -5
  147. package/dist/services/draftStorage.js +5 -4
  148. package/dist/services/dynamicSchemaService.js +4 -4
  149. package/dist/services/globalSave.d.ts +60 -11
  150. package/dist/services/globalSave.js +160 -83
  151. package/dist/services/historyService.d.ts +2 -1
  152. package/dist/services/historyService.js +7 -3
  153. package/dist/services/interruptService.js +9 -8
  154. package/dist/services/nodeExecutionService.js +14 -6
  155. package/dist/services/playgroundService.js +2 -1
  156. package/dist/services/portConfigApi.js +11 -7
  157. package/dist/services/toastService.d.ts +1 -1
  158. package/dist/services/toastService.js +6 -5
  159. package/dist/services/variableService.js +3 -2
  160. package/dist/settings/index.d.ts +1 -1
  161. package/dist/settings/index.js +1 -1
  162. package/dist/stores/{categoriesStore.d.ts → categoriesStore.svelte.d.ts} +3 -3
  163. package/dist/stores/{categoriesStore.js → categoriesStore.svelte.js} +15 -18
  164. package/dist/stores/editorStateMachine.svelte.d.ts +42 -0
  165. package/dist/stores/editorStateMachine.svelte.js +132 -0
  166. package/dist/stores/{historyStore.d.ts → historyStore.svelte.d.ts} +18 -15
  167. package/dist/stores/{historyStore.js → historyStore.svelte.js} +40 -21
  168. package/dist/stores/{interruptStore.d.ts → interruptStore.svelte.d.ts} +16 -15
  169. package/dist/stores/{interruptStore.js → interruptStore.svelte.js} +85 -94
  170. package/dist/stores/{playgroundStore.d.ts → playgroundStore.svelte.d.ts} +41 -33
  171. package/dist/stores/{playgroundStore.js → playgroundStore.svelte.js} +164 -84
  172. package/dist/stores/{portCoordinateStore.d.ts → portCoordinateStore.svelte.d.ts} +10 -4
  173. package/dist/stores/{portCoordinateStore.js → portCoordinateStore.svelte.js} +38 -35
  174. package/dist/stores/{settingsStore.d.ts → settingsStore.svelte.d.ts} +45 -28
  175. package/dist/stores/{settingsStore.js → settingsStore.svelte.js} +169 -128
  176. package/dist/stores/{workflowStore.d.ts → workflowStore.svelte.d.ts} +101 -65
  177. package/dist/stores/{workflowStore.js → workflowStore.svelte.js} +285 -239
  178. package/dist/stories/CanvasDecorator.svelte +50 -0
  179. package/dist/stories/CanvasDecorator.svelte.d.ts +8 -0
  180. package/dist/stories/NodeDecorator.svelte +74 -0
  181. package/dist/stories/NodeDecorator.svelte.d.ts +8 -0
  182. package/dist/stories/utils.d.ts +93 -0
  183. package/dist/stories/utils.js +122 -0
  184. package/dist/styles/base.css +114 -61
  185. package/dist/styles/toast.css +2 -2
  186. package/dist/styles/tokens.css +250 -185
  187. package/dist/svelte-app.d.ts +0 -6
  188. package/dist/svelte-app.js +13 -31
  189. package/dist/types/index.d.ts +2 -0
  190. package/dist/types/interrupt.d.ts +89 -5
  191. package/dist/types/interrupt.js +13 -1
  192. package/dist/types/playground.d.ts +5 -0
  193. package/dist/types/settings.js +1 -1
  194. package/dist/utils/colors.js +4 -4
  195. package/dist/utils/connections.js +33 -8
  196. package/dist/utils/icons.js +1 -1
  197. package/dist/utils/logger.d.ts +47 -0
  198. package/dist/utils/logger.js +72 -0
  199. package/dist/utils/nodeWrapper.js +1 -1
  200. package/dist/utils/sanitize.d.ts +19 -0
  201. package/dist/utils/sanitize.js +31 -0
  202. package/dist/utils/validation.d.ts +29 -0
  203. package/dist/utils/validation.js +39 -0
  204. package/package.json +243 -232
@@ -31,8 +31,9 @@
31
31
  }
32
32
 
33
33
  /* Flow node handles: 20px connection area, 12px visible circle (::before)
34
- Override xyflow's default background so port color (--fd-handle-fill from inline style) shows */
35
- :global(.svelte-flow__handle) {
34
+ Override xyflow's default background so port color (--fd-handle-fill from inline style) shows.
35
+ Use `.svelte-flow` parent for higher specificity (0-2-0) to beat xyflow defaults (0-1-0). */
36
+ .svelte-flow .svelte-flow__handle {
36
37
  --fd-handle-fill: var(--fd-muted-foreground);
37
38
  --fd-handle-border-color: var(--fd-handle-border);
38
39
  width: var(--fd-handle-size);
@@ -48,7 +49,7 @@
48
49
  cursor: pointer;
49
50
  }
50
51
 
51
- :global(.svelte-flow__handle::before) {
52
+ .svelte-flow .svelte-flow__handle::before {
52
53
  content: '';
53
54
  position: absolute;
54
55
  inset: 0;
@@ -61,21 +62,27 @@
61
62
  pointer-events: none;
62
63
  }
63
64
 
64
- :global(.svelte-flow__handle:hover::before) {
65
+ .svelte-flow .svelte-flow__handle:hover::before {
65
66
  background-color: var(--fd-primary);
66
67
  }
67
68
 
68
- :global(.svelte-flow__handle:focus) {
69
+ .svelte-flow .svelte-flow__handle:focus {
69
70
  outline: 2px solid var(--fd-ring);
70
71
  outline-offset: 2px;
71
72
  }
72
73
 
74
+ /* Centralized handle edge positioning — offset derived from --fd-handle-size */
75
+ .svelte-flow .svelte-flow__handle-left { left: var(--fd-handle-offset); }
76
+ .svelte-flow .svelte-flow__handle-right { right: var(--fd-handle-offset); }
77
+ .svelte-flow .svelte-flow__handle-top { top: var(--fd-handle-offset); }
78
+ .svelte-flow .svelte-flow__handle-bottom { bottom: var(--fd-handle-offset); }
79
+
73
80
  /* Button styles */
74
81
  .flowdrop-btn {
75
82
  display: inline-flex;
76
83
  align-items: center;
77
84
  justify-content: center;
78
- padding: var(--fd-space-2) var(--fd-space-4);
85
+ padding: var(--fd-space-xs) var(--fd-space-xl);
79
86
  border: 1px solid transparent;
80
87
  border-radius: var(--fd-radius-md);
81
88
  font-size: var(--fd-text-sm);
@@ -85,7 +92,7 @@
85
92
  transition: all var(--fd-transition-normal);
86
93
  background-color: var(--fd-background);
87
94
  color: var(--fd-foreground);
88
- min-height: 2.5rem;
95
+ min-height: var(--fd-size-btn-min);
89
96
  }
90
97
 
91
98
  .flowdrop-btn:hover {
@@ -142,22 +149,22 @@
142
149
  }
143
150
 
144
151
  .flowdrop-btn--sm {
145
- padding: 0.375rem 0.75rem;
146
- font-size: 0.75rem;
152
+ padding: var(--fd-space-2xs) var(--fd-space-md);
153
+ font-size: var(--fd-text-xs);
147
154
  min-height: 2rem;
148
155
  }
149
156
 
150
157
  .flowdrop-btn--lg {
151
- padding: 0.75rem 1.5rem;
152
- font-size: 1rem;
153
- min-height: 3rem;
158
+ padding: var(--fd-space-md) var(--fd-space-3xl);
159
+ font-size: var(--fd-text-base);
160
+ min-height: var(--fd-space-6xl);
154
161
  }
155
162
 
156
163
  /* Input styles */
157
164
  .flowdrop-input {
158
165
  display: block;
159
166
  width: 100%;
160
- padding: var(--fd-space-2) var(--fd-space-3);
167
+ padding: var(--fd-space-xs) var(--fd-space-md);
161
168
  border: 1px solid var(--fd-border);
162
169
  border-radius: var(--fd-radius-md);
163
170
  font-size: var(--fd-text-sm);
@@ -176,13 +183,13 @@
176
183
  }
177
184
 
178
185
  .flowdrop-input--sm {
179
- padding: 0.375rem 0.5rem;
180
- font-size: 0.75rem;
186
+ padding: var(--fd-space-2xs) var(--fd-space-xs);
187
+ font-size: var(--fd-text-xs);
181
188
  }
182
189
 
183
190
  .flowdrop-input--lg {
184
- padding: 0.75rem 1rem;
185
- font-size: 1rem;
191
+ padding: var(--fd-space-md) var(--fd-space-xl);
192
+ font-size: var(--fd-text-base);
186
193
  }
187
194
 
188
195
  /* Card styles */
@@ -195,20 +202,20 @@
195
202
  }
196
203
 
197
204
  .flowdrop-card--compact {
198
- padding: var(--fd-space-2);
205
+ padding: var(--fd-space-xs);
199
206
  }
200
207
 
201
208
  .flowdrop-card__body {
202
- padding: var(--fd-space-4);
209
+ padding: var(--fd-space-xl);
203
210
  }
204
211
 
205
212
  .flowdrop-card__header {
206
- padding: var(--fd-space-4) var(--fd-space-4) var(--fd-space-2);
213
+ padding: var(--fd-space-xl) var(--fd-space-xl) var(--fd-space-xs);
207
214
  border-bottom: 1px solid var(--fd-border-muted);
208
215
  }
209
216
 
210
217
  .flowdrop-card__footer {
211
- padding: var(--fd-space-2) var(--fd-space-4) var(--fd-space-4);
218
+ padding: var(--fd-space-xs) var(--fd-space-xl) var(--fd-space-xl);
212
219
  border-top: 1px solid var(--fd-border-muted);
213
220
  }
214
221
 
@@ -216,7 +223,7 @@
216
223
  .flowdrop-badge {
217
224
  display: inline-flex;
218
225
  align-items: center;
219
- padding: var(--fd-space-1) var(--fd-space-2);
226
+ padding: var(--fd-space-3xs) var(--fd-space-xs);
220
227
  font-size: var(--fd-text-xs);
221
228
  font-weight: 500;
222
229
  border-radius: var(--fd-radius-md);
@@ -254,7 +261,7 @@
254
261
  display: flex;
255
262
  align-items: center;
256
263
  justify-content: space-between;
257
- padding: var(--fd-space-3) var(--fd-space-4);
264
+ padding: var(--fd-space-md) var(--fd-space-xl);
258
265
  background-color: var(--fd-background);
259
266
  border-bottom: 1px solid var(--fd-border);
260
267
  }
@@ -262,7 +269,7 @@
262
269
  .flowdrop-navbar__start {
263
270
  display: flex;
264
271
  align-items: center;
265
- gap: 0.75rem;
272
+ gap: var(--fd-space-md);
266
273
  }
267
274
 
268
275
  .flowdrop-navbar__center {
@@ -275,7 +282,7 @@
275
282
  .flowdrop-navbar__end {
276
283
  display: flex;
277
284
  align-items: center;
278
- gap: 0.75rem;
285
+ gap: var(--fd-space-md);
279
286
  }
280
287
 
281
288
  /* Join button group */
@@ -291,13 +298,13 @@
291
298
  }
292
299
 
293
300
  .flowdrop-join__item:first-child {
294
- border-top-left-radius: 0.375rem;
295
- border-bottom-left-radius: 0.375rem;
301
+ border-top-left-radius: var(--fd-radius-md);
302
+ border-bottom-left-radius: var(--fd-radius-md);
296
303
  }
297
304
 
298
305
  .flowdrop-join__item:last-child {
299
- border-top-right-radius: 0.375rem;
300
- border-bottom-right-radius: 0.375rem;
306
+ border-top-right-radius: var(--fd-radius-md);
307
+ border-bottom-right-radius: var(--fd-radius-md);
301
308
  border-right: none;
302
309
  }
303
310
 
@@ -307,7 +314,7 @@
307
314
  align-items: center;
308
315
  justify-content: center;
309
316
  min-height: 100%;
310
- padding: 2rem;
317
+ padding: var(--fd-space-4xl);
311
318
  }
312
319
 
313
320
  .flowdrop-hero__content {
@@ -317,27 +324,27 @@
317
324
 
318
325
  .flowdrop-hero__icon {
319
326
  font-size: 3.75rem;
320
- margin-bottom: 1rem;
327
+ margin-bottom: var(--fd-space-xl);
321
328
  }
322
329
 
323
330
  .flowdrop-hero__title {
324
331
  font-size: var(--fd-text-lg);
325
332
  font-weight: 700;
326
- margin-bottom: var(--fd-space-2);
333
+ margin-bottom: var(--fd-space-xs);
327
334
  color: var(--fd-foreground);
328
335
  }
329
336
 
330
337
  .flowdrop-hero__description {
331
338
  font-size: var(--fd-text-sm);
332
339
  color: var(--fd-muted-foreground);
333
- margin-bottom: var(--fd-space-4);
340
+ margin-bottom: var(--fd-space-xl);
334
341
  }
335
342
 
336
343
  /* Divider */
337
344
  .flowdrop-divider {
338
345
  display: flex;
339
346
  align-items: center;
340
- margin: var(--fd-space-4) 0;
347
+ margin: var(--fd-space-xl) 0;
341
348
  }
342
349
 
343
350
  .flowdrop-divider::before {
@@ -348,7 +355,7 @@
348
355
  }
349
356
 
350
357
  .flowdrop-divider__text {
351
- padding: 0 var(--fd-space-3);
358
+ padding: 0 var(--fd-space-md);
352
359
  font-size: var(--fd-text-xs);
353
360
  font-weight: 600;
354
361
  color: var(--fd-muted-foreground);
@@ -385,7 +392,7 @@
385
392
  display: flex;
386
393
  align-items: center;
387
394
  justify-content: space-between;
388
- padding: var(--fd-space-3);
395
+ padding: var(--fd-space-md);
389
396
  font-size: var(--fd-text-sm);
390
397
  font-weight: 500;
391
398
  color: var(--fd-foreground);
@@ -405,7 +412,7 @@
405
412
  }
406
413
 
407
414
  .flowdrop-details__content {
408
- padding: var(--fd-space-3);
415
+ padding: var(--fd-space-md);
409
416
  padding-top: 0;
410
417
  background: var(--fd-card);
411
418
  }
@@ -413,8 +420,8 @@
413
420
  /* Loading spinner */
414
421
  .flowdrop-spinner {
415
422
  display: inline-block;
416
- width: 1rem;
417
- height: 1rem;
423
+ width: var(--fd-size-spinner);
424
+ height: var(--fd-size-spinner);
418
425
  border: 2px solid var(--fd-border);
419
426
  border-top: 2px solid var(--fd-primary);
420
427
  border-radius: 50%;
@@ -422,14 +429,14 @@
422
429
  }
423
430
 
424
431
  .flowdrop-spinner--sm {
425
- width: 0.75rem;
426
- height: 0.75rem;
432
+ width: var(--fd-space-md);
433
+ height: var(--fd-space-md);
427
434
  border-width: 1px;
428
435
  }
429
436
 
430
437
  .flowdrop-spinner--lg {
431
- width: 1.5rem;
432
- height: 1.5rem;
438
+ width: var(--fd-space-3xl);
439
+ height: var(--fd-space-3xl);
433
440
  border-width: 3px;
434
441
  }
435
442
 
@@ -466,35 +473,35 @@
466
473
  }
467
474
 
468
475
  .flowdrop-gap--1 {
469
- gap: var(--fd-space-1);
476
+ gap: var(--fd-space-3xs);
470
477
  }
471
478
 
472
479
  .flowdrop-gap--2 {
473
- gap: var(--fd-space-2);
480
+ gap: var(--fd-space-xs);
474
481
  }
475
482
 
476
483
  .flowdrop-gap--3 {
477
- gap: var(--fd-space-3);
484
+ gap: var(--fd-space-md);
478
485
  }
479
486
 
480
487
  .flowdrop-gap--4 {
481
- gap: var(--fd-space-4);
488
+ gap: var(--fd-space-xl);
482
489
  }
483
490
 
484
491
  .flowdrop-p--1 {
485
- padding: var(--fd-space-1);
492
+ padding: var(--fd-space-3xs);
486
493
  }
487
494
 
488
495
  .flowdrop-p--2 {
489
- padding: var(--fd-space-2);
496
+ padding: var(--fd-space-xs);
490
497
  }
491
498
 
492
499
  .flowdrop-p--3 {
493
- padding: var(--fd-space-3);
500
+ padding: var(--fd-space-md);
494
501
  }
495
502
 
496
503
  .flowdrop-p--4 {
497
- padding: var(--fd-space-4);
504
+ padding: var(--fd-space-xl);
498
505
  }
499
506
 
500
507
  .flowdrop-m--0 {
@@ -502,19 +509,19 @@
502
509
  }
503
510
 
504
511
  .flowdrop-mb--1 {
505
- margin-bottom: var(--fd-space-1);
512
+ margin-bottom: var(--fd-space-3xs);
506
513
  }
507
514
 
508
515
  .flowdrop-mb--2 {
509
- margin-bottom: var(--fd-space-2);
516
+ margin-bottom: var(--fd-space-xs);
510
517
  }
511
518
 
512
519
  .flowdrop-mb--3 {
513
- margin-bottom: var(--fd-space-3);
520
+ margin-bottom: var(--fd-space-md);
514
521
  }
515
522
 
516
523
  .flowdrop-mb--4 {
517
- margin-bottom: var(--fd-space-4);
524
+ margin-bottom: var(--fd-space-xl);
518
525
  }
519
526
 
520
527
  .flowdrop-text--xs {
@@ -994,6 +1001,52 @@
994
1001
  --fd-interrupt-badge-completed-bg: var(--fd-primary-muted);
995
1002
  --fd-interrupt-badge-completed-text: var(--fd-primary);
996
1003
 
1004
+ /* =========================================================================
1005
+ Shared Interrupt Tokens
1006
+ Used across all interrupt prompt components
1007
+ ========================================================================= */
1008
+
1009
+ --fd-interrupt-font-message: var(--fd-text-md);
1010
+ --fd-interrupt-font-error: var(--fd-text-xsm);
1011
+ --fd-interrupt-line-height: var(--fd-leading-normal);
1012
+ --fd-interrupt-btn-min-height: var(--fd-size-btn-min);
1013
+ --fd-interrupt-spinner-size: var(--fd-size-spinner);
1014
+ --fd-interrupt-avatar-size: var(--fd-size-avatar);
1015
+ --fd-interrupt-font-mono: var(--fd-font-mono);
1016
+
1017
+ /* =========================================================================
1018
+ Review Prompt Component Tokens
1019
+ ========================================================================= */
1020
+
1021
+ /* Typography */
1022
+ --fd-review-font-size-message: var(--fd-interrupt-font-message);
1023
+ --fd-review-font-size-error: var(--fd-interrupt-font-error);
1024
+ --fd-review-font-size-html-toggle: var(--fd-text-2xs);
1025
+ --fd-review-line-height: var(--fd-interrupt-line-height);
1026
+ --fd-review-line-height-content: var(--fd-leading-relaxed);
1027
+ --fd-review-font-mono: var(--fd-interrupt-font-mono);
1028
+
1029
+ /* Spacing */
1030
+ --fd-review-space-xs: 0.125rem;
1031
+ --fd-review-space-sm: var(--fd-space-2xs);
1032
+ --fd-review-space-md: var(--fd-space-sm);
1033
+ --fd-review-space-lg: var(--fd-space-lg);
1034
+
1035
+ /* Sizes */
1036
+ --fd-review-toggle-height: var(--fd-size-icon-btn);
1037
+ --fd-review-diff-label-width: 5rem;
1038
+
1039
+ /* Diff token styling */
1040
+ --fd-review-diff-token-padding: 0.0625rem 0.125rem;
1041
+
1042
+ /* =========================================================================
1043
+ Playground Component Tokens
1044
+ ========================================================================= */
1045
+
1046
+ --fd-playground-sidebar-width: 280px;
1047
+ --fd-playground-header-height: 3.25rem;
1048
+ --fd-playground-icon-btn-size: var(--fd-size-icon-btn);
1049
+
997
1050
  /* =========================================================================
998
1051
  Notes Node Component Tokens
999
1052
  Notes node now uses standard node styling (--fd-card, --fd-node-border)
@@ -1037,7 +1090,7 @@
1037
1090
 
1038
1091
  /* Base markdown styling */
1039
1092
  .markdown-display {
1040
- line-height: 1.6;
1093
+ line-height: var(--fd-leading-relaxed);
1041
1094
  color: inherit;
1042
1095
  }
1043
1096
 
@@ -1118,16 +1171,16 @@
1118
1171
  padding: 0.125rem 0.25rem;
1119
1172
  border-radius: 0.25rem;
1120
1173
  font-size: 0.875em;
1121
- font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
1174
+ font-family: var(--fd-font-mono);
1122
1175
  }
1123
1176
 
1124
1177
  .markdown-display pre {
1125
1178
  background-color: rgba(0, 0, 0, 0.1);
1126
- padding: 0.75rem;
1127
- border-radius: 0.375rem;
1179
+ padding: var(--fd-space-md);
1180
+ border-radius: var(--fd-radius-md);
1128
1181
  overflow-x: auto;
1129
- margin: 0.5rem 0;
1130
- font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
1182
+ margin: var(--fd-space-xs) 0;
1183
+ font-family: var(--fd-font-mono);
1131
1184
  font-size: 0.875em;
1132
1185
  line-height: 1.4;
1133
1186
  }
@@ -11,7 +11,7 @@
11
11
 
12
12
  /* Toaster container: use design token for offset from viewport edges */
13
13
  .flowdrop-toaster.flowdrop-toaster {
14
- --default-offset: var(--fd-space-4, 16px);
14
+ --default-offset: var(--fd-space-xl, 16px);
15
15
  }
16
16
 
17
17
  /*
@@ -24,7 +24,7 @@
24
24
  border: 1px solid var(--fd-border) !important;
25
25
  border-radius: var(--fd-radius-lg) !important;
26
26
  box-shadow: var(--fd-shadow-md) !important;
27
- padding: var(--fd-space-2) var(--fd-space-3) !important;
27
+ padding: var(--fd-space-xs) var(--fd-space-md) !important;
28
28
  max-width: 350px;
29
29
  font-size: var(--fd-text-sm);
30
30
  line-height: 1.3;