@d34dman/flowdrop 0.0.43 → 0.0.45
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/README.md +8 -8
- package/dist/api/enhanced-client.d.ts +3 -1
- package/dist/api/enhanced-client.js +35 -5
- package/dist/components/App.svelte +68 -34
- package/dist/components/ConfigForm.svelte +169 -142
- package/dist/components/ConfigForm.svelte.d.ts +4 -2
- package/dist/components/ConfigPanel.svelte +42 -15
- package/dist/components/LogsSidebar.svelte +20 -19
- package/dist/components/Navbar.svelte +150 -80
- package/dist/components/Navbar.svelte.d.ts +8 -0
- package/dist/components/NodeSidebar.svelte +334 -217
- package/dist/components/PipelineStatus.svelte +6 -1
- package/dist/components/ReadOnlyDetails.svelte +14 -14
- package/dist/components/SchemaForm.svelte +49 -30
- package/dist/components/SchemaForm.svelte.d.ts +11 -1
- package/dist/components/SettingsModal.svelte +279 -0
- package/dist/components/SettingsModal.svelte.d.ts +23 -0
- package/dist/components/SettingsPanel.svelte +615 -0
- package/dist/components/SettingsPanel.svelte.d.ts +21 -0
- package/dist/components/ThemeToggle.svelte +186 -0
- package/dist/components/ThemeToggle.svelte.d.ts +14 -0
- package/dist/components/WorkflowEditor.svelte +114 -38
- package/dist/components/form/FormArray.svelte +81 -81
- package/dist/components/form/FormAutocomplete.svelte +1014 -0
- package/dist/components/form/FormAutocomplete.svelte.d.ts +25 -0
- package/dist/components/form/FormCheckboxGroup.svelte +16 -16
- package/dist/components/form/FormCodeEditor.svelte +26 -26
- package/dist/components/form/FormField.svelte +52 -21
- package/dist/components/form/FormFieldLight.svelte +19 -19
- package/dist/components/form/FormFieldWrapper.svelte +4 -4
- package/dist/components/form/FormMarkdownEditor.svelte +124 -57
- package/dist/components/form/FormNumberField.svelte +13 -13
- package/dist/components/form/FormRangeField.svelte +16 -16
- package/dist/components/form/FormSelect.svelte +15 -15
- package/dist/components/form/FormTemplateEditor.svelte +34 -34
- package/dist/components/form/FormTextField.svelte +13 -13
- package/dist/components/form/FormTextarea.svelte +13 -13
- package/dist/components/form/FormToggle.svelte +8 -8
- package/dist/components/form/index.d.ts +1 -0
- package/dist/components/form/index.js +1 -0
- package/dist/components/form/types.d.ts +133 -8
- package/dist/components/form/types.js +50 -1
- package/dist/components/interrupt/ChoicePrompt.svelte +45 -38
- package/dist/components/interrupt/ConfirmationPrompt.svelte +35 -35
- package/dist/components/interrupt/FormPrompt.svelte +27 -20
- package/dist/components/interrupt/InterruptBubble.svelte +50 -50
- package/dist/components/interrupt/TextInputPrompt.svelte +39 -32
- package/dist/components/layouts/MainLayout.svelte +233 -34
- package/dist/components/layouts/MainLayout.svelte.d.ts +12 -0
- package/dist/components/nodes/GatewayNode.svelte +175 -125
- package/dist/components/nodes/IdeaNode.svelte +70 -84
- package/dist/components/nodes/NotesNode.svelte +124 -88
- package/dist/components/nodes/SimpleNode.svelte +91 -69
- package/dist/components/nodes/SquareNode.svelte +102 -75
- package/dist/components/nodes/TerminalNode.svelte +127 -113
- package/dist/components/nodes/ToolNode.svelte +125 -76
- package/dist/components/nodes/WorkflowNode.svelte +164 -108
- package/dist/components/playground/ChatPanel.svelte +76 -76
- package/dist/components/playground/ExecutionLogs.svelte +71 -69
- package/dist/components/playground/InputCollector.svelte +59 -59
- package/dist/components/playground/MessageBubble.svelte +111 -112
- package/dist/components/playground/Playground.svelte +184 -138
- package/dist/components/playground/PlaygroundModal.svelte +18 -19
- package/dist/components/playground/SessionManager.svelte +68 -67
- package/dist/config/defaultPortConfig.js +22 -22
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +1 -0
- package/dist/form/fieldRegistry.d.ts +17 -1
- package/dist/form/fieldRegistry.js +18 -2
- package/dist/form/index.d.ts +20 -2
- package/dist/form/index.js +19 -1
- package/dist/helpers/nodeLayoutHelper.d.ts +14 -0
- package/dist/helpers/nodeLayoutHelper.js +19 -0
- package/dist/helpers/workflowEditorHelper.js +23 -11
- package/dist/index.d.ts +5 -0
- package/dist/index.js +13 -0
- package/dist/services/autoSaveService.d.ts +112 -0
- package/dist/services/autoSaveService.js +223 -0
- package/dist/services/settingsService.d.ts +92 -0
- package/dist/services/settingsService.js +202 -0
- package/dist/services/toastService.d.ts +9 -0
- package/dist/services/toastService.js +30 -1
- package/dist/stores/settingsStore.d.ts +128 -0
- package/dist/stores/settingsStore.js +488 -0
- package/dist/stores/themeStore.d.ts +68 -0
- package/dist/stores/themeStore.js +215 -0
- package/dist/styles/base.css +338 -621
- package/dist/styles/toast.css +33 -0
- package/dist/styles/tokens.css +402 -0
- package/dist/types/index.d.ts +78 -0
- package/dist/types/index.js +2 -0
- package/dist/types/playground.d.ts +12 -0
- package/dist/types/settings.d.ts +185 -0
- package/dist/types/settings.js +101 -0
- package/dist/utils/colors.d.ts +100 -7
- package/dist/utils/colors.js +228 -67
- package/package.json +2 -2
|
@@ -144,26 +144,26 @@
|
|
|
144
144
|
tabindex="0"
|
|
145
145
|
aria-label="Idea node: {displayTitle}"
|
|
146
146
|
>
|
|
147
|
-
<!-- Left Port (Target/Input) -->
|
|
147
|
+
<!-- Left Port (Target/Input): center at top 40px (multiple of 10), 20px connection area -->
|
|
148
148
|
{#if enableLeftPort}
|
|
149
149
|
<Handle
|
|
150
150
|
type="target"
|
|
151
151
|
position={Position.Left}
|
|
152
|
-
style="
|
|
152
|
+
style="--fd-handle-fill: {getDataTypeColor(
|
|
153
153
|
IDEA_DATA_TYPE
|
|
154
|
-
)}; border-color:
|
|
154
|
+
)}; --fd-handle-border-color: var(--fd-handle-border); top: 40px; transform: translateY(-50%); margin-left: -10px; z-index: 30;"
|
|
155
155
|
id={`${props.data.nodeId}-input-left`}
|
|
156
156
|
/>
|
|
157
157
|
{/if}
|
|
158
158
|
|
|
159
|
-
<!-- Top Port (Target/Input) -->
|
|
159
|
+
<!-- Top Port (Target/Input): center at left 150px (multiple of 10), 20px connection area -->
|
|
160
160
|
{#if enableTopPort}
|
|
161
161
|
<Handle
|
|
162
162
|
type="target"
|
|
163
163
|
position={Position.Top}
|
|
164
|
-
style="
|
|
164
|
+
style="--fd-handle-fill: {getDataTypeColor(
|
|
165
165
|
IDEA_DATA_TYPE
|
|
166
|
-
)}; border-color:
|
|
166
|
+
)}; --fd-handle-border-color: var(--fd-handle-border); left: 150px; transform: translateX(-50%); margin-top: -10px; z-index: 30;"
|
|
167
167
|
id={`${props.data.nodeId}-input-top`}
|
|
168
168
|
/>
|
|
169
169
|
{/if}
|
|
@@ -208,26 +208,26 @@
|
|
|
208
208
|
<Icon icon="mdi:cog" />
|
|
209
209
|
</button>
|
|
210
210
|
|
|
211
|
-
<!-- Right Port (Source/Output) -->
|
|
211
|
+
<!-- Right Port (Source/Output): center at top 40px (multiple of 10), 20px connection area -->
|
|
212
212
|
{#if enableRightPort}
|
|
213
213
|
<Handle
|
|
214
214
|
type="source"
|
|
215
215
|
position={Position.Right}
|
|
216
|
-
style="
|
|
216
|
+
style="--fd-handle-fill: {getDataTypeColor(
|
|
217
217
|
IDEA_DATA_TYPE
|
|
218
|
-
)}; border-color:
|
|
218
|
+
)}; --fd-handle-border-color: var(--fd-handle-border); top: 40px; transform: translateY(-50%); margin-right: -10px; z-index: 30;"
|
|
219
219
|
id={`${props.data.nodeId}-output-right`}
|
|
220
220
|
/>
|
|
221
221
|
{/if}
|
|
222
222
|
|
|
223
|
-
<!-- Bottom Port (Source/Output) -->
|
|
223
|
+
<!-- Bottom Port (Source/Output): center at left 150px (multiple of 10), 20px connection area -->
|
|
224
224
|
{#if enableBottomPort}
|
|
225
225
|
<Handle
|
|
226
226
|
type="source"
|
|
227
227
|
position={Position.Bottom}
|
|
228
|
-
style="
|
|
228
|
+
style="--fd-handle-fill: {getDataTypeColor(
|
|
229
229
|
IDEA_DATA_TYPE
|
|
230
|
-
)}; border-color:
|
|
230
|
+
)}; --fd-handle-border-color: var(--fd-handle-border); left: 150px; transform: translateX(-50%); margin-bottom: -10px; z-index: 30;"
|
|
231
231
|
id={`${props.data.nodeId}-output-bottom`}
|
|
232
232
|
/>
|
|
233
233
|
{/if}
|
|
@@ -236,35 +236,33 @@
|
|
|
236
236
|
<style>
|
|
237
237
|
.flowdrop-idea-node {
|
|
238
238
|
position: relative;
|
|
239
|
-
width:
|
|
239
|
+
width: var(--fd-node-default-width);
|
|
240
|
+
min-height: var(--fd-node-simple-height);
|
|
240
241
|
cursor: pointer;
|
|
241
|
-
transition: all
|
|
242
|
+
transition: all var(--fd-transition-normal);
|
|
242
243
|
z-index: 10;
|
|
244
|
+
color: var(--fd-foreground);
|
|
243
245
|
}
|
|
244
246
|
|
|
245
247
|
.flowdrop-idea-node__card {
|
|
246
|
-
background-color:
|
|
247
|
-
border-radius:
|
|
248
|
-
border: 1px solid
|
|
249
|
-
box-shadow:
|
|
250
|
-
0 4px 6px -1px rgba(0, 0, 0, 0.1),
|
|
251
|
-
0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
248
|
+
background-color: var(--fd-background);
|
|
249
|
+
border-radius: var(--fd-radius-xl);
|
|
250
|
+
border: 1px solid var(--fd-border);
|
|
251
|
+
box-shadow: var(--fd-shadow-md);
|
|
252
252
|
overflow: hidden;
|
|
253
|
-
transition: all
|
|
253
|
+
transition: all var(--fd-transition-normal);
|
|
254
254
|
}
|
|
255
255
|
|
|
256
256
|
.flowdrop-idea-node:hover .flowdrop-idea-node__card {
|
|
257
|
-
box-shadow:
|
|
258
|
-
0 10px 15px -3px rgba(0, 0, 0, 0.1),
|
|
259
|
-
0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
257
|
+
box-shadow: var(--fd-shadow-lg);
|
|
260
258
|
transform: translateY(-1px);
|
|
261
259
|
}
|
|
262
260
|
|
|
263
261
|
.flowdrop-idea-node--selected .flowdrop-idea-node__card {
|
|
264
|
-
border-color:
|
|
262
|
+
border-color: var(--fd-primary);
|
|
265
263
|
box-shadow:
|
|
266
|
-
|
|
267
|
-
0 0 0 3px
|
|
264
|
+
var(--fd-shadow-lg),
|
|
265
|
+
0 0 0 3px color-mix(in srgb, var(--fd-primary) 30%, transparent);
|
|
268
266
|
}
|
|
269
267
|
|
|
270
268
|
.flowdrop-idea-node--processing .flowdrop-idea-node__card {
|
|
@@ -272,15 +270,15 @@
|
|
|
272
270
|
}
|
|
273
271
|
|
|
274
272
|
.flowdrop-idea-node--error .flowdrop-idea-node__card {
|
|
275
|
-
border-color:
|
|
276
|
-
background-color:
|
|
273
|
+
border-color: var(--fd-error) !important;
|
|
274
|
+
background-color: var(--fd-error-muted) !important;
|
|
277
275
|
}
|
|
278
276
|
|
|
279
277
|
/* Accent bar at top of card */
|
|
280
278
|
.flowdrop-idea-node__accent-bar {
|
|
281
279
|
height: 4px;
|
|
282
|
-
background-color: var(--idea-accent-color,
|
|
283
|
-
transition: background-color
|
|
280
|
+
background-color: var(--idea-accent-color, var(--fd-accent));
|
|
281
|
+
transition: background-color var(--fd-transition-normal);
|
|
284
282
|
}
|
|
285
283
|
|
|
286
284
|
/* Header section */
|
|
@@ -288,7 +286,7 @@
|
|
|
288
286
|
display: flex;
|
|
289
287
|
align-items: center;
|
|
290
288
|
gap: 0.625rem;
|
|
291
|
-
padding:
|
|
289
|
+
padding: var(--fd-space-3) var(--fd-space-4) var(--fd-space-2);
|
|
292
290
|
}
|
|
293
291
|
|
|
294
292
|
.flowdrop-idea-node__icon-wrapper {
|
|
@@ -297,21 +295,25 @@
|
|
|
297
295
|
justify-content: center;
|
|
298
296
|
width: 2rem;
|
|
299
297
|
height: 2rem;
|
|
300
|
-
background-color: color-mix(
|
|
301
|
-
|
|
298
|
+
background-color: color-mix(
|
|
299
|
+
in srgb,
|
|
300
|
+
var(--idea-accent-color, var(--fd-accent)) var(--fd-node-icon-bg-opacity),
|
|
301
|
+
transparent
|
|
302
|
+
);
|
|
303
|
+
border-radius: var(--fd-radius-lg);
|
|
302
304
|
flex-shrink: 0;
|
|
303
305
|
}
|
|
304
306
|
|
|
305
307
|
:global(.flowdrop-idea-node__icon) {
|
|
306
308
|
width: 1.25rem;
|
|
307
309
|
height: 1.25rem;
|
|
308
|
-
color: var(--
|
|
310
|
+
color: var(--fd-node-icon);
|
|
309
311
|
}
|
|
310
312
|
|
|
311
313
|
.flowdrop-idea-node__title {
|
|
312
314
|
font-size: 0.9375rem;
|
|
313
315
|
font-weight: 600;
|
|
314
|
-
color:
|
|
316
|
+
color: var(--fd-foreground);
|
|
315
317
|
margin: 0;
|
|
316
318
|
line-height: 1.3;
|
|
317
319
|
overflow: hidden;
|
|
@@ -321,12 +323,12 @@
|
|
|
321
323
|
|
|
322
324
|
/* Body section */
|
|
323
325
|
.flowdrop-idea-node__body {
|
|
324
|
-
padding: 0
|
|
326
|
+
padding: 0 var(--fd-space-4) var(--fd-space-3);
|
|
325
327
|
}
|
|
326
328
|
|
|
327
329
|
.flowdrop-idea-node__description {
|
|
328
330
|
font-size: 0.8125rem;
|
|
329
|
-
color:
|
|
331
|
+
color: var(--fd-muted-foreground);
|
|
330
332
|
margin: 0;
|
|
331
333
|
line-height: 1.5;
|
|
332
334
|
display: -webkit-box;
|
|
@@ -340,18 +342,18 @@
|
|
|
340
342
|
.flowdrop-idea-node__processing {
|
|
341
343
|
display: flex;
|
|
342
344
|
align-items: center;
|
|
343
|
-
gap:
|
|
344
|
-
padding:
|
|
345
|
-
font-size:
|
|
346
|
-
color:
|
|
347
|
-
border-top: 1px solid
|
|
345
|
+
gap: var(--fd-space-2);
|
|
346
|
+
padding: var(--fd-space-2) var(--fd-space-4);
|
|
347
|
+
font-size: var(--fd-text-xs);
|
|
348
|
+
color: var(--fd-muted-foreground);
|
|
349
|
+
border-top: 1px solid var(--fd-border-muted);
|
|
348
350
|
}
|
|
349
351
|
|
|
350
352
|
.flowdrop-idea-node__spinner {
|
|
351
353
|
width: 0.875rem;
|
|
352
354
|
height: 0.875rem;
|
|
353
|
-
border: 2px solid
|
|
354
|
-
border-top-color: var(--idea-accent-color,
|
|
355
|
+
border: 2px solid var(--fd-border);
|
|
356
|
+
border-top-color: var(--idea-accent-color, var(--fd-accent));
|
|
355
357
|
border-radius: 50%;
|
|
356
358
|
animation: idea-spin 1s linear infinite;
|
|
357
359
|
}
|
|
@@ -360,12 +362,12 @@
|
|
|
360
362
|
.flowdrop-idea-node__error {
|
|
361
363
|
display: flex;
|
|
362
364
|
align-items: center;
|
|
363
|
-
gap:
|
|
364
|
-
padding:
|
|
365
|
-
font-size:
|
|
366
|
-
color:
|
|
367
|
-
border-top: 1px solid
|
|
368
|
-
background-color:
|
|
365
|
+
gap: var(--fd-space-2);
|
|
366
|
+
padding: var(--fd-space-2) var(--fd-space-4);
|
|
367
|
+
font-size: var(--fd-text-xs);
|
|
368
|
+
color: var(--fd-error);
|
|
369
|
+
border-top: 1px solid color-mix(in srgb, var(--fd-error) 30%, transparent);
|
|
370
|
+
background-color: var(--fd-error-muted);
|
|
369
371
|
}
|
|
370
372
|
|
|
371
373
|
:global(.flowdrop-idea-node__error-icon) {
|
|
@@ -386,19 +388,19 @@
|
|
|
386
388
|
right: 0.625rem;
|
|
387
389
|
width: 1.5rem;
|
|
388
390
|
height: 1.5rem;
|
|
389
|
-
background-color:
|
|
390
|
-
border: 1px solid
|
|
391
|
-
border-radius:
|
|
392
|
-
color:
|
|
391
|
+
background-color: var(--fd-backdrop);
|
|
392
|
+
border: 1px solid var(--fd-border);
|
|
393
|
+
border-radius: var(--fd-radius-md);
|
|
394
|
+
color: var(--fd-muted-foreground);
|
|
393
395
|
cursor: pointer;
|
|
394
396
|
display: flex;
|
|
395
397
|
align-items: center;
|
|
396
398
|
justify-content: center;
|
|
397
399
|
opacity: 0;
|
|
398
|
-
transition: all
|
|
399
|
-
backdrop-filter: blur
|
|
400
|
+
transition: all var(--fd-transition-normal);
|
|
401
|
+
backdrop-filter: var(--fd-backdrop-blur);
|
|
400
402
|
z-index: 15;
|
|
401
|
-
font-size:
|
|
403
|
+
font-size: var(--fd-text-sm);
|
|
402
404
|
}
|
|
403
405
|
|
|
404
406
|
.flowdrop-idea-node:hover .flowdrop-idea-node__config-btn {
|
|
@@ -406,45 +408,34 @@
|
|
|
406
408
|
}
|
|
407
409
|
|
|
408
410
|
.flowdrop-idea-node__config-btn:hover {
|
|
409
|
-
background-color:
|
|
410
|
-
border-color:
|
|
411
|
-
color:
|
|
411
|
+
background-color: var(--fd-muted);
|
|
412
|
+
border-color: var(--fd-border-strong);
|
|
413
|
+
color: var(--fd-foreground);
|
|
412
414
|
transform: scale(1.05);
|
|
413
415
|
}
|
|
414
416
|
|
|
415
|
-
/* Handle
|
|
417
|
+
/* Handle: 20px/12px from base.css; position offsets for 20px handle */
|
|
416
418
|
:global(.flowdrop-idea-node .svelte-flow__handle) {
|
|
417
|
-
width: 16px !important;
|
|
418
|
-
height: 16px !important;
|
|
419
|
-
border-radius: 50% !important;
|
|
420
|
-
border: 2px solid #ffffff !important;
|
|
421
|
-
transition: all 0.2s ease-in-out !important;
|
|
422
|
-
cursor: pointer !important;
|
|
423
419
|
z-index: 20 !important;
|
|
424
420
|
pointer-events: auto !important;
|
|
425
421
|
}
|
|
426
422
|
|
|
427
|
-
/* Left handle positioning */
|
|
428
423
|
:global(.flowdrop-idea-node .svelte-flow__handle-left) {
|
|
429
|
-
left: -
|
|
424
|
+
left: -10px !important;
|
|
430
425
|
}
|
|
431
426
|
|
|
432
|
-
/* Right handle positioning */
|
|
433
427
|
:global(.flowdrop-idea-node .svelte-flow__handle-right) {
|
|
434
|
-
right: -
|
|
428
|
+
right: -10px !important;
|
|
435
429
|
}
|
|
436
430
|
|
|
437
|
-
/* Top handle positioning */
|
|
438
431
|
:global(.flowdrop-idea-node .svelte-flow__handle-top) {
|
|
439
|
-
top: -
|
|
432
|
+
top: -10px !important;
|
|
440
433
|
}
|
|
441
434
|
|
|
442
|
-
/* Bottom handle positioning */
|
|
443
435
|
:global(.flowdrop-idea-node .svelte-flow__handle-bottom) {
|
|
444
|
-
bottom: -
|
|
436
|
+
bottom: -10px !important;
|
|
445
437
|
}
|
|
446
438
|
|
|
447
|
-
/* Handle hover effects */
|
|
448
439
|
:global(.flowdrop-idea-node .svelte-flow__handle-left:hover),
|
|
449
440
|
:global(.flowdrop-idea-node .svelte-flow__handle-right:hover) {
|
|
450
441
|
transform: translateY(-50%) scale(1.2) !important;
|
|
@@ -455,11 +446,6 @@
|
|
|
455
446
|
transform: translateX(-50%) scale(1.2) !important;
|
|
456
447
|
}
|
|
457
448
|
|
|
458
|
-
:global(.flowdrop-idea-node .svelte-flow__handle:focus) {
|
|
459
|
-
outline: 2px solid #3b82f6 !important;
|
|
460
|
-
outline-offset: 2px !important;
|
|
461
|
-
}
|
|
462
|
-
|
|
463
449
|
/* Responsive design */
|
|
464
450
|
@media (max-width: 640px) {
|
|
465
451
|
.flowdrop-idea-node {
|
|
@@ -475,11 +461,11 @@
|
|
|
475
461
|
}
|
|
476
462
|
|
|
477
463
|
.flowdrop-idea-node__title {
|
|
478
|
-
font-size:
|
|
464
|
+
font-size: var(--fd-text-sm);
|
|
479
465
|
}
|
|
480
466
|
|
|
481
467
|
.flowdrop-idea-node__description {
|
|
482
|
-
font-size:
|
|
468
|
+
font-size: var(--fd-text-xs);
|
|
483
469
|
}
|
|
484
470
|
}
|
|
485
471
|
</style>
|