@uipath/maestro-builder-sdk 6.9.5 → 6.10.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/README.md +18 -4
- package/dist/api-index.md +15 -15
- package/dist/api-members.md +14 -14
- package/dist/bpmn/check-cli.js +2 -0
- package/dist/bpmn/compile-cli.js +3 -1
- package/dist/bpmn/decompile-cli.js +3 -1
- package/dist/bpmn/merge-cli.js +3 -1
- package/dist/bpmn/tidy-cli.js +3 -0
- package/dist/case/check-cli.js +2 -0
- package/dist/case/compile-cli.js +3 -1
- package/dist/case/decompile-cli.js +3 -0
- package/dist/case/merge-cli.js +3 -1
- package/dist/check-cli.js +2 -0
- package/dist/check.js +2 -2
- package/dist/cli/commands/bpmn.js +13 -7
- package/dist/cli/commands/case.js +13 -7
- package/dist/cli/commands/flow.js +14 -10
- package/dist/cli/commands/registry.js +11 -3
- package/dist/cli/common.d.ts +36 -1
- package/dist/cli/common.js +89 -0
- package/dist/cli/index.js +40 -2
- package/dist/cli-result.d.ts +22 -0
- package/dist/cli-result.js +31 -0
- package/dist/compile-cli.js +12 -0
- package/dist/core/actions.d.ts +1 -2
- package/dist/core/actions.js +1 -2
- package/dist/core/cli-spelling.d.ts +5 -3
- package/dist/core/cli-spelling.js +8 -4
- package/dist/core/lookups.js +1 -1
- package/dist/decompile-cli.js +3 -0
- package/dist/decompile.js +24 -2
- package/dist/merge-cli.js +3 -1
- package/dist/registry/generators/markdown/sections/choosing-object.js +1 -1
- package/dist/registry/generators/markdown/sections/example.js +2 -2
- package/dist/registry/generators/markdown/sections/lookups.js +1 -1
- package/dist/registry/generators/markdown/sections/schema-dynamic.js +3 -3
- package/dist/registry/library-build/cli.js +3 -0
- package/dist/registry/materialize-cli.js +7 -0
- package/dist/registry/path-cli.js +14 -7
- package/dist/registry/prepare/messages.js +4 -4
- package/dist/registry/prepare/pipeline.d.ts +2 -0
- package/dist/registry/prepare/pipeline.js +4 -2
- package/dist/registry/prepare-cli.js +6 -3
- package/dist/registry/pull-cli.js +10 -1
- package/dist/registry/search-cli.js +2 -0
- package/package.json +7 -2
package/README.md
CHANGED
|
@@ -102,7 +102,7 @@ the question. Now `check` has something to say:
|
|
|
102
102
|
⚠ [LOOKUP_UNRESOLVED] Connector step "announce": input "channel" is an unresolved
|
|
103
103
|
lookup (profile.email="ada@example.com"). Compile does not make network calls, so
|
|
104
104
|
the value has to be resolved first:
|
|
105
|
-
npx flow-sdk registry prepare uipath-salesforce-slack send-message-to-user \
|
|
105
|
+
npx flow-sdk registry prepare uipath-salesforce-slack --action send-message-to-user \
|
|
106
106
|
--resolve channel:profile.email=ada@example.com
|
|
107
107
|
Compile will fail until this is recorded.
|
|
108
108
|
|
|
@@ -117,7 +117,7 @@ to the tenant. Run what `check` named, both fields at once:
|
|
|
117
117
|
```bash
|
|
118
118
|
npx flow-sdk registry pull # once per machine: the connector library
|
|
119
119
|
|
|
120
|
-
npx flow-sdk registry prepare uipath-salesforce-slack send-message-to-user \
|
|
120
|
+
npx flow-sdk registry prepare uipath-salesforce-slack --action send-message-to-user \
|
|
121
121
|
--resolve channel:profile.email=ada@example.com \
|
|
122
122
|
--resolve send_as:name=bot
|
|
123
123
|
```
|
|
@@ -181,10 +181,24 @@ authoring verbs.
|
|
|
181
181
|
|
|
182
182
|
The UiPath CLI resolves `@uipath/maestro-builder-sdk/package.json` from the caller's current
|
|
183
183
|
directory, checks the installed version, and spawns
|
|
184
|
-
`node <package>/dist/cli/index.js <family> <verb> …` with inherited cwd
|
|
185
|
-
|
|
184
|
+
`node <package>/dist/cli/index.js <family> <verb> …` with inherited cwd and
|
|
185
|
+
environment. It captures stdout and wraps it in its own `{ Result, Code, Data }`
|
|
186
|
+
envelope, and streams stderr through. It never imports or bundles the SDK. This preserves the runtime class
|
|
186
187
|
identity shared by the authored TypeScript and serializer.
|
|
187
188
|
|
|
189
|
+
**Machine-readable results.** Every verb takes `--json`: stdout then carries exactly
|
|
190
|
+
one JSON object, `ok` (the exit code was 0) plus that verb's fields, and the human
|
|
191
|
+
lines move to stderr. For instance:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
$ npx flow-sdk flow compile Hello -o Hello.flow --json
|
|
195
|
+
{"ok":true,"path":"/work/Hello.flow","nodes":3,"edges":2,"sidecars":[],"errors":0,"warnings":0,"diagnostics":[]}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
`check` reports `errors`, `warnings` and `diagnostics`; `compile`, `decompile`,
|
|
199
|
+
`merge` and `tidy` report the `path` they wrote. `package.json` lists the optional
|
|
200
|
+
surface a caller may probe for in `cliCapabilities` (`json-result`).
|
|
201
|
+
|
|
188
202
|
The stable argv grammar is family first: `flow|case|bpmn`, then the SDK verb and
|
|
189
203
|
its documented options. The process exit contract is `0` for success, `1` for
|
|
190
204
|
diagnostics, and `2` for usage errors or a blocked mode. Changes to the spawn path,
|
package/dist/api-index.md
CHANGED
|
@@ -70,8 +70,8 @@ could hand you spans for a version you do not have.
|
|
|
70
70
|
| `CaseValue` | type | `dist/flow-sdk.d.ts:287-288` | Supporting types | A value a `.switch` case compares the discriminant against. |
|
|
71
71
|
| `ChildFlow` | type | `dist/flow-sdk.d.ts:43-46` | Supporting types | Anything `subflow()` accepts as the child: a builder, or an already-built flow. |
|
|
72
72
|
| `ClientSideToolRef` | interface | `dist/core/actions.d.ts:1686-1701` | Supporting types | A CLIENT-side tool: the agent asks the CALLING application to run it and hand the answer back… |
|
|
73
|
-
| `connector` | function | `dist/core/actions.d.ts:
|
|
74
|
-
| `connector` | function | `dist/core/actions.d.ts:
|
|
73
|
+
| `connector` | function | `dist/core/actions.d.ts:3265-3288` | Actions | Declare an Integration Service connector action — the typed form, where a generated descriptor supplies the nodeType and… |
|
|
74
|
+
| `connector` | function | `dist/core/actions.d.ts:3289-3305` | Actions | Stringly form, for a connector with no prepared module — `connector('uipath-salesforce-slack',… |
|
|
75
75
|
| `ConnectorDescriptor` | type | `dist/core/connectors.d.ts:89-97` | Generated descriptors | A generated, typed connector descriptor: ConnectorMeta branded with phantom input/output types. |
|
|
76
76
|
| `ConnectorLookupValue` | type | `dist/core/connectors.d.ts:50-59` | Generated descriptors | ConnectorValue for a field that also accepts an unresolved lookup. |
|
|
77
77
|
| `ConnectorMeta` | interface | `dist/core/connectors.d.ts:60-88` | Generated descriptors | Runtime metadata a generated descriptor carries. |
|
|
@@ -90,17 +90,17 @@ could hand you spans for a version you do not have.
|
|
|
90
90
|
| `createOutgoingCall` | function | `dist/core/actions.d.ts:2881-2897` | Actions | Place an outgoing phone call (`uipath.conversational.voice.create-outgoing-call`) and get back the `callContext` every… |
|
|
91
91
|
| `CreateOutgoingCallInputs` | interface | `dist/core/actions.d.ts:710-718` | Option shapes | 2 field(s) |
|
|
92
92
|
| `CustomGuardrail` | interface | `dist/core/actions.d.ts:1313-1325` | Supporting types | A rule-based guardrail you author in place. |
|
|
93
|
-
| `dataFabricCreate` | function | `dist/core/actions.d.ts:
|
|
93
|
+
| `dataFabricCreate` | function | `dist/core/actions.d.ts:3167-3184` | Actions | Create an entity record in Data Fabric (`core.datafabric.create`). |
|
|
94
94
|
| `DataFabricCreateInputs` | interface | `dist/core/actions.d.ts:2161-2191` | Option shapes | 4 field(s) |
|
|
95
|
-
| `dataFabricDelete` | function | `dist/core/actions.d.ts:
|
|
95
|
+
| `dataFabricDelete` | function | `dist/core/actions.d.ts:3201-3218` | Actions | Delete an entity record from Data Fabric (`core.datafabric.delete`). |
|
|
96
96
|
| `DataFabricDeleteInputs` | interface | `dist/core/actions.d.ts:2224-2250` | Option shapes | 4 field(s) |
|
|
97
97
|
| `DataFabricFilter` | interface | `dist/core/actions.d.ts:2052-2083` | Supporting types | One filter row on a Data Fabric query — rows AND together unless `or` is set. |
|
|
98
98
|
| `DataFabricOperator` | type | `dist/core/actions.d.ts:2041-2051` | Supporting types | The comparison operators the Data Fabric query serializer can emit, spelled exactly as the file carries them. |
|
|
99
|
-
| `dataFabricRead` | function | `dist/core/actions.d.ts:3128-
|
|
99
|
+
| `dataFabricRead` | function | `dist/core/actions.d.ts:3128-3166` | Actions | Query entity records from Data Fabric (`core.datafabric.read`). |
|
|
100
100
|
| `DataFabricReadInputs` | interface | `dist/core/actions.d.ts:2108-2160` | Option shapes | 9 field(s) |
|
|
101
101
|
| `DataFabricRecordRef` | type | `dist/core/actions.d.ts:2091-2107` | Supporting types | Which record a Data Fabric write targets — exactly ONE of the two forms. |
|
|
102
102
|
| `DataFabricSort` | interface | `dist/core/actions.d.ts:2084-2090` | Supporting types | How a multi-record query orders its rows before the limit is applied. |
|
|
103
|
-
| `dataFabricUpdate` | function | `dist/core/actions.d.ts:
|
|
103
|
+
| `dataFabricUpdate` | function | `dist/core/actions.d.ts:3185-3200` | Actions | Update an entity record in Data Fabric (`core.datafabric.update`). |
|
|
104
104
|
| `DataFabricUpdateInputs` | interface | `dist/core/actions.d.ts:2192-2223` | Option shapes | 5 field(s) |
|
|
105
105
|
| `DEFAULT_TRIGGER_ID` | const | `dist/core/expr.d.ts:36-37` | Expressions and types | The manual trigger node's default id. |
|
|
106
106
|
| `DefinitionReference` | type | `dist/core/node-classes.d.ts:30-63` | Supporting types | An exact reference to the node definition a contribution compiles against. |
|
|
@@ -121,8 +121,8 @@ could hand you spans for a version you do not have.
|
|
|
121
121
|
| `err` | function | `dist/core/expr.d.ts:148-235` | Expressions and types | Reference a FAILED step's error → `$vars.<step>.error[.<field>]`. |
|
|
122
122
|
| `ErrorEnvelopeField` | type | `dist/core/expr.d.ts:137-147` | Supporting types | The fields a failure envelope carries. |
|
|
123
123
|
| `EscalationRef` | interface | `dist/core/actions.d.ts:1880-1934` | Supporting types | One escalation an inline agent may raise — an Action Center app task a human completes (the `coded-action-app` variant,… |
|
|
124
|
-
| `EventFilter` | type | `dist/core/actions.d.ts:
|
|
125
|
-
| `EventSubscription` | interface | `dist/core/actions.d.ts:
|
|
124
|
+
| `EventFilter` | type | `dist/core/actions.d.ts:3306-3347` | Supporting types | One filter condition on the event payload. |
|
|
125
|
+
| `EventSubscription` | interface | `dist/core/actions.d.ts:3393-3431` | Option shapes | What a connector event subscribes to. |
|
|
126
126
|
| `Expr` | class | `dist/core/expr.d.ts:11-21` | Supporting types | A Flow expression. |
|
|
127
127
|
| `FieldMapping` | interface | `dist/core/actions.d.ts:237-244` | Supporting types | 3 field(s) |
|
|
128
128
|
| `FilterCondition` | type | `dist/core/actions.d.ts:220-221` | Supporting types | Comparison a filter rule applies to a field. |
|
|
@@ -197,7 +197,7 @@ could hand you spans for a version you do not have.
|
|
|
197
197
|
| `ProcessToolRef` | interface | `dist/core/actions.d.ts:1811-1840` | Supporting types | A deployed tenant resource the agent may invoke. |
|
|
198
198
|
| `publishedFunction` | function | `dist/core/actions.d.ts:2805-2829` | Actions | Invoke a published Orchestrator **Function** — a deployed unit of code run as one step (`uipath.core.function.<key>`,… |
|
|
199
199
|
| `PublishedFunctionInputs` | interface | `dist/core/actions.d.ts:1029-1063` | Option shapes | A published Orchestrator **Function** — a small, single-purpose unit of code deployed as its own resource and invoked as… |
|
|
200
|
-
| `queueItem` | function | `dist/core/actions.d.ts:
|
|
200
|
+
| `queueItem` | function | `dist/core/actions.d.ts:3219-3264` | Actions | Declare an Orchestrator QUEUE ITEM step. |
|
|
201
201
|
| `QueueItemInputs` | interface | `dist/core/actions.d.ts:1972-2040` | Option shapes | 10 field(s) |
|
|
202
202
|
| `QueuePriority` | type | `dist/core/actions.d.ts:1970-1971` | Supporting types | The three priorities an Orchestrator queue item can carry. |
|
|
203
203
|
| `ran` | function | `dist/core/expr.d.ts:90-136` | Expressions and types | Did this step run? |
|
|
@@ -242,7 +242,7 @@ could hand you spans for a version you do not have.
|
|
|
242
242
|
| `triggerDescriptor` | function | `dist/core/connectors.d.ts:139-151` | Generated descriptors | Brand a trigger descriptor literal with its where/output types. |
|
|
243
243
|
| `TriggerDescriptor` | type | `dist/core/connectors.d.ts:130-138` | Generated descriptors | A generated, typed connector-trigger descriptor: TriggerMeta branded with phantom `where`/output types. |
|
|
244
244
|
| `TriggerMeta` | interface | `dist/core/connectors.d.ts:120-129` | Generated descriptors | Runtime metadata a generated trigger descriptor carries. |
|
|
245
|
-
| `TriggerOptions` | interface | `dist/core/actions.d.ts:
|
|
245
|
+
| `TriggerOptions` | interface | `dist/core/actions.d.ts:3348-3392` | Option shapes | The typed `onEvent`/`waitForEvent` options — everything an EventSubscription carries except `connector`/`event`, which… |
|
|
246
246
|
| `TriggerSpec` | type | `dist/flow-sdk.d.ts:111-129` | Supporting types | What starts the flow. |
|
|
247
247
|
| `TypeDesc` | type | `dist/core/expr.d.ts:323` | Supporting types | |
|
|
248
248
|
| `types` | const | `dist/core/expr.d.ts:307-322` | Expressions and types | Variable type descriptors (map to Flow variable `type` values). |
|
|
@@ -254,8 +254,8 @@ could hand you spans for a version you do not have.
|
|
|
254
254
|
| `VoiceAgentInputs` | interface | `dist/core/actions.d.ts:750-783` | Option shapes | 6 field(s) |
|
|
255
255
|
| `VoiceSettings` | interface | `dist/core/actions.d.ts:727-749` | Supporting types | The audio settings a voice agent speaks with. |
|
|
256
256
|
| `voiceTrigger` | function | `dist/flow-sdk.d.ts:262-286` | Flow construction | Start the flow when a phone call comes IN (`core.trigger.voice`). |
|
|
257
|
-
| `waitForEvent` | function | `dist/core/actions.d.ts:
|
|
258
|
-
| `waitForEvent` | function | `dist/core/actions.d.ts:
|
|
257
|
+
| `waitForEvent` | function | `dist/core/actions.d.ts:3441-3475` | Actions | Wait mid-flow until a connector event fires, then continue with its payload — the typed form, where a generated trigger… |
|
|
258
|
+
| `waitForEvent` | function | `dist/core/actions.d.ts:3476-3483` | Actions | Stringly form, for an event with no prepared module. |
|
|
259
259
|
| `waitForMessage` | function | `dist/core/actions.d.ts:2849-2865` | Actions | PAUSE until the person sends their next message (`uipath.conversational.wait-for-message`) — a catch event, like… |
|
|
260
260
|
| `WaitForMessageInputs` | interface | `dist/core/actions.d.ts:631-639` | Option shapes | 2 field(s) |
|
|
261
261
|
|
|
@@ -299,8 +299,8 @@ could hand you spans for a version you do not have.
|
|
|
299
299
|
| `EscalationOpts` | interface | `dist/case/case-sdk.d.ts:127-139` | Option shapes | 4 field(s) |
|
|
300
300
|
| `EscalationRecipient` | interface | `dist/case/case-sdk.d.ts:119-126` | Supporting types | Who an escalation notifies. |
|
|
301
301
|
| `EscalationTrigger` | type | `dist/case/case-sdk.d.ts:117-118` | Supporting types | When an escalation fires: as the deadline approaches (`at-risk`) or once it passes (`sla-breached`). |
|
|
302
|
-
| `EventFilter` | type | `dist/core/actions.d.ts:
|
|
303
|
-
| `EventSubscription` | interface | `dist/core/actions.d.ts:
|
|
302
|
+
| `EventFilter` | type | `dist/core/actions.d.ts:3306-3347` | Supporting types | One filter condition on the event payload. |
|
|
303
|
+
| `EventSubscription` | interface | `dist/core/actions.d.ts:3393-3431` | Option shapes | What a connector event subscribes to. |
|
|
304
304
|
| `eventTrigger` | function | `dist/case/case-sdk.d.ts:276-286` | Case authoring | An Integration Service **event** trigger — an external event (a new row, an email, a webhook) starts the case. |
|
|
305
305
|
| `eventTrigger` | function | `dist/case/case-sdk.d.ts:287-293` | Case authoring | An Integration Service event trigger in placeholder or stringly-resolved form. |
|
|
306
306
|
| `EventTriggerOpts` | interface | `dist/case/case-sdk.d.ts:239-263` | Option shapes | 4 field(s) |
|
|
@@ -336,7 +336,7 @@ could hand you spans for a version you do not have.
|
|
|
336
336
|
| `toUser` | function | `dist/case/case-sdk.d.ts:150-157` | Case authoring | An escalation recipient that is a single user. |
|
|
337
337
|
| `TriggerDescriptor` | type | `dist/core/connectors.d.ts:130-138` | Supporting types | A generated, typed connector-trigger descriptor: TriggerMeta branded with phantom `where`/output types. |
|
|
338
338
|
| `TriggerMeta` | interface | `dist/core/connectors.d.ts:120-129` | Supporting types | Runtime metadata a generated trigger descriptor carries. |
|
|
339
|
-
| `TriggerOptions` | interface | `dist/core/actions.d.ts:
|
|
339
|
+
| `TriggerOptions` | interface | `dist/core/actions.d.ts:3348-3392` | Option shapes | The typed `onEvent`/`waitForEvent` options — everything an EventSubscription carries except `connector`/`event`, which… |
|
|
340
340
|
| `TypeDesc` | type | `dist/core/expr.d.ts:323` | Supporting types | |
|
|
341
341
|
| `UnresolvedReferenceTaskKind` | type | `dist/case/case-sdk.d.ts:358-359` | Supporting types | Published-resource task kinds that the Case schema permits as unresolved skeletons. |
|
|
342
342
|
| `WaitConnectorPlaceholderSpec` | interface | `dist/case/case-sdk.d.ts:360-370` | Supporting types | A `wait-for-connector` subscription: suspend on an Integration Service event. |
|
package/dist/api-members.md
CHANGED
|
@@ -128,14 +128,14 @@ not find it either.
|
|
|
128
128
|
| `condition` | property | `HttpBranch` | `dist/core/actions.d.ts:23-28` |
|
|
129
129
|
| `connection` | property | `ConnectorEventOpts` | `dist/bpmn/bpmn-sdk.d.ts:1088-1089` |
|
|
130
130
|
| `connection` | property | `ConnectorOpts` | `dist/core/actions.d.ts:180-181` |
|
|
131
|
-
| `connection` | property | `EventSubscription` | `dist/core/actions.d.ts:3427
|
|
131
|
+
| `connection` | property | `EventSubscription` | `dist/core/actions.d.ts:3426-3427` |
|
|
132
132
|
| `connection` | property | `ExternalTaskOptions` | `dist/case/case-sdk.d.ts:393-394` |
|
|
133
133
|
| `connection` | property | `ExternalTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:1127-1128` |
|
|
134
|
-
| `connection` | property | `TriggerOptions` | `dist/core/actions.d.ts:3387
|
|
134
|
+
| `connection` | property | `TriggerOptions` | `dist/core/actions.d.ts:3386-3387` |
|
|
135
135
|
| `connections` | property | `HitlRecipient` | `dist/core/actions.d.ts:425-429` |
|
|
136
136
|
| `connector` | property | `BuiltTask` | `dist/case/case-sdk.d.ts:506` |
|
|
137
137
|
| `connector` | property | `ConnectorToolRef` | `dist/core/actions.d.ts:1786-1787` |
|
|
138
|
-
| `connector` | property | `EventSubscription` | `dist/core/actions.d.ts:3396
|
|
138
|
+
| `connector` | property | `EventSubscription` | `dist/core/actions.d.ts:3395-3396` |
|
|
139
139
|
| `connector` | property | `ExternalTaskSpecData` | `dist/case/case-sdk.d.ts:406-407` |
|
|
140
140
|
| `connector` | property | `RuleOpts` | `dist/case/case-sdk.d.ts:56-62` |
|
|
141
141
|
| `connector` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:1460-1479` |
|
|
@@ -264,7 +264,7 @@ not find it either.
|
|
|
264
264
|
| `escalation` | property | `RuleOpts` | `dist/case/case-sdk.d.ts:69-74` |
|
|
265
265
|
| `escalations` | property | `BuiltSla` | `dist/case/case-sdk.d.ts:193` |
|
|
266
266
|
| `escalations` | property | `SlaOpts` | `dist/case/case-sdk.d.ts:183-184` |
|
|
267
|
-
| `event` | property | `EventSubscription` | `dist/core/actions.d.ts:3398
|
|
267
|
+
| `event` | property | `EventSubscription` | `dist/core/actions.d.ts:3397-3398` |
|
|
268
268
|
| `event` | property | `TriggerMeta` | `dist/core/connectors.d.ts:124-125` |
|
|
269
269
|
| `eventBasedGateway` | method | `ScopeBuilder` | `dist/bpmn/bpmn-sdk.d.ts:1405-1414` |
|
|
270
270
|
| `eventOutputs` | property | `BuiltTrigger` | `dist/case/case-sdk.d.ts:203-204` |
|
|
@@ -311,19 +311,19 @@ not find it either.
|
|
|
311
311
|
| `fileRef` | property | `IxpExtractInputs` | `dist/core/actions.d.ts:897-911` |
|
|
312
312
|
| `filter` | property | `ConnectorEventOpts` | `dist/bpmn/bpmn-sdk.d.ts:1096-1102` |
|
|
313
313
|
| `filters` | property | `DataFabricReadInputs` | `dist/core/actions.d.ts:2111-2112` |
|
|
314
|
-
| `filters` | property | `EventSubscription` | `dist/core/actions.d.ts:3425
|
|
315
|
-
| `filters` | property | `TriggerOptions` | `dist/core/actions.d.ts:3385
|
|
314
|
+
| `filters` | property | `EventSubscription` | `dist/core/actions.d.ts:3424-3425` |
|
|
315
|
+
| `filters` | property | `TriggerOptions` | `dist/core/actions.d.ts:3384-3385` |
|
|
316
316
|
| `flavour` | property | `AgentInputs` | `dist/core/actions.d.ts:1225-1239` |
|
|
317
317
|
| `flowProcess` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:783-792` |
|
|
318
318
|
| `flows` | property | `BuiltBpmn` | `dist/bpmn/bpmn-sdk.d.ts:413-414` |
|
|
319
319
|
| `folder` | property | `ConnectorEventOpts` | `dist/bpmn/bpmn-sdk.d.ts:1090-1091` |
|
|
320
320
|
| `folder` | property | `ConnectorOpts` | `dist/core/actions.d.ts:182-183` |
|
|
321
|
-
| `folder` | property | `EventSubscription` | `dist/core/actions.d.ts:3429
|
|
321
|
+
| `folder` | property | `EventSubscription` | `dist/core/actions.d.ts:3428-3429` |
|
|
322
322
|
| `folder` | property | `ExternalTaskOptions` | `dist/case/case-sdk.d.ts:395-396` |
|
|
323
323
|
| `folder` | property | `ExternalTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:1129-1130` |
|
|
324
324
|
| `folder` | property | `OrchestratorOpts` | `dist/bpmn/bpmn-sdk.d.ts:915-916` |
|
|
325
325
|
| `folder` | property | `QueueItemOpts` | `dist/bpmn/bpmn-sdk.d.ts:959-960` |
|
|
326
|
-
| `folder` | property | `TriggerOptions` | `dist/core/actions.d.ts:3389
|
|
326
|
+
| `folder` | property | `TriggerOptions` | `dist/core/actions.d.ts:3388-3389` |
|
|
327
327
|
| `folderKey` | property | `AgentMemoryRef` | `dist/core/actions.d.ts:1746-1747` |
|
|
328
328
|
| `folderKey` | property | `ContextIndexRef` | `dist/core/actions.d.ts:1953-1954` |
|
|
329
329
|
| `folderKey` | property | `DataFabricCreateInputs` | `dist/core/actions.d.ts:2170-2178` |
|
|
@@ -594,8 +594,8 @@ not find it either.
|
|
|
594
594
|
| `numExchanges` | property | `WaitForMessageInputs` | `dist/core/actions.d.ts:634-638` |
|
|
595
595
|
| `object` | property | `ConnectorOpts` | `dist/core/actions.d.ts:184-216` |
|
|
596
596
|
| `object` | property | `ConnectorToolRef` | `dist/core/actions.d.ts:1792-1793` |
|
|
597
|
-
| `object` | property | `EventSubscription` | `dist/core/actions.d.ts:
|
|
598
|
-
| `object` | property | `TriggerOptions` | `dist/core/actions.d.ts:
|
|
597
|
+
| `object` | property | `EventSubscription` | `dist/core/actions.d.ts:3418-3423` |
|
|
598
|
+
| `object` | property | `TriggerOptions` | `dist/core/actions.d.ts:3373-3383` |
|
|
599
599
|
| `objectName` | property | `ConnectorMeta` | `dist/core/connectors.d.ts:66-75` |
|
|
600
600
|
| `objectName` | property | `LookupSpec` | `dist/core/lookups.d.ts:23-24` |
|
|
601
601
|
| `objectName` | property | `SelectNextStageSpec` | `dist/case/case-sdk.d.ts:302-303` |
|
|
@@ -960,12 +960,12 @@ not find it either.
|
|
|
960
960
|
| `version` | property | `ConnectorMeta` | `dist/core/connectors.d.ts:63` |
|
|
961
961
|
| `version` | property | `ConnectorOpts` | `dist/core/actions.d.ts:178-179` |
|
|
962
962
|
| `version` | property | `ConnectorToolRef` | `dist/core/actions.d.ts:1790-1791` |
|
|
963
|
-
| `version` | property | `EventSubscription` | `dist/core/actions.d.ts:
|
|
963
|
+
| `version` | property | `EventSubscription` | `dist/core/actions.d.ts:3430` |
|
|
964
964
|
| `version` | property | `ExternalTaskOpts` | `dist/bpmn/bpmn-sdk.d.ts:1131-1132` |
|
|
965
965
|
| `version` | method | `FlowBuilder` | `dist/flow-sdk.d.ts:1260-1273` |
|
|
966
966
|
| `version` | property | `NodeOptions` | `dist/flow-sdk.d.ts:314-321` |
|
|
967
967
|
| `version` | property | `TriggerMeta` | `dist/core/connectors.d.ts:126` |
|
|
968
|
-
| `version` | property | `TriggerOptions` | `dist/core/actions.d.ts:3391
|
|
968
|
+
| `version` | property | `TriggerOptions` | `dist/core/actions.d.ts:3390-3391` |
|
|
969
969
|
| `versionTag` | property | `IxpExtractInputs` | `dist/core/actions.d.ts:914-915` |
|
|
970
970
|
| `versionTag` | property | `IxpToolRef` | `dist/core/actions.d.ts:1868-1869` |
|
|
971
971
|
| `voice` | property | `VoiceAgentInputs` | `dist/core/actions.d.ts:769-770` |
|
|
@@ -978,8 +978,8 @@ not find it either.
|
|
|
978
978
|
| `waitForTimer` | method | `TaskBuilder` | `dist/case/case-sdk.d.ts:877-883` |
|
|
979
979
|
| `waypoints` | property | `EdgeRoute` | `dist/flow-sdk.d.ts:547-552` |
|
|
980
980
|
| `when` | property | `SlaOpts` | `dist/case/case-sdk.d.ts:176-182` |
|
|
981
|
-
| `where` | property | `EventSubscription` | `dist/core/actions.d.ts:
|
|
982
|
-
| `where` | property | `TriggerOptions` | `dist/core/actions.d.ts:
|
|
981
|
+
| `where` | property | `EventSubscription` | `dist/core/actions.d.ts:3399-3417` |
|
|
982
|
+
| `where` | property | `TriggerOptions` | `dist/core/actions.d.ts:3355-3372` |
|
|
983
983
|
| `width` | property | `CaseNodeLayout` | `dist/case/case-sdk.d.ts:604-605` |
|
|
984
984
|
| `width` | property | `StickyNote` | `dist/flow-sdk.d.ts:602-603` |
|
|
985
985
|
| `x` | property | `StickyNote` | `dist/flow-sdk.d.ts:598-599` |
|
package/dist/bpmn/check-cli.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Exit 0 = clean; exit 1 = at least one error. Warnings print but do not fail.
|
|
9
9
|
*/
|
|
10
|
+
import { reportDiagnostics } from '../cli-result.js';
|
|
10
11
|
import { resolveBpmnFile, loadBuiltBpmn } from './load.js';
|
|
11
12
|
import { check } from './check.js';
|
|
12
13
|
import { runWhenInvokedDirectly } from '../cli-run.js';
|
|
@@ -19,6 +20,7 @@ export async function run(argv) {
|
|
|
19
20
|
ensureTypeScriptRuntime();
|
|
20
21
|
const built = await loadBuiltBpmn(resolveBpmnFile(argv[0]));
|
|
21
22
|
const diags = check(built);
|
|
23
|
+
reportDiagnostics(diags);
|
|
22
24
|
for (const d of diags)
|
|
23
25
|
console.error(` ${d.level === 'error' ? '✗' : '⚠'} [${d.code}] ${d.message}`);
|
|
24
26
|
const errors = diags.filter((d) => d.level === 'error').length;
|
package/dist/bpmn/compile-cli.js
CHANGED
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
* XML (semantic-only — no diagram). The authoritative deploy gate is
|
|
10
10
|
* `uip maestro bpmn validate`; a separate "tidy" step lays the diagram out.
|
|
11
11
|
*/
|
|
12
|
+
import { reportResult } from '../cli-result.js';
|
|
12
13
|
import { writeFileSync, existsSync } from 'node:fs';
|
|
13
|
-
import { basename, join } from 'node:path';
|
|
14
|
+
import { basename, join, resolve } from 'node:path';
|
|
14
15
|
import { resolveBpmnFile, loadBuiltBpmn } from './load.js';
|
|
15
16
|
import { serialize } from './serialize.js';
|
|
16
17
|
import { check } from './check.js';
|
|
@@ -55,6 +56,7 @@ export async function run(argv) {
|
|
|
55
56
|
const out = opt(argv, '-o') ?? `${base}.bpmn`;
|
|
56
57
|
writeFileSync(out, xml);
|
|
57
58
|
console.log(`compile: wrote ${out} (${built.nodes.length} element(s))`);
|
|
59
|
+
reportResult({ path: resolve(out), elements: built.nodes.length });
|
|
58
60
|
return 0;
|
|
59
61
|
}
|
|
60
62
|
runWhenInvokedDirectly(import.meta.url, 'compile', run);
|
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
* `tidy` regenerates `bpmndi`. Run `tidy` on the recompiled artifact when a canvas
|
|
17
17
|
* needs one.
|
|
18
18
|
*/
|
|
19
|
+
import { reportResult } from '../cli-result.js';
|
|
19
20
|
import { readFileSync, writeFileSync } from 'node:fs';
|
|
20
|
-
import { basename } from 'node:path';
|
|
21
|
+
import { basename, resolve } from 'node:path';
|
|
21
22
|
import { runWhenInvokedDirectly } from '../cli-run.js';
|
|
22
23
|
import { decompile } from './decompile.js';
|
|
23
24
|
import { BPMN_IMPORT } from '../package-name.js';
|
|
@@ -49,6 +50,7 @@ export async function run(argv) {
|
|
|
49
50
|
const out = opt(argv, '-o') ?? `${base}.bpmn.ts`;
|
|
50
51
|
writeFileSync(out, source);
|
|
51
52
|
console.log(`decompile: wrote ${out}`);
|
|
53
|
+
reportResult({ path: resolve(out) });
|
|
52
54
|
return 0;
|
|
53
55
|
}
|
|
54
56
|
runWhenInvokedDirectly(import.meta.url, 'decompile', run);
|
package/dist/bpmn/merge-cli.js
CHANGED
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
* every element you did not touch is emitted from the original byte for byte. Omit it for
|
|
11
11
|
* a two-way merge (take the edited process, keep the original diagram). See merge.ts.
|
|
12
12
|
*/
|
|
13
|
+
import { reportResult } from '../cli-result.js';
|
|
13
14
|
import { readFileSync, writeFileSync } from 'node:fs';
|
|
14
|
-
import { basename } from 'node:path';
|
|
15
|
+
import { basename, resolve } from 'node:path';
|
|
15
16
|
import { mergeBpmn } from './merge.js';
|
|
16
17
|
import { runWhenInvokedDirectly } from '../cli-run.js';
|
|
17
18
|
function opt(argv, name) {
|
|
@@ -36,6 +37,7 @@ export function run(argv) {
|
|
|
36
37
|
});
|
|
37
38
|
const out = opt(argv, '-o') ?? 'merged.bpmn';
|
|
38
39
|
writeFileSync(out, result.xml);
|
|
40
|
+
reportResult({ path: resolve(out), preserved: result.preserved.length, authored: result.authored.length, removed: result.removed.length });
|
|
39
41
|
// Say what was kept and what was rewritten: on a surgical edit the preserved count
|
|
40
42
|
// should dwarf the authored one, and a reader who sees otherwise has learned something.
|
|
41
43
|
console.log(`bpmn-merge: wrote ${basename(out)} (${result.preserved.length} preserved, ` +
|
package/dist/bpmn/tidy-cli.js
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
* the file imports into a visual canvas. The `uipath:*` extension payloads are
|
|
11
11
|
* preserved. Overwrites the input unless `-o` is given.
|
|
12
12
|
*/
|
|
13
|
+
import { resolve } from 'node:path';
|
|
14
|
+
import { reportResult } from '../cli-result.js';
|
|
13
15
|
import { readFileSync, writeFileSync } from 'node:fs';
|
|
14
16
|
import { layoutProcess } from 'bpmn-auto-layout';
|
|
15
17
|
import { finalizeBpmnXml } from './serialize.js';
|
|
@@ -34,6 +36,7 @@ export async function run(argv) {
|
|
|
34
36
|
writeFileSync(out, laidOut.endsWith('\n') ? laidOut : laidOut + '\n');
|
|
35
37
|
const shapes = (laidOut.match(/BPMNShape/g) ?? []).length;
|
|
36
38
|
console.log(`tidy: laid out ${out} (${shapes} shape(s))`);
|
|
39
|
+
reportResult({ path: resolve(out), shapes });
|
|
37
40
|
return 0;
|
|
38
41
|
}
|
|
39
42
|
runWhenInvokedDirectly(import.meta.url, 'tidy', run);
|
package/dist/case/check-cli.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Usage: node --experimental-strip-types check-cli.js <case.ts | BaseName>
|
|
6
6
|
* Exits 0 when clean (warnings allowed), 1 on any error.
|
|
7
7
|
*/
|
|
8
|
+
import { reportDiagnostics } from '../cli-result.js';
|
|
8
9
|
import { resolveCaseFile, loadBuiltCase } from './load.js';
|
|
9
10
|
import { check } from './check.js';
|
|
10
11
|
import { runWhenInvokedDirectly } from '../cli-run.js';
|
|
@@ -18,6 +19,7 @@ export async function run(argv) {
|
|
|
18
19
|
ensureTypeScriptRuntime();
|
|
19
20
|
const built = await loadBuiltCase(file);
|
|
20
21
|
const diags = check(built);
|
|
22
|
+
reportDiagnostics(diags);
|
|
21
23
|
for (const d of diags)
|
|
22
24
|
console.error(` ${d.level === 'error' ? '✗' : '⚠'} [${d.code}] ${d.message}`);
|
|
23
25
|
const errors = diags.filter((d) => d.level === 'error');
|
package/dist/case/compile-cli.js
CHANGED
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
* caseplan.json. The authoritative deploy gate is `uip maestro case validate`.
|
|
10
10
|
* Output defaults to `caseplan.json` (the platform's canonical file name).
|
|
11
11
|
*/
|
|
12
|
+
import { reportResult } from '../cli-result.js';
|
|
12
13
|
import { writeFileSync, readFileSync, existsSync } from 'node:fs';
|
|
13
|
-
import { join, dirname, basename } from 'node:path';
|
|
14
|
+
import { join, dirname, basename, resolve } from 'node:path';
|
|
14
15
|
import { createHash } from 'node:crypto';
|
|
15
16
|
import { resolveCaseFile, loadBuiltCase } from './load.js';
|
|
16
17
|
import { serialize } from './serialize.js';
|
|
@@ -69,6 +70,7 @@ export async function run(argv) {
|
|
|
69
70
|
const resources = syncBindingsV2(caseplan, out);
|
|
70
71
|
const bindingsNote = resources >= 0 ? `, synced bindings_v2.json (${resources} resource(s))` : '';
|
|
71
72
|
console.log(`compile: wrote ${out} (${stages} stage(s))${epNote}${bindingsNote}`);
|
|
73
|
+
reportResult({ path: resolve(out), stages, ...(triggers >= 0 ? { triggers } : {}), ...(resources >= 0 ? { resources } : {}) });
|
|
72
74
|
return 0;
|
|
73
75
|
}
|
|
74
76
|
/**
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* command also emits a `<Name>.pipeline.mjs` helper that recompiles edits
|
|
16
16
|
* through the public Case CLI. Pass `--no-pipeline` to skip it.
|
|
17
17
|
*/
|
|
18
|
+
import { reportResult } from '../cli-result.js';
|
|
18
19
|
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
19
20
|
import { resolveLibraryDir } from '../registry/cache.js';
|
|
20
21
|
import { basename, resolve } from 'node:path';
|
|
@@ -66,6 +67,7 @@ export function run(argv) {
|
|
|
66
67
|
const out = opt(argv, '-o') ?? `${baseName(plan)}.case.ts`;
|
|
67
68
|
writeFileSync(out, result.source);
|
|
68
69
|
console.log(`decompile: wrote ${basename(out)}`);
|
|
70
|
+
reportResult({ path: resolve(out), diagnostics: result.diagnostics.map((d) => ({ code: d.code, location: d.location, message: d.message })) });
|
|
69
71
|
for (const diagnostic of result.diagnostics) {
|
|
70
72
|
console.error(`decompile: [${diagnostic.code}] ${diagnostic.location}: ${diagnostic.message}`);
|
|
71
73
|
}
|
|
@@ -73,6 +75,7 @@ export function run(argv) {
|
|
|
73
75
|
const pipelinePath = out.replace(/\.case\.ts$|\.ts$/, '') + '.pipeline.mjs';
|
|
74
76
|
writeFileSync(pipelinePath, pipelineScript(resolve(pos), resolve(out), importSpecifier, bestEffort, libraryDir ? resolve(libraryDir) : undefined));
|
|
75
77
|
console.log(`decompile: wrote ${basename(pipelinePath)}`);
|
|
78
|
+
reportResult({ pipeline: resolve(pipelinePath) });
|
|
76
79
|
}
|
|
77
80
|
return 0;
|
|
78
81
|
}
|
package/dist/case/merge-cli.js
CHANGED
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
* `edited.json` is compile(decompile(original)) after your edits. See merge.ts
|
|
10
10
|
* for what each side decides and why the join is by label rather than by id.
|
|
11
11
|
*/
|
|
12
|
+
import { reportResult } from '../cli-result.js';
|
|
12
13
|
import { readFileSync, writeFileSync } from 'node:fs';
|
|
13
|
-
import { basename } from 'node:path';
|
|
14
|
+
import { basename, resolve } from 'node:path';
|
|
14
15
|
import { mergeCase } from './merge.js';
|
|
15
16
|
import { runWhenInvokedDirectly } from '../cli-run.js';
|
|
16
17
|
function opt(argv, name) {
|
|
@@ -39,6 +40,7 @@ export function run(argv) {
|
|
|
39
40
|
const stages = (merged.nodes ?? [])
|
|
40
41
|
.filter((node) => String(node.type ?? '').endsWith('Stage')).length;
|
|
41
42
|
console.log(`case-merge: wrote ${basename(out)} (${stages} stage(s))`);
|
|
43
|
+
reportResult({ path: resolve(out), stages });
|
|
42
44
|
return 0;
|
|
43
45
|
}
|
|
44
46
|
runWhenInvokedDirectly(import.meta.url, 'case-merge', run);
|
package/dist/check-cli.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Usage: node --experimental-strip-types check-cli.js <flow.ts | BaseName>
|
|
6
6
|
* Prints diagnostics; exits non-zero if any errors.
|
|
7
7
|
*/
|
|
8
|
+
import { reportDiagnostics } from './cli-result.js';
|
|
8
9
|
import { existsSync } from 'node:fs';
|
|
9
10
|
import { resolveFlowFile, loadBuiltFlow } from './load.js';
|
|
10
11
|
import { check } from './check.js';
|
|
@@ -102,6 +103,7 @@ export async function run(argv) {
|
|
|
102
103
|
ensureTypeScriptRuntime();
|
|
103
104
|
const built = await loadBuiltFlow(file);
|
|
104
105
|
const diags = check(built, checkOpts(argv));
|
|
106
|
+
reportDiagnostics(diags);
|
|
105
107
|
if (diags.length === 0) {
|
|
106
108
|
console.log('✓ no issues');
|
|
107
109
|
return 0;
|
package/dist/check.js
CHANGED
|
@@ -1364,8 +1364,8 @@ function checkConnectorLookups(step, spec, opts, diags) {
|
|
|
1364
1364
|
+ `connection: it resolves to nothing there, or to something else, and neither `
|
|
1365
1365
|
+ `compile nor deploy can tell. Write what you mean and resolve it late:\n`
|
|
1366
1366
|
+ ` ${call}\n`
|
|
1367
|
-
+ `then record the value once with \`${prepareCommand(spec.key)} `
|
|
1368
|
-
+
|
|
1367
|
+
+ `then record the value once with \`${prepareCommand(spec.key, spec.action)} `
|
|
1368
|
+
+ `--resolve ${resolveFlagArg(field, lookup.by[0] ?? 'id', '<value>')}\`.`,
|
|
1369
1369
|
step,
|
|
1370
1370
|
});
|
|
1371
1371
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addValue, inferCheckMode, invoke, loadTool, retiredCompiledOption } from '../common.js';
|
|
1
|
+
import { addValue, inferCheckMode, invoke, loadTool, namedOrLegacySecond, retiredCompiledOption, refuse } from '../common.js';
|
|
2
2
|
export function registerBpmnCommands(program) {
|
|
3
3
|
const family = program.command('bpmn').description('Build, inspect, and merge BPMN artifacts.');
|
|
4
4
|
family.command('compile')
|
|
@@ -25,13 +25,11 @@ export function registerBpmnCommands(program) {
|
|
|
25
25
|
mode = inferCheckMode('bpmn', input, options.source === true, options.compiled === true);
|
|
26
26
|
}
|
|
27
27
|
catch (error) {
|
|
28
|
-
|
|
29
|
-
process.exitCode = 2;
|
|
28
|
+
refuse(`flow-sdk bpmn check: ${error instanceof Error ? error.message : String(error)}`);
|
|
30
29
|
return;
|
|
31
30
|
}
|
|
32
31
|
if (mode === 'compiled') {
|
|
33
|
-
|
|
34
|
-
process.exitCode = 2;
|
|
32
|
+
refuse('flow-sdk bpmn check --compiled: use `uip maestro bpmn validate <file.bpmn>`');
|
|
35
33
|
return;
|
|
36
34
|
}
|
|
37
35
|
await invoke('bpmn check', () => loadTool(import.meta.url, '../../bpmn/check-cli.js'), [input]);
|
|
@@ -60,11 +58,19 @@ export function registerBpmnCommands(program) {
|
|
|
60
58
|
family
|
|
61
59
|
.command('merge')
|
|
62
60
|
.description('Merge an edited process with its original BPMN artifact.')
|
|
63
|
-
.argument('<original>', 'original .bpmn path')
|
|
64
61
|
.argument('<edited>', 'edited .bpmn path')
|
|
62
|
+
.option('--original <file>', '(required) original .bpmn path, the artifact to merge into')
|
|
65
63
|
.option('-o, --output <file>', 'merged output path')
|
|
66
64
|
.option('--baseline <file>', 'compiled pristine decompile')
|
|
67
|
-
.
|
|
65
|
+
.allowExcessArguments()
|
|
66
|
+
.action(async (_edited, options, command) => {
|
|
67
|
+
const pair = namedOrLegacySecond(command, {
|
|
68
|
+
label: 'bpmn merge', flag: '--original', named: options.original, legacyNamedFirst: true,
|
|
69
|
+
usage: 'bpmn merge <edited> --original <file>',
|
|
70
|
+
});
|
|
71
|
+
if (!pair)
|
|
72
|
+
return;
|
|
73
|
+
const [edited, original] = pair;
|
|
68
74
|
const argv = [original, edited];
|
|
69
75
|
addValue(argv, '-o', options.output);
|
|
70
76
|
addValue(argv, '--baseline', options.baseline);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addValue, inferCheckMode, invoke, loadTool, retiredCompiledOption } from '../common.js';
|
|
1
|
+
import { addValue, inferCheckMode, invoke, loadTool, namedOrLegacySecond, retiredCompiledOption, refuse } from '../common.js';
|
|
2
2
|
export function registerCaseCommands(program) {
|
|
3
3
|
const family = program.command('case').description('Build, check, and merge Case artifacts.');
|
|
4
4
|
family.command('compile')
|
|
@@ -27,13 +27,11 @@ export function registerCaseCommands(program) {
|
|
|
27
27
|
mode = inferCheckMode('case', input, options.source === true, options.compiled === true);
|
|
28
28
|
}
|
|
29
29
|
catch (error) {
|
|
30
|
-
|
|
31
|
-
process.exitCode = 2;
|
|
30
|
+
refuse(`flow-sdk case check: ${error instanceof Error ? error.message : String(error)}`);
|
|
32
31
|
return;
|
|
33
32
|
}
|
|
34
33
|
if (mode === 'compiled') {
|
|
35
|
-
|
|
36
|
-
process.exitCode = 2;
|
|
34
|
+
refuse('flow-sdk case check --compiled: use `uip maestro case validate caseplan.json`');
|
|
37
35
|
return;
|
|
38
36
|
}
|
|
39
37
|
await invoke('case check', () => loadTool(import.meta.url, '../../case/check-cli.js'), [input]);
|
|
@@ -59,10 +57,18 @@ export function registerCaseCommands(program) {
|
|
|
59
57
|
});
|
|
60
58
|
family.command('merge')
|
|
61
59
|
.description('Merge an edited case plan with its original caseplan.json.')
|
|
62
|
-
.argument('<original>', 'original caseplan.json path')
|
|
63
60
|
.argument('<edited>', 'edited caseplan.json path')
|
|
61
|
+
.option('--original <file>', '(required) original caseplan.json path, the plan to merge into')
|
|
64
62
|
.option('-o, --output <file>', 'merged output path')
|
|
65
|
-
.
|
|
63
|
+
.allowExcessArguments()
|
|
64
|
+
.action(async (_edited, options, command) => {
|
|
65
|
+
const pair = namedOrLegacySecond(command, {
|
|
66
|
+
label: 'case merge', flag: '--original', named: options.original, legacyNamedFirst: true,
|
|
67
|
+
usage: 'case merge <edited> --original <file>',
|
|
68
|
+
});
|
|
69
|
+
if (!pair)
|
|
70
|
+
return;
|
|
71
|
+
const [edited, original] = pair;
|
|
66
72
|
const argv = [original, edited];
|
|
67
73
|
addValue(argv, '-o', options.output);
|
|
68
74
|
await invoke('case merge', () => loadTool(import.meta.url, '../../case/merge-cli.js'), argv);
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Option } from 'commander';
|
|
2
|
-
import { addValue, emitOnlyEnabled, inferCheckMode, invoke, loadTool, retiredCompiledOption } from '../common.js';
|
|
2
|
+
import { addValue, emitOnlyEnabled, inferCheckMode, invoke, loadTool, namedOrLegacySecond, retiredCompiledOption, refuse } from '../common.js';
|
|
3
3
|
/** The retired compiled check's flags: `[commander flags, option key, description]`. One table, so hiding and warning cannot drift. */
|
|
4
4
|
const RETIRED_COMPILED_CHECK_FLAGS = [
|
|
5
|
-
['--json', 'json', 'retired: compiled-check diagnostics as JSON'],
|
|
6
5
|
['--uip', 'uip', 'retired: resolve missing schemas with the UiPath CLI'],
|
|
7
6
|
['--max-errors <count>', 'maxErrors', 'retired: stop after this many compiled-check errors'],
|
|
8
7
|
['--script-determinism', 'scriptDeterminism', 'retired: check script blocks for non-deterministic calls'],
|
|
@@ -49,8 +48,7 @@ export function registerFlowCommands(program) {
|
|
|
49
48
|
check
|
|
50
49
|
.action(async (input, options) => {
|
|
51
50
|
if (emitOnlyEnabled()) {
|
|
52
|
-
|
|
53
|
-
process.exitCode = 2;
|
|
51
|
+
refuse('flow-sdk flow check: disabled by emit-only mode; use `uip maestro flow validate` or `uip maestro flow debug`');
|
|
54
52
|
return;
|
|
55
53
|
}
|
|
56
54
|
let mode;
|
|
@@ -58,8 +56,7 @@ export function registerFlowCommands(program) {
|
|
|
58
56
|
mode = inferCheckMode('flow', input, options.source === true, options.compiled === true);
|
|
59
57
|
}
|
|
60
58
|
catch (error) {
|
|
61
|
-
|
|
62
|
-
process.exitCode = 2;
|
|
59
|
+
refuse(`flow-sdk flow check: ${error instanceof Error ? error.message : String(error)}`);
|
|
63
60
|
return;
|
|
64
61
|
}
|
|
65
62
|
if (mode === 'source') {
|
|
@@ -83,11 +80,10 @@ export function registerFlowCommands(program) {
|
|
|
83
80
|
// and every current authoring flow uses — this path already refused, with the same two
|
|
84
81
|
// suggestions repeated here. What is checked at author time is `check.ts`, reached above by
|
|
85
82
|
// the `source` arm, and that is untouched.
|
|
86
|
-
|
|
83
|
+
refuse('flow-sdk flow check: checking a COMPILED .flow is no longer supported here. ' +
|
|
87
84
|
'Use `uip maestro flow validate <file.flow>` for the product static check, or ' +
|
|
88
85
|
'`uip maestro flow debug` / `flow-debug <file.flow>` to run it. ' +
|
|
89
86
|
'Authoring-time checks still work on a .flow.ts source (--source).');
|
|
90
|
-
process.exitCode = 2;
|
|
91
87
|
});
|
|
92
88
|
flow.command('decompile')
|
|
93
89
|
.description('Convert a .flow artifact to authored TypeScript.')
|
|
@@ -108,11 +104,19 @@ export function registerFlowCommands(program) {
|
|
|
108
104
|
});
|
|
109
105
|
flow.command('merge')
|
|
110
106
|
.description('Merge an edited flow with its original artifact.')
|
|
111
|
-
.argument('<original>', 'original .flow path')
|
|
112
107
|
.argument('<edited>', 'edited .flow path')
|
|
108
|
+
.option('--original <file>', '(required) original .flow path, the artifact to merge into')
|
|
113
109
|
.option('-o, --output <file>', 'merged output path')
|
|
114
110
|
.option('--baseline <file>', 'compiled pristine decompile')
|
|
115
|
-
.
|
|
111
|
+
.allowExcessArguments()
|
|
112
|
+
.action(async (_edited, options, command) => {
|
|
113
|
+
const pair = namedOrLegacySecond(command, {
|
|
114
|
+
label: 'flow merge', flag: '--original', named: options.original, legacyNamedFirst: true,
|
|
115
|
+
usage: 'flow merge <edited> --original <file>',
|
|
116
|
+
});
|
|
117
|
+
if (!pair)
|
|
118
|
+
return;
|
|
119
|
+
const [edited, original] = pair;
|
|
116
120
|
const argv = [original, edited];
|
|
117
121
|
addValue(argv, '-o', options.output);
|
|
118
122
|
addValue(argv, '--baseline', options.baseline);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addValue, invoke, loadTool } from '../common.js';
|
|
1
|
+
import { addValue, invoke, loadTool, namedOrLegacySecond } from '../common.js';
|
|
2
2
|
/** Commander hands a repeatable option one value at a time. */
|
|
3
3
|
function collect(value, previous) {
|
|
4
4
|
return [...previous, value];
|
|
@@ -124,7 +124,8 @@ export function registerRegistryCommands(program) {
|
|
|
124
124
|
family.command('prepare')
|
|
125
125
|
.description("Resolve one operation's schema against a live connection into ./connectors-local.")
|
|
126
126
|
.argument('<connector-key>', 'connector key, e.g. uipath-salesforce')
|
|
127
|
-
.
|
|
127
|
+
.option('--action <name>', '(required) operation to resolve, e.g. InsertRecord')
|
|
128
|
+
.allowExcessArguments()
|
|
128
129
|
// Optional: without one the command discovers the connection itself from
|
|
129
130
|
// `uip is connections list` and writes both keys into bindings.json.
|
|
130
131
|
.option('--connection-id <id>', 'connection to read the schema through')
|
|
@@ -158,7 +159,14 @@ export function registerRegistryCommands(program) {
|
|
|
158
159
|
.option('--refresh-lookups', 're-resolve lookups already recorded in resolutions.json')
|
|
159
160
|
.option('--source <flow.ts>', 'the flow whose import to repoint at the prepared descriptor')
|
|
160
161
|
.option('--no-source-rewrite', 'print the import line instead of editing the source')
|
|
161
|
-
.action(async (
|
|
162
|
+
.action(async (_connectorKey, options, command) => {
|
|
163
|
+
const pair = namedOrLegacySecond(command, {
|
|
164
|
+
label: 'registry prepare', flag: '--action', named: options.action, legacyNamedFirst: false,
|
|
165
|
+
usage: 'registry prepare <connector-key> --action <name>',
|
|
166
|
+
});
|
|
167
|
+
if (!pair)
|
|
168
|
+
return;
|
|
169
|
+
const [connectorKey, action] = pair;
|
|
162
170
|
const argv = [connectorKey, action];
|
|
163
171
|
addValue(argv, '--connection-id', options.connectionId);
|
|
164
172
|
addValue(argv, '--connection', options.connection);
|