aimeat 3.3.0 → 3.3.1

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 (55) hide show
  1. package/README.md +1 -1
  2. package/dist/build-stamp.json +4 -4
  3. package/dist/scripts/audit-mcp-schemas.js +10 -1
  4. package/dist/scripts/audit-mcp-schemas.js.map +1 -1
  5. package/dist/scripts/check-ai-disclosure.d.ts +1 -1
  6. package/dist/scripts/check-ai-disclosure.d.ts.map +1 -1
  7. package/dist/scripts/check-ai-disclosure.js +19 -3
  8. package/dist/scripts/check-ai-disclosure.js.map +1 -1
  9. package/dist/src/auth/ai-gate.d.ts +25 -0
  10. package/dist/src/auth/ai-gate.d.ts.map +1 -0
  11. package/dist/src/auth/ai-gate.js +21 -0
  12. package/dist/src/auth/ai-gate.js.map +1 -0
  13. package/dist/src/cli/connect/tool-call-defs-agent.d.ts.map +1 -1
  14. package/dist/src/cli/connect/tool-call-defs-agent.js +38 -9
  15. package/dist/src/cli/connect/tool-call-defs-agent.js.map +1 -1
  16. package/dist/src/cli/connect/tool-call-defs-apps.d.ts.map +1 -1
  17. package/dist/src/cli/connect/tool-call-defs-apps.js +114 -25
  18. package/dist/src/cli/connect/tool-call-defs-apps.js.map +1 -1
  19. package/dist/src/cli/connect/tool-call-defs-core.d.ts.map +1 -1
  20. package/dist/src/cli/connect/tool-call-defs-core.js +149 -26
  21. package/dist/src/cli/connect/tool-call-defs-core.js.map +1 -1
  22. package/dist/src/cli/connect/tool-call-defs-organism.d.ts.map +1 -1
  23. package/dist/src/cli/connect/tool-call-defs-organism.js +20 -3
  24. package/dist/src/cli/connect/tool-call-defs-organism.js.map +1 -1
  25. package/dist/src/cli/connect/tool-call.d.ts.map +1 -1
  26. package/dist/src/cli/connect/tool-call.js +50 -1
  27. package/dist/src/cli/connect/tool-call.js.map +1 -1
  28. package/dist/src/generated/api-types.d.ts +156 -0
  29. package/dist/src/generated/api-types.d.ts.map +1 -1
  30. package/dist/src/routes/ai.d.ts.map +1 -1
  31. package/dist/src/routes/ai.js +4 -15
  32. package/dist/src/routes/ai.js.map +1 -1
  33. package/dist/src/routes/llm-proxy.d.ts +34 -0
  34. package/dist/src/routes/llm-proxy.d.ts.map +1 -0
  35. package/dist/src/routes/llm-proxy.js +258 -0
  36. package/dist/src/routes/llm-proxy.js.map +1 -0
  37. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  38. package/dist/src/server-bootstrap/routes-loader.js +2 -0
  39. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  40. package/dist/src/services/ai-completion.d.ts +76 -0
  41. package/dist/src/services/ai-completion.d.ts.map +1 -1
  42. package/dist/src/services/ai-completion.js +104 -68
  43. package/dist/src/services/ai-completion.js.map +1 -1
  44. package/dist/src/services/openrouter.d.ts +23 -0
  45. package/dist/src/services/openrouter.d.ts.map +1 -1
  46. package/dist/src/services/openrouter.js +32 -1
  47. package/dist/src/services/openrouter.js.map +1 -1
  48. package/dist/src/storage/providers/postgres-kysely/methods/wallet.d.ts.map +1 -1
  49. package/dist/src/storage/providers/postgres-kysely/methods/wallet.js +23 -4
  50. package/dist/src/storage/providers/postgres-kysely/methods/wallet.js.map +1 -1
  51. package/dist/src/storage/providers/sqlite/methods/work.d.ts +5 -0
  52. package/dist/src/storage/providers/sqlite/methods/work.d.ts.map +1 -1
  53. package/dist/src/storage/providers/sqlite/methods/work.js +34 -22
  54. package/dist/src/storage/providers/sqlite/methods/work.js.map +1 -1
  55. package/package.json +1 -1
@@ -19,6 +19,11 @@
19
19
  * import { completeForOwner, AiCompletionError } from '../services/ai-completion.js';
20
20
  * const r = await completeForOwner(storage, config, gaii, { prompt });
21
21
  * @version-history
22
+ * v3.0.0 — 2026-08-16 — The decision and the bookkeeping are their own functions, prepareAiCall
23
+ * and settleAiCall, and completeForOwner runs both. Nothing changed about what either does; the
24
+ * chat proxy needs the same key choice, the same budget gate, the same free-model fallback and
25
+ * the same usage record, and the alternative was a second implementation of all four on the
26
+ * door that spends the most money.
22
27
  * v1.x — 2026-08-16 — Which key pays is decided in services/ai-allowance.ts: the person's own,
23
28
  * then the node's if they have allowance left. `apiKeyScope` stops being hardcoded to 'own' —
24
29
  * it was hardcoded because before the node had a key of its own there was only one possible
@@ -83,6 +88,9 @@ export interface UsageRecord {
83
88
  updated_at: string;
84
89
  }
85
90
  export declare function todayKey(): string;
91
+ /** The fallback when the provider does not report a cost. Exported so the chat proxy uses the same
92
+ * arithmetic rather than a second guess at what a turn was worth. */
93
+ export declare function estimateCostUsd(promptTokens: number, completionTokens: number): number;
86
94
  export declare function getDailyBudgetUsd(prefs: Record<string, unknown>): number;
87
95
  /** Typed error so the HTTP route can map to a status/code and the scheduler can log it. */
88
96
  export declare class AiCompletionError extends Error {
@@ -230,5 +238,73 @@ export declare function getUsageHistory(storage: Storage, gaii: string, days?: n
230
238
  * given), calls the provider, and records usage. Throws AiCompletionError on any
231
239
  * gated/failure condition.
232
240
  */
241
+ /**
242
+ * Everything decided BEFORE a model is called, for one owner and one call.
243
+ *
244
+ * Which pocket pays, which model answers, whether the allowance has run out and the answer has to
245
+ * come from a free model instead of a refusal: those are one decision, and this is where it is made.
246
+ * `completeForOwner` runs it and then calls the provider itself; the chat proxy runs the same one
247
+ * and then streams the provider's own bytes back. Two call shapes, one set of rules — the alternative
248
+ * was a second implementation of the key choice and the budget, which is how a paywall ends up
249
+ * enforced on one door and not the other.
250
+ */
251
+ export interface AiCallPlan {
252
+ prefs: Record<string, unknown>;
253
+ provider: ProviderType;
254
+ baseUrl: string;
255
+ /** The decrypted key that will pay. Never logged, never returned to a caller. */
256
+ key: string | undefined;
257
+ keyScope: 'own' | 'node';
258
+ /** What is left on the node's allowance, when the node is paying. */
259
+ allowanceRemainingUsd?: number;
260
+ /** Today's usage record, read once so the settle step does not read it again. */
261
+ usage: UsageRecord;
262
+ dailyBudgetUsd: number;
263
+ model: string;
264
+ /** True when the allowance was spent and a free model is answering instead of nothing. */
265
+ degradedToFree: boolean;
266
+ }
267
+ export interface PrepareAiCallOptions {
268
+ /** An explicit model. A caller that named one is not asking the node to choose. */
269
+ model?: string;
270
+ modelRole?: 'reasoning' | 'execution';
271
+ appId?: string;
272
+ /** Image inputs need a vision-capable model, whatever the owner's text default is. */
273
+ hasImages?: boolean;
274
+ }
275
+ /**
276
+ * Decide who pays, what answers, and whether this call may happen at all.
277
+ *
278
+ * Throws before anything is spent: a provider the node does not allow, an app the owner has not
279
+ * allowed, a missing key, a daily budget already used up. Refusing before the write is the order,
280
+ * not just the presence of the checks.
281
+ */
282
+ export declare function prepareAiCall(storage: Storage, config: AimeatConfig, gaii: string, opts?: PrepareAiCallOptions): Promise<AiCallPlan>;
283
+ export interface AiCallOutcome {
284
+ /** The model that actually answered, which is not always the one that was asked for. */
285
+ model: string;
286
+ promptTokens: number;
287
+ completionTokens: number;
288
+ totalTokens: number;
289
+ costUsd: number;
290
+ /** The text the model produced, hashed into the provenance record. */
291
+ content: string;
292
+ appId?: string;
293
+ /** Where this call came from, for the usage record. */
294
+ source: string;
295
+ }
296
+ export interface AiCallSettlement {
297
+ usage: UsageRecord;
298
+ allowanceRemainingUsd?: number;
299
+ provenance?: AiProvenanceRecordRow;
300
+ }
301
+ /**
302
+ * Everything recorded AFTER a model answered: usage, the allowance draw-down, and provenance.
303
+ *
304
+ * Bookkeeping never fails a call the owner has already paid for, so the provenance mint is caught
305
+ * and logged rather than thrown — an operator seeing that line knows generated content is going out
306
+ * unrecorded, which is exactly the thing they would want to fix.
307
+ */
308
+ export declare function settleAiCall(storage: Storage, config: AimeatConfig, gaii: string, plan: AiCallPlan, outcome: AiCallOutcome): Promise<AiCallSettlement>;
233
309
  export declare function completeForOwner(storage: Storage, config: AimeatConfig, gaii: string, opts: CompleteForOwnerOptions): Promise<CompleteForOwnerResult>;
234
310
  //# sourceMappingURL=ai-completion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-completion.d.ts","sourceRoot":"","sources":["../../../src/services/ai-completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-completion.d.ts","sourceRoot":"","sources":["../../../src/services/ai-completion.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,9 @@ export const DEFAULT_DAILY_BUDGET_USD = 1.0;
19
19
  export function todayKey() {
20
20
  return new Date().toISOString().slice(0, 10);
21
21
  }
22
- function estimateCostUsd(promptTokens, completionTokens) {
22
+ /** The fallback when the provider does not report a cost. Exported so the chat proxy uses the same
23
+ * arithmetic rather than a second guess at what a turn was worth. */
24
+ export function estimateCostUsd(promptTokens, completionTokens) {
23
25
  return promptTokens * FALLBACK_PROMPT_COST_PER_TOKEN
24
26
  + completionTokens * FALLBACK_COMPLETION_COST_PER_TOKEN;
25
27
  }
@@ -245,18 +247,13 @@ async function upsertUsage(storage, gaii, value) {
245
247
  });
246
248
  }
247
249
  /**
248
- * Run one AI completion on behalf of an owner. Loads the owner's key + budget
249
- * settings, enforces the daily budget (and per-app quota/allowlist if appId is
250
- * given), calls the provider, and records usage. Throws AiCompletionError on any
251
- * gated/failure condition.
250
+ * Decide who pays, what answers, and whether this call may happen at all.
251
+ *
252
+ * Throws before anything is spent: a provider the node does not allow, an app the owner has not
253
+ * allowed, a missing key, a daily budget already used up. Refusing before the write is the order,
254
+ * not just the presence of the checks.
252
255
  */
253
- export async function completeForOwner(storage, config, gaii, opts) {
254
- if (!opts.prompt || typeof opts.prompt !== 'string') {
255
- throw new AiCompletionError('INVALID_BODY', 400, 'prompt is required.');
256
- }
257
- if (opts.prompt.length > 200_000) {
258
- throw new AiCompletionError('PROMPT_TOO_LONG', 400, 'prompt exceeds 200k characters.');
259
- }
256
+ export async function prepareAiCall(storage, config, gaii, opts = {}) {
260
257
  const [apiKeyRecord, prefsRecord, usageRecord] = await Promise.all([
261
258
  storage.getMemory(gaii, 'openrouter.apikey'),
262
259
  storage.getMemory(gaii, 'openrouter.settings'),
@@ -271,31 +268,29 @@ export async function completeForOwner(storage, config, gaii, opts) {
271
268
  // then the node's if they have allowance left. An own key is never metered here — it is their
272
269
  // money and their provider account, which is the whole reason bringing one is recommended.
273
270
  const keyChoice = await resolveAiKey(storage, config, gaii, provider, apiKeyRecord?.value);
274
- const decryptedKey = keyChoice.key;
275
271
  const usage = usageRecord?.value ?? emptyUsage();
276
- const dailyBudget = assertWithinBudget(usage, prefs, opts.appId);
272
+ const dailyBudgetUsd = assertWithinBudget(usage, prefs, opts.appId);
277
273
  // ── Model selection ──
278
- const hasImages = Array.isArray(opts.images) && opts.images.length > 0;
279
274
  // Each role asks the owner first and the node second (services/ai-model-defaults.ts). With no
280
275
  // instance defaults configured every branch resolves exactly as it did before that existed.
281
276
  const roleModel = (role) => resolveModelFor(config, prefs, role);
282
- let selectedModel;
277
+ let model;
283
278
  if (typeof opts.model === 'string' && opts.model) {
284
- selectedModel = opts.model;
279
+ model = opts.model;
285
280
  }
286
- else if (hasImages && roleModel('vision')) {
281
+ else if (opts.hasImages && roleModel('vision')) {
287
282
  // Image inputs need a vision-capable model — the owner's default may be text-only. Use the
288
283
  // configured visionModel (e.g. qwen-2.5-VL) for any request carrying images.
289
- selectedModel = roleModel('vision');
284
+ model = roleModel('vision');
290
285
  }
291
286
  else if (opts.modelRole === 'reasoning' && roleModel('reasoning')) {
292
- selectedModel = roleModel('reasoning');
287
+ model = roleModel('reasoning');
293
288
  }
294
289
  else if (opts.modelRole === 'execution' && roleModel('execution')) {
295
- selectedModel = roleModel('execution');
290
+ model = roleModel('execution');
296
291
  }
297
292
  else {
298
- selectedModel = roleModel('chat')
293
+ model = roleModel('chat')
299
294
  || roleModel('execution')
300
295
  || roleModel('reasoning')
301
296
  // Vendor-neutral default: OpenRouter's free-models router (no specific vendor hardcoded).
@@ -309,44 +304,36 @@ export async function completeForOwner(storage, config, gaii, opts) {
309
304
  if (!config.modelFreeFallback) {
310
305
  throw new AiCompletionError('QUOTA_EXHAUSTED', 402, 'Your allowance on this node is used up. Add more, or set your own OpenRouter key in Settings.');
311
306
  }
312
- selectedModel = config.modelFreeFallback;
307
+ model = config.modelFreeFallback;
313
308
  degradedToFree = true;
314
309
  }
315
- const options = {
316
- temperature: opts.temperature ?? (typeof prefs.temperature === 'number' ? prefs.temperature : undefined),
317
- top_p: opts.topP ?? (typeof prefs.top_p === 'number' ? prefs.top_p : undefined),
318
- max_tokens: typeof opts.maxTokens === 'number' && opts.maxTokens > 0
319
- ? (opts.maxTokens | 0)
320
- : (typeof prefs.max_tokens === 'number' ? prefs.max_tokens : undefined),
310
+ return {
311
+ prefs, provider, baseUrl,
312
+ key: keyChoice.key,
313
+ keyScope: keyChoice.scope,
314
+ ...(keyChoice.scope === 'node' ? { allowanceRemainingUsd: keyChoice.remainingUsd } : {}),
315
+ usage, dailyBudgetUsd, model, degradedToFree,
321
316
  };
322
- let result;
323
- try {
324
- result = await complete(decryptedKey, selectedModel, opts.prompt, opts.systemPrompt, baseUrl, options, opts.images);
325
- }
326
- catch (e) {
327
- const status = e.status;
328
- if (status === 401)
329
- throw new AiCompletionError('INVALID_API_KEY', 401, 'API key was rejected by the provider.');
330
- if (status === 429)
331
- throw new AiCompletionError('RATE_LIMITED', 429, 'Provider rate limit hit. Try again later.');
332
- throw new AiCompletionError('PROVIDER_ERROR', 502, e.message);
333
- }
334
- const promptTok = result.usage?.prompt_tokens ?? 0;
335
- const completionTok = result.usage?.completion_tokens ?? 0;
336
- const totalTok = result.usage?.total_tokens ?? (promptTok + completionTok);
337
- const costExact = typeof result.usage?.cost_usd === 'number';
338
- const costUsd = costExact ? result.usage.cost_usd : estimateCostUsd(promptTok, completionTok);
339
- // ── Record usage (idempotent within the day) ──
340
- const updated = await recordAiUsage(storage, gaii, usage, {
341
- costUsd, tokens: totalTok, appId: opts.appId,
342
- model: result.model, provider, promptTokens: promptTok, completionTokens: completionTok,
343
- source: 'ai-complete', apiKeyScope: keyChoice.scope,
317
+ }
318
+ /**
319
+ * Everything recorded AFTER a model answered: usage, the allowance draw-down, and provenance.
320
+ *
321
+ * Bookkeeping never fails a call the owner has already paid for, so the provenance mint is caught
322
+ * and logged rather than thrown — an operator seeing that line knows generated content is going out
323
+ * unrecorded, which is exactly the thing they would want to fix.
324
+ */
325
+ export async function settleAiCall(storage, config, gaii, plan, outcome) {
326
+ const updated = await recordAiUsage(storage, gaii, plan.usage, {
327
+ costUsd: outcome.costUsd, tokens: outcome.totalTokens, appId: outcome.appId,
328
+ model: outcome.model, provider: plan.provider,
329
+ promptTokens: outcome.promptTokens, completionTokens: outcome.completionTokens,
330
+ source: outcome.source, apiKeyScope: plan.keyScope,
344
331
  });
345
332
  // Only the node's key draws down an allowance. An own key is the person's own account.
346
- const allowanceAfter = keyChoice.scope === 'node'
347
- ? await debitAllowance(storage, config, gaii, costUsd)
333
+ const allowanceAfter = plan.keyScope === 'node'
334
+ ? await debitAllowance(storage, config, gaii, outcome.costUsd)
348
335
  : null;
349
- logger.info(`[ai] gaii=${gaii} app=${opts.appId || '_unknown'} model=${result.model} tokens=${totalTok} cost=$${costUsd.toFixed(4)} day_total=$${updated.total_cost_usd.toFixed(4)}`);
336
+ logger.info(`[ai] gaii=${gaii} app=${outcome.appId || '_unknown'} model=${outcome.model} tokens=${outcome.totalTokens} cost=$${outcome.costUsd.toFixed(4)} day_total=$${updated.total_cost_usd.toFixed(4)}`);
350
337
  // ── Mint the provenance record (TARGET-058) ──
351
338
  // THE mint point for an observed generation. The node just watched a model produce these exact
352
339
  // bytes, so it stamps what it saw: stampedBy 'node', observed true, model, provider, principal,
@@ -362,7 +349,7 @@ export async function completeForOwner(storage, config, gaii, opts) {
362
349
  // attaches it to something public, and goes back to a 404 when they unpublish. A completion is
363
350
  // the owner's own until then.
364
351
  let provenance;
365
- if (config.aiProvenance) {
352
+ if (config.aiProvenance && outcome.content) {
366
353
  try {
367
354
  provenance = await mintProvenance(storage, {
368
355
  stampedBy: 'node',
@@ -371,11 +358,11 @@ export async function completeForOwner(storage, config, gaii, opts) {
371
358
  level: 'ai-generated',
372
359
  humanInvolvement: 'none',
373
360
  method: 'fully-generated',
374
- content: result.content,
361
+ content: outcome.content,
375
362
  generator: {
376
- model: result.model,
377
- provider,
378
- pipeline: opts.appId,
363
+ model: outcome.model,
364
+ provider: plan.provider,
365
+ pipeline: outcome.appId,
379
366
  // What the model VENDOR does about marking is not something we can observe from here.
380
367
  // `unknown` is the honest answer, and it is never silently upgraded to 'yes'.
381
368
  upstreamMarks: 'unknown',
@@ -389,24 +376,73 @@ export async function completeForOwner(storage, config, gaii, opts) {
389
376
  // A completion the owner has already paid for must not fail because bookkeeping did. Logged
390
377
  // rather than swallowed: an operator who sees this knows generated content is going out
391
378
  // unrecorded, which is exactly the thing they would want to fix.
392
- logger.warn(`[ai] provenance mint failed for gaii=${gaii} model=${result.model}: ${err.message}`);
379
+ logger.warn(`[ai] provenance mint failed for gaii=${gaii} model=${outcome.model}: ${err.message}`);
393
380
  }
394
381
  }
382
+ return {
383
+ usage: updated,
384
+ ...(plan.keyScope === 'node'
385
+ ? { allowanceRemainingUsd: allowanceAfter ? Math.max(0, allowanceAfter.granted_usd - allowanceAfter.spent_usd) : plan.allowanceRemainingUsd }
386
+ : {}),
387
+ provenance,
388
+ };
389
+ }
390
+ export async function completeForOwner(storage, config, gaii, opts) {
391
+ if (!opts.prompt || typeof opts.prompt !== 'string') {
392
+ throw new AiCompletionError('INVALID_BODY', 400, 'prompt is required.');
393
+ }
394
+ if (opts.prompt.length > 200_000) {
395
+ throw new AiCompletionError('PROMPT_TOO_LONG', 400, 'prompt exceeds 200k characters.');
396
+ }
397
+ const hasImages = Array.isArray(opts.images) && opts.images.length > 0;
398
+ const plan = await prepareAiCall(storage, config, gaii, {
399
+ model: opts.model, modelRole: opts.modelRole, appId: opts.appId, hasImages,
400
+ });
401
+ const { prefs } = plan;
402
+ const options = {
403
+ temperature: opts.temperature ?? (typeof prefs.temperature === 'number' ? prefs.temperature : undefined),
404
+ top_p: opts.topP ?? (typeof prefs.top_p === 'number' ? prefs.top_p : undefined),
405
+ max_tokens: typeof opts.maxTokens === 'number' && opts.maxTokens > 0
406
+ ? (opts.maxTokens | 0)
407
+ : (typeof prefs.max_tokens === 'number' ? prefs.max_tokens : undefined),
408
+ };
409
+ let result;
410
+ try {
411
+ result = await complete(plan.key, plan.model, opts.prompt, opts.systemPrompt, plan.baseUrl, options, opts.images);
412
+ }
413
+ catch (e) {
414
+ const status = e.status;
415
+ if (status === 401)
416
+ throw new AiCompletionError('INVALID_API_KEY', 401, 'API key was rejected by the provider.');
417
+ if (status === 429)
418
+ throw new AiCompletionError('RATE_LIMITED', 429, 'Provider rate limit hit. Try again later.');
419
+ throw new AiCompletionError('PROVIDER_ERROR', 502, e.message);
420
+ }
421
+ const promptTok = result.usage?.prompt_tokens ?? 0;
422
+ const completionTok = result.usage?.completion_tokens ?? 0;
423
+ const totalTok = result.usage?.total_tokens ?? (promptTok + completionTok);
424
+ const costExact = typeof result.usage?.cost_usd === 'number';
425
+ const costUsd = costExact ? result.usage.cost_usd : estimateCostUsd(promptTok, completionTok);
426
+ const settled = await settleAiCall(storage, config, gaii, plan, {
427
+ model: result.model,
428
+ promptTokens: promptTok, completionTokens: completionTok, totalTokens: totalTok,
429
+ costUsd, content: result.content, appId: opts.appId, source: 'ai-complete',
430
+ });
395
431
  return {
396
432
  content: result.content,
397
433
  model: result.model,
398
434
  usage: { promptTokens: promptTok, completionTokens: completionTok, totalTokens: totalTok, costUsd, costExact },
399
435
  budget: {
400
- dailyBudgetUsd: dailyBudget,
401
- spentTodayUsd: updated.total_cost_usd,
402
- remainingUsd: Math.max(0, dailyBudget - updated.total_cost_usd),
436
+ dailyBudgetUsd: plan.dailyBudgetUsd,
437
+ spentTodayUsd: settled.usage.total_cost_usd,
438
+ remainingUsd: Math.max(0, plan.dailyBudgetUsd - settled.usage.total_cost_usd),
403
439
  },
404
- provenance,
405
- keySource: keyChoice.scope,
406
- ...(keyChoice.scope === 'node'
407
- ? { allowanceRemainingUsd: allowanceAfter ? Math.max(0, allowanceAfter.granted_usd - allowanceAfter.spent_usd) : keyChoice.remainingUsd }
440
+ provenance: settled.provenance,
441
+ keySource: plan.keyScope,
442
+ ...(settled.allowanceRemainingUsd !== undefined
443
+ ? { allowanceRemainingUsd: settled.allowanceRemainingUsd }
408
444
  : {}),
409
- ...(degradedToFree ? { degradedToFreeModel: true } : {}),
445
+ ...(plan.degradedToFree ? { degradedToFreeModel: true } : {}),
410
446
  };
411
447
  }
412
448
  //# sourceMappingURL=ai-completion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-completion.js","sourceRoot":"","sources":["../../../src/services/ai-completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-completion.js","sourceRoot":"","sources":["../../../src/services/ai-completion.ts"],"names":[],"mappings":"AAkEA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAqB,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAkB,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,8BAA8B,GAAG,QAAQ,CAAC;AAChD,MAAM,kCAAkC,GAAG,QAAQ,CAAC;AAEpD;;sCAEsC;AACtC,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAe5C,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;sEACsE;AACtE,MAAM,UAAU,eAAe,CAAC,YAAoB,EAAE,gBAAwB;IAC5E,OAAO,YAAY,GAAG,8BAA8B;UAChD,gBAAgB,GAAG,kCAAkC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAA8B;IAC9D,OAAO,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,wBAAwB,CAAC;AACxG,CAAC;AAED,2FAA2F;AAC3F,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,IAAI,CAAS;IACb,MAAM,CAAS;IACf,YAAY,IAAY,EAAE,MAAc,EAAE,OAAe;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAoB,EAAE,OAAe;IACzE,IAAI,MAAM,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACpD,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QAAC,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAAC,CAAC;IAC/D,MAAM,CAAC;QAAC,MAAM,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,GAAG,EAAE,gCAAgC,OAAO,EAAE,CAAC,CAAC;IAAC,CAAC;IAC1G,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,iBAAiB,CAAC,sBAAsB,EAAE,GAAG,EACrD,qBAAqB,YAAY,kEAAkE,CAAC,CAAC;IACzG,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,KAA8B,EAAE,KAAc;IAC7E,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,aAA0B,CAAC,CAAC,CAAC,IAAI,CAAC;IAChG,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,EAChD,QAAQ,KAAK,yDAAyD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,EAChD,qEAAqE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;8DAC8D;AAC9D,MAAM,UAAU,eAAe,CAC7B,MAAoB,EAAE,iBAA0B,EAAE,QAAsB;IAExE,MAAM,SAAS,GAAI,iBAAwD,EAAE,SAAS,CAAC;IACvF,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,iBAAiB,CAAC,2BAA2B,EAAE,GAAG,EAC1D,yFAAyF,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC9B,MAAM,IAAI,iBAAiB,CAAC,YAAY,EAAE,GAAG,EAAE,wDAAwD,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAkB,EAAE,KAA8B,EAAE,KAAc;IAElE,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,cAAc,IAAI,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,EAChD,yBAAyB,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,WAAW,qDAAqD,CAAC,CAAC;IACrI,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,8FAA8F;QAC9F,6FAA6F;QAC7F,4EAA4E;QAC5E,MAAM,SAAS,GAAI,KAAK,CAAC,UAAiE,IAAI,EAAE,CAAC;QACjG,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,WAAW,CAAC;QAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC;QACrD,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,EAAE,GAAG,EACpD,uBAAuB,KAAK,WAAW,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,QAAQ,0BAA0B,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgB,EAAE,IAAY,EAAE,KAAkB,EAClD,IAQC;IAED,MAAM,OAAO,GAAgB;QAC3B,IAAI,EAAE,QAAQ,EAAE;QAChB,cAAc,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO;QACnD,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,CAAC;QAClC,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM;QAC9C,aAAa,EAAE,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACpE,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;QAC7B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACjF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;QACxB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO;QAC1C,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;QACrC,aAAa,EAAE,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;KACxE,CAAC;IACF,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1C,+FAA+F;IAC/F,iGAAiG;IACjG,+FAA+F;IAC/F,oCAAoC;IACpC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,OAAO,EAAE;gBAC9B,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;gBACpC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,CAAC;gBAC5C,wFAAwF;gBACxF,kFAAkF;gBAClF,eAAe,EAAE,IAAI,CAAC,OAAO;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,aAAa;gBACpC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;gBACtC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;gBACvB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,+DAA+D,EAAE;gBAC3E,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAuDD,MAAM,UAAU,GAAG,GAAgB,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;IACpE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;CAClD,CAAC,CAAC;AAEH,qGAAqG;AACrG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAgB,EAAE,IAAY;IAChE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,IAAI,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5E,OAAQ,GAAG,EAAE,KAAiC,IAAI,UAAU,EAAE,CAAC;AACjE,CAAC;AAqBD,MAAM,WAAW,GAAG,GAAgB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;AAE7G,SAAS,gBAAgB,CAAC,GAAgB,EAAE,GAAgB;IAC1D,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC;IACxC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;IACpC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;IAClC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC;IAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5G,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QAChC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QAC5B,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC1B,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAgB,EAAE,IAAY,EAAE,IAAI,GAAG,EAAE;IAC7E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,YAAY,IAAI,GAAG,EAAE,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,OAAO;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAoB,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;SAClE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrG,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAE1B,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC;IAC7E,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;YAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1D,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK;YAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,IAAI,IAAI,MAAM;YAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,sFAAsF;IACtF,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YACzD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAgB,EAAE,IAAY,EAAE,KAAkB;IAC3E,MAAM,GAAG,GAAG,YAAY,IAAI,IAAI,QAAQ,EAAE,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,OAAO,CAAC,SAAS,CAAC;QACtB,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;QACzE,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,GAAG;QACrC,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;AACL,CAAC;AA4CD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgB,EAChB,MAAoB,EACpB,IAAY,EACZ,OAA6B,EAAE;IAE/B,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC;QAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,qBAAqB,CAAC;QAC9C,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,IAAI,IAAI,QAAQ,EAAE,EAAE,CAAC;KAC1D,CAAC,CAAC;IACH,MAAM,KAAK,GAAI,WAAW,EAAE,KAAiC,IAAI,EAAE,CAAC;IACpE,MAAM,QAAQ,GAAI,KAAK,CAAC,QAAyB,IAAI,YAAY,CAAC;IAClE,MAAM,OAAO,GAAI,KAAK,CAAC,OAAkB,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEzE,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,iGAAiG;IACjG,8FAA8F;IAC9F,2FAA2F;IAC3F,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAE3F,MAAM,KAAK,GAAI,WAAW,EAAE,KAAiC,IAAI,UAAU,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAEpE,wBAAwB;IACxB,8FAA8F;IAC9F,4FAA4F;IAC5F,MAAM,SAAS,GAAG,CAAC,IAAe,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5E,IAAI,KAAa,CAAC;IAClB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACjD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACrB,CAAC;SAAM,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,2FAA2F;QAC3F,6EAA6E;QAC7E,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAW,CAAC;IACxC,CAAC;SAAM,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QACpE,KAAK,GAAG,SAAS,CAAC,WAAW,CAAW,CAAC;IAC3C,CAAC;SAAM,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QACpE,KAAK,GAAG,SAAS,CAAC,WAAW,CAAW,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;eACpB,SAAS,CAAC,WAAW,CAAC;eACtB,SAAS,CAAC,WAAW,CAAC;YACzB,0FAA0F;eACvF,iBAAiB,CAAC;IACzB,CAAC;IAED,+FAA+F;IAC/F,mGAAmG;IACnG,4EAA4E;IAC5E,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,IAAI,SAAS,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC9B,MAAM,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,EAChD,+FAA+F,CAAC,CAAC;QACrG,CAAC;QACD,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACjC,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,QAAQ,EAAE,OAAO;QACxB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,QAAQ,EAAE,SAAS,CAAC,KAAK;QACzB,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc;KAC7C,CAAC;AACJ,CAAC;AAsBD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAgB,EAChB,MAAoB,EACpB,IAAY,EACZ,IAAgB,EAChB,OAAsB;IAEtB,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE;QAC7D,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;QAC3E,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ;QAC7C,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC9E,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ;KACnD,CAAC,CAAC;IACH,uFAAuF;IACvF,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,KAAK,MAAM;QAC7C,CAAC,CAAC,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;QAC9D,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,QAAQ,OAAO,CAAC,KAAK,IAAI,UAAU,UAAU,OAAO,CAAC,KAAK,WAAW,OAAO,CAAC,WAAW,UAAU,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE7M,gDAAgD;IAChD,+FAA+F;IAC/F,gGAAgG;IAChG,+FAA+F;IAC/F,yEAAyE;IACzE,EAAE;IACF,+FAA+F;IAC/F,4FAA4F;IAC5F,kGAAkG;IAClG,EAAE;IACF,wFAAwF;IACxF,iGAAiG;IACjG,+FAA+F;IAC/F,8BAA8B;IAC9B,IAAI,UAA6C,CAAC;IAClD,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE;gBACzC,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,cAAc;gBACrB,gBAAgB,EAAE,MAAM;gBACxB,MAAM,EAAE,iBAAiB;gBACzB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE;oBACT,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,OAAO,CAAC,KAAK;oBACvB,sFAAsF;oBACtF,8EAA8E;oBAC9E,aAAa,EAAE,SAAS;iBACzB;gBACD,WAAW,EAAE,MAAM,CAAC,aAAa;gBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,4FAA4F;YAC5F,wFAAwF;YACxF,iEAAiE;YACjE,MAAM,CAAC,IAAI,CAAC,wCAAwC,IAAI,UAAU,OAAO,CAAC,KAAK,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAChH,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,OAAO;QACd,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM;YAC1B,CAAC,CAAC,EAAE,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC7I,CAAC,CAAC,EAAE,CAAC;QACP,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgB,EAChB,MAAoB,EACpB,IAAY,EACZ,IAA6B;IAE7B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,IAAI,iBAAiB,CAAC,cAAc,EAAE,GAAG,EAAE,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,EAAE,iCAAiC,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;QACtD,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS;KAC3E,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,MAAM,OAAO,GAAG;QACd,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QACxG,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,UAAU,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;YAClE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,UAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;KACtF,CAAC;IAEF,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,MAAM,GAAI,CAAyB,CAAC,MAAM,CAAC;QACjD,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,EAAE,uCAAuC,CAAC,CAAC;QACjH,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,iBAAiB,CAAC,cAAc,EAAE,GAAG,EAAE,2CAA2C,CAAC,CAAC;QAClH,MAAM,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,KAAK,EAAE,QAAQ,KAAK,QAAQ,CAAC;IAC7D,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAM,CAAC,QAAS,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAEhG,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;QAC9D,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ;QAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa;KAC3E,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;QAC9G,MAAM,EAAE;YACN,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc;YAC3C,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;SAC9E;QACD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,IAAI,CAAC,QAAQ;QACxB,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;YAC7C,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE;YAC1D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC"}
@@ -105,6 +105,13 @@ export type ProviderType = 'openrouter' | 'lmstudio' | 'custom';
105
105
  * the right home because it is the module that actually makes the request.
106
106
  */
107
107
  export declare const DEFAULT_BASE_URLS: Record<ProviderType, string>;
108
+ /** Auth + the OpenRouter-only attribution headers (which a non-OpenRouter endpoint has no use for). */
109
+ /**
110
+ * The headers every outbound call to the provider carries. Exported because the chat proxy sends the
111
+ * request itself rather than through complete(), and two places building these by hand is how the
112
+ * attribution headers end up on one door and not the other.
113
+ */
114
+ export declare function providerHeaders(apiKey: string | undefined, baseUrl: string): Record<string, string>;
108
115
  /**
109
116
  * Call an OpenAI-compatible chat completions API.
110
117
  */
@@ -128,6 +135,22 @@ export declare function complete(apiKey: string | undefined, model: string, prom
128
135
  * Content-Type is deliberately NOT set: fetch derives it from the FormData together with the
129
136
  * multipart boundary, and setting it by hand produces a body the provider cannot parse.
130
137
  */
138
+ /**
139
+ * Send a chat-completion request exactly as given, and hand back the provider's own response.
140
+ *
141
+ * `complete()` above builds the request and parses the answer, which is what a caller wanting a
142
+ * string needs. The chat proxy needs neither: it already has an OpenAI-shaped body from its caller
143
+ * and it forwards the provider's bytes untouched, streamed frames included. So this returns the raw
144
+ * `Response`.
145
+ *
146
+ * It lives here because this file is the node's only HTTP transport to a model provider, and that is
147
+ * enforced rather than agreed (`pnpm check:llm-transport`). A second place speaking to a provider is
148
+ * a second place that can forget to meter the call.
149
+ *
150
+ * Deciding whether the call may happen, whose key pays and what it cost is NOT this function's job —
151
+ * that is services/ai-completion.ts, and every caller of this goes through it first.
152
+ */
153
+ export declare function chatCompletionRaw(apiKey: string | undefined, baseUrl: string, body: Record<string, unknown>, signal?: AbortSignal): Promise<Response>;
131
154
  export declare function transcribe(apiKey: string | undefined, model: string, audio: TranscriptionAudio, baseUrl?: string, opts?: {
132
155
  language?: string;
133
156
  temperature?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/services/openrouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/services/openrouter.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@
6
6
  * - transcribe(apiKey, model, audio, baseUrl?, opts?) — call audio transcriptions (STT)
7
7
  * - listModels(apiKey, baseUrl?, modality?) — fetch available models
8
8
  * @version-history
9
+ * v3.1.0 — 2026-08-16 — chatCompletionRaw(): the request as given, the provider's response as it
10
+ * came. The chat proxy forwards both untouched, and this file is the node's only HTTP transport
11
+ * to a provider, which is a checked rule rather than a convention.
9
12
  * v1.6.0 — 2026-08-16 — generateImage(): POST {baseUrl}/images/generations, and 'image' joins
10
13
  * ModelModality so the picker can list image models the same way it lists whisper ones. The
11
14
  * three-attempt retry is not padding: some providers' moderation throws false positives and the
@@ -115,7 +118,12 @@ const TIMEOUT_MS = 1_800_000; // 30 minutes
115
118
  * A 30-minute ceiling here would only keep a dead socket open. */
116
119
  const STT_TIMEOUT_MS = 120_000;
117
120
  /** Auth + the OpenRouter-only attribution headers (which a non-OpenRouter endpoint has no use for). */
118
- function providerHeaders(apiKey, baseUrl) {
121
+ /**
122
+ * The headers every outbound call to the provider carries. Exported because the chat proxy sends the
123
+ * request itself rather than through complete(), and two places building these by hand is how the
124
+ * attribution headers end up on one door and not the other.
125
+ */
126
+ export function providerHeaders(apiKey, baseUrl) {
119
127
  const headers = {};
120
128
  if (apiKey)
121
129
  headers['Authorization'] = `Bearer ${apiKey}`;
@@ -212,6 +220,29 @@ export async function complete(apiKey, model, prompt, systemPrompt, baseUrl = OP
212
220
  * Content-Type is deliberately NOT set: fetch derives it from the FormData together with the
213
221
  * multipart boundary, and setting it by hand produces a body the provider cannot parse.
214
222
  */
223
+ /**
224
+ * Send a chat-completion request exactly as given, and hand back the provider's own response.
225
+ *
226
+ * `complete()` above builds the request and parses the answer, which is what a caller wanting a
227
+ * string needs. The chat proxy needs neither: it already has an OpenAI-shaped body from its caller
228
+ * and it forwards the provider's bytes untouched, streamed frames included. So this returns the raw
229
+ * `Response`.
230
+ *
231
+ * It lives here because this file is the node's only HTTP transport to a model provider, and that is
232
+ * enforced rather than agreed (`pnpm check:llm-transport`). A second place speaking to a provider is
233
+ * a second place that can forget to meter the call.
234
+ *
235
+ * Deciding whether the call may happen, whose key pays and what it cost is NOT this function's job —
236
+ * that is services/ai-completion.ts, and every caller of this goes through it first.
237
+ */
238
+ export async function chatCompletionRaw(apiKey, baseUrl, body, signal) {
239
+ return fetch(`${baseUrl}/chat/completions`, {
240
+ method: 'POST',
241
+ headers: { 'Content-Type': 'application/json', ...providerHeaders(apiKey, baseUrl) },
242
+ body: JSON.stringify(body),
243
+ signal,
244
+ });
245
+ }
215
246
  export async function transcribe(apiKey, model, audio, baseUrl = OPENROUTER_BASE, opts) {
216
247
  const form = new FormData();
217
248
  form.append('file', new Blob([new Uint8Array(audio.data)], { type: audio.mime }), audio.filename);
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/services/openrouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/services/openrouter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../../../../src/storage/providers/postgres-kysely/methods/wallet.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AA8BzD,eAAO,MAAM,aAAa;yBACG,qBAAqB,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;0BAQxE,qBAAqB,QAAQ,MAAM,mBAAe,OAAO,CAAC,iBAAiB,EAAE,CAAC;wCAIhE,qBAAqB,QAAQ,MAAM,gBAAgB,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;8BAMrH,qBAAqB,mBAAkB,OAAO,CAAC,iBAAiB,EAAE,CAAC;6BAIpE,qBAAqB,QAAQ,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;uBAM3D,qBAAqB,QAAQ,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;wBAYrE,qBAAqB,QAAQ,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;8BAUhE,qBAAqB,QAAQ,MAAM,UAAU,MAAM,OAAO,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;0BAiBtF,qBAAqB,YAAY,MAAM,UAAU,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAkBvH,CAAC"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../../../../src/storage/providers/postgres-kysely/methods/wallet.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AA8BzD,eAAO,MAAM,aAAa;yBAUG,qBAAqB,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;0BAWxE,qBAAqB,QAAQ,MAAM,mBAAe,OAAO,CAAC,iBAAiB,EAAE,CAAC;wCAKhE,qBAAqB,QAAQ,MAAM,gBAAgB,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;8BAOrH,qBAAqB,mBAAkB,OAAO,CAAC,iBAAiB,EAAE,CAAC;6BAIpE,qBAAqB,QAAQ,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;uBAM3D,qBAAqB,QAAQ,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;wBAYrE,qBAAqB,QAAQ,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;8BAUhE,qBAAqB,QAAQ,MAAM,UAAU,MAAM,OAAO,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;0BAiBtF,qBAAqB,YAAY,MAAM,UAAU,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAkBvH,CAAC"}