@uipath/maestro-builder-sdk 6.50.3 → 6.51.1

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
@@ -300,10 +300,10 @@ could hand you spans for a version you do not have.
300
300
  | `CaseAppConfig` | interface | `dist/case/case-sdk.d.ts:676-682` | Supporting types | Typed configuration for the generated Case App. |
301
301
  | `CaseAppDetailValue` | type | `dist/case/case-sdk.d.ts:665-666` | Supporting types | A value displayed in one Case App section. |
302
302
  | `CaseAppSection` | interface | `dist/case/case-sdk.d.ts:667-675` | Supporting types | One summary section in the generated Case App. |
303
- | `CaseBuilder` | class | `dist/case/case-sdk.d.ts:1207-1462` | Builders | 18 member(s) |
303
+ | `CaseBuilder` | class | `dist/case/case-sdk.d.ts:1208-1466` | Builders | 18 member(s) |
304
304
  | `CaseLayout` | interface | `dist/case/case-sdk.d.ts:704-715` | Supporting types | Optional Case designer layout, keyed by author-level stage and trigger names. |
305
305
  | `CaseNodeLayout` | interface | `dist/case/case-sdk.d.ts:683-703` | Supporting types | Designer-only fields the shipped Case transformer moves into `layout.nodes[id]`. |
306
- | `casePlan` | function | `dist/case/case-sdk.d.ts:1463-1469` | Case authoring | Start building a case plan with the given id. |
306
+ | `casePlan` | function | `dist/case/case-sdk.d.ts:1467-1473` | Case authoring | Start building a case plan with the given id. |
307
307
  | `CaseRule` | interface | `dist/case/case-sdk.d.ts:86-89` | Supporting types | A single DNF rule. |
308
308
  | `CaseRuleGrid` | type | `dist/case/case-sdk.d.ts:121-122` | Supporting types | One rule, one AND-group, or a complete OR-of-AND condition grid. |
309
309
  | `CaseRuleInput` | type | `dist/case/case-sdk.d.ts:119-120` | Supporting types | A concrete rule or a pure expression gate resolved by its receiving slot. |
@@ -314,7 +314,7 @@ could hand you spans for a version you do not have.
314
314
  | `ConnectorMeta` | interface | `dist/core/connectors.d.ts:60-88` | Supporting types | Runtime metadata a generated descriptor carries. |
315
315
  | `ConnectorOpts` | interface | `dist/core/actions.d.ts:13-56` | Option shapes | 4 field(s) |
316
316
  | `ConnectorSpecData` | type | `dist/case/case-sdk.d.ts:402-414` | Supporting types | An Integration Service connector task — the connector variant of the shared `ActionSpec`. |
317
- | `EntryOpts` | interface | `dist/case/case-sdk.d.ts:767-779` | Option shapes | Options common to a stage/task entry condition. |
317
+ | `EntryOpts` | interface | `dist/case/case-sdk.d.ts:767-780` | Option shapes | Options common to a stage/task entry condition. |
318
318
  | `escalation` | function | `dist/case/case-sdk.d.ts:151-157` | Case authoring | Declare an escalation. |
319
319
  | `EscalationOpts` | interface | `dist/case/case-sdk.d.ts:135-147` | Option shapes | 4 field(s) |
320
320
  | `EscalationRecipient` | interface | `dist/case/case-sdk.d.ts:127-134` | Supporting types | Who an escalation notifies. |
@@ -324,7 +324,7 @@ could hand you spans for a version you do not have.
324
324
  | `eventTrigger` | function | `dist/case/case-sdk.d.ts:302-312` | Case authoring | An Integration Service **event** trigger — an external event (a new row, an email, a webhook) starts the case. |
325
325
  | `eventTrigger` | function | `dist/case/case-sdk.d.ts:313-319` | Case authoring | An Integration Service event trigger in placeholder or stringly-resolved form. |
326
326
  | `EventTriggerOpts` | interface | `dist/case/case-sdk.d.ts:249-289` | Option shapes | 5 field(s) |
327
- | `ExitOpts` | interface | `dist/case/case-sdk.d.ts:780-816` | Option shapes | Options for `stage.exitWhen(rules, opts)` — one call per outcome. |
327
+ | `ExitOpts` | interface | `dist/case/case-sdk.d.ts:781-817` | Option shapes | Options for `stage.exitWhen(rules, opts)` — one call per outcome. |
328
328
  | `ExternalExecutionMode` | type | `dist/case/case-sdk.d.ts:415-436` | Supporting types | The external agent's or automation's `executionType`, as Integration Service reports it for the connector object. |
329
329
  | `ExternalTaskOptions` | interface | `dist/case/case-sdk.d.ts:437-452` | Option shapes | Required wiring and typed inputs for an external agent/workflow invocation. |
330
330
  | `ExternalTaskSpecData` | interface | `dist/case/case-sdk.d.ts:453-459` | Supporting types | Normalized descriptor and execution mode stored on a built external task. |
@@ -342,9 +342,9 @@ could hand you spans for a version you do not have.
342
342
  | `SelectNextStageSpec` | interface | `dist/case/case-sdk.d.ts:326-344` | Supporting types | Data Fabric entity used by the Case runtime to deliver a person's next-stage selection. |
343
343
  | `SlaOpts` | interface | `dist/case/case-sdk.d.ts:174-193` | Option shapes | 5 field(s) |
344
344
  | `SlaUnit` | type | `dist/case/case-sdk.d.ts:123-124` | Supporting types | SLA deadline unit. |
345
- | `StageBuilder` | class | `dist/case/case-sdk.d.ts:1129-1206` | Builders | 6 member(s) |
345
+ | `StageBuilder` | class | `dist/case/case-sdk.d.ts:1130-1207` | Builders | 6 member(s) |
346
346
  | `StageExitType` | type | `dist/case/case-sdk.d.ts:325` | Supporting types | |
347
- | `TaskBuilder` | class | `dist/case/case-sdk.d.ts:817-1128` | Builders | 25 member(s) |
347
+ | `TaskBuilder` | class | `dist/case/case-sdk.d.ts:818-1129` | Builders | 25 member(s) |
348
348
  | `TaskInputBinding` | interface | `dist/case/case-sdk.d.ts:571-578` | Supporting types | A task input binding: a resource input parameter set to a literal or a `=`-expression. |
349
349
  | `TaskKind` | type | `dist/case/case-sdk.d.ts:383` | Supporting types | |
350
350
  | `TaskOutputBinding` | interface | `dist/case/case-sdk.d.ts:579-589` | Supporting types | A task output extraction: bind a field of the task's result (`source`) into a case variable (`var`) that later… |
@@ -47,21 +47,21 @@ not find it either.
47
47
  | `action` | property | `BuiltInValidatorGuardrail` | `dist/core/actions.d.ts:359` |
48
48
  | `action` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:598` |
49
49
  | `action` | property | `CustomGuardrail` | `dist/core/actions.d.ts:346` |
50
- | `action` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:974-999` |
50
+ | `action` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:975-1000` |
51
51
  | `actionCatalogName` | property | `ActionSpecData` | `dist/case/case-sdk.d.ts:546-551` |
52
52
  | `actions` | property | `HumanTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:1373-1382` |
53
53
  | `activity` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2883-2916` |
54
54
  | `additionalOutputs` | property | `RegistryTypeSpec` | `dist/bpmn/typed-node.d.ts:98-102` |
55
55
  | `agent` | property | `FlowActionSpecs` | `dist/nodes/process/flow/spec.d.ts:356-359` |
56
- | `agent` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:860-869` |
56
+ | `agent` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:861-870` |
57
57
  | `agenticProcess` | property | `FlowActionSpecs` | `dist/nodes/process/flow/spec.d.ts:352-355` |
58
58
  | `alias` | property | `Aggregation` | `dist/nodes/transform/flow/spec.d.ts:38-39` |
59
59
  | `aliases` | property | `LookupSpec` | `dist/core/lookups.d.ts:31-32` |
60
60
  | `allErrors` | property | `RetrySpec` | `dist/bpmn/bpmn-sdk.d.ts:829-830` |
61
61
  | `allowAdhocOptionalStageTasks` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:754-755` |
62
- | `allowAdhocTasks` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1307-1314` |
62
+ | `allowAdhocTasks` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1311-1318` |
63
63
  | `apiWorkflow` | property | `FlowActionSpecs` | `dist/nodes/process/flow/spec.d.ts:344-347` |
64
- | `apiWorkflow` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:880-889` |
64
+ | `apiWorkflow` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:881-890` |
65
65
  | `app` | property | `EscalationRef` | `dist/core/actions.d.ts:729-756` |
66
66
  | `app` | property | `HitlInputs` | `dist/nodes/hitl/flow/spec.d.ts:192-196` |
67
67
  | `app` | property | `HumanTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:1369-1370` |
@@ -104,26 +104,26 @@ not find it either.
104
104
  | `breakEnabled` | property | `DoWhileOptions` | `dist/flow-sdk.d.ts:554-555` |
105
105
  | `breakEnabled` | property | `LoopOptions` | `dist/flow-sdk.d.ts:541-545` |
106
106
  | `build` | method | `BpmnBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3586-3591` |
107
- | `build` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1456-1461` |
107
+ | `build` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1460-1465` |
108
108
  | `build` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1761-1767` |
109
- | `businessEvent` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1445-1455` |
109
+ | `businessEvent` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1449-1459` |
110
110
  | `businessEvent` | property | `RuleOpts` | `dist/case/case-sdk.d.ts:75-82` |
111
111
  | `businessEvents` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:760-761` |
112
112
  | `businessRule` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:596-597` |
113
113
  | `businessRule` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2582-2646` |
114
- | `businessRule` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:928-956` |
114
+ | `businessRule` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:929-957` |
115
115
  | `by` | property | `LookupResolution` | `dist/core/lookups.d.ts:169` |
116
116
  | `by` | property | `LookupSpec` | `dist/core/lookups.d.ts:27-28` |
117
117
  | `cachedAgentCard` | property | `RemoteA2aToolRef` | `dist/core/actions.d.ts:485-486` |
118
118
  | `callContext` | property | `EndCallInputs` | `dist/nodes/agent/flow/spec.d.ts:98-103` |
119
119
  | `callContext` | property | `VoiceAgentInputs` | `dist/nodes/agent/flow/spec.d.ts:142-147` |
120
120
  | `cancelActivity` | property | `BoundaryOpts` | `dist/bpmn/bpmn-sdk.d.ts:770-771` |
121
- | `caseApp` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1286-1306` |
121
+ | `caseApp` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1290-1310` |
122
122
  | `caseAppConfig` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:753` |
123
123
  | `caseAppEnabled` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:752` |
124
124
  | `caseExit` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:758` |
125
125
  | `caseManagement` | property | `ProcessMetadata` | `dist/bpmn/bpmn-sdk.d.ts:559-563` |
126
- | `caseManagement` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:890-901` |
126
+ | `caseManagement` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:891-902` |
127
127
  | `channels` | property | `HitlRecipient` | `dist/nodes/hitl/flow/spec.d.ts:50-51` |
128
128
  | `child` | property | `SubflowSpec` | `dist/flow-sdk.d.ts:50-51` |
129
129
  | `choose` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2981-3022` |
@@ -137,7 +137,7 @@ not find it either.
137
137
  | `collection` | property | `TransformInputs` | `dist/nodes/transform/flow/spec.d.ts:85-95` |
138
138
  | `color` | property | `StickyNote` | `dist/flow-sdk.d.ts:796-797` |
139
139
  | `colSpan` | property | `FormFieldSettings` | `dist/core/actions.d.ts:185-186` |
140
- | `completeWhen` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1425-1435` |
140
+ | `completeWhen` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1429-1439` |
141
141
  | `completion` | property | `LoopSpec` | `dist/bpmn/bpmn-sdk.d.ts:85-86` |
142
142
  | `completionCondition` | property | `LoopOptions` | `dist/flow-sdk.d.ts:536-540` |
143
143
  | `condition` | property | `BpmnFlow` | `dist/bpmn/bpmn-sdk.d.ts:360-361` |
@@ -166,8 +166,8 @@ not find it either.
166
166
  | `connector` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2377-2397` |
167
167
  | `connector` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2398-2410` |
168
168
  | `connector` | property | `SelectNextStageSpec` | `dist/case/case-sdk.d.ts:330-343` |
169
- | `connector` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1000-1016` |
170
- | `connector` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1017-1027` |
169
+ | `connector` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1001-1017` |
170
+ | `connector` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1018-1028` |
171
171
  | `connector` | property | `TriggerMeta` | `dist/core/connectors.d.ts:122-123` |
172
172
  | `connectorKey` | property | `HttpOpts` | `dist/bpmn/bpmn-sdk.d.ts:1212-1218` |
173
173
  | `connectorKey` | property | `WaitConnectorPlaceholderSpec` | `dist/case/case-sdk.d.ts:392-393` |
@@ -232,7 +232,7 @@ not find it either.
232
232
  | `description` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:607` |
233
233
  | `description` | property | `BuiltTrigger` | `dist/case/case-sdk.d.ts:208` |
234
234
  | `description` | property | `BusinessEventOpts` | `dist/case/case-sdk.d.ts:718-719` |
235
- | `description` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1271-1277` |
235
+ | `description` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1275-1281` |
236
236
  | `description` | property | `ClientSideToolRef` | `dist/core/actions.d.ts:501-502` |
237
237
  | `description` | property | `ConnectorToolRef` | `dist/core/actions.d.ts:602-606` |
238
238
  | `description` | property | `CustomGuardrail` | `dist/core/actions.d.ts:344` |
@@ -249,8 +249,8 @@ not find it either.
249
249
  | `description` | property | `ProcessToolRef` | `dist/core/actions.d.ts:655-660` |
250
250
  | `description` | property | `RemoteA2aToolRef` | `dist/core/actions.d.ts:484` |
251
251
  | `description` | property | `ResolvedEventTriggerOpts` | `dist/case/case-sdk.d.ts:294-295` |
252
- | `description` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1139-1145` |
253
- | `description` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1075-1081` |
252
+ | `description` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1140-1146` |
253
+ | `description` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1076-1082` |
254
254
  | `description` | property | `TimerTriggerOpts` | `dist/case/case-sdk.d.ts:233` |
255
255
  | `description` | property | `TypedOutputRow` | `dist/bpmn/typed-node.d.ts:322-323` |
256
256
  | `description` | property | `VarDecl` | `dist/flow-sdk.d.ts:65-66` |
@@ -271,9 +271,9 @@ not find it either.
271
271
  | `displayName` | property | `BuiltExitCondition` | `dist/case/case-sdk.d.ts:346` |
272
272
  | `displayName` | property | `BuiltSla` | `dist/case/case-sdk.d.ts:198` |
273
273
  | `displayName` | property | `BuiltTaskEntryCondition` | `dist/case/case-sdk.d.ts:375` |
274
- | `displayName` | property | `EntryOpts` | `dist/case/case-sdk.d.ts:769-777` |
274
+ | `displayName` | property | `EntryOpts` | `dist/case/case-sdk.d.ts:769-778` |
275
275
  | `displayName` | property | `EscalationOpts` | `dist/case/case-sdk.d.ts:146` |
276
- | `displayName` | property | `ExitOpts` | `dist/case/case-sdk.d.ts:782-788` |
276
+ | `displayName` | property | `ExitOpts` | `dist/case/case-sdk.d.ts:783-789` |
277
277
  | `displayName` | property | `RegistryContextField` | `dist/bpmn/typed-node.d.ts:23-24` |
278
278
  | `displayName` | property | `RegistryInputField` | `dist/bpmn/typed-node.d.ts:65` |
279
279
  | `displayName` | property | `SlaOpts` | `dist/case/case-sdk.d.ts:178-183` |
@@ -312,8 +312,8 @@ not find it either.
312
312
  | `entryPointId` | property | `ProcessMetadata` | `dist/bpmn/bpmn-sdk.d.ts:544-556` |
313
313
  | `entryPointId` | property | `StartOpts` | `dist/bpmn/bpmn-sdk.d.ts:701-709` |
314
314
  | `entryPoints` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:866-867` |
315
- | `entryWhen` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1179-1186` |
316
- | `entryWhen` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1116-1125` |
315
+ | `entryWhen` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1180-1187` |
316
+ | `entryWhen` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1117-1126` |
317
317
  | `err` | method | `StepList` | `dist/flow-sdk.d.ts:890-915` |
318
318
  | `error` | property | `BoundaryOpts` | `dist/bpmn/bpmn-sdk.d.ts:776-780` |
319
319
  | `error` | property | `EndOpts` | `dist/bpmn/bpmn-sdk.d.ts:722-732` |
@@ -342,7 +342,7 @@ not find it either.
342
342
  | `every` | property | `ScheduledInputs` | `dist/flow-sdk.d.ts:152-162` |
343
343
  | `every` | property | `TimerTriggerOpts` | `dist/case/case-sdk.d.ts:223-231` |
344
344
  | `exception` | property | `BuiltStage` | `dist/case/case-sdk.d.ts:617` |
345
- | `exceptionStage` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1417-1424` |
345
+ | `exceptionStage` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1421-1428` |
346
346
  | `exchangeId` | property | `ConversationalAgentSettings` | `dist/nodes/agent/flow/spec.d.ts:31-32` |
347
347
  | `exchangeId` | property | `SendMessageInputs` | `dist/nodes/conversation/flow/spec.d.ts:14-19` |
348
348
  | `exchangeLimit` | property | `ConversationContextInputs` | `dist/nodes/conversation/flow/spec.d.ts:40-43` |
@@ -351,8 +351,8 @@ not find it either.
351
351
  | `executeApiWorkflow` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2563-2581` |
352
352
  | `exit` | property | `BuiltStage` | `dist/case/case-sdk.d.ts:622` |
353
353
  | `exitToStage` | property | `BuiltExitCondition` | `dist/case/case-sdk.d.ts:355-369` |
354
- | `exitToStage` | property | `ExitOpts` | `dist/case/case-sdk.d.ts:796-810` |
355
- | `exitWhen` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1187-1194` |
354
+ | `exitToStage` | property | `ExitOpts` | `dist/case/case-sdk.d.ts:797-811` |
355
+ | `exitWhen` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1188-1195` |
356
356
  | `exponentialBase` | property | `RetrySpec` | `dist/bpmn/bpmn-sdk.d.ts:827-828` |
357
357
  | `exposeError` | property | `HitlInputs` | `dist/nodes/hitl/flow/spec.d.ts:245-251` |
358
358
  | `expression` | property | `BuiltSla` | `dist/case/case-sdk.d.ts:199-200` |
@@ -360,9 +360,9 @@ not find it either.
360
360
  | `expression` | property | `WhenExpression` | `dist/case/case-sdk.d.ts:109-110` |
361
361
  | `external` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:600-601` |
362
362
  | `externalAgent` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2827-2863` |
363
- | `externalAgent` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:958-965` |
363
+ | `externalAgent` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:959-966` |
364
364
  | `externalWorkflow` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2864-2880` |
365
- | `externalWorkflow` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:966-973` |
365
+ | `externalWorkflow` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:967-974` |
366
366
  | `extractionResult` | property | `DocValidationInputs` | `dist/nodes/hitl/flow/spec.d.ts:76-81` |
367
367
  | `field` | property | `Aggregation` | `dist/nodes/transform/flow/spec.d.ts:40-41` |
368
368
  | `field` | property | `DataFabricFilter` | `dist/nodes/data-fabric/flow/spec.d.ts:22-28` |
@@ -386,7 +386,7 @@ not find it either.
386
386
  | `flavour` | property | `AgentInputs` | `dist/nodes/process/flow/spec.d.ts:322-336` |
387
387
  | `flowIds` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3080-3123` |
388
388
  | `flowMode` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2123-2162` |
389
- | `flowProcess` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:902-911` |
389
+ | `flowProcess` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:903-912` |
390
390
  | `flows` | property | `BuiltBpmn` | `dist/bpmn/bpmn-sdk.d.ts:515-516` |
391
391
  | `flows` | property | `ScopeStorage` | `dist/bpmn/bpmn-sdk.d.ts:1982-1983` |
392
392
  | `folder` | property | `ActionAppRef` | `dist/case/case-sdk.d.ts:531-535` |
@@ -431,7 +431,7 @@ not find it either.
431
431
  | `fork` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3023-3048` |
432
432
  | `form` | property | `AgenticProcessInputsBase` | `dist/nodes/process/flow/spec.d.ts:185-192` |
433
433
  | `from` | property | `CreateOutgoingCallInputs` | `dist/nodes/agent/flow/spec.d.ts:88-92` |
434
- | `function` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:912-927` |
434
+ | `function` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:913-928` |
435
435
  | `goto` | method | `PathBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3291-3315` |
436
436
  | `guardrails` | property | `ConversationalAgentInputs` | `dist/nodes/agent/flow/spec.d.ts:77-78` |
437
437
  | `guardrails` | property | `InlineAgentInputs` | `dist/nodes/agent/flow/spec.d.ts:304-320` |
@@ -478,7 +478,7 @@ not find it either.
478
478
  | `id` | property | `SwitchArm` | `dist/flow-sdk.d.ts:371-377` |
479
479
  | `id` | property | `VarEntry` | `dist/bpmn/bpmn-sdk.d.ts:1018-1019` |
480
480
  | `identifier` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:750` |
481
- | `identifier` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1278-1285` |
481
+ | `identifier` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1282-1289` |
482
482
  | `identifierType` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:751` |
483
483
  | `implied` | property | `BpmnFlow` | `dist/bpmn/bpmn-sdk.d.ts:362-369` |
484
484
  | `impliedFlowIds` | property | `SugarRegistry` | `dist/bpmn/bpmn-sdk.d.ts:1994-1995` |
@@ -486,7 +486,7 @@ not find it either.
486
486
  | `inclusive` | property | `ChooseOpts` | `dist/bpmn/bpmn-sdk.d.ts:1863-1867` |
487
487
  | `inclusiveGateway` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2311-2318` |
488
488
  | `inlineAgent` | property | `FlowActionSpecs` | `dist/nodes/agent/flow/spec.d.ts:443-446` |
489
- | `input` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1336-1361` |
489
+ | `input` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1340-1365` |
490
490
  | `input` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1702-1714` |
491
491
  | `input` | property | `HumanTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:1387-1388` |
492
492
  | `input` | property | `OrchestratorOpts` | `dist/bpmn/bpmn-sdk.d.ts:1273-1274` |
@@ -513,7 +513,7 @@ not find it either.
513
513
  | `inputs` | property | `RpaWorkflowInputs` | `dist/nodes/process/flow/spec.d.ts:47-52` |
514
514
  | `inputs` | property | `ScriptTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:905-919` |
515
515
  | `inputs` | property | `SubflowSpec` | `dist/flow-sdk.d.ts:52-53` |
516
- | `inputs` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1089-1101` |
516
+ | `inputs` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1090-1102` |
517
517
  | `inputs` | property | `VoiceAgentInputs` | `dist/nodes/agent/flow/spec.d.ts:136-141` |
518
518
  | `inputSchema` | property | `ActivityNodeOpts` | `dist/bpmn/bpmn-sdk.d.ts:1626-1634` |
519
519
  | `inputSchema` | property | `ScriptTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:945-956` |
@@ -529,7 +529,7 @@ not find it either.
529
529
  | `is` | property | `FormFieldCondition` | `dist/core/actions.d.ts:121-122` |
530
530
  | `isDynamic` | property | `RegistryTypeSpec` | `dist/bpmn/typed-node.d.ts:107-114` |
531
531
  | `isInterrupting` | property | `BuiltEntryCondition` | `dist/case/case-sdk.d.ts:322` |
532
- | `isInterrupting` | property | `EntryOpts` | `dist/case/case-sdk.d.ts:778` |
532
+ | `isInterrupting` | property | `EntryOpts` | `dist/case/case-sdk.d.ts:779` |
533
533
  | `isNot` | property | `FormFieldCondition` | `dist/core/actions.d.ts:123-124` |
534
534
  | `item` | property | `QueueItemInputs` | `dist/nodes/queue/flow/spec.d.ts:26-31` |
535
535
  | `item` | property | `QueueItemOpts` | `dist/bpmn/bpmn-sdk.d.ts:1334-1335` |
@@ -578,7 +578,7 @@ not find it either.
578
578
  | `lanes` | property | `BuiltStage` | `dist/case/case-sdk.d.ts:620` |
579
579
  | `layout` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:764-765` |
580
580
  | `layout` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:856-857` |
581
- | `layout` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1315-1335` |
581
+ | `layout` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1319-1339` |
582
582
  | `layout` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1422-1448` |
583
583
  | `legacyCompleted` | property | `HitlInputs` | `dist/nodes/hitl/flow/spec.d.ts:252-284` |
584
584
  | `limit` | property | `DataFabricReadInputs` | `dist/nodes/data-fabric/flow/spec.d.ts:95-100` |
@@ -594,7 +594,7 @@ not find it either.
594
594
  | `managed` | property | `HttpInputsBase` | `dist/nodes/http/flow/spec.d.ts:37-67` |
595
595
  | `marksCaseComplete` | property | `BuiltCaseExitCondition` | `dist/case/case-sdk.d.ts:380` |
596
596
  | `marksStageComplete` | property | `BuiltExitCondition` | `dist/case/case-sdk.d.ts:347` |
597
- | `marksStageComplete` | property | `ExitOpts` | `dist/case/case-sdk.d.ts:789-790` |
597
+ | `marksStageComplete` | property | `ExitOpts` | `dist/case/case-sdk.d.ts:790-791` |
598
598
  | `match` | property | `LookupResolution` | `dist/core/lookups.d.ts:170-171` |
599
599
  | `matches` | property | `FormFieldCondition` | `dist/core/actions.d.ts:129-130` |
600
600
  | `matchNames` | property | `GuardrailSelector` | `dist/core/actions.d.ts:291-292` |
@@ -666,7 +666,7 @@ not find it either.
666
666
  | `name` | property | `BuiltInValidatorGuardrail` | `dist/core/actions.d.ts:356` |
667
667
  | `name` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:591-592` |
668
668
  | `name` | property | `BuiltTrigger` | `dist/case/case-sdk.d.ts:206-207` |
669
- | `name` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1226-1232` |
669
+ | `name` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1227-1233` |
670
670
  | `name` | property | `CaseVarDecl` | `dist/case/case-sdk.d.ts:651` |
671
671
  | `name` | property | `CatchOpts` | `dist/bpmn/bpmn-sdk.d.ts:741-742` |
672
672
  | `name` | property | `ChooseOpts` | `dist/bpmn/bpmn-sdk.d.ts:1861-1862` |
@@ -769,7 +769,7 @@ not find it either.
769
769
  | `outcomePorts` | property | `HitlInputs` | `dist/nodes/hitl/flow/spec.d.ts:230-244` |
770
770
  | `outcomes` | property | `EscalationRef` | `dist/core/actions.d.ts:759-764` |
771
771
  | `outcomes` | property | `HitlInputs` | `dist/nodes/hitl/flow/spec.d.ts:211-225` |
772
- | `output` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1362-1374` |
772
+ | `output` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1366-1378` |
773
773
  | `output` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1715-1750` |
774
774
  | `output` | property | `RegistryTypeSpec` | `dist/bpmn/typed-node.d.ts:97` |
775
775
  | `output` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3151-3159` |
@@ -792,7 +792,7 @@ not find it either.
792
792
  | `outputs` | property | `ReceiveMessageOpts` | `dist/bpmn/bpmn-sdk.d.ts:1432-1447` |
793
793
  | `outputs` | property | `ResolvedEventTriggerOpts` | `dist/case/case-sdk.d.ts:296-300` |
794
794
  | `outputs` | property | `ScriptTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:920-934` |
795
- | `outputs` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1102-1115` |
795
+ | `outputs` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1103-1116` |
796
796
  | `outputVar` | property | `ActivityNodeOpts` | `dist/bpmn/bpmn-sdk.d.ts:1599-1600` |
797
797
  | `outputVar` | property | `ConnectorEventOpts` | `dist/bpmn/bpmn-sdk.d.ts:1513-1514` |
798
798
  | `outputVar` | property | `DataServiceOpts` | `dist/bpmn/bpmn-sdk.d.ts:1138-1139` |
@@ -836,7 +836,7 @@ not find it either.
836
836
  | `priority` | property | `HitlInputs` | `dist/nodes/hitl/flow/spec.d.ts:199-200` |
837
837
  | `priority` | property | `QueueItemInputs` | `dist/nodes/queue/flow/spec.d.ts:32-33` |
838
838
  | `process` | property | `OrchestratorOpts` | `dist/bpmn/bpmn-sdk.d.ts:1252-1270` |
839
- | `process` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:837-846` |
839
+ | `process` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:838-847` |
840
840
  | `project` | property | `IxpExtractInputs` | `dist/nodes/document/flow/spec.d.ts:76-89` |
841
841
  | `projectId` | property | `AgenticProcessInputsBase` | `dist/nodes/process/flow/spec.d.ts:171-178` |
842
842
  | `projectId` | property | `AgentInputs` | `dist/nodes/process/flow/spec.d.ts:278-283` |
@@ -878,8 +878,8 @@ not find it either.
878
878
  | `required` | property | `InOutField` | `dist/core/actions.d.ts:256-257` |
879
879
  | `required` | property | `RegistryContextField` | `dist/bpmn/typed-node.d.ts:26` |
880
880
  | `required` | property | `RegistryInputField` | `dist/bpmn/typed-node.d.ts:67` |
881
- | `required` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1146-1152` |
882
- | `required` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1053-1059` |
881
+ | `required` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1147-1153` |
882
+ | `required` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1054-1060` |
883
883
  | `required` | property | `TypedContextRow` | `dist/bpmn/typed-node.d.ts:229-230` |
884
884
  | `required` | property | `VarOpts` | `dist/bpmn/bpmn-sdk.d.ts:1729-1730` |
885
885
  | `requiredMessage` | property | `FormFieldSettings` | `dist/core/actions.d.ts:183-184` |
@@ -927,7 +927,7 @@ not find it either.
927
927
  | `role` | property | `FlowResource` | `dist/core/node-classes.d.ts:181-182` |
928
928
  | `role` | property | `FlowTrigger` | `dist/core/node-classes.d.ts:173-174` |
929
929
  | `routedWaypoints` | property | `EdgeRoute` | `dist/flow-sdk.d.ts:753-758` |
930
- | `rpa` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:870-879` |
930
+ | `rpa` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:871-880` |
931
931
  | `rpaWorkflow` | property | `FlowActionSpecs` | `dist/nodes/process/flow/spec.d.ts:340-343` |
932
932
  | `rule` | property | `CaseRule` | `dist/case/case-sdk.d.ts:88` |
933
933
  | `rules` | property | `BuiltCaseExitCondition` | `dist/case/case-sdk.d.ts:381` |
@@ -937,8 +937,8 @@ not find it either.
937
937
  | `rules` | property | `CustomGuardrail` | `dist/core/actions.d.ts:349` |
938
938
  | `rules` | property | `FormFieldSettings` | `dist/core/actions.d.ts:181-182` |
939
939
  | `runOnce` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:606` |
940
- | `runOnce` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1060-1066` |
941
- | `runOnReEntry` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1067-1074` |
940
+ | `runOnce` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1061-1067` |
941
+ | `runOnReEntry` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1068-1075` |
942
942
  | `schema` | method | `BpmnBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3510-3535` |
943
943
  | `schema` | property | `BpmnVarDecl` | `dist/bpmn/bpmn-sdk.d.ts:396-397` |
944
944
  | `schema` | property | `DataServiceOpts` | `dist/bpmn/bpmn-sdk.d.ts:1140-1145` |
@@ -951,7 +951,7 @@ not find it either.
951
951
  | `schemas` | property | `BuiltBpmn` | `dist/bpmn/bpmn-sdk.d.ts:519-520` |
952
952
  | `schemaVersion` | method | `BpmnBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3478-3507` |
953
953
  | `schemaVersion` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:840-846` |
954
- | `schemaVersion` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1244-1270` |
954
+ | `schemaVersion` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1245-1274` |
955
955
  | `schemaVersion` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1581-1620` |
956
956
  | `scope` | property | `EscalationRecipient` | `dist/case/case-sdk.d.ts:129` |
957
957
  | `scopes` | property | `GuardrailSelector` | `dist/core/actions.d.ts:290` |
@@ -964,7 +964,7 @@ not find it either.
964
964
  | `sections` | property | `CaseAppConfig` | `dist/case/case-sdk.d.ts:680-681` |
965
965
  | `selectedTools` | property | `McpToolRef` | `dist/core/actions.d.ts:464-469` |
966
966
  | `selectNextStage` | property | `BuiltExitCondition` | `dist/case/case-sdk.d.ts:370-371` |
967
- | `selectNextStage` | property | `ExitOpts` | `dist/case/case-sdk.d.ts:811-815` |
967
+ | `selectNextStage` | property | `ExitOpts` | `dist/case/case-sdk.d.ts:812-816` |
968
968
  | `selector` | property | `BuiltInValidatorGuardrail` | `dist/core/actions.d.ts:358` |
969
969
  | `selector` | property | `CustomGuardrail` | `dist/core/actions.d.ts:345` |
970
970
  | `semanticSimilarity` | property | `AgentMemoryRef` | `dist/core/actions.d.ts:556-557` |
@@ -990,10 +990,10 @@ not find it either.
990
990
  | `skipCondition` | property | `OrchestratorOpts` | `dist/bpmn/bpmn-sdk.d.ts:1308-1309` |
991
991
  | `skipCondition` | property | `QueueItemOpts` | `dist/bpmn/bpmn-sdk.d.ts:1355-1356` |
992
992
  | `skipCondition` | property | `ReceiveMessageOpts` | `dist/bpmn/bpmn-sdk.d.ts:1430-1431` |
993
- | `skipWhen` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1082-1088` |
994
- | `sla` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1436-1444` |
993
+ | `skipWhen` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1083-1089` |
994
+ | `sla` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1440-1448` |
995
995
  | `sla` | property | `RuleOpts` | `dist/case/case-sdk.d.ts:63-68` |
996
- | `sla` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1195-1203` |
996
+ | `sla` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1196-1204` |
997
997
  | `slaRules` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:759` |
998
998
  | `slaRules` | property | `BuiltStage` | `dist/case/case-sdk.d.ts:623` |
999
999
  | `slug` | property | `McpToolRef` | `dist/core/actions.d.ts:462-463` |
@@ -1014,7 +1014,7 @@ not find it either.
1014
1014
  | `sourceTrigger` | property | `CaseVarDecl` | `dist/case/case-sdk.d.ts:657-663` |
1015
1015
  | `spec` | property | `ActivityNodeOpts` | `dist/bpmn/bpmn-sdk.d.ts:1584-1598` |
1016
1016
  | `splitPages` | property | `DocumentClassifyInputs` | `dist/nodes/document/flow/spec.d.ts:16-17` |
1017
- | `stage` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1409-1416` |
1017
+ | `stage` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1413-1420` |
1018
1018
  | `stage` | property | `RuleOpts` | `dist/case/case-sdk.d.ts:29-39` |
1019
1019
  | `stages` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:757` |
1020
1020
  | `stages` | property | `CaseLayout` | `dist/case/case-sdk.d.ts:711-712` |
@@ -1066,7 +1066,7 @@ not find it either.
1066
1066
  | `target` | property | `TypedInputRow` | `dist/bpmn/typed-node.d.ts:248-249` |
1067
1067
  | `target` | property | `TypedOutputRow` | `dist/bpmn/typed-node.d.ts:324-329` |
1068
1068
  | `task` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2338-2346` |
1069
- | `task` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1153-1178` |
1069
+ | `task` | method | `StageBuilder` | `dist/case/case-sdk.d.ts:1154-1179` |
1070
1070
  | `tasks` | property | `RuleOpts` | `dist/case/case-sdk.d.ts:40-55` |
1071
1071
  | `taskTitle` | property | `EscalationRef` | `dist/core/actions.d.ts:765-766` |
1072
1072
  | `taxonomy` | property | `DocValidationInputs` | `dist/nodes/hitl/flow/spec.d.ts:91-92` |
@@ -1096,7 +1096,7 @@ not find it either.
1096
1096
  | `transformation` | property | `FieldMapping` | `dist/nodes/transform/flow/spec.d.ts:30-31` |
1097
1097
  | `trigger` | property | `BuiltEntryPoint` | `dist/flow-sdk.d.ts:825-826` |
1098
1098
  | `trigger` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:851-853` |
1099
- | `trigger` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1400-1408` |
1099
+ | `trigger` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1404-1412` |
1100
1100
  | `trigger` | property | `EscalationOpts` | `dist/case/case-sdk.d.ts:136-137` |
1101
1101
  | `trigger` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1475-1495` |
1102
1102
  | `trigger` | property | `StartOpts` | `dist/bpmn/bpmn-sdk.d.ts:641-688` |
@@ -1113,7 +1113,7 @@ not find it either.
1113
1113
  | `type` | property | `BuiltExitCondition` | `dist/case/case-sdk.d.ts:348-354` |
1114
1114
  | `type` | property | `CaseVarDecl` | `dist/case/case-sdk.d.ts:652` |
1115
1115
  | `type` | property | `ConnectorOutputRow` | `dist/bpmn/bpmn-sdk.d.ts:3197-3198` |
1116
- | `type` | property | `ExitOpts` | `dist/case/case-sdk.d.ts:791-795` |
1116
+ | `type` | property | `ExitOpts` | `dist/case/case-sdk.d.ts:792-796` |
1117
1117
  | `type` | property | `ExtensionPayload` | `dist/bpmn/bpmn-sdk.d.ts:606-607` |
1118
1118
  | `type` | property | `InOutField` | `dist/core/actions.d.ts:252` |
1119
1119
  | `type` | property | `JsonSchemaType` | `dist/case/case-sdk.d.ts:631` |
@@ -1133,7 +1133,7 @@ not find it either.
1133
1133
  | `typeVersion` | property | `ActivityNodeOpts` | `dist/bpmn/bpmn-sdk.d.ts:1610-1625` |
1134
1134
  | `unit` | property | `BuiltSla` | `dist/case/case-sdk.d.ts:197` |
1135
1135
  | `unit` | property | `SlaOpts` | `dist/case/case-sdk.d.ts:177` |
1136
- | `unresolved` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:847-859` |
1136
+ | `unresolved` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:848-860` |
1137
1137
  | `updates` | property | `NodeOptions` | `dist/flow-sdk.d.ts:407-423` |
1138
1138
  | `url` | property | `HttpInputsBase` | `dist/nodes/http/flow/spec.d.ts:32` |
1139
1139
  | `url` | property | `HttpOpts` | `dist/bpmn/bpmn-sdk.d.ts:1160-1165` |
@@ -1159,7 +1159,7 @@ not find it either.
1159
1159
  | `value` | property | `TypedContextRow` | `dist/bpmn/typed-node.d.ts:219-220` |
1160
1160
  | `value` | property | `TypedInputRow` | `dist/bpmn/typed-node.d.ts:250-251` |
1161
1161
  | `values` | property | `DataFabricCreateInputs` | `dist/nodes/data-fabric/flow/spec.d.ts:132-137` |
1162
- | `var` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1375-1399` |
1162
+ | `var` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1379-1403` |
1163
1163
  | `var` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1751-1760` |
1164
1164
  | `var` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:3133-3141` |
1165
1165
  | `var` | property | `TaskOutputBinding` | `dist/case/case-sdk.d.ts:584-585` |
@@ -1177,7 +1177,7 @@ not find it either.
1177
1177
  | `varSchema` | property | `TypedOutputRow` | `dist/bpmn/typed-node.d.ts:302-316` |
1178
1178
  | `version` | property | `BuiltCase` | `dist/case/case-sdk.d.ts:742-748` |
1179
1179
  | `version` | property | `BuiltFlow` | `dist/flow-sdk.d.ts:839` |
1180
- | `version` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1233-1243` |
1180
+ | `version` | method | `CaseBuilder` | `dist/case/case-sdk.d.ts:1234-1244` |
1181
1181
  | `version` | property | `ConnectorEventOpts` | `dist/bpmn/bpmn-sdk.d.ts:1467-1468` |
1182
1182
  | `version` | property | `ConnectorMeta` | `dist/core/connectors.d.ts:63` |
1183
1183
  | `version` | property | `ConnectorOpts` | `dist/core/actions.d.ts:14-15` |
@@ -1196,11 +1196,11 @@ not find it either.
1196
1196
  | `wait` | property | `QueueItemOpts` | `dist/bpmn/bpmn-sdk.d.ts:1336-1340` |
1197
1197
  | `waitConnector` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:603-604` |
1198
1198
  | `waitEvent` | property | `FlowActionSpecs` | `dist/core/actions.d.ts:842-845` |
1199
- | `waitForConnector` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1028-1037` |
1200
- | `waitForConnector` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1038-1045` |
1199
+ | `waitForConnector` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1029-1038` |
1200
+ | `waitForConnector` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1039-1046` |
1201
1201
  | `waitForEvent` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:2762-2803` |
1202
1202
  | `waitForMessage` | property | `FlowActionSpecs` | `dist/nodes/conversation/flow/spec.d.ts:51-54` |
1203
- | `waitForTimer` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1046-1052` |
1203
+ | `waitForTimer` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:1047-1053` |
1204
1204
  | `waypoints` | property | `EdgeRoute` | `dist/flow-sdk.d.ts:747-752` |
1205
1205
  | `when` | property | `FormFieldCondition` | `dist/core/actions.d.ts:119-120` |
1206
1206
  | `when` | property | `SlaOpts` | `dist/case/case-sdk.d.ts:184-190` |
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * case-sdk — a fluent builder for UiPath Case Management plans (`caseplan.json`,
3
- * schema V30).
3
+ * schema V32).
4
4
  *
5
5
  * Like the Flow builder, this constructs a plain description of a case — its
6
6
  * stages, the tasks inside them, and the entry/exit *conditions* that drive
@@ -771,8 +771,9 @@ export interface EntryOpts {
771
771
  * `"<stage> entry"` / `"<task> entry"` — because `uip maestro case validate`
772
772
  * requires condition names to be unique across the whole case and rejects a
773
773
  * repeat as `CASE_MGMT_RULE_NAME_DUPLICATE`, at error severity. A name given
774
- * here is emitted verbatim; duplicating one is reported by `case check` as
775
- * `DUP_RULE_NAME`.
774
+ * here is emitted verbatim the first time. A later repeat is reported by
775
+ * `case check` as `DUP_RULE_NAME` and written with a suffix (`"Entry rule 2"`),
776
+ * the same rename the platform's V32 migration applies.
776
777
  */
777
778
  displayName?: string;
778
779
  isInterrupting?: boolean;
@@ -1247,25 +1248,28 @@ declare class CaseBuilder {
1247
1248
  * @remarks
1248
1249
  * The top-level `version` of a `caseplan.json` is a claim that the whole
1249
1250
  * document matches that grammar — `@uipath/case-schema` ships one closed
1250
- * schema per version — so this accepts only what the serializer can emit,
1251
- * currently `30.0.0` alone. Omit it and the plan declares the same thing;
1252
- * declaring it explicitly is what lets `case-decompile` PRESERVE the version
1253
- * it read rather than re-stamping the SDK's own default, so a later write-floor
1254
- * bump cannot silently upgrade a document a decompile already captured.
1251
+ * schema per version — so this accepts only what the serializer can emit:
1252
+ * `32.0.4` (the native grammar), the earlier V32 patches `32.0.0`–`32.0.3`, and
1253
+ * `30.0.0`. The serializer writes the same bytes for all of them, because its
1254
+ * output is already what the platform's V30→V32.0.4 migrations would produce.
1255
+ * Omit it and the plan declares `32.0.3`, the production floor most rings'
1256
+ * Case Designer reads; declaring it explicitly is what lets
1257
+ * `case-decompile` PRESERVE the version it read (a Studio Web plan saved at
1258
+ * `32.0.4` stays `32.0.4`) rather than re-stamping the SDK's own default.
1255
1259
  *
1256
1260
  * Case has no `migrate` command: documents move forward on read, through the
1257
- * platform's feature-flag-gated chain. An older version is therefore refused
1258
- * with the reason rather than written onto V30 bytes.
1261
+ * platform's feature-flag-gated chain. A version this build cannot write
1262
+ * (`31.0.0`, anything older than `30.0.0`) is refused with the reason.
1259
1263
  *
1260
1264
  * @example
1261
1265
  * ```ts
1262
- * casePlan('claims').schemaVersion('30.0.0')
1266
+ * casePlan('claims').schemaVersion('32.0.4')
1263
1267
  * ```
1264
1268
  *
1265
- * @param version - A writable Case JSON schema version, e.g. `'30.0.0'`.
1269
+ * @param version - A writable Case JSON schema version, e.g. `'32.0.4'`.
1266
1270
  * @returns This builder, so calls chain.
1267
1271
  * @throws Error when this SDK build cannot write `version`.
1268
- * @defaultValue `'30.0.0'` — `CASE_FORMAT_PROFILE.writeVersion`.
1272
+ * @defaultValue `'32.0.3'` — `CASE_FORMAT_PROFILE.defaultVersion`, the production floor. The grammar is `CASE_FORMAT_PROFILE.writeVersion` (`32.0.4`), the same bytes.
1269
1273
  */
1270
1274
  schemaVersion(version: string): this;
1271
1275
  /**
@@ -703,25 +703,28 @@ class CaseBuilder {
703
703
  * @remarks
704
704
  * The top-level `version` of a `caseplan.json` is a claim that the whole
705
705
  * document matches that grammar — `@uipath/case-schema` ships one closed
706
- * schema per version — so this accepts only what the serializer can emit,
707
- * currently `30.0.0` alone. Omit it and the plan declares the same thing;
708
- * declaring it explicitly is what lets `case-decompile` PRESERVE the version
709
- * it read rather than re-stamping the SDK's own default, so a later write-floor
710
- * bump cannot silently upgrade a document a decompile already captured.
706
+ * schema per version — so this accepts only what the serializer can emit:
707
+ * `32.0.4` (the native grammar), the earlier V32 patches `32.0.0`–`32.0.3`, and
708
+ * `30.0.0`. The serializer writes the same bytes for all of them, because its
709
+ * output is already what the platform's V30→V32.0.4 migrations would produce.
710
+ * Omit it and the plan declares `32.0.3`, the production floor most rings'
711
+ * Case Designer reads; declaring it explicitly is what lets
712
+ * `case-decompile` PRESERVE the version it read (a Studio Web plan saved at
713
+ * `32.0.4` stays `32.0.4`) rather than re-stamping the SDK's own default.
711
714
  *
712
715
  * Case has no `migrate` command: documents move forward on read, through the
713
- * platform's feature-flag-gated chain. An older version is therefore refused
714
- * with the reason rather than written onto V30 bytes.
716
+ * platform's feature-flag-gated chain. A version this build cannot write
717
+ * (`31.0.0`, anything older than `30.0.0`) is refused with the reason.
715
718
  *
716
719
  * @example
717
720
  * ```ts
718
- * casePlan('claims').schemaVersion('30.0.0')
721
+ * casePlan('claims').schemaVersion('32.0.4')
719
722
  * ```
720
723
  *
721
- * @param version - A writable Case JSON schema version, e.g. `'30.0.0'`.
724
+ * @param version - A writable Case JSON schema version, e.g. `'32.0.4'`.
722
725
  * @returns This builder, so calls chain.
723
726
  * @throws Error when this SDK build cannot write `version`.
724
- * @defaultValue `'30.0.0'` — `CASE_FORMAT_PROFILE.writeVersion`.
727
+ * @defaultValue `'32.0.3'` — `CASE_FORMAT_PROFILE.defaultVersion`, the production floor. The grammar is `CASE_FORMAT_PROFILE.writeVersion` (`32.0.4`), the same bytes.
725
728
  */
726
729
  schemaVersion(version) {
727
730
  const refusal = schemaVersionRefusal(CASE_SCHEMA_VERSIONS, version);
@@ -975,7 +978,7 @@ class CaseBuilder {
975
978
  const built = {
976
979
  id: this._id,
977
980
  name: this._name,
978
- version: this._schemaVersion ?? CASE_FORMAT_PROFILE.writeVersion,
981
+ version: this._schemaVersion ?? CASE_FORMAT_PROFILE.defaultVersion,
979
982
  description: this._description,
980
983
  identifier: this._identifier ?? this._name,
981
984
  identifierType: this._identifierType,
@@ -9,6 +9,17 @@ import { checkEventResolution } from '../core/event-checks.js';
9
9
  import { EXTERNAL_TASK_DESCRIPTOR_CONTRACT, EXTERNAL_TASK_HYBRID_UNSUPPORTED, externalHybridRefusal, isExternalExecutionMode } from './external.js';
10
10
  import { isResourceLabelRefusal, resolveResourceRef } from './resource-identity.js';
11
11
  const TYPE_NAMES = new Set(Object.values(types));
12
+ /**
13
+ * Every key an `ActionField` takes. `compile` writes only these onto the form
14
+ * row, so any other key would be dropped without a word (builder-sdk#1422): an
15
+ * author who adds the Designer's row keys (`id`, `var`, `source`) sees `check`
16
+ * and `compile` pass and the row come out unchanged. The `satisfies` keeps this
17
+ * list and the interface in step: a key added to one and not the other fails to
18
+ * type-check.
19
+ */
20
+ const ACTION_FIELD_KEYS = new Set(Object.keys({
21
+ name: true, type: true, subType: true, displayName: true, value: true, required: true, options: true,
22
+ }));
12
23
  // audit-case-coverage: rule-slot table start
13
24
  // This runtime table must equal the committed matrix's rejected cells. The audit
14
25
  // parses these object literals; the product-pin matrix currently rejects none.
@@ -168,9 +179,12 @@ export function check(built, opts = {}) {
168
179
  // reports it as an error.
169
180
  const DESIGNER_GENERATED = /^(?:(?:Entry|Exit|Completion) rule \d+|Case complete|Stage complete|Tasks completed rule)$/;
170
181
  // `serialize` de-duplicates the defaults it generates, so anything reported
171
- // here is a name the author spelled out twice; renaming it for them would be
172
- // the worse surprise, and without this the collision only surfaces one step
173
- // later, from `validate`, after a compile.
182
+ // here is a name the author spelled out twice. Compile renames the later one
183
+ // (`dedupeConditionNames`, the platform's own V32 rule), because a V32 file
184
+ // with a repeat fails `validate`. This warning says so before it happens, so
185
+ // the author can pick the name instead. A repeated Designer-generated name
186
+ // (exempt above) is renamed too, without a warning: nobody chose it, and the
187
+ // platform's own V32 migration renames it the same way.
174
188
  const conditionNames = new Map();
175
189
  const checkConditionName = (displayName, where) => {
176
190
  if (!displayName || DESIGNER_GENERATED.test(displayName))
@@ -181,7 +195,8 @@ export function check(built, opts = {}) {
181
195
  level: 'warning',
182
196
  code: 'DUP_RULE_NAME',
183
197
  message: `Rule name "${displayName}" is not unique — also used by ${first}. `
184
- + '`uip maestro case validate` rejects this as CASE_MGMT_RULE_NAME_DUPLICATE; rename one of them.',
198
+ + 'Case schema V32 requires unique rule names, so compile renames this one (for example to '
199
+ + `"${displayName} 2"), the way the platform's V32 migration does. Rename one of them to choose the name yourself.`,
185
200
  where,
186
201
  });
187
202
  else
@@ -624,6 +639,24 @@ function checkStage(stage, diags, refStage, refPlacement, bindings) {
624
639
  message: `Action field "${emptyRequiredField.name}" in task "${t.name}" is required but has no value. Set its value or remove required: true; required does not mean reviewer-must-fill.`,
625
640
  where: t.name,
626
641
  });
642
+ for (const [side, fields] of [['input', t.action?.inputs], ['output', t.action?.outputs]])
643
+ for (const field of fields ?? []) {
644
+ const unknown = Object.keys(field)
645
+ .filter((key) => !ACTION_FIELD_KEYS.has(key) && field[key] !== undefined);
646
+ if (!unknown.length)
647
+ continue;
648
+ diags.push({
649
+ level: 'error',
650
+ code: 'ACTION_FIELD_UNKNOWN_KEY',
651
+ message: `Action ${side} field "${String(field.name)}" in task "${t.name}" has ${unknown.length === 1 ? 'a key' : 'keys'} ` +
652
+ `${unknown.map((key) => `"${key}"`).join(', ')} that an action field does not take, so compile would drop ${unknown.length === 1 ? 'it' : 'them'}. ` +
653
+ `An action field takes ${[...ACTION_FIELD_KEYS].join(', ')}. ` +
654
+ (side === 'output'
655
+ ? `To choose the case variable an output writes, set value: '<variable>'; compile writes the row's id, var, source and target from it.`
656
+ : `An input's value is the literal or =vars.<name> expression the assignee sees.`),
657
+ where: t.name,
658
+ });
659
+ }
627
660
  if (t.entry.length === 0)
628
661
  diags.push({
629
662
  level: 'error',
@@ -5,7 +5,7 @@
5
5
  * Usage:
6
6
  * node --experimental-strip-types compile-cli.js <case.ts | BaseName> [-o out.json]
7
7
  *
8
- * Runs the fast static check first; if it passes, serializes to a V30
8
+ * Runs the fast static check first; if it passes, serializes to a V32
9
9
  * caseplan.json. The authoritative deploy gate is `uip maestro case validate`.
10
10
  * Output defaults to the plan file the project in the working directory ships
11
11
  * (`caseplan.case` for a project `uip maestro case init` scaffolded), else
@@ -5,7 +5,7 @@
5
5
  * Usage:
6
6
  * node --experimental-strip-types decompile-cli.js <caseplan.json> [-o Name.case.ts] [--import <specifier>] [--library <dir>] [--best-effort] [--no-pipeline]
7
7
  *
8
- * The reverse of compile-cli: reads a V20-V30 caseplan and emits builder source whose
8
+ * The reverse of compile-cli: reads a V20-V32 caseplan and emits builder source whose
9
9
  * default export re-serializes to the same caseplan (structurally). `--import`
10
10
  * sets the module specifier of the emitted `import { casePlan, rule }` line
11
11
  * (default the package's `./case` subpath export) so the
@@ -2,6 +2,7 @@ import type { SchemaVersionPolicy } from '../schema-version.js';
2
2
  /** The serializer-owned Case JSON grammar contract. */
3
3
  export interface CaseFormatProfile {
4
4
  writeVersion: string;
5
+ defaultVersion: string;
5
6
  publishVersion: number;
6
7
  nodeTypeField: 'type';
7
8
  triggerNodeType: string;
@@ -36,25 +37,6 @@ export interface CaseFormatProfile {
36
37
  };
37
38
  }
38
39
  export declare const CASE_FORMAT_PROFILE: Readonly<CaseFormatProfile>;
39
- /**
40
- * Which Case JSON schema versions `.schemaVersion()` may declare.
41
- *
42
- * ONE, and that is the honest answer rather than a placeholder. Case is a
43
- * closed, whole-document schema: `@uipath/case-schema` ships a chain of
44
- * grammars (`case-schema-census.json`'s `versionChain`), each with its own
45
- * forward migration, and a version is a claim that the entire document matches
46
- * that grammar. This SDK emits the V30 grammar natively — the V30 rule schemas
47
- * `z.never` the singular `selectedStageId` that a V20 document would carry, so
48
- * the older shapes are not something the current emitter can reach by writing a
49
- * different number on the same bytes. `.schemaVersion('30.0.0')` is therefore
50
- * an explicit restatement of what gets written, which is what makes a decompile
51
- * able to PRESERVE it, and an older version is refused with the reason instead
52
- * of being stamped onto V30 bytes.
53
- *
54
- * A second row lands here the day the emitter can write a second grammar — the
55
- * `migrationDependencies` above are the same shape of statement one version
56
- * further in (a feature that only exists from a given version onward).
57
- */
58
40
  export declare const CASE_SCHEMA_VERSIONS: SchemaVersionPolicy;
59
41
  export declare function recordAuthoredCaseVersion(built: object, version: string): void;
60
42
  export declare function authoredCaseVersion(built: object): string | undefined;
@@ -1,5 +1,12 @@
1
1
  export const CASE_FORMAT_PROFILE = {
2
- writeVersion: '30.0.0',
2
+ writeVersion: '32.0.4',
3
+ // The version a case with no `.schemaVersion()` declares: the production
4
+ // floor, not the grammar. The bytes are the same (a `sameBytesAs` row), but a
5
+ // deployed Case Designer refuses a file that declares a newer schema than it
6
+ // knows, and most production rings read 32.0.3 (the CLI's nightly case-schema
7
+ // report; UiPath/cli#5001 pins the same floor in
8
+ // packages/case-tool/case-schema-floor.json). Raise it with that floor.
9
+ defaultVersion: '32.0.3',
3
10
  publishVersion: 2,
4
11
  nodeTypeField: 'type',
5
12
  triggerNodeType: 'uipath.case.trigger',
@@ -30,8 +37,10 @@ export const CASE_FORMAT_PROFILE = {
30
37
  ],
31
38
  // The validation pin (the `@uipath/case-schema` devDependency in
32
39
  // typescript/package.json; the census records it as `generatedFrom.version`)
33
- // and the newest Case JSON version that package reads. The writer stays at V30 (`writeVersion`): V31+ is read
34
- // and migrated by the platform, not emitted here.
40
+ // and the newest Case JSON version that package reads. The writer emits that
41
+ // version natively (`writeVersion`).
42
+ // Raising either means re-running tests/case-v32-native.test.ts against the
43
+ // new pin: it proves the output is a fixed point of every migration hop.
35
44
  validationCeiling: {
36
45
  caseSchemaVersion: '0.1173.0',
37
46
  formatVersion: '32.0.4',
@@ -40,27 +49,46 @@ export const CASE_FORMAT_PROFILE = {
40
49
  /**
41
50
  * Which Case JSON schema versions `.schemaVersion()` may declare.
42
51
  *
43
- * ONE, and that is the honest answer rather than a placeholder. Case is a
44
- * closed, whole-document schema: `@uipath/case-schema` ships a chain of
45
- * grammars (`case-schema-census.json`'s `versionChain`), each with its own
52
+ * Case is a closed, whole-document schema: `@uipath/case-schema` ships a chain
53
+ * of grammars (`case-schema-census.json`'s `versionChain`), each with its own
46
54
  * forward migration, and a version is a claim that the entire document matches
47
- * that grammar. This SDK emits the V30 grammar natively — the V30 rule schemas
48
- * `z.never` the singular `selectedStageId` that a V20 document would carry, so
49
- * the older shapes are not something the current emitter can reach by writing a
50
- * different number on the same bytes. `.schemaVersion('30.0.0')` is therefore
51
- * an explicit restatement of what gets written, which is what makes a decompile
52
- * able to PRESERVE it, and an older version is refused with the reason instead
53
- * of being stamped onto V30 bytes.
55
+ * that grammar. So a row here needs evidence that the claim is true.
54
56
  *
55
- * A second row lands here the day the emitter can write a second grammar — the
56
- * `migrationDependencies` above are the same shape of statement one version
57
- * further in (a feature that only exists from a given version onward).
57
+ * The serializer writes V32.0.4 natively. From V30 to V32.0.4 the node, task
58
+ * and rule schemas are the same (`CaseManagementJsonNodeSchemaV29`); V32 only
59
+ * adds an optional `caseRules`. What the versions add is invariants, enforced
60
+ * by the six migration hops the platform runs on read:
61
+ *
62
+ * | Hop | What it repairs | Why SDK output never needs it |
63
+ * |---|---|---|
64
+ * | 30 -> 31 | non-sequential tasks sharing a task set | `v31TaskSets` gives each its own set (task-sets.ts) |
65
+ * | 31 -> 32 | repeated generated condition names, ids | `dedupeConditionNames` (rule-names.ts); `IdGen` ids are file-unique |
66
+ * | 32 -> 32.0.1 | any repeated condition name; SLA/escalation ids | the same two |
67
+ * | 32.0.1 -> 32.0.2 | a trigger's legacy `data.uipath` bag | triggers write `data.inputs` (`triggerBagField`) |
68
+ * | 32.0.2 -> 32.0.3 | `elementId` of `custom: true` task outputs | task output rows never carry `custom` |
69
+ * | 32.0.3 -> 32.0.4 | repeated rule ids | `IdGen` |
70
+ *
71
+ * Every row below is therefore the same bytes under a different claim, and
72
+ * `tests/case-v32-native.test.ts` proves it: each emitted document, stamped
73
+ * down to `30.0.0` and run through the pin's migrator, comes back unchanged.
74
+ * `30.0.0` and the earlier V32 patches stay writable so a decompile can
75
+ * PRESERVE what it read (`case init` stamps `32.0.3`; older SDK output is
76
+ * `30.0.0`) instead of re-stamping. `31.0.0` is left out: nothing writes it.
77
+ */
78
+ /**
79
+ * The older versions written as the same bytes as `writeVersion`: the census
80
+ * `versionChain` from below `writeVersion` down to `30.0.0`, minus `31.0.0`.
81
+ * scripts/audit-case-coverage.mjs fails when this list and the chain disagree,
82
+ * so a `writeVersion` bump cannot leave the previous version unwritable.
58
83
  */
84
+ const SAME_BYTES_VERSIONS = ['32.0.3', '32.0.2', '32.0.1', '32.0.0', '30.0.0'];
85
+ const SAME_AS_NATIVE = 'Same bytes as the native write version: SDK output is a fixed point of the migrations between them '
86
+ + '(tests/case-v32-native.test.ts).';
59
87
  export const CASE_SCHEMA_VERSIONS = {
60
88
  family: 'case',
61
89
  mode: 'enumerated',
62
90
  method: '.schemaVersion',
63
- default: CASE_FORMAT_PROFILE.writeVersion,
91
+ default: CASE_FORMAT_PROFILE.defaultVersion,
64
92
  latestKnown: CASE_FORMAT_PROFILE.validationCeiling.formatVersion,
65
93
  migration: 'Case documents migrate FORWARD on read, through the platform\'s feature-flag-gated chain; there is no '
66
94
  + '`uip maestro case migrate`, and no path that writes an older grammar.',
@@ -70,7 +98,8 @@ export const CASE_SCHEMA_VERSIONS = {
70
98
  // shared wording did, and what an eval agent then worked around by copying the
71
99
  // recompiled file over the original.
72
100
  preserveAdvice: (_declared, writes, direction) => direction === 'newer'
73
- ? `Keep the original file: this build's ceiling is ${writes}, so recompiling over it is the one `
101
+ ? `Keep the original file: this build's ceiling is ${CASE_FORMAT_PROFILE.writeVersion}, so recompiling `
102
+ + `over it (which writes ${writes}) is the one `
74
103
  + 'direction the platform will not undo for you.'
75
104
  : `Recompiling rewrites the whole file at ${writes}. That is the direction the platform's on-read `
76
105
  + 'chain takes it anyway, and the round-trip is asserted converter-equivalent over the migration '
@@ -79,8 +108,14 @@ export const CASE_SCHEMA_VERSIONS = {
79
108
  {
80
109
  version: CASE_FORMAT_PROFILE.writeVersion,
81
110
  evidence: 'The grammar this serializer emits natively, asserted construct by construct by '
82
- + 'scripts/audit-case-coverage.mjs against case-schema-census.json for the pinned write version.',
111
+ + 'scripts/audit-case-coverage.mjs against case-schema-census.json for the pinned write version, '
112
+ + 'and validated at that version by tests/case-v32-native.test.ts.',
83
113
  },
114
+ ...SAME_BYTES_VERSIONS.map((version) => ({
115
+ version,
116
+ sameBytesAs: CASE_FORMAT_PROFILE.writeVersion,
117
+ evidence: SAME_AS_NATIVE,
118
+ })),
84
119
  ],
85
120
  };
86
121
  // Preserve deprecated-method provenance for check() without adding an emitted
@@ -1,5 +1,5 @@
1
1
  /**
2
- * case/ids — deterministic ID generation for caseplan.json (schema V30).
2
+ * case/ids — deterministic ID generation for caseplan.json (schema V32).
3
3
  *
4
4
  * The Case schema (see @uipath/case-schema) uses `prefixedId`-style IDs: a fixed
5
5
  * prefix followed by N characters from the base-62 alphabet. The frontend and
package/dist/case/ids.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * case/ids — deterministic ID generation for caseplan.json (schema V30).
2
+ * case/ids — deterministic ID generation for caseplan.json (schema V32).
3
3
  *
4
4
  * The Case schema (see @uipath/case-schema) uses `prefixedId`-style IDs: a fixed
5
5
  * prefix followed by N characters from the base-62 alphabet. The frontend and
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Case-unique condition names, the way the V32 schema requires them.
3
+ *
4
+ * From Case JSON V32 on, no two conditions in a case share a `displayName`. The
5
+ * platform gets there with two forward migrations in `@uipath/case-schema`
6
+ * (0.1173.0), which it runs on read for any document older than V32:
7
+ *
8
+ * - V31 -> V32 (`deduplicateCaseManagementRuleIdentities`) renames a repeated
9
+ * name only when it is one of the Designer's own generated names. A numbered
10
+ * one (`Entry rule 1`) is renumbered from 1 (`Entry rule 2`).
11
+ * - V32 -> V32.0.1 (`deduplicateCaseManagementIdentities`) renames every name
12
+ * that is still repeated. A name ending in a generated counter, matched
13
+ * without case (`Entry Rule 1`), gets the next free counter (`Entry Rule 2`);
14
+ * any other name gets a suffix (`Complete rule` -> `Complete rule 2`).
15
+ *
16
+ * A V32 document is read as written, so nothing renames its repeats any more:
17
+ * `uip maestro case validate` refuses them as CASE_MGMT_RULE_NAME_DUPLICATE. The
18
+ * serializer therefore writes the names those two steps would have produced, so
19
+ * a document it writes is already their fixed point. Stamped down to 30.0.0 and
20
+ * migrated, it comes back unchanged (`tests/case-v32-native.test.ts`).
21
+ *
22
+ * Both steps walk the conditions in the same order, and the first occurrence
23
+ * keeps its name: each stage node in `nodes[]` order (its entry conditions, its
24
+ * exit conditions, then its tasks' entry conditions set by set), then
25
+ * `metadata.caseExitRules`, then a preserved Case Manager configuration's tasks.
26
+ *
27
+ * One gap, on purpose: the platform's generated-name list is localized (about
28
+ * 270 templates in nine languages). Only the English numbered templates are
29
+ * mirrored here. A localized generated name that repeats is therefore
30
+ * suffixed (`Regla de entrada 1 2`) where the platform would renumber it
31
+ * (`Regla de entrada 2`). Only a decompiled pre-V32 document saved by a
32
+ * localized Designer can reach that, and the result is still unique.
33
+ */
34
+ /**
35
+ * Rename repeated condition names in place, first occurrence wins, so the
36
+ * document carries the names the platform's V31 -> V32 and V32 -> V32.0.1
37
+ * migrations would give it. Returns the renames, in walk order.
38
+ */
39
+ export declare function dedupeConditionNames(plan: Record<string, unknown>): Array<{
40
+ from: string;
41
+ to: string;
42
+ }>;
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Case-unique condition names, the way the V32 schema requires them.
3
+ *
4
+ * From Case JSON V32 on, no two conditions in a case share a `displayName`. The
5
+ * platform gets there with two forward migrations in `@uipath/case-schema`
6
+ * (0.1173.0), which it runs on read for any document older than V32:
7
+ *
8
+ * - V31 -> V32 (`deduplicateCaseManagementRuleIdentities`) renames a repeated
9
+ * name only when it is one of the Designer's own generated names. A numbered
10
+ * one (`Entry rule 1`) is renumbered from 1 (`Entry rule 2`).
11
+ * - V32 -> V32.0.1 (`deduplicateCaseManagementIdentities`) renames every name
12
+ * that is still repeated. A name ending in a generated counter, matched
13
+ * without case (`Entry Rule 1`), gets the next free counter (`Entry Rule 2`);
14
+ * any other name gets a suffix (`Complete rule` -> `Complete rule 2`).
15
+ *
16
+ * A V32 document is read as written, so nothing renames its repeats any more:
17
+ * `uip maestro case validate` refuses them as CASE_MGMT_RULE_NAME_DUPLICATE. The
18
+ * serializer therefore writes the names those two steps would have produced, so
19
+ * a document it writes is already their fixed point. Stamped down to 30.0.0 and
20
+ * migrated, it comes back unchanged (`tests/case-v32-native.test.ts`).
21
+ *
22
+ * Both steps walk the conditions in the same order, and the first occurrence
23
+ * keeps its name: each stage node in `nodes[]` order (its entry conditions, its
24
+ * exit conditions, then its tasks' entry conditions set by set), then
25
+ * `metadata.caseExitRules`, then a preserved Case Manager configuration's tasks.
26
+ *
27
+ * One gap, on purpose: the platform's generated-name list is localized (about
28
+ * 270 templates in nine languages). Only the English numbered templates are
29
+ * mirrored here. A localized generated name that repeats is therefore
30
+ * suffixed (`Regla de entrada 1 2`) where the platform would renumber it
31
+ * (`Regla de entrada 2`). Only a decompiled pre-V32 document saved by a
32
+ * localized Designer can reach that, and the result is still unique.
33
+ */
34
+ /** The Designer's English numbered condition names (`CaseManagementRuleNameTemplates.ts`). */
35
+ const NUMBERED_TEMPLATES = [
36
+ 'Case completion rule',
37
+ 'Case exit',
38
+ 'Completion rule',
39
+ 'Condition',
40
+ 'Entry rule',
41
+ 'Exit rule',
42
+ ];
43
+ const escapeRegex = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
44
+ const numbered = (flags) => NUMBERED_TEMPLATES.map((prefix) => ({ prefix, pattern: new RegExp(`^${escapeRegex(prefix)} \\d+$`, flags) }));
45
+ const NUMBERED_EXACT = numbered('');
46
+ const NUMBERED_LOOSE = numbered('i');
47
+ const TRAILING_NUMBER = /^(.*\D)(\d+)$/;
48
+ /** Every rule condition of a caseplan-shaped document, in the migrations' walk order. */
49
+ function conditionsInWalkOrder(plan) {
50
+ const out = [];
51
+ const take = (conditions) => {
52
+ if (Array.isArray(conditions))
53
+ for (const c of conditions)
54
+ if (c && typeof c === 'object')
55
+ out.push(c);
56
+ };
57
+ for (const node of Array.isArray(plan.nodes) ? plan.nodes : []) {
58
+ const data = node?.data;
59
+ if (!data)
60
+ continue;
61
+ take(data.entryConditions);
62
+ take(data.exitConditions);
63
+ for (const set of Array.isArray(data.tasks) ? data.tasks : [])
64
+ if (Array.isArray(set))
65
+ for (const task of set)
66
+ take(task?.entryConditions);
67
+ take(data.adhocOrchestrationData?.adhocConnectorTask?.entryConditions);
68
+ take(data.adhocCaseEndData?.endCaseConnectorTask?.entryConditions);
69
+ }
70
+ take(plan.metadata?.caseExitRules);
71
+ // A Case Manager configuration rides through decompile in the preserved
72
+ // metadata; the migrations walk its tasks too.
73
+ const manager = plan.metadata?.caseManagerData;
74
+ for (const set of Array.isArray(manager?.data?.tasks) ? manager.data.tasks : [])
75
+ if (Array.isArray(set))
76
+ for (const task of set)
77
+ take(task?.entryConditions);
78
+ for (const event of Array.isArray(manager?.globalEvents) ? manager.globalEvents : [])
79
+ take(event?.task?.entryConditions);
80
+ return out;
81
+ }
82
+ const trimmedName = (c) => typeof c.displayName === 'string' ? c.displayName.trim() : undefined;
83
+ /**
84
+ * The first `build(n)` (from `start` up) that no condition uses yet, recorded as
85
+ * used. The platform's `nextNumberedName`, minus its 1000-attempt cap.
86
+ */
87
+ function nextNumberedName(taken, build, start = 1) {
88
+ let n = start;
89
+ let name = build(n).trim();
90
+ while (taken.has(name))
91
+ name = build(++n).trim();
92
+ taken.add(name);
93
+ return name;
94
+ }
95
+ /**
96
+ * Rename repeated condition names in place, first occurrence wins, so the
97
+ * document carries the names the platform's V31 -> V32 and V32 -> V32.0.1
98
+ * migrations would give it. Returns the renames, in walk order.
99
+ */
100
+ export function dedupeConditionNames(plan) {
101
+ const conditions = conditionsInWalkOrder(plan);
102
+ const renames = [];
103
+ // One pass of a migration step: `rename` returns the new name, or undefined
104
+ // to leave this repeat alone. `taken` starts as every name in the document.
105
+ const pass = (rename) => {
106
+ const taken = new Set(conditions.map(trimmedName).filter((n) => !!n));
107
+ const used = new Set();
108
+ for (const condition of conditions) {
109
+ const name = trimmedName(condition);
110
+ if (!name)
111
+ continue;
112
+ if (!used.has(name)) {
113
+ used.add(name);
114
+ continue;
115
+ }
116
+ const replacement = rename(name, taken);
117
+ if (replacement === undefined)
118
+ continue;
119
+ used.add(replacement);
120
+ renames.push({ from: String(condition.displayName), to: replacement });
121
+ condition.displayName = replacement;
122
+ }
123
+ };
124
+ // V31 -> V32: only a repeated generated name, renumbered from 1.
125
+ pass((name, taken) => {
126
+ const template = NUMBERED_EXACT.find(({ pattern }) => pattern.test(name));
127
+ return template ? nextNumberedName(taken, (n) => `${template.prefix} ${n}`) : undefined;
128
+ });
129
+ // V32 -> V32.0.1: every remaining repeat.
130
+ pass((name, taken) => {
131
+ const counter = NUMBERED_LOOSE.some(({ pattern }) => pattern.test(name)) ? TRAILING_NUMBER.exec(name) : null;
132
+ if (counter) {
133
+ const start = Number.parseInt(counter[2], 10);
134
+ if (Number.isSafeInteger(start))
135
+ return nextNumberedName(taken, (n) => `${counter[1]}${n}`, start);
136
+ }
137
+ return nextNumberedName(taken, (n) => (n === 1 ? name : `${name} ${n}`));
138
+ });
139
+ return renames;
140
+ }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * case/serialize — turn a BuiltCase (from the builder) into a real UiPath
3
- * `caseplan.json` (schema V30, as defined by @uipath/case-schema / validated by
3
+ * `caseplan.json` (schema V32, as defined by @uipath/case-schema / validated by
4
4
  * `uip maestro case validate`).
5
5
  *
6
6
  * A case is a hierarchy, not a graph: the output has `edges: []` and expresses
@@ -16,6 +16,7 @@ import { EQUALS_EXPR_DIALECT } from '../core/connector-checks.js';
16
16
  import { bindingLabelRefusal } from '../core/binding-messages.js';
17
17
  import { resolveEventWhere } from '../core/lookups.js';
18
18
  import { resolveCaseSubscription } from './subscription.js';
19
+ import { dedupeConditionNames } from './rule-names.js';
19
20
  import { externalDescriptorRefusal, externalHybridRefusal, externalServiceType, isExternalExecutionMode } from './external.js';
20
21
  import { CASE_FORMAT_PROFILE, CASE_SCHEMA_VERSIONS } from './format-profile.js';
21
22
  import { isResourceLabelRefusal, resolveResourceRef, resourceIdentity } from './resource-identity.js';
@@ -44,9 +45,11 @@ import { ruleShapeProblems } from './rule-options.js';
44
45
  * "Entry rule".
45
46
  *
46
47
  * Authored names are reserved FIRST, so a generated default never steals a name
47
- * the author spells out later in the chain, and are then returned untouched —
48
- * renaming what an author wrote would be the worse surprise. A collision among
49
- * authored names is left alone here and reported by `case check` (DUP_RULE_NAME).
48
+ * the author spells out later in the chain, and are then returned untouched
49
+ * here. A collision among authored names is reported by `case check`
50
+ * (DUP_RULE_NAME) and renamed by `dedupeConditionNames` once the document is
51
+ * finished: V32 refuses a repeated name, and the platform's own migration
52
+ * renames it the same way on any older document.
50
53
  */
51
54
  function conditionNamer(built) {
52
55
  const taken = new Set();
@@ -275,7 +278,13 @@ export function serialize(built, opts = {}) {
275
278
  }
276
279
  : {}),
277
280
  };
278
- return stampConnectorConfigVersion(applyAuthorLayout(applyPreservation(result, caseJsonPreservation(built)), built.layout));
281
+ const plan = stampConnectorConfigVersion(applyAuthorLayout(applyPreservation(result, caseJsonPreservation(built)), built.layout));
282
+ // Last, over the finished document: V32 requires case-unique condition names,
283
+ // and an author (or a decompiled pre-V32 plan) can repeat one. Rename the
284
+ // repeats the way the platform's V31/V32.0.1 migrations would, so the file is
285
+ // already what the platform reads (see rule-names.ts).
286
+ dedupeConditionNames(plan);
287
+ return plan;
279
288
  }
280
289
  /** The task types whose `data.context[]` carries an Integration Service activity configuration. */
281
290
  const CONNECTOR_CONFIG_TASK_TYPES = new Set([
@@ -115,7 +115,9 @@ export function schemaVersionRefusal(policy, requested) {
115
115
  ? `${requested} is a platform ${family} schema version newer than this build writes`
116
116
  + (policy.latestKnown !== undefined ? ` (the platform's current is ${policy.latestKnown})` : '')
117
117
  + '; this SDK build has not been taught to write it.'
118
- : `${requested} is older than the ${writable.length === 1 ? 'one version' : 'versions'} this build writes.`;
118
+ : writable[0] !== undefined && compareSchemaVersions(requested, writable[0]) > 0
119
+ ? `${requested} falls between the versions this build writes and is not one of them.`
120
+ : `${requested} is older than the ${writable.length === 1 ? 'one version' : 'versions'} this build writes.`;
119
121
  return (`${method}("${requested}"): this SDK build writes ${family} schema ${writable.join(' / ')}. ${direction} `
120
122
  + `A document's version claims that the WHOLE document matches that schema, so declaring one this build cannot emit `
121
123
  + `would write a false claim rather than a different document. ${policy.migration}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/maestro-builder-sdk",
3
- "version": "6.50.3",
3
+ "version": "6.51.1",
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",
@@ -92,5 +92,5 @@
92
92
  "@types/node": "^22.7.0",
93
93
  "esbuild": "^0.28.1"
94
94
  },
95
- "gitref": "0032ab42cb514937398fedb0349f2a550d483a83"
95
+ "gitref": "c337d613dbdd47c336bac7e128bca86a54032c95"
96
96
  }