@koda-sl/baker-bridge 0.66.2 → 0.68.0-dev.b1e30c3a7

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 (50) hide show
  1. package/README.md +30 -31
  2. package/dist/hono/agent.d.ts +0 -1
  3. package/dist/hono/agent.d.ts.map +1 -1
  4. package/dist/hono/agent.js +3 -16
  5. package/dist/hono/agent.js.map +1 -1
  6. package/dist/hono/agent.test.js +3 -12
  7. package/dist/hono/agent.test.js.map +1 -1
  8. package/dist/hono/bridge-job.d.ts +3 -10
  9. package/dist/hono/bridge-job.d.ts.map +1 -1
  10. package/dist/hono/bridge-job.js +22 -16
  11. package/dist/hono/bridge-job.js.map +1 -1
  12. package/dist/hono/bridge-job.test.js +28 -20
  13. package/dist/hono/bridge-job.test.js.map +1 -1
  14. package/dist/hono/convex.d.ts +0 -4
  15. package/dist/hono/convex.d.ts.map +1 -1
  16. package/dist/hono/convex.js +0 -7
  17. package/dist/hono/convex.js.map +1 -1
  18. package/dist/hono/convex.test.js +0 -1
  19. package/dist/hono/convex.test.js.map +1 -1
  20. package/dist/hono/env.d.ts +0 -3
  21. package/dist/hono/env.d.ts.map +1 -1
  22. package/dist/hono/env.js +0 -10
  23. package/dist/hono/env.js.map +1 -1
  24. package/dist/hono/model-capabilities.d.ts +7 -0
  25. package/dist/hono/model-capabilities.d.ts.map +1 -0
  26. package/dist/hono/model-capabilities.js +134 -0
  27. package/dist/hono/model-capabilities.js.map +1 -0
  28. package/dist/hono/model-capabilities.test.d.ts +2 -0
  29. package/dist/hono/model-capabilities.test.d.ts.map +1 -0
  30. package/dist/hono/{model-router.test.js → model-capabilities.test.js} +34 -90
  31. package/dist/hono/model-capabilities.test.js.map +1 -0
  32. package/dist/hono/relay.d.ts +1 -1
  33. package/dist/hono/relay.d.ts.map +1 -1
  34. package/dist/hono/relay.js.map +1 -1
  35. package/dist/hono/server.test.js +0 -1
  36. package/dist/hono/server.test.js.map +1 -1
  37. package/dist/hono/session-continuity.integration.test.js +2 -8
  38. package/dist/hono/session-continuity.integration.test.js.map +1 -1
  39. package/package.json +1 -1
  40. package/dist/hono/model-router.d.ts +0 -25
  41. package/dist/hono/model-router.d.ts.map +0 -1
  42. package/dist/hono/model-router.js +0 -208
  43. package/dist/hono/model-router.js.map +0 -1
  44. package/dist/hono/model-router.test.d.ts +0 -2
  45. package/dist/hono/model-router.test.d.ts.map +0 -1
  46. package/dist/hono/model-router.test.js.map +0 -1
  47. package/dist/hono/repo-context.d.ts +0 -7
  48. package/dist/hono/repo-context.d.ts.map +0 -1
  49. package/dist/hono/repo-context.js +0 -83
  50. package/dist/hono/repo-context.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-router.d.ts","sourceRoot":"","sources":["../../src/hono/model-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAgB9D,eAAO,MAAM,gBAAgB;;GAI5B,CAAC;AAQF,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAcpD;AAsBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAKrF;AAiCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,SAAS,CAKrF;AAcD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAS7F;AA4BD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAM9F;AAYD,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+C5E"}
@@ -1,208 +0,0 @@
1
- import { env } from "./env.js";
2
- import { buildRepoContext } from "./repo-context.js";
3
- const NOTDIAMOND_API_URL = "https://api.notdiamond.ai/v2/modelRouter/modelSelect";
4
- // OpenRouter-formatted IDs sent to NotDiamond's selection API.
5
- //
6
- // Only models NotDiamond actually lists belong here — it silently DROPS an
7
- // unrecognized entry from the candidate set rather than erroring, so an
8
- // unsupported model looks routed but can never be selected. Check a new
9
- // candidate against `GET https://api.notdiamond.ai/v2/models?provider=anthropic`
10
- // (match on its `openrouter_model`) before adding it — that catalog currently
11
- // tops out at Sonnet 5 / Opus 4.7, so newer ids are not routable.
12
- // Keep in sync with MODEL_CONTEXT_WINDOW.
13
- export const CANDIDATE_MODELS = [
14
- { model: "anthropic/claude-haiku-4.5" },
15
- { model: "anthropic/claude-sonnet-5" },
16
- { model: "anthropic/claude-opus-4.6" },
17
- ];
18
- // Anthropic-native ID expected by the Claude Agent SDK `query({ options: { model } })`.
19
- // Sonnet 5 rather than Opus: $2/$10 per MTok on OpenRouter against Opus 4.6's
20
- // $5/$25, so every un-routed turn costs ~60% less, and it holds near-Opus
21
- // quality on the agentic/coding work this runtime does. Sonnet 5's tokenizer
22
- // emits ~30% more tokens for the same text, which erodes but does not come
23
- // close to erasing that gap.
24
- export const DEFAULT_MODEL = "claude-sonnet-5";
25
- export function normalizeModel(model) {
26
- const lower = model.toLowerCase();
27
- if (lower.includes("opus")) {
28
- return "claude-opus-4-6";
29
- }
30
- if (lower.includes("haiku")) {
31
- return "claude-haiku-4-5";
32
- }
33
- // Sonnet 5 dropped the 4.x version prefix, so the family keyword alone can no
34
- // longer pick the id — anything still on a 4.x slug maps to 4.6, the rest to 5.
35
- if (lower.includes("sonnet")) {
36
- return lower.includes("sonnet-4") ? "claude-sonnet-4-6" : "claude-sonnet-5";
37
- }
38
- return model;
39
- }
40
- // Real context window each routed model has on OpenRouter (their `/models`
41
- // `context_length`). We resolve this ourselves because the runtime reaches these
42
- // models through the OpenRouter passthrough (`ANTHROPIC_BASE_URL=openrouter.ai`)
43
- // while the Claude Code CLI resolves the window from its own bundled model
44
- // catalog, which is keyed to the first-party API. There the two disagree: the
45
- // catalog lists Opus 4.6 and Sonnet 4.6 at 200k (they only reach 1M with the
46
- // `[1m]` model suffix, which we never send), whereas OpenRouter serves both at
47
- // 1M. Sonnet 5 and Haiku 4.5 agree in both. Keyed by the normalized id we pass to
48
- // the SDK. Keep in sync with CANDIDATE_MODELS; Sonnet 4.6 stays listed so a turn
49
- // already running on it still resolves.
50
- const MODEL_CONTEXT_WINDOW = {
51
- "claude-opus-4-6": 1_000_000,
52
- "claude-sonnet-5": 1_000_000,
53
- "claude-sonnet-4-6": 1_000_000,
54
- "claude-haiku-4-5": 200_000,
55
- };
56
- // The context window for a model id, or null when we don't know it (callers then
57
- // fall back to the runtime-reported window). Accepts any id form — it normalizes
58
- // first, so OpenRouter slugs and Anthropic-native ids both resolve.
59
- export function contextWindowForModel(model) {
60
- if (!model) {
61
- return null;
62
- }
63
- return MODEL_CONTEXT_WINDOW[normalizeModel(model)] ?? null;
64
- }
65
- // Corrects the context window the *runtime* believes each model has. Needed for
66
- // every 1M model we route to, Sonnet 5 (the default) included.
67
- //
68
- // The API does not require this beta. Anthropic serves 1M by default on Sonnet 5,
69
- // Opus 4.6 and Sonnet 4.6 — `context-1m-2025-08-07` is the legacy Sonnet 4/4.5
70
- // header, and sending it changes nothing about the response (verified against the
71
- // OpenRouter endpoint: identical 200s with and without it).
72
- //
73
- // What it fixes is client-side accounting. The CLI decides a model's window
74
- // locally, and grants the native 1M only when `ANTHROPIC_BASE_URL`'s host is
75
- // `api.anthropic.com` — or Bedrock/Vertex/Foundry, per the model's own
76
- // third-party table. We go through the OpenRouter passthrough, which matches none
77
- // of those, so it silently falls back to 200k for all three models. That number
78
- // never reaches Anthropic; it only drives local decisions — when to auto-compact,
79
- // what the meter shows, when the "autocompact is thrashing" breaker trips. So the
80
- // chat compacted at a fifth of its real capacity while the meter, dividing by the
81
- // window resolved above, read five times low and never warned.
82
- //
83
- // This is the lever that lifts the CLI's own ceiling, which is why
84
- // `autoCompactWindowForModel` below can finally reach the window it asks for. It is
85
- // also the narrowest one: `_CLAUDE_CODE_ASSUME_FIRST_PARTY_BASE_URL` would work and
86
- // is arguably more honest, but it additionally alters model-alias resolution,
87
- // refusal-fallback behavior, and adds a dispatch header. We send the beta rather
88
- // than the equivalent `[1m]` id suffix so no `[1m]` string reaches OpenRouter as a
89
- // model name.
90
- //
91
- // Haiku 4.5 is excluded because it is genuinely a 200k model — the CLI refuses this
92
- // beta for it, and claiming 1M would only make the meter lie the other way.
93
- const ONE_MILLION_CONTEXT_BETA = "context-1m-2025-08-07";
94
- const MODELS_NEEDING_1M_BETA = new Set(["claude-sonnet-5", "claude-opus-4-6", "claude-sonnet-4-6"]);
95
- export function betasForModel(model) {
96
- if (!model || !MODELS_NEEDING_1M_BETA.has(normalizeModel(model))) {
97
- return undefined;
98
- }
99
- return [ONE_MILLION_CONTEXT_BETA];
100
- }
101
- // NotDiamond routes per turn, but the CLI session's context carries over between
102
- // turns — a routed model must be able to HOLD that context. Occupancy above this
103
- // fraction of the candidate's window leaves too little room for the next turn's
104
- // prompt and tool results: the turn would open with a forced compaction (and can
105
- // trip the CLI's "autocompact is thrashing" breaker), destroying context the
106
- // user paid to keep. 80% mirrors the CLI's own auto-compact reserve.
107
- const ROUTED_MODEL_MAX_OCCUPANCY = 0.8;
108
- // Clamp a routed model to one whose context window fits the session's current
109
- // occupancy (tokens from the previous turn's last main-conversation request).
110
- // Falls back to DEFAULT_MODEL (1M) when the routed window is too small; keeps
111
- // the routed model when occupancy or window is unknown — no data, no veto.
112
- export function guardRoutedModel(model, lastContextTokens) {
113
- if (lastContextTokens === undefined) {
114
- return model;
115
- }
116
- const window = contextWindowForModel(model);
117
- if (window === null || lastContextTokens <= window * ROUTED_MODEL_MAX_OCCUPANCY) {
118
- return model;
119
- }
120
- return DEFAULT_MODEL;
121
- }
122
- // The SDK validates `settings.autoCompactWindow` against this range and silently
123
- // drops anything outside it, so a value we can't honor must not be sent at all.
124
- const AUTO_COMPACT_WINDOW_MIN = 100_000;
125
- const AUTO_COMPACT_WINDOW_MAX = 1_000_000;
126
- // The window the CLI should auto-compact against, for `settings.autoCompactWindow`.
127
- //
128
- // The CLI resolves this window in precedence order: CLAUDE_CODE_AUTO_COMPACT_WINDOW
129
- // env → this setting → remote client data → an experiment gate → a per-model default.
130
- // Every branch is `min(cliModelWindow, candidate)`, so this can only ever *lower* the
131
- // threshold. We set it because the two branches below ours are controlled remotely by
132
- // Anthropic: a client-data value or an experiment gate can cap auto-compaction well
133
- // under the window, with no change on our side and no warning to the user. Pinning it
134
- // takes the threshold out of remote control and up to the CLI's own ceiling.
135
- //
136
- // That ceiling is NOT the window resolved above, and this cannot raise it. The CLI
137
- // reads 1M only when the model id carries the `[1m]` suffix, when the 1M beta header
138
- // is in the request, or when the model is `native_1m` AND `ANTHROPIC_BASE_URL` is
139
- // unset or api.anthropic.com — and the passthrough points that env var away from
140
- // api.anthropic.com, so the native path is out. `betasForModel` above supplies the
141
- // beta header, which is what lifts the ceiling to 1M and lets this pin actually
142
- // reach the window it asks for. Without that beta this clamps to the CLI's 200k
143
- // default while the meter keeps reporting against the larger OpenRouter window —
144
- // the two must move together.
145
- //
146
- // Undefined for a model we don't know: the CLI's own default is a better guess than ours.
147
- export function autoCompactWindowForModel(model) {
148
- const window = contextWindowForModel(model);
149
- if (window === null || window < AUTO_COMPACT_WINDOW_MIN || window > AUTO_COMPACT_WINDOW_MAX) {
150
- return undefined;
151
- }
152
- return window;
153
- }
154
- /** Lazily built repo context — generated once on first call. */
155
- let repoContextPromise = null;
156
- function getRepoContext() {
157
- if (!repoContextPromise) {
158
- repoContextPromise = buildRepoContext();
159
- }
160
- return repoContextPromise;
161
- }
162
- /**
163
- * Use NotDiamond to select the optimal Claude model for a given prompt.
164
- * Set NOTDIAMOND_ENABLED=true to enable routing; defaults to Opus 4.6 otherwise.
165
- * NOTDIAMOND_TRADEOFF decides what it optimizes for (see its env.ts definition).
166
- */
167
- export async function selectModel(prompt) {
168
- const systemPrompt = await getRepoContext();
169
- const messages = [
170
- { role: "system", content: systemPrompt },
171
- { role: "user", content: prompt },
172
- ];
173
- if (!env.NOTDIAMOND_ENABLED) {
174
- return { model: DEFAULT_MODEL, messages };
175
- }
176
- try {
177
- const response = await fetch(`${NOTDIAMOND_API_URL}?type=openrouter`, {
178
- method: "POST",
179
- headers: {
180
- Authorization: `Bearer ${env.NOTDIAMOND_API_KEY}`,
181
- "Content-Type": "application/json",
182
- },
183
- body: JSON.stringify({
184
- messages,
185
- llm_providers: CANDIDATE_MODELS,
186
- ...(env.NOTDIAMOND_TRADEOFF === "quality" ? {} : { tradeoff: env.NOTDIAMOND_TRADEOFF }),
187
- }),
188
- });
189
- if (!response.ok) {
190
- console.error(`[model-router] API returned ${response.status}`);
191
- return { model: DEFAULT_MODEL, messages };
192
- }
193
- const result = (await response.json());
194
- const selectedModel = result.providers[0]?.model;
195
- if (!selectedModel) {
196
- console.warn("[model-router] No model returned, falling back to opus");
197
- return { model: DEFAULT_MODEL, messages };
198
- }
199
- const normalized = normalizeModel(selectedModel);
200
- console.warn(`[model-router] Selected: ${selectedModel} → ${normalized}`);
201
- return { model: normalized, messages };
202
- }
203
- catch (error) {
204
- console.error("[model-router] Routing failed, falling back to opus:", error instanceof Error ? error.message : error);
205
- return { model: DEFAULT_MODEL, messages };
206
- }
207
- }
208
- //# sourceMappingURL=model-router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-router.js","sourceRoot":"","sources":["../../src/hono/model-router.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=model-router.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-router.test.d.ts","sourceRoot":"","sources":["../../src/hono/model-router.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-router.test.js","sourceRoot":"","sources":["../../src/hono/model-router.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Build a minimal repo summary for the model router (NotDiamond).
3
- * Just enough context to judge prompt complexity — the agent itself
4
- * gets full instructions via CLAUDE.md / settingSources.
5
- */
6
- export declare function buildRepoContext(): Promise<string>;
7
- //# sourceMappingURL=repo-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo-context.d.ts","sourceRoot":"","sources":["../../src/hono/repo-context.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CA2BxD"}
@@ -1,83 +0,0 @@
1
- import { readdir, readFile } from "node:fs/promises";
2
- import { join } from "node:path";
3
- import { bridgeRuntimeFiles } from "./runtime-files.js";
4
- /**
5
- * Build a minimal repo summary for the model router (NotDiamond).
6
- * Just enough context to judge prompt complexity — the agent itself
7
- * gets full instructions via CLAUDE.md / settingSources.
8
- */
9
- export async function buildRepoContext() {
10
- const [pages, collections, documents, claudeMd] = await Promise.all([
11
- listDir("src/pages"),
12
- listCollections("src/content"),
13
- listFiles("src/documents"),
14
- readTextFile("CLAUDE.md"),
15
- ]);
16
- const parts = [];
17
- if (claudeMd) {
18
- parts.push(claudeMd);
19
- }
20
- if (pages.length > 0) {
21
- parts.push(`${pages.length} page(s): ${pages.join(", ")}.`);
22
- }
23
- if (collections.length > 0) {
24
- parts.push(`Content collections:\n${collections.join("\n")}`);
25
- }
26
- if (documents.length > 0) {
27
- parts.push(`Documents: ${documents.join(", ")}.`);
28
- }
29
- return parts.join("\n\n");
30
- }
31
- async function listDir(relativePath) {
32
- try {
33
- const entries = await readdir(join(bridgeRuntimeFiles.projectRoot(), relativePath), {
34
- withFileTypes: true,
35
- });
36
- return entries.filter((e) => e.isDirectory()).map((e) => e.name);
37
- }
38
- catch {
39
- return [];
40
- }
41
- }
42
- async function listCollections(relativePath) {
43
- try {
44
- const dirs = await readdir(join(bridgeRuntimeFiles.projectRoot(), relativePath), {
45
- withFileTypes: true,
46
- });
47
- const results = [];
48
- for (const dir of dirs) {
49
- if (!dir.isDirectory())
50
- continue;
51
- const files = await listFiles(join(relativePath, dir.name));
52
- for (const f of files) {
53
- if (f !== ".gitkeep") {
54
- results.push(`${dir.name}/${f}`);
55
- }
56
- }
57
- }
58
- return results;
59
- }
60
- catch {
61
- return [];
62
- }
63
- }
64
- async function listFiles(relativePath) {
65
- try {
66
- const entries = await readdir(join(bridgeRuntimeFiles.projectRoot(), relativePath), {
67
- withFileTypes: true,
68
- });
69
- return entries.filter((e) => e.isFile()).map((e) => e.name);
70
- }
71
- catch {
72
- return [];
73
- }
74
- }
75
- async function readTextFile(relativePath) {
76
- try {
77
- return await readFile(join(bridgeRuntimeFiles.projectRoot(), relativePath), "utf-8");
78
- }
79
- catch {
80
- return null;
81
- }
82
- }
83
- //# sourceMappingURL=repo-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo-context.js","sourceRoot":"","sources":["../../src/hono/repo-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClE,OAAO,CAAC,WAAW,CAAC;QACpB,eAAe,CAAC,aAAa,CAAC;QAC9B,SAAS,CAAC,eAAe,CAAC;QAC1B,YAAY,CAAC,WAAW,CAAC;KAC1B,CAAC,CAAC;IAEH,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,yBAAyB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,YAAoB;IACzC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,EAAE;YAClF,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,YAAoB;IACjD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,EAAE;YAC/E,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;gBAAE,SAAS;YACjC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;oBACrB,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,YAAoB;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,EAAE;YAClF,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,YAAoB;IAC9C,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}