@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
@@ -1,95 +1,7 @@
1
1
  import { Command } from "commander";
2
2
  import type { AgentRecord } from "./agent-create.js";
3
- /** Blueprint format number; an importer refuses a larger one. */
4
- export declare const BLUEPRINT_FORMAT = 1;
5
- /** Protocol version whose Blueprint layout this command writes. */
6
- export declare const BLUEPRINT_PROTOCOL_VERSION: {
7
- readonly major: 0;
8
- readonly minor: 9;
9
- readonly patch: 2;
10
- };
11
- /** Default `minFitness` for a CapabilityQuery: the recommended τ of §5.1. */
12
- export declare const DEFAULT_MIN_FITNESS = 0.3;
13
- /** §5.1: V_min MUST lie in [0.5, 1.0). */
14
- export declare const MIN_VG_FLOOR = 0.5;
15
- /** Key under `bindingExtensions` for semantics only this binding defines. */
16
- export declare const BINDING_NAME = "rotifer-playground";
17
- export declare const GENE_ID_V2: RegExp;
18
- export interface GeneReference {
19
- geneId: string;
20
- role: string;
21
- optional: boolean;
22
- }
23
- export type CompareOp = "EQ" | "NEQ" | "GT" | "GTE" | "LT" | "LTE" | "CONTAINS" | "MATCHES";
24
- export interface Predicate {
25
- field: string;
26
- operator: CompareOp;
27
- value: unknown;
28
- }
29
- /** §15.2 AlgebraExpr, externally tagged. v0.9.2 never writes RemoteGene. */
30
- export type AlgebraExpr = {
31
- Gene: {
32
- geneRef: GeneReference;
33
- };
34
- } | {
35
- Seq: {
36
- steps: AlgebraExpr[];
37
- };
38
- } | {
39
- Par: {
40
- left: AlgebraExpr;
41
- right: AlgebraExpr;
42
- };
43
- } | {
44
- Cond: {
45
- predicate: Predicate;
46
- ifTrue: AlgebraExpr;
47
- ifFalse: AlgebraExpr;
48
- };
49
- } | {
50
- TryCatch: {
51
- body: AlgebraExpr;
52
- handler: AlgebraExpr;
53
- };
54
- };
55
- export interface GenomeSnapshot {
56
- genes: GeneReference[];
57
- composition?: AlgebraExpr;
58
- snapshotAt: string;
59
- }
60
- export interface CapabilityQuery {
61
- domain: string;
62
- inputSchemaCompat: unknown;
63
- outputSchemaCompat: unknown;
64
- minFitness: number;
65
- excludeGeneIds?: string[];
66
- }
67
- export interface ResolutionHint {
68
- owner: string;
69
- name: string;
70
- version: string;
71
- cloudId?: string;
72
- fidelity: string;
73
- }
74
- export interface GenomeBlueprint {
75
- blueprintFormat: number;
76
- protocolVersion: {
77
- major: number;
78
- minor: number;
79
- patch: number;
80
- supportedFeatures: string[];
81
- };
82
- snapshot: GenomeSnapshot;
83
- metadata: {
84
- name: string;
85
- description?: string;
86
- author?: string;
87
- createdAt: string;
88
- };
89
- capabilities?: Record<string, CapabilityQuery>;
90
- resolutionHints?: Record<string, ResolutionHint>;
91
- bindingExtensions?: Record<string, Record<string, unknown>>;
92
- }
3
+ import { type AlgebraExpr, type CredentialFinding, type CredentialLayer, type GeneReference, type GenomeBlueprint } from "./genome-format.js";
4
+ export * from "./genome-format.js";
93
5
  export interface RoleSummary {
94
6
  role: string;
95
7
  geneId: string;
@@ -103,8 +15,6 @@ export declare class GenomeExportError extends Error {
103
15
  }
104
16
  /** Find a local agent by id, or by name when the name is unique. */
105
17
  export declare function findAgent(root: string, ref: string): AgentRecord;
106
- /** Rust executor CompareOp (what `agent run` accepts) → §15.2 CompareOp. */
107
- export declare const COMPARE_OPS: Readonly<Record<string, CompareOp>>;
108
18
  /** Composition type exactly as `agent run` derives it. */
109
19
  export declare function compositionTypeOf(agent: AgentRecord): string;
110
20
  /**
@@ -133,51 +43,6 @@ export interface BuildBlueprintResult {
133
43
  notices: string[];
134
44
  }
135
45
  export declare function buildBlueprint(input: BuildBlueprintInput): BuildBlueprintResult;
136
- export type CredentialLayer = "key-name" | "value-pattern" | "entropy";
137
- export interface CredentialFinding {
138
- pointer: string;
139
- layer: CredentialLayer;
140
- rule: string;
141
- }
142
- /** Field names that hold a credential. Matched after lower-casing and dropping `_`/`-`, as the whole name or its suffix. */
143
- export declare const CREDENTIAL_KEY_NAMES: readonly string[];
144
- export declare const BARE_HEX_RULE = "Bare 32-byte hex key";
145
- /** Shannon entropy in bits per character. */
146
- export declare function shannonEntropy(s: string): number;
147
- export interface ScanOptions {
148
- /** Positions that may hold a 64-hex hash; only the bare-hex rule is lifted there. */
149
- isHexExempt?: (pointer: string, value: string) => boolean;
150
- /** Positions whose strings must not look like code. */
151
- isCodeForbidden?: (pointer: string) => boolean;
152
- }
153
- /**
154
- * Scan any JSON value.
155
- *
156
- * Pointers are built for humans to find the problem, so they must not become
157
- * the leak: an object key that itself looks like a credential is replaced by
158
- * `<redacted key #i>` (i = its position among that object's keys) in its own
159
- * pointer and in every pointer below it.
160
- */
161
- export declare function scanForCredentials(doc: unknown, options?: ScanOptions): CredentialFinding[];
162
- /**
163
- * Scan a Blueprint. The bare-hex rule is lifted only where a gene ID belongs,
164
- * and only for a value shaped like one (`v2:` + 64 lowercase hex):
165
- * `/snapshot/genes/N/geneId`, `/capabilities/ROLE/excludeGeneIds/N`, and a
166
- * composition leaf's `geneRef/geneId` when it repeats an ID from
167
- * `snapshot.genes`. The same hex anywhere else is blocked. Strings under
168
- * `bindingExtensions` must not look like code.
169
- */
170
- export interface ScanBlueprintOptions {
171
- /**
172
- * Import only: the structural check that runs right after the scan refuses a
173
- * composition leaf whose geneId is not in snapshot.genes, and its message
174
- * names the role, never the ID. So at import a v2-shaped leaf ID is exempt
175
- * from the bare-hex rule whether or not it is listed, and the leaf is then
176
- * refused for what it is. Export keeps the strict rule.
177
- */
178
- isLeafIdCheckedStructurally?: boolean;
179
- }
180
- export declare function scanBlueprint(blueprint: GenomeBlueprint, options?: ScanBlueprintOptions): CredentialFinding[];
181
46
  export interface ExportGenomeInput extends BuildBlueprintInput {
182
47
  output: string;
183
48
  }
@@ -194,7 +59,11 @@ export interface ExportGenomeResult {
194
59
  layers: CredentialLayer[];
195
60
  };
196
61
  }
197
- /** Build, scan, and write a Blueprint. Nothing is written when the scan finds anything. */
62
+ /**
63
+ * Build, scan, and write a Blueprint. Nothing is written when the scan finds
64
+ * anything, or when this CLI's own import would refuse the file: the reader's
65
+ * rules (Cond forms, numbers, strings, required fields) run on the exact text.
66
+ */
198
67
  export declare function exportGenome(input: ExportGenomeInput): ExportGenomeResult;
199
68
  export interface GenomeExportOptions {
200
69
  output?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"genome.d.ts","sourceRoot":"","sources":["../../src/commands/genome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"genome.d.ts","sourceRoot":"","sources":["../../src/commands/genome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAWL,KAAK,WAAW,EAEhB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EAErB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,oBAAoB,CAAC;AAEnC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAGxC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE;gBAFvC,OAAO,EAAE,MAAM,EACN,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,QAAQ,CAAC,EAAE,iBAAiB,EAAE,YAAA;CAK1C;AAID,oEAAoE;AACpE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CAoBhE;AAUD,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAI5D;AAUD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,aAAa,EAAE,GACpB;IAAE,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CA6CjD;AAID,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AA0BD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAoI/E;AAID,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;CAC7D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CA+BzE;AAID,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAsBD,0DAA0D;AAC1D,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,mBAAmB,EAC5B,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD,MAAM,CAoCR;AAiBD,eAAO,MAAM,aAAa,SAEQ,CAAC"}
@@ -32,15 +32,15 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.genomeCommand = exports.BARE_HEX_RULE = exports.CREDENTIAL_KEY_NAMES = exports.COMPARE_OPS = exports.GenomeExportError = exports.GENE_ID_V2 = exports.BINDING_NAME = exports.MIN_VG_FLOOR = exports.DEFAULT_MIN_FITNESS = exports.BLUEPRINT_PROTOCOL_VERSION = exports.BLUEPRINT_FORMAT = void 0;
39
+ exports.genomeCommand = exports.GenomeExportError = void 0;
37
40
  exports.findAgent = findAgent;
38
41
  exports.compositionTypeOf = compositionTypeOf;
39
42
  exports.buildComposition = buildComposition;
40
43
  exports.buildBlueprint = buildBlueprint;
41
- exports.shannonEntropy = shannonEntropy;
42
- exports.scanForCredentials = scanForCredentials;
43
- exports.scanBlueprint = scanBlueprint;
44
44
  exports.exportGenome = exportGenome;
45
45
  exports.runGenomeExport = runGenomeExport;
46
46
  const commander_1 = require("commander");
@@ -52,23 +52,8 @@ const project_root_js_1 = require("../utils/project-root.js");
52
52
  const binding_js_1 = require("../utils/binding.js");
53
53
  const validate_gene_name_js_1 = require("../utils/validate-gene-name.js");
54
54
  const auth_js_1 = require("../cloud/auth.js");
55
- const pre_publish_check_js_1 = require("../publish/pre-publish-check.js");
56
- // ── Genome Blueprint format (.rgenome) ───────────────────────
57
- //
58
- // A Blueprint describes an agent's genome so someone else can rebuild it: the
59
- // spec's GenomeSnapshot (§25.1) plus how to find each gene again. It carries
60
- // references and public fields only — never gene code or WASM (§10.4.1).
61
- /** Blueprint format number; an importer refuses a larger one. */
62
- exports.BLUEPRINT_FORMAT = 1;
63
- /** Protocol version whose Blueprint layout this command writes. */
64
- exports.BLUEPRINT_PROTOCOL_VERSION = { major: 0, minor: 9, patch: 2 };
65
- /** Default `minFitness` for a CapabilityQuery: the recommended τ of §5.1. */
66
- exports.DEFAULT_MIN_FITNESS = 0.3;
67
- /** §5.1: V_min MUST lie in [0.5, 1.0). */
68
- exports.MIN_VG_FLOOR = 0.5;
69
- /** Key under `bindingExtensions` for semantics only this binding defines. */
70
- exports.BINDING_NAME = "rotifer-playground";
71
- exports.GENE_ID_V2 = /^v2:[0-9a-f]{64}$/;
55
+ const genome_format_js_1 = require("./genome-format.js");
56
+ __exportStar(require("./genome-format.js"), exports);
72
57
  class GenomeExportError extends Error {
73
58
  hint;
74
59
  findings;
@@ -100,18 +85,6 @@ function findAgent(root, ref) {
100
85
  }
101
86
  throw new GenomeExportError(`Agent '${ref}' not found`, "List local agents: rotifer agent list");
102
87
  }
103
- // ── Composition ──────────────────────────────────────────────
104
- /** Rust executor CompareOp (what `agent run` accepts) → §15.2 CompareOp. */
105
- exports.COMPARE_OPS = {
106
- Eq: "EQ",
107
- Neq: "NEQ",
108
- Gt: "GT",
109
- Gte: "GTE",
110
- Lt: "LT",
111
- Lte: "LTE",
112
- Contains: "CONTAINS",
113
- Matches: "MATCHES",
114
- };
115
88
  /** Composition type exactly as `agent run` derives it. */
116
89
  function compositionTypeOf(agent) {
117
90
  const comp = agent.composition;
@@ -156,9 +129,9 @@ function buildComposition(agent, refs) {
156
129
  // Same defaults `agent run` applies to a missing predicate.
157
130
  const pred = comp.predicate ?? {};
158
131
  const op = pred.op || "Eq";
159
- const operator = exports.COMPARE_OPS[op];
132
+ const operator = Object.hasOwn(genome_format_js_1.COMPARE_OPS, op) ? genome_format_js_1.COMPARE_OPS[op] : undefined;
160
133
  if (!operator) {
161
- throw outsideSubset(type, `unknown predicate operator '${op}' (expected one of ${Object.keys(exports.COMPARE_OPS).join(", ")})`);
134
+ throw outsideSubset(type, `unknown predicate operator '${op}' (expected one of ${Object.keys(genome_format_js_1.COMPARE_OPS).join(", ")})`);
162
135
  }
163
136
  return {
164
137
  composition: {
@@ -209,8 +182,8 @@ function buildBlueprint(input) {
209
182
  const notices = [];
210
183
  checkUnitInterval("--min-fitness", input.minFitness);
211
184
  if (input.minVg !== undefined) {
212
- if (!Number.isFinite(input.minVg) || input.minVg < exports.MIN_VG_FLOOR || input.minVg >= 1) {
213
- throw new GenomeExportError(`--min-vg must be in [${exports.MIN_VG_FLOOR}, 1.0)`, "§5.1 does not allow a V(g) threshold below 0.5.");
185
+ if (!Number.isFinite(input.minVg) || input.minVg < genome_format_js_1.MIN_VG_FLOOR || input.minVg >= 1) {
186
+ throw new GenomeExportError(`--min-vg must be in [${genome_format_js_1.MIN_VG_FLOOR}, 1.0)`, "§5.1 does not allow a V(g) threshold below 0.5.");
214
187
  }
215
188
  }
216
189
  if (!Array.isArray(agent.genome) || agent.genome.length === 0) {
@@ -243,7 +216,7 @@ function buildBlueprint(input) {
243
216
  if (!("id" in idResult)) {
244
217
  throw new GenomeExportError(`Gene '${gene}' has no v2 gene ID: ${idResult.reason}`, hintForUncomputableId(gene, idResult.reason));
245
218
  }
246
- if (!exports.GENE_ID_V2.test(idResult.id)) {
219
+ if (!genome_format_js_1.GENE_ID_V2.test(idResult.id)) {
247
220
  throw new GenomeExportError(`Gene '${gene}' got a malformed v2 gene ID from the native module`);
248
221
  }
249
222
  refs.push({ geneId: idResult.id, role: gene, optional: false });
@@ -255,7 +228,7 @@ function buildBlueprint(input) {
255
228
  domain: phenotype.domain,
256
229
  inputSchemaCompat: phenotype.inputSchema ?? {},
257
230
  outputSchemaCompat: phenotype.outputSchema ?? {},
258
- minFitness: input.minFitness ?? exports.DEFAULT_MIN_FITNESS,
231
+ minFitness: input.minFitness ?? genome_format_js_1.DEFAULT_MIN_FITNESS,
259
232
  };
260
233
  }
261
234
  else {
@@ -295,8 +268,8 @@ function buildBlueprint(input) {
295
268
  extension.minVg = input.minVg;
296
269
  const now = (input.now ?? new Date()).toISOString();
297
270
  const blueprint = {
298
- blueprintFormat: exports.BLUEPRINT_FORMAT,
299
- protocolVersion: { ...exports.BLUEPRINT_PROTOCOL_VERSION, supportedFeatures: ["GENE_COMPOSITION_ALGEBRA"] },
271
+ blueprintFormat: genome_format_js_1.BLUEPRINT_FORMAT,
272
+ protocolVersion: { ...genome_format_js_1.BLUEPRINT_PROTOCOL_VERSION, supportedFeatures: ["GENE_COMPOSITION_ALGEBRA"] },
300
273
  snapshot: { genes: refs, composition, snapshotAt: now },
301
274
  metadata: {
302
275
  name: agent.name,
@@ -306,218 +279,31 @@ function buildBlueprint(input) {
306
279
  },
307
280
  ...(Object.keys(capabilities).length > 0 ? { capabilities } : {}),
308
281
  ...(Object.keys(hints).length > 0 ? { resolutionHints: hints } : {}),
309
- ...(Object.keys(extension).length > 0 ? { bindingExtensions: { [exports.BINDING_NAME]: extension } } : {}),
282
+ ...(Object.keys(extension).length > 0 ? { bindingExtensions: { [genome_format_js_1.BINDING_NAME]: extension } } : {}),
310
283
  };
311
284
  return { blueprint, roles, notices };
312
285
  }
313
- /** Field names that hold a credential. Matched after lower-casing and dropping `_`/`-`, as the whole name or its suffix. */
314
- exports.CREDENTIAL_KEY_NAMES = [
315
- "apiKey",
316
- "password",
317
- "privateKey",
318
- "secret",
319
- "token",
320
- "bearer",
321
- "accessToken",
322
- "clientSecret",
323
- "refreshToken",
324
- "oauth_token",
325
- "aws_secret_access_key",
326
- "stripe_secret_key",
327
- ];
328
- const NORMALIZED_KEY_NAMES = exports.CREDENTIAL_KEY_NAMES.map(normalizeKey);
329
- function normalizeKey(key) {
330
- return key.toLowerCase().replace(/[^a-z0-9]/g, "");
331
- }
332
- function isCredentialKeyName(key) {
333
- const k = normalizeKey(key);
334
- return NORMALIZED_KEY_NAMES.some((name) => k === name || k.endsWith(name));
335
- }
336
- /** A bare 32-byte key in hex: exactly 64 hex characters, optionally `0x`-prefixed. */
337
- const BARE_HEX_KEY = /(?<![0-9A-Fa-f])(?:0x)?[0-9A-Fa-f]{64}(?![0-9A-Fa-f])/;
338
- /** A `/`-separated run of plain words ("docs/protocol/genome") — prose, not key material. */
339
- const PATH_WORD = /^[A-Za-z][a-z]*[0-9]*$/;
340
- function isPathLike(run) {
341
- const segments = run.split("/");
342
- return segments.length >= 2 && segments.every((s) => s.length >= 2 && PATH_WORD.test(s));
343
- }
344
286
  /**
345
- * A bare 32- or 64-byte key in Base64 outside a PEM block: a Base64 run of
346
- * 43–44 or 86–88 characters that also looks random. Letters and `/` are in the
347
- * Base64 alphabet, so length and charset alone also catch path text; random
348
- * key material is told apart by its entropy (over 200,000 random keys the
349
- * lowest seen was 4.24 bits/char at 32 bytes and 4.88 at 64; one million of
350
- * each all still matched this rule) and by not splitting into plain words on `/`.
287
+ * Build, scan, and write a Blueprint. Nothing is written when the scan finds
288
+ * anything, or when this CLI's own import would refuse the file: the reader's
289
+ * rules (Cond forms, numbers, strings, required fields) run on the exact text.
351
290
  */
352
- function hasBareBase64Key(value) {
353
- for (const run of value.match(/[A-Za-z0-9+/=]+/g) ?? []) {
354
- const body = run.replace(/={1,2}$/, "");
355
- if (body.includes("="))
356
- continue;
357
- const len = run.length;
358
- const isKey32 = len >= 43 && len <= 44;
359
- const isKey64 = len >= 86 && len <= 88;
360
- if (!isKey32 && !isKey64)
361
- continue;
362
- if (shannonEntropy(body) < (isKey32 ? 4.0 : 4.5))
363
- continue;
364
- if (isPathLike(body))
365
- continue;
366
- return true;
367
- }
368
- return false;
369
- }
370
- exports.BARE_HEX_RULE = "Bare 32-byte hex key";
371
- const BARE_BASE64_RULE = "Bare Base64 key (32/64 bytes)";
372
- /** Shannon entropy in bits per character. */
373
- function shannonEntropy(s) {
374
- if (s.length === 0)
375
- return 0;
376
- const counts = new Map();
377
- for (const ch of s)
378
- counts.set(ch, (counts.get(ch) ?? 0) + 1);
379
- let bits = 0;
380
- for (const n of counts.values()) {
381
- const p = n / s.length;
382
- bits -= p * Math.log2(p);
383
- }
384
- return bits;
385
- }
386
- const ENTROPY_THRESHOLD = 4.5;
387
- const ENTROPY_MIN_LENGTH = 20;
388
- /** RFC 6901 escaping of one reference token. */
389
- function pointerToken(key) {
390
- return key.replace(/~/g, "~0").replace(/\//g, "~1");
391
- }
392
- /**
393
- * Scan one string. `isHexExempt` lifts only the bare-hex rule — for fields that
394
- * legitimately hold a hash; every other rule still applies.
395
- */
396
- function scanString(value, pointer, isHexExempt, out) {
397
- for (const { label, pattern } of pre_publish_check_js_1.SENSITIVE_PATTERNS) {
398
- if (pattern.test(value))
399
- out.push({ pointer, layer: "value-pattern", rule: label });
400
- }
401
- if (!isHexExempt && BARE_HEX_KEY.test(value)) {
402
- out.push({ pointer, layer: "value-pattern", rule: exports.BARE_HEX_RULE });
403
- }
404
- if (hasBareBase64Key(value))
405
- out.push({ pointer, layer: "value-pattern", rule: BARE_BASE64_RULE });
406
- // Per run of printable ASCII: credentials are printable ASCII, so whitespace
407
- // and any other character end a token. Prose does not add up to a hit, and
408
- // text without spaces — Chinese, or ASCII words joined by symbols like "≥" —
409
- // is not one long high-entropy token; a key glued to such text is still
410
- // judged on its own. Hex tops out at 4.0 bits/char and never trips this —
411
- // the hex rule above covers it.
412
- for (const token of value.match(/[\x21-\x7e]+/g) ?? []) {
413
- if (token.length > ENTROPY_MIN_LENGTH && shannonEntropy(token) > ENTROPY_THRESHOLD) {
414
- out.push({ pointer, layer: "entropy", rule: `High-entropy string (> ${ENTROPY_THRESHOLD} bits/char)` });
415
- break;
416
- }
417
- }
418
- }
419
- /** A number array of key length (32 or 64 entries, each a byte) — key material stored as bytes. */
420
- function isKeyLengthByteArray(node) {
421
- return (node.length === 32 || node.length === 64) && node.every((n) => Number.isInteger(n) && n >= 0 && n <= 255);
422
- }
423
- const BYTE_ARRAY_RULE = "Byte array of key length (32/64)";
424
- /** A value a credential-named field could hold: a non-empty string, a number, or a list of those. */
425
- function holdsCredentialValue(value) {
426
- if (typeof value === "string")
427
- return value.trim() !== "";
428
- if (typeof value === "number")
429
- return Number.isFinite(value);
430
- return Array.isArray(value) && value.length > 0 && value.every((v) => typeof v === "number" || typeof v === "string");
431
- }
432
- /**
433
- * Code a Blueprint must not carry (it holds references and public fields only).
434
- * Checked only where free-form binding data lives, so prose like "calls the
435
- * function" in a description is not mistaken for code.
436
- */
437
- const CODE_SHAPE = /\breturn\b[^;\n]*;|=>|\bfunction\b\s*[\w$]*\s*\(|\b(?:eval|require|Function|setTimeout|setInterval|fetch)\s*\(|<script\b|^\s*import\s|\bmodule\.exports\b/;
438
- const CODE_RULE = "Code in extension field";
439
- /**
440
- * Scan any JSON value.
441
- *
442
- * Pointers are built for humans to find the problem, so they must not become
443
- * the leak: an object key that itself looks like a credential is replaced by
444
- * `<redacted key #i>` (i = its position among that object's keys) in its own
445
- * pointer and in every pointer below it.
446
- */
447
- function scanForCredentials(doc, options = {}) {
448
- const isHexExempt = options.isHexExempt ?? (() => false);
449
- const isCodeForbidden = options.isCodeForbidden ?? (() => false);
450
- const out = [];
451
- const walk = (node, pointer) => {
452
- if (typeof node === "string") {
453
- scanString(node, pointer, isHexExempt(pointer, node), out);
454
- if (isCodeForbidden(pointer) && CODE_SHAPE.test(node))
455
- out.push({ pointer, layer: "value-pattern", rule: CODE_RULE });
456
- return;
457
- }
458
- if (Array.isArray(node)) {
459
- if (isKeyLengthByteArray(node))
460
- out.push({ pointer, layer: "value-pattern", rule: BYTE_ARRAY_RULE });
461
- node.forEach((item, i) => walk(item, `${pointer}/${i}`));
462
- return;
463
- }
464
- if (node === null || typeof node !== "object")
465
- return;
466
- Object.entries(node).forEach(([key, value], index) => {
467
- // Map keys (roles, schema properties, extension names) are content too.
468
- const keyFindings = [];
469
- scanString(key, "", false, keyFindings);
470
- const isSecretKey = keyFindings.length > 0;
471
- const token = isSecretKey ? `<redacted key #${index}>` : pointerToken(key);
472
- const child = `${pointer}/${token}`;
473
- for (const f of keyFindings)
474
- out.push({ ...f, pointer: child });
475
- // A key that names a credential only counts when it holds one: a schema
476
- // declaring an `apiKey` parameter (an object) is not a leak.
477
- if (isCredentialKeyName(key) && holdsCredentialValue(value)) {
478
- out.push({ pointer: child, layer: "key-name", rule: `Credential field name ${isSecretKey ? token : `'${key}'`}` });
479
- }
480
- walk(value, child);
481
- });
482
- };
483
- walk(doc, "");
484
- const seen = new Set();
485
- return out.filter((f) => {
486
- const id = `${f.pointer}\u0000${f.layer}\u0000${f.rule}`;
487
- if (seen.has(id))
488
- return false;
489
- seen.add(id);
490
- return true;
491
- });
492
- }
493
- const GENES_GENE_ID = /^\/snapshot\/genes\/\d+\/geneId$/;
494
- const EXCLUDED_GENE_ID = /^\/capabilities\/[^/]+\/excludeGeneIds\/\d+$/;
495
- const COMPOSITION_GENE_ID = /^\/snapshot\/composition(?:\/[^/]+)*\/geneRef\/geneId$/;
496
- function scanBlueprint(blueprint, options = {}) {
497
- // Also called on unvalidated import input, so nothing about its shape is assumed.
498
- const genes = blueprint?.snapshot?.genes;
499
- const listed = new Set((Array.isArray(genes) ? genes : [])
500
- .map((g) => (typeof g === "object" && g !== null ? g.geneId : undefined))
501
- .filter((id) => typeof id === "string" && exports.GENE_ID_V2.test(id)));
502
- return scanForCredentials(blueprint, {
503
- isHexExempt: (pointer, value) => {
504
- if (!exports.GENE_ID_V2.test(value))
505
- return false;
506
- if (GENES_GENE_ID.test(pointer) || EXCLUDED_GENE_ID.test(pointer))
507
- return true;
508
- return COMPOSITION_GENE_ID.test(pointer) && (options.isLeafIdCheckedStructurally || listed.has(value));
509
- },
510
- isCodeForbidden: (pointer) => pointer.startsWith("/bindingExtensions/"),
511
- });
512
- }
513
- /** Build, scan, and write a Blueprint. Nothing is written when the scan finds anything. */
514
291
  function exportGenome(input) {
515
292
  const { blueprint, roles, notices } = buildBlueprint(input);
516
- const findings = scanBlueprint(blueprint);
293
+ const findings = (0, genome_format_js_1.scanBlueprint)(blueprint);
517
294
  if (findings.length > 0) {
518
295
  throw new GenomeExportError(`Credential scan blocked the export: ${findings.length} finding(s); nothing was written`, "Remove the flagged values (shown by position only) and export again.", findings);
519
296
  }
520
- (0, node_fs_1.writeFileSync)(input.output, JSON.stringify(blueprint, null, 2) + "\n");
297
+ const text = JSON.stringify(blueprint, null, 2) + "\n";
298
+ try {
299
+ (0, genome_format_js_1.parseBlueprint)(text);
300
+ }
301
+ catch (err) {
302
+ if (!(err instanceof genome_format_js_1.GenomeImportError))
303
+ throw err;
304
+ throw new GenomeExportError(`The Blueprint would not import, so nothing was written: ${err.message}`, err.hint);
305
+ }
306
+ (0, node_fs_1.writeFileSync)(input.output, text);
521
307
  return {
522
308
  file: input.output,
523
309
  agent: input.agent.name,
@@ -591,8 +377,8 @@ const genomeExportCommand = new commander_1.Command("export")
591
377
  .argument("<agent>", "agent name or id")
592
378
  .option("-o, --output <file>", "output file (default: <agent>.rgenome)")
593
379
  .option("--lock", "reference genes by ID only; write no capability queries")
594
- .option("--min-fitness <n>", `minimum fitness in each capability query (default: ${exports.DEFAULT_MIN_FITNESS})`)
595
- .option("--min-vg <n>", `suggested minimum V(g) for importers, in [${exports.MIN_VG_FLOOR}, 1.0)`)
380
+ .option("--min-fitness <n>", `minimum fitness in each capability query (default: ${genome_format_js_1.DEFAULT_MIN_FITNESS})`)
381
+ .option("--min-vg <n>", `suggested minimum V(g) for importers, in [${genome_format_js_1.MIN_VG_FLOOR}, 1.0)`)
596
382
  .option("-d, --description <text>", "description stored in the Blueprint metadata")
597
383
  .action((agentRef, options) => {
598
384
  const root = (0, project_root_js_1.requireProjectRoot)();
@@ -1 +1 @@
1
- {"version":3,"file":"genome.js","sourceRoot":"","sources":["../../src/commands/genome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"genome.js","sourceRoot":"","sources":["../../src/commands/genome.ts"],"names":[],"mappings":"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"}