agentfootprint 9.13.0 → 9.15.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 (70) hide show
  1. package/AGENTS.md +3 -2
  2. package/dist/core/agent/AgentBuilder.js +125 -5
  3. package/dist/core/agent/AgentBuilder.js.map +1 -1
  4. package/dist/esm/core/agent/AgentBuilder.d.ts +29 -3
  5. package/dist/esm/core/agent/AgentBuilder.js +125 -5
  6. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  7. package/dist/esm/lib/injection-engine/index.d.ts +1 -1
  8. package/dist/esm/lib/injection-engine/index.js +7 -1
  9. package/dist/esm/lib/injection-engine/index.js.map +1 -1
  10. package/dist/esm/lib/injection-engine/skillGraph.d.ts +106 -7
  11. package/dist/esm/lib/injection-engine/skillGraph.js +170 -14
  12. package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
  13. package/dist/esm/lib/injection-engine/skillGraphCheckup.d.ts +11 -3
  14. package/dist/esm/lib/injection-engine/skillGraphCheckup.js +75 -2
  15. package/dist/esm/lib/injection-engine/skillGraphCheckup.js.map +1 -1
  16. package/dist/esm/lib/injection-engine/skillMatch.d.ts +107 -0
  17. package/dist/esm/lib/injection-engine/skillMatch.js +144 -0
  18. package/dist/esm/lib/injection-engine/skillMatch.js.map +1 -0
  19. package/dist/esm/memory/define.d.ts +1 -1
  20. package/dist/esm/memory/define.js +113 -14
  21. package/dist/esm/memory/define.js.map +1 -1
  22. package/dist/esm/memory/define.types.d.ts +69 -4
  23. package/dist/esm/memory/define.types.js.map +1 -1
  24. package/dist/esm/memory/pipeline/default.d.ts +22 -0
  25. package/dist/esm/memory/pipeline/default.js +19 -3
  26. package/dist/esm/memory/pipeline/default.js.map +1 -1
  27. package/dist/esm/memory/stages/summarize.d.ts +193 -54
  28. package/dist/esm/memory/stages/summarize.js +370 -34
  29. package/dist/esm/memory/stages/summarize.js.map +1 -1
  30. package/dist/esm/memory/strategies.d.ts +7 -1
  31. package/dist/esm/memory/strategies.js +25 -11
  32. package/dist/esm/memory/strategies.js.map +1 -1
  33. package/dist/lib/injection-engine/index.js +7 -1
  34. package/dist/lib/injection-engine/index.js.map +1 -1
  35. package/dist/lib/injection-engine/skillGraph.js +171 -15
  36. package/dist/lib/injection-engine/skillGraph.js.map +1 -1
  37. package/dist/lib/injection-engine/skillGraphCheckup.js +75 -2
  38. package/dist/lib/injection-engine/skillGraphCheckup.js.map +1 -1
  39. package/dist/lib/injection-engine/skillMatch.js +150 -0
  40. package/dist/lib/injection-engine/skillMatch.js.map +1 -0
  41. package/dist/memory/define.js +113 -14
  42. package/dist/memory/define.js.map +1 -1
  43. package/dist/memory/define.types.js.map +1 -1
  44. package/dist/memory/pipeline/default.js +19 -3
  45. package/dist/memory/pipeline/default.js.map +1 -1
  46. package/dist/memory/stages/summarize.js +374 -35
  47. package/dist/memory/stages/summarize.js.map +1 -1
  48. package/dist/memory/strategies.js +25 -11
  49. package/dist/memory/strategies.js.map +1 -1
  50. package/dist/types/core/agent/AgentBuilder.d.ts +29 -3
  51. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  52. package/dist/types/lib/injection-engine/index.d.ts +1 -1
  53. package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
  54. package/dist/types/lib/injection-engine/skillGraph.d.ts +106 -7
  55. package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
  56. package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts +11 -3
  57. package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts.map +1 -1
  58. package/dist/types/lib/injection-engine/skillMatch.d.ts +108 -0
  59. package/dist/types/lib/injection-engine/skillMatch.d.ts.map +1 -0
  60. package/dist/types/memory/define.d.ts +1 -1
  61. package/dist/types/memory/define.d.ts.map +1 -1
  62. package/dist/types/memory/define.types.d.ts +69 -4
  63. package/dist/types/memory/define.types.d.ts.map +1 -1
  64. package/dist/types/memory/pipeline/default.d.ts +22 -0
  65. package/dist/types/memory/pipeline/default.d.ts.map +1 -1
  66. package/dist/types/memory/stages/summarize.d.ts +193 -54
  67. package/dist/types/memory/stages/summarize.d.ts.map +1 -1
  68. package/dist/types/memory/strategies.d.ts +7 -1
  69. package/dist/types/memory/strategies.d.ts.map +1 -1
  70. package/package.json +1 -1
package/AGENTS.md CHANGED
@@ -356,7 +356,7 @@ The 4 memory **types**:
356
356
  - `CAUSAL` — footprintjs decision-evidence snapshots ⭐
357
357
 
358
358
  The 7 **strategies**:
359
- - `WINDOW` (rule, last N) · `BUDGET` (decider, fit-to-tokens) · `SUMMARIZE` (LLM compresses older)
359
+ - `WINDOW` (rule, last N) · `BUDGET` (decider, fit-to-tokens) · `SUMMARIZE` (one LLM call folds the older entries; the summary is stored, so a span is paid for once — needs `llm` + `model`)
360
360
  - `TOP_K` (score-threshold) · `EXTRACT` (LLM distills on write)
361
361
  - `DECAY` (recency-weighted, planned) · `HYBRID` (compose multiple)
362
362
 
@@ -546,7 +546,8 @@ One builder call mounts ONE skill that, when the user asks a why-question, unloc
546
546
  | Semantic recall via embeddings | `defineMemory({ type: SEMANTIC, strategy: TOP_K })` |
547
547
  | Cross-run "why?" replay | `defineMemory({ type: CAUSAL, strategy: TOP_K })` ⭐ |
548
548
  | Old memories should stop coming back | `defineMemory({ type: EPISODIC, strategy: DECAY, halfLifeMs })` |
549
- | Long conversation overflows context | `.compaction({ summarizer, model })` on the Agent (memory's `SUMMARIZE` does not compress yet — `listMemoryStrategies()` says so) |
549
+ | Long conversation overflows the live window | `.compaction({ summarizer, model })` on the Agent |
550
+ | Stored recall outgrew its window | `defineMemory({ type: EPISODIC, strategy: { kind: SUMMARIZE, recent, size, llm, model } })` — folds the older entries into one stored summary; originals kept |
550
551
  | Retrieve from a document corpus | `defineRAG({ store, embedder, topK, threshold })` |
551
552
  | Use tools from an external MCP server | `mcpClient({ transport, ... })` + `agent.tools(await c.tools())` |
552
553
 
@@ -13,6 +13,9 @@ const footprintjs_1 = require("footprintjs");
13
13
  const outputSchema_js_1 = require("../outputSchema.js");
14
14
  const outputEnforcement_js_1 = require("./outputEnforcement.js");
15
15
  const outputFallback_js_1 = require("../outputFallback.js");
16
+ const skillGraph_js_1 = require("../../lib/injection-engine/skillGraph.js");
17
+ const skillContract_js_1 = require("../../lib/injection-engine/skillContract.js");
18
+ const skillGraphCheckup_js_1 = require("../../lib/injection-engine/skillGraphCheckup.js");
16
19
  const skillBodyDelivery_js_1 = require("../../lib/injection-engine/skillBodyDelivery.js");
17
20
  const defineInstruction_js_1 = require("../../lib/injection-engine/factories/defineInstruction.js");
18
21
  const messagesSlotRefusal_js_1 = require("../../lib/injection-engine/messagesSlotRefusal.js");
@@ -90,6 +93,19 @@ class AgentBuilder {
90
93
  * is the only shape that draws `predicate` diamonds — so no new field had to be
91
94
  * added to the public `SkillGraph`. Feeds the gate's tree-specific refusal. */
92
95
  skillGraphIsTree = false;
96
+ /** Captured from `.skillGraph(graph)` — the graph's note that it DEFERRED its
97
+ * body-contract checks (built without `knownTools`, it could not tell a typo
98
+ * from a baseline tool this agent registers), plus the compiled skills to run
99
+ * them over. `build()` runs them exactly once, against the full tool registry.
100
+ * This capture is the FALLBACK for a structurally-typed graph whose skills do
101
+ * not carry the per-skill note: the primary collection reads
102
+ * `SKILL_GRAPH_DEFERRED_CONTRACT_KEY` off each injection's metadata, which is
103
+ * how a graph fed through `.skills({ list: () => graph.skills })` — a door
104
+ * that never sees the graph object — still gets its deferred checks run.
105
+ * Skills found by both are deduped by id: nothing re-runs, nothing
106
+ * double-reports. Undefined when the graph already ran them (`knownTools`
107
+ * given), switched them off (`check: 'off'`), or predates the note. */
108
+ skillGraphDeferredBodyContract;
93
109
  memoryList = [];
94
110
  /**
95
111
  * Optional terminal contract — see `outputSchema()`. Stored on the
@@ -493,8 +509,11 @@ class AgentBuilder {
493
509
  * instance also ends the shared per-instance state (cursors, rate-limit
494
510
  * buckets, keep-alive pools) that made this pairing bite in the first place.
495
511
  *
496
- * Checked at BOTH doors. `.compaction({...})` and `.window(summarizeOldest({...}))`
497
- * are the same policy, and a rule that only one of them enforces is advice.
512
+ * Checked at every door that can set one. `.compaction({...})` and
513
+ * `.window(summarizeOldest({...}))` are the same policy, and since 9.14.0
514
+ * `.memory(defineMemory({ strategy: { kind: 'summarize', llm, model } }))`
515
+ * is a third — a memory that folds recall makes the same un-decorated call
516
+ * against the same pairing. A rule that only some doors enforce is advice.
498
517
  */
499
518
  assertSummarizerIsNotTheAgentItself(billing, label) {
500
519
  if (billing === undefined)
@@ -509,9 +528,10 @@ class AgentBuilder {
509
528
  `decorator and the cache; the summarizer's call runs through none of them — one ` +
510
529
  `attempt, no fallback, no cache. A difference nobody typed is the kind this library ` +
511
530
  `refuses.\n` +
512
- `Fix, one word: give the summarizer its OWN instance — \`summarizer: anthropic()\` ` +
513
- `rather than the variable you passed to Agent.create. That also stops the two roles ` +
514
- `sharing per-instance state. Or name a different (usually cheaper) model.`);
531
+ `Fix, one word: give the summarizer its OWN instance — \`anthropic()\` written again ` +
532
+ `(as \`summarizer\` on a window strategy, as \`llm\` on a summarize memory) rather than ` +
533
+ `the variable you passed to Agent.create. That also stops the two roles sharing ` +
534
+ `per-instance state. Or name a different (usually cheaper) model.`);
515
535
  }
516
536
  /**
517
537
  * Keep the live context window inside a token budget — without ever losing
@@ -816,6 +836,17 @@ class AgentBuilder {
816
836
  // The suppression reporter (8.15.0) — what the cursor law kept off the wire.
817
837
  this.skillGraphSupersededEntries = graph.supersededEntries;
818
838
  this.skillGraphIsTree = (graph.nodes ?? []).some((n) => n.kind === 'predicate');
839
+ // The deferred body-contract note: the graph built without `knownTools`, so its
840
+ // typo-vs-baseline-tool checks wait for `build()`, where the registry is real.
841
+ // Library-built graphs also stamp the note on each skill's metadata (that is
842
+ // what serves the `.skills({ list })` door); this capture is the fallback for
843
+ // a structurally-typed graph without the stamps — `build()` dedupes by id.
844
+ if (graph.deferredBodyContract) {
845
+ this.skillGraphDeferredBodyContract = {
846
+ mode: graph.deferredBodyContract.mode,
847
+ skills: graph.skills,
848
+ };
849
+ }
819
850
  return this;
820
851
  }
821
852
  /**
@@ -882,6 +913,11 @@ class AgentBuilder {
882
913
  throw new Error(`Agent.memory(): duplicate id '${definition.id}' — each memory needs a unique id ` +
883
914
  'to keep its scope key (`memoryInjection_${id}`) collision-free.');
884
915
  }
916
+ // A memory that calls a model on your behalf — today that is the
917
+ // `summarize` strategy — is held to the same separate-instance rule as
918
+ // `.compaction()`. `defineMemory` cannot make this check: it has never
919
+ // heard of an agent. It declares the billing, this reads it (9.14.0).
920
+ this.assertSummarizerIsNotTheAgentItself(definition.billing, `Agent.memory('${definition.id}')`);
885
921
  this.memoryList.push(definition);
886
922
  return this;
887
923
  }
@@ -1575,6 +1611,90 @@ class AgentBuilder {
1575
1611
  // provider against an injection — so both live here, beside the refusal above.
1576
1612
  warnInertRelevanceHint(injections, this.skillGraphScoreEntries !== undefined);
1577
1613
  warnRedundantSkillScopedTools(this.toolProviderRef, injections);
1614
+ // The skill graph's DEFERRED body-contract checks run HERE — the one build point
1615
+ // that can see the full tool registry. At graph build (without `knownTools`) a
1616
+ // body's `lookup_order(id)` is indistinguishable from a typo, because `.tool()`
1617
+ // has not run yet; the graph said nothing it could not prove and left its note.
1618
+ // The note is collected from the FINAL injection list (each deferred graph skill
1619
+ // carries it in its metadata), so the checks run whichever door the skills came
1620
+ // through — `.skillGraph(graph)` or `.skills({ list: () => graph.skills })`.
1621
+ // The `.skillGraph()` capture is folded in as a fallback for a structurally-typed
1622
+ // graph without per-skill stamps; skills found by both are deduped by id, so one
1623
+ // problem is reported once. The known set checked now: the agent's registered
1624
+ // tool names ∪ `read_skill` (auto-attached whenever a skill exists, so a hand-off
1625
+ // hint naming it is not a typo) ∪ every NON-deferred skill's tool names (they
1626
+ // exist on this agent; calling them nonexistent would be false) — plus, inside
1627
+ // checkSkillContracts, the checked skills' own tools. Runs at most once per built
1628
+ // agent, and never when the graph already ran its checks with an explicit
1629
+ // `knownTools`: one problem, one report. Baseline `ToolProvider` tools are
1630
+ // per-iteration and cannot be enumerated at build time — bodies naming only
1631
+ // provider-delivered tools should pass the names via the graph's `knownTools`.
1632
+ const deferredByMode = new Map();
1633
+ const deferredIds = new Set();
1634
+ const collectDeferred = (skill, mode) => {
1635
+ if (deferredIds.has(skill.id))
1636
+ return; // metadata + graph note = ONE check
1637
+ deferredIds.add(skill.id);
1638
+ const group = deferredByMode.get(mode);
1639
+ if (group)
1640
+ group.push(skill);
1641
+ else
1642
+ deferredByMode.set(mode, [skill]);
1643
+ };
1644
+ for (const i of injections) {
1645
+ const note = i.metadata?.[skillGraph_js_1.SKILL_GRAPH_DEFERRED_CONTRACT_KEY];
1646
+ if (note?.mode === 'throw' || note?.mode === 'warn')
1647
+ collectDeferred(i, note.mode);
1648
+ }
1649
+ if (this.skillGraphDeferredBodyContract) {
1650
+ const { mode, skills: graphSkills } = this.skillGraphDeferredBodyContract;
1651
+ for (const s of graphSkills)
1652
+ collectDeferred(s, mode);
1653
+ }
1654
+ if (deferredByMode.size > 0) {
1655
+ // Tools on skills OUTSIDE the deferred set exist on this agent — baseline,
1656
+ // not typos. Tools on deferred skills are added per group by
1657
+ // checkSkillContracts itself (own vs known matters for body-foreign-tool).
1658
+ const baseKnownTools = [
1659
+ ...this.registry.map((entry) => entry.name),
1660
+ 'read_skill',
1661
+ ...injections
1662
+ .filter((i) => i.flavor === 'skill' && !deferredIds.has(i.id))
1663
+ .flatMap((s) => (0, skillContract_js_1.skillToolNames)(s)),
1664
+ ];
1665
+ // One group per deferring graph's `check` mode — two graphs fed via
1666
+ // `.skills()` may disagree, and each is judged by its OWN declared severity.
1667
+ for (const [mode, group] of deferredByMode) {
1668
+ const groupIds = new Set(group.map((s) => s.id));
1669
+ const knownTools = [
1670
+ ...baseKnownTools,
1671
+ ...[...deferredByMode.values()]
1672
+ .flat()
1673
+ .filter((s) => !groupIds.has(s.id))
1674
+ .flatMap((s) => (0, skillContract_js_1.skillToolNames)(s)),
1675
+ ];
1676
+ const problems = (0, skillContract_js_1.checkSkillContracts)(group, { knownTools });
1677
+ if (problems.length === 0)
1678
+ continue;
1679
+ const report = { ok: !problems.some((p) => p.kind === 'error'), problems };
1680
+ // Severity per the GRAPH's own check mode. Both contract checks are
1681
+ // warnings today, so `'throw'` and `'warn'` both surface as a dev-mode
1682
+ // warning — but an error-kind problem, should one ever exist, honors
1683
+ // `'throw'` here exactly as it would have at graph build.
1684
+ if (mode === 'throw' && !report.ok) {
1685
+ throw new Error(`Agent.build(): skill-body ↔ tool-contract check-up failed ` +
1686
+ `(deferred from graph build; checked against this agent's full tool ` +
1687
+ `registry):\n${(0, skillGraphCheckup_js_1.formatCheckup)(report)}`);
1688
+ }
1689
+ if ((0, footprintjs_1.isDevMode)()) {
1690
+ // eslint-disable-next-line no-console
1691
+ console.warn(`agentfootprint Agent: skill-graph body-contract check-up (deferred from ` +
1692
+ `graph build; checked here against the agent's full tool registry — pass ` +
1693
+ `knownTools to skillGraph to run it at graph build instead):\n` +
1694
+ (0, skillGraphCheckup_js_1.formatCheckup)(report));
1695
+ }
1696
+ }
1697
+ }
1578
1698
  const agent = new Agent_js_1.Agent(opts, this.systemPromptValue, this.registry, voice, injections, this.memoryList, this.outputSchemaParser, toolProvider, this.systemPromptCachePolicy, this.cachingDisabledValue, this.cacheStrategyOverride, this.outputFallbackCfg, this.reliabilityConfig, this.thinkingHandlerValue, this.thinkingBudgetValue, this.skillGraphNextSkill, this.skillGraphReachable, this.skillGraphScoreEntries, this.checkInConfig, this.runConfigFn, this.windowStrategyValue, this.toolMiddlewareList, this.messageMiddlewareList, this.resolveOutputEnforcement(), this.skillGraphEdgeTargets, this.skillGraphExplainNextSkill, this.skillGraphIsTree, this.skillGraphSupersededEntries);
1579
1699
  // Attach the observers collected by `.watch()` so they receive events
1580
1700
  // from the very first run. Mirrors what consumers would do post-build
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilder.js","sourceRoot":"","sources":["../../../src/core/agent/AgentBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentBuilder.js","sourceRoot":"","sources":["../../../src/core/agent/AgentBuilder.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,6CAAwC;AAExC,wDAK4B;AAC5B,iEAKgC;AAChC,4DAK8B;AAG9B,4EAKkD;AAClD,kFAAkG;AAClG,0FAAgF;AAChF,0FAA0F;AAC1F,oGAA8F;AAC9F,8FAA4F;AAC5F,wGAA8G;AAC9G,kFAAkF;AAQlF,4GAA6G;AAC7G,gGAAiG;AACjG,4EAKiD;AACjD,oFAIqD;AACrD,gFAA6E;AAC7E,0CAAoC;AAMpC,qCAAuD;AACvD,oDAA+D;AAC/D,+EAAyE;AAEzE;;;GAGG;AACH,MAAa,YAAY;IACN,IAAI,CAAe;IAC5B,iBAAiB,GAAG,EAAE,CAAC;IAC/B;;;gFAG4E;IACpE,eAAe,GAAG,KAAK,CAAC;IAChC;;;;OAIG;IACK,uBAAuB,GAAgB,QAAQ,CAAC;IACxD;;;;;OAKG;IACK,oBAAoB,GAAG,KAAK,CAAC;IACrC;;;;;OAKG;IACK,qBAAqB,CAAiB;IAC7B,QAAQ,GAAwB,EAAE,CAAC;IACnC,aAAa,GAAgB,EAAE,CAAC;IACjD;;mCAE+B;IACvB,mBAAmB,CAAiD;IAC5E;;2DAEuD;IAC/C,mBAAmB,CAAkD;IAC7E;;+EAE2E;IACnE,sBAAsB,CAGH;IAC3B;;wBAEoB;IACZ,qBAAqB,CAAqB;IAClD;;0EAEsE;IAC9D,0BAA0B,CAAyC;IAC3E;;;gBAGY;IACJ,2BAA2B,CAAgD;IACnF;;oFAEgF;IACxE,gBAAgB,GAAG,KAAK,CAAC;IACjC;;;;;;;;;;;4EAWwE;IAChE,8BAA8B,CAGpC;IACe,UAAU,GAAuB,EAAE,CAAC;IACrD;;;OAGG;IACK,kBAAkB,CAA+B;IACzD;;mEAE+D;IACvD,mBAAmB,GAAG,CAAC,CAAC;IACxB,oBAAoB,GAAyB,UAAU,CAAC;IACxD,gBAAgB,CAAqC;IAE7D;2EACuE;IAC/D,iBAAiB,CAAmC;IAC5D;;;;;OAKG;IACK,eAAe,CAAgB;IACvC;;;;OAIG;IACK,qBAAqB,CAAU;IACvC;;;OAGG;IACc,YAAY,GAAc,EAAE,CAAC;IAC9C,gEAAgE;IAChE,iEAAiE;IACjE,kEAAkE;IAClE,iEAAiE;IACjE,+CAA+C;IACvC,YAAY,GAAG,SAAS,CAAC;IACzB,mBAAmB,GAAqC,EAAE,CAAC;IAC3D,iBAAiB,GAAqC,EAAE,CAAC;IACjE;;;;;OAKG;IACK,iBAAiB,CAAqB;IAE9C;;;;;;;;;;;;OAYG;IACK,oBAAoB,CAA0B;IACtD;;;;;OAKG;IACK,mBAAmB,CAAU;IAC7B,iBAAiB,CAAsB;IACvC,aAAa,CAAyB;IAC9C;mEAC+D;IACvD,WAAW,CAAe;IAClC;;8EAE0E;IAClE,mBAAmB,CAAkB;IAC7C;8EAC0E;IAClE,kBAAkB,CAAsD;IAChF,2EAA2E;IACnE,kBAAkB,GAA8B,EAAE,CAAC;IAC3D,qEAAqE;IAC7D,qBAAqB,GAAiC,EAAE,CAAC;IACjE,oEAAoE;IAC5D,SAAS,GAAG,KAAK,CAAC;IAE1B,YAAY,IAAkB;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,4DAA4D;QAC5D,sEAAsE;QACtE,2CAA2C;QAC3C,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;YAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC7D,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC;IACxF,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,MAAc,EAAE,OAA0C;QAC/D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,qFAAqF;gBACnF,oFAAoF;gBACpF,kFAAkF;gBAClF,mFAAmF;gBACnF,6EAA6E;gBAC7E,6EAA6E;gBAC7E,iFAAiF;gBACjF,uBAAuB,CAC1B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAChC,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAiB,IAA0B;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,GAAG,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAuB,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAA0B;QAC9B,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,YAAY,CAAC,QAAsB;QACjC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,SAAS,CAAC,EAAe;QACvB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,mFAAmF;gBACjF,8BAA8B,CACjC,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,wFAAwF;gBACtF,GAAG,OAAO,EAAE,GAAG,CAClB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACH,GAAG,CAAC,OAAmB;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,qFAAqF;gBACnF,qFAAqF;gBACrF,oFAAoF;gBACpF,yEAAyE;gBACzE,yEAAyE,CAC5E,CAAC;QACJ,CAAC;QACD,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,mEAAmE;QACnE,UAAU;QACV,MAAM,QAAQ,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC;QACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACnC,uEAAuE;YACvE,sEAAsE;YACtE,kBAAkB;YAClB,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7E,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,MAAM,CAAC,QAAwB;QAC7B,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACtC,IACE,QAAQ,KAAK,IAAI;YACjB,OAAO,QAAQ,KAAK,QAAQ;YAC5B,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU;YACnC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;YACjC,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAC1B,CAAC;YACD,MAAM,IAAI,KAAK,CACb,uFAAuF;gBACrF,sCAAsC,OAAO,QAAQ,yBAAyB;gBAC9E,sFAAsF;gBACtF,0BAA0B,CAC7B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,mCAAmC,CAAC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAClF,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACpC,wEAAwE;QACxE,sEAAsE;QACtE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,kBAAkB,IAAI,WAAW,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,mCAAmC,CACzC,OAA+E,EAC/E,KAAa;QAEb,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACpD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAC9C,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,kFAAkF;YACxF,KAAK,OAAO,CAAC,KAAK,uEAAuE;YACzF,kFAAkF;YAClF,iFAAiF;YACjF,qFAAqF;YACrF,YAAY;YACZ,sFAAsF;YACtF,yFAAyF;YACzF,iFAAiF;YACjF,kEAAkE,CACrE,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,UAAU,CAAC,OAA0B;QACnC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC1C,uEAAuE;QACvE,2EAA2E;QAC3E,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,IAAA,qCAAwB,EAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAC9E,IAAI,CAAC,mCAAmC,CACtC,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,EACxD,yBAAyB,CAC1B,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAA,oCAAe,EAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,sBAAsB,CAAC,IAAqC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC1C,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,IAAI,WAAW,CAAC;QACrD,MAAM,GAAG,GACP,iFAAiF;YACjF,sFAAsF;YACtF,QAAQ,CAAC;QACX,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,gEAAgE,QAAQ,CAAC,IAAI,UAAU;gBACrF,MAAM,KAAK,KAAK,GAAG,gDAAgD,KAAK,QAAQ,CACnF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,oEAAoE;gBAClE,KAAK,QAAQ,CAAC,IAAI,cAAc,KAAK,KAAK,GAAG,wCAAwC;gBACrF,2DAA2D,CAC9D,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CACb,mEAAmE,QAAQ,CAAC,IAAI,UAAU;YACxF,MAAM,KAAK,KAAK,GAAG,oEAAoE;YACvF,qEAAqE,CACxE,CAAC;IACJ,CAAC;IAED,wEAAwE;IAChE,sBAAsB,CAAC,IAAwD;QACrF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,CAAS;QACrB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,GAAG,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,GAAG,SAA6B;QACpC,KAAK,MAAM,QAAQ,IAAI,SAAS;YAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,IAAa;QACpB,MAAM,IAAI,KAAK,CACb,qFAAqF;YACnF,yEAAyE;YACzE,oFAAoF;YACpF,mFAAmF;YACnF,+BAA+B,CAClC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,SAA2C;QAC7D,IAAI,CAAC,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,SAAS,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,SAA2C;QAC3D,IAAI,CAAC,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,SAAS,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gEAAgE;IAChE,EAAE;IACF,iEAAiE;IACjE,8DAA8D;IAC9D,iEAAiE;IAEjE;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,SAAoB;QAC5B,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,oCAAoC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;YACnD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,IAAA,gDAAuB,EAAC,oBAAoB,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAoB;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,QAA0C;QAC/C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,KA6BV;QACC,+EAA+E;QAC/E,+EAA+E;QAC/E,gFAAgF;QAChF,8EAA8E;QAC9E,iFAAiF;QACjF,8EAA8E;QAC9E,gBAAgB;QAChB,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,kFAAkF;gBAChF,kFAAkF;gBAClF,kFAAkF;gBAClF,wEAAwE;gBACxE,4CAA4C,CAC/C,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM;YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxD,4EAA4E;QAC5E,2EAA2E;QAC3E,6EAA6E;QAC7E,+DAA+D;QAC/D,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,SAAS,CAAC;QAC3C,8EAA8E;QAC9E,oEAAoE;QACpE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,eAAe,CAAC;QACjD,wEAAwE;QACxE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,YAAY,CAAC;QACjD,6EAA6E;QAC7E,8EAA8E;QAC9E,2CAA2C;QAC3C,IAAI,CAAC,qBAAqB,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClE,4EAA4E;QAC5E,kDAAkD;QAClD,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACzD,6EAA6E;QAC7E,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC3D,IAAI,CAAC,gBAAgB,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QAChF,gFAAgF;QAChF,+EAA+E;QAC/E,6EAA6E;QAC7E,8EAA8E;QAC9E,2EAA2E;QAC3E,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAC/B,IAAI,CAAC,8BAA8B,GAAG;gBACpC,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC,IAAI;gBACrC,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,SAAoB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,SAAoB;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,UAAoC;QAC/C,KAAK,MAAM,CAAC,IAAI,UAAU;YAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,SAAoB;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,UAA4B;QACjC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,iCAAiC,UAAU,CAAC,EAAE,oCAAoC;gBAChF,iEAAiE,CACpE,CAAC;QACJ,CAAC;QACD,iEAAiE;QACjE,uEAAuE;QACvE,uEAAuE;QACvE,sEAAsE;QACtE,IAAI,CAAC,mCAAmC,CACtC,UAAU,CAAC,OAAO,EAClB,iBAAiB,UAAU,CAAC,EAAE,IAAI,CACnC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,CAAC,UAA4B;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuDG;IACH,YAAY,CAAI,MAA6B,EAAE,IAA0B;QACvE,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,MAAqC,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,oBAAoB,GAAG,IAAI,EAAE,QAAQ,IAAI,UAAU,CAAC;QACzD,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5E,MAAM,eAAe,GAAG,IAAI,EAAE,WAAW,IAAI,IAAA,yCAAuB,EAAC,MAAM,CAAC,CAAC;QAC7E,MAAM,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,eAAe,CAAC;QACzC,kEAAkE;QAClE,kEAAkE;QAClE,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAA,wCAAiB,EAAC;YAChB,EAAE;YACF,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;YACtB,MAAM,EAAE,eAAe;SACxB,CAAC,CACH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACH,cAAc,CAAI,OAAiC;QACjD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG;YACvB,QAAQ,EAAE,OAAO,CAAC,QAAqC;YACvD,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAiB,EAAE,CAAC;YAC1E,SAAS,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS;SACxC,CAAC;QACF,yDAAyD;QACzD,2EAA2E;QAC3E,uEAAuE;QACvE,2BAA2B;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,4BAA4B;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACnC,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO;QAC9B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,wFAAwF;gBACtF,iFAAiF;gBACjF,6EAA6E;gBAC7E,oFAAoF;gBACpF,uBAAuB,CAC1B,CAAC;QACJ,CAAC;QACD,2EAA2E;QAC3E,oEAAoE;QACpE,gEAAgE;QAChE,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,IAAA,+CAA2B,EACzB,GAAG,CAAC,MAAM,EACV,IAAI,CAAC,kBAAiD,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,WAAW,CAAC,MAAyB;QACnC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,eAAe,CAAC,OAA+B;QAC7C,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,QAAQ,CAAC,IAAwB;QAC/B,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,uEAAuE,MAAM,CAC3E,IAAI,CAAC,MAAM,CACZ,GAAG,CACL,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,cAAc,CAAC,GAAG,UAAqC;QACrD,KAAK,MAAM,EAAE,IAAI,UAAU;YAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,UAAU,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,EAAW;QACtC,MAAM,MAAM,GACV,EAAE,KAAK,IAAI;YACX,OAAO,EAAE,KAAK,QAAQ;YACtB,OAAQ,EAAyB,CAAC,IAAI,KAAK,QAAQ;YAClD,EAAuB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,EAAoC,CAAC;QACpD,MAAM,KAAK,GACT,MAAM;YACN,CAAC,OAAO,MAAM,EAAE,UAAU,KAAK,UAAU,IAAI,OAAO,MAAM,EAAE,YAAY,KAAK,UAAU,CAAC,CAAC;QAC3F,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,mFAAmF;gBACjF,gEAAgE;gBAChE,yBAAyB;gBACzB,mCAAmC,OAAO,EAAE,sCAAsC;gBAClF,yDAAyD,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,iBAAiB,CAAC,GAAG,UAAwC;QAC3D,KAAK,MAAM,EAAE,IAAI,UAAU;YAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC;QACzF,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE,GAAG,UAAU,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;mEAC+D;IACvD,gBAAgB,CAAC,EAAW,EAAE,MAAc,EAAE,IAAY;QAChE,IACE,EAAE,KAAK,IAAI;YACX,OAAO,EAAE,KAAK,QAAQ;YACtB,OAAQ,EAAyB,CAAC,IAAI,KAAK,QAAQ;YAClD,EAAuB,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAC1C,OAAQ,EAA8B,CAAC,IAAI,CAAC,KAAK,UAAU,EAC3D,CAAC;YACD,MAAM,IAAI,KAAK,CACb,gBAAgB,MAAM,uDAAuD;gBAC3E,KAAK,IAAI,uBAAuB,OAAO,EAAE,0CAA0C;gBACnF,qDAAqD,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,CAAC,OAA8B,EAAE;QACtC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,OAA2B,EAAE;QACvC,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACtC,mEAAmE;YACnE,+DAA+D;YAC/D,iEAAiE;YACjE,MAAM,IAAI,KAAK,CACb,wEAAwE;gBACtE,0EAA0E;gBAC1E,kEAAkE;gBAClE,6EAA6E,CAChF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACK,wBAAwB;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACvC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAE9B,IAAI,UAAU,CAAC;QACf,IAAI,IAAI,CAAC,oBAAoB,KAAK,aAAa,EAAE,CAAC;YAChD,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,uEAAuE;YACvE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YACjF,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,MAAM,aAAa,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClF,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC9E,IAAI,UAAU,GAAG,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,OAAO,UAAU,2CAA2C,CAAC,CAAC;YAC7E,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS;gBACtC,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACb,gFAAgF;oBAC9E,QAAQ,uCAAgB,wDAAwD;oBAChF,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC;oBAC9E,iFAAiF;oBACjF,kFAAkF;oBAClF,6DAA6D,CAChE,CAAC;YACJ,CAAC;YAED,2EAA2E;YAC3E,MAAM,UAAU,GAAG,IAAA,wCAAiB,EAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,mFAAmF;oBACjF,kFAAkF;oBAClF,kFAAkF;oBAClF,yEAAyE;oBACzE,kFAAkF,CACrF,CAAC;YACJ,CAAC;YACD,UAAU,GAAG,IAAA,sCAAe,EAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/D,CAAC;QAED,wEAAwE;QACxE,4EAA4E;QAC5E,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,4EAA4E;QAC5E,mCAAmC;QACnC,EAAE;QACF,0EAA0E;QAC1E,gDAAgD;QAChD,OAAO;YACL,MAAM;YACN,OAAO,EAAE,IAAI,CAAC,mBAAmB;YACjC,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;YAC/C,WAAW,EAAE,IAAI,CAAC,iBAAiB,KAAK,SAAS;SAClD,CAAC;IACJ,CAAC;IAED,KAAK;QACH,wEAAwE;QACxE,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,mEAAmE;QACnE,iEAAiE;QACjE,iEAAiE;QACjE,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,mBAAmB,EAAE,EAAE,GAAG,mDAA0B,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE;YACnF,iBAAiB,EAAE,EAAE,GAAG,2CAAsB,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE;SAC5E,CAAC;QACF,MAAM,IAAI,GACR,IAAI,CAAC,qBAAqB,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,qBAAqB,EAAE;YAC7D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAChB,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,6DAA6D;QAC7D,EAAE;QACF,yEAAyE;QACzE,oEAAoE;QACpE,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,+DAA+D;YAC/D,sEAAsE;YACtE,mEAAmE;YACnE,8BAA8B;YAC9B,MAAM,QAAQ,GAAsB,IAAI,CAAC,iBAAiB,CAAC,QAAQ;gBACjE,CAAC,CAAC,CAAC,aAAa,CAAC;gBACjB,CAAC,CAAC,mCAAgB,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3E,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CACb,wCAAwC,KAAK,CAAC,IAAI,kCAAkC;oBAClF,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,yBAAyB;oBACpF,mFAAmF;oBACnF,iCAAiC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB;YAC/C,CAAC,CAAC,IAAI,mCAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;YAC1F,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,UAAU,GAAG,kBAAkB;YACnC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,IAAA,sCAAqB,EAAC,IAAI,CAAC,iBAAkB,CAAC,CAAC;YACzE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QACvB,MAAM,YAAY,GAAG,kBAAkB;YACrC,CAAC,CAAC,IAAA,6CAA4B,EAC1B,kBAAkB,EAClB,IAAI,CAAC,iBAAkB,EACvB,IAAI,CAAC,eAAe,CACrB;YACH,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QACzB,8EAA8E;QAC9E,iFAAiF;QACjF,oEAAoE;QACpE,gFAAgF;QAChF,+EAA+E;QAC/E,2EAA2E;QAC3E,MAAM,eAAe,GAAG,IAAA,8CAAuB,EAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACtD,2EAA2E;QAC3E,wEAAwE;QACxE,4EAA4E;QAC5E,6EAA6E;QAC7E,aAAa;QACb,4BAA4B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,8BAA8B,CAC5B,IAAI,CAAC,aAAa,KAAK,SAAS,EAChC,IAAI,CAAC,QAAQ,EACb,UAAU,EACV,YAAY,CACb,CAAC;QACF,8EAA8E;QAC9E,kFAAkF;QAClF,+EAA+E;QAC/E,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,sBAAsB,KAAK,SAAS,CAAC,CAAC;QAC9E,6BAA6B,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAChE,iFAAiF;QACjF,+EAA+E;QAC/E,gFAAgF;QAChF,gFAAgF;QAChF,iFAAiF;QACjF,gFAAgF;QAChF,6EAA6E;QAC7E,kFAAkF;QAClF,iFAAiF;QACjF,8EAA8E;QAC9E,kFAAkF;QAClF,8EAA8E;QAC9E,+EAA+E;QAC/E,kFAAkF;QAClF,0EAA0E;QAC1E,2EAA2E;QAC3E,4EAA4E;QAC5E,+EAA+E;QAC/E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiC,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,MAAM,eAAe,GAAG,CAAC,KAAgB,EAAE,IAAsB,EAAQ,EAAE;YACzE,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO,CAAC,oCAAoC;YAC3E,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;gBACxB,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAI,CAAC,CAAC,QAA2E,EAAE,CAC3F,iDAAiC,CAClC,CAAC;YACF,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM;gBAAE,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACxC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,8BAA8B,CAAC;YAC1E,KAAK,MAAM,CAAC,IAAI,WAAW;gBAAE,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5B,2EAA2E;YAC3E,6DAA6D;YAC7D,2EAA2E;YAC3E,MAAM,cAAc,GAAG;gBACrB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC3C,YAAY;gBACZ,GAAG,UAAU;qBACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBAC7D,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,iCAAc,EAAC,CAAC,CAAC,CAAC;aACrC,CAAC;YACF,oEAAoE;YACpE,6EAA6E;YAC7E,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG;oBACjB,GAAG,cAAc;oBACjB,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;yBAC5B,IAAI,EAAE;yBACN,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBAClC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,iCAAc,EAAC,CAAC,CAAC,CAAC;iBACrC,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAA,sCAAmB,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBACpC,MAAM,MAAM,GAAG,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAC3E,oEAAoE;gBACpE,uEAAuE;gBACvE,qEAAqE;gBACrE,0DAA0D;gBAC1D,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CACb,4DAA4D;wBAC1D,qEAAqE;wBACrE,eAAe,IAAA,oCAAa,EAAC,MAAM,CAAC,EAAE,CACzC,CAAC;gBACJ,CAAC;gBACD,IAAI,IAAA,uBAAS,GAAE,EAAE,CAAC;oBAChB,sCAAsC;oBACtC,OAAO,CAAC,IAAI,CACV,0EAA0E;wBACxE,0EAA0E;wBAC1E,+DAA+D;wBAC/D,IAAA,oCAAa,EAAC,MAAM,CAAC,CACxB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,gBAAK,CACrB,IAAI,EACJ,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,QAAQ,EACb,KAAK,EACL,UAAU,EACV,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,kBAAkB,EACvB,YAAY,EACZ,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,wBAAwB,EAAE,EAC/B,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,0BAA0B,EAC/B,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,2BAA2B,CACjC,CAAC;QACF,sEAAsE;QACtE,sEAAsE;QACtE,uEAAuE;QACvE,+DAA+D;QAC/D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,kBAAkB,EAAE,CAAC;YACvB,iEAAiE;YACjE,iEAAiE;YACjE,EAAE;YACF,oEAAoE;YACpE,6DAA6D;YAC7D,qEAAqE;YACrE,iEAAiE;YACjE,EAAE;YACF,qEAAqE;YACrE,mEAAmE;YACnE,qEAAqE;YACrE,oEAAoE;YACpE,gDAAgD;YAChD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9D,kBAAkB,CAAC,MAAM,CAAC;gBACxB,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE;gBAC1C,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACnD,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAChD,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;aAClE,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5C,oEAAoE;YACpE,oEAAoE;YACpE,mDAAmD;YACnD,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAn1DD,oCAm1DC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,4BAA4B,CAAC,SAA6B;IACjE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;IACxC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ;YAAE,SAAS,CAAC,6CAA6C;QAC9E,MAAM,IAAI,KAAK,CACb,kEAAkE,EAAE,mBAAmB;YACrF,sFAAsF;YACtF,uFAAuF;YACvF,0DAA0D,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,8BAA8B,CACrC,UAAmB,EACnB,QAAsC,EACtC,UAAgC,EAChC,YAAsC;IAEtC,IAAI,CAAC,UAAU,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO;IACtD,MAAM,QAAQ,GAAG,CAAC,IAAoC,EAAW,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;IAC/F,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO;IAC3D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YACjD,IAAI,QAAQ,CAAC,IAAsC,CAAC;gBAAE,OAAO;QAC/D,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,4FAA4F;QAC1F,yFAAyF;QACzF,0FAA0F;QAC1F,sFAAsF;QACtF,8EAA8E,CACjF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,gBAAgB,CACvB,QAAsC,EACtC,UAAgC;IAEhC,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,CAAC,SAAkB,EAAQ,EAAE;QACxC,MAAM,KAAK,GAAG,IAAA,gCAAW,EAAC,SAAS,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,QAAQ;QAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAA,mCAAc,EAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,yBAAyB,CAAC,SAAoB;IACrD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO;IAC7C,IAAI,OAAO,CAAC,WAAW,KAAK,YAAY;QAAE,OAAO;IACjD,MAAM,IAAI,KAAK,CACb,oBAAoB,SAAS,CAAC,EAAE,uBAAuB,OAAO,CAAC,WAAW,SAAS;QACjF,0FAA0F;QAC1F,sBAAsB,OAAO,CAAC,WAAW,mDAAmD;QAC5F,0FAA0F;QAC1F,2FAA2F;QAC3F,yFAAyF;QACzF,mFAAmF;QACnF,qFAAqF;QACrF,4DAA4D,CAC/D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,sBAAsB,CAAC,UAAgC,EAAE,SAAkB;IAClF,IAAI,SAAS,IAAI,CAAC,IAAA,uBAAS,GAAE;QAAE,OAAO;IACtC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,QAA+C,CAAC;QACjE,IAAI,IAAI,EAAE,CAAC,wDAA+B,CAAC,KAAK,IAAI;YAAE,SAAS;QAC/D,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,oCAAoC,GAAG,CAAC,EAAE,+CAA+C;YACvF,sFAAsF;YACtF,0FAA0F;YAC1F,0FAA0F;YAC1F,4EAA4E,CAC/E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,6BAA6B,CACpC,QAAkC,EAClC,UAAgC;IAEhC,IAAI,CAAC,IAAA,uBAAS,GAAE;QAAE,OAAO;IACzB,MAAM,MAAM,GAAG,IAAA,4CAAsB,EAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO;IACjC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAiD,CAAC;IACrE,IAAI,IAAI,EAAE,YAAY,KAAK,cAAc;QAAE,OAAO;IAClD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACrD,sCAAsC;IACtC,OAAO,CAAC,IAAI,CACV,2CAA2C,MAAM,2BAA2B,MAAM,YAAY;QAC5F,2FAA2F;QAC3F,wFAAwF;QACxF,sFAAsF;QACtF,sFAAsF;QACtF,uFAAuF;QACvF,wFAAwF;QACxF,YAAY,CACf,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,OAA2B;IACjD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,8EAA8E,MAAM,CAClF,OAAO,CACR,0FAA0F,CAC5F,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,GAAG,kBAAkB,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,yCAAyC,OAAO,4BAA4B;YAC1E,GAAG,kBAAkB,kEAAkE;YACvF,iDAAiD,kBAAkB,oBAAoB;YACvF,wFAAwF;YACxF,4CAA4C,CAC/C,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4EAA4E;AAC5E,MAAM,kBAAkB,GAAG,EAAE,CAAC"}
@@ -10,7 +10,7 @@ import { type OutputSchemaOptions, type OutputSchemaParser } from '../outputSche
10
10
  import { type OutputFallbackOptions } from '../outputFallback.js';
11
11
  import type { CachePolicy } from '../../cache/types.js';
12
12
  import type { Injection, InjectionContext } from '../../lib/injection-engine/types.js';
13
- import type { CursorMove, EntryScoring } from '../../lib/injection-engine/skillGraph.js';
13
+ import { type CursorMove, type EntryScoring } from '../../lib/injection-engine/skillGraph.js';
14
14
  import type { MemoryDefinition } from '../../memory/define.types.js';
15
15
  import type { ReliabilityConfig } from '../../reliability/types.js';
16
16
  import type { ThinkingHandler } from '../../thinking/types.js';
@@ -88,6 +88,19 @@ export declare class AgentBuilder {
88
88
  * is the only shape that draws `predicate` diamonds — so no new field had to be
89
89
  * added to the public `SkillGraph`. Feeds the gate's tree-specific refusal. */
90
90
  private skillGraphIsTree;
91
+ /** Captured from `.skillGraph(graph)` — the graph's note that it DEFERRED its
92
+ * body-contract checks (built without `knownTools`, it could not tell a typo
93
+ * from a baseline tool this agent registers), plus the compiled skills to run
94
+ * them over. `build()` runs them exactly once, against the full tool registry.
95
+ * This capture is the FALLBACK for a structurally-typed graph whose skills do
96
+ * not carry the per-skill note: the primary collection reads
97
+ * `SKILL_GRAPH_DEFERRED_CONTRACT_KEY` off each injection's metadata, which is
98
+ * how a graph fed through `.skills({ list: () => graph.skills })` — a door
99
+ * that never sees the graph object — still gets its deferred checks run.
100
+ * Skills found by both are deduped by id: nothing re-runs, nothing
101
+ * double-reports. Undefined when the graph already ran them (`knownTools`
102
+ * given), switched them off (`check: 'off'`), or predates the note. */
103
+ private skillGraphDeferredBodyContract?;
91
104
  private readonly memoryList;
92
105
  /**
93
106
  * Optional terminal contract — see `outputSchema()`. Stored on the
@@ -388,8 +401,11 @@ export declare class AgentBuilder {
388
401
  * instance also ends the shared per-instance state (cursors, rate-limit
389
402
  * buckets, keep-alive pools) that made this pairing bite in the first place.
390
403
  *
391
- * Checked at BOTH doors. `.compaction({...})` and `.window(summarizeOldest({...}))`
392
- * are the same policy, and a rule that only one of them enforces is advice.
404
+ * Checked at every door that can set one. `.compaction({...})` and
405
+ * `.window(summarizeOldest({...}))` are the same policy, and since 9.14.0
406
+ * `.memory(defineMemory({ strategy: { kind: 'summarize', llm, model } }))`
407
+ * is a third — a memory that folds recall makes the same un-decorated call
408
+ * against the same pairing. A rule that only some doors enforce is advice.
393
409
  */
394
410
  private assertSummarizerIsNotTheAgentItself;
395
411
  /**
@@ -605,6 +621,16 @@ export declare class AgentBuilder {
605
621
  nodes?: ReadonlyArray<{
606
622
  readonly kind: string;
607
623
  }>;
624
+ /** The graph's note that it deferred its body-contract checks to agent build
625
+ * (built without `knownTools` — see `SkillGraph.deferredBodyContract`).
626
+ * Optional for forward-compat; absent → the checks already ran at graph build
627
+ * (or were off), so this agent never re-runs them. Library-built graphs also
628
+ * stamp the note on each compiled skill's metadata, which `build()` prefers —
629
+ * this field is the fallback for a structurally-typed graph without the
630
+ * per-skill stamps (skills found by both are deduped by id). */
631
+ deferredBodyContract?: {
632
+ readonly mode: 'throw' | 'warn';
633
+ };
608
634
  }): this;
609
635
  /**
610
636
  * Register a Steering doc — always-on system-prompt rule.
@@ -10,6 +10,9 @@ import { isDevMode } from 'footprintjs';
10
10
  import { buildDefaultInstruction, } from '../outputSchema.js';
11
11
  import { buildSchemaTool, resolveJsonSchema, SCHEMA_TOOL_NAME, } from './outputEnforcement.js';
12
12
  import { validateCannedAgainstSchema, } from '../outputFallback.js';
13
+ import { SKILL_GRAPH_DEFERRED_CONTRACT_KEY, } from '../../lib/injection-engine/skillGraph.js';
14
+ import { checkSkillContracts, skillToolNames } from '../../lib/injection-engine/skillContract.js';
15
+ import { formatCheckup } from '../../lib/injection-engine/skillGraphCheckup.js';
13
16
  import { toolOnlyDeliveryRefusal } from '../../lib/injection-engine/skillBodyDelivery.js';
14
17
  import { defineInstruction } from '../../lib/injection-engine/factories/defineInstruction.js';
15
18
  import { messagesToolRoleRefusal } from '../../lib/injection-engine/messagesSlotRefusal.js';
@@ -87,6 +90,19 @@ export class AgentBuilder {
87
90
  * is the only shape that draws `predicate` diamonds — so no new field had to be
88
91
  * added to the public `SkillGraph`. Feeds the gate's tree-specific refusal. */
89
92
  skillGraphIsTree = false;
93
+ /** Captured from `.skillGraph(graph)` — the graph's note that it DEFERRED its
94
+ * body-contract checks (built without `knownTools`, it could not tell a typo
95
+ * from a baseline tool this agent registers), plus the compiled skills to run
96
+ * them over. `build()` runs them exactly once, against the full tool registry.
97
+ * This capture is the FALLBACK for a structurally-typed graph whose skills do
98
+ * not carry the per-skill note: the primary collection reads
99
+ * `SKILL_GRAPH_DEFERRED_CONTRACT_KEY` off each injection's metadata, which is
100
+ * how a graph fed through `.skills({ list: () => graph.skills })` — a door
101
+ * that never sees the graph object — still gets its deferred checks run.
102
+ * Skills found by both are deduped by id: nothing re-runs, nothing
103
+ * double-reports. Undefined when the graph already ran them (`knownTools`
104
+ * given), switched them off (`check: 'off'`), or predates the note. */
105
+ skillGraphDeferredBodyContract;
90
106
  memoryList = [];
91
107
  /**
92
108
  * Optional terminal contract — see `outputSchema()`. Stored on the
@@ -490,8 +506,11 @@ export class AgentBuilder {
490
506
  * instance also ends the shared per-instance state (cursors, rate-limit
491
507
  * buckets, keep-alive pools) that made this pairing bite in the first place.
492
508
  *
493
- * Checked at BOTH doors. `.compaction({...})` and `.window(summarizeOldest({...}))`
494
- * are the same policy, and a rule that only one of them enforces is advice.
509
+ * Checked at every door that can set one. `.compaction({...})` and
510
+ * `.window(summarizeOldest({...}))` are the same policy, and since 9.14.0
511
+ * `.memory(defineMemory({ strategy: { kind: 'summarize', llm, model } }))`
512
+ * is a third — a memory that folds recall makes the same un-decorated call
513
+ * against the same pairing. A rule that only some doors enforce is advice.
495
514
  */
496
515
  assertSummarizerIsNotTheAgentItself(billing, label) {
497
516
  if (billing === undefined)
@@ -506,9 +525,10 @@ export class AgentBuilder {
506
525
  `decorator and the cache; the summarizer's call runs through none of them — one ` +
507
526
  `attempt, no fallback, no cache. A difference nobody typed is the kind this library ` +
508
527
  `refuses.\n` +
509
- `Fix, one word: give the summarizer its OWN instance — \`summarizer: anthropic()\` ` +
510
- `rather than the variable you passed to Agent.create. That also stops the two roles ` +
511
- `sharing per-instance state. Or name a different (usually cheaper) model.`);
528
+ `Fix, one word: give the summarizer its OWN instance — \`anthropic()\` written again ` +
529
+ `(as \`summarizer\` on a window strategy, as \`llm\` on a summarize memory) rather than ` +
530
+ `the variable you passed to Agent.create. That also stops the two roles sharing ` +
531
+ `per-instance state. Or name a different (usually cheaper) model.`);
512
532
  }
513
533
  /**
514
534
  * Keep the live context window inside a token budget — without ever losing
@@ -813,6 +833,17 @@ export class AgentBuilder {
813
833
  // The suppression reporter (8.15.0) — what the cursor law kept off the wire.
814
834
  this.skillGraphSupersededEntries = graph.supersededEntries;
815
835
  this.skillGraphIsTree = (graph.nodes ?? []).some((n) => n.kind === 'predicate');
836
+ // The deferred body-contract note: the graph built without `knownTools`, so its
837
+ // typo-vs-baseline-tool checks wait for `build()`, where the registry is real.
838
+ // Library-built graphs also stamp the note on each skill's metadata (that is
839
+ // what serves the `.skills({ list })` door); this capture is the fallback for
840
+ // a structurally-typed graph without the stamps — `build()` dedupes by id.
841
+ if (graph.deferredBodyContract) {
842
+ this.skillGraphDeferredBodyContract = {
843
+ mode: graph.deferredBodyContract.mode,
844
+ skills: graph.skills,
845
+ };
846
+ }
816
847
  return this;
817
848
  }
818
849
  /**
@@ -879,6 +910,11 @@ export class AgentBuilder {
879
910
  throw new Error(`Agent.memory(): duplicate id '${definition.id}' — each memory needs a unique id ` +
880
911
  'to keep its scope key (`memoryInjection_${id}`) collision-free.');
881
912
  }
913
+ // A memory that calls a model on your behalf — today that is the
914
+ // `summarize` strategy — is held to the same separate-instance rule as
915
+ // `.compaction()`. `defineMemory` cannot make this check: it has never
916
+ // heard of an agent. It declares the billing, this reads it (9.14.0).
917
+ this.assertSummarizerIsNotTheAgentItself(definition.billing, `Agent.memory('${definition.id}')`);
882
918
  this.memoryList.push(definition);
883
919
  return this;
884
920
  }
@@ -1572,6 +1608,90 @@ export class AgentBuilder {
1572
1608
  // provider against an injection — so both live here, beside the refusal above.
1573
1609
  warnInertRelevanceHint(injections, this.skillGraphScoreEntries !== undefined);
1574
1610
  warnRedundantSkillScopedTools(this.toolProviderRef, injections);
1611
+ // The skill graph's DEFERRED body-contract checks run HERE — the one build point
1612
+ // that can see the full tool registry. At graph build (without `knownTools`) a
1613
+ // body's `lookup_order(id)` is indistinguishable from a typo, because `.tool()`
1614
+ // has not run yet; the graph said nothing it could not prove and left its note.
1615
+ // The note is collected from the FINAL injection list (each deferred graph skill
1616
+ // carries it in its metadata), so the checks run whichever door the skills came
1617
+ // through — `.skillGraph(graph)` or `.skills({ list: () => graph.skills })`.
1618
+ // The `.skillGraph()` capture is folded in as a fallback for a structurally-typed
1619
+ // graph without per-skill stamps; skills found by both are deduped by id, so one
1620
+ // problem is reported once. The known set checked now: the agent's registered
1621
+ // tool names ∪ `read_skill` (auto-attached whenever a skill exists, so a hand-off
1622
+ // hint naming it is not a typo) ∪ every NON-deferred skill's tool names (they
1623
+ // exist on this agent; calling them nonexistent would be false) — plus, inside
1624
+ // checkSkillContracts, the checked skills' own tools. Runs at most once per built
1625
+ // agent, and never when the graph already ran its checks with an explicit
1626
+ // `knownTools`: one problem, one report. Baseline `ToolProvider` tools are
1627
+ // per-iteration and cannot be enumerated at build time — bodies naming only
1628
+ // provider-delivered tools should pass the names via the graph's `knownTools`.
1629
+ const deferredByMode = new Map();
1630
+ const deferredIds = new Set();
1631
+ const collectDeferred = (skill, mode) => {
1632
+ if (deferredIds.has(skill.id))
1633
+ return; // metadata + graph note = ONE check
1634
+ deferredIds.add(skill.id);
1635
+ const group = deferredByMode.get(mode);
1636
+ if (group)
1637
+ group.push(skill);
1638
+ else
1639
+ deferredByMode.set(mode, [skill]);
1640
+ };
1641
+ for (const i of injections) {
1642
+ const note = i.metadata?.[SKILL_GRAPH_DEFERRED_CONTRACT_KEY];
1643
+ if (note?.mode === 'throw' || note?.mode === 'warn')
1644
+ collectDeferred(i, note.mode);
1645
+ }
1646
+ if (this.skillGraphDeferredBodyContract) {
1647
+ const { mode, skills: graphSkills } = this.skillGraphDeferredBodyContract;
1648
+ for (const s of graphSkills)
1649
+ collectDeferred(s, mode);
1650
+ }
1651
+ if (deferredByMode.size > 0) {
1652
+ // Tools on skills OUTSIDE the deferred set exist on this agent — baseline,
1653
+ // not typos. Tools on deferred skills are added per group by
1654
+ // checkSkillContracts itself (own vs known matters for body-foreign-tool).
1655
+ const baseKnownTools = [
1656
+ ...this.registry.map((entry) => entry.name),
1657
+ 'read_skill',
1658
+ ...injections
1659
+ .filter((i) => i.flavor === 'skill' && !deferredIds.has(i.id))
1660
+ .flatMap((s) => skillToolNames(s)),
1661
+ ];
1662
+ // One group per deferring graph's `check` mode — two graphs fed via
1663
+ // `.skills()` may disagree, and each is judged by its OWN declared severity.
1664
+ for (const [mode, group] of deferredByMode) {
1665
+ const groupIds = new Set(group.map((s) => s.id));
1666
+ const knownTools = [
1667
+ ...baseKnownTools,
1668
+ ...[...deferredByMode.values()]
1669
+ .flat()
1670
+ .filter((s) => !groupIds.has(s.id))
1671
+ .flatMap((s) => skillToolNames(s)),
1672
+ ];
1673
+ const problems = checkSkillContracts(group, { knownTools });
1674
+ if (problems.length === 0)
1675
+ continue;
1676
+ const report = { ok: !problems.some((p) => p.kind === 'error'), problems };
1677
+ // Severity per the GRAPH's own check mode. Both contract checks are
1678
+ // warnings today, so `'throw'` and `'warn'` both surface as a dev-mode
1679
+ // warning — but an error-kind problem, should one ever exist, honors
1680
+ // `'throw'` here exactly as it would have at graph build.
1681
+ if (mode === 'throw' && !report.ok) {
1682
+ throw new Error(`Agent.build(): skill-body ↔ tool-contract check-up failed ` +
1683
+ `(deferred from graph build; checked against this agent's full tool ` +
1684
+ `registry):\n${formatCheckup(report)}`);
1685
+ }
1686
+ if (isDevMode()) {
1687
+ // eslint-disable-next-line no-console
1688
+ console.warn(`agentfootprint Agent: skill-graph body-contract check-up (deferred from ` +
1689
+ `graph build; checked here against the agent's full tool registry — pass ` +
1690
+ `knownTools to skillGraph to run it at graph build instead):\n` +
1691
+ formatCheckup(report));
1692
+ }
1693
+ }
1694
+ }
1575
1695
  const agent = new Agent(opts, this.systemPromptValue, this.registry, voice, injections, this.memoryList, this.outputSchemaParser, toolProvider, this.systemPromptCachePolicy, this.cachingDisabledValue, this.cacheStrategyOverride, this.outputFallbackCfg, this.reliabilityConfig, this.thinkingHandlerValue, this.thinkingBudgetValue, this.skillGraphNextSkill, this.skillGraphReachable, this.skillGraphScoreEntries, this.checkInConfig, this.runConfigFn, this.windowStrategyValue, this.toolMiddlewareList, this.messageMiddlewareList, this.resolveOutputEnforcement(), this.skillGraphEdgeTargets, this.skillGraphExplainNextSkill, this.skillGraphIsTree, this.skillGraphSupersededEntries);
1576
1696
  // Attach the observers collected by `.watch()` so they receive events
1577
1697
  // from the very first run. Mirrors what consumers would do post-build