@eir-labs/coltrane 0.9.4 → 0.11.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 (141) hide show
  1. package/agents/bandleader.json +54 -0
  2. package/agents/bill.json +4 -2
  3. package/agents/change-verifier.json +2 -1
  4. package/agents/code-implementer.json +7 -4
  5. package/agents/john.json +5 -3
  6. package/agents/lineage-scout-external.json +19 -6
  7. package/agents/lineage-scribe.json +20 -9
  8. package/agents/lineage-weaver.json +26 -11
  9. package/agents/miles.json +2 -1
  10. package/agents/players/bandleader.md +70 -0
  11. package/agents/pr-publisher.json +4 -2
  12. package/agents/red-spec-drafter.json +12 -6
  13. package/agents/room-prober.json +29 -0
  14. package/agents/source-walker.json +1 -1
  15. package/charts/room-probe-chart-v1.json +14 -0
  16. package/charts/worker-contract-docker-v2.json +135 -0
  17. package/charts/worker-contract-v3.json +206 -0
  18. package/dist/src/boundary_check.d.ts +18 -0
  19. package/dist/src/boundary_check.js +70 -0
  20. package/dist/src/boundary_check.js.map +1 -0
  21. package/dist/src/boundary_scan.d.ts +62 -0
  22. package/dist/src/boundary_scan.js +93 -0
  23. package/dist/src/boundary_scan.js.map +1 -0
  24. package/dist/src/chart.js +34 -1
  25. package/dist/src/chart.js.map +1 -1
  26. package/dist/src/claude_invoker.d.ts +2 -1
  27. package/dist/src/claude_invoker.js +150 -17
  28. package/dist/src/claude_invoker.js.map +1 -1
  29. package/dist/src/cli.d.ts +1 -1
  30. package/dist/src/cli.js +61 -26
  31. package/dist/src/cli.js.map +1 -1
  32. package/dist/src/drain_preflight.d.ts +33 -0
  33. package/dist/src/drain_preflight.js +97 -0
  34. package/dist/src/drain_preflight.js.map +1 -0
  35. package/dist/src/genome_schema.d.ts +390 -9
  36. package/dist/src/genome_schema.js +163 -8
  37. package/dist/src/genome_schema.js.map +1 -1
  38. package/dist/src/genome_store.js +9 -0
  39. package/dist/src/genome_store.js.map +1 -1
  40. package/dist/src/genome_writer.d.ts +1 -1
  41. package/dist/src/genome_writer.js +10 -2
  42. package/dist/src/genome_writer.js.map +1 -1
  43. package/dist/src/gig_conformance.d.ts +66 -0
  44. package/dist/src/gig_conformance.js +153 -0
  45. package/dist/src/gig_conformance.js.map +1 -0
  46. package/dist/src/gig_tracker.js +8 -0
  47. package/dist/src/gig_tracker.js.map +1 -1
  48. package/dist/src/grounding.d.ts +44 -0
  49. package/dist/src/grounding.js +127 -0
  50. package/dist/src/grounding.js.map +1 -0
  51. package/dist/src/index.d.ts +1 -0
  52. package/dist/src/index.js +1 -0
  53. package/dist/src/index.js.map +1 -1
  54. package/dist/src/institution_loader.d.ts +29 -5
  55. package/dist/src/institution_loader.js +67 -6
  56. package/dist/src/institution_loader.js.map +1 -1
  57. package/dist/src/lineage_adoption.d.ts +82 -0
  58. package/dist/src/lineage_adoption.js +82 -0
  59. package/dist/src/lineage_adoption.js.map +1 -0
  60. package/dist/src/lineage_persist.d.ts +34 -0
  61. package/dist/src/lineage_persist.js +60 -0
  62. package/dist/src/lineage_persist.js.map +1 -0
  63. package/dist/src/loader.d.ts +13 -0
  64. package/dist/src/loader.js +43 -2
  65. package/dist/src/loader.js.map +1 -1
  66. package/dist/src/mcp.js +37 -4
  67. package/dist/src/mcp.js.map +1 -1
  68. package/dist/src/org_hire.d.ts +23 -0
  69. package/dist/src/org_hire.js +42 -0
  70. package/dist/src/org_hire.js.map +1 -0
  71. package/dist/src/output_mirror.js +98 -59
  72. package/dist/src/output_mirror.js.map +1 -1
  73. package/dist/src/outputs.d.ts +17 -0
  74. package/dist/src/outputs.js +86 -1
  75. package/dist/src/outputs.js.map +1 -1
  76. package/dist/src/player_to_claude_code.js +26 -2
  77. package/dist/src/player_to_claude_code.js.map +1 -1
  78. package/dist/src/registry.d.ts +3 -1
  79. package/dist/src/registry.js +43 -3
  80. package/dist/src/registry.js.map +1 -1
  81. package/dist/src/repo_index.d.ts +58 -0
  82. package/dist/src/repo_index.js +232 -0
  83. package/dist/src/repo_index.js.map +1 -0
  84. package/dist/src/reuse.d.ts +44 -4
  85. package/dist/src/reuse.js +0 -0
  86. package/dist/src/reuse.js.map +1 -1
  87. package/dist/src/runtime.d.ts +82 -0
  88. package/dist/src/runtime.js +254 -25
  89. package/dist/src/runtime.js.map +1 -1
  90. package/dist/src/server.d.ts +37 -0
  91. package/dist/src/server.js +422 -11
  92. package/dist/src/server.js.map +1 -1
  93. package/dist/src/server_relay.d.ts +40 -2
  94. package/dist/src/server_relay.js +186 -19
  95. package/dist/src/server_relay.js.map +1 -1
  96. package/dist/src/tool_providers.d.ts +27 -0
  97. package/dist/src/tool_providers.js +48 -0
  98. package/dist/src/tool_providers.js.map +1 -1
  99. package/dist/src/venue_credential.d.ts +41 -0
  100. package/dist/src/venue_credential.js +57 -0
  101. package/dist/src/venue_credential.js.map +1 -0
  102. package/dist/src/venue_realize.d.ts +23 -0
  103. package/dist/src/venue_realize.js +43 -3
  104. package/dist/src/venue_realize.js.map +1 -1
  105. package/dist/src/venue_realizer.d.ts +224 -0
  106. package/dist/src/venue_realizer.js +889 -0
  107. package/dist/src/venue_realizer.js.map +1 -0
  108. package/dist/src/version.d.ts +1 -1
  109. package/dist/src/version.js +1 -1
  110. package/dist/src/version.js.map +1 -1
  111. package/dist/src/worker.d.ts +37 -0
  112. package/dist/src/worker.js +127 -24
  113. package/dist/src/worker.js.map +1 -1
  114. package/dist/src/worker_env.d.ts +79 -0
  115. package/dist/src/worker_env.js +322 -0
  116. package/dist/src/worker_env.js.map +1 -0
  117. package/dist/src/workspace.d.ts +12 -1
  118. package/dist/src/workspace.js +10 -3
  119. package/dist/src/workspace.js.map +1 -1
  120. package/domain_types/change-context.json +59 -13
  121. package/domain_types/lineage-adoption-target.json +22 -0
  122. package/domain_types/lineage-map.json +7 -2
  123. package/domain_types/lineage-record.json +55 -5
  124. package/domain_types/prior-art-hit.json +16 -1
  125. package/domain_types/red-spec.json +5 -3
  126. package/domain_types/woodshed-record.json +149 -0
  127. package/evals/gist-present.json +7 -0
  128. package/institutions/coltrane.json +178 -6
  129. package/package.json +6 -3
  130. package/skills/non-vacuity-probe/fixtures/fixture-001.json +17 -0
  131. package/skills/non-vacuity-probe/meta.json +12 -0
  132. package/skills/non-vacuity-probe/skill.md +27 -0
  133. package/skills/non-vacuity-probe/skill.mjs +81 -0
  134. package/standards/lineage-adopt-v0.json +37 -0
  135. package/standards/room-probe-v1.json +28 -0
  136. package/standards/software-change-pr-v1.json +15 -15
  137. package/standards/software-change-red-first-v0.json +183 -0
  138. package/standards/spec-review-and-sequence-v0.json +112 -0
  139. package/standards/studio-session-v0.json +101 -0
  140. package/tours/coltrane.json +72 -0
  141. 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
- return V([{ rule: "R0", detail: `chart does not parse: ${e instanceof Error ? e.message : String(e)}` }]);
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.
@@ -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"}
@@ -139,7 +139,8 @@ export declare class ChildExitError extends Error {
139
139
  readonly stdout: string;
140
140
  constructor(message: string, stdout: string);
141
141
  }
142
- export declare function captureOutputWrites(stdout: string, sealTypes: readonly string[]): Record<string, unknown>;
142
+ export declare const MAX_SEALED_RECORDS_PER_TYPE = 64;
143
+ export declare function captureOutputWrites(stdout: string, sealTypes: readonly string[]): Record<string, unknown[]>;
143
144
  export declare const DEFAULT_CHAIR_TIMEOUT_MS: number;
144
145
  export declare const DEFAULT_ABORT_GRACE_MS = 2000;
145
146
  /** 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.
@@ -499,6 +515,19 @@ function withPrompt(args, prompt) {
499
515
  out[i + 1] = prompt;
500
516
  return out;
501
517
  }
518
+ // The bound on how many records ONE chair may seal for ONE declared output type. The seal path
519
+ // carries its own stated cap so the ledger guarantee is self-contained and auditable independently
520
+ // of the invocation-layer `max_tool_calls` (which is owned by a different layer and can change
521
+ // without the seal path knowing).
522
+ //
523
+ // The evidence and the choice: gig 8baced9d (lineage-deepen-v0, chair identify-external) made 15
524
+ // accepted output_write calls and sealed 1 — the observed cardinality of a legitimate high-gather
525
+ // chair is 15. The cap sits well above it (>4x headroom) so real gathering is never refused, and
526
+ // stays FINITE so a runaway seat cannot write unbounded records — an unbounded seal path is a
527
+ // denial-of-service on the ledger. Tune here, at the single declaration site, if real runs exceed
528
+ // the headroom; the (cap+1)th same-type write is refused loudly (a throw the gig surfaces), never
529
+ // dropped silently — a silent drop is exactly the "ok for a discarded record" lie this closes.
530
+ export const MAX_SEALED_RECORDS_PER_TYPE = 64;
502
531
  export function captureOutputWrites(stdout, sealTypes) {
503
532
  const writes = [];
504
533
  const errored = new Set();
@@ -530,19 +559,38 @@ export function captureOutputWrites(stdout, sealTypes) {
530
559
  }
531
560
  }
532
561
  const passed = writes.filter((w) => !w.id || !errored.has(w.id));
562
+ // Accumulate a LIST per type — a chair may seal MANY records of one declared type (a lineage
563
+ // scout's whole job is gathering many external hits). The old code did `byType.set(type, data)`,
564
+ // a last-wins overwrite that kept one record and discarded the rest while every call had already
565
+ // returned ok — the discard the change request measured. Every accepted write is now kept, up to
566
+ // the stated cap, above which the surplus is refused loudly rather than dropped.
567
+ const refuse = (t) => {
568
+ throw new Error(`chair sealed more than MAX_SEALED_RECORDS_PER_TYPE (${MAX_SEALED_RECORDS_PER_TYPE}) records ` +
569
+ `of type "${t}" — refusing the surplus loudly. A record is being written that no seat could ` +
570
+ `be honestly told was kept; raise MAX_SEALED_RECORDS_PER_TYPE at its declaration site if a ` +
571
+ `real run legitimately gathers this many.`);
572
+ };
533
573
  const byType = new Map();
534
- for (const w of passed)
535
- byType.set(w.domain_type, w.data); // last non-errored write per type wins
574
+ for (const w of passed) {
575
+ const list = byType.get(w.domain_type) ?? [];
576
+ if (list.length >= MAX_SEALED_RECORDS_PER_TYPE)
577
+ refuse(w.domain_type);
578
+ list.push(w.data);
579
+ byType.set(w.domain_type, list);
580
+ }
536
581
  const blob = {};
537
582
  for (const t of sealTypes) {
538
583
  if (byType.has(t))
539
584
  blob[t] = byType.get(t);
540
585
  }
541
586
  // 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 exactly one output was sealed, that
543
- // lone payload IS the single output — key it under the promised type.
587
+ // model can still omit it). If nothing matched by name and outputs were sealed, those payloads
588
+ // ARE the single output — key the FULL list under the promised type (carrying every one, not just
589
+ // the last, so this branch does not silently collapse the way the whole path used to).
544
590
  if (sealTypes.length === 1 && blob[sealTypes[0]] === undefined && passed.length > 0) {
545
- blob[sealTypes[0]] = passed[passed.length - 1].data;
591
+ if (passed.length > MAX_SEALED_RECORDS_PER_TYPE)
592
+ refuse(sealTypes[0]);
593
+ blob[sealTypes[0]] = passed.map((w) => w.data);
546
594
  }
547
595
  return blob;
548
596
  }
@@ -551,7 +599,22 @@ export function captureOutputWrites(stdout, sealTypes) {
551
599
  // this bound one wedged child wedges the whole server. SIGKILL, not SIGTERM: a
552
600
  // signal-trapping child can't outlive its budget. Long enough for a tool-using chair
553
601
  // (a capped search agent runs minutes), far below an operator-visible hang.
554
- export const DEFAULT_CHAIR_TIMEOUT_MS = 10 * 60_000;
602
+ //
603
+ // RAISED FROM TEN MINUTES, from measurement rather than preference. A reading seat over a
604
+ // 1000-line specification and its test suite was killed here twice, both times mid
605
+ // `output_write` — the bound was cutting the WRITE, not the reading, and the two sibling seats
606
+ // that survived cleared it by 57s and 85s. A seat that dies at the wall seals nothing and, worse,
607
+ // reports no usage, so the spend is real and the ledger never sees it. Ten minutes was under the
608
+ // honest cost of a chair that reads a corpus and then writes a structured document about it.
609
+ //
610
+ // Twenty and not more: `tests/invoker_timeout.test.ts` fences this value between five and twenty
611
+ // minutes on the argument that the default must stay "far below an operator-visible hang", and
612
+ // that band is a deliberate guard rather than an accident. This sits at its ceiling. A deployment
613
+ // that genuinely needs longer has the per-chair override (`COLTRANE_CHAIR_TIMEOUT_MS`) and does
614
+ // not need the shipped default moved. Note the cost of raising it: `src/runtime.ts:1135` observes
615
+ // that a standard with P sequential phases can burn P x this value after `gig_abort` returns, so
616
+ // doubling the bound doubles that worst-case drag.
617
+ export const DEFAULT_CHAIR_TIMEOUT_MS = 20 * 60_000;
555
618
  // How long a cancelled chair child gets to shut down politely before it is killed outright.
556
619
  // SIGTERM first (a `claude` child spawns its own MCP servers; a cooperative exit gives it a
557
620
  // chance to take them with it), SIGKILL after. Deliberately NOT `detached: true` +
@@ -777,10 +840,11 @@ export function makeClaudeInvoker(opts = {}) {
777
840
  }
778
841
  // VENUE CONFINEMENT BY CONSTRUCTION. When the dispatch path resolved a room for this chair
779
842
  // (ctx.realization + ctx.venue both threaded by runGig), the spawn reflects the realization:
780
- // - `--allowedTools` carries EXACTLY venueEffectiveTools(agent, venue) — the SAME shared oracle
781
- // the compose-time R10 check refuses against (src/chart.ts), never a re-inlined intersection
782
- // and never the un-intersected grant, so runtime enforcement and compose-time refusal cannot
783
- // drift.
843
+ // - `--allowedTools` carries venueEffectiveTools(agent, venue) — the SAME shared oracle the
844
+ // compose-time R10 check refuses against (src/chart.ts), never a re-inlined intersection and
845
+ // never the un-intersected grant, so runtime enforcement and compose-time refusal cannot
846
+ // drift — with each surviving grant RESOLVED to the name its server advertises (#204). The
847
+ // intersection is unchanged; only the advertised name is (narrow-then-rename, never widen).
784
848
  // - the child env is the realization's deny-by-default allowlist (SeatRealization.env, `{}` when
785
849
  // the surface admits nothing), so an undeclared ambient credential never reaches the child.
786
850
  // Narrowed BEFORE the in-band-seal block below, so the engine's own output_write grant — engine
@@ -788,7 +852,18 @@ export function makeClaudeInvoker(opts = {}) {
788
852
  // either field → the un-narrowed path above stands and no child env is constructed (INV10).
789
853
  let childEnv;
790
854
  if (ctx.realization && ctx.venue) {
791
- effectiveAllowed = venueEffectiveTools(ctx.agent, ctx.venue);
855
+ // NARROW then RENAME. venueEffectiveTools is the shared oracle R10 refuses against; it returns
856
+ // the agent's RAW grant strings intersected with the room's equipment — so the CEILING decision
857
+ // stays on raw grants and cannot drift from the compose-time check. But those raw strings are
858
+ // still bare in-house slugs; advertising them un-resolved reopens #204 (a seat granting bare
859
+ // `type_browse` advertises `type_browse` while the engine server advertises
860
+ // `mcp__coltrane__type_browse`, so the call is DENIED — measured, gig 11744aa5). Resolve the
861
+ // ALREADY-NARROWED list so only the ADVERTISED name changes; the intersection is untouched, so
862
+ // the ceiling narrows, it never widens. Resolution off → keep the raw narrowed list (INV1/INV10).
863
+ const narrowed = venueEffectiveTools(ctx.agent, ctx.venue);
864
+ effectiveAllowed = resolutionEnabled
865
+ ? resolveAgentGrants({ ...ctx.agent, allowed_tools: narrowed }, opts.toolProviders ?? EMPTY_TOOL_REGISTRY, opts.mcpServerConfigs ?? {}).effectiveAllowed
866
+ : narrowed;
792
867
  const seat = ctx.realization.seats.find((s) => s.agent_slug === ctx.agent.slug);
793
868
  childEnv = seat?.env ?? {};
794
869
  }
@@ -848,8 +923,12 @@ export function makeClaudeInvoker(opts = {}) {
848
923
  const extractOpts = extractOptionsForChair(sealTypes, schema);
849
924
  // per-gig mcp-config: only the deployment-permitted servers (empty by default).
850
925
  const cfgPath = join(tmpdir(), `coltrane-mcp-${randomUUID()}.json`);
851
- // the base map (opts.mcpServers) + the per-agent servers its grants resolved to (#185).
852
- const servers = { ...(opts.mcpServers ?? {}), ...resolvedMcpServers };
926
+ // the base map (opts.mcpServers) + the per-agent servers its grants resolved to (#185) + the
927
+ // SUBSTRATE transports the room was realized on (ctx.substrateMcpConfigs). The room's servers
928
+ // come last so a realized docker-exec transport for a venue's declared server wins over any
929
+ // grant-resolved entry of the same slug — the spawn reaches the server running INSIDE the room,
930
+ // not merely the policy layer. Absent substrate = the prior two-way merge exactly.
931
+ const servers = { ...(opts.mcpServers ?? {}), ...resolvedMcpServers, ...(ctx.substrateMcpConfigs ?? {}) };
853
932
  const parent = opts.parent_session_id;
854
933
  // Per-server env additions: parent_session_id into every server (so children seal lineage), and
855
934
  // COLTRANE_OUTPUT_WRITE_MODE=validate into the ENGINE server on the output_write-seal path — so
@@ -887,12 +966,66 @@ export function makeClaudeInvoker(opts = {}) {
887
966
  // string IS the transcript (a bare JSON blob on the text path, a stream-json transcript on
888
967
  // the output_write path). Default: stream-json so the child's tool calls / reasoning are
889
968
  // observable LIVE, teed to ctx.onEvent.
969
+ // THE TOOL CEILING BINDS BY ENFORCEMENT, not omission. `--allowedTools` does NOT remove a host
970
+ // builtin — a seat granted only `type_browse` still called Bash and Read, unrefused and
971
+ // unrecorded (gig 782e89d8, room-prober, twice) — so the deny list must ENUMERATE what the seat
972
+ // may not hold. Synthesize it from the EXISTING oracles (hostBuiltinDenials over HOST_BUILTINS;
973
+ // venueEffectiveTools for the room ceiling), never a re-inlined universe/intersection.
974
+ //
975
+ // Computed HERE, AFTER OUTPUT_WRITE_TOOL joined effectiveAllowed (see the seal-wire block above):
976
+ // synthesizing before that addition would deny every model chair the very tool it must call to
977
+ // seal, failing every gig at the last step (asserted by LAW 2).
978
+ //
979
+ // The complement is scored against effectiveAllowed PLUS the code tools code_tool_access keeps:
980
+ // those four are governed by the code_tool_access ladder (codeToolDenials), so the complement
981
+ // must not re-deny a code tool the agent's access grants.
982
+ const allowForComplement = [...(effectiveAllowed ?? []), ...codeToolsKept(a.code_tool_access)];
983
+ // (d) VENUE CEILING BY DENIAL: a tool the agent grants but the room's equipment excludes.
984
+ // venueEffectiveTools is the SAME shared oracle compose-time R10 refuses against (INV9) — never a
985
+ // re-inlined intersection — so the room narrows by enforcement, not only by the omission from
986
+ // --allowedTools that cannot bind. Absent a room, nothing is venue-excluded.
987
+ const venueExcluded = ctx.realization && ctx.venue
988
+ ? (() => {
989
+ const kept = new Set(venueEffectiveTools(a, ctx.venue));
990
+ return (a.allowed_tools ?? []).filter((g) => !kept.has(g));
991
+ })()
992
+ : [];
993
+ // The UNION, preserving the agent's OWN declared denials (never replaced): (a) declared
994
+ // disallowed_tools, (b) the code_tool_access ladder, (c) the host-builtin complement, (d) the
995
+ // venue-excluded grants.
996
+ const denyUnion = [
997
+ ...(a.disallowed_tools ?? []),
998
+ ...codeToolDenials(a.code_tool_access),
999
+ ...hostBuiltinDenials(allowForComplement),
1000
+ ...venueExcluded,
1001
+ ];
1002
+ // NO OVER-DENIAL (LAW 5, and LAW 2's structural half): nothing the seat legitimately holds may be
1003
+ // denied — most sharply OUTPUT_WRITE_TOOL, which effectiveAllowed now carries on the seal path.
1004
+ // Subtract the effective allow set — by exact name AND base name, so a scoped grant like
1005
+ // `Bash(npx …)` still protects its `Bash` — then dedupe. code_tool_access-kept tools are NOT
1006
+ // subtracted here: a venue that excludes a code tool must still deny it even under access "full".
1007
+ const allowExact = new Set(effectiveAllowed ?? []);
1008
+ const allowBase = new Set((effectiveAllowed ?? []).map(toolBaseName));
1009
+ const disallowedTools = [...new Set(denyUnion)].filter((t) => !allowExact.has(t) && !allowBase.has(toolBaseName(t)));
890
1010
  const baseArgs = buildInvokerArgs(prompt, cfgPath, {
891
1011
  model: resolveModel(a.model_tier, opts.model),
892
1012
  allowed_tools: effectiveAllowed,
893
- disallowed_tools: [...(a.disallowed_tools ?? []), ...codeToolDenials(a.code_tool_access)],
1013
+ disallowed_tools: disallowedTools,
894
1014
  max_tool_calls: maxToolCalls,
895
1015
  });
1016
+ // SEAT IN THE ROOM. When the substrate stood up a SEAT-BEARING room, ctx.seatExec names its
1017
+ // container and per-realization workspace, and the chair runs INSIDE it:
1018
+ // `docker exec -i -w <workspace> <container> claude …` — so the seat's cwd is the room's own
1019
+ // tree and two concurrent gigs (distinct rooms, distinct workspaces) cannot share a working
1020
+ // directory. This wraps ONLY the leaf spawn; it runs AFTER the confinement block above, so
1021
+ // effectiveAllowed/childEnv are already computed and the room narrows the seat but never widens
1022
+ // it. `-i` keeps stdin open so a stdin-delivered prompt flows into the in-room binary. Auth is
1023
+ // FILE-BASED inside the room (credential_surface delivered by `docker cp` to /run/secrets),
1024
+ // never a host keychain and never forwarded via `-e`, so no host credential enters the room.
1025
+ // Absent → identity, and the leaf spawns on the host exactly as before.
1026
+ const seatExec = ctx.seatExec;
1027
+ const execBin = seatExec ? "docker" : bin;
1028
+ const inRoom = (args) => seatExec ? ["exec", "-i", "-w", seatExec.workspace, seatExec.container, bin, ...args] : [...args];
896
1029
  // ONE invocation only — on the output_write path the agent self-corrects a rejected write
897
1030
  // WITHIN this single run (each output_write rejection returns in-band and it calls again),
898
1031
  // and on the text path there is a single answer. Either way, the invoker never re-prompts.
@@ -907,8 +1040,8 @@ export function makeClaudeInvoker(opts = {}) {
907
1040
  // about whether anything survives is left to the seal path below, which is the only place that
908
1041
  // knows what passed. Every other non-zero exit still propagates untouched.
909
1042
  const runOnce = async (args, text) => customRun
910
- ? await customRun(bin, [...args], spawnBounds, childEnv)
911
- : await spawnStreaming(bin, [...args, "--output-format", "stream-json", "--verbose"], spawnBounds, ctx.onEvent, ctx.signal, abortGraceMs, promptViaStdin(text) ? text : undefined, childEnv);
1043
+ ? await customRun(execBin, inRoom(args), spawnBounds, childEnv)
1044
+ : await spawnStreaming(execBin, inRoom([...args, "--output-format", "stream-json", "--verbose"]), spawnBounds, ctx.onEvent, ctx.signal, abortGraceMs, promptViaStdin(text) ? text : undefined, childEnv);
912
1045
  /** Run, and hand back the stream even when the child died on its turn cap. */
913
1046
  const runTolerantOfBudgetStop = async (args, text) => {
914
1047
  try {