commandcode-api-proxy 0.1.4 → 0.3.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.
@@ -1,9 +1,10 @@
1
1
  import crypto from "node:crypto";
2
2
  import { resolveAnthropicModel } from "../translate/anthropic-models.js";
3
- import { extractUsage, pruneDanglingTools, buildCCConfig, } from "../translate/util.js";
3
+ import { resolveEffortForModel } from "../translate/models.js";
4
+ import { extractUsage, pruneDanglingTools, buildCCConfig } from "../translate/util.js";
4
5
  import { logger } from "../logger.js";
5
6
  // ── Constants ──
6
- const REASONING_THRESHOLDS = { LOW: 2000, MEDIUM: 8000 };
7
+ const REASONING_THRESHOLDS = { LOW: 2000, MEDIUM: 8000, HIGH: 16000, XHIGH: 32000 };
7
8
  const ANTHROPIC_STOP_REASON_MAP = {
8
9
  stop: "end_turn",
9
10
  length: "max_tokens",
@@ -112,9 +113,7 @@ function toCCMessages(messages) {
112
113
  }
113
114
  return {
114
115
  ccMessages: pruneDanglingTools(ccMessages),
115
- systemPrompt: systemParts.length > 0
116
- ? systemParts.join("\n\n")
117
- : undefined,
116
+ systemPrompt: systemParts.length > 0 ? systemParts.join("\n\n") : undefined,
118
117
  };
119
118
  }
120
119
  function toCCPartByBlock(block) {
@@ -132,24 +131,30 @@ function toCCPartByBlock(block) {
132
131
  function resolveReasoningEffort(thinking) {
133
132
  if (!thinking)
134
133
  return undefined;
135
- if (thinking.budget_tokens <= REASONING_THRESHOLDS.LOW)
134
+ const b = thinking.budget_tokens;
135
+ if (b <= REASONING_THRESHOLDS.LOW)
136
136
  return "low";
137
- if (thinking.budget_tokens <= REASONING_THRESHOLDS.MEDIUM)
137
+ if (b <= REASONING_THRESHOLDS.MEDIUM)
138
138
  return "medium";
139
- return "high";
139
+ if (b <= REASONING_THRESHOLDS.HIGH)
140
+ return "high";
141
+ if (b <= REASONING_THRESHOLDS.XHIGH)
142
+ return "xhigh";
143
+ return "max";
140
144
  }
145
+ /**
146
+ * Map an Anthropic `tool_choice` to the object form CC's bridge requires.
147
+ * CC accepts `{type:"auto"|"any"|"tool", name?}` only. Anthropic "any" → "any";
148
+ * Anthropic "none" has no CC equivalent, so we omit it (default auto).
149
+ */
141
150
  function resolveToolChoice(anthropic) {
142
151
  const tc = anthropic.tool_choice;
143
- if (!tc)
144
- return undefined;
145
- if (tc.type === "auto")
152
+ if (!tc || tc.type === "auto" || tc.type === "none")
146
153
  return undefined;
147
154
  if (tc.type === "any")
148
- return "required";
155
+ return { type: "any" };
149
156
  if (tc.type === "tool")
150
- return tc.name;
151
- if (tc.type === "none")
152
- return "none";
157
+ return { type: "tool", name: tc.name };
153
158
  return undefined;
154
159
  }
155
160
  export function toCCRequest(req, configOverrides) {
@@ -188,10 +193,11 @@ export function toCCRequest(req, configOverrides) {
188
193
  stream: req.stream ?? false,
189
194
  max_tokens: req.max_tokens,
190
195
  temperature: req.temperature,
196
+ top_p: req.top_p,
191
197
  stop: req.stop_sequences,
192
198
  tools: ccTools,
193
199
  tool_choice: resolveToolChoice(req),
194
- reasoning_effort: resolveReasoningEffort(req.thinking),
200
+ reasoning_effort: resolveEffortForModel(resolvedModel, resolveReasoningEffort(req.thinking)),
195
201
  },
196
202
  threadId: crypto.randomUUID(),
197
203
  };
@@ -211,10 +217,14 @@ export class AnthropicStreamEncoder {
211
217
  pendingStart = null;
212
218
  started = false;
213
219
  pinged = false;
220
+ sawFinish = false;
214
221
  constructor(model) {
215
222
  this.model = model;
216
223
  this.messageId = `msg_${crypto.randomUUID()}`;
217
224
  }
225
+ get finished() {
226
+ return this.sawFinish;
227
+ }
218
228
  emit(event) {
219
229
  if (event.type === "start") {
220
230
  this.blockIndex = 0;
@@ -223,6 +233,7 @@ export class AnthropicStreamEncoder {
223
233
  return [];
224
234
  }
225
235
  if (event.type === "error") {
236
+ this.sawFinish = true;
226
237
  const msg = event.data.message ??
227
238
  event.data.error?.message ??
228
239
  JSON.stringify(event.data);
@@ -255,10 +266,24 @@ export class AnthropicStreamEncoder {
255
266
  return this.handleContent(event);
256
267
  }
257
268
  handleFinish(event) {
269
+ this.sawFinish = true;
258
270
  const records = [];
271
+ // If we never emitted a content event, `started` is still false and no
272
+ // message_start was sent. The Anthropic SDK requires message_start as
273
+ // the first event — synthesize one before the closing records so we
274
+ // don't deliver a stream that starts with message_delta.
275
+ if (!this.started) {
276
+ records.push(this.makeMessageStart(0));
277
+ this.started = true;
278
+ }
259
279
  this.closeCurrentBlock(records);
260
280
  const finishReason = event.data.finishReason ?? "stop";
261
281
  const usage = extractUsage(event.data);
282
+ // CC's `start` event carries no usage — input/output token counts are only
283
+ // known at `finish`. Anthropic's SDK merges `message_delta.usage` over the
284
+ // `message_start.usage`, so emitting them here corrects the final values
285
+ // (message_start reported input_tokens as 0 because start was empty).
286
+ const cachedTokens = usage?.promptTokensDetails?.cachedTokens;
262
287
  records.push({
263
288
  event: "message_delta",
264
289
  data: {
@@ -268,7 +293,9 @@ export class AnthropicStreamEncoder {
268
293
  stop_sequence: null,
269
294
  },
270
295
  usage: {
296
+ input_tokens: usage?.promptTokens ?? 0,
271
297
  output_tokens: usage?.completionTokens ?? 0,
298
+ ...(cachedTokens != null ? { cache_read_input_tokens: cachedTokens } : {}),
272
299
  },
273
300
  },
274
301
  });
@@ -313,6 +340,15 @@ export class AnthropicStreamEncoder {
313
340
  const tcName = event.data.toolName ?? event.data.name ?? "";
314
341
  const input = event.data.input ?? event.data.arguments;
315
342
  const argsStr = typeof input === "string" ? input : input != null ? JSON.stringify(input) : "";
343
+ // If the upstream streamed deltas for this tool call first and then
344
+ // sent the final `tool-call` event with the same id, reuse the block
345
+ // it already opened instead of creating a duplicate `tool_use`.
346
+ if (this.currentBlockType === "tool_use" && this.currentToolCallId === tcId) {
347
+ if (argsStr) {
348
+ records.push(this.makeDelta({ type: "input_json_delta", partial_json: argsStr }));
349
+ }
350
+ break;
351
+ }
316
352
  this.closeCurrentBlock(records);
317
353
  this.ensureBlockOpenWith(records, "tool_use", {
318
354
  type: "tool_use",
@@ -396,6 +432,30 @@ export class AnthropicStreamEncoder {
396
432
  },
397
433
  };
398
434
  }
435
+ /**
436
+ * Build the closing records for a stream that ended without a `finish`
437
+ * event from the upstream (e.g. upstream connection dropped mid-response).
438
+ * Emits synthetic message_delta + message_stop so the Anthropic SDK sees
439
+ * a well-formed end-of-stream instead of a truncated response.
440
+ */
441
+ finishRecords(stopReason = "end_turn") {
442
+ const records = [];
443
+ if (!this.started) {
444
+ records.push(this.makeMessageStart(0));
445
+ this.started = true;
446
+ }
447
+ this.closeCurrentBlock(records);
448
+ records.push({
449
+ event: "message_delta",
450
+ data: {
451
+ type: "message_delta",
452
+ delta: { stop_reason: stopReason, stop_sequence: null },
453
+ usage: { input_tokens: 0, output_tokens: 0 },
454
+ },
455
+ });
456
+ records.push({ event: "message_stop", data: {} });
457
+ return records;
458
+ }
399
459
  }
400
460
  // ── Non-streaming response builder ──
401
461
  export function buildAnthropicResponse(events, model, messageId) {
@@ -424,6 +484,10 @@ export function buildAnthropicResponse(events, model, messageId) {
424
484
  break;
425
485
  }
426
486
  }
487
+ // Block ordering follows Anthropic's extended-thinking contract:
488
+ // thinking blocks must precede the text they reason about, and tool_use
489
+ // blocks come last. Mixing this up confuses strict clients (Claude Code
490
+ // uses thinking-block position to continue reasoning across turns).
427
491
  const content = [];
428
492
  if (thinkingContent) {
429
493
  content.push({
@@ -432,10 +496,14 @@ export function buildAnthropicResponse(events, model, messageId) {
432
496
  signature: "_cc_proxy_placeholder",
433
497
  });
434
498
  }
499
+ if (textContent)
500
+ content.push({ type: "text", text: textContent });
435
501
  content.push(...toolUseBlocks);
436
- if (textContent || content.length === 0) {
437
- content.unshift({ type: "text", text: textContent });
438
- }
502
+ // Anthropic requires content to be non-empty — if there was no text, no
503
+ // thinking, and no tool calls (e.g. empty refusal), synthesize an empty
504
+ // text block rather than sending an empty array.
505
+ if (content.length === 0)
506
+ content.push({ type: "text", text: "" });
439
507
  const finishEvent = events.find((e) => e.type === "finish");
440
508
  const finishReason = finishEvent?.data.finishReason ?? "stop";
441
509
  const usage = finishEvent ? extractUsage(finishEvent.data) : undefined;
@@ -451,7 +519,7 @@ export function buildAnthropicResponse(events, model, messageId) {
451
519
  input_tokens: usage?.promptTokens ?? 0,
452
520
  output_tokens: usage?.completionTokens ?? 0,
453
521
  cache_creation_input_tokens: 0,
454
- cache_read_input_tokens: 0,
522
+ cache_read_input_tokens: usage?.promptTokensDetails?.cachedTokens ?? 0,
455
523
  },
456
524
  };
457
525
  }
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/translate/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/translate/anthropic.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,19 @@
6
6
  export declare function fetchModelList(apiBase: string, apiKey: string): Promise<string[]>;
7
7
  export declare function getDefaultModels(): string[];
8
8
  export declare function resolveModel(model: string): string;
9
+ /**
10
+ * Resolve a requested reasoning effort for a specific (canonical) model.
11
+ *
12
+ * CC accepts `params.reasoning_effort` but each model supports a different set
13
+ * of levels, and CC silently coerces unsupported values (it does not 400). To
14
+ * honor caller intent without sending a value the model can't use:
15
+ * - If the model isn't catalogued (no known effort set), pass the request
16
+ * through unchanged — we don't know better, so don't regress.
17
+ * - If the model has a known effort set, clip an unsupported request to the
18
+ * nearest valid level (highest supported rank ≤ requested, else the lowest
19
+ * supported). E.g. deepseek-v4-pro supports only {high, max}, so a request
20
+ * for "low"/"medium" becomes "high", and "max" stays reachable.
21
+ * - If no effort was requested, return undefined and let CC pick its default.
22
+ */
23
+ export declare function resolveEffortForModel(canonicalModel: string, requested?: string): string | undefined;
9
24
  //# sourceMappingURL=models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/translate/models.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAavF;AAED,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASlD"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/translate/models.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAavF;AAED,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBlD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,MAAM,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAiBpB"}
@@ -2,6 +2,10 @@
2
2
  import modelsData from "../models.json" with { type: "json" };
3
3
  const BUILTIN_MODELS = modelsData.builtin;
4
4
  const SHORT_ALIASES = modelsData.shortAliases;
5
+ /** Canonical model id → the discrete reasoning-effort levels CC accepts for it. */
6
+ const REASONING_EFFORTS = modelsData.reasoningEfforts ?? {};
7
+ /** Rank ordering of effort levels (low → max). Used to clip to the nearest valid. */
8
+ const EFFORT_RANK = { low: 0, medium: 1, high: 2, xhigh: 3, max: 4 };
5
9
  /**
6
10
  * Fetch available models from CC provider API. Returns the model list (used by
7
11
  * the /v1/models endpoint). Failures yield an empty list — the caller falls
@@ -30,12 +34,55 @@ export function resolveModel(model) {
30
34
  if (!model || model === "default") {
31
35
  return BUILTIN_MODELS[0];
32
36
  }
33
- const aliased = SHORT_ALIASES[model];
37
+ // Alias lookup is case-insensitive so callers can pass the bare model name
38
+ // with original casing (e.g. "GLM-5.2") as well as the lowercase short alias.
39
+ const aliased = SHORT_ALIASES[model] ?? SHORT_ALIASES[model.toLowerCase()];
34
40
  if (aliased)
35
41
  return aliased;
36
42
  // Already a full model ID (contains "/") — pass through untouched.
37
43
  if (model.includes("/"))
38
44
  return model;
45
+ // Bare name without an org prefix (e.g. "GLM-5.2", "Kimi-K3", or
46
+ // "nemotron-3-ultra-550b-a55b" — which has no short alias). Match it against
47
+ // the builtin catalog by last path segment so it still resolves to a full ID.
48
+ const lower = model.toLowerCase();
49
+ for (const id of BUILTIN_MODELS) {
50
+ const last = id.split("/").pop() ?? id;
51
+ if (last.toLowerCase() === lower)
52
+ return id;
53
+ }
39
54
  return model;
40
55
  }
56
+ /**
57
+ * Resolve a requested reasoning effort for a specific (canonical) model.
58
+ *
59
+ * CC accepts `params.reasoning_effort` but each model supports a different set
60
+ * of levels, and CC silently coerces unsupported values (it does not 400). To
61
+ * honor caller intent without sending a value the model can't use:
62
+ * - If the model isn't catalogued (no known effort set), pass the request
63
+ * through unchanged — we don't know better, so don't regress.
64
+ * - If the model has a known effort set, clip an unsupported request to the
65
+ * nearest valid level (highest supported rank ≤ requested, else the lowest
66
+ * supported). E.g. deepseek-v4-pro supports only {high, max}, so a request
67
+ * for "low"/"medium" becomes "high", and "max" stays reachable.
68
+ * - If no effort was requested, return undefined and let CC pick its default.
69
+ */
70
+ export function resolveEffortForModel(canonicalModel, requested) {
71
+ const supported = REASONING_EFFORTS[canonicalModel];
72
+ // Uncatalogued/empty effort set, or nothing requested → preserve as-is
73
+ // (undefined or the value). The empty-array guard matters: `[]` is truthy,
74
+ // and reduce() on it below would otherwise throw.
75
+ if (!supported || supported.length === 0 || !requested)
76
+ return requested;
77
+ if (supported.includes(requested))
78
+ return requested;
79
+ const rank = (e) => EFFORT_RANK[e] ?? 2;
80
+ const reqRank = rank(requested);
81
+ const atOrBelow = supported.filter((e) => rank(e) <= reqRank);
82
+ if (atOrBelow.length > 0) {
83
+ return atOrBelow.reduce((best, e) => (rank(e) > rank(best) ? e : best));
84
+ }
85
+ // Requested rank is below every supported level → use the lowest supported.
86
+ return supported.reduce((best, e) => (rank(e) < rank(best) ? e : best));
87
+ }
41
88
  //# sourceMappingURL=models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/translate/models.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,UAAU,MAAM,eAAe,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE7D,MAAM,cAAc,GAAa,UAAU,CAAC,OAAO,CAAC;AACpD,MAAM,aAAa,GAA2B,UAAU,CAAC,YAAY,CAAC;AAEtE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,MAAc;IAClE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,OAAO,qBAAqB,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;YAC9C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgC,CAAC;QAC/D,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,mEAAmE;IACnE,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/translate/models.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,40 @@ export declare class OpenAIStreamEncoder {
5
5
  readonly id: string;
6
6
  private readonly created;
7
7
  private toolCallIndex;
8
+ private sawFinish;
9
+ private readonly toolCallIdToIndex;
8
10
  constructor(model: string);
11
+ get finished(): boolean;
12
+ /**
13
+ * Resolve the OpenAI streaming `index` for a given tool-call id, allocating
14
+ * a new one on first sighting. Falls back to the upstream-provided index
15
+ * (if any) so we don't fight a bridge that already numbers them.
16
+ */
17
+ private resolveToolCallIndex;
9
18
  emit(event: CCEvent): object[];
19
+ /**
20
+ * Build a uniform error→content+finish chunk pair. Used both by `emit()`
21
+ * for upstream error events and by the server's pumpStream catch for
22
+ * stream-level errors (TCP failure, idle timeout, encoder throw). Both
23
+ * paths surface errors as valid chat.completion.chunk records so the
24
+ * client always sees a uniform stream shape instead of a mix of valid
25
+ * chunks and an ad-hoc `{error:...}` envelope.
26
+ */
27
+ private errorChunks;
10
28
  errorChunk(err: Error): object;
29
+ /**
30
+ * Build the closing chunks for a stream that ended without a `finish`
31
+ * event from the upstream (e.g. upstream connection dropped mid-response).
32
+ * Emits a synthetic finish_reason so the client SDK doesn't see a
33
+ * truncated response.
34
+ */
35
+ finishChunks(reason?: string): object[];
36
+ /**
37
+ * Public wrapper around errorChunks() for stream-level errors caught by
38
+ * pumpStream (TCP failure, idle timeout, encoder throw). Emits a uniform
39
+ * content+finish chunk pair instead of an out-of-band error envelope.
40
+ */
41
+ streamErrorChunks(err: Error): object[];
11
42
  }
12
43
  export declare function buildNonStreamingResponse(events: CCEvent[], model: string, id: string): object;
13
44
  //# sourceMappingURL=openai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/translate/openai.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EASjB,aAAa,EACb,OAAO,EAER,MAAM,sBAAsB,CAAC;AAmI9B,wBAAgB,WAAW,CACzB,GAAG,EAAE,iBAAiB,EACtB,eAAe,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GACjD,aAAa,CA6Bf;AAmCD,qBAAa,mBAAmB;IAKlB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJlC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,aAAa,CAAK;gBAEG,KAAK,EAAE,MAAM;IAK1C,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE;IA6J9B,UAAU,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM;CAQ/B;AAWD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAgF9F"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/translate/openai.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EASjB,aAAa,EAEb,OAAO,EAER,MAAM,sBAAsB,CAAC;AAyI9B,wBAAgB,WAAW,CACzB,GAAG,EAAE,iBAAiB,EACtB,eAAe,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GACjD,aAAa,CA6Bf;AAmCD,qBAAa,mBAAmB;IAWlB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAVlC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,SAAS,CAAS;IAK1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;gBAElC,KAAK,EAAE,MAAM;IAK1C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAW5B,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE;IAuJ9B;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAwBnB,UAAU,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM;IAW9B;;;;;OAKG;IACH,YAAY,CAAC,MAAM,GAAE,MAAe,GAAG,MAAM,EAAE;IAY/C;;;;OAIG;IACH,iBAAiB,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,EAAE;CAGxC;AAWD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CA2F9F"}