@oomol-lab/open-flow 0.1.0-beta.84 → 0.1.0-beta.86

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 (97) hide show
  1. package/dist/browser/{FlowCanvas-B2g7NceZ.js → FlowCanvas-CHIaMaBv.js} +112 -16
  2. package/dist/browser/{createResourceDialog-Bi4fUnbD.js → createResourceDialog-C0E5yPe6.js} +3 -3
  3. package/dist/browser/{dialog-BzoSxhXQ.js → dialog-b3hsdu8i.js} +291 -143
  4. package/dist/browser/{exportPng-DLdtJvg3.js → exportPng-DGHcejgy.js} +2 -2
  5. package/dist/browser/{flowChanges-C567g-Pc.js → flowChanges-BvSWezEb.js} +375 -83
  6. package/dist/browser/{flowWorkspace-DBk4A-Ld.js → flowWorkspace-BKnMRClO.js} +1619 -475
  7. package/dist/browser/fr-CNTSedYU.js +593 -0
  8. package/dist/browser/ja-CxQBHr2J.js +593 -0
  9. package/dist/browser/ko-D1Exiv1h.js +593 -0
  10. package/dist/browser/licenses.md +1 -1
  11. package/dist/browser/{markdownContent-DIuJThGK.js → markdownContent-BR9-1ikU.js} +1 -1
  12. package/dist/browser/preview.css +181 -181
  13. package/dist/browser/preview.js +2103 -636
  14. package/dist/browser/ru-BzLZv0B7.js +593 -0
  15. package/dist/browser/{tooltip-DGj5pudg.js → tooltip-DSBF3bRw.js} +55 -23
  16. package/dist/browser/workbench.css +181 -181
  17. package/dist/browser/workbench.js +86 -17
  18. package/dist/browser/{workbenchSelect-BIaEVTx6.js → workbenchSelect-Di1Bm_-d.js} +2 -2
  19. package/dist/browser/{wrapLayout-C4moMKgb.js → wrapLayout-B0AT8_-i.js} +1 -1
  20. package/dist/browser/zh-CN-Dg_xSGde.js +593 -0
  21. package/dist/browser/zh-TW-oxuLwsV0.js +593 -0
  22. package/dist/command/index.js +61 -57
  23. package/dist/command/licenses.md +28 -4
  24. package/dist/common/authoring.d.ts +5 -5
  25. package/dist/common/authoringExamples.d.ts +3 -2
  26. package/dist/common/authoringSchema.d.ts +41 -4
  27. package/dist/common/catalogCache.d.ts +46 -0
  28. package/dist/common/connector-action.js +13 -10
  29. package/dist/common/connector-proxy.d.ts +96 -0
  30. package/dist/common/connector-proxy.js +5209 -0
  31. package/dist/common/control-api-conformance.js +312 -46
  32. package/dist/common/control-api.d.ts +12 -1
  33. package/dist/common/control-api.js +303 -41
  34. package/dist/common/control-requests.d.ts +4 -3
  35. package/dist/common/control-requests.js +14111 -171
  36. package/dist/common/engine-contract.d.ts +3 -2
  37. package/dist/common/event-source.js +55 -23
  38. package/dist/common/flow-authoring-node.d.ts +2 -0
  39. package/dist/common/flow-authoring.js +6936 -6781
  40. package/dist/common/flow-change-schema.d.ts +1 -1
  41. package/dist/common/flow-change.d.ts +2 -2
  42. package/dist/common/flow-change.js +91 -36
  43. package/dist/common/flow-connectionUsage.d.ts +1 -1
  44. package/dist/common/flow-encoding.js +93 -38
  45. package/dist/common/flow-requestParameters.d.ts +34 -0
  46. package/dist/common/flow-semantics.js +9429 -9236
  47. package/dist/common/flow-state.js +55 -23
  48. package/dist/common/flow-workflowFile.d.ts +3 -1
  49. package/dist/common/http-request.d.ts +6 -11
  50. package/dist/common/http-request.js +192 -141
  51. package/dist/common/licenses.md +1 -1
  52. package/dist/common/mcp.d.ts +3 -3
  53. package/dist/common/mcp.js +303 -41
  54. package/dist/common/run-events.js +1 -0
  55. package/dist/common/runtime-contract.js +10 -4
  56. package/dist/common/runtime-nodejs-compat.js +55 -23
  57. package/dist/common/scheduler-checkpoint.d.ts +3 -3
  58. package/dist/common/scheduler-dependencies.d.ts +22 -28
  59. package/dist/common/scheduler-node-execution.d.ts +1 -0
  60. package/dist/common/scheduler.d.ts +8 -2
  61. package/dist/common/scheduler.js +274 -95
  62. package/dist/common/workflow.js +51 -19
  63. package/dist/common/workflowAuthoring.d.ts +411 -0
  64. package/dist/render/browser/licenses.md +1 -1
  65. package/dist/render/browser/runtime.js +289 -61
  66. package/dist/render/node/index.js +85 -30
  67. package/dist/render/node/licenses.md +1 -1
  68. package/package.json +1 -1
  69. package/skills/open-flow/references/flow-authoring.md +14 -13
  70. package/src/base/common/jsonSchema.ts +11 -0
  71. package/src/connector/common/actionSchema.ts +4 -11
  72. package/src/connector/common/proxy.ts +152 -0
  73. package/src/control/common/api.ts +99 -3
  74. package/src/control/common/authoring.ts +23 -9
  75. package/src/control/common/authoringExamples.ts +9 -0
  76. package/src/control/common/authoringSchema.ts +21 -12
  77. package/src/control/common/catalogCache.ts +145 -0
  78. package/src/control/common/conformance.ts +9 -3
  79. package/src/control/common/connectorQueries.ts +17 -2
  80. package/src/control/common/requests.ts +1 -0
  81. package/src/control/common/workflowAuthoring.ts +120 -0
  82. package/src/execution/common/checkpoint.ts +18 -12
  83. package/src/execution/common/dependencies.ts +132 -15
  84. package/src/execution/common/events.ts +3 -0
  85. package/src/execution/common/node-execution.ts +22 -15
  86. package/src/execution/common/scheduler.ts +20 -31
  87. package/src/flow/common/change.ts +2 -1
  88. package/src/flow/common/changeSchema.ts +11 -1
  89. package/src/flow/common/connectionUsage.ts +4 -2
  90. package/src/flow/common/errorHandling.ts +3 -1
  91. package/src/flow/common/nodeChanges.ts +35 -18
  92. package/src/flow/common/requestParameters.ts +120 -0
  93. package/src/flow/common/semantics.ts +51 -1
  94. package/src/flow/common/sourceField.ts +3 -2
  95. package/src/flow/common/workflowFile.ts +2 -2
  96. package/src/http/common/httpRequest.ts +28 -78
  97. package/src/runtime/common/engineContract.ts +6 -3
@@ -1,8 +1,8 @@
1
1
  import { o as __toESM, t as __commonJSMin } from "./rolldown-runtime-CEgmsyvS.js";
2
- import { $ as waitBranchDescription, A as DropdownMenuItem, B as CompositeItem, D as DropdownMenuCheckboxItem, E as DropdownMenu, G as MenuPopup, H as MenuRoot, J as ContextMenuRootContext, K as MenuItem, M as DropdownMenuRadioGroup, N as DropdownMenuRadioItem, O as DropdownMenuContent, P as DropdownMenuSeparator, Q as uiLocales, R as DropdownMenuTrigger, U as MenuPositioner, W as MenuPortal, X as MenuRootContext, Y as useContextMenuRootContext, Z as useMenuRootContext, a as CompositeRoot, at as ja_default, c as PopoverContent, ct as I18n, dt as useAriaLabelledBy, f as PopoverTitle, ft as useFieldItemContext, h as ScrollArea, i as Textarea, it as ko_default, j as DropdownMenuLabel, k as DropdownMenuGroup, m as NativeScrollArea, n as wrapLayout, nt as zh_CN_default, o as ACTIVE_COMPOSITE_ITEM, ot as fr_default, p as PopoverTrigger, pt as IconThemeContext, q as MenuGroup, r as canvasDirection, rt as ru_default, s as Popover, st as en_default, t as layoutAxes, tt as zh_TW_default, ut as Checkbox, v as ContentIcon, z as findRootOwnerId } from "./wrapLayout-C4moMKgb.js";
2
+ import { $ as waitBranchDescription, A as DropdownMenuItem, B as CompositeItem, D as DropdownMenuCheckboxItem, E as DropdownMenu, G as MenuPopup, H as MenuRoot, J as ContextMenuRootContext, K as MenuItem, M as DropdownMenuRadioGroup, N as DropdownMenuRadioItem, O as DropdownMenuContent, P as DropdownMenuSeparator, Q as uiLocales, R as DropdownMenuTrigger, U as MenuPositioner, W as MenuPortal, X as MenuRootContext, Y as useContextMenuRootContext, Z as useMenuRootContext, a as CompositeRoot, at as ja_default, c as PopoverContent, ct as I18n, dt as useAriaLabelledBy, f as PopoverTitle, ft as useFieldItemContext, h as ScrollArea, i as Textarea, it as ko_default, j as DropdownMenuLabel, k as DropdownMenuGroup, m as NativeScrollArea, n as wrapLayout, nt as zh_CN_default, o as ACTIVE_COMPOSITE_ITEM, ot as fr_default, p as PopoverTrigger, pt as IconThemeContext, q as MenuGroup, r as canvasDirection, rt as ru_default, s as Popover, st as en_default, t as layoutAxes, tt as zh_TW_default, ut as Checkbox, v as ContentIcon, z as findRootOwnerId } from "./wrapLayout-B0AT8_-i.js";
3
3
  import { a as derive, c as strictEqual, i as compute, l as val, n as attachSetter, r as combine, s as readonlyVal } from "./dist-bO8nvHFH.js";
4
4
  import { c as useLang, i as isString, l as useTranslate, n as isBoolean, o as I18nProvider, r as isPlainObject, t as isArray$1, u as useVal } from "./dist-BFmpkX4P.js";
5
- import { A as string, Bn as transitionStatusMapping, Br as useStableCallback, C as literal, Cr as cn$1, Dn as getTarget, En as contains, Er as useRenderElement, Fn as createLucideIcon, Fr as formatErrorMessage, J as SHIFT, Kn as cancelOpen, Lr as useIsoLayoutEffect, Mn as ownerDocument, Mr as useButton, Nn as useLabelableId, Or as EMPTY_OBJECT, Sn as stopEvent$1, T as number, Tr as clsx, Un as useValueChanged, Wn as createChangeEventDetails, Yt as addEventListener, _r as fieldValidityMapping, br as useControlled, cr as triggerPress, dr as useFormContext, fr as useRegisterFieldControl, gt as serializeValue, hr as useId$1, i as TooltipTrigger, jr as useMergedRefs, k as strictObject, kr as NOOP, mr as useBaseUiId, n as TooltipContent, p as timeZoneOffsetMinutes, pr as useFieldRootContext, pt as pressableTriggerOpenStateMapping, r as TooltipProvider, rr as none$1, sn as useTimeout, t as Tooltip, tn as require_with_selector, ur as useLabelableContext, vr as visuallyHidden, xr as Button, y as discriminatedUnion, yr as visuallyHiddenInput } from "./tooltip-DGj5pudg.js";
5
+ import { A as string, Bn as transitionStatusMapping, Br as useStableCallback, C as literal, Cr as cn$1, Dn as getTarget, En as contains, Er as useRenderElement, Fn as createLucideIcon, Fr as formatErrorMessage, J as SHIFT, Kn as cancelOpen, Lr as useIsoLayoutEffect, Mn as ownerDocument, Mr as useButton, Nn as useLabelableId, Or as EMPTY_OBJECT, Sn as stopEvent$1, T as number, Tr as clsx, Un as useValueChanged, Wn as createChangeEventDetails, Yt as addEventListener, _r as fieldValidityMapping, br as useControlled, cr as triggerPress, dr as useFormContext, fr as useRegisterFieldControl, gt as serializeValue, hr as useId$1, i as TooltipTrigger, jr as useMergedRefs, k as strictObject, kr as NOOP, mr as useBaseUiId, n as TooltipContent, p as timeZoneOffsetMinutes, pr as useFieldRootContext, pt as pressableTriggerOpenStateMapping, r as TooltipProvider, rr as none$1, sn as useTimeout, t as Tooltip, tn as require_with_selector, ur as useLabelableContext, vr as visuallyHidden, xr as Button, y as discriminatedUnion, yr as visuallyHiddenInput } from "./tooltip-DSBF3bRw.js";
6
6
  import { r as resolveUiLanguage } from "./languages-gYzoQqCi.js";
7
7
  import * as React from "react";
8
8
  import reactExports, { Children, Suspense, createContext, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
@@ -2497,6 +2497,76 @@ function _e(e) {
2497
2497
  }
2498
2498
  /*! For license information please see dagre.esm.js.LEGAL.txt */
2499
2499
  //#endregion
2500
+ //#region src/canvas/browser/base/routeCrossings.ts
2501
+ var epsilon = 1e-6;
2502
+ function samePoint(a, b) {
2503
+ return Math.abs(a.x - b.x) < epsilon && Math.abs(a.y - b.y) < epsilon;
2504
+ }
2505
+ function segment(a, b) {
2506
+ return {
2507
+ left: Math.min(a.x, b.x),
2508
+ right: Math.max(a.x, b.x),
2509
+ top: Math.min(a.y, b.y),
2510
+ bottom: Math.max(a.y, b.y)
2511
+ };
2512
+ }
2513
+ /** Allow only the common prefix/suffix, not later crossings between the same edges. */
2514
+ function sharedEnd(a, b, overlap, reverse) {
2515
+ const step = reverse ? -1 : 1;
2516
+ let i = reverse ? a.length - 1 : 0;
2517
+ let j = reverse ? b.length - 1 : 0;
2518
+ let start = a[i];
2519
+ if (!samePoint(start, b[j])) return false;
2520
+ if (Math.abs(overlap.left - start.x) < epsilon && Math.abs(overlap.right - start.x) < epsilon && Math.abs(overlap.top - start.y) < epsilon && Math.abs(overlap.bottom - start.y) < epsilon) return true;
2521
+ while (a[i + step] && b[j + step]) {
2522
+ const endA = a[i + step];
2523
+ const endB = b[j + step];
2524
+ const vertical = Math.abs(endA.x - start.x) < epsilon;
2525
+ const otherVertical = Math.abs(endB.x - start.x) < epsilon;
2526
+ const directionA = vertical ? endA.y - start.y : endA.x - start.x;
2527
+ const directionB = vertical ? endB.y - start.y : endB.x - start.x;
2528
+ if (vertical !== otherVertical || directionA * directionB < 0) return false;
2529
+ const end = Math.abs(directionA) <= Math.abs(directionB) ? endA : endB;
2530
+ const common = segment(start, end);
2531
+ if (overlap.left >= common.left - epsilon && overlap.right <= common.right + epsilon && overlap.top >= common.top - epsilon && overlap.bottom <= common.bottom + epsilon) return true;
2532
+ if (samePoint(end, endA)) i += step;
2533
+ if (samePoint(end, endB)) j += step;
2534
+ start = end;
2535
+ }
2536
+ return false;
2537
+ }
2538
+ /** Check orthogonal routes once after layout; stop at the first unrelated contact or overlap. */
2539
+ function hasRouteCrossings(routes) {
2540
+ const paths = [...routes.values()].map((points) => {
2541
+ const path = points.filter((point, index) => index === 0 || !samePoint(point, points[index - 1]));
2542
+ return {
2543
+ path,
2544
+ segments: path.slice(1).map((point, index) => segment(path[index], point))
2545
+ };
2546
+ });
2547
+ for (let i = 0; i < paths.length; i++) {
2548
+ const a = paths[i];
2549
+ for (let j = i + 1; j < paths.length; j++) {
2550
+ const b = paths[j];
2551
+ for (const first of a.segments) for (const second of b.segments) {
2552
+ const left = Math.max(first.left, second.left);
2553
+ const right = Math.min(first.right, second.right);
2554
+ const top = Math.max(first.top, second.top);
2555
+ const bottom = Math.min(first.bottom, second.bottom);
2556
+ if (left > right + epsilon || top > bottom + epsilon) continue;
2557
+ const overlap = {
2558
+ left,
2559
+ right,
2560
+ top,
2561
+ bottom
2562
+ };
2563
+ if (!sharedEnd(a.path, b.path, overlap, false) && !sharedEnd(a.path, b.path, overlap, true)) return true;
2564
+ }
2565
+ }
2566
+ }
2567
+ return false;
2568
+ }
2569
+ //#endregion
2500
2570
  //#region src/canvas/browser/base/routeLayout.ts
2501
2571
  var clearance = 16;
2502
2572
  var portOffset = 24;
@@ -2849,19 +2919,26 @@ function compactComponent(graph, insets, aspectRatio) {
2849
2919
  const gap = 48;
2850
2920
  const pathNodes = normalized.filter((node) => incoming.has(node.id) || outgoing.has(node.id));
2851
2921
  const crossSize = Math.max(...(pathNodes.length ? pathNodes : normalized).map((node) => node.height));
2852
- const bow = crossSize * .75;
2853
- const separation = crossSize + 48;
2922
+ const bow = crossSize * .5;
2923
+ const separation = crossSize + bow + gap;
2854
2924
  const bucketSize = Math.max(...normalized.map((node) => node.width)) + gap;
2855
2925
  const byId = new Map(normalized.map((node) => [node.id, node]));
2856
2926
  const forwardEdges = graph.edges.filter((edge) => byId.get(edge.source).column < byId.get(edge.target).column);
2857
2927
  const parents = Map.groupBy(forwardEdges, (edge) => edge.target);
2858
2928
  const children = Map.groupBy(forwardEdges, (edge) => edge.source);
2859
2929
  const ordered = normalized.toSorted((a, b) => a.column - b.column || a.y - b.y);
2860
- const remaining = /* @__PURE__ */ new Map();
2861
- for (const node of ordered.toReversed()) remaining.set(node.id, 1 + Math.max(0, ...(children.get(node.id) ?? []).filter((edge) => parents.get(edge.target)?.length === 1).map((edge) => remaining.get(edge.target))));
2862
2930
  const rankEnds = new Map([...Map.groupBy(normalized, (node) => node.column)].map(([rank, nodes]) => [rank, Math.max(...nodes.map((node) => node.x + node.width))]));
2931
+ const remaining = /* @__PURE__ */ new Map();
2932
+ for (const node of ordered.toReversed()) {
2933
+ const next = (children.get(node.id) ?? []).filter((edge) => parents.get(edge.target)?.length === 1).map((edge) => remaining.get(edge.target));
2934
+ remaining.set(node.id, {
2935
+ count: 1 + Math.max(0, ...next.map((path) => path.count)),
2936
+ size: Math.max(node.width, ...next.map((path) => rankEnds.get(node.column) - node.x + gap + path.size))
2937
+ });
2938
+ }
2863
2939
  const spans = /* @__PURE__ */ new Set([Infinity, ...rankEnds.values()]);
2864
- let best;
2940
+ const layouts = [];
2941
+ let unfolded;
2865
2942
  for (const span of spans) {
2866
2943
  const placed = /* @__PURE__ */ new Map();
2867
2944
  const buckets = /* @__PURE__ */ new Map();
@@ -2883,10 +2960,15 @@ function compactComponent(graph, insets, aspectRatio) {
2883
2960
  } else if (parent) {
2884
2961
  shift = parent.shift;
2885
2962
  start = parent.start;
2963
+ const length = primary - start + remaining.get(original.id).size;
2964
+ const capacity = Math.max(original.width, span - start);
2965
+ const runs = Math.max(1, Math.ceil((length + gap) / (capacity + gap)));
2966
+ const end = start + (length + gap) / runs - gap;
2967
+ const midpoint = (parent.node.x + parent.node.width + primary + original.width) / 2;
2886
2968
  if ((children.get(parent.node.id)?.length ?? 0) > 1) {
2887
2969
  shift = parent.node.y - byId.get(parent.node.id).y;
2888
2970
  start = primary;
2889
- } else if (primary + original.width > span && remaining.get(original.id) > 2) {
2971
+ } else if (midpoint > end + 1e-6 && remaining.get(original.id).count > 2) {
2890
2972
  primary = Math.max(0, start - span / 3);
2891
2973
  shift = parent.shift + side * separation;
2892
2974
  start = primary;
@@ -2915,7 +2997,7 @@ function compactComponent(graph, insets, aspectRatio) {
2915
2997
  order: placed.size,
2916
2998
  shift: node.y - original.y - drift,
2917
2999
  start,
2918
- extent: Math.max(node.x + node.width, ...upstream.map((entry) => entry.extent))
3000
+ extent: Math.max(node.x + node.width, parent && node.x < parent.node.x ? parent.node.x + parent.node.width + gap : 0, ...upstream.map((entry) => entry.extent))
2919
3001
  };
2920
3002
  placed.set(node.id, placement);
2921
3003
  for (let bucket = firstBucket; bucket <= lastBucket; bucket++) {
@@ -2929,23 +3011,37 @@ function compactComponent(graph, insets, aspectRatio) {
2929
3011
  const width = extent.height + insets.width + 48;
2930
3012
  const height = extent.width + insets.height + 48;
2931
3013
  const area = width * height;
2932
- const score = Math.max(width / aspectRatio, height);
2933
- if (!best || score < best.score - 1e-9 || Math.abs(score - best.score) < 1e-9 && (area < best.area || area === best.area && turns < best.turns)) best = {
3014
+ const candidate = {
2934
3015
  nodes,
2935
- score,
3016
+ score: Math.max(width / aspectRatio, height),
2936
3017
  area,
2937
3018
  turns
2938
3019
  };
3020
+ if (span === Infinity) unfolded = candidate;
3021
+ layouts.push(candidate);
3022
+ layouts.sort((a, b) => Math.abs(a.score - b.score) >= 1e-9 ? a.score - b.score : a.area - b.area || a.turns - b.turns);
3023
+ if (layouts.length > 2) layouts.pop();
2939
3024
  }
2940
- const routes = routeLayout(best.nodes, graph.edges.map((edge) => Object.assign({}, edge, {
3025
+ const edges = graph.edges.map((edge) => Object.assign({}, edge, {
2941
3026
  sourceOffset: edge.sourceOffset && layoutAxes(edge.sourceOffset, "vertical"),
2942
3027
  targetOffset: edge.targetOffset && layoutAxes(edge.targetOffset, "vertical")
2943
- })));
3028
+ }));
3029
+ if (!layouts.includes(unfolded)) layouts.push(unfolded);
3030
+ let best;
3031
+ for (const candidate of layouts) {
3032
+ const routes = routeLayout(candidate.nodes, edges);
3033
+ const crosses = hasRouteCrossings(routes);
3034
+ if (!best || !crosses) best = {
3035
+ nodes: candidate.nodes,
3036
+ routes
3037
+ };
3038
+ if (!crosses) break;
3039
+ }
2944
3040
  const physicalNodes = best.nodes.map((node) => Object.assign({}, node, layoutAxes(node, "vertical"), {
2945
3041
  width: node.height,
2946
3042
  height: node.width
2947
3043
  }));
2948
- const physicalRoutes = new Map([...routes].map(([id, points]) => [id, points.map((point) => layoutAxes(point, "vertical"))]));
3044
+ const physicalRoutes = new Map([...best.routes].map(([id, points]) => [id, points.map((point) => layoutAxes(point, "vertical"))]));
2949
3045
  return {
2950
3046
  positions: Object.fromEntries(physicalNodes.map(({ id, x, y }) => [id, {
2951
3047
  x,
@@ -20839,7 +20935,7 @@ var markdownPreview_module_default = {
20839
20935
  };
20840
20936
  //#endregion
20841
20937
  //#region src/canvas/browser/preview/markdownPreview.tsx
20842
- var MarkdownContent = lazy(() => import("./markdownContent-DIuJThGK.js"));
20938
+ var MarkdownContent = lazy(() => import("./markdownContent-BR9-1ikU.js"));
20843
20939
  var MarkdownPreview = /* @__PURE__ */ memo(({ dark, unstyled, components, contentClassName, content, draggable, onDoubleClick }) => {
20844
20940
  const [focus, setFocus] = useState(false);
20845
20941
  return /* @__PURE__ */ jsx("div", {
@@ -1,7 +1,7 @@
1
1
  import { l as useTranslate } from "./dist-BFmpkX4P.js";
2
- import { xr as Button } from "./tooltip-DGj5pudg.js";
3
- import { a as DialogFooter, d as Field, f as FieldDescription, h as FieldLabel, i as DialogDescription, in as Input, l as Icon, m as FieldGroup, n as DialogClose, o as DialogHeader, p as FieldError, r as DialogContent, s as DialogTitle, t as Dialog, u as Spinner } from "./dialog-BzoSxhXQ.js";
4
- import { t as WorkbenchSelect } from "./workbenchSelect-BIaEVTx6.js";
2
+ import { xr as Button } from "./tooltip-DSBF3bRw.js";
3
+ import { a as DialogFooter, d as Field, f as FieldDescription, h as FieldLabel, hn as Input, i as DialogDescription, l as Icon, m as FieldGroup, n as DialogClose, o as DialogHeader, p as FieldError, r as DialogContent, s as DialogTitle, t as Dialog, u as Spinner } from "./dialog-b3hsdu8i.js";
4
+ import { t as WorkbenchSelect } from "./workbenchSelect-Di1Bm_-d.js";
5
5
  import { useEffect, useRef, useState } from "react";
6
6
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region src/workbench/browser/runtime/shell/createResourceDialog.tsx