commandcode-api-proxy 0.1.2 → 0.1.4

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 (44) hide show
  1. package/README.md +96 -83
  2. package/dist/models.json +7 -1
  3. package/dist/proxy.js +8 -0
  4. package/dist/proxy.js.map +1 -1
  5. package/dist/server.d.ts.map +1 -1
  6. package/dist/server.js +184 -21
  7. package/dist/server.js.map +1 -1
  8. package/dist/setup/claude-code.d.ts +2 -0
  9. package/dist/setup/claude-code.d.ts.map +1 -0
  10. package/dist/setup/claude-code.js +37 -0
  11. package/dist/setup/claude-code.js.map +1 -0
  12. package/dist/setup/opencode.d.ts.map +1 -1
  13. package/dist/setup/opencode.js.map +1 -1
  14. package/dist/stream.d.ts +1 -0
  15. package/dist/stream.d.ts.map +1 -1
  16. package/dist/stream.js +6 -0
  17. package/dist/stream.js.map +1 -1
  18. package/dist/translate/anthropic-models.d.ts +2 -0
  19. package/dist/translate/anthropic-models.d.ts.map +1 -0
  20. package/dist/translate/anthropic-models.js +11 -0
  21. package/dist/translate/anthropic-models.js.map +1 -0
  22. package/dist/translate/anthropic-types.d.ts +168 -0
  23. package/dist/translate/anthropic-types.d.ts.map +1 -0
  24. package/dist/translate/anthropic-types.js +4 -0
  25. package/dist/translate/anthropic-types.js.map +1 -0
  26. package/dist/translate/anthropic.d.ts +24 -0
  27. package/dist/translate/anthropic.d.ts.map +1 -0
  28. package/dist/translate/anthropic.js +458 -0
  29. package/dist/translate/anthropic.js.map +1 -0
  30. package/dist/translate/openai.d.ts +10 -10
  31. package/dist/translate/openai.d.ts.map +1 -1
  32. package/dist/translate/openai.js +153 -208
  33. package/dist/translate/openai.js.map +1 -1
  34. package/dist/translate/util.d.ts +1 -2
  35. package/dist/translate/util.d.ts.map +1 -1
  36. package/dist/translate/util.js +33 -12
  37. package/dist/translate/util.js.map +1 -1
  38. package/dist/translate/validation.d.ts +2 -0
  39. package/dist/translate/validation.d.ts.map +1 -1
  40. package/dist/translate/validation.js +74 -0
  41. package/dist/translate/validation.js.map +1 -1
  42. package/dist/upstream.d.ts.map +1 -1
  43. package/dist/upstream.js.map +1 -1
  44. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import crypto from "node:crypto";
2
2
  import { resolveModel } from "../translate/models.js";
3
- import { getMessageId, extractUsage, pruneDanglingTools, buildCCConfig } from "../translate/util.js";
3
+ import { applyNoToolsSafeguard, extractUsage, pruneDanglingTools, buildCCConfig, } from "../translate/util.js";
4
4
  import { logger } from "../logger.js";
5
5
  // ──────────────────────────────────────────
6
6
  // OpenAI request → CC request
@@ -137,48 +137,23 @@ export function toCCRequest(req, configOverrides) {
137
137
  },
138
138
  threadId: crypto.randomUUID(),
139
139
  };
140
- const hasTools = req.tools && req.tools.length > 0;
141
- const noToolsInstruction = "CRITICAL: You are running in a chat-only environment. Tool execution is disabled. Do not generate or call any tools (e.g. Build, ReadFile, grep, Search, etc.). Respond only with plain text.";
142
- const withToolsInstruction = "";
143
- const finalSystemPrompt = systemPrompt
144
- ? `${systemPrompt}\n\n${hasTools ? withToolsInstruction : noToolsInstruction}`
145
- : hasTools
146
- ? withToolsInstruction
147
- : noToolsInstruction;
148
- if (finalSystemPrompt) {
149
- body.params.system = finalSystemPrompt;
150
- }
151
- // Also append directly to the last user message as a fallback to bypass upstream overrides
152
- if (ccMessages.length > 0 && !hasTools) {
153
- for (let i = ccMessages.length - 1; i >= 0; i--) {
154
- if (ccMessages[i].role === "user") {
155
- const msg = ccMessages[i];
156
- const suffix = "\n\n[System Note: Tool execution is disabled in this environment. Do not output any tool calls (such as Build, Search, ReadFile, grep, etc.). You must answer directly in plain text.]";
157
- if (typeof msg.content === "string") {
158
- msg.content += suffix;
159
- }
160
- else if (Array.isArray(msg.content)) {
161
- const lastTextPart = [...msg.content].reverse().find((p) => p.type === "text");
162
- if (lastTextPart) {
163
- lastTextPart.text = (lastTextPart.text ?? "") + suffix;
164
- }
165
- else {
166
- msg.content.push({ type: "text", text: suffix });
167
- }
168
- }
169
- break;
170
- }
171
- }
172
- }
140
+ if (systemPrompt)
141
+ body.params.system = systemPrompt;
142
+ applyNoToolsSafeguard(body, ccMessages, req.tools != null && req.tools.length > 0);
173
143
  return body;
174
144
  }
175
145
  // ──────────────────────────────────────────
176
146
  // CC events → OpenAI streaming chunks
177
147
  // ──────────────────────────────────────────
178
- /**
179
- * Convert internal UsageData into the OpenAI `usage` object format
180
- * (prompt_tokens / completion_tokens / total_tokens + detail sub-objects).
181
- */
148
+ const OPENAI_FINISH_MAP = {
149
+ stop: "stop",
150
+ length: "length",
151
+ content_filtered: "content_filter",
152
+ "tool-call": "tool_calls",
153
+ "tool-calls": "tool_calls",
154
+ tool_call: "tool_calls",
155
+ error: "stop",
156
+ };
182
157
  function toOpenAIUsage(u) {
183
158
  const promptTokens = u.promptTokens ?? 0;
184
159
  const completionTokens = u.completionTokens ?? 0;
@@ -197,198 +172,168 @@ function toOpenAIUsage(u) {
197
172
  }
198
173
  return usage;
199
174
  }
200
- // Index counter for tool calls within a single streaming response.
201
- let toolCallIndex = 0;
202
- /**
203
- * Translate a single CC event into OpenAI streaming chunks.
204
- *
205
- * `model` is the model id requested by the downstream client (echoed back in
206
- * every chunk per the OpenAI spec). `responseModel` is the model reported by
207
- * the upstream `start` event, if any — used only to enrich the first chunk.
208
- */
209
- export function toOpenAIStreamChunk(event, model = "unknown") {
210
- const chunks = [];
211
- const id = getMessageId();
212
- const created = Math.floor(Date.now() / 1000);
213
- switch (event.type) {
214
- case "start": {
215
- toolCallIndex = 0;
216
- chunks.push({
217
- id,
218
- object: "chat.completion.chunk",
219
- created,
220
- model,
221
- choices: [{ index: 0, delta: { role: "assistant" }, finish_reason: null }],
222
- });
223
- break;
224
- }
225
- case "text-delta": {
226
- const text = event.data.text;
227
- if (text) {
175
+ export class OpenAIStreamEncoder {
176
+ model;
177
+ id;
178
+ created;
179
+ toolCallIndex = 0;
180
+ constructor(model) {
181
+ this.model = model;
182
+ this.id = crypto.randomUUID();
183
+ this.created = Math.floor(Date.now() / 1000);
184
+ }
185
+ emit(event) {
186
+ const chunks = [];
187
+ const id = this.id;
188
+ const created = this.created;
189
+ switch (event.type) {
190
+ case "start": {
191
+ this.toolCallIndex = 0;
228
192
  chunks.push({
229
193
  id,
230
194
  object: "chat.completion.chunk",
231
195
  created,
232
- model,
233
- choices: [{ index: 0, delta: { content: text }, finish_reason: null }],
196
+ model: this.model,
197
+ choices: [{ index: 0, delta: { role: "assistant" }, finish_reason: null }],
234
198
  });
199
+ break;
235
200
  }
236
- break;
237
- }
238
- case "reasoning-delta": {
239
- const text = event.data.text;
240
- if (text) {
201
+ case "text-delta": {
202
+ const text = event.data.text;
203
+ if (text) {
204
+ chunks.push({
205
+ id,
206
+ object: "chat.completion.chunk",
207
+ created,
208
+ model: this.model,
209
+ choices: [{ index: 0, delta: { content: text }, finish_reason: null }],
210
+ });
211
+ }
212
+ break;
213
+ }
214
+ case "reasoning-delta": {
215
+ const text = event.data.text;
216
+ if (text) {
217
+ chunks.push({
218
+ id,
219
+ object: "chat.completion.chunk",
220
+ created,
221
+ model: this.model,
222
+ choices: [{ index: 0, delta: { reasoning_content: text }, finish_reason: null }],
223
+ });
224
+ }
225
+ break;
226
+ }
227
+ case "tool-call-delta": {
228
+ const tc = {
229
+ index: event.data.index ?? 0,
230
+ function: { arguments: event.data.arguments ?? "" },
231
+ };
232
+ if (event.data.toolCallId) {
233
+ tc.id = event.data.toolCallId;
234
+ tc.type = "function";
235
+ }
236
+ if (event.data.name) {
237
+ tc.function.name = event.data.name;
238
+ }
241
239
  chunks.push({
242
240
  id,
243
241
  object: "chat.completion.chunk",
244
242
  created,
245
- model,
246
- choices: [{ index: 0, delta: { reasoning_content: text }, finish_reason: null }],
243
+ model: this.model,
244
+ choices: [{ index: 0, delta: { tool_calls: [tc] }, finish_reason: null }],
247
245
  });
246
+ break;
248
247
  }
249
- break;
250
- }
251
- case "tool-call-delta": {
252
- const tc = {
253
- index: event.data.index ?? 0,
254
- function: { arguments: event.data.arguments ?? "" },
255
- };
256
- if (event.data.toolCallId) {
257
- tc.id = event.data.toolCallId;
258
- tc.type = "function";
248
+ case "tool-call": {
249
+ const toolCallId = event.data.toolCallId ?? "";
250
+ const toolName = event.data.toolName ?? event.data.name ?? "";
251
+ const input = event.data.input ?? event.data.arguments;
252
+ const args = typeof input === "string" ? input : input != null ? JSON.stringify(input) : "";
253
+ chunks.push({
254
+ id,
255
+ object: "chat.completion.chunk",
256
+ created,
257
+ model: this.model,
258
+ choices: [
259
+ {
260
+ index: 0,
261
+ delta: {
262
+ tool_calls: [
263
+ {
264
+ index: this.toolCallIndex++,
265
+ id: toolCallId,
266
+ type: "function",
267
+ function: { name: toolName, arguments: args },
268
+ },
269
+ ],
270
+ },
271
+ finish_reason: null,
272
+ },
273
+ ],
274
+ });
275
+ break;
259
276
  }
260
- if (event.data.name) {
261
- tc.function.name = event.data.name;
277
+ case "finish": {
278
+ const usage = extractUsage(event.data);
279
+ const finishReason = event.data.finishReason ?? "stop";
280
+ chunks.push({
281
+ id,
282
+ object: "chat.completion.chunk",
283
+ created,
284
+ model: this.model,
285
+ choices: [
286
+ { index: 0, delta: {}, finish_reason: OPENAI_FINISH_MAP[finishReason] ?? "stop" },
287
+ ],
288
+ });
289
+ if (usage) {
290
+ chunks.push({
291
+ id,
292
+ object: "chat.completion.chunk",
293
+ created,
294
+ model: this.model,
295
+ choices: [],
296
+ usage: toOpenAIUsage(usage),
297
+ });
298
+ }
299
+ break;
262
300
  }
263
- chunks.push({
264
- id,
265
- object: "chat.completion.chunk",
266
- created,
267
- model,
268
- choices: [
269
- {
270
- index: 0,
271
- delta: {
272
- tool_calls: [tc],
273
- },
274
- finish_reason: null,
275
- },
276
- ],
277
- });
278
- break;
279
- }
280
- case "tool-call": {
281
- // CC complete tool-call event: { toolCallId, toolName, input (object) }
282
- // Translate to OpenAI tool_calls delta (arguments must be a JSON string).
283
- const toolCallId = event.data.toolCallId ?? "";
284
- const toolName = event.data.toolName ?? event.data.name ?? "";
285
- const input = event.data.input ?? event.data.arguments;
286
- const args = typeof input === "string" ? input : input != null ? JSON.stringify(input) : "";
287
- chunks.push({
288
- id,
289
- object: "chat.completion.chunk",
290
- created,
291
- model,
292
- choices: [
293
- {
294
- index: 0,
295
- delta: {
296
- tool_calls: [
297
- {
298
- index: toolCallIndex++,
299
- id: toolCallId,
300
- type: "function",
301
- function: { name: toolName, arguments: args },
302
- },
303
- ],
304
- },
305
- finish_reason: null,
306
- },
307
- ],
308
- });
309
- break;
310
- }
311
- case "finish": {
312
- const usage = extractUsage(event.data);
313
- const finishReason = event.data.finishReason ?? "stop";
314
- const finishMap = {
315
- stop: "stop",
316
- length: "length",
317
- content_filtered: "content_filter",
318
- "tool-call": "tool_calls",
319
- "tool-calls": "tool_calls",
320
- tool_call: "tool_calls",
321
- error: "stop",
322
- };
323
- chunks.push({
324
- id,
325
- object: "chat.completion.chunk",
326
- created,
327
- model,
328
- choices: [{ index: 0, delta: {}, finish_reason: finishMap[finishReason] ?? "stop" }],
329
- });
330
- // OpenAI streams usage as a separate trailing chunk with an empty
331
- // `choices` array. We emit it whenever the upstream reports usage so
332
- // clients that rely on it (context-window %, billing, etc.) receive it.
333
- if (usage) {
301
+ case "error": {
302
+ const errMsg = event.data.message ??
303
+ event.data.error?.message ??
304
+ JSON.stringify(event.data);
305
+ logger.error(`[CC upstream error] ${errMsg}`);
334
306
  chunks.push({
335
307
  id,
336
308
  object: "chat.completion.chunk",
337
309
  created,
338
- model,
339
- choices: [],
340
- usage: toOpenAIUsage(usage),
310
+ model: this.model,
311
+ choices: [
312
+ { index: 0, delta: { content: `[upstream error] ${errMsg}` }, finish_reason: null },
313
+ ],
341
314
  });
315
+ chunks.push({
316
+ id,
317
+ object: "chat.completion.chunk",
318
+ created,
319
+ model: this.model,
320
+ choices: [{ index: 0, delta: {}, finish_reason: "stop" }],
321
+ });
322
+ break;
342
323
  }
343
- break;
344
- }
345
- case "error": {
346
- // Surface upstream errors instead of silently dropping them, so the
347
- // downstream client sees what went wrong (an empty stream is harder to
348
- // debug). Emit the message as content, then a stop finish.
349
- const errMsg = event.data.message ??
350
- event.data.error?.message ??
351
- JSON.stringify(event.data);
352
- logger.error(`[CC upstream error] ${errMsg}`);
353
- chunks.push({
354
- id,
355
- object: "chat.completion.chunk",
356
- created,
357
- model,
358
- choices: [
359
- { index: 0, delta: { content: `[upstream error] ${errMsg}` }, finish_reason: null },
360
- ],
361
- });
362
- chunks.push({
363
- id,
364
- object: "chat.completion.chunk",
365
- created,
366
- model,
367
- choices: [{ index: 0, delta: {}, finish_reason: "stop" }],
368
- });
369
- break;
370
324
  }
325
+ return chunks;
326
+ }
327
+ errorChunk(err) {
328
+ return {
329
+ error: {
330
+ message: err.message,
331
+ type: "upstream_error",
332
+ },
333
+ };
371
334
  }
372
- return chunks;
373
- }
374
- export function toOpenAIErrorChunk(error) {
375
- return {
376
- error: {
377
- message: error.message,
378
- type: "upstream_error",
379
- },
380
- };
381
335
  }
382
- const OPENAI_FINISH_MAP = {
383
- stop: "stop",
384
- length: "length",
385
- content_filtered: "content_filter",
386
- "tool-call": "tool_calls",
387
- "tool-calls": "tool_calls",
388
- tool_call: "tool_calls",
389
- error: "stop",
390
- };
391
- export function buildNonStreamingResponse(events, model) {
336
+ export function buildNonStreamingResponse(events, model, id) {
392
337
  let content = "";
393
338
  let reasoningContent = "";
394
339
  const toolCalls = [];
@@ -451,7 +396,7 @@ export function buildNonStreamingResponse(events, model) {
451
396
  }
452
397
  const finishReason = finish?.finishReason ?? "stop";
453
398
  const response = {
454
- id: getMessageId(),
399
+ id,
455
400
  object: "chat.completion",
456
401
  created: Math.floor(Date.now() / 1000),
457
402
  model,
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/translate/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/translate/openai.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import type { CCMessage, CCRequestBody, UsageData } from "../translate/types.js";
2
- export declare function getMessageId(): string;
3
- export declare function resetMessageId(): void;
4
2
  export declare function extractUsage(data: Record<string, unknown>): UsageData | undefined;
5
3
  export declare function buildCCConfig(overrides?: Partial<CCRequestBody["config"]>): CCRequestBody["config"];
4
+ export declare function applyNoToolsSafeguard(body: CCRequestBody, ccMessages: CCMessage[], hasTools: boolean): void;
6
5
  /**
7
6
  * CC rejects requests that contain a tool-call with no matching tool-result,
8
7
  * or a tool-result with no matching tool-call. Drop any unpaired parts so the
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/translate/util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAShF,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAMD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,CA2CjF;AAMD,wBAAgB,aAAa,CAC3B,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GAC3C,aAAa,CAAC,QAAQ,CAAC,CAazB;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CA+BrE"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/translate/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMhF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,CA2CjF;AAMD,wBAAgB,aAAa,CAC3B,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GAC3C,aAAa,CAAC,QAAQ,CAAC,CAazB;AAMD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,SAAS,EAAE,EACvB,QAAQ,EAAE,OAAO,GAChB,IAAI,CA8BN;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CA+BrE"}
@@ -1,15 +1,3 @@
1
- import crypto from "node:crypto";
2
- // ──────────────────────────────────────────
3
- // Message ID
4
- // ──────────────────────────────────────────
5
- // One id per downstream request, shared by the OpenAI encoders.
6
- let _messageId = crypto.randomUUID();
7
- export function getMessageId() {
8
- return _messageId;
9
- }
10
- export function resetMessageId() {
11
- _messageId = crypto.randomUUID();
12
- }
13
1
  // ──────────────────────────────────────────
14
2
  // Usage extraction
15
3
  // ──────────────────────────────────────────
@@ -73,6 +61,39 @@ export function buildCCConfig(overrides) {
73
61
  };
74
62
  }
75
63
  // ──────────────────────────────────────────
64
+ // No-tools safeguard
65
+ // ──────────────────────────────────────────
66
+ export function applyNoToolsSafeguard(body, ccMessages, hasTools) {
67
+ if (hasTools)
68
+ return;
69
+ const noToolsInstruction = "CRITICAL: You are running in a chat-only environment. Tool execution is disabled. Do not generate or call any tools (e.g. Build, ReadFile, grep, Search, etc.). Respond only with plain text.";
70
+ const existingSystem = body.params.system;
71
+ body.params.system = existingSystem
72
+ ? `${existingSystem}\n\n${noToolsInstruction}`
73
+ : noToolsInstruction;
74
+ if (ccMessages.length === 0)
75
+ return;
76
+ for (let i = ccMessages.length - 1; i >= 0; i--) {
77
+ if (ccMessages[i].role === "user") {
78
+ const msg = ccMessages[i];
79
+ const suffix = "\n\n[System Note: Tool execution is disabled in this environment. Do not output any tool calls (such as Build, Search, ReadFile, grep, etc.). You must answer directly in plain text.]";
80
+ if (typeof msg.content === "string") {
81
+ msg.content += suffix;
82
+ }
83
+ else if (Array.isArray(msg.content)) {
84
+ const lastTextPart = [...msg.content].reverse().find((p) => p.type === "text");
85
+ if (lastTextPart) {
86
+ lastTextPart.text = (lastTextPart.text ?? "") + suffix;
87
+ }
88
+ else {
89
+ msg.content.push({ type: "text", text: suffix });
90
+ }
91
+ }
92
+ break;
93
+ }
94
+ }
95
+ }
96
+ // ──────────────────────────────────────────
76
97
  // Tool-call / tool-result pairing
77
98
  // ──────────────────────────────────────────
78
99
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/translate/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/translate/util.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type { OpenAIChatRequest } from "./types.js";
2
+ import type { AnthropicRequest } from "./anthropic-types.js";
2
3
  export declare class ValidationError extends Error {
3
4
  constructor(message: string);
4
5
  }
5
6
  export declare function validateOpenAIChatRequest(body: unknown): OpenAIChatRequest;
7
+ export declare function validateAnthropicRequest(body: unknown): AnthropicRequest;
6
8
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/translate/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CA+B1E"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/translate/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CA+B1E;AAuBD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAkDxE"}