@eir-labs/coltrane 0.4.1 → 0.5.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 (58) hide show
  1. package/dist/src/access_grant.d.ts +21 -0
  2. package/dist/src/access_grant.js +33 -4
  3. package/dist/src/access_grant.js.map +1 -1
  4. package/dist/src/claude_invoker.d.ts +28 -0
  5. package/dist/src/claude_invoker.js +68 -7
  6. package/dist/src/claude_invoker.js.map +1 -1
  7. package/dist/src/cli.d.ts +44 -0
  8. package/dist/src/cli.js +358 -0
  9. package/dist/src/cli.js.map +1 -0
  10. package/dist/src/cli_entry.d.ts +2 -0
  11. package/dist/src/cli_entry.js +23 -0
  12. package/dist/src/cli_entry.js.map +1 -0
  13. package/dist/src/composition.d.ts +2 -0
  14. package/dist/src/composition.js.map +1 -1
  15. package/dist/src/fs_atomic.d.ts +1 -0
  16. package/dist/src/fs_atomic.js +34 -0
  17. package/dist/src/fs_atomic.js.map +1 -0
  18. package/dist/src/genome_schema.d.ts +5 -1
  19. package/dist/src/genome_schema.js +12 -1
  20. package/dist/src/genome_schema.js.map +1 -1
  21. package/dist/src/genome_writer.d.ts +2 -2
  22. package/dist/src/genome_writer.js +17 -4
  23. package/dist/src/genome_writer.js.map +1 -1
  24. package/dist/src/gig_tracker.d.ts +29 -1
  25. package/dist/src/gig_tracker.js +27 -0
  26. package/dist/src/gig_tracker.js.map +1 -1
  27. package/dist/src/index.d.ts +1 -0
  28. package/dist/src/index.js +1 -0
  29. package/dist/src/index.js.map +1 -1
  30. package/dist/src/ledger.d.ts +3 -0
  31. package/dist/src/ledger.js.map +1 -1
  32. package/dist/src/loader.d.ts +2 -0
  33. package/dist/src/loader.js +10 -0
  34. package/dist/src/loader.js.map +1 -1
  35. package/dist/src/mcp.js +82 -20
  36. package/dist/src/mcp.js.map +1 -1
  37. package/dist/src/outputs.d.ts +74 -0
  38. package/dist/src/outputs.js +106 -71
  39. package/dist/src/outputs.js.map +1 -1
  40. package/dist/src/registry.d.ts +13 -0
  41. package/dist/src/registry.js +112 -0
  42. package/dist/src/registry.js.map +1 -1
  43. package/dist/src/reuse.d.ts +276 -0
  44. package/dist/src/reuse.js +215 -0
  45. package/dist/src/reuse.js.map +1 -0
  46. package/dist/src/runtime.d.ts +157 -4
  47. package/dist/src/runtime.js +519 -30
  48. package/dist/src/runtime.js.map +1 -1
  49. package/dist/src/server.d.ts +20 -0
  50. package/dist/src/server.js +733 -28
  51. package/dist/src/server.js.map +1 -1
  52. package/dist/src/skill_runner.mjs +8 -2
  53. package/dist/src/skill_subprocess.d.ts +55 -5
  54. package/dist/src/skill_subprocess.js +215 -11
  55. package/dist/src/skill_subprocess.js.map +1 -1
  56. package/dist/src/version.d.ts +1 -1
  57. package/dist/src/version.js +1 -1
  58. package/package.json +4 -3
@@ -0,0 +1,358 @@
1
+ /**
2
+ * The coltrane command line.
3
+ *
4
+ * Until now the package shipped exactly one executable — the MCP stdio server. That makes the
5
+ * engine reachable from an MCP client and from nothing else: not CI, not cron, not a container,
6
+ * not a queue worker, not a shell. A methodology engine whose only caller is an interactive
7
+ * client cannot be part of a build.
8
+ *
9
+ * This is a thin wrapper, deliberately. `dispatchTool(slug, args, deps)` is already the entire
10
+ * tool surface as a pure function, and `bootstrapServerDeps` already resolves the genome root,
11
+ * the durable ledger and the output store. The MCP server is one wrapper over that pair; this
12
+ * is a second. Almost nothing here is new behaviour, which is the point — two front doors that
13
+ * disagreed about what a dispatch means would be the same defect this engine spent a release
14
+ * removing.
15
+ *
16
+ * Conventions, chosen so this composes with other programs:
17
+ * - DATA goes to stdout, everything else to stderr. `coltrane dispatch … --json | jq` works.
18
+ * - Exit 0 success, 1 the command ran and failed, 2 the command was malformed. `validate`
19
+ * exits non-zero when the genome has load errors, which is what makes it a CI gate.
20
+ * - `--json` prints the tool's `data` verbatim; without it, a short human summary.
21
+ */
22
+ import { dispatchTool, bootstrapServerDeps } from "./server.js";
23
+ import { COLTRANE_VERSION } from "./version.js";
24
+ import { readFileSync } from "node:fs";
25
+ export const USAGE = `coltrane ${COLTRANE_VERSION}
26
+
27
+ coltrane validate load the genome; exit non-zero on load errors
28
+ coltrane dispatch <standard> run a standard
29
+ coltrane monitor <gig-id> report a gig's progress
30
+ coltrane logs <gig-id> per-chair logs for a gig
31
+ coltrane abort <gig-id> stop a running gig
32
+ coltrane trace <output-id> walk an output's provenance
33
+ coltrane simulate <standard> cost/shape a standard without running it
34
+ coltrane health engine + store health
35
+ coltrane serve run the MCP server on stdio
36
+
37
+ Options
38
+ --input <json|@file|-> dispatch payload; @file reads a file, - reads stdin
39
+ --depth <skim|standard|deep> tighten the per-chair turn cap
40
+ --budget <dollars> per-gig ceiling; the run stops when it is gone
41
+ --reuse allow chair-level reuse of prior sealed outputs
42
+ --resume <gig-id> continue a gig that died mid-pipeline
43
+ --wait block until the run finishes
44
+ --follow poll until the gig reaches a terminal state
45
+ --direction <upstream|downstream|both> for trace
46
+ --json print the raw result to stdout
47
+ --genome <path> genome root (default: $COLTRANE_GENOME or cwd)
48
+ --help, --version
49
+ `;
50
+ export function parseArgs(argv) {
51
+ const positional = [];
52
+ const flags = {};
53
+ for (let i = 0; i < argv.length; i++) {
54
+ const tok = argv[i];
55
+ if (!tok.startsWith("--")) {
56
+ positional.push(tok);
57
+ continue;
58
+ }
59
+ const body = tok.slice(2);
60
+ const eq = body.indexOf("=");
61
+ if (eq >= 0) {
62
+ flags[body.slice(0, eq)] = body.slice(eq + 1);
63
+ continue;
64
+ }
65
+ // A flag takes the next token as its value UNLESS that token is itself a flag, which is
66
+ // what makes `--reuse --json` parse as two booleans rather than one flag valued "--json".
67
+ const next = argv[i + 1];
68
+ if (next !== undefined && !next.startsWith("--")) {
69
+ flags[body] = next;
70
+ i++;
71
+ }
72
+ else {
73
+ flags[body] = true;
74
+ }
75
+ }
76
+ return { cmd: positional[0], positional: positional.slice(1), flags };
77
+ }
78
+ /** `@file` reads a file, `-` reads stdin, anything else is parsed as inline JSON. */
79
+ export function readInput(spec, io) {
80
+ if (spec === undefined)
81
+ return { value: {} };
82
+ try {
83
+ if (spec === "-") {
84
+ const raw = io.stdin ? io.stdin() : readFileSync(0, "utf8");
85
+ return { value: JSON.parse(raw) };
86
+ }
87
+ if (spec.startsWith("@"))
88
+ return { value: JSON.parse(readFileSync(spec.slice(1), "utf8")) };
89
+ return { value: JSON.parse(spec) };
90
+ }
91
+ catch (e) {
92
+ return { error: `could not read --input: ${e instanceof Error ? e.message : String(e)}` };
93
+ }
94
+ }
95
+ const TERMINAL = new Set(["complete", "failed", "aborted"]);
96
+ function line(io, s) { io.err(s + "\n"); }
97
+ /** Print `data` as JSON on stdout, or hand back false so the caller can print a summary. */
98
+ function emitJson(io, wantJson, data) {
99
+ if (!wantJson)
100
+ return false;
101
+ io.out(JSON.stringify(data ?? null, null, 2) + "\n");
102
+ return true;
103
+ }
104
+ export async function runCli(argv, io) {
105
+ const { cmd, positional, flags } = parseArgs(argv);
106
+ const json = flags["json"] === true || flags["json"] === "true";
107
+ if (flags["version"]) {
108
+ io.out(COLTRANE_VERSION + "\n");
109
+ return 0;
110
+ }
111
+ if (cmd === undefined || flags["help"] || cmd === "help") {
112
+ io.out(USAGE);
113
+ return cmd === undefined ? 2 : 0;
114
+ }
115
+ const KNOWN = ["validate", "dispatch", "monitor", "logs", "abort", "trace", "simulate", "health", "serve"];
116
+ if (!KNOWN.includes(cmd)) {
117
+ line(io, `unknown command "${cmd}"\n`);
118
+ io.err(USAGE);
119
+ return 2;
120
+ }
121
+ if (cmd === "serve") {
122
+ // Handled by the entry shim, which must not have booted deps twice.
123
+ line(io, "coltrane serve is handled by the entrypoint");
124
+ return 2;
125
+ }
126
+ // Booting loads the genome and constructs the invoker, so it happens only after the command
127
+ // is known to be real — `--help` and a typo must not pay for it or fail inside it.
128
+ let deps;
129
+ try {
130
+ deps = io.deps ?? bootstrapServerDeps(typeof flags["genome"] === "string" ? flags["genome"] : undefined);
131
+ }
132
+ catch (e) {
133
+ line(io, `could not load the genome: ${e instanceof Error ? e.message : String(e)}`);
134
+ return 1;
135
+ }
136
+ const call = async (slug, args) => dispatchTool(slug, args, deps);
137
+ switch (cmd) {
138
+ // ── the CI gate ──────────────────────────────────────────────────────────
139
+ case "validate": {
140
+ const r = await call("genome_reload", {});
141
+ const data = r.data;
142
+ const errs = data?.load_errors ?? [];
143
+ if (emitJson(io, json, r.data))
144
+ return errs.length === 0 ? 0 : 1;
145
+ if (errs.length === 0) {
146
+ // `changes` is {added|modified|removed} -> {class -> slug[]}, so a count means summing
147
+ // the leaf arrays. Reporting a bare `undefined` here would be its own small dishonesty.
148
+ const c = data?.changes;
149
+ const counts = c
150
+ ? Object.entries(c)
151
+ .map(([k, byClass]) => [k, Object.values(byClass ?? {}).reduce((n, a2) => n + (a2?.length ?? 0), 0)])
152
+ .filter(([, n]) => n > 0)
153
+ .map(([k, n]) => `${n} ${k}`)
154
+ .join(", ")
155
+ : "";
156
+ io.out(`genome ok${counts ? ` — ${counts}` : ", no changes"}\n`);
157
+ return 0;
158
+ }
159
+ // Non-zero exit is the whole feature: this is what a CI job branches on.
160
+ line(io, `genome has ${errs.length} load error(s):`);
161
+ for (const e of errs)
162
+ line(io, ` ${typeof e === "string" ? e : JSON.stringify(e)}`);
163
+ return 1;
164
+ }
165
+ case "dispatch": {
166
+ const standard = positional[0];
167
+ if (!standard) {
168
+ line(io, "dispatch needs a standard slug");
169
+ return 2;
170
+ }
171
+ const input = readInput(typeof flags["input"] === "string" ? flags["input"] : undefined, io);
172
+ if (input.error) {
173
+ line(io, input.error);
174
+ return 2;
175
+ }
176
+ const args = { standard_slug: standard, input: input.value };
177
+ if (typeof flags["depth"] === "string")
178
+ args["depth"] = flags["depth"];
179
+ if (typeof flags["resume"] === "string")
180
+ args["resume_gig_id"] = flags["resume"];
181
+ if (flags["reuse"] === true)
182
+ args["reuse"] = true;
183
+ if (flags["wait"] === true)
184
+ args["wait"] = true;
185
+ if (typeof flags["budget"] === "string") {
186
+ const opening = Number(flags["budget"]);
187
+ if (!Number.isFinite(opening) || opening <= 0) {
188
+ line(io, `--budget must be a positive number`);
189
+ return 2;
190
+ }
191
+ args["budget"] = { opening };
192
+ }
193
+ const r = await call("gig_dispatch", args);
194
+ if (!r.ok) {
195
+ line(io, `dispatch failed: ${r.error ?? "unknown error"}`);
196
+ return 1;
197
+ }
198
+ const d = r.data;
199
+ for (const w of d.warnings ?? [])
200
+ line(io, `warning: ${w}`);
201
+ if (emitJson(io, json, r.data))
202
+ return 0;
203
+ // The gig id is the ONLY thing on stdout for a bare dispatch, so it pipes into the
204
+ // other subcommands without parsing.
205
+ io.out(d.gig_id + "\n");
206
+ if (d.manifest) {
207
+ const m = d.manifest;
208
+ line(io, `complete — ${m.output_count ?? 0} sealed output(s)` +
209
+ (m.usage?.total_cost_usd !== undefined ? `, $${m.usage.total_cost_usd.toFixed(2)}` : "") +
210
+ (m.run_fingerprint ? `, fingerprint ${m.run_fingerprint.slice(0, 12)}` : ""));
211
+ }
212
+ return 0;
213
+ }
214
+ case "monitor": {
215
+ const gig = positional[0];
216
+ if (!gig) {
217
+ line(io, "monitor needs a gig id");
218
+ return 2;
219
+ }
220
+ const follow = flags["follow"] === true;
221
+ for (;;) {
222
+ const r = await call("gig_monitor", { gig_id: gig });
223
+ if (!r.ok) {
224
+ line(io, `monitor failed: ${r.error ?? "unknown error"}`);
225
+ return 1;
226
+ }
227
+ const d = r.data;
228
+ if (!follow) {
229
+ if (emitJson(io, json, r.data))
230
+ return 0;
231
+ io.out(`${d.status ?? "unknown"} — ${d.phases_complete ?? 0} phase(s) complete` +
232
+ (d.current_phase ? `, in ${d.current_phase}` : "") + "\n");
233
+ return d.status === "failed" ? 1 : 0;
234
+ }
235
+ if (TERMINAL.has(String(d.status))) {
236
+ if (emitJson(io, json, r.data))
237
+ return d.status === "complete" ? 0 : 1;
238
+ io.out(`${d.status}\n`);
239
+ return d.status === "complete" ? 0 : 1;
240
+ }
241
+ line(io, `${d.status ?? "running"} — ${d.phases_complete ?? 0} phase(s)` +
242
+ (d.current_phase ? `, in ${d.current_phase}` : ""));
243
+ await new Promise((res) => setTimeout(res, 2000));
244
+ }
245
+ }
246
+ case "logs": {
247
+ const gig = positional[0];
248
+ if (!gig) {
249
+ line(io, "logs needs a gig id");
250
+ return 2;
251
+ }
252
+ const args = { gig_id: gig };
253
+ if (typeof flags["role"] === "string")
254
+ args["role"] = flags["role"];
255
+ const r = await call("gig_logs", args);
256
+ if (!r.ok) {
257
+ line(io, `logs failed: ${r.error ?? "unknown error"}`);
258
+ return 1;
259
+ }
260
+ if (emitJson(io, json, r.data))
261
+ return 0;
262
+ io.out(JSON.stringify(r.data, null, 2) + "\n");
263
+ return 0;
264
+ }
265
+ case "abort": {
266
+ const gig = positional[0];
267
+ if (!gig) {
268
+ line(io, "abort needs a gig id");
269
+ return 2;
270
+ }
271
+ const args = { gig_id: gig };
272
+ if (typeof flags["reason"] === "string")
273
+ args["reason"] = flags["reason"];
274
+ const r = await call("gig_abort", args);
275
+ if (!r.ok) {
276
+ line(io, `abort failed: ${r.error ?? "unknown error"}`);
277
+ return 1;
278
+ }
279
+ if (emitJson(io, json, r.data))
280
+ return 0;
281
+ const d = r.data;
282
+ io.out(`${d.status ?? "unknown"}\n`);
283
+ // `cancellable: false` means this process could not reach the run — worth saying, because
284
+ // "aborted" would otherwise imply we stopped something we never touched.
285
+ if (d.cancellable === false)
286
+ line(io, "note: this process held no handle on that gig; the ledger was marked, nothing was killed");
287
+ return 0;
288
+ }
289
+ case "trace": {
290
+ const id = positional[0];
291
+ if (!id) {
292
+ line(io, "trace needs an output id");
293
+ return 2;
294
+ }
295
+ const args = { output_id: id };
296
+ if (typeof flags["direction"] === "string")
297
+ args["direction"] = flags["direction"];
298
+ if (typeof flags["max-depth"] === "string")
299
+ args["max_depth"] = Number(flags["max-depth"]);
300
+ const r = await call("output_trace", args);
301
+ if (!r.ok) {
302
+ line(io, `trace failed: ${r.error ?? "unknown error"}`);
303
+ return 1;
304
+ }
305
+ if (emitJson(io, json, r.data))
306
+ return 0;
307
+ const d = r.data;
308
+ for (const n of d.graph?.nodes ?? []) {
309
+ io.out(`${n.id} ${n.domain_type}${n.agent_slug ? ` ${n.agent_slug}` : ""}\n`);
310
+ }
311
+ return 0;
312
+ }
313
+ case "simulate": {
314
+ const standard = positional[0];
315
+ if (!standard) {
316
+ line(io, "simulate needs a standard slug");
317
+ return 2;
318
+ }
319
+ const args = { standard_slug: standard };
320
+ if (typeof flags["depth"] === "string")
321
+ args["depth"] = flags["depth"];
322
+ const r = await call("standard_simulate", args);
323
+ if (!r.ok) {
324
+ line(io, `simulate failed: ${r.error ?? "unknown error"}`);
325
+ return 1;
326
+ }
327
+ if (emitJson(io, json, r.data))
328
+ return 0;
329
+ const d = r.data;
330
+ io.out(`${(d.phases ?? []).length} phase(s)` +
331
+ (d.estimated_cost !== undefined ? `, ~$${d.estimated_cost.toFixed(2)}` : "") +
332
+ (d.basis ? ` (${d.basis})` : "") + "\n");
333
+ return 0;
334
+ }
335
+ case "health": {
336
+ const args = {};
337
+ if (typeof flags["window"] === "string")
338
+ args["window"] = flags["window"];
339
+ const r = await call("system_health", args);
340
+ if (!r.ok) {
341
+ line(io, `health failed: ${r.error ?? "unknown error"}`);
342
+ return 1;
343
+ }
344
+ if (emitJson(io, json, r.data))
345
+ return 0;
346
+ const d = r.data;
347
+ io.out(`${d.gigs_run ?? 0} gig(s), $${(d.cost ?? 0).toFixed(2)}\n`);
348
+ if ((d.load_errors ?? []).length > 0)
349
+ line(io, `${(d.load_errors ?? []).length} genome load error(s)`);
350
+ // The engine refuses to claim its counts are whole; the CLI must not claim it for it.
351
+ if (d.counts_complete !== true && d.counts_complete_basis)
352
+ line(io, d.counts_complete_basis);
353
+ return 0;
354
+ }
355
+ }
356
+ return 2;
357
+ }
358
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * `coltrane` — the bin shim. Keeps process concerns (argv slicing, streams, exit codes,
4
+ * the stdio-server branch) out of `cli.ts`, which stays a pure function over an IO record
5
+ * so the whole command surface is testable without spawning anything.
6
+ */
7
+ import { runCli } from "./cli.js";
8
+ const argv = process.argv.slice(2);
9
+ // `serve` is the MCP stdio server. It owns stdin/stdout for the life of the process, so it
10
+ // cannot share the request/response shape the other commands use — it branches before them,
11
+ // and before any deps are built, so the genome is loaded exactly once.
12
+ if (argv[0] === "serve") {
13
+ const { runStdioServer } = await import("./server.js");
14
+ await runStdioServer();
15
+ }
16
+ else {
17
+ const code = await runCli(argv, {
18
+ out: (s) => process.stdout.write(s),
19
+ err: (s) => process.stderr.write(s),
20
+ });
21
+ process.exitCode = code;
22
+ }
23
+ //# sourceMappingURL=cli_entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli_entry.js","sourceRoot":"","sources":["../../src/cli_entry.ts"],"names":[],"mappings":";AACA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,2FAA2F;AAC3F,4FAA4F;AAC5F,uEAAuE;AACvE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IACxB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACvD,MAAM,cAAc,EAAE,CAAC;AACzB,CAAC;KAAM,CAAC;IACN,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE;QAC9B,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;KACpC,CAAC,CAAC;IACH,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC1B,CAAC"}
@@ -47,6 +47,8 @@ export declare function defineAgent(def: AgentDef): Agent;
47
47
  export declare function composeStandard(def: {
48
48
  slug: string;
49
49
  domain: string;
50
+ /** #203 — lifecycle, carried through so a composed standard cannot launder a deprecation. */
51
+ status?: "active" | "deprecated" | "retired";
50
52
  agents: readonly Agent[];
51
53
  phases: readonly PhaseDef[];
52
54
  eval_slugs?: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../src/composition.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,WAAW,EAA8E,MAAM,oBAAoB,CAAC;AAiF7H,MAAM,OAAO,gBAAiB,SAAQ,KAAK;CAAG;AAE9C,0FAA0F;AAC1F,kFAAkF;AAClF,2FAA2F;AAC3F,6FAA6F;AAC7F,sDAAsD;AACtD,MAAM,OAAO,qBAAsB,SAAQ,KAAK;CAAG;AAEnD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AACtD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAErE,MAAM,UAAU,WAAW,CAAC,GAAa;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC;IAC7B,+EAA+E;IAC/E,iFAAiF;IACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,gBAAgB,CACxB,SAAS,GAAG,CAAC,IAAI,wCAAwC,OAAO,KAAK,EAAE,CACxE,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,gBAAgB,CAAC,SAAS,GAAG,CAAC,IAAI,oBAAoB,CAAC,CAAC;IACpE,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,6EAA6E;IAC7E,yEAAyE;IACzE,4DAA4D;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACpB,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,gBAAgB,CACxB,SAAS,GAAG,CAAC,IAAI,wBAAwB,CAAC,oCAAoC,CAC/E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,gBAAgB,CAAC,SAAS,GAAG,CAAC,IAAI,iCAAiC,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,0FAA0F;IAC1F,2FAA2F;IAC3F,0FAA0F;IAC1F,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACnE,MAAM,IAAI,qBAAqB,CAAC,SAAS,GAAG,CAAC,IAAI,8EAA8E,CAAC,CAAC;IACnI,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/D,MAAM,IAAI,qBAAqB,CAAC,SAAS,GAAG,CAAC,IAAI,+EAA+E,CAAC,CAAC;IACpI,CAAC;IACD,4FAA4F;IAC5F,wFAAwF;IACxF,MAAM,EAAE,GAAG,GAAG,CAAC,qBAA8C,CAAC;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,qBAAqB,CAAC,SAAS,GAAG,CAAC,IAAI,sFAAsF,CAAC,CAAC;IAC3I,CAAC;IACD,0FAA0F;IAC1F,6FAA6F;IAC7F,gFAAgF;IAChF,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,qBAAqB,CAC7B,SAAS,GAAG,CAAC,IAAI,qEAAqE,EAAE,CAAC,MAAM,+BAA+B,CAC/H,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,qBAAqB,CAAC,SAAS,GAAG,CAAC,IAAI,gFAAgF,CAAC,CAAC;IACrI,CAAC;IAED,0FAA0F;IAC1F,4FAA4F;IAC5F,mGAAmG;IACnG,kGAAkG;IAClG,wFAAwF;IACxF,IAAI,MAAa,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,qBAAqB,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,gGAAgG;IAChG,8FAA8F;IAC9F,qFAAqF;IACrF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QACjD,CAAC,CAAC,MAAM,CAAC,YAAY;QACrB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO;QACL,GAAG,MAAM;QACT,YAAY;QACZ,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;QACzC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;QAC/C,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAU/B;IACC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,8EAA8E;IAC9E,+DAA+D;IAC/D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAmE,CAAC;QACnF,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,WAAW,MAAM,CAAC,IAAI,oEAAoE,CAC/G,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,WAAW,MAAM,CAAC,IAAI,oDAAoD,CAC/F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,yFAAyF;IACzF,6FAA6F;IAC7F,6FAA6F;IAC7F,8CAA8C;IAC9C,MAAM,MAAM,GAAe,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAG,CAAC,CAAC,MAAoC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,GAAG,EAAE;YACL,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;YACnB,UAAU,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE;YAC/B,UAAU,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE;YAC/B,cAAc,EAAE,EAAE,CAAC,cAAc,IAAI,EAAE;YACvC,eAAe,EAAE,EAAE,CAAC,eAAe,IAAI,EAAE;YACzC,eAAe,EAAE,EAAE,CAAC,eAAe,IAAI,EAAE;SAC1C,CAAC,CAAY;KACf,CAAC,CAAC,CAAC;IAEJ,8EAA8E;IAC9E,yCAAyC;IACzC,sEAAsE;IACtE,qEAAqE;IACrE,oEAAoE;IACpE,iDAAiD;IACjD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,oBAAoB;IACjE,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,IAAI,sDAAsD,CAC7F,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,qBAAqB,EAAE,CAAC,IAAI,kBAAkB,EAAE,CAAC,IAAI,EAAE,CAC5E,CAAC;YACJ,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,qBAAqB,EAAE,CAAC,IAAI,4BAA4B,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CACtG,CAAC;YACJ,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAEhC,sFAAsF;YACtF,oFAAoF;YACpF,yDAAyD;YACzD,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YACrE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gBAC1C,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,IAAI,+BAA+B,EAAE,CAAC,UAAU,mCAAmC,CACvH,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBAC/C,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,eAAe,EAAE,CAAC;oBACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;wBACtB,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,IAAI,qBAAqB,EAAE,kBAAkB,EAAE,CAAC,IAAI,oBAAoB,CAC5G,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,IAAI,uEAAuE,CAC/G,CAAC;YACJ,CAAC;YACD,sFAAsF;YACtF,yFAAyF;YACzF,wFAAwF;YACxF,uFAAuF;YACvF,uBAAuB;YACvB,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,IAAI,YAAY,GAAG,uCAAuC;wBAC3F,yDAAyD,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC5F,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,oFAAoF;YACpF,wFAAwF;YACxF,yFAAyF;YACzF,uFAAuF;YACvF,qFAAqF;YACrF,iFAAiF;YACjF,IAAI,EAAE,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnF,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,yBAAyB,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,eAAe,CAAC,MAAM,gBAAgB;oBACzG,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU;oBAC1G,uGAAuG;oBACvG,sBAAsB,CACzB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,gCAAgC;IAChC,kFAAkF;IAClF,6CAA6C;IAC7C,iDAAiD;IACjD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,qBAAqB;IACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,CAAC;YACnC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;gBAChC,IAAI,GAAG,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;oBACpB,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,IAAI,kCAAkC,CAC1E,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,IAAI,8BAA8B,GAAG,iCAAiC,CAC1G,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACjB,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,IAAI,YAAY,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,+BAA+B,GAAG,YAAY,MAAM,CAAC,QAAQ,CAAE,CAAC,IAAI,2DAA2D,CAClM,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,SAAS,GAAG,CAAC,IAAY;QACvB,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,+CAA+C,IAAI,QAAQ,GAAG,GAAG,CACtF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,KAAK,KAAK;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,iFAAiF;IACjF,sFAAsF;IACtF,8FAA8F;IAC9F,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC7C,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM;YAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3B,IAAI,EAAE,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,SAAS,CAAC,CAAC,CAAC,wCAAwC;YACrF,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,CAAC,QAAQ;oBAAE,SAAS,CAAC,yBAAyB;gBAClD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,eAAe;oBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,IAAI,8BAA8B,IAAI,qDAAqD,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAC1J,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,0EAA0E;IAC1E,4EAA4E;IAC5E,wEAAwE;IACxE,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3B,IAAI,EAAE,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,UAAU;gBAAE,SAAS,CAAC,+CAA+C;YAC9F,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAE,CAAC,CAAC,2BAA2B;YACvE,mEAAmE;YACnE,uEAAuE;YACvE,wEAAwE;YACxE,IAAI,EAAE,CAAC,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;gBAClD,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,CAC7F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,uFAAuF;IACvF,6FAA6F;IAC7F,wFAAwF;IACxF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,CAAC;IACxD,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAa,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACtB,uEAAuE;QACvE,qEAAqE;QACrE,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3B,IAAI,EAAE,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,UAAU;gBAAE,SAAS,CAAC,iDAAiD;YAChG,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACV,wFAAwF;gBACxF,sFAAsF;gBACtF,qFAAqF;gBACrF,yFAAyF;gBACzF,qFAAqF;gBACrF,uFAAuF;gBACvF,6FAA6F;gBAC7F,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;oBAC3C,CAAC,CAAC,EAAE,CAAC,cAAc;oBACnB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC1B,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;wBACnC,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,IAAI,UAAU,EAAE,wBAAwB,CAC3E,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,SAAS,IAAI,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,MAAM,qBAAqB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;gBACpG,MAAM,yBAAyB,GAAG,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClH,sFAAsF;gBACtF,wFAAwF;gBACxF,6BAA6B;gBAC7B,MAAM,oBAAoB,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjF,IAAI,CAAC,qBAAqB,IAAI,CAAC,yBAAyB,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAClF,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,uEAAuE,CAC1H,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7C,IAAI,uBAAuB,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrE,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,mDAAmD,CACtG,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,6EAA6E;QAC7E,+CAA+C;QAC/C,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3B,IAAI,EAAE,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;gBACpC,qFAAqF;gBACrF,iEAAiE;gBACjE,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,eAAe;oBAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7D,SAAS;YACX,CAAC;YACD,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU;gBAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,YAAY;gBAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,uFAAuF;IACvF,gGAAgG;IAChG,6FAA6F;IAC7F,iGAAiG;IACjG,4FAA4F;IAC5F,+FAA+F;IAC/F,4FAA4F;IAC5F,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;IACtD,SAAS,MAAM,CAAC,IAAY;QAC1B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,4DAA4D;QAC3F,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACX,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IAClD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IAClD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,eAAe;gBAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YACrG,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,cAAc;gBAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IACD,yFAAyF;IACzF,8FAA8F;IAC9F,MAAM,eAAe,GAAG,CAAC,CAAS,EAAW,EAAE;QAC7C,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACzC,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC5B,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC5B,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrB,wFAAwF;gBACxF,yFAAyF;gBACzF,2FAA2F;gBAC3F,sFAAsF;gBACtF,yFAAyF;gBACzF,MAAM,aAAa,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC/D,MAAM,aAAa,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC/D,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa;oBAAE,SAAS;gBAC/C,0FAA0F;gBAC1F,IAAI,eAAe,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;gBACnC,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,aAAa,EAAE,CAAC;oBAClB,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;wBAC5C,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;4BACpC,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gCAClB,MAAM,IAAI,gBAAgB,CACxB,YAAY,GAAG,CAAC,IAAI,4BAA4B,EAAE,CAAC,IAAI,QAAQ,QAAQ,EAAE,CAC1E,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,+FAA+F;IAC/F,gGAAgG;IAChG,mGAAmG;IACnG,uGAAuG;IACvG,MAAM,GAAG,GAAa,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC;IAC3E,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../src/composition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function writeFileAtomic(file: string, text: string): void;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Atomic file replacement — write to a unique temp path, then rename over the destination.
3
+ *
4
+ * rename(2) is atomic within a filesystem, so a concurrent reader sees the OLD bytes or the NEW
5
+ * bytes and never a mixture. A bare `writeFileSync` gives no such guarantee: interrupted partway
6
+ * (crash, SIGKILL, ENOSPC) it leaves a truncated file where a valid one used to be.
7
+ *
8
+ * This exists as a shared primitive because both callers that need it are load-bearing and were
9
+ * getting different answers:
10
+ *
11
+ * - the checkpoint store (reuse.ts) already did this, with the reasoning written down: "a torn
12
+ * checkpoint would be read as damage and refuse a resume that was, in fact, resumable".
13
+ * - the GENOME writer (genome_writer.ts) did not, and it is the more consequential of the two.
14
+ * `sealDefinition` records a definition's identity in the ledger BEFORE writing the file
15
+ * (#218), deliberately, because the reverse order manufactures a definition with no recorded
16
+ * identity. That ordering is only safe if the write itself either happens or does not. A torn
17
+ * genome write leaves the ledger asserting a definition at a content hash whose bytes on disk
18
+ * hash to something else — the engine's core provenance claim, broken silently.
19
+ *
20
+ * Two implementations of one concern, one of them documented and one of them absent, is the same
21
+ * shape as the two identity gates that disagreed in the resume work.
22
+ */
23
+ import { mkdirSync, writeFileSync, renameSync } from "node:fs";
24
+ import { dirname } from "node:path";
25
+ import { randomUUID } from "node:crypto";
26
+ export function writeFileAtomic(file, text) {
27
+ mkdirSync(dirname(file), { recursive: true });
28
+ // randomUUID, not pid: two containers sharing a mounted volume routinely both have low pids,
29
+ // and a colliding temp name lets one process's torn write get renamed over the real file.
30
+ const tmp = `${file}.${randomUUID()}.tmp`;
31
+ writeFileSync(tmp, text, "utf8");
32
+ renameSync(tmp, file);
33
+ }
34
+ //# sourceMappingURL=fs_atomic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs_atomic.js","sourceRoot":"","sources":["../../src/fs_atomic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,IAAY;IACxD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,6FAA6F;IAC7F,0FAA0F;IAC1F,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,UAAU,EAAE,MAAM,CAAC;IAC1C,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC"}
@@ -197,9 +197,12 @@ export declare const PhaseSchema: z.ZodObject<{
197
197
  required_skills?: string[] | undefined;
198
198
  }[];
199
199
  }>;
200
+ /** Lifecycle status, shared by domain types and standards (#203). */
201
+ export declare const DomainTypeStatusSchema: z.ZodEnum<["active", "deprecated", "retired"]>;
200
202
  export declare const StandardSchema: z.ZodObject<{
201
203
  slug: z.ZodString;
202
204
  domain: z.ZodString;
205
+ status: z.ZodOptional<z.ZodEnum<["active", "deprecated", "retired"]>>;
203
206
  agents: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
204
207
  agent_slugs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
205
208
  phases: z.ZodArray<z.ZodObject<{
@@ -278,6 +281,7 @@ export declare const StandardSchema: z.ZodObject<{
278
281
  skill_slug?: string | undefined;
279
282
  }[];
280
283
  }[];
284
+ status?: "active" | "retired" | "deprecated" | undefined;
281
285
  input_types?: readonly string[] | undefined;
282
286
  output_types?: readonly string[] | undefined;
283
287
  agents?: unknown[] | undefined;
@@ -301,6 +305,7 @@ export declare const StandardSchema: z.ZodObject<{
301
305
  required_skills?: string[] | undefined;
302
306
  }[];
303
307
  }[];
308
+ status?: "active" | "retired" | "deprecated" | undefined;
304
309
  input_types?: readonly string[] | undefined;
305
310
  output_types?: readonly string[] | undefined;
306
311
  agents?: unknown[] | undefined;
@@ -474,7 +479,6 @@ export declare const EvalSchema: z.ZodObject<{
474
479
  non_empty_fields?: string[] | undefined;
475
480
  asserts?: string | undefined;
476
481
  }>;
477
- export declare const DomainTypeStatusSchema: z.ZodEnum<["active", "deprecated", "retired"]>;
478
482
  export declare const DomainTypeSchema: z.ZodObject<{
479
483
  slug: z.ZodString;
480
484
  version: z.ZodDefault<z.ZodNumber>;
@@ -60,9 +60,21 @@ export const ChairSchema = z.object({
60
60
  required_skills: z.array(z.string()).default([]),
61
61
  });
62
62
  export const PhaseSchema = z.object({ name: z.string(), chairs: z.array(ChairSchema) });
63
+ /** Lifecycle status, shared by domain types and standards (#203). */
64
+ export const DomainTypeStatusSchema = z.enum(["active", "deprecated", "retired"]);
63
65
  export const StandardSchema = z.object({
64
66
  slug: z.string(),
65
67
  domain: z.string(),
68
+ // #203 — a lifecycle field the loader used to STRIP. An author could mark a standard
69
+ // deprecated, see the edit accepted, and watch it stay dispatchable with nothing saying
70
+ // otherwise; the loader models what it models and silently discards the rest.
71
+ //
72
+ // OPTIONAL rather than defaulted, deliberately. A default here would make `status`
73
+ // required on the runtime `Standard` type, which every hand-rolled literal (34 of them in
74
+ // the suite alone) would then have to restate — noise that teaches nobody anything. The
75
+ // LOADER applies the default, so a standard read from disk always carries one and a
76
+ // standard built in memory need not care.
77
+ status: DomainTypeStatusSchema.optional(),
66
78
  agents: z.array(z.unknown()).optional(), // compose input (agent slugs/objects)
67
79
  agent_slugs: z.array(z.string()).optional(), // the file shape (resolved to agents on load)
68
80
  phases: z.array(PhaseSchema),
@@ -122,7 +134,6 @@ export const EvalSchema = z.object({
122
134
  // and type_register's MCP surface is generated from it. version/status default (every on-disk
123
135
  // file carries version:1 + status:"active"), so z.output has them present — the loader keys on
124
136
  // `slug@version` and reads status — while z.input leaves them optional for the register op. ──
125
- export const DomainTypeStatusSchema = z.enum(["active", "deprecated", "retired"]);
126
137
  export const DomainTypeSchema = z.object({
127
138
  slug: z.string(),
128
139
  version: z.number().default(1),