@oomol-lab/open-flow 0.1.0-beta.62 → 0.1.0-beta.64
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/dist/browser/{createResourceDialog-DZgJsr3e.js → createResourceDialog-BAJXbzNH.js} +20 -7
- package/dist/browser/flow-authoring.js +8 -7
- package/dist/browser/flow-change-schema.d.ts +1 -0
- package/dist/browser/flow-change.d.ts +1 -0
- package/dist/browser/flow-change.js +8 -7
- package/dist/browser/flow-notifications.d.ts +6 -0
- package/dist/browser/{flowChanges-CzYIVevI.js → flowChanges-BAMkSaKF.js} +1771 -1331
- package/dist/browser/{flowRunInputEditorStore-Dsxyfwae.js → flowRunInputEditorStore-B2Rw4VsT.js} +1 -1
- package/dist/browser/{flowWorkspace-BgZaFKZm.js → flowWorkspace-DxLc1Ybv.js} +429 -205
- package/dist/browser/{icons-CajfDpy_.js → icons-Db2Jb2iX.js} +30 -10
- package/dist/browser/preview.css +40 -52
- package/dist/browser/preview.js +7752 -7452
- package/dist/browser/theme.css +4 -0
- package/dist/browser/{typeScriptSession-fXPMFGjW.js → typeScriptSession-D0bjYDeg.js} +1 -1
- package/dist/browser/ui.css +39 -51
- package/dist/browser/ui.js +5 -5
- package/dist/browser/{value-DL_poNiC.js → value-BADHeZ9I.js} +12 -1
- package/dist/browser/workbench-contract.d.ts +10 -0
- package/dist/browser/workbench.css +43 -59
- package/dist/browser/workbench.d.ts +5 -3
- package/dist/browser/workbench.js +255 -216
- package/dist/browser/{workbenchSelect-H9wzEFkH.js → workbenchSelect-C-jf6NIM.js} +1 -1
- package/dist/command/index.js +49 -48
- package/dist/common/authoringSchema.d.ts +1 -0
- package/dist/common/canvas-commands.d.ts +19 -0
- package/dist/common/connector-action.d.ts +1 -0
- package/dist/common/connector-action.js +15 -12
- package/dist/common/control-api-conformance.js +127 -8
- package/dist/common/control-api.d.ts +16 -0
- package/dist/common/control-api.js +67 -8
- package/dist/common/control-requests.d.ts +23 -0
- package/dist/common/control-requests.js +64 -19
- package/dist/common/decision.js +8 -7
- package/dist/common/flow-connectionUsage.d.ts +1 -0
- package/dist/common/flow-encoding.d.ts +1 -0
- package/dist/common/flow-encoding.js +202 -10
- package/dist/common/flow-notifications.d.ts +6 -0
- package/dist/common/flow-semantics.js +64 -46
- package/dist/common/flow-workflowFile.d.ts +23 -0
- package/dist/common/integration-trigger.js +8 -7
- package/dist/common/localization.d.ts +1 -0
- package/dist/common/localization.js +12 -1
- package/dist/common/mcp.d.ts +103 -0
- package/dist/common/mcp.js +135 -11
- package/dist/common/openapi.js +8 -7
- package/dist/common/poll-trigger.js +8 -7
- package/dist/common/runtime-contract.js +1 -1
- package/dist/common/scheduler.d.ts +22 -2
- package/dist/common/scheduler.js +354 -83
- package/dist/common/trigger-config.d.ts +2 -0
- package/dist/common/webhook-trigger.js +8 -7
- package/dist/index.d.ts +2 -2
- package/package.json +1 -1
- package/skills/open-flow/SKILL.md +1 -1
- package/skills/open-flow/references/flow-authoring.md +49 -0
package/dist/browser/ui.css
CHANGED
|
@@ -199,6 +199,10 @@
|
|
|
199
199
|
--ui-control-radius: 8px;
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
+
.open-flow-node-picker {
|
|
203
|
+
--ui-control-radius: 10px;
|
|
204
|
+
}
|
|
205
|
+
|
|
202
206
|
.open-flow-workbench :is(.run-drawer, .runs-view) {
|
|
203
207
|
--ui-control-radius: 6px;
|
|
204
208
|
}
|
|
@@ -2129,10 +2133,6 @@
|
|
|
2129
2133
|
overflow-y: auto;
|
|
2130
2134
|
}
|
|
2131
2135
|
|
|
2132
|
-
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .overflow-y-scroll {
|
|
2133
|
-
overflow-y: scroll;
|
|
2134
|
-
}
|
|
2135
|
-
|
|
2136
2136
|
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .overscroll-contain {
|
|
2137
2137
|
overscroll-behavior: contain;
|
|
2138
2138
|
}
|
|
@@ -2161,6 +2161,14 @@
|
|
|
2161
2161
|
border-radius: 9px;
|
|
2162
2162
|
}
|
|
2163
2163
|
|
|
2164
|
+
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .rounded-\[calc\(var\(--ui-control-radius\)\+2px\)\] {
|
|
2165
|
+
border-radius: calc(var(--ui-control-radius) + 2px);
|
|
2166
|
+
}
|
|
2167
|
+
|
|
2168
|
+
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .rounded-\[calc\(var\(--ui-control-radius\)-3px\)\] {
|
|
2169
|
+
border-radius: calc(var(--ui-control-radius) - 3px);
|
|
2170
|
+
}
|
|
2171
|
+
|
|
2164
2172
|
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .rounded-\[calc\(var\(--ui-control-radius\,calc\(var\(--radius-md\)_\+_2px\)\)_-_2px\)\] {
|
|
2165
2173
|
border-radius: calc(var(--ui-control-radius, calc(var(--radius-md) + 2px)) - 2px);
|
|
2166
2174
|
}
|
|
@@ -2169,6 +2177,10 @@
|
|
|
2169
2177
|
border-radius: calc(var(--ui-control-radius, var(--ui-radius)) + 2px);
|
|
2170
2178
|
}
|
|
2171
2179
|
|
|
2180
|
+
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .rounded-\[var\(--ui-control-radius\)\] {
|
|
2181
|
+
border-radius: var(--ui-control-radius);
|
|
2182
|
+
}
|
|
2183
|
+
|
|
2172
2184
|
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .rounded-\[var\(--ui-control-radius\,8px\)\] {
|
|
2173
2185
|
border-radius: var(--ui-control-radius, 8px);
|
|
2174
2186
|
}
|
|
@@ -3194,6 +3206,16 @@
|
|
|
3194
3206
|
--ui-control-background: var(--ui-popover);
|
|
3195
3207
|
}
|
|
3196
3208
|
|
|
3209
|
+
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\[--ui-control-hover-background\:color-mix\(in_srgb\,var\(--ui-foreground\)_8\%\,var\(--ui-popover\)\)\] {
|
|
3210
|
+
--ui-control-hover-background: var(--ui-foreground);
|
|
3211
|
+
}
|
|
3212
|
+
|
|
3213
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
3214
|
+
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\[--ui-control-hover-background\:color-mix\(in_srgb\,var\(--ui-foreground\)_8\%\,var\(--ui-popover\)\)\] {
|
|
3215
|
+
--ui-control-hover-background: color-mix(in srgb,var(--ui-foreground) 8%,var(--ui-popover));
|
|
3216
|
+
}
|
|
3217
|
+
}
|
|
3218
|
+
|
|
3197
3219
|
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\[--ui-control-hover-background\:var\(--ui-control-background\,var\(--ui-muted\)\)\] {
|
|
3198
3220
|
--ui-control-hover-background: var(--ui-control-background, var(--ui-muted));
|
|
3199
3221
|
}
|
|
@@ -3710,10 +3732,6 @@
|
|
|
3710
3732
|
background-color: var(--ui-muted);
|
|
3711
3733
|
}
|
|
3712
3734
|
|
|
3713
|
-
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .hover\:bg-popover:hover {
|
|
3714
|
-
background-color: var(--ui-popover);
|
|
3715
|
-
}
|
|
3716
|
-
|
|
3717
3735
|
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .hover\:bg-primary\/80:hover {
|
|
3718
3736
|
background-color: var(--ui-primary);
|
|
3719
3737
|
}
|
|
@@ -3762,11 +3780,6 @@
|
|
|
3762
3780
|
text-decoration-line: underline;
|
|
3763
3781
|
}
|
|
3764
3782
|
|
|
3765
|
-
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .hover\:shadow-sm:hover {
|
|
3766
|
-
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
|
|
3767
|
-
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3768
|
-
}
|
|
3769
|
-
|
|
3770
3783
|
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .group-data-\[variant\=navigation\]\/tabs-list\:hover\:bg-muted:is(:where(.group\/tabs-list)[data-variant="navigation"] *):hover {
|
|
3771
3784
|
background-color: var(--ui-muted);
|
|
3772
3785
|
}
|
|
@@ -3816,14 +3829,6 @@
|
|
|
3816
3829
|
background-color: var(--ui-accent);
|
|
3817
3830
|
}
|
|
3818
3831
|
|
|
3819
|
-
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .focus-visible\:bg-popover:focus-visible {
|
|
3820
|
-
background-color: var(--ui-popover);
|
|
3821
|
-
}
|
|
3822
|
-
|
|
3823
|
-
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .focus-visible\:text-foreground:focus-visible {
|
|
3824
|
-
color: var(--ui-foreground);
|
|
3825
|
-
}
|
|
3826
|
-
|
|
3827
3832
|
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .focus-visible\:ring-0:focus-visible {
|
|
3828
3833
|
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
3829
3834
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
@@ -5014,11 +5019,6 @@
|
|
|
5014
5019
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
5015
5020
|
}
|
|
5016
5021
|
|
|
5017
|
-
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .md\:text-sm {
|
|
5018
|
-
font-size: var(--ui-font-size);
|
|
5019
|
-
line-height: var(--tw-leading, var(--text-sm--line-height));
|
|
5020
|
-
}
|
|
5021
|
-
|
|
5022
5022
|
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .md\:text-xs {
|
|
5023
5023
|
font-size: var(--text-xs);
|
|
5024
5024
|
line-height: var(--tw-leading, var(--text-xs--line-height));
|
|
@@ -5142,16 +5142,6 @@
|
|
|
5142
5142
|
}
|
|
5143
5143
|
}
|
|
5144
5144
|
|
|
5145
|
-
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .dark\:hover\:bg-\[color-mix\(in_srgb\,var\(--ui-foreground\)_12\%\,var\(--ui-popover\)\)\]:where([data-theme="dark"], [data-theme="dark"] *):hover {
|
|
5146
|
-
background-color: var(--ui-foreground);
|
|
5147
|
-
}
|
|
5148
|
-
|
|
5149
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
5150
|
-
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .dark\:hover\:bg-\[color-mix\(in_srgb\,var\(--ui-foreground\)_12\%\,var\(--ui-popover\)\)\]:where([data-theme="dark"], [data-theme="dark"] *):hover {
|
|
5151
|
-
background-color: color-mix(in srgb,var(--ui-foreground) 12%,var(--ui-popover));
|
|
5152
|
-
}
|
|
5153
|
-
}
|
|
5154
|
-
|
|
5155
5145
|
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .dark\:hover\:bg-\[var\(--ui-control-hover-background\,var\(--ui-muted\)\)\]:where([data-theme="dark"], [data-theme="dark"] *):hover {
|
|
5156
5146
|
background-color: var(--ui-control-hover-background, var(--ui-muted));
|
|
5157
5147
|
}
|
|
@@ -5225,16 +5215,6 @@
|
|
|
5225
5215
|
}
|
|
5226
5216
|
}
|
|
5227
5217
|
|
|
5228
|
-
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .dark\:focus-visible\:bg-\[color-mix\(in_srgb\,var\(--ui-foreground\)_12\%\,var\(--ui-popover\)\)\]:where([data-theme="dark"], [data-theme="dark"] *):focus-visible {
|
|
5229
|
-
background-color: var(--ui-foreground);
|
|
5230
|
-
}
|
|
5231
|
-
|
|
5232
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
5233
|
-
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .dark\:focus-visible\:bg-\[color-mix\(in_srgb\,var\(--ui-foreground\)_12\%\,var\(--ui-popover\)\)\]:where([data-theme="dark"], [data-theme="dark"] *):focus-visible {
|
|
5234
|
-
background-color: color-mix(in srgb,var(--ui-foreground) 12%,var(--ui-popover));
|
|
5235
|
-
}
|
|
5236
|
-
}
|
|
5237
|
-
|
|
5238
5218
|
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .dark\:disabled\:bg-\[var\(--ui-disabled-background\,color-mix\(in_srgb\,var\(--ui-input\)_80\%\,transparent\)\)\]:where([data-theme="dark"], [data-theme="dark"] *):disabled {
|
|
5239
5219
|
background-color: var(--ui-disabled-background, var(--ui-input));
|
|
5240
5220
|
}
|
|
@@ -5355,6 +5335,10 @@
|
|
|
5355
5335
|
}
|
|
5356
5336
|
}
|
|
5357
5337
|
|
|
5338
|
+
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\[\&_\[data-overlayscrollbars-viewport\]\]\:overscroll-contain [data-overlayscrollbars-viewport] {
|
|
5339
|
+
overscroll-behavior: contain;
|
|
5340
|
+
}
|
|
5341
|
+
|
|
5358
5342
|
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\[\&_\[data-slot\=field-label\]\]\:sr-only [data-slot="field-label"] {
|
|
5359
5343
|
clip-path: inset(50%);
|
|
5360
5344
|
white-space: nowrap;
|
|
@@ -5428,6 +5412,10 @@
|
|
|
5428
5412
|
padding-top: calc(var(--spacing) * 2);
|
|
5429
5413
|
}
|
|
5430
5414
|
|
|
5415
|
+
:is(:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\*\:\[a\]\:text-inherit > *):is(a) {
|
|
5416
|
+
color: inherit;
|
|
5417
|
+
}
|
|
5418
|
+
|
|
5431
5419
|
:is(:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .\*\:\[a\]\:underline > *):is(a) {
|
|
5432
5420
|
text-decoration-line: underline;
|
|
5433
5421
|
}
|
|
@@ -7014,13 +7002,13 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
7014
7002
|
|
|
7015
7003
|
[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body) {
|
|
7016
7004
|
overflow: auto;
|
|
7017
|
-
}:where(.scroll-
|
|
7005
|
+
}:where(.scroll-area_container_07c14) {
|
|
7018
7006
|
height: 100%;
|
|
7019
7007
|
}
|
|
7020
7008
|
|
|
7021
|
-
.scroll-
|
|
7009
|
+
.scroll-area_scrollbar_07c14 {
|
|
7022
7010
|
box-sizing: border-box;
|
|
7023
|
-
--os-size:
|
|
7011
|
+
--os-size: 10px;
|
|
7024
7012
|
--os-padding-perpendicular: 2px;
|
|
7025
7013
|
--os-padding-axis: 2px;
|
|
7026
7014
|
--os-track-border-radius: 10px;
|
|
@@ -7030,12 +7018,12 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
7030
7018
|
--os-handle-bg-hover: light-dark(rgb(0 0 0 / 38%), rgb(255 255 255 / 42%));
|
|
7031
7019
|
--os-handle-bg-active: light-dark(rgb(0 0 0 / 50%), rgb(255 255 255 / 54%));
|
|
7032
7020
|
}
|
|
7033
|
-
.scroll-
|
|
7021
|
+
.scroll-area_scrollbar_07c14.os-scrollbar-auto-hide.os-scrollbar-visible {
|
|
7034
7022
|
visibility: visible;
|
|
7035
7023
|
pointer-events: auto;
|
|
7036
7024
|
}
|
|
7037
7025
|
|
|
7038
|
-
.scroll-
|
|
7026
|
+
.scroll-area_native_07c14 {
|
|
7039
7027
|
min-height: 0;
|
|
7040
7028
|
overflow: hidden auto;
|
|
7041
7029
|
overscroll-behavior: contain;
|
package/dist/browser/ui.js
CHANGED
|
@@ -13239,7 +13239,7 @@ function DialogTitle$1({ className, ...props }) {
|
|
|
13239
13239
|
function DialogDescription$1({ className, ...props }) {
|
|
13240
13240
|
return /* @__PURE__ */ jsx(DialogDescription$2, {
|
|
13241
13241
|
"data-slot": "dialog-description",
|
|
13242
|
-
className: cn("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className),
|
|
13242
|
+
className: cn("m-0 text-sm text-muted-foreground *:[a]:text-inherit *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className),
|
|
13243
13243
|
...props
|
|
13244
13244
|
});
|
|
13245
13245
|
}
|
|
@@ -15453,7 +15453,7 @@ var Input = React.forwardRef(function Input({ className, type, controlSize = "de
|
|
|
15453
15453
|
ref,
|
|
15454
15454
|
type,
|
|
15455
15455
|
"data-slot": "input",
|
|
15456
|
-
className: cn("h-8 w-full min-w-0 rounded-[var(--ui-control-radius,calc(var(--ui-radius)_+_2px))] border border-input bg-[var(--ui-control-background,var(--ui-muted))] px-2.5 py-1 text-
|
|
15456
|
+
className: cn("h-8 w-full min-w-0 rounded-[var(--ui-control-radius,calc(var(--ui-radius)_+_2px))] border border-input bg-[var(--ui-control-background,var(--ui-muted))] px-2.5 py-1 text-sm transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground read-only:cursor-default placeholder:text-muted-foreground data-[slot=input]:focus-visible:text-field-focus data-[slot=input]:focus-visible:aria-invalid:invalid-text-field-focus disabled:pointer-events-none disabled:cursor-[var(--ui-disabled-cursor,not-allowed)] disabled:bg-[var(--ui-disabled-background,color-mix(in_srgb,var(--ui-input)_50%,transparent))] disabled:opacity-[var(--ui-disabled-opacity,0.5)] aria-invalid:border-destructive dark:bg-[var(--ui-control-background,var(--ui-muted))] dark:disabled:bg-[var(--ui-disabled-background,color-mix(in_srgb,var(--ui-input)_80%,transparent))]", controlSize === "field" && "h-[30px] px-2 text-xs", className),
|
|
15457
15457
|
...props
|
|
15458
15458
|
});
|
|
15459
15459
|
});
|
|
@@ -16093,9 +16093,9 @@ var PopoverTitle$2 = /*#__PURE__*/ React.forwardRef(function PopoverTitle(compon
|
|
|
16093
16093
|
});
|
|
16094
16094
|
if (process.env.NODE_ENV !== "production") PopoverTitle$2.displayName = "PopoverTitle";
|
|
16095
16095
|
var scroll_area_module_default = {
|
|
16096
|
-
container: "scroll-
|
|
16097
|
-
scrollbar: "scroll-
|
|
16098
|
-
native: "scroll-
|
|
16096
|
+
container: "scroll-area_container_07c14",
|
|
16097
|
+
scrollbar: "scroll-area_scrollbar_07c14",
|
|
16098
|
+
native: "scroll-area_native_07c14"
|
|
16099
16099
|
};
|
|
16100
16100
|
//#endregion
|
|
16101
16101
|
//#region ../../node_modules/.bun/overlayscrollbars@2.16.0/node_modules/overlayscrollbars/overlayscrollbars.mjs
|
|
@@ -53,6 +53,17 @@ function matchUiLanguage(candidate) {
|
|
|
53
53
|
}
|
|
54
54
|
return uiLanguageTags.get(subtags[0]);
|
|
55
55
|
}
|
|
56
|
+
function importedWorkflowName(language) {
|
|
57
|
+
return {
|
|
58
|
+
"en": "Imported workflow",
|
|
59
|
+
"zh-CN": "导入的工作流",
|
|
60
|
+
"zh-TW": "匯入的工作流",
|
|
61
|
+
"ja": "インポートしたワークフロー",
|
|
62
|
+
"ko": "가져온 워크플로",
|
|
63
|
+
"fr": "Workflow importé",
|
|
64
|
+
"ru": "Импортированный процесс"
|
|
65
|
+
}[language];
|
|
66
|
+
}
|
|
56
67
|
//#endregion
|
|
57
68
|
//#region src/form/common/value.ts
|
|
58
69
|
/** JSON values do not distinguish integers from other numbers at runtime. */
|
|
@@ -123,4 +134,4 @@ function isJsonValue(value, ancestors = /* @__PURE__ */ new Set()) {
|
|
|
123
134
|
return valid;
|
|
124
135
|
}
|
|
125
136
|
//#endregion
|
|
126
|
-
export { renameObjectField as a,
|
|
137
|
+
export { renameObjectField as a, importedWorkflowName as c, uiLanguageNames as d, uiLanguages as f, objectValue as i, isUiLanguage as l, isJsonValue as n, setObjectField as o, jsonDataTypes as r, valueType as s, initialValue as t, resolveUiLanguage as u };
|
|
@@ -54,3 +54,13 @@ export interface WorkbenchPreferences {
|
|
|
54
54
|
/** The host resolves deployment and Flow scope before rendering navigation links. */
|
|
55
55
|
export type ConnectionHref = (flowId: string, providerId: string, connectionId?: string) => string | undefined;
|
|
56
56
|
/** Object values are complete response/ETag records; implementations must reject failures. */
|
|
57
|
+
/** File content already loaded by the host; Open Flow never fetches sourceUrl. */
|
|
58
|
+
export interface WorkbenchImportInput {
|
|
59
|
+
readonly text: string;
|
|
60
|
+
readonly fileName?: string;
|
|
61
|
+
readonly sourceUrl?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface OpenFlowWorkbenchHandle {
|
|
64
|
+
/** Opens confirmation on an idle, initialized Flow list. Does not create a Flow. */
|
|
65
|
+
openImport(input: WorkbenchImportInput): 'opened' | 'unavailable' | 'invalid-file';
|
|
66
|
+
}
|