@xrkseek/harness 0.6.16 → 0.6.18

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 (69) hide show
  1. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.d.ts +18 -0
  2. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.d.ts.map +1 -1
  3. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js +18 -0
  4. package/node_modules/@xrkseek/llm-openai-compatible/dist/index.js.map +1 -1
  5. package/node_modules/@xrkseek/llm-registry/dist/discover.d.ts +10 -0
  6. package/node_modules/@xrkseek/llm-registry/dist/discover.d.ts.map +1 -1
  7. package/node_modules/@xrkseek/llm-registry/dist/discover.js +100 -5
  8. package/node_modules/@xrkseek/llm-registry/dist/discover.js.map +1 -1
  9. package/node_modules/@xrkseek/llm-registry/dist/index.d.ts +1 -0
  10. package/node_modules/@xrkseek/llm-registry/dist/index.d.ts.map +1 -1
  11. package/node_modules/@xrkseek/llm-registry/dist/index.js +1 -0
  12. package/node_modules/@xrkseek/llm-registry/dist/index.js.map +1 -1
  13. package/node_modules/@xrkseek/llm-registry/dist/models-dev-catalog.d.ts +80 -0
  14. package/node_modules/@xrkseek/llm-registry/dist/models-dev-catalog.d.ts.map +1 -0
  15. package/node_modules/@xrkseek/llm-registry/dist/models-dev-catalog.js +389 -0
  16. package/node_modules/@xrkseek/llm-registry/dist/models-dev-catalog.js.map +1 -0
  17. package/node_modules/@xrkseek/llm-registry/dist/registry.d.ts +5 -0
  18. package/node_modules/@xrkseek/llm-registry/dist/registry.d.ts.map +1 -1
  19. package/node_modules/@xrkseek/llm-registry/dist/registry.js +3 -0
  20. package/node_modules/@xrkseek/llm-registry/dist/registry.js.map +1 -1
  21. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  22. package/node_modules/@xrkseek/server-face/dist/adapt/index.d.ts +1 -1
  23. package/node_modules/@xrkseek/server-face/dist/adapt/index.d.ts.map +1 -1
  24. package/node_modules/@xrkseek/server-face/dist/adapt/index.js +1 -1
  25. package/node_modules/@xrkseek/server-face/dist/adapt/index.js.map +1 -1
  26. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.d.ts +6 -0
  27. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.d.ts.map +1 -1
  28. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.js +12 -0
  29. package/node_modules/@xrkseek/server-face/dist/adapt/subagent-notice.js.map +1 -1
  30. package/node_modules/@xrkseek/server-face/dist/context.d.ts +5 -0
  31. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  32. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.d.ts.map +1 -1
  33. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js +10 -1
  34. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js.map +1 -1
  35. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.d.ts.map +1 -1
  36. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js +17 -1
  37. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js.map +1 -1
  38. package/node_modules/@xrkseek/server-face/dist/index.d.ts +1 -1
  39. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  40. package/node_modules/@xrkseek/server-face/dist/index.js +1 -1
  41. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  42. package/node_modules/@xrkseek/server-face/dist/llm-outbound-proxy.d.ts +27 -0
  43. package/node_modules/@xrkseek/server-face/dist/llm-outbound-proxy.d.ts.map +1 -0
  44. package/node_modules/@xrkseek/server-face/dist/llm-outbound-proxy.js +68 -0
  45. package/node_modules/@xrkseek/server-face/dist/llm-outbound-proxy.js.map +1 -0
  46. package/node_modules/@xrkseek/server-face/dist/llm-provider-context.d.ts +6 -0
  47. package/node_modules/@xrkseek/server-face/dist/llm-provider-context.d.ts.map +1 -1
  48. package/node_modules/@xrkseek/server-face/dist/llm-provider-context.js +42 -0
  49. package/node_modules/@xrkseek/server-face/dist/llm-provider-context.js.map +1 -1
  50. package/node_modules/@xrkseek/server-face/dist/llm-resolve.d.ts.map +1 -1
  51. package/node_modules/@xrkseek/server-face/dist/llm-resolve.js +11 -2
  52. package/node_modules/@xrkseek/server-face/dist/llm-resolve.js.map +1 -1
  53. package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts +8 -0
  54. package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts.map +1 -1
  55. package/node_modules/@xrkseek/server-face/dist/model-catalog.js +11 -0
  56. package/node_modules/@xrkseek/server-face/dist/model-catalog.js.map +1 -1
  57. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  58. package/node_modules/@xrkseek/server-face/dist/runtime.js +21 -1
  59. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  60. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  61. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +11 -0
  62. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  63. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  64. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +9 -0
  65. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  66. package/node_modules/@xrkseek/server-face/dist/types.d.ts +6 -0
  67. package/node_modules/@xrkseek/server-face/dist/types.d.ts.map +1 -1
  68. package/node_modules/@xrkseek/server-face/package.json +1 -0
  69. package/package.json +1 -1
@@ -0,0 +1,389 @@
1
+ /**
2
+ * Second-opinion catalog for `GET /models` probes.
3
+ *
4
+ * A plain OpenAI-compatible listing answers with ids and little else — OpenCode
5
+ * Zen/Go is the extreme case: `{id, object, created, owned_by}` per row, so a
6
+ * probe learns no context window, no output cap, and no thinking menu. Those
7
+ * facts live in [models.dev](https://models.dev), the public catalog the OpenCode
8
+ * client itself reads. This module fetches it once per process (TTL-bounded,
9
+ * single-flight) and fills only the blanks a listing left behind.
10
+ *
11
+ * Everything here is best-effort by construction: a slow, blocked, or broken
12
+ * catalog costs the user nothing beyond the probe they already asked for, so
13
+ * failures resolve to `undefined` instead of throwing.
14
+ */
15
+ const CATALOG_URL = "https://models.dev/api.json";
16
+ /** How long one fetched catalog serves probes in this process. */
17
+ const TTL_MS = 6 * 60 * 60 * 1000;
18
+ /** A failed fetch is remembered briefly: probes must not re-pay a dead endpoint. */
19
+ const FAILURE_TTL_MS = 10 * 60 * 1000;
20
+ /** Catalog fetch budget. A probe is a UI action, not a batch job. */
21
+ const FETCH_TIMEOUT_MS = 4_000;
22
+ /** Ceiling for the decompressed body, matching the listing probe's own guard. */
23
+ const MAX_BODY_BYTES = 32 * 1024 * 1024;
24
+ let cached;
25
+ let inflight;
26
+ /**
27
+ * Brand ids this harness ships that models.dev files under another key.
28
+ * A missing alias costs the user their capacities, so the table is kept short
29
+ * and explicit rather than grown by fuzzy matching.
30
+ */
31
+ const PROVIDER_ALIASES = {
32
+ "github-models": ["github-copilot"],
33
+ fireworks: ["fireworks-ai"],
34
+ together: ["togetherai"],
35
+ gemini: ["google", "google-vertex"],
36
+ "openai-responses": ["openai"],
37
+ };
38
+ function hostOf(url) {
39
+ if (!url)
40
+ return undefined;
41
+ try {
42
+ return new URL(url).host.toLowerCase();
43
+ }
44
+ catch {
45
+ return undefined;
46
+ }
47
+ }
48
+ /**
49
+ * Read the catalog, or `undefined` when this process could not get one.
50
+ * @param fetchImpl - transport to use; injected by tests.
51
+ * @returns the parsed catalog, shared by every probe in this process.
52
+ */
53
+ export async function loadModelsDevCatalog(fetchImpl = globalThis.fetch) {
54
+ const now = Date.now();
55
+ if (cached !== undefined && now - cached.at < (cached.value === undefined ? FAILURE_TTL_MS : TTL_MS)) {
56
+ return cached.value;
57
+ }
58
+ if (inflight !== undefined)
59
+ return inflight;
60
+ inflight = (async () => {
61
+ let value;
62
+ try {
63
+ const res = await fetchImpl(CATALOG_URL, {
64
+ method: "GET",
65
+ headers: { accept: "application/json" },
66
+ signal: AbortSignal.timeout(FETCH_TIMEOUT_MS),
67
+ });
68
+ if (res.ok) {
69
+ const text = await res.text();
70
+ if (text.length <= MAX_BODY_BYTES) {
71
+ const parsed = JSON.parse(text);
72
+ if (parsed !== null && typeof parsed === "object" && !Array.isArray(parsed)) {
73
+ value = parsed;
74
+ }
75
+ }
76
+ }
77
+ }
78
+ catch {
79
+ /* unreachable / blocked / malformed: the probe still answers from the listing */
80
+ }
81
+ cached = { at: Date.now(), value };
82
+ return value;
83
+ })().finally(() => {
84
+ inflight = undefined;
85
+ });
86
+ return inflight;
87
+ }
88
+ /** Drop the in-process copy (tests, and a Refresh that wants a fresh catalog). */
89
+ export function resetModelsDevCatalogCache() {
90
+ cached = undefined;
91
+ inflight = undefined;
92
+ }
93
+ function providerHost(row) {
94
+ return hostOf(typeof row.api === "string" ? row.api : undefined);
95
+ }
96
+ /**
97
+ * Provider keys worth consulting, most exact first.
98
+ *
99
+ * The drafted route's own id wins; failing that, endpoints sharing its host
100
+ * (OpenCode's `opencode-go` and `opencode` both serve `opencode.ai`, and a
101
+ * hand-named profile can point at a directory-known host); failing that, a
102
+ * `-go` sibling, because OpenCode lists some Go models only under Zen.
103
+ */
104
+ export function catalogKeys(catalog, selector) {
105
+ const keys = [];
106
+ const provider = selector.provider?.trim();
107
+ if (provider && catalog[provider] !== undefined)
108
+ keys.push(provider);
109
+ for (const alias of provider === undefined ? [] : PROVIDER_ALIASES[provider] ?? []) {
110
+ if (catalog[alias] !== undefined && !keys.includes(alias))
111
+ keys.push(alias);
112
+ }
113
+ const host = hostOf(selector.baseUrl);
114
+ if (host !== undefined) {
115
+ for (const [key, row] of Object.entries(catalog)) {
116
+ if (keys.includes(key))
117
+ continue;
118
+ if (providerHost(row) === host)
119
+ keys.push(key);
120
+ }
121
+ }
122
+ if (provider?.endsWith("-go")) {
123
+ const sibling = provider.slice(0, -3);
124
+ if (catalog[sibling] !== undefined && !keys.includes(sibling))
125
+ keys.push(sibling);
126
+ }
127
+ return keys;
128
+ }
129
+ /**
130
+ * Catalog keys a listing row may be filed under. Google lists
131
+ * `models/gemini-3-pro`; the catalog says `gemini-3-pro`.
132
+ */
133
+ function modelRowLookupKeys(id) {
134
+ const trimmed = id.trim();
135
+ const bare = trimmed.startsWith("models/") ? trimmed.slice("models/".length) : trimmed;
136
+ return bare === trimmed ? [trimmed] : [trimmed, bare];
137
+ }
138
+ /** One id's rows across the whole catalog, built once per fetched catalog. */
139
+ const globalIndexes = new WeakMap();
140
+ /** One catalog entry, when the JSON value is shaped like one. */
141
+ function asRow(value) {
142
+ return value !== null && typeof value === "object" ? value : undefined;
143
+ }
144
+ function globalIndex(catalog) {
145
+ const hit = globalIndexes.get(catalog);
146
+ if (hit !== undefined)
147
+ return hit;
148
+ const index = new Map();
149
+ for (const provider of Object.values(catalog)) {
150
+ const rows = provider?.models;
151
+ if (rows === null || typeof rows !== "object")
152
+ continue;
153
+ for (const [id, raw] of Object.entries(rows)) {
154
+ const row = asRow(raw);
155
+ if (row === undefined)
156
+ continue;
157
+ const bucket = index.get(id);
158
+ if (bucket === undefined)
159
+ index.set(id, [row]);
160
+ else
161
+ bucket.push(row);
162
+ }
163
+ }
164
+ globalIndexes.set(catalog, index);
165
+ return index;
166
+ }
167
+ /**
168
+ * The numbers most providers agree on, or nothing.
169
+ *
170
+ * A relay that resells the same model under the same id usually keeps the
171
+ * published window; when providers disagree, the caller keeps its blank field
172
+ * rather than inherit a ceiling the endpoint it actually talks to may reject.
173
+ */
174
+ function agreedLimit(rows) {
175
+ const tally = new Map();
176
+ for (const row of rows) {
177
+ const limit = row.limit;
178
+ const record = limit !== null && typeof limit === "object" ? limit : {};
179
+ const context = positiveInt(record.context);
180
+ const output = positiveInt(record.output);
181
+ if (context === undefined && output === undefined)
182
+ continue;
183
+ const key = `${context ?? ""}|${output ?? ""}`;
184
+ const seen = tally.get(key);
185
+ if (seen === undefined)
186
+ tally.set(key, { count: 1, ...(context === undefined ? {} : { context }), ...(output === undefined ? {} : { output }) });
187
+ else
188
+ seen.count += 1;
189
+ }
190
+ if (tally.size === 0)
191
+ return undefined;
192
+ const total = [...tally.values()].reduce((sum, entry) => sum + entry.count, 0);
193
+ const [winner] = [...tally.entries()].sort((a, b) => b[1].count - a[1].count);
194
+ if (winner === undefined || winner[1].count / total < 0.6)
195
+ return undefined;
196
+ return {
197
+ ...(winner[1].context === undefined ? {} : { contextWindow: winner[1].context }),
198
+ ...(winner[1].output === undefined ? {} : { maxTokens: winner[1].output }),
199
+ };
200
+ }
201
+ /** Thinking levels most providers agree on, or nothing (same rule as {@link agreedLimit}). */
202
+ function agreedReasoning(rows) {
203
+ const tally = new Map();
204
+ for (const row of rows) {
205
+ const reasoning = reasoningOf(row);
206
+ if (reasoning === undefined)
207
+ continue;
208
+ const key = reasoning.efforts.map((effort) => effort.id).join(",");
209
+ tally.set(key, (tally.get(key) ?? 0) + 1);
210
+ }
211
+ if (tally.size === 0)
212
+ return undefined;
213
+ const total = [...tally.values()].reduce((sum, count) => sum + count, 0);
214
+ const [winner] = [...tally.entries()].sort((a, b) => b[1] - a[1]);
215
+ if (winner === undefined || winner[1] / total < 0.6)
216
+ return undefined;
217
+ const ids = winner[0].split(",").filter(Boolean);
218
+ if (ids.length === 0)
219
+ return undefined;
220
+ const defaultEffort = ["high", "medium", "low"].find((level) => ids.includes(level))
221
+ ?? ids[Math.floor(ids.length / 2)];
222
+ return {
223
+ efforts: ids.map((id) => ({ id, name: titleOf(id) })),
224
+ ...defaultEffort === undefined ? {} : { defaultEffort },
225
+ };
226
+ }
227
+ /**
228
+ * Intake modes most providers agree on.
229
+ *
230
+ * A wrong `image` costs a rejected request, so the vote has to be strict: an
231
+ * id advertised as text by most gateways stays text even if one reseller
232
+ * attaches a different modality list.
233
+ */
234
+ function agreedModalities(rows) {
235
+ const tally = new Map();
236
+ for (const row of rows) {
237
+ const modalities = modalitiesOf(row);
238
+ if (modalities === undefined)
239
+ continue;
240
+ const key = modalities.join(",");
241
+ tally.set(key, (tally.get(key) ?? 0) + 1);
242
+ }
243
+ if (tally.size === 0)
244
+ return undefined;
245
+ const total = [...tally.values()].reduce((sum, count) => sum + count, 0);
246
+ const [winner] = [...tally.entries()].sort((a, b) => b[1] - a[1]);
247
+ if (winner === undefined || winner[1] / total < 0.6)
248
+ return undefined;
249
+ const kept = winner[0].split(",").filter((m) => m === "text" || m === "image");
250
+ return kept.length > 0 ? kept : undefined;
251
+ }
252
+ function positiveInt(value) {
253
+ return typeof value === "number" && Number.isInteger(value) && value > 0 ? value : undefined;
254
+ }
255
+ function titleOf(id) {
256
+ return id.charAt(0).toUpperCase() + id.slice(1);
257
+ }
258
+ /**
259
+ * Thinking menu from a catalog row.
260
+ *
261
+ * Only `effort`-style menus are adopted: the harness sends the chosen id as
262
+ * `reasoning_effort`, so a `toggle` (`on`/`off`) or `budget_tokens` row that we
263
+ * translated here would send a value the upstream does not accept. Those models
264
+ * keep the plain default and stay hand-editable.
265
+ */
266
+ function reasoningOf(row) {
267
+ const options = Array.isArray(row.reasoning_options) ? row.reasoning_options : [];
268
+ let values;
269
+ for (const option of options) {
270
+ if (option === null || typeof option !== "object")
271
+ continue;
272
+ const o = option;
273
+ if (o.type !== "effort" || !Array.isArray(o.values))
274
+ continue;
275
+ values = o.values;
276
+ break;
277
+ }
278
+ if (values === undefined)
279
+ return undefined;
280
+ const efforts = [];
281
+ const seen = new Set();
282
+ for (const raw of values) {
283
+ if (typeof raw !== "string")
284
+ continue;
285
+ const id = raw.trim();
286
+ if (!id || seen.has(id))
287
+ continue;
288
+ seen.add(id);
289
+ efforts.push({ id, name: titleOf(id) });
290
+ }
291
+ if (efforts.length === 0)
292
+ return undefined;
293
+ const defaultEffort = ["high", "medium", "low"].find((level) => seen.has(level)) ?? efforts[Math.floor(efforts.length / 2)]?.id;
294
+ return {
295
+ efforts,
296
+ ...defaultEffort === undefined ? {} : { defaultEffort },
297
+ };
298
+ }
299
+ function modalitiesOf(row) {
300
+ const modalities = row.modalities;
301
+ if (modalities === null || typeof modalities !== "object")
302
+ return undefined;
303
+ const input = modalities.input;
304
+ if (!Array.isArray(input))
305
+ return undefined;
306
+ const kept = [];
307
+ for (const raw of input) {
308
+ if (raw === "text" || raw === "image") {
309
+ if (!kept.includes(raw))
310
+ kept.push(raw);
311
+ }
312
+ }
313
+ return kept.length > 0 ? kept : undefined;
314
+ }
315
+ /**
316
+ * Merge catalog facts into one probe result, never overwriting the listing.
317
+ * @param models - rows the endpoint advertised.
318
+ * @param catalog - catalog to consult, when one is available.
319
+ * @param options - drafted provider id and endpoint, for key resolution.
320
+ * @returns the same rows with blanks filled, or the input array untouched.
321
+ */
322
+ export function enrichFromModelsDev(models, catalog, options) {
323
+ if (catalog === undefined || models.length === 0)
324
+ return models;
325
+ const keys = catalogKeys(catalog, options);
326
+ const provider = options.provider?.trim();
327
+ const known = provider !== undefined
328
+ && (catalog[provider] !== undefined
329
+ || (PROVIDER_ALIASES[provider] ?? []).some((alias) => catalog[alias] !== undefined));
330
+ const useGlobal = !known && options.globalFallback === true;
331
+ if (keys.length === 0 && !useGlobal)
332
+ return models;
333
+ const index = useGlobal ? globalIndex(catalog) : undefined;
334
+ let changed = false;
335
+ const next = models.map((model) => {
336
+ const local = keys
337
+ .map((key) => {
338
+ const rows = catalog[key]?.models;
339
+ if (rows === null || typeof rows !== "object")
340
+ return undefined;
341
+ for (const id of modelRowLookupKeys(model.id)) {
342
+ const found = asRow(rows[id]);
343
+ if (found !== undefined)
344
+ return found;
345
+ }
346
+ return undefined;
347
+ })
348
+ .find((candidate) => candidate !== undefined);
349
+ const rows = local !== undefined
350
+ ? [local]
351
+ : index === undefined
352
+ ? []
353
+ : modelRowLookupKeys(model.id).flatMap((id) => index.get(id) ?? []);
354
+ if (rows.length === 0)
355
+ return model;
356
+ const limit = local !== undefined
357
+ ? {
358
+ contextWindow: positiveInt(local.limit?.context),
359
+ maxTokens: positiveInt(local.limit?.output),
360
+ }
361
+ : agreedLimit(rows);
362
+ const contextWindow = model.contextWindow ?? limit?.contextWindow;
363
+ const maxTokens = model.maxTokens ?? limit?.maxTokens;
364
+ const reasoning = model.reasoning
365
+ ?? (options.effortWire === false
366
+ ? undefined
367
+ : local !== undefined
368
+ ? reasoningOf(local)
369
+ : agreedReasoning(rows));
370
+ const inputModalities = model.inputModalities
371
+ ?? (local !== undefined ? modalitiesOf(local) : agreedModalities(rows));
372
+ if (contextWindow === model.contextWindow
373
+ && maxTokens === model.maxTokens
374
+ && reasoning === model.reasoning
375
+ && inputModalities === model.inputModalities) {
376
+ return model;
377
+ }
378
+ changed = true;
379
+ return {
380
+ ...model,
381
+ ...(contextWindow === undefined ? {} : { contextWindow }),
382
+ ...(maxTokens === undefined ? {} : { maxTokens }),
383
+ ...(reasoning === undefined ? {} : { reasoning }),
384
+ ...(inputModalities === undefined ? {} : { inputModalities }),
385
+ };
386
+ });
387
+ return changed ? next : models;
388
+ }
389
+ //# sourceMappingURL=models-dev-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models-dev-catalog.js","sourceRoot":"","sources":["../src/models-dev-catalog.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,11 @@ export interface ProviderRegistry {
18
18
  sessionId?: string;
19
19
  /** Extra outbound headers (merged after OpenCode session header). */
20
20
  headers?: Record<string, string>;
21
+ /**
22
+ * This route advertises thinking levels, so a chosen one may travel as
23
+ * `reasoning_effort` (OpenAI-compatible protocols only).
24
+ */
25
+ reasoningEffortWire?: true;
21
26
  }): LlmAdapter;
22
27
  listBrands(): readonly BrandEntry[];
23
28
  listRoutable(secretsEnv?: NodeJS.ProcessEnv): readonly RoutableProvider[];
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAY/C,OAAO,KAAK,EACV,UAAU,EAEV,eAAe,EACf,YAAY,EACZ,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAOpB,uCAAuC;AACvC,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AAErD,eAAO,MAAM,uBAAuB,EAAE,SAAS,UAAU,EAGxD,CAAC;AAwBF,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACvC,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,CAAC;IAC9C,aAAa,CACX,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAC5B,MAAM,CAAC,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;QAChD,gBAAgB,CAAC,EAAE,OAAO,uBAAuB,EAAE,wBAAwB,CAAC;QAC5E,qEAAqE;QACrE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,qEAAqE;QACrE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GACA,UAAU,CAAC;IACd,UAAU,IAAI,SAAS,UAAU,EAAE,CAAC;IACpC,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,gBAAgB,EAAE,CAAC;CAC3E;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAYD,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,6BAAkC,GAC1C,gBAAgB,CAyNlB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAY/C,OAAO,KAAK,EACV,UAAU,EAEV,eAAe,EACf,YAAY,EACZ,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAOpB,uCAAuC;AACvC,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AAErD,eAAO,MAAM,uBAAuB,EAAE,SAAS,UAAU,EAGxD,CAAC;AAwBF,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACvC,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,CAAC;IAC9C,aAAa,CACX,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAC5B,MAAM,CAAC,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;QAChD,gBAAgB,CAAC,EAAE,OAAO,uBAAuB,EAAE,wBAAwB,CAAC;QAC5E,qEAAqE;QACrE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,qEAAqE;QACrE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC;;;WAGG;QACH,mBAAmB,CAAC,EAAE,IAAI,CAAC;KAC5B,GACA,UAAU,CAAC;IACd,UAAU,IAAI,SAAS,UAAU,EAAE,CAAC;IACpC,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,gBAAgB,EAAE,CAAC;CAC3E;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAYD,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,6BAAkC,GAC1C,gBAAgB,CA4NlB"}
@@ -157,6 +157,9 @@ export function createProviderRegistry(options = {}) {
157
157
  ...(apiKey !== undefined ? { apiKey } : {}),
158
158
  ...(fetchImpl ? { fetch: fetchImpl } : {}),
159
159
  ...(Object.keys(headers).length > 0 ? { headers } : {}),
160
+ ...(extras?.reasoningEffortWire === true
161
+ ? { reasoningEffortWire: true }
162
+ : {}),
160
163
  });
161
164
  }
162
165
  if (binding.protocol === "anthropic-messages") {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAQpD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,uCAAuC;AACvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAErD,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D,GAAG,kBAAkB;IACrB,GAAG,kBAAkB;CACtB,CAAC;AAEF;;;GAGG;AACH,SAAS,iBAAiB,CAAC,OAAwB;IACjD,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,6CAA6C,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAwB,EACxB,SAAkB;IAElB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,MAAM,GAAG,GACP,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC;AACvC,CAAC;AAmCD,SAAS,YAAY,CAAC,CAAU;IAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,UAAyC,EAAE;IAE3C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,uBAAuB,EAAE,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,uBAAuB,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACtE,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC;IAElD,OAAO;QACL,aAAa,CAAC,KAAK;YACjB,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,CAAC,KAAK;YACX,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,KAAK,IAAI,CAAC;YAC/D,MAAM,UAAU,GAAG;gBACjB,KAAK,CAAC,QAAQ;gBACd,KAAK,CAAC,GAAG;gBACT,KAAK,CAAC,OAAO;gBACb,KAAK,CAAC,eAAe;gBACrB,uBAAuB;aACxB,CAAC;YAEF,IAAI,WAA+B,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB;oBAAE,SAAS;gBAC1D,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,mBAAmB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnE,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBACD,WAAW,GAAG,GAAG,CAAC;gBAClB,MAAM;YACR,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YACvC,MAAM,QAAQ,GACZ,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC;YACxD,MAAM,kBAAkB,GACtB,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS;gBACjD,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC;YAEzD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CACpE,MAAM,EACN,EAAE,CACH,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,gDAAgD,WAAW,EAAE,CAC9D,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE;gBAClB,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC7C,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YAChE,MAAM,KAAK,GACT,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACvD,KAAK,CAAC,YAAY;gBAClB,oBAAoB;gBACpB,uBAAuB,CAAC;YAC1B,MAAM,QAAQ,GACZ,KAAK,CAAC,QAAQ;gBACd,CAAC,QAAQ,KAAK,oBAAoB,IAAI,QAAQ,KAAK,iBAAiB;oBAClE,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,QAAQ,CAAC,CAAC;YAEhB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAClC,OAAO;gBACL,QAAQ,EAAE,WAAW;gBACrB,QAAQ;gBACR,WAAW,EAAE,sBAAsB,CAAC,QAAQ,CAAC;gBAC7C,KAAK;gBACL,OAAO;gBACP,IAAI,EAAE,cAAc;gBACpB,QAAQ;gBACR,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC;QACJ,CAAC;QAED,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM;YACpC,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC;YAC1C,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;YAC7C,MAAM,SAAS,GAAG,MAAM,EAAE,KAAK,CAAC;YAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAE9B,IACE,OAAO,CAAC,QAAQ,KAAK,aAAa;gBAClC,OAAO,CAAC,QAAQ,KAAK,oBAAoB,EACzC,CAAC;gBACD,MAAM,MAAM,GACV,MAAM,EAAE,eAAe;oBACvB,CAAC,OAAO,CAAC,QAAQ,KAAK,UAAU;wBAC9B,CAAC,CAAC,8BAA8B,CAAC;4BAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;4BACxB,KAAK;yBACN,CAAC;wBACJ,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBACzB,IACE,OAAO,CAAC,QAAQ,KAAK,UAAU;oBAC/B,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,EAC1C,CAAC;oBACD,OAAO,qBAAqB,CAAC;wBAC3B,EAAE;wBACF,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,KAAK;wBACL,eAAe,EAAE,MAAM;wBACvB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC1C,GAAG,CAAC,MAAM,EAAE,gBAAgB;4BAC1B,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE;4BAC/C,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,eAAe,GAAG,sBAAsB,CAC5C,OAAO,EACP,MAAM,EAAE,SAAS,CAClB,CAAC;gBACF,MAAM,OAAO,GAAG;oBACd,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;oBAC1B,GAAG,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;iBAC3B,CAAC;gBACF,OAAO,6BAA6B,CAAC;oBACnC,EAAE;oBACF,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,KAAK;oBACL,eAAe,EAAE,MAAM;oBACvB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI;wBACtC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAa,EAAE;wBACxC,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;gBAC9C,OAAO,sBAAsB,CAAC;oBAC5B,EAAE;oBACF,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK;oBACL,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;oBAC7D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3C,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;gBAC5C,OAAO,4BAA4B,CAAC;oBAClC,EAAE;oBACF,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK;oBACL,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;oBAC7D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3C,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;gBAC3C,OAAO,mBAAmB,CAAC;oBACzB,EAAE;oBACF,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,KAAK;oBACL,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;oBAC7D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3C,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,KAAK,CACb,qDACE,CAAC,OAAO,CAAC,CAAC,QACZ,EAAE,CACH,CAAC;QACJ,CAAC;QAED,UAAU;YACR,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,YAAY,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG;YACnC,MAAM,GAAG,GAAuB,EAAE,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChC,MAAM,KAAK,GACT,CAAC,CAAC,CAAC,SAAS;oBACZ,OAAO,CACL,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;wBACrB,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CACpD,CAAC;gBACJ,MAAM,MAAM,GACV,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC;oBACzC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;gBAC1B,GAAG,CAAC,IAAI,CAAC;oBACP,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC"}