@uipath/maestro-builder-sdk 6.40.1 → 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.
- package/dist/api-index.md +101 -101
- package/dist/api-members.md +292 -292
- package/dist/check.js +8 -487
- package/dist/core/actions.d.ts +0 -391
- package/dist/core/actions.js +0 -167
- package/dist/core/nodes/registry.d.ts +6 -1
- package/dist/core/nodes/registry.js +32 -2
- package/dist/core/nodes/versioned.d.ts +12 -0
- package/dist/core/nodes/versioned.js +7 -2
- package/dist/core/process-resource.d.ts +102 -0
- package/dist/core/process-resource.js +118 -0
- package/dist/decompile.js +9 -10
- package/dist/flow-node-registry.js +2 -1
- package/dist/flow-sdk.d.ts +1 -0
- package/dist/flow-sdk.js +1 -0
- package/dist/nodes/process/flow/check.d.ts +112 -0
- package/dist/nodes/process/flow/check.js +444 -0
- package/dist/nodes/process/flow/factories.d.ts +158 -0
- package/dist/nodes/process/flow/factories.js +173 -0
- package/dist/nodes/process/flow/family.d.ts +3 -0
- package/dist/nodes/process/flow/family.js +8 -0
- package/dist/nodes/process/flow/index.d.ts +3 -0
- package/dist/nodes/process/flow/index.js +3 -0
- package/dist/nodes/process/flow/node-type.d.ts +23 -0
- package/dist/nodes/process/flow/node-type.js +652 -0
- package/dist/nodes/process/flow/spec.d.ts +255 -0
- package/dist/nodes/process/flow/spec.js +1 -0
- package/dist/serialize.js +41 -612
- 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 {};
|