@slkiser/opencode-quota 2.14.0 → 2.16.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.
Files changed (152) hide show
  1. package/README.md +113 -34
  2. package/dist/index.d.ts +5 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +12 -6
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/alibaba-auth.d.ts +25 -0
  7. package/dist/lib/alibaba-auth.d.ts.map +1 -1
  8. package/dist/lib/alibaba-auth.js +82 -8
  9. package/dist/lib/alibaba-auth.js.map +1 -1
  10. package/dist/lib/api-key-resolver.d.ts +37 -4
  11. package/dist/lib/api-key-resolver.d.ts.map +1 -1
  12. package/dist/lib/api-key-resolver.js +83 -23
  13. package/dist/lib/api-key-resolver.js.map +1 -1
  14. package/dist/lib/atomic-json.d.ts +5 -0
  15. package/dist/lib/atomic-json.d.ts.map +1 -0
  16. package/dist/lib/atomic-json.js +33 -0
  17. package/dist/lib/atomic-json.js.map +1 -0
  18. package/dist/lib/chutes-config.d.ts.map +1 -1
  19. package/dist/lib/chutes-config.js +7 -39
  20. package/dist/lib/chutes-config.js.map +1 -1
  21. package/dist/lib/chutes.d.ts +1 -2
  22. package/dist/lib/chutes.d.ts.map +1 -1
  23. package/dist/lib/chutes.js +5 -14
  24. package/dist/lib/chutes.js.map +1 -1
  25. package/dist/lib/cursor-detection.d.ts.map +1 -1
  26. package/dist/lib/cursor-detection.js +3 -3
  27. package/dist/lib/cursor-detection.js.map +1 -1
  28. package/dist/lib/cursor-pricing.d.ts.map +1 -1
  29. package/dist/lib/cursor-pricing.js +2 -2
  30. package/dist/lib/cursor-pricing.js.map +1 -1
  31. package/dist/lib/cursor-usage.d.ts.map +1 -1
  32. package/dist/lib/cursor-usage.js +6 -29
  33. package/dist/lib/cursor-usage.js.map +1 -1
  34. package/dist/lib/firmware-config.d.ts.map +1 -1
  35. package/dist/lib/firmware-config.js +7 -40
  36. package/dist/lib/firmware-config.js.map +1 -1
  37. package/dist/lib/firmware.d.ts +1 -2
  38. package/dist/lib/firmware.d.ts.map +1 -1
  39. package/dist/lib/firmware.js +7 -16
  40. package/dist/lib/firmware.js.map +1 -1
  41. package/dist/lib/google.d.ts +10 -0
  42. package/dist/lib/google.d.ts.map +1 -1
  43. package/dist/lib/google.js +82 -16
  44. package/dist/lib/google.js.map +1 -1
  45. package/dist/lib/minimax-auth.d.ts +25 -2
  46. package/dist/lib/minimax-auth.d.ts.map +1 -1
  47. package/dist/lib/minimax-auth.js +74 -7
  48. package/dist/lib/minimax-auth.js.map +1 -1
  49. package/dist/lib/modelsdev-pricing.d.ts.map +1 -1
  50. package/dist/lib/modelsdev-pricing.js +8 -36
  51. package/dist/lib/modelsdev-pricing.js.map +1 -1
  52. package/dist/lib/nanogpt-config.d.ts.map +1 -1
  53. package/dist/lib/nanogpt-config.js +7 -36
  54. package/dist/lib/nanogpt-config.js.map +1 -1
  55. package/dist/lib/nanogpt.d.ts +1 -2
  56. package/dist/lib/nanogpt.d.ts.map +1 -1
  57. package/dist/lib/nanogpt.js +5 -14
  58. package/dist/lib/nanogpt.js.map +1 -1
  59. package/dist/lib/openai.d.ts +21 -2
  60. package/dist/lib/openai.d.ts.map +1 -1
  61. package/dist/lib/openai.js +53 -15
  62. package/dist/lib/openai.js.map +1 -1
  63. package/dist/lib/opencode-go-config.d.ts +35 -0
  64. package/dist/lib/opencode-go-config.d.ts.map +1 -0
  65. package/dist/lib/opencode-go-config.js +124 -0
  66. package/dist/lib/opencode-go-config.js.map +1 -0
  67. package/dist/lib/opencode-go.d.ts +15 -0
  68. package/dist/lib/opencode-go.d.ts.map +1 -0
  69. package/dist/lib/opencode-go.js +88 -0
  70. package/dist/lib/opencode-go.js.map +1 -0
  71. package/dist/lib/provider-availability.d.ts +6 -0
  72. package/dist/lib/provider-availability.d.ts.map +1 -1
  73. package/dist/lib/provider-availability.js +9 -0
  74. package/dist/lib/provider-availability.js.map +1 -1
  75. package/dist/lib/provider-metadata.d.ts +18 -0
  76. package/dist/lib/provider-metadata.d.ts.map +1 -1
  77. package/dist/lib/provider-metadata.js +120 -1
  78. package/dist/lib/provider-metadata.js.map +1 -1
  79. package/dist/lib/quota-command-format.d.ts +0 -5
  80. package/dist/lib/quota-command-format.d.ts.map +1 -1
  81. package/dist/lib/quota-command-format.js +1 -1
  82. package/dist/lib/quota-command-format.js.map +1 -1
  83. package/dist/lib/quota-stats-format.d.ts.map +1 -1
  84. package/dist/lib/quota-stats-format.js +10 -13
  85. package/dist/lib/quota-stats-format.js.map +1 -1
  86. package/dist/lib/quota-stats.d.ts +2 -7
  87. package/dist/lib/quota-stats.d.ts.map +1 -1
  88. package/dist/lib/quota-stats.js +17 -43
  89. package/dist/lib/quota-stats.js.map +1 -1
  90. package/dist/lib/quota-status.d.ts.map +1 -1
  91. package/dist/lib/quota-status.js +214 -91
  92. package/dist/lib/quota-status.js.map +1 -1
  93. package/dist/lib/qwen-auth.d.ts +4 -0
  94. package/dist/lib/qwen-auth.d.ts.map +1 -1
  95. package/dist/lib/qwen-auth.js +6 -6
  96. package/dist/lib/qwen-auth.js.map +1 -1
  97. package/dist/lib/qwen-local-quota.d.ts.map +1 -1
  98. package/dist/lib/qwen-local-quota.js +5 -33
  99. package/dist/lib/qwen-local-quota.js.map +1 -1
  100. package/dist/lib/token-buckets.d.ts +24 -0
  101. package/dist/lib/token-buckets.d.ts.map +1 -0
  102. package/dist/lib/token-buckets.js +32 -0
  103. package/dist/lib/token-buckets.js.map +1 -0
  104. package/dist/lib/types.d.ts +25 -26
  105. package/dist/lib/types.d.ts.map +1 -1
  106. package/dist/lib/types.js +10 -2
  107. package/dist/lib/types.js.map +1 -1
  108. package/dist/lib/zai-auth.d.ts +38 -0
  109. package/dist/lib/zai-auth.d.ts.map +1 -0
  110. package/dist/lib/zai-auth.js +107 -0
  111. package/dist/lib/zai-auth.js.map +1 -0
  112. package/dist/lib/zai.d.ts.map +1 -1
  113. package/dist/lib/zai.js +17 -17
  114. package/dist/lib/zai.js.map +1 -1
  115. package/dist/plugin.d.ts.map +1 -1
  116. package/dist/plugin.js +81 -67
  117. package/dist/plugin.js.map +1 -1
  118. package/dist/providers/anthropic.js +3 -3
  119. package/dist/providers/anthropic.js.map +1 -1
  120. package/dist/providers/chutes.d.ts.map +1 -1
  121. package/dist/providers/chutes.js +8 -10
  122. package/dist/providers/chutes.js.map +1 -1
  123. package/dist/providers/copilot.d.ts.map +1 -1
  124. package/dist/providers/copilot.js +6 -8
  125. package/dist/providers/copilot.js.map +1 -1
  126. package/dist/providers/cursor.js +3 -3
  127. package/dist/providers/cursor.js.map +1 -1
  128. package/dist/providers/firmware.d.ts.map +1 -1
  129. package/dist/providers/firmware.js +8 -11
  130. package/dist/providers/firmware.js.map +1 -1
  131. package/dist/providers/google-antigravity.d.ts.map +1 -1
  132. package/dist/providers/google-antigravity.js +4 -14
  133. package/dist/providers/google-antigravity.js.map +1 -1
  134. package/dist/providers/minimax-coding-plan.js +3 -3
  135. package/dist/providers/minimax-coding-plan.js.map +1 -1
  136. package/dist/providers/nanogpt.d.ts.map +1 -1
  137. package/dist/providers/nanogpt.js +2 -13
  138. package/dist/providers/nanogpt.js.map +1 -1
  139. package/dist/providers/openai.d.ts.map +1 -1
  140. package/dist/providers/openai.js +8 -4
  141. package/dist/providers/openai.js.map +1 -1
  142. package/dist/providers/opencode-go.d.ts +9 -0
  143. package/dist/providers/opencode-go.d.ts.map +1 -0
  144. package/dist/providers/opencode-go.js +80 -0
  145. package/dist/providers/opencode-go.js.map +1 -0
  146. package/dist/providers/registry.d.ts.map +1 -1
  147. package/dist/providers/registry.js +2 -0
  148. package/dist/providers/registry.js.map +1 -1
  149. package/dist/providers/zai.d.ts.map +1 -1
  150. package/dist/providers/zai.js +19 -12
  151. package/dist/providers/zai.js.map +1 -1
  152. package/package.json +1 -1
@@ -2,27 +2,33 @@ import { stat } from "fs/promises";
2
2
  import { getAuthPath, getAuthPaths, readAuthFileCached } from "./opencode-auth.js";
3
3
  import { getOpencodeRuntimeDirs } from "./opencode-runtime-paths.js";
4
4
  import { getGoogleTokenCachePath } from "./google-token-cache.js";
5
- import { getAntigravityAccountsCandidatePaths, readAntigravityAccounts } from "./google.js";
5
+ import { inspectAntigravityAccountsPresence } from "./google.js";
6
6
  import { getAnthropicDiagnostics } from "./anthropic.js";
7
7
  import { getFirmwareKeyDiagnostics } from "./firmware.js";
8
8
  import { getChutesKeyDiagnostics } from "./chutes.js";
9
9
  import { getNanoGptKeyDiagnostics, queryNanoGptQuota } from "./nanogpt.js";
10
10
  import { getCopilotQuotaAuthDiagnostics } from "./copilot.js";
11
11
  import { computeAlibabaCodingPlanQuota, computeQwenQuota, getAlibabaCodingPlanQuotaPath, getQwenLocalQuotaPath, readAlibabaCodingPlanQuotaState, readQwenLocalQuotaState, } from "./qwen-local-quota.js";
12
- import { hasAlibabaAuth, resolveAlibabaCodingPlanAuth, } from "./alibaba-auth.js";
12
+ import { DEFAULT_ALIBABA_AUTH_CACHE_MAX_AGE_MS, getAlibabaCodingPlanAuthDiagnostics, resolveAlibabaCodingPlanAuthCached, } from "./alibaba-auth.js";
13
13
  import { hasQwenOAuthAuth, resolveQwenLocalPlan } from "./qwen-auth.js";
14
- import { DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS, resolveMiniMaxAuthCached, } from "./minimax-auth.js";
14
+ import { resolveOpenAIOAuth } from "./openai.js";
15
+ import { DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS, getMiniMaxAuthDiagnostics, resolveMiniMaxAuthCached, } from "./minimax-auth.js";
16
+ import { DEFAULT_ZAI_AUTH_CACHE_MAX_AGE_MS, getZaiAuthDiagnostics } from "./zai-auth.js";
15
17
  import { getPricingSnapshotHealth, getPricingRefreshPolicy, getPricingSnapshotMeta, getPricingSnapshotSource, getRuntimePricingRefreshStatePath, getRuntimePricingSnapshotPath, listProviders, getProviderModelCount, hasProvider as snapshotHasProvider, readPricingRefreshState, } from "./modelsdev-pricing.js";
16
18
  import { getProviders } from "../providers/registry.js";
17
19
  import { getPackageVersion } from "./version.js";
18
20
  import { getOpenCodeDbPath, getOpenCodeDbPathCandidates, getOpenCodeDbStats, } from "./opencode-storage.js";
19
21
  import { aggregateUsage } from "./quota-stats.js";
20
22
  import { fmtUsdAmount, renderCommandHeading } from "./format-utils.js";
23
+ import { totalTokenBuckets } from "./token-buckets.js";
21
24
  import { inspectCursorAuthPresence, inspectCursorOpenCodeIntegration } from "./cursor-detection.js";
22
25
  import { getCurrentCursorUsageSummary } from "./cursor-usage.js";
23
26
  import { sanitizeDisplayText } from "./display-sanitize.js";
24
- import { getCursorPlanDisplayName, getEffectiveCursorIncludedApiUsd, } from "./cursor-pricing.js";
27
+ import { getCursorPlanDisplayName, getEffectiveCursorIncludedApiUsd } from "./cursor-pricing.js";
25
28
  import { queryMiniMaxQuota } from "../providers/minimax-coding-plan.js";
29
+ import { queryZaiQuota } from "./zai.js";
30
+ import { getOpenCodeGoConfigDiagnostics, resolveOpenCodeGoConfigCached, DEFAULT_OPENCODE_GO_CONFIG_CACHE_MAX_AGE_MS, } from "./opencode-go-config.js";
31
+ import { queryOpenCodeGoQuota } from "./opencode-go.js";
26
32
  async function pathExists(path) {
27
33
  try {
28
34
  await stat(path);
@@ -35,13 +41,55 @@ async function pathExists(path) {
35
41
  function fmtInt(n) {
36
42
  return Math.trunc(n).toLocaleString("en-US");
37
43
  }
38
- function tokensTotal(t) {
39
- return t.input + t.output + t.reasoning + t.cache_read + t.cache_write;
40
- }
41
44
  const STATUS_SAMPLE_LIMIT = 5;
42
45
  function joinOrNone(values) {
43
46
  return values.length > 0 ? values.join(" | ") : "(none)";
44
47
  }
48
+ function getDefaultBasicApiKeyDiagnostics() {
49
+ return {
50
+ configured: false,
51
+ source: null,
52
+ checkedPaths: [],
53
+ };
54
+ }
55
+ async function readBasicApiKeyDiagnostics(read) {
56
+ try {
57
+ return await read();
58
+ }
59
+ catch {
60
+ return getDefaultBasicApiKeyDiagnostics();
61
+ }
62
+ }
63
+ function formatInlineApiKeyDiagnostics(label, diagnostics) {
64
+ return `- ${label}: configured=${diagnostics.configured ? "true" : "false"}${diagnostics.source ? ` source=${diagnostics.source}` : ""}${diagnostics.checkedPaths.length > 0 ? ` checked=${diagnostics.checkedPaths.join(" | ")}` : ""}`;
65
+ }
66
+ function appendBasicApiKeySection(params) {
67
+ params.lines.push("");
68
+ params.lines.push(params.section);
69
+ params.lines.push(formatInlineApiKeyDiagnostics(params.label, params.diagnostics));
70
+ }
71
+ function getDefaultNanoGptApiKeyDiagnostics() {
72
+ return {
73
+ ...getDefaultBasicApiKeyDiagnostics(),
74
+ authPaths: [],
75
+ };
76
+ }
77
+ async function readNanoGptApiKeyDiagnostics(read) {
78
+ try {
79
+ return await read();
80
+ }
81
+ catch {
82
+ return getDefaultNanoGptApiKeyDiagnostics();
83
+ }
84
+ }
85
+ function appendNanoGptApiKeySection(lines, diagnostics) {
86
+ lines.push("");
87
+ lines.push("nanogpt:");
88
+ lines.push(`- api_key_configured: ${diagnostics.configured ? "true" : "false"}`);
89
+ lines.push(`- api_key_source: ${diagnostics.source ?? "(none)"}`);
90
+ lines.push(`- api_key_checked_paths: ${joinOrNone(diagnostics.checkedPaths)}`);
91
+ lines.push(`- api_key_auth_paths: ${joinOrNone(diagnostics.authPaths)}`);
92
+ }
45
93
  function fmtNanoGptMetric(value) {
46
94
  if (!Number.isFinite(value))
47
95
  return "0";
@@ -131,6 +179,13 @@ function supportedProviderPricingRow(params) {
131
179
  notes: "subscription request quota + account balance (not token-priced)",
132
180
  };
133
181
  }
182
+ if (id === "opencode-go") {
183
+ return {
184
+ id,
185
+ pricing: "no",
186
+ notes: "subscription percentage quota via dashboard scraping (not token-priced)",
187
+ };
188
+ }
134
189
  // Providers that correspond directly to models.dev providers.
135
190
  if (params.snapshotProviders.includes(id)) {
136
191
  return { id, pricing: "yes", notes: "models.dev snapshot provider" };
@@ -222,13 +277,40 @@ export async function buildQuotaStatusReport(params) {
222
277
  const authData = await readAuthFileCached({ maxAgeMs: 5_000 });
223
278
  const qwenAuthConfigured = hasQwenOAuthAuth(authData);
224
279
  const qwenLocalPlan = resolveQwenLocalPlan(authData);
225
- const alibabaAuthConfigured = hasAlibabaAuth(authData);
226
- const alibabaCodingPlanAuth = resolveAlibabaCodingPlanAuth(authData, params.alibabaCodingPlanTier);
280
+ const openaiAuth = resolveOpenAIOAuth(authData);
281
+ const alibabaAuthDiagnostics = await getAlibabaCodingPlanAuthDiagnostics({
282
+ maxAgeMs: DEFAULT_ALIBABA_AUTH_CACHE_MAX_AGE_MS,
283
+ fallbackTier: params.alibabaCodingPlanTier,
284
+ });
285
+ const alibabaCodingPlanAuth = await resolveAlibabaCodingPlanAuthCached({
286
+ maxAgeMs: DEFAULT_ALIBABA_AUTH_CACHE_MAX_AGE_MS,
287
+ fallbackTier: params.alibabaCodingPlanTier,
288
+ });
227
289
  lines.push(`- qwen oauth auth configured: ${qwenAuthConfigured ? "true" : "false"}`);
290
+ lines.push(`- qwen_oauth_source: ${qwenLocalPlan.state === "qwen_free" ? qwenLocalPlan.sourceKey : "(none)"}`);
228
291
  lines.push(`- qwen_local_plan: ${qwenLocalPlan.state === "qwen_free" ? "qwen-code/free" : "(none)"}`);
229
- lines.push(`- alibaba auth configured: ${alibabaAuthConfigured ? "true" : "false"}`);
292
+ lines.push(`- alibaba auth configured: ${alibabaAuthDiagnostics.state === "none" ? "false" : "true"}`);
293
+ lines.push(`- alibaba_api_key_source: ${alibabaAuthDiagnostics.source ?? "(none)"}`);
294
+ lines.push(`- alibaba_api_key_checked_paths: ${joinOrNone(alibabaAuthDiagnostics.checkedPaths)}`);
295
+ lines.push(`- alibaba_api_key_auth_paths: ${joinOrNone(alibabaAuthDiagnostics.authPaths)}`);
230
296
  lines.push(`- alibaba coding plan fallback tier: ${params.alibabaCodingPlanTier}`);
231
- lines.push(`- alibaba_coding_plan: ${alibabaCodingPlanAuth.state === "configured" ? alibabaCodingPlanAuth.tier : alibabaCodingPlanAuth.state === "invalid" ? "invalid" : "(none)"}`);
297
+ lines.push(`- alibaba_coding_plan: ${alibabaAuthDiagnostics.state === "configured" ? alibabaAuthDiagnostics.tier : alibabaAuthDiagnostics.state === "invalid" ? "invalid" : "(none)"}`);
298
+ if (alibabaAuthDiagnostics.state === "invalid") {
299
+ lines.push(`- alibaba_auth_error: ${sanitizeDisplayText(alibabaAuthDiagnostics.error)}`);
300
+ }
301
+ lines.push("");
302
+ lines.push("openai:");
303
+ lines.push(`- auth_configured: ${openaiAuth.state === "configured" ? "true" : "false"}`);
304
+ lines.push(`- auth_source: ${openaiAuth.state === "configured" ? openaiAuth.sourceKey : "(none)"}`);
305
+ const openaiTokenStatus = openaiAuth.state !== "configured"
306
+ ? "(none)"
307
+ : openaiAuth.expiresAt && openaiAuth.expiresAt < Date.now()
308
+ ? "expired"
309
+ : "valid";
310
+ lines.push(`- token_status: ${openaiTokenStatus}`);
311
+ lines.push(`- token_expires_at: ${openaiAuth.state === "configured" && openaiAuth.expiresAt ? new Date(openaiAuth.expiresAt).toISOString() : "(none)"}`);
312
+ lines.push(`- account_email: ${openaiAuth.state === "configured" && openaiAuth.email ? sanitizeDisplayText(openaiAuth.email) : "(none)"}`);
313
+ lines.push(`- account_id: ${openaiAuth.state === "configured" && openaiAuth.accountId ? sanitizeDisplayText(openaiAuth.accountId) : "(none)"}`);
232
314
  lines.push("");
233
315
  lines.push("anthropic:");
234
316
  try {
@@ -327,81 +409,128 @@ export async function buildQuotaStatusReport(params) {
327
409
  }
328
410
  lines.push("");
329
411
  lines.push("minimax:");
330
- const minimaxAuth = await resolveMiniMaxAuthCached({
412
+ const minimaxAuth = await getMiniMaxAuthDiagnostics({
331
413
  maxAgeMs: DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS,
332
414
  });
333
415
  lines.push(`- auth_state: ${minimaxAuth.state}`);
334
416
  lines.push(`- api_key_configured: ${minimaxAuth.state === "configured" ? "true" : "false"}`);
417
+ lines.push(`- api_key_source: ${minimaxAuth.source ?? "(none)"}`);
418
+ lines.push(`- api_key_checked_paths: ${joinOrNone(minimaxAuth.checkedPaths)}`);
419
+ lines.push(`- api_key_auth_paths: ${joinOrNone(minimaxAuth.authPaths)}`);
335
420
  if (minimaxAuth.state === "invalid") {
336
421
  lines.push(`- auth_error: ${sanitizeDisplayText(minimaxAuth.error)}`);
337
422
  }
338
423
  if (minimaxAuth.state === "configured") {
339
- const minimaxQuota = await queryMiniMaxQuota(minimaxAuth.apiKey);
340
- if (!minimaxQuota.success) {
341
- lines.push(`- live_fetch_error: ${minimaxQuota.error}`);
424
+ const resolvedMiniMaxAuth = await resolveMiniMaxAuthCached({
425
+ maxAgeMs: DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS,
426
+ });
427
+ if (resolvedMiniMaxAuth.state !== "configured") {
428
+ lines.push("- live_fetch_error: MiniMax API key became unavailable before fetch");
342
429
  }
343
430
  else {
344
- const fiveHourEntry = minimaxQuota.entries.find((entry) => entry.window === "five_hour");
345
- const weeklyEntry = minimaxQuota.entries.find((entry) => entry.window === "weekly");
346
- if (fiveHourEntry) {
347
- lines.push(`- five_hour_usage: ${fiveHourEntry.right ?? "(none)"} percent_remaining=${fiveHourEntry.percentRemaining} reset_at=${fiveHourEntry.resetTimeIso ?? "(none)"}`);
431
+ const minimaxQuota = await queryMiniMaxQuota(resolvedMiniMaxAuth.apiKey);
432
+ if (!minimaxQuota.success) {
433
+ lines.push(`- live_fetch_error: ${minimaxQuota.error}`);
348
434
  }
349
- if (weeklyEntry) {
350
- lines.push(`- weekly_usage: ${weeklyEntry.right ?? "(none)"} percent_remaining=${weeklyEntry.percentRemaining} reset_at=${weeklyEntry.resetTimeIso ?? "(none)"}`);
351
- }
352
- if (!fiveHourEntry && !weeklyEntry) {
353
- lines.push("- live_state: no reportable MiniMax Coding Plan quota");
435
+ else {
436
+ const fiveHourEntry = minimaxQuota.entries.find((entry) => entry.window === "five_hour");
437
+ const weeklyEntry = minimaxQuota.entries.find((entry) => entry.window === "weekly");
438
+ if (fiveHourEntry) {
439
+ lines.push(`- five_hour_usage: ${fiveHourEntry.right ?? "(none)"} percent_remaining=${fiveHourEntry.percentRemaining} reset_at=${fiveHourEntry.resetTimeIso ?? "(none)"}`);
440
+ }
441
+ if (weeklyEntry) {
442
+ lines.push(`- weekly_usage: ${weeklyEntry.right ?? "(none)"} percent_remaining=${weeklyEntry.percentRemaining} reset_at=${weeklyEntry.resetTimeIso ?? "(none)"}`);
443
+ }
444
+ if (!fiveHourEntry && !weeklyEntry) {
445
+ lines.push("- live_state: no reportable MiniMax Coding Plan quota");
446
+ }
354
447
  }
355
448
  }
356
449
  }
357
- // Firmware API key diagnostics
358
- lines.push("");
359
- lines.push("firmware:");
360
- let firmwareDiag = {
361
- configured: false,
362
- source: null,
363
- checkedPaths: [],
364
- };
365
- try {
366
- firmwareDiag = await getFirmwareKeyDiagnostics();
367
- }
368
- catch {
369
- // ignore
370
- }
371
- lines.push(`- firmware api key: configured=${firmwareDiag.configured ? "true" : "false"}${firmwareDiag.source ? ` source=${firmwareDiag.source}` : ""}${firmwareDiag.checkedPaths.length > 0 ? ` checked=${firmwareDiag.checkedPaths.join(" | ")}` : ""}`);
372
- // Chutes API key diagnostics
373
450
  lines.push("");
374
- lines.push("chutes:");
375
- let chutesDiag = {
376
- configured: false,
377
- source: null,
378
- checkedPaths: [],
379
- };
380
- try {
381
- chutesDiag = await getChutesKeyDiagnostics();
382
- }
383
- catch {
384
- // ignore
451
+ lines.push("opencode_go:");
452
+ const openCodeGoDiag = await getOpenCodeGoConfigDiagnostics();
453
+ lines.push(`- config_state: ${openCodeGoDiag.state}`);
454
+ lines.push(`- config_source: ${openCodeGoDiag.source ?? "(none)"}`);
455
+ if (openCodeGoDiag.missing) {
456
+ lines.push(`- config_missing: ${openCodeGoDiag.missing}`);
457
+ }
458
+ if (openCodeGoDiag.error) {
459
+ lines.push(`- config_error: ${sanitizeDisplayText(openCodeGoDiag.error)}`);
460
+ }
461
+ lines.push(`- config_checked_paths: ${joinOrNone(openCodeGoDiag.checkedPaths)}`);
462
+ if (openCodeGoDiag.state === "configured") {
463
+ const openCodeGoConfig = await resolveOpenCodeGoConfigCached({
464
+ maxAgeMs: DEFAULT_OPENCODE_GO_CONFIG_CACHE_MAX_AGE_MS,
465
+ });
466
+ if (openCodeGoConfig.state !== "configured") {
467
+ lines.push("- live_fetch_error: OpenCode Go config became unavailable before fetch");
468
+ }
469
+ else {
470
+ const openCodeGoQuota = await queryOpenCodeGoQuota(openCodeGoConfig.config.workspaceId, openCodeGoConfig.config.authCookie);
471
+ if (!openCodeGoQuota) {
472
+ lines.push("- live_fetch_error: OpenCode Go returned null");
473
+ }
474
+ else if (!openCodeGoQuota.success) {
475
+ lines.push(`- live_fetch_error: ${openCodeGoQuota.error}`);
476
+ }
477
+ else {
478
+ lines.push(`- monthly_usage: percent_used=${openCodeGoQuota.usagePercent} percent_remaining=${openCodeGoQuota.percentRemaining} reset_in_sec=${openCodeGoQuota.resetInSec} reset_at=${openCodeGoQuota.resetTimeIso}`);
479
+ }
480
+ }
385
481
  }
386
- lines.push(`- chutes api key: configured=${chutesDiag.configured ? "true" : "false"}${chutesDiag.source ? ` source=${chutesDiag.source}` : ""}${chutesDiag.checkedPaths.length > 0 ? ` checked=${chutesDiag.checkedPaths.join(" | ")}` : ""}`);
387
482
  lines.push("");
388
- lines.push("nanogpt:");
389
- let nanoGptDiag = {
390
- configured: false,
391
- source: null,
392
- checkedPaths: [],
393
- authPaths: [],
394
- };
395
- try {
396
- nanoGptDiag = await getNanoGptKeyDiagnostics();
397
- }
398
- catch {
399
- // ignore
483
+ lines.push("zai:");
484
+ const zaiAuth = await getZaiAuthDiagnostics({
485
+ maxAgeMs: DEFAULT_ZAI_AUTH_CACHE_MAX_AGE_MS,
486
+ });
487
+ lines.push(`- auth_state: ${zaiAuth.state}`);
488
+ lines.push(`- api_key_configured: ${zaiAuth.state === "configured" ? "true" : "false"}`);
489
+ lines.push(`- api_key_source: ${zaiAuth.source ?? "(none)"}`);
490
+ lines.push(`- api_key_checked_paths: ${joinOrNone(zaiAuth.checkedPaths)}`);
491
+ lines.push(`- api_key_auth_paths: ${joinOrNone(zaiAuth.authPaths)}`);
492
+ if (zaiAuth.state === "invalid") {
493
+ lines.push(`- auth_error: ${sanitizeDisplayText(zaiAuth.error)}`);
494
+ }
495
+ if (zaiAuth.state === "configured") {
496
+ const zaiQuota = await queryZaiQuota();
497
+ if (!zaiQuota) {
498
+ lines.push("- live_fetch_error: Z.ai API key became unavailable before fetch");
499
+ }
500
+ else if (!zaiQuota.success) {
501
+ lines.push(`- live_fetch_error: ${zaiQuota.error}`);
502
+ }
503
+ else {
504
+ if (zaiQuota.windows.fiveHour) {
505
+ lines.push(`- five_hour_remaining: ${zaiQuota.windows.fiveHour.percentRemaining}% reset_at=${zaiQuota.windows.fiveHour.resetTimeIso ?? "(none)"}`);
506
+ }
507
+ if (zaiQuota.windows.weekly) {
508
+ lines.push(`- weekly_remaining: ${zaiQuota.windows.weekly.percentRemaining}% reset_at=${zaiQuota.windows.weekly.resetTimeIso ?? "(none)"}`);
509
+ }
510
+ if (zaiQuota.windows.mcp) {
511
+ lines.push(`- mcp_remaining: ${zaiQuota.windows.mcp.percentRemaining}% reset_at=${zaiQuota.windows.mcp.resetTimeIso ?? "(none)"}`);
512
+ }
513
+ if (!zaiQuota.windows.fiveHour && !zaiQuota.windows.weekly && !zaiQuota.windows.mcp) {
514
+ lines.push("- live_state: no reportable Z.ai quota windows");
515
+ }
516
+ }
400
517
  }
401
- lines.push(`- api_key_configured: ${nanoGptDiag.configured ? "true" : "false"}`);
402
- lines.push(`- api_key_source: ${nanoGptDiag.source ?? "(none)"}`);
403
- lines.push(`- api_key_checked_paths: ${joinOrNone(nanoGptDiag.checkedPaths)}`);
404
- lines.push(`- api_key_auth_paths: ${joinOrNone(nanoGptDiag.authPaths)}`);
518
+ const firmwareDiag = await readBasicApiKeyDiagnostics(getFirmwareKeyDiagnostics);
519
+ appendBasicApiKeySection({
520
+ lines,
521
+ section: "firmware:",
522
+ label: "firmware api key",
523
+ diagnostics: firmwareDiag,
524
+ });
525
+ const chutesDiag = await readBasicApiKeyDiagnostics(getChutesKeyDiagnostics);
526
+ appendBasicApiKeySection({
527
+ lines,
528
+ section: "chutes:",
529
+ label: "chutes api key",
530
+ diagnostics: chutesDiag,
531
+ });
532
+ const nanoGptDiag = await readNanoGptApiKeyDiagnostics(getNanoGptKeyDiagnostics);
533
+ appendNanoGptApiKeySection(lines, nanoGptDiag);
405
534
  if (nanoGptDiag.configured) {
406
535
  try {
407
536
  const nanoGptQuota = await queryNanoGptQuota();
@@ -493,15 +622,19 @@ export async function buildQuotaStatusReport(params) {
493
622
  lines.push(`- effective_source: ${copilotDiag.effectiveSource}`);
494
623
  lines.push(`- override: ${copilotDiag.override}`);
495
624
  const googleTokenCachePath = getGoogleTokenCachePath();
496
- lines.push(`- google token cache: path=${googleTokenCachePath} exists=${(await pathExists(googleTokenCachePath)) ? "true" : "false"}`);
497
- const candidates = getAntigravityAccountsCandidatePaths();
498
- const presentCandidates = [];
499
- await Promise.all(candidates.map(async (p) => {
500
- if (await pathExists(p))
501
- presentCandidates.push(p);
502
- }));
503
- const selected = presentCandidates[0] ?? null;
504
- lines.push(`- antigravity accounts: selected=${selected ?? "(none)"} present=${joinOrNone(presentCandidates)} candidates=${joinOrNone(candidates)}`);
625
+ const googleAuthPresence = await inspectAntigravityAccountsPresence();
626
+ lines.push("");
627
+ lines.push("google_antigravity:");
628
+ lines.push(`- auth_state: ${googleAuthPresence.state}`);
629
+ lines.push(`- selected_accounts_path: ${googleAuthPresence.selectedPath ?? "(none)"}`);
630
+ lines.push(`- present_accounts_paths: ${joinOrNone(googleAuthPresence.presentPaths)}`);
631
+ lines.push(`- candidate_accounts_paths: ${joinOrNone(googleAuthPresence.candidatePaths)}`);
632
+ lines.push(`- account_count: ${googleAuthPresence.accountCount}`);
633
+ lines.push(`- valid_account_count: ${googleAuthPresence.validAccountCount}`);
634
+ lines.push(`- token_cache_path: ${googleTokenCachePath} exists=${(await pathExists(googleTokenCachePath)) ? "true" : "false"}`);
635
+ if (googleAuthPresence.state === "invalid" && googleAuthPresence.error) {
636
+ lines.push(`- auth_error: ${sanitizeDisplayText(googleAuthPresence.error)}`);
637
+ }
505
638
  const dbCandidates = getOpenCodeDbPathCandidates();
506
639
  const dbSelected = getOpenCodeDbPath();
507
640
  const dbPresent = [];
@@ -524,16 +657,6 @@ export async function buildQuotaStatusReport(params) {
524
657
  lines.push(`- ${f.email ?? "Unknown"}: ${f.error}`);
525
658
  }
526
659
  }
527
- let accountCount = 0;
528
- try {
529
- const accounts = await readAntigravityAccounts();
530
- accountCount = accounts?.length ?? 0;
531
- }
532
- catch {
533
- accountCount = 0;
534
- }
535
- lines.push("");
536
- lines.push(`google accounts: count=${accountCount}`);
537
660
  // === session token errors ===
538
661
  if (params.sessionTokenError) {
539
662
  lines.push("");
@@ -615,11 +738,11 @@ export async function buildQuotaStatusReport(params) {
615
738
  lines.push("- none");
616
739
  }
617
740
  else {
618
- lines.push(`- keys: ${fmtInt(agg.unpriced.length)} tokens_total=${fmtInt(tokensTotal(agg.totals.unpriced))}`);
741
+ lines.push(`- keys: ${fmtInt(agg.unpriced.length)} tokens_total=${fmtInt(totalTokenBuckets(agg.totals.unpriced))}`);
619
742
  for (const row of agg.unpriced.slice(0, STATUS_SAMPLE_LIMIT)) {
620
743
  const src = `${row.key.sourceProviderID}/${row.key.sourceModelID}`;
621
744
  const mapped = `${row.key.mappedProvider}/${row.key.mappedModel}`;
622
- lines.push(`- ${src} mapped=${mapped} tokens=${fmtInt(tokensTotal(row.tokens))} msgs=${fmtInt(row.messageCount)} reason=${row.key.reason}`);
745
+ lines.push(`- ${src} mapped=${mapped} tokens=${fmtInt(totalTokenBuckets(row.tokens))} msgs=${fmtInt(row.messageCount)} reason=${row.key.reason}`);
623
746
  }
624
747
  if (agg.unpriced.length > STATUS_SAMPLE_LIMIT) {
625
748
  lines.push(`- ... (${fmtInt(agg.unpriced.length - STATUS_SAMPLE_LIMIT)} more)`);
@@ -633,7 +756,7 @@ export async function buildQuotaStatusReport(params) {
633
756
  lines.push("- none");
634
757
  }
635
758
  else {
636
- lines.push(`- keys: ${fmtInt(agg.unknown.length)} tokens_total=${fmtInt(tokensTotal(agg.totals.unknown))}`);
759
+ lines.push(`- keys: ${fmtInt(agg.unknown.length)} tokens_total=${fmtInt(totalTokenBuckets(agg.totals.unknown))}`);
637
760
  for (const row of agg.unknown.slice(0, STATUS_SAMPLE_LIMIT)) {
638
761
  const src = `${row.key.sourceProviderID}/${row.key.sourceModelID}`;
639
762
  const mappedBase = row.key.mappedProvider && row.key.mappedModel
@@ -642,7 +765,7 @@ export async function buildQuotaStatusReport(params) {
642
765
  const candidates = row.key.providerCandidates && row.key.providerCandidates.length > 0
643
766
  ? ` candidates=${row.key.providerCandidates.join(",")}`
644
767
  : "";
645
- lines.push(`- ${src} mapped=${mappedBase}${candidates} tokens=${fmtInt(tokensTotal(row.tokens))} msgs=${fmtInt(row.messageCount)}`);
768
+ lines.push(`- ${src} mapped=${mappedBase}${candidates} tokens=${fmtInt(totalTokenBuckets(row.tokens))} msgs=${fmtInt(row.messageCount)}`);
646
769
  }
647
770
  if (agg.unknown.length > STATUS_SAMPLE_LIMIT) {
648
771
  lines.push(`- ... (${fmtInt(agg.unknown.length - STATUS_SAMPLE_LIMIT)} more)`);
@@ -1 +1 @@
1
- {"version":3,"file":"quota-status.js","sourceRoot":"","sources":["../../src/lib/quota-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-status.js","sourceRoot":"","sources":["../../src/lib/quota-status.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import type { AuthData } from "./types.js";
2
2
  export declare const DEFAULT_QWEN_AUTH_CACHE_MAX_AGE_MS = 5000;
3
+ declare const QWEN_AUTH_KEYS: readonly ["qwen-code", "opencode-qwencode-auth"];
4
+ export type QwenOAuthSourceKey = (typeof QWEN_AUTH_KEYS)[number];
3
5
  export type ResolvedQwenLocalPlan = {
4
6
  state: "none";
5
7
  } | {
6
8
  state: "qwen_free";
7
9
  accessToken: string;
10
+ sourceKey: QwenOAuthSourceKey;
8
11
  };
9
12
  export declare function hasQwenOAuthAuth(auth: AuthData | null | undefined): boolean;
10
13
  export declare function hasQwenOAuthAuthCached(params?: {
@@ -15,4 +18,5 @@ export declare function resolveQwenLocalPlanCached(params?: {
15
18
  maxAgeMs?: number;
16
19
  }): Promise<ResolvedQwenLocalPlan>;
17
20
  export declare function isQwenCodeModelId(model?: string): boolean;
21
+ export {};
18
22
  //# sourceMappingURL=qwen-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"qwen-auth.d.ts","sourceRoot":"","sources":["../../src/lib/qwen-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAGxD,MAAM,MAAM,qBAAqB,GAC7B;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAkBhD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE3E;AAED,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,OAAO,CAAC,CAKnB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,qBAAqB,CAO7F;AAED,wBAAsB,0BAA0B,CAAC,MAAM,CAAC,EAAE;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAKjC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAEzD"}
1
+ {"version":3,"file":"qwen-auth.d.ts","sourceRoot":"","sources":["../../src/lib/qwen-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AACxD,QAAA,MAAM,cAAc,kDAAmD,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,MAAM,qBAAqB,GAC7B;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAqB/E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE3E;AAED,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,OAAO,CAAC,CAKnB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,qBAAqB,CAO7F;AAED,wBAAsB,0BAA0B,CAAC,MAAM,CAAC,EAAE;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAKjC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAEzD"}