@uipath/maestro-builder-sdk 6.18.9 → 6.19.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 +185 -184
- package/dist/api-members.md +504 -473
- package/dist/bpmn/uipath-moddle.v1.json +5 -0
- package/dist/case/decompile-cli.js +2 -8
- package/dist/check.js +177 -650
- package/dist/core/actions.d.ts +119 -760
- package/dist/core/actions.js +0 -306
- package/dist/core/error-port.d.ts +6 -0
- package/dist/core/error-port.js +9 -0
- package/dist/core/node-classes.d.ts +4 -63
- package/dist/core/node-classes.js +0 -112
- package/dist/core/nodes/family.d.ts +36 -0
- package/dist/core/nodes/family.js +1 -0
- package/dist/core/nodes/node-type.d.ts +136 -0
- package/dist/core/nodes/node-type.js +1 -0
- package/dist/core/nodes/registry.d.ts +57 -0
- package/dist/core/nodes/registry.js +122 -0
- package/dist/core/nodes/versioned.d.ts +50 -0
- package/dist/core/nodes/versioned.js +46 -0
- package/dist/core/typed-raw-node.d.ts +13 -62
- package/dist/core/typed-raw-node.js +40 -154
- package/dist/decompile-cli.js +2 -9
- package/dist/decompile.js +92 -271
- package/dist/flow-definitions.d.ts +10 -0
- package/dist/flow-definitions.js +35 -0
- package/dist/flow-node-registry.d.ts +13 -0
- package/dist/flow-node-registry.js +19 -0
- package/dist/flow-node-type.d.ts +192 -0
- package/dist/flow-node-type.js +1 -0
- package/dist/flow-sdk.d.ts +7 -0
- package/dist/flow-sdk.js +8 -0
- package/dist/nodes/data-fabric/flow/check.d.ts +13 -0
- package/dist/nodes/data-fabric/flow/check.js +164 -0
- package/dist/nodes/data-fabric/flow/factories.d.ts +113 -0
- package/dist/nodes/data-fabric/flow/factories.js +134 -0
- package/dist/nodes/data-fabric/flow/family.d.ts +7 -0
- package/dist/nodes/data-fabric/flow/family.js +9 -0
- package/dist/nodes/data-fabric/flow/index.d.ts +8 -0
- package/dist/nodes/data-fabric/flow/index.js +8 -0
- package/dist/nodes/data-fabric/flow/raw.d.ts +32 -0
- package/dist/nodes/data-fabric/flow/raw.js +100 -0
- package/dist/nodes/data-fabric/flow/shared.d.ts +77 -0
- package/dist/nodes/data-fabric/flow/shared.js +174 -0
- package/dist/nodes/data-fabric/flow/spec.d.ts +238 -0
- package/dist/nodes/data-fabric/flow/spec.js +1 -0
- package/dist/nodes/data-fabric/flow/verbs.d.ts +29 -0
- package/dist/nodes/data-fabric/flow/verbs.js +239 -0
- package/dist/nodes/delay/flow/check.d.ts +16 -0
- package/dist/nodes/delay/flow/check.js +86 -0
- package/dist/nodes/delay/flow/factories.d.ts +28 -0
- package/dist/nodes/delay/flow/factories.js +38 -0
- package/dist/nodes/delay/flow/family.d.ts +3 -0
- package/dist/nodes/delay/flow/family.js +8 -0
- package/dist/nodes/delay/flow/index.d.ts +3 -0
- package/dist/nodes/delay/flow/index.js +3 -0
- package/dist/nodes/delay/flow/node-type.d.ts +13 -0
- package/dist/nodes/delay/flow/node-type.js +71 -0
- package/dist/nodes/delay/flow/spec.d.ts +43 -0
- package/dist/nodes/delay/flow/spec.js +16 -0
- package/dist/nodes/document/flow/factories.d.ts +27 -0
- package/dist/nodes/document/flow/factories.js +30 -0
- package/dist/nodes/document/flow/family.d.ts +3 -0
- package/dist/nodes/document/flow/family.js +7 -0
- package/dist/nodes/document/flow/index.d.ts +3 -0
- package/dist/nodes/document/flow/index.js +3 -0
- package/dist/nodes/document/flow/node-type.d.ts +14 -0
- package/dist/nodes/document/flow/node-type.js +150 -0
- package/dist/nodes/document/flow/spec.d.ts +65 -0
- package/dist/nodes/document/flow/spec.js +1 -0
- package/dist/nodes/mock/flow/factories.d.ts +51 -0
- package/dist/nodes/mock/flow/factories.js +47 -0
- package/dist/nodes/mock/flow/family.d.ts +3 -0
- package/dist/nodes/mock/flow/family.js +7 -0
- package/dist/nodes/mock/flow/index.d.ts +2 -0
- package/dist/nodes/mock/flow/index.js +2 -0
- package/dist/nodes/mock/flow/node-type.d.ts +11 -0
- package/dist/nodes/mock/flow/node-type.js +51 -0
- package/dist/nodes/script/flow/check.d.ts +19 -0
- package/dist/nodes/script/flow/check.js +49 -0
- package/dist/nodes/script/flow/factories.d.ts +14 -0
- package/dist/nodes/script/flow/factories.js +15 -0
- package/dist/nodes/script/flow/family.d.ts +3 -0
- package/dist/nodes/script/flow/family.js +8 -0
- package/dist/nodes/script/flow/index.d.ts +3 -0
- package/dist/nodes/script/flow/index.js +3 -0
- package/dist/nodes/script/flow/node-type.d.ts +7 -0
- package/dist/nodes/script/flow/node-type.js +125 -0
- package/dist/nodes/script/flow/spec.d.ts +52 -0
- package/dist/nodes/script/flow/spec.js +1 -0
- package/dist/nodes/transform/flow/check.d.ts +6 -0
- package/dist/nodes/transform/flow/check.js +229 -0
- package/dist/nodes/transform/flow/factories.d.ts +52 -0
- package/dist/nodes/transform/flow/factories.js +53 -0
- package/dist/nodes/transform/flow/family.d.ts +3 -0
- package/dist/nodes/transform/flow/family.js +8 -0
- package/dist/nodes/transform/flow/index.d.ts +3 -0
- package/dist/nodes/transform/flow/index.js +3 -0
- package/dist/nodes/transform/flow/node-type.d.ts +7 -0
- package/dist/nodes/transform/flow/node-type.js +244 -0
- package/dist/nodes/transform/flow/spec.d.ts +116 -0
- package/dist/nodes/transform/flow/spec.js +10 -0
- package/dist/raw-node-advice.d.ts +16 -0
- package/dist/raw-node-advice.js +36 -0
- package/dist/raw-node.d.ts +71 -0
- package/dist/raw-node.js +116 -0
- package/dist/registry/uip/launch.d.ts +11 -1
- package/dist/registry/uip/launch.js +50 -43
- package/dist/registry/uip/pipeline-front-door.d.ts +2 -0
- package/dist/registry/uip/pipeline-front-door.js +88 -0
- package/dist/serialize.js +138 -492
- package/package.json +2 -2
package/dist/core/actions.d.ts
CHANGED
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
import type { Expr } from './expr.js';
|
|
11
11
|
import type { LookupToken } from './lookups.js';
|
|
12
12
|
import { type ConnectorDescriptor, type TriggerDescriptor } from './connectors.js';
|
|
13
|
-
import type { ScriptReturns } from './script-return.js';
|
|
14
13
|
/** One conditional response branch on an HTTP node — a designer-visible side exit. */
|
|
15
14
|
export interface HttpBranch {
|
|
16
15
|
/**
|
|
@@ -146,44 +145,6 @@ export type HttpInputs = HttpInputsBase & ({
|
|
|
146
145
|
*/
|
|
147
146
|
targetConnector?: string;
|
|
148
147
|
});
|
|
149
|
-
export interface ScriptInputs {
|
|
150
|
-
/** JavaScript body. Must `return` its result. Referenced via out('<step>'). */
|
|
151
|
-
code: string;
|
|
152
|
-
/**
|
|
153
|
-
* What the body RETURNS — the type of `out('<step>')`.
|
|
154
|
-
*
|
|
155
|
-
* The platform's definition can only say `output: {type: 'object'}` (a node
|
|
156
|
-
* type cannot know what a particular body returns), so the designer types
|
|
157
|
-
* every script read as `Record<string, any>` and reports mapping one into a
|
|
158
|
-
* `string` output as `Type 'Record<string, any>' is not assignable to type
|
|
159
|
-
* 'string'` — on a flow that is correct and runs.
|
|
160
|
-
*
|
|
161
|
-
* **Usually you do not need this.** The compiler reads the body and declares
|
|
162
|
-
* what it plainly returns, so `return "pending-approval"` is already a
|
|
163
|
-
* `string`. Reach for `returns` when the body does not say so syntactically —
|
|
164
|
-
* a value that comes back from a runtime read, or an object assembled
|
|
165
|
-
* dynamically:
|
|
166
|
-
*
|
|
167
|
-
* ```ts
|
|
168
|
-
* .step('policyLimit', script({
|
|
169
|
-
* code: 'return $vars.fetchPolicy.output.body.limit;',
|
|
170
|
-
* returns: 'number',
|
|
171
|
-
* }))
|
|
172
|
-
* ```
|
|
173
|
-
*
|
|
174
|
-
* For an object return, name the FIELDS instead — the spelling every other
|
|
175
|
-
* action's `returns` uses, and what licenses `out('<step>', '<field>')`:
|
|
176
|
-
*
|
|
177
|
-
* ```ts
|
|
178
|
-
* returns: { total: 'number', currency: 'string' }
|
|
179
|
-
* ```
|
|
180
|
-
*
|
|
181
|
-
* An explicit `returns` always wins over what the body looks like. Nothing is
|
|
182
|
-
* inferred when the body does not plainly agree with itself, and an unknown
|
|
183
|
-
* shape stays the definition's open object rather than being guessed at.
|
|
184
|
-
*/
|
|
185
|
-
returns?: ScriptReturns;
|
|
186
|
-
}
|
|
187
148
|
export interface ConnectorOpts {
|
|
188
149
|
/** Connector action version (defaults to the library's newest match). */
|
|
189
150
|
version?: string;
|
|
@@ -228,107 +189,6 @@ export interface ConnectorOpts {
|
|
|
228
189
|
*/
|
|
229
190
|
object?: string;
|
|
230
191
|
}
|
|
231
|
-
/** How a filter combines its rules: every rule must match, or any one. */
|
|
232
|
-
export type FilterMatch = 'and' | 'or';
|
|
233
|
-
/** Comparison a filter rule applies to a field. */
|
|
234
|
-
export type FilterCondition = 'equals' | 'not_equals' | 'greater_than' | 'less_than' | 'greater_equal' | 'less_equal' | 'contains' | 'not_contains' | 'starts_with' | 'not_starts_with' | 'ends_with' | 'not_ends_with' | 'matches_regex' | 'in' | 'not_in' | 'is_null' | 'is_not_null' | 'is_empty' | 'is_not_empty';
|
|
235
|
-
export interface FilterRule {
|
|
236
|
-
/** Field on each item. Dot-paths reach nested fields (`'order.amount'`). */
|
|
237
|
-
field: string;
|
|
238
|
-
condition: FilterCondition;
|
|
239
|
-
/**
|
|
240
|
-
* What to compare against — a LITERAL only. The transform runtime reads this
|
|
241
|
-
* value as-is and evaluates nothing, so an expression here would compare every
|
|
242
|
-
* item against that text and match nothing. Hence `Expr` is not accepted: for
|
|
243
|
-
* a dynamic threshold, filter in a `script` step instead.
|
|
244
|
-
* Omit for the value-free conditions (`is_null`, `is_empty`, …).
|
|
245
|
-
*/
|
|
246
|
-
value?: string | number | boolean | null;
|
|
247
|
-
}
|
|
248
|
-
/** What a map does to a field's value. Only `copy` is meaningful for non-text. */
|
|
249
|
-
export type Transformation = 'copy' | 'uppercase' | 'lowercase' | 'trim';
|
|
250
|
-
export interface FieldMapping {
|
|
251
|
-
/** Field to carry into the output. Must exist on the item, or it is skipped. */
|
|
252
|
-
field: string;
|
|
253
|
-
/** Defaults to `'copy'` (the value unchanged). */
|
|
254
|
-
transformation?: Transformation;
|
|
255
|
-
/** Output field name. Omit to keep `field`'s own name. */
|
|
256
|
-
renameTo?: string;
|
|
257
|
-
}
|
|
258
|
-
export type AggregationOperation = 'count' | 'sum' | 'average' | 'min' | 'max' | 'first' | 'last' | 'collect';
|
|
259
|
-
export interface Aggregation {
|
|
260
|
-
operation: AggregationOperation;
|
|
261
|
-
/** Output field name for the aggregate. Required. */
|
|
262
|
-
alias: string;
|
|
263
|
-
/** Field to aggregate. Required for every operation except `count`. */
|
|
264
|
-
field?: string;
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* One link in the chain. Operations run in the order given, and each one's
|
|
268
|
-
* result is the next one's input — so a `map` that drops a field puts it out of
|
|
269
|
-
* reach of a later `filter`.
|
|
270
|
-
*/
|
|
271
|
-
export type TransformOperation = {
|
|
272
|
-
type: 'filter';
|
|
273
|
-
filters: FilterRule[];
|
|
274
|
-
operation?: FilterMatch;
|
|
275
|
-
} | {
|
|
276
|
-
type: 'map';
|
|
277
|
-
mappings: FieldMapping[];
|
|
278
|
-
keepOriginalFields?: boolean;
|
|
279
|
-
} | {
|
|
280
|
-
type: 'groupBy';
|
|
281
|
-
groupByField: string;
|
|
282
|
-
aggregations?: Aggregation[];
|
|
283
|
-
};
|
|
284
|
-
/**
|
|
285
|
-
* Which Transform node type to emit.
|
|
286
|
-
*
|
|
287
|
-
* @remarks
|
|
288
|
-
* The platform ships four: the generic `core.action.transform`, which chains N
|
|
289
|
-
* operations, plus three single-purpose variants that each run exactly one.
|
|
290
|
-
* They share ONE runtime — flow-v1 routes all four node types through the same
|
|
291
|
-
* script generators and dispatches on the OPERATION's `type`, never the node's
|
|
292
|
-
* (`bpmn-to-xml.ts`'s `DATA_TRANSFORM_NODE_TYPES` / `generateDataTransformScript`).
|
|
293
|
-
* So a variant is the generic constrained to one operation, wearing a
|
|
294
|
-
* self-describing node type and its own editor in the designer.
|
|
295
|
-
*
|
|
296
|
-
* Note the spelling: the node type is `core.action.transform.group-by`
|
|
297
|
-
* (hyphen), while the operation it carries is `type: 'groupBy'` (camelCase) —
|
|
298
|
-
* that mismatch is the platform's, not ours.
|
|
299
|
-
*/
|
|
300
|
-
export type TransformVariant = 'map' | 'filter' | 'group-by';
|
|
301
|
-
/**
|
|
302
|
-
* The operation `type` each variant node must carry — one of, and only.
|
|
303
|
-
*
|
|
304
|
-
* @internal Serializer plumbing; an author states the variant, not the mapping.
|
|
305
|
-
*/
|
|
306
|
-
export declare const VARIANT_OPERATION: Record<TransformVariant, TransformOperation['type']>;
|
|
307
|
-
export interface TransformInputs {
|
|
308
|
-
/**
|
|
309
|
-
* The array to transform, as a REFERENCE: `v('catalog')` or
|
|
310
|
-
* `out('fetchOrders', 'body.items')`.
|
|
311
|
-
*
|
|
312
|
-
* This is a variable PATH, not a value field — the runtime turns the string
|
|
313
|
-
* into a lookup. An inline array or a computed `js` expression therefore
|
|
314
|
-
* resolves to nothing, which is why the type is `Expr` and `check` rejects
|
|
315
|
-
* anything that is not a bare `$vars.…` path. Keep static data in a
|
|
316
|
-
* `.var(name, types.array, [...])` default and point here.
|
|
317
|
-
*/
|
|
318
|
-
collection: Expr;
|
|
319
|
-
/**
|
|
320
|
-
* Emit a single-purpose variant node instead of the generic Transform.
|
|
321
|
-
* Omit it for the generic (the default).
|
|
322
|
-
*
|
|
323
|
-
* With a variant, `operations` must hold exactly ONE operation of the
|
|
324
|
-
* matching type — `'filter'` → `type: 'filter'`, `'map'` → `type: 'map'`,
|
|
325
|
-
* `'group-by'` → `type: 'groupBy'`. `check` rejects anything else, naming
|
|
326
|
-
* both the variant and the operation it found.
|
|
327
|
-
*/
|
|
328
|
-
variant?: TransformVariant;
|
|
329
|
-
/** At least one operation — an empty chain is a no-op node. */
|
|
330
|
-
operations: TransformOperation[];
|
|
331
|
-
}
|
|
332
192
|
/**
|
|
333
193
|
* A form field's type. These are the platform's own strings — an unrecognized
|
|
334
194
|
* one is NOT an error there, it silently normalizes to text (so a number field
|
|
@@ -951,36 +811,6 @@ export interface IxpExtractInputs {
|
|
|
951
811
|
*/
|
|
952
812
|
description?: string;
|
|
953
813
|
}
|
|
954
|
-
/**
|
|
955
|
-
* The twelve durations the designer's dropdown offers. Purely an ENCODING
|
|
956
|
-
* detail: a duration in this list ships as `timerPreset: '<duration>'` and any
|
|
957
|
-
* other ships as `timerPreset: 'custom'` + `timerValue: '<duration>'`. Both
|
|
958
|
-
* deploy and both wait the same length of time — the author never picks.
|
|
959
|
-
* `core-definitions.test.ts` pins this list against the definition's own form.
|
|
960
|
-
*/
|
|
961
|
-
export declare const DELAY_PRESETS: readonly ["PT5S", "PT15S", "PT30S", "PT1M", "PT5M", "PT15M", "PT30M", "PT1H", "PT6H", "PT12H", "P1D", "P1W"];
|
|
962
|
-
export type DelayInputs = {
|
|
963
|
-
/**
|
|
964
|
-
* How long to wait, as an ISO-8601 duration: `PT30S`, `PT15M`, `PT2H`,
|
|
965
|
-
* `P1D`, `P1W`. `PT` separates the time part, so `P1M` is a MONTH and
|
|
966
|
-
* `PT1M` is a minute.
|
|
967
|
-
* ISO-8601 duration format documentation is here:
|
|
968
|
-
* {@link https://docs.digi.com/resources/documentation/digidocs/90001488-13/reference/r_iso_8601_duration_format.htm}
|
|
969
|
-
*/
|
|
970
|
-
duration: string;
|
|
971
|
-
/** Impossible together with `duration` — a delay waits one way or the other. */
|
|
972
|
-
until?: never;
|
|
973
|
-
} | {
|
|
974
|
-
/**
|
|
975
|
-
* Wait until an ABSOLUTE date-time, ISO-8601: `2026-09-01T09:00:00Z` or
|
|
976
|
-
* `2026-09-01T09:00:00+02:00`. The platform's timeDate timer: the run
|
|
977
|
-
* parks until the wall clock reaches this moment (already-past dates
|
|
978
|
-
* fire immediately).
|
|
979
|
-
*/
|
|
980
|
-
until: string;
|
|
981
|
-
/** Impossible together with `until` — a delay waits one way or the other. */
|
|
982
|
-
duration?: never;
|
|
983
|
-
};
|
|
984
814
|
/**
|
|
985
815
|
* Where a process resource lives: deployed to an Orchestrator folder
|
|
986
816
|
* (`'published'`, the default) or a sibling project of the SAME solution
|
|
@@ -2155,361 +1985,131 @@ export interface QueueItemInputs {
|
|
|
2155
1985
|
returns?: Record<string, ReturnFieldType>;
|
|
2156
1986
|
}
|
|
2157
1987
|
/**
|
|
2158
|
-
*
|
|
2159
|
-
*
|
|
1988
|
+
* Every action kind, keyed by kind, to the body of its spec — the arm's fields
|
|
1989
|
+
* other than `kind`. {@link ActionSpec} is built from it.
|
|
2160
1990
|
*
|
|
2161
1991
|
* @remarks
|
|
2162
|
-
*
|
|
2163
|
-
*
|
|
2164
|
-
*
|
|
2165
|
-
*
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
/**
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
1992
|
+
* An interface, not a closed union, so a node family can add its kinds where it
|
|
1993
|
+
* is defined, by declaration merging, instead of editing this file
|
|
1994
|
+
* (docs/NODE_TYPE_ARCHITECTURE_DESIGN.md §4.6). Most bodies are `{ inputs }`;
|
|
1995
|
+
* `mock`, `connector` and `waitEvent` are not, which is why the value is the
|
|
1996
|
+
* whole body rather than an inputs payload.
|
|
1997
|
+
*/
|
|
1998
|
+
export interface FlowActionSpecs {
|
|
1999
|
+
/** The spec {@link http} builds. */
|
|
2000
|
+
http: {
|
|
2001
|
+
inputs: HttpInputs;
|
|
2002
|
+
};
|
|
2003
|
+
/** The spec {@link hitl} builds. */
|
|
2004
|
+
hitl: {
|
|
2005
|
+
inputs: HitlInputs;
|
|
2006
|
+
};
|
|
2007
|
+
/** The spec {@link rpaWorkflow} builds. */
|
|
2008
|
+
rpaWorkflow: {
|
|
2009
|
+
inputs: RpaWorkflowInputs;
|
|
2010
|
+
};
|
|
2011
|
+
/** The spec {@link apiWorkflow} builds. */
|
|
2012
|
+
apiWorkflow: {
|
|
2013
|
+
inputs: ApiWorkflowInputs;
|
|
2014
|
+
};
|
|
2015
|
+
/** The spec {@link publishedFunction} builds. */
|
|
2016
|
+
publishedFunction: {
|
|
2017
|
+
inputs: PublishedFunctionInputs;
|
|
2018
|
+
};
|
|
2019
|
+
/** The spec {@link sendMessage} builds. */
|
|
2020
|
+
sendMessage: {
|
|
2021
|
+
inputs: SendMessageInputs;
|
|
2022
|
+
};
|
|
2023
|
+
/** The spec {@link waitForMessage} builds. */
|
|
2024
|
+
waitForMessage: {
|
|
2025
|
+
inputs: WaitForMessageInputs;
|
|
2026
|
+
};
|
|
2027
|
+
/** The spec {@link conversationContext} builds. */
|
|
2028
|
+
conversationContext: {
|
|
2029
|
+
inputs: ConversationContextInputs;
|
|
2030
|
+
};
|
|
2031
|
+
/** The spec {@link createOutgoingCall} builds. */
|
|
2032
|
+
createOutgoingCall: {
|
|
2033
|
+
inputs: CreateOutgoingCallInputs;
|
|
2034
|
+
};
|
|
2035
|
+
/** The spec {@link endCall} builds. */
|
|
2036
|
+
endCall: {
|
|
2037
|
+
inputs: EndCallInputs;
|
|
2038
|
+
};
|
|
2039
|
+
/** The spec {@link voiceAgent} builds. */
|
|
2040
|
+
voiceAgent: {
|
|
2041
|
+
inputs: VoiceAgentInputs;
|
|
2042
|
+
};
|
|
2043
|
+
/** The spec {@link conversationalAgent} builds. */
|
|
2044
|
+
conversationalAgent: {
|
|
2045
|
+
inputs: ConversationalAgentInputs;
|
|
2046
|
+
};
|
|
2047
|
+
/** The spec {@link agenticProcess} builds. */
|
|
2048
|
+
agenticProcess: {
|
|
2049
|
+
inputs: AgenticProcessInputs;
|
|
2050
|
+
};
|
|
2051
|
+
/** The spec {@link agent} builds. */
|
|
2052
|
+
agent: {
|
|
2053
|
+
inputs: AgentInputs;
|
|
2054
|
+
};
|
|
2055
|
+
/** The spec {@link inlineAgent} builds. */
|
|
2056
|
+
inlineAgent: {
|
|
2057
|
+
inputs: InlineAgentInputs;
|
|
2058
|
+
};
|
|
2059
|
+
/** The spec {@link queueItem} builds. */
|
|
2060
|
+
queueItem: {
|
|
2061
|
+
inputs: QueueItemInputs;
|
|
2062
|
+
};
|
|
2063
|
+
/** The spec {@link summarize} builds. */
|
|
2064
|
+
summarize: {
|
|
2065
|
+
inputs: SummarizeInputs;
|
|
2066
|
+
};
|
|
2067
|
+
/** The spec {@link batchTransform} builds. */
|
|
2068
|
+
batchTransform: {
|
|
2069
|
+
inputs: BatchTransformInputs;
|
|
2070
|
+
};
|
|
2071
|
+
/** The spec {@link ixpExtract} builds. */
|
|
2072
|
+
ixpExtract: {
|
|
2073
|
+
inputs: IxpExtractInputs;
|
|
2074
|
+
};
|
|
2075
|
+
/** The spec {@link connector} builds. */
|
|
2076
|
+
connector: {
|
|
2077
|
+
/** The connector key, e.g. `'uipath-salesforce-slack'`. */
|
|
2078
|
+
key: string;
|
|
2079
|
+
/** The connector operation. */
|
|
2080
|
+
action: string;
|
|
2081
|
+
/** The exact connector version, when the author pins one. */
|
|
2082
|
+
version?: string;
|
|
2083
|
+
/** The connection's binding label. */
|
|
2084
|
+
connection?: string;
|
|
2085
|
+
/** The folder's binding label. */
|
|
2086
|
+
folder?: string;
|
|
2087
|
+
/** Which OBJECT a generic operation addresses — see {@link ConnectorOpts.object}. */
|
|
2088
|
+
object?: string;
|
|
2089
|
+
/** The operation's inputs, by field. */
|
|
2090
|
+
inputs: Record<string, unknown>;
|
|
2091
|
+
};
|
|
2092
|
+
/** The spec {@link waitForEvent} builds. */
|
|
2093
|
+
waitEvent: {
|
|
2094
|
+
subscription: EventSubscription;
|
|
2095
|
+
};
|
|
2206
2096
|
}
|
|
2207
2097
|
/**
|
|
2208
|
-
*
|
|
2209
|
-
*
|
|
2210
|
-
* @remarks
|
|
2211
|
-
* `{ byId }` names a record id, literal or expression. `{ fromRead }` names an
|
|
2212
|
-
* earlier {@link dataFabricRead} STEP and reuses the record that step found, so
|
|
2213
|
-
* the id never has to be carried by hand; `check` rejects a name no read step
|
|
2214
|
-
* has. Shared by {@link dataFabricUpdate} and {@link dataFabricDelete} — the
|
|
2215
|
-
* platform gives them the same `recordSource` shape.
|
|
2098
|
+
* One action step's spec: `{ kind }` plus that kind's body from
|
|
2099
|
+
* {@link FlowActionSpecs}, for every kind there.
|
|
2216
2100
|
*/
|
|
2217
|
-
export type DataFabricRecordRef = {
|
|
2218
|
-
byId: string | Expr;
|
|
2219
|
-
fromRead?: never;
|
|
2220
|
-
} | {
|
|
2221
|
-
fromRead: string;
|
|
2222
|
-
byId?: never;
|
|
2223
|
-
};
|
|
2224
|
-
export interface DataFabricReadInputs {
|
|
2225
|
-
/** The Data Fabric entity's name, e.g. `'Invoices'`. */
|
|
2226
|
-
entity: string;
|
|
2227
|
-
/** Filter rows selecting the record(s) to query. Omit to take everything the entity holds. */
|
|
2228
|
-
filters?: DataFabricFilter[];
|
|
2229
|
-
/**
|
|
2230
|
-
* `'single'` publishes ONE record as the step's `output`; `'multiple'`
|
|
2231
|
-
* publishes the matching records under `output.results`.
|
|
2232
|
-
*
|
|
2233
|
-
* Setting either selects the node's **1.4** definition, which is where
|
|
2234
|
-
* `resultMode` exists at all — the SDK's pinned default is 1.0, the
|
|
2235
|
-
* read-one-record node this family started as. Omit it and nothing changes:
|
|
2236
|
-
* the step stays on 1.0 and reads one record, as it always did.
|
|
2237
|
-
*
|
|
2238
|
-
* A `'single'` read faults only on an OVER-match; zero matches completes
|
|
2239
|
-
* normally and leaves the step's output unresolved, so treat "not found" as a
|
|
2240
|
-
* branch rather than an error.
|
|
2241
|
-
*/
|
|
2242
|
-
resultMode?: 'single' | 'multiple';
|
|
2243
|
-
/**
|
|
2244
|
-
* Row cap for a `'multiple'` query. The emitted query ALWAYS carries a limit:
|
|
2245
|
-
* omitting this resolves to 100, and 1000 is a hard ceiling — a larger value
|
|
2246
|
-
* truncates silently, so page with `skip` instead.
|
|
2247
|
-
*/
|
|
2248
|
-
limit?: number;
|
|
2249
|
-
/** Rows to skip before the limit — the paging half of `limit`. */
|
|
2250
|
-
skip?: number;
|
|
2251
|
-
/** Order rows before the limit applies. Without it a limited slice is arbitrary. */
|
|
2252
|
-
sort?: DataFabricSort;
|
|
2253
|
-
/** Only these columns. Omit for every column the entity has. */
|
|
2254
|
-
fields?: string[];
|
|
2255
|
-
/**
|
|
2256
|
-
* Folder key (GUID) for a folder-scoped entity — its `folderId` from
|
|
2257
|
-
* `uip df entities list --include-folders`.
|
|
2258
|
-
*
|
|
2259
|
-
* Requires `resourceKey`: `folderKey` alone serializes the folder as a
|
|
2260
|
-
* source-org LITERAL, which looks portable and breaks on cross-org deploy, so
|
|
2261
|
-
* `check` refuses the pair being half-authored.
|
|
2262
|
-
*/
|
|
2263
|
-
folderKey?: string;
|
|
2264
|
-
/**
|
|
2265
|
-
* The key the entity's reference is registered under in the solution, from
|
|
2266
|
-
* `uip solution resources list --kind Entity`.
|
|
2267
|
-
*
|
|
2268
|
-
* @remarks
|
|
2269
|
-
* Only meaningful with `folderKey`. Supplying both emits the two
|
|
2270
|
-
* `resource: 'Entity'` binding rows (`propertyAttribute` `name` and
|
|
2271
|
-
* `folderKey`) that let the flow deploy to another org. Nothing mints this
|
|
2272
|
-
* key for a hand-authored flow — if you cannot resolve one, keep the entity
|
|
2273
|
-
* tenant-scoped and omit both.
|
|
2274
|
-
*/
|
|
2275
|
-
resourceKey?: string;
|
|
2276
|
-
}
|
|
2277
|
-
export interface DataFabricCreateInputs {
|
|
2278
|
-
/** The Data Fabric entity's name, e.g. `'Invoices'`. */
|
|
2279
|
-
entity: string;
|
|
2280
|
-
/**
|
|
2281
|
-
* The columns the new record starts with, by field name. At least one is
|
|
2282
|
-
* required — the node's schema rejects an empty field list rather than
|
|
2283
|
-
* inserting a blank row.
|
|
2284
|
-
*/
|
|
2285
|
-
values: Record<string, string | Expr>;
|
|
2286
|
-
/**
|
|
2287
|
-
* Folder key (GUID) for a folder-scoped entity — its `folderId` from
|
|
2288
|
-
* `uip df entities list --include-folders`.
|
|
2289
|
-
*
|
|
2290
|
-
* Requires `resourceKey`: `folderKey` alone serializes the folder as a
|
|
2291
|
-
* source-org LITERAL, which looks portable and breaks on cross-org deploy, so
|
|
2292
|
-
* `check` refuses the pair being half-authored.
|
|
2293
|
-
*/
|
|
2294
|
-
folderKey?: string;
|
|
2295
|
-
/**
|
|
2296
|
-
* The key the entity's reference is registered under in the solution, from
|
|
2297
|
-
* `uip solution resources list --kind Entity`.
|
|
2298
|
-
*
|
|
2299
|
-
* @remarks
|
|
2300
|
-
* Only meaningful with `folderKey`. Supplying both emits the two
|
|
2301
|
-
* `resource: 'Entity'` binding rows (`propertyAttribute` `name` and
|
|
2302
|
-
* `folderKey`) that let the flow deploy to another org. Nothing mints this
|
|
2303
|
-
* key for a hand-authored flow — if you cannot resolve one, keep the entity
|
|
2304
|
-
* tenant-scoped and omit both.
|
|
2305
|
-
*/
|
|
2306
|
-
resourceKey?: string;
|
|
2307
|
-
}
|
|
2308
|
-
export interface DataFabricUpdateInputs {
|
|
2309
|
-
/** The Data Fabric entity's name, e.g. `'Invoices'`. */
|
|
2310
|
-
entity: string;
|
|
2311
|
-
/** Which record to update — see {@link DataFabricRecordRef}. */
|
|
2312
|
-
record: DataFabricRecordRef;
|
|
2313
|
-
/**
|
|
2314
|
-
* The columns to write, by field name. An empty string is a real write — it
|
|
2315
|
-
* clears the column.
|
|
2316
|
-
*/
|
|
2317
|
-
set: Record<string, string | Expr>;
|
|
2318
|
-
/**
|
|
2319
|
-
* Folder key (GUID) for a folder-scoped entity — its `folderId` from
|
|
2320
|
-
* `uip df entities list --include-folders`.
|
|
2321
|
-
*
|
|
2322
|
-
* Requires `resourceKey`: `folderKey` alone serializes the folder as a
|
|
2323
|
-
* source-org LITERAL, which looks portable and breaks on cross-org deploy, so
|
|
2324
|
-
* `check` refuses the pair being half-authored.
|
|
2325
|
-
*/
|
|
2326
|
-
folderKey?: string;
|
|
2327
|
-
/**
|
|
2328
|
-
* The key the entity's reference is registered under in the solution, from
|
|
2329
|
-
* `uip solution resources list --kind Entity`.
|
|
2330
|
-
*
|
|
2331
|
-
* @remarks
|
|
2332
|
-
* Only meaningful with `folderKey`. Supplying both emits the two
|
|
2333
|
-
* `resource: 'Entity'` binding rows (`propertyAttribute` `name` and
|
|
2334
|
-
* `folderKey`) that let the flow deploy to another org. Nothing mints this
|
|
2335
|
-
* key for a hand-authored flow — if you cannot resolve one, keep the entity
|
|
2336
|
-
* tenant-scoped and omit both.
|
|
2337
|
-
*/
|
|
2338
|
-
resourceKey?: string;
|
|
2339
|
-
}
|
|
2340
|
-
export interface DataFabricDeleteInputs {
|
|
2341
|
-
/** The Data Fabric entity's name, e.g. `'Invoices'`. */
|
|
2342
|
-
entity: string;
|
|
2343
|
-
/** Which record to delete — see {@link DataFabricRecordRef}. */
|
|
2344
|
-
record: DataFabricRecordRef;
|
|
2345
|
-
/**
|
|
2346
|
-
* Folder key (GUID) for a folder-scoped entity — its `folderId` from
|
|
2347
|
-
* `uip df entities list --include-folders`.
|
|
2348
|
-
*
|
|
2349
|
-
* Requires `resourceKey`: `folderKey` alone serializes the folder as a
|
|
2350
|
-
* source-org LITERAL, which looks portable and breaks on cross-org deploy, so
|
|
2351
|
-
* `check` refuses the pair being half-authored.
|
|
2352
|
-
*/
|
|
2353
|
-
folderKey?: string;
|
|
2354
|
-
/**
|
|
2355
|
-
* The key the entity's reference is registered under in the solution, from
|
|
2356
|
-
* `uip solution resources list --kind Entity`.
|
|
2357
|
-
*
|
|
2358
|
-
* @remarks
|
|
2359
|
-
* Only meaningful with `folderKey`. Supplying both emits the two
|
|
2360
|
-
* `resource: 'Entity'` binding rows (`propertyAttribute` `name` and
|
|
2361
|
-
* `folderKey`) that let the flow deploy to another org. Nothing mints this
|
|
2362
|
-
* key for a hand-authored flow — if you cannot resolve one, keep the entity
|
|
2363
|
-
* tenant-scoped and omit both.
|
|
2364
|
-
*/
|
|
2365
|
-
resourceKey?: string;
|
|
2366
|
-
}
|
|
2367
|
-
export interface DocumentClassifyInputs {
|
|
2368
|
-
/** The document to classify — a file reference (`input('file')`, `out('fetch', 'fileRef')`, …). */
|
|
2369
|
-
fileRef: string | Expr;
|
|
2370
|
-
/** Page range to classify, e.g. `'1-3'`. Omit for the whole document. */
|
|
2371
|
-
pageRange?: string;
|
|
2372
|
-
/** Split multi-document files into per-type page ranges. */
|
|
2373
|
-
splitPages?: boolean;
|
|
2374
|
-
/** Model configuration overrides; omit for the platform defaults (gemini_2_5_flash). */
|
|
2375
|
-
modelConfig?: Record<string, unknown>;
|
|
2376
|
-
}
|
|
2377
|
-
export interface DynamicExtractInputs {
|
|
2378
|
-
/** The document to extract from — a file reference. */
|
|
2379
|
-
fileRef: string | Expr;
|
|
2380
|
-
/**
|
|
2381
|
-
* The IXP model deployment the extraction runs against. Dynamic Extract
|
|
2382
|
-
* authors its SCHEMA inline, but execution still needs a model: Studio Web's
|
|
2383
|
-
* panel destructures `modelName` and `folderKey`, and the platform rejects an
|
|
2384
|
-
* instance without them.
|
|
2385
|
-
*/
|
|
2386
|
-
model: {
|
|
2387
|
-
/** The deployment's model name, e.g. `'invoiceixp-cef0d447-ixp'`. */
|
|
2388
|
-
modelName: string;
|
|
2389
|
-
/** Folder key (GUID) the deployment lives in. */
|
|
2390
|
-
folderKey: string;
|
|
2391
|
-
/** The IXP project's id (GUID). */
|
|
2392
|
-
projectId?: string;
|
|
2393
|
-
/** The IXP project's display name. */
|
|
2394
|
-
projectName?: string;
|
|
2395
|
-
/** Folder display name. */
|
|
2396
|
-
folderName?: string;
|
|
2397
|
-
/** Deployment version tag; omit for the live version. */
|
|
2398
|
-
versionTag?: string;
|
|
2399
|
-
};
|
|
2400
|
-
/**
|
|
2401
|
-
* The extraction schema (the node's inline taxonomy): a JSON-schema-shaped
|
|
2402
|
-
* document describing the fields to extract. This is the Dynamic Extract
|
|
2403
|
-
* node's defining input — authored inline rather than referencing a deployed
|
|
2404
|
-
* IXP project (use {@link ixpExtract} for those).
|
|
2405
|
-
*/
|
|
2406
|
-
schema?: Record<string, unknown>;
|
|
2407
|
-
/** Page range to extract, e.g. `'1-3'`. Omit for the whole document. */
|
|
2408
|
-
pageRange?: string;
|
|
2409
|
-
/** Model configuration overrides; omit for the platform defaults. */
|
|
2410
|
-
modelConfig?: Record<string, unknown>;
|
|
2411
|
-
}
|
|
2412
2101
|
export type ActionSpec = {
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
}
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
} | {
|
|
2425
|
-
kind: 'delay';
|
|
2426
|
-
inputs: DelayInputs;
|
|
2427
|
-
}
|
|
2428
|
-
/** A placeholder — no inputs, publishes nothing. See {@link mock}. */
|
|
2429
|
-
| {
|
|
2430
|
-
kind: 'mock';
|
|
2431
|
-
} | {
|
|
2432
|
-
kind: 'rpaWorkflow';
|
|
2433
|
-
inputs: RpaWorkflowInputs;
|
|
2434
|
-
} | {
|
|
2435
|
-
kind: 'apiWorkflow';
|
|
2436
|
-
inputs: ApiWorkflowInputs;
|
|
2437
|
-
} | {
|
|
2438
|
-
kind: 'publishedFunction';
|
|
2439
|
-
inputs: PublishedFunctionInputs;
|
|
2440
|
-
} | {
|
|
2441
|
-
kind: 'sendMessage';
|
|
2442
|
-
inputs: SendMessageInputs;
|
|
2443
|
-
} | {
|
|
2444
|
-
kind: 'waitForMessage';
|
|
2445
|
-
inputs: WaitForMessageInputs;
|
|
2446
|
-
} | {
|
|
2447
|
-
kind: 'conversationContext';
|
|
2448
|
-
inputs: ConversationContextInputs;
|
|
2449
|
-
} | {
|
|
2450
|
-
kind: 'createOutgoingCall';
|
|
2451
|
-
inputs: CreateOutgoingCallInputs;
|
|
2452
|
-
} | {
|
|
2453
|
-
kind: 'endCall';
|
|
2454
|
-
inputs: EndCallInputs;
|
|
2455
|
-
} | {
|
|
2456
|
-
kind: 'voiceAgent';
|
|
2457
|
-
inputs: VoiceAgentInputs;
|
|
2458
|
-
} | {
|
|
2459
|
-
kind: 'conversationalAgent';
|
|
2460
|
-
inputs: ConversationalAgentInputs;
|
|
2461
|
-
} | {
|
|
2462
|
-
kind: 'agenticProcess';
|
|
2463
|
-
inputs: AgenticProcessInputs;
|
|
2464
|
-
} | {
|
|
2465
|
-
kind: 'agent';
|
|
2466
|
-
inputs: AgentInputs;
|
|
2467
|
-
} | {
|
|
2468
|
-
kind: 'inlineAgent';
|
|
2469
|
-
inputs: InlineAgentInputs;
|
|
2470
|
-
} | {
|
|
2471
|
-
kind: 'queueItem';
|
|
2472
|
-
inputs: QueueItemInputs;
|
|
2473
|
-
} | {
|
|
2474
|
-
kind: 'summarize';
|
|
2475
|
-
inputs: SummarizeInputs;
|
|
2476
|
-
} | {
|
|
2477
|
-
kind: 'batchTransform';
|
|
2478
|
-
inputs: BatchTransformInputs;
|
|
2479
|
-
} | {
|
|
2480
|
-
kind: 'ixpExtract';
|
|
2481
|
-
inputs: IxpExtractInputs;
|
|
2482
|
-
} | {
|
|
2483
|
-
kind: 'connector';
|
|
2484
|
-
key: string;
|
|
2485
|
-
action: string;
|
|
2486
|
-
version?: string;
|
|
2487
|
-
connection?: string;
|
|
2488
|
-
folder?: string;
|
|
2489
|
-
/** Which OBJECT a generic operation addresses — see {@link ConnectorOpts.object}. */
|
|
2490
|
-
object?: string;
|
|
2491
|
-
inputs: Record<string, unknown>;
|
|
2492
|
-
} | {
|
|
2493
|
-
kind: 'documentClassify';
|
|
2494
|
-
inputs: DocumentClassifyInputs;
|
|
2495
|
-
} | {
|
|
2496
|
-
kind: 'dynamicExtract';
|
|
2497
|
-
inputs: DynamicExtractInputs;
|
|
2498
|
-
} | {
|
|
2499
|
-
kind: 'dataFabricRead';
|
|
2500
|
-
inputs: DataFabricReadInputs;
|
|
2501
|
-
} | {
|
|
2502
|
-
kind: 'dataFabricCreate';
|
|
2503
|
-
inputs: DataFabricCreateInputs;
|
|
2504
|
-
} | {
|
|
2505
|
-
kind: 'dataFabricUpdate';
|
|
2506
|
-
inputs: DataFabricUpdateInputs;
|
|
2507
|
-
} | {
|
|
2508
|
-
kind: 'dataFabricDelete';
|
|
2509
|
-
inputs: DataFabricDeleteInputs;
|
|
2510
|
-
} | {
|
|
2511
|
-
kind: 'waitEvent';
|
|
2512
|
-
subscription: EventSubscription;
|
|
2102
|
+
[K in keyof FlowActionSpecs]: FlatSpec<{
|
|
2103
|
+
kind: K;
|
|
2104
|
+
} & FlowActionSpecs[K]>;
|
|
2105
|
+
}[keyof FlowActionSpecs];
|
|
2106
|
+
/**
|
|
2107
|
+
* One object type in place of an intersection, keeping each property's optionality.
|
|
2108
|
+
*
|
|
2109
|
+
* @internal Type plumbing for {@link ActionSpec}; not an authoring type.
|
|
2110
|
+
*/
|
|
2111
|
+
type FlatSpec<T> = {
|
|
2112
|
+
[P in keyof T]: T[P];
|
|
2513
2113
|
};
|
|
2514
2114
|
/**
|
|
2515
2115
|
* Wrap a built-in action spec literal in its adapter class without changing
|
|
@@ -2539,60 +2139,6 @@ export declare function builtinTriggerSpec<S extends object>(spec: S): S;
|
|
|
2539
2139
|
* @returns An action spec to pass to `.step(name, …)`.
|
|
2540
2140
|
*/
|
|
2541
2141
|
export declare function http(inputs: HttpInputs): ActionSpec;
|
|
2542
|
-
/**
|
|
2543
|
-
* Declare an inline script action.
|
|
2544
|
-
*
|
|
2545
|
-
* @param inputs - The JavaScript body (`code`, which must `return`) and what it
|
|
2546
|
-
* returns (`returns`).
|
|
2547
|
-
* @returns An action spec to pass to `.step(name, …)`.
|
|
2548
|
-
*/
|
|
2549
|
-
export declare function script(inputs: ScriptInputs): ActionSpec;
|
|
2550
|
-
/**
|
|
2551
|
-
* Declare a Transform action — a chain of declarative operations over a
|
|
2552
|
-
* collection. Read the result downstream with `out('<step>')`.
|
|
2553
|
-
*
|
|
2554
|
-
* @remarks
|
|
2555
|
-
* For a node that does ONE thing, name the variant — the emitted `.flow` then
|
|
2556
|
-
* carries `core.action.transform.filter` and reads as `Filter` in the designer
|
|
2557
|
-
* instead of a generic `Transform`:
|
|
2558
|
-
*
|
|
2559
|
-
* ```ts
|
|
2560
|
-
* .step('bigOrders', transform({
|
|
2561
|
-
* variant: 'filter',
|
|
2562
|
-
* collection: v('orders'),
|
|
2563
|
-
* operations: [
|
|
2564
|
-
* { type: 'filter', filters: [{ field: 'amount', condition: 'greater_equal', value: 100 }] },
|
|
2565
|
-
* ],
|
|
2566
|
-
* }))
|
|
2567
|
-
* ```
|
|
2568
|
-
*
|
|
2569
|
-
* @example
|
|
2570
|
-
* **Filter a collection, then reshape what survives**
|
|
2571
|
-
* ```ts
|
|
2572
|
-
* .var('catalog', types.array, [
|
|
2573
|
-
* { title: 'Deep Learning', author: 'Goodfellow', difficulty: 9, pages: 800 },
|
|
2574
|
-
* { title: 'Information Theory', author: 'MacKay', difficulty: 7, pages: 540 },
|
|
2575
|
-
* ])
|
|
2576
|
-
* .step('curate', transform({
|
|
2577
|
-
* collection: v('catalog'),
|
|
2578
|
-
* operations: [
|
|
2579
|
-
* { type: 'filter', operation: 'and', filters: [
|
|
2580
|
-
* { field: 'difficulty', condition: 'greater_than', value: 5 },
|
|
2581
|
-
* { field: 'pages', condition: 'less_than', value: 600 },
|
|
2582
|
-
* ] },
|
|
2583
|
-
* { type: 'map', keepOriginalFields: false, mappings: [
|
|
2584
|
-
* { field: 'title', transformation: 'uppercase' },
|
|
2585
|
-
* { field: 'author' },
|
|
2586
|
-
* ] },
|
|
2587
|
-
* ],
|
|
2588
|
-
* }))
|
|
2589
|
-
* ```
|
|
2590
|
-
*
|
|
2591
|
-
* @param inputs - The `collection` to transform and the chain of `operations` to
|
|
2592
|
-
* run over it.
|
|
2593
|
-
* @returns An action spec to pass to `.step(name, …)`.
|
|
2594
|
-
*/
|
|
2595
|
-
export declare function transform(inputs: TransformInputs): ActionSpec;
|
|
2596
2142
|
/**
|
|
2597
2143
|
* Declare a human task — a step that pauses for a person to read some values,
|
|
2598
2144
|
* fill others in, and press one of the outcome buttons.
|
|
@@ -2776,68 +2322,6 @@ export declare function batchTransform(inputs: BatchTransformInputs): ActionSpec
|
|
|
2776
2322
|
* @returns An action spec to pass to `.step(name, …)`.
|
|
2777
2323
|
*/
|
|
2778
2324
|
export declare function ixpExtract(inputs: IxpExtractInputs): ActionSpec;
|
|
2779
|
-
/**
|
|
2780
|
-
* Declare a delay — a step that pauses the flow for a fixed length of time and
|
|
2781
|
-
* then carries on.
|
|
2782
|
-
*
|
|
2783
|
-
* @remarks
|
|
2784
|
-
* A delay produces nothing: there is no `out('settle')` to read. It is a wait,
|
|
2785
|
-
* not a value.
|
|
2786
|
-
*
|
|
2787
|
-
* The node itself splits that one duration across two fields (`timerPreset`
|
|
2788
|
-
* holds it directly, or the literal `"custom"` with the real value in
|
|
2789
|
-
* `timerValue`); the serializer picks the encoding, so you state the wait once.
|
|
2790
|
-
*
|
|
2791
|
-
* @example
|
|
2792
|
-
* **Wait thirty seconds before carrying on**
|
|
2793
|
-
* ```ts
|
|
2794
|
-
* .step('settle', delay({ duration: 'PT30S' }))
|
|
2795
|
-
* ```
|
|
2796
|
-
*
|
|
2797
|
-
* @param inputs - How long to wait (`duration`), as an ISO-8601 duration.
|
|
2798
|
-
* @returns An action spec to pass to `.step(name, …)`.
|
|
2799
|
-
*/
|
|
2800
|
-
export declare function delay(inputs: DelayInputs): ActionSpec;
|
|
2801
|
-
/**
|
|
2802
|
-
* Declare a PLACEHOLDER step — "a real node goes here later".
|
|
2803
|
-
*
|
|
2804
|
-
* @remarks
|
|
2805
|
-
* A mock takes **no inputs and publishes nothing**. It is a marker on the canvas
|
|
2806
|
-
* that keeps the graph wired and the flow deployable while one step is still
|
|
2807
|
-
* missing — not a stub that returns test data. `out('extractInvoice')` is
|
|
2808
|
-
* refused at compile time (`MOCK_HAS_NO_OUTPUT`) because it would read `null` at
|
|
2809
|
-
* run time, always.
|
|
2810
|
-
*
|
|
2811
|
-
* Say what belongs there in the step's own name and in the label the canvas
|
|
2812
|
-
* shows; the corpus's placeholders read like
|
|
2813
|
-
* `"Extract Invoice Fields (mock — IxP model not yet published)"`.
|
|
2814
|
-
*
|
|
2815
|
-
* ### Why there are no arguments (convention #191 — the family contract)
|
|
2816
|
-
*
|
|
2817
|
-
* The platform's `core.logic.mock@1.0.0` declares **no `inputDefinition`** and one
|
|
2818
|
-
* output whose `source` is the literal `"null"`. Measured over the 4,033 distinct
|
|
2819
|
-
* archived `.flow` artifacts: **74 mock instances in 62 flows, and 0 carrying a
|
|
2820
|
-
* fixture anywhere in the node** — 71 of them with `inputs: {}` or no `inputs`
|
|
2821
|
-
* key. The 3 exceptions carry free-text `placeholder` / `_placeholder` keys the
|
|
2822
|
-
* definition never declares, invented by agents on runs that scored 0.9 and 0.4.
|
|
2823
|
-
*
|
|
2824
|
-
* **This is NOT a local runner's `kind: 'mock'` test construct**, which returns a
|
|
2825
|
-
* baked fixture. They are different things that share
|
|
2826
|
-
* a name, and a `mock({ fixture })` surface would emit a node whose local
|
|
2827
|
-
* behaviour and deployed behaviour disagree silently — see
|
|
2828
|
-
* [#125](https://github.com/UiPath/flow-builder-sdk/issues/125). Nothing this SDK
|
|
2829
|
-
* emits opens that channel: an SDK-authored mock publishes `null` locally,
|
|
2830
|
-
* exactly as the platform does.
|
|
2831
|
-
*
|
|
2832
|
-
* @example
|
|
2833
|
-
* **Hold a step's place until the real node exists**
|
|
2834
|
-
* ```ts
|
|
2835
|
-
* .step('extractInvoice', mock()) // ← swap for the IxP node once the project exists
|
|
2836
|
-
* ```
|
|
2837
|
-
*
|
|
2838
|
-
* @returns An action spec to pass to `.step(name, …)`.
|
|
2839
|
-
*/
|
|
2840
|
-
export declare function mock(): ActionSpec;
|
|
2841
2325
|
/**
|
|
2842
2326
|
* Invoke a deployed RPA (robotic process automation) workflow — a classic
|
|
2843
2327
|
* UI-automation process, published to Orchestrator, run by a robot.
|
|
@@ -3221,131 +2705,6 @@ export declare function agent(inputs: AgentInputs): ActionSpec;
|
|
|
3221
2705
|
* @returns An action spec to pass to `.step(name, …)`.
|
|
3222
2706
|
*/
|
|
3223
2707
|
export declare function inlineAgent(inputs: InlineAgentInputs): ActionSpec;
|
|
3224
|
-
/**
|
|
3225
|
-
* Classify a document into a document type (`uipath.document.classify`). The
|
|
3226
|
-
* result publishes `ClassificationResult` — an array of typed classifications
|
|
3227
|
-
* with page ranges and confidences.
|
|
3228
|
-
*
|
|
3229
|
-
* @param inputs - The file reference and optional page range / split / model settings.
|
|
3230
|
-
* @returns An action spec to pass to `.step(name, …)`.
|
|
3231
|
-
*/
|
|
3232
|
-
export declare function documentClassify(inputs: DocumentClassifyInputs): ActionSpec;
|
|
3233
|
-
/**
|
|
3234
|
-
* Extract fields from a document with an INLINE schema — Dynamic Extract
|
|
3235
|
-
* (`uipath.ixp.extract-document-builder`), the newer of the two extraction
|
|
3236
|
-
* shapes. No deployed IXP project is referenced: the extraction schema rides
|
|
3237
|
-
* the node. The result publishes `ExtractionResult` (and `Taxonomy`).
|
|
3238
|
-
*
|
|
3239
|
-
* @param inputs - The file reference, the inline extraction schema, and
|
|
3240
|
-
* optional page range / model settings.
|
|
3241
|
-
* @returns An action spec to pass to `.step(name, …)`.
|
|
3242
|
-
*/
|
|
3243
|
-
export declare function dynamicExtract(inputs: DynamicExtractInputs): ActionSpec;
|
|
3244
|
-
/**
|
|
3245
|
-
* Query entity records from Data Fabric (`core.datafabric.read`). The result
|
|
3246
|
-
* publishes to the step's `output`; downstream references re-fetch fresh data
|
|
3247
|
-
* at activation time (the engine re-runs the query rather than caching).
|
|
3248
|
-
*
|
|
3249
|
-
* @remarks
|
|
3250
|
-
* This node is **read-one AND query-many**, on its 1.4 definition: `resultMode:
|
|
3251
|
-
* 'multiple'` publishes the matching records under `output.results`, and the
|
|
3252
|
-
* platform renames the node "Query entity records" to say so. The SDK still
|
|
3253
|
-
* pins 1.0 — read-one — as the no-`{ version }` default, so passing
|
|
3254
|
-
* `resultMode` is what selects 1.4; see {@link DataFabricReadInputs.resultMode}.
|
|
3255
|
-
*
|
|
3256
|
-
* The native family covers all four CRUD verbs: this one,
|
|
3257
|
-
* {@link dataFabricCreate}, {@link dataFabricUpdate} and
|
|
3258
|
-
* {@link dataFabricDelete}. What it does NOT cover is get-by-id, a query row
|
|
3259
|
-
* limit, file record fields, and entity events — those are operations on the
|
|
3260
|
-
* SAME product reached through its Integration Service connector,
|
|
3261
|
-
* `uipath-uipath-dataservice` (the tenant displays it as **UiPath Data
|
|
3262
|
-
* Fabric**). So a flow that needs one of those still straddles two surfaces,
|
|
3263
|
-
* and the connector remains the one surface that covers everything:
|
|
3264
|
-
*
|
|
3265
|
-
* ```ts
|
|
3266
|
-
* .step('byId', connector('uipath-uipath-dataservice', 'get-entity-record-by-id',
|
|
3267
|
-
* { entityName: 'Contracts', recordId: input('id') }, { connection: 'df' }))
|
|
3268
|
-
* ```
|
|
3269
|
-
*
|
|
3270
|
-
* Get-by-id matters for long text. This node is a query even when it reads one
|
|
3271
|
-
* record by an `Id` filter, and a Data Service query returns a PREVIEW of a
|
|
3272
|
-
* long-text (`MULTILINE_MAX`) field: the first 10,000 characters plus
|
|
3273
|
-
* `...[Truncated]`, with no flag in the output. A 15,551-character value comes
|
|
3274
|
-
* back as 10,014 characters. When a field may exceed 10,000 characters, read
|
|
3275
|
-
* it with `get-entity-record-by-id`, which returns the whole value
|
|
3276
|
-
* (flow-builder-sdk#954).
|
|
3277
|
-
*
|
|
3278
|
-
* A connector operation's body fields come from the entity, so the library
|
|
3279
|
-
* cannot carry them: run `uip maestro registry prepare uipath-uipath-dataservice
|
|
3280
|
-
* get-entity-record-by-id -f entityName=<Entity>` first.
|
|
3281
|
-
* The routing table is in the `data-fabric.md` reference and the parent-field
|
|
3282
|
-
* loop in `connector-params.md` — cited by name rather than linked, because this
|
|
3283
|
-
* comment renders both into the flat corpus, where those files sit alongside
|
|
3284
|
-
* it, and onto the site, where each symbol is its own page and a relative
|
|
3285
|
-
* `./data-fabric` resolves to nothing.
|
|
3286
|
-
*
|
|
3287
|
-
* @param inputs - The entity, optional filter rows, result mode, and folder scope.
|
|
3288
|
-
* @returns An action spec to pass to `.step(name, …)`.
|
|
3289
|
-
*/
|
|
3290
|
-
export declare function dataFabricRead(inputs: DataFabricReadInputs): ActionSpec;
|
|
3291
|
-
/**
|
|
3292
|
-
* Create an entity record in Data Fabric (`core.datafabric.create`). The new
|
|
3293
|
-
* record publishes to the step's `output`, so a following
|
|
3294
|
-
* {@link dataFabricUpdate} or {@link dataFabricDelete} can read its id.
|
|
3295
|
-
*
|
|
3296
|
-
* @remarks
|
|
3297
|
-
* `values` must name at least one column — the node's schema rejects an empty
|
|
3298
|
-
* field list rather than inserting a blank row, and `check` says so before the
|
|
3299
|
-
* platform does. Field names are the ENTITY's, so copy them from the scenario
|
|
3300
|
-
* or the tenant; nothing offline can tell a real column from a typo.
|
|
3301
|
-
*
|
|
3302
|
-
* The published `output` is the record as a query returns it, so a long-text
|
|
3303
|
-
* (`MULTILINE_MAX`) field longer than 10,000 characters comes back cut, with
|
|
3304
|
-
* `...[Truncated]` appended, even though the whole value was stored. Use the
|
|
3305
|
-
* value you passed in, or re-read the record with the connector's
|
|
3306
|
-
* `get-entity-record-by-id`, when the whole text is needed (flow-builder-sdk#954).
|
|
3307
|
-
*
|
|
3308
|
-
* See {@link dataFabricRead} for what the native family still does not cover
|
|
3309
|
-
* and which connector operation covers it.
|
|
3310
|
-
*
|
|
3311
|
-
* @param inputs - The entity, the columns the record starts with, and folder scope.
|
|
3312
|
-
* @returns An action spec to pass to `.step(name, …)`.
|
|
3313
|
-
*/
|
|
3314
|
-
export declare function dataFabricCreate(inputs: DataFabricCreateInputs): ActionSpec;
|
|
3315
|
-
/**
|
|
3316
|
-
* Update an entity record in Data Fabric (`core.datafabric.update`). Target the
|
|
3317
|
-
* record by id or through an earlier {@link dataFabricRead} step; downstream
|
|
3318
|
-
* reads of this step observe the record AFTER the write.
|
|
3319
|
-
*
|
|
3320
|
-
* @remarks
|
|
3321
|
-
* `set` must write at least one column: an empty `set` is a no-op the platform
|
|
3322
|
-
* reports as success, so `check` rejects it.
|
|
3323
|
-
*
|
|
3324
|
-
* See {@link dataFabricRead} for what the native family still does not cover
|
|
3325
|
-
* and which connector operation covers it.
|
|
3326
|
-
*
|
|
3327
|
-
* @param inputs - The entity, the record selector, and the columns to write.
|
|
3328
|
-
* @returns An action spec to pass to `.step(name, …)`.
|
|
3329
|
-
*/
|
|
3330
|
-
export declare function dataFabricUpdate(inputs: DataFabricUpdateInputs): ActionSpec;
|
|
3331
|
-
/**
|
|
3332
|
-
* Delete an entity record from Data Fabric (`core.datafabric.delete`). Target
|
|
3333
|
-
* the record by id or through an earlier {@link dataFabricRead} step, exactly
|
|
3334
|
-
* as {@link dataFabricUpdate} does.
|
|
3335
|
-
*
|
|
3336
|
-
* @remarks
|
|
3337
|
-
* A delete **publishes nothing** — its definition declares no output — so
|
|
3338
|
-
* `$vars.<step>.output` is undefined at run time and `check` rejects a read of
|
|
3339
|
-
* it. Take what you need off the read step that found the record, before the
|
|
3340
|
-
* delete.
|
|
3341
|
-
*
|
|
3342
|
-
* See {@link dataFabricRead} for what the native family still does not cover
|
|
3343
|
-
* and which connector operation covers it.
|
|
3344
|
-
*
|
|
3345
|
-
* @param inputs - The entity, the record selector, and folder scope.
|
|
3346
|
-
* @returns An action spec to pass to `.step(name, …)`.
|
|
3347
|
-
*/
|
|
3348
|
-
export declare function dataFabricDelete(inputs: DataFabricDeleteInputs): ActionSpec;
|
|
3349
2708
|
/**
|
|
3350
2709
|
* Declare an Orchestrator QUEUE ITEM step.
|
|
3351
2710
|
*
|