@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.
@@ -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
- throw new CompileRefusal('LIBRARY_REQUIRED', `inline agent "${step}"'s connector tool needs a library (pass --library / set $FLOW_SDK_LIBRARY_JSON).`);
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.8",
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": "4800f0ca4d2a58eed272d12640145fc039e43a16"
103
+ "gitref": "38abdec4c17d742d7b352e018d729d1d8253b35a"
104
104
  }