@uipath/maestro-builder-sdk 6.31.1 → 6.31.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/api-index.md CHANGED
@@ -57,13 +57,13 @@ could hand you spans for a version you do not have.
57
57
  | `apiWorkflow` | function | `dist/core/actions.d.ts:1658-1692` | Actions | Invoke a deployed API workflow — a coded workflow published to Orchestrator, run as a serverless job rather than by a… |
58
58
  | `ApiWorkflowInputs` | interface | `dist/core/actions.d.ts:411-442` | Option shapes | 5 field(s) |
59
59
  | `AppRef` | interface | `dist/nodes/hitl/flow/spec.d.ts:140-185` | Supporting types | A deployed Action App that supplies a human task's form — the `'action-app'` variant's subject. |
60
- | `ArmBuilder` | class | `dist/flow-sdk.d.ts:1231-1254` | Builders | The sub-builder an ARM callback receives — a `StepList` that can also name itself with `.label(...)`. |
60
+ | `ArmBuilder` | class | `dist/flow-sdk.d.ts:1235-1258` | Builders | The sub-builder an ARM callback receives — a `StepList` that can also name itself with `.label(...)`. |
61
61
  | `AskedField` | interface | `dist/core/actions.d.ts:79-89` | Supporting types | A value the reviewer FILLS IN: read downstream with `out('<step>', '<id>')`. |
62
62
  | `batchTransform` | function | `dist/nodes/ai-patterns/flow/factories.d.ts:49-83` | Actions | Add AI-generated columns to a CSV — the platform's **Batch transform** node, `uipath.pattern.batch-transform` (service… |
63
63
  | `BatchTransformInputs` | interface | `dist/nodes/ai-patterns/flow/spec.d.ts:48-63` | Option shapes | 4 field(s) |
64
64
  | `BindingContribution` | interface | `dist/core/node-classes.d.ts:80-101` | Supporting types | A resource binding a contribution hoists to the flow's top-level `bindings` array — the shape the `.flow` format… |
65
- | `BuiltEntryPoint` | interface | `dist/flow-sdk.d.ts:720-732` | Supporting types | One additional flow root, built by `.entryPoint()`. |
66
- | `BuiltFlow` | interface | `dist/flow-sdk.d.ts:733-780` | Supporting types | 17 field(s) |
65
+ | `BuiltEntryPoint` | interface | `dist/flow-sdk.d.ts:724-736` | Supporting types | One additional flow root, built by `.entryPoint()`. |
66
+ | `BuiltFlow` | interface | `dist/flow-sdk.d.ts:737-784` | Supporting types | 17 field(s) |
67
67
  | `BuiltinToolName` | type | `dist/core/actions.d.ts:1066-1067` | Supporting types | The three platform-shipped built-in tools (fixed registry types). |
68
68
  | `BuiltinToolRef` | interface | `dist/core/actions.d.ts:1199-1219` | Supporting types | A platform built-in tool. |
69
69
  | `BuiltInValidatorGuardrail` | interface | `dist/core/actions.d.ts:762-803` | Supporting types | A platform-shipped validator, configured by parameters. |
@@ -111,10 +111,10 @@ could hand you spans for a version you do not have.
111
111
  | `documentClassify` | function | `dist/nodes/document/flow/factories.d.ts:8-16` | Actions | Classify a document into a document type (`uipath.document.classify`). |
112
112
  | `DocumentClassifyInputs` | interface | `dist/nodes/document/flow/spec.d.ts:9-18` | Option shapes | 4 field(s) |
113
113
  | `DocValidationInputs` | interface | `dist/nodes/hitl/flow/spec.d.ts:70-93` | Option shapes | The Document Validation task's subject — `variant: 'document-validation'` only. |
114
- | `DoWhileOptions` | interface | `dist/flow-sdk.d.ts:499-508` | Option shapes | Do-while options. |
114
+ | `DoWhileOptions` | interface | `dist/flow-sdk.d.ts:503-512` | Option shapes | Do-while options. |
115
115
  | `dynamicExtract` | function | `dist/nodes/document/flow/factories.d.ts:17-27` | Actions | Extract fields from a document with an INLINE schema — Dynamic Extract (`uipath.ixp.extract-document-builder`), the… |
116
116
  | `DynamicExtractInputs` | interface | `dist/nodes/document/flow/spec.d.ts:19-53` | Option shapes | 5 field(s) |
117
- | `EdgeRoute` | interface | `dist/flow-sdk.d.ts:644-658` | Supporting types | One edge's route: user-dragged bends and/or the auto-router's waypoints. |
117
+ | `EdgeRoute` | interface | `dist/flow-sdk.d.ts:648-662` | Supporting types | One edge's route: user-dragged bends and/or the auto-router's waypoints. |
118
118
  | `endCall` | function | `dist/core/actions.d.ts:1735-1742` | Actions | Hang up (`uipath.conversational.voice.end-call`). |
119
119
  | `EndCallInputs` | interface | `dist/core/actions.d.ts:189-196` | Option shapes | 1 field(s) |
120
120
  | `entryInput` | function | `dist/core/expr.d.ts:62-72` | Expressions and types | Reference an ENTRY POINT's scoped input: `entryInput('nightly', 'batchDate')` reads `$vars.nightly.output.batchDate` —… |
@@ -128,12 +128,12 @@ could hand you spans for a version you do not have.
128
128
  | `FilterCondition` | type | `dist/nodes/transform/flow/spec.d.ts:10-11` | Supporting types | Comparison a filter rule applies to a field. |
129
129
  | `FilterMatch` | type | `dist/nodes/transform/flow/spec.d.ts:8-9` | Supporting types | How a filter combines its rules: every rule must match, or any one. |
130
130
  | `FilterRule` | interface | `dist/nodes/transform/flow/spec.d.ts:12-24` | Supporting types | 3 field(s) |
131
- | `flow` | function | `dist/flow-sdk.d.ts:1619-1634` | Flow construction | Start building a flow with the given id. |
131
+ | `flow` | function | `dist/flow-sdk.d.ts:1623-1638` | Flow construction | Start building a flow with the given id. |
132
132
  | `FlowAction` | class | `dist/core/node-classes.d.ts:162-168` | Supporting types | A node placed as a step — pass an instance to `.step(name, …)`. |
133
133
  | `FlowActionSpec` | type | `dist/flow-sdk.d.ts:53-54` | Supporting types | What `.step()` accepts here: the shared actions plus this SDK's subflow. |
134
134
  | `FlowActionSpecs` | interface | `dist/core/actions.d.ts:1443-1520` | Supporting types | Every action kind, keyed by kind, to the body of its spec — the arm's fields other than `kind`. |
135
- | `FlowBuilder` | class | `dist/flow-sdk.d.ts:1255-1618` | Builders | 15 member(s) |
136
- | `FlowLayout` | interface | `dist/flow-sdk.d.ts:706-719` | Supporting types | Designer layout for a flow, keyed by AUTHOR-level ids: node entries by step name (plus the trigger id and `end`), edge… |
135
+ | `FlowBuilder` | class | `dist/flow-sdk.d.ts:1259-1622` | Builders | 15 member(s) |
136
+ | `FlowLayout` | interface | `dist/flow-sdk.d.ts:710-723` | Supporting types | Designer layout for a flow, keyed by AUTHOR-level ids: node entries by step name (plus the trigger id and `end`), edge… |
137
137
  | `FlowNode` | class | `dist/core/node-classes.d.ts:126-161` | Supporting types | The abstract root of every definition-backed node the builder can place. |
138
138
  | `FlowResource` | class | `dist/core/node-classes.d.ts:176-183` | Supporting types | A node attached to another semantic node — an inline agent's tool, context, memory, or escalation. |
139
139
  | `FlowTrigger` | class | `dist/core/node-classes.d.ts:169-175` | Supporting types | A node that starts the flow — pass an instance to `.trigger(…)`. |
@@ -181,12 +181,12 @@ could hand you spans for a version you do not have.
181
181
  | `lookupSpecOf` | function | `dist/core/lookups.d.ts:199-206` | Generated descriptors | The LookupSpec for one field, or `undefined` when it earns no helper. |
182
182
  | `LookupStrategy` | type | `dist/core/lookups.d.ts:1-10` | Generated descriptors | How `prepare` should retrieve the collection, chosen from the metadata. |
183
183
  | `LookupToken` | interface | `dist/core/lookups.d.ts:37-52` | Generated descriptors | An unresolved lookup: what `.byEmail(…)` returns. |
184
- | `LoopOptions` | interface | `dist/flow-sdk.d.ts:478-498` | Option shapes | Loop-specific options. |
184
+ | `LoopOptions` | interface | `dist/flow-sdk.d.ts:478-502` | Option shapes | Loop-specific options. |
185
185
  | `manual` | function | `dist/flow-sdk.d.ts:181-190` | Flow construction | The manual trigger, explicitly. |
186
186
  | `McpToolRef` | interface | `dist/core/actions.d.ts:1078-1106` | Supporting types | An MCP server the agent may call tools on. |
187
187
  | `mock` | function | `dist/nodes/mock/flow/factories.d.ts:6-45` | Actions | Declare a PLACEHOLDER step — "a real node goes here later". |
188
188
  | `NodeContribution` | interface | `dist/core/node-classes.d.ts:102-125` | Supporting types | One validated construct, returned by FlowNode.contribute. |
189
- | `NodeLayout` | interface | `dist/flow-sdk.d.ts:629-643` | Supporting types | One node's designer layout: canvas position, and optionally size and collapsed state. |
189
+ | `NodeLayout` | interface | `dist/flow-sdk.d.ts:633-647` | Supporting types | One node's designer layout: canvas position, and optionally size and collapsed state. |
190
190
  | `NodeOptions` | interface | `dist/flow-sdk.d.ts:391-444` | Option shapes | Options shared by every builder method that creates a definition-backed node: `version` selects the exact node… |
191
191
  | `onEvent` | function | `dist/flow-sdk.d.ts:191-229` | Flow construction | Start the flow when a connector event fires — e.g. an email arriving in a mailbox folder. |
192
192
  | `onEvent` | function | `dist/flow-sdk.d.ts:230-237` | Flow construction | Stringly form, for an event with no prepared module. |
@@ -224,12 +224,12 @@ could hand you spans for a version you do not have.
224
224
  | `sendMessage` | function | `dist/nodes/conversation/flow/factories.d.ts:8-26` | Actions | Post an assistant message into a live conversation (`uipath.conversational.send-message`). |
225
225
  | `SendMessageInputs` | interface | `dist/nodes/conversation/flow/spec.d.ts:8-27` | Option shapes | 4 field(s) |
226
226
  | `ShownField` | interface | `dist/core/actions.d.ts:63-78` | Supporting types | A value the reviewer READS: shown on the form, filled in from the flow. |
227
- | `Step` | type | `dist/flow-sdk.d.ts:509-628` | Supporting types | |
228
- | `StepList` | class | `dist/flow-sdk.d.ts:781-1230` | Builders | Collects a sequence of steps. |
229
- | `STICKY_NOTE_COLORS` | const | `dist/flow-sdk.d.ts:659-664` | Flow construction | The designer's sticky-note palette. |
230
- | `StickyNote` | interface | `dist/flow-sdk.d.ts:671-705` | Supporting types | A canvas sticky note — free text pinned to the diagram, for the humans reading it. |
231
- | `StickyNoteColor` | type | `dist/flow-sdk.d.ts:665-670` | Supporting types | A sticky note's swatch. |
232
- | `subflow` | function | `dist/flow-sdk.d.ts:1635-1674` | Flow construction | Run another flow as one step, and read back what it returns. |
227
+ | `Step` | type | `dist/flow-sdk.d.ts:513-632` | Supporting types | |
228
+ | `StepList` | class | `dist/flow-sdk.d.ts:785-1234` | Builders | Collects a sequence of steps. |
229
+ | `STICKY_NOTE_COLORS` | const | `dist/flow-sdk.d.ts:663-668` | Flow construction | The designer's sticky-note palette. |
230
+ | `StickyNote` | interface | `dist/flow-sdk.d.ts:675-709` | Supporting types | A canvas sticky note — free text pinned to the diagram, for the humans reading it. |
231
+ | `StickyNoteColor` | type | `dist/flow-sdk.d.ts:669-674` | Supporting types | A sticky note's swatch. |
232
+ | `subflow` | function | `dist/flow-sdk.d.ts:1639-1678` | Flow construction | Run another flow as one step, and read back what it returns. |
233
233
  | `SubflowSpec` | interface | `dist/flow-sdk.d.ts:45-52` | Supporting types | A step that runs a child flow. |
234
234
  | `summarize` | function | `dist/nodes/ai-patterns/flow/factories.d.ts:8-48` | Actions | Summarize a document with citations — the platform's **Summarize** node. |
235
235
  | `SummarizeInputs` | interface | `dist/nodes/ai-patterns/flow/spec.d.ts:8-40` | Option shapes | 3 field(s) |
@@ -66,7 +66,7 @@ not find it either.
66
66
  | `app` | property | `HumanTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:1337-1338` |
67
67
  | `appSystemName` | property | `AppRef` | `dist/nodes/hitl/flow/spec.d.ts:170-175` |
68
68
  | `appVersion` | property | `HumanTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:1339-1340` |
69
- | `armLabel` | property | `ArmBuilder` | `dist/flow-sdk.d.ts:1243` |
69
+ | `armLabel` | property | `ArmBuilder` | `dist/flow-sdk.d.ts:1247` |
70
70
  | `assignee` | property | `HitlRecipient` | `dist/nodes/hitl/flow/spec.d.ts:52-63` |
71
71
  | `async` | property | `OrchestratorAsyncOpts` | `dist/bpmn/bpmn-sdk.d.ts:1281-1285` |
72
72
  | `atRiskPercentage` | property | `EscalationOpts` | `dist/case/case-sdk.d.ts:132-137` |
@@ -97,14 +97,14 @@ not find it either.
97
97
  | `body` | property | `TypedContextRow` | `dist/bpmn/typed-node.d.ts:176-181` |
98
98
  | `body` | property | `TypedInputRow` | `dist/bpmn/typed-node.d.ts:207-208` |
99
99
  | `boundaryEvent` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2239-2246` |
100
- | `branch` | method | `StepList` | `dist/flow-sdk.d.ts:980-998` |
100
+ | `branch` | method | `StepList` | `dist/flow-sdk.d.ts:984-1002` |
101
101
  | `branches` | property | `HttpInputsBase` | `dist/nodes/http/flow/spec.d.ts:25-30` |
102
- | `break` | method | `StepList` | `dist/flow-sdk.d.ts:1115-1124` |
103
- | `breakEnabled` | property | `DoWhileOptions` | `dist/flow-sdk.d.ts:506-507` |
104
- | `breakEnabled` | property | `LoopOptions` | `dist/flow-sdk.d.ts:493-497` |
102
+ | `break` | method | `StepList` | `dist/flow-sdk.d.ts:1119-1128` |
103
+ | `breakEnabled` | property | `DoWhileOptions` | `dist/flow-sdk.d.ts:510-511` |
104
+ | `breakEnabled` | property | `LoopOptions` | `dist/flow-sdk.d.ts:497-501` |
105
105
  | `build` | method | `BpmnBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3483-3488` |
106
106
  | `build` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1269-1274` |
107
- | `build` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1611-1617` |
107
+ | `build` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1615-1621` |
108
108
  | `businessRule` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2527-2573` |
109
109
  | `by` | property | `LookupResolution` | `dist/core/lookups.d.ts:164` |
110
110
  | `by` | property | `LookupSpec` | `dist/core/lookups.d.ts:27-28` |
@@ -126,13 +126,13 @@ not find it either.
126
126
  | `code` | property | `ErrorDecl` | `dist/bpmn/bpmn-sdk.d.ts:439-440` |
127
127
  | `code` | property | `ErrorMappingRow` | `dist/bpmn/bpmn-sdk.d.ts:299-307` |
128
128
  | `code` | property | `ScriptInputs` | `dist/nodes/script/flow/spec.d.ts:8-9` |
129
- | `collapsed` | property | `NodeLayout` | `dist/flow-sdk.d.ts:641-642` |
129
+ | `collapsed` | property | `NodeLayout` | `dist/flow-sdk.d.ts:645-646` |
130
130
  | `collection` | property | `LoopSpec` | `dist/bpmn/bpmn-sdk.d.ts:79-80` |
131
131
  | `collection` | property | `TransformInputs` | `dist/nodes/transform/flow/spec.d.ts:85-95` |
132
- | `color` | property | `StickyNote` | `dist/flow-sdk.d.ts:695-696` |
132
+ | `color` | property | `StickyNote` | `dist/flow-sdk.d.ts:699-700` |
133
133
  | `completeWhen` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1249-1259` |
134
134
  | `completion` | property | `LoopSpec` | `dist/bpmn/bpmn-sdk.d.ts:85-86` |
135
- | `completionCondition` | property | `LoopOptions` | `dist/flow-sdk.d.ts:488-492` |
135
+ | `completionCondition` | property | `LoopOptions` | `dist/flow-sdk.d.ts:492-496` |
136
136
  | `condition` | property | `BpmnFlow` | `dist/bpmn/bpmn-sdk.d.ts:350-351` |
137
137
  | `condition` | property | `ErrorMappingRow` | `dist/bpmn/bpmn-sdk.d.ts:314-320` |
138
138
  | `condition` | property | `FilterRule` | `dist/nodes/transform/flow/spec.d.ts:15` |
@@ -164,7 +164,7 @@ not find it either.
164
164
  | `connectorKey` | property | `HttpOpts` | `dist/bpmn/bpmn-sdk.d.ts:1184-1190` |
165
165
  | `connectorKey` | property | `WaitConnectorPlaceholderSpec` | `dist/case/case-sdk.d.ts:366-367` |
166
166
  | `content` | property | `SendMessageInputs` | `dist/nodes/conversation/flow/spec.d.ts:20-21` |
167
- | `content` | property | `StickyNote` | `dist/flow-sdk.d.ts:693-694` |
167
+ | `content` | property | `StickyNote` | `dist/flow-sdk.d.ts:697-698` |
168
168
  | `contentType` | property | `HttpInputsBase` | `dist/nodes/http/flow/spec.d.ts:36` |
169
169
  | `context` | property | `ActivityNodeOpts` | `dist/bpmn/bpmn-sdk.d.ts:1526-1527` |
170
170
  | `context` | property | `ConversationalAgentSettings` | `dist/core/actions.d.ts:122-123` |
@@ -172,7 +172,7 @@ not find it either.
172
172
  | `context` | property | `RegistryTypeSpec` | `dist/bpmn/typed-node.d.ts:87` |
173
173
  | `contextRows` | property | `ActivityNodeOpts` | `dist/bpmn/bpmn-sdk.d.ts:1528-1535` |
174
174
  | `contextVerbatim` | property | `ActivityNodeOpts` | `dist/bpmn/bpmn-sdk.d.ts:1600-1605` |
175
- | `continue` | method | `StepList` | `dist/flow-sdk.d.ts:1125-1139` |
175
+ | `continue` | method | `StepList` | `dist/flow-sdk.d.ts:1129-1143` |
176
176
  | `contribute` | method | `FlowNode` | `dist/core/node-classes.d.ts:144-153` |
177
177
  | `conversationalAgent` | property | `FlowActionSpecs` | `dist/core/actions.d.ts:1479-1482` |
178
178
  | `conversationContext` | property | `FlowActionSpecs` | `dist/nodes/conversation/flow/spec.d.ts:55-58` |
@@ -207,13 +207,13 @@ not find it either.
207
207
  | `defaultOf` | property | `PendingExit` | `dist/bpmn/bpmn-sdk.d.ts:1924-1925` |
208
208
  | `deferDate` | property | `QueueItemInputs` | `dist/nodes/queue/flow/spec.d.ts:48-49` |
209
209
  | `definition` | property | `NodeContribution` | `dist/core/node-classes.d.ts:111-112` |
210
- | `definitions` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:759-764` |
211
- | `definitions` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1472-1512` |
210
+ | `definitions` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:763-768` |
211
+ | `definitions` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1476-1516` |
212
212
  | `delay` | property | `FlowActionSpecs` | `dist/nodes/delay/flow/spec.d.ts:38-41` |
213
213
  | `dependsOn` | property | `LookupSpec` | `dist/core/lookups.d.ts:34-35` |
214
214
  | `description` | property | `AgentMemoryRef` | `dist/core/actions.d.ts:1187` |
215
215
  | `description` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:633` |
216
- | `description` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:736-737` |
216
+ | `description` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:740-741` |
217
217
  | `description` | property | `BuiltinToolRef` | `dist/core/actions.d.ts:1207-1208` |
218
218
  | `description` | property | `BuiltInValidatorGuardrail` | `dist/core/actions.d.ts:768` |
219
219
  | `description` | property | `BuiltStage` | `dist/case/case-sdk.d.ts:525` |
@@ -225,7 +225,7 @@ not find it either.
225
225
  | `description` | property | `CustomGuardrail` | `dist/core/actions.d.ts:755` |
226
226
  | `description` | property | `EscalationRef` | `dist/core/actions.d.ts:1349-1350` |
227
227
  | `description` | property | `EventTriggerOpts` | `dist/case/case-sdk.d.ts:241` |
228
- | `description` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1281-1288` |
228
+ | `description` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1285-1292` |
229
229
  | `description` | property | `HttpRequestToolRef` | `dist/core/actions.d.ts:1154` |
230
230
  | `description` | property | `IxpExtractInputs` | `dist/core/actions.d.ts:337-344` |
231
231
  | `description` | property | `IxpToolRef` | `dist/core/actions.d.ts:1327-1328` |
@@ -267,12 +267,12 @@ not find it either.
267
267
  | `document` | property | `HitlInputs` | `dist/nodes/hitl/flow/spec.d.ts:285-289` |
268
268
  | `documentClassify` | property | `FlowActionSpecs` | `dist/nodes/document/flow/spec.d.ts:56-59` |
269
269
  | `documentId` | property | `DocValidationInputs` | `dist/nodes/hitl/flow/spec.d.ts:84-85` |
270
- | `doWhile` | method | `StepList` | `dist/flow-sdk.d.ts:1090-1114` |
270
+ | `doWhile` | method | `StepList` | `dist/flow-sdk.d.ts:1094-1118` |
271
271
  | `dueDate` | property | `QueueItemInputs` | `dist/nodes/queue/flow/spec.d.ts:50-51` |
272
272
  | `duration` | property | `TimerSpec` | `dist/bpmn/bpmn-sdk.d.ts:33-34` |
273
273
  | `dynamicExtract` | property | `FlowActionSpecs` | `dist/nodes/document/flow/spec.d.ts:60-63` |
274
274
  | `dynamicFewShotLearning` | property | `AgentMemoryRef` | `dist/core/actions.d.ts:1190-1191` |
275
- | `edges` | property | `FlowLayout` | `dist/flow-sdk.d.ts:717-718` |
275
+ | `edges` | property | `FlowLayout` | `dist/flow-sdk.d.ts:721-722` |
276
276
  | `element` | property | `PlainTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:1619-1620` |
277
277
  | `element` | property | `RegistryTypeSpec` | `dist/bpmn/typed-node.d.ts:80-81` |
278
278
  | `elementId` | property | `BpmnVarDecl` | `dist/bpmn/bpmn-sdk.d.ts:378-385` |
@@ -291,12 +291,12 @@ not find it either.
291
291
  | `entity` | property | `DataServiceOpts` | `dist/bpmn/bpmn-sdk.d.ts:1090-1091` |
292
292
  | `entry` | property | `BuiltStage` | `dist/case/case-sdk.d.ts:528` |
293
293
  | `entry` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:520` |
294
- | `entryPoint` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1347-1397` |
294
+ | `entryPoint` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1351-1401` |
295
295
  | `entryPointId` | property | `ProcessMetadata` | `dist/bpmn/bpmn-sdk.d.ts:534-539` |
296
- | `entryPoints` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:765-766` |
296
+ | `entryPoints` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:769-770` |
297
297
  | `entryWhen` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1004-1011` |
298
298
  | `entryWhen` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:947-956` |
299
- | `err` | method | `StepList` | `dist/flow-sdk.d.ts:789-814` |
299
+ | `err` | method | `StepList` | `dist/flow-sdk.d.ts:793-818` |
300
300
  | `error` | property | `BoundaryOpts` | `dist/bpmn/bpmn-sdk.d.ts:750-754` |
301
301
  | `error` | property | `EndOpts` | `dist/bpmn/bpmn-sdk.d.ts:696-706` |
302
302
  | `error` | property | `EventSubProcessOpts` | `dist/bpmn/bpmn-sdk.d.ts:1842-1847` |
@@ -417,7 +417,7 @@ not find it either.
417
417
  | `headers` | property | `HttpOpts` | `dist/bpmn/bpmn-sdk.d.ts:1138-1139` |
418
418
  | `headers` | property | `HttpRequestToolRef` | `dist/core/actions.d.ts:1159-1163` |
419
419
  | `height` | property | `CaseNodeLayout` | `dist/case/case-sdk.d.ts:606-607` |
420
- | `height` | property | `StickyNote` | `dist/flow-sdk.d.ts:703-704` |
420
+ | `height` | property | `StickyNote` | `dist/flow-sdk.d.ts:707-708` |
421
421
  | `hidden` | property | `RegistryContextField` | `dist/bpmn/typed-node.d.ts:27` |
422
422
  | `hidden` | property | `RegistryInputField` | `dist/bpmn/typed-node.d.ts:61` |
423
423
  | `hitl` | property | `FlowActionSpecs` | `dist/nodes/hitl/flow/spec.d.ts:293-296` |
@@ -433,8 +433,8 @@ not find it either.
433
433
  | `id` | property | `BpmnVarDecl` | `dist/bpmn/bpmn-sdk.d.ts:368-369` |
434
434
  | `id` | property | `BuiltBpmn` | `dist/bpmn/bpmn-sdk.d.ts:491-492` |
435
435
  | `id` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:624` |
436
- | `id` | property | `BuiltEntryPoint` | `dist/flow-sdk.d.ts:722-723` |
437
- | `id` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:734` |
436
+ | `id` | property | `BuiltEntryPoint` | `dist/flow-sdk.d.ts:726-727` |
437
+ | `id` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:738` |
438
438
  | `id` | property | `BuiltInValidatorGuardrail` | `dist/core/actions.d.ts:764-765` |
439
439
  | `id` | property | `CaseAppSection` | `dist/case/case-sdk.d.ts:576-577` |
440
440
  | `id` | property | `ContextIndexRef` | `dist/core/actions.d.ts:1418-1423` |
@@ -449,7 +449,7 @@ not find it either.
449
449
  | `id` | property | `PinnedFlowId` | `dist/bpmn/bpmn-sdk.d.ts:1630-1631` |
450
450
  | `id` | property | `SchemaEntry` | `dist/bpmn/bpmn-sdk.d.ts:1001-1002` |
451
451
  | `id` | property | `ShownField` | `dist/core/actions.d.ts:65-66` |
452
- | `id` | property | `StickyNote` | `dist/flow-sdk.d.ts:683-692` |
452
+ | `id` | property | `StickyNote` | `dist/flow-sdk.d.ts:687-696` |
453
453
  | `id` | property | `SwitchArm` | `dist/flow-sdk.d.ts:369-375` |
454
454
  | `id` | property | `VarEntry` | `dist/bpmn/bpmn-sdk.d.ts:992-993` |
455
455
  | `identifier` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:634` |
@@ -461,7 +461,7 @@ not find it either.
461
461
  | `inclusiveGateway` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2266-2273` |
462
462
  | `inlineAgent` | property | `FlowActionSpecs` | `dist/core/actions.d.ts:1491-1494` |
463
463
  | `input` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1160-1185` |
464
- | `input` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1552-1564` |
464
+ | `input` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1556-1568` |
465
465
  | `input` | property | `HumanTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:1355-1356` |
466
466
  | `input` | property | `OrchestratorOpts` | `dist/bpmn/bpmn-sdk.d.ts:1241-1242` |
467
467
  | `input` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3068-3076` |
@@ -474,8 +474,8 @@ not find it either.
474
474
  | `inputs` | property | `AgentInputs` | `dist/core/actions.d.ts:623-640` |
475
475
  | `inputs` | property | `ApiWorkflowInputs` | `dist/core/actions.d.ts:424-428` |
476
476
  | `inputs` | property | `AppRef` | `dist/nodes/hitl/flow/spec.d.ts:176-184` |
477
- | `inputs` | property | `BuiltEntryPoint` | `dist/flow-sdk.d.ts:728-729` |
478
- | `inputs` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:746` |
477
+ | `inputs` | property | `BuiltEntryPoint` | `dist/flow-sdk.d.ts:732-733` |
478
+ | `inputs` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:750` |
479
479
  | `inputs` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:516-517` |
480
480
  | `inputs` | property | `ClientSideToolRef` | `dist/core/actions.d.ts:1139-1140` |
481
481
  | `inputs` | property | `ExternalTaskOptions` | `dist/case/case-sdk.d.ts:399-400` |
@@ -534,7 +534,7 @@ not find it either.
534
534
  | `kind` | property | `SubflowSpec` | `dist/flow-sdk.d.ts:47` |
535
535
  | `kind` | property | `WhenExpression` | `dist/case/case-sdk.d.ts:99-100` |
536
536
  | `kValue` | property | `AgentMemoryRef` | `dist/core/actions.d.ts:1194-1195` |
537
- | `label` | method | `ArmBuilder` | `dist/flow-sdk.d.ts:1244-1253` |
537
+ | `label` | method | `ArmBuilder` | `dist/flow-sdk.d.ts:1248-1257` |
538
538
  | `label` | property | `AskedField` | `dist/core/actions.d.ts:83-84` |
539
539
  | `label` | property | `BuiltStage` | `dist/case/case-sdk.d.ts:523` |
540
540
  | `label` | property | `InOutField` | `dist/core/actions.d.ts:99-100` |
@@ -546,12 +546,12 @@ not find it either.
546
546
  | `labels` | property | `HitlInputs` | `dist/nodes/hitl/flow/spec.d.ts:228-229` |
547
547
  | `lanes` | property | `BuiltStage` | `dist/case/case-sdk.d.ts:527` |
548
548
  | `layout` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:646-647` |
549
- | `layout` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:755-756` |
549
+ | `layout` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:759-760` |
550
550
  | `layout` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1139-1159` |
551
- | `layout` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1289-1299` |
551
+ | `layout` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1293-1303` |
552
552
  | `legacyCompleted` | property | `HitlInputs` | `dist/nodes/hitl/flow/spec.d.ts:252-284` |
553
553
  | `limit` | property | `DataFabricReadInputs` | `dist/nodes/data-fabric/flow/spec.d.ts:95-100` |
554
- | `limit` | property | `DoWhileOptions` | `dist/flow-sdk.d.ts:504-505` |
554
+ | `limit` | property | `DoWhileOptions` | `dist/flow-sdk.d.ts:508-509` |
555
555
  | `literal` | property | `Expr` | `dist/core/expr.d.ts:18` |
556
556
  | `location` | property | `AgenticProcessInputsBase` | `dist/core/actions.d.ts:493-503` |
557
557
  | `location` | property | `AgentInputs` | `dist/core/actions.d.ts:599-604` |
@@ -559,7 +559,7 @@ not find it either.
559
559
  | `lookups` | property | `ConnectorMeta` | `dist/core/connectors.d.ts:76-87` |
560
560
  | `loop` | property | `ActivityNodeFields` | `dist/bpmn/bpmn-sdk.d.ts:335-336` |
561
561
  | `loop` | property | `ActivityOpts` | `dist/bpmn/bpmn-sdk.d.ts:832-833` |
562
- | `loop` | method | `StepList` | `dist/flow-sdk.d.ts:1078-1089` |
562
+ | `loop` | method | `StepList` | `dist/flow-sdk.d.ts:1082-1093` |
563
563
  | `managed` | property | `HttpInputsBase` | `dist/nodes/http/flow/spec.d.ts:37-67` |
564
564
  | `marksCaseComplete` | property | `BuiltCaseExitCondition` | `dist/case/case-sdk.d.ts:354` |
565
565
  | `marksStageComplete` | property | `BuiltExitCondition` | `dist/case/case-sdk.d.ts:321` |
@@ -628,7 +628,7 @@ not find it either.
628
628
  | `name` | property | `BpmnVarDecl` | `dist/bpmn/bpmn-sdk.d.ts:370-371` |
629
629
  | `name` | property | `BuiltBpmn` | `dist/bpmn/bpmn-sdk.d.ts:493-494` |
630
630
  | `name` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:625` |
631
- | `name` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:735` |
631
+ | `name` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:739` |
632
632
  | `name` | property | `BuiltInValidatorGuardrail` | `dist/core/actions.d.ts:767` |
633
633
  | `name` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:501-502` |
634
634
  | `name` | property | `BuiltTrigger` | `dist/case/case-sdk.d.ts:198-199` |
@@ -648,7 +648,7 @@ not find it either.
648
648
  | `name` | property | `EventSubProcessOpts` | `dist/bpmn/bpmn-sdk.d.ts:1840-1841` |
649
649
  | `name` | property | `EventTriggerOpts` | `dist/case/case-sdk.d.ts:240` |
650
650
  | `name` | property | `ExternalTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:1499-1500` |
651
- | `name` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1273-1280` |
651
+ | `name` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1277-1284` |
652
652
  | `name` | property | `FlowOpts` | `dist/bpmn/bpmn-sdk.d.ts:1637-1638` |
653
653
  | `name` | property | `GatewayOpts` | `dist/bpmn/bpmn-sdk.d.ts:760-761` |
654
654
  | `name` | property | `HandlerOpts` | `dist/bpmn/bpmn-sdk.d.ts:1735-1736` |
@@ -693,7 +693,7 @@ not find it either.
693
693
  | `name` | property | `VarDecl` | `dist/flow-sdk.d.ts:60` |
694
694
  | `name` | property | `VarOpts` | `dist/bpmn/bpmn-sdk.d.ts:1644-1645` |
695
695
  | `nodes` | property | `BuiltBpmn` | `dist/bpmn/bpmn-sdk.d.ts:503-504` |
696
- | `nodes` | property | `FlowLayout` | `dist/flow-sdk.d.ts:715-716` |
696
+ | `nodes` | property | `FlowLayout` | `dist/flow-sdk.d.ts:719-720` |
697
697
  | `nodes` | property | `ScopeStorage` | `dist/bpmn/bpmn-sdk.d.ts:1935-1936` |
698
698
  | `nodeType` | property | `ConnectorMeta` | `dist/core/connectors.d.ts:62` |
699
699
  | `nodeType` | property | `LookupResolution` | `dist/core/lookups.d.ts:162` |
@@ -710,27 +710,27 @@ not find it either.
710
710
  | `onError` | method | `ActivityBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3259-3266` |
711
711
  | `onError` | method | `ActivityBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3267-3274` |
712
712
  | `onError` | method | `ActivityBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3275-3283` |
713
- | `onError` | method | `StepList` | `dist/flow-sdk.d.ts:869-929` |
713
+ | `onError` | method | `StepList` | `dist/flow-sdk.d.ts:873-933` |
714
714
  | `onMessage` | method | `ActivityBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3302-3310` |
715
715
  | `onMessage` | method | `ActivityBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3311-3319` |
716
716
  | `onTimer` | method | `ActivityBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3284-3292` |
717
717
  | `onTimer` | method | `ActivityBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3293-3301` |
718
- | `openTails` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:774-779` |
719
- | `openTails` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1513-1551` |
718
+ | `openTails` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:778-783` |
719
+ | `openTails` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1517-1555` |
720
720
  | `operation` | property | `Aggregation` | `dist/nodes/transform/flow/spec.d.ts:37` |
721
721
  | `operation` | property | `ConnectorToolRef` | `dist/core/actions.d.ts:1230-1231` |
722
722
  | `operation` | property | `WaitConnectorPlaceholderSpec` | `dist/case/case-sdk.d.ts:368-369` |
723
723
  | `operations` | property | `TransformInputs` | `dist/nodes/transform/flow/spec.d.ts:106-107` |
724
724
  | `operator` | property | `DataFabricFilter` | `dist/nodes/data-fabric/flow/spec.d.ts:29-30` |
725
725
  | `options` | property | `ActionField` | `dist/case/case-sdk.d.ts:445-449` |
726
- | `options` | property | `BuiltEntryPoint` | `dist/flow-sdk.d.ts:726-727` |
726
+ | `options` | property | `BuiltEntryPoint` | `dist/flow-sdk.d.ts:730-731` |
727
727
  | `or` | property | `DataFabricFilter` | `dist/nodes/data-fabric/flow/spec.d.ts:38-50` |
728
728
  | `origin` | property | `PendingExit` | `dist/bpmn/bpmn-sdk.d.ts:1926-1931` |
729
729
  | `outcomePorts` | property | `HitlInputs` | `dist/nodes/hitl/flow/spec.d.ts:230-244` |
730
730
  | `outcomes` | property | `EscalationRef` | `dist/core/actions.d.ts:1395-1400` |
731
731
  | `outcomes` | property | `HitlInputs` | `dist/nodes/hitl/flow/spec.d.ts:211-225` |
732
732
  | `output` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1186-1198` |
733
- | `output` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1565-1600` |
733
+ | `output` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1569-1604` |
734
734
  | `output` | property | `RegistryTypeSpec` | `dist/bpmn/typed-node.d.ts:90` |
735
735
  | `output` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3077-3085` |
736
736
  | `outputColumns` | property | `BatchTransformInputs` | `dist/nodes/ai-patterns/flow/spec.d.ts:56-60` |
@@ -739,7 +739,7 @@ not find it either.
739
739
  | `outputRows` | property | `ScriptTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:909-918` |
740
740
  | `outputs` | property | `ActionSpecData` | `dist/case/case-sdk.d.ts:464-465` |
741
741
  | `outputs` | property | `ActivityNodeOpts` | `dist/bpmn/bpmn-sdk.d.ts:1564-1565` |
742
- | `outputs` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:747` |
742
+ | `outputs` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:751` |
743
743
  | `outputs` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:518-519` |
744
744
  | `outputs` | property | `ConnectorEventOpts` | `dist/bpmn/bpmn-sdk.d.ts:1483-1493` |
745
745
  | `outputs` | property | `EventTriggerOpts` | `dist/case/case-sdk.d.ts:248-262` |
@@ -765,8 +765,8 @@ not find it either.
765
765
  | `pageRange` | property | `DocumentClassifyInputs` | `dist/nodes/document/flow/spec.d.ts:12-13` |
766
766
  | `pageRange` | property | `DynamicExtractInputs` | `dist/nodes/document/flow/spec.d.ts:49-50` |
767
767
  | `pageRange` | property | `IxpExtractInputs` | `dist/core/actions.d.ts:326-327` |
768
- | `parallel` | property | `LoopOptions` | `dist/flow-sdk.d.ts:486-487` |
769
- | `parallel` | method | `StepList` | `dist/flow-sdk.d.ts:1042-1077` |
768
+ | `parallel` | property | `LoopOptions` | `dist/flow-sdk.d.ts:490-491` |
769
+ | `parallel` | method | `StepList` | `dist/flow-sdk.d.ts:1046-1081` |
770
770
  | `parallelGateway` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2256-2265` |
771
771
  | `parameters` | property | `ConnectorEventOpts` | `dist/bpmn/bpmn-sdk.d.ts:1479-1480` |
772
772
  | `parameters` | property | `HttpOpts` | `dist/bpmn/bpmn-sdk.d.ts:1140-1145` |
@@ -785,7 +785,7 @@ not find it either.
785
785
  | `pinnedFlowIds` | property | `SugarRegistry` | `dist/bpmn/bpmn-sdk.d.ts:1951-1958` |
786
786
  | `plainTask` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2302-2331` |
787
787
  | `position` | property | `CaseNodeLayout` | `dist/case/case-sdk.d.ts:592-596` |
788
- | `position` | property | `NodeLayout` | `dist/flow-sdk.d.ts:631-635` |
788
+ | `position` | property | `NodeLayout` | `dist/flow-sdk.d.ts:635-639` |
789
789
  | `preservation` | property | `BuiltBpmn` | `dist/bpmn/bpmn-sdk.d.ts:511-512` |
790
790
  | `preserve` | method | `BpmnBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3332-3347` |
791
791
  | `priority` | property | `ActionSpecData` | `dist/case/case-sdk.d.ts:453` |
@@ -865,7 +865,7 @@ not find it either.
865
865
  | `retry` | property | `ActivityOpts` | `dist/bpmn/bpmn-sdk.d.ts:830-831` |
866
866
  | `retryable` | property | `ErrorMappingRow` | `dist/bpmn/bpmn-sdk.d.ts:308-309` |
867
867
  | `retryCount` | property | `HttpInputsBase` | `dist/nodes/http/flow/spec.d.ts:109-123` |
868
- | `return` | method | `StepList` | `dist/flow-sdk.d.ts:1220-1229` |
868
+ | `return` | method | `StepList` | `dist/flow-sdk.d.ts:1224-1233` |
869
869
  | `returnCitations` | property | `SummarizeInputs` | `dist/nodes/ai-patterns/flow/spec.d.ts:34-39` |
870
870
  | `returns` | property | `AgentInputs` | `dist/core/actions.d.ts:641-660` |
871
871
  | `returns` | property | `ApiWorkflowInputs` | `dist/core/actions.d.ts:429-441` |
@@ -881,7 +881,7 @@ not find it either.
881
881
  | `role` | property | `FlowNode` | `dist/core/node-classes.d.ts:142-143` |
882
882
  | `role` | property | `FlowResource` | `dist/core/node-classes.d.ts:181-182` |
883
883
  | `role` | property | `FlowTrigger` | `dist/core/node-classes.d.ts:173-174` |
884
- | `routedWaypoints` | property | `EdgeRoute` | `dist/flow-sdk.d.ts:652-657` |
884
+ | `routedWaypoints` | property | `EdgeRoute` | `dist/flow-sdk.d.ts:656-661` |
885
885
  | `rpa` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:751-760` |
886
886
  | `rpaWorkflow` | property | `FlowActionSpecs` | `dist/core/actions.d.ts:1455-1458` |
887
887
  | `rule` | property | `CaseRule` | `dist/case/case-sdk.d.ts:80` |
@@ -904,9 +904,9 @@ not find it either.
904
904
  | `schemas` | method | `BpmnBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3433-3443` |
905
905
  | `schemas` | property | `BuiltBpmn` | `dist/bpmn/bpmn-sdk.d.ts:509-510` |
906
906
  | `schemaVersion` | method | `BpmnBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3375-3404` |
907
- | `schemaVersion` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:739-745` |
907
+ | `schemaVersion` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:743-749` |
908
908
  | `schemaVersion` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1068-1094` |
909
- | `schemaVersion` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1432-1471` |
909
+ | `schemaVersion` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1436-1475` |
910
910
  | `scope` | property | `EscalationRecipient` | `dist/case/case-sdk.d.ts:121` |
911
911
  | `scopes` | property | `GuardrailSelector` | `dist/core/actions.d.ts:701` |
912
912
  | `script` | property | `FlowActionSpecs` | `dist/nodes/script/flow/spec.d.ts:47-50` |
@@ -932,7 +932,7 @@ not find it either.
932
932
  | `severity` | property | `ContributionDiagnostic` | `dist/core/node-classes.d.ts:31-32` |
933
933
  | `shared` | property | `VarDecl` | `dist/flow-sdk.d.ts:69-70` |
934
934
  | `shared` | property | `VarSpec` | `dist/flow-sdk.d.ts:94-126` |
935
- | `size` | property | `NodeLayout` | `dist/flow-sdk.d.ts:636-640` |
935
+ | `size` | property | `NodeLayout` | `dist/flow-sdk.d.ts:640-644` |
936
936
  | `skip` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:515` |
937
937
  | `skip` | property | `DataFabricReadInputs` | `dist/nodes/data-fabric/flow/spec.d.ts:101-102` |
938
938
  | `skipCondition` | property | `ActivityNodeOpts` | `dist/bpmn/bpmn-sdk.d.ts:1598-1599` |
@@ -978,16 +978,16 @@ not find it either.
978
978
  | `startName` | property | `EventSubProcessOpts` | `dist/bpmn/bpmn-sdk.d.ts:1887-1888` |
979
979
  | `startPayload` | property | `EventSubProcessOpts` | `dist/bpmn/bpmn-sdk.d.ts:1889-1890` |
980
980
  | `startProcess` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2459-2478` |
981
- | `step` | method | `StepList` | `dist/flow-sdk.d.ts:815-825` |
982
- | `steps` | property | `BuiltEntryPoint` | `dist/flow-sdk.d.ts:730-731` |
983
- | `steps` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:749` |
984
- | `steps` | property | `StepList` | `dist/flow-sdk.d.ts:783` |
985
- | `stepSwitch` | method | `StepList` | `dist/flow-sdk.d.ts:826-868` |
986
- | `stepToList` | method | `StepList` | `dist/flow-sdk.d.ts:943-971` |
987
- | `stepToRef` | method | `StepList` | `dist/flow-sdk.d.ts:1171-1199` |
988
- | `stepToRef` | method | `StepList` | `dist/flow-sdk.d.ts:1200-1219` |
989
- | `stickyNotes` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:757-758` |
990
- | `stickyNotes` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1300-1325` |
981
+ | `step` | method | `StepList` | `dist/flow-sdk.d.ts:819-829` |
982
+ | `steps` | property | `BuiltEntryPoint` | `dist/flow-sdk.d.ts:734-735` |
983
+ | `steps` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:753` |
984
+ | `steps` | property | `StepList` | `dist/flow-sdk.d.ts:787` |
985
+ | `stepSwitch` | method | `StepList` | `dist/flow-sdk.d.ts:830-872` |
986
+ | `stepToList` | method | `StepList` | `dist/flow-sdk.d.ts:947-975` |
987
+ | `stepToRef` | method | `StepList` | `dist/flow-sdk.d.ts:1175-1203` |
988
+ | `stepToRef` | method | `StepList` | `dist/flow-sdk.d.ts:1204-1223` |
989
+ | `stickyNotes` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:761-762` |
990
+ | `stickyNotes` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1304-1329` |
991
991
  | `storageBucket` | property | `DocValidationInputs` | `dist/nodes/hitl/flow/spec.d.ts:82-83` |
992
992
  | `strategy` | property | `LookupSpec` | `dist/core/lookups.d.ts:33` |
993
993
  | `style` | property | `CaseNodeLayout` | `dist/case/case-sdk.d.ts:597-598` |
@@ -1000,7 +1000,7 @@ not find it either.
1000
1000
  | `subType` | property | `VarSpec` | `dist/flow-sdk.d.ts:84-85` |
1001
1001
  | `summarize` | property | `FlowActionSpecs` | `dist/nodes/ai-patterns/flow/spec.d.ts:66-69` |
1002
1002
  | `summary` | property | `CaseAppConfig` | `dist/case/case-sdk.d.ts:585-586` |
1003
- | `switch` | method | `StepList` | `dist/flow-sdk.d.ts:999-1041` |
1003
+ | `switch` | method | `StepList` | `dist/flow-sdk.d.ts:1003-1045` |
1004
1004
  | `systemPrompt` | property | `ConversationalAgentInputs` | `dist/core/actions.d.ts:134-139` |
1005
1005
  | `systemPrompt` | property | `InlineAgentInputs` | `dist/core/actions.d.ts:814-863` |
1006
1006
  | `systemPrompt` | property | `VoiceAgentInputs` | `dist/core/actions.d.ts:221-226` |
@@ -1025,7 +1025,7 @@ not find it either.
1025
1025
  | `temperature` | property | `InlineAgentInputs` | `dist/core/actions.d.ts:924-925` |
1026
1026
  | `temperature` | property | `VoiceSettings` | `dist/core/actions.d.ts:213-214` |
1027
1027
  | `terminate` | property | `EndOpts` | `dist/bpmn/bpmn-sdk.d.ts:692-693` |
1028
- | `terminate` | method | `StepList` | `dist/flow-sdk.d.ts:1140-1170` |
1028
+ | `terminate` | method | `StepList` | `dist/flow-sdk.d.ts:1144-1174` |
1029
1029
  | `threshold` | property | `ContextIndexRef` | `dist/core/actions.d.ts:1438-1439` |
1030
1030
  | `timeCycle` | property | `BuiltTrigger` | `dist/case/case-sdk.d.ts:201-202` |
1031
1031
  | `timeout` | property | `HttpInputsBase` | `dist/nodes/http/flow/spec.d.ts:91-108` |
@@ -1045,16 +1045,16 @@ not find it either.
1045
1045
  | `tools` | property | `InlineAgentInputs` | `dist/core/actions.d.ts:1015-1037` |
1046
1046
  | `transform` | property | `FlowActionSpecs` | `dist/nodes/transform/flow/spec.d.ts:111-114` |
1047
1047
  | `transformation` | property | `FieldMapping` | `dist/nodes/transform/flow/spec.d.ts:30-31` |
1048
- | `trigger` | property | `BuiltEntryPoint` | `dist/flow-sdk.d.ts:724-725` |
1049
- | `trigger` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:750-752` |
1048
+ | `trigger` | property | `BuiltEntryPoint` | `dist/flow-sdk.d.ts:728-729` |
1049
+ | `trigger` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:754-756` |
1050
1050
  | `trigger` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1224-1232` |
1051
1051
  | `trigger` | property | `EscalationOpts` | `dist/case/case-sdk.d.ts:128-129` |
1052
- | `trigger` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1326-1346` |
1052
+ | `trigger` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1330-1350` |
1053
1053
  | `trigger` | property | `StartOpts` | `dist/bpmn/bpmn-sdk.d.ts:624-671` |
1054
1054
  | `triggeredByEvent` | property | `SubProcessOpts` | `dist/bpmn/bpmn-sdk.d.ts:976-977` |
1055
- | `triggerId` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:767-773` |
1056
- | `triggerId` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1398-1417` |
1057
- | `triggerOptions` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:753-754` |
1055
+ | `triggerId` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:771-777` |
1056
+ | `triggerId` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1402-1421` |
1057
+ | `triggerOptions` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:757-758` |
1058
1058
  | `triggers` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:644-645` |
1059
1059
  | `triggers` | property | `CaseLayout` | `dist/case/case-sdk.d.ts:620-621` |
1060
1060
  | `type` | property | `ActionField` | `dist/case/case-sdk.d.ts:435-436` |
@@ -1109,7 +1109,7 @@ not find it either.
1109
1109
  | `value` | property | `TypedInputRow` | `dist/bpmn/typed-node.d.ts:205-206` |
1110
1110
  | `values` | property | `DataFabricCreateInputs` | `dist/nodes/data-fabric/flow/spec.d.ts:132-137` |
1111
1111
  | `var` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1199-1223` |
1112
- | `var` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1601-1610` |
1112
+ | `var` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1605-1614` |
1113
1113
  | `var` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3059-3067` |
1114
1114
  | `var` | property | `TaskOutputBinding` | `dist/case/case-sdk.d.ts:494-495` |
1115
1115
  | `var` | property | `TypedOutputRow` | `dist/bpmn/typed-node.d.ts:251-252` |
@@ -1119,12 +1119,12 @@ not find it either.
1119
1119
  | `variant` | property | `HitlInputs` | `dist/nodes/hitl/flow/spec.d.ts:187-191` |
1120
1120
  | `variant` | property | `TransformInputs` | `dist/nodes/transform/flow/spec.d.ts:96-105` |
1121
1121
  | `vars` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:640` |
1122
- | `vars` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:748` |
1122
+ | `vars` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:752` |
1123
1123
  | `vars` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3086-3111` |
1124
1124
  | `vars` | property | `ScopeStorage` | `dist/bpmn/bpmn-sdk.d.ts:1939-1940` |
1125
1125
  | `varSchema` | property | `TypedOutputRow` | `dist/bpmn/typed-node.d.ts:257-271` |
1126
1126
  | `version` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:626-632` |
1127
- | `version` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:738` |
1127
+ | `version` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:742` |
1128
1128
  | `version` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1057-1067` |
1129
1129
  | `version` | property | `ConnectorEventOpts` | `dist/bpmn/bpmn-sdk.d.ts:1435-1436` |
1130
1130
  | `version` | property | `ConnectorMeta` | `dist/core/connectors.d.ts:63` |
@@ -1132,7 +1132,7 @@ not find it either.
1132
1132
  | `version` | property | `ConnectorToolRef` | `dist/core/actions.d.ts:1232-1233` |
1133
1133
  | `version` | property | `EventSubscription` | `dist/core/actions.d.ts:2116` |
1134
1134
  | `version` | property | `ExternalTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:1507-1508` |
1135
- | `version` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1418-1431` |
1135
+ | `version` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1422-1435` |
1136
1136
  | `version` | property | `NodeOptions` | `dist/flow-sdk.d.ts:397-404` |
1137
1137
  | `version` | property | `TriggerMeta` | `dist/core/connectors.d.ts:126` |
1138
1138
  | `version` | property | `TriggerOptions` | `dist/core/actions.d.ts:2073-2074` |
@@ -1149,13 +1149,13 @@ not find it either.
1149
1149
  | `waitForEvent` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2688-2729` |
1150
1150
  | `waitForMessage` | property | `FlowActionSpecs` | `dist/nodes/conversation/flow/spec.d.ts:51-54` |
1151
1151
  | `waitForTimer` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:877-883` |
1152
- | `waypoints` | property | `EdgeRoute` | `dist/flow-sdk.d.ts:646-651` |
1152
+ | `waypoints` | property | `EdgeRoute` | `dist/flow-sdk.d.ts:650-655` |
1153
1153
  | `when` | property | `SlaOpts` | `dist/case/case-sdk.d.ts:176-182` |
1154
1154
  | `when` | property | `SwitchArm` | `dist/flow-sdk.d.ts:362-367` |
1155
1155
  | `where` | property | `EventSubscription` | `dist/core/actions.d.ts:2082-2100` |
1156
1156
  | `where` | property | `TriggerOptions` | `dist/core/actions.d.ts:2035-2052` |
1157
1157
  | `width` | property | `CaseNodeLayout` | `dist/case/case-sdk.d.ts:604-605` |
1158
- | `width` | property | `StickyNote` | `dist/flow-sdk.d.ts:701-702` |
1159
- | `x` | property | `StickyNote` | `dist/flow-sdk.d.ts:697-698` |
1160
- | `y` | property | `StickyNote` | `dist/flow-sdk.d.ts:699-700` |
1158
+ | `width` | property | `StickyNote` | `dist/flow-sdk.d.ts:705-706` |
1159
+ | `x` | property | `StickyNote` | `dist/flow-sdk.d.ts:701-702` |
1160
+ | `y` | property | `StickyNote` | `dist/flow-sdk.d.ts:703-704` |
1161
1161
  | `zIndex` | property | `CaseNodeLayout` | `dist/case/case-sdk.d.ts:608-609` |
package/dist/check.js CHANGED
@@ -31,6 +31,7 @@ import { stepExits } from './flow-step-exits.js';
31
31
  import { plainHttpOnErrorMessage } from './nodes/http/flow/family.js';
32
32
  import { resolveVersion, resolveVersionCarried } from './core/nodes/versioned.js';
33
33
  import { declaredErrorPortRefusal } from './core/error-port.js';
34
+ import { bodyUsesBreak, loopParallelWarning, loopVersionRefusal } from './loop-version.js';
34
35
  export function check(built, opts = {}) {
35
36
  let diags = [];
36
37
  const uses = collectConnectionUses(() => { diags = checkFlow(built, [], opts); });
@@ -655,6 +656,14 @@ function checkFlow(built, ancestors, opts = {}) {
655
656
  checkLoopListEnvelope(s, connectorSteps, opts, diags);
656
657
  if (s.options?.completionCondition)
657
658
  addExpr(s.options.completionCondition.js, s.name);
659
+ // The same refusal serialize throws, from the same helper: an option or
660
+ // a `.break()` the pinned version's definition cannot express (#1186).
661
+ const versionRefusal = loopVersionRefusal(s.name, s.options, bodyUsesBreak(s.body));
662
+ if (versionRefusal)
663
+ diags.push({ level: 'error', code: 'LOOP_VERSION_UNSUPPORTED', step: s.name, message: versionRefusal });
664
+ const parallelWarning = loopParallelWarning(s.name, s.options);
665
+ if (parallelWarning)
666
+ diags.push({ level: 'warning', code: 'LOOP_PARALLEL_LEGACY', step: s.name, message: parallelWarning });
658
667
  loopNames.set(s.name, s.options?.version === '1.0.0' ? LOOP_FIELDS_1_0_0 : LOOP_FIELDS);
659
668
  if (s.body.length === 0)
660
669
  diags.push({ level: 'warning', code: 'EMPTY_LOOP', message: `Loop "${s.name}" has an empty body.`, step: s.name });
@@ -479,8 +479,12 @@ export interface ReturnOptions extends NodeOptions {
479
479
  * Loop-specific options. Every `.loop()` emits the loop's v2.4 definition (the
480
480
  * version the registry serves: inner `start`/`continue`/`break` handles, and a
481
481
  * 1-based `currentIteration` output). The legacy 1.0.0 shape is emitted only for
482
- * an explicit `{ version: '1.0.0' }`, and that combined with any of these options
483
- * fails compilation: that definition cannot express them.
482
+ * an explicit `{ version: '1.0.0' }`. That definition declares `parallel` but no
483
+ * `completionCondition`, no `breakEnabled` and no `break` handle, so either of
484
+ * those options, or a `b.break()` in the body, fails `check` and compilation
485
+ * (`LOOP_VERSION_UNSUPPORTED`). `parallel: true` on 1.0.0 compiles, to round-trip
486
+ * a canvas loop, but `check` warns (`LOOP_PARALLEL_LEGACY`): that version is not
487
+ * confirmed to run iterations in parallel. `b.continue()` works on both versions.
484
488
  */
485
489
  export interface LoopOptions extends NodeOptions {
486
490
  /** Run iterations in parallel instead of sequentially. */
@@ -0,0 +1,41 @@
1
+ import type { LoopOptions, Step } from './flow-sdk.js';
2
+ /** The wire type of `.loop()`. */
3
+ export declare const LOOP_NODE_TYPE = "core.logic.loop";
4
+ /** The `core.logic.loop` version `.loop()` emits unless `{ version }` pins another. */
5
+ export declare const LOOP_DEFAULT_VERSION = "2.4";
6
+ /** The version `.loop()` emits for these options. */
7
+ export declare function loopVersion(options: LoopOptions | undefined): string;
8
+ /**
9
+ * True when this loop version's body runs from the inner `start` handle and goes
10
+ * back through `continue` (2.x); false for the legacy `output`/`loopBack` shape.
11
+ * A version with no bundled definition counts as 2.x; its lookup fails later.
12
+ */
13
+ export declare function loopHasInnerHandles(version: string): boolean;
14
+ /**
15
+ * The features this loop uses that its version's definition cannot express, in
16
+ * a fixed order (`parallel`, `completionCondition`, `breakEnabled`, `break()`).
17
+ * Empty when all are supported, or when no definition is bundled for the version
18
+ * (an unknown version is reported elsewhere, by the definition lookup).
19
+ */
20
+ export declare function unsupportedLoopFeatures(options: LoopOptions | undefined, usesBreak: boolean): string[];
21
+ /**
22
+ * The refusal for a loop whose options or body need a definition the requested
23
+ * version does not have, or `undefined` when there is nothing to refuse.
24
+ * `serialize` throws it; `check` reports it as `LOOP_VERSION_UNSUPPORTED` with
25
+ * the same text, so the author reads one message in both places.
26
+ */
27
+ export declare function loopVersionRefusal(name: string, options: LoopOptions | undefined, usesBreak: boolean): string | undefined;
28
+ /**
29
+ * The warning for `parallel: true` on a 1.0.0 loop, or `undefined`. The 1.0.0
30
+ * definition declares the input, so the loop compiles and a canvas 1.0.0 loop
31
+ * round-trips; whether the 1.0.0 runtime runs its iterations in parallel is not
32
+ * confirmed, so a new loop that needs that should use the default version.
33
+ * `check` reports it as `LOOP_PARALLEL_LEGACY`.
34
+ */
35
+ export declare function loopParallelWarning(name: string, options: LoopOptions | undefined): string | undefined;
36
+ /**
37
+ * True when a container body (or an arm/handler inside it, but not a NESTED
38
+ * container's body) breaks: a nested `.loop()`/`.doWhile()` owns its own
39
+ * `.break()`.
40
+ */
41
+ export declare function bodyUsesBreak(steps: Step[]): boolean;
@@ -0,0 +1,97 @@
1
+ /**
2
+ * What each `core.logic.loop` version can express, read from the bundled
3
+ * definition of that version — the one answer `serialize` and `check` share.
4
+ *
5
+ * The definition is the authority:
6
+ * - an option is supported when the definition declares an input of that name;
7
+ * - `.break()` is supported when the definition declares a `break` target handle.
8
+ */
9
+ import { BUNDLED_DEFINITIONS } from './flow-definitions.js';
10
+ /** The wire type of `.loop()`. */
11
+ export const LOOP_NODE_TYPE = 'core.logic.loop';
12
+ /** The `core.logic.loop` version `.loop()` emits unless `{ version }` pins another. */
13
+ export const LOOP_DEFAULT_VERSION = '2.4';
14
+ /** The version `.loop()` emits for these options. */
15
+ export function loopVersion(options) {
16
+ return options?.version ?? LOOP_DEFAULT_VERSION;
17
+ }
18
+ /**
19
+ * True when this loop version's body runs from the inner `start` handle and goes
20
+ * back through `continue` (2.x); false for the legacy `output`/`loopBack` shape.
21
+ * A version with no bundled definition counts as 2.x; its lookup fails later.
22
+ */
23
+ export function loopHasInnerHandles(version) {
24
+ return loopDefinition(version) ? targetHandleIds(version).has('continue') : true;
25
+ }
26
+ /** The loop options whose support depends on the version, in message order. */
27
+ const VERSIONED_OPTIONS = ['parallel', 'completionCondition', 'breakEnabled'];
28
+ /**
29
+ * The features this loop uses that its version's definition cannot express, in
30
+ * a fixed order (`parallel`, `completionCondition`, `breakEnabled`, `break()`).
31
+ * Empty when all are supported, or when no definition is bundled for the version
32
+ * (an unknown version is reported elsewhere, by the definition lookup).
33
+ */
34
+ export function unsupportedLoopFeatures(options, usesBreak) {
35
+ const def = loopDefinition(loopVersion(options));
36
+ if (!def)
37
+ return [];
38
+ const inputs = def.inputDefinition?.properties ?? {};
39
+ const out = VERSIONED_OPTIONS.filter((k) => options?.[k] !== undefined && !(k in inputs));
40
+ if (usesBreak && !targetHandleIds(loopVersion(options)).has('break'))
41
+ out.push('break()');
42
+ return out;
43
+ }
44
+ /**
45
+ * The refusal for a loop whose options or body need a definition the requested
46
+ * version does not have, or `undefined` when there is nothing to refuse.
47
+ * `serialize` throws it; `check` reports it as `LOOP_VERSION_UNSUPPORTED` with
48
+ * the same text, so the author reads one message in both places.
49
+ */
50
+ export function loopVersionRefusal(name, options, usesBreak) {
51
+ const missing = unsupportedLoopFeatures(options, usesBreak);
52
+ if (missing.length === 0)
53
+ return undefined;
54
+ const version = loopVersion(options);
55
+ return `loop "${name}": ${missing.join('/')} ${missing.length === 1 ? 'needs' : 'need'} the loop's `
56
+ + `${LOOP_DEFAULT_VERSION} definition, but { version: '${version}' } was requested. `
57
+ + `Drop the version or request ${LOOP_DEFAULT_VERSION}.`;
58
+ }
59
+ /**
60
+ * The warning for `parallel: true` on a 1.0.0 loop, or `undefined`. The 1.0.0
61
+ * definition declares the input, so the loop compiles and a canvas 1.0.0 loop
62
+ * round-trips; whether the 1.0.0 runtime runs its iterations in parallel is not
63
+ * confirmed, so a new loop that needs that should use the default version.
64
+ * `check` reports it as `LOOP_PARALLEL_LEGACY`.
65
+ */
66
+ export function loopParallelWarning(name, options) {
67
+ if (options?.parallel !== true || loopHasInnerHandles(loopVersion(options)))
68
+ return undefined;
69
+ return `loop "${name}": parallel: true on { version: '${loopVersion(options)}' } is written to the node, but `
70
+ + `that version is not confirmed to run iterations in parallel, so the loop may run them one by one. `
71
+ + `Keep it to round-trip an existing loop; for a new parallel loop, drop the version (${LOOP_DEFAULT_VERSION}).`;
72
+ }
73
+ /**
74
+ * True when a container body (or an arm/handler inside it, but not a NESTED
75
+ * container's body) breaks: a nested `.loop()`/`.doWhile()` owns its own
76
+ * `.break()`.
77
+ */
78
+ export function bodyUsesBreak(steps) {
79
+ return steps.some((s) => s.kind === 'break'
80
+ || (s.kind === 'branch' && (bodyUsesBreak(s.then) || bodyUsesBreak(s.otherwise)))
81
+ || (s.kind === 'switch' && (s.cases.some((c) => bodyUsesBreak(c.body)) || (s.default ? bodyUsesBreak(s.default) : false)))
82
+ || (s.kind === 'stepSwitch' && s.cases.some((c) => bodyUsesBreak(c.body)))
83
+ || (s.kind === 'parallel' && s.arms.some(bodyUsesBreak))
84
+ || (s.kind === 'stepToList' && bodyUsesBreak(s.body)));
85
+ }
86
+ function loopDefinition(version) {
87
+ return BUNDLED_DEFINITIONS[`${LOOP_NODE_TYPE}@${version}`];
88
+ }
89
+ function targetHandleIds(version) {
90
+ const ids = new Set();
91
+ for (const group of loopDefinition(version)?.handleConfiguration ?? []) {
92
+ for (const h of group.handles ?? [])
93
+ if (h.type === 'target')
94
+ ids.add(h.id);
95
+ }
96
+ return ids;
97
+ }
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import { Expr } from '../../../core/expr.js';
10
10
  import { jsonClone } from '../../../core/json-clone.js';
11
+ import { isRecord } from '../../../core/node-envelope.js';
11
12
  import { wireExprBody } from '../../../core/wire-expr.js';
12
13
  import { checkHttpRead, checkHttpStep, plainHttpOnErrorMessage } from './check.js';
13
14
  const PLAIN = 'core.action.http';
@@ -264,7 +265,7 @@ function liftHttp(node, ctx, managed) {
264
265
  return raw;
265
266
  return text.startsWith('=js:') ? ctx.expr(text) : text;
266
267
  };
267
- const map = (m) => m && typeof m === 'object' && Object.keys(m).length
268
+ const map = (m) => isRecord(m) && Object.keys(m).length
268
269
  ? Object.fromEntries(Object.entries(m).map(([k, v]) => [k, value(v)]))
269
270
  : undefined;
270
271
  const text = (v) => (typeof v === 'string' ? v : undefined);
@@ -7,6 +7,19 @@ import type { FlowCheckContext } from '../../../flow-node-type.js';
7
7
  import type { QueueItemInputs } from './spec.js';
8
8
  /** Every code the family reports, with the severity it reports it at. */
9
9
  export declare const QUEUE_DIAGNOSTICS: DiagnosticCatalog;
10
+ /**
11
+ * Whether a definition stores `inputs.itemData` as a JSON STRING — the 1.0 era.
12
+ * 1.1 and later declare an `object`. Read off the definition being emitted or
13
+ * lifted, not off a version number, so a carried definition of any era answers
14
+ * for itself.
15
+ */
16
+ export declare function itemDataIsString(def: unknown): boolean;
17
+ /**
18
+ * Why `item.<field>` cannot be an expression on a definition that stores the item
19
+ * as one JSON string. Shared by `check` (QUEUE_ITEM_EXPR_UNSUPPORTED) and the
20
+ * serializer's refusal, so the two say the same thing.
21
+ */
22
+ export declare function queueItemExprMessage(step: string, typeName: string, version: string, field: string): string;
10
23
  /**
11
24
  * Check a `queueItem(...)` call.
12
25
  *
@@ -31,5 +44,7 @@ export declare const QUEUE_DIAGNOSTICS: DiagnosticCatalog;
31
44
  * - `returns` on a step that does not wait (there is nothing per-tenant to
32
45
  * declare), and a `wait: true` step whose result nothing can read.
33
46
  * - a non-ISO `dueDate` / `deferDate`.
47
+ * - an expression in `item` when the definition stores the item as one JSON
48
+ * string (1.0): the serializer refuses it, so `check` reports it first.
34
49
  */
35
- export declare function checkQueueItem(inputs: QueueItemInputs | undefined, ctx: FlowCheckContext): void;
50
+ export declare function checkQueueItem(inputs: QueueItemInputs | undefined, ctx: FlowCheckContext, typeName: string): void;
@@ -11,6 +11,7 @@ export const QUEUE_DIAGNOSTICS = {
11
11
  QUEUE_NO_ITEM: { severity: 'warning', summary: 'the item carries no data' },
12
12
  QUEUE_ITEM_NOT_OBJECT: { severity: 'error', summary: 'the item is not an object' },
13
13
  QUEUE_ITEM_FIELD_NOT_PRIMITIVE: { severity: 'error', summary: 'an item field is not a primitive' },
14
+ QUEUE_ITEM_EXPR_UNSUPPORTED: { severity: 'error', summary: 'an expression in an item stored as one JSON string' },
14
15
  QUEUE_BAD_PRIORITY: { severity: 'error', summary: 'a priority the node type does not offer' },
15
16
  QUEUE_BAD_DATE: { severity: 'error', summary: 'a date Orchestrator cannot read' },
16
17
  QUEUE_RETURNS_WITHOUT_WAIT: { severity: 'warning', summary: 'returns without wait: true' },
@@ -18,6 +19,27 @@ export const QUEUE_DIAGNOSTICS = {
18
19
  QUEUE_READ_WITHOUT_RETURNS: { severity: 'error', summary: 'a field read off a wait result with no returns' },
19
20
  QUEUE_READ_UNKNOWN_FIELD: { severity: 'error', summary: 'a read of a field the step does not publish' },
20
21
  };
22
+ /**
23
+ * Whether a definition stores `inputs.itemData` as a JSON STRING — the 1.0 era.
24
+ * 1.1 and later declare an `object`. Read off the definition being emitted or
25
+ * lifted, not off a version number, so a carried definition of any era answers
26
+ * for itself.
27
+ */
28
+ export function itemDataIsString(def) {
29
+ const props = def
30
+ ?.inputDefinition?.properties;
31
+ return props?.itemData?.type === 'string';
32
+ }
33
+ /**
34
+ * Why `item.<field>` cannot be an expression on a definition that stores the item
35
+ * as one JSON string. Shared by `check` (QUEUE_ITEM_EXPR_UNSUPPORTED) and the
36
+ * serializer's refusal, so the two say the same thing.
37
+ */
38
+ export function queueItemExprMessage(step, typeName, version, field) {
39
+ return `Queue step "${step}": ${typeName}@${version} stores the item as one JSON string, so \`item.${field}\` `
40
+ + `cannot be an expression there. Omit the { version } to emit the SDK's default version, which `
41
+ + `stores the item as an object of values and expressions.`;
42
+ }
21
43
  /**
22
44
  * Check a `queueItem(...)` call.
23
45
  *
@@ -42,8 +64,10 @@ export const QUEUE_DIAGNOSTICS = {
42
64
  * - `returns` on a step that does not wait (there is nothing per-tenant to
43
65
  * declare), and a `wait: true` step whose result nothing can read.
44
66
  * - a non-ISO `dueDate` / `deferDate`.
67
+ * - an expression in `item` when the definition stores the item as one JSON
68
+ * string (1.0): the serializer refuses it, so `check` reports it first.
45
69
  */
46
- export function checkQueueItem(inputs, ctx) {
70
+ export function checkQueueItem(inputs, ctx, typeName) {
47
71
  const step = ctx.step;
48
72
  // Severity is the catalog's (QUEUE_DIAGNOSTICS): `at` and `warn` name the intent.
49
73
  const at = (code, message, suggestion) => ctx.report(code, message, suggestion);
@@ -83,7 +107,12 @@ export function checkQueueItem(inputs, ctx) {
83
107
  + `item's \`SpecificContent\`.`, `item: { InvoiceId: 'INV-1', Amount: 120 }`);
84
108
  }
85
109
  else {
110
+ const itemIsString = itemDataIsString(ctx.definition());
86
111
  for (const [k, v] of Object.entries(item)) {
112
+ if (v instanceof Expr && itemIsString) {
113
+ at('QUEUE_ITEM_EXPR_UNSUPPORTED', queueItemExprMessage(step, typeName, ctx.version, k));
114
+ continue;
115
+ }
87
116
  // An Expr is a reference the runtime resolves — its VALUE may be anything,
88
117
  // and nothing local can know, so it is not flagged here.
89
118
  if (v instanceof Expr)
@@ -1,6 +1,7 @@
1
1
  import { Expr } from '../../../core/expr.js';
2
2
  import { jsonClone } from '../../../core/json-clone.js';
3
- import { checkQueueItem } from './check.js';
3
+ import { isRecord } from '../../../core/node-envelope.js';
4
+ import { checkQueueItem, itemDataIsString, queueItemExprMessage } from './check.js';
4
5
  import { QUEUE_ITEM_RECORD_SCHEMA } from './record.js';
5
6
  const CREATE = 'core.action.queue.create';
6
7
  const CREATE_AND_WAIT = 'core.action.queue.create-and-wait';
@@ -159,6 +160,87 @@ function liftReturns(node) {
159
160
  .map(([k, v]) => [k, v.type]);
160
161
  return entries.length ? Object.fromEntries(entries) : undefined;
161
162
  }
163
+ /**
164
+ * The surface's `item` as a 1.0 node stores it: one JSON string, `''` for no
165
+ * data (the 1.0 definition's own default). A JSON string holds DATA, so an
166
+ * expression in a field has no spelling there; it is refused rather than
167
+ * written as text the runtime would never evaluate.
168
+ */
169
+ function itemDataString(item, step, typeName, version) {
170
+ const rows = Object.entries(item);
171
+ if (rows.length === 0)
172
+ return '';
173
+ for (const [k, v] of rows) {
174
+ if (v instanceof Expr)
175
+ throw new Error(queueItemExprMessage(step, typeName, version, k));
176
+ }
177
+ return JSON.stringify(item);
178
+ }
179
+ /** Whether `v` is, or holds at any depth, an integer JSON.parse could not represent exactly. */
180
+ function hasUnsafeInteger(v) {
181
+ if (typeof v === 'number')
182
+ return Number.isInteger(v) && !Number.isSafeInteger(v);
183
+ if (Array.isArray(v))
184
+ return v.some(hasUnsafeInteger);
185
+ return isRecord(v) && Object.values(v).some(hasUnsafeInteger);
186
+ }
187
+ /**
188
+ * `inputs.itemData` back as the surface's `item`, in either wire shape:
189
+ *
190
+ * - 1.1 and later: an object of field → value, each value as the author wrote it
191
+ * (`=js:` text back to an Expr);
192
+ * - 1.0: ONE JSON STRING (`"{\"invoiceId\":\"INV-1001\"}"`), which is parsed back
193
+ * to the object it encodes; `''` is the 1.0 default, no data.
194
+ *
195
+ * `undefined`, with a warning, for a value `item` cannot hold without changing
196
+ * what the node does — a whole-item expression, a string that is not a JSON
197
+ * object, an integer beyond 2^53 (parsing rounds it), or a JSON field whose
198
+ * text starts with `=` (literal data at 1.0; it would become an expression once
199
+ * written as an object). The lift then
200
+ * declines the node and decompile keeps it as a `rawNode`, verbatim.
201
+ *
202
+ * Reading the shape off the value, never assuming it, is the point: treating
203
+ * the 1.0 string as an object spread it into one field per character
204
+ * (flow-builder-sdk#1164).
205
+ */
206
+ function liftItem(raw, ctx, value) {
207
+ const decline = (why) => {
208
+ ctx.warn(`node ${JSON.stringify(ctx.nodeId)}: its queue item data (inputs.itemData) is ${why}, which \`queueItem({ item })\` `
209
+ + `cannot hold without changing it, so the source keeps the node as a rawNode, verbatim.`);
210
+ return undefined;
211
+ };
212
+ if (raw === undefined || raw === null)
213
+ return {};
214
+ if (typeof raw === 'string') {
215
+ if (raw === '')
216
+ return {};
217
+ if (raw.startsWith('='))
218
+ return decline('an expression for the whole item');
219
+ let parsed;
220
+ try {
221
+ parsed = JSON.parse(raw);
222
+ }
223
+ catch {
224
+ return decline('a string that is not JSON');
225
+ }
226
+ if (!isRecord(parsed))
227
+ return decline('a JSON string that does not encode an object');
228
+ const expressionLike = Object.keys(parsed).find((k) => typeof parsed[k] === 'string' && parsed[k].startsWith('='));
229
+ if (expressionLike !== undefined)
230
+ return decline(`a JSON string whose field "${expressionLike}" starts with "="`);
231
+ // JSON.parse rounds an integer beyond 2^53 (`12345678901234567890` reads back
232
+ // as `12345678901234567000`), and the compile would write the rounded value.
233
+ const rounded = Object.keys(parsed).find((k) => hasUnsafeInteger(parsed[k]));
234
+ if (rounded !== undefined)
235
+ return decline(`a JSON string whose field "${rounded}" holds an integer too large to read back exactly`);
236
+ return parsed;
237
+ }
238
+ if (ctx.sourceText(raw) !== undefined)
239
+ return decline('an expression for the whole item');
240
+ if (!isRecord(raw))
241
+ return decline(Array.isArray(raw) ? 'an array' : `a ${typeof raw}`);
242
+ return Object.fromEntries(Object.entries(raw).map(([k, v]) => [k, value(v)]));
243
+ }
162
244
  function queueAt(typeName, wait) {
163
245
  return {
164
246
  kind: 'queueItem', typeName, version: '1.2', factory: 'queueItem', definition: 'per-tenant', errorPort: true,
@@ -169,7 +251,8 @@ function queueAt(typeName, wait) {
169
251
  const { ids, entries } = queueItemBindings(s, ctx.bindings);
170
252
  for (const b of entries)
171
253
  ctx.bind(b);
172
- const manifest = queueItemDef(s, typeName, ctx.step, ids, ctx.definition(typeName, ctx.version));
254
+ const base = ctx.definition(typeName, ctx.version);
255
+ const manifest = queueItemDef(s, typeName, ctx.step, ids, base);
173
256
  return {
174
257
  definition: { source: 'snapshot', nodeType: typeName, version: ctx.version, manifest },
175
258
  // The result is read as `$vars.<step>.output`, like every other family: the
@@ -180,8 +263,11 @@ function queueAt(typeName, wait) {
180
263
  inputs: {
181
264
  queue: { name: s.queue, folderPath: s.folderPath, key: s.key },
182
265
  // `itemData`, not `item`: the surface's name is friendlier, the node's is
183
- // the platform's. Rendered one level deep, as the item is FLAT.
184
- itemData: Object.fromEntries(Object.entries(s.item ?? {}).map(([k, v]) => [k, ctx.render(v)])),
266
+ // the platform's. Rendered one level deep, as the item is FLAT — or, for a
267
+ // definition of the 1.0 era, encoded as the one JSON string it declares.
268
+ itemData: itemDataIsString(base)
269
+ ? itemDataString(s.item ?? {}, ctx.step, typeName, ctx.version)
270
+ : Object.fromEntries(Object.entries(s.item ?? {}).map(([k, v]) => [k, ctx.render(v)])),
185
271
  priority: s.priority ?? 'Normal',
186
272
  reference: s.reference === undefined ? '' : ctx.render(s.reference),
187
273
  deferDate: s.deferDate === undefined ? '' : ctx.render(s.deferDate),
@@ -209,12 +295,14 @@ function queueAt(typeName, wait) {
209
295
  // A wait's `returns` is the schema serialize wrote for THIS step (the
210
296
  // template ships none), as the node's own `outputs` carries it.
211
297
  const returns = wait ? liftReturns(node) : undefined;
298
+ const item = liftItem(inputs.itemData, ctx, value);
299
+ if (item === undefined)
300
+ return undefined;
212
301
  return {
213
302
  kind: 'queueItem',
214
303
  inputs: {
215
304
  queue: q.name, folderPath: q.folderPath, key: q.key,
216
- item: Object.fromEntries(Object.entries((inputs.itemData ?? {}))
217
- .map(([k, v]) => [k, value(v)])),
305
+ item,
218
306
  ...(typeof priority === 'string' ? { priority: priority } : {}),
219
307
  ...(optional(inputs.reference) !== undefined ? { reference: optional(inputs.reference) } : {}),
220
308
  ...(optional(inputs.deferDate) !== undefined ? { deferDate: optional(inputs.deferDate) } : {}),
@@ -249,7 +337,7 @@ function queueAt(typeName, wait) {
249
337
  ],
250
338
  };
251
339
  },
252
- check: ({ inputs }, ctx) => checkQueueItem(inputs, ctx),
340
+ check: ({ inputs }, ctx) => checkQueueItem(inputs, ctx, typeName),
253
341
  // check collected no expressions for a queue step before the port; unchanged by it.
254
342
  expressions: () => [],
255
343
  output: ({ inputs }) => queueOutput(inputs, wait),
package/dist/serialize.js CHANGED
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import ixpDefinition from './ixp-definition.json' with { type: 'json' };
10
10
  import { BUNDLED_DEFINITIONS, bundledVersions } from './flow-definitions.js';
11
+ import { LOOP_DEFAULT_VERSION, bodyUsesBreak, loopHasInnerHandles, loopVersion, loopVersionRefusal } from './loop-version.js';
11
12
  import { Expr, toExpr, SCHEDULE_PRESETS, parseIxpProjectType, flatNameOf, flatNameSegmentsOf } from './flow-sdk.js';
12
13
  import { FlowAction, FlowTrigger } from './core/node-classes.js';
13
14
  import { CONTEXT_INDEX_DEFAULTS, CONTEXT_INDEX_DEFAULT_FILE_EXTENSION, contextIndexType } from './core/context-index.js';
@@ -75,15 +76,6 @@ const defByType = new Map();
75
76
  for (const d of Object.values(DEFS))
76
77
  if (!defByType.has(d.nodeType))
77
78
  defByType.set(d.nodeType, d);
78
- /** True when a container body (or an arm/handler inside it, but not a NESTED container's body) breaks. */
79
- function bodyUsesBreak(steps) {
80
- return steps.some((s) => s.kind === 'break'
81
- || (s.kind === 'branch' && (bodyUsesBreak(s.then) || bodyUsesBreak(s.otherwise)))
82
- || (s.kind === 'switch' && (s.cases.some((c) => bodyUsesBreak(c.body)) || (s.default ? bodyUsesBreak(s.default) : false)))
83
- || (s.kind === 'stepSwitch' && s.cases.some((c) => bodyUsesBreak(c.body)))
84
- || (s.kind === 'parallel' && s.arms.some(bodyUsesBreak))
85
- || (s.kind === 'stepToList' && bodyUsesBreak(s.body)));
86
- }
87
79
  const NODE_TYPE = {
88
80
  trigger: 'core.trigger.manual',
89
81
  scheduledTrigger: 'core.trigger.scheduled',
@@ -3448,8 +3440,6 @@ export function actionVersion(spec, explicit) {
3448
3440
  export function bundledDefinition(nodeType, requestedVersion) {
3449
3441
  return requestedVersion !== undefined ? DEFS[`${nodeType}@${requestedVersion}`] : defByType.get(nodeType);
3450
3442
  }
3451
- /** The `core.logic.loop` version `.loop()` emits unless `{ version }` pins another. */
3452
- const LOOP_DEFAULT_VERSION = '2.4';
3453
3443
  /**
3454
3444
  * The bundled definition a `.loop()` or `.doWhile()` container emits, at the
3455
3445
  * version serialize writes (`.loop()` defaults to `@2.4`, `.doWhile()` to the
@@ -6342,15 +6332,14 @@ export function serialize(built, opts = {}) {
6342
6332
  // designer authors (inner start/continue/break handles, `currentIteration`
6343
6333
  // output). 1.0.0 is the legacy shape the canvas shows in its old form; it
6344
6334
  // is emitted only when { version: '1.0.0' } is pinned explicitly (#868).
6345
- // An explicit 1.0.0 plus a rich option is a contradiction the author must
6346
- // resolve, not a silent drop.
6347
- const rich = o.parallel !== undefined || o.completionCondition !== undefined || o.breakEnabled !== undefined || usesBreak;
6348
- const version = o.version ?? LOOP_DEFAULT_VERSION;
6349
- if (rich && version === '1.0.0') {
6350
- throw new Error(`loop "${step.name}": parallel/completionCondition/breakEnabled/break() need the loop's 2.4 `
6351
- + `definition, but { version: '1.0.0' } was requested. Drop the version or request 2.4.`);
6352
- }
6353
- const v24 = version !== '1.0.0';
6335
+ // An option or a .break() the pinned version's definition cannot express
6336
+ // is a contradiction the author must resolve, not a silent drop; `check`
6337
+ // reports the same refusal from the same helper (#1186).
6338
+ const refusal = loopVersionRefusal(step.name, o, usesBreak);
6339
+ if (refusal)
6340
+ throw new Error(refusal);
6341
+ const version = loopVersion(o);
6342
+ const v24 = loopHasInnerHandles(version);
6354
6343
  const id = stepUid(scope, step.name);
6355
6344
  const node = makeNode(NODE_TYPE.loop, id, step.options?.label ?? step.label ?? step.name, { parentId, requestedVersion: version });
6356
6345
  node.inputs = v24
@@ -6362,7 +6351,7 @@ export function serialize(built, opts = {}) {
6362
6351
  : {}),
6363
6352
  breakEnabled: (o.breakEnabled ?? false) || usesBreak,
6364
6353
  }
6365
- : { collection: renderValue(step.collection, scope.rename), parallel: false };
6354
+ : { collection: renderValue(step.collection, scope.rename), parallel: o.parallel ?? false };
6366
6355
  scope.nodes.push(node);
6367
6356
  for (const t of tails)
6368
6357
  addEdge(scope, t, id);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/maestro-builder-sdk",
3
- "version": "6.31.1",
3
+ "version": "6.31.3",
4
4
  "description": "Build UiPath Flow, Case, and BPMN artifacts by writing TypeScript.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://docs.uipath.com/maestro",
@@ -93,5 +93,5 @@
93
93
  "@types/node": "^22.7.0",
94
94
  "esbuild": "^0.28.1"
95
95
  },
96
- "gitref": "a2b7de2d90365755dd14494b4b3b3170c75d5932"
96
+ "gitref": "312d113c6d6ed072f209ca7faab413317d551880"
97
97
  }