@uipath/maestro-builder-sdk 6.42.0 → 6.44.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 (61) hide show
  1. package/dist/api-index.md +104 -103
  2. package/dist/api-members.md +319 -317
  3. package/dist/check.d.ts +0 -19
  4. package/dist/check.js +140 -1042
  5. package/dist/compile-cli.js +2 -1
  6. package/dist/core/actions.d.ts +10 -713
  7. package/dist/core/actions.js +0 -193
  8. package/dist/core/agent-sidecar.d.ts +186 -0
  9. package/dist/core/agent-sidecar.js +409 -0
  10. package/dist/core/agent-tool-resources.d.ts +62 -0
  11. package/dist/core/agent-tool-resources.js +81 -0
  12. package/dist/{config.js → core/connector-configuration.js} +2 -2
  13. package/dist/core/form-field-type.d.ts +7 -0
  14. package/dist/core/form-field-type.js +12 -2
  15. package/dist/core/node-id-placeholder.d.ts +8 -0
  16. package/dist/core/node-id-placeholder.js +10 -0
  17. package/dist/core/ts-literal.d.ts +6 -0
  18. package/dist/core/ts-literal.js +15 -0
  19. package/dist/core/typed-raw-node.js +0 -5
  20. package/dist/decompile.js +239 -857
  21. package/dist/flow-expr-check.js +5 -0
  22. package/dist/flow-node-registry.js +2 -1
  23. package/dist/flow-node-type.d.ts +139 -6
  24. package/dist/flow-sdk.d.ts +41 -5
  25. package/dist/flow-sdk.js +15 -1
  26. package/dist/flow-step-variables.d.ts +4 -0
  27. package/dist/flow-step-variables.js +22 -0
  28. package/dist/loop-version.d.ts +23 -6
  29. package/dist/loop-version.js +37 -15
  30. package/dist/nodes/agent/flow/check.d.ts +88 -0
  31. package/dist/nodes/agent/flow/check.js +873 -0
  32. package/dist/nodes/agent/flow/factories.d.ts +134 -0
  33. package/dist/nodes/agent/flow/factories.js +143 -0
  34. package/dist/nodes/agent/flow/family.d.ts +3 -0
  35. package/dist/nodes/agent/flow/family.js +8 -0
  36. package/dist/nodes/agent/flow/index.d.ts +3 -0
  37. package/dist/nodes/agent/flow/index.js +3 -0
  38. package/dist/nodes/agent/flow/inline-agent-lift.d.ts +44 -0
  39. package/dist/nodes/agent/flow/inline-agent-lift.js +572 -0
  40. package/dist/nodes/agent/flow/inline-agent.d.ts +15 -0
  41. package/dist/nodes/agent/flow/inline-agent.js +526 -0
  42. package/dist/nodes/agent/flow/node-type.d.ts +20 -0
  43. package/dist/nodes/agent/flow/node-type.js +422 -0
  44. package/dist/nodes/agent/flow/resources.d.ts +502 -0
  45. package/dist/nodes/agent/flow/resources.js +1409 -0
  46. package/dist/nodes/agent/flow/spec.d.ts +448 -0
  47. package/dist/nodes/agent/flow/spec.js +1 -0
  48. package/dist/nodes/hitl/flow/check.js +15 -0
  49. package/dist/nodes/hitl/flow/node-type.js +18 -3
  50. package/dist/nodes/process/flow/check.d.ts +40 -2
  51. package/dist/nodes/process/flow/check.js +156 -0
  52. package/dist/nodes/process/flow/factories.d.ts +58 -3
  53. package/dist/nodes/process/flow/factories.js +59 -2
  54. package/dist/nodes/process/flow/node-type.d.ts +4 -1
  55. package/dist/nodes/process/flow/node-type.js +198 -12
  56. package/dist/nodes/process/flow/spec.d.ts +112 -5
  57. package/dist/serialize.d.ts +9 -54
  58. package/dist/serialize.js +102 -2777
  59. package/package.json +2 -2
  60. /package/dist/{config.d.ts → core/connector-configuration.d.ts} +0 -0
  61. /package/dist/{ixp-definition.json → core/ixp-definition.json} +0 -0
@@ -0,0 +1,502 @@
1
+ import type { ContextIndexRef, EscalationRef } from '../../../core/actions.js';
2
+ import type { ResolvedConnector } from '../../../core/library.js';
3
+ import type { ProcessResourceSubType } from '../../../core/process-resource.js';
4
+ /** The inline (autonomous) agent's node type — fixed, not per-instance. */
5
+ export declare const INLINE_AGENT = "uipath.agent.autonomous";
6
+ /**
7
+ * The definition for ONE Context Grounding index resource, transcribed from the
8
+ * platform's own registry entry (`uip maestro flow registry get
9
+ * uipath.agent.resource.context.index.<slug>.<uuid>`, read 2026-07-31 against the
10
+ * tenant's "Billing Dispute SOP Index"), and confirmed against the `.flow` v1
11
+ * emits for the same index.
12
+ *
13
+ * Per-INSTANCE, unlike `inlineAgentDef`: the index's identity is in the node type,
14
+ * so every tenant index is its own type — the same shape as a published agent's
15
+ * release key. What is constant is everything else, and this builds that from the
16
+ * one thing an author supplies (name + uuid).
17
+ *
18
+ * Two details are load-bearing rather than decorative:
19
+ *
20
+ * * `handleConfiguration` declares a single TARGET handle `input` whose
21
+ * `allowedSources` are the two agent types' `context` handles, with
22
+ * `maxConnections: 1`. That is the mirror of the agent's own
23
+ * `allowedTargets: [{ nodeType: 'uipath.agent.resource.context.*' }]`, and it is
24
+ * what makes the designer draw the join.
25
+ * * `model: { source: true }` and nothing else. A resource node has no
26
+ * `bpmn:` type, no serviceType and no bindings — it is not a step, it is an
27
+ * artifact hanging off one. The v1 artifact carries no `bindings[]` entry for it
28
+ * at all.
29
+ */
30
+ export declare function contextIndexDef(spec: {
31
+ name: string;
32
+ id: string;
33
+ }): any;
34
+ /**
35
+ * Render an index's retrieval query into the platform's MODE-TAGGED object.
36
+ *
37
+ * The index definition's own schema (`inputDefinition.allOf`) says `query` is a
38
+ * `oneOf` over three shapes, each identified by `mode`: `prompt` → `promptValue`,
39
+ * `text-builder` → `textValue`, `variable` → `argumentPath`. All four fields are
40
+ * present in the platform's `inputDefaults`; only the one the mode names is read.
41
+ *
42
+ * A plain string is a `prompt` (what a designer types); anything expression-shaped
43
+ * is `text-builder`, whose `textValue` the runtime templates — the same slot the
44
+ * `folderPathPrefix` field uses, and the reason that field ships with
45
+ * `mode: 'text-builder'` by default.
46
+ */
47
+ export declare function renderContextQuery(query: unknown, render: (value: unknown) => unknown): Record<string, unknown>;
48
+ /**
49
+ * The `resources/<id>/resource.json` an inline agent's context index needs.
50
+ *
51
+ * The node is only half of a grounded agent, the same split as the agent itself
52
+ * (see `inlineAgentJson`). The platform resolves an agent's capabilities from
53
+ * `<source>/resources/<resource-id>/resource.json`, and `uip agent refresh` turns
54
+ * those into the `bindings_v2.json` entries `uip solution resources refresh`
55
+ * syncs. Keyed by the node's `inputs.source`, which is what joins the two halves.
56
+ *
57
+ * On the CLI path the file is the only copy: refresh strips the node and
58
+ * re-derives it from here, so a `.flow` with the node and no file validates clean
59
+ * and leaves the agent ungrounded. (Studio Web is the other direction — its
60
+ * `mapContextResource` builds this file FROM the canvas node.)
61
+ *
62
+ * Shape and enums are the platform's `currentResourceStorageSchema`
63
+ * (`@uipath/agents-storage-schemas`): `description`, `folderPath`, `indexName` and
64
+ * all six `settings` keys are required, `fileExtension` is `{value}` rather than a
65
+ * bare string, and the retrieval mode pins which extensions it accepts — hence the
66
+ * per-mode default here against the node's flat `'All'`. An unparseable resource
67
+ * is worse than none: `uip agent refresh` falls back to `resources: []` and drops
68
+ * every other binding with it.
69
+ */
70
+ export declare function contextResourceJson(cx: ContextIndexRef, spec: {
71
+ id: string;
72
+ query: Record<string, unknown>;
73
+ }): Record<string, unknown>;
74
+ /** A `fieldSchema` object with every declared property marked required. */
75
+ export declare function requireAll(schema: {
76
+ type: string;
77
+ properties: Record<string, unknown>;
78
+ }): Record<string, unknown>;
79
+ /**
80
+ * The `resources/<id>/resource.json` a DEPLOYED-RESOURCE tool needs — the tool
81
+ * half of what `contextResourceJson` does for an index, and inert for the same
82
+ * reason (see that function).
83
+ *
84
+ * Shape from a real agent project (`WebResearchBriefingAgent`'s `CountSources`,
85
+ * a `kind: 'process'` tool), cross-checked against the platform schema: this
86
+ * family carries `argumentProperties` and `referenceKey` but no `iconUrl`, and
87
+ * `exampleCalls` is present-and-empty. `location: 'solution'` and an empty
88
+ * `properties.folderPath` are the inline-in-flow pair Studio Web's
89
+ * `mapToolResource` writes and uipcli's `agent validate` enforces — the folder
90
+ * itself lives in the flow's top-level `bindings[]`, which
91
+ * `processResourceBindings` already writes for this tool.
92
+ *
93
+ * Returns `undefined` for every OTHER kind. Which kinds get a file is measured,
94
+ * because `uip agent refresh` strips each resource node and re-derives it FROM
95
+ * the file: where the node is `source`-only the round-trip is lossless, and where
96
+ * the node carries the configuration the strip loses it and the rebuild cannot
97
+ * put it back, so writing the file turns a valid flow INVALID.
98
+ *
99
+ * * `ixp`, `clientside` — measured to fail exactly that way (`ixp` leaves the
100
+ * flow failing validate; `clientside` drops the four inputs its node needs).
101
+ * * `connector` — has its own writer, {@link connectorToolResourceJson}: its
102
+ * node carries the configuration in `inputs.detail`, which the strip keeps,
103
+ * and the file is the one `uip agent refresh` itself derives from it.
104
+ * * `mcp`, `a2a` — need the server's `availableTools` and the remote agent's
105
+ * card, which are tenant reads.
106
+ * * `builtin` — has its own writer, {@link builtinToolResourceJson}: its
107
+ * `toolType` is a fixed per-tool constant, so the file is derivable offline.
108
+ * * `httpRequest` — has its own writer, {@link httpRequestToolResourceJson}:
109
+ * the file carries the request config as static `argumentProperties` and the
110
+ * model-facing `inputSchema`, both derivable from the node (#935).
111
+ *
112
+ * Which `type`/`toolType` values compile writes — and so owns and may prune —
113
+ * is {@link compileOwnsResource}, read off the same tables these writers use.
114
+ */
115
+ export declare function toolResourceJson(tr: any, spec: {
116
+ id: string;
117
+ }): Record<string, unknown> | undefined;
118
+ /** `inline` → `Inline`: the node's enum spelling to the resource schema's. */
119
+ export declare const enumValue: (v: unknown) => string;
120
+ /**
121
+ * The `resources/<id>/resource.json` of a platform BUILT-IN tool (#920) — the
122
+ * file the runtime builds the agent's tool list from. Without it the
123
+ * `tool.builtin.*` node is inert, the same failure #806 fixed for deployed
124
+ * resources: the agent runs with no built-in tool and the model never learns
125
+ * it exists.
126
+ *
127
+ * Derived from the node's own inputs (`tdef.inputDefaults` with the author's
128
+ * values over them), because those are what the file must agree with:
129
+ * `uip agent refresh --inline-in-flow` shell-ifies every resource node down to
130
+ * `{source, detail, itemsDescription}` and Studio Web re-hydrates the rest FROM
131
+ * this file, so a value only on the node does not survive a refresh or a
132
+ * designer round-trip.
133
+ *
134
+ * Shape: the skill's per-tool walkthroughs (`analyze-attachments.md`,
135
+ * `deeprag/impl-json.md`, `batch-transform/impl-json.md`) checked against the
136
+ * platform's `builtInToolResourceStorageSchemaV40`. Two vocabularies differ
137
+ * from the node's, as they do for a context index (`contextResourceJson`): the
138
+ * resource `query` is VARIANT-tagged where the node's is MODE-tagged, and its
139
+ * enums are capitalized (`Inline`, `Enabled`). `analyze-attachments` declares
140
+ * the model-facing call contract (`attachments` + `analysisTask` → `analysis`);
141
+ * `deep-rag` and `batch-transform` declare empty schemas and carry their
142
+ * configuration in `properties.settings`.
143
+ */
144
+ export declare function builtinToolResourceJson(tool: string, label: string, inputs: Record<string, any>, spec: {
145
+ id: string;
146
+ }): Record<string, unknown> | undefined;
147
+ /**
148
+ * The six request fields of the HTTP-request tool, in the node's (and the
149
+ * designer's file's) order, with the JSON Schema each takes in the file's
150
+ * model-facing `inputSchema`. `headers`/`params` are name/value rows and
151
+ * `timeout` is a number — the same normalization the node's text-builder
152
+ * values already carry.
153
+ */
154
+ export declare const HTTP_REQUEST_FIELDS: ReadonlyArray<readonly [string, Record<string, unknown>]>;
155
+ /**
156
+ * The `resources/<id>/resource.json` of the built-in HTTP-request tool (#935) —
157
+ * without it the deployed agent is never offered the tool (measured: one LLM
158
+ * call, no tool span), and `uip agent refresh --inline-in-flow` strips the node
159
+ * to `{source}`, so the request config is lost entirely.
160
+ *
161
+ * Derived from the node's own mode-tagged inputs, so the two halves cannot
162
+ * disagree. The rules are the ones Studio Web's own file follows (measured by
163
+ * saving the agent once in the designer; a file built by these rules is
164
+ * JSON-equal to it, and a debug run with only this file showed the tool spans):
165
+ *
166
+ * * `inputSchema` declares all six fields, each with the node's `promptValue`
167
+ * as its description — the text the model reads when it fills the field;
168
+ * * `argumentProperties` pins every field NOT in `prompt` mode as
169
+ * `$['<field>']: {variant: 'static', value: <textValue>}` — a fixed value the
170
+ * model does not get to choose. The SDK writes only `prompt` and
171
+ * `text-builder` fields; a `text-builder` value is the literal.
172
+ */
173
+ export declare function httpRequestToolResourceJson(label: string, inputs: Record<string, any>, spec: {
174
+ id: string;
175
+ canvasNodeId: string;
176
+ }): Record<string, unknown>;
177
+ /**
178
+ * The .NET type an Action Center app argument of each field type carries. Studio
179
+ * Web serializes the task payload through `inputSchemaDotnetTypeMapping`, which
180
+ * the platform schema REQUIRES on an `actionCenter` channel; it reads the raw
181
+ * type off the app's action schema, which the SDK does not fetch, so this is
182
+ * the inverse of flow-workbench's `dotNetTypeToJsonSchema` for the scalars and
183
+ * `System.Object` for the two composite types it has no single answer for.
184
+ */
185
+ export declare const DOTNET_TYPE: Record<string, string>;
186
+ /**
187
+ * The folder an app escalation names: the author's `folderPath`, or
188
+ * `solution_folder` when they gave none — an app that ships in this solution.
189
+ *
190
+ * `solution_folder` is the platform's own spelling for that case: it is the
191
+ * `Folder` that `uip solution resources list` reports for a solution-internal
192
+ * app, and what the agents skill tells authors to copy into
193
+ * `channels[].properties.folderName`. The SDK used to write `""`, which no
194
+ * product writer produces (flow-builder-sdk#967). Measured, the two are the
195
+ * same everywhere it counts: the agent tool's binding generator drops both
196
+ * from the App binding (`resolveFolderPathBindingValue`), `uip agent refresh`
197
+ * plus `uip solution resources refresh` derive byte-identical files from
198
+ * either, and a live debug resolves the app in the debug folder for both. So
199
+ * this changes the vocabulary, not the behaviour.
200
+ */
201
+ export declare function escalationAppFolder(app: {
202
+ folderPath?: string;
203
+ }): string;
204
+ /**
205
+ * The `resources/<id>/resource.json` an inline agent's ESCALATION needs — the
206
+ * escalation half of what `toolResourceJson` does for a tool, and inert without
207
+ * it for the same reason (#921). Measured 2026-10-05 on alpha with `uip maestro
208
+ * flow debug`: the same agent, told to escalate every claim, answered *"could
209
+ * not escalate: no ExpenseEscalation tool available"* with the node alone, and
210
+ * created the Action Center task with this file beside it.
211
+ *
212
+ * Shape: the uipath-agents skill's agent-level escalation resource (it owns the
213
+ * body), checked field by field against the platform's
214
+ * `currentResourceStorageSchema` — which REQUIRES `description` (top level and
215
+ * channel), `isAgentMemoryEnabled`, `governanceProperties`, `properties`,
216
+ * `inputSchemaDotnetTypeMapping` and `channels[].properties.appVersion`.
217
+ *
218
+ * Unlike a tool, an escalation node CARRIES its configuration, and `uip agent
219
+ * refresh --inline-in-flow` strips it to `source` either way. Writing the file
220
+ * does not change that; it is what makes refresh keep the escalation at all
221
+ * (`Resources: 1` and the App binding in `bindings_v2.json`, against
222
+ * `Resources: 0` without it). The compiled `.flow` keeps the node's full inputs,
223
+ * so `flow validate` is unaffected.
224
+ */
225
+ export declare function escalationResourceJson(esc: EscalationRef, spec: {
226
+ id: string;
227
+ channelId: string;
228
+ quickFormSchema?: Record<string, unknown>;
229
+ }): Record<string, unknown>;
230
+ /**
231
+ * The one TARGET handle every tool resource declares: `input`, artifact-typed,
232
+ * fed by the two agent types' `tool` handles. Transcribed from `registry get`
233
+ * (identical across `tool.builtin.*`, `tool.connector.*` and every
234
+ * per-instance kind, 2026-07-31) — the mirror of the agent's own
235
+ * `allowedTargets: [{ nodeType: 'uipath.agent.resource.tool.*' }]`.
236
+ */
237
+ export declare function toolInputHandle(): any;
238
+ /** A `{ name: type }` field map as the JSON-schema object the platform stores. */
239
+ export declare function fieldSchema(fields: Record<string, string> | undefined): any;
240
+ /**
241
+ * The definitions for the three platform BUILT-IN tools, transcribed from
242
+ * `uip maestro flow registry get uipath.agent.resource.tool.builtin.<name>`
243
+ * (2026-07-31, version 1.1 all three). These are fixed types — no tenant
244
+ * resource behind them — so unlike every other tool kind the def CAN be
245
+ * bundled.
246
+ *
247
+ * One wrinkle carried faithfully rather than smoothed over: the three defs
248
+ * disagree about where the node's `source` identity lives. `analyzefiles`
249
+ * declares `model.source: true` (the resource-family convention);
250
+ * `summarize`/`batchtransform` have NO model and declare `source` as an
251
+ * ordinary input instead. Both spellings satisfy the platform's stable-UUID
252
+ * requirement, so each def ships the registry's own shape.
253
+ */
254
+ export declare const BUILTIN_TOOL_DEFS: Record<string, any>;
255
+ /**
256
+ * The definition for one CONNECTOR-operation tool, derived from the same
257
+ * curated-library entry `connector(…)` resolves — measured equivalence, not
258
+ * hope: the library's `.v1def.json` `model` (bindings + the
259
+ * connectorKey/objectName/method context) is byte-identical to what
260
+ * `registry get uipath.agent.resource.tool.connector.<key>.<op>` returns for
261
+ * the same operation, minus `source: true` (checked 2026-07-31 against
262
+ * `uipath-uipath-airdk/web-search`). What the tool era changes is the frame:
263
+ * the node type moves one namespace over, the category gains the
264
+ * `agent.tool.` prefix over the v1def's own (which carries the connector's
265
+ * numeric id — `connector.196640` → `agent.tool.connector.196640`), the
266
+ * handle becomes the tool artifact handle, and `sortOrder` is the registry's
267
+ * 565.
268
+ */
269
+ export declare function connectorToolDef(rc: ResolvedConnector): any;
270
+ /** What a connector tool's resource.json is built from. */
271
+ export interface ConnectorToolContext {
272
+ rc: ResolvedConnector;
273
+ detail: Record<string, any>;
274
+ name: string;
275
+ description: string;
276
+ iconUrl: string;
277
+ }
278
+ /** The folder key a connection with no folder binding carries in its resource.json. */
279
+ export declare const NO_FOLDER_KEY = "00000000-0000-0000-0000-000000000000";
280
+ /**
281
+ * The library's operation description without the `(<Connector Name>) ` prefix
282
+ * the v1def's `display.description` carries — the model reads this text, and
283
+ * the designer's own resource.json has the bare sentence.
284
+ */
285
+ export declare function connectorToolDescription(rc: ResolvedConnector): string;
286
+ /**
287
+ * An agent-decided value: `{{prompt: "<what the model is told>"}}`, byte for byte
288
+ * what the product writes — `uip maestro flow node configure` (UiPath/cli
289
+ * `connector-service.ts`, `` `{{prompt: "${f.description || f.displayName || f.name}"}}` ``)
290
+ * and the designer's `PROMPT_WRAPPER` (@uipath/maestro-sdk) both splice the text RAW.
291
+ * The chip format has no escape: the product's reader (`PROMPT_UNWRAPPER`) slices
292
+ * off the fixed `{{prompt:` / `}}` frame and strips one pair of outer quotes, so
293
+ * any text — `"`, `\`, a newline, a `}}` — round-trips. Escaping it here made the
294
+ * model read literal backslashes. FB011 registers this as the one raw chip splice.
295
+ */
296
+ export declare function promptChip(f: {
297
+ description?: string;
298
+ displayName?: string;
299
+ name: string;
300
+ }): string;
301
+ export declare const isPromptChip: (v: unknown) => boolean;
302
+ /** The text inside `{{prompt: "…"}}`, read the way the product reads it (maestro-sdk PROMPT_UNWRAPPER); `''` when `value` is not a chip. */
303
+ export declare function chipText(value: string): string;
304
+ /** A field's enum as `{ name, value }` rows, the platform's spelling; `undefined` when it has none. */
305
+ export declare function enumRows(raw: unknown): Array<{
306
+ name: string;
307
+ value: string;
308
+ }> | undefined;
309
+ /**
310
+ * The `inputs.detail` of a connector-tool node — the same key set a
311
+ * `connector()` step's node carries, with the request buckets filled the way
312
+ * `uip maestro flow node configure` fills them for a `tool.connector.*` node
313
+ * (uipcli `buildAgentToolParamsFromMetadata`): every BODY field is
314
+ * agent-decided (`{{prompt: "<description>"}}`) except a single-value enum,
315
+ * which is its one constant (the model would otherwise guess — `google` for
316
+ * `GoogleCustomSearch`); a QUERY/PATH parameter with a declared default sends
317
+ * it, and otherwise is agent-decided too.
318
+ */
319
+ export declare function connectorToolDetail(rc: ResolvedConnector, conn: string | undefined, folder: string | undefined, seed: string): Record<string, any>;
320
+ /** Walk (creating) the object chain for a dotted field name; returns the parent schema and the leaf key. */
321
+ export declare function nestedSlot(root: Record<string, any>, name: string): {
322
+ parent: Record<string, any>;
323
+ leaf: string;
324
+ };
325
+ /**
326
+ * The `resources/<id>/resource.json` of a CONNECTOR tool (#867) — the file the
327
+ * agent runtime registers the tool from, and the one that puts the connection
328
+ * under the solution's Resources.
329
+ *
330
+ * The shape is uipcli's `mapConnectorToolToResource` (the writer behind `uip
331
+ * agent refresh --inline-in-flow`, itself ported from flow-workbench's
332
+ * `agent-connector-tool` mapper), in its metadata-enriched form: field types,
333
+ * enums, `required` and the response fields come from the curated library,
334
+ * which carries the same declarations that command fetches from Integration
335
+ * Service. Where that writer and a Studio Web export differ, this follows the
336
+ * writer: `enum`/`oneOf` only on agent-decided fields (a static field with an
337
+ * enum breaks the runtime's model build), no `additionalProperties`, and
338
+ * array-of-object response fields (`results[*]`) left out.
339
+ *
340
+ * The values come from the node's own `detail` — the same source refresh reads —
341
+ * so a later refresh rewrites this file to itself.
342
+ */
343
+ export declare function connectorToolResourceJson(ctx: ConnectorToolContext, id: string): Record<string, unknown>;
344
+ /**
345
+ * The tool kinds that wrap a DEPLOYED tenant resource, and everything that
346
+ * differs between them. Transcribed from `registry get` over one live example
347
+ * of each (2026-07-31): the five agree on the whole frame (`bpmn:ServiceTask`,
348
+ * `version: 'v2'`, `section: 'Published'`, the `<bindings.name>` /
349
+ * `<bindings.folderPath>` context, `source: true`, version `1.0.0`, the tool
350
+ * artifact handle, `tags: ['agent-tool']`) and differ in exactly these rows.
351
+ */
352
+ export declare const PROCESS_TOOL_META: Record<string, {
353
+ ns: string;
354
+ serviceType: string;
355
+ subType: ProcessResourceSubType;
356
+ orchestratorType: string;
357
+ category: string;
358
+ icon: string;
359
+ sortOrder: number;
360
+ }>;
361
+ /**
362
+ * The definition for one per-instance tool resource. Like `rpaWorkflowDef`
363
+ * and its siblings — whose model half this shares verb for verb — the def
364
+ * cannot be bundled: the node type carries the deployed resource's own key,
365
+ * and the contract (`inputSchema`/`outputSchema` in `inputDefaults`, which is
366
+ * where the registry's tenant-synthesized copy puts it) comes from the author
367
+ * because offline nothing else can know it.
368
+ */
369
+ export declare function processToolDef(kind: string, spec: {
370
+ key: string;
371
+ name: string;
372
+ folderPath: string;
373
+ inputs?: Record<string, string>;
374
+ returns?: Record<string, string>;
375
+ }): any;
376
+ /**
377
+ * The definition for one published IxP project AS A TOOL.
378
+ *
379
+ * The same registry family as `ixpExtractDef`'s one namespace over, and the
380
+ * comparison that prices it: this def has **no `model` key at all** — which is
381
+ * not special, it is the shape `tool.builtin.summarize` and
382
+ * `tool.builtin.batchtransform` already carry. So an IxP tool needs no bindings
383
+ * and no resource identity beyond the node type; the agent's own resource list
384
+ * is what points at it. (G16 deferred this family as "`model: null`" — measured
385
+ * again on 2026-07-31 with a fresh registry cache, the key is absent, and the
386
+ * only genuinely new thing is the 6-field `inputDefaults` below.)
387
+ *
388
+ * Transcribed from `registry get uipath.agent.resource.tool.ixp.<slug>.<projectId>`
389
+ * (2026-07-31, post-`pull --force`). Note the tail is the project's OWN id here,
390
+ * where an extraction STEP's type carries the project VERSION id.
391
+ */
392
+ export declare function ixpToolDef(spec: {
393
+ projectId: string;
394
+ name: string;
395
+ description?: string;
396
+ versionTag?: string;
397
+ attachment?: {
398
+ mode?: string;
399
+ description?: string;
400
+ argumentPath?: string;
401
+ };
402
+ }): any;
403
+ /**
404
+ * The definition for an ESCALATION — the `coded-action-app` variant, which is
405
+ * the one this tenant's registry serves. Transcribed from `registry get
406
+ * uipath.agent.resource.escalation.coded-action-app` (2026-07-31, v1.1).
407
+ *
408
+ * Node-type note, because it is the one place this card had to choose between
409
+ * eras: the deployed corpus (2026-05-22) carries the BARE
410
+ * `uipath.agent.resource.escalation`, today's registry resolves only the
411
+ * suffixed variants, and the agent definition's own handle accepts both
412
+ * (`allowedTargets: [{escalation}, {escalation.*}]`). New emission follows
413
+ * what the registry can still answer for.
414
+ */
415
+ export declare function escalationDef(): any;
416
+ /**
417
+ * The definition for ONE MCP-server tool resource, mirrored from the platform's
418
+ * own mapper (`flow-core` `transformMcpServer`, read from the workbench dist —
419
+ * the registry serves the family per instance, tenant-side). The node type is
420
+ * minted from the server's name and key with the mapper's own slug rule.
421
+ */
422
+ export declare function mcpToolDef(spec: {
423
+ name: string;
424
+ key: string;
425
+ description?: string;
426
+ folderPath?: string;
427
+ folderKey?: string;
428
+ mcpType?: string;
429
+ serviceName?: string;
430
+ slug?: string;
431
+ selectedTools?: unknown[];
432
+ }): any;
433
+ /**
434
+ * The definition for ONE remote-A2A tool resource, mirrored from
435
+ * `transformRemoteA2aResource` — same provenance and slug rule as the MCP def.
436
+ */
437
+ export declare function a2aToolDef(spec: {
438
+ name: string;
439
+ key: string;
440
+ slug: string;
441
+ description?: string;
442
+ cachedAgentCard?: Record<string, unknown> | null;
443
+ resourceType?: string | null;
444
+ folderPath?: string;
445
+ folderKey?: string;
446
+ resourceFolderPath?: string;
447
+ }): any;
448
+ /**
449
+ * The definition for ONE episodic-memory resource, mirrored from
450
+ * `transformEpisodicMemory`. The memory's identity rides ON the
451
+ * inputDefinition (`memoryId`/`folderKey`), verbatim — that is where the
452
+ * platform's own mapper puts it.
453
+ */
454
+ export declare function memoryResourceDef(spec: {
455
+ name: string;
456
+ id: string;
457
+ description?: string;
458
+ folderKey?: string;
459
+ }): any;
460
+ /** True when a definition declares the agent's `memory` artifact handle. */
461
+ export declare function declaresMemoryHandle(def: any): boolean;
462
+ /**
463
+ * The definition for the INLINE autonomous agent: the bundled pair for
464
+ * `version` (the newest by default), plus an explicit overlay of the details
465
+ * the registry payload does not carry.
466
+ *
467
+ * This is the one node type in the agent family that is the SAME on every
468
+ * tenant — it carries its own configuration instead of referencing a resource —
469
+ * so `uip maestro flow registry get uipath.agent.autonomous` is a direct oracle
470
+ * and the bundle entry is the registry's definition as last synced
471
+ * (`sync:definitions` writes it through unchanged; `check:definitions --deep`
472
+ * reports content that has moved since). Versions and content both come from
473
+ * there.
474
+ *
475
+ * The overlay, and nothing else:
476
+ *
477
+ * * `outputDefinition.output.source` is `=result.response`. The registry's
478
+ * definition declares no `source`; the deployed corpus (29 `uipath.agent.autonomous` nodes, 05-18 → 07-29) has
479
+ * `=result.response` in 27 of 27 that declare outputs, and the engine's own
480
+ * inline dispatch returns `{ response: { …declared keys } }`. Without it the
481
+ * node's `output` is the whole result envelope rather than the declared keys.
482
+ * It is applied at every version; the registry payload has no `source`.
483
+ * * The `memory` handle is kept only when the flow attaches memory. It is
484
+ * LOCAL content (#431) on the bundled 1.4, absent from the registry's 1.4
485
+ * (`check.ts` AGENT_MEMORY_NOT_AUTHORABLE), so an agent without memory gets
486
+ * the registry's handle set.
487
+ *
488
+ * NO per-instance schema goes on the definition: `definitions[]` is keyed by
489
+ * node TYPE, and every inline agent in a flow shares this one entry. A flow
490
+ * with two agents (an analyst and a writer, say) therefore cannot have both
491
+ * contracts here — whichever was emitted last would win, and every read against
492
+ * the other resolved to the wrong shape (GA row 7's port: 25 undeclared-field
493
+ * errors on a correct flow). The authored contract goes on the NODE
494
+ * (`node.outputs.output.schema`, in the `inlineAgent` arm), where a reader that
495
+ * refines per node picks it up.
496
+ *
497
+ * The bundled 1.2 is the pre-#956 default, kept so a flow this SDK compiled
498
+ * before — and a decompile of one, which pins `{ version: '1.2' }` — still
499
+ * compiles. The corpus also carries 1.1 and 1.3; `shared/sample-flows/
500
+ * inline-agent.flow` says 1.0, which appears in none of the 29.
501
+ */
502
+ export declare function inlineAgentDef(version: string, withMemory: boolean, resolve: (type: string, version: string) => any): any;