@oomol-lab/open-flow 0.1.0-beta.76 → 0.1.0-beta.77

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 (71) hide show
  1. package/README.md +1 -0
  2. package/dist/browser/{ContentIcon-Cm1hbVzW.js → ContentIcon-VZQO8VZU.js} +8 -5
  3. package/dist/browser/{FlowCanvas-NzKtla_c.js → FlowCanvas-BNGDMaWr.js} +15 -3
  4. package/dist/browser/{createResourceDialog-BgdedQqu.js → createResourceDialog-BmtakfVg.js} +63 -57
  5. package/dist/browser/{dialog-aSElFFw2.js → dialog-BcFBfRB1.js} +84 -15
  6. package/dist/browser/{exportSvg-Dcz4HTo_.js → exportSvg-CG8hEUNk.js} +2 -2
  7. package/dist/browser/{flowChanges-NZyS7HSp.js → flowChanges-BGo_4Ypo.js} +5849 -10882
  8. package/dist/browser/{flowWorkspace-Bl0SDehy.js → flowWorkspace-BFHGev7s.js} +1025 -2607
  9. package/dist/browser/preview.css +112 -5
  10. package/dist/browser/preview.js +1630 -9295
  11. package/dist/browser/theme.css +4 -2
  12. package/dist/browser/{tooltip-3XMK9jkr.js → tooltip-BAWSUexx.js} +1 -1
  13. package/dist/browser/{typeScriptSession-C9sBGOKZ.js → typeScriptSession-CRoezJPN.js} +1 -1
  14. package/dist/browser/ui.css +111 -4
  15. package/dist/browser/ui.js +3 -2
  16. package/dist/browser/workbench.css +9906 -9778
  17. package/dist/browser/workbench.d.ts +6 -2
  18. package/dist/browser/workbench.js +838 -499
  19. package/dist/browser/{workbenchSelect-DBGP7Y4Z.js → workbenchSelect-CjK-xdm3.js} +2 -2
  20. package/dist/command/index.js +48 -48
  21. package/dist/common/authoring.d.ts +4 -4
  22. package/dist/common/authoringExamples.d.ts +3 -2
  23. package/dist/common/authoringSchema.d.ts +23 -4
  24. package/dist/common/control-api-conformance.js +162 -15
  25. package/dist/common/control-api-errors.d.ts +12 -0
  26. package/dist/common/control-api.d.ts +35 -2
  27. package/dist/common/control-api.js +187 -37
  28. package/dist/common/control-requests.d.ts +22 -3
  29. package/dist/common/control-requests.js +152 -14
  30. package/dist/common/engine-contract.d.ts +3 -2
  31. package/dist/common/flow-authoring.js +55 -7
  32. package/dist/common/flow-change-schema.d.ts +1 -1
  33. package/dist/common/flow-change.d.ts +2 -2
  34. package/dist/common/flow-change.js +56 -8
  35. package/dist/common/flow-encoding.js +55 -7
  36. package/dist/common/flow-semantics.js +91 -7
  37. package/dist/common/flow-state.d.ts +123 -0
  38. package/dist/common/flow-state.js +5852 -0
  39. package/dist/common/mcp.d.ts +96 -3
  40. package/dist/common/mcp.js +165 -13
  41. package/dist/common/run-events.js +1 -0
  42. package/dist/common/runtime-contract.d.ts +14 -0
  43. package/dist/common/runtime-contract.js +118 -5
  44. package/dist/common/scheduler-node-execution.d.ts +1 -0
  45. package/dist/common/scheduler.d.ts +1 -1
  46. package/dist/common/scheduler.js +52 -3
  47. package/dist/common/state-conformance.d.ts +16 -0
  48. package/dist/common/tags.d.ts +4 -0
  49. package/dist/index.d.ts +11 -0
  50. package/package.json +5 -1
  51. package/src/control/common/api.ts +84 -11
  52. package/src/control/common/authoring.ts +6 -1
  53. package/src/control/common/authoringExamples.ts +8 -0
  54. package/src/control/common/authoringSchema.ts +18 -12
  55. package/src/control/common/errors.ts +6 -0
  56. package/src/control/common/flowDecoders.ts +1 -0
  57. package/src/control/common/mcp.ts +16 -0
  58. package/src/control/common/requests.ts +10 -2
  59. package/src/control/common/tags.ts +20 -0
  60. package/src/execution/common/events.ts +3 -0
  61. package/src/execution/common/node-execution.ts +3 -0
  62. package/src/execution/common/scheduler.ts +2 -0
  63. package/src/flow/common/change.ts +2 -1
  64. package/src/flow/common/changeSchema.ts +11 -1
  65. package/src/flow/common/errorHandling.ts +1 -1
  66. package/src/flow/common/semantics.ts +20 -0
  67. package/src/runtime/common/engineContract.ts +6 -3
  68. package/src/runtime/common/runtime.ts +116 -0
  69. package/src/state/common/conformance.ts +86 -0
  70. package/src/state/common/state.ts +169 -0
  71. package/src/types/index.ts +11 -0
package/README.md CHANGED
@@ -78,6 +78,7 @@ Source paths are not public import APIs. Source maps and declaration maps are no
78
78
  | `@oomol-lab/open-flow/control-requests` | [src/control/common/requests.ts](src/control/common/requests.ts) |
79
79
  | `@oomol-lab/open-flow/decision` | [src/decision/common/decision.ts](src/decision/common/decision.ts) |
80
80
  | `@oomol-lab/open-flow/openapi` | [src/openapi/common/openapi.ts](src/openapi/common/openapi.ts) |
81
+ | `@oomol-lab/open-flow/flow-state` | [src/state/common/state.ts](src/state/common/state.ts) |
81
82
  | `@oomol-lab/open-flow/http-request` | [src/http/common/httpRequest.ts](src/http/common/httpRequest.ts) |
82
83
 
83
84
  ## License
@@ -1,5 +1,5 @@
1
1
  import { a as derive, l as val, r as combine } from "./dist-bO8nvHFH.js";
2
- import { $ as useAnchoredPopupScrollLock, An as ownerDocument, At as useTriggerDataForwarding, Bn as useValueChanged, Bt as useFloatingTree, Cr as useRenderElement, Ct as useSyncedFloatingRootContext, Dr as warn, Dt as PopupTriggerMap, Er as NOOP, Et as popupStoreSelectors, Fn as useAnimationsFinished, Fr as SafeReact, Ft as FloatingFocusManager, Gn as closePress, Gt as POPUP_COLLISION_AVOIDANCE, Hr as isLastTraversableNode, Ht as FloatingPortal, I as useCompositeListItem, Ir as useStableCallback, It as FloatingNode, Jn as imperativeAction, Jt as ReactStore, Kt as FocusGuard, Ln as transitionStatusMapping, Lr as useRefWithInit, Lt as FloatingTree, Mn as createLucideIcon, Mr as formatErrorMessage, Nn as useTransitionStatus, Nr as mergeProps, Nt as useDismiss, On as isMac, Or as useMergedRefs, Ot as useImplicitActiveTrigger, P as Separator, Pn as useOpenChangeComplete, Pr as useIsoLayoutEffect, Pt as useClick, Q as useToolbarRootContext, Qn as itemPress, Qt as fastComponentRef, Rr as getParentNode, Rt as useFloatingNodeId, Sr as clsx, St as useFocus, Tr as EMPTY_OBJECT, Tt as createInitialPopupStoreState, U as COMPOSITE_KEYS, Un as cancelOpen, Ut as CLICK_TRIGGER_IDENTIFIER, Vn as createChangeEventDetails, Vr as isHTMLElement$1, Vt as FloatingTreeStore, Wt as DROPDOWN_COLLISION_AVOIDANCE, Zt as fastComponent, _r as useControlled, _t as useRole, an as useTimeout, at as adaptiveOrigin, br as cn, bt as useHoverReferenceInteraction, cn as getTabbableBeforeElement, cr as useFormContext, ct as inertValue, dr as useBaseUiId, dt as popupStateMapping, er as none, fr as useId$1, ft as pressableTriggerOpenStateMapping, gr as visuallyHiddenInput, gt as useTypeahead, hr as visuallyHidden, ht as safePolygon, in as Timeout, ir as triggerHover, it as useAnchorPositioning, jn as Check, jr as useCompositeRootContext, jt as useTriggerRegistration, kr as useButton, kt as useOpenStateTransitions, ln as isOutsideEvent, lr as useRegisterFieldControl, lt as getPseudoElementBounds, mr as fieldValidityMapping, mt as useOpenInteractionType, nr as siblingOpen, nt as getDisabledMountTransitionStyles, on as getNextTabbable, ot as useDirection, pt as triggerOpenStateMapping, qn as focusOut, rn as useOnFirstRender, rt as InternalBackdrop, sn as getTabbableAfterElement, sr as useLabelableContext, st as CompositeList, tn as createSelector, tt as usePositioner, ur as useFieldRootContext, vr as Button, vt as useListNavigation, wn as contains, wr as EMPTY_ARRAY, xt as useHoverFloatingInteraction, yt as useInteractions, zn as useOnMount, zt as useFloatingParentNodeId } from "./tooltip-3XMK9jkr.js";
2
+ import { $ as useToolbarRootContext, $n as itemPress, $t as fastComponentRef, Ar as useButton, At as useOpenStateTransitions, Bn as useOnMount, Bt as useFloatingParentNodeId, Cr as clsx, Ct as useFocus, Dr as NOOP, Dt as popupStoreSelectors, Er as EMPTY_OBJECT, Et as createInitialPopupStoreState, F as Separator, Fn as useOpenChangeComplete, Fr as useIsoLayoutEffect, Ft as useClick, Gt as DROPDOWN_COLLISION_AVOIDANCE, Hn as createChangeEventDetails, Hr as isHTMLElement$1, Ht as FloatingTreeStore, In as useAnimationsFinished, Ir as SafeReact, It as FloatingFocusManager, Jn as focusOut, Kn as closePress, Kt as POPUP_COLLISION_AVOIDANCE, L as useCompositeListItem, Lr as useStableCallback, Lt as FloatingNode, Mn as Check, Mr as useCompositeRootContext, Mt as useTriggerRegistration, Nn as createLucideIcon, Nr as formatErrorMessage, Or as warn, Ot as PopupTriggerMap, Pn as useTransitionStatus, Pr as mergeProps, Pt as useDismiss, Qt as fastComponent, Rn as transitionStatusMapping, Rr as useRefWithInit, Rt as FloatingTree, St as useHoverFloatingInteraction, Tn as contains, Tr as EMPTY_ARRAY, Ur as isLastTraversableNode, Ut as FloatingPortal, Vn as useValueChanged, Vt as useFloatingTree, W as COMPOSITE_KEYS, Wn as cancelOpen, Wt as CLICK_TRIGGER_IDENTIFIER, Yn as imperativeAction, Yt as ReactStore, _r as visuallyHiddenInput, _t as useTypeahead, an as Timeout, ar as triggerHover, at as useAnchorPositioning, bt as useInteractions, cn as getTabbableAfterElement, cr as useLabelableContext, ct as CompositeList, dr as useFieldRootContext, et as useAnchoredPopupScrollLock, fr as useBaseUiId, ft as popupStateMapping, gr as visuallyHidden, gt as safePolygon, hr as fieldValidityMapping, ht as useOpenInteractionType, in as useOnFirstRender, it as InternalBackdrop, jn as ownerDocument, jt as useTriggerDataForwarding, kn as isMac, kr as useMergedRefs, kt as useImplicitActiveTrigger, ln as getTabbableBeforeElement, lr as useFormContext, lt as inertValue, mt as triggerOpenStateMapping, nn as createSelector, nt as usePositioner, on as useTimeout, ot as adaptiveOrigin, pr as useId$1, pt as pressableTriggerOpenStateMapping, qt as FocusGuard, rr as siblingOpen, rt as getDisabledMountTransitionStyles, sn as getNextTabbable, st as useDirection, tr as none, un as isOutsideEvent, ur as useRegisterFieldControl, ut as getPseudoElementBounds, vr as useControlled, vt as useRole, wr as useRenderElement, wt as useSyncedFloatingRootContext, xr as cn, xt as useHoverReferenceInteraction, yr as Button, yt as useListNavigation, zr as getParentNode, zt as useFloatingNodeId } from "./tooltip-BAWSUexx.js";
3
3
  import * as React from "react";
4
4
  import reactExports, { createContext, forwardRef, memo, useCallback, useContext, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
5
5
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -11740,6 +11740,8 @@ function useSpriteStatus(url) {
11740
11740
  //#region src/ui/browser/icons/ContentIcon.tsx
11741
11741
  /** Standalone image capture uses individual, cross-origin-readable images instead of sprites. */
11742
11742
  var IconImageCrossOriginContext = createContext(void 0);
11743
+ /** A bundled, theme-aware placeholder that does not load a remote icon. */
11744
+ var placeholderIcon = "data:application/vnd.open-flow.placeholder-icon,";
11743
11745
  var ContentIcon = ({ src, className, fallback = null, loading = "lazy", decoding = "async" }) => {
11744
11746
  const crossOrigin = useContext(IconImageCrossOriginContext);
11745
11747
  const sprite = useMemo(() => parseSpriteIcon(src), [src]);
@@ -11761,6 +11763,10 @@ var ContentIcon = ({ src, className, fallback = null, loading = "lazy", decoding
11761
11763
  decoding,
11762
11764
  sprite
11763
11765
  });
11766
+ if (source === "data:application/vnd.open-flow.placeholder-icon,") return /* @__PURE__ */ jsx("i", {
11767
+ "aria-hidden": "true",
11768
+ className: clsx("i-lucide-light:plug", className)
11769
+ });
11764
11770
  if (source?.startsWith(initialsIconPrefix)) {
11765
11771
  if (crossOrigin && fallback != null) return /* @__PURE__ */ jsx(Fragment$1, { children: fallback });
11766
11772
  return /* @__PURE__ */ jsx("span", {
@@ -11797,9 +11803,6 @@ var ContentIcon = ({ src, className, fallback = null, loading = "lazy", decoding
11797
11803
  });
11798
11804
  };
11799
11805
  var initialsIconPrefix = "data:application/vnd.open-flow.initials,";
11800
- function initialsIcon(initials) {
11801
- return `${initialsIconPrefix}${initials}`;
11802
- }
11803
11806
  var imageIconPrefix = "data:application/vnd.open-flow.image-icon+json,";
11804
11807
  function imageIcon(source, fallback) {
11805
11808
  return `${imageIconPrefix}${encodeURIComponent(JSON.stringify({
@@ -11874,4 +11877,4 @@ function SpriteIcon({ sprite, ...props }) {
11874
11877
  });
11875
11878
  }
11876
11879
  //#endregion
11877
- export { ko_default$1 as $, DropdownMenuSub as A, MenuPopup as B, DropdownMenuContent as C, DropdownMenuRadioGroup as D, DropdownMenuLabel as E, findRootOwnerId as F, MenuRootContext as G, MenuGroup as H, useCompositeItem as I, waitBranchDescription as J, useMenuRootContext as K, MenuRoot as L, DropdownMenuSubTrigger as M, DropdownMenuTrigger as N, DropdownMenuRadioItem as O, isElementDisabled as P, ru_default$1 as Q, MenuPositioner as R, DropdownMenuCheckboxItem as S, DropdownMenuItem as T, ContextMenuRootContext as U, MenuItem as V, useContextMenuRootContext as W, zh_TW_default$1 as X, waitBranchLocales as Y, zh_CN_default$1 as Z, NativeScrollArea as _, spriteIcon as a, Checkbox as at, Z as b, useIconifyData as c, PopoverContent as d, ja_default$1 as et, PopoverDescription as f, PopoverTrigger as g, PopoverTitle as h, initialsIcon as i, providerIconAppearance as it, DropdownMenuSubContent as j, DropdownMenuSeparator as k, wrapLayout as l, PopoverPanelContent as m, IconImageCrossOriginContext as n, en_default$1 as nt, IconifyProvider as o, useAriaLabelledBy as ot, PopoverHeader as p, uiLocales as q, imageIcon as r, I18n as rt, useIconifyCollectionLoader as s, IconThemeContext as st, ContentIcon as t, fr_default$1 as tt, Popover as u, ScrollArea as v, DropdownMenuGroup as w, DropdownMenu as x, VirtualScrollArea as y, MenuPortal as z };
11880
+ export { ko_default$1 as $, DropdownMenuSub as A, MenuPopup as B, DropdownMenuContent as C, DropdownMenuRadioGroup as D, DropdownMenuLabel as E, findRootOwnerId as F, MenuRootContext as G, MenuGroup as H, useCompositeItem as I, waitBranchDescription as J, useMenuRootContext as K, MenuRoot as L, DropdownMenuSubTrigger as M, DropdownMenuTrigger as N, DropdownMenuRadioItem as O, isElementDisabled as P, ru_default$1 as Q, MenuPositioner as R, DropdownMenuCheckboxItem as S, DropdownMenuItem as T, ContextMenuRootContext as U, MenuItem as V, useContextMenuRootContext as W, zh_TW_default$1 as X, waitBranchLocales as Y, zh_CN_default$1 as Z, NativeScrollArea as _, spriteIcon as a, Checkbox as at, Z as b, useIconifyData as c, PopoverContent as d, ja_default$1 as et, PopoverDescription as f, PopoverTrigger as g, PopoverTitle as h, placeholderIcon as i, providerIconAppearance as it, DropdownMenuSubContent as j, DropdownMenuSeparator as k, wrapLayout as l, PopoverPanelContent as m, IconImageCrossOriginContext as n, en_default$1 as nt, IconifyProvider as o, useAriaLabelledBy as ot, PopoverHeader as p, uiLocales as q, imageIcon as r, I18n as rt, useIconifyCollectionLoader as s, IconThemeContext as st, ContentIcon as t, fr_default$1 as tt, Popover as u, ScrollArea as v, DropdownMenuGroup as w, DropdownMenu as x, VirtualScrollArea as y, MenuPortal as z };
@@ -1,8 +1,8 @@
1
1
  import { o as __toESM, t as __commonJSMin } from "./rolldown-runtime-CEgmsyvS.js";
2
- import { $ as ko_default, B as MenuPopup, C as DropdownMenuContent, D as DropdownMenuRadioGroup, E as DropdownMenuLabel, F as findRootOwnerId, G as MenuRootContext, H as MenuGroup, J as waitBranchDescription, K as useMenuRootContext, L as MenuRoot, N as DropdownMenuTrigger, O as DropdownMenuRadioItem, Q as ru_default, R as MenuPositioner, S as DropdownMenuCheckboxItem, T as DropdownMenuItem, U as ContextMenuRootContext, V as MenuItem, W as useContextMenuRootContext, X as zh_TW_default, Z as zh_CN_default, _ as NativeScrollArea, at as Checkbox, d as PopoverContent, et as ja_default, g as PopoverTrigger, h as PopoverTitle, k as DropdownMenuSeparator, l as wrapLayout, nt as en_default, q as uiLocales, rt as I18n, st as IconThemeContext, t as ContentIcon, tt as fr_default, u as Popover, v as ScrollArea, w as DropdownMenuGroup, x as DropdownMenu, z as MenuPortal } from "./ContentIcon-Cm1hbVzW.js";
2
+ import { $ as ko_default, B as MenuPopup, C as DropdownMenuContent, D as DropdownMenuRadioGroup, E as DropdownMenuLabel, F as findRootOwnerId, G as MenuRootContext, H as MenuGroup, J as waitBranchDescription, K as useMenuRootContext, L as MenuRoot, N as DropdownMenuTrigger, O as DropdownMenuRadioItem, Q as ru_default, R as MenuPositioner, S as DropdownMenuCheckboxItem, T as DropdownMenuItem, U as ContextMenuRootContext, V as MenuItem, W as useContextMenuRootContext, X as zh_TW_default, Z as zh_CN_default, _ as NativeScrollArea, at as Checkbox, d as PopoverContent, et as ja_default, g as PopoverTrigger, h as PopoverTitle, k as DropdownMenuSeparator, l as wrapLayout, nt as en_default, q as uiLocales, rt as I18n, st as IconThemeContext, t as ContentIcon, tt as fr_default, u as Popover, v as ScrollArea, w as DropdownMenuGroup, x as DropdownMenu, z as MenuPortal } from "./ContentIcon-VZQO8VZU.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 { $t as require_with_selector, A as string, An as ownerDocument, C as literal, Cr as useRenderElement, Mn as createLucideIcon, Sr as clsx, T as number, Tn as getTarget, Un as cancelOpen, Vn as createChangeEventDetails, an as useTimeout, ar as triggerPress, bn as stopEvent$1, br as cn$1, fr as useId$1, ft as pressableTriggerOpenStateMapping, i as TooltipTrigger, k as strictObject, n as TooltipContent, p as timeZoneOffsetMinutes, qt as addEventListener, r as TooltipProvider, t as Tooltip, vr as Button, wn as contains, y as discriminatedUnion } from "./tooltip-3XMK9jkr.js";
5
+ import { A as strictObject, Cr as clsx, E as number, En as getTarget, Hn as createChangeEventDetails, Jt as addEventListener, Nn as createLucideIcon, Tn as contains, Wn as cancelOpen, b as discriminatedUnion, en as require_with_selector, i as TooltipTrigger, j as string, jn as ownerDocument, n as TooltipContent, on as useTimeout, or as triggerPress, p as timeZoneOffsetMinutes, pr as useId$1, pt as pressableTriggerOpenStateMapping, r as TooltipProvider, t as Tooltip, w as literal, wr as useRenderElement, xn as stopEvent$1, xr as cn$1, yr as Button } from "./tooltip-BAWSUexx.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";
@@ -20452,6 +20452,9 @@ function CommentTitle({ store }) {
20452
20452
  });
20453
20453
  }
20454
20454
  //#endregion
20455
+ //#region src/canvas/browser/nodeActions.tsx
20456
+ var NodeHistoryContext = createContext(void 0);
20457
+ //#endregion
20455
20458
  //#region ../../node_modules/.bun/@base-ui+react@1.4.1+fa6c2f29eeb10566/node_modules/@base-ui/react/esm/context-menu/root/ContextMenuRoot.js
20456
20459
  /**
20457
20460
  * A component that creates a context menu activated by right clicking or long pressing.
@@ -20713,7 +20716,16 @@ function NodeHeadContextMenu({ canvasStore, children }) {
20713
20716
  function useNodeMenuItems({ t, nodeStore, onDelete, editable }) {
20714
20717
  const skip = useVal(NodeStore.to(nodeStore)?.ignore);
20715
20718
  const { duplicateNode } = nodeStore;
20719
+ const history = useContext(NodeHistoryContext)?.(nodeStore.nodeId);
20716
20720
  return coalesce([
20721
+ history && {
20722
+ ...history,
20723
+ key: "$history",
20724
+ icon: /* @__PURE__ */ jsx("i", {
20725
+ "aria-hidden": "true",
20726
+ className: "i-lucide-light:database"
20727
+ })
20728
+ },
20717
20729
  editable && duplicateNode && {
20718
20730
  label: t("nodeActions.duplicate"),
20719
20731
  key: "$duplicate",
@@ -22703,4 +22715,4 @@ var FlowCanvas = ({ flowCanvasStore, annotationContext, onActivateSelection, onS
22703
22715
  });
22704
22716
  };
22705
22717
  //#endregion
22706
- export { isSameViewport as C, isMac as S, CanvasTooltip as _, collapseAllNested as a, toManifestHandleName as b, defaultTriggerIcon as c, selectableTimeZones as d, timeZoneLabel as f, E as g, cronDescription as h, JSONViewer as i, useDebouncedValue as l, timeZoneOffset as m, setAddItemId as n, formatDuration as o, timeZoneLongLabel as p, Textarea as r, CanvasNodeIcon as s, FlowCanvas as t, IconStack as u, CanvasStore as v, toManifestNodeId as x, toViewEdge as y };
22718
+ export { isMac as C, toManifestNodeId as S, E as _, JSONViewer as a, toViewEdge as b, CanvasNodeIcon as c, IconStack as d, selectableTimeZones as f, cronDescription as g, timeZoneOffset as h, Textarea as i, defaultTriggerIcon as l, timeZoneLongLabel as m, setAddItemId as n, collapseAllNested as o, timeZoneLabel as p, NodeHistoryContext as r, formatDuration as s, FlowCanvas as t, useDebouncedValue as u, CanvasTooltip as v, isSameViewport as w, toManifestHandleName as x, CanvasStore as y };
@@ -1,14 +1,15 @@
1
1
  import { l as useTranslate } from "./dist-BFmpkX4P.js";
2
- import { vr as Button } from "./tooltip-3XMK9jkr.js";
3
- import { $t as Input, a as DialogFooter, d as Field, f as FieldDescription, h as FieldLabel, 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-aSElFFw2.js";
4
- import { t as WorkbenchSelect } from "./workbenchSelect-DBGP7Y4Z.js";
2
+ import { yr as Button } from "./tooltip-BAWSUexx.js";
3
+ import { a as DialogFooter, d as Field, f as FieldDescription, h as FieldLabel, i as DialogDescription, l as Icon, m as FieldGroup, n as DialogClose, nn as Input, o as DialogHeader, p as FieldError, r as DialogContent, s as DialogTitle, t as Dialog, u as Spinner } from "./dialog-BcFBfRB1.js";
4
+ import { t as WorkbenchSelect } from "./workbenchSelect-CjK-xdm3.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
8
- function CreateResourceDialog({ disabled, field, id, issue, label, name, onNameChange, onOpenChange, onSubmit, pending, submitLabel, sourceUrl, title }) {
8
+ function CreateResourceDialog({ disabled, tagField, field, id, issue, label, name, onNameChange, onOpenChange, onSubmit, pending, submitLabel, sourceUrl, title }) {
9
9
  const t = useTranslate();
10
10
  const input = useRef(null);
11
11
  const portal = useRef(null);
12
+ const [root, setRoot] = useState(null);
12
13
  const [open, setOpen] = useState(false);
13
14
  const showIssue = name.length > 0 && issue != null;
14
15
  const message = showIssue ? t(`resource.nameIssue.${issue}`, { max: 80 }) : t("resource.nameHint", { max: 80 });
@@ -27,6 +28,7 @@ function CreateResourceDialog({ disabled, field, id, issue, label, name, onNameC
27
28
  },
28
29
  open,
29
30
  children: /* @__PURE__ */ jsx(DialogContent, {
31
+ ref: setRoot,
30
32
  container: portal.current,
31
33
  initialFocus: () => input.current,
32
34
  showCloseButton: false,
@@ -56,63 +58,67 @@ function CreateResourceDialog({ disabled, field, id, issue, label, name, onNameC
56
58
  })] }),
57
59
  /* @__PURE__ */ jsxs(FieldGroup, {
58
60
  className: "gap-4",
59
- children: [/* @__PURE__ */ jsxs(Field, {
60
- "data-invalid": showIssue,
61
- children: [
62
- /* @__PURE__ */ jsx(FieldLabel, {
63
- htmlFor: id,
64
- children: label
65
- }),
66
- /* @__PURE__ */ jsx(Input, {
67
- autoComplete: "off",
68
- "aria-describedby": messageId,
69
- "aria-invalid": showIssue,
70
- id,
71
- name: "resource-name",
72
- onChange: (event) => onNameChange(event.target.value),
73
- ref: input,
74
- required: true,
75
- value: name
76
- }),
77
- showIssue ? /* @__PURE__ */ jsx(FieldError, {
78
- id: messageId,
79
- children: message
80
- }) : /* @__PURE__ */ jsx(FieldDescription, {
81
- id: messageId,
82
- children: message
83
- })
84
- ]
85
- }), field != null && /* @__PURE__ */ jsxs(Field, { children: [
86
- /* @__PURE__ */ jsx(FieldLabel, {
87
- htmlFor: field.state == "ready" ? fieldId : void 0,
88
- children: field.label
89
- }),
90
- field.state == "ready" ? /* @__PURE__ */ jsx(WorkbenchSelect, {
91
- ariaLabel: field.ariaLabel,
92
- className: "w-full",
93
- id: fieldId,
94
- onValueChange: field.onValueChange,
95
- options: field.options,
96
- portalRoot: portal.current,
97
- value: field.value
98
- }) : /* @__PURE__ */ jsxs("div", {
99
- className: "flex min-h-9 items-center gap-2 rounded-lg border bg-muted/30 px-3 py-2 text-sm text-muted-foreground",
100
- role: field.state == "error" ? "alert" : "status",
61
+ children: [
62
+ /* @__PURE__ */ jsxs(Field, {
63
+ "data-invalid": showIssue,
101
64
  children: [
102
- field.state == "loading" && /* @__PURE__ */ jsx(Spinner, { "aria-hidden": "true" }),
103
- /* @__PURE__ */ jsx("span", { children: field.status }),
104
- field.state == "error" && /* @__PURE__ */ jsx(Button, {
105
- className: "ml-auto bg-background",
106
- onClick: field.onRetry,
107
- size: "sm",
108
- type: "button",
109
- variant: "outline",
110
- children: field.retry
65
+ /* @__PURE__ */ jsx(FieldLabel, {
66
+ htmlFor: id,
67
+ children: label
68
+ }),
69
+ /* @__PURE__ */ jsx(Input, {
70
+ autoComplete: "off",
71
+ "aria-describedby": messageId,
72
+ "aria-invalid": showIssue,
73
+ id,
74
+ name: "resource-name",
75
+ onChange: (event) => onNameChange(event.target.value),
76
+ ref: input,
77
+ required: true,
78
+ value: name
79
+ }),
80
+ showIssue ? /* @__PURE__ */ jsx(FieldError, {
81
+ id: messageId,
82
+ children: message
83
+ }) : /* @__PURE__ */ jsx(FieldDescription, {
84
+ id: messageId,
85
+ children: message
111
86
  })
112
87
  ]
113
88
  }),
114
- /* @__PURE__ */ jsx(FieldDescription, { children: field.description })
115
- ] })]
89
+ tagField?.(root),
90
+ field != null && /* @__PURE__ */ jsxs(Field, { children: [
91
+ /* @__PURE__ */ jsx(FieldLabel, {
92
+ htmlFor: field.state == "ready" ? fieldId : void 0,
93
+ children: field.label
94
+ }),
95
+ field.state == "ready" ? /* @__PURE__ */ jsx(WorkbenchSelect, {
96
+ ariaLabel: field.ariaLabel,
97
+ className: "w-full",
98
+ id: fieldId,
99
+ onValueChange: field.onValueChange,
100
+ options: field.options,
101
+ portalRoot: root,
102
+ value: field.value
103
+ }) : /* @__PURE__ */ jsxs("div", {
104
+ className: "flex min-h-9 items-center gap-2 rounded-lg border bg-muted/30 px-3 py-2 text-sm text-muted-foreground",
105
+ role: field.state == "error" ? "alert" : "status",
106
+ children: [
107
+ field.state == "loading" && /* @__PURE__ */ jsx(Spinner, { "aria-hidden": "true" }),
108
+ /* @__PURE__ */ jsx("span", { children: field.status }),
109
+ field.state == "error" && /* @__PURE__ */ jsx(Button, {
110
+ className: "ml-auto bg-background",
111
+ onClick: field.onRetry,
112
+ size: "sm",
113
+ type: "button",
114
+ variant: "outline",
115
+ children: field.retry
116
+ })
117
+ ]
118
+ }),
119
+ /* @__PURE__ */ jsx(FieldDescription, { children: field.description })
120
+ ] })
121
+ ]
116
122
  }),
117
123
  /* @__PURE__ */ jsxs(DialogFooter, {
118
124
  className: "mx-0 mb-0 border-0 bg-transparent p-0 pt-1",
@@ -1,5 +1,5 @@
1
1
  import { a as toPlainObject, i as isString } from "./dist-BFmpkX4P.js";
2
- import { $ as useAnchoredPopupScrollLock, A as string, An as ownerDocument, At as useTriggerDataForwarding, Bn as useValueChanged, Br as isElement, C as literal, Cn as activeElement, Cr as useRenderElement, Ct as useSyncedFloatingRootContext, D as preprocess, Dt as PopupTriggerMap, E as object, Er as NOOP, Et as popupStoreSelectors, F as IndexGuessBehavior, Ft as FloatingFocusManager, Gn as closePress, Ht as FloatingPortal, I as useCompositeListItem, Ir as useStableCallback, Jn as imperativeAction, Jt as ReactStore, Ln as transitionStatusMapping, Lr as useRefWithInit, M as unknown, Mn as createLucideIcon, Mr as formatErrorMessage, Mt as platform, N as _isoDateTime, Nn as useTransitionStatus, Nr as mergeProps, Nt as useDismiss, O as record$1, Or as useMergedRefs, Ot as useImplicitActiveTrigger, P as Separator, Pn as useOpenChangeComplete, Pr as useIsoLayoutEffect, Pt as useClick, Q as useToolbarRootContext, Qn as itemPress, Rn as useAnimationFrame, T as number, Tn as getTarget, Tr as EMPTY_OBJECT, Tt as createInitialPopupStoreState, U as COMPOSITE_KEYS, Un as cancelOpen, Ut as CLICK_TRIGGER_IDENTIFIER, Vn as createChangeEventDetails, Wt as DROPDOWN_COLLISION_AVOIDANCE, Xt as useStore, Yt as Store, _ as array, _r as useControlled, _t as useRole, an as useTimeout, br as cn, cr as useFormContext, ct as inertValue, dr as useBaseUiId, dt as popupStateMapping, er as none, et as useScrollLock, f as isTimeZone, ft as pressableTriggerOpenStateMapping, g as _enum, gr as visuallyHiddenInput, gt as useTypeahead, h as ZodType, hr as visuallyHidden, i as TooltipTrigger, it as useAnchorPositioning, j as union, jn as Check, k as strictObject, kn as isWebKit, kr as useButton, kt as useOpenStateTransitions, lr as useRegisterFieldControl, lt as getPseudoElementBounds, m as ZodISODateTime, mr as fieldValidityMapping, mt as useOpenInteractionType, n as TooltipContent, nn as useValueAsRef, nt as getDisabledMountTransitionStyles, or as windowResize, ot as useDirection, pt as triggerOpenStateMapping, qt as addEventListener, rn as useOnFirstRender, rt as InternalBackdrop, sr as useLabelableContext, st as CompositeList, t as Tooltip, tn as createSelector, tt as usePositioner, ur as useFieldRootContext, ut as CommonPopupDataAttributes, v as boolean, vr as Button, vt as useListNavigation, w as never, wn as contains, wr as EMPTY_ARRAY, wt as useFloatingRootContext, x as json$1, xn as getFloatingFocusElement, xr as cva, y as discriminatedUnion, yn as rectToClientRect, yr as buttonVariants, yt as useInteractions, zr as getWindow } from "./tooltip-3XMK9jkr.js";
2
+ import { $ as useToolbarRootContext, $n as itemPress, A as strictObject, An as isWebKit, Ar as useButton, At as useOpenStateTransitions, Br as getWindow, D as object, Dr as NOOP, Dt as popupStoreSelectors, E as number, En as getTarget, Er as EMPTY_OBJECT, Et as createInitialPopupStoreState, F as Separator, Fn as useOpenChangeComplete, Fr as useIsoLayoutEffect, Ft as useClick, Gt as DROPDOWN_COLLISION_AVOIDANCE, Hn as createChangeEventDetails, I as IndexGuessBehavior, It as FloatingFocusManager, Jt as addEventListener, Kn as closePress, L as useCompositeListItem, Lr as useStableCallback, M as union, Mn as Check, N as unknown, Nn as createLucideIcon, Nr as formatErrorMessage, Nt as platform, O as preprocess, Ot as PopupTriggerMap, P as _isoDateTime, Pn as useTransitionStatus, Pr as mergeProps, Pt as useDismiss, Rn as transitionStatusMapping, Rr as useRefWithInit, S as json$1, Sn as getFloatingFocusElement, Sr as cva, T as never, Tn as contains, Tr as EMPTY_ARRAY, Tt as useFloatingRootContext, Ut as FloatingPortal, Vn as useValueChanged, Vr as isElement, W as COMPOSITE_KEYS, Wn as cancelOpen, Wt as CLICK_TRIGGER_IDENTIFIER, Xt as Store, Yn as imperativeAction, Yt as ReactStore, Zt as useStore, _ as _null, _r as visuallyHiddenInput, _t as useTypeahead, at as useAnchorPositioning, b as discriminatedUnion, bn as rectToClientRect, br as buttonVariants, bt as useInteractions, cr as useLabelableContext, ct as CompositeList, dr as useFieldRootContext, dt as CommonPopupDataAttributes, et as useAnchoredPopupScrollLock, f as isTimeZone, fr as useBaseUiId, ft as popupStateMapping, g as _enum, gr as visuallyHidden, h as ZodType, hr as fieldValidityMapping, ht as useOpenInteractionType, i as TooltipTrigger, in as useOnFirstRender, it as InternalBackdrop, j as string, jn as ownerDocument, jt as useTriggerDataForwarding, k as record$1, kr as useMergedRefs, kt as useImplicitActiveTrigger, lr as useFormContext, lt as inertValue, m as ZodISODateTime, mt as triggerOpenStateMapping, n as TooltipContent, nn as createSelector, nt as usePositioner, on as useTimeout, pt as pressableTriggerOpenStateMapping, rn as useValueAsRef, rt as getDisabledMountTransitionStyles, sr as windowResize, st as useDirection, t as Tooltip, tr as none, tt as useScrollLock, ur as useRegisterFieldControl, ut as getPseudoElementBounds, v as array, vr as useControlled, vt as useRole, w as literal, wn as activeElement, wr as useRenderElement, wt as useSyncedFloatingRootContext, xr as cn, y as boolean, yr as Button, yt as useListNavigation, zn as useAnimationFrame } from "./tooltip-BAWSUexx.js";
3
3
  import * as React from "react";
4
4
  import { useMemo } from "react";
5
5
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -2310,6 +2310,11 @@ function SelectScrollDownButton({ className, ...props }) {
2310
2310
  });
2311
2311
  }
2312
2312
  //#endregion
2313
+ //#region ../../node_modules/.bun/zod@4.6.5/node_modules/zod/v4/classic/iso.js
2314
+ function datetime(params) {
2315
+ return _isoDateTime(ZodISODateTime, params);
2316
+ }
2317
+ //#endregion
2313
2318
  //#region ../../node_modules/.bun/dequal@2.0.3/node_modules/dequal/lite/index.mjs
2314
2319
  var has = Object.prototype.hasOwnProperty;
2315
2320
  function dequal(foo, bar) {
@@ -2333,11 +2338,71 @@ function dequal(foo, bar) {
2333
2338
  }
2334
2339
  return foo !== foo && bar !== bar;
2335
2340
  }
2336
- //#endregion
2337
- //#region ../../node_modules/.bun/zod@4.6.5/node_modules/zod/v4/classic/iso.js
2338
- function datetime(params) {
2339
- return _isoDateTime(ZodISODateTime, params);
2341
+ strictObject({
2342
+ scope: _enum(["draft", "live"]),
2343
+ values: boolean().optional()
2344
+ });
2345
+ strictObject({
2346
+ scope: _enum(["draft", "live"]),
2347
+ key: string().min(1).refine((key) => new TextEncoder().encode(key).length <= 256).optional()
2348
+ });
2349
+ strictObject({
2350
+ scope: _enum(["draft", "live"]),
2351
+ space: string().regex(/^(flow|node:.+)$/)
2352
+ });
2353
+ var dedupeConfigSchema = strictObject({
2354
+ field: string().default(""),
2355
+ mode: _enum(["new", "increasing"]).default("new"),
2356
+ space: _enum(["node", "flow"]).default("node")
2357
+ });
2358
+ var dedupeExecutorSchema = dedupeConfigSchema.extend({ kind: literal("dedupe") });
2359
+ function dedupeTask(config = dedupeConfigSchema.parse({}), name = "Remove Duplicates") {
2360
+ return {
2361
+ name,
2362
+ executor: {
2363
+ ...config,
2364
+ kind: "dedupe"
2365
+ },
2366
+ inputs: [{
2367
+ handle: "items",
2368
+ jsonSchema: { type: "array" },
2369
+ nullable: false
2370
+ }],
2371
+ outputs: ["items", "duplicates"].map((handle) => ({
2372
+ handle,
2373
+ jsonSchema: { type: "array" },
2374
+ nullable: false
2375
+ }))
2376
+ };
2340
2377
  }
2378
+ var flowStateViewSchema = object({
2379
+ version: literal(1),
2380
+ scope: _enum(["draft", "live"]),
2381
+ limits: object({
2382
+ maxValueBytes: number().positive(),
2383
+ maxValues: number().int().positive(),
2384
+ maxSpaces: number().int().positive(),
2385
+ maxIdentities: number().positive(),
2386
+ maxRunWrites: number().positive()
2387
+ }),
2388
+ values: array(object({
2389
+ key: string(),
2390
+ size: number().nonnegative(),
2391
+ updatedAt: number(),
2392
+ value: json$1().optional()
2393
+ })),
2394
+ spaces: array(object({
2395
+ space: string(),
2396
+ mode: _enum(["new", "increasing"]),
2397
+ count: number().nonnegative(),
2398
+ watermark: union([
2399
+ string(),
2400
+ number(),
2401
+ _null()
2402
+ ]),
2403
+ updatedAt: number()
2404
+ }))
2405
+ });
2341
2406
  //#endregion
2342
2407
  //#region ../../node_modules/.bun/@cfworker+json-schema@4.1.1/node_modules/@cfworker/json-schema/dist/esm/deep-compare-strict.js
2343
2408
  function deepCompareStrict(a, b) {
@@ -7060,7 +7125,8 @@ var managedFields = object({
7060
7125
  flowId: text,
7061
7126
  revisionId: text
7062
7127
  }),
7063
- httpRequestExecutorSchema
7128
+ httpRequestExecutorSchema,
7129
+ dedupeExecutorSchema
7064
7130
  ])
7065
7131
  });
7066
7132
  var managed = managedFields.transform(limitDecisionTask);
@@ -7330,7 +7396,8 @@ var revision = object({
7330
7396
  literal(9),
7331
7397
  literal(10),
7332
7398
  literal(11),
7333
- literal(12)
7399
+ literal(12),
7400
+ literal(13)
7334
7401
  ]),
7335
7402
  document,
7336
7403
  modules: record$1(text, module)
@@ -7532,6 +7599,7 @@ var variants = new Map(Object.entries(shapes).map(([kind, shape]) => [kind, shap
7532
7599
  })]));
7533
7600
  array(union([...variants.values()])).min(1);
7534
7601
  function checkModelVersion(content) {
7602
+ if (content.modelVersion < 13 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind === "task" && "executor" in candidateNode.task && candidateNode.task.executor.kind === "dedupe")) throw new Error("Deduplication requires Flow model v13.");
7535
7603
  if (content.modelVersion < 12 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && "moduleId" in candidateNode.task && candidateNode.task.capabilities?.some((item) => item.kind == "http"))) throw new TypeError("Code HTTP access requires Flow model version 12.");
7536
7604
  if (content.modelVersion < 11 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && "executor" in candidateNode.task && candidateNode.task.executor.kind == "http-request")) throw new TypeError("HTTP Request requires Flow model version 11.");
7537
7605
  if (content.modelVersion < 11 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && ("moduleId" in candidateNode.task ? candidateNode.task.capabilities?.some((item) => item.kind == "workflow") : candidateNode.task.executor.kind == "agent" && candidateNode.task.executor.tools.some((item) => item.kind == "workflow")))) throw new TypeError("Workflow tools require Flow model version 11.");
@@ -7771,7 +7839,7 @@ var nodeErrorSchema = {
7771
7839
  }
7772
7840
  };
7773
7841
  function supportsNodeErrorHandling(node) {
7774
- return supportsNodeRetry(node);
7842
+ return supportsNodeRetry(node) || node.kind === "task" && "executor" in node.task && node.task.executor.kind === "dedupe";
7775
7843
  }
7776
7844
  function nodeSystemOutputPorts(node) {
7777
7845
  return supportsNodeErrorHandling(node) && node.onError == "error" ? { error: {
@@ -7941,10 +8009,10 @@ function upgradeRevisionContent(content) {
7941
8009
  function upgradeDecodedRevisionContent(content) {
7942
8010
  const graph = content.document.graph;
7943
8011
  const hasManual = Object.values(graph.nodes).some((node) => node.kind == "manual");
7944
- if (!hasManual && content.modelVersion == 12) return content;
8012
+ if (!hasManual && content.modelVersion == 13) return content;
7945
8013
  return {
7946
8014
  ...content,
7947
- modelVersion: 12,
8015
+ modelVersion: 13,
7948
8016
  document: {
7949
8017
  ...content.document,
7950
8018
  graph: hasManual ? {
@@ -7991,7 +8059,7 @@ function invalid(message) {
7991
8059
  throw new FlowChangeError(message);
7992
8060
  }
7993
8061
  function applyFlowChanges(content, operations) {
7994
- const source = content.modelVersion != 12 || Object.values(content.document.graph.nodes).some((node) => node.kind == "manual") ? decodeRevisionContent(content) : content;
8062
+ const source = content.modelVersion != 13 || Object.values(content.document.graph.nodes).some((node) => node.kind == "manual") ? decodeRevisionContent(content) : content;
7995
8063
  const document = { ...source.document };
7996
8064
  const modules = { ...source.modules };
7997
8065
  for (const operation of operations) switch (operation.kind) {
@@ -8439,7 +8507,7 @@ function applyFlowChanges(content, operations) {
8439
8507
  assertDocumentHttpAuthBindings(document);
8440
8508
  return upgradeDecodedRevisionContent({
8441
8509
  document,
8442
- modelVersion: 12,
8510
+ modelVersion: 13,
8443
8511
  modules
8444
8512
  });
8445
8513
  }
@@ -9284,10 +9352,11 @@ function DialogOverlay({ className, ...props }) {
9284
9352
  ...props
9285
9353
  });
9286
9354
  }
9287
- function DialogContent({ children, className, closeLabel = "Close", container, showCloseButton = true, ...props }) {
9355
+ var DialogContent = React.forwardRef(function DialogContent({ children, className, closeLabel = "Close", container, showCloseButton = true, ...props }, ref) {
9288
9356
  return /* @__PURE__ */ jsxs(DialogPortal, {
9289
9357
  container,
9290
9358
  children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsxs(DialogPopup, {
9359
+ ref,
9291
9360
  "data-slot": "dialog-content",
9292
9361
  className: cn("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] grid-cols-[minmax(0,1fr)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-lg bg-popover [--ui-control-background:var(--ui-popover)] p-4 text-sm text-popover-foreground shadow-lg ring-1 ring-foreground/10 outline-none sm:max-w-sm transition-opacity duration-150 ease-out data-starting-style:opacity-0 data-ending-style:opacity-0 motion-reduce:transition-none", className),
9293
9362
  ...props,
@@ -9310,7 +9379,7 @@ function DialogContent({ children, className, closeLabel = "Close", container, s
9310
9379
  })] })]
9311
9380
  })]
9312
9381
  });
9313
- }
9382
+ });
9314
9383
  function DialogHeader({ className, ...props }) {
9315
9384
  return /* @__PURE__ */ jsx("div", {
9316
9385
  "data-slot": "dialog-header",
@@ -9340,4 +9409,4 @@ function DialogDescription({ className, ...props }) {
9340
9409
  });
9341
9410
  }
9342
9411
  //#endregion
9343
- export { waitAutoContinueSchema as $, Input as $t, comparisonIssue as A, variableInputCompatible as At, authoringDefinitionSchemas as B, SelectTrigger as Bt, upgradeManualTrigger as C, limitDecisionQuestions as Ct, nodeSystemOutputPorts as D, matchesSchema as Dt, nodeErrorSchema as E, comparePorts as Et, operatorsForType as F, SelectChevron as Ft, workflowAgentToolSchema as G, stringifyAsLabel as Gt, connectorCapabilitySchema as H, resolveAriaLabelledBy as Ht, otherwiseOutput as I, SelectContent as It, webhookResponseAllowsBody as J, defaultItemEquality as Jt, webhookHeaderValuePort as K, stringifyAsValue as Kt, unaryOperator as L, SelectGroup as Lt, mapConditionSources as M, format as Mt, nodeInputMappings as N, dequal as Nt, supportsNodeErrorHandling as O, portsAssignable as Ot, operandHandle as P, Select as Pt, workflowOutputsPort as Q, Label as Qt, valueType as R, SelectItem as Rt, resourceNameIssue as S, defaultDecisionQuestion as St, workflowToolNameIssue as T, webhookSupportsBody as Tt, decodeRevisionContent as U, hasNullItemLabel as Ut, connectorAgentToolSchema as V, SelectValue as Vt, httpCapabilitySchema as W, isGroupedItems as Wt, webhookResponseTimeout as X, removeItem as Xt, webhookResponseInputs as Y, findItemIndex as Yt, webhookStatusCodePort as Z, selectedValueIncludes as Zt, applyFlowChanges as _, isHttpHost as _t, DialogFooter as a, httpHeaderSchema as at, nodeNameIssue as b, decisionQuestionIssues as bt, DialogTrigger as c, httpRequestInputs as ct, Field as d, withHttpParameterFields as dt, useLabelableId as en, defaultNodeRetry as et, FieldDescription as f, withHttpParameterSource as ft, FlowChangeError as g, renamedPort as gt, FieldLabel as h, renameOutputMapping as ht, DialogDescription as i, checkJsonDepth as it, conditionInputPorts as j, isSchemaKeyword as jt, clearConditionBindings as k, schemaObject as kt, Icon as l, httpRequestIssues as lt, FieldGroup as m, remapInputMappings as mt, DialogClose as n, retryConfigurationSchema as nt, DialogHeader as o, httpQuerySchema as ot, FieldError as p, httpHeaderNameIssue as pt, webhookHeadersPort as q, compareItemEquality as qt, DialogContent as r, supportsNodeRetry as rt, DialogTitle as s, httpRequestConfigSchema as st, Dialog as t, ChevronDown as tn, nodeRetryLimits as tt, Spinner as u, httpRequestTask as ut, isTriggerNode as v, decisionLimits as vt, upgradeRevisionContent as w, webhookMethods as wt, normalizeNodeName as x, decisionTask as xt, nextNodeName as y, decisionModel as yt, agentToolFields as z, SelectSeparator as zt };
9412
+ export { waitAutoContinueSchema as $, removeItem as $t, comparisonIssue as A, variableInputCompatible as At, authoringDefinitionSchemas as B, SelectGroup as Bt, upgradeManualTrigger as C, limitDecisionQuestions as Ct, nodeSystemOutputPorts as D, matchesSchema as Dt, nodeErrorSchema as E, comparePorts as Et, operatorsForType as F, flowStateViewSchema as Ft, workflowAgentToolSchema as G, resolveAriaLabelledBy as Gt, connectorCapabilitySchema as H, SelectSeparator as Ht, otherwiseOutput as I, dequal as It, webhookResponseAllowsBody as J, stringifyAsLabel as Jt, webhookHeaderValuePort as K, hasNullItemLabel as Kt, unaryOperator as L, Select as Lt, mapConditionSources as M, format as Mt, nodeInputMappings as N, dedupeConfigSchema as Nt, supportsNodeErrorHandling as O, portsAssignable as Ot, operandHandle as P, dedupeTask as Pt, workflowOutputsPort as Q, findItemIndex as Qt, valueType as R, SelectChevron as Rt, resourceNameIssue as S, defaultDecisionQuestion as St, workflowToolNameIssue as T, webhookSupportsBody as Tt, decodeRevisionContent as U, SelectTrigger as Ut, connectorAgentToolSchema as V, SelectItem as Vt, httpCapabilitySchema as W, SelectValue as Wt, webhookResponseTimeout as X, compareItemEquality as Xt, webhookResponseInputs as Y, stringifyAsValue as Yt, webhookStatusCodePort as Z, defaultItemEquality as Zt, applyFlowChanges as _, isHttpHost as _t, DialogFooter as a, httpHeaderSchema as at, nodeNameIssue as b, decisionQuestionIssues as bt, DialogTrigger as c, httpRequestInputs as ct, Field as d, withHttpParameterFields as dt, selectedValueIncludes as en, defaultNodeRetry as et, FieldDescription as f, withHttpParameterSource as ft, FlowChangeError as g, renamedPort as gt, FieldLabel as h, renameOutputMapping as ht, DialogDescription as i, ChevronDown as in, checkJsonDepth as it, conditionInputPorts as j, isSchemaKeyword as jt, clearConditionBindings as k, schemaObject as kt, Icon as l, httpRequestIssues as lt, FieldGroup as m, remapInputMappings as mt, DialogClose as n, Input as nn, retryConfigurationSchema as nt, DialogHeader as o, httpQuerySchema as ot, FieldError as p, httpHeaderNameIssue as pt, webhookHeadersPort as q, isGroupedItems as qt, DialogContent as r, useLabelableId as rn, supportsNodeRetry as rt, DialogTitle as s, httpRequestConfigSchema as st, Dialog as t, Label as tn, nodeRetryLimits as tt, Spinner as u, httpRequestTask as ut, isTriggerNode as v, decisionLimits as vt, upgradeRevisionContent as w, webhookMethods as wt, normalizeNodeName as x, decisionTask as xt, nextNodeName as y, decisionModel as yt, agentToolFields as z, SelectContent as zt };
@@ -1,5 +1,5 @@
1
- import { n as IconImageCrossOriginContext, o as IconifyProvider } from "./ContentIcon-Cm1hbVzW.js";
2
- import { t as FlowCanvas, v as CanvasStore } from "./FlowCanvas-NzKtla_c.js";
1
+ import { n as IconImageCrossOriginContext, o as IconifyProvider } from "./ContentIcon-VZQO8VZU.js";
2
+ import { t as FlowCanvas, y as CanvasStore } from "./FlowCanvas-BNGDMaWr.js";
3
3
  import { createElement } from "react";
4
4
  import { createRoot } from "react-dom/client";
5
5
  //#region ../../node_modules/.bun/html-to-image@1.11.11/node_modules/html-to-image/es/util.js