@slkiser/opencode-quota 4.7.0 → 4.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -139,14 +139,14 @@ Run `npx @slkiser/opencode-quota@latest --help` for command options. See [Extern
139
139
  | Anthropic (Claude) | [Needs setup](docs/readme/providers.md#anthropic-claude) | Local CLI/OAuth | Quota |
140
140
  | Chutes AI | Automatic | Remote API | Quota |
141
141
  | Cursor | [Needs setup](docs/readme/providers.md#cursor) | Local estimate | Budget and spend |
142
- | GitHub Copilot | Automatic | Remote API | Usage and budget |
142
+ | GitHub Copilot | Automatic | Remote API | Budget and usage |
143
143
  | Google AGY | [Needs setup](docs/readme/providers.md#google-agy-quick-setup) | Remote API | Quota |
144
144
  | Google Antigravity | [Needs setup](docs/readme/providers.md#google-antigravity) | Remote API | Quota |
145
145
  | Kilo Gateway | Automatic | Remote API | Quota and balance |
146
146
  | NanoGPT | Automatic | Remote API | Quota and balance |
147
147
  | Ollama Cloud | Automatic | Remote API | Quota and usage |
148
148
  | OpenAI | Automatic | Remote API | Quota |
149
- | OpenCode Go | [Needs setup](docs/readme/providers.md#opencode-go) | Dashboard scraping | Quota |
149
+ | OpenCode Go | Automatic | Remote API | Quota |
150
150
  | OpenCode Zen | [Needs setup](docs/readme/providers.md#opencode-zen) | Dashboard scraping | Budget and balance |
151
151
  | OpenRouter | Automatic | Remote API | Budget and spend |
152
152
  | Synthetic | Automatic | Remote API | Quota |
@@ -163,7 +163,7 @@ Run `npx @slkiser/opencode-quota@latest --help` for command options. See [Extern
163
163
  | Chutes AI | Automatic | Remote API | Quota |
164
164
  | Cursor | [Needs setup](docs/readme/providers.md#cursor) | Local estimate | Budget and spend |
165
165
  | Gemini CLI (deprecated) | [Existing setups only](docs/readme/providers.md#gemini-cli) | Remote API | Quota |
166
- | GitHub Copilot | [Needs setup](docs/readme/providers.md#github-copilot) | Remote API | Usage and budget |
166
+ | GitHub Copilot | [Needs setup](docs/readme/providers.md#github-copilot) | Remote API | Budget and usage |
167
167
  | Google AGY | [Needs setup](docs/readme/providers.md#google-agy-quick-setup) | Remote API | Quota |
168
168
  | Google Antigravity | [Needs setup](docs/readme/providers.md#google-antigravity) | Remote API | Quota |
169
169
  | NanoGPT | Automatic | Remote API | Quota and balance |
@@ -269,4 +269,4 @@ OpenCode Quota is not built by the OpenCode team and is not affiliated with Open
269
269
 
270
270
  ## Star history
271
271
 
272
- ![Star History Chart](https://shawnkiser.com/opencode-quota/star-history-2026710.webp)
272
+ ![Star History Chart](https://shawnkiser.com/opencode-quota/star-history-2026813.svg)
@@ -98,6 +98,7 @@ export interface InvalidAwareApiKeyAuthConfig<AuthSource extends string> {
98
98
  authSource: AuthSource;
99
99
  displayName: string;
100
100
  defaultMaxAgeMs: number;
101
+ unsupportedTypeError?: string;
101
102
  }
102
103
  /** Configuration for simple nullable API key resolution. */
103
104
  export interface ResolveProviderApiKeyConfig<Source extends string> extends ResolveProviderApiKeyBaseConfig<Source> {
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/api-key-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-key-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/api-key-resolver.ts"],"names":[],"mappings":"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"}
@@ -126,7 +126,8 @@ function parseInvalidAwareAuth(auth, config) {
126
126
  const sanitized = sanitizeDisplayText(record.type).replace(/\s+/g, " ").trim();
127
127
  return {
128
128
  state: "invalid",
129
- error: `Unsupported ${config.displayName} auth type: "${(sanitized || "unknown").slice(0, 120)}"`,
129
+ error: config.unsupportedTypeError ??
130
+ `Unsupported ${config.displayName} auth type: "${(sanitized || "unknown").slice(0, 120)}"`,
130
131
  };
131
132
  }
132
133
  const apiKey = typeof record.key === "string" ? record.key.trim() : "";
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-resolver.js","sourceRoot":"","sources":["../../src/lib/api-key-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-key-resolver.js","sourceRoot":"","sources":["../../src/lib/api-key-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { InvalidAwareAuthDiagnostics, InvalidAwareAuthResult } from "./api-key-resolver.js";
2
+ export declare const DEFAULT_OPENCODE_GO_AUTH_CACHE_MAX_AGE_MS = 5000;
3
+ export type OpenCodeGoKeySource = "env:OPENCODE_API_KEY" | "opencode.json" | "opencode.jsonc" | "auth.json";
4
+ export type ResolvedOpenCodeGoAuth = InvalidAwareAuthResult;
5
+ export type OpenCodeGoAuthDiagnostics = InvalidAwareAuthDiagnostics<OpenCodeGoKeySource, "auth.json">;
6
+ export { getGlobalOpencodeConfigCandidatePaths as getOpencodeConfigCandidatePaths } from "./api-key-resolver.js";
7
+ export declare function resolveOpenCodeGoAuth(auth: unknown): ResolvedOpenCodeGoAuth;
8
+ export declare function resolveOpenCodeGoAuthCached(params?: {
9
+ maxAgeMs?: number;
10
+ }): Promise<ResolvedOpenCodeGoAuth>;
11
+ export declare function getOpenCodeGoAuthDiagnostics(params?: {
12
+ maxAgeMs?: number;
13
+ }): Promise<OpenCodeGoAuthDiagnostics>;
14
+ //# sourceMappingURL=opencode-go-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-go-auth.d.ts","sourceRoot":"","sources":["../../src/lib/opencode-go-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAOjG,eAAO,MAAM,yCAAyC,OAAQ,CAAC;AAQ/D,MAAM,MAAM,mBAAmB,GAC3B,sBAAsB,GACtB,eAAe,GACf,gBAAgB,GAChB,WAAW,CAAC;AAEhB,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAC5D,MAAM,MAAM,yBAAyB,GAAG,2BAA2B,CACjE,mBAAmB,EACnB,WAAW,CACZ,CAAC;AAEF,OAAO,EAAE,qCAAqC,IAAI,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AAqBjH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,sBAAsB,CAE3E;AAED,wBAAsB,2BAA2B,CAAC,MAAM,CAAC,EAAE;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAElC;AAED,wBAAsB,4BAA4B,CAAC,MAAM,CAAC,EAAE;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAErC"}
@@ -0,0 +1,38 @@
1
+ import { createProviderApiKeyResolver, getGlobalOpencodeConfigCandidatePaths, } from "./api-key-resolver.js";
2
+ import { getAuthPaths, readAuthFileCached } from "./opencode-auth.js";
3
+ export const DEFAULT_OPENCODE_GO_AUTH_CACHE_MAX_AGE_MS = 5_000;
4
+ // `opencode-go` is the provider id the OpenCode CLI writes via
5
+ // `opencode auth login -p opencode-go` (shown as "OpenCode Go api" in `opencode auth list`).
6
+ // `opencode` stays as a fallback alias for existing manual setups.
7
+ const OPENCODE_GO_AUTH_KEYS = ["opencode-go", "opencode"];
8
+ const OPENCODE_GO_PROVIDER_KEYS = ["opencode"];
9
+ const ALLOWED_OPENCODE_GO_ENV_VARS = ["OPENCODE_API_KEY"];
10
+ export { getGlobalOpencodeConfigCandidatePaths as getOpencodeConfigCandidatePaths } from "./api-key-resolver.js";
11
+ const openCodeGoAuthResolver = createProviderApiKeyResolver({
12
+ envVars: [{ name: "OPENCODE_API_KEY", source: "env:OPENCODE_API_KEY" }],
13
+ providerKeys: OPENCODE_GO_PROVIDER_KEYS,
14
+ allowedEnvVars: ALLOWED_OPENCODE_GO_ENV_VARS,
15
+ configJsonSource: "opencode.json",
16
+ configJsoncSource: "opencode.jsonc",
17
+ getConfigCandidates: getGlobalOpencodeConfigCandidatePaths,
18
+ auth: {
19
+ policy: "invalid-aware-api-key",
20
+ authKeys: OPENCODE_GO_AUTH_KEYS,
21
+ authSource: "auth.json",
22
+ displayName: "OpenCode Go",
23
+ defaultMaxAgeMs: DEFAULT_OPENCODE_GO_AUTH_CACHE_MAX_AGE_MS,
24
+ unsupportedTypeError: "OpenCode Go auth entry has unsupported type",
25
+ readAuth: (maxAgeMs) => readAuthFileCached({ maxAgeMs }),
26
+ getAuthPaths,
27
+ },
28
+ });
29
+ export function resolveOpenCodeGoAuth(auth) {
30
+ return openCodeGoAuthResolver.parseAuth(auth);
31
+ }
32
+ export async function resolveOpenCodeGoAuthCached(params) {
33
+ return openCodeGoAuthResolver.resolve(params);
34
+ }
35
+ export async function getOpenCodeGoAuthDiagnostics(params) {
36
+ return openCodeGoAuthResolver.diagnostics(params);
37
+ }
38
+ //# sourceMappingURL=opencode-go-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-go-auth.js","sourceRoot":"","sources":["../../src/lib/opencode-go-auth.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,qCAAqC,GACtC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,CAAC,MAAM,yCAAyC,GAAG,KAAK,CAAC;AAC/D,+DAA+D;AAC/D,6FAA6F;AAC7F,mEAAmE;AACnE,MAAM,qBAAqB,GAAG,CAAC,aAAa,EAAE,UAAU,CAAU,CAAC;AACnE,MAAM,yBAAyB,GAAG,CAAC,UAAU,CAAU,CAAC;AACxD,MAAM,4BAA4B,GAAG,CAAC,kBAAkB,CAAU,CAAC;AAcnE,OAAO,EAAE,qCAAqC,IAAI,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AAEjH,MAAM,sBAAsB,GAAG,4BAA4B,CAAmC;IAC5F,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACvE,YAAY,EAAE,yBAAyB;IACvC,cAAc,EAAE,4BAA4B;IAC5C,gBAAgB,EAAE,eAAe;IACjC,iBAAiB,EAAE,gBAAgB;IACnC,mBAAmB,EAAE,qCAAqC;IAC1D,IAAI,EAAE;QACJ,MAAM,EAAE,uBAAuB;QAC/B,QAAQ,EAAE,qBAAqB;QAC/B,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,aAAa;QAC1B,eAAe,EAAE,yCAAyC;QAC1D,oBAAoB,EAAE,6CAA6C;QACnE,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC;QACxD,YAAY;KACb;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,OAAO,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,MAEjD;IACC,OAAO,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,MAElD;IACC,OAAO,sBAAsB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC"}
@@ -1,26 +1,5 @@
1
- /**
2
- * OpenCode Go dashboard scraper.
3
- *
4
- * Fetches the OpenCode Go workspace page and parses usage data from two
5
- * possible formats:
6
- * 1. SolidJS SSR hydration output (`$R[\d+]={...usagePercent...resetInSec...}`)
7
- * 2. HTML with `data-slot` attributes (newer format)
8
- *
9
- * The scraper tries SolidJS SSR first, then falls back to data-slot parsing.
10
- */
11
1
  import type { OpenCodeGoResult } from "./types.js";
12
- interface ScrapedWindowUsage {
13
- usagePercent: number;
14
- resetInSec: number;
15
- }
16
- declare function parseWindowUsage(html: string, rePctFirst: RegExp, reResetFirst: RegExp): ScrapedWindowUsage | null;
17
- /**
18
- * Parse the newer data-slot HTML format.
19
- * Returns a record of window names to their usage data.
20
- */
21
- declare function parseDataSlotFormat(html: string): Partial<Record<string, ScrapedWindowUsage>>;
22
- export declare function queryOpenCodeGoQuota(workspaceId: string, authCookie: string, options?: {
2
+ export declare function queryOpenCodeGoQuota(accessToken: string, options?: {
23
3
  requestTimeoutMs?: number;
24
4
  }): Promise<OpenCodeGoResult>;
25
- export { parseWindowUsage as _parseWindowUsage, parseDataSlotFormat as _parseDataSlotFormat };
26
5
  //# sourceMappingURL=opencode-go.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-go.d.ts","sourceRoot":"","sources":["../../src/lib/opencode-go.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,YAAY,CAAC;AAmCrE,UAAU,kBAAkB;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,gBAAgB,CACvB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,kBAAkB,GAAG,IAAI,CAoB3B;AA6BD;;;GAGG;AACH,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CA+CtF;AAmBD,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1C,OAAO,CAAC,gBAAgB,CAAC,CA6D3B;AAED,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"opencode-go.d.ts","sourceRoot":"","sources":["../../src/lib/opencode-go.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAyC,MAAM,YAAY,CAAC;AAiI1F,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1C,OAAO,CAAC,gBAAgB,CAAC,CAwC3B"}
@@ -1,190 +1,139 @@
1
- /**
2
- * OpenCode Go dashboard scraper.
3
- *
4
- * Fetches the OpenCode Go workspace page and parses usage data from two
5
- * possible formats:
6
- * 1. SolidJS SSR hydration output (`$R[\d+]={...usagePercent...resetInSec...}`)
7
- * 2. HTML with `data-slot` attributes (newer format)
8
- *
9
- * The scraper tries SolidJS SSR first, then falls back to data-slot parsing.
10
- */
11
1
  import { sanitizeDisplayText } from "./display-sanitize.js";
12
2
  import { fetchWithTimeout } from "./http.js";
13
- const DASHBOARD_URL_PREFIX = "https://opencode.ai/workspace/";
14
- const DASHBOARD_URL_SUFFIX = "/go";
15
- const USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Gecko/20100101 Firefox/148.0";
16
- const SCRAPE_TIMEOUT_MS = 10_000;
17
- /**
18
- * Regex patterns matching the SolidJS SSR hydration output.
19
- * Field order may vary, so we try both orderings.
20
- */
21
- const SCRAPED_NUMBER_PATTERN = String.raw `(-?\d+(?:\.\d+)?)`;
22
- const RE_ROLLING_PCT_FIRST = new RegExp(String.raw `rollingUsage:\$R\[\d+\]=\{[^}]*usagePercent:${SCRAPED_NUMBER_PATTERN}[^}]*resetInSec:${SCRAPED_NUMBER_PATTERN}[^}]*\}`);
23
- const RE_ROLLING_RESET_FIRST = new RegExp(String.raw `rollingUsage:\$R\[\d+\]=\{[^}]*resetInSec:${SCRAPED_NUMBER_PATTERN}[^}]*usagePercent:${SCRAPED_NUMBER_PATTERN}[^}]*\}`);
24
- const RE_WEEKLY_PCT_FIRST = new RegExp(String.raw `weeklyUsage:\$R\[\d+\]=\{[^}]*usagePercent:${SCRAPED_NUMBER_PATTERN}[^}]*resetInSec:${SCRAPED_NUMBER_PATTERN}[^}]*\}`);
25
- const RE_WEEKLY_RESET_FIRST = new RegExp(String.raw `weeklyUsage:\$R\[\d+\]=\{[^}]*resetInSec:${SCRAPED_NUMBER_PATTERN}[^}]*usagePercent:${SCRAPED_NUMBER_PATTERN}[^}]*\}`);
26
- const RE_MONTHLY_PCT_FIRST = new RegExp(String.raw `monthlyUsage:\$R\[\d+\]=\{[^}]*usagePercent:${SCRAPED_NUMBER_PATTERN}[^}]*resetInSec:${SCRAPED_NUMBER_PATTERN}[^}]*\}`);
27
- const RE_MONTHLY_RESET_FIRST = new RegExp(String.raw `monthlyUsage:\$R\[\d+\]=\{[^}]*resetInSec:${SCRAPED_NUMBER_PATTERN}[^}]*usagePercent:${SCRAPED_NUMBER_PATTERN}[^}]*\}`);
28
- function parseWindowUsage(html, rePctFirst, reResetFirst) {
29
- const pctFirstMatch = rePctFirst.exec(html);
30
- if (pctFirstMatch) {
31
- const usagePercent = Number(pctFirstMatch[1]);
32
- const resetInSec = Number(pctFirstMatch[2]);
33
- if (Number.isFinite(usagePercent) && Number.isFinite(resetInSec)) {
34
- return { usagePercent, resetInSec };
35
- }
3
+ const OPENCODE_GO_USAGE_URL = "https://opencode.ai/zen/go/v1/usage";
4
+ const OPENCODE_GO_WINDOW_ORDER = ["rolling", "weekly", "monthly"];
5
+ const OFFSET_ISO_TIMESTAMP = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/;
6
+ function asRecord(value) {
7
+ return value && typeof value === "object" && !Array.isArray(value)
8
+ ? value
9
+ : null;
10
+ }
11
+ function redactToken(text, accessToken) {
12
+ return accessToken ? text.replaceAll(accessToken, "[redacted]") : text;
13
+ }
14
+ function sanitizeMessage(text, accessToken, maxLength = 120) {
15
+ const redacted = redactToken(text, accessToken);
16
+ const sanitized = sanitizeDisplayText(redacted).replace(/\s+/g, " ").trim();
17
+ return (sanitized || "unknown").slice(0, maxLength);
18
+ }
19
+ function errorMessage(error, accessToken) {
20
+ return sanitizeMessage(error instanceof Error ? error.message : String(error), accessToken);
21
+ }
22
+ function contractError(message) {
23
+ return { success: false, error: `Invalid OpenCode Go API response: ${message}` };
24
+ }
25
+ function isValidOffsetIsoTimestamp(value) {
26
+ const match = OFFSET_ISO_TIMESTAMP.exec(value);
27
+ if (!match)
28
+ return false;
29
+ const [, yearText, monthText, dayText, hourText, minuteText, secondText, offsetHour, offsetMinute,] = match;
30
+ const year = Number(yearText);
31
+ const month = Number(monthText);
32
+ const day = Number(dayText);
33
+ const hour = Number(hourText);
34
+ const minute = Number(minuteText);
35
+ const second = Number(secondText);
36
+ const leapYear = year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
37
+ const daysInMonth = [0, 31, leapYear ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
38
+ return (month >= 1 &&
39
+ month <= 12 &&
40
+ day >= 1 &&
41
+ day <= (daysInMonth[month] ?? 0) &&
42
+ hour <= 23 &&
43
+ minute <= 59 &&
44
+ second <= 59 &&
45
+ (offsetHour === undefined || Number(offsetHour) <= 23) &&
46
+ (offsetMinute === undefined || Number(offsetMinute) <= 59));
47
+ }
48
+ function normalizeWindow(windowKey, value, accessToken) {
49
+ const window = asRecord(value);
50
+ if (!window) {
51
+ return contractError(`${windowKey} window is missing or malformed`);
36
52
  }
37
- const resetFirstMatch = reResetFirst.exec(html);
38
- if (resetFirstMatch) {
39
- const resetInSec = Number(resetFirstMatch[1]);
40
- const usagePercent = Number(resetFirstMatch[2]);
41
- if (Number.isFinite(usagePercent) && Number.isFinite(resetInSec)) {
42
- return { usagePercent, resetInSec };
43
- }
53
+ if (window.status !== "ok") {
54
+ return contractError(`${windowKey} status is not ok: ${sanitizeMessage(String(window.status), accessToken)}`);
44
55
  }
45
- return null;
46
- }
47
- /**
48
- * Parse human-readable time strings like "1 hour 56 minutes", "6 days 2 hours", "26 days 17 hours"
49
- * into seconds.
50
- */
51
- function parseHumanReadableTime(timeStr) {
52
- const normalized = timeStr.toLowerCase().trim().replace(/\s+/g, " ");
53
- if (["reset-now", "reset now", "now", "resets now"].includes(normalized)) {
54
- return 0;
56
+ const percent = window.percent;
57
+ if (typeof percent !== "number" || !Number.isFinite(percent) || percent < 0 || percent > 100) {
58
+ return contractError(`${windowKey} percent must be a finite number from 0 to 100`);
55
59
  }
56
- let totalSeconds = 0;
57
- // Match patterns like "X days", "X hours", "X minutes", "X seconds"
58
- const dayMatch = normalized.match(/(\d+(?:\.\d+)?)\s*days?/);
59
- const hourMatch = normalized.match(/(\d+(?:\.\d+)?)\s*hours?/);
60
- const minuteMatch = normalized.match(/(\d+(?:\.\d+)?)\s*minutes?/);
61
- const secondMatch = normalized.match(/(\d+(?:\.\d+)?)\s*seconds?/);
62
- const hasDuration = Boolean(dayMatch || hourMatch || minuteMatch || secondMatch);
63
- if (dayMatch)
64
- totalSeconds += Number(dayMatch[1]) * 86400;
65
- if (hourMatch)
66
- totalSeconds += Number(hourMatch[1]) * 3600;
67
- if (minuteMatch)
68
- totalSeconds += Number(minuteMatch[1]) * 60;
69
- if (secondMatch)
70
- totalSeconds += Number(secondMatch[1]);
71
- return hasDuration ? totalSeconds : null;
72
- }
73
- /**
74
- * Parse the newer data-slot HTML format.
75
- * Returns a record of window names to their usage data.
76
- */
77
- function parseDataSlotFormat(html) {
78
- const result = {};
79
- const items = html.split(/data-slot="usage-item"/);
80
- for (let i = 1; i < items.length; i++) {
81
- const content = items[i];
82
- // Extract the label (Rolling Usage, Weekly Usage, Monthly Usage)
83
- const labelMatch = content.match(/data-slot="usage-label">([^<]+)</);
84
- if (!labelMatch)
85
- continue;
86
- const label = labelMatch[1].trim().toLowerCase();
87
- // Extract usage percentage - get the number after data-slot="usage-value">
88
- const usageMatch = content.match(/data-slot="usage-value">[^0-9]*(\d+(?:\.\d+)?)/);
89
- if (!usageMatch)
90
- continue;
91
- const usagePercent = Number(usageMatch[1]);
92
- // Extract reset time - get content between reset-time/reset-now and </span>
93
- const resetMatch = content.match(/data-slot="(reset-time|reset-now)">([\s\S]*?)<\/span>/);
94
- if (!resetMatch)
95
- continue;
96
- // Clean up SolidJS comments and "Resets in" prefix
97
- const resetContent = resetMatch[2]
98
- .replace(/<!--\$-->/g, "")
99
- .replace(/<!--\/-->/g, "")
100
- .replace(/Resets?\s*in\s*/i, "")
101
- .trim();
102
- const resetInSec = resetMatch[1] === "reset-now" ? 0 : parseHumanReadableTime(resetContent);
103
- if (!Number.isFinite(usagePercent) || resetInSec === null || !Number.isFinite(resetInSec))
104
- continue;
105
- // Map label to window key
106
- let windowKey = null;
107
- if (label.includes("rolling"))
108
- windowKey = "rolling";
109
- else if (label.includes("weekly"))
110
- windowKey = "weekly";
111
- else if (label.includes("monthly"))
112
- windowKey = "monthly";
113
- if (windowKey) {
114
- result[windowKey] = { usagePercent, resetInSec };
115
- }
60
+ const resetsAt = window.resetsAt;
61
+ if (typeof resetsAt !== "string" || !isValidOffsetIsoTimestamp(resetsAt)) {
62
+ return contractError(`${windowKey} resetsAt must be an offset-qualified ISO timestamp`);
116
63
  }
117
- return result;
118
- }
119
- function sanitizeMessage(text, maxLength = 120) {
120
- const sanitized = sanitizeDisplayText(text).replace(/\s+/g, " ").trim();
121
- return (sanitized || "unknown").slice(0, maxLength);
64
+ const resetTime = Date.parse(resetsAt);
65
+ if (!Number.isFinite(resetTime)) {
66
+ return contractError(`${windowKey} resetsAt must be a valid timestamp`);
67
+ }
68
+ return {
69
+ status: "ok",
70
+ usagePercent: percent,
71
+ percentRemaining: 100 - percent,
72
+ resetTimeIso: new Date(resetTime).toISOString(),
73
+ };
122
74
  }
123
- function normalizeWindowUsage(window, now) {
124
- const usagePercent = Math.max(0, window.usagePercent);
125
- const resetInSec = Math.max(0, window.resetInSec);
75
+ function normalizeResponse(payload, accessToken) {
76
+ const root = asRecord(payload);
77
+ if (!root)
78
+ return contractError("root must be an object");
79
+ const usage = asRecord(root.usage);
80
+ if (!usage)
81
+ return contractError("usage must be an object");
82
+ const normalized = {};
83
+ for (const windowKey of OPENCODE_GO_WINDOW_ORDER) {
84
+ const window = normalizeWindow(windowKey, usage[windowKey], accessToken);
85
+ if ("success" in window)
86
+ return window;
87
+ normalized[windowKey] = window;
88
+ }
126
89
  return {
127
- usagePercent,
128
- resetInSec,
129
- percentRemaining: 100 - usagePercent,
130
- resetTimeIso: new Date(now + resetInSec * 1000).toISOString(),
90
+ success: true,
91
+ rolling: normalized.rolling,
92
+ weekly: normalized.weekly,
93
+ monthly: normalized.monthly,
131
94
  };
132
95
  }
133
- export async function queryOpenCodeGoQuota(workspaceId, authCookie, options = {}) {
96
+ export async function queryOpenCodeGoQuota(accessToken, options = {}) {
134
97
  try {
135
- const url = `${DASHBOARD_URL_PREFIX}${encodeURIComponent(workspaceId)}${DASHBOARD_URL_SUFFIX}`;
136
- return await fetchWithTimeout(url, {
98
+ return await fetchWithTimeout(OPENCODE_GO_USAGE_URL, {
137
99
  request: {
138
100
  method: "GET",
139
101
  headers: {
140
- "User-Agent": USER_AGENT,
141
- Accept: "text/html",
142
- Cookie: `auth=${authCookie}`,
102
+ Authorization: `Bearer ${accessToken}`,
103
+ Accept: "application/json",
143
104
  },
144
105
  },
145
- timeoutMs: options.requestTimeoutMs ?? SCRAPE_TIMEOUT_MS,
106
+ timeoutMs: options.requestTimeoutMs,
146
107
  consume: async (response) => {
147
108
  if (!response.ok) {
148
- const text = await response.text();
109
+ let text;
110
+ try {
111
+ text = await response.text();
112
+ }
113
+ catch (error) {
114
+ return {
115
+ success: false,
116
+ error: `OpenCode Go API error ${response.status}: ${errorMessage(error, accessToken)}`,
117
+ };
118
+ }
149
119
  return {
150
120
  success: false,
151
- error: `OpenCode Go dashboard error ${response.status}: ${sanitizeMessage(text)}`,
121
+ error: `OpenCode Go API error ${response.status}: ${sanitizeMessage(text, accessToken)}`,
152
122
  };
153
123
  }
154
- const html = await response.text();
155
- // Try SolidJS SSR format first (more reliable when present)
156
- let rolling = parseWindowUsage(html, RE_ROLLING_PCT_FIRST, RE_ROLLING_RESET_FIRST);
157
- let weekly = parseWindowUsage(html, RE_WEEKLY_PCT_FIRST, RE_WEEKLY_RESET_FIRST);
158
- let monthly = parseWindowUsage(html, RE_MONTHLY_PCT_FIRST, RE_MONTHLY_RESET_FIRST);
159
- // Fall back to data-slot HTML format if SSR found nothing
160
- if (!rolling && !weekly && !monthly) {
161
- const dataSlotResult = parseDataSlotFormat(html);
162
- rolling = dataSlotResult.rolling ?? null;
163
- weekly = dataSlotResult.weekly ?? null;
164
- monthly = dataSlotResult.monthly ?? null;
124
+ let payload;
125
+ try {
126
+ payload = await response.json();
165
127
  }
166
- if (!rolling && !weekly && !monthly) {
167
- return {
168
- success: false,
169
- error: "Could not parse any known OpenCode Go dashboard usage windows (rollingUsage, weeklyUsage, monthlyUsage)",
170
- };
128
+ catch (error) {
129
+ return contractError(`body is not valid JSON: ${errorMessage(error, accessToken)}`);
171
130
  }
172
- const now = Date.now();
173
- return {
174
- success: true,
175
- ...(rolling ? { rolling: normalizeWindowUsage(rolling, now) } : {}),
176
- ...(weekly ? { weekly: normalizeWindowUsage(weekly, now) } : {}),
177
- ...(monthly ? { monthly: normalizeWindowUsage(monthly, now) } : {}),
178
- };
131
+ return normalizeResponse(payload, accessToken);
179
132
  },
180
133
  });
181
134
  }
182
- catch (err) {
183
- return {
184
- success: false,
185
- error: sanitizeMessage(err instanceof Error ? err.message : String(err)),
186
- };
135
+ catch (error) {
136
+ return { success: false, error: errorMessage(error, accessToken) };
187
137
  }
188
138
  }
189
- export { parseWindowUsage as _parseWindowUsage, parseDataSlotFormat as _parseDataSlotFormat };
190
139
  //# sourceMappingURL=opencode-go.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-go.js","sourceRoot":"","sources":["../../src/lib/opencode-go.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-go.js","sourceRoot":"","sources":["../../src/lib/opencode-go.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG7C,MAAM,qBAAqB,GAAG,qCAAqC,CAAC;AACpE,MAAM,wBAAwB,GAA0B,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACzF,MAAM,oBAAoB,GACxB,sFAAsF,CAAC;AAEzF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,WAAmB;IACpD,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,WAAmB,EAAE,SAAS,GAAG,GAAG;IACzE,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,WAAmB;IACvD,OAAO,eAAe,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qCAAqC,OAAO,EAAE,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa;IAC9C,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,MAAM,CACJ,AADK,EAEL,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACb,GAAG,KAAK,CAAC;IACV,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAExF,OAAO,CACL,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,EAAE;QACX,GAAG,IAAI,CAAC;QACR,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,EAAE;QACV,MAAM,IAAI,EAAE;QACZ,MAAM,IAAI,EAAE;QACZ,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACtD,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAC3D,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,SAA8B,EAC9B,KAAc,EACd,WAAmB;IAEnB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,aAAa,CAAC,GAAG,SAAS,iCAAiC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,aAAa,CAClB,GAAG,SAAS,sBAAsB,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;QAC7F,OAAO,aAAa,CAAC,GAAG,SAAS,gDAAgD,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,OAAO,aAAa,CAAC,GAAG,SAAS,qDAAqD,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,aAAa,CAAC,GAAG,SAAS,qCAAqC,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,OAAO;QACrB,gBAAgB,EAAE,GAAG,GAAG,OAAO;QAC/B,YAAY,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB,EAAE,WAAmB;IAC9D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG,EAAmD,CAAC;IACvE,KAAK,MAAM,SAAS,IAAI,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;QACzE,IAAI,SAAS,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QACvC,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,OAAO,EAAE,UAAU,CAAC,OAAO;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAAmB,EACnB,OAAO,GAAkC,EAAE;IAE3C,IAAI,CAAC;QACH,OAAO,MAAM,gBAAgB,CAAC,qBAAqB,EAAE;YACnD,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,WAAW,EAAE;oBACtC,MAAM,EAAE,kBAAkB;iBAC3B;aACF;YACD,SAAS,EAAE,OAAO,CAAC,gBAAgB;YACnC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,IAAI,IAAY,CAAC;oBACjB,IAAI,CAAC;wBACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC/B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,yBAAyB,QAAQ,CAAC,MAAM,KAAK,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;yBACvF,CAAC;oBACJ,CAAC;oBACD,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,yBAAyB,QAAQ,CAAC,MAAM,KAAK,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;qBACzF,CAAC;gBACJ,CAAC;gBAED,IAAI,OAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAClC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,aAAa,CAAC,2BAA2B,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACjD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;IACrE,CAAC;AACH,CAAC"}
@@ -259,11 +259,11 @@ declare const PROVIDER_CATALOG_SOURCE: {
259
259
  readonly runtimeIds: readonly ["opencode-go"];
260
260
  readonly synonyms: readonly ["opencode-go-subscription"];
261
261
  readonly shape: {
262
- readonly autoSetup: "needs_quick_setup";
263
- readonly authentication: "state_only";
262
+ readonly autoSetup: "yes";
263
+ readonly authentication: "opencode_auth_api_key";
264
+ readonly authFallbacks: readonly ["env_api_key", "global_opencode_config"];
264
265
  readonly quota: "remote_api";
265
- readonly quickSetupAnchor: "opencode-go";
266
- readonly notes: "Scrapes the OpenCode Go dashboard; requires workspaceId and authCookie";
266
+ readonly notes: "Reads the official OpenCode Go usage API through standard Go API-key sources";
267
267
  };
268
268
  };
269
269
  readonly opencode: {