@uipath/maestro-builder-sdk 6.40.0 → 6.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/api-index.md +115 -115
  2. package/dist/api-members.md +356 -354
  3. package/dist/bpmn/bpmn-sdk.d.ts +4 -3
  4. package/dist/bpmn/bpmn-sdk.js +13 -3
  5. package/dist/bpmn/check.js +13 -13
  6. package/dist/bpmn/registry-fallback.js +4 -0
  7. package/dist/bpmn/registry-types.json +1716 -206
  8. package/dist/bpmn/typed-node.d.ts +33 -32
  9. package/dist/bpmn/typed-node.js +19 -37
  10. package/dist/check.js +8 -487
  11. package/dist/core/actions.d.ts +0 -391
  12. package/dist/core/actions.js +0 -167
  13. package/dist/core/nodes/registry.d.ts +6 -1
  14. package/dist/core/nodes/registry.js +32 -2
  15. package/dist/core/nodes/versioned.d.ts +12 -0
  16. package/dist/core/nodes/versioned.js +7 -2
  17. package/dist/core/process-resource.d.ts +102 -0
  18. package/dist/core/process-resource.js +118 -0
  19. package/dist/decompile.js +9 -10
  20. package/dist/flow-node-registry.js +2 -1
  21. package/dist/flow-sdk.d.ts +1 -0
  22. package/dist/flow-sdk.js +1 -0
  23. package/dist/nodes/process/flow/check.d.ts +112 -0
  24. package/dist/nodes/process/flow/check.js +444 -0
  25. package/dist/nodes/process/flow/factories.d.ts +158 -0
  26. package/dist/nodes/process/flow/factories.js +173 -0
  27. package/dist/nodes/process/flow/family.d.ts +3 -0
  28. package/dist/nodes/process/flow/family.js +8 -0
  29. package/dist/nodes/process/flow/index.d.ts +3 -0
  30. package/dist/nodes/process/flow/index.js +3 -0
  31. package/dist/nodes/process/flow/node-type.d.ts +23 -0
  32. package/dist/nodes/process/flow/node-type.js +652 -0
  33. package/dist/nodes/process/flow/spec.d.ts +255 -0
  34. package/dist/nodes/process/flow/spec.js +1 -0
  35. package/dist/serialize.js +41 -612
  36. package/package.json +2 -2
@@ -0,0 +1,255 @@
1
+ /**
2
+ * The process family's authoring types — an RPA process (`uipath.core.rpa-workflow.<key>`),
3
+ * an API workflow (`uipath.core.api-workflow.<key>`), a published function
4
+ * (`uipath.core.function.<key>`) and an agentic process (`uipath.core.agentic-process.<key>`,
5
+ * `uipath.core.flow.<key>`, `uipath.core.case-management.<key>`) — and their kinds'
6
+ * entries in `FlowActionSpecs`. Moved from core/actions.ts in Phase 4 of
7
+ * docs/NODE_TYPE_ARCHITECTURE_DESIGN.md. `ProcessLocation` stays in core: the
8
+ * agent shares it.
9
+ */
10
+ import type { ProcessLocation, ReturnFieldType } from '../../../core/actions.js';
11
+ export interface RpaWorkflowInputs {
12
+ /**
13
+ * The published process's release key (a GUID). It becomes part of the node's
14
+ * type, `uipath.core.rpa-workflow.<key>`. Find it with
15
+ * `uip or processes list --all-folders --process-type Process` (the row's `Key`)
16
+ * or `uip maestro flow registry search "uipath.core.rpa-workflow"`.
17
+ *
18
+ * For an in-solution sibling it is `resource.key` from
19
+ * `resources/solution_folder/process/process/<project>.json` — the suffix of the
20
+ * node type `uip maestro flow registry list --local` shows.
21
+ */
22
+ key: string;
23
+ /** The process's name in Orchestrator — e.g. `'RPA Workflow'`. */
24
+ name: string;
25
+ /**
26
+ * Where the process lives. `'published'` (the default) is a process deployed
27
+ * to `folderPath`. `'in-solution'` is a sibling RPA project of the same
28
+ * solution: it needs `projectId` and no `folderPath`.
29
+ */
30
+ location?: ProcessLocation;
31
+ /**
32
+ * The Orchestrator folder holding the process — e.g.
33
+ * `'Shared/uipath-maestro-flow/ProjectEuler RPA'`. Required for a published
34
+ * process; omit it for an in-solution sibling.
35
+ *
36
+ * @enforcedBy RPA_NO_FOLDER A published process needs its folder.
37
+ */
38
+ folderPath?: string;
39
+ /**
40
+ * The sibling RPA project's `resource.projectKey`, read from
41
+ * `resources/solution_folder/process/process/<project>.json`. Required only
42
+ * when `location` is `'in-solution'`.
43
+ *
44
+ * @enforcedBy RPA_LOCAL_NO_PROJECT_ID An in-solution process needs its project id.
45
+ */
46
+ projectId?: string;
47
+ /**
48
+ * The PROCESS's own input arguments, by its own argument names (e.g.
49
+ * `{ problemId: 123 }`). Not a fixed schema — every process declares its own,
50
+ * and only the deployed process knows them.
51
+ */
52
+ inputs?: Record<string, unknown>;
53
+ /**
54
+ * The process's OUTPUT arguments — the fields it returns, and their types
55
+ * (e.g. `{ title: 'string' }`). Required if anything reads the step's output.
56
+ *
57
+ * Why you have to say: the process's output schema lives on the tenant, and
58
+ * authoring happens offline. Without it `$vars.<step>.output.<field>` reads
59
+ * from an object with no declared fields, and nothing could tell a real field
60
+ * from a typo. Declaring
61
+ * the fields here is the same thing the platform's own definition does when it
62
+ * can reach the process, and it is what lets a misspelled read be caught at
63
+ * `uip maestro flow check` instead of at run time.
64
+ *
65
+ * @enforcedBy RPA_READ_UNKNOWN_FIELD A read of the output must name a field declared here.
66
+ * @enforcedBy RPA_READ_WITHOUT_RETURNS Reading a field off the result requires declaring it here.
67
+ */
68
+ returns?: Record<string, ReturnFieldType>;
69
+ }
70
+ export interface ApiWorkflowInputs {
71
+ /**
72
+ * The published API workflow's key (a GUID). It becomes part of the node's
73
+ * type, `uipath.core.api-workflow.<key>`. Find it with
74
+ * `uip or processes list --all-folders --process-type Api` (an API workflow's
75
+ * `ProcessKey` reads `<name>.api.<name>`; the GUID you want is the row's `Key`)
76
+ * or `uip maestro flow registry search`.
77
+ */
78
+ key: string;
79
+ /** The workflow's name in Orchestrator — e.g. `'NameToAgeFixed'`. */
80
+ name: string;
81
+ /** The Orchestrator folder holding it — e.g. `'Shared'`. */
82
+ folderPath: string;
83
+ /**
84
+ * The WORKFLOW's own input arguments, by its own argument names (e.g.
85
+ * `{ name: 'tomasz' }`). Not a fixed schema — every workflow declares its own.
86
+ */
87
+ inputs?: Record<string, unknown>;
88
+ /**
89
+ * The workflow's OUTPUT arguments — the fields it returns, and their types
90
+ * (e.g. `{ EstimatedAge: 'integer' }`). Required if anything reads the step's
91
+ * output, for the same reason as `rpaWorkflow`'s: the schema lives on the
92
+ * tenant and authoring happens offline, so an undeclared read is rejected.
93
+ *
94
+ * `'integer'` is what makes the replay fixture a number rather than a string;
95
+ * see {@link ReturnFieldType} for why the vocabulary carries it.
96
+ *
97
+ * @enforcedBy APIWF_READ_WITHOUT_RETURNS Reading a field off the result requires
98
+ * declaring it here.
99
+ */
100
+ returns?: Record<string, ReturnFieldType>;
101
+ }
102
+ /**
103
+ * A published Orchestrator **Function** — a small, single-purpose unit of code
104
+ * deployed as its own resource and invoked as one step
105
+ * (`Orchestrator.ExecuteFunctionAsync`). Same published-resource shape as
106
+ * {@link ApiWorkflowInputs}; what differs is the family and the folder.
107
+ */
108
+ export interface PublishedFunctionInputs {
109
+ /**
110
+ * The function's key (a GUID) — it becomes part of the node's type,
111
+ * `uipath.core.function.<key>`. Find it with
112
+ * `uip maestro flow registry search "uipath.core.function"` (after
113
+ * `registry pull --force`) or the Orchestrator process listing.
114
+ */
115
+ key: string;
116
+ /** The function's name in Orchestrator, e.g. `'acme-echo'`. */
117
+ name: string;
118
+ /**
119
+ * The Orchestrator folder holding it. A function is usually deployed into a
120
+ * folder of its OWN name (e.g. `'Shared/acme-echo'`), and the binding's
121
+ * `resourceKey` is `<folderPath>.<name>` — copy the folder from the tenant
122
+ * rather than assuming `'Shared'`.
123
+ */
124
+ folderPath: string;
125
+ /** The function's own input arguments, by its own names. */
126
+ inputs?: Record<string, unknown>;
127
+ /**
128
+ * The function's OUTPUT arguments — the fields it returns, and their types.
129
+ * Required if anything reads the step's output: the schema lives on the
130
+ * tenant and authoring is offline, so an undeclared read is rejected.
131
+ *
132
+ * @enforcedBy FUNCTION_READ_WITHOUT_RETURNS Reading a field off the result
133
+ * requires declaring it here.
134
+ */
135
+ returns?: Record<string, ReturnFieldType>;
136
+ }
137
+ interface AgenticProcessInputsBase {
138
+ /**
139
+ * The published agentic process's key (a GUID). It becomes part of the node's
140
+ * type, `uipath.core.agentic-process.<key>`. Find it with
141
+ * `uip or processes list --all-folders --process-type ProcessOrchestration` (an
142
+ * agentic process's `ProcessKey` reads `<name>.agentic.<name>`; the GUID you want
143
+ * is the row's `Key`) or `uip maestro flow registry search agentic`.
144
+ *
145
+ * `--all-folders` PAGINATES at 50 rows and says so in `Pagination.HasMore` — pass
146
+ * `--limit`/`--offset`, or scope the call with `--folder-path`, or a process that
147
+ * exists will look as though it does not.
148
+ */
149
+ key: string;
150
+ /** The process's name in Orchestrator — e.g. `'ProcurementProcess'`. */
151
+ name: string;
152
+ /**
153
+ * Where the process lives. `'published'` (the default) is a process deployed
154
+ * to `folderPath`. `'in-solution'` is a sibling Flow of the same solution, so
155
+ * it needs `form: 'flow'`, `projectId` and no `folderPath`; `key` is the
156
+ * sibling's `resource.key` from `resources/solution_folder/process/flow/<project>.json`.
157
+ * Only the Flow form has been run in-solution; `'bpmn'` and `'case'` siblings
158
+ * are refused until they are.
159
+ *
160
+ * @enforcedBy AGENTIC_LOCAL_FORM_UNVERIFIED In-solution is supported for `form: 'flow'` only.
161
+ */
162
+ location?: ProcessLocation;
163
+ /**
164
+ * The Orchestrator folder holding it — e.g.
165
+ * `'Shared/uipath-agents/ProcurementProcess'`. Required for a published
166
+ * process; omit it for an in-solution sibling.
167
+ *
168
+ * @enforcedBy AGENTIC_NO_FOLDER A published process needs its folder.
169
+ */
170
+ folderPath?: string;
171
+ /**
172
+ * The sibling project's `resource.projectKey`, read from the same resource
173
+ * file as `key` (`resources/solution_folder/process/flow/<project>.json`).
174
+ * Required only when `location` is `'in-solution'`.
175
+ *
176
+ * @enforcedBy AGENTIC_LOCAL_NO_PROJECT_ID An in-solution process needs its project id.
177
+ */
178
+ projectId?: string;
179
+ /**
180
+ * The PROCESS's own input arguments, by its own argument names (e.g.
181
+ * `{ productId: 1 }`). Not a fixed schema — every agentic process declares its
182
+ * own, and only the deployed process knows them.
183
+ */
184
+ inputs?: Record<string, unknown>;
185
+ /**
186
+ * Which published form this Agentic Process is: the three forms
187
+ * share one public concept and differ only in wire identity. `'bpmn'` (the
188
+ * default, and what this factory always emitted) is a Maestro BPMN process
189
+ * orchestration; `'flow'` is a published Maestro Flow; `'case'` is a Case
190
+ * Management process.
191
+ */
192
+ form?: 'bpmn' | 'flow' | 'case';
193
+ }
194
+ /**
195
+ * Whether an Agentic Process step waits for the process's result.
196
+ * The discriminated union makes `returns` impossible to declare in the
197
+ * fire-and-forget form: an async dispatch publishes no output, so nothing
198
+ * downstream may read one.
199
+ */
200
+ export type AgenticProcessCompletion = {
201
+ /** Wait for the process and publish its outputs (the default). */
202
+ completion?: 'wait';
203
+ /**
204
+ * The process's OUTPUT arguments — the fields it returns, and their types (e.g.
205
+ * `{ status: 'boolean' }`). Required if anything reads the step's output, for the
206
+ * same reason as `rpaWorkflow`'s and `apiWorkflow`'s: the schema lives on the
207
+ * tenant and authoring happens offline, so an undeclared read is rejected.
208
+ *
209
+ * `uip maestro flow registry get uipath.core.agentic-process.<process>` shows what
210
+ * the platform synthesizes, under `outputDefinition.output.schema.properties`.
211
+ *
212
+ * Worth knowing before you assert on a value: a process can DECLARE a field and
213
+ * still leave it empty. `Shared/uipath-agents/ProcurementProcess` declares
214
+ * `{status: boolean}` and every job returns `{"status": null}` (measured
215
+ * 2026-07-29, four jobs) — the field arrives, the value does not.
216
+ *
217
+ * @enforcedBy AGENTIC_READ_WITHOUT_RETURNS Reading a field off the result requires
218
+ * declaring it here.
219
+ */
220
+ returns?: Record<string, ReturnFieldType>;
221
+ } | {
222
+ /**
223
+ * Dispatch the process and continue immediately — the platform's
224
+ * fire-and-forget switch. The node keeps only its `error` output (dispatch
225
+ * failures still route), and `check` rejects any read of the step's result.
226
+ * A local replay treats this as dispatch-only: it never fabricates the
227
+ * output a real run would not publish.
228
+ */
229
+ completion: 'fire-and-forget';
230
+ /** Impossible by design: an async dispatch publishes no output. */
231
+ returns?: never;
232
+ };
233
+ /** What `agenticProcess()` takes: the shared fields plus the completion policy. */
234
+ export type AgenticProcessInputs = AgenticProcessInputsBase & AgenticProcessCompletion;
235
+ declare module '../../../core/actions.js' {
236
+ interface FlowActionSpecs {
237
+ /** The spec {@link rpaWorkflow} builds. */
238
+ rpaWorkflow: {
239
+ inputs: RpaWorkflowInputs;
240
+ };
241
+ /** The spec {@link apiWorkflow} builds. */
242
+ apiWorkflow: {
243
+ inputs: ApiWorkflowInputs;
244
+ };
245
+ /** The spec {@link publishedFunction} builds. */
246
+ publishedFunction: {
247
+ inputs: PublishedFunctionInputs;
248
+ };
249
+ /** The spec {@link agenticProcess} builds. */
250
+ agenticProcess: {
251
+ inputs: AgenticProcessInputs;
252
+ };
253
+ }
254
+ }
255
+ export {};
@@ -0,0 +1 @@
1
+ export {};