@uipath/maestro-builder-sdk 6.66.8 → 6.66.10
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/core/refusals.js
CHANGED
|
@@ -20,6 +20,16 @@
|
|
|
20
20
|
* they get different codes, so one code never both stops compile and lets it
|
|
21
21
|
* write.
|
|
22
22
|
*
|
|
23
|
+
* Since `compile` no longer runs `check` (#1497), a `lint` code is only right
|
|
24
|
+
* when the serializer still writes what the source says while the rule fires:
|
|
25
|
+
* otherwise `compile` writes a wrong `.flow` without a word, and the code is
|
|
26
|
+
* `lowering` (the serializer must refuse it). Every Flow `lint` code has a row
|
|
27
|
+
* in `tests/lint-lossless/` (#1518): a round-trip fixture, a fixture the
|
|
28
|
+
* serializer refuses, or a written reason. The round trip shows the rule's
|
|
29
|
+
* condition survives compile -> decompile -> compile and that compile is
|
|
30
|
+
* stable through decompile; it does not see a value the serializer rewrites
|
|
31
|
+
* the same way every time.
|
|
32
|
+
*
|
|
23
33
|
* The classes record what each code does as it is emitted today. A code that
|
|
24
34
|
* names a condition compile refuses through a still-uncoded throw is `lint`
|
|
25
35
|
* until the slice that codes that throw moves it to `lowering`. Any other move
|
|
@@ -213,6 +213,12 @@ export function serializeInlineAgent(s, ctx) {
|
|
|
213
213
|
// agent's resources[] for agent-tool resource nodes" (MST-9265's own wording)
|
|
214
214
|
// — derived, so a recompile is not a diff.
|
|
215
215
|
const toolRefs = s.tools === undefined ? [] : Array.isArray(s.tools) ? s.tools : [s.tools];
|
|
216
|
+
// A connector tool with no library cannot be lowered, but it is not the
|
|
217
|
+
// agent's only rule: the refusal is held until the whole agent has been
|
|
218
|
+
// judged (its other tools, their labels, every resource's nodeId and
|
|
219
|
+
// source), then thrown. Thrown at the tool, it hid those, and `check` (which
|
|
220
|
+
// drops LIBRARY_REQUIRED, failing open) passed the agent (#1518).
|
|
221
|
+
let libraryRequired;
|
|
216
222
|
for (const tr of toolRefs) {
|
|
217
223
|
// An entry that is no object (null, a hole, a string) has no kind at all.
|
|
218
224
|
if (tr === null || typeof tr !== 'object')
|
|
@@ -268,7 +274,12 @@ export function serializeInlineAgent(s, ctx) {
|
|
|
268
274
|
const where = `inline agent "${step}"'s connector tool "${tr.connector}/${tr.operation}"`;
|
|
269
275
|
ctx.resolveBinding(tr.connection, 'connection', where, { key: tr.connector, action: tr.operation });
|
|
270
276
|
ctx.resolveBinding(tr.folder, 'folder', where, { key: tr.connector, action: tr.operation });
|
|
271
|
-
|
|
277
|
+
// Its node id is still claimed, as with a library, so the ids derived
|
|
278
|
+
// for the tools after it, and another resource's `nodeId` that takes
|
|
279
|
+
// one, are judged as compile with a library judges them.
|
|
280
|
+
ctx.resourceNodeId(tr.nodeId, `${step}Tool`, `inline agent "${step}": connector tool "${tr.name ?? tr.operation}"`);
|
|
281
|
+
libraryRequired ??= new CompileRefusal('LIBRARY_REQUIRED', `inline agent "${step}"'s connector tool needs a library (pass --library / set $FLOW_SDK_LIBRARY_JSON).`);
|
|
282
|
+
continue;
|
|
272
283
|
}
|
|
273
284
|
const rc = ctx.library.resolve(tr.connector, tr.operation, tr.version, tr.object);
|
|
274
285
|
// An entry `prepare` synthesized from Integration Service compiles in BPMN
|
|
@@ -538,6 +549,8 @@ export function serializeInlineAgent(s, ctx) {
|
|
|
538
549
|
}
|
|
539
550
|
if (compositeInput)
|
|
540
551
|
throw compositeInput;
|
|
552
|
+
if (libraryRequired)
|
|
553
|
+
throw libraryRequired;
|
|
541
554
|
return {
|
|
542
555
|
definition: { source: 'snapshot', nodeType: def.nodeType, version: def.version, manifest: def },
|
|
543
556
|
// Unlike the published families the inline agent KEEPS no node-level model:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uipath/maestro-builder-sdk",
|
|
3
|
-
"version": "6.66.
|
|
3
|
+
"version": "6.66.10",
|
|
4
4
|
"description": "Build UiPath Flow, Case, and BPMN artifacts by writing TypeScript.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://docs.uipath.com/maestro",
|
|
@@ -100,5 +100,5 @@
|
|
|
100
100
|
"@types/node": "^22.7.0",
|
|
101
101
|
"esbuild": "^0.28.1"
|
|
102
102
|
},
|
|
103
|
-
"gitref": "
|
|
103
|
+
"gitref": "38abdec4c17d742d7b352e018d729d1d8253b35a"
|
|
104
104
|
}
|