diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ecaa31..91fab6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [2.4.3] - 2026-10-31 + +### Fixed + +- **`antigravity_stats` and `/antigravity-stats` reported "Sin actividad registrada aun" forever.** The v2 path never wrote to `EngineStatsManager`: it updated the account manager only, so the report was empty no matter how much traffic went through. Responses are now counted where they happen (success on the serving account, `429`/`403` as a rate limit, other failures as errors; a `404` entitlement miss is not charged as an error). +- **Counters were lost by the 1.5 s save debounce.** A one-shot `opencode run` exits before the timer fires, so those sessions left no trace. Writes are immediate. +- **A long-lived server showed its startup snapshot.** The report reloads `antigravity-stats.json` when another process has written it, and keeps unsaved increments when it is the writer. + +### Docs + +- **Engine statistics documented** (EN/ES): what is counted, why a `404` is not an error, and what the file contains. + ## [2.4.2] - 2026-10-31 ### Fixed diff --git a/dist/src/plugin/stats.d.ts b/dist/src/plugin/stats.d.ts index d811d02..93ccaab 100644 --- a/dist/src/plugin/stats.d.ts +++ b/dist/src/plugin/stats.d.ts @@ -28,10 +28,22 @@ export declare class EngineStatsManager { private data; private dirty; private saveTimer?; + private loadedMtimeMs; private constructor(); static getInstance(): EngineStatsManager; private defaultData; private load; + /** + * Picks up counters written by another process (a `opencode run --standalone` + * session, the CLI wrapper) so a long-lived server does not keep reporting the + * snapshot it loaded at startup. + */ + private refreshFromDisk; + /** + * Writes immediately. The previous 1.5 s debounce lost the counters of short + * lived processes (`opencode run` exits before the timer fires), which is why + * one-shot sessions never appeared in the report. + */ private scheduleSave; saveNow(): void; private getOrCreateAccount; diff --git a/dist/src/plugin/stats.d.ts.map b/dist/src/plugin/stats.d.ts.map index fed91ae..7de1586 100644 --- a/dist/src/plugin/stats.d.ts.map +++ b/dist/src/plugin/stats.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/plugin/stats.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3C,KAAK,EAAE,cAAc,CAAC;CACvB;AAID,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAC,CAAiB;IAEnC,OAAO;WAMO,WAAW,IAAI,kBAAkB;IAO/C,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,IAAI;IAsBZ,OAAO,CAAC,YAAY;IAQb,OAAO,IAAI,IAAI;IAmBtB,OAAO,CAAC,kBAAkB;IAanB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAWxD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAW1D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAWtD,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAM3D,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAItD,gBAAgB,CAAC,UAAU,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAK5G,OAAO,IAAI,eAAe;IAI1B,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;CA0CvD"} \ No newline at end of file +{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/plugin/stats.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3C,KAAK,EAAE,cAAc,CAAC;CACvB;AAID,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO;WAMO,WAAW,IAAI,kBAAkB;IAO/C,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,IAAI;IAwBZ;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAKb,OAAO,IAAI,IAAI;IAmBtB,OAAO,CAAC,kBAAkB;IAanB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAWxD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAW1D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAWtD,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAM3D,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAItD,gBAAgB,CAAC,UAAU,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAK5G,OAAO,IAAI,eAAe;IAK1B,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;CA2CvD"} \ No newline at end of file diff --git a/dist/src/plugin/stats.js b/dist/src/plugin/stats.js index 92b5a7d..833436f 100644 --- a/dist/src/plugin/stats.js +++ b/dist/src/plugin/stats.js @@ -1,5 +1,6 @@ -import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs"; +import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "node:fs"; import { join } from "node:path"; +import { env } from "node:process"; import { getOpencodeConfigDir } from "./config/updater"; import { createLogger } from "./logger"; import { shortEmail } from "./quota"; @@ -11,9 +12,10 @@ export class EngineStatsManager { data; dirty = false; saveTimer; + loadedMtimeMs = 0; constructor() { - const configDir = getOpencodeConfigDir(); - this.filePath = join(configDir, STATS_FILE_NAME); + const override = env.ANTIGRAVITY_STATS_PATH?.trim(); + this.filePath = override || join(getOpencodeConfigDir(), STATS_FILE_NAME); this.data = this.load(); } static getInstance() { @@ -37,8 +39,10 @@ export class EngineStatsManager { }; } load() { + this.loadedMtimeMs = 0; try { if (existsSync(this.filePath)) { + this.loadedMtimeMs = statSync(this.filePath).mtimeMs; const content = readFileSync(this.filePath, "utf-8"); const parsed = JSON.parse(content); if (parsed && typeof parsed === "object" && parsed.accounts) { @@ -58,13 +62,38 @@ export class EngineStatsManager { } return this.defaultData(); } + /** + * Picks up counters written by another process (a `opencode run --standalone` + * session, the CLI wrapper) so a long-lived server does not keep reporting the + * snapshot it loaded at startup. + */ + refreshFromDisk() { + // Unsaved local increments win over the file: reloading here would drop them. + if (this.dirty) { + return; + } + try { + if (!existsSync(this.filePath)) { + return; + } + const mtimeMs = statSync(this.filePath).mtimeMs; + if (mtimeMs <= this.loadedMtimeMs) { + return; + } + this.data = this.load(); + } + catch { + // A missing or unreadable file keeps the in-memory snapshot. + } + } + /** + * Writes immediately. The previous 1.5 s debounce lost the counters of short + * lived processes (`opencode run` exits before the timer fires), which is why + * one-shot sessions never appeared in the report. + */ scheduleSave() { this.dirty = true; - if (this.saveTimer) - return; - this.saveTimer = setTimeout(() => { - this.saveNow(); - }, 1500); + this.saveNow(); } saveNow() { if (this.saveTimer) { @@ -141,9 +170,11 @@ export class EngineStatsManager { this.scheduleSave(); } getData() { + this.refreshFromDisk(); return this.data; } formatStatsReport(activeEmail) { + this.refreshFromDisk(); const data = this.data; const lines = []; lines.push("==================== ANTIGRAVITY ENGINE STATS ===================="); diff --git a/dist/src/plugin/stats.js.map b/dist/src/plugin/stats.js.map index b4ba006..67b4dce 100644 --- a/dist/src/plugin/stats.js.map +++ b/dist/src/plugin/stats.js.map @@ -1 +1 @@ -{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/plugin/stats.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/plugin/stats.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 06bbcef..099b5d9 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 6620284..fd1dd63 100644 --- a/dist/src/v2/adapter.js +++ b/dist/src/v2/adapter.js @@ -294,6 +294,10 @@ export async function setupV2(context) { log.info("Initializing opencode-antigravity-auth in OpenCode v2 mode"); const pendingBySession = new Map(); const lastFailedMetaBySession = new Map(); + // Last attempt per session, used for engine stats. The pending queue cannot be + // used for this: the retry hook also dequeues, so a successful attempt after + // failures finds the queue empty and its success is never counted. + const lastAttemptBySession = new Map(); const transportFailureCountBySession = new Map(); const entitlementFailureCountBySession = new Map(); const MAX_CONSECUTIVE_TRANSPORT_FAILURES = 3; @@ -440,6 +444,7 @@ export async function setupV2(context) { modelName: modelName || prepared.effectiveModel || prepared.requestedModel, createdAt: Date.now(), }); + lastAttemptBySession.set(event.sessionID ?? "default", { email: account?.email, accountIndex: activeIndex }); // Audit dump of the exact body the backend receives, for // `antigravity-preflight --capture`. Header names only, never values. writeRequestAudit(prepared.init?.body, { @@ -453,6 +458,27 @@ export async function setupV2(context) { await context.session.hook("http.response", async (event) => { const sessionKey = event.sessionID ?? "default"; const entry = dequeuePending(sessionKey); + // Recorded before the `!entry` early return: after a 429 rotation the queue + // is empty for the attempt that finally succeeds, and that success is + // exactly the one worth counting. + if (!entry?.prepared?.blockedEarly) { + const attempt = lastAttemptBySession.get(sessionKey); + if (attempt?.email) { + const stats = EngineStatsManager.getInstance(); + const status = event.response?.status; + if (event.response?.ok) { + stats.recordSuccess(attempt.email); + } + else if (status === 429 || status === 403) { + stats.recordRateLimit(attempt.email); + } + else if (status !== 404) { + // A 404 entitlement miss is a capability mismatch, not account + // health: charging it as an error would penalise a healthy account. + stats.recordError(attempt.email); + } + } + } if (!entry || !entry.prepared) { return; } @@ -619,6 +645,12 @@ export async function setupV2(context) { } } const storage = await loadAccounts(); + // A transport drop that never produced a response is the only case the + // response hook cannot see; HTTP 429/403 are already counted there. + const failedEmail = status === undefined ? lastAttemptBySession.get(sessionKey)?.email : undefined; + if (isTransportFailure && failedEmail) { + EngineStatsManager.getInstance().recordError(failedEmail); + } if (!storage || storage.accounts.length <= 1) { if (isTransportFailure) { event.decision = { retry: true, delay: 500 }; @@ -995,6 +1027,7 @@ export async function setupV2(context) { return () => { pendingBySession.clear(); lastFailedMetaBySession.clear(); + lastAttemptBySession.clear(); log.info("Cleaning up opencode-antigravity-auth v2 adapter"); }; } diff --git a/dist/src/v2/adapter.js.map b/dist/src/v2/adapter.js.map index 29c7c36..cfec4b1 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 82e4fbf..b70fb4e 100644 --- a/docs/CONFIGURATION.es.md +++ b/docs/CONFIGURATION.es.md @@ -222,6 +222,22 @@ antigravity-preflight --capture ~/.config/opencode/antigravity-logs/last-request El archivo se reescribe en cada petición y solo existe mientras `debug` esté activo; trátalo como sensible, porque contiene tus prompts. +### Estadísticas del motor + +`/antigravity-stats` y el tool `antigravity_stats` leen `antigravity-stats.json` del +directorio de configuración de OpenCode y muestran, por cuenta, peticiones servidas +(`OK`), límites de tasa (`429`) y otros errores, más los contadores de la caché de +firmas de thinking. + +Cada respuesta se cuenta donde ocurre: el éxito en la cuenta que sirvió la petición, +el límite en la que devolvió `429`/`403`, y el error solo cuando la falla no es un +fallo de entitlement (un `404` por un modelo que esa cuenta no tiene es una +diferencia de capacidad, no de salud). Los contadores se escriben al instante, así +que un `opencode run` puntual también aparece, y un servidor de larga vida recarga el +archivo cuando otro proceso lo escribió. + +El archivo no es un log: solo conteos y marcas de tiempo, sin prompts. + --- ## Configuraciones recomendadas diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md index fa89992..b907ba3 100644 --- a/docs/CONFIGURATION.md +++ b/docs/CONFIGURATION.md @@ -217,6 +217,22 @@ antigravity-preflight --capture ~/.config/opencode/antigravity-logs/last-request The file is rewritten per request and only exists while `debug` is on; treat it as sensitive, since it contains your prompts. +### Engine statistics + +`/antigravity-stats` and the `antigravity_stats` tool read +`antigravity-stats.json` from the OpenCode config directory and show, per account, +requests served (`OK`), rate limits (`429`) and other errors, plus the thinking +signature cache counters. + +Every response is counted where it happens: a success on the account that served the +request, a rate limit on the account that returned `429`/`403`, and an error only +when the failure is not an entitlement miss (a `404` for a model that account lacks +is a capability mismatch, not bad health). Counters are written immediately, so a +one-shot `opencode run` shows up too, and a long-lived server reloads the file when +another process wrote it. + +The file is not a log: only counts and timestamps, no prompts. + --- ## Recommended Configs diff --git a/package.json b/package.json index fd9fcdc..d8791c0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opencode-antigravity-auth", - "version": "2.4.2", + "version": "2.4.3", "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/stats.test.ts b/src/plugin/stats.test.ts new file mode 100644 index 0000000..671cc7c --- /dev/null +++ b/src/plugin/stats.test.ts @@ -0,0 +1,97 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import { mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; + +describe("EngineStatsManager", () => { + let dir: string; + let statsPath: string; + + beforeEach(() => { + dir = mkdtempSync(join(tmpdir(), "antigravity-stats-")); + statsPath = join(dir, "antigravity-stats.json"); + process.env.ANTIGRAVITY_STATS_PATH = statsPath; + vi.resetModules(); + }); + + afterEach(() => { + delete process.env.ANTIGRAVITY_STATS_PATH; + rmSync(dir, { recursive: true, force: true }); + }); + + it("counts successes, rate limits and errors per account and persists them", async () => { + const { EngineStatsManager } = await import("./stats"); + const stats = EngineStatsManager.getInstance(); + + stats.recordSuccess("a@example.com"); + stats.recordSuccess("a@example.com"); + stats.recordRateLimit("a@example.com"); + stats.recordError("a@example.com"); + stats.recordSuccess("b@example.com"); + stats.saveNow(); + + const written = JSON.parse(readFileSync(statsPath, "utf8")); + expect(written.accounts["a@example.com"].requestsTotal).toBe(4); + expect(written.accounts["a@example.com"].requestsSuccess).toBe(2); + expect(written.accounts["a@example.com"].rateLimits429).toBe(1); + expect(written.accounts["a@example.com"].errorsOther).toBe(1); + expect(written.accounts["b@example.com"].requestsSuccess).toBe(1); + }); + + it("renders the report from the counters instead of the empty banner", async () => { + const { EngineStatsManager } = await import("./stats"); + const stats = EngineStatsManager.getInstance(); + + expect(stats.formatStatsReport()).toContain("Sin actividad registrada aun"); + + stats.recordSuccess("joshuaadair.hr@gmail.com"); + stats.recordRateLimit("joshuaadair.hr@gmail.com"); + + const report = stats.formatStatsReport("joshuaadair.hr@gmail.com"); + expect(report).not.toContain("Sin actividad registrada aun"); + expect(report).toContain("1/1/0"); + expect(report).toContain("ACTIVE"); + }); + + it("picks up counters written by another process", async () => { + const { EngineStatsManager } = await import("./stats"); + const stats = EngineStatsManager.getInstance(); + expect(stats.formatStatsReport()).toContain("Sin actividad registrada aun"); + + writeFileSync( + statsPath, + JSON.stringify({ + version: 1, + startedAt: Date.now(), + lastUpdated: Date.now(), + accounts: { + "external@example.com": { + email: "external@example.com", + requestsTotal: 3, + requestsSuccess: 3, + rateLimits429: 0, + errorsOther: 0, + }, + }, + cache: { memoryHits: 1, diskHits: 0, misses: 1, writes: 0 }, + }), + "utf8", + ); + + const report = stats.formatStatsReport(); + expect(report).toContain("3/0/0"); + expect(report).toContain("Memory Hits: 1"); + }); + + it("persists each event without waiting for a debounce", async () => { + // One-shot sessions (`opencode run`) exit before a timer would fire, so the + // counters have to be on disk when the record call returns. + const { EngineStatsManager } = await import("./stats"); + const stats = EngineStatsManager.getInstance(); + + stats.recordSuccess("immediate@example.com"); + + const written = JSON.parse(readFileSync(statsPath, "utf8")); + expect(written.accounts["immediate@example.com"].requestsSuccess).toBe(1); + }); +}); diff --git a/src/plugin/stats.ts b/src/plugin/stats.ts index 186dd8e..3a89378 100644 --- a/src/plugin/stats.ts +++ b/src/plugin/stats.ts @@ -1,5 +1,6 @@ -import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs"; +import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "node:fs"; import { join } from "node:path"; +import { env } from "node:process"; import { getOpencodeConfigDir } from "./config/updater"; import { createLogger } from "./logger"; import { shortEmail } from "./quota"; @@ -41,10 +42,11 @@ export class EngineStatsManager { private data: EngineStatsData; private dirty = false; private saveTimer?: NodeJS.Timeout; + private loadedMtimeMs = 0; private constructor() { - const configDir = getOpencodeConfigDir(); - this.filePath = join(configDir, STATS_FILE_NAME); + const override = env.ANTIGRAVITY_STATS_PATH?.trim(); + this.filePath = override || join(getOpencodeConfigDir(), STATS_FILE_NAME); this.data = this.load(); } @@ -71,8 +73,10 @@ export class EngineStatsManager { } private load(): EngineStatsData { + this.loadedMtimeMs = 0; try { if (existsSync(this.filePath)) { + this.loadedMtimeMs = statSync(this.filePath).mtimeMs; const content = readFileSync(this.filePath, "utf-8"); const parsed = JSON.parse(content); if (parsed && typeof parsed === "object" && parsed.accounts) { @@ -92,12 +96,38 @@ export class EngineStatsManager { return this.defaultData(); } + /** + * Picks up counters written by another process (a `opencode run --standalone` + * session, the CLI wrapper) so a long-lived server does not keep reporting the + * snapshot it loaded at startup. + */ + private refreshFromDisk(): void { + // Unsaved local increments win over the file: reloading here would drop them. + if (this.dirty) { + return; + } + try { + if (!existsSync(this.filePath)) { + return; + } + const mtimeMs = statSync(this.filePath).mtimeMs; + if (mtimeMs <= this.loadedMtimeMs) { + return; + } + this.data = this.load(); + } catch { + // A missing or unreadable file keeps the in-memory snapshot. + } + } + + /** + * Writes immediately. The previous 1.5 s debounce lost the counters of short + * lived processes (`opencode run` exits before the timer fires), which is why + * one-shot sessions never appeared in the report. + */ private scheduleSave(): void { this.dirty = true; - if (this.saveTimer) return; - this.saveTimer = setTimeout(() => { - this.saveNow(); - }, 1500); + this.saveNow(); } public saveNow(): void { @@ -181,10 +211,12 @@ export class EngineStatsManager { } public getData(): EngineStatsData { + this.refreshFromDisk(); return this.data; } public formatStatsReport(activeEmail?: string): string { + this.refreshFromDisk(); const data = this.data; const lines: string[] = []; diff --git a/src/v2/adapter.ts b/src/v2/adapter.ts index 8bb72b6..4886530 100644 --- a/src/v2/adapter.ts +++ b/src/v2/adapter.ts @@ -525,6 +525,10 @@ export async function setupV2(context: V2Context): Promise(); const lastFailedMetaBySession = new Map(); + // Last attempt per session, used for engine stats. The pending queue cannot be + // used for this: the retry hook also dequeues, so a successful attempt after + // failures finds the queue empty and its success is never counted. + const lastAttemptBySession = new Map(); const transportFailureCountBySession = new Map(); const entitlementFailureCountBySession = new Map(); const MAX_CONSECUTIVE_TRANSPORT_FAILURES = 3; @@ -707,6 +711,7 @@ export async function setupV2(context: V2Context): Promise { const sessionKey = event.sessionID ?? "default"; const entry = dequeuePending(sessionKey); + // Recorded before the `!entry` early return: after a 429 rotation the queue + // is empty for the attempt that finally succeeds, and that success is + // exactly the one worth counting. + if (!(entry?.prepared as { blockedEarly?: boolean } | undefined)?.blockedEarly) { + const attempt = lastAttemptBySession.get(sessionKey); + if (attempt?.email) { + const stats = EngineStatsManager.getInstance(); + const status = event.response?.status; + if (event.response?.ok) { + stats.recordSuccess(attempt.email); + } else if (status === 429 || status === 403) { + stats.recordRateLimit(attempt.email); + } else if (status !== 404) { + // A 404 entitlement miss is a capability mismatch, not account + // health: charging it as an error would penalise a healthy account. + stats.recordError(attempt.email); + } + } + } + if (!entry || !entry.prepared) { return; } @@ -920,6 +945,12 @@ export async function setupV2(context: V2Context): Promise { pendingBySession.clear(); lastFailedMetaBySession.clear(); + lastAttemptBySession.clear(); log.info("Cleaning up opencode-antigravity-auth v2 adapter"); }; }