@oomol-lab/open-flow 0.1.0-beta.85 → 0.1.0-beta.87

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 (102) hide show
  1. package/dist/browser/{FlowCanvas-CZoHhB1y.js → FlowCanvas-SqPUBqze.js} +3 -3
  2. package/dist/browser/{createResourceDialog-Bi4fUnbD.js → createResourceDialog-CB3eiK7e.js} +3 -3
  3. package/dist/browser/{dialog-BzoSxhXQ.js → dialog-Bi-MVTGj.js} +291 -143
  4. package/dist/browser/{exportPng-CXVWVlLc.js → exportPng-CLZKdNzR.js} +2 -2
  5. package/dist/browser/{flowChanges-C567g-Pc.js → flowChanges-azhepfr-.js} +375 -83
  6. package/dist/browser/{flowWorkspace-BNdBKtla.js → flowWorkspace-Cs2ZGBYK.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-DF39sd9T.js → markdownContent-D0BBrFcF.js} +1 -1
  12. package/dist/browser/preview.css +193 -191
  13. package/dist/browser/preview.js +1997 -624
  14. package/dist/browser/ru-BzLZv0B7.js +593 -0
  15. package/dist/browser/theme.css +3 -1
  16. package/dist/browser/{tooltip-DGj5pudg.js → tooltip-BZ6tpqnr.js} +58 -24
  17. package/dist/browser/ui.css +12 -10
  18. package/dist/browser/ui.d.ts +1 -0
  19. package/dist/browser/ui.js +110 -63
  20. package/dist/browser/workbench.css +193 -191
  21. package/dist/browser/workbench.js +86 -17
  22. package/dist/browser/{workbenchSelect-BIaEVTx6.js → workbenchSelect-CHOeceKA.js} +2 -2
  23. package/dist/browser/{wrapLayout-C4moMKgb.js → wrapLayout-BB_qwy3k.js} +1 -1
  24. package/dist/browser/zh-CN-Dg_xSGde.js +593 -0
  25. package/dist/browser/zh-TW-oxuLwsV0.js +593 -0
  26. package/dist/command/index.js +61 -57
  27. package/dist/command/licenses.md +28 -4
  28. package/dist/common/authoring.d.ts +5 -5
  29. package/dist/common/authoringExamples.d.ts +3 -2
  30. package/dist/common/authoringSchema.d.ts +41 -4
  31. package/dist/common/catalogCache.d.ts +46 -0
  32. package/dist/common/connector-action.js +13 -10
  33. package/dist/common/connector-proxy.d.ts +96 -0
  34. package/dist/common/connector-proxy.js +5209 -0
  35. package/dist/common/control-api-conformance.js +312 -46
  36. package/dist/common/control-api.d.ts +12 -1
  37. package/dist/common/control-api.js +303 -41
  38. package/dist/common/control-requests.d.ts +4 -3
  39. package/dist/common/control-requests.js +14111 -171
  40. package/dist/common/engine-contract.d.ts +3 -2
  41. package/dist/common/event-source.js +55 -23
  42. package/dist/common/flow-authoring-node.d.ts +2 -0
  43. package/dist/common/flow-authoring.js +6936 -6781
  44. package/dist/common/flow-change-schema.d.ts +1 -1
  45. package/dist/common/flow-change.d.ts +2 -2
  46. package/dist/common/flow-change.js +91 -36
  47. package/dist/common/flow-connectionUsage.d.ts +1 -1
  48. package/dist/common/flow-encoding.js +93 -38
  49. package/dist/common/flow-requestParameters.d.ts +34 -0
  50. package/dist/common/flow-semantics.js +9429 -9236
  51. package/dist/common/flow-state.js +55 -23
  52. package/dist/common/flow-workflowFile.d.ts +3 -1
  53. package/dist/common/http-request.d.ts +6 -11
  54. package/dist/common/http-request.js +192 -141
  55. package/dist/common/licenses.md +1 -1
  56. package/dist/common/mcp.d.ts +3 -3
  57. package/dist/common/mcp.js +303 -41
  58. package/dist/common/run-events.js +1 -0
  59. package/dist/common/runtime-contract.js +10 -4
  60. package/dist/common/runtime-nodejs-compat.js +55 -23
  61. package/dist/common/scheduler-checkpoint.d.ts +3 -3
  62. package/dist/common/scheduler-dependencies.d.ts +22 -28
  63. package/dist/common/scheduler-node-execution.d.ts +1 -0
  64. package/dist/common/scheduler.d.ts +8 -2
  65. package/dist/common/scheduler.js +274 -95
  66. package/dist/common/workflow.js +51 -19
  67. package/dist/common/workflowAuthoring.d.ts +411 -0
  68. package/dist/render/browser/licenses.md +1 -1
  69. package/dist/render/browser/runtime.css +12 -10
  70. package/dist/render/browser/runtime.js +183 -49
  71. package/dist/render/node/index.js +85 -30
  72. package/dist/render/node/licenses.md +1 -1
  73. package/package.json +1 -1
  74. package/skills/open-flow/references/flow-authoring.md +14 -13
  75. package/src/base/common/jsonSchema.ts +11 -0
  76. package/src/connector/common/actionSchema.ts +4 -11
  77. package/src/connector/common/proxy.ts +152 -0
  78. package/src/control/common/api.ts +99 -3
  79. package/src/control/common/authoring.ts +23 -9
  80. package/src/control/common/authoringExamples.ts +9 -0
  81. package/src/control/common/authoringSchema.ts +21 -12
  82. package/src/control/common/catalogCache.ts +145 -0
  83. package/src/control/common/conformance.ts +9 -3
  84. package/src/control/common/connectorQueries.ts +17 -2
  85. package/src/control/common/requests.ts +1 -0
  86. package/src/control/common/workflowAuthoring.ts +120 -0
  87. package/src/execution/common/checkpoint.ts +18 -12
  88. package/src/execution/common/dependencies.ts +132 -15
  89. package/src/execution/common/events.ts +3 -0
  90. package/src/execution/common/node-execution.ts +22 -15
  91. package/src/execution/common/scheduler.ts +20 -31
  92. package/src/flow/common/change.ts +2 -1
  93. package/src/flow/common/changeSchema.ts +11 -1
  94. package/src/flow/common/connectionUsage.ts +4 -2
  95. package/src/flow/common/errorHandling.ts +3 -1
  96. package/src/flow/common/nodeChanges.ts +35 -18
  97. package/src/flow/common/requestParameters.ts +120 -0
  98. package/src/flow/common/semantics.ts +51 -1
  99. package/src/flow/common/sourceField.ts +3 -2
  100. package/src/flow/common/workflowFile.ts +2 -2
  101. package/src/http/common/httpRequest.ts +28 -78
  102. 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-BB_qwy3k.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-BZ6tpqnr.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";
@@ -20935,7 +20935,7 @@ var markdownPreview_module_default = {
20935
20935
  };
20936
20936
  //#endregion
20937
20937
  //#region src/canvas/browser/preview/markdownPreview.tsx
20938
- var MarkdownContent = lazy(() => import("./markdownContent-DF39sd9T.js"));
20938
+ var MarkdownContent = lazy(() => import("./markdownContent-D0BBrFcF.js"));
20939
20939
  var MarkdownPreview = /* @__PURE__ */ memo(({ dark, unstyled, components, contentClassName, content, draggable, onDoubleClick }) => {
20940
20940
  const [focus, setFocus] = useState(false);
20941
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-BZ6tpqnr.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-Bi-MVTGj.js";
4
+ import { t as WorkbenchSelect } from "./workbenchSelect-CHOeceKA.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
@@ -1,5 +1,5 @@
1
1
  import { a as toPlainObject, i as isString } from "./dist-BFmpkX4P.js";
2
- import { $ as useToolbarRootContext, A as string, At as useImplicitActiveTrigger, Bn as transitionStatusMapping, Br as useStableCallback, C as literal, Cn as getFloatingFocusElement, Cr as cn, D as preprocess, Dn as getTarget, Dr as EMPTY_ARRAY, Dt as createInitialPopupStoreState, E as object, En as contains, Er as useRenderElement, Et as useFloatingRootContext, F as IndexGuessBehavior, Fn as createLucideIcon, Fr as formatErrorMessage, Ft as useDismiss, Gt as CLICK_TRIGGER_IDENTIFIER, I as useCompositeListItem, In as useTransitionStatus, Ir as mergeProps, It as useClick, Jn as closePress, Kn as cancelOpen, Kt as DROPDOWN_COLLISION_AVOIDANCE, Ln as useOpenChangeComplete, Lr as useIsoLayoutEffect, Lt as FloatingFocusManager, M as unknown, Mn as ownerDocument, Mr as useButton, Mt as useTriggerDataForwarding, N as _isoDateTime, Nn as useLabelableId, O as record$1, Or as EMPTY_OBJECT, Ot as popupStoreSelectors, P as Separator, Pn as Check, Pt as platform, Qt as useStore, Sr as buttonVariants, T as number, Tn as activeElement, Tt as useSyncedFloatingRootContext, U as COMPOSITE_KEYS, Un as useValueChanged, Ur as getWindow, Vn as useAnimationFrame, Vr as useRefWithInit, Wn as createChangeEventDetails, Wt as FloatingPortal, Xt as ReactStore, Yt as addEventListener, Zn as imperativeAction, Zt as Store, _ as array, _r as fieldValidityMapping, an as useOnFirstRender, at as useAnchorPositioning, br as useControlled, bt as useListNavigation, ct as CompositeList, dr as useFormContext, dt as CommonPopupDataAttributes, et as useAnchoredPopupScrollLock, f as isTimeZone, fr as useRegisterFieldControl, ft as popupStateMapping, g as _enum, gt as serializeValue, h as ZodType, ht as useOpenInteractionType, i as TooltipTrigger, in as useValueAsRef, it as InternalBackdrop, j as union, jn as isWebKit, jr as useMergedRefs, jt as useOpenStateTransitions, k as strictObject, kt as PopupTriggerMap, lr as windowResize, lt as inertValue, m as ZodISODateTime, mr as useBaseUiId, mt as triggerOpenStateMapping, n as TooltipContent, nt as usePositioner, pr as useFieldRootContext, pt as pressableTriggerOpenStateMapping, rn as createSelector, rr as none, rt as getDisabledMountTransitionStyles, sn as useTimeout, st as useDirection, t as Tooltip, tr as itemPress, tt as useScrollLock, ur as useLabelableContext, ut as getPseudoElementBounds, v as boolean, vr as visuallyHidden, vt as useTypeahead, w as never, wr as cva, x as json$1, xn as rectToClientRect, xr as Button, xt as useInteractions, y as discriminatedUnion, yr as visuallyHiddenInput, yt as useRole } from "./tooltip-DGj5pudg.js";
2
+ import { $ as useToolbarRootContext, A as string, At as useImplicitActiveTrigger, Bn as transitionStatusMapping, Br as useStableCallback, C as literal, Cn as getFloatingFocusElement, Cr as cn, D as preprocess, Dn as getTarget, Dr as EMPTY_ARRAY, Dt as createInitialPopupStoreState, E as object, En as contains, Er as useRenderElement, Et as useFloatingRootContext, F as IndexGuessBehavior, Fn as createLucideIcon, Fr as formatErrorMessage, Ft as useDismiss, Gt as CLICK_TRIGGER_IDENTIFIER, I as useCompositeListItem, In as useTransitionStatus, Ir as mergeProps, It as useClick, Jn as closePress, Kn as cancelOpen, Kt as DROPDOWN_COLLISION_AVOIDANCE, Ln as useOpenChangeComplete, Lr as useIsoLayoutEffect, Lt as FloatingFocusManager, M as unknown, Mn as ownerDocument, Mr as useButton, Mt as useTriggerDataForwarding, N as _isoDateTime, Nn as useLabelableId, O as record$1, Or as EMPTY_OBJECT, Ot as popupStoreSelectors, P as Separator, Pn as Check, Pt as platform, Qt as useStore, Sr as buttonVariants, T as number, Tn as activeElement, Tt as useSyncedFloatingRootContext, U as COMPOSITE_KEYS, Un as useValueChanged, Ur as getWindow, Vn as useAnimationFrame, Vr as useRefWithInit, Wn as createChangeEventDetails, Wt as FloatingPortal, Xt as ReactStore, Yt as addEventListener, Zn as imperativeAction, Zt as Store, _ as array, _r as fieldValidityMapping, an as useOnFirstRender, at as useAnchorPositioning, br as useControlled, bt as useListNavigation, ct as CompositeList, dr as useFormContext, dt as CommonPopupDataAttributes, et as useAnchoredPopupScrollLock, f as isTimeZone, fr as useRegisterFieldControl, ft as popupStateMapping, g as _enum, gt as serializeValue, h as ZodType, ht as useOpenInteractionType, i as TooltipTrigger, in as useValueAsRef, it as InternalBackdrop, j as union, jn as isWebKit, jr as useMergedRefs, jt as useOpenStateTransitions, k as strictObject, kt as PopupTriggerMap, lr as windowResize, lt as inertValue, m as ZodISODateTime, mr as useBaseUiId, mt as triggerOpenStateMapping, n as TooltipContent, nt as usePositioner, pr as useFieldRootContext, pt as pressableTriggerOpenStateMapping, rn as createSelector, rr as none, rt as getDisabledMountTransitionStyles, sn as useTimeout, st as useDirection, t as Tooltip, tr as itemPress, tt as useScrollLock, ur as useLabelableContext, ut as getPseudoElementBounds, v as boolean, vr as visuallyHidden, vt as useTypeahead, w as never, wr as cva, x as json$1, xn as rectToClientRect, xr as Button, xt as useInteractions, y as discriminatedUnion, yr as visuallyHiddenInput, yt as useRole } from "./tooltip-BZ6tpqnr.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";
@@ -2248,7 +2248,7 @@ function SelectScrollDownButton({ className, ...props }) {
2248
2248
  });
2249
2249
  }
2250
2250
  //#endregion
2251
- //#region ../../node_modules/.bun/zod@4.6.5/node_modules/zod/v4/classic/iso.js
2251
+ //#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/classic/iso.js
2252
2252
  function datetime(params) {
2253
2253
  return _isoDateTime(ZodISODateTime, params);
2254
2254
  }
@@ -6310,6 +6310,272 @@ function webhookSupportsBody(method) {
6310
6310
  return method !== "GET";
6311
6311
  }
6312
6312
  //#endregion
6313
+ //#region src/http/common/headers.ts
6314
+ /** Header names are case-insensitive; never silently combine duplicate business fields. */
6315
+ function httpHeaderNameIssue(name, names) {
6316
+ if (!/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/.test(name)) return "invalid";
6317
+ if (names.some((candidate) => candidate.toLowerCase() === name.toLowerCase())) return "duplicate";
6318
+ }
6319
+ //#endregion
6320
+ //#region src/flow/common/portChanges.ts
6321
+ function renamedPort(previous, next) {
6322
+ const previousNames = new Set(previous.flatMap((port) => "handle" in port ? [port.handle] : []));
6323
+ const nextNames = new Set(next.flatMap((port) => "handle" in port ? [port.handle] : []));
6324
+ const removed = [...previousNames].filter((name) => !nextNames.has(name));
6325
+ const added = [...nextNames].filter((name) => !previousNames.has(name));
6326
+ return removed.length == 1 && added.length == 1 ? [removed[0], added[0]] : void 0;
6327
+ }
6328
+ function renameOutputMapping(mapping, nodeIds, rename) {
6329
+ if (rename == null || mapping.kind != "sources") return mapping;
6330
+ const sources = mapping.sources.map((source) => source.kind == "node" && !source.system && nodeIds.has(source.nodeId) && source.output == rename[0] ? {
6331
+ ...source,
6332
+ output: rename[1]
6333
+ } : source);
6334
+ return sources.every((source, index) => source === mapping.sources[index]) ? mapping : {
6335
+ kind: "sources",
6336
+ sources
6337
+ };
6338
+ }
6339
+ /** Carry saved mappings through a field rename and remove only fields absent from the new contract. */
6340
+ function remapInputMappings(mappings, ports, rename) {
6341
+ const inputs = { ...mappings };
6342
+ if (rename != null && Object.hasOwn(inputs, rename[0])) {
6343
+ Object.defineProperty(inputs, rename[1], {
6344
+ value: inputs[rename[0]],
6345
+ enumerable: true,
6346
+ configurable: true,
6347
+ writable: true
6348
+ });
6349
+ delete inputs[rename[0]];
6350
+ }
6351
+ const names = new Set(ports.flatMap((port) => "handle" in port ? [port.handle] : []));
6352
+ for (const name of Object.keys(inputs)) if (!names.has(name)) delete inputs[name];
6353
+ return inputs;
6354
+ }
6355
+ //#endregion
6356
+ //#region src/flow/common/requestParameters.ts
6357
+ var requestParameterSchema = strictObject({
6358
+ mode: _enum(["fields", "object"]).default("fields"),
6359
+ names: array(string()).default([])
6360
+ });
6361
+ function requestParameterHandle(group, name) {
6362
+ return `${group === "query" ? "query" : "header"}.${name}`;
6363
+ }
6364
+ function requestParameterPorts(config, querySchema, queryValueSchema, headerSchema) {
6365
+ return ["query", "headers"].flatMap((group) => config[group].mode === "object" ? [{
6366
+ handle: group,
6367
+ jsonSchema: group === "query" ? querySchema : headerSchema,
6368
+ nullable: true
6369
+ }] : config[group].names.filter((name) => name.trim()).map((name) => ({
6370
+ handle: requestParameterHandle(group, name),
6371
+ jsonSchema: group === "query" ? queryValueSchema : { type: "string" },
6372
+ nullable: true
6373
+ })));
6374
+ }
6375
+ function retainRequestPorts(ports, old = []) {
6376
+ const remaining = new Map(ports.map((port) => [port.handle, port]));
6377
+ return [...old.flatMap((item) => {
6378
+ if ("group" in item) return [item];
6379
+ const next = remaining.get(item.handle);
6380
+ if (next == null) return [];
6381
+ remaining.delete(item.handle);
6382
+ return [dequal(item.jsonSchema, next.jsonSchema) && item.nullable == next.nullable ? item : next];
6383
+ }), ...remaining.values()];
6384
+ }
6385
+ function requestParameterIssues(config) {
6386
+ const issues = [];
6387
+ for (const group of ["query", "headers"]) {
6388
+ if (config[group].mode !== "fields") continue;
6389
+ const seen = /* @__PURE__ */ new Set();
6390
+ for (const [index, name] of config[group].names.entries()) {
6391
+ const key = group === "headers" ? name.toLowerCase() : name;
6392
+ if (!name.trim() || seen.has(key)) issues.push({
6393
+ field: group,
6394
+ index,
6395
+ code: "parameterNamesInvalid",
6396
+ message: "Parameter names must be nonempty and unique."
6397
+ });
6398
+ seen.add(key);
6399
+ if (group === "headers" && httpHeaderNameIssue(name, []) === "invalid") issues.push({
6400
+ field: group,
6401
+ index,
6402
+ code: "headerNameInvalid",
6403
+ message: "Invalid HTTP header name."
6404
+ });
6405
+ }
6406
+ }
6407
+ return issues;
6408
+ }
6409
+ /** Only a named parameter rename carries a source; changing modes does not rename a port. */
6410
+ function requestInputMappings(mappings, previous, next) {
6411
+ const candidate = renamedPort(previous.inputs, next.inputs);
6412
+ const rename = candidate != null && ["query.", "header."].some((prefix) => candidate.every((name) => name.startsWith(prefix))) ? candidate : void 0;
6413
+ return remapInputMappings(mappings, next.inputs, rename);
6414
+ }
6415
+ function withRequestParameterFields(node, group, values, previous, createTask) {
6416
+ const task = createTask({
6417
+ mode: "fields",
6418
+ names: Object.keys(values)
6419
+ });
6420
+ const inputs = requestInputMappings(node.inputs, node.task, task);
6421
+ const rename = renamedPort(node.task.inputs, task.inputs);
6422
+ for (const [name, value] of Object.entries(values)) {
6423
+ const handle = requestParameterHandle(group, name);
6424
+ const existing = previous.mode === "fields" && (previous.names.includes(name) || rename?.[1] === handle);
6425
+ if (inputs[handle] == null && !existing) inputs[handle] = {
6426
+ kind: "value",
6427
+ value
6428
+ };
6429
+ }
6430
+ return {
6431
+ ...node,
6432
+ task,
6433
+ inputs
6434
+ };
6435
+ }
6436
+ function withRequestParameterSource(node, group, mapping, createTask) {
6437
+ const task = createTask({
6438
+ mode: "object",
6439
+ names: []
6440
+ });
6441
+ const inputs = requestInputMappings(node.inputs, node.task, task);
6442
+ if (mapping == null) delete inputs[group];
6443
+ else inputs[group] = mapping;
6444
+ return {
6445
+ ...node,
6446
+ task,
6447
+ inputs
6448
+ };
6449
+ }
6450
+ //#endregion
6451
+ //#region src/connector/common/proxy.ts
6452
+ var connectorProxyConfigSchema = strictObject({
6453
+ providerId: string().min(1),
6454
+ connectionId: string().optional(),
6455
+ method: _enum([
6456
+ "GET",
6457
+ "POST",
6458
+ "PUT",
6459
+ "PATCH",
6460
+ "DELETE"
6461
+ ]).default("GET"),
6462
+ query: requestParameterSchema.default({
6463
+ mode: "fields",
6464
+ names: []
6465
+ }),
6466
+ headers: requestParameterSchema.default({
6467
+ mode: "fields",
6468
+ names: []
6469
+ }),
6470
+ bodyFormat: _enum(["none", "json"]).default("none")
6471
+ });
6472
+ var connectorProxyExecutorSchema = connectorProxyConfigSchema.extend({ kind: literal("connector-proxy") });
6473
+ var connectorProxyQueryValueSchema = { type: [
6474
+ "string",
6475
+ "number",
6476
+ "boolean",
6477
+ "null"
6478
+ ] };
6479
+ var connectorProxyQuerySchema = {
6480
+ type: "object",
6481
+ additionalProperties: connectorProxyQueryValueSchema
6482
+ };
6483
+ var connectorProxyHeaderSchema = {
6484
+ type: "object",
6485
+ additionalProperties: { type: "string" }
6486
+ };
6487
+ var connectorProxyBodyInput = {
6488
+ handle: "body",
6489
+ jsonSchema: {},
6490
+ nullable: true
6491
+ };
6492
+ function connectorProxySupportsBody(method) {
6493
+ return method !== "GET";
6494
+ }
6495
+ function connectorProxyHasBody(mapping, defaultValue) {
6496
+ if (mapping?.kind === "unset") return false;
6497
+ return mapping == null ? defaultValue !== void 0 : mapping.kind === "value" || mapping.sources.length > 0;
6498
+ }
6499
+ function connectorProxyTask(config, name = "Custom API Request", previous) {
6500
+ const { connectionId, ...settings } = config;
6501
+ const inputs = [
6502
+ {
6503
+ handle: "endpoint",
6504
+ jsonSchema: { type: "string" },
6505
+ nullable: false
6506
+ },
6507
+ ...requestParameterPorts(config, connectorProxyQuerySchema, connectorProxyQueryValueSchema, connectorProxyHeaderSchema),
6508
+ ...config.bodyFormat === "none" ? [] : [connectorProxyBodyInput]
6509
+ ];
6510
+ const outputs = [
6511
+ {
6512
+ handle: "body",
6513
+ jsonSchema: {},
6514
+ nullable: true
6515
+ },
6516
+ {
6517
+ handle: "statusCode",
6518
+ jsonSchema: { type: "integer" },
6519
+ nullable: false
6520
+ },
6521
+ {
6522
+ handle: "headers",
6523
+ jsonSchema: connectorProxyHeaderSchema,
6524
+ nullable: false
6525
+ },
6526
+ {
6527
+ handle: "bodyEncoding",
6528
+ jsonSchema: { const: "base64" },
6529
+ nullable: true
6530
+ }
6531
+ ];
6532
+ return {
6533
+ name,
6534
+ executor: {
6535
+ ...settings,
6536
+ ...connectionId === void 0 ? {} : { connectionId },
6537
+ kind: "connector-proxy"
6538
+ },
6539
+ inputs: retainRequestPorts(inputs, previous?.inputs),
6540
+ outputs: retainRequestPorts(outputs, previous?.outputs)
6541
+ };
6542
+ }
6543
+ function connectorProxyInputs(mappings, previous, next) {
6544
+ const inputs = requestInputMappings(mappings, previous, next);
6545
+ const before = previous.executor?.kind === "connector-proxy" ? previous.executor : void 0;
6546
+ const after = next.executor?.kind === "connector-proxy" ? next.executor : void 0;
6547
+ if (before != null && after != null && connectorProxySupportsBody(before.method) && !connectorProxySupportsBody(after.method)) {
6548
+ const bodyPort = next.inputs.find((port) => "handle" in port && port.handle === "body");
6549
+ if (connectorProxyHasBody(inputs.body, bodyPort?.value)) inputs.body = { kind: "unset" };
6550
+ }
6551
+ return inputs;
6552
+ }
6553
+ function connectorProxyIssues(config, hasBody = config.bodyFormat !== "none") {
6554
+ return [...requestParameterIssues(config), ...!connectorProxySupportsBody(config.method) && hasBody ? [{
6555
+ field: "bodyFormat",
6556
+ code: "bodyUnsupported",
6557
+ message: "GET does not support a request body."
6558
+ }] : []];
6559
+ }
6560
+ function withConnectorProxyParameterFields(node, group, values) {
6561
+ const executor = node.task.executor;
6562
+ if (executor?.kind !== "connector-proxy") return node;
6563
+ const config = executor;
6564
+ return withRequestParameterFields(node, group, values, config[group], (parameters) => connectorProxyTask({
6565
+ ...config,
6566
+ [group]: parameters
6567
+ }, node.task.name, node.task));
6568
+ }
6569
+ function withConnectorProxyParameterSource(node, group, mapping) {
6570
+ const executor = node.task.executor;
6571
+ if (executor?.kind !== "connector-proxy") return node;
6572
+ const config = executor;
6573
+ return withRequestParameterSource(node, group, mapping, (parameters) => connectorProxyTask({
6574
+ ...config,
6575
+ [group]: parameters
6576
+ }, node.task.name, node.task));
6577
+ }
6578
+ //#endregion
6313
6579
  //#region src/decision/common/decision.ts
6314
6580
  function isDecisionExecutor(executor) {
6315
6581
  return executor.kind === "decision";
@@ -6475,54 +6741,7 @@ function isHttpHost(value) {
6475
6741
  return httpHostPattern.test(value) && (!value.startsWith("*.") || value.slice(2).includes("."));
6476
6742
  }
6477
6743
  //#endregion
6478
- //#region src/flow/common/portChanges.ts
6479
- function renamedPort(previous, next) {
6480
- const previousNames = new Set(previous.flatMap((port) => "handle" in port ? [port.handle] : []));
6481
- const nextNames = new Set(next.flatMap((port) => "handle" in port ? [port.handle] : []));
6482
- const removed = [...previousNames].filter((name) => !nextNames.has(name));
6483
- const added = [...nextNames].filter((name) => !previousNames.has(name));
6484
- return removed.length == 1 && added.length == 1 ? [removed[0], added[0]] : void 0;
6485
- }
6486
- function renameOutputMapping(mapping, nodeIds, rename) {
6487
- if (rename == null || mapping.kind != "sources") return mapping;
6488
- const sources = mapping.sources.map((source) => source.kind == "node" && !source.system && nodeIds.has(source.nodeId) && source.output == rename[0] ? {
6489
- ...source,
6490
- output: rename[1]
6491
- } : source);
6492
- return sources.every((source, index) => source === mapping.sources[index]) ? mapping : {
6493
- kind: "sources",
6494
- sources
6495
- };
6496
- }
6497
- /** Carry saved mappings through a field rename and remove only fields absent from the new contract. */
6498
- function remapInputMappings(mappings, ports, rename) {
6499
- const inputs = { ...mappings };
6500
- if (rename != null && Object.hasOwn(inputs, rename[0])) {
6501
- Object.defineProperty(inputs, rename[1], {
6502
- value: inputs[rename[0]],
6503
- enumerable: true,
6504
- configurable: true,
6505
- writable: true
6506
- });
6507
- delete inputs[rename[0]];
6508
- }
6509
- const names = new Set(ports.flatMap((port) => "handle" in port ? [port.handle] : []));
6510
- for (const name of Object.keys(inputs)) if (!names.has(name)) delete inputs[name];
6511
- return inputs;
6512
- }
6513
- //#endregion
6514
- //#region src/http/common/headers.ts
6515
- /** Header names are case-insensitive; never silently combine duplicate business fields. */
6516
- function httpHeaderNameIssue(name, names) {
6517
- if (!/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/.test(name)) return "invalid";
6518
- if (names.some((candidate) => candidate.toLowerCase() === name.toLowerCase())) return "duplicate";
6519
- }
6520
- //#endregion
6521
6744
  //#region src/http/common/httpRequest.ts
6522
- var parameterSchema = strictObject({
6523
- mode: _enum(["fields", "object"]).default("fields"),
6524
- names: array(string()).default([])
6525
- });
6526
6745
  var httpRequestConfigSchema = strictObject({
6527
6746
  method: _enum([
6528
6747
  "GET",
@@ -6533,11 +6752,11 @@ var httpRequestConfigSchema = strictObject({
6533
6752
  "HEAD",
6534
6753
  "OPTIONS"
6535
6754
  ]).default("GET"),
6536
- query: parameterSchema.default({
6755
+ query: requestParameterSchema.default({
6537
6756
  mode: "fields",
6538
6757
  names: []
6539
6758
  }),
6540
- headers: parameterSchema.default({
6759
+ headers: requestParameterSchema.default({
6541
6760
  mode: "fields",
6542
6761
  names: []
6543
6762
  }),
@@ -6584,32 +6803,12 @@ var httpQuerySchema = {
6584
6803
  function httpAuthHandles(config) {
6585
6804
  return config.authentication.type == "none" ? [] : config.authentication.type == "basic" ? ["auth.username", "auth.password"] : ["auth.token"];
6586
6805
  }
6587
- function retain(ports, old) {
6588
- const remaining = new Map(ports.map((port) => [port.handle, port]));
6589
- return [...old.flatMap((item) => {
6590
- if ("group" in item) return [item];
6591
- const next = remaining.get(item.handle);
6592
- if (next == null) return [];
6593
- remaining.delete(item.handle);
6594
- return [dequal(item.jsonSchema, next.jsonSchema) && item.nullable == next.nullable ? item : next];
6595
- }), ...remaining.values()];
6596
- }
6597
6806
  function httpRequestTask(config = httpRequestConfigSchema.parse({}), name = "HTTP Request", previous) {
6598
6807
  const inputs = [{
6599
6808
  handle: "url",
6600
6809
  jsonSchema: { type: "string" },
6601
6810
  nullable: false
6602
- }];
6603
- for (const group of ["query", "headers"]) if (config[group].mode == "object") inputs.push({
6604
- handle: group,
6605
- jsonSchema: group == "query" ? httpQuerySchema : httpHeaderSchema,
6606
- nullable: true
6607
- });
6608
- else for (const parameterName of config[group].names.filter((value) => value.trim())) inputs.push({
6609
- handle: `${group == "query" ? "query" : "header"}.${parameterName}`,
6610
- jsonSchema: group == "query" ? queryValueSchema : { type: "string" },
6611
- nullable: true
6612
- });
6811
+ }, ...requestParameterPorts(config, httpQuerySchema, queryValueSchema, httpHeaderSchema)];
6613
6812
  if (config.bodyFormat != "none") inputs.push({
6614
6813
  handle: "body",
6615
6814
  jsonSchema: config.bodyFormat == "json" ? {} : config.bodyFormat == "text" ? { type: "string" } : httpQuerySchema,
@@ -6643,8 +6842,8 @@ function httpRequestTask(config = httpRequestConfigSchema.parse({}), name = "HTT
6643
6842
  ...config,
6644
6843
  kind: "http-request"
6645
6844
  },
6646
- inputs: retain(inputs, previous?.inputs ?? []),
6647
- outputs: retain(outputs, previous?.outputs ?? [])
6845
+ inputs: retainRequestPorts(inputs, previous?.inputs),
6846
+ outputs: retainRequestPorts(outputs, previous?.outputs)
6648
6847
  };
6649
6848
  }
6650
6849
  function httpRequestIssues(config) {
@@ -6654,26 +6853,7 @@ function httpRequestIssues(config) {
6654
6853
  code: "bodyUnsupported",
6655
6854
  message: "GET and HEAD do not support a request body."
6656
6855
  });
6657
- for (const group of ["query", "headers"]) {
6658
- if (config[group].mode != "fields") continue;
6659
- const seen = /* @__PURE__ */ new Set();
6660
- for (const [index, name] of config[group].names.entries()) {
6661
- const key = group == "headers" ? name.toLowerCase() : name;
6662
- if (!name.trim() || seen.has(key)) issues.push({
6663
- field: group,
6664
- index,
6665
- code: "parameterNamesInvalid",
6666
- message: "Parameter names must be nonempty and unique."
6667
- });
6668
- seen.add(key);
6669
- if (group == "headers" && httpHeaderNameIssue(name, []) === "invalid") issues.push({
6670
- field: group,
6671
- index,
6672
- code: "headerNameInvalid",
6673
- message: "Invalid HTTP header name."
6674
- });
6675
- }
6676
- }
6856
+ issues.push(...requestParameterIssues(config));
6677
6857
  const auth = config.authentication;
6678
6858
  if (auth.type != "none") {
6679
6859
  const group = auth.type == "apiKey" && auth.in == "query" ? "query" : "headers";
@@ -6696,12 +6876,6 @@ function httpRequestIssues(config) {
6696
6876
  }
6697
6877
  return issues;
6698
6878
  }
6699
- /** Only a named parameter rename carries a value; changing source modes is not a rename. */
6700
- function httpRequestInputs(mappings, previous, next) {
6701
- const candidate = renamedPort(previous.inputs, next.inputs);
6702
- const rename = candidate != null && ["query.", "header."].some((prefix) => candidate.every((name) => name.startsWith(prefix))) ? candidate : void 0;
6703
- return remapInputMappings(mappings, next.inputs, rename);
6704
- }
6705
6879
  function httpRequestExecutor(node) {
6706
6880
  const executor = node.task.executor;
6707
6881
  return executor?.kind === "http-request" ? executor : void 0;
@@ -6710,47 +6884,18 @@ function httpRequestExecutor(node) {
6710
6884
  function withHttpParameterFields(node, group, values) {
6711
6885
  const config = httpRequestExecutor(node);
6712
6886
  if (config == null) return node;
6713
- const task = httpRequestTask({
6887
+ return withRequestParameterFields(node, group, values, config[group], (parameters) => httpRequestTask({
6714
6888
  ...config,
6715
- [group]: {
6716
- mode: "fields",
6717
- names: Object.keys(values)
6718
- }
6719
- }, node.task.name, node.task);
6720
- const inputs = httpRequestInputs(node.inputs, node.task, task);
6721
- const rename = renamedPort(node.task.inputs, task.inputs);
6722
- for (const [name, value] of Object.entries(values)) {
6723
- const handle = `${group === "query" ? "query" : "header"}.${name}`;
6724
- const existing = config[group].mode === "fields" && (config[group].names.includes(name) || rename?.[1] === handle);
6725
- if (inputs[handle] == null && !existing) inputs[handle] = {
6726
- kind: "value",
6727
- value
6728
- };
6729
- }
6730
- return {
6731
- ...node,
6732
- task,
6733
- inputs
6734
- };
6889
+ [group]: parameters
6890
+ }, node.task.name, node.task));
6735
6891
  }
6736
6892
  function withHttpParameterSource(node, group, mapping) {
6737
6893
  const config = httpRequestExecutor(node);
6738
6894
  if (config == null) return node;
6739
- const task = httpRequestTask({
6895
+ return withRequestParameterSource(node, group, mapping, (parameters) => httpRequestTask({
6740
6896
  ...config,
6741
- [group]: {
6742
- mode: "object",
6743
- names: []
6744
- }
6745
- }, node.task.name, node.task);
6746
- const inputs = httpRequestInputs(node.inputs, node.task, task);
6747
- if (mapping == null) delete inputs[group];
6748
- else inputs[group] = mapping;
6749
- return {
6750
- ...node,
6751
- task,
6752
- inputs
6753
- };
6897
+ [group]: parameters
6898
+ }, node.task.name, node.task));
6754
6899
  }
6755
6900
  function checkJsonDepth(value, depth = 0) {
6756
6901
  if (depth > 64) throw new TypeError("Value exceeds the maximum JSON depth.");
@@ -7082,7 +7227,8 @@ var managedFields = object({
7082
7227
  revisionId: text
7083
7228
  }),
7084
7229
  httpRequestExecutorSchema,
7085
- skipDuplicatesExecutorSchema
7230
+ skipDuplicatesExecutorSchema,
7231
+ connectorProxyExecutorSchema
7086
7232
  ])
7087
7233
  });
7088
7234
  var managed = managedFields.transform(limitDecisionTask);
@@ -7353,7 +7499,8 @@ var revision = object({
7353
7499
  literal(10),
7354
7500
  literal(11),
7355
7501
  literal(12),
7356
- literal(13)
7502
+ literal(13),
7503
+ literal(14)
7357
7504
  ]),
7358
7505
  document,
7359
7506
  modules: record$1(text, module)
@@ -7555,6 +7702,7 @@ var variants = new Map(Object.entries(shapes).map(([kind, shape]) => [kind, shap
7555
7702
  })]));
7556
7703
  array(union([...variants.values()])).min(1);
7557
7704
  function checkModelVersion(content) {
7705
+ if (content.modelVersion < 14 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind === "task" && "executor" in candidateNode.task && candidateNode.task.executor.kind === "connector-proxy")) throw new TypeError("Custom API Request requires Flow model v14.");
7558
7706
  if (content.modelVersion < 13 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind === "task" && "executor" in candidateNode.task && candidateNode.task.executor.kind === "skip-duplicates")) throw new Error("Skip Duplicates requires Flow model v13.");
7559
7707
  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.");
7560
7708
  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.");
@@ -7795,7 +7943,7 @@ var nodeErrorSchema = {
7795
7943
  }
7796
7944
  };
7797
7945
  function supportsNodeErrorHandling(node) {
7798
- return supportsNodeRetry(node) || node.kind === "task" && "executor" in node.task && node.task.executor.kind === "skip-duplicates";
7946
+ return supportsNodeRetry(node) || node.kind === "task" && "executor" in node.task && ["skip-duplicates", "connector-proxy"].includes(node.task.executor.kind);
7799
7947
  }
7800
7948
  function nodeSystemOutputPorts(node) {
7801
7949
  return supportsNodeErrorHandling(node) && node.onError == "error" ? { error: {
@@ -7965,10 +8113,10 @@ function upgradeRevisionContent(content) {
7965
8113
  function upgradeDecodedRevisionContent(content) {
7966
8114
  const graph = content.document.graph;
7967
8115
  const hasManual = Object.values(graph.nodes).some((node) => node.kind == "manual");
7968
- if (!hasManual && content.modelVersion == 13) return content;
8116
+ if (!hasManual && content.modelVersion == 14) return content;
7969
8117
  return {
7970
8118
  ...content,
7971
- modelVersion: 13,
8119
+ modelVersion: 14,
7972
8120
  document: {
7973
8121
  ...content.document,
7974
8122
  graph: hasManual ? {
@@ -8015,7 +8163,7 @@ function invalid(message) {
8015
8163
  throw new FlowChangeError(message);
8016
8164
  }
8017
8165
  function applyFlowChanges(content, operations) {
8018
- const source = content.modelVersion != 13 || Object.values(content.document.graph.nodes).some((node) => node.kind == "manual") ? decodeRevisionContent(content) : content;
8166
+ const source = content.modelVersion != 14 || Object.values(content.document.graph.nodes).some((node) => node.kind == "manual") ? decodeRevisionContent(content) : content;
8019
8167
  const document = { ...source.document };
8020
8168
  const modules = { ...source.modules };
8021
8169
  for (const operation of operations) switch (operation.kind) {
@@ -8463,7 +8611,7 @@ function applyFlowChanges(content, operations) {
8463
8611
  assertDocumentHttpAuthBindings(document);
8464
8612
  return upgradeDecodedRevisionContent({
8465
8613
  document,
8466
- modelVersion: 13,
8614
+ modelVersion: 14,
8467
8615
  modules
8468
8616
  });
8469
8617
  }
@@ -9365,4 +9513,4 @@ function DialogDescription({ className, ...props }) {
9365
9513
  });
9366
9514
  }
9367
9515
  //#endregion
9368
- export { waitAutoContinueSchema as $, defaultItemEquality as $t, comparisonIssue as A, variableInputCompatible as At, authoringDefinitionSchemas as B, SelectChevron 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, SelectTrigger as Gt, connectorCapabilitySchema as H, SelectGroup as Ht, otherwiseOutput as I, skipDuplicatesConfigSchema as It, webhookResponseAllowsBody as J, hasNullItemLabel as Jt, webhookHeaderValuePort as K, SelectValue as Kt, unaryOperator as L, skipDuplicatesTask as Lt, mapConditionSources as M, format as Mt, nodeInputMappings as N, flowStateSummarySchema as Nt, supportsNodeErrorHandling as O, portsAssignable as Ot, operandHandle as P, flowStateValuesSchema as Pt, workflowOutputsPort as Q, compareItemEquality as Qt, valueType as R, dequal as Rt, resourceNameIssue as S, defaultDecisionQuestion as St, workflowToolNameIssue as T, webhookSupportsBody as Tt, decodeRevisionContent as U, SelectItem as Ut, connectorAgentToolSchema as V, SelectContent as Vt, httpCapabilitySchema as W, SelectSeparator as Wt, webhookResponseTimeout as X, stringifyAsLabel as Xt, webhookResponseInputs as Y, isGroupedItems as Yt, webhookStatusCodePort as Z, stringifyAsValue as Zt, applyFlowChanges as _, isHttpHost as _t, DialogFooter as a, ChevronDown as an, httpHeaderSchema as at, nodeNameIssue as b, decisionQuestionIssues as bt, DialogTrigger as c, httpRequestInputs as ct, Field as d, withHttpParameterFields as dt, findItemIndex 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, Input 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, selectedValueIncludes as nn, retryConfigurationSchema as nt, DialogHeader as o, httpQuerySchema as ot, FieldError as p, httpHeaderNameIssue as pt, webhookHeadersPort as q, resolveAriaLabelledBy as qt, DialogContent as r, Label as rn, supportsNodeRetry as rt, DialogTitle as s, httpRequestConfigSchema as st, Dialog as t, removeItem 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, Select as zt };
9516
+ export { waitAutoContinueSchema as $, SelectGroup as $t, comparisonIssue as A, requestInputMappings as At, authoringDefinitionSchemas as B, schemaObject as Bt, upgradeManualTrigger as C, connectorProxyInputs as Ct, nodeSystemOutputPorts as D, connectorProxyTask as Dt, nodeErrorSchema as E, connectorProxySupportsBody as Et, operatorsForType as F, webhookMethods as Ft, workflowAgentToolSchema as G, flowStateValuesSchema as Gt, connectorCapabilitySchema as H, isSchemaKeyword as Ht, otherwiseOutput as I, webhookSupportsBody as It, webhookResponseAllowsBody as J, skipDuplicatesTask as Jt, webhookHeaderValuePort as K, flowStateViewSchema as Kt, unaryOperator as L, comparePorts as Lt, mapConditionSources as M, renameOutputMapping as Mt, nodeInputMappings as N, renamedPort as Nt, supportsNodeErrorHandling as O, withConnectorProxyParameterFields as Ot, operandHandle as P, httpHeaderNameIssue as Pt, workflowOutputsPort as Q, SelectContent as Qt, valueType as R, matchesSchema as Rt, resourceNameIssue as S, connectorProxyHeaderSchema as St, workflowToolNameIssue as T, connectorProxyQuerySchema as Tt, decodeRevisionContent as U, format as Ut, connectorAgentToolSchema as V, variableInputCompatible as Vt, httpCapabilitySchema as W, flowStateSummarySchema as Wt, webhookResponseTimeout as X, Select as Xt, webhookResponseInputs as Y, dequal as Yt, webhookStatusCodePort as Z, SelectChevron as Zt, applyFlowChanges as _, defaultDecisionQuestion as _t, DialogFooter as a, hasNullItemLabel as an, httpHeaderSchema as at, nodeNameIssue as b, connectorProxyConfigSchema as bt, DialogTrigger as c, stringifyAsValue as cn, httpRequestIssues as ct, Field as d, findItemIndex as dn, withHttpParameterSource as dt, SelectItem as en, defaultNodeRetry as et, FieldDescription as f, removeItem as fn, isHttpHost as ft, FlowChangeError as g, ChevronDown as gn, decisionTask as gt, FieldLabel as h, Input as hn, decisionQuestionIssues as ht, DialogDescription as i, resolveAriaLabelledBy as in, checkJsonDepth as it, conditionInputPorts as j, remapInputMappings as jt, clearConditionBindings as k, withConnectorProxyParameterSource as kt, Icon as l, compareItemEquality as ln, httpRequestTask as lt, FieldGroup as m, Label as mn, decisionModel as mt, DialogClose as n, SelectTrigger as nn, retryConfigurationSchema as nt, DialogHeader as o, isGroupedItems as on, httpQuerySchema as ot, FieldError as p, selectedValueIncludes as pn, decisionLimits as pt, webhookHeadersPort as q, skipDuplicatesConfigSchema as qt, DialogContent as r, SelectValue as rn, supportsNodeRetry as rt, DialogTitle as s, stringifyAsLabel as sn, httpRequestConfigSchema as st, Dialog as t, SelectSeparator as tn, nodeRetryLimits as tt, Spinner as u, defaultItemEquality as un, withHttpParameterFields as ut, isTriggerNode as v, limitDecisionQuestions as vt, upgradeRevisionContent as w, connectorProxyIssues as wt, normalizeNodeName as x, connectorProxyHasBody as xt, nextNodeName as y, connectorProxyBodyInput as yt, agentToolFields as z, portsAssignable as zt };
@@ -1,5 +1,5 @@
1
- import { C as IconifyProvider, y as IconImageCrossOriginContext } from "./wrapLayout-C4moMKgb.js";
2
- import { E as getFlowPngAspectRatio, t as FlowCanvas, y as CanvasStore } from "./FlowCanvas-CZoHhB1y.js";
1
+ import { C as IconifyProvider, y as IconImageCrossOriginContext } from "./wrapLayout-BB_qwy3k.js";
2
+ import { E as getFlowPngAspectRatio, t as FlowCanvas, y as CanvasStore } from "./FlowCanvas-SqPUBqze.js";
3
3
  import { createElement } from "react";
4
4
  import "react/jsx-runtime";
5
5
  import { createRoot } from "react-dom/client";