@rotifer/playground 0.28.0 → 0.30.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 (41) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +2 -2
  3. package/README.zh.md +2 -2
  4. package/dist/cloud/capability-candidates.d.ts +2 -0
  5. package/dist/cloud/capability-candidates.d.ts.map +1 -1
  6. package/dist/cloud/capability-candidates.js +83 -31
  7. package/dist/cloud/capability-candidates.js.map +1 -1
  8. package/dist/cloud/client.d.ts +10 -0
  9. package/dist/cloud/client.d.ts.map +1 -1
  10. package/dist/cloud/client.js +41 -2
  11. package/dist/cloud/client.js.map +1 -1
  12. package/dist/cloud/types.d.ts +10 -0
  13. package/dist/cloud/types.d.ts.map +1 -1
  14. package/dist/cloud/types.js.map +1 -1
  15. package/dist/commands/agent-run.d.ts.map +1 -1
  16. package/dist/commands/agent-run.js +13 -4
  17. package/dist/commands/agent-run.js.map +1 -1
  18. package/dist/commands/arena-submit.d.ts.map +1 -1
  19. package/dist/commands/arena-submit.js +48 -10
  20. package/dist/commands/arena-submit.js.map +1 -1
  21. package/dist/commands/genome-format.d.ts +180 -0
  22. package/dist/commands/genome-format.d.ts.map +1 -0
  23. package/dist/commands/genome-format.js +774 -0
  24. package/dist/commands/genome-format.js.map +1 -0
  25. package/dist/commands/genome-import.d.ts +23 -27
  26. package/dist/commands/genome-import.d.ts.map +1 -1
  27. package/dist/commands/genome-import.js +91 -250
  28. package/dist/commands/genome-import.js.map +1 -1
  29. package/dist/commands/genome.d.ts +7 -138
  30. package/dist/commands/genome.d.ts.map +1 -1
  31. package/dist/commands/genome.js +31 -245
  32. package/dist/commands/genome.js.map +1 -1
  33. package/dist/utils/fitness-formula.d.ts +75 -17
  34. package/dist/utils/fitness-formula.d.ts.map +1 -1
  35. package/dist/utils/fitness-formula.js +97 -22
  36. package/dist/utils/fitness-formula.js.map +1 -1
  37. package/dist/utils/run-fuel-ladder.d.ts +6 -3
  38. package/dist/utils/run-fuel-ladder.d.ts.map +1 -1
  39. package/dist/utils/run-fuel-ladder.js +6 -3
  40. package/dist/utils/run-fuel-ladder.js.map +1 -1
  41. package/package.json +5 -5
@@ -33,9 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.genomeImportCommand = exports.GenomeImportError = exports.DEFAULT_MAX_EVAL_AGE_DAYS = exports.DEFAULT_MIN_VG = void 0;
37
- exports.compositionPlan = compositionPlan;
38
- exports.parseBlueprint = parseBlueprint;
36
+ exports.genomeImportCommand = exports.DEFAULT_MAX_EVAL_AGE_DAYS = exports.DEFAULT_MIN_VG = exports.parseBlueprint = exports.computeGenomeId = exports.compositionPlan = exports.GenomeImportError = void 0;
39
37
  exports.locatePinned = locatePinned;
40
38
  exports.effectiveMinVg = effectiveMinVg;
41
39
  exports.resolveRole = resolveRole;
@@ -55,233 +53,70 @@ const client_js_1 = require("../cloud/client.js");
55
53
  const capability_candidates_js_1 = require("../cloud/capability-candidates.js");
56
54
  const install_js_1 = require("./install.js");
57
55
  const agent_create_js_1 = require("./agent-create.js");
58
- const genome_js_1 = require("./genome.js");
56
+ const genome_format_js_1 = require("./genome-format.js");
57
+ var genome_format_js_2 = require("./genome-format.js");
58
+ Object.defineProperty(exports, "GenomeImportError", { enumerable: true, get: function () { return genome_format_js_2.GenomeImportError; } });
59
+ Object.defineProperty(exports, "compositionPlan", { enumerable: true, get: function () { return genome_format_js_2.compositionPlan; } });
60
+ Object.defineProperty(exports, "computeGenomeId", { enumerable: true, get: function () { return genome_format_js_2.computeGenomeId; } });
61
+ Object.defineProperty(exports, "parseBlueprint", { enumerable: true, get: function () { return genome_format_js_2.parseBlueprint; } });
59
62
  /** Recommended V_min of §5.1: the floor every capability selection must clear. */
60
63
  exports.DEFAULT_MIN_VG = 0.7;
61
64
  exports.DEFAULT_MAX_EVAL_AGE_DAYS = 90;
62
- const PAR_MERGES = new Set(["first", "concat", "merge"]);
63
- class GenomeImportError extends Error {
64
- hint;
65
- constructor(message, hint) {
66
- super(message);
67
- this.hint = hint;
68
- this.name = "GenomeImportError";
69
- }
70
- }
71
- exports.GenomeImportError = GenomeImportError;
72
- const OPS_FROM_SPEC = Object.fromEntries(Object.entries(genome_js_1.COMPARE_OPS).map(([local, spec]) => [spec, local]));
73
- function outsideSubset(why) {
74
- return new GenomeImportError(`Composition is outside the v0.9.2 executable subset: ${why}`, "v0.9.2 imports Gene, Seq of genes, Par of genes (no deadline), and Cond/TryCatch over exactly two genes.");
75
- }
76
- function isObject(v) {
77
- return typeof v === "object" && v !== null && !Array.isArray(v);
78
- }
79
- /** The single key of an externally tagged AlgebraExpr, and its body. */
80
- function tagOf(expr) {
81
- if (!isObject(expr))
82
- throw outsideSubset("an expression is not an object");
83
- const keys = Object.keys(expr);
84
- if (keys.length !== 1)
85
- throw outsideSubset(`an expression has ${keys.length} tags`);
86
- const body = expr[keys[0]];
87
- if (!isObject(body))
88
- throw outsideSubset(`'${keys[0]}' has no body`);
89
- return [keys[0], body];
90
- }
91
- /** A `Gene` leaf's role, checked against the snapshot's gene list. */
92
- function leafRole(expr, genes) {
93
- const [tag, body] = tagOf(expr);
94
- if (tag === "RemoteGene")
95
- throw outsideSubset("RemoteGene is not supported");
96
- if (tag !== "Gene")
97
- throw outsideSubset(`'${tag}' appears where only a single gene may`);
98
- const ref = body.geneRef;
99
- if (!isObject(ref) || typeof ref.role !== "string" || typeof ref.geneId !== "string") {
100
- throw outsideSubset("a Gene leaf has no geneRef { geneId, role }");
101
- }
102
- const listed = genes.find((g) => g.role === ref.role);
103
- if (!listed || listed.geneId !== ref.geneId) {
104
- throw new GenomeImportError(`Composition leaf '${ref.role}' does not match snapshot.genes`);
105
- }
106
- return ref.role;
107
- }
108
- function compositionPlan(blueprint) {
109
- const genes = blueprint.snapshot.genes;
110
- const order = genes.map((g) => g.role);
111
- const ext = blueprint.bindingExtensions?.[genome_js_1.BINDING_NAME] ?? {};
112
- const expr = blueprint.snapshot.composition;
113
- // §4.3: a genome is an ordered composition; with no expression it runs in order.
114
- if (expr === undefined) {
115
- return genes.length === 1 ? { type: "Single", roles: order } : { type: "Seq", roles: order };
116
- }
117
- const [tag, body] = tagOf(expr);
118
- let plan;
119
- switch (tag) {
120
- case "Gene":
121
- plan = { type: "Single", roles: [leafRole(expr, genes)] };
122
- break;
123
- case "Seq": {
124
- if (!Array.isArray(body.steps) || body.steps.length === 0)
125
- throw outsideSubset("Seq has no steps");
126
- plan = { type: "Seq", roles: body.steps.map((s) => leafRole(s, genes)) };
127
- break;
128
- }
129
- case "Par": {
130
- // `agent run` executes Par flat and n-ary; export writes it right-nested.
131
- // Flatten Par(a, Par(b, c)) back to [a, b, c]; anything else nested is refused.
132
- const roles = [];
133
- let node = body;
134
- for (;;) {
135
- if (node.deadline !== undefined && node.deadline !== null)
136
- throw outsideSubset("Par with a deadline");
137
- roles.push(leafRole(node.left, genes));
138
- const [rightTag, rightBody] = tagOf(node.right);
139
- if (rightTag === "Par") {
140
- node = rightBody;
141
- continue;
142
- }
143
- roles.push(leafRole(node.right, genes));
144
- break;
145
- }
146
- const merge = ext.parMerge ?? "first";
147
- if (typeof merge !== "string" || !PAR_MERGES.has(merge)) {
148
- throw new GenomeImportError(`bindingExtensions["${genome_js_1.BINDING_NAME}"].parMerge '${String(merge)}' is not first, concat or merge`);
149
- }
150
- plan = { type: "Par", roles, parMerge: merge };
151
- break;
152
- }
153
- case "Cond": {
154
- const p = body.predicate;
155
- if (!isObject(p) || typeof p.field !== "string" || typeof p.operator !== "string" || !("value" in p)) {
156
- throw outsideSubset("Cond predicate must be { field, operator, value }");
157
- }
158
- // agent run substitutes "type" for an empty field and "primary" for a null
159
- // value; accepting them would run a different branch than the one declared.
160
- if (p.field === "")
161
- throw outsideSubset("Cond predicate needs a non-empty field");
162
- if (p.value === null)
163
- throw outsideSubset("Cond predicate value must not be null");
164
- const op = OPS_FROM_SPEC[p.operator];
165
- if (!op)
166
- throw outsideSubset(`unknown CompareOp '${p.operator}'`);
167
- plan = {
168
- type: "Cond",
169
- roles: [leafRole(body.ifTrue, genes), leafRole(body.ifFalse, genes)],
170
- predicate: { field: p.field, op, value: p.value },
171
- };
172
- break;
173
- }
174
- case "TryCatch":
175
- plan = { type: "Try", roles: [leafRole(body.body, genes), leafRole(body.handler, genes)] };
176
- break;
177
- default:
178
- throw outsideSubset(`'${tag}' is not a §15.2 operator v0.9.2 supports`);
179
- }
180
- if (plan.roles.join("\u0000") !== order.join("\u0000")) {
181
- throw outsideSubset("the composition must use every gene of snapshot.genes once, in order");
182
- }
183
- return plan;
184
- }
185
- function checkMinVg(value, where) {
186
- if (typeof value !== "number" || !Number.isFinite(value) || value < genome_js_1.MIN_VG_FLOOR || value >= 1) {
187
- throw new GenomeImportError(`${where} must be in [${genome_js_1.MIN_VG_FLOOR}, 1.0)`, "§5.1 does not allow a V(g) threshold below 0.5.");
188
- }
189
- return value;
65
+ function isWrapped(fidelity) {
66
+ return fidelity.toLowerCase() === "wrapped";
190
67
  }
191
- /** Parse a Blueprint, keep only what v0.9.2 can rebuild faithfully, and run the credential scan. */
192
- function parseBlueprint(text) {
193
- let raw;
194
- try {
195
- raw = JSON.parse(text);
196
- }
197
- catch (err) {
198
- // The parser's own message quotes the input around the error, which may be
199
- // a key; report only where it broke.
200
- const position = /position (\d+)/.exec(err.message)?.[1];
201
- throw new GenomeImportError(`Not a JSON Blueprint: the file is not valid JSON${position ? ` (at position ${position})` : ""}`);
202
- }
203
- if (!isObject(raw))
204
- throw new GenomeImportError("Not a Blueprint: the top level is not an object");
205
- // The credential scan runs before any structural check: structural errors
206
- // name roles, keys and values from the file, and none of those may be a
207
- // secret by the time they are printed. Findings carry masked pointers only.
208
- const findings = (0, genome_js_1.scanBlueprint)(raw, { isLeafIdCheckedStructurally: true });
209
- if (findings.length > 0) {
210
- const where = findings.map((f) => `${f.pointer || "/"} [${f.layer}] ${f.rule}`).join("; ");
211
- throw new GenomeImportError(`The Blueprint carries what looks like a credential, so it is not imported: ${where}`);
212
- }
213
- const format = raw.blueprintFormat;
214
- if (typeof format !== "number" || !Number.isInteger(format) || format < 1) {
215
- throw new GenomeImportError("Not a Blueprint: blueprintFormat is missing or not a positive integer");
216
- }
217
- if (format > genome_js_1.BLUEPRINT_FORMAT) {
218
- throw new GenomeImportError(`Blueprint format ${format} is newer than this CLI understands (${genome_js_1.BLUEPRINT_FORMAT})`, "Update the CLI: rotifer self-update");
219
- }
220
- const snapshot = raw.snapshot;
221
- if (!isObject(snapshot) || !Array.isArray(snapshot.genes) || snapshot.genes.length === 0) {
222
- throw new GenomeImportError("Blueprint has no snapshot.genes");
223
- }
224
- const roles = new Set();
225
- for (const g of snapshot.genes) {
226
- if (!isObject(g) || typeof g.geneId !== "string" || typeof g.role !== "string" || g.role === "") {
227
- throw new GenomeImportError("Every snapshot.genes entry needs a geneId and a role");
228
- }
229
- if (!genome_js_1.GENE_ID_V2.test(g.geneId))
230
- throw new GenomeImportError(`Gene '${g.role}' has no v2 gene ID`);
231
- if (g.optional === true)
232
- throw outsideSubset(`gene '${g.role}' is optional, which agent run has no notion of`);
233
- if (roles.has(g.role))
234
- throw new GenomeImportError(`Role '${g.role}' appears twice in snapshot.genes`);
235
- roles.add(g.role);
236
- }
237
- if (raw.capabilities !== undefined) {
238
- if (!isObject(raw.capabilities))
239
- throw new GenomeImportError("capabilities must be an object");
240
- for (const [role, q] of Object.entries(raw.capabilities)) {
241
- if (!roles.has(role))
242
- throw new GenomeImportError(`capabilities has a role '${role}' that snapshot.genes lacks`);
243
- if (!isObject(q) || typeof q.domain !== "string" || q.domain === "") {
244
- throw new GenomeImportError(`capabilities['${role}'] has no domain`);
245
- }
246
- if (q.minFitness !== undefined && (typeof q.minFitness !== "number" || q.minFitness < 0 || q.minFitness > 1)) {
247
- throw new GenomeImportError(`capabilities['${role}'].minFitness must be between 0 and 1`);
248
- }
249
- if (q.excludeGeneIds !== undefined) {
250
- if (!Array.isArray(q.excludeGeneIds) || !q.excludeGeneIds.every((id) => typeof id === "string" && genome_js_1.GENE_ID_V2.test(id))) {
251
- throw new GenomeImportError(`capabilities['${role}'].excludeGeneIds must be v2 gene IDs`);
252
- }
68
+ const REJECTION_WORDS = {
69
+ "not-verified": "not in the verified Arena tier",
70
+ invalidated: "evaluation invalidated",
71
+ fidelity: "Wrapped",
72
+ "missing-evidence": "evidence missing",
73
+ "fitness-below-threshold": "fitness below the threshold",
74
+ "vg-below-threshold": "V(g) below the threshold",
75
+ "stale-evidence": "evaluation too old",
76
+ "no-artifact": "no WASM artifact",
77
+ "schema-incompatible": "schema differs from the original's",
78
+ excluded: "excluded by the Blueprint",
79
+ };
80
+ /** What capability mode did for this role, in words; empty for --pinned, where it never ran. */
81
+ function capabilityOutcome(role, via) {
82
+ switch (via.kind) {
83
+ case "flag":
84
+ return "";
85
+ case "no-query":
86
+ return (`The Blueprint has no capability query for role '${role}' (it was exported with --lock, or the gene declares no domain), ` +
87
+ "so no substitute could be searched for. Ask the author to export it again without --lock, from a gene that declares its domain.");
88
+ case "no-admissible-candidate": {
89
+ let found = "the Arena lists no candidates there";
90
+ if (via.candidates.length > 0) {
91
+ const counts = new Map();
92
+ for (const c of via.candidates)
93
+ for (const r of c.rejections)
94
+ counts.set(r.code, (counts.get(r.code) ?? 0) + 1);
95
+ const why = [...counts].map(([code, n]) => `${REJECTION_WORDS[code]} (${n})`).join(", ");
96
+ found = `${via.candidates.length} candidate${via.candidates.length === 1 ? "" : "s"}, refused as ${why}`;
253
97
  }
98
+ return (`Capability mode looked for a Native/Hybrid substitute in domain '${via.domain}' and admitted none: ${found}. ` +
99
+ "Import again once a candidate passes admission, or ask the author to publish a Native/Hybrid build.");
254
100
  }
255
- }
256
- if (raw.resolutionHints !== undefined) {
257
- if (!isObject(raw.resolutionHints))
258
- throw new GenomeImportError("resolutionHints must be an object");
259
- for (const [role, h] of Object.entries(raw.resolutionHints)) {
260
- if (!roles.has(role))
261
- throw new GenomeImportError(`resolutionHints has a role '${role}' that snapshot.genes lacks`);
262
- const isValid = isObject(h) &&
263
- ["owner", "name", "version", "fidelity"].every((k) => typeof h[k] === "string" && h[k] !== "") &&
264
- (h.cloudId === undefined || typeof h.cloudId === "string");
265
- if (!isValid)
266
- throw new GenomeImportError(`resolutionHints['${role}'] needs owner, name, version and fidelity`);
101
+ case "cross-author-not-confirmed": {
102
+ const s = `${via.substitute.owner}/${via.substitute.name}@${via.substitute.version}`;
103
+ return via.isDeclined
104
+ ? `You declined the substitute by another author (${s}); import again and accept it, or re-run with --yes.`
105
+ : `A substitute by another author passed admission (${s}) but was not accepted. Re-run with --yes to accept it.`;
267
106
  }
268
107
  }
269
- const blueprint = raw;
270
- const ext = blueprint.bindingExtensions?.[genome_js_1.BINDING_NAME];
271
- const suggestedMinVg = ext?.minVg === undefined ? undefined : checkMinVg(ext.minVg, `bindingExtensions["${genome_js_1.BINDING_NAME}"].minVg`);
272
- const plan = compositionPlan(blueprint);
273
- return { blueprint, plan, suggestedMinVg };
274
- }
275
- function isWrapped(fidelity) {
276
- return fidelity.toLowerCase() === "wrapped";
277
108
  }
278
109
  /** Lock mode: the exact author + name + version from the hints. */
279
- async function locatePinned(role, hint) {
110
+ async function locatePinned(role, hint, via = { kind: "flag" }) {
111
+ // Only a user who passed --pinned is told to drop it; otherwise say what
112
+ // capability mode already tried for this role.
280
113
  if (!hint) {
281
- throw new GenomeImportError(`Role '${role}' has no resolutionHints, so it cannot be located by gene ID`, "The author's gene was never published; ask them to publish it, or import with capability mode.");
114
+ throw new genome_format_js_1.GenomeImportError(`Role '${role}' has no resolutionHints, so it cannot be located by gene ID`, via.kind === "flag"
115
+ ? "The author's gene was never published; ask them to publish it, or drop --pinned so capability mode can look for a substitute."
116
+ : `The author's gene was never published; ask them to publish it. ${capabilityOutcome(role, via)}`);
282
117
  }
283
118
  if (isWrapped(hint.fidelity)) {
284
- throw new GenomeImportError(`Role '${role}' is a Wrapped gene: v0.9.2 does not support installing Wrapped genes from the Registry`, "Drop --pinned so capability mode can look for a Native/Hybrid substitute.");
119
+ throw new genome_format_js_1.GenomeImportError(`Role '${role}' is a Wrapped gene: v0.9.2 does not support installing Wrapped genes from the Registry`, via.kind === "flag" ? "Drop --pinned so capability mode can look for a Native/Hybrid substitute." : capabilityOutcome(role, via));
285
120
  }
286
121
  const same = (a, b) => a.toLowerCase() === b.toLowerCase();
287
122
  if (hint.cloudId) {
@@ -298,7 +133,7 @@ async function locatePinned(role, hint) {
298
133
  const versions = await (0, client_js_1.listGeneVersions)(hint.owner, hint.name);
299
134
  const match = versions.find((v) => v.version === hint.version);
300
135
  if (!match) {
301
- throw new GenomeImportError(`Role '${role}': ${hint.owner}/${hint.name}@${hint.version} is not in the Registry (unpublished, or never published)`);
136
+ throw new genome_format_js_1.GenomeImportError(`Role '${role}': ${hint.owner}/${hint.name}@${hint.version} is not in the Registry (unpublished, or never published)`);
302
137
  }
303
138
  return { cloudId: match.id };
304
139
  }
@@ -306,13 +141,18 @@ async function locatePinned(role, hint) {
306
141
  function effectiveMinVg(suggested, local) {
307
142
  return Math.max(exports.DEFAULT_MIN_VG, suggested ?? 0, local ?? 0);
308
143
  }
144
+ function ownEntry(map, key) {
145
+ return map !== undefined && Object.hasOwn(map, key) ? map[key] : undefined;
146
+ }
309
147
  async function resolveRole(role, ctx) {
310
148
  const { blueprint, options } = ctx;
311
149
  const ref = blueprint.snapshot.genes.find((g) => g.role === role);
312
- const hint = blueprint.resolutionHints?.[role];
313
- const query = blueprint.capabilities?.[role];
314
- const pinned = async (mode, extra = {}) => {
315
- const { cloudId } = await locatePinned(role, hint);
150
+ // Own entries only: a role may be named "toString" or "__proto__", and a plain
151
+ // lookup would return the inherited member instead of "no entry".
152
+ const hint = ownEntry(blueprint.resolutionHints, role);
153
+ const query = ownEntry(blueprint.capabilities, role);
154
+ const pinned = async (mode, via, extra = {}) => {
155
+ const { cloudId } = await locatePinned(role, hint, via);
316
156
  return {
317
157
  role,
318
158
  mode,
@@ -327,17 +167,19 @@ async function resolveRole(role, ctx) {
327
167
  ...extra,
328
168
  };
329
169
  };
330
- if (options.isPinned || !query)
331
- return pinned("pinned");
170
+ if (options.isPinned)
171
+ return pinned("pinned", { kind: "flag" });
172
+ if (!query)
173
+ return pinned("pinned", { kind: "no-query" });
332
174
  const policy = {
333
- minFitness: query.minFitness ?? genome_js_1.DEFAULT_MIN_FITNESS,
175
+ minFitness: query.minFitness ?? genome_format_js_1.DEFAULT_MIN_FITNESS,
334
176
  minVg: effectiveMinVg(ctx.suggestedMinVg, options.minVg),
335
177
  maxEvalAgeDays: options.maxEvalAgeDays ?? exports.DEFAULT_MAX_EVAL_AGE_DAYS,
336
178
  now: options.now ?? new Date(),
337
179
  };
338
180
  const { candidates, admitted } = await (0, capability_candidates_js_1.resolveCapabilityCandidates)(query, policy);
339
181
  if (admitted.length === 0) {
340
- return pinned("fallback", { fallback: "no-admissible-candidate", candidates });
182
+ return pinned("fallback", { kind: "no-admissible-candidate", domain: query.domain, candidates }, { fallback: "no-admissible-candidate", candidates });
341
183
  }
342
184
  const best = admitted[0];
343
185
  // With no hint there is no original author to compare against, so any pick is treated as a substitution.
@@ -346,7 +188,8 @@ async function resolveRole(role, ctx) {
346
188
  const question = `Role '${role}': replace ${hint ? `${hint.owner}/${hint.name}@${hint.version}` : "the original gene"} with ${best.owner}/${best.name}@${best.version} (another author)?`;
347
189
  const isAccepted = options.confirm ? await options.confirm(question) : false;
348
190
  if (!isAccepted) {
349
- return pinned("fallback", {
191
+ const via = { kind: "cross-author-not-confirmed", substitute: best, isDeclined: options.confirm !== undefined };
192
+ return pinned("fallback", via, {
350
193
  fallback: "cross-author-not-confirmed",
351
194
  candidates,
352
195
  rejectedSubstitutions: [
@@ -403,24 +246,24 @@ async function installAndVerify(resolutions, genesRoot, stagingRoot, isVerbose)
403
246
  if (hashWarning && isVerbose)
404
247
  display.warn(hashWarning);
405
248
  if (gene.name !== r.name) {
406
- throw new GenomeImportError(`Registry row ${r.cloudId} is '${gene.name}', expected '${r.name}'`);
249
+ throw new genome_format_js_1.GenomeImportError(`Registry row ${r.cloudId} is '${gene.name}', expected '${r.name}'`);
407
250
  }
408
251
  const id = (0, binding_js_1.geneIdV2)(stagingRoot, gene.name);
409
252
  if (!("id" in id)) {
410
- throw new GenomeImportError(`Installed '${gene.name}' has no v2 gene ID: ${id.reason}`);
253
+ throw new genome_format_js_1.GenomeImportError(`Installed '${gene.name}' has no v2 gene ID: ${id.reason}`);
411
254
  }
412
255
  if (isLockMode && id.id !== r.originalGeneId) {
413
- throw new GenomeImportError(`geneId mismatch for role '${r.role}': the Blueprint pins ${r.originalGeneId}, ` +
256
+ throw new genome_format_js_1.GenomeImportError(`geneId mismatch for role '${r.role}': the Blueprint pins ${r.originalGeneId}, ` +
414
257
  `the installed ${r.owner}/${r.name}@${r.version} is ${id.id}`, "The gene's content differs from what the Blueprint was made from; nothing was imported.");
415
258
  }
416
259
  // Exclusion was applied at admission; what was installed must be what was admitted.
417
260
  if (!isLockMode && id.id !== r.candidateGeneId) {
418
- throw new GenomeImportError(`Role '${r.role}': installed ${r.owner}/${r.name}@${r.version} is ${id.id}, not the ${r.candidateGeneId} admitted`, "The Registry row changed between admission and install; nothing was imported.");
261
+ throw new genome_format_js_1.GenomeImportError(`Role '${r.role}': installed ${r.owner}/${r.name}@${r.version} is ${id.id}, not the ${r.candidateGeneId} admitted`, "The Registry row changed between admission and install; nothing was imported.");
419
262
  }
420
263
  if ((0, node_fs_1.existsSync)((0, node_path_1.join)(local, "phenotype.json"))) {
421
264
  const localId = (0, binding_js_1.geneIdV2)(genesRoot, r.name);
422
265
  if (!("id" in localId) || localId.id !== id.id) {
423
- throw new GenomeImportError(`A different gene named '${r.name}' already exists in this workspace`, "Import into another workspace, or move the local gene aside first.");
266
+ throw new genome_format_js_1.GenomeImportError(`A different gene named '${r.name}' already exists in this workspace`, "Import into another workspace, or move the local gene aside first.");
424
267
  }
425
268
  staged.push({ role: r.role, name: r.name, geneId: id.id, stagedDir: null, contentHashCheck });
426
269
  continue;
@@ -429,28 +272,24 @@ async function installAndVerify(resolutions, genesRoot, stagingRoot, isVerbose)
429
272
  }
430
273
  return staged;
431
274
  }
432
- /** sha256 of the composition-relevant part of the Blueprint: same genome, same id. */
433
- function genomeIdOf(blueprint) {
434
- const material = JSON.stringify({ genes: blueprint.snapshot.genes, composition: blueprint.snapshot.composition ?? null });
435
- return (0, node_crypto_1.createHash)("sha256").update(material).digest("hex");
436
- }
437
275
  async function importGenome(file, options, ctx) {
438
276
  if (options.minVg !== undefined)
439
- checkMinVg(options.minVg, "--min-vg");
277
+ (0, genome_format_js_1.checkMinVg)(options.minVg, "--min-vg");
440
278
  if (options.maxEvalAgeDays !== undefined && !(Number.isFinite(options.maxEvalAgeDays) && options.maxEvalAgeDays > 0)) {
441
- throw new GenomeImportError("--max-eval-age must be a positive number of days");
279
+ throw new genome_format_js_1.GenomeImportError("--max-eval-age must be a positive number of days");
442
280
  }
443
281
  let text;
444
282
  try {
445
283
  text = (0, node_fs_1.readFileSync)(file, "utf-8");
446
284
  }
447
285
  catch (err) {
448
- throw new GenomeImportError(`Cannot read ${file}: ${err.message}`);
286
+ throw new genome_format_js_1.GenomeImportError(`Cannot read ${file}: ${err.message}`);
449
287
  }
450
- const { blueprint, plan, suggestedMinVg } = parseBlueprint(text);
288
+ // parseBlueprint computes genomeId before any role is resolved or anything written.
289
+ const { blueprint, plan, genomeId, suggestedMinVg } = (0, genome_format_js_1.parseBlueprint)(text);
451
290
  const agentName = options.name ?? blueprint.metadata?.name;
452
291
  if (typeof agentName !== "string" || agentName === "") {
453
- throw new GenomeImportError("The Blueprint has no metadata.name", "Name the agent: --name <agent>");
292
+ throw new genome_format_js_1.GenomeImportError("The Blueprint has no metadata.name", "Name the agent: --name <agent>");
454
293
  }
455
294
  const agentsDir = (0, node_path_1.join)(ctx.root, ".rotifer", "agents");
456
295
  if ((0, node_fs_1.existsSync)(agentsDir)) {
@@ -458,7 +297,7 @@ async function importGenome(file, options, ctx) {
458
297
  .filter((f) => f.endsWith(".json"))
459
298
  .some((f) => JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(agentsDir, f), "utf-8")).name === agentName);
460
299
  if (isTaken)
461
- throw new GenomeImportError(`An agent named '${agentName}' already exists`, "Pick another: --name <agent>");
300
+ throw new genome_format_js_1.GenomeImportError(`An agent named '${agentName}' already exists`, "Pick another: --name <agent>");
462
301
  }
463
302
  const resolutions = [];
464
303
  for (const role of plan.roles) {
@@ -467,20 +306,21 @@ async function importGenome(file, options, ctx) {
467
306
  }
468
307
  catch (err) {
469
308
  if (err instanceof capability_candidates_js_1.EvidenceError) {
470
- throw new GenomeImportError(`Role '${role}': ${err.message}`, "Capability evidence could not be read; nothing was imported.");
309
+ throw new genome_format_js_1.GenomeImportError(`Role '${role}': ${err.message}`, "Capability evidence could not be read; nothing was imported.");
471
310
  }
472
311
  throw err;
473
312
  }
474
313
  }
475
314
  const names = resolutions.map((r) => r.name);
476
315
  if (new Set(names).size !== names.length) {
477
- throw new GenomeImportError("Two roles resolved to the same gene name; the agent cannot hold both");
316
+ throw new genome_format_js_1.GenomeImportError("Two roles resolved to the same gene name; the agent cannot hold both");
478
317
  }
479
318
  const resolvedAt = (options.now ?? new Date()).toISOString();
480
319
  if (options.isDryRun) {
481
320
  return {
482
321
  ok: true,
483
322
  dryRun: true,
323
+ genomeId,
484
324
  agent: null,
485
325
  composition: plan.type,
486
326
  executionSnapshot: null,
@@ -520,10 +360,11 @@ async function importGenome(file, options, ctx) {
520
360
  return {
521
361
  ok: true,
522
362
  dryRun: false,
363
+ genomeId,
523
364
  agent: { id: agent.id, name: agent.name },
524
365
  composition: plan.type,
525
366
  executionSnapshot: {
526
- genomeId: genomeIdOf(blueprint),
367
+ genomeId,
527
368
  resolvedDeps: Object.fromEntries(staged.map((s) => [s.role, s.geneId])),
528
369
  resolvedAt,
529
370
  status: "ACTIVE",
@@ -537,7 +378,7 @@ function parseNumber(flag, raw) {
537
378
  return undefined;
538
379
  const n = Number(raw);
539
380
  if (raw.trim() === "" || !Number.isFinite(n))
540
- throw new GenomeImportError(`${flag} must be a number, got '${raw}'`);
381
+ throw new genome_format_js_1.GenomeImportError(`${flag} must be a number, got '${raw}'`);
541
382
  return n;
542
383
  }
543
384
  function renderHuman(r) {
@@ -601,9 +442,9 @@ async function runGenomeImport(file, cli, ctx) {
601
442
  return 0;
602
443
  }
603
444
  catch (err) {
604
- if (!(err instanceof GenomeImportError)) {
445
+ if (!(err instanceof genome_format_js_1.GenomeImportError)) {
605
446
  const message = err?.message ?? String(err);
606
- err = new GenomeImportError(message);
447
+ err = new genome_format_js_1.GenomeImportError(message);
607
448
  }
608
449
  const e = err;
609
450
  if (display.isJsonMode()) {
@@ -622,7 +463,7 @@ exports.genomeImportCommand = new commander_1.Command("import")
622
463
  .option("--dry-run", "resolve every role and print the plan; install nothing")
623
464
  .option("--yes", "accept substitutes from other authors without asking")
624
465
  .option("--name <agent>", "name for the new agent (default: the Blueprint's)")
625
- .option("--min-vg <n>", `V(g) threshold for capability picks, in [${genome_js_1.MIN_VG_FLOOR}, 1.0) (default ${exports.DEFAULT_MIN_VG}; the strictest of this, the Blueprint's and the default wins)`)
466
+ .option("--min-vg <n>", `V(g) threshold for capability picks, in [${genome_format_js_1.MIN_VG_FLOOR}, 1.0) (default ${exports.DEFAULT_MIN_VG}; the strictest of this, the Blueprint's and the default wins)`)
626
467
  .option("--max-eval-age <days>", `ignore Arena evidence older than this (default ${exports.DEFAULT_MAX_EVAL_AGE_DAYS})`)
627
468
  .action(async (file, cli) => {
628
469
  const root = (0, project_root_js_1.requireProjectRoot)();
@@ -1 +1 @@
1
- {"version":3,"file":"genome-import.js","sourceRoot":"","sources":["../../src/commands/genome-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"genome-import.js","sourceRoot":"","sources":["../../src/commands/genome-import.ts"],"names":[],"mappings":"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"}