@flowdrop/flowdrop 2.0.0-beta.1 → 2.0.0-beta.3
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/CHANGELOG.md +67 -0
- package/MIGRATION-2.0.md +173 -3
- package/dist/api/enhanced-client.js +6 -11
- package/dist/components/App.svelte +22 -45
- package/dist/components/App.svelte.d.ts +2 -7
- package/dist/components/CanvasIconButton.svelte +76 -0
- package/dist/components/CanvasIconButton.svelte.d.ts +18 -0
- package/dist/components/ConfigForm.svelte +6 -21
- package/dist/components/ConfigPanel.svelte +4 -3
- package/dist/components/LogoWordmark.svelte +113 -0
- package/dist/components/LogoWordmark.svelte.d.ts +26 -0
- package/dist/components/Navbar.svelte +8 -59
- package/dist/components/NodeSidebar.svelte +4 -11
- package/dist/components/NodeSwapPicker.svelte +0 -2
- package/dist/components/PipelineStatus.svelte +6 -1
- package/dist/components/PipelineStatus.svelte.d.ts +3 -0
- package/dist/components/PortMappingRow.svelte +0 -2
- package/dist/components/SchemaForm.svelte +4 -14
- package/dist/components/SettingsModal.svelte +0 -5
- package/dist/components/SettingsPanel.svelte +2 -6
- package/dist/components/ThemeToggle.svelte +0 -5
- package/dist/components/UniversalNode.svelte +32 -1
- package/dist/components/WorkflowEditor.svelte +66 -52
- package/dist/components/WorkflowEditor.svelte.d.ts +21 -0
- package/dist/components/chat/AIChatPanel.svelte +7 -2
- package/dist/components/console/ConsoleAutocomplete.svelte +1 -1
- package/dist/components/console/ConsoleOutput.svelte +2 -2
- package/dist/components/form/FormArray.svelte +0 -16
- package/dist/components/form/FormAutocomplete.svelte +18 -15
- package/dist/components/form/FormCheckboxGroup.svelte +0 -4
- package/dist/components/form/FormCodeEditor.svelte +9 -7
- package/dist/components/form/FormFieldLight.svelte +33 -4
- package/dist/components/form/FormFieldLight.svelte.d.ts +12 -0
- package/dist/components/form/FormMarkdownEditor.svelte +8 -5
- package/dist/components/form/FormNumberField.svelte +0 -4
- package/dist/components/form/FormRangeField.svelte +1 -20
- package/dist/components/form/FormSelect.svelte +10 -6
- package/dist/components/form/FormTemplateEditor.svelte +6 -4
- package/dist/components/form/FormTextField.svelte +10 -6
- package/dist/components/form/FormTextarea.svelte +10 -6
- package/dist/components/form/FormToggle.svelte +0 -4
- package/dist/components/form/FormUISchemaRenderer.svelte +3 -1
- package/dist/components/icons/CommandLineIcon.svelte +15 -0
- package/dist/components/icons/CommandLineIcon.svelte.d.ts +26 -0
- package/dist/components/icons/MenuIcon.svelte +4 -0
- package/dist/components/icons/MenuIcon.svelte.d.ts +26 -0
- package/dist/components/icons/MenuOpenIcon.svelte +6 -0
- package/dist/components/icons/MenuOpenIcon.svelte.d.ts +26 -0
- package/dist/components/interrupt/ChoicePrompt.svelte +0 -10
- package/dist/components/interrupt/ConfirmationPrompt.svelte +0 -5
- package/dist/components/interrupt/InterruptBubble.svelte +11 -12
- package/dist/components/interrupt/ReviewPrompt.svelte +0 -20
- package/dist/components/interrupt/TextInputPrompt.svelte +0 -6
- package/dist/components/layouts/MainLayout.svelte +4 -5
- package/dist/components/nodes/AtomNode.svelte +46 -34
- package/dist/components/nodes/GatewayNode.svelte +91 -99
- package/dist/components/nodes/IdeaNode.svelte +62 -90
- package/dist/components/nodes/NodeConfigButton.svelte +86 -0
- package/dist/components/nodes/NodeConfigButton.svelte.d.ts +15 -0
- package/dist/components/nodes/NotesNode.svelte +70 -81
- package/dist/components/nodes/SimpleNode.svelte +28 -78
- package/dist/components/nodes/SquareNode.svelte +79 -109
- package/dist/components/nodes/TerminalNode.svelte +28 -86
- package/dist/components/nodes/ToolNode.svelte +82 -95
- package/dist/components/nodes/WorkflowNode.svelte +91 -100
- package/dist/components/playground/ChatInput.svelte +0 -1
- package/dist/components/playground/InputCollector.svelte +0 -2
- package/dist/components/playground/PipelineKanbanView.svelte +4 -2
- package/dist/components/playground/PipelineKanbanView.svelte.d.ts +2 -0
- package/dist/components/playground/PipelinePanel.svelte +20 -3
- package/dist/components/playground/PipelinePanel.svelte.d.ts +2 -0
- package/dist/components/playground/PipelineTableView.svelte +4 -2
- package/dist/components/playground/PipelineTableView.svelte.d.ts +2 -0
- package/dist/components/playground/Playground.svelte +76 -25
- package/dist/components/playground/Playground.svelte.d.ts +3 -0
- package/dist/components/playground/PlaygroundApp.svelte +6 -1
- package/dist/components/playground/PlaygroundApp.svelte.d.ts +3 -0
- package/dist/components/playground/PlaygroundModal.svelte +5 -0
- package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -0
- package/dist/components/playground/PlaygroundStudio.svelte +7 -6
- package/dist/components/playground/PlaygroundStudio.svelte.d.ts +3 -0
- package/dist/components/playground/pipelineViewUtils.svelte.d.ts +2 -1
- package/dist/components/playground/pipelineViewUtils.svelte.js +2 -2
- package/dist/config/endpoints.d.ts +23 -0
- package/dist/config/endpoints.js +28 -0
- package/dist/core/index.d.ts +1 -2
- package/dist/core/index.js +2 -6
- package/dist/display/index.d.ts +6 -1
- package/dist/display/index.js +9 -1
- package/dist/editor/index.d.ts +1 -1
- package/dist/editor/index.js +1 -1
- package/dist/form/full.d.ts +2 -1
- package/dist/form/full.js +4 -1
- package/dist/form/index.d.ts +0 -1
- package/dist/form/index.js +3 -2
- package/dist/helpers/workflowEditorHelper.d.ts +4 -2
- package/dist/helpers/workflowEditorHelper.js +4 -3
- package/dist/playground/index.d.ts +2 -2
- package/dist/playground/index.js +2 -2
- package/dist/playground/mount.d.ts +19 -5
- package/dist/playground/mount.js +16 -8
- package/dist/registry/builtinNodeTypes.d.ts +53 -0
- package/dist/registry/builtinNodeTypes.js +67 -0
- package/dist/registry/builtinNodes.d.ts +2 -39
- package/dist/registry/builtinNodes.js +6 -53
- package/dist/services/agentSpecExecutionService.d.ts +0 -2
- package/dist/services/agentSpecExecutionService.js +0 -2
- package/dist/services/apiVariableService.js +12 -26
- package/dist/services/categoriesApi.js +3 -6
- package/dist/services/chatService.d.ts +4 -3
- package/dist/services/chatService.js +13 -18
- package/dist/services/interruptService.d.ts +7 -6
- package/dist/services/interruptService.js +19 -21
- package/dist/services/playgroundService.d.ts +9 -8
- package/dist/services/playgroundService.js +23 -25
- package/dist/services/portConfigApi.js +3 -6
- package/dist/services/settingsService.d.ts +9 -4
- package/dist/services/settingsService.js +23 -12
- package/dist/skins/drafter.d.ts +30 -0
- package/dist/skins/drafter.js +185 -0
- package/dist/skins/index.d.ts +2 -1
- package/dist/skins/index.js +4 -2
- package/dist/stores/apiContext.d.ts +11 -0
- package/dist/stores/apiContext.js +15 -0
- package/dist/stores/categoriesStore.svelte.js +0 -1
- package/dist/stores/playgroundStore.svelte.js +0 -2
- package/dist/styles/base.css +38 -9
- package/dist/styles/tokens.css +54 -2
- package/dist/svelte-app.d.ts +6 -0
- package/dist/svelte-app.js +4 -2
- package/dist/themes/drafter.d.ts +2 -0
- package/dist/themes/drafter.js +15 -0
- package/dist/themes/index.d.ts +2 -1
- package/dist/themes/index.js +8 -2
- package/dist/types/auth.d.ts +9 -51
- package/dist/types/auth.js +4 -54
- package/dist/types/events.d.ts +18 -0
- package/dist/types/events.js +2 -1
- package/dist/types/index.d.ts +4 -2
- package/dist/types/index.js +0 -1
- package/dist/types/settings.d.ts +1 -1
- package/dist/types/settings.js +1 -1
- package/dist/types/skin.d.ts +1 -1
- package/dist/types/theme.d.ts +16 -2
- package/dist/utils/edgeStyling.js +9 -5
- package/dist/utils/fetchWithAuth.d.ts +36 -15
- package/dist/utils/fetchWithAuth.js +53 -23
- package/dist/utils/nodeTypes.js +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
FlowDrop horizontal lockup: rocket mark + "FlowDrop" wordmark.
|
|
3
|
+
Theme-aware via the same --fd-logo-* variables as Logo.svelte, plus
|
|
4
|
+
--fd-logo-text for the wordmark glyphs.
|
|
5
|
+
-->
|
|
6
|
+
<div class="flowdrop-logo-wordmark">
|
|
7
|
+
<svg viewBox="0 0 2500 499.99999" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
|
8
|
+
<g transform="translate(472.2413,571.30469)">
|
|
9
|
+
<g transform="matrix(1.2053353,0,0,1.2053353,-1246.7763,-599.46548)">
|
|
10
|
+
<path
|
|
11
|
+
style="fill:var(--logo-line-fill);stroke-width:10;stroke-dasharray:none"
|
|
12
|
+
d="M 850,120 V 310 Z"
|
|
13
|
+
/>
|
|
14
|
+
<path
|
|
15
|
+
style="fill:var(--logo-line-fill);stroke:var(--logo-stroke);stroke-width:16.59289328;stroke-dasharray:none;stroke-opacity:1"
|
|
16
|
+
d="M 850,110 V 310"
|
|
17
|
+
/>
|
|
18
|
+
<path
|
|
19
|
+
style="fill:none;stroke:var(--logo-stroke);stroke-width:14.98546028;stroke-dasharray:none;stroke-opacity:1"
|
|
20
|
+
d="m 850,158.973 v 36.70355 8.15635 c 0,0 1.19184,39.5038 -36.01255,65.25076 -29.46481,20.39086 -52.3819,16.31269 -55.65576,65.25076 v 44.8599"
|
|
21
|
+
/>
|
|
22
|
+
<path
|
|
23
|
+
style="fill:none;stroke:var(--logo-stroke);stroke-width:15.05060005;stroke-dasharray:none;stroke-opacity:1"
|
|
24
|
+
d="m 850,158.973 v 37.02335 8.22741 c 0,0 -1.19184,39.84799 36.01255,65.81929 29.46481,20.56853 52.3819,16.45482 55.65576,65.81929 v 45.25076"
|
|
25
|
+
/>
|
|
26
|
+
<path
|
|
27
|
+
d="m 849.41763,64.456369 25.36824,31.087262 c 6.23336,6.364119 10.06921,15.063569 10.06921,24.656839 0,19.50109 -15.85132,35.30988 -35.42373,35.30988 -19.57241,0 -35.43242,-15.80879 -35.43242,-35.30988 0,-9.49405 3.75813,-18.11351 9.87536,-24.458879 z"
|
|
28
|
+
style="fill:var(--logo-drop);stroke:var(--logo-stroke);stroke-width:16.59289932;stroke-dasharray:none;paint-order:fill"
|
|
29
|
+
/>
|
|
30
|
+
<circle
|
|
31
|
+
style="fill:var(--logo-circle);stroke:var(--logo-stroke);stroke-width:16.59289932;stroke-dasharray:none"
|
|
32
|
+
cx="849.427"
|
|
33
|
+
cy="326.5929"
|
|
34
|
+
r="30"
|
|
35
|
+
/>
|
|
36
|
+
<ellipse
|
|
37
|
+
style="fill:var(--logo-left);stroke:var(--logo-stroke);stroke-width:16.59289932;stroke-dasharray:none"
|
|
38
|
+
cx="759.99994"
|
|
39
|
+
cy="369.44669"
|
|
40
|
+
rx="29.999952"
|
|
41
|
+
ry="30.000004"
|
|
42
|
+
/>
|
|
43
|
+
<ellipse
|
|
44
|
+
style="fill:var(--logo-right);stroke:var(--logo-stroke);stroke-width:16.59289932;stroke-dasharray:none"
|
|
45
|
+
cx="939.99963"
|
|
46
|
+
cy="369.44669"
|
|
47
|
+
rx="29.999952"
|
|
48
|
+
ry="30.000004"
|
|
49
|
+
/>
|
|
50
|
+
</g>
|
|
51
|
+
</g>
|
|
52
|
+
<g aria-label="FlowDrop" style="font-size:400.327px;fill:var(--logo-text);stroke-width:10.4252">
|
|
53
|
+
<path
|
|
54
|
+
d="M 710.85926,99.779646 V 116.59025 H 584.38877 v 92.65381 h 91.48097 v 16.81061 H 584.38877 V 358.97574 H 540.79848 V 99.779646 Z"
|
|
55
|
+
style="fill:var(--logo-text)"
|
|
56
|
+
/>
|
|
57
|
+
<path
|
|
58
|
+
d="M 788.07077,358.97574 H 748.19445 V 68.113156 L 776.53791,56.77577 h 11.53286 z"
|
|
59
|
+
style="fill:var(--logo-text)"
|
|
60
|
+
/>
|
|
61
|
+
<path
|
|
62
|
+
d="m 950.50815,363.27613 q -23.06571,0 -42.41746,-8.01436 -19.35174,-8.01436 -33.42574,-21.69741 -14.07399,-13.87853 -22.08835,-32.25291 -7.81889,-18.56986 -7.81889,-39.68085 0,-22.08835 7.81889,-41.4401 8.01436,-19.54722 22.08835,-34.01216 14.074,-14.46494 33.42574,-22.67477 19.35175,-8.4053 42.41746,-8.4053 22.87025,0 42.02652,7.62341 19.35173,7.62342 33.42573,20.91553 14.074,13.2921 21.8929,31.27554 8.0144,17.78797 8.0144,38.31255 0,22.67477 -8.0144,42.8084 -7.8189,19.93816 -21.8929,34.98952 -14.074,14.85588 -33.42573,23.65213 -19.15627,8.60078 -42.02652,8.60078 z m 7.62342,-14.66042 q 11.72833,0 21.50194,-6.05963 9.77361,-6.05964 16.8106,-16.22419 7.03699,-10.36003 10.94649,-23.84761 3.9094,-13.48758 3.9094,-28.53893 0,-21.69741 -3.714,-40.65821 -3.7139,-18.9608 -12.11925,-33.0348 -8.4053,-14.074 -21.89288,-22.08835 -13.48758,-8.20984 -32.83932,-8.20984 -9.96908,0 -19.35175,5.86417 -9.38266,5.66869 -16.61513,15.63777 -7.037,9.96908 -11.33739,23.45666 -4.30039,13.29211 -4.30039,28.34347 0,21.89288 4.49586,41.04915 4.69134,19.15627 13.48758,33.42574 8.99172,14.26947 21.69741,22.67477 12.90117,8.20983 29.32083,8.20983 z"
|
|
63
|
+
style="fill:var(--logo-text)"
|
|
64
|
+
/>
|
|
65
|
+
<path
|
|
66
|
+
d="m 1122.7191,158.81224 63.333,146.21318 62.7465,-146.21318 63.1375,146.21318 55.9051,-146.21318 h 19.1563 l -81.7074,202.31369 h -13.4876 l -55.905,-130.77088 -56.1005,130.77088 h -12.3148 l -87.5715,-202.31369 z"
|
|
67
|
+
style="fill:var(--logo-text)"
|
|
68
|
+
/>
|
|
69
|
+
<path
|
|
70
|
+
d="m 1424.9191,99.779646 h 86.3987 q 39.8763,0 68.6107,7.427944 28.7345,7.42794 47.8907,23.8476 21.8929,18.76533 32.8394,43.00388 11.1419,24.23855 11.1419,52.97296 0,27.3661 -9.9691,51.40918 -9.7736,24.04307 -28.9299,42.02651 -18.9608,17.78797 -47.1088,28.14799 -27.9525,10.36003 -64.1149,10.36003 h -96.7587 z m 43.5903,240.235294 h 46.3269 q 21.8929,0 41.2446,-7.23247 19.3518,-7.23247 33.6213,-21.50194 14.4649,-14.26947 22.6747,-34.98952 8.4053,-20.91552 8.4053,-48.28162 0,-24.04308 -7.8189,-43.98124 -7.8188,-20.13363 -21.8928,-34.59857 -14.074,-14.46494 -33.6213,-22.4793 -19.3517,-8.01436 -42.4174,-8.01436 h -46.5224 z"
|
|
71
|
+
style="fill:var(--logo-text)"
|
|
72
|
+
/>
|
|
73
|
+
<path
|
|
74
|
+
d="m 1758.7855,155.09827 h 6.0597 l 5.2777,40.85368 q 4.6914,-8.99172 11.7283,-16.41966 7.037,-7.42794 15.4424,-12.90116 8.6007,-5.47322 17.9834,-8.40531 9.5781,-3.12755 19.3517,-3.12755 8.7963,0 17.2016,2.34567 8.6008,2.34566 16.0287,7.42794 l -12.5102,33.42574 q -3.9095,-4.30039 -8.2098,-6.84153 -4.3004,-2.73661 -8.7963,-4.10491 -4.4959,-1.56378 -9.1872,-1.95472 -4.6913,-0.39095 -9.3827,-0.39095 -7.4279,0 -14.6604,2.15019 -7.037,2.1502 -13.4875,6.45059 -6.4506,4.10491 -11.9238,10.75097 -5.4733,6.45058 -9.5782,15.24682 v 139.37166 h -39.6808 V 166.04471 Z"
|
|
75
|
+
style="fill:var(--logo-text)"
|
|
76
|
+
/>
|
|
77
|
+
<path
|
|
78
|
+
d="m 1995.6979,363.27613 q -23.0658,0 -42.4175,-8.01436 -19.3518,-8.01436 -33.4257,-21.69741 -14.074,-13.87853 -22.0884,-32.25291 -7.8189,-18.56986 -7.8189,-39.68085 0,-22.08835 7.8189,-41.4401 8.0144,-19.54722 22.0884,-34.01216 14.0739,-14.46494 33.4257,-22.67477 19.3517,-8.4053 42.4175,-8.4053 22.8702,0 42.0265,7.62341 19.3517,7.62342 33.4257,20.91553 14.074,13.2921 21.8929,31.27554 8.0143,17.78797 8.0143,38.31255 0,22.67477 -8.0143,42.8084 -7.8189,19.93816 -21.8929,34.98952 -14.074,14.85588 -33.4257,23.65213 -19.1563,8.60078 -42.0265,8.60078 z m 7.6234,-14.66042 q 11.7283,0 21.5019,-6.05963 9.7736,-6.05964 16.8106,-16.22419 7.037,-10.36003 10.9465,-23.84761 3.9094,-13.48758 3.9094,-28.53893 0,-21.69741 -3.714,-40.65821 -3.7139,-18.9608 -12.1192,-33.0348 -8.4054,-14.074 -21.8929,-22.08835 -13.4876,-8.20984 -32.8394,-8.20984 -9.969,0 -19.3517,5.86417 -9.3827,5.66869 -16.6151,15.63777 -7.037,9.96908 -11.3374,23.45666 -4.3004,13.29211 -4.3004,28.34347 0,21.89288 4.4959,41.04915 4.6913,19.15627 13.4875,33.42574 8.9918,14.26947 21.6974,22.67477 12.9012,8.20983 29.3209,8.20983 z"
|
|
79
|
+
style="fill:var(--logo-text)"
|
|
80
|
+
/>
|
|
81
|
+
<path
|
|
82
|
+
d="m 2186.0877,155.09827 h 11.3374 v 44.9586 q 6.0596,-7.62342 13.2921,-15.63778 7.4279,-8.01435 16.2242,-14.46494 8.9917,-6.64605 19.7427,-10.75097 10.7509,-4.10491 23.4566,-4.10491 17.788,0 32.2529,7.42794 14.465,7.42794 24.6295,20.13363 10.3601,12.7057 15.8333,29.90725 5.6687,17.00607 5.6687,36.35782 0,24.82496 -6.8416,45.93596 -6.8415,20.91552 -19.5472,36.16235 -12.7057,15.24683 -30.8846,23.8476 -18.1789,8.40531 -40.6582,8.40531 -8.2098,0 -15.4423,-0.97736 -7.037,-0.78189 -13.4876,-2.54114 -6.2551,-1.75925 -12.3147,-4.49586 -5.8642,-2.73661 -11.9238,-6.64606 v 94.60853 h -39.8763 V 166.24018 Z m 11.3374,149.92715 q 0,8.99172 3.9094,17.00608 3.9095,7.81889 10.9465,13.87852 7.037,5.86417 16.8106,9.38267 9.7736,3.32302 21.5019,3.32302 11.1419,0 20.9155,-5.66869 9.9691,-5.66869 17.2016,-16.02872 7.4279,-10.55549 11.5328,-25.02043 4.3004,-14.46494 4.3004,-32.05744 0,-22.08835 -3.9094,-38.50802 -3.9095,-16.61513 -10.9465,-27.56157 -6.8415,-10.94644 -16.4196,-16.41966 -9.3827,-5.47322 -20.7201,-5.47322 -8.6007,0 -16.6151,2.73661 -7.8189,2.54113 -14.8559,7.03699 -7.037,4.49586 -13.0966,10.36003 -5.8642,5.86416 -10.5555,12.31475 z"
|
|
83
|
+
style="fill:var(--logo-text)"
|
|
84
|
+
/>
|
|
85
|
+
</g>
|
|
86
|
+
</svg>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<style>
|
|
90
|
+
.flowdrop-logo-wordmark {
|
|
91
|
+
--logo-stroke: var(--fd-logo-stroke, #000000);
|
|
92
|
+
--logo-text: var(--fd-logo-text, #000000);
|
|
93
|
+
--logo-line-fill: var(--fd-logo-line-fill, #000000);
|
|
94
|
+
--logo-drop: var(--fd-logo-drop, #009cde);
|
|
95
|
+
--logo-circle: var(--fd-logo-circle, #f46351);
|
|
96
|
+
--logo-left: var(--fd-logo-left, #ccbaf4);
|
|
97
|
+
--logo-right: var(--fd-logo-right, #ffc423);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
:global([data-theme='dark']) .flowdrop-logo-wordmark {
|
|
101
|
+
/* Stroke, wordmark, and the center line go white in dark; the brand-color
|
|
102
|
+
dots (drop/circle/left/right) keep their fills, same as light mode. */
|
|
103
|
+
--logo-stroke: var(--fd-logo-stroke, #ffffff);
|
|
104
|
+
--logo-text: var(--fd-logo-text, #ffffff);
|
|
105
|
+
--logo-line-fill: var(--fd-logo-line-fill, #ffffff);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.flowdrop-logo-wordmark :global(svg) {
|
|
109
|
+
display: block;
|
|
110
|
+
width: 100%;
|
|
111
|
+
height: 100%;
|
|
112
|
+
}
|
|
113
|
+
</style>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export default LogoWordmark;
|
|
2
|
+
type LogoWordmark = SvelteComponent<{
|
|
3
|
+
[x: string]: never;
|
|
4
|
+
}, {
|
|
5
|
+
[evt: string]: CustomEvent<any>;
|
|
6
|
+
}, {}> & {
|
|
7
|
+
$$bindings?: string | undefined;
|
|
8
|
+
};
|
|
9
|
+
declare const LogoWordmark: $$__sveltets_2_IsomorphicComponent<{
|
|
10
|
+
[x: string]: never;
|
|
11
|
+
}, {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
}, {}, {}, string>;
|
|
14
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
15
|
+
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
16
|
+
$$bindings?: Bindings;
|
|
17
|
+
} & Exports;
|
|
18
|
+
(internal: unknown, props: {
|
|
19
|
+
$$events?: Events;
|
|
20
|
+
$$slots?: Slots;
|
|
21
|
+
}): Exports & {
|
|
22
|
+
$set?: any;
|
|
23
|
+
$on?: any;
|
|
24
|
+
};
|
|
25
|
+
z_$$bindings?: Bindings;
|
|
26
|
+
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
<script lang="ts">
|
|
10
10
|
import Icon from '@iconify/svelte';
|
|
11
|
-
import
|
|
11
|
+
import LogoWordmark from './LogoWordmark.svelte';
|
|
12
12
|
import SettingsModal from './SettingsModal.svelte';
|
|
13
13
|
import type { SettingsCategory } from '../types/settings.js';
|
|
14
14
|
import type { NavbarAction } from '../types/navbar.js';
|
|
@@ -97,16 +97,10 @@
|
|
|
97
97
|
|
|
98
98
|
<div class="flowdrop-navbar">
|
|
99
99
|
<div class="flowdrop-navbar__start">
|
|
100
|
-
<!-- Logo
|
|
100
|
+
<!-- Logo (rocket + FlowDrop wordmark) -->
|
|
101
101
|
<div class="flowdrop-logo--container">
|
|
102
|
-
<div class="flowdrop-
|
|
103
|
-
<
|
|
104
|
-
<Logo />
|
|
105
|
-
</div>
|
|
106
|
-
<div>
|
|
107
|
-
<h1 class="flowdrop-text--logo flowdrop-font--bold">{nav.appName}</h1>
|
|
108
|
-
<p class="flowdrop-text--tagline flowdrop-text--gray">{nav.tagline}</p>
|
|
109
|
-
</div>
|
|
102
|
+
<div class="flowdrop-logo--header">
|
|
103
|
+
<LogoWordmark />
|
|
110
104
|
</div>
|
|
111
105
|
</div>
|
|
112
106
|
</div>
|
|
@@ -331,10 +325,10 @@
|
|
|
331
325
|
}
|
|
332
326
|
|
|
333
327
|
.flowdrop-logo--header {
|
|
334
|
-
|
|
335
|
-
height:
|
|
336
|
-
|
|
337
|
-
padding: 2px;
|
|
328
|
+
/* Wordmark lockup is 5:1; keep it within the start column. */
|
|
329
|
+
height: 32px;
|
|
330
|
+
width: 160px;
|
|
331
|
+
padding: 2px 0;
|
|
338
332
|
}
|
|
339
333
|
|
|
340
334
|
.flowdrop-navbar__center {
|
|
@@ -724,11 +718,6 @@
|
|
|
724
718
|
border-color: var(--fd-border-strong);
|
|
725
719
|
}
|
|
726
720
|
|
|
727
|
-
.flowdrop-navbar__settings-btn:focus {
|
|
728
|
-
outline: none;
|
|
729
|
-
box-shadow: 0 0 0 2px var(--fd-ring);
|
|
730
|
-
}
|
|
731
|
-
|
|
732
721
|
.flowdrop-navbar__settings-btn:active {
|
|
733
722
|
transform: scale(0.95);
|
|
734
723
|
}
|
|
@@ -753,38 +742,6 @@
|
|
|
753
742
|
background-color: var(--fd-success);
|
|
754
743
|
}
|
|
755
744
|
|
|
756
|
-
/* Utility classes */
|
|
757
|
-
.flowdrop-flex {
|
|
758
|
-
display: flex;
|
|
759
|
-
}
|
|
760
|
-
|
|
761
|
-
.flowdrop-gap--3 {
|
|
762
|
-
gap: 0.75rem;
|
|
763
|
-
}
|
|
764
|
-
|
|
765
|
-
.flowdrop-text--logo {
|
|
766
|
-
font-size: 1.125rem;
|
|
767
|
-
line-height: 0;
|
|
768
|
-
}
|
|
769
|
-
|
|
770
|
-
.flowdrop-text--tagline {
|
|
771
|
-
font-size: var(--fd-text-xs);
|
|
772
|
-
line-height: 0.5rem;
|
|
773
|
-
}
|
|
774
|
-
|
|
775
|
-
.flowdrop-text--xs {
|
|
776
|
-
font-size: var(--fd-text-xs);
|
|
777
|
-
line-height: 1rem;
|
|
778
|
-
}
|
|
779
|
-
|
|
780
|
-
.flowdrop-text--gray {
|
|
781
|
-
color: var(--fd-muted-foreground);
|
|
782
|
-
}
|
|
783
|
-
|
|
784
|
-
.flowdrop-font--bold {
|
|
785
|
-
font-weight: 700;
|
|
786
|
-
}
|
|
787
|
-
|
|
788
745
|
/* Responsive design */
|
|
789
746
|
@media (max-width: 768px) {
|
|
790
747
|
.flowdrop-navbar {
|
|
@@ -834,14 +791,6 @@
|
|
|
834
791
|
border-radius: var(--fd-radius-md) 0 0 var(--fd-radius-md);
|
|
835
792
|
}
|
|
836
793
|
|
|
837
|
-
.flowdrop-text--logo {
|
|
838
|
-
display: none;
|
|
839
|
-
}
|
|
840
|
-
|
|
841
|
-
.flowdrop-text--tagline {
|
|
842
|
-
display: none;
|
|
843
|
-
}
|
|
844
|
-
|
|
845
794
|
.flowdrop-navbar__title-text {
|
|
846
795
|
font-size: 0.875rem;
|
|
847
796
|
max-width: 300px;
|
|
@@ -408,7 +408,8 @@
|
|
|
408
408
|
/* Components Sidebar - Always Visible */
|
|
409
409
|
.flowdrop-sidebar {
|
|
410
410
|
height: calc(100vh - var(--fd-navbar-height)); /* Account for navbar height */
|
|
411
|
-
background-color: var(--fd-
|
|
411
|
+
background-color: var(--fd-panel-bg);
|
|
412
|
+
backdrop-filter: var(--fd-panel-backdrop-filter);
|
|
412
413
|
border-right: 1px solid var(--fd-border);
|
|
413
414
|
display: flex;
|
|
414
415
|
flex-direction: column;
|
|
@@ -460,7 +461,7 @@
|
|
|
460
461
|
|
|
461
462
|
.flowdrop-sidebar__search {
|
|
462
463
|
padding: 0.75rem 1rem;
|
|
463
|
-
background-color:
|
|
464
|
+
background-color: transparent;
|
|
464
465
|
border-bottom: 1px solid var(--fd-border);
|
|
465
466
|
display: var(--fd-sidebar-search-display, block);
|
|
466
467
|
}
|
|
@@ -485,7 +486,7 @@
|
|
|
485
486
|
|
|
486
487
|
.flowdrop-sidebar__content::-webkit-scrollbar-thumb {
|
|
487
488
|
background: var(--fd-scrollbar-thumb);
|
|
488
|
-
border-radius:
|
|
489
|
+
border-radius: var(--fd-scrollbar-radius);
|
|
489
490
|
min-height: 20px; /* Ensure thumb has minimum height for visibility */
|
|
490
491
|
}
|
|
491
492
|
|
|
@@ -610,9 +611,7 @@
|
|
|
610
611
|
}
|
|
611
612
|
|
|
612
613
|
.flowdrop-input:focus {
|
|
613
|
-
outline: none;
|
|
614
614
|
border-color: var(--fd-ring);
|
|
615
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--fd-ring) 20%, transparent);
|
|
616
615
|
}
|
|
617
616
|
|
|
618
617
|
.flowdrop-input::placeholder {
|
|
@@ -648,11 +647,6 @@
|
|
|
648
647
|
border-color: var(--fd-muted-foreground);
|
|
649
648
|
}
|
|
650
649
|
|
|
651
|
-
.flowdrop-btn:focus {
|
|
652
|
-
outline: none;
|
|
653
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--fd-ring) 20%, transparent);
|
|
654
|
-
}
|
|
655
|
-
|
|
656
650
|
.flowdrop-btn:disabled {
|
|
657
651
|
background-color: var(--fd-muted-foreground);
|
|
658
652
|
border-color: var(--fd-muted-foreground);
|
|
@@ -693,7 +687,6 @@
|
|
|
693
687
|
|
|
694
688
|
.flowdrop-join:focus-within {
|
|
695
689
|
border-color: var(--fd-ring);
|
|
696
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--fd-ring) 20%, transparent);
|
|
697
690
|
}
|
|
698
691
|
|
|
699
692
|
/* Utility classes */
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
import { createEndpointConfig } from '../config/endpoints.js';
|
|
13
13
|
import type { Workflow } from '../types/index.js';
|
|
14
14
|
import type { EndpointConfig } from '../config/endpoints.js';
|
|
15
|
+
import type { AuthProvider } from '../types/auth.js';
|
|
15
16
|
import { logger } from '../utils/logger.js';
|
|
16
17
|
import { m } from '../messages/index.js';
|
|
17
18
|
|
|
@@ -21,6 +22,8 @@
|
|
|
21
22
|
apiClient?: EnhancedFlowDropApiClient;
|
|
22
23
|
baseUrl?: string;
|
|
23
24
|
endpointConfig?: EndpointConfig;
|
|
25
|
+
/** Auth provider used when this component builds its own API client from endpointConfig/baseUrl. */
|
|
26
|
+
authProvider?: AuthProvider;
|
|
24
27
|
runLabel?: string;
|
|
25
28
|
/** When true, suppresses breadcrumb and layout events (used inside playground panel) */
|
|
26
29
|
isEmbedded?: boolean;
|
|
@@ -43,6 +46,7 @@
|
|
|
43
46
|
apiClient,
|
|
44
47
|
baseUrl,
|
|
45
48
|
endpointConfig,
|
|
49
|
+
authProvider,
|
|
46
50
|
onActionsReady,
|
|
47
51
|
runLabel,
|
|
48
52
|
isEmbedded = false,
|
|
@@ -59,7 +63,8 @@
|
|
|
59
63
|
const client =
|
|
60
64
|
apiClient ||
|
|
61
65
|
new EnhancedFlowDropApiClient(
|
|
62
|
-
endpointConfig ?? createEndpointConfig(baseUrl || '/api/flowdrop')
|
|
66
|
+
endpointConfig ?? createEndpointConfig(baseUrl || '/api/flowdrop'),
|
|
67
|
+
authProvider
|
|
63
68
|
);
|
|
64
69
|
|
|
65
70
|
// Pipeline status — drives breadcrumb label and the 5s poll while running
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { EnhancedFlowDropApiClient } from '../api/enhanced-client.js';
|
|
2
2
|
import type { Workflow } from '../types/index.js';
|
|
3
3
|
import type { EndpointConfig } from '../config/endpoints.js';
|
|
4
|
+
import type { AuthProvider } from '../types/auth.js';
|
|
4
5
|
interface Props {
|
|
5
6
|
pipelineId: string;
|
|
6
7
|
workflow: Workflow;
|
|
7
8
|
apiClient?: EnhancedFlowDropApiClient;
|
|
8
9
|
baseUrl?: string;
|
|
9
10
|
endpointConfig?: EndpointConfig;
|
|
11
|
+
/** Auth provider used when this component builds its own API client from endpointConfig/baseUrl. */
|
|
12
|
+
authProvider?: AuthProvider;
|
|
10
13
|
runLabel?: string;
|
|
11
14
|
/** When true, suppresses breadcrumb and layout events (used inside playground panel) */
|
|
12
15
|
isEmbedded?: boolean;
|
|
@@ -59,9 +59,11 @@
|
|
|
59
59
|
import type { ConfigSchema, AuthProvider } from '../types/index.js';
|
|
60
60
|
import type { UISchemaElement } from '../types/uischema.js';
|
|
61
61
|
import { provideInstance } from '../stores/getInstance.svelte.js';
|
|
62
|
-
|
|
62
|
+
// Registry-based light field factory — heavy editors (CodeMirror) are resolved
|
|
63
|
+
// at runtime via fd.fields, so importing SchemaForm never statically pulls them.
|
|
64
|
+
import FormField from './form/FormFieldLight.svelte';
|
|
63
65
|
import FormUISchemaRenderer from './form/FormUISchemaRenderer.svelte';
|
|
64
|
-
import type { FieldSchema } from './form/
|
|
66
|
+
import type { FieldSchema } from './form/types.js';
|
|
65
67
|
import { m } from '../messages/index.js';
|
|
66
68
|
import { mergeWithDefaults, cascadeClearAutocompleteDependents } from '../utils/formMerge.js';
|
|
67
69
|
|
|
@@ -471,11 +473,6 @@
|
|
|
471
473
|
color: var(--fd-foreground);
|
|
472
474
|
}
|
|
473
475
|
|
|
474
|
-
.schema-form__button--secondary:focus-visible {
|
|
475
|
-
outline: none;
|
|
476
|
-
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
|
|
477
|
-
}
|
|
478
|
-
|
|
479
476
|
.schema-form__button--primary {
|
|
480
477
|
background: linear-gradient(135deg, var(--fd-primary) 0%, var(--fd-primary-hover) 100%);
|
|
481
478
|
color: var(--fd-primary-foreground);
|
|
@@ -496,13 +493,6 @@
|
|
|
496
493
|
transform: translateY(0);
|
|
497
494
|
}
|
|
498
495
|
|
|
499
|
-
.schema-form__button--primary:focus-visible {
|
|
500
|
-
outline: none;
|
|
501
|
-
box-shadow:
|
|
502
|
-
0 0 0 3px rgba(59, 130, 246, 0.4),
|
|
503
|
-
0 4px 12px rgba(59, 130, 246, 0.35);
|
|
504
|
-
}
|
|
505
|
-
|
|
506
496
|
.schema-form__button-spinner {
|
|
507
497
|
width: 1rem;
|
|
508
498
|
height: 1rem;
|
|
@@ -198,7 +198,8 @@
|
|
|
198
198
|
description: 'Visual style and layout of the editor',
|
|
199
199
|
oneOf: [
|
|
200
200
|
{ const: 'default', title: 'Default' },
|
|
201
|
-
{ const: 'minimal', title: 'Minimal' }
|
|
201
|
+
{ const: 'minimal', title: 'Minimal' },
|
|
202
|
+
{ const: 'drafter', title: 'Drafter' }
|
|
202
203
|
],
|
|
203
204
|
default: 'default'
|
|
204
205
|
}
|
|
@@ -538,11 +539,6 @@
|
|
|
538
539
|
color: var(--fd-primary-foreground);
|
|
539
540
|
}
|
|
540
541
|
|
|
541
|
-
.flowdrop-settings-panel__tab:focus {
|
|
542
|
-
outline: none;
|
|
543
|
-
box-shadow: 0 0 0 2px var(--fd-ring);
|
|
544
|
-
}
|
|
545
|
-
|
|
546
542
|
:global(.flowdrop-settings-panel__tab-icon) {
|
|
547
543
|
font-size: var(--fd-text-base);
|
|
548
544
|
}
|
|
@@ -17,6 +17,9 @@
|
|
|
17
17
|
|
|
18
18
|
const fd = getInstance();
|
|
19
19
|
|
|
20
|
+
// Element ref used only to reach xyflow's node wrapper (our ancestor).
|
|
21
|
+
let universalNodeEl: HTMLDivElement;
|
|
22
|
+
|
|
20
23
|
let {
|
|
21
24
|
data,
|
|
22
25
|
selected = false
|
|
@@ -61,6 +64,34 @@
|
|
|
61
64
|
shouldShowNodeStatus(executionInfo) && resolvedComponentName !== 'note'
|
|
62
65
|
);
|
|
63
66
|
|
|
67
|
+
// Keyboard activation lives on xyflow's node wrapper — the single focusable,
|
|
68
|
+
// arrow-movable element SvelteFlow manages. Because the wrapper is our
|
|
69
|
+
// ancestor, its keydown events never bubble down into our markup, so we bind
|
|
70
|
+
// directly to it. Enter/Space opens the node's config, mirroring the
|
|
71
|
+
// double-click (and single-click for square/atom) mouse paths. Node selection
|
|
72
|
+
// and arrow-key movement remain SvelteFlow's job.
|
|
73
|
+
$effect(() => {
|
|
74
|
+
const wrapper = universalNodeEl?.closest<HTMLElement>('.svelte-flow__node');
|
|
75
|
+
if (!wrapper) return;
|
|
76
|
+
|
|
77
|
+
function onWrapperKeydown(event: KeyboardEvent): void {
|
|
78
|
+
// Only when the node itself is focused — not an inner field (e.g. an
|
|
79
|
+
// editable note) — so we don't hijack typing.
|
|
80
|
+
if (event.target !== wrapper) return;
|
|
81
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
data.onConfigOpen?.({
|
|
84
|
+
id: data.nodeId ?? 'unknown',
|
|
85
|
+
type: resolvedComponentName,
|
|
86
|
+
data
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
wrapper.addEventListener('keydown', onWrapperKeydown);
|
|
92
|
+
return () => wrapper.removeEventListener('keydown', onWrapperKeydown);
|
|
93
|
+
});
|
|
94
|
+
|
|
64
95
|
/**
|
|
65
96
|
* Get the node component for the given type from the registry.
|
|
66
97
|
*
|
|
@@ -129,7 +160,7 @@
|
|
|
129
160
|
}
|
|
130
161
|
</script>
|
|
131
162
|
|
|
132
|
-
<div class="universal-node">
|
|
163
|
+
<div class="universal-node" bind:this={universalNodeEl}>
|
|
133
164
|
<!-- Render the node component dynamically (Svelte 5 dynamic component syntax) -->
|
|
134
165
|
{#if nodeComponent}
|
|
135
166
|
<!-- Svelte 5 dynamic component limitation; reactivity maintained via $derived -->
|