@eir-labs/coltrane 0.24.30 → 0.24.32
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/agents/change-verifier.json +4 -2
- package/agents/deploy-scout.json +2 -2
- package/agents/red-law-reviewer.json +54 -0
- package/agents/red-spec-attester.json +53 -0
- package/agents/red-spec-builder.json +56 -0
- package/agents/red-spec-drafter.json +1 -1
- package/agents/spec-reviewer.json +1 -1
- package/dist/src/chart.js +4 -0
- package/dist/src/chart.js.map +1 -1
- package/dist/src/chat_completions_port.d.ts +41 -0
- package/dist/src/chat_completions_port.js +221 -0
- package/dist/src/chat_completions_port.js.map +1 -0
- package/dist/src/claude_invoker.d.ts +18 -0
- package/dist/src/claude_invoker.js +771 -22
- package/dist/src/claude_invoker.js.map +1 -1
- package/dist/src/cli.d.ts +1 -1
- package/dist/src/cli.js +49 -8
- package/dist/src/cli.js.map +1 -1
- package/dist/src/completions_invoker.d.ts +79 -0
- package/dist/src/completions_invoker.js +220 -0
- package/dist/src/completions_invoker.js.map +1 -0
- package/dist/src/composition.d.ts +13 -0
- package/dist/src/composition.js +16 -0
- package/dist/src/composition.js.map +1 -1
- package/dist/src/genome_schema.d.ts +200 -0
- package/dist/src/genome_schema.js +37 -0
- package/dist/src/genome_schema.js.map +1 -1
- package/dist/src/genome_store.d.ts +30 -2
- package/dist/src/genome_store.js +51 -8
- package/dist/src/genome_store.js.map +1 -1
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/invoker_selection.d.ts +58 -0
- package/dist/src/invoker_selection.js +110 -0
- package/dist/src/invoker_selection.js.map +1 -0
- package/dist/src/ledger.d.ts +45 -2
- package/dist/src/ledger.js +23 -3
- package/dist/src/ledger.js.map +1 -1
- package/dist/src/mcp.js +2 -2
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/outputs.d.ts +24 -0
- package/dist/src/outputs.js +1 -0
- package/dist/src/outputs.js.map +1 -1
- package/dist/src/registry.js +16 -0
- package/dist/src/registry.js.map +1 -1
- package/dist/src/repo_index.d.ts +13 -0
- package/dist/src/repo_index.js +90 -10
- package/dist/src/repo_index.js.map +1 -1
- package/dist/src/reside_backing.d.ts +3 -2
- package/dist/src/reside_backing.js +8 -2
- package/dist/src/reside_backing.js.map +1 -1
- package/dist/src/reuse.d.ts +8 -0
- package/dist/src/reuse.js.map +1 -1
- package/dist/src/run_deps.d.ts +10 -10
- package/dist/src/run_deps.js +25 -15
- package/dist/src/run_deps.js.map +1 -1
- package/dist/src/runtime.d.ts +205 -109
- package/dist/src/runtime.js +908 -145
- package/dist/src/runtime.js.map +1 -1
- package/dist/src/server.js +148 -45
- package/dist/src/server.js.map +1 -1
- package/dist/src/server_relay.js +28 -0
- package/dist/src/server_relay.js.map +1 -1
- package/dist/src/skill_runner.mjs +9 -2
- package/dist/src/skill_subprocess.d.ts +20 -1
- package/dist/src/skill_subprocess.js +11 -4
- package/dist/src/skill_subprocess.js.map +1 -1
- package/dist/src/transcript_store.d.ts +14 -0
- package/dist/src/transcript_store.js +39 -0
- package/dist/src/transcript_store.js.map +1 -0
- package/dist/src/turn_loop.d.ts +173 -0
- package/dist/src/turn_loop.js +283 -0
- package/dist/src/turn_loop.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/worker.js +6 -0
- package/dist/src/worker.js.map +1 -1
- package/dist/src/worker_env.d.ts +4 -2
- package/dist/src/worker_env.js +42 -0
- package/dist/src/worker_env.js.map +1 -1
- package/domain_types/change-set.json +33 -22
- package/domain_types/red-spec.json +32 -23
- package/domain_types/seat-primer.json +65 -0
- package/package.json +1 -1
- package/standards/build-from-red-spec-v0.json +93 -0
- package/standards/draft-red-laws-v0.json +68 -0
package/dist/src/genome_store.js
CHANGED
|
@@ -73,7 +73,11 @@ export const Q = {
|
|
|
73
73
|
domain_types: "coltrane_domain_types?select=slug,version,extends,domain,status,schema,required_fields",
|
|
74
74
|
agents: "coltrane_agent_profiles?select=slug,version,status,primitives,input_types,output_types,domain," +
|
|
75
75
|
"identity,method,constraints,depth_profile,permissions,behavioral_primitives,skill_slots,default_skills,carried_skills",
|
|
76
|
-
|
|
76
|
+
// O5 — max_examine_rounds and reserve_pool ride back through the store, or the file genome and the
|
|
77
|
+
// store genome are two different standards (the drain would never amend and its pool would vanish).
|
|
78
|
+
// NOTE (out of scope, hosted): the hosted coltrane_standards table needs these two columns before
|
|
79
|
+
// this select reaches the hosted drain; that migration lives outside this repo.
|
|
80
|
+
standards: "coltrane_standards?select=slug,version,status,domain,phases,input_types,output_types,max_examine_rounds,reserve_pool",
|
|
77
81
|
// Same gap venues had, one class over: no `version`, no `org_id`. coltrane_skills is
|
|
78
82
|
// versioned, so skill_evolve minting v2 leaves v1 on the table — and the loader, seeing
|
|
79
83
|
// two rows for one slug, threw "duplicate skill slug" and named the SLUG. A live skill
|
|
@@ -152,9 +156,7 @@ function agentDefFromRow(row) {
|
|
|
152
156
|
return def;
|
|
153
157
|
}
|
|
154
158
|
const REQUIRED_CORE_SLUGS = ["Signal", "Interpretation", "Judgment", "Plan", "Artifact", "Verdict"];
|
|
155
|
-
|
|
156
|
-
* shared by every backing, so a JWT-loaded genome and a ctk-loaded genome cannot drift. */
|
|
157
|
-
export function reconstructGenome(rows) {
|
|
159
|
+
export function reconstructGenome(rows, pin) {
|
|
158
160
|
const { core_types: coreRows, domain_types: typeRows, agents: agentRows, standards: standardRows, skills: skillRows } = rows;
|
|
159
161
|
const load_errors = [];
|
|
160
162
|
// core types — engine-owned, immutable 6. No rows visible → seed the canonical set,
|
|
@@ -267,6 +269,13 @@ export function reconstructGenome(rows) {
|
|
|
267
269
|
throw new Error(`missing required "slug" field`);
|
|
268
270
|
if (standards.has(slug))
|
|
269
271
|
throw new Error(`duplicate standard slug "${slug}"`);
|
|
272
|
+
// F2 — a malformed examine loop is a NAMED load error, never a loop silently disabled. A
|
|
273
|
+
// present max_examine_rounds must be a non-negative integer; the store row keeps it (O5).
|
|
274
|
+
const mer = r["max_examine_rounds"];
|
|
275
|
+
if (mer !== undefined && mer !== null && (typeof mer !== "number" || !Number.isInteger(mer) || mer < 0)) {
|
|
276
|
+
throw new Error(`field max_examine_rounds must be a non-negative integer, got ${JSON.stringify(mer)}`);
|
|
277
|
+
}
|
|
278
|
+
const rp = r["reserve_pool"];
|
|
270
279
|
const phases = (r["phases"] ?? []);
|
|
271
280
|
const chairAgentSlugs = [
|
|
272
281
|
...new Set(phases.flatMap((p) => (p.chairs ?? []).map((c) => c.agent_slug).filter((s) => !!s))),
|
|
@@ -287,6 +296,10 @@ export function reconstructGenome(rows) {
|
|
|
287
296
|
// satisfies. Dropping it fails composition at every entry chair (found live).
|
|
288
297
|
...(Array.isArray(r["input_types"]) ? { input_types: r["input_types"] } : {}),
|
|
289
298
|
...(Array.isArray(r["output_types"]) ? { output_types: r["output_types"] } : {}),
|
|
299
|
+
// O5 — carry the examine loop and reserve pool through compose (loss-free `...def`
|
|
300
|
+
// spread) so the reconstructed standard keeps both. Absent leaves them unset.
|
|
301
|
+
...(typeof mer === "number" ? { max_examine_rounds: mer } : {}),
|
|
302
|
+
...(typeof rp === "number" ? { reserve_pool: rp } : {}),
|
|
290
303
|
}));
|
|
291
304
|
}
|
|
292
305
|
catch (e) {
|
|
@@ -398,6 +411,24 @@ export function reconstructGenome(rows) {
|
|
|
398
411
|
const st = r["status"];
|
|
399
412
|
return st === undefined || st === null || st === "active";
|
|
400
413
|
});
|
|
414
|
+
// WI-11 · A ROOM BELONGS TO AN ORG. The store keys venues (org_id, slug, version); this layer
|
|
415
|
+
// keyed them by slug alone, and the two layers disagreed about whether a venue name is unique.
|
|
416
|
+
// The store is right: `verifier-desk` in two orgs is two rooms, not a duplicate — both were
|
|
417
|
+
// opened deliberately, the later one by hand.
|
|
418
|
+
//
|
|
419
|
+
// So a pinned load scopes to the acting org FIRST, and another org's room simply is not this
|
|
420
|
+
// genome's room. What remains after scoping is a genuine same-org collision, and that still
|
|
421
|
+
// refuses below.
|
|
422
|
+
//
|
|
423
|
+
// The pin is a UUID because slugs are precisely what collides here; accepting one would move the
|
|
424
|
+
// ambiguity rather than close it. An unrecognisable pin scopes to nothing rather than silently
|
|
425
|
+
// loading everything — absent and malformed must both mean DECLINE, which is the PIN LAW's own
|
|
426
|
+
// rule ("ambient or defaulted context is a refusal condition") reaching this layer at last.
|
|
427
|
+
const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
428
|
+
const actingOrg = pin?.acting_org_id;
|
|
429
|
+
const scopedVenueRows = actingOrg === undefined
|
|
430
|
+
? liveVenueRows
|
|
431
|
+
: liveVenueRows.filter((r) => UUID.test(actingOrg) && r["org_id"] === actingOrg);
|
|
401
432
|
// A2 · TWO ACTIVE ROWS CLAIMING ONE NAME IS AN AMBIGUITY, NOT A RACE. Previously the
|
|
402
433
|
// second arrival threw "duplicate venue slug" and which room the genome held was a
|
|
403
434
|
// function of row order — a fact nobody declared. There is no caller and no org context
|
|
@@ -405,7 +436,7 @@ export function reconstructGenome(rows) {
|
|
|
405
436
|
// be a coin toss wearing a determinism costume. It refuses, naming every claimant, on the
|
|
406
437
|
// precedent set for principals: attribution is a fact, not a coin toss.
|
|
407
438
|
const bySlug = new Map();
|
|
408
|
-
for (const r of
|
|
439
|
+
for (const r of scopedVenueRows) {
|
|
409
440
|
const k = typeof r["slug"] === "string" ? r["slug"] : "?";
|
|
410
441
|
bySlug.set(k, [...(bySlug.get(k) ?? []), r]);
|
|
411
442
|
}
|
|
@@ -417,7 +448,7 @@ export function reconstructGenome(rows) {
|
|
|
417
448
|
load_errors.push({ kind: "venue", path: `postgrest:coltrane_venues/${k}`, slug: k, error: msg });
|
|
418
449
|
}
|
|
419
450
|
}
|
|
420
|
-
for (const r of
|
|
451
|
+
for (const r of scopedVenueRows) {
|
|
421
452
|
const slug = typeof r["slug"] === "string" ? r["slug"] : null;
|
|
422
453
|
const path = `postgrest:coltrane_venues/${slug ?? "?"}`;
|
|
423
454
|
if (slug !== null && (bySlug.get(slug)?.length ?? 0) > 1)
|
|
@@ -498,7 +529,7 @@ export function postgrestGenomeStore(ctx) {
|
|
|
498
529
|
restGet(ctx, Q.charts),
|
|
499
530
|
restGet(ctx, Q.venues),
|
|
500
531
|
]);
|
|
501
|
-
return reconstructGenome({ core_types, domain_types, agents, standards, skills, charts, venues });
|
|
532
|
+
return reconstructGenome({ core_types, domain_types, agents, standards, skills, charts, venues }, { acting_org_id: ctx.acting_org_id });
|
|
502
533
|
},
|
|
503
534
|
async upsert(cls, payload, org_slug) {
|
|
504
535
|
const res = await fetch(`${ctx.baseUrl}/rest/v1/rpc/coltrane_genome_upsert`, {
|
|
@@ -529,6 +560,9 @@ export function postgrestGenomeStore(ctx) {
|
|
|
529
560
|
* hash inside the store and returns the org's rows. Same reconstruction as every backing.
|
|
530
561
|
* Read-only by design: an agent token does not author genome (authoring is a member act,
|
|
531
562
|
* governed by the upsert RPC as auth.uid()). */
|
|
563
|
+
/** The agent-token backing. An agent token is issued per-agent within ONE org, so its acting org is
|
|
564
|
+
* known to whoever minted it — passed here rather than re-derived, because a second derivation is a
|
|
565
|
+
* second belief about who is acting. */
|
|
532
566
|
export function rpcGenomeStore(ctx) {
|
|
533
567
|
return {
|
|
534
568
|
async load() {
|
|
@@ -555,6 +589,15 @@ export function rpcGenomeStore(ctx) {
|
|
|
555
589
|
throw new GenomeLoadError(`genome load (agent token): ${message}`);
|
|
556
590
|
}
|
|
557
591
|
const rows = JSON.parse(text);
|
|
592
|
+
// THE ANSWER NAMES ITS OWN ORG. `coltrane_mcp_genome` authenticates a `ctk_`, and
|
|
593
|
+
// `coltrane_agent_token.org_id` is `uuid NOT NULL` with one row per key — so a token resolves
|
|
594
|
+
// to exactly one organization BY CONSTRUCTION. Nothing selects, so nothing can select wrong.
|
|
595
|
+
//
|
|
596
|
+
// This is what lets the drain pin itself. Its claim carries `acting_for` (an agent slug) and
|
|
597
|
+
// no org, and it does not need one: the genome answer it is already reading names the org,
|
|
598
|
+
// from the authoritative source. No third repo, no second resolution path, and the caller's
|
|
599
|
+
// explicit pin still wins when one was given.
|
|
600
|
+
const answeredOrg = typeof rows.org_id === "string" ? rows.org_id : undefined;
|
|
558
601
|
return reconstructGenome({
|
|
559
602
|
core_types: rows.core_types ?? [],
|
|
560
603
|
domain_types: rows.domain_types ?? [],
|
|
@@ -563,7 +606,7 @@ export function rpcGenomeStore(ctx) {
|
|
|
563
606
|
skills: rows.skills ?? [],
|
|
564
607
|
charts: rows.charts ?? [],
|
|
565
608
|
venues: rows.venues ?? [],
|
|
566
|
-
});
|
|
609
|
+
}, { acting_org_id: ctx.acting_org_id ?? answeredOrg });
|
|
567
610
|
},
|
|
568
611
|
async upsert() {
|
|
569
612
|
throw new Error("an agent token does not author genome — authoring is a member act through the governed upsert");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genome_store.js","sourceRoot":"","sources":["../../src/genome_store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"genome_store.js","sourceRoot":"","sources":["../../src/genome_store.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -29,6 +29,11 @@ export * from "./gig_conformance.js";
|
|
|
29
29
|
export * from "./chart.js";
|
|
30
30
|
export * from "./claude_invoker.js";
|
|
31
31
|
export * from "./bifrost_invoker.js";
|
|
32
|
+
export * from "./turn_loop.js";
|
|
33
|
+
export * from "./chat_completions_port.js";
|
|
34
|
+
export * from "./completions_invoker.js";
|
|
35
|
+
export * from "./reside_backing.js";
|
|
36
|
+
export * from "./reside.js";
|
|
32
37
|
export * from "./circle_of_fifths.js";
|
|
33
38
|
export * from "./modulation_path.js";
|
|
34
39
|
export * from "./tensor_read.js";
|
package/dist/src/index.js
CHANGED
|
@@ -29,6 +29,15 @@ export * from "./gig_conformance.js";
|
|
|
29
29
|
export * from "./chart.js";
|
|
30
30
|
export * from "./claude_invoker.js";
|
|
31
31
|
export * from "./bifrost_invoker.js";
|
|
32
|
+
export * from "./turn_loop.js";
|
|
33
|
+
export * from "./chat_completions_port.js";
|
|
34
|
+
export * from "./completions_invoker.js";
|
|
35
|
+
// THE SEAM A DEPLOYMENT MUST IMPLEMENT HAS TO BE IMPORTABLE BY ONE. `resolveSeatBacking` and
|
|
36
|
+
// friends were reachable from inside src/ — which satisfied the orphan ratchet and left the only
|
|
37
|
+
// audience that has to satisfy the interface unable to name it. Reachable-within and
|
|
38
|
+
// importable-from-outside are different properties; the ratchet only ever asked the first.
|
|
39
|
+
export * from "./reside_backing.js";
|
|
40
|
+
export * from "./reside.js";
|
|
32
41
|
export * from "./circle_of_fifths.js";
|
|
33
42
|
export * from "./modulation_path.js";
|
|
34
43
|
export * from "./tensor_read.js";
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AAEtC,8FAA8F;AAC9F,mGAAmG;AACnG,8FAA8F;AAC9F,oGAAoG;AACpG,+FAA+F;AAC/F,iFAAiF;AACjF,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,6FAA6F;AAC7F,iGAAiG;AACjG,qFAAqF;AACrF,2FAA2F;AAC3F,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AAEtC,8FAA8F;AAC9F,mGAAmG;AACnG,8FAA8F;AAC9F,oGAAoG;AACpG,+FAA+F;AAC/F,iFAAiF;AACjF,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONE selector, for EVERY door.
|
|
3
|
+
*
|
|
4
|
+
* `coltrane dispatch` / MCP `gig_dispatch` (through `bootstrapServerDeps`) and `coltrane work` (the
|
|
5
|
+
* drain) each need a chair invoker, and until now they chose it in two different places — so only the
|
|
6
|
+
* drain could reach the cheap completions port, and only by code the dispatch door did not share.
|
|
7
|
+
* Two doors that pick their executor by separate logic are two doors that drift; this is the single
|
|
8
|
+
* place the choice is made, so a deployment that seats a cheap model at one door seats it at all.
|
|
9
|
+
*
|
|
10
|
+
* THE CHOICE IS BY PRESENCE, never by a guessed default. A completions base URL in the environment
|
|
11
|
+
* selects the completions port; its absence keeps whatever host-tool invoker the caller configured.
|
|
12
|
+
* The same policy shape `selectQueueBacking` and the drain's credential mode already use.
|
|
13
|
+
*
|
|
14
|
+
* THE ENGINE NAMES NO PROVIDER. No base URL, no model id, no vendor string lives here: the URL, the
|
|
15
|
+
* bearer key, the tier→model map and the price table all arrive through the `env` object the caller
|
|
16
|
+
* passes (the caller reads the process environment; this file reads only the object it is handed).
|
|
17
|
+
* The host-tool invoker's options arrive whole from the caller and are passed through UNTOUCHED —
|
|
18
|
+
* each door configures that path exactly as it did before, and this selector unifies only the choice,
|
|
19
|
+
* not the configuration.
|
|
20
|
+
*/
|
|
21
|
+
import type { AgentInvoker } from "./runtime.js";
|
|
22
|
+
import type { Registry } from "./registry.js";
|
|
23
|
+
import type { PriceTable } from "./turn_loop.js";
|
|
24
|
+
import { type ClaudeInvokerOptions } from "./claude_invoker.js";
|
|
25
|
+
/**
|
|
26
|
+
* Load and VALIDATE a deployment's price table: served model id → USD per million tokens.
|
|
27
|
+
*
|
|
28
|
+
* The contract is fail-at-startup, not fail-quiet. An absent file is the caller's decision to run
|
|
29
|
+
* unpriced (this function is not called), but a file that is PRESENT and broken must stop the process
|
|
30
|
+
* rather than let a run settle as $0 — a silent zero is a wrong number, and a cheap run priced at
|
|
31
|
+
* nothing hides exactly the spend the table exists to report. Every refusal NAMES the file so an
|
|
32
|
+
* operator can find it: malformed JSON, a non-object root, an entry that is not an object, an entry
|
|
33
|
+
* missing `input` or `output`, or any rate that is non-finite or negative.
|
|
34
|
+
*/
|
|
35
|
+
export declare function loadPriceTable(path: string): PriceTable;
|
|
36
|
+
/** The deployment variables the completions seat reads, ALL through the passed env object. */
|
|
37
|
+
type EnvLike = Record<string, string | undefined>;
|
|
38
|
+
export interface SelectChairInvokerOptions {
|
|
39
|
+
/** The registry the completions invoker resolves output-type schemas through. Each door passes its
|
|
40
|
+
* own; on the host-tool path the registry rides inside `claude` and this is unused. */
|
|
41
|
+
registry?: Registry | undefined;
|
|
42
|
+
/** The host-tool (Claude) invoker options THIS caller uses today, passed through UNCHANGED when no
|
|
43
|
+
* completions URL is configured. The selector never merges or unifies them across doors. */
|
|
44
|
+
claude: ClaudeInvokerOptions;
|
|
45
|
+
/** Injectable transport for the completions port (tests). Absent = the global fetch. */
|
|
46
|
+
fetchFn?: typeof fetch | undefined;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Choose the chair invoker for this door from the deployment environment.
|
|
50
|
+
*
|
|
51
|
+
* `COLTRANE_COMPLETIONS_URL` present → the completions port, wired from the deployment's variables:
|
|
52
|
+
* bearer key, the tier→model map, the per-chair timeout, and the validated price table when
|
|
53
|
+
* `COLTRANE_PRICES_FILE` is set. Absent → the caller's host-tool invoker, byte-for-byte its own
|
|
54
|
+
* options. A malformed price table throws HERE, so a caller that constructs deps at startup fails at
|
|
55
|
+
* startup with the file named.
|
|
56
|
+
*/
|
|
57
|
+
export declare function selectChairInvoker(env: EnvLike, opts: SelectChairInvokerOptions): AgentInvoker;
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { makeClaudeInvoker } from "./claude_invoker.js";
|
|
2
|
+
import { makeCompletionsInvoker } from "./completions_invoker.js";
|
|
3
|
+
import { makeFileTranscriptStore } from "./transcript_store.js";
|
|
4
|
+
import { readFileSync } from "node:fs";
|
|
5
|
+
import { homedir } from "node:os";
|
|
6
|
+
import { join } from "node:path";
|
|
7
|
+
/**
|
|
8
|
+
* Load and VALIDATE a deployment's price table: served model id → USD per million tokens.
|
|
9
|
+
*
|
|
10
|
+
* The contract is fail-at-startup, not fail-quiet. An absent file is the caller's decision to run
|
|
11
|
+
* unpriced (this function is not called), but a file that is PRESENT and broken must stop the process
|
|
12
|
+
* rather than let a run settle as $0 — a silent zero is a wrong number, and a cheap run priced at
|
|
13
|
+
* nothing hides exactly the spend the table exists to report. Every refusal NAMES the file so an
|
|
14
|
+
* operator can find it: malformed JSON, a non-object root, an entry that is not an object, an entry
|
|
15
|
+
* missing `input` or `output`, or any rate that is non-finite or negative.
|
|
16
|
+
*/
|
|
17
|
+
export function loadPriceTable(path) {
|
|
18
|
+
let raw;
|
|
19
|
+
try {
|
|
20
|
+
raw = readFileSync(path, "utf8");
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
throw new Error(`could not read price table "${path}": ${e instanceof Error ? e.message : String(e)}`);
|
|
24
|
+
}
|
|
25
|
+
let parsed;
|
|
26
|
+
try {
|
|
27
|
+
parsed = JSON.parse(raw);
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
throw new Error(`price table "${path}" is not valid JSON: ${e instanceof Error ? e.message : String(e)}`);
|
|
31
|
+
}
|
|
32
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
33
|
+
throw new Error(`price table "${path}" must be a JSON object of model id → { input, output, cache_read?, cache_write? }`);
|
|
34
|
+
}
|
|
35
|
+
const table = {};
|
|
36
|
+
for (const [model, entry] of Object.entries(parsed)) {
|
|
37
|
+
if (entry === null || typeof entry !== "object" || Array.isArray(entry)) {
|
|
38
|
+
throw new Error(`price table "${path}" entry for "${model}" must be an object with input and output rates`);
|
|
39
|
+
}
|
|
40
|
+
const e = entry;
|
|
41
|
+
const price = { input: 0, output: 0 };
|
|
42
|
+
for (const key of ["input", "output", "cache_read", "cache_write"]) {
|
|
43
|
+
const v = e[key];
|
|
44
|
+
if (v === undefined) {
|
|
45
|
+
// input and output are the floor of a price; cache_read / cache_write are optional. A model
|
|
46
|
+
// that only ever reports uncached tokens is fully priced by { input, output } alone.
|
|
47
|
+
if (key === "input" || key === "output") {
|
|
48
|
+
throw new Error(`price table "${path}" entry for "${model}" is missing "${key}"`);
|
|
49
|
+
}
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (typeof v !== "number" || !Number.isFinite(v) || v < 0) {
|
|
53
|
+
throw new Error(`price table "${path}" entry for "${model}" has an invalid "${key}" (${String(v)}) — ` +
|
|
54
|
+
`prices are non-negative USD per million tokens`);
|
|
55
|
+
}
|
|
56
|
+
price[key] = v;
|
|
57
|
+
}
|
|
58
|
+
table[model] = price;
|
|
59
|
+
}
|
|
60
|
+
return table;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Choose the chair invoker for this door from the deployment environment.
|
|
64
|
+
*
|
|
65
|
+
* `COLTRANE_COMPLETIONS_URL` present → the completions port, wired from the deployment's variables:
|
|
66
|
+
* bearer key, the tier→model map, the per-chair timeout, and the validated price table when
|
|
67
|
+
* `COLTRANE_PRICES_FILE` is set. Absent → the caller's host-tool invoker, byte-for-byte its own
|
|
68
|
+
* options. A malformed price table throws HERE, so a caller that constructs deps at startup fails at
|
|
69
|
+
* startup with the file named.
|
|
70
|
+
*/
|
|
71
|
+
export function selectChairInvoker(env, opts) {
|
|
72
|
+
const completionsUrl = env["COLTRANE_COMPLETIONS_URL"];
|
|
73
|
+
if (completionsUrl) {
|
|
74
|
+
// The tier→model map is deployment-defined; the engine names no model. An unmapped tier is a
|
|
75
|
+
// typed refusal at the chair (the completions invoker's `unresolved_tier`), not a silent default.
|
|
76
|
+
const tierMap = {};
|
|
77
|
+
const eco = env["COLTRANE_TIER_ECONOMY"];
|
|
78
|
+
const std = env["COLTRANE_TIER_STANDARD"];
|
|
79
|
+
const prem = env["COLTRANE_TIER_PREMIUM"];
|
|
80
|
+
if (eco)
|
|
81
|
+
tierMap["economy"] = eco;
|
|
82
|
+
if (std)
|
|
83
|
+
tierMap["standard"] = std;
|
|
84
|
+
if (prem)
|
|
85
|
+
tierMap["premium"] = prem;
|
|
86
|
+
const pricesFile = env["COLTRANE_PRICES_FILE"];
|
|
87
|
+
const timeoutRaw = env["COLTRANE_CHAIR_TIMEOUT_MS"];
|
|
88
|
+
// contract-completions-seat-transcript-v1 (O3) — a completions seat resumes across the door only if
|
|
89
|
+
// its conversation is kept somewhere. Wire the engine's file-backed store: COLTRANE_TRANSCRIPTS_DIR
|
|
90
|
+
// when set, else <COLTRANE_OUTPUTS_DIR or $HOME/.eir/coltrane_outputs>/transcripts — reading only
|
|
91
|
+
// the env object handed in, the same "the caller reads process.env, this file reads the object"
|
|
92
|
+
// discipline the rest of the selector keeps.
|
|
93
|
+
const transcriptsDir = env["COLTRANE_TRANSCRIPTS_DIR"] ??
|
|
94
|
+
join(env["COLTRANE_OUTPUTS_DIR"] ?? join(env["HOME"] ?? env["USERPROFILE"] ?? homedir(), ".eir/coltrane_outputs"), "transcripts");
|
|
95
|
+
return makeCompletionsInvoker({
|
|
96
|
+
baseUrl: completionsUrl,
|
|
97
|
+
apiKey: env["COLTRANE_COMPLETIONS_KEY"] ?? "",
|
|
98
|
+
...(opts.registry ? { registry: opts.registry } : {}),
|
|
99
|
+
tierMap,
|
|
100
|
+
transcripts: makeFileTranscriptStore(transcriptsDir),
|
|
101
|
+
// A price table is loaded and validated ONLY when configured. Absent = spend is reported
|
|
102
|
+
// unpriced (never $0); malformed = loadPriceTable throws and the process refuses to start.
|
|
103
|
+
...(pricesFile ? { prices: loadPriceTable(pricesFile) } : {}),
|
|
104
|
+
...(opts.fetchFn ? { fetchFn: opts.fetchFn } : {}),
|
|
105
|
+
...(timeoutRaw ? { timeoutMs: Number(timeoutRaw) } : {}),
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
return makeClaudeInvoker(opts.claude);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=invoker_selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoker_selection.js","sourceRoot":"","sources":["../../src/invoker_selection.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ledger.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export interface GigUsage {
|
|
|
30
30
|
* `genome_hash`/`run_fingerprint` exist ONLY on `kind:"gig"`, so there is nowhere to put a
|
|
31
31
|
* sentinel on a promotion or an abort.
|
|
32
32
|
*/
|
|
33
|
-
export type LedgerEntryKind = "gig" | "genome_mutation" | "governance";
|
|
33
|
+
export type LedgerEntryKind = "gig" | "genome_mutation" | "governance" | "chair_spend";
|
|
34
34
|
export declare const LEDGER_SCHEMA_VERSION = 2;
|
|
35
35
|
interface LedgerEntryBase {
|
|
36
36
|
schema_version: typeof LEDGER_SCHEMA_VERSION;
|
|
@@ -93,6 +93,16 @@ export interface GigLedgerEntry extends LedgerEntryBase {
|
|
|
93
93
|
genome_hash: string;
|
|
94
94
|
run_fingerprint: string;
|
|
95
95
|
usage?: GigUsage;
|
|
96
|
+
/**
|
|
97
|
+
* What the EARLIER attempt(s) of a RESUMED gig had spent, banked on the checkpoint this run
|
|
98
|
+
* restored from (contract-spend-survives-v1 O4). Kept BESIDE `usage`, never folded into it:
|
|
99
|
+
* `usage` is what THIS run's chairs settled, `prior_usage` is what the killed attempt settled,
|
|
100
|
+
* and adding them would erase the distinction (#235/#236). Absent on a cold (non-resumed) run.
|
|
101
|
+
* Typed `unknown` because it travels verbatim from the checkpoint's own `prior_usage: unknown`
|
|
102
|
+
* (src/reuse.ts) — the row records it faithfully rather than re-asserting a shape the checkpoint
|
|
103
|
+
* did not guarantee.
|
|
104
|
+
*/
|
|
105
|
+
prior_usage?: unknown;
|
|
96
106
|
}
|
|
97
107
|
/** A definition entered the substrate. Identity is the canonical hash chain, NOT a run
|
|
98
108
|
* fingerprint — src/genome_writer.ts used to copy `effective_hash` into both, which was a
|
|
@@ -124,7 +134,40 @@ export interface GovernanceLedgerEntry extends LedgerEntryBase {
|
|
|
124
134
|
/** The payload. v1 dropped it entirely, leaving a durable trail of content-free UUIDs. */
|
|
125
135
|
detail?: Record<string, unknown>;
|
|
126
136
|
}
|
|
127
|
-
|
|
137
|
+
/**
|
|
138
|
+
* A single chair invocation SETTLED (contract-spend-survives-v1). One row per settled chair,
|
|
139
|
+
* appended the moment the invocation returns — BEFORE the next chair is invoked — so a process
|
|
140
|
+
* killed on a later chair leaves every earlier chair's captured spend durable. This is the fix
|
|
141
|
+
* for the loss the gig row alone could not prevent: the gig row is written ONCE, on the success
|
|
142
|
+
* path, so a gig that died on chair N lost the spend of chairs 1..N-1 (#235/#236, docs/specs/
|
|
143
|
+
* spend-survives.red-spec.md). For a completed gig these rows' captured cost reconciles to the
|
|
144
|
+
* gig row's `usage.total_cost_usd`; for a failed gig they survive though no gig row is ever sealed.
|
|
145
|
+
*
|
|
146
|
+
* Rides on the runtime/gigLedger side (SplitLedger routes it with `gig`), never the genome ledger —
|
|
147
|
+
* it is machine-local run accounting, not genome provenance.
|
|
148
|
+
*/
|
|
149
|
+
export interface ChairSpendLedgerEntry extends LedgerEntryBase {
|
|
150
|
+
kind: "chair_spend";
|
|
151
|
+
/** The gig this chair ran under. Shared with the gig row so `query({gig_id})` reaches both. */
|
|
152
|
+
gig_id: string;
|
|
153
|
+
/** WHICH seat spent — the chair's role. */
|
|
154
|
+
role: string;
|
|
155
|
+
/** The phase the seat sat in. */
|
|
156
|
+
phase: string;
|
|
157
|
+
/** 1 on a first run; the amend re-invocation's round otherwise. Distinguishes a seat's repeated
|
|
158
|
+
* settlements across the examine⇄amend loop so two rows for one role are not conflated. */
|
|
159
|
+
round: number;
|
|
160
|
+
/**
|
|
161
|
+
* Whether this invocation reported a usable usage payload. `false` means the spend is UNKNOWN,
|
|
162
|
+
* not $0 (#235): an unattributed chair seals `captured:false` and carries NO `usage`, so it can
|
|
163
|
+
* never be summed as a $0 row and adds nothing to any reconciliation.
|
|
164
|
+
*/
|
|
165
|
+
captured: boolean;
|
|
166
|
+
/** The chair's OWN settled spend. Present ONLY when `captured` — an uncaptured chair carries no
|
|
167
|
+
* cost field at all, which is what keeps "not captured" from masquerading as "$0.00". */
|
|
168
|
+
usage?: GigUsage;
|
|
169
|
+
}
|
|
170
|
+
export type LedgerEntry = GigLedgerEntry | GenomeMutationLedgerEntry | GovernanceLedgerEntry | ChairSpendLedgerEntry;
|
|
128
171
|
export interface LedgerQuery {
|
|
129
172
|
kind?: LedgerEntryKind;
|
|
130
173
|
event?: string;
|
package/dist/src/ledger.js
CHANGED
|
@@ -75,8 +75,8 @@ function rejectGigIdentity(row, kind) {
|
|
|
75
75
|
export function validateEntry(entry) {
|
|
76
76
|
const row = entry;
|
|
77
77
|
const kind = row["kind"];
|
|
78
|
-
if (kind !== "gig" && kind !== "genome_mutation" && kind !== "governance") {
|
|
79
|
-
throw new LedgerError(`ledger entry requires kind ∈ {gig, genome_mutation, governance}; got ${JSON.stringify(kind)}`);
|
|
78
|
+
if (kind !== "gig" && kind !== "genome_mutation" && kind !== "governance" && kind !== "chair_spend") {
|
|
79
|
+
throw new LedgerError(`ledger entry requires kind ∈ {gig, genome_mutation, governance, chair_spend}; got ${JSON.stringify(kind)}`);
|
|
80
80
|
}
|
|
81
81
|
if (!isNonEmptyString(row["entry_id"]))
|
|
82
82
|
throw new LedgerError("ledger entry requires entry_id");
|
|
@@ -95,6 +95,24 @@ export function validateEntry(entry) {
|
|
|
95
95
|
requireHex(row, "run_fingerprint", "gig");
|
|
96
96
|
return;
|
|
97
97
|
}
|
|
98
|
+
if (kind === "chair_spend") {
|
|
99
|
+
// Per-chair settled-spend accounting, NOT a run: it names its gig and seat but carries no
|
|
100
|
+
// reproducibility identity, so the gig-identity rejection below applies to it too.
|
|
101
|
+
if (!isNonEmptyString(row["gig_id"]))
|
|
102
|
+
throw new LedgerError("chair_spend entry requires gig_id");
|
|
103
|
+
if (!isNonEmptyString(row["role"]))
|
|
104
|
+
throw new LedgerError("chair_spend entry requires role");
|
|
105
|
+
if (!isNonEmptyString(row["phase"]))
|
|
106
|
+
throw new LedgerError("chair_spend entry requires phase");
|
|
107
|
+
if (typeof row["round"] !== "number")
|
|
108
|
+
throw new LedgerError("chair_spend entry requires round (a number)");
|
|
109
|
+
if (typeof row["captured"] !== "boolean") {
|
|
110
|
+
throw new LedgerError("chair_spend entry requires captured (a boolean) — an unattributed chair is captured:false, " +
|
|
111
|
+
"never a $0 row (#235)");
|
|
112
|
+
}
|
|
113
|
+
rejectGigIdentity(row, "chair_spend");
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
98
116
|
if (!isNonEmptyString(row["event"]))
|
|
99
117
|
throw new LedgerError(`${kind} entry requires event`);
|
|
100
118
|
if (!isNonEmptyString(row["subject_slug"])) {
|
|
@@ -373,7 +391,9 @@ export class SplitLedger {
|
|
|
373
391
|
query(filter = {}) {
|
|
374
392
|
if (filter.kind === "genome_mutation")
|
|
375
393
|
return this.genomeLedger.query(filter);
|
|
376
|
-
|
|
394
|
+
// chair_spend rides with gig/governance on the runtime side (see append), so a kind-filtered
|
|
395
|
+
// read of it short-circuits to the gig ledger and never parses the genome file.
|
|
396
|
+
if (filter.kind === "gig" || filter.kind === "governance" || filter.kind === "chair_spend")
|
|
377
397
|
return this.gigLedger.query(filter);
|
|
378
398
|
return [...this.genomeLedger.query(filter), ...this.gigLedger.query(filter)];
|
|
379
399
|
}
|