diff --git a/CHANGELOG.md b/CHANGELOG.md index 91fab6d..63e68d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [2.5.0] - 2026-10-31 + +### Added + +- **Per-request token ledger.** Every streaming response appends one JSONL row with the account, model, variant and the backend `usageMetadata` counts (input, output, reasoning, cache read). `antigravity-usage.jsonl` lives next to the other plugin state and is append-only. +- **Measured bucket capacity.** Each quota check records its percentages; pairing them with the ledger yields `TOKENS/1%`, `CALLS/1%` and the share of windows where the bucket actually moved. Measured on Argon: two 32k-token calls dropped the bucket 1.01 points, two 15k-token calls dropped it 0.00 points, so the report publishes both readings and labels the linear estimate as informational instead of asserting an allowance Google never publishes. +- **`antigravity_usage` tool and `/antigravity-usage` command.** Consumption per account, per model and per day, plus the capacity table. + ## [2.4.3] - 2026-10-31 ### Fixed diff --git a/dist/src/plugin/core/streaming/transformer.d.ts b/dist/src/plugin/core/streaming/transformer.d.ts index 59917df..7fccdbd 100644 --- a/dist/src/plugin/core/streaming/transformer.d.ts +++ b/dist/src/plugin/core/streaming/transformer.d.ts @@ -1,4 +1,4 @@ -import type { SignatureStore, StreamingCallbacks, StreamingOptions, ThoughtBuffer } from './types'; +import type { TokenUsage, SignatureStore, StreamingCallbacks, StreamingOptions, ThoughtBuffer } from './types'; export declare const CLEAN_GUARDRAIL_MESSAGE = "[Solicitud bloqueada por filtros de seguridad de Gemini. Por favor, intenta reformular tu prompt o enfoque.]"; export declare const CLEAN_CLAUDE_SAFETY_MESSAGE = "[Respuesta bloqueada por el monitor de seguridad de Claude en esta cuenta. safety_level no interviene en modelos Claude: quita o reformula el contenido marcado (suele venir del contexto del proyecto o de AGENTS.md) o usa otro modelo.]"; export declare const CLEAN_MALFORMED_CALL_MESSAGE = "[Llamada de herramienta vac\u00EDa o malformada generada por el modelo. Reintentando o reformula tu solicitud.]"; @@ -25,6 +25,8 @@ export declare function transformStreamingPayload(payload: string, transformThin export declare function deduplicateThinkingText(response: unknown, sentBuffer: ThoughtBuffer, displayedThinkingHashes?: Set): unknown; export declare function transformSseLine(line: string, signatureStore: SignatureStore, thoughtBuffer: ThoughtBuffer, sentThinkingBuffer: ThoughtBuffer, callbacks: StreamingCallbacks, options: StreamingOptions, debugState: { injected: boolean; +}, usageState?: { + value?: TokenUsage; }): string; export declare function cacheThinkingSignaturesFromResponse(response: unknown, signatureSessionKey: string, signatureStore: SignatureStore, thoughtBuffer: ThoughtBuffer, onCacheSignature?: (sessionKey: string, text: string, signature: string) => void): void; export declare function createStreamingTransformer(signatureStore: SignatureStore, callbacks: StreamingCallbacks, options?: StreamingOptions): TransformStream; diff --git a/dist/src/plugin/core/streaming/transformer.d.ts.map b/dist/src/plugin/core/streaming/transformer.d.ts.map index 575d27a..c4ea495 100644 --- a/dist/src/plugin/core/streaming/transformer.d.ts.map +++ b/dist/src/plugin/core/streaming/transformer.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../../../src/plugin/core/streaming/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,uBAAuB,iHAAiH,CAAC;AACtJ,eAAO,MAAM,2BAA2B,+OAA+O,CAAC;AACxR,eAAO,MAAM,4BAA4B,oHAA+G,CAAC;AACzJ,eAAO,MAAM,+BAA+B,qJAAqJ,CAAC;AAuBlM;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS1D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAsG5G;AAcD,wBAAgB,mBAAmB,IAAI,aAAa,CAOnD;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,GACtD,MAAM,CAuBR;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,aAAa,EACzB,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACpC,OAAO,CA+GT;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,aAAa,EACjC,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,GAChC,MAAM,CAyDR;AAED,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,OAAO,EACjB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAC/E,IAAI,CAyDN;AAED,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,kBAAkB,EAC7B,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAoEzC"} \ No newline at end of file +{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../../../src/plugin/core/streaming/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,uBAAuB,iHAAiH,CAAC;AACtJ,eAAO,MAAM,2BAA2B,+OAA+O,CAAC;AACxR,eAAO,MAAM,4BAA4B,oHAA+G,CAAC;AACzJ,eAAO,MAAM,+BAA+B,qJAAqJ,CAAC;AAuBlM;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS1D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAsG5G;AAcD,wBAAgB,mBAAmB,IAAI,aAAa,CAOnD;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,GACtD,MAAM,CAuBR;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,aAAa,EACzB,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACpC,OAAO,CA+GT;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,aAAa,EACjC,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,EACjC,UAAU,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,UAAU,CAAA;CAAE,GAClC,MAAM,CAgER;AAED,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,OAAO,EACjB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAC/E,IAAI,CAyDN;AAED,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,kBAAkB,EAC7B,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CA2EzC"} \ No newline at end of file diff --git a/dist/src/plugin/core/streaming/transformer.js b/dist/src/plugin/core/streaming/transformer.js index a97a848..f59cae0 100644 --- a/dist/src/plugin/core/streaming/transformer.js +++ b/dist/src/plugin/core/streaming/transformer.js @@ -292,7 +292,7 @@ export function deduplicateThinkingText(response, sentBuffer, displayedThinkingH } return response; } -export function transformSseLine(line, signatureStore, thoughtBuffer, sentThinkingBuffer, callbacks, options, debugState) { +export function transformSseLine(line, signatureStore, thoughtBuffer, sentThinkingBuffer, callbacks, options, debugState, usageState) { if (!line.startsWith('data:')) { return line; } @@ -303,6 +303,11 @@ export function transformSseLine(line, signatureStore, thoughtBuffer, sentThinki try { const parsed = JSON.parse(json); if (parsed.response !== undefined) { + const usageMetadata = parsed.response?.["usageMetadata"]; + if (usageMetadata && usageState) { + // Cumulative across chunks: keep the newest block and report once. + usageState.value = usageMetadata; + } if (options.cacheSignatures && options.signatureSessionKey) { cacheThinkingSignaturesFromResponse(parsed.response, options.signatureSessionKey, signatureStore, thoughtBuffer, callbacks.onCacheSignature); } @@ -398,6 +403,7 @@ export function createStreamingTransformer(signatureStore, callbacks, options = const thoughtBuffer = createThoughtBuffer(); const sentThinkingBuffer = createThoughtBuffer(); const debugState = { injected: false }; + const usageState = {}; let hasSeenUsageMetadata = false; return new TransformStream({ transform(chunk, controller) { @@ -409,7 +415,7 @@ export function createStreamingTransformer(signatureStore, callbacks, options = if (line.includes('usageMetadata')) { hasSeenUsageMetadata = true; } - const transformedLine = transformSseLine(line, signatureStore, thoughtBuffer, sentThinkingBuffer, callbacks, options, debugState); + const transformedLine = transformSseLine(line, signatureStore, thoughtBuffer, sentThinkingBuffer, callbacks, options, debugState, usageState); controller.enqueue(encoder.encode(transformedLine + '\n')); } }, @@ -419,9 +425,12 @@ export function createStreamingTransformer(signatureStore, callbacks, options = if (buffer.includes('usageMetadata')) { hasSeenUsageMetadata = true; } - const transformedLine = transformSseLine(buffer, signatureStore, thoughtBuffer, sentThinkingBuffer, callbacks, options, debugState); + const transformedLine = transformSseLine(buffer, signatureStore, thoughtBuffer, sentThinkingBuffer, callbacks, options, debugState, usageState); controller.enqueue(encoder.encode(transformedLine)); } + if (usageState.value) { + callbacks.onUsage?.(usageState.value); + } // Inject synthetic usage metadata if missing (fixes "Context % used: 0%" issue) if (!hasSeenUsageMetadata) { const syntheticUsage = { diff --git a/dist/src/plugin/core/streaming/transformer.js.map b/dist/src/plugin/core/streaming/transformer.js.map index 8ddcb83..b5da394 100644 --- a/dist/src/plugin/core/streaming/transformer.js.map +++ b/dist/src/plugin/core/streaming/transformer.js.map @@ -1 +1 @@ -{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../../../src/plugin/core/streaming/transformer.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../../../src/plugin/core/streaming/transformer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/plugin/core/streaming/types.d.ts b/dist/src/plugin/core/streaming/types.d.ts index d3e932b..d9f1b1b 100644 --- a/dist/src/plugin/core/streaming/types.d.ts +++ b/dist/src/plugin/core/streaming/types.d.ts @@ -13,10 +13,19 @@ export interface SafetyRating { probability: "NEGLIGIBLE" | "LOW" | "MEDIUM" | "HIGH" | string; blocked?: boolean; } +export interface TokenUsage { + promptTokenCount?: number; + candidatesTokenCount?: number; + thoughtsTokenCount?: number; + cachedContentTokenCount?: number; + totalTokenCount?: number; +} export interface StreamingCallbacks { onCacheSignature?: (sessionKey: string, text: string, signature: string) => void; onInjectDebug?: (response: unknown, debugText: string) => unknown; onSafetyRatings?: (ratings: SafetyRating[]) => void; + /** Final token usage for the response, reported once the stream flushes. */ + onUsage?: (usage: TokenUsage) => void; transformThinkingParts?: (parts: unknown) => unknown; } export interface StreamingOptions { diff --git a/dist/src/plugin/core/streaming/types.d.ts.map b/dist/src/plugin/core/streaming/types.d.ts.map index 39478bc..8d3e217 100644 --- a/dist/src/plugin/core/streaming/types.d.ts.map +++ b/dist/src/plugin/core/streaming/types.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/plugin/core/streaming/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IACpD,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACrD,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACjF,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAClE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAEpD,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtD;AAED,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;CAEpB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACvC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,KAAK,IAAI,IAAI,CAAC;CACf"} \ No newline at end of file +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/plugin/core/streaming/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IACpD,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACrD,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACjF,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAClE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACpD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAEtC,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtD;AAED,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;CAEpB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACvC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,KAAK,IAAI,IAAI,CAAC;CACf"} \ No newline at end of file diff --git a/dist/src/plugin/quota.d.ts.map b/dist/src/plugin/quota.d.ts.map index 402aba9..cd85b8e 100644 --- a/dist/src/plugin/quota.d.ts.map +++ b/dist/src/plugin/quota.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/plugin/quota.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/plugin/quota.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/plugin/quota.js b/dist/src/plugin/quota.js index 6422b51..1603c62 100644 --- a/dist/src/plugin/quota.js +++ b/dist/src/plugin/quota.js @@ -4,6 +4,7 @@ import { logQuotaFetch } from "./debug"; import { ensureProjectContext } from "./project"; import { refreshAccessToken } from "./token"; import { EngineStatsManager } from "./stats"; +import { groupForQuotaLabel, recordQuotaSnapshot } from "./usage-ledger"; const FETCH_TIMEOUT_MS = 10000; export function formatDuration(ms) { const absMs = Math.abs(ms); @@ -364,7 +365,27 @@ export async function checkAccountsQuota(accounts, client, providerId = ANTIGRAV const results = []; logQuotaFetch("start", accounts.length); for (const [index, account] of accounts.entries()) { - results.push(await fetchAccountQuotaDetails(account, index, client, providerId)); + const result = await fetchAccountQuotaDetails(account, index, client, providerId); + results.push(result); + // Snapshot for the capacity estimator: pairing these percentages with the + // token ledger yields tokens-per-point, the only measurable allowance. + if (result.status === "ok" && result.email && result.groups && result.groups.length > 0) { + const buckets = {}; + for (const group of result.groups) { + const family = groupForQuotaLabel(group.displayName); + for (const bucket of [group.fiveHour, group.weekly]) { + if (!bucket) + continue; + buckets[`${family}:${bucket.window}`] = { + remainingPercentage: bucket.remainingFraction * 100, + reset: bucket.resetTimeDisplay, + }; + } + } + if (Object.keys(buckets).length > 0) { + recordQuotaSnapshot({ ts: Date.now(), account: result.email, buckets }); + } + } } return results; } diff --git a/dist/src/plugin/quota.js.map b/dist/src/plugin/quota.js.map index 6ddfb85..fe360e3 100644 --- a/dist/src/plugin/quota.js.map +++ b/dist/src/plugin/quota.js.map @@ -1 +1 @@ -{"version":3,"file":"quota.js","sourceRoot":"","sources":["../../../src/plugin/quota.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,gBAAgB,GAAG,KAAK,CAAC;AA+F/B,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAE5C,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;IAChC,OAAO,GAAG,CAAC,GAAG,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,KAAK,GAAG,EAAE;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO,IAAI,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAU;IACzC,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/B,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC;AACrD,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA0B;IACtD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,kBAAkB,CAAC;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC;QACF,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,OAAoB,EAAE,SAAS,GAAG,gBAAgB;IAC7F,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,SAAkB;IAElB,MAAM,QAAQ,GAAG,yBAAyB,CAAC;IAC3C,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAErD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,QAAQ,sCAAsC,EAAE;QACzF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,GAAG,kBAAkB;YACrB,YAAY,EAAE,0BAA0B,EAAE;YAC1C,aAAa,EAAE,UAAU,WAAW,EAAE;YACtC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAAmB,EACnB,SAAkB;IAElB,MAAM,QAAQ,GAAG,yBAAyB,CAAC;IAC3C,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAErD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,QAAQ,kCAAkC,EAAE;QACrF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,GAAG,kBAAkB;YACrB,YAAY,EAAE,0BAA0B,EAAE;YAC1C,aAAa,EAAE,UAAU,WAAW,EAAE;YACtC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiC,CAAC;AACjE,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA0B,EAAE,IAAsB;IAC7E,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAsB;QACjC,GAAG,OAAO;QACV,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;QAC/C,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB;KACrE,CAAC;IAEF,MAAM,OAAO,GACX,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY;QAC7C,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;QACvC,OAAO,CAAC,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC;IAExD,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA0B,EAC1B,KAAa,EACb,MAAoB,EACpB,UAAU,GAAG,uBAAuB;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;IAC3C,IAAI,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,IAAI,CAAC;QACH,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YACrE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;QAC3B,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,cAAc,CAAC,kBAAkB,CAAC;QAEpD,qEAAqE;QACrE,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;YAC9E,IAAI,eAAe,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,MAAM,MAAM,GAAwB,EAAE,CAAC;gBAEvC,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;oBAC3C,MAAM,YAAY,GAAsB;wBACtC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,eAAe;wBACjD,WAAW,EAAE,KAAK,CAAC,WAAW;qBAC/B,CAAC;oBAEF,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;wBACzC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;wBACtE,IAAI,SAAe,CAAC;wBACpB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;4BACrB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;4BAC1C,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBACjF,CAAC;6BAAM,CAAC;4BACN,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;wBACvC,CAAC;wBACD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC;wBAE9D,MAAM,aAAa,GAAuB;4BACxC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,SAAS;4BACrD,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,IAAI,OAAO;4BAC7D,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;4BAC/C,iBAAiB,EAAE,QAAQ;4BAC3B,SAAS;4BACT,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC;4BAC7C,cAAc;4BACd,uBAAuB,EAAE,cAAc,CAAC,cAAc,CAAC;yBACxD,CAAC;wBAEF,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;wBACzE,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC7B,YAAY,CAAC,QAAQ,GAAG,aAAa,CAAC;wBACxC,CAAC;6BAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;4BACtC,YAAY,CAAC,MAAM,GAAG,aAAa,CAAC;wBACtC,CAAC;oBACH,CAAC;oBAED,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5B,CAAC;gBAEG,MAAM,WAAW,GAAmD,EAAE,CAAC;gBACvE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;oBAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC;oBACtC,IAAI,MAAM,EAAE,CAAC;wBACX,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC9D,WAAW,CAAC,MAAM,GAAG;gCACnB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gCAC3C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;6BAC1C,CAAC;wBACJ,CAAC;6BAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACxC,WAAW,CAAC,cAAc,CAAC,GAAG;gCAC5B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gCAC3C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;6BAC1C,CAAC;4BACF,WAAW,CAAC,YAAY,CAAC,GAAG;gCAC1B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gCAC3C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;6BAC1C,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO;oBACL,KAAK;oBACL,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;oBACpC,QAAQ;oBACR,MAAM;oBACN,WAAW;oBACX,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,cAAc;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;QAED,sCAAsC;QACtC,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;QAC/E,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO;gBACL,KAAK;gBACL,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;gBACpC,QAAQ;gBACR,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,cAAc;aACf,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACpE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC;YAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,gBAAgB,GAAG;gBACvB,gBAAgB;gBAChB,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB;gBAClB,iBAAiB;gBACjB,mBAAmB;aACpB,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,0BAA0B,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YACzE,IAAI,SAAe,CAAC;YACpB,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC7C,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC;YAE9D,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK;gBACL,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ;gBAC/B,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;gBAC/C,iBAAiB,EAAE,QAAQ;gBAC3B,WAAW,EAAE,QAAQ,IAAI,CAAC;gBAC1B,SAAS;gBACT,gBAAgB,EAAE,EAAE;gBACpB,cAAc;gBACd,uBAAuB,EAAE,cAAc,CAAC,cAAc,CAAC;gBACvD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtD,kHAAkH;QAClH,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACpE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAClE,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACpE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAClE,CAAC;QAEF,MAAM,qBAAqB,GAAG,CAAC,WAAmB,EAAE,SAAgB,EAAqB,EAAE;YACzF,IAAI,WAAW,GAAG,GAAG,CAAC;YACtB,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;YACzC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,SAAS,EAAE,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACjD,MAAM,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;oBACpE,IAAI,CAAC,GAAG,WAAW;wBAAE,WAAW,GAAG,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;oBAC3B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;wBAAE,SAAS,GAAG,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAuB;gBACjC,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,iBAAiB;gBAC9B,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;gBAClD,iBAAiB,EAAE,WAAW;gBAC9B,SAAS;gBACT,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC;gBAC7C,cAAc;gBACd,uBAAuB,EAAE,cAAc,CAAC,cAAc,CAAC;aACxD,CAAC;YACF,OAAO;gBACL,WAAW;gBACX,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,WAAW,GAAmD,EAAE,CAAC;QACvE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,WAAW,CAAC,MAAM,GAAG;oBACnB,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;oBACtC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;iBACrC,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,WAAW,CAAC,YAAY,CAAC,GAAG;oBAC1B,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;oBACtC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;iBACrC,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,WAAW,CAAC,cAAc,CAAC,GAAG;oBAC5B,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;oBACtC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;iBACrC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;YACpC,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC9C,MAAM;YACN,WAAW;YACX,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc;SACf,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,QAAQ;SACT,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAA6B,EAC7B,MAAoB,EACpB,UAAU,GAAG,uBAAuB;IAEpC,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,MAAM,wBAAwB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAID,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACxC,8EAA8E;IAC9E,gEAAgE;IAChE,yCAAyC;IACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvE,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,YAAY,GAAmC;IACnD,KAAK,EAAE,oCAAoC;IAC3C,MAAM,EAAE,6BAA6B;IACrC,MAAM,EAAE,+CAA+C;IACvD,KAAK,EAAE,cAAc;CACtB,CAAC;AAEF,MAAM,WAAW,GAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE7E,mFAAmF;AACnF,SAAS,iBAAiB,CAAC,MAAsC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;IACjF,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACtE,4EAA4E;IAC5E,8BAA8B;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAAC,KAAoC;IAChE,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAA2B,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAE7E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;IAC/D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,QAAQ,QAAQ,CAAC,uBAAuB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC5F,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACnE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC3D,CAAC;AAWD,SAAS,gBAAgB,CAAC,OAAwC;IAChE,MAAM,GAAG,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,OAAO,GAAmB;QAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC;QACxB,UAAU,EAAE,GAAG,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;KACf,CAAC;IACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAErC,IAAI,SAAyE,CAAC;IAC9E,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,OAAQ,CAAC,MAAM,CAAC,EAAE,CAAE,CAAC;YACnC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,IAAI,CAAC,CAAC,EAAE,CAAC;gBACtF,SAAS,GAAG,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACzF,CAAC;QACH,CAAC;QACD,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClE,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClE,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAC5D,CAAC;IACD,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CAAC,OAAuB;IAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ;QAAE,OAAO,cAAc,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACzG,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3F,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,SAAS,KAAK,EAAE,CAAC;IAC3D,OAAO,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAA6B;IACrE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,yDAAyD,CAAC;IACnE,CAAC;IAED,IAAI,MAAM,GAAG,8BAA8B,CAAC;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE/F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwC,CAAC;IAC/D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,WAAW,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;YACxG,SAAS;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,SAAS;QAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,KAAK;gBAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEjD,6EAA6E;YAC7E,MAAM,OAAO,GAAG,CAAC,MAA0B,EAAE,EAAE,CAC7C,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC;YAChF,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC1E,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;YAEtE,MAAM,IAAI,QAAQ,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACzC,MAAM,IAAI,WAAW,CAAC;YACtB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,YAAY;gBAAE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7F,IAAI,UAAU;gBAAE,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;YACnG,MAAM,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC;YAE1D,MAAM,IAAI,GAAG,QAAQ;iBAClB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACd,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,WAAW,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC9C,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC9C,MAAM,IAAI,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC3E,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,YAAY;oBAAE,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACvD,IAAI,UAAU;oBAAE,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrD,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;gBACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;YAC9C,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YAEzC,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC;YAClD,MAAM,IAAI,OAAO,CAAC;QACpB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,+EAA+E;QAC/E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoF,CAAC;QAE9G,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,WAAW,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;gBAC1G,CAAC;gBACD,SAAS;YACX,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACxC,IAAI,UAAU,GAAG,6BAA6B,CAAC;gBAC/C,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtD,UAAU,GAAG,+CAA+C,CAAC;gBAC/D,CAAC;qBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnC,UAAU,GAAG,oCAAoC,CAAC;gBACpD,CAAC;gBAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;oBAAE,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBACrE,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,WAAW,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5B,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE;wBACrB,UAAU,EAAE,KAAK,CAAC,mBAAmB;wBACrC,OAAO,EAAE,KAAK,CAAC,uBAAuB;wBACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ;qBAC1B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChH,MAAM,IAAI,QAAQ,UAAU,IAAI,CAAC;YACjC,MAAM,IAAI,WAAW,CAAC;YACtB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC;YAE1E,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;YACnG,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YACzJ,CAAC;YACD,MAAM,IAAI,OAAO,CAAC;QACpB,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,kEAAkE;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IAChE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,wCAAwC,CAAC;QACnD,MAAM,IAAI,WAAW,CAAC;QACtB,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,oBAAoB,CAAC;QACtL,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACvG,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACvD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACzG,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACzG,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACnF,MAAM,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,IAAI,CAAC;QACvE,CAAC;QACD,MAAM,IAAI,OAAO,CAAC;QAClB,MAAM,IAAI,8KAA8K,CAAC;IAC3L,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AACjC,CAAC"} \ No newline at end of file +{"version":3,"file":"quota.js","sourceRoot":"","sources":["../../../src/plugin/quota.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/plugin/request.d.ts b/dist/src/plugin/request.d.ts index cb26613..3ba57b4 100644 --- a/dist/src/plugin/request.d.ts +++ b/dist/src/plugin/request.d.ts @@ -90,7 +90,7 @@ export declare function buildThinkingWarmupBody(bodyText: string | undefined, is * For streaming SSE responses, uses TransformStream for true real-time incremental streaming. * Thinking/reasoning tokens are transformed and forwarded immediately as they arrive. */ -export declare function transformAntigravityResponse(response: Response, streaming: boolean, debugContext?: AntigravityDebugContext | null, requestedModel?: string, projectId?: string, endpoint?: string, effectiveModel?: string, sessionId?: string, toolDebugMissing?: number, toolDebugSummary?: string, toolDebugPayload?: string, debugLines?: string[], onSafetyRatings?: (ratings: import("./core/streaming/types").SafetyRating[]) => void): Promise; +export declare function transformAntigravityResponse(response: Response, streaming: boolean, debugContext?: AntigravityDebugContext | null, requestedModel?: string, projectId?: string, endpoint?: string, effectiveModel?: string, sessionId?: string, toolDebugMissing?: number, toolDebugSummary?: string, toolDebugPayload?: string, debugLines?: string[], onSafetyRatings?: (ratings: import("./core/streaming/types").SafetyRating[]) => void, onUsageMetadata?: (usage: import("./core/streaming/types").TokenUsage) => void): Promise; export declare const __testExports: { buildSignatureSessionKey: typeof buildSignatureSessionKey; hashConversationSeed: typeof hashConversationSeed; diff --git a/dist/src/plugin/request.d.ts.map b/dist/src/plugin/request.d.ts.map index 25a8cbf..d8d6547 100644 --- a/dist/src/plugin/request.d.ts.map +++ b/dist/src/plugin/request.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/plugin/request.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/plugin/request.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/plugin/request.js b/dist/src/plugin/request.js index db1f0ca..4515a1a 100644 --- a/dist/src/plugin/request.js +++ b/dist/src/plugin/request.js @@ -1455,7 +1455,7 @@ export function buildThinkingWarmupBody(bodyText, isClaudeThinking) { * For streaming SSE responses, uses TransformStream for true real-time incremental streaming. * Thinking/reasoning tokens are transformed and forwarded immediately as they arrive. */ -export async function transformAntigravityResponse(response, streaming, debugContext, requestedModel, projectId, endpoint, effectiveModel, sessionId, toolDebugMissing, toolDebugSummary, toolDebugPayload, debugLines, onSafetyRatings) { +export async function transformAntigravityResponse(response, streaming, debugContext, requestedModel, projectId, endpoint, effectiveModel, sessionId, toolDebugMissing, toolDebugSummary, toolDebugPayload, debugLines, onSafetyRatings, onUsageMetadata) { const contentType = response.headers.get("content-type") ?? ""; const isJsonResponse = contentType.includes("application/json"); const isEventStreamResponse = contentType.includes("text/event-stream"); @@ -1487,6 +1487,7 @@ export async function transformAntigravityResponse(response, streaming, debugCon onCacheSignature: cacheSignature, onInjectDebug: injectDebugThinking, onSafetyRatings, + onUsage: onUsageMetadata, // onInjectSyntheticThinking removed - keep_thinking now uses debugText path transformThinkingParts, }, { diff --git a/dist/src/plugin/request.js.map b/dist/src/plugin/request.js.map index c6156c0..bdd45c9 100644 --- a/dist/src/plugin/request.js.map +++ b/dist/src/plugin/request.js.map @@ -1 +1 @@ -{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/plugin/request.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/plugin/request.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/plugin/usage-ledger.d.ts b/dist/src/plugin/usage-ledger.d.ts new file mode 100644 index 0000000..2e825ca --- /dev/null +++ b/dist/src/plugin/usage-ledger.d.ts @@ -0,0 +1,107 @@ +/** + * Per-request token ledger plus quota snapshots. + * + * The backend never publishes a token allowance per bucket, so the only way to + * know what an account actually offers is to measure it: pair the tokens a + * request consumed with the quota percentage it moved. This module records both + * sides and derives tokens-per-percentage-point from consecutive snapshots. + */ +export type UsageGroup = "gemini" | "claude" | "argon"; +export interface UsageEntry { + ts: number; + account: string; + model: string; + group: UsageGroup; + input: number; + output: number; + reasoning: number; + cacheRead: number; + cacheWrite: number; + total: number; + session?: string; +} +export interface QuotaSnapshot { + ts: number; + account: string; + /** Keyed by `:`, percentages in 0..100. */ + buckets: Record; +} +export declare function usageFilePath(): string; +export declare function quotaHistoryFilePath(): string; +export declare function groupForModel(model: string): UsageGroup; +/** Maps a quota group display name to the ledger family. */ +export declare function groupForQuotaLabel(label: string): UsageGroup; +export interface UsageNumbers { + promptTokenCount?: number; + candidatesTokenCount?: number; + thoughtsTokenCount?: number; + cachedContentTokenCount?: number; + totalTokenCount?: number; +} +/** + * Normalizes the `usageMetadata` block the model returns. Returns null when the + * block carries no counts, so a keepalive chunk does not create a zero row. + */ +export declare function buildUsageEntry(usage: UsageNumbers | undefined, meta: { + account?: string; + model?: string; + session?: string; + ts?: number; +}): UsageEntry | null; +export declare function recordUsage(entry: UsageEntry | null): void; +export declare function recordQuotaSnapshot(snapshot: QuotaSnapshot): void; +export declare function readUsage(sinceMs?: number): UsageEntry[]; +export declare function readQuotaSnapshots(sinceMs?: number): QuotaSnapshot[]; +export interface UsageBreakdown { + requests: number; + input: number; + output: number; + reasoning: number; + cacheRead: number; + total: number; +} +export interface UsageSummary { + overall: UsageBreakdown; + byAccount: Record; + byModel: Record; + byDay: Record; +} +export declare function aggregateUsage(entries: UsageEntry[]): UsageSummary; +export interface CapacityEstimate { + account: string; + bucket: string; + tokens: number; + requests: number; + dropPercentagePoints: number; + tokensPerPoint: number; + requestsPerPoint: number; + estimatedFullBucketTokens: number; + samples: number; + /** Windows with a measured drop vs total comparable windows (same reset). */ + windowsMoved: number; + windowsObserved: number; + /** + * "request" when the charge tracks calls rather than tokens: measured on Argon, + * two calls of 32k and two calls of ~5k both moved the bucket ~1%, so a + * token-proportional estimate would be off by an order of magnitude. + */ + basis: "token" | "request" | "mixed"; +} +/** + * Derives how many tokens one bucket percentage point is worth, by pairing each + * decrease between two snapshots with the tokens the ledger recorded for that + * account and family in between. Snapshots whose reset time changed are skipped: + * a reset resets the counter too. + */ +export declare function estimateCapacity(usage: UsageEntry[], snapshots: QuotaSnapshot[]): CapacityEstimate[]; +export declare function formatTokens(value: number): string; +export interface UsageReportOptions { + windowLabel: string; + byAccount?: boolean; + capacity?: CapacityEstimate[]; +} +export declare function formatUsageReport(summary: UsageSummary, options: UsageReportOptions): string; +//# sourceMappingURL=usage-ledger.d.ts.map \ No newline at end of file diff --git a/dist/src/plugin/usage-ledger.d.ts.map b/dist/src/plugin/usage-ledger.d.ts.map new file mode 100644 index 0000000..e8b0655 --- /dev/null +++ b/dist/src/plugin/usage-ledger.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"usage-ledger.d.ts","sourceRoot":"","sources":["../../../src/plugin/usage-ledger.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,mBAAmB,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1E;AAUD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAKvD;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAK5D;AAED,MAAM,WAAW,YAAY;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,GAAG,SAAS,EAC/B,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACxE,UAAU,GAAG,IAAI,CAuBnB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAO1D;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAMjE;AAiBD,wBAAgB,SAAS,CAAC,OAAO,SAAI,GAAG,UAAU,EAAE,CAEnD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,SAAI,GAAG,aAAa,EAAE,CAE/D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAeD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACvC;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,YAAY,CAoBlE;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB,EAAE,MAAM,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;CACtC;AASD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,gBAAgB,EAAE,CA0EpG;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAmE5F"} \ No newline at end of file diff --git a/dist/src/plugin/usage-ledger.js b/dist/src/plugin/usage-ledger.js new file mode 100644 index 0000000..28c377e --- /dev/null +++ b/dist/src/plugin/usage-ledger.js @@ -0,0 +1,296 @@ +import { appendFileSync, existsSync, readFileSync } from "node:fs"; +import { join } from "node:path"; +import { env } from "node:process"; +import { getOpencodeConfigDir } from "./config/updater"; +const USAGE_FILE = "antigravity-usage.jsonl"; +const QUOTA_FILE = "antigravity-quota-history.jsonl"; +function ledgerDir() { + const override = env.ANTIGRAVITY_LEDGER_DIR?.trim(); + return override || getOpencodeConfigDir(); +} +export function usageFilePath() { + return join(ledgerDir(), USAGE_FILE); +} +export function quotaHistoryFilePath() { + return join(ledgerDir(), QUOTA_FILE); +} +export function groupForModel(model) { + const lower = model.toLowerCase(); + if (lower.includes("argon")) + return "argon"; + if (lower.includes("claude") || lower.includes("gpt")) + return "claude"; + return "gemini"; +} +/** Maps a quota group display name to the ledger family. */ +export function groupForQuotaLabel(label) { + const lower = label.toLowerCase(); + if (lower.includes("argon")) + return "argon"; + if (lower.includes("claude") || lower.includes("gpt")) + return "claude"; + return "gemini"; +} +/** + * Normalizes the `usageMetadata` block the model returns. Returns null when the + * block carries no counts, so a keepalive chunk does not create a zero row. + */ +export function buildUsageEntry(usage, meta) { + if (!usage) + return null; + const input = usage.promptTokenCount ?? 0; + const output = usage.candidatesTokenCount ?? 0; + const reasoning = usage.thoughtsTokenCount ?? 0; + const cacheRead = usage.cachedContentTokenCount ?? 0; + const total = usage.totalTokenCount ?? input + output + reasoning; + if (input === 0 && output === 0 && reasoning === 0 && total === 0) { + return null; + } + return { + ts: meta.ts ?? Date.now(), + account: meta.account ?? "unknown", + model: meta.model ?? "unknown", + group: groupForModel(meta.model ?? ""), + input, + output, + reasoning, + cacheRead, + cacheWrite: 0, + total, + session: meta.session, + }; +} +export function recordUsage(entry) { + if (!entry) + return; + try { + appendFileSync(usageFilePath(), `${JSON.stringify(entry)}\n`, "utf8"); + } + catch { + // A full or read-only disk must never break a model request. + } +} +export function recordQuotaSnapshot(snapshot) { + try { + appendFileSync(quotaHistoryFilePath(), `${JSON.stringify(snapshot)}\n`, "utf8"); + } + catch { + // Same reasoning as recordUsage: telemetry never breaks the request. + } +} +function readJsonLines(path) { + if (!existsSync(path)) + return []; + const out = []; + for (const line of readFileSync(path, "utf8").split("\n")) { + const trimmed = line.trim(); + if (!trimmed) + continue; + try { + out.push(JSON.parse(trimmed)); + } + catch { + // A truncated last line (process killed mid-write) is skipped. + } + } + return out; +} +export function readUsage(sinceMs = 0) { + return readJsonLines(usageFilePath()).filter((entry) => (entry.ts ?? 0) >= sinceMs); +} +export function readQuotaSnapshots(sinceMs = 0) { + return readJsonLines(quotaHistoryFilePath()).filter((entry) => (entry.ts ?? 0) >= sinceMs); +} +function emptyBreakdown() { + return { requests: 0, input: 0, output: 0, reasoning: 0, cacheRead: 0, total: 0 }; +} +function addTo(target, entry) { + target.requests += 1; + target.input += entry.input || 0; + target.output += entry.output || 0; + target.reasoning += entry.reasoning || 0; + target.cacheRead += entry.cacheRead || 0; + target.total += entry.total || 0; +} +export function aggregateUsage(entries) { + const summary = { + overall: emptyBreakdown(), + byAccount: {}, + byModel: {}, + byDay: {}, + }; + for (const entry of entries) { + addTo(summary.overall, entry); + const account = entry.account || "unknown"; + summary.byAccount[account] ??= emptyBreakdown(); + addTo(summary.byAccount[account], entry); + const model = entry.model || "unknown"; + summary.byModel[model] ??= emptyBreakdown(); + addTo(summary.byModel[model], entry); + const day = new Date(entry.ts).toISOString().slice(0, 10); + summary.byDay[day] ??= emptyBreakdown(); + addTo(summary.byDay[day], entry); + } + return summary; +} +function median(values) { + if (values.length === 0) + return 0; + const sorted = [...values].sort((a, b) => a - b); + const mid = Math.floor(sorted.length / 2); + return sorted.length % 2 === 0 ? (sorted[mid - 1] + sorted[mid]) / 2 : sorted[mid]; +} +/** + * Derives how many tokens one bucket percentage point is worth, by pairing each + * decrease between two snapshots with the tokens the ledger recorded for that + * account and family in between. Snapshots whose reset time changed are skipped: + * a reset resets the counter too. + */ +export function estimateCapacity(usage, snapshots) { + const byAccountBucket = new Map(); + for (const snapshot of snapshots) { + for (const [bucket, value] of Object.entries(snapshot.buckets ?? {})) { + const key = `${snapshot.account}|${bucket}`; + const list = byAccountBucket.get(key) ?? []; + list.push({ ...snapshot, buckets: { [bucket]: value } }); + byAccountBucket.set(key, list); + } + } + const estimates = []; + for (const [key, list] of byAccountBucket) { + const [account, bucket] = key.split("|"); + list.sort((a, b) => a.ts - b.ts); + const tokenRatios = []; + const requestRatios = []; + let tokens = 0; + let requests = 0; + let windowsObserved = 0; + let windowsMoved = 0; + for (let i = 1; i < list.length; i++) { + const prev = list[i - 1]; + const current = list[i]; + const prevBucket = prev.buckets[bucket]; + const currentBucket = current.buckets[bucket]; + if (prevBucket.reset !== currentBucket.reset) + continue; + const windowEntries = usage.filter((entry) => entry.account === account && + entry.group === groupForQuotaLabel(bucket) && + entry.ts > prev.ts && + entry.ts <= current.ts); + windowsObserved += 1; + const drop = prevBucket.remainingPercentage - currentBucket.remainingPercentage; + if (drop <= 0) + continue; + if (windowEntries.length === 0) + continue; + windowsMoved += 1; + const windowTokens = windowEntries.reduce((sum, entry) => sum + (entry.total || 0), 0); + if (windowTokens <= 0) + continue; + tokenRatios.push(windowTokens / drop); + requestRatios.push(windowEntries.length / drop); + tokens += windowTokens; + requests += windowEntries.length; + } + if (tokenRatios.length === 0) + continue; + const tokensPerPoint = median(tokenRatios); + const requestsPerPoint = median(requestRatios); + const tokenSpread = Math.max(...tokenRatios) / Math.max(Math.min(...tokenRatios), 1); + const requestSpread = Math.max(...requestRatios) / Math.max(Math.min(...requestRatios), 1); + const basis = tokenRatios.length < 2 + ? "mixed" + : requestSpread * 1.2 < tokenSpread + ? "request" + : tokenSpread * 1.2 < requestSpread + ? "token" + : "mixed"; + estimates.push({ + account, + bucket, + tokens, + requests, + dropPercentagePoints: tokensPerPoint > 0 ? tokens / tokensPerPoint : 0, + tokensPerPoint, + requestsPerPoint, + estimatedFullBucketTokens: tokensPerPoint * 100, + samples: tokenRatios.length, + windowsMoved, + windowsObserved, + basis, + }); + } + return estimates.sort((a, b) => a.account.localeCompare(b.account) || a.bucket.localeCompare(b.bucket)); +} +export function formatTokens(value) { + if (!Number.isFinite(value)) + return "n/a"; + if (value >= 1_000_000_000) + return `${(value / 1_000_000_000).toFixed(2)}B`; + if (value >= 1_000_000) + return `${(value / 1_000_000).toFixed(2)}M`; + if (value >= 1_000) + return `${(value / 1_000).toFixed(1)}k`; + return String(Math.round(value)); +} +export function formatUsageReport(summary, options) { + const lines = []; + const overall = summary.overall; + lines.push(`ANTIGRAVITY TOKEN USAGE (${options.windowLabel})`); + lines.push(""); + lines.push(`Requests: ${overall.requests} | input ${formatTokens(overall.input)} | output ${formatTokens(overall.output)}` + + ` | cache read ${formatTokens(overall.cacheRead)} | total ${formatTokens(overall.total)}`); + const accounts = Object.entries(summary.byAccount); + if (accounts.length > 0) { + lines.push(""); + lines.push("BY ACCOUNT"); + lines.push(`${"ACCOUNT".padEnd(30)} ${"REQ".padStart(6)} ${"INPUT".padStart(10)} ${"OUTPUT".padStart(10)} ${"CACHE READ".padStart(12)} ${"TOTAL".padStart(10)}`); + for (const [account, data] of accounts.sort((a, b) => b[1].total - a[1].total)) { + lines.push(`${account.padEnd(30)} ${String(data.requests).padStart(6)} ${formatTokens(data.input).padStart(10)} ` + + `${formatTokens(data.output).padStart(10)} ${formatTokens(data.cacheRead).padStart(12)} ${formatTokens(data.total).padStart(10)}`); + } + } + const models = Object.entries(summary.byModel) + .sort((a, b) => b[1].total - a[1].total) + .slice(0, 8); + if (models.length > 0) { + lines.push(""); + lines.push("BY MODEL (top 8)"); + lines.push(`${"MODEL".padEnd(36)} ${"REQ".padStart(6)} ${"TOTAL".padStart(10)}`); + for (const [model, data] of models) { + lines.push(`${model.padEnd(36)} ${String(data.requests).padStart(6)} ${formatTokens(data.total).padStart(10)}`); + } + } + const capacity = options.capacity ?? []; + lines.push(""); + if (capacity.length === 0) { + lines.push("BUCKET CAPACITY: not measurable yet."); + lines.push("Two quota snapshots with consumption in between are required; each `/antigravity-quota` records one."); + } + else { + lines.push("BUCKET CAPACITY (measured per 1% of the bucket)"); + lines.push(`${"ACCOUNT".padEnd(26)} ${"BUCKET".padEnd(13)} ${"TOKENS/1%".padStart(10)} ${"CALLS/1%".padStart(9)} ${"MOVED".padStart(7)} ${"EST. (linear)".padStart(13)} ${"BASIS".padStart(7)}`); + for (const estimate of capacity) { + lines.push(`${estimate.account.padEnd(26)} ${estimate.bucket.padEnd(13)} ${formatTokens(estimate.tokensPerPoint).padStart(10)} ` + + `${estimate.requestsPerPoint.toFixed(2).padStart(9)} ${`${estimate.windowsMoved}/${estimate.windowsObserved}`.padStart(7)} ` + + `${formatTokens(estimate.estimatedFullBucketTokens).padStart(13)} ${estimate.basis.padStart(7)}`); + } + const partial = capacity.filter((estimate) => estimate.windowsMoved < estimate.windowsObserved); + if (partial.length > 0) { + lines.push(""); + lines.push("MOVED counts windows where the bucket actually dropped; the rest consumed tokens without moving it,"); + lines.push("so the linear estimate is informational. Measured behaviour beats a proportional assumption."); + } + const requestBilled = capacity.filter((estimate) => estimate.basis === "request"); + if (requestBilled.length > 0) { + lines.push(""); + lines.push("BASIS=request: the bucket moved by a similar amount per call regardless of size,"); + lines.push("so the token estimate understates capacity. Use CALLS/1% for these buckets."); + } + } + lines.push(""); + lines.push("Measured, not declared: the backend publishes no token allowance per bucket."); + lines.push("Estimate = median of tokens consumed / percentage points dropped, per unchanged reset window."); + return lines.join("\n"); +} +//# sourceMappingURL=usage-ledger.js.map \ No newline at end of file diff --git a/dist/src/plugin/usage-ledger.js.map b/dist/src/plugin/usage-ledger.js.map new file mode 100644 index 0000000..5b6e608 --- /dev/null +++ b/dist/src/plugin/usage-ledger.js.map @@ -0,0 +1 @@ +{"version":3,"file":"usage-ledger.js","sourceRoot":"","sources":["../../../src/plugin/usage-ledger.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/v2/adapter.d.ts.map b/dist/src/v2/adapter.d.ts.map index 099b5d9..e67c66b 100644 --- a/dist/src/v2/adapter.d.ts.map +++ b/dist/src/v2/adapter.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/v2/adapter.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/v2/adapter.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/src/v2/adapter.js b/dist/src/v2/adapter.js index fd1dd63..73f205f 100644 --- a/dist/src/v2/adapter.js +++ b/dist/src/v2/adapter.js @@ -17,6 +17,7 @@ import { resolveCachedAuth } from "../plugin/cache"; import { executeSearch } from "../plugin/search"; import { createLogger } from "../plugin/logger"; import { writeRequestAudit } from "../plugin/debug"; +import { aggregateUsage, buildUsageEntry, estimateCapacity, formatUsageReport, readQuotaSnapshots, readUsage, recordUsage } from "../plugin/usage-ledger"; import { ANTIGRAVITY_PROVIDER_ID } from "../constants"; import { prepareAntigravityRequest, transformAntigravityResponse, isGenerativeLanguageRequest, } from "../plugin/request"; import { OPENCODE_MODEL_DEFINITIONS } from "../plugin/config/models"; @@ -231,6 +232,24 @@ async function getQuotaReport() { const quotaResults = await checkAccountsQuota(storage.accounts, mockClient, ANTIGRAVITY_PROVIDER_ID); return formatQuotaReportMarkdown(quotaResults); } +const DAY_MS = 24 * 60 * 60 * 1000; +/** + * Usage report: tokens consumed per account and model from the request ledger, + * plus the bucket capacity derived from quota snapshots. Default window is seven + * days for consumption and thirty for the estimate, since capacity needs at least + * two snapshots with traffic in between. + */ +async function getUsageReport(days = 7) { + const now = Date.now(); + const usage = readUsage(now - days * DAY_MS); + const capacityUsage = readUsage(now - 30 * DAY_MS); + const snapshots = readQuotaSnapshots(now - 30 * DAY_MS); + const summary = aggregateUsage(usage); + return formatUsageReport(summary, { + windowLabel: `last ${days} days`, + capacity: estimateCapacity(capacityUsage, snapshots), + }); +} async function performSearch(query, urls, thinking = true, signal) { const storage = await loadAccounts(); if (!storage || storage.accounts.length === 0) { @@ -578,6 +597,14 @@ export async function setupV2(context) { log.warn(`[Safety Shield] High risk threshold reached. Preventive rotation to account index ${nextIndex}`); } } + }, (usage) => { + // One ledger row per response: the backend publishes no token + // allowance, so this is the only way to measure what a bucket holds. + recordUsage(buildUsageEntry(usage, { + account: lastAttemptBySession.get(sessionKey)?.email, + model: prepared.effectiveModel, + session: sessionKey, + })); }); event.response = transformed; // If Google returned 429/403 or quota exceeded, inject x-should-retry: true into transformed response @@ -931,6 +958,26 @@ export async function setupV2(context) { return { content: result }; }, }); + // antigravity_usage tool + editor.add({ + name: "antigravity_usage", + description: "Token consumption per account and model from the request ledger, plus the measured capacity of each quota bucket (tokens per 1% and estimated full bucket)", + input: { + type: "object", + properties: { + days: { type: "number", description: "Window in days (default 7, max 90)" }, + }, + }, + execute: async (args) => { + try { + const days = Math.min(Math.max(Math.round(args?.days ?? 7), 1), 90); + return { content: await getUsageReport(days) }; + } + catch (error) { + return { content: `Error retrieving Antigravity usage: ${error instanceof Error ? error.message : String(error)}` }; + } + }, + }); // antigravity_stats tool editor.add({ name: "antigravity_stats", @@ -983,6 +1030,18 @@ export async function setupV2(context) { } }, }); + editor.add({ + name: "antigravity-usage", + description: "Token consumption per account and measured bucket capacity", + execute: async ({ sessionID, delivery }) => { + try { + await deliver(sessionID, await getUsageReport(), delivery); + } + catch (error) { + await deliver(sessionID, `Error: ${error instanceof Error ? error.message : String(error)}`, delivery); + } + }, + }); editor.add({ name: "antigravity-stats", description: "View real-time engine statistics (request counts, health scores, and signature cache)", diff --git a/dist/src/v2/adapter.js.map b/dist/src/v2/adapter.js.map index cfec4b1..85a7492 100644 --- a/dist/src/v2/adapter.js.map +++ b/dist/src/v2/adapter.js.map @@ -1 +1 @@ -{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/v2/adapter.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/v2/adapter.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/CONFIGURATION.es.md b/docs/CONFIGURATION.es.md index b70fb4e..631fe42 100644 --- a/docs/CONFIGURATION.es.md +++ b/docs/CONFIGURATION.es.md @@ -238,6 +238,32 @@ archivo cuando otro proceso lo escribió. El archivo no es un log: solo conteos y marcas de tiempo, sin prompts. +### Consumo de tokens y capacidad medida por bucket + +Google no publica ninguna asignación de tokens por bucket, así que el plugin la mide: +cada respuesta agrega una línea a `antigravity-usage.jsonl` (cuenta, modelo, conteos +de `usageMetadata`) y cada consulta de cuota agrega sus porcentajes a +`antigravity-quota-history.jsonl`. Cruzar ambos da cuántos tokens (y cuántas +llamadas) cuesta un punto porcentual del bucket. + +`/antigravity-usage` y el tool `antigravity_usage` (`days` opcional, 7 por defecto) +reportan: + +- tokens por cuenta, por modelo y por día, separados en entrada, salida, razonamiento + y lectura de caché; +- `TOKENS/1%`, `CALLS/1%` y la proporción `MOVED` de ventanas en las que el bucket + realmente bajó, más una estimación lineal marcada como informativa. + +`MOVED` importa más que la estimación. Medido el 2026-10-31 en el bucket de Argon: dos +llamadas de 32k tokens lo movieron 1.01 puntos, y más tarde dos llamadas de 15k tokens +lo movieron 0.00 puntos. El consumo no es lineal con los tokens, y por eso el reporte +publica las dos lecturas en lugar de afirmar una capacidad. + +Los archivos viven junto al resto del estado del plugin en el directorio de +configuración de OpenCode y son JSONL de solo agregado; se pueden rotar o truncar sin +romper nada. Las peticiones se cuentan desde la ruta de streaming (`usageMetadata` en +el stream SSE); una petición sin streaming no se registra. + --- ## Configuraciones recomendadas diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md index b907ba3..9668d38 100644 --- a/docs/CONFIGURATION.md +++ b/docs/CONFIGURATION.md @@ -233,6 +233,32 @@ another process wrote it. The file is not a log: only counts and timestamps, no prompts. +### Token usage and measured bucket capacity + +Google publishes no token allowance per quota bucket, so the plugin measures it: +every response appends one line to `antigravity-usage.jsonl` (account, model, +`usageMetadata` counts), and every quota check appends its percentages to +`antigravity-quota-history.jsonl`. Pairing the two yields how many tokens (and how +many calls) one bucket percentage point costs. + +`/antigravity-usage` and the `antigravity_usage` tool (optional `days`, default 7) +report: + +- tokens per account, per model and per day, split into input, output, reasoning + and cache read; +- `TOKENS/1%`, `CALLS/1%` and the `MOVED` ratio of windows where the bucket actually + dropped, plus a linear estimate labelled informational. + +`MOVED` matters more than the estimate. Measured 2026-10-31 on the Argon bucket: two +calls of 32k tokens moved it 1.01 points, and later two calls of 15k tokens moved it +0.00 points. Consumption does not track tokens linearly, which is why the report +publishes both readings instead of asserting a capacity. + +Files live next to the other plugin state in the OpenCode config directory and are +append-only JSONL; rotate or truncate them freely, nothing else reads them. Requests +are counted from the streaming path (`usageMetadata` in the SSE stream); a +non-streaming request is not recorded. + --- ## Recommended Configs diff --git a/package.json b/package.json index d8791c0..bed546c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opencode-antigravity-auth", - "version": "2.4.3", + "version": "2.5.0", "description": "Google Antigravity IDE OAuth auth plugin for OpenCode v2 - access Gemini 4 Argon, 3.8 Flash, and Claude models using Google credentials", "main": "./dist/index.js", "types": "./dist/index.d.ts", diff --git a/src/plugin/core/streaming/transformer.ts b/src/plugin/core/streaming/transformer.ts index 03b3453..dd11390 100644 --- a/src/plugin/core/streaming/transformer.ts +++ b/src/plugin/core/streaming/transformer.ts @@ -1,5 +1,6 @@ import type { SafetyRating, + TokenUsage, SignatureStore, StreamingCallbacks, StreamingOptions, @@ -340,6 +341,7 @@ export function transformSseLine( callbacks: StreamingCallbacks, options: StreamingOptions, debugState: { injected: boolean }, + usageState?: { value?: TokenUsage }, ): string { if (!line.startsWith('data:')) { return line; @@ -352,6 +354,13 @@ export function transformSseLine( try { const parsed = JSON.parse(json) as { response?: unknown }; if (parsed.response !== undefined) { + const usageMetadata = (parsed.response as Record | null)?.["usageMetadata"] as + | TokenUsage + | undefined; + if (usageMetadata && usageState) { + // Cumulative across chunks: keep the newest block and report once. + usageState.value = usageMetadata; + } if (options.cacheSignatures && options.signatureSessionKey) { cacheThinkingSignaturesFromResponse( parsed.response, @@ -475,6 +484,7 @@ export function createStreamingTransformer( const thoughtBuffer = createThoughtBuffer(); const sentThinkingBuffer = createThoughtBuffer(); const debugState = { injected: false }; + const usageState: { value?: TokenUsage } = {}; let hasSeenUsageMetadata = false; return new TransformStream({ @@ -498,6 +508,7 @@ export function createStreamingTransformer( callbacks, options, debugState, + usageState, ); controller.enqueue(encoder.encode(transformedLine + '\n')); } @@ -517,10 +528,15 @@ export function createStreamingTransformer( callbacks, options, debugState, + usageState, ); controller.enqueue(encoder.encode(transformedLine)); } + if (usageState.value) { + callbacks.onUsage?.(usageState.value); + } + // Inject synthetic usage metadata if missing (fixes "Context % used: 0%" issue) if (!hasSeenUsageMetadata) { const syntheticUsage = { diff --git a/src/plugin/core/streaming/types.ts b/src/plugin/core/streaming/types.ts index ba317dc..2ed17bf 100644 --- a/src/plugin/core/streaming/types.ts +++ b/src/plugin/core/streaming/types.ts @@ -16,10 +16,20 @@ export interface SafetyRating { blocked?: boolean; } +export interface TokenUsage { + promptTokenCount?: number; + candidatesTokenCount?: number; + thoughtsTokenCount?: number; + cachedContentTokenCount?: number; + totalTokenCount?: number; +} + export interface StreamingCallbacks { onCacheSignature?: (sessionKey: string, text: string, signature: string) => void; onInjectDebug?: (response: unknown, debugText: string) => unknown; onSafetyRatings?: (ratings: SafetyRating[]) => void; + /** Final token usage for the response, reported once the stream flushes. */ + onUsage?: (usage: TokenUsage) => void; // Note: onInjectSyntheticThinking removed - keep_thinking now unified with debug via debugText transformThinkingParts?: (parts: unknown) => unknown; } diff --git a/src/plugin/quota.ts b/src/plugin/quota.ts index 088aa67..5d1c491 100644 --- a/src/plugin/quota.ts +++ b/src/plugin/quota.ts @@ -11,6 +11,7 @@ import { refreshAccessToken } from "./token"; import type { PluginClient, OAuthAuthDetails } from "./types"; import type { AccountMetadataV3, AccountModelCatalog } from "./storage"; import { EngineStatsManager } from "./stats"; +import { groupForQuotaLabel, recordQuotaSnapshot } from "./usage-ledger"; const FETCH_TIMEOUT_MS = 10000; @@ -512,7 +513,26 @@ export async function checkAccountsQuota( logQuotaFetch("start", accounts.length); for (const [index, account] of accounts.entries()) { - results.push(await fetchAccountQuotaDetails(account, index, client, providerId)); + const result = await fetchAccountQuotaDetails(account, index, client, providerId); + results.push(result); + // Snapshot for the capacity estimator: pairing these percentages with the + // token ledger yields tokens-per-point, the only measurable allowance. + if (result.status === "ok" && result.email && result.groups && result.groups.length > 0) { + const buckets: Record = {}; + for (const group of result.groups) { + const family = groupForQuotaLabel(group.displayName); + for (const bucket of [group.fiveHour, group.weekly]) { + if (!bucket) continue; + buckets[`${family}:${bucket.window}`] = { + remainingPercentage: bucket.remainingFraction * 100, + reset: bucket.resetTimeDisplay, + }; + } + } + if (Object.keys(buckets).length > 0) { + recordQuotaSnapshot({ ts: Date.now(), account: result.email, buckets }); + } + } } return results; diff --git a/src/plugin/request.ts b/src/plugin/request.ts index bedf45d..3637d15 100644 --- a/src/plugin/request.ts +++ b/src/plugin/request.ts @@ -1862,6 +1862,7 @@ export async function transformAntigravityResponse( toolDebugPayload?: string, debugLines?: string[], onSafetyRatings?: (ratings: import("./core/streaming/types").SafetyRating[]) => void, + onUsageMetadata?: (usage: import("./core/streaming/types").TokenUsage) => void, ): Promise { const contentType = response.headers.get("content-type") ?? ""; const isJsonResponse = contentType.includes("application/json"); @@ -1902,6 +1903,7 @@ export async function transformAntigravityResponse( onCacheSignature: cacheSignature, onInjectDebug: injectDebugThinking, onSafetyRatings, + onUsage: onUsageMetadata, // onInjectSyntheticThinking removed - keep_thinking now uses debugText path transformThinkingParts, }, diff --git a/src/plugin/usage-ledger.test.ts b/src/plugin/usage-ledger.test.ts new file mode 100644 index 0000000..0371be4 --- /dev/null +++ b/src/plugin/usage-ledger.test.ts @@ -0,0 +1,149 @@ +import { afterEach, beforeEach, describe, expect, it } from "vitest"; +import { mkdtempSync, rmSync } from "node:fs"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; +import { + aggregateUsage, + buildUsageEntry, + estimateCapacity, + formatUsageReport, + groupForModel, + groupForQuotaLabel, + readQuotaSnapshots, + readUsage, + recordQuotaSnapshot, + recordUsage, + type QuotaSnapshot, + type UsageEntry, +} from "./usage-ledger"; + +describe("usage ledger", () => { + let dir: string; + + beforeEach(() => { + dir = mkdtempSync(join(tmpdir(), "antigravity-ledger-")); + process.env.ANTIGRAVITY_LEDGER_DIR = dir; + }); + + afterEach(() => { + delete process.env.ANTIGRAVITY_LEDGER_DIR; + rmSync(dir, { recursive: true, force: true }); + }); + + it("classifies models into quota families", () => { + expect(groupForModel("gemini-4-argon-high")).toBe("argon"); + expect(groupForModel("gemini-3.8-flash-high")).toBe("gemini"); + expect(groupForModel("claude-sonnet-5-5-medium")).toBe("claude"); + expect(groupForModel("gpt-oss-120b-medium")).toBe("claude"); + expect(groupForQuotaLabel("Gemini 4 Argon")).toBe("argon"); + expect(groupForQuotaLabel("Claude and GPT models")).toBe("claude"); + expect(groupForQuotaLabel("Gemini Models")).toBe("gemini"); + }); + + it("normalizes usageMetadata and drops empty blocks", () => { + expect(buildUsageEntry(undefined, {})).toBeNull(); + expect(buildUsageEntry({}, {})).toBeNull(); + expect(buildUsageEntry({ promptTokenCount: 0, candidatesTokenCount: 0, totalTokenCount: 0 }, {})).toBeNull(); + + const entry = buildUsageEntry( + { promptTokenCount: 2000, candidatesTokenCount: 300, thoughtsTokenCount: 50, cachedContentTokenCount: 1200, totalTokenCount: 2350 }, + { account: "a@example.com", model: "gemini-4-argon-high", session: "ses_1", ts: 1000 }, + ); + expect(entry).toMatchObject({ + account: "a@example.com", + model: "gemini-4-argon-high", + group: "argon", + input: 2000, + output: 300, + reasoning: 50, + cacheRead: 1200, + total: 2350, + session: "ses_1", + ts: 1000, + }); + }); + + it("appends and reads both ledgers, skipping a truncated line", () => { + recordUsage(buildUsageEntry({ promptTokenCount: 10, totalTokenCount: 10 }, { account: "a@x", model: "gemini-3.8-flash-high", ts: 5 })); + recordUsage(buildUsageEntry({ promptTokenCount: 20, totalTokenCount: 20 }, { account: "b@x", model: "claude-sonnet-5-5-medium", ts: 10 })); + recordQuotaSnapshot({ ts: 5, account: "a@x", buckets: { "argon:weekly": { remainingPercentage: 98.5, reset: "2026-11-07" } } }); + + expect(readUsage()).toHaveLength(2); + expect(readUsage(6)).toHaveLength(1); + expect(readQuotaSnapshots()).toHaveLength(1); + }); + + it("aggregates per account, model and day", () => { + const entries: UsageEntry[] = [ + { ts: Date.UTC(2026, 9, 30), account: "a@x", model: "gemini-4-argon-high", group: "argon", input: 100, output: 10, reasoning: 0, cacheRead: 0, cacheWrite: 0, total: 110 }, + { ts: Date.UTC(2026, 9, 30), account: "a@x", model: "gemini-4-argon-high", group: "argon", input: 200, output: 20, reasoning: 0, cacheRead: 0, cacheWrite: 0, total: 220 }, + { ts: Date.UTC(2026, 9, 31), account: "b@x", model: "gemini-3.8-flash-high", group: "gemini", input: 50, output: 5, reasoning: 0, cacheRead: 0, cacheWrite: 0, total: 55 }, + ]; + + const summary = aggregateUsage(entries); + expect(summary.overall.requests).toBe(3); + expect(summary.overall.total).toBe(385); + expect(summary.byAccount["a@x"]!.total).toBe(330); + expect(summary.byModel["gemini-4-argon-high"]!.requests).toBe(2); + expect(summary.byDay["2026-10-30"]!.total).toBe(330); + }); + + it("derives capacity from a quota drop and the tokens in between", () => { + const usage: UsageEntry[] = [ + { ts: 1000, account: "a@x", model: "gemini-4-argon-high", group: "argon", input: 0, output: 0, reasoning: 0, cacheRead: 0, cacheWrite: 0, total: 65_000 }, + ]; + const snapshots: QuotaSnapshot[] = [ + { ts: 500, account: "a@x", buckets: { "argon:weekly": { remainingPercentage: 99.0, reset: "2026-11-07" } } }, + { ts: 1500, account: "a@x", buckets: { "argon:weekly": { remainingPercentage: 98.0, reset: "2026-11-07" } } }, + ]; + + const [estimate] = estimateCapacity(usage, snapshots); + expect(estimate).toMatchObject({ + account: "a@x", + bucket: "argon:weekly", + tokensPerPoint: 65_000, + requestsPerPoint: 1, + estimatedFullBucketTokens: 6_500_000, + samples: 1, + windowsMoved: 1, + windowsObserved: 1, + basis: "mixed", + }); + }); + + it("ignores a window whose reset changed or that had no traffic", () => { + const usage: UsageEntry[] = [ + { ts: 1200, account: "a@x", model: "gemini-4-argon-high", group: "argon", input: 0, output: 0, reasoning: 0, cacheRead: 0, cacheWrite: 0, total: 10_000 }, + ]; + const resetEdges: QuotaSnapshot[] = [ + { ts: 1000, account: "a@x", buckets: { "argon:weekly": { remainingPercentage: 99, reset: "2026-11-07" } } }, + { ts: 2000, account: "a@x", buckets: { "argon:weekly": { remainingPercentage: 97, reset: "2026-11-14" } } }, + ]; + expect(estimateCapacity(usage, resetEdges)).toHaveLength(0); + + const noTraffic: QuotaSnapshot[] = [ + { ts: 1000, account: "a@x", buckets: { "argon:weekly": { remainingPercentage: 99, reset: "2026-11-07" } } }, + { ts: 2000, account: "a@x", buckets: { "argon:weekly": { remainingPercentage: 98, reset: "2026-11-07" } } }, + ]; + expect(estimateCapacity([], noTraffic)).toHaveLength(0); + }); + + it("renders a report with the capacity table and the not-measurable notice", () => { + const entries: UsageEntry[] = [ + { ts: Date.now(), account: "a@x", model: "gemini-4-argon-high", group: "argon", input: 1000, output: 100, reasoning: 0, cacheRead: 5000, cacheWrite: 0, total: 6100 }, + ]; + const summary = aggregateUsage(entries); + + const withoutCapacity = formatUsageReport(summary, { windowLabel: "last 7 days", capacity: [] }); + expect(withoutCapacity).toContain("BUCKET CAPACITY: not measurable yet"); + expect(withoutCapacity).toContain("BY ACCOUNT"); + + const withCapacity = formatUsageReport(summary, { + windowLabel: "last 7 days", + capacity: [{ account: "a@x", bucket: "argon:weekly", tokens: 65_000, requests: 2, dropPercentagePoints: 1, tokensPerPoint: 65_000, requestsPerPoint: 2, estimatedFullBucketTokens: 6_500_000, samples: 1, windowsMoved: 1, windowsObserved: 1, basis: "request" }], + }); + expect(withCapacity).toContain("BUCKET CAPACITY (measured"); + expect(withCapacity).toContain("6.50M"); + expect(withCapacity).toContain("BASIS=request"); + }); +}); diff --git a/src/plugin/usage-ledger.ts b/src/plugin/usage-ledger.ts new file mode 100644 index 0000000..6139e6a --- /dev/null +++ b/src/plugin/usage-ledger.ts @@ -0,0 +1,391 @@ +import { appendFileSync, existsSync, readFileSync } from "node:fs"; +import { join } from "node:path"; +import { env } from "node:process"; +import { getOpencodeConfigDir } from "./config/updater"; + +/** + * Per-request token ledger plus quota snapshots. + * + * The backend never publishes a token allowance per bucket, so the only way to + * know what an account actually offers is to measure it: pair the tokens a + * request consumed with the quota percentage it moved. This module records both + * sides and derives tokens-per-percentage-point from consecutive snapshots. + */ + +export type UsageGroup = "gemini" | "claude" | "argon"; + +export interface UsageEntry { + ts: number; + account: string; + model: string; + group: UsageGroup; + input: number; + output: number; + reasoning: number; + cacheRead: number; + cacheWrite: number; + total: number; + session?: string; +} + +export interface QuotaSnapshot { + ts: number; + account: string; + /** Keyed by `:`, percentages in 0..100. */ + buckets: Record; +} + +const USAGE_FILE = "antigravity-usage.jsonl"; +const QUOTA_FILE = "antigravity-quota-history.jsonl"; + +function ledgerDir(): string { + const override = env.ANTIGRAVITY_LEDGER_DIR?.trim(); + return override || getOpencodeConfigDir(); +} + +export function usageFilePath(): string { + return join(ledgerDir(), USAGE_FILE); +} + +export function quotaHistoryFilePath(): string { + return join(ledgerDir(), QUOTA_FILE); +} + +export function groupForModel(model: string): UsageGroup { + const lower = model.toLowerCase(); + if (lower.includes("argon")) return "argon"; + if (lower.includes("claude") || lower.includes("gpt")) return "claude"; + return "gemini"; +} + +/** Maps a quota group display name to the ledger family. */ +export function groupForQuotaLabel(label: string): UsageGroup { + const lower = label.toLowerCase(); + if (lower.includes("argon")) return "argon"; + if (lower.includes("claude") || lower.includes("gpt")) return "claude"; + return "gemini"; +} + +export interface UsageNumbers { + promptTokenCount?: number; + candidatesTokenCount?: number; + thoughtsTokenCount?: number; + cachedContentTokenCount?: number; + totalTokenCount?: number; +} + +/** + * Normalizes the `usageMetadata` block the model returns. Returns null when the + * block carries no counts, so a keepalive chunk does not create a zero row. + */ +export function buildUsageEntry( + usage: UsageNumbers | undefined, + meta: { account?: string; model?: string; session?: string; ts?: number }, +): UsageEntry | null { + if (!usage) return null; + const input = usage.promptTokenCount ?? 0; + const output = usage.candidatesTokenCount ?? 0; + const reasoning = usage.thoughtsTokenCount ?? 0; + const cacheRead = usage.cachedContentTokenCount ?? 0; + const total = usage.totalTokenCount ?? input + output + reasoning; + if (input === 0 && output === 0 && reasoning === 0 && total === 0) { + return null; + } + return { + ts: meta.ts ?? Date.now(), + account: meta.account ?? "unknown", + model: meta.model ?? "unknown", + group: groupForModel(meta.model ?? ""), + input, + output, + reasoning, + cacheRead, + cacheWrite: 0, + total, + session: meta.session, + }; +} + +export function recordUsage(entry: UsageEntry | null): void { + if (!entry) return; + try { + appendFileSync(usageFilePath(), `${JSON.stringify(entry)}\n`, "utf8"); + } catch { + // A full or read-only disk must never break a model request. + } +} + +export function recordQuotaSnapshot(snapshot: QuotaSnapshot): void { + try { + appendFileSync(quotaHistoryFilePath(), `${JSON.stringify(snapshot)}\n`, "utf8"); + } catch { + // Same reasoning as recordUsage: telemetry never breaks the request. + } +} + +function readJsonLines(path: string): T[] { + if (!existsSync(path)) return []; + const out: T[] = []; + for (const line of readFileSync(path, "utf8").split("\n")) { + const trimmed = line.trim(); + if (!trimmed) continue; + try { + out.push(JSON.parse(trimmed) as T); + } catch { + // A truncated last line (process killed mid-write) is skipped. + } + } + return out; +} + +export function readUsage(sinceMs = 0): UsageEntry[] { + return readJsonLines(usageFilePath()).filter((entry) => (entry.ts ?? 0) >= sinceMs); +} + +export function readQuotaSnapshots(sinceMs = 0): QuotaSnapshot[] { + return readJsonLines(quotaHistoryFilePath()).filter((entry) => (entry.ts ?? 0) >= sinceMs); +} + +export interface UsageBreakdown { + requests: number; + input: number; + output: number; + reasoning: number; + cacheRead: number; + total: number; +} + +function emptyBreakdown(): UsageBreakdown { + return { requests: 0, input: 0, output: 0, reasoning: 0, cacheRead: 0, total: 0 }; +} + +function addTo(target: UsageBreakdown, entry: UsageEntry): void { + target.requests += 1; + target.input += entry.input || 0; + target.output += entry.output || 0; + target.reasoning += entry.reasoning || 0; + target.cacheRead += entry.cacheRead || 0; + target.total += entry.total || 0; +} + +export interface UsageSummary { + overall: UsageBreakdown; + byAccount: Record; + byModel: Record; + byDay: Record; +} + +export function aggregateUsage(entries: UsageEntry[]): UsageSummary { + const summary: UsageSummary = { + overall: emptyBreakdown(), + byAccount: {}, + byModel: {}, + byDay: {}, + }; + for (const entry of entries) { + addTo(summary.overall, entry); + const account = entry.account || "unknown"; + summary.byAccount[account] ??= emptyBreakdown(); + addTo(summary.byAccount[account], entry); + const model = entry.model || "unknown"; + summary.byModel[model] ??= emptyBreakdown(); + addTo(summary.byModel[model], entry); + const day = new Date(entry.ts).toISOString().slice(0, 10); + summary.byDay[day] ??= emptyBreakdown(); + addTo(summary.byDay[day], entry); + } + return summary; +} + +export interface CapacityEstimate { + account: string; + bucket: string; + tokens: number; + requests: number; + dropPercentagePoints: number; + tokensPerPoint: number; + requestsPerPoint: number; + estimatedFullBucketTokens: number; + samples: number; + /** Windows with a measured drop vs total comparable windows (same reset). */ + windowsMoved: number; + windowsObserved: number; + /** + * "request" when the charge tracks calls rather than tokens: measured on Argon, + * two calls of 32k and two calls of ~5k both moved the bucket ~1%, so a + * token-proportional estimate would be off by an order of magnitude. + */ + basis: "token" | "request" | "mixed"; +} + +function median(values: number[]): number { + if (values.length === 0) return 0; + const sorted = [...values].sort((a, b) => a - b); + const mid = Math.floor(sorted.length / 2); + return sorted.length % 2 === 0 ? (sorted[mid - 1]! + sorted[mid]!) / 2 : sorted[mid]!; +} + +/** + * Derives how many tokens one bucket percentage point is worth, by pairing each + * decrease between two snapshots with the tokens the ledger recorded for that + * account and family in between. Snapshots whose reset time changed are skipped: + * a reset resets the counter too. + */ +export function estimateCapacity(usage: UsageEntry[], snapshots: QuotaSnapshot[]): CapacityEstimate[] { + const byAccountBucket = new Map(); + for (const snapshot of snapshots) { + for (const [bucket, value] of Object.entries(snapshot.buckets ?? {})) { + const key = `${snapshot.account}|${bucket}`; + const list = byAccountBucket.get(key) ?? []; + list.push({ ...snapshot, buckets: { [bucket]: value } }); + byAccountBucket.set(key, list); + } + } + + const estimates: CapacityEstimate[] = []; + for (const [key, list] of byAccountBucket) { + const [account, bucket] = key.split("|") as [string, string]; + list.sort((a, b) => a.ts - b.ts); + const tokenRatios: number[] = []; + const requestRatios: number[] = []; + let tokens = 0; + let requests = 0; + let windowsObserved = 0; + let windowsMoved = 0; + for (let i = 1; i < list.length; i++) { + const prev = list[i - 1]!; + const current = list[i]!; + const prevBucket = prev.buckets[bucket]!; + const currentBucket = current.buckets[bucket]!; + if (prevBucket.reset !== currentBucket.reset) continue; + const windowEntries = usage.filter( + (entry) => + entry.account === account && + entry.group === groupForQuotaLabel(bucket) && + entry.ts > prev.ts && + entry.ts <= current.ts, + ); + windowsObserved += 1; + const drop = prevBucket.remainingPercentage - currentBucket.remainingPercentage; + if (drop <= 0) continue; + if (windowEntries.length === 0) continue; + windowsMoved += 1; + const windowTokens = windowEntries.reduce((sum, entry) => sum + (entry.total || 0), 0); + if (windowTokens <= 0) continue; + tokenRatios.push(windowTokens / drop); + requestRatios.push(windowEntries.length / drop); + tokens += windowTokens; + requests += windowEntries.length; + } + if (tokenRatios.length === 0) continue; + const tokensPerPoint = median(tokenRatios); + const requestsPerPoint = median(requestRatios); + const tokenSpread = Math.max(...tokenRatios) / Math.max(Math.min(...tokenRatios), 1); + const requestSpread = Math.max(...requestRatios) / Math.max(Math.min(...requestRatios), 1); + const basis = tokenRatios.length < 2 + ? "mixed" + : requestSpread * 1.2 < tokenSpread + ? "request" + : tokenSpread * 1.2 < requestSpread + ? "token" + : "mixed"; + estimates.push({ + account, + bucket, + tokens, + requests, + dropPercentagePoints: tokensPerPoint > 0 ? tokens / tokensPerPoint : 0, + tokensPerPoint, + requestsPerPoint, + estimatedFullBucketTokens: tokensPerPoint * 100, + samples: tokenRatios.length, + windowsMoved, + windowsObserved, + basis, + }); + } + return estimates.sort((a, b) => a.account.localeCompare(b.account) || a.bucket.localeCompare(b.bucket)); +} + +export function formatTokens(value: number): string { + if (!Number.isFinite(value)) return "n/a"; + if (value >= 1_000_000_000) return `${(value / 1_000_000_000).toFixed(2)}B`; + if (value >= 1_000_000) return `${(value / 1_000_000).toFixed(2)}M`; + if (value >= 1_000) return `${(value / 1_000).toFixed(1)}k`; + return String(Math.round(value)); +} + +export interface UsageReportOptions { + windowLabel: string; + byAccount?: boolean; + capacity?: CapacityEstimate[]; +} + +export function formatUsageReport(summary: UsageSummary, options: UsageReportOptions): string { + const lines: string[] = []; + const overall = summary.overall; + lines.push(`ANTIGRAVITY TOKEN USAGE (${options.windowLabel})`); + lines.push(""); + lines.push( + `Requests: ${overall.requests} | input ${formatTokens(overall.input)} | output ${formatTokens(overall.output)}` + + ` | cache read ${formatTokens(overall.cacheRead)} | total ${formatTokens(overall.total)}`, + ); + + const accounts = Object.entries(summary.byAccount); + if (accounts.length > 0) { + lines.push(""); + lines.push("BY ACCOUNT"); + lines.push(`${"ACCOUNT".padEnd(30)} ${"REQ".padStart(6)} ${"INPUT".padStart(10)} ${"OUTPUT".padStart(10)} ${"CACHE READ".padStart(12)} ${"TOTAL".padStart(10)}`); + for (const [account, data] of accounts.sort((a, b) => b[1].total - a[1].total)) { + lines.push( + `${account.padEnd(30)} ${String(data.requests).padStart(6)} ${formatTokens(data.input).padStart(10)} ` + + `${formatTokens(data.output).padStart(10)} ${formatTokens(data.cacheRead).padStart(12)} ${formatTokens(data.total).padStart(10)}`, + ); + } + } + + const models = Object.entries(summary.byModel) + .sort((a, b) => b[1].total - a[1].total) + .slice(0, 8); + if (models.length > 0) { + lines.push(""); + lines.push("BY MODEL (top 8)"); + lines.push(`${"MODEL".padEnd(36)} ${"REQ".padStart(6)} ${"TOTAL".padStart(10)}`); + for (const [model, data] of models) { + lines.push(`${model.padEnd(36)} ${String(data.requests).padStart(6)} ${formatTokens(data.total).padStart(10)}`); + } + } + + const capacity = options.capacity ?? []; + lines.push(""); + if (capacity.length === 0) { + lines.push("BUCKET CAPACITY: not measurable yet."); + lines.push("Two quota snapshots with consumption in between are required; each `/antigravity-quota` records one."); + } else { + lines.push("BUCKET CAPACITY (measured per 1% of the bucket)"); + lines.push(`${"ACCOUNT".padEnd(26)} ${"BUCKET".padEnd(13)} ${"TOKENS/1%".padStart(10)} ${"CALLS/1%".padStart(9)} ${"MOVED".padStart(7)} ${"EST. (linear)".padStart(13)} ${"BASIS".padStart(7)}`); + for (const estimate of capacity) { + lines.push( + `${estimate.account.padEnd(26)} ${estimate.bucket.padEnd(13)} ${formatTokens(estimate.tokensPerPoint).padStart(10)} ` + + `${estimate.requestsPerPoint.toFixed(2).padStart(9)} ${`${estimate.windowsMoved}/${estimate.windowsObserved}`.padStart(7)} ` + + `${formatTokens(estimate.estimatedFullBucketTokens).padStart(13)} ${estimate.basis.padStart(7)}`, + ); + } + const partial = capacity.filter((estimate) => estimate.windowsMoved < estimate.windowsObserved); + if (partial.length > 0) { + lines.push(""); + lines.push("MOVED counts windows where the bucket actually dropped; the rest consumed tokens without moving it,"); + lines.push("so the linear estimate is informational. Measured behaviour beats a proportional assumption."); + } + const requestBilled = capacity.filter((estimate) => estimate.basis === "request"); + if (requestBilled.length > 0) { + lines.push(""); + lines.push("BASIS=request: the bucket moved by a similar amount per call regardless of size,"); + lines.push("so the token estimate understates capacity. Use CALLS/1% for these buckets."); + } + } + lines.push(""); + lines.push("Measured, not declared: the backend publishes no token allowance per bucket."); + lines.push("Estimate = median of tokens consumed / percentage points dropped, per unchanged reset window."); + return lines.join("\n"); +} diff --git a/src/v2/adapter.ts b/src/v2/adapter.ts index 4886530..54953a1 100644 --- a/src/v2/adapter.ts +++ b/src/v2/adapter.ts @@ -18,6 +18,7 @@ import { resolveCachedAuth } from "../plugin/cache"; import { executeSearch } from "../plugin/search"; import { createLogger } from "../plugin/logger"; import { writeRequestAudit } from "../plugin/debug"; +import { aggregateUsage, buildUsageEntry, estimateCapacity, formatUsageReport, readQuotaSnapshots, readUsage, recordUsage } from "../plugin/usage-ledger"; import { ANTIGRAVITY_PROVIDER_ID } from "../constants"; import type { OAuthAuthDetails } from "../plugin/types"; import { @@ -433,6 +434,27 @@ async function getQuotaReport(): Promise { return formatQuotaReportMarkdown(quotaResults); } + +const DAY_MS = 24 * 60 * 60 * 1000; + +/** + * Usage report: tokens consumed per account and model from the request ledger, + * plus the bucket capacity derived from quota snapshots. Default window is seven + * days for consumption and thirty for the estimate, since capacity needs at least + * two snapshots with traffic in between. + */ +async function getUsageReport(days = 7): Promise { + const now = Date.now(); + const usage = readUsage(now - days * DAY_MS); + const capacityUsage = readUsage(now - 30 * DAY_MS); + const snapshots = readQuotaSnapshots(now - 30 * DAY_MS); + const summary = aggregateUsage(usage); + return formatUsageReport(summary, { + windowLabel: `last ${days} days`, + capacity: estimateCapacity(capacityUsage, snapshots), + }); +} + async function performSearch( query: string, urls?: string[], @@ -868,6 +890,17 @@ export async function setupV2(context: V2Context): Promise { + // One ledger row per response: the backend publishes no token + // allowance, so this is the only way to measure what a bucket holds. + recordUsage( + buildUsageEntry(usage, { + account: lastAttemptBySession.get(sessionKey)?.email, + model: prepared.effectiveModel, + session: sessionKey, + }), + ); + }, ); event.response = transformed; // If Google returned 429/403 or quota exceeded, inject x-should-retry: true into transformed response @@ -1256,6 +1289,26 @@ export async function setupV2(context: V2Context): Promise { + try { + const days = Math.min(Math.max(Math.round(args?.days ?? 7), 1), 90); + return { content: await getUsageReport(days) }; + } catch (error) { + return { content: `Error retrieving Antigravity usage: ${error instanceof Error ? error.message : String(error)}` }; + } + }, + }); + // antigravity_stats tool editor.add({ name: "antigravity_stats", @@ -1312,6 +1365,18 @@ export async function setupV2(context: V2Context): Promise { + try { + await deliver(sessionID, await getUsageReport(), delivery); + } catch (error) { + await deliver(sessionID, `Error: ${error instanceof Error ? error.message : String(error)}`, delivery); + } + }, + }); + editor.add({ name: "antigravity-stats", description: "View real-time engine statistics (request counts, health scores, and signature cache)",