@oomol-lab/open-flow 0.1.0-beta.55 → 0.1.0-beta.56

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 (43) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/{createResourceDialog-4H5_lZ6s.js → createResourceDialog-Btjes3wD.js} +2 -2
  3. package/dist/browser/flow-authoring-edge.d.ts +3 -3
  4. package/dist/browser/flow-authoring-node.d.ts +26 -46
  5. package/dist/browser/flow-authoring.js +9155 -21002
  6. package/dist/browser/flow-change-schema.d.ts +1 -1
  7. package/dist/browser/flow-change.d.ts +14 -104
  8. package/dist/browser/flow-change.js +121 -296
  9. package/dist/browser/{flowChanges-ZzG-f9cg.js → flowChanges-BxutPLYO.js} +1494 -1830
  10. package/dist/browser/{flowWorkspace-ChpRaTMX.js → flowWorkspace-Dg4mqfa6.js} +118 -293
  11. package/dist/browser/{icons-CdAB9wyS.js → icons-p2A9zs8t.js} +126 -317
  12. package/dist/browser/lib-DrKav3HG.js +11403 -0
  13. package/dist/browser/preview.css +1 -1
  14. package/dist/browser/preview.js +9308 -9565
  15. package/dist/browser/ui-idTooltip.d.ts +11 -0
  16. package/dist/browser/ui.d.ts +5 -0
  17. package/dist/browser/ui.js +83 -1
  18. package/dist/browser/workbench.css +1 -1
  19. package/dist/browser/workbench.js +210 -411
  20. package/dist/browser/{workbenchSelect-BRZN4ish.js → workbenchSelect-LRp_Xjeq.js} +1 -1
  21. package/dist/common/control-api-conformance.js +212 -245
  22. package/dist/common/control-api.d.ts +6 -6
  23. package/dist/common/control-api.js +216 -250
  24. package/dist/common/control-requests.js +468 -1476
  25. package/dist/common/decision.js +6325 -6369
  26. package/dist/common/flow-agent.d.ts +1 -1
  27. package/dist/common/flow-connectionUsage.d.ts +1 -2
  28. package/dist/common/flow-encoding.d.ts +2 -4
  29. package/dist/common/flow-encoding.js +119 -180
  30. package/dist/common/flow-graph.d.ts +10 -10
  31. package/dist/common/flow-semantics.d.ts +4 -9
  32. package/dist/common/flow-semantics.js +9024 -9230
  33. package/dist/common/flowInspection.d.ts +3 -21
  34. package/dist/common/integration-trigger.js +8642 -8686
  35. package/dist/common/mcp.d.ts +0 -1
  36. package/dist/common/mcp.js +117 -140
  37. package/dist/common/openapi.js +6325 -6369
  38. package/dist/common/poll-trigger.js +8642 -8686
  39. package/dist/common/run-events.js +0 -1
  40. package/dist/common/scheduler.d.ts +3 -9
  41. package/dist/common/scheduler.js +116 -207
  42. package/dist/common/webhook-trigger.js +6325 -6369
  43. package/package.json +1 -1
@@ -17626,6 +17626,9 @@ function handlePipeResult(left, next, ctx) {
17626
17626
  issues: left.issues
17627
17627
  }, ctx);
17628
17628
  }
17629
+ var $ZodPreprocess = /*@__PURE__*/ $constructor("$ZodPreprocess", (inst, def) => {
17630
+ $ZodPipe.init(inst, def);
17631
+ });
17629
17632
  var $ZodReadonly = /*@__PURE__*/ $constructor("$ZodReadonly", (inst, def) => {
17630
17633
  $ZodType.init(inst, def);
17631
17634
  defineLazyInternal(inst, "propValues", (zod) => zod.def.innerType._zod.propValues);
@@ -20241,7 +20244,7 @@ var ZodRecord = /*@__PURE__*/ $constructor("ZodRecord", (inst, def) => {
20241
20244
  inst.keyType = def.keyType;
20242
20245
  inst.valueType = def.valueType;
20243
20246
  });
20244
- function record(keyType, valueType, params) {
20247
+ function record$1(keyType, valueType, params) {
20245
20248
  if (!valueType || !valueType._zod) return new ZodRecord({
20246
20249
  type: "record",
20247
20250
  keyType: string(),
@@ -20450,6 +20453,10 @@ function pipe(in_, out) {
20450
20453
  out
20451
20454
  });
20452
20455
  }
20456
+ var ZodPreprocess = /*@__PURE__*/ $constructor("ZodPreprocess", (inst, def) => {
20457
+ ZodPipe.init(inst, def);
20458
+ $ZodPreprocess.init(inst, def);
20459
+ });
20453
20460
  var ZodReadonly = /*@__PURE__*/ $constructor("ZodReadonly", (inst, def) => {
20454
20461
  $ZodReadonly.init(inst, def);
20455
20462
  ZodType.init(inst, def);
@@ -20493,18 +20500,25 @@ function json$1(params) {
20493
20500
  boolean(),
20494
20501
  _null(),
20495
20502
  array(jsonSchema),
20496
- record(string(), jsonSchema)
20503
+ record$1(string(), jsonSchema)
20497
20504
  ]);
20498
20505
  });
20499
20506
  return jsonSchema;
20500
20507
  }
20508
+ function preprocess(fn, schema) {
20509
+ return new ZodPreprocess({
20510
+ type: "pipe",
20511
+ in: transform(fn),
20512
+ out: schema
20513
+ });
20514
+ }
20501
20515
  //#endregion
20502
20516
  //#region src/openapi/common/authBindings.ts
20503
20517
  /** Never allow credentials to enter a Revision as literal node inputs. */
20504
20518
  function assertOpenApiAuthBindings(document) {
20505
- for (const graph of [document.graph, ...Object.values(document.subflows).map((subflow) => subflow.graph)]) for (const node of Object.values(graph.nodes)) {
20506
- if (node.kind != "task" || node.taskId == null || document.tasks[node.taskId]?.executor.kind != "openapi") continue;
20507
- for (const [handle, mapping] of Object.entries(node.inputs)) if (handle.startsWith("auth.") && (mapping.kind == "value" || mapping.kind == "sources" && mapping.sources.some((source) => source.kind == "flow"))) throw new TypeError("OpenAPI authentication accepts deployment variables and upstream outputs only.");
20519
+ for (const node of Object.values(document.graph.nodes)) {
20520
+ if (node.kind != "task" || !("executor" in node.task) || node.task.executor.kind != "openapi") continue;
20521
+ for (const [handle, mapping] of Object.entries(node.inputs)) if (handle.startsWith("auth.") && mapping.kind == "value") throw new TypeError("OpenAPI authentication accepts deployment variables and upstream outputs only.");
20508
20522
  }
20509
20523
  }
20510
20524
  //#endregion
@@ -24051,7 +24065,7 @@ function makeSubsetCompare({ extendsSchemaClasses, delegate } = {}) {
24051
24065
  });
24052
24066
  }
24053
24067
  //#endregion
24054
- //#region src/manifest/common/schemaComparer.ts
24068
+ //#region src/flow/common/schemaComparer.ts
24055
24069
  function isStringLikeSchema(value) {
24056
24070
  return toPlainObject(value)?.type === "string";
24057
24071
  }
@@ -24160,7 +24174,7 @@ function createSchemaComparer() {
24160
24174
  ] });
24161
24175
  }
24162
24176
  //#endregion
24163
- //#region src/manifest/common/schemaCompare.ts
24177
+ //#region src/flow/common/schemaCompare.ts
24164
24178
  var comparer = createSchemaComparer();
24165
24179
  function nullableSchema(schema, nullable) {
24166
24180
  return nullable ? { anyOf: [schema, { type: "null" }] } : schema;
@@ -24638,24 +24652,15 @@ var group = object({
24638
24652
  collapsed: boolean().optional(),
24639
24653
  group: text
24640
24654
  });
24641
- var nodeSource = object({
24655
+ var source = union([object({
24642
24656
  kind: literal("node"),
24643
24657
  nodeId: text,
24644
24658
  output: text,
24645
24659
  field: text.optional()
24646
- });
24647
- var flowSource = object({
24648
- kind: literal("flow"),
24649
- input: text
24650
- });
24651
- var source = union([
24652
- nodeSource,
24653
- flowSource,
24654
- object({
24655
- kind: literal("binding"),
24656
- bindingId: text
24657
- })
24658
- ]);
24660
+ }), object({
24661
+ kind: literal("binding"),
24662
+ bindingId: text
24663
+ })]);
24659
24664
  var fixedInput = union([object({ kind: literal("unset") }), object({
24660
24665
  kind: literal("value"),
24661
24666
  value: json
@@ -24664,7 +24669,7 @@ var mapping = union([fixedInput, object({
24664
24669
  kind: literal("sources"),
24665
24670
  sources: array(source)
24666
24671
  })]);
24667
- var inputs = record(text, mapping);
24672
+ var inputs = record$1(text, mapping);
24668
24673
  var ports = {
24669
24674
  inputs: array(union([input, group])),
24670
24675
  outputs: array(union([port, group]))
@@ -24792,9 +24797,11 @@ var managed = object({
24792
24797
  inputs: array(input.extend({ source: agentInput }))
24793
24798
  })),
24794
24799
  notification: object({
24795
- taskId: text,
24800
+ action: text,
24801
+ connectionId: text.optional(),
24802
+ inputDefinitions: array(input),
24796
24803
  messageHandle: text,
24797
- inputs: record(text, agentValue)
24804
+ inputs: record$1(text, agentValue)
24798
24805
  }).optional()
24799
24806
  })
24800
24807
  ])
@@ -24849,7 +24856,7 @@ var webhookOptions = object({
24849
24856
  allowedOrigins: strings.optional(),
24850
24857
  noResponseBody: never().optional(),
24851
24858
  responseData: text.optional(),
24852
- responseHeaders: record(text, text).optional(),
24859
+ responseHeaders: record$1(text, text).optional(),
24853
24860
  responseStatusCode: number().int().min(200).max(599).optional()
24854
24861
  });
24855
24862
  var webhook = {
@@ -24905,7 +24912,7 @@ var base = {
24905
24912
  var node = union([
24906
24913
  object({
24907
24914
  ...base,
24908
- inputs: record(text, never()),
24915
+ inputs: record$1(text, never()),
24909
24916
  kind: literal("condition"),
24910
24917
  ...condition
24911
24918
  }),
@@ -24915,21 +24922,10 @@ var node = union([
24915
24922
  kind: literal("value"),
24916
24923
  values: array(input)
24917
24924
  }),
24918
- object({
24919
- ...base,
24920
- kind: literal("subflow"),
24921
- subflowId: text
24922
- }),
24923
24925
  object({
24924
24926
  ...base,
24925
24927
  kind: literal("task"),
24926
- task: inline,
24927
- additionalInputs: array(input).optional()
24928
- }),
24929
- object({
24930
- ...base,
24931
- kind: literal("task"),
24932
- taskId: text,
24928
+ task: union([inline, managed]),
24933
24929
  additionalInputs: array(input).optional()
24934
24930
  }),
24935
24931
  strictObject({
@@ -24965,7 +24961,7 @@ var node = union([
24965
24961
  ...trigger,
24966
24962
  kind: literal("poll"),
24967
24963
  connectionId: text.min(1).optional(),
24968
- config: record(text, fixedInput),
24964
+ config: record$1(text, fixedInput),
24969
24965
  definition: object({
24970
24966
  ...definition,
24971
24967
  type: literal("poll")
@@ -24976,7 +24972,7 @@ var node = union([
24976
24972
  ...trigger,
24977
24973
  kind: literal("integration"),
24978
24974
  connectionId: text.min(1).optional(),
24979
- config: record(text, fixedInput),
24975
+ config: record$1(text, fixedInput),
24980
24976
  definition: object({
24981
24977
  ...definition,
24982
24978
  type: literal("integration"),
@@ -24984,10 +24980,6 @@ var node = union([
24984
24980
  })
24985
24981
  })
24986
24982
  ]);
24987
- var target = union([object({ kind: literal("flow") }), object({
24988
- kind: literal("subflow"),
24989
- id: text
24990
- })]);
24991
24983
  var edge = object({
24992
24984
  source: text,
24993
24985
  target: text,
@@ -24995,15 +24987,10 @@ var edge = object({
24995
24987
  });
24996
24988
  var at = {
24997
24989
  nodeId: text,
24998
- target
24990
+ target: never().optional()
24999
24991
  };
25000
- var subflow = object({
25001
- name: text,
25002
- inputs: array(input),
25003
- outputs: array(port.extend({ sources: array(union([nodeSource, flowSource])) }))
25004
- });
25005
24992
  var graph = object({
25006
- nodes: record(text, node),
24993
+ nodes: record$1(text, node),
25007
24994
  edges: array(edge).default([])
25008
24995
  });
25009
24996
  var binding = object({
@@ -25015,29 +25002,40 @@ var module$1 = object({
25015
25002
  imports: strings,
25016
25003
  source: text
25017
25004
  });
25018
- var document$1 = object({
25019
- bindings: record(text, binding),
25020
- graph,
25021
- subflows: record(text, subflow.extend({ graph })),
25022
- tasks: record(text, managed)
25023
- });
25005
+ var document$1 = preprocess(rejectRetiredDefinitions, object({
25006
+ bindings: record$1(text, binding),
25007
+ graph
25008
+ }));
25024
25009
  var revision = object({
25025
25010
  modelVersion: union([
25026
25011
  literal(2),
25027
25012
  literal(4),
25028
- literal(5)
25013
+ literal(5),
25014
+ literal(6)
25029
25015
  ]),
25030
25016
  document: document$1,
25031
- modules: record(text, module$1)
25017
+ modules: record$1(text, module$1)
25032
25018
  });
25033
25019
  revision.extend({
25034
25020
  kind: literal("open-flow-flow-revision"),
25035
25021
  version: literal(1)
25036
25022
  });
25023
+ function rejectRetiredDefinitions(value) {
25024
+ const candidate = record(value);
25025
+ if (candidate.tasks !== void 0 && (candidate.tasks === null || typeof candidate.tasks !== "object" || Array.isArray(candidate.tasks) || Object.keys(candidate.tasks).length > 0)) throw new TypeError("Independent Task definitions are no longer supported.");
25026
+ if (Object.values(record(record(candidate.graph).nodes)).some((candidateNode) => Object.hasOwn(record(candidateNode), "taskId"))) throw new TypeError("Task references are no longer supported.");
25027
+ const subflows = candidate.subflows;
25028
+ if (subflows !== void 0 && (subflows === null || typeof subflows !== "object" || Array.isArray(subflows) || Object.keys(subflows).length > 0)) throw new TypeError("Subflows are no longer supported.");
25029
+ if (Object.values(record(record(candidate.graph).nodes)).some((candidateNode) => record(candidateNode).kind === "subflow")) throw new TypeError("Subflow nodes are no longer supported.");
25030
+ return value;
25031
+ }
25032
+ function record(value) {
25033
+ return value != null && typeof value == "object" && !Array.isArray(value) ? value : {};
25034
+ }
25037
25035
  function decodeRevisionContent(value) {
25038
25036
  checkJsonDepth(value);
25039
25037
  const content = revision.parse(value);
25040
- checkErrorModelVersion(content);
25038
+ checkModelVersion(content);
25041
25039
  assertOpenApiAuthBindings(content.document);
25042
25040
  return content;
25043
25041
  }
@@ -25058,12 +25056,12 @@ var shapes = {
25058
25056
  value: text
25059
25057
  },
25060
25058
  "graph.edge.connect": {
25061
- target,
25062
- edge
25059
+ edge,
25060
+ target: never().optional()
25063
25061
  },
25064
25062
  "graph.edge.disconnect": {
25065
- target,
25066
- edge
25063
+ edge,
25064
+ target: never().optional()
25067
25065
  },
25068
25066
  "graph.node.create": {
25069
25067
  ...at,
@@ -25127,13 +25125,11 @@ var shapes = {
25127
25125
  },
25128
25126
  "graph.node.resolution.set": {
25129
25127
  ...at,
25130
- target: object({ kind: literal("flow") }),
25131
25128
  before: object(wait),
25132
25129
  value: object(wait)
25133
25130
  },
25134
25131
  "graph.node.webhook.set": {
25135
25132
  ...at,
25136
- target: object({ kind: literal("flow") }),
25137
25133
  before: object(webhook),
25138
25134
  value: object(webhook)
25139
25135
  },
@@ -25180,58 +25176,19 @@ var shapes = {
25180
25176
  imports: strings,
25181
25177
  source: text
25182
25178
  },
25183
- "subflow.create": {
25184
- subflowId: text,
25185
- subflow: subflow.extend({ graph })
25186
- },
25187
- "subflow.definition.set": {
25188
- subflowId: text,
25189
- before: subflow,
25190
- definition: subflow
25191
- },
25192
- "subflow.delete": { subflowId: text },
25193
- "task.create": {
25194
- taskId: text,
25195
- task: managed
25196
- },
25197
- "task.delete": { taskId: text },
25198
- "task.connector.connection.set": {
25199
- taskId: text,
25200
- before: text.optional(),
25201
- value: text.optional()
25202
- },
25203
- "task.decision.set": {
25204
- taskId: text,
25205
- before: managed,
25206
- value: managed
25207
- },
25208
- "task.openapi.set": {
25209
- taskId: text,
25210
- before: managed,
25211
- value: managed
25212
- },
25213
- "task.agent.set": {
25214
- taskId: text,
25215
- before: managed,
25216
- value: managed
25217
- },
25218
- "task.llm.mode.set": {
25219
- taskId: text,
25220
- before: _enum(["chat", "json"]),
25221
- value: _enum(["chat", "json"])
25222
- },
25223
- "task.name.set": {
25224
- taskId: text,
25225
- before: text,
25226
- value: text
25179
+ "graph.node.task.set": {
25180
+ ...at,
25181
+ before: union([inline, managed]),
25182
+ value: union([inline, managed])
25227
25183
  }
25228
25184
  };
25229
25185
  array(union([...new Map(Object.entries(shapes).map(([kind, shape]) => [kind, shape instanceof ZodType ? shape : object({
25230
25186
  kind: literal(kind),
25231
25187
  ...shape
25232
25188
  })])).values()])).min(1);
25233
- function checkErrorModelVersion(content) {
25234
- if (content.modelVersion < 5 && [content.document.graph, ...Object.values(content.document.subflows).map((item) => item.graph)].some((item) => Object.values(item.nodes).some((itemNode) => itemNode.kind == "error"))) throw new TypeError("Error workflows require Flow model version 5.");
25189
+ function checkModelVersion(content) {
25190
+ if (content.modelVersion < 6 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && "executor" in candidateNode.task)) throw new TypeError("Node-owned managed Tasks require Flow model version 6.");
25191
+ if (content.modelVersion < 5 && Object.values(content.document.graph.nodes).some((itemNode) => itemNode.kind == "error")) throw new TypeError("Error workflows require Flow model version 5.");
25235
25192
  }
25236
25193
  //#endregion
25237
25194
  //#region src/flow/common/condition.ts
@@ -25588,30 +25545,6 @@ var FlowChangeError = class extends Error {
25588
25545
  function invalid(message) {
25589
25546
  throw new FlowChangeError(message);
25590
25547
  }
25591
- function selectedGraph(document, target) {
25592
- if (target.kind == "flow") return document.graph;
25593
- const subflow = document.subflows[target.id];
25594
- if (subflow == null) invalid("The target Subflow does not exist.");
25595
- return subflow.graph;
25596
- }
25597
- function replaceGraph(document, target, value) {
25598
- if (target.kind == "flow") return {
25599
- ...document,
25600
- graph: value
25601
- };
25602
- const subflow = document.subflows[target.id];
25603
- if (subflow == null) invalid("The target Subflow does not exist.");
25604
- return {
25605
- ...document,
25606
- subflows: {
25607
- ...document.subflows,
25608
- [target.id]: {
25609
- ...subflow,
25610
- graph: value
25611
- }
25612
- }
25613
- };
25614
- }
25615
25548
  function applyFlowChanges(content, operations) {
25616
25549
  const document = { ...content.document };
25617
25550
  const modules = { ...content.modules };
@@ -25663,29 +25596,29 @@ function applyFlowChanges(content, operations) {
25663
25596
  break;
25664
25597
  }
25665
25598
  case "graph.edge.connect": {
25666
- const graph = selectedGraph(document, operation.target);
25599
+ const graph = document.graph;
25667
25600
  if (graph.nodes[operation.edge.source] == null) invalid("The source Node does not exist.");
25668
25601
  const node = graph.nodes[operation.edge.target];
25669
25602
  if (node == null || !("inputs" in node)) invalid("The target Node does not accept execution dependencies.");
25670
25603
  if (graph.edges.some((edge) => dequal(edge, operation.edge))) invalid("The Nodes are already connected.");
25671
- Object.assign(document, replaceGraph(document, operation.target, {
25604
+ Object.assign(document, { graph: {
25672
25605
  ...graph,
25673
25606
  edges: [...graph.edges, operation.edge]
25674
- }));
25607
+ } });
25675
25608
  break;
25676
25609
  }
25677
25610
  case "graph.edge.disconnect": {
25678
- const graph = selectedGraph(document, operation.target);
25611
+ const graph = document.graph;
25679
25612
  const edges = graph.edges.filter((edge) => !dequal(edge, operation.edge));
25680
25613
  if (edges.length == graph.edges.length) invalid("The Nodes are not connected.");
25681
- Object.assign(document, replaceGraph(document, operation.target, {
25614
+ Object.assign(document, { graph: {
25682
25615
  ...graph,
25683
25616
  edges
25684
- }));
25617
+ } });
25685
25618
  break;
25686
25619
  }
25687
25620
  case "graph.node.additional-inputs.set": {
25688
- const graph = selectedGraph(document, operation.target);
25621
+ const graph = document.graph;
25689
25622
  const node = graph.nodes[operation.nodeId];
25690
25623
  if (node?.kind != "task") invalid("The Task Node does not exist.");
25691
25624
  if (!dequal(node.additionalInputs, operation.before)) invalid("The Task Node inputs changed before this operation was applied.");
@@ -25694,17 +25627,17 @@ function applyFlowChanges(content, operations) {
25694
25627
  ...rest,
25695
25628
  additionalInputs: operation.value
25696
25629
  };
25697
- Object.assign(document, replaceGraph(document, operation.target, {
25630
+ Object.assign(document, { graph: {
25698
25631
  ...graph,
25699
25632
  nodes: {
25700
25633
  ...graph.nodes,
25701
25634
  [operation.nodeId]: updated
25702
25635
  }
25703
- }));
25636
+ } });
25704
25637
  break;
25705
25638
  }
25706
25639
  case "graph.node.condition.set": {
25707
- const graph = selectedGraph(document, operation.target);
25640
+ const graph = document.graph;
25708
25641
  const node = graph.nodes[operation.nodeId];
25709
25642
  if (node?.kind != "condition") invalid("The Condition Node does not exist.");
25710
25643
  if (!dequal(node.cases, operation.before.cases) || node.matchMode != operation.before.matchMode) invalid("The Condition Node changed before this operation was applied.");
@@ -25712,22 +25645,21 @@ function applyFlowChanges(content, operations) {
25712
25645
  ...node,
25713
25646
  ...operation.value
25714
25647
  };
25715
- Object.assign(document, replaceGraph(document, operation.target, {
25648
+ Object.assign(document, { graph: {
25716
25649
  ...graph,
25717
25650
  nodes: {
25718
25651
  ...graph.nodes,
25719
25652
  [operation.nodeId]: updated
25720
25653
  }
25721
- }));
25654
+ } });
25722
25655
  break;
25723
25656
  }
25724
25657
  case "graph.node.create": {
25725
- const graph = selectedGraph(document, operation.target);
25658
+ const graph = document.graph;
25726
25659
  if (graph.nodes[operation.nodeId] != null) invalid("A Node with this ID already exists in the target graph.");
25727
- if (operation.target.kind == "subflow" && !("inputs" in operation.node)) invalid("Trigger Nodes cannot be created inside a Subflow.");
25728
25660
  if (operation.node.kind == "error" && Object.values(graph.nodes).some((node) => node.kind == "error")) invalid("A graph can contain only one Flow Error node.");
25729
25661
  if (operation.node.kind == "manual" && Object.values(graph.nodes).some((node) => node.kind == "manual")) invalid("A graph can contain only one manual Trigger.");
25730
- if (operation.node.kind == "task" && operation.node.task?.capabilities !== void 0) decodeConnectorCapabilities(operation.node.task.capabilities);
25662
+ if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0) decodeConnectorCapabilities(operation.node.task.capabilities);
25731
25663
  if (operation.node.name == null) invalid("A Node name cannot be empty.");
25732
25664
  const name = normalizeNodeName(operation.node.name);
25733
25665
  const issue = nodeNameIssue(graph, operation.nodeId, name);
@@ -25737,29 +25669,29 @@ function applyFlowChanges(content, operations) {
25737
25669
  ...operation.node,
25738
25670
  name
25739
25671
  };
25740
- Object.assign(document, replaceGraph(document, operation.target, {
25672
+ Object.assign(document, { graph: {
25741
25673
  ...graph,
25742
25674
  nodes: {
25743
25675
  ...graph.nodes,
25744
25676
  [operation.nodeId]: node
25745
25677
  }
25746
- }));
25678
+ } });
25747
25679
  break;
25748
25680
  }
25749
25681
  case "graph.node.delete": {
25750
- const graph = selectedGraph(document, operation.target);
25682
+ const graph = document.graph;
25751
25683
  if (graph.nodes[operation.nodeId] == null) invalid("The Node does not exist in the target graph.");
25752
25684
  const removed = /* @__PURE__ */ new Set([operation.nodeId]);
25753
25685
  const nodes = Object.fromEntries(Object.entries(graph.nodes).filter(([nodeId]) => !removed.has(nodeId)));
25754
- Object.assign(document, replaceGraph(document, operation.target, {
25686
+ Object.assign(document, { graph: {
25755
25687
  ...graph,
25756
25688
  edges: graph.edges.filter((edge) => !removed.has(edge.source) && !removed.has(edge.target)),
25757
25689
  nodes
25758
- }));
25690
+ } });
25759
25691
  break;
25760
25692
  }
25761
25693
  case "graph.node.field.set": {
25762
- const graph = selectedGraph(document, operation.target);
25694
+ const graph = document.graph;
25763
25695
  const node = graph.nodes[operation.nodeId];
25764
25696
  if (node == null) invalid("The Node does not exist in the target graph.");
25765
25697
  if (operation.field == "connectionId" && node.kind != "poll" && node.kind != "integration") invalid("Only provider Triggers select a node Connection.");
@@ -25774,24 +25706,24 @@ function applyFlowChanges(content, operations) {
25774
25706
  Object.assign(updated, { name });
25775
25707
  } else if (operation.value == null) Reflect.deleteProperty(updated, operation.field);
25776
25708
  else Object.assign(updated, { [operation.field]: operation.value });
25777
- Object.assign(document, replaceGraph(document, operation.target, {
25709
+ Object.assign(document, { graph: {
25778
25710
  ...graph,
25779
25711
  nodes: {
25780
25712
  ...graph.nodes,
25781
25713
  [operation.nodeId]: updated
25782
25714
  }
25783
- }));
25715
+ } });
25784
25716
  break;
25785
25717
  }
25786
25718
  case "graph.node.input.set": {
25787
- const graph = selectedGraph(document, operation.target);
25719
+ const graph = document.graph;
25788
25720
  const node = graph.nodes[operation.nodeId];
25789
25721
  if (node == null || !("inputs" in node)) invalid("The Node does not accept inputs.");
25790
25722
  if (!dequal(nodeInputMappings(node)[operation.handle], operation.before)) invalid("The Node input changed before this operation was applied.");
25791
25723
  const inputs = { ...node.inputs };
25792
25724
  if (operation.value == null) delete inputs[operation.handle];
25793
25725
  else inputs[operation.handle] = operation.value;
25794
- Object.assign(document, replaceGraph(document, operation.target, {
25726
+ Object.assign(document, { graph: {
25795
25727
  ...graph,
25796
25728
  nodes: {
25797
25729
  ...graph.nodes,
@@ -25800,18 +25732,18 @@ function applyFlowChanges(content, operations) {
25800
25732
  inputs
25801
25733
  }
25802
25734
  }
25803
- }));
25735
+ } });
25804
25736
  break;
25805
25737
  }
25806
25738
  case "graph.node.task.capabilities.set": {
25807
- const graph = selectedGraph(document, operation.target);
25739
+ const graph = document.graph;
25808
25740
  const node = graph.nodes[operation.nodeId];
25809
- if (node?.kind != "task" || node.task == null) invalid("The inline Task Node does not exist.");
25741
+ if (node?.kind != "task" || !("moduleId" in node.task)) invalid("The inline Task Node does not exist.");
25810
25742
  if (!dequal(node.task.capabilities, operation.before)) invalid("The inline Task capabilities changed before this operation was applied.");
25811
25743
  const task = { ...node.task };
25812
25744
  if (operation.value === void 0) delete task.capabilities;
25813
25745
  else task.capabilities = decodeConnectorCapabilities(operation.value);
25814
- Object.assign(document, replaceGraph(document, operation.target, {
25746
+ Object.assign(document, { graph: {
25815
25747
  ...graph,
25816
25748
  nodes: {
25817
25749
  ...graph.nodes,
@@ -25820,13 +25752,13 @@ function applyFlowChanges(content, operations) {
25820
25752
  task
25821
25753
  }
25822
25754
  }
25823
- }));
25755
+ } });
25824
25756
  break;
25825
25757
  }
25826
25758
  case "graph.node.task.name.set": {
25827
- const graph = selectedGraph(document, operation.target);
25759
+ const graph = document.graph;
25828
25760
  const node = graph.nodes[operation.nodeId];
25829
- if (node?.kind != "task" || node.task == null) invalid("The inline Task Node does not exist.");
25761
+ if (node?.kind != "task" || !("moduleId" in node.task)) invalid("The inline Task Node does not exist.");
25830
25762
  if (node.task.name != operation.before) invalid("The inline Task name changed before this operation was applied.");
25831
25763
  const updated = {
25832
25764
  ...node,
@@ -25835,19 +25767,19 @@ function applyFlowChanges(content, operations) {
25835
25767
  name: operation.value
25836
25768
  }
25837
25769
  };
25838
- Object.assign(document, replaceGraph(document, operation.target, {
25770
+ Object.assign(document, { graph: {
25839
25771
  ...graph,
25840
25772
  nodes: {
25841
25773
  ...graph.nodes,
25842
25774
  [operation.nodeId]: updated
25843
25775
  }
25844
- }));
25776
+ } });
25845
25777
  break;
25846
25778
  }
25847
25779
  case "graph.node.task.ports.set": {
25848
- const graph = selectedGraph(document, operation.target);
25780
+ const graph = document.graph;
25849
25781
  const node = graph.nodes[operation.nodeId];
25850
- if (node?.kind != "task" || node.task == null) invalid("The inline Task Node does not exist.");
25782
+ if (node?.kind != "task" || !("moduleId" in node.task)) invalid("The inline Task Node does not exist.");
25851
25783
  if (!dequal({
25852
25784
  inputs: node.task.inputs,
25853
25785
  outputs: node.task.outputs
@@ -25860,21 +25792,21 @@ function applyFlowChanges(content, operations) {
25860
25792
  outputs: operation.value.outputs
25861
25793
  }
25862
25794
  };
25863
- Object.assign(document, replaceGraph(document, operation.target, {
25795
+ Object.assign(document, { graph: {
25864
25796
  ...graph,
25865
25797
  nodes: {
25866
25798
  ...graph.nodes,
25867
25799
  [operation.nodeId]: updated
25868
25800
  }
25869
- }));
25801
+ } });
25870
25802
  break;
25871
25803
  }
25872
25804
  case "graph.node.values.set": {
25873
- const graph = selectedGraph(document, operation.target);
25805
+ const graph = document.graph;
25874
25806
  const node = graph.nodes[operation.nodeId];
25875
25807
  if (node?.kind != "value") invalid("The Value Node does not exist.");
25876
25808
  if (!dequal(node.values, operation.before)) invalid("The Value Node changed before this operation was applied.");
25877
- Object.assign(document, replaceGraph(document, operation.target, {
25809
+ Object.assign(document, { graph: {
25878
25810
  ...graph,
25879
25811
  nodes: {
25880
25812
  ...graph.nodes,
@@ -25883,7 +25815,7 @@ function applyFlowChanges(content, operations) {
25883
25815
  values: operation.value
25884
25816
  }
25885
25817
  }
25886
- }));
25818
+ } });
25887
25819
  break;
25888
25820
  }
25889
25821
  case "graph.node.resolution.set": {
@@ -25907,7 +25839,7 @@ function applyFlowChanges(content, operations) {
25907
25839
  break;
25908
25840
  }
25909
25841
  case "graph.node.webhook.set": {
25910
- const graph = selectedGraph(document, operation.target);
25842
+ const graph = document.graph;
25911
25843
  const node = graph.nodes[operation.nodeId];
25912
25844
  if (node?.kind != "webhook") invalid("The Webhook Node does not exist.");
25913
25845
  if (node.method != operation.before.method || !dequal(node.bodyFields, operation.before.bodyFields) || !dequal(node.options, operation.before.options)) invalid("The Webhook Node changed before this operation was applied.");
@@ -25920,13 +25852,13 @@ function applyFlowChanges(content, operations) {
25920
25852
  ...node,
25921
25853
  ...operation.value
25922
25854
  };
25923
- Object.assign(document, replaceGraph(document, operation.target, {
25855
+ Object.assign(document, { graph: {
25924
25856
  ...graph,
25925
25857
  nodes: {
25926
25858
  ...graph.nodes,
25927
25859
  [operation.nodeId]: updated
25928
25860
  }
25929
- }));
25861
+ } });
25930
25862
  break;
25931
25863
  }
25932
25864
  case "graph.trigger.config.set": {
@@ -25999,134 +25931,28 @@ function applyFlowChanges(content, operations) {
25999
25931
  };
26000
25932
  break;
26001
25933
  }
26002
- case "subflow.create":
26003
- if (document.subflows[operation.subflowId] != null) invalid("A Subflow with this ID already exists.");
26004
- for (const node of Object.values(operation.subflow.graph.nodes)) if (node.kind == "task" && node.task?.capabilities !== void 0) decodeConnectorCapabilities(node.task.capabilities);
26005
- document.subflows = {
26006
- ...document.subflows,
26007
- [operation.subflowId]: operation.subflow
26008
- };
26009
- break;
26010
- case "subflow.definition.set": {
26011
- const subflow = document.subflows[operation.subflowId];
26012
- if (subflow == null) invalid("The Subflow does not exist.");
26013
- if (!dequal({
26014
- inputs: subflow.inputs,
26015
- name: subflow.name,
26016
- outputs: subflow.outputs
26017
- }, operation.before)) invalid("The Subflow definition changed before this operation was applied.");
26018
- document.subflows = {
26019
- ...document.subflows,
26020
- [operation.subflowId]: {
26021
- ...operation.definition,
26022
- graph: subflow.graph
26023
- }
26024
- };
26025
- break;
26026
- }
26027
- case "subflow.delete": {
26028
- if (document.subflows[operation.subflowId] == null) invalid("The Subflow does not exist.");
26029
- const subflows = { ...document.subflows };
26030
- delete subflows[operation.subflowId];
26031
- document.subflows = subflows;
26032
- break;
26033
- }
26034
- case "task.create":
26035
- if (document.tasks[operation.taskId] != null) invalid("A Task with this ID already exists.");
26036
- document.tasks = {
26037
- ...document.tasks,
26038
- [operation.taskId]: operation.task
26039
- };
26040
- break;
26041
- case "task.connector.connection.set": {
26042
- const task = document.tasks[operation.taskId];
26043
- if (task == null || !("executor" in task) || task.executor.kind != "connector") invalid("The Connector Task does not exist.");
26044
- if (task.executor.connectionId != operation.before) invalid("The Connector Task connection changed before this operation was applied.");
26045
- const { connectionId: _, ...executor } = task.executor;
26046
- const next = operation.value == null ? executor : {
26047
- ...executor,
26048
- connectionId: operation.value
26049
- };
26050
- document.tasks = {
26051
- ...document.tasks,
26052
- [operation.taskId]: {
26053
- ...task,
26054
- executor: next
26055
- }
26056
- };
26057
- break;
26058
- }
26059
- case "task.delete": {
26060
- if (document.tasks[operation.taskId] == null) invalid("The Task does not exist.");
26061
- const tasks = { ...document.tasks };
26062
- delete tasks[operation.taskId];
26063
- document.tasks = tasks;
26064
- break;
26065
- }
26066
- case "task.decision.set": {
26067
- const task = document.tasks[operation.taskId];
26068
- if (task?.executor.kind != "decision" || operation.value.executor.kind != "decision") invalid("The AI Decision Task does not exist.");
26069
- if (!dequal(task, operation.before)) invalid("The AI Decision Task changed before this operation was applied.");
26070
- document.tasks = {
26071
- ...document.tasks,
26072
- [operation.taskId]: operation.value
26073
- };
26074
- break;
26075
- }
26076
- case "task.openapi.set": {
26077
- const task = document.tasks[operation.taskId];
26078
- if (task?.executor.kind != "openapi" || operation.value.executor.kind != "openapi") invalid("The OpenAPI Task does not exist.");
26079
- if (!dequal(task, operation.before)) invalid("The OpenAPI Task changed before this operation was applied.");
26080
- document.tasks = {
26081
- ...document.tasks,
26082
- [operation.taskId]: operation.value
26083
- };
26084
- break;
26085
- }
26086
- case "task.agent.set": {
26087
- const task = document.tasks[operation.taskId];
26088
- if (task?.executor.kind != "agent" || operation.value.executor.kind != "agent") invalid("The Agent Task does not exist.");
26089
- if (!dequal(task, operation.before)) invalid("The Agent Task changed before this operation was applied.");
26090
- document.tasks = {
26091
- ...document.tasks,
26092
- [operation.taskId]: operation.value
26093
- };
26094
- break;
26095
- }
26096
- case "task.llm.mode.set": {
26097
- const task = document.tasks[operation.taskId];
26098
- if (task == null || !("executor" in task) || task.executor.kind != "llm") invalid("The LLM Task does not exist.");
26099
- if (task.executor.mode != operation.before) invalid("The LLM Task mode changed before this operation was applied.");
26100
- document.tasks = {
26101
- ...document.tasks,
26102
- [operation.taskId]: {
26103
- ...task,
26104
- executor: {
26105
- ...task.executor,
26106
- mode: operation.value
25934
+ case "graph.node.task.set": {
25935
+ const graph = document.graph;
25936
+ const node = graph.nodes[operation.nodeId];
25937
+ if (node?.kind != "task") invalid("The Task Node does not exist.");
25938
+ if (!dequal(node.task, operation.before)) invalid("The Task configuration changed before this operation was applied.");
25939
+ document.graph = {
25940
+ ...graph,
25941
+ nodes: {
25942
+ ...graph.nodes,
25943
+ [operation.nodeId]: {
25944
+ ...node,
25945
+ task: operation.value
26107
25946
  }
26108
25947
  }
26109
25948
  };
26110
25949
  break;
26111
25950
  }
26112
- case "task.name.set": {
26113
- const task = document.tasks[operation.taskId];
26114
- if (task == null) invalid("The Task does not exist.");
26115
- if (task.name != operation.before) invalid("The Task name changed before this operation was applied.");
26116
- document.tasks = {
26117
- ...document.tasks,
26118
- [operation.taskId]: {
26119
- ...task,
26120
- name: operation.value
26121
- }
26122
- };
26123
- break;
26124
- }
26125
25951
  }
26126
25952
  assertOpenApiAuthBindings(document);
26127
25953
  return {
26128
25954
  document,
26129
- modelVersion: 5,
25955
+ modelVersion: 6,
26130
25956
  modules
26131
25957
  };
26132
25958
  }
@@ -27581,23 +27407,6 @@ function glyph(name) {
27581
27407
  d: "M19 13.5v-3l-2-.6-.7-1.7 1-1.8-2.1-2.1-1.8 1-1.7-.7L10.5 3h-3l-.6 2-1.7.7-1.8-1-2.1 2.1 1 1.8-.7 1.7-2 .6v3l2 .6.7 1.7-1 1.8 2.1 2.1 1.8-1 1.7.7.6 2h3l.6-2 1.7-.7 1.8 1 2.1-2.1-1-1.8.7-1.7z",
27582
27408
  transform: "translate(2.5) scale(.8)"
27583
27409
  })] });
27584
- case "subflow": return /* @__PURE__ */ jsxs(Fragment$1, { children: [
27585
- /* @__PURE__ */ jsx("rect", {
27586
- x: "4",
27587
- y: "4",
27588
- width: "6",
27589
- height: "6",
27590
- rx: "1"
27591
- }),
27592
- /* @__PURE__ */ jsx("rect", {
27593
- x: "14",
27594
- y: "14",
27595
- width: "6",
27596
- height: "6",
27597
- rx: "1"
27598
- }),
27599
- /* @__PURE__ */ jsx("path", { d: "M10 7h4a3 3 0 0 1 3 3v4M14 17h-4a3 3 0 0 1-3-3v-4" })
27600
- ] });
27601
27410
  case "value": return /* @__PURE__ */ jsx("path", { d: "m12 3 8 9-8 9-8-9z" });
27602
27411
  case "wait": return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("circle", {
27603
27412
  cx: "12",
@@ -27656,4 +27465,4 @@ function Icon({ name, size = 18, ...props }) {
27656
27465
  });
27657
27466
  }
27658
27467
  //#endregion
27659
- export { comparePorts as $, require_builtin_esm_external_require_react as $n, none as $r, inertValue as $t, nextNodeName as A, formatErrorMessage as Ai, useTriggerDataForwarding as An, ChevronDown as Ar, ARROW_DOWN as At, operatorsForType as B, FloatingTreeStore as Bn, createChangeEventDetails as Br, VERTICAL_KEYS as Bt, FieldDescription as C, EMPTY_OBJECT as Ci, useSyncedFloatingRootContext as Cn, contains as Cr, SelectSeparator as Ct, FlowChangeError as D, useButton as Di, PopupTriggerMap as Dn, isMac as Dr, IndexGuessBehavior as Dt, FieldLabel as E, useMergedRefs as Ei, popupStoreSelectors as En, isFirefox as Er, Separator as Et, comparisonIssue as F, useRefWithInit as Fi, FloatingNode as Fn, useAnimationsFinished as Fr, COMPOSITE_KEYS as Ft, webhookMethods as G, FocusGuard as Gn, escapeKey as Gr, useAnchoredPopupScrollLock as Gt, unaryOperator as H, CLICK_TRIGGER_IDENTIFIER as Hn, cancelOpen as Hr, isNativeInput as Ht, conditionInputPorts as I, getParentNode as Ii, FloatingTree as In, TransitionStatusDataAttributes as Ir, HOME as It, decisionModel as J, Store as Jn, inputChange as Jr, InternalBackdrop as Jt, webhookSupportsBody as K, addEventListener as Kn, focusOut as Kr, usePositioner as Kt, mapConditionSources as L, isElement as Li, useFloatingNodeId as Ln, transitionStatusMapping as Lr, HORIZONTAL_KEYS as Lt, normalizeNodeName as M, useIsoLayoutEffect as Mi, useDismiss as Mn, createLucideIcon as Mr, ARROW_LEFT as Mt, portsByHandle as N, SafeReact as Ni, useClick as Nn, useTransitionStatus as Nr, ARROW_RIGHT as Nt, applyFlowChanges as O, CompositeRootContext as Oi, useImplicitActiveTrigger as On, ownerDocument as Or, useCompositeListItem as Ot, resourceNameIssue as P, useStableCallback as Pi, FloatingFocusManager as Pn, useOpenChangeComplete as Pr, ARROW_UP as Pt, limitDecisionQuestions as Q, require_with_selector as Qn, listNavigation as Qr, CompositeList as Qt, nodeInputMappings as R, isHTMLElement as Ri, useFloatingParentNodeId as Rn, useOnMount as Rr, HORIZONTAL_KEYS_WITH_EXTRA_KEYS as Rt, Field as S, EMPTY_ARRAY as Si, useFocus as Sn, activeElement as Sr, SelectItem as St, FieldGroup as T, warn as Ti, createInitialPopupStoreState as Tn, isAndroid as Tr, SelectValue as Tt, valueType as U, DROPDOWN_COLLISION_AVOIDANCE as Un, clearPress as Ur, scrollIntoViewIfNeeded as Ut, otherwiseOutput as V, FloatingPortal as Vn, createGenericEventDetails as Vr, VERTICAL_KEYS_WITH_EXTRA_KEYS as Vt, decodeRevisionContent as W, POPUP_COLLISION_AVOIDANCE as Wn, closePress as Wr, useToolbarRootContext as Wt, decisionTask as X, fastComponent as Xn, inputPress as Xr, adaptiveOrigin as Xt, decisionQuestionIssues as Y, useStore as Yn, inputClear as Yr, useAnchorPositioning as Yt, defaultDecisionQuestion as Z, fastComponentRef as Zn, itemPress as Zr, useDirection as Zt, TooltipPositioner as _, buttonVariants as _i, useRole as _n, getMinListIndex as _r, union as _t, DialogDescription as a, useLabelableContext as ai, useOpenInteractionType as an, Timeout as ar, _enum as at, TooltipRoot as b, clsx as bi, useHoverReferenceInteraction as bn, stopEvent as br, SelectContent as bt, DialogTitle as c, useFieldRootContext as ci, stringifyAsLabel as cn, getTabbableAfterElement as cr, discriminatedUnion as ct, TooltipContent as d, DEFAULT_FIELD_STATE_ATTRIBUTES as di, defaultItemEquality as dn, createGridCellMap as dr, lazy$1 as dt, outsidePress as ei, getPseudoElementBounds as en, createSelector as er, matchesSchema as et, TooltipProvider as f, fieldValidityMapping as fi, findItemIndex as fn, findNonDisabledListIndex as fr, literal as ft, TooltipPopup as g, Button as gi, useTypeahead as gn, getMaxListIndex as gr, string as gt, TooltipArrow as h, useControlled as hi, safePolygon as hn, getGridNavigatedIndex as hr, strictObject as ht, DialogContent as i, triggerPress as ii, resolveAriaLabelledBy as in, Input as ir, dequal as it, nodeNameIssue as j, mergeProps$1 as ji, useTriggerRegistration as jn, Check as jr, ARROW_KEYS as jt, isSchemaKeyword as k, useCompositeRootContext as ki, useOpenStateTransitions as kn, useLabelableId as kr, ALL_KEYS as kt, DialogTrigger as l, useBaseUiId as li, stringifyAsValue as ln, getTabbableBeforeElement as lr, int as lt, createTooltipHandle as m, visuallyHiddenInput as mi, selectedValueIncludes as mn, getGridCellIndices as mr, record as mt, Dialog as n, triggerFocus as ni, pressableTriggerOpenStateMapping as nn, useOnFirstRender as nr, variableInputCompatible as nt, DialogFooter as o, useFormContext as oi, hasNullItemLabel as on, useTimeout as or, array as ot, TooltipTrigger as p, visuallyHidden as pi, removeItem as pn, getGridCellIndexOfCorner as pr, number as pt, decisionLimits as q, ReactStore as qn, imperativeAction as qr, getDisabledMountTransitionStyles as qt, DialogClose as r, triggerHover as ri, triggerOpenStateMapping as rn, Label as rr, format as rt, DialogHeader as s, useRegisterFieldControl as si, isGroupedItems as sn, getNextTabbable as sr, boolean as st, Icon as t, siblingOpen as ti, popupStateMapping as tn, useValueAsRef as tr, schemaObject as tt, Tooltip as u, useId$1 as ui, compareItemEquality as un, isOutsideEvent as ur, json$1 as ut, TooltipPortal as v, cn as vi, useListNavigation as vn, isIndexOutOfListBounds as vr, Select as vt, FieldError as w, NOOP as wi, useFloatingRootContext as wn, getTarget as wr, SelectTrigger as wt, Spinner as x, useRenderElement as xi, useHoverFloatingInteraction as xn, isInteractiveElement as xr, SelectGroup as xt, TooltipTrigger$1 as y, cva as yi, useInteractions as yn, isListIndexDisabled as yr, SelectChevron as yt, operandHandle as z, isLastTraversableNode as zi, useFloatingTree as zn, useValueChanged as zr, MODIFIER_KEYS as zt };
27468
+ export { comparePorts as $, require_builtin_esm_external_require_react as $n, none as $r, inertValue as $t, nextNodeName as A, formatErrorMessage as Ai, useTriggerDataForwarding as An, ChevronDown as Ar, ARROW_DOWN as At, operatorsForType as B, FloatingTreeStore as Bn, createChangeEventDetails as Br, VERTICAL_KEYS as Bt, FieldDescription as C, EMPTY_OBJECT as Ci, useSyncedFloatingRootContext as Cn, contains as Cr, SelectSeparator as Ct, FlowChangeError as D, useButton as Di, PopupTriggerMap as Dn, isMac as Dr, IndexGuessBehavior as Dt, FieldLabel as E, useMergedRefs as Ei, popupStoreSelectors as En, isFirefox as Er, Separator as Et, comparisonIssue as F, useRefWithInit as Fi, FloatingNode as Fn, useAnimationsFinished as Fr, COMPOSITE_KEYS as Ft, webhookMethods as G, FocusGuard as Gn, escapeKey as Gr, useAnchoredPopupScrollLock as Gt, unaryOperator as H, CLICK_TRIGGER_IDENTIFIER as Hn, cancelOpen as Hr, isNativeInput as Ht, conditionInputPorts as I, getParentNode as Ii, FloatingTree as In, TransitionStatusDataAttributes as Ir, HOME as It, decisionModel as J, Store as Jn, inputChange as Jr, InternalBackdrop as Jt, webhookSupportsBody as K, addEventListener as Kn, focusOut as Kr, usePositioner as Kt, mapConditionSources as L, isElement as Li, useFloatingNodeId as Ln, transitionStatusMapping as Lr, HORIZONTAL_KEYS as Lt, normalizeNodeName as M, useIsoLayoutEffect as Mi, useDismiss as Mn, createLucideIcon as Mr, ARROW_LEFT as Mt, portsByHandle as N, SafeReact as Ni, useClick as Nn, useTransitionStatus as Nr, ARROW_RIGHT as Nt, applyFlowChanges as O, CompositeRootContext as Oi, useImplicitActiveTrigger as On, ownerDocument as Or, useCompositeListItem as Ot, resourceNameIssue as P, useStableCallback as Pi, FloatingFocusManager as Pn, useOpenChangeComplete as Pr, ARROW_UP as Pt, limitDecisionQuestions as Q, require_with_selector as Qn, listNavigation as Qr, CompositeList as Qt, nodeInputMappings as R, isHTMLElement as Ri, useFloatingParentNodeId as Rn, useOnMount as Rr, HORIZONTAL_KEYS_WITH_EXTRA_KEYS as Rt, Field as S, EMPTY_ARRAY as Si, useFocus as Sn, activeElement as Sr, SelectItem as St, FieldGroup as T, warn as Ti, createInitialPopupStoreState as Tn, isAndroid as Tr, SelectValue as Tt, valueType as U, DROPDOWN_COLLISION_AVOIDANCE as Un, clearPress as Ur, scrollIntoViewIfNeeded as Ut, otherwiseOutput as V, FloatingPortal as Vn, createGenericEventDetails as Vr, VERTICAL_KEYS_WITH_EXTRA_KEYS as Vt, decodeRevisionContent as W, POPUP_COLLISION_AVOIDANCE as Wn, closePress as Wr, useToolbarRootContext as Wt, decisionTask as X, fastComponent as Xn, inputPress as Xr, adaptiveOrigin as Xt, decisionQuestionIssues as Y, useStore as Yn, inputClear as Yr, useAnchorPositioning as Yt, defaultDecisionQuestion as Z, fastComponentRef as Zn, itemPress as Zr, useDirection as Zt, TooltipPositioner as _, buttonVariants as _i, useRole as _n, getMinListIndex as _r, union as _t, DialogDescription as a, useLabelableContext as ai, useOpenInteractionType as an, Timeout as ar, _enum as at, TooltipRoot as b, clsx as bi, useHoverReferenceInteraction as bn, stopEvent as br, SelectContent as bt, DialogTitle as c, useFieldRootContext as ci, stringifyAsLabel as cn, getTabbableAfterElement as cr, discriminatedUnion as ct, TooltipContent as d, DEFAULT_FIELD_STATE_ATTRIBUTES as di, defaultItemEquality as dn, createGridCellMap as dr, lazy$1 as dt, outsidePress as ei, getPseudoElementBounds as en, createSelector as er, matchesSchema as et, TooltipProvider as f, fieldValidityMapping as fi, findItemIndex as fn, findNonDisabledListIndex as fr, literal as ft, TooltipPopup as g, Button as gi, useTypeahead as gn, getMaxListIndex as gr, string as gt, TooltipArrow as h, useControlled as hi, safePolygon as hn, getGridNavigatedIndex as hr, strictObject as ht, DialogContent as i, triggerPress as ii, resolveAriaLabelledBy as in, Input as ir, dequal as it, nodeNameIssue as j, mergeProps$1 as ji, useTriggerRegistration as jn, Check as jr, ARROW_KEYS as jt, isSchemaKeyword as k, useCompositeRootContext as ki, useOpenStateTransitions as kn, useLabelableId as kr, ALL_KEYS as kt, DialogTrigger as l, useBaseUiId as li, stringifyAsValue as ln, getTabbableBeforeElement as lr, int as lt, createTooltipHandle as m, visuallyHiddenInput as mi, selectedValueIncludes as mn, getGridCellIndices as mr, record$1 as mt, Dialog as n, triggerFocus as ni, pressableTriggerOpenStateMapping as nn, useOnFirstRender as nr, variableInputCompatible as nt, DialogFooter as o, useFormContext as oi, hasNullItemLabel as on, useTimeout as or, array as ot, TooltipTrigger as p, visuallyHidden as pi, removeItem as pn, getGridCellIndexOfCorner as pr, number as pt, decisionLimits as q, ReactStore as qn, imperativeAction as qr, getDisabledMountTransitionStyles as qt, DialogClose as r, triggerHover as ri, triggerOpenStateMapping as rn, Label as rr, format as rt, DialogHeader as s, useRegisterFieldControl as si, isGroupedItems as sn, getNextTabbable as sr, boolean as st, Icon as t, siblingOpen as ti, popupStateMapping as tn, useValueAsRef as tr, schemaObject as tt, Tooltip as u, useId$1 as ui, compareItemEquality as un, isOutsideEvent as ur, json$1 as ut, TooltipPortal as v, cn as vi, useListNavigation as vn, isIndexOutOfListBounds as vr, Select as vt, FieldError as w, NOOP as wi, useFloatingRootContext as wn, getTarget as wr, SelectTrigger as wt, Spinner as x, useRenderElement as xi, useHoverFloatingInteraction as xn, isInteractiveElement as xr, SelectGroup as xt, TooltipTrigger$1 as y, cva as yi, useInteractions as yn, isListIndexDisabled as yr, SelectChevron as yt, operandHandle as z, isLastTraversableNode as zi, useFloatingTree as zn, useValueChanged as zr, MODIFIER_KEYS as zt };