@rotifer/playground 0.28.0 → 0.29.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genome-format.js","sourceRoot":"","sources":["../../src/commands/genome-format.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,11 @@
1
1
  import { Command } from "commander";
2
2
  import { type CandidateEvidence, type CandidateVerdict } from "../cloud/capability-candidates.js";
3
3
  import { type ContentHashCheck } from "./install.js";
4
- import { type GenomeBlueprint, type ResolutionHint } from "./genome.js";
4
+ import { type CompositionPlan, type GenomeBlueprint, type ResolutionHint } from "./genome-format.js";
5
+ export { GenomeImportError, compositionPlan, computeGenomeId, parseBlueprint, type CompositionPlan, type ParsedBlueprint } from "./genome-format.js";
5
6
  /** Recommended V_min of §5.1: the floor every capability selection must clear. */
6
7
  export declare const DEFAULT_MIN_VG = 0.7;
7
8
  export declare const DEFAULT_MAX_EVAL_AGE_DAYS = 90;
8
- export declare class GenomeImportError extends Error {
9
- readonly hint?: string | undefined;
10
- constructor(message: string, hint?: string | undefined);
11
- }
12
- /** What `agent create` needs to rebuild the composition. */
13
- export interface CompositionPlan {
14
- type: "Single" | "Seq" | "Par" | "Cond" | "Try";
15
- /** Roles in execution order (= the agent's genome order). */
16
- roles: string[];
17
- parMerge?: string;
18
- predicate?: {
19
- field: string;
20
- op: string;
21
- value: unknown;
22
- };
23
- }
24
- export interface ParsedBlueprint {
25
- blueprint: GenomeBlueprint;
26
- plan: CompositionPlan;
27
- /** The author's suggested V(g) threshold, if any. */
28
- suggestedMinVg?: number;
29
- }
30
- export declare function compositionPlan(blueprint: GenomeBlueprint): CompositionPlan;
31
- /** Parse a Blueprint, keep only what v0.9.2 can rebuild faithfully, and run the credential scan. */
32
- export declare function parseBlueprint(text: string): ParsedBlueprint;
33
9
  export type RoleMode = "capability" | "pinned" | "fallback";
34
10
  export interface RoleResolution {
35
11
  role: string;
@@ -83,6 +59,8 @@ export declare function resolveRole(role: string, ctx: ResolveContext): Promise<
83
59
  export interface ImportResult {
84
60
  ok: true;
85
61
  dryRun: boolean;
62
+ /** Computed from the Blueprint before anything is resolved or written. */
63
+ genomeId: string;
86
64
  agent: {
87
65
  id: string;
88
66
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"genome-import.d.ts","sourceRoot":"","sources":["../../src/commands/genome-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"genome-import.d.ts","sourceRoot":"","sources":["../../src/commands/genome-import.ts"],"names":[],"mappings":"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"}
@@ -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,25 @@ 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;
190
- }
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
- }
253
- }
254
- }
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`);
267
- }
268
- }
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
65
  function isWrapped(fidelity) {
276
66
  return fidelity.toLowerCase() === "wrapped";
277
67
  }
278
68
  /** Lock mode: the exact author + name + version from the hints. */
279
69
  async function locatePinned(role, hint) {
280
70
  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.");
71
+ throw new genome_format_js_1.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.");
282
72
  }
283
73
  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.");
74
+ 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`, "Drop --pinned so capability mode can look for a Native/Hybrid substitute.");
285
75
  }
286
76
  const same = (a, b) => a.toLowerCase() === b.toLowerCase();
287
77
  if (hint.cloudId) {
@@ -298,7 +88,7 @@ async function locatePinned(role, hint) {
298
88
  const versions = await (0, client_js_1.listGeneVersions)(hint.owner, hint.name);
299
89
  const match = versions.find((v) => v.version === hint.version);
300
90
  if (!match) {
301
- throw new GenomeImportError(`Role '${role}': ${hint.owner}/${hint.name}@${hint.version} is not in the Registry (unpublished, or never published)`);
91
+ 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
92
  }
303
93
  return { cloudId: match.id };
304
94
  }
@@ -306,11 +96,16 @@ async function locatePinned(role, hint) {
306
96
  function effectiveMinVg(suggested, local) {
307
97
  return Math.max(exports.DEFAULT_MIN_VG, suggested ?? 0, local ?? 0);
308
98
  }
99
+ function ownEntry(map, key) {
100
+ return map !== undefined && Object.hasOwn(map, key) ? map[key] : undefined;
101
+ }
309
102
  async function resolveRole(role, ctx) {
310
103
  const { blueprint, options } = ctx;
311
104
  const ref = blueprint.snapshot.genes.find((g) => g.role === role);
312
- const hint = blueprint.resolutionHints?.[role];
313
- const query = blueprint.capabilities?.[role];
105
+ // Own entries only: a role may be named "toString" or "__proto__", and a plain
106
+ // lookup would return the inherited member instead of "no entry".
107
+ const hint = ownEntry(blueprint.resolutionHints, role);
108
+ const query = ownEntry(blueprint.capabilities, role);
314
109
  const pinned = async (mode, extra = {}) => {
315
110
  const { cloudId } = await locatePinned(role, hint);
316
111
  return {
@@ -330,7 +125,7 @@ async function resolveRole(role, ctx) {
330
125
  if (options.isPinned || !query)
331
126
  return pinned("pinned");
332
127
  const policy = {
333
- minFitness: query.minFitness ?? genome_js_1.DEFAULT_MIN_FITNESS,
128
+ minFitness: query.minFitness ?? genome_format_js_1.DEFAULT_MIN_FITNESS,
334
129
  minVg: effectiveMinVg(ctx.suggestedMinVg, options.minVg),
335
130
  maxEvalAgeDays: options.maxEvalAgeDays ?? exports.DEFAULT_MAX_EVAL_AGE_DAYS,
336
131
  now: options.now ?? new Date(),
@@ -403,24 +198,24 @@ async function installAndVerify(resolutions, genesRoot, stagingRoot, isVerbose)
403
198
  if (hashWarning && isVerbose)
404
199
  display.warn(hashWarning);
405
200
  if (gene.name !== r.name) {
406
- throw new GenomeImportError(`Registry row ${r.cloudId} is '${gene.name}', expected '${r.name}'`);
201
+ throw new genome_format_js_1.GenomeImportError(`Registry row ${r.cloudId} is '${gene.name}', expected '${r.name}'`);
407
202
  }
408
203
  const id = (0, binding_js_1.geneIdV2)(stagingRoot, gene.name);
409
204
  if (!("id" in id)) {
410
- throw new GenomeImportError(`Installed '${gene.name}' has no v2 gene ID: ${id.reason}`);
205
+ throw new genome_format_js_1.GenomeImportError(`Installed '${gene.name}' has no v2 gene ID: ${id.reason}`);
411
206
  }
412
207
  if (isLockMode && id.id !== r.originalGeneId) {
413
- throw new GenomeImportError(`geneId mismatch for role '${r.role}': the Blueprint pins ${r.originalGeneId}, ` +
208
+ throw new genome_format_js_1.GenomeImportError(`geneId mismatch for role '${r.role}': the Blueprint pins ${r.originalGeneId}, ` +
414
209
  `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
210
  }
416
211
  // Exclusion was applied at admission; what was installed must be what was admitted.
417
212
  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.");
213
+ 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
214
  }
420
215
  if ((0, node_fs_1.existsSync)((0, node_path_1.join)(local, "phenotype.json"))) {
421
216
  const localId = (0, binding_js_1.geneIdV2)(genesRoot, r.name);
422
217
  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.");
218
+ 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
219
  }
425
220
  staged.push({ role: r.role, name: r.name, geneId: id.id, stagedDir: null, contentHashCheck });
426
221
  continue;
@@ -429,28 +224,24 @@ async function installAndVerify(resolutions, genesRoot, stagingRoot, isVerbose)
429
224
  }
430
225
  return staged;
431
226
  }
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
227
  async function importGenome(file, options, ctx) {
438
228
  if (options.minVg !== undefined)
439
- checkMinVg(options.minVg, "--min-vg");
229
+ (0, genome_format_js_1.checkMinVg)(options.minVg, "--min-vg");
440
230
  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");
231
+ throw new genome_format_js_1.GenomeImportError("--max-eval-age must be a positive number of days");
442
232
  }
443
233
  let text;
444
234
  try {
445
235
  text = (0, node_fs_1.readFileSync)(file, "utf-8");
446
236
  }
447
237
  catch (err) {
448
- throw new GenomeImportError(`Cannot read ${file}: ${err.message}`);
238
+ throw new genome_format_js_1.GenomeImportError(`Cannot read ${file}: ${err.message}`);
449
239
  }
450
- const { blueprint, plan, suggestedMinVg } = parseBlueprint(text);
240
+ // parseBlueprint computes genomeId before any role is resolved or anything written.
241
+ const { blueprint, plan, genomeId, suggestedMinVg } = (0, genome_format_js_1.parseBlueprint)(text);
451
242
  const agentName = options.name ?? blueprint.metadata?.name;
452
243
  if (typeof agentName !== "string" || agentName === "") {
453
- throw new GenomeImportError("The Blueprint has no metadata.name", "Name the agent: --name <agent>");
244
+ throw new genome_format_js_1.GenomeImportError("The Blueprint has no metadata.name", "Name the agent: --name <agent>");
454
245
  }
455
246
  const agentsDir = (0, node_path_1.join)(ctx.root, ".rotifer", "agents");
456
247
  if ((0, node_fs_1.existsSync)(agentsDir)) {
@@ -458,7 +249,7 @@ async function importGenome(file, options, ctx) {
458
249
  .filter((f) => f.endsWith(".json"))
459
250
  .some((f) => JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(agentsDir, f), "utf-8")).name === agentName);
460
251
  if (isTaken)
461
- throw new GenomeImportError(`An agent named '${agentName}' already exists`, "Pick another: --name <agent>");
252
+ throw new genome_format_js_1.GenomeImportError(`An agent named '${agentName}' already exists`, "Pick another: --name <agent>");
462
253
  }
463
254
  const resolutions = [];
464
255
  for (const role of plan.roles) {
@@ -467,20 +258,21 @@ async function importGenome(file, options, ctx) {
467
258
  }
468
259
  catch (err) {
469
260
  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.");
261
+ throw new genome_format_js_1.GenomeImportError(`Role '${role}': ${err.message}`, "Capability evidence could not be read; nothing was imported.");
471
262
  }
472
263
  throw err;
473
264
  }
474
265
  }
475
266
  const names = resolutions.map((r) => r.name);
476
267
  if (new Set(names).size !== names.length) {
477
- throw new GenomeImportError("Two roles resolved to the same gene name; the agent cannot hold both");
268
+ throw new genome_format_js_1.GenomeImportError("Two roles resolved to the same gene name; the agent cannot hold both");
478
269
  }
479
270
  const resolvedAt = (options.now ?? new Date()).toISOString();
480
271
  if (options.isDryRun) {
481
272
  return {
482
273
  ok: true,
483
274
  dryRun: true,
275
+ genomeId,
484
276
  agent: null,
485
277
  composition: plan.type,
486
278
  executionSnapshot: null,
@@ -520,10 +312,11 @@ async function importGenome(file, options, ctx) {
520
312
  return {
521
313
  ok: true,
522
314
  dryRun: false,
315
+ genomeId,
523
316
  agent: { id: agent.id, name: agent.name },
524
317
  composition: plan.type,
525
318
  executionSnapshot: {
526
- genomeId: genomeIdOf(blueprint),
319
+ genomeId,
527
320
  resolvedDeps: Object.fromEntries(staged.map((s) => [s.role, s.geneId])),
528
321
  resolvedAt,
529
322
  status: "ACTIVE",
@@ -537,7 +330,7 @@ function parseNumber(flag, raw) {
537
330
  return undefined;
538
331
  const n = Number(raw);
539
332
  if (raw.trim() === "" || !Number.isFinite(n))
540
- throw new GenomeImportError(`${flag} must be a number, got '${raw}'`);
333
+ throw new genome_format_js_1.GenomeImportError(`${flag} must be a number, got '${raw}'`);
541
334
  return n;
542
335
  }
543
336
  function renderHuman(r) {
@@ -601,9 +394,9 @@ async function runGenomeImport(file, cli, ctx) {
601
394
  return 0;
602
395
  }
603
396
  catch (err) {
604
- if (!(err instanceof GenomeImportError)) {
397
+ if (!(err instanceof genome_format_js_1.GenomeImportError)) {
605
398
  const message = err?.message ?? String(err);
606
- err = new GenomeImportError(message);
399
+ err = new genome_format_js_1.GenomeImportError(message);
607
400
  }
608
401
  const e = err;
609
402
  if (display.isJsonMode()) {
@@ -622,7 +415,7 @@ exports.genomeImportCommand = new commander_1.Command("import")
622
415
  .option("--dry-run", "resolve every role and print the plan; install nothing")
623
416
  .option("--yes", "accept substitutes from other authors without asking")
624
417
  .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)`)
418
+ .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
419
  .option("--max-eval-age <days>", `ignore Arena evidence older than this (default ${exports.DEFAULT_MAX_EVAL_AGE_DAYS})`)
627
420
  .action(async (file, cli) => {
628
421
  const root = (0, project_root_js_1.requireProjectRoot)();