@eir-labs/coltrane 0.10.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/bandleader.json +54 -0
- package/agents/bill.json +4 -2
- package/agents/change-verifier.json +2 -1
- package/agents/code-implementer.json +7 -4
- package/agents/john.json +5 -3
- package/agents/lineage-scout-external.json +19 -6
- package/agents/lineage-scribe.json +20 -9
- package/agents/lineage-weaver.json +26 -11
- package/agents/miles.json +2 -1
- package/agents/players/bandleader.md +70 -0
- package/agents/pr-publisher.json +4 -2
- package/agents/red-spec-drafter.json +12 -6
- package/agents/room-prober.json +29 -0
- package/agents/source-walker.json +1 -1
- package/charts/room-probe-chart-v1.json +14 -0
- package/charts/worker-contract-docker-v2.json +135 -0
- package/charts/worker-contract-v3.json +206 -0
- package/dist/src/boundary_check.d.ts +18 -0
- package/dist/src/boundary_check.js +70 -0
- package/dist/src/boundary_check.js.map +1 -0
- package/dist/src/boundary_scan.d.ts +62 -0
- package/dist/src/boundary_scan.js +93 -0
- package/dist/src/boundary_scan.js.map +1 -0
- package/dist/src/chart.js +34 -1
- package/dist/src/chart.js.map +1 -1
- package/dist/src/claude_invoker.d.ts +2 -13
- package/dist/src/claude_invoker.js +242 -18
- package/dist/src/claude_invoker.js.map +1 -1
- package/dist/src/cli.d.ts +1 -1
- package/dist/src/cli.js +115 -27
- package/dist/src/cli.js.map +1 -1
- package/dist/src/drain_preflight.d.ts +33 -0
- package/dist/src/drain_preflight.js +97 -0
- package/dist/src/drain_preflight.js.map +1 -0
- package/dist/src/genome_schema.d.ts +390 -9
- package/dist/src/genome_schema.js +163 -8
- package/dist/src/genome_schema.js.map +1 -1
- package/dist/src/genome_store.js +9 -0
- package/dist/src/genome_store.js.map +1 -1
- package/dist/src/genome_writer.d.ts +1 -1
- package/dist/src/genome_writer.js +10 -2
- package/dist/src/genome_writer.js.map +1 -1
- package/dist/src/gig_conformance.d.ts +66 -0
- package/dist/src/gig_conformance.js +153 -0
- package/dist/src/gig_conformance.js.map +1 -0
- package/dist/src/gig_tracker.js +8 -0
- package/dist/src/gig_tracker.js.map +1 -1
- package/dist/src/grounding.d.ts +44 -0
- package/dist/src/grounding.js +127 -0
- package/dist/src/grounding.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/institution_loader.d.ts +29 -5
- package/dist/src/institution_loader.js +67 -6
- package/dist/src/institution_loader.js.map +1 -1
- package/dist/src/lineage_adoption.d.ts +82 -0
- package/dist/src/lineage_adoption.js +82 -0
- package/dist/src/lineage_adoption.js.map +1 -0
- package/dist/src/lineage_persist.d.ts +34 -0
- package/dist/src/lineage_persist.js +60 -0
- package/dist/src/lineage_persist.js.map +1 -0
- package/dist/src/loader.d.ts +13 -0
- package/dist/src/loader.js +43 -2
- package/dist/src/loader.js.map +1 -1
- package/dist/src/local_queue.d.ts +105 -0
- package/dist/src/local_queue.js +380 -0
- package/dist/src/local_queue.js.map +1 -0
- package/dist/src/mcp.js +37 -4
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/org_hire.d.ts +23 -0
- package/dist/src/org_hire.js +42 -0
- package/dist/src/org_hire.js.map +1 -0
- package/dist/src/outputs.d.ts +17 -0
- package/dist/src/outputs.js +86 -1
- package/dist/src/outputs.js.map +1 -1
- package/dist/src/player_to_claude_code.js +26 -2
- package/dist/src/player_to_claude_code.js.map +1 -1
- package/dist/src/registry.d.ts +3 -1
- package/dist/src/registry.js +43 -3
- package/dist/src/registry.js.map +1 -1
- package/dist/src/repo_index.d.ts +58 -0
- package/dist/src/repo_index.js +232 -0
- package/dist/src/repo_index.js.map +1 -0
- package/dist/src/residency.d.ts +149 -0
- package/dist/src/residency.js +283 -0
- package/dist/src/residency.js.map +1 -0
- package/dist/src/reuse.d.ts +44 -4
- package/dist/src/reuse.js +0 -0
- package/dist/src/reuse.js.map +1 -1
- package/dist/src/runtime.d.ts +82 -0
- package/dist/src/runtime.js +254 -25
- package/dist/src/runtime.js.map +1 -1
- package/dist/src/server.d.ts +37 -0
- package/dist/src/server.js +422 -11
- package/dist/src/server.js.map +1 -1
- package/dist/src/server_relay.d.ts +40 -2
- package/dist/src/server_relay.js +186 -19
- package/dist/src/server_relay.js.map +1 -1
- package/dist/src/tool_providers.d.ts +27 -0
- package/dist/src/tool_providers.js +48 -0
- package/dist/src/tool_providers.js.map +1 -1
- package/dist/src/venue_credential.d.ts +41 -0
- package/dist/src/venue_credential.js +57 -0
- package/dist/src/venue_credential.js.map +1 -0
- package/dist/src/venue_realize.d.ts +23 -0
- package/dist/src/venue_realize.js +43 -3
- package/dist/src/venue_realize.js.map +1 -1
- package/dist/src/venue_realizer.d.ts +224 -0
- package/dist/src/venue_realizer.js +889 -0
- package/dist/src/venue_realizer.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/worker.d.ts +57 -0
- package/dist/src/worker.js +155 -24
- package/dist/src/worker.js.map +1 -1
- package/dist/src/worker_env.d.ts +79 -0
- package/dist/src/worker_env.js +322 -0
- package/dist/src/worker_env.js.map +1 -0
- package/dist/src/workspace.d.ts +12 -1
- package/dist/src/workspace.js +10 -3
- package/dist/src/workspace.js.map +1 -1
- package/domain_types/change-context.json +59 -13
- package/domain_types/lineage-adoption-target.json +22 -0
- package/domain_types/lineage-map.json +7 -2
- package/domain_types/lineage-record.json +55 -5
- package/domain_types/prior-art-hit.json +16 -1
- package/domain_types/red-spec.json +5 -3
- package/domain_types/woodshed-record.json +149 -0
- package/evals/gist-present.json +7 -0
- package/institutions/coltrane.json +178 -6
- package/package.json +6 -3
- package/skills/non-vacuity-probe/fixtures/fixture-001.json +17 -0
- package/skills/non-vacuity-probe/meta.json +12 -0
- package/skills/non-vacuity-probe/skill.md +27 -0
- package/skills/non-vacuity-probe/skill.mjs +81 -0
- package/standards/lineage-adopt-v0.json +37 -0
- package/standards/room-probe-v1.json +28 -0
- package/standards/software-change-pr-v1.json +15 -15
- package/standards/software-change-red-first-v0.json +183 -0
- package/standards/spec-review-and-sequence-v0.json +112 -0
- package/standards/studio-session-v0.json +101 -0
- package/tours/coltrane.json +72 -0
- package/venues/engine-room-v1.json +32 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boundary_scan.js","sourceRoot":"","sources":["../../src/boundary_scan.ts"],"names":[],"mappings":"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"}
|
package/dist/src/chart.js
CHANGED
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
// verified by a deliver-phase verdict (7/7) and approved by the governor. The ChartSchema itself
|
|
26
26
|
// lives with every other genome class in src/genome_schema.ts — one Zod source, no exceptions.
|
|
27
27
|
import { randomUUID } from "node:crypto";
|
|
28
|
+
import { z } from "zod";
|
|
28
29
|
import { ChartSchema } from "./genome_schema.js";
|
|
29
30
|
import { toolBaseName } from "./tool_providers.js";
|
|
30
31
|
import { composeMovementGigId } from "./outputs.js";
|
|
@@ -220,6 +221,32 @@ export function chartEntrySeedTypes(chart, standards) {
|
|
|
220
221
|
}
|
|
221
222
|
return [...seeds];
|
|
222
223
|
}
|
|
224
|
+
/** When a Zod refusal carries BOTH an unrecognized key K and a missing required field F — in the
|
|
225
|
+
* SAME object — such that F ends with K (`movement_id`.endsWith(`id`)), the author almost certainly
|
|
226
|
+
* meant F. Return a phrase linking the two so the R0 detail can name the near-miss. Suffix
|
|
227
|
+
* containment covers the reported pair (`id` → `movement_id`) with no string-distance dependency;
|
|
228
|
+
* matching within one object path guards against pairing keys from two unrelated movements. */
|
|
229
|
+
function describeNearMiss(issues) {
|
|
230
|
+
const unrecognized = [];
|
|
231
|
+
const required = [];
|
|
232
|
+
for (const iss of issues) {
|
|
233
|
+
if (iss.code === "unrecognized_keys") {
|
|
234
|
+
for (const k of iss.keys)
|
|
235
|
+
unrecognized.push({ key: k, parent: iss.path.join(".") });
|
|
236
|
+
}
|
|
237
|
+
else if (iss.code === "invalid_type" && iss.received === "undefined") {
|
|
238
|
+
const field = iss.path[iss.path.length - 1];
|
|
239
|
+
if (typeof field === "string")
|
|
240
|
+
required.push({ field, parent: iss.path.slice(0, -1).join(".") });
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
for (const u of unrecognized) {
|
|
244
|
+
const hit = required.find((r) => r.parent === u.parent && r.field !== u.key && r.field.endsWith(u.key));
|
|
245
|
+
if (hit)
|
|
246
|
+
return `unrecognized key "${u.key}" is a near-miss for the required key "${hit.field}" — did you mean "${hit.field}"?`;
|
|
247
|
+
}
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
223
250
|
export function composeChart(input) {
|
|
224
251
|
const V = (v) => ({ ok: false, violations: v });
|
|
225
252
|
// ── R0 schema ────────────────────────────────────────────────────────────────────────────────
|
|
@@ -229,7 +256,13 @@ export function composeChart(input) {
|
|
|
229
256
|
chart = ChartSchema.parse(input.chart);
|
|
230
257
|
}
|
|
231
258
|
catch (e) {
|
|
232
|
-
|
|
259
|
+
const base = `chart does not parse: ${e instanceof Error ? e.message : String(e)}`;
|
|
260
|
+
// The schema already knows the expected key. When the refusal carries an unrecognized key that
|
|
261
|
+
// is a near-miss for a missing required one (e.g. a movement keyed `id` where `movement_id` is
|
|
262
|
+
// required), name it — the refusal still stands, but the author is told which key was meant
|
|
263
|
+
// instead of being left to reconcile two unrelated Zod lines.
|
|
264
|
+
const nearMiss = e instanceof z.ZodError ? describeNearMiss(e.issues) : null;
|
|
265
|
+
return V([{ rule: "R0", detail: nearMiss ? `${base} — ${nearMiss}` : base }]);
|
|
233
266
|
}
|
|
234
267
|
// ── R1 movement_id uniqueness (and addressability) ───────────────────────────────────────────
|
|
235
268
|
// Must fire before every rule that keys on movement_id — which, after R1, is all of them.
|
package/dist/src/chart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/chart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/chart.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,EAAE;AACF,mGAAmG;AACnG,kGAAkG;AAClG,mGAAmG;AACnG,8FAA8F;AAC9F,mGAAmG;AACnG,2EAA2E;AAC3E,EAAE;AACF,6EAA6E;AAC7E,EAAE;AACF,kGAAkG;AAClG,kGAAkG;AAClG,iGAAiG;AACjG,oGAAoG;AACpG,0FAA0F;AAC1F,+FAA+F;AAC/F,2DAA2D;AAC3D,oGAAoG;AACpG,+FAA+F;AAC/F,iGAAiG;AACjG,iGAAiG;AACjG,EAAE;AACF,gGAAgG;AAChG,iGAAiG;AACjG,+FAA+F;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAA2G,MAAM,oBAAoB,CAAC;AAC1J,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAqB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAoF,MAAM,YAAY,CAAC;AACvJ,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,aAAa,EAAgC,MAAM,cAAc,CAAC;AACvI,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA0EpD,kGAAkG;AAClG,WAAW;AACX,kGAAkG;AAElG,8FAA8F;AAC9F,MAAM,UAAU,iBAAiB,CAAC,KAIjC;IACC,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AACvH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,SAAS,CAAC,IAGzB;IACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;IAC9C,gGAAgG;IAChG,iGAAiG;IACjG,+EAA+E;IAC/E,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC5D,IAAI,EAAE,CAAC;IACV,4FAA4F;IAC5F,8FAA8F;IAC9F,yFAAyF;IACzF,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACtF,IAAI,EAAE,CAAC;IACV,4FAA4F;IAC5F,kGAAkG;IAClG,kGAAkG;IAClG,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;SACpF,IAAI,EAAE,CAAC;IACV,OAAO,SAAS,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,aAAqB,EAAE,SAAmC;IACxF,OAAO,WAAW,CAAC,KAAK,CAAC;QACvB,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC;KAC3F,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAA6E;IAG1G,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,GAAG,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qDAAqD,GAAG,qBAAqB,KAAK,kFAAkF,EAAE,CAAC;IACpM,CAAC;IACD,IAAI,GAAG,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uFAAuF,EAAE,CAAC;IACvH,CAAC;IACD,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC3G,CAAC;AAED,kGAAkG;AAClG,qCAAqC;AACrC,kGAAkG;AAElG,gGAAgG;AAChG,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,iFAAiF;AACjF,SAAS,aAAa,CAAC,QAAkB;IACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,MAAM;QAAE,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM;YAAE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,MAAM;QAAE,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3G,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,QAAkB;IAClC,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,WAAW,CAAC,QAAkB;IACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,SAAS;QACrC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,eAAe;YAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,QAAkB;IACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAAE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,eAAe;YAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YACxD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAY,EAAE,KAAY;IAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAY,EAAE,SAAwC;IACxF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;YAAE,SAAS;QAC7C,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,WAAW,IAAI,EAAE;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;;;;gGAIgG;AAChG,SAAS,gBAAgB,CAAC,MAA6B;IACrD,MAAM,YAAY,GAAsC,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAwC,EAAE,CAAC;IACzD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI;gBAAE,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACvE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxG,IAAI,GAAG;YAAE,OAAO,qBAAqB,CAAC,CAAC,GAAG,0CAA0C,GAAG,CAAC,KAAK,qBAAqB,GAAG,CAAC,KAAK,IAAI,CAAC;IAClI,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,CAAC,GAAG,CAAC,CAAmB,EAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAEpF,gGAAgG;IAChG,wDAAwD;IACxD,IAAI,KAAY,CAAC;IACjB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,yBAAyB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,+FAA+F;QAC/F,+FAA+F;QAC/F,4FAA4F;QAC5F,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,gGAAgG;IAChG,0FAA0F;IAC1F,CAAC;QACC,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,0BAA0B,CAAC,CAAC,WAAW,2HAA2H,EAAE,CAAC,CAAC;YAC1O,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC1C,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,WAAW,oDAAoD,MAAM,CAAC,gBAAgB,CAAC,mHAAmH,EAAE,CAAC,CAAC;YACpS,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,gGAAgG;IAChG,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,CAAC;QACC,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,aAAa,kBAAkB,CAAC,CAAC,WAAW,4CAA4C,EAAE,CAAC,CAAC;gBACrL,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,gGAAgG;IAChG,6FAA6F;IAC7F,kFAAkF;IAClF,CAAC;QACC,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,WAAW,kBAAkB,CAAC,CAAC,KAAK,sBAAsB,CAAC,CAAC,QAAQ,CAAC,IAAI,yCAAyC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClO,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpD,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,WAAW,kBAAkB,CAAC,CAAC,UAAU,eAAe,CAAC,CAAC,KAAK,6DAA6D,EAAE,CAAC,CAAC;gBACnN,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,gGAAgG;IAChG,8FAA8F;IAC9F,8DAA8D;IAC9D,CAAC;QACC,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,CAAU,EAAE,CAAC;gBACvG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAClB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;gBACnM,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,eAAe,CAAC,CAAU,EAAE,CAAC;gBACjH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAClB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,OAAO,kCAAkC,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC7I,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,gGAAgG;IAChG,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,CAAC;QACC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAsB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,GAAG,EAAU,CAAC,CAAC,CAAC,CAAC;QAClG,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1E,iGAAiG;QACjG,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc;YAAE,IAAI,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,eAAe;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAEpI,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAiB,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAA2B,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAQ,EAAE;YACjC,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrC,IAAI,KAAK;oBAAE,MAAM;gBACjB,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBAC/E,IAAI,CAAC,KAAK,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACD,KAAK,CAAC,GAAG,EAAE,CAAC;YACZ,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACrB,gFAAgF;YAChF,IAAI,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,8EAA8E;QAC9E,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,KAAK;gBAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACvF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;QACnH,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,gGAAgG;IAChG,+FAA+F;IAC/F,kGAAkG;IAClG,MAAM,gBAAgB,GAAqB,EAAE,CAAC;IAC9C,CAAC;QACC,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAE,CAAC;YACvC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACzG,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChC,oFAAoF;gBACpF,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBAClD,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACxB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,aAAa,YAAY,CAAC,CAAC,WAAW,wMAAwM,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;oBACzU,SAAS;gBACX,CAAC;gBACD,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,WAAW,kCAAkC,CAAC,CAAC,aAAa,gBAAgB,GAAG,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,mFAAmF,EAAE,CAAC,CAAC;QACxT,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,gGAAgG;IAChG,iGAAiG;IACjG,yFAAyF;IACzF,CAAC;QACC,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QACnD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,gBAAgB;gBAAE,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;oBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACpH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,gBAAgB;gBAAE,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;oBAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAClI,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YACpD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACrE,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gCAAgC,IAAI,6DAA6D,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvJ,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC,WAAW,YAAY,IAAI,mIAAmI,eAAe,EAAE,EAAE,CAAC,CAAC;YACjR,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,gGAAgG;IAChG,gGAAgG;IAChG,+EAA+E;IAC/E,CAAC;QACC,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC,OAAO,4FAA4F,EAAE,CAAC,CAAC;YAC3L,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACpB,IAAI,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC3C,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,OAAO,qBAAqB,CAAC,CAAC,eAAe,2CAA2C,EAAE,CAAC,CAAC;YACnK,CAAC;YACD,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;gBACvD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvB,IAAI,CAAC,CAAC;oBAAE,SAAS,CAAC,yBAAyB;gBAC3C,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtC,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC/C,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,OAAO,mDAAmD,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,+BAA+B,CAAC,CAAC,OAAO,4DAA4D,EAAE,CAAC,CAAC;oBAC7Q,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,gGAAgG;IAChG,0FAA0F;IAC1F,qCAAqC;IACrC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,8EAA8E,MAAM,CAAC,KAAK,CAAC,2DAA2D,EAAE,CAAC,CAAC,CAAC;QAC7L,CAAC;IACH,CAAC;IAED,gGAAgG;IAChG,gGAAgG;IAChG,yFAAyF;IACzF,iGAAiG;IACjG,2FAA2F;IAC3F,gGAAgG;IAChG,kFAAkF;IAClF,EAAE;IACF,4FAA4F;IAC5F,kGAAkG;IAClG,kFAAkF;IAClF,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,CAAC,CAAC;oBACR,IAAI,EAAE,KAAK;oBACX,MAAM,EACJ,kBAAkB,KAAK,CAAC,KAAK,uEAAuE;wBACpG,sGAAsG;wBACtG,mEAAmE;iBACtE,CAAC,CAAC,CAAC;QACN,CAAC;QACD,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,2FAA2F;YAC3F,+EAA+E;YAC/E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC1C,IAAI,CAAC;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC;gBACrC,4FAA4F;gBAC5F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAClC,IAAI,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;oBAAE,SAAS;gBACvD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,MAAM,EACJ,UAAU,KAAK,CAAC,IAAI,oBAAoB,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,WAAW,gBAAgB;wBAC7F,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,OAAO;wBAC9G,4GAA4G;wBAC5G,wGAAwG;wBACxG,+CAA+C;iBAClD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,GAAc;QACtB,KAAK;QACL,SAAS,EAAE,QAAQ;QACnB,KAAK;QACL,gBAAgB;QAChB,4FAA4F;QAC5F,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KACtD,CAAC;IACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED,kGAAkG;AAClG,UAAU;AACV,kGAAkG;AAElG;iGACiG;AACjG,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,iGAAiG;AACjG,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,GAAG,MAAM,QAAQ,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,IAAsB,EAAE,MAAc,EAAE,WAAmB;IACvF,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC5F,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,oBAAoB,CAAC,IAAsB,EAAE,MAAc,EAAE,WAAmB;IAC9F,OAAO,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AA6CD;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAe,EAAE,UAAmC,EAAE,IAAa;IACxF,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;QAC9B,WAAW,EAAE,IAAI,CAAC,UAAU;QAC5B,aAAa,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC9F,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC/C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,SAAS;QAC9C,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,sBAAsB,EAAE,sBAAsB;KAC/C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAe,EACf,UAAmC,EACnC,IAAa;IAEb,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QACpG,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,4CAA4C,IAAI,CAAC,MAAM,+EAA+E,CAAC,CAAC;IACpL,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEvC,mFAAmF;IACnF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4D,CAAC;IACrF,mFAAmF;IACnF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsF,CAAC;IACpH,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,cAAc,GAAG,UAAU,CAAC;IAEhC,iGAAiG;IACjG,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,kEAAkE,CAAC,CAAC;QAC3H,IAAI,EAA6B,CAAC;QAClC,IAAI,CAAC;YACH,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,4CAA4C,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5H,CAAC;QACD,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,EAAE,CAAC,cAAc,KAAK,yBAAyB,EAAE,CAAC;gBACpD,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,mCAAmC,EAAE,CAAC,cAAc,2BAA2B,yBAAyB,EAAE,CAAC,CAAC;YAC9I,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,EAAG,CAAC,QAA+C,CAAC,CAAC,CAAC,KAAM,QAA+C,CAAC,CAAC,CAAC,CAAC;iBAC9H,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAE,EAAG,CAAC,QAA+C,CAAC,CAAC,CAAC,CAAC,cAAc,MAAM,CAAE,QAA+C,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAChL,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,mDAAmD,EAAE,KAAK,CAAC,CAAC;YAClH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAChE,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzG,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,wCAAwC,GAAG,CAAC,IAAI,sCAAsC,CAAC,CAAC;gBAC1H,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;gBAC5G,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,oCAAoC,MAAM,sCAAsC,CAAC,CAAC;gBACpH,CAAC;gBACD,MAAM,OAAO,GAAmB,EAAE,CAAC;gBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC;oBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACjC,IAAI,CAAC,GAAG;wBAAE,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,sCAAsC,EAAE,mBAAmB,GAAG,CAAC,IAAI,2CAA2C,CAAC,CAAC;oBAC1J,IAAI,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;wBAAE,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,gBAAgB,GAAG,CAAC,IAAI,8FAA8F,CAAC,CAAC;oBAClN,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACzD,IAAI,EAAE,KAAK,EAAE;wBAAE,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,6CAA6C,GAAG,CAAC,WAAW,gBAAgB,GAAG,CAAC,IAAI,4CAA4C,CAAC,CAAC;oBACjL,IAAI,EAAE,KAAK,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBAAE,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,WAAW,gBAAgB,GAAG,CAAC,IAAI,mDAAmD,CAAC,CAAC;oBAC1K,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,IAAI,IAAI,EAAE,CAAC;oBACT,qFAAqF;oBACrF,uFAAuF;oBACvF,qCAAqC;oBACrC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;oBACxB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9H,SAAS;gBACX,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,aAAa,GAAG,EAAE,CAAC,kBAAkB,EAAE,SAAS,IAAI,CAAC,CAAC;YACtD,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC;QACjC,CAAC;aAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACvB,uFAAuF;YACvF,wFAAwF;YACxF,oFAAoF;YACpF,2FAA2F;YAC3F,oFAAoF;YACpF,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtD,IAAI,CAAC;oBAAC,OAAO,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,SAAS,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,KAAK,CAAC;gBAAC,CAAC;YACjI,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,2EAA2E,CAAC,CAAC;YAC/G,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAA4B,CAAC;IACjD,MAAM,aAAa,GAAsF,EAAE,CAAC;IAC5G,IAAI,QAAQ,GAAG,aAAa,CAAC;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,SAAS,CAAC;IAEvD,kGAAkG;IAClG,MAAM,mBAAmB,GAAG,GAAS,EAAE;QACrC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,UAAU;YAAE,OAAO;QAC5C,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;gBAAE,SAAS;YAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CACR,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;gBAC/B,CAAC,CAAC,KAAK,CAAC,GAAG;gBACX,CAAC,CAAC;oBACE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE;oBACnD,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;oBACnD,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;oBACnD,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;oBACtF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CACN,CAAC;QACJ,CAAC;QACD,yFAAyF;QACzF,2CAA2C;QAC3C,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,GAAG,eAAe,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM;gBACrD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;gBACtF,iBAAiB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAClE,SAAS,EAAE,GAAG,CAAC,UAAU;aAC1B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,sFAAsF;QACtF,oFAAoF;QACpF,MAAM,kBAAkB,GAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACrE,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBACrB,cAAc,EAAE,yBAAyB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACjE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAChE,KAAK;gBACL,kBAAkB;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAC,2FAA2F,CAAC,CAAC;IACzG,CAAC,CAAC;IAEF,qGAAqG;IACrG,MAAM,WAAW,GAAG,CAAC,WAAmB,EAAkB,EAAE;QAC1D,MAAM,GAAG,GAAmB,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,WAAW,KAAK,WAAW;gBAAE,SAAS;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,2FAA2F;YAC3F,4FAA4F;YAC5F,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC;oBAAE,SAAS;gBACvD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,EAAE,IAAuB,EAAE,QAA0B,EAAwB,EAAE;QAC/F,mBAAmB,EAAE,CAAC;QACtB,8FAA8F;QAC9F,gGAAgG;QAChG,6DAA6D;QAC7D,MAAM,cAAc,CAAC;YACnB,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB;YAC9D,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC/F,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,KAAK,EAAE,oCAAoC,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,KAAK,uBAAuB,QAAQ,CAAC,WAAW,GAAG;SAC7H,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;gBAAE,OAAO,CAAC,KAAK,CAAC,iCAAiC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;YACxE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC;YACzD,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;SACvD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACtH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CACb,MAA6B,EAC7B,QAAkC,EAClC,YAAqB,EACR,EAAE,CAAC,CAAC;QACjB,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM;QACvD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CACvB,CAAC,EAAE,EAAE,EAAE,CACL,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI;YACd,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;YACxD,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;YACvC,MAAM,EAAE,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB;YAChF,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;SAC1B,CACJ;QACD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,SAAS,EAAE,QAAQ;QACnB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7J,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1J,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAoB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAE,CAAC;IAErH,iGAAiG;IACjG,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAErC,8FAA8F;QAC9F,yDAAyD;QACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;gBACpB,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;gBAClD,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC;gBAChD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;aAC1D,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,8FAA8F;QAC9F,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,eAAe,KAAK,WAAW;gBAAE,SAAS;YACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,QAAQ,EAAE,CAAC;gBAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC,CAAC,+BAA+B;YACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3C,6FAA6F;YAC7F,gEAAgE;YAChE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;YAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;gBAC1E,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK;gBACtE,KAAK,EAAE,QAAQ,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,OAAO;gBAC5E,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;aACrD,CAAC,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,cAAc;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YACjG,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACnH,CAAC;QAED,6FAA6F;QAC7F,+FAA+F;QAC/F,uCAAuC;QACvC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACnD,mBAAmB,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;gBACpB,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;gBAClD,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC;gBAChD,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;aACtD,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;QAED,6FAA6F;QAC7F,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG;YACZ,GAAG,WAAW,CAAC,WAAW,CAAC;YAC3B,8FAA8F;YAC9F,2FAA2F;YAC3F,GAAG,aAAa;iBACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,eAAe,KAAK,WAAW,CAAC,CAAC;iBAClH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;iBACzC,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;SACrD,CAAC;QACF,2FAA2F;QAC3F,6FAA6F;QAC7F,2FAA2F;QAC3F,6FAA6F;QAC7F,+BAA+B;QAC/B,EAAE;QACF,iGAAiG;QACjG,8FAA8F;QAC9F,8FAA8F;QAC9F,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,UAAU,IAAI,eAAe,KAAK,SAAS,CAAC,CAAC;QACvG,MAAM,YAAY,GAAY;YAC5B,GAAG,IAAI;YACP,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACrD,YAAY,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAClD,KAAK,EAAE;gBACL,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU;gBAChE,kBAAkB,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;aAC5C;SACF,CAAC;QACF,MAAM,QAAQ,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAE9D,IAAI,GAAc,CAAC;QACnB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,wFAAwF;YACxF,6DAA6D;YAC7D,mBAAmB,EAAE,CAAC;YACtB,MAAM,CAAC,CAAC;QACV,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,CAAC;QACrD,QAAQ,IAAI,aAAa,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;YACpB,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW;YACvE,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU;YAC7E,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa;SAC5D,CAAC,CAAC;QAEH,6FAA6F;QAC7F,qDAAqD;QACrD,IAAI,GAAG,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YACvC,mBAAmB,EAAE,CAAC;YACtB,uFAAuF;YACvF,sFAAsF;YACtF,iCAAiC;YACjC,OAAO,MAAM,CACX,mBAAmB,EACnB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAChG,CAAC;QACJ,CAAC;QACD,mBAAmB,EAAE,CAAC;IACxB,CAAC;IAED,gEAAgE;IAChE,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC;YAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,wDAAwD,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -52,18 +52,6 @@ export declare class ModelOutputParseError extends Error {
|
|
|
52
52
|
readonly excerpt: string;
|
|
53
53
|
constructor(message: string, candidateCount: number, raw: string);
|
|
54
54
|
}
|
|
55
|
-
/**
|
|
56
|
-
* A chair completed its run but sealed NONE of its promised outputs through `output_write`.
|
|
57
|
-
* Distinct from ModelOutputParseError (a text-seal chair that emitted no parseable answer): this
|
|
58
|
-
* is the output_write-seal path, where the boundary that adjudicates a payload against its full
|
|
59
|
-
* output contract is the chair's own in-band `output_write` call (validated by the engine's
|
|
60
|
-
* checkWritable, corrected in-band by the agent), NOT a re-prompt from this invoker. A chair that
|
|
61
|
-
* never gets a single write past that boundary produced nothing this invoker can hand back.
|
|
62
|
-
*
|
|
63
|
-
* The runtime's own floor check (executeChair, `missingRequired`) also catches a shortfall and is
|
|
64
|
-
* the authority on which promised types were merely optional; this error is the earlier, chair-
|
|
65
|
-
* local signal that the write boundary sealed nothing at all.
|
|
66
|
-
*/
|
|
67
55
|
export declare class ModelOutputContractError extends Error {
|
|
68
56
|
readonly slug: string;
|
|
69
57
|
readonly reason: string;
|
|
@@ -139,7 +127,8 @@ export declare class ChildExitError extends Error {
|
|
|
139
127
|
readonly stdout: string;
|
|
140
128
|
constructor(message: string, stdout: string);
|
|
141
129
|
}
|
|
142
|
-
export declare
|
|
130
|
+
export declare const MAX_SEALED_RECORDS_PER_TYPE = 64;
|
|
131
|
+
export declare function captureOutputWrites(stdout: string, sealTypes: readonly string[]): Record<string, unknown[]>;
|
|
143
132
|
export declare const DEFAULT_CHAIR_TIMEOUT_MS: number;
|
|
144
133
|
export declare const DEFAULT_ABORT_GRACE_MS = 2000;
|
|
145
134
|
/** How many chair children are alive right now (observability for the shutdown path). */
|
|
@@ -8,7 +8,7 @@ import { tmpdir } from "node:os";
|
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { randomUUID } from "node:crypto";
|
|
10
10
|
import { abortReasonText } from "./runtime.js";
|
|
11
|
-
import { resolveAgentGrants, ENGINE_MCP_SERVER } from "./tool_providers.js";
|
|
11
|
+
import { resolveAgentGrants, hostBuiltinDenials, toolBaseName, ENGINE_MCP_SERVER } from "./tool_providers.js";
|
|
12
12
|
import { venueEffectiveTools } from "./chart.js";
|
|
13
13
|
import { CORE_TYPES } from "./core_types.js";
|
|
14
14
|
const EMPTY_TOOL_REGISTRY = new Map();
|
|
@@ -41,6 +41,22 @@ function codeToolDenials(access) {
|
|
|
41
41
|
default: return []; // "full" or unset → no code-tool denial
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
+
// The code tools code_tool_access affirmatively KEEPS available — the inverse of codeToolDenials over
|
|
45
|
+
// the four CODE_TOOLS. This is the allow signal the host-builtin complement must respect: those four
|
|
46
|
+
// tools are governed by the code_tool_access LADDER, so the complement must not re-deny one the access
|
|
47
|
+
// level grants (a "full" agent keeps Read/Write/Edit/Bash even when it lists none in allowed_tools —
|
|
48
|
+
// host builtins are allowed-by-default and code_tool_access is their deny layer).
|
|
49
|
+
//
|
|
50
|
+
// UNSET is distinct from "full": an agent that declares NO code access and grants no code tool keeps
|
|
51
|
+
// NONE — that is what lets the ceiling bind on the default agent (gig 782e89d8, room-prober had no
|
|
52
|
+
// code_tool_access yet reached Bash and Read). codeToolDenials returns [] for unset, so it cannot
|
|
53
|
+
// carry this distinction; this function does.
|
|
54
|
+
function codeToolsKept(access) {
|
|
55
|
+
if (access === undefined)
|
|
56
|
+
return [];
|
|
57
|
+
const denied = new Set(codeToolDenials(access));
|
|
58
|
+
return CODE_TOOLS.filter((t) => !denied.has(t));
|
|
59
|
+
}
|
|
44
60
|
// Belbin cognitive-role descriptions for the Disposition layer (the agent's stance, 2
|
|
45
61
|
// "in tension"). Strings match the old runtime verbatim so a restored prompt reaches
|
|
46
62
|
// parity with the baseline fixtures. Reference data; buildPrompt wires it in.
|
|
@@ -237,6 +253,9 @@ export class ModelOutputParseError extends Error {
|
|
|
237
253
|
* the authority on which promised types were merely optional; this error is the earlier, chair-
|
|
238
254
|
* local signal that the write boundary sealed nothing at all.
|
|
239
255
|
*/
|
|
256
|
+
/** Turns given to a channel repair. It needs to make a tool call it already has the answer for —
|
|
257
|
+
* enough to seal each promised type and stop, not enough to restart the work. */
|
|
258
|
+
const SEAL_REPAIR_TURNS = 4;
|
|
240
259
|
export class ModelOutputContractError extends Error {
|
|
241
260
|
slug;
|
|
242
261
|
reason;
|
|
@@ -446,6 +465,41 @@ export function extractOptionsForChair(sealTypes, schema) {
|
|
|
446
465
|
function isOutputWriteToolName(name) {
|
|
447
466
|
return name === "output_write" || name.endsWith("__output_write");
|
|
448
467
|
}
|
|
468
|
+
/**
|
|
469
|
+
* Did the chair ever ATTEMPT the write boundary — a call that was made, whether or not it passed?
|
|
470
|
+
*
|
|
471
|
+
* This is the line between two failures that look identical in the blob and are not the same defect:
|
|
472
|
+
* · ATTEMPTED and rejected → the in-band loop DID engage. The engine told the agent what was wrong
|
|
473
|
+
* and it gave up anyway. Re-prompting that is the bounded repair loop the governor rejected
|
|
474
|
+
* twice (tests/output_write_boundary.test.ts) — the agent already had its correction.
|
|
475
|
+
* · NEVER ATTEMPTED → the loop never engaged, because the agent never knocked. It produced its
|
|
476
|
+
* answer as text or a file and finished. There was no in-band frame in which to correct it.
|
|
477
|
+
* Only the second is repairable, and only that one is repaired.
|
|
478
|
+
*/
|
|
479
|
+
function attemptedWriteBoundary(stdout) {
|
|
480
|
+
for (const raw of stdout.split("\n")) {
|
|
481
|
+
const line = raw.trim();
|
|
482
|
+
if (!line)
|
|
483
|
+
continue;
|
|
484
|
+
let e;
|
|
485
|
+
try {
|
|
486
|
+
e = JSON.parse(line);
|
|
487
|
+
}
|
|
488
|
+
catch {
|
|
489
|
+
continue;
|
|
490
|
+
}
|
|
491
|
+
const type = typeof e["type"] === "string" ? e["type"] : "";
|
|
492
|
+
const msg = e["message"];
|
|
493
|
+
if ((type === "assistant" || type === "user") && msg && typeof msg === "object") {
|
|
494
|
+
const content = msg.content ?? [];
|
|
495
|
+
for (const b of content) {
|
|
496
|
+
if (String(b["type"] ?? "") === "tool_use" && isOutputWriteToolName(String(b["name"] ?? "")))
|
|
497
|
+
return true;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
return false;
|
|
502
|
+
}
|
|
449
503
|
/**
|
|
450
504
|
* Extract the chair's sealed payloads from a stream-json stdout, keyed by the chair's seal types.
|
|
451
505
|
* Returns the blob shape the runtime already consumes (a key per domain_type, or the bare data for
|
|
@@ -499,6 +553,19 @@ function withPrompt(args, prompt) {
|
|
|
499
553
|
out[i + 1] = prompt;
|
|
500
554
|
return out;
|
|
501
555
|
}
|
|
556
|
+
// The bound on how many records ONE chair may seal for ONE declared output type. The seal path
|
|
557
|
+
// carries its own stated cap so the ledger guarantee is self-contained and auditable independently
|
|
558
|
+
// of the invocation-layer `max_tool_calls` (which is owned by a different layer and can change
|
|
559
|
+
// without the seal path knowing).
|
|
560
|
+
//
|
|
561
|
+
// The evidence and the choice: gig 8baced9d (lineage-deepen-v0, chair identify-external) made 15
|
|
562
|
+
// accepted output_write calls and sealed 1 — the observed cardinality of a legitimate high-gather
|
|
563
|
+
// chair is 15. The cap sits well above it (>4x headroom) so real gathering is never refused, and
|
|
564
|
+
// stays FINITE so a runaway seat cannot write unbounded records — an unbounded seal path is a
|
|
565
|
+
// denial-of-service on the ledger. Tune here, at the single declaration site, if real runs exceed
|
|
566
|
+
// the headroom; the (cap+1)th same-type write is refused loudly (a throw the gig surfaces), never
|
|
567
|
+
// dropped silently — a silent drop is exactly the "ok for a discarded record" lie this closes.
|
|
568
|
+
export const MAX_SEALED_RECORDS_PER_TYPE = 64;
|
|
502
569
|
export function captureOutputWrites(stdout, sealTypes) {
|
|
503
570
|
const writes = [];
|
|
504
571
|
const errored = new Set();
|
|
@@ -530,19 +597,38 @@ export function captureOutputWrites(stdout, sealTypes) {
|
|
|
530
597
|
}
|
|
531
598
|
}
|
|
532
599
|
const passed = writes.filter((w) => !w.id || !errored.has(w.id));
|
|
600
|
+
// Accumulate a LIST per type — a chair may seal MANY records of one declared type (a lineage
|
|
601
|
+
// scout's whole job is gathering many external hits). The old code did `byType.set(type, data)`,
|
|
602
|
+
// a last-wins overwrite that kept one record and discarded the rest while every call had already
|
|
603
|
+
// returned ok — the discard the change request measured. Every accepted write is now kept, up to
|
|
604
|
+
// the stated cap, above which the surplus is refused loudly rather than dropped.
|
|
605
|
+
const refuse = (t) => {
|
|
606
|
+
throw new Error(`chair sealed more than MAX_SEALED_RECORDS_PER_TYPE (${MAX_SEALED_RECORDS_PER_TYPE}) records ` +
|
|
607
|
+
`of type "${t}" — refusing the surplus loudly. A record is being written that no seat could ` +
|
|
608
|
+
`be honestly told was kept; raise MAX_SEALED_RECORDS_PER_TYPE at its declaration site if a ` +
|
|
609
|
+
`real run legitimately gathers this many.`);
|
|
610
|
+
};
|
|
533
611
|
const byType = new Map();
|
|
534
|
-
for (const w of passed)
|
|
535
|
-
byType.
|
|
612
|
+
for (const w of passed) {
|
|
613
|
+
const list = byType.get(w.domain_type) ?? [];
|
|
614
|
+
if (list.length >= MAX_SEALED_RECORDS_PER_TYPE)
|
|
615
|
+
refuse(w.domain_type);
|
|
616
|
+
list.push(w.data);
|
|
617
|
+
byType.set(w.domain_type, list);
|
|
618
|
+
}
|
|
536
619
|
const blob = {};
|
|
537
620
|
for (const t of sealTypes) {
|
|
538
621
|
if (byType.has(t))
|
|
539
622
|
blob[t] = byType.get(t);
|
|
540
623
|
}
|
|
541
624
|
// Single-output chairs may seal with an empty/other domain_type (buildPrompt names it, but a
|
|
542
|
-
// model can still omit it). If nothing matched by name and
|
|
543
|
-
//
|
|
625
|
+
// model can still omit it). If nothing matched by name and outputs were sealed, those payloads
|
|
626
|
+
// ARE the single output — key the FULL list under the promised type (carrying every one, not just
|
|
627
|
+
// the last, so this branch does not silently collapse the way the whole path used to).
|
|
544
628
|
if (sealTypes.length === 1 && blob[sealTypes[0]] === undefined && passed.length > 0) {
|
|
545
|
-
|
|
629
|
+
if (passed.length > MAX_SEALED_RECORDS_PER_TYPE)
|
|
630
|
+
refuse(sealTypes[0]);
|
|
631
|
+
blob[sealTypes[0]] = passed.map((w) => w.data);
|
|
546
632
|
}
|
|
547
633
|
return blob;
|
|
548
634
|
}
|
|
@@ -551,7 +637,22 @@ export function captureOutputWrites(stdout, sealTypes) {
|
|
|
551
637
|
// this bound one wedged child wedges the whole server. SIGKILL, not SIGTERM: a
|
|
552
638
|
// signal-trapping child can't outlive its budget. Long enough for a tool-using chair
|
|
553
639
|
// (a capped search agent runs minutes), far below an operator-visible hang.
|
|
554
|
-
|
|
640
|
+
//
|
|
641
|
+
// RAISED FROM TEN MINUTES, from measurement rather than preference. A reading seat over a
|
|
642
|
+
// 1000-line specification and its test suite was killed here twice, both times mid
|
|
643
|
+
// `output_write` — the bound was cutting the WRITE, not the reading, and the two sibling seats
|
|
644
|
+
// that survived cleared it by 57s and 85s. A seat that dies at the wall seals nothing and, worse,
|
|
645
|
+
// reports no usage, so the spend is real and the ledger never sees it. Ten minutes was under the
|
|
646
|
+
// honest cost of a chair that reads a corpus and then writes a structured document about it.
|
|
647
|
+
//
|
|
648
|
+
// Twenty and not more: `tests/invoker_timeout.test.ts` fences this value between five and twenty
|
|
649
|
+
// minutes on the argument that the default must stay "far below an operator-visible hang", and
|
|
650
|
+
// that band is a deliberate guard rather than an accident. This sits at its ceiling. A deployment
|
|
651
|
+
// that genuinely needs longer has the per-chair override (`COLTRANE_CHAIR_TIMEOUT_MS`) and does
|
|
652
|
+
// not need the shipped default moved. Note the cost of raising it: `src/runtime.ts:1135` observes
|
|
653
|
+
// that a standard with P sequential phases can burn P x this value after `gig_abort` returns, so
|
|
654
|
+
// doubling the bound doubles that worst-case drag.
|
|
655
|
+
export const DEFAULT_CHAIR_TIMEOUT_MS = 20 * 60_000;
|
|
555
656
|
// How long a cancelled chair child gets to shut down politely before it is killed outright.
|
|
556
657
|
// SIGTERM first (a `claude` child spawns its own MCP servers; a cooperative exit gives it a
|
|
557
658
|
// chance to take them with it), SIGKILL after. Deliberately NOT `detached: true` +
|
|
@@ -777,10 +878,11 @@ export function makeClaudeInvoker(opts = {}) {
|
|
|
777
878
|
}
|
|
778
879
|
// VENUE CONFINEMENT BY CONSTRUCTION. When the dispatch path resolved a room for this chair
|
|
779
880
|
// (ctx.realization + ctx.venue both threaded by runGig), the spawn reflects the realization:
|
|
780
|
-
// - `--allowedTools` carries
|
|
781
|
-
//
|
|
782
|
-
//
|
|
783
|
-
// drift.
|
|
881
|
+
// - `--allowedTools` carries venueEffectiveTools(agent, venue) — the SAME shared oracle the
|
|
882
|
+
// compose-time R10 check refuses against (src/chart.ts), never a re-inlined intersection and
|
|
883
|
+
// never the un-intersected grant, so runtime enforcement and compose-time refusal cannot
|
|
884
|
+
// drift — with each surviving grant RESOLVED to the name its server advertises (#204). The
|
|
885
|
+
// intersection is unchanged; only the advertised name is (narrow-then-rename, never widen).
|
|
784
886
|
// - the child env is the realization's deny-by-default allowlist (SeatRealization.env, `{}` when
|
|
785
887
|
// the surface admits nothing), so an undeclared ambient credential never reaches the child.
|
|
786
888
|
// Narrowed BEFORE the in-band-seal block below, so the engine's own output_write grant — engine
|
|
@@ -788,7 +890,18 @@ export function makeClaudeInvoker(opts = {}) {
|
|
|
788
890
|
// either field → the un-narrowed path above stands and no child env is constructed (INV10).
|
|
789
891
|
let childEnv;
|
|
790
892
|
if (ctx.realization && ctx.venue) {
|
|
791
|
-
|
|
893
|
+
// NARROW then RENAME. venueEffectiveTools is the shared oracle R10 refuses against; it returns
|
|
894
|
+
// the agent's RAW grant strings intersected with the room's equipment — so the CEILING decision
|
|
895
|
+
// stays on raw grants and cannot drift from the compose-time check. But those raw strings are
|
|
896
|
+
// still bare in-house slugs; advertising them un-resolved reopens #204 (a seat granting bare
|
|
897
|
+
// `type_browse` advertises `type_browse` while the engine server advertises
|
|
898
|
+
// `mcp__coltrane__type_browse`, so the call is DENIED — measured, gig 11744aa5). Resolve the
|
|
899
|
+
// ALREADY-NARROWED list so only the ADVERTISED name changes; the intersection is untouched, so
|
|
900
|
+
// the ceiling narrows, it never widens. Resolution off → keep the raw narrowed list (INV1/INV10).
|
|
901
|
+
const narrowed = venueEffectiveTools(ctx.agent, ctx.venue);
|
|
902
|
+
effectiveAllowed = resolutionEnabled
|
|
903
|
+
? resolveAgentGrants({ ...ctx.agent, allowed_tools: narrowed }, opts.toolProviders ?? EMPTY_TOOL_REGISTRY, opts.mcpServerConfigs ?? {}).effectiveAllowed
|
|
904
|
+
: narrowed;
|
|
792
905
|
const seat = ctx.realization.seats.find((s) => s.agent_slug === ctx.agent.slug);
|
|
793
906
|
childEnv = seat?.env ?? {};
|
|
794
907
|
}
|
|
@@ -848,8 +961,12 @@ export function makeClaudeInvoker(opts = {}) {
|
|
|
848
961
|
const extractOpts = extractOptionsForChair(sealTypes, schema);
|
|
849
962
|
// per-gig mcp-config: only the deployment-permitted servers (empty by default).
|
|
850
963
|
const cfgPath = join(tmpdir(), `coltrane-mcp-${randomUUID()}.json`);
|
|
851
|
-
// the base map (opts.mcpServers) + the per-agent servers its grants resolved to (#185)
|
|
852
|
-
|
|
964
|
+
// the base map (opts.mcpServers) + the per-agent servers its grants resolved to (#185) + the
|
|
965
|
+
// SUBSTRATE transports the room was realized on (ctx.substrateMcpConfigs). The room's servers
|
|
966
|
+
// come last so a realized docker-exec transport for a venue's declared server wins over any
|
|
967
|
+
// grant-resolved entry of the same slug — the spawn reaches the server running INSIDE the room,
|
|
968
|
+
// not merely the policy layer. Absent substrate = the prior two-way merge exactly.
|
|
969
|
+
const servers = { ...(opts.mcpServers ?? {}), ...resolvedMcpServers, ...(ctx.substrateMcpConfigs ?? {}) };
|
|
853
970
|
const parent = opts.parent_session_id;
|
|
854
971
|
// Per-server env additions: parent_session_id into every server (so children seal lineage), and
|
|
855
972
|
// COLTRANE_OUTPUT_WRITE_MODE=validate into the ENGINE server on the output_write-seal path — so
|
|
@@ -887,12 +1004,66 @@ export function makeClaudeInvoker(opts = {}) {
|
|
|
887
1004
|
// string IS the transcript (a bare JSON blob on the text path, a stream-json transcript on
|
|
888
1005
|
// the output_write path). Default: stream-json so the child's tool calls / reasoning are
|
|
889
1006
|
// observable LIVE, teed to ctx.onEvent.
|
|
1007
|
+
// THE TOOL CEILING BINDS BY ENFORCEMENT, not omission. `--allowedTools` does NOT remove a host
|
|
1008
|
+
// builtin — a seat granted only `type_browse` still called Bash and Read, unrefused and
|
|
1009
|
+
// unrecorded (gig 782e89d8, room-prober, twice) — so the deny list must ENUMERATE what the seat
|
|
1010
|
+
// may not hold. Synthesize it from the EXISTING oracles (hostBuiltinDenials over HOST_BUILTINS;
|
|
1011
|
+
// venueEffectiveTools for the room ceiling), never a re-inlined universe/intersection.
|
|
1012
|
+
//
|
|
1013
|
+
// Computed HERE, AFTER OUTPUT_WRITE_TOOL joined effectiveAllowed (see the seal-wire block above):
|
|
1014
|
+
// synthesizing before that addition would deny every model chair the very tool it must call to
|
|
1015
|
+
// seal, failing every gig at the last step (asserted by LAW 2).
|
|
1016
|
+
//
|
|
1017
|
+
// The complement is scored against effectiveAllowed PLUS the code tools code_tool_access keeps:
|
|
1018
|
+
// those four are governed by the code_tool_access ladder (codeToolDenials), so the complement
|
|
1019
|
+
// must not re-deny a code tool the agent's access grants.
|
|
1020
|
+
const allowForComplement = [...(effectiveAllowed ?? []), ...codeToolsKept(a.code_tool_access)];
|
|
1021
|
+
// (d) VENUE CEILING BY DENIAL: a tool the agent grants but the room's equipment excludes.
|
|
1022
|
+
// venueEffectiveTools is the SAME shared oracle compose-time R10 refuses against (INV9) — never a
|
|
1023
|
+
// re-inlined intersection — so the room narrows by enforcement, not only by the omission from
|
|
1024
|
+
// --allowedTools that cannot bind. Absent a room, nothing is venue-excluded.
|
|
1025
|
+
const venueExcluded = ctx.realization && ctx.venue
|
|
1026
|
+
? (() => {
|
|
1027
|
+
const kept = new Set(venueEffectiveTools(a, ctx.venue));
|
|
1028
|
+
return (a.allowed_tools ?? []).filter((g) => !kept.has(g));
|
|
1029
|
+
})()
|
|
1030
|
+
: [];
|
|
1031
|
+
// The UNION, preserving the agent's OWN declared denials (never replaced): (a) declared
|
|
1032
|
+
// disallowed_tools, (b) the code_tool_access ladder, (c) the host-builtin complement, (d) the
|
|
1033
|
+
// venue-excluded grants.
|
|
1034
|
+
const denyUnion = [
|
|
1035
|
+
...(a.disallowed_tools ?? []),
|
|
1036
|
+
...codeToolDenials(a.code_tool_access),
|
|
1037
|
+
...hostBuiltinDenials(allowForComplement),
|
|
1038
|
+
...venueExcluded,
|
|
1039
|
+
];
|
|
1040
|
+
// NO OVER-DENIAL (LAW 5, and LAW 2's structural half): nothing the seat legitimately holds may be
|
|
1041
|
+
// denied — most sharply OUTPUT_WRITE_TOOL, which effectiveAllowed now carries on the seal path.
|
|
1042
|
+
// Subtract the effective allow set — by exact name AND base name, so a scoped grant like
|
|
1043
|
+
// `Bash(npx …)` still protects its `Bash` — then dedupe. code_tool_access-kept tools are NOT
|
|
1044
|
+
// subtracted here: a venue that excludes a code tool must still deny it even under access "full".
|
|
1045
|
+
const allowExact = new Set(effectiveAllowed ?? []);
|
|
1046
|
+
const allowBase = new Set((effectiveAllowed ?? []).map(toolBaseName));
|
|
1047
|
+
const disallowedTools = [...new Set(denyUnion)].filter((t) => !allowExact.has(t) && !allowBase.has(toolBaseName(t)));
|
|
890
1048
|
const baseArgs = buildInvokerArgs(prompt, cfgPath, {
|
|
891
1049
|
model: resolveModel(a.model_tier, opts.model),
|
|
892
1050
|
allowed_tools: effectiveAllowed,
|
|
893
|
-
disallowed_tools:
|
|
1051
|
+
disallowed_tools: disallowedTools,
|
|
894
1052
|
max_tool_calls: maxToolCalls,
|
|
895
1053
|
});
|
|
1054
|
+
// SEAT IN THE ROOM. When the substrate stood up a SEAT-BEARING room, ctx.seatExec names its
|
|
1055
|
+
// container and per-realization workspace, and the chair runs INSIDE it:
|
|
1056
|
+
// `docker exec -i -w <workspace> <container> claude …` — so the seat's cwd is the room's own
|
|
1057
|
+
// tree and two concurrent gigs (distinct rooms, distinct workspaces) cannot share a working
|
|
1058
|
+
// directory. This wraps ONLY the leaf spawn; it runs AFTER the confinement block above, so
|
|
1059
|
+
// effectiveAllowed/childEnv are already computed and the room narrows the seat but never widens
|
|
1060
|
+
// it. `-i` keeps stdin open so a stdin-delivered prompt flows into the in-room binary. Auth is
|
|
1061
|
+
// FILE-BASED inside the room (credential_surface delivered by `docker cp` to /run/secrets),
|
|
1062
|
+
// never a host keychain and never forwarded via `-e`, so no host credential enters the room.
|
|
1063
|
+
// Absent → identity, and the leaf spawns on the host exactly as before.
|
|
1064
|
+
const seatExec = ctx.seatExec;
|
|
1065
|
+
const execBin = seatExec ? "docker" : bin;
|
|
1066
|
+
const inRoom = (args) => seatExec ? ["exec", "-i", "-w", seatExec.workspace, seatExec.container, bin, ...args] : [...args];
|
|
896
1067
|
// ONE invocation only — on the output_write path the agent self-corrects a rejected write
|
|
897
1068
|
// WITHIN this single run (each output_write rejection returns in-band and it calls again),
|
|
898
1069
|
// and on the text path there is a single answer. Either way, the invoker never re-prompts.
|
|
@@ -907,8 +1078,8 @@ export function makeClaudeInvoker(opts = {}) {
|
|
|
907
1078
|
// about whether anything survives is left to the seal path below, which is the only place that
|
|
908
1079
|
// knows what passed. Every other non-zero exit still propagates untouched.
|
|
909
1080
|
const runOnce = async (args, text) => customRun
|
|
910
|
-
? await customRun(
|
|
911
|
-
: await spawnStreaming(
|
|
1081
|
+
? await customRun(execBin, inRoom(args), spawnBounds, childEnv)
|
|
1082
|
+
: await spawnStreaming(execBin, inRoom([...args, "--output-format", "stream-json", "--verbose"]), spawnBounds, ctx.onEvent, ctx.signal, abortGraceMs, promptViaStdin(text) ? text : undefined, childEnv);
|
|
912
1083
|
/** Run, and hand back the stream even when the child died on its turn cap. */
|
|
913
1084
|
const runTolerantOfBudgetStop = async (args, text) => {
|
|
914
1085
|
try {
|
|
@@ -989,7 +1160,60 @@ export function makeClaudeInvoker(opts = {}) {
|
|
|
989
1160
|
// validate-mode) and whose rejection it corrected in-band. Capture the payloads that
|
|
990
1161
|
// PASSED; the runtime (executeChair) then seals them through its own boundary exactly once.
|
|
991
1162
|
// A chair that got nothing past the boundary produced nothing — fail here, legibly.
|
|
992
|
-
|
|
1163
|
+
let blob = captureOutputWrites(sealStdout, sealTypes);
|
|
1164
|
+
// ── THE CHANNEL REPAIR ────────────────────────────────────────────────────────────────
|
|
1165
|
+
// The chair finished cleanly and got NOTHING past the boundary — it produced its answer as
|
|
1166
|
+
// final text, or a file, or a summary, and never made the call that seals. Give it one
|
|
1167
|
+
// corrective continuation rather than failing the phase.
|
|
1168
|
+
//
|
|
1169
|
+
// The engine's in-band loop is already good, and that is exactly what makes this gap sharp:
|
|
1170
|
+
// output_write "runs the full seal predicate and returns its verdict in-band, so the agent
|
|
1171
|
+
// self-corrects" (:124) — but only for a chair that CALLED it. Getting the payload wrong is
|
|
1172
|
+
// recoverable; getting the CHANNEL wrong was fatal. That is backwards. A wrong channel is the
|
|
1173
|
+
// cheaper mistake to fix, because the work is already done and still sitting in the agent's
|
|
1174
|
+
// context — one turn is enough to make the call it should have made.
|
|
1175
|
+
//
|
|
1176
|
+
// Same mechanism as the reserve grant above, for a different cause: continue once, say where
|
|
1177
|
+
// it stands, and say plainly that nothing follows. Bounded to ONE — a chair that ignores a
|
|
1178
|
+
// direct instruction to seal will not be argued into it, and the argument bills real tokens.
|
|
1179
|
+
//
|
|
1180
|
+
// NOT for a budget stop: that chair used the right channel and ran out of room, and the
|
|
1181
|
+
// reserve grant is its remedy. Repairing it here would continue it twice for one stop.
|
|
1182
|
+
//
|
|
1183
|
+
// AND NOT for a chair that knocked and was refused. `attemptedWriteBoundary` is the whole
|
|
1184
|
+
// line: a chair whose output_write was REJECTED already got its correction in-band and gave
|
|
1185
|
+
// up, and re-prompting it is precisely the bounded repair loop the governor rejected twice
|
|
1186
|
+
// (tests/output_write_boundary.test.ts, "never the old bounded repair loop"). That principle
|
|
1187
|
+
// is untouched here. This repairs only the chair that never knocked at all — the one the
|
|
1188
|
+
// in-band loop cannot see, because it never entered it.
|
|
1189
|
+
if (Object.keys(blob).length === 0 && !budgetStopped && !attemptedWriteBoundary(sealStdout)) {
|
|
1190
|
+
const calls = sealTypes
|
|
1191
|
+
.map((t) => ` output_write({ "core_type": "${seal.core_by_type[t] ?? ""}", "domain_type": "${t}", ` +
|
|
1192
|
+
`"gig_id": "${seal.gig_id}", "phase": "${seal.phase}", "agent_slug": "${seal.agent_slug}", ` +
|
|
1193
|
+
`"data": <your result> })`)
|
|
1194
|
+
.join("\n");
|
|
1195
|
+
ctx.onEvent?.({
|
|
1196
|
+
type: "seal_boundary_repair",
|
|
1197
|
+
raw: {
|
|
1198
|
+
agent: a.slug,
|
|
1199
|
+
unsealed: [...sealTypes],
|
|
1200
|
+
note: "the chair completed without calling output_write; it is being continued ONCE to " +
|
|
1201
|
+
"seal through the write boundary",
|
|
1202
|
+
},
|
|
1203
|
+
});
|
|
1204
|
+
const correction = `STOP — your run finished but sealed NOTHING. Not one output_write call passed the ` +
|
|
1205
|
+
`write boundary for [${sealTypes.join(", ")}].\n\n` +
|
|
1206
|
+
`Whatever you produced — final text, a file, a summary — is NOT sealed. It will be ` +
|
|
1207
|
+
`discarded and this phase will fail.\n\n` +
|
|
1208
|
+
`The work you already did still counts. Do NOT redo it. Seal it now, by calling ` +
|
|
1209
|
+
`output_write — the only channel that seals:\n${calls}\n\n` +
|
|
1210
|
+
`This is the LAST attempt; it will not be offered again.\n\n${prompt}`;
|
|
1211
|
+
const repairArgs = withPrompt(withMaxTurns(baseArgs, SEAL_REPAIR_TURNS), correction);
|
|
1212
|
+
const repaired = await runTolerantOfBudgetStop(repairArgs, correction);
|
|
1213
|
+
// Cumulative, exactly as the reserve path is: a write that passed in either pass counts.
|
|
1214
|
+
sealStdout = `${sealStdout}\n${repaired.stdout}`;
|
|
1215
|
+
blob = captureOutputWrites(sealStdout, sealTypes);
|
|
1216
|
+
}
|
|
993
1217
|
if (Object.keys(blob).length === 0) {
|
|
994
1218
|
throw new ModelOutputContractError(a.slug, budgetStopped
|
|
995
1219
|
? `ran out of tool budget (max_tool_calls) before any output_write passed the write ` +
|