@metyatech/ai-quota 0.9.5 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/codex.js CHANGED
@@ -1,9 +1,7 @@
1
- import { readFile, readdir, stat } from "node:fs/promises";
1
+ import { readFile } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
3
  import { homedir } from "node:os";
4
- // ---------------------------------------------------------------------------
5
- // Internal helpers
6
- // ---------------------------------------------------------------------------
4
+ import { QuotaFetchError } from "./errors.js";
7
5
  function resolveCodexHome(codexHome) {
8
6
  return codexHome ?? join(homedir(), ".codex");
9
7
  }
@@ -47,12 +45,8 @@ function clampPercent(value) {
47
45
  return 0;
48
46
  return Math.min(Math.max(value, 0), 100);
49
47
  }
50
- // ---------------------------------------------------------------------------
51
- // Public conversion utility
52
- // ---------------------------------------------------------------------------
53
48
  /**
54
- * Converts a raw `RateLimitSnapshot` (from JSONL session files or the HTTP
55
- * API) into a structured `CodexStatus` with labelled usage windows.
49
+ * Converts a raw `RateLimitSnapshot` into a structured `CodexStatus` with labelled usage windows.
56
50
  */
57
51
  export function rateLimitSnapshotToStatus(snapshot, now = new Date()) {
58
52
  const candidates = [
@@ -112,115 +106,45 @@ export function rateLimitSnapshotToStatus(snapshot, now = new Date()) {
112
106
  resetText: weeklyCandidate.data.resetAt.toISOString()
113
107
  });
114
108
  }
115
- if (windows.length === 0)
116
- return null;
117
- return {
118
- windows,
119
- credits: null,
120
- raw: JSON.stringify(snapshot)
121
- };
122
- }
123
- function convertJsonlRateLimits(entry, now) {
124
- const convertWindow = (w) => {
125
- if (!w || typeof w !== "object")
126
- return null;
127
- const used = w.used_percent ?? w.usedPercent;
128
- if (typeof used !== "number")
129
- return null;
130
- return {
131
- used_percent: used,
132
- window_minutes: w.window_minutes ?? w.window_duration_minutes ?? w.windowDurationMins ?? null,
133
- resets_at: w.resets_at ??
134
- w.resetsAt ??
135
- (typeof w.resets_in_seconds === "number"
136
- ? Math.floor(now.getTime() / 1000) + w.resets_in_seconds
137
- : null)
138
- };
139
- };
140
- return {
141
- primary: convertWindow(entry.primary),
142
- secondary: convertWindow(entry.secondary)
143
- };
109
+ return { windows, credits: typeof snapshot.credits === "number" ? snapshot.credits : null, raw: "" };
144
110
  }
145
- async function readCodexRateLimitsFromSessions(codexHome, now) {
146
- const sessionsDir = join(codexHome, "sessions");
147
- // Search from tomorrow to 7 days ago to handle time zone offsets
148
- for (let dayOffset = -1; dayOffset < 8; dayOffset++) {
149
- const date = new Date(now.getTime() - dayOffset * 86400000);
150
- const yyyy = date.getFullYear().toString();
151
- const mm = (date.getMonth() + 1).toString().padStart(2, "0");
152
- const dd = date.getDate().toString().padStart(2, "0");
153
- const dayDir = join(sessionsDir, yyyy, mm, dd);
154
- let files;
155
- try {
156
- const entries = await readdir(dayDir);
157
- const jsonlFiles = entries.filter((f) => f.endsWith(".jsonl"));
158
- if (jsonlFiles.length === 0)
159
- continue;
160
- // Sort by modification time (newest first)
161
- const withStats = await Promise.all(jsonlFiles.map(async (f) => {
162
- const fullPath = join(dayDir, f);
163
- try {
164
- const s = await stat(fullPath);
165
- return { name: f, mtimeMs: s.mtimeMs };
166
- }
167
- catch {
168
- return { name: f, mtimeMs: 0 };
169
- }
170
- }));
171
- withStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
172
- files = withStats.map((f) => join(dayDir, f.name));
173
- }
174
- catch {
175
- continue;
176
- }
177
- for (const filePath of files) {
178
- let content;
179
- try {
180
- content = await readFile(filePath, "utf8");
181
- }
182
- catch {
183
- continue;
184
- }
185
- const lines = content.split("\n");
186
- for (let i = lines.length - 1; i >= 0; i--) {
187
- const line = lines[i].trim();
188
- if (!line || !line.startsWith("{"))
189
- continue;
190
- try {
191
- const obj = JSON.parse(line);
192
- const payload = obj.payload;
193
- if (!payload || payload.type !== "token_count")
194
- continue;
195
- const rateLimits = payload.rate_limits ?? payload.info?.rate_limits;
196
- if (!rateLimits)
197
- continue;
198
- const result = convertJsonlRateLimits(rateLimits, now);
199
- if (result && (result.primary || result.secondary)) {
200
- return result;
201
- }
202
- }
203
- catch {
204
- continue;
205
- }
206
- }
111
+ async function readAuthJson(authPath) {
112
+ let raw;
113
+ try {
114
+ raw = await readFile(authPath, "utf8");
115
+ }
116
+ catch (e) {
117
+ const code = e?.code;
118
+ if (code === "ENOENT") {
119
+ throw new QuotaFetchError("no_credentials", `Codex auth.json not found at ${authPath}`, {
120
+ cause: e
121
+ });
207
122
  }
123
+ throw new QuotaFetchError("api_error", `Failed to read Codex auth.json at ${authPath}`, { cause: e });
208
124
  }
209
- return null;
210
- }
211
- async function fetchCodexRateLimitsFromApi(codexHome, timeoutMs, timingSink) {
212
- const authPath = join(codexHome, "auth.json");
213
- let auth;
214
125
  try {
215
- const raw = await readFile(authPath, "utf8");
216
- auth = JSON.parse(raw);
126
+ return JSON.parse(raw);
217
127
  }
218
- catch {
219
- return null;
128
+ catch (e) {
129
+ throw new QuotaFetchError("parse_error", `Failed to parse Codex auth.json at ${authPath}`, {
130
+ cause: e
131
+ });
220
132
  }
133
+ }
134
+ function reasonFromHttpStatus(status) {
135
+ if (status === 401 || status === 403)
136
+ return "auth_failed";
137
+ if (status === 404 || status === 410)
138
+ return "endpoint_changed";
139
+ return "api_error";
140
+ }
141
+ async function fetchCodexRateLimitsFromApi(codexHome, timeoutMs, timingSink) {
142
+ const authPath = join(codexHome, "auth.json");
143
+ const auth = await readAuthJson(authPath);
221
144
  const accessToken = auth?.tokens?.access_token;
222
- if (!accessToken)
223
- return null;
145
+ if (!accessToken) {
146
+ throw new QuotaFetchError("no_credentials", `Codex access_token missing in ${authPath}`);
147
+ }
224
148
  const accountId = auth?.tokens?.account_id ?? auth?.account_id;
225
149
  const headers = {
226
150
  Authorization: `Bearer ${accessToken}`,
@@ -230,91 +154,82 @@ async function fetchCodexRateLimitsFromApi(codexHome, timeoutMs, timingSink) {
230
154
  headers["chatgpt-account-id"] = accountId;
231
155
  }
232
156
  const controller = new AbortController();
233
- const timer = setTimeout(() => {
234
- controller.abort();
235
- }, timeoutMs);
157
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
236
158
  const apiStart = Date.now();
159
+ let response;
160
+ let bodyText = "";
237
161
  try {
238
- const response = await fetch("https://chatgpt.com/backend-api/wham/usage", {
162
+ response = await fetch("https://chatgpt.com/backend-api/wham/usage", {
239
163
  method: "GET",
240
164
  headers,
241
165
  signal: controller.signal
242
166
  });
243
- if (!response.ok)
244
- return null;
245
- const data = (await response.json());
167
+ bodyText = await response.text();
168
+ }
169
+ catch (e) {
170
+ if (e instanceof Error && e.name === "AbortError") {
171
+ throw new QuotaFetchError("timeout", "Codex usage request timed out.", { cause: e });
172
+ }
173
+ throw new QuotaFetchError("network_error", "Codex usage request failed.", { cause: e });
174
+ }
175
+ finally {
176
+ clearTimeout(timer);
246
177
  if (timingSink) {
247
178
  timingSink("api", Date.now() - apiStart);
248
179
  }
249
- const rateLimits = data["rate_limits"];
250
- if (typeof rateLimits !== "object" || rateLimits === null)
180
+ }
181
+ if (!response.ok) {
182
+ const reason = reasonFromHttpStatus(response.status);
183
+ throw new QuotaFetchError(reason, `Codex usage request failed (${response.status} ${response.statusText}).`, { httpStatus: response.status });
184
+ }
185
+ let data = null;
186
+ try {
187
+ data = bodyText.trim() ? JSON.parse(bodyText) : null;
188
+ }
189
+ catch (e) {
190
+ throw new QuotaFetchError("parse_error", "Codex usage response was not valid JSON.", { cause: e });
191
+ }
192
+ if (!data || typeof data !== "object") {
193
+ throw new QuotaFetchError("parse_error", "Codex usage response missing JSON object.");
194
+ }
195
+ const record = data;
196
+ const rateLimits = record["rate_limits"];
197
+ if (!rateLimits || typeof rateLimits !== "object") {
198
+ throw new QuotaFetchError("parse_error", "Codex usage response missing rate_limits.");
199
+ }
200
+ const now = new Date();
201
+ const nowSecs = Math.floor(now.getTime() / 1000);
202
+ const rl = rateLimits;
203
+ const convertApiWindow = (w) => {
204
+ if (typeof w !== "object" || w === null)
251
205
  return null;
252
- const now = new Date();
253
- const nowSecs = Math.floor(now.getTime() / 1000);
254
- const rl = rateLimits;
255
- const convertApiWindow = (w) => {
256
- if (typeof w !== "object" || w === null)
257
- return null;
258
- const ww = w;
259
- const usedPercent = ww["used_percent"];
260
- if (typeof usedPercent !== "number")
261
- return null;
262
- const limitWindowSeconds = ww["limit_window_seconds"];
263
- const resetAfterSeconds = ww["reset_after_seconds"];
264
- return {
265
- used_percent: usedPercent,
266
- windowDurationMins: typeof limitWindowSeconds === "number" ? limitWindowSeconds / 60 : null,
267
- resetsAt: typeof resetAfterSeconds === "number" ? nowSecs + resetAfterSeconds : null
268
- };
269
- };
206
+ const ww = w;
207
+ const usedPercent = ww["used_percent"];
208
+ if (typeof usedPercent !== "number")
209
+ return null;
210
+ const limitWindowSeconds = ww["limit_window_seconds"];
211
+ const resetAfterSeconds = ww["reset_after_seconds"];
270
212
  return {
271
- primary: convertApiWindow(rl["primary"]),
272
- secondary: convertApiWindow(rl["secondary"])
213
+ used_percent: usedPercent,
214
+ windowDurationMins: typeof limitWindowSeconds === "number" ? limitWindowSeconds / 60 : null,
215
+ resetsAt: typeof resetAfterSeconds === "number" ? nowSecs + resetAfterSeconds : null
273
216
  };
217
+ };
218
+ const primary = convertApiWindow(rl["primary"]);
219
+ const secondary = convertApiWindow(rl["secondary"]);
220
+ if (!primary && !secondary) {
221
+ throw new QuotaFetchError("parse_error", "Codex usage response missing primary/secondary windows.");
274
222
  }
275
- catch {
276
- return null;
277
- }
278
- finally {
279
- clearTimeout(timer);
280
- }
223
+ return { primary, secondary };
281
224
  }
282
- // ---------------------------------------------------------------------------
283
- // Main export
284
- // ---------------------------------------------------------------------------
285
225
  /**
286
- * Fetches Codex (ChatGPT) rate limit data.
226
+ * Fetches Codex (ChatGPT) rate limit data from the remote ChatGPT backend API.
287
227
  *
288
- * This function uses a prioritized strategy to find usage data:
289
- * 1. Reads the most recent JSONL session file from `~/.codex/sessions/`.
290
- * This is the fastest method and handles both modern and legacy log formats.
291
- * 2. If no session data is found, it attempts to call the ChatGPT backend API
292
- * using the access token found in `~/.codex/auth.json`.
293
- *
294
- * @param options - Configuration for file paths and timeouts
295
- * @returns A promise resolving to a RateLimitSnapshot or null if no source is available
228
+ * Reads credentials from `~/.codex/auth.json` and calls the `/backend-api/wham/usage` endpoint.
296
229
  */
297
230
  export async function fetchCodexRateLimits(options) {
298
- const totalStart = Date.now();
299
231
  const codexHome = resolveCodexHome(options?.codexHome);
300
232
  const timeoutSeconds = options?.timeoutSeconds ?? 20;
301
- const timingSink = options?.timingSink;
302
- const sessionsStart = Date.now();
303
- const now = new Date();
304
- const sessionResult = await readCodexRateLimitsFromSessions(codexHome, now);
305
- if (timingSink) {
306
- timingSink("sessions", Date.now() - sessionsStart);
307
- }
308
- if (sessionResult !== null) {
309
- if (timingSink) {
310
- timingSink("total", Date.now() - totalStart);
311
- }
312
- return sessionResult;
313
- }
314
- const apiResult = await fetchCodexRateLimitsFromApi(codexHome, timeoutSeconds * 1000, timingSink);
315
- if (timingSink) {
316
- timingSink("total", Date.now() - totalStart);
317
- }
318
- return apiResult;
233
+ return fetchCodexRateLimitsFromApi(codexHome, timeoutSeconds * 1000, options?.timingSink);
319
234
  }
320
235
  //# sourceMappingURL=codex.js.map
package/dist/codex.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../src/copilot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,OAAe,GAAG,MAAM,GAAG,IAAI,CA0CvE;AAKD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AA4BF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,IAAiB,GAAG,YAAY,GAAG,IAAI,CA8BhG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,GAAG,GAAE,IAAiB,GACrB,YAAY,GAAG,IAAI,CA6BrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,EACtC,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAmD9B"}
1
+ {"version":3,"file":"copilot.d.ts","sourceRoot":"","sources":["../src/copilot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,OAAe,GAAG,MAAM,GAAG,IAAI,CA0CvE;AAKD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AA4BF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,IAAiB,GAAG,YAAY,GAAG,IAAI,CA8BhG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,GAAG,GAAE,IAAiB,GACrB,YAAY,GAAG,IAAI,CA6BrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,EACtC,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAgE9B"}
package/dist/copilot.js CHANGED
@@ -2,6 +2,7 @@ import fs from "node:fs";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
4
  import { execSync } from "node:child_process";
5
+ import { QuotaFetchError } from "./errors.js";
5
6
  /**
6
7
  * Resolves a GitHub Copilot token from environment variables,
7
8
  * local GitHub CLI configuration files, or the 'gh' CLI command.
@@ -189,7 +190,12 @@ export async function fetchCopilotRateLimits(options, now = new Date()) {
189
190
  const headerUsage = headerValue ? parseCopilotQuotaHeader(headerValue, now) : null;
190
191
  const bodyText = await response.text();
191
192
  if (!response.ok) {
192
- throw new Error(`Copilot user info request failed (${response.status} ${response.statusText}).`);
193
+ const reason = response.status === 401 || response.status === 403
194
+ ? "auth_failed"
195
+ : response.status === 404 || response.status === 410
196
+ ? "endpoint_changed"
197
+ : "api_error";
198
+ throw new QuotaFetchError(reason, `Copilot user info request failed (${response.status} ${response.statusText}).`, { httpStatus: response.status });
193
199
  }
194
200
  let parsed = null;
195
201
  if (bodyText.trim()) {
@@ -201,13 +207,19 @@ export async function fetchCopilotRateLimits(options, now = new Date()) {
201
207
  }
202
208
  }
203
209
  const usage = parseCopilotUserInfo(parsed, now);
204
- return usage ?? headerUsage;
210
+ const out = usage ?? headerUsage;
211
+ if (!out) {
212
+ throw new QuotaFetchError("parse_error", "Copilot API response missing quota fields.");
213
+ }
214
+ return out;
205
215
  }
206
216
  catch (error) {
217
+ if (error instanceof QuotaFetchError)
218
+ throw error;
207
219
  if (error instanceof Error && error.name === "AbortError") {
208
- throw new Error("Copilot user info request timed out.");
220
+ throw new QuotaFetchError("timeout", "Copilot user info request timed out.", { cause: error });
209
221
  }
210
- throw error;
222
+ throw new QuotaFetchError("network_error", "Copilot user info request failed.", { cause: error });
211
223
  }
212
224
  finally {
213
225
  clearTimeout(timeout);
@@ -1 +1 @@
1
- {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../src/copilot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../src/copilot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ErrorReason } from "./types.js";
2
+ export declare class QuotaFetchError extends Error {
3
+ readonly reason: ErrorReason;
4
+ readonly httpStatus?: number;
5
+ constructor(reason: ErrorReason, message: string, options?: {
6
+ httpStatus?: number;
7
+ cause?: unknown;
8
+ });
9
+ }
10
+ export declare function isQuotaFetchError(e: unknown): e is QuotaFetchError;
11
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;gBAG3B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CASrD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAKlE"}
package/dist/errors.js ADDED
@@ -0,0 +1,21 @@
1
+ export class QuotaFetchError extends Error {
2
+ reason;
3
+ httpStatus;
4
+ constructor(reason, message, options) {
5
+ // Node 18 supports ErrorOptions, but keep this compatible even if it's ignored.
6
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
+ super(message, options);
8
+ this.name = "QuotaFetchError";
9
+ this.reason = reason;
10
+ this.httpStatus = options?.httpStatus;
11
+ }
12
+ }
13
+ export function isQuotaFetchError(e) {
14
+ if (e instanceof QuotaFetchError)
15
+ return true;
16
+ if (!e || typeof e !== "object")
17
+ return false;
18
+ const r = e;
19
+ return r.name === "QuotaFetchError" && typeof r.reason === "string";
20
+ }
21
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,MAAM,CAAc;IACpB,UAAU,CAAU;IAE7B,YACE,MAAmB,EACnB,OAAe,EACf,OAAkD;QAElD,gFAAgF;QAChF,8DAA8D;QAC9D,KAAK,CAAC,OAAO,EAAE,OAAc,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;IACxC,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,CAAU;IAC1C,IAAI,CAAC,YAAY,eAAe;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAyC,CAAC;IACpD,OAAO,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;AACtE,CAAC"}
package/dist/gemini.d.ts CHANGED
@@ -3,14 +3,7 @@ export type { GeminiUsage, GeminiModelUsage } from "./types.js";
3
3
  /**
4
4
  * Fetches Gemini quota usage from the Cloud Code Assist API.
5
5
  *
6
- * This function performs a multi-step OAuth process:
7
- * 1. Reads credentials from `~/.gemini/oauth_creds.json`.
8
- * 2. Automatically refreshes the access token if it's missing or expired.
9
- * 3. Calls the `loadCodeAssist` API to identify the active project.
10
- * 4. Calls the `retrieveUserQuota` API to get the actual usage metrics.
11
- *
12
- * @returns A promise resolving to GeminiUsage or null if the process fails.
13
- * The returned object contains per-model usage data for Pro and Flash models.
6
+ * @param timeoutMs - Per-request timeout in milliseconds (default: 10000ms)
14
7
  */
15
- export declare function fetchGeminiRateLimits(): Promise<GeminiUsage | null>;
8
+ export declare function fetchGeminiRateLimits(timeoutMs?: number): Promise<GeminiUsage>;
16
9
  //# sourceMappingURL=gemini.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../src/gemini.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAsNhE;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAmFzE"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../src/gemini.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA+PhE;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAiG3F"}