@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.
- package/CHANGELOG.md +45 -0
- package/README.md +2 -2
- package/README.zh.md +2 -2
- package/dist/cloud/capability-candidates.d.ts +2 -0
- package/dist/cloud/capability-candidates.d.ts.map +1 -1
- package/dist/cloud/capability-candidates.js +83 -31
- package/dist/cloud/capability-candidates.js.map +1 -1
- package/dist/cloud/client.d.ts +10 -0
- package/dist/cloud/client.d.ts.map +1 -1
- package/dist/cloud/client.js +41 -2
- package/dist/cloud/client.js.map +1 -1
- package/dist/cloud/types.d.ts +10 -0
- package/dist/cloud/types.d.ts.map +1 -1
- package/dist/cloud/types.js.map +1 -1
- package/dist/commands/agent-run.d.ts.map +1 -1
- package/dist/commands/agent-run.js +13 -4
- package/dist/commands/agent-run.js.map +1 -1
- package/dist/commands/arena-submit.d.ts.map +1 -1
- package/dist/commands/arena-submit.js +48 -10
- package/dist/commands/arena-submit.js.map +1 -1
- package/dist/commands/genome-format.d.ts +180 -0
- package/dist/commands/genome-format.d.ts.map +1 -0
- package/dist/commands/genome-format.js +774 -0
- package/dist/commands/genome-format.js.map +1 -0
- package/dist/commands/genome-import.d.ts +23 -27
- package/dist/commands/genome-import.d.ts.map +1 -1
- package/dist/commands/genome-import.js +91 -250
- package/dist/commands/genome-import.js.map +1 -1
- package/dist/commands/genome.d.ts +7 -138
- package/dist/commands/genome.d.ts.map +1 -1
- package/dist/commands/genome.js +31 -245
- package/dist/commands/genome.js.map +1 -1
- package/dist/utils/fitness-formula.d.ts +75 -17
- package/dist/utils/fitness-formula.d.ts.map +1 -1
- package/dist/utils/fitness-formula.js +97 -22
- package/dist/utils/fitness-formula.js.map +1 -1
- package/dist/utils/run-fuel-ladder.d.ts +6 -3
- package/dist/utils/run-fuel-ladder.d.ts.map +1 -1
- package/dist/utils/run-fuel-ladder.js +6 -3
- package/dist/utils/run-fuel-ladder.js.map +1 -1
- 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.
|
|
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
|
|
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
|
-
|
|
63
|
-
|
|
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
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
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
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
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`,
|
|
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
|
-
|
|
313
|
-
|
|
314
|
-
const
|
|
315
|
-
|
|
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
|
|
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 ??
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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 [${
|
|
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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"}
|