@slkiser/opencode-quota 3.8.8 → 3.9.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/README.md CHANGED
@@ -201,27 +201,28 @@ For more examples, see [Common configuration](#common-configuration). For every
201
201
 
202
202
  Most providers work automatically. If a provider has a “Needs setup” link, open that setup note only if you use that provider.
203
203
 
204
- | Provider | Setup | Quota source |
205
- | --- | --- | --- |
206
- | Anthropic (Claude) | [Needs setup](#anthropic-claude) | Local CLI or OAuth usage |
207
- | GitHub Copilot | Usually automatic | Remote API |
208
- | OpenAI | Automatic | Remote API |
209
- | Cursor | [Needs setup](#cursor) | Local estimation |
210
- | Qwen Code | [Needs setup](#qwen-code) | Local estimation |
211
- | Alibaba Coding Plan | Automatic | Local estimation |
212
- | MiniMax Coding Plan | Automatic | Remote API |
213
- | MiniMax Coding Plan (CN) | Automatic | Remote API |
214
- | Kimi Code | Automatic | Remote API |
215
- | Chutes AI | Usually automatic | Remote API |
216
- | Crof.ai | Manual env/config/auth | Remote API |
217
- | Synthetic | Automatic | Remote API |
218
- | Google Antigravity | [Needs setup](#google-antigravity) | Remote API |
219
- | Gemini CLI | [Needs setup](#gemini-cli) | Remote API |
220
- | Z.ai Coding Plan | Automatic | Remote API |
221
- | Zhipu Coding Plan | Automatic | Remote API |
222
- | NanoGPT | Usually automatic | Remote API |
223
- | DeepSeek | Usually automatic | Remote API balance |
224
- | OpenCode Go | [Needs setup](#opencode-go) | Dashboard scraping |
204
+ | Provider | Auth/setup | Source | Reports |
205
+ | --- | --- | --- | --- |
206
+ | Anthropic (Claude) | [Needs setup](#anthropic-claude) | Local CLI/OAuth | Usage/quota |
207
+ | GitHub Copilot | OpenCode OAuth or PAT | Remote API | Quota/usage |
208
+ | OpenAI | Automatic | Remote API | Usage/quota |
209
+ | Cursor | [Needs setup](#cursor) | Local estimate | Estimated quota |
210
+ | Qwen Code | [Needs setup](#qwen-code) | Local estimate | Estimated quota |
211
+ | Alibaba Coding Plan | OpenCode config | Local estimate | Estimated quota |
212
+ | MiniMax Coding Plan | OpenCode config | Remote API | Usage/quota |
213
+ | MiniMax Coding Plan (CN) | OpenCode config | Remote API | Usage/quota |
214
+ | Kimi Code | OpenCode config | Remote API | Usage/quota |
215
+ | Chutes AI | API key/config | Remote API | Usage/quota |
216
+ | Crof.ai | Manual env/config/auth | Remote API | Usage/quota |
217
+ | Synthetic | Automatic | Remote API | Quota |
218
+ | Google Antigravity | [Needs setup](#google-antigravity) | Remote API | Usage/quota |
219
+ | Gemini CLI | [Needs setup](#gemini-cli) | Remote API | Usage/quota |
220
+ | Z.ai Coding Plan | OpenCode config | Remote API | Usage/quota |
221
+ | Zhipu Coding Plan | OpenCode config | Remote API | Usage/quota |
222
+ | NanoGPT | API key/config | Remote APIs | Usage + balance |
223
+ | DeepSeek | API key/config | Remote API | Balance/status |
224
+ | Ollama Cloud | [Needs setup](#ollama-cloud) | Dashboard scraping | Dashboard usage |
225
+ | OpenCode Go | [Needs setup](#opencode-go) | Dashboard scraping | Dashboard usage |
225
226
 
226
227
  ## Common configuration
227
228
 
@@ -515,6 +516,25 @@ If you use manual provider selection, include `deepseek` in `enabledProviders`.
515
516
 
516
517
  </details>
517
518
 
519
+ <a id="ollama-cloud"></a>
520
+ <details>
521
+ <summary><strong>Ollama Cloud</strong></summary>
522
+
523
+ Ollama Cloud quota scrapes the Ollama Cloud settings page and needs a `__Secure-session` cookie:
524
+
525
+ ```bash
526
+ export OLLAMA_USAGE_COOKIE="your-session-cookie-value"
527
+ ```
528
+
529
+ Or use one of these config files (cookie without the `__Secure-session=` prefix, or with — the plugin normalizes it):
530
+
531
+ - `~/.config/opencode/opencode-quota/ollama-cloud.json`: `{ "cookie": "..." }`
532
+ - `~/.config/ollama-usage/config.yaml`: `cookie: "..."`
533
+
534
+ To find the cookie, open `ollama.com/settings` in your browser, open Developer Tools → Storage → Cookies, and copy the value of `__Secure-session`.
535
+
536
+ </details>
537
+
518
538
  <a id="opencode-go"></a>
519
539
  <details>
520
540
  <summary><strong>OpenCode Go</strong></summary>
@@ -0,0 +1,37 @@
1
+ export interface OllamaCloudConfig {
2
+ cookie: string;
3
+ }
4
+ export type ResolvedOllamaCloudConfig = {
5
+ state: "none";
6
+ } | {
7
+ state: "configured";
8
+ config: OllamaCloudConfig;
9
+ source: string;
10
+ } | {
11
+ state: "incomplete";
12
+ source: string;
13
+ missing: string;
14
+ } | {
15
+ state: "invalid";
16
+ source: string;
17
+ error: string;
18
+ };
19
+ export interface OllamaCloudConfigDiagnostics {
20
+ state: ResolvedOllamaCloudConfig["state"];
21
+ source: string | null;
22
+ missing: string | null;
23
+ error: string | null;
24
+ checkedPaths: string[];
25
+ }
26
+ declare function getOllamaUsageConfigPath(): string;
27
+ declare function getOllamaUsageLegacyPath(): string;
28
+ export declare function resolveOllamaCloudConfigFromEnv(env?: NodeJS.ProcessEnv): ResolvedOllamaCloudConfig | null;
29
+ export declare function resolveOllamaCloudConfig(): Promise<ResolvedOllamaCloudConfig>;
30
+ declare const DEFAULT_CACHE_MAX_AGE_MS = 30000;
31
+ export { DEFAULT_CACHE_MAX_AGE_MS as DEFAULT_OLLAMA_CLOUD_CONFIG_CACHE_MAX_AGE_MS };
32
+ export declare function resolveOllamaCloudConfigCached(params?: {
33
+ maxAgeMs?: number;
34
+ }): Promise<ResolvedOllamaCloudConfig>;
35
+ export declare function getOllamaCloudConfigDiagnostics(): Promise<OllamaCloudConfigDiagnostics>;
36
+ export { getOllamaUsageConfigPath, getOllamaUsageLegacyPath };
37
+ //# sourceMappingURL=ollama-cloud-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama-cloud-config.d.ts","sourceRoot":"","sources":["../../src/lib/ollama-cloud-config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAuBD,iBAAS,wBAAwB,IAAI,MAAM,CAG1C;AAED,iBAAS,wBAAwB,IAAI,MAAM,CAE1C;AA4CD,wBAAgB,+BAA+B,CAC7C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,yBAAyB,GAAG,IAAI,CAUlC;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAgCnF;AAKD,QAAA,MAAM,wBAAwB,QAAS,CAAC;AACxC,OAAO,EAAE,wBAAwB,IAAI,4CAA4C,EAAE,CAAC;AAEpF,wBAAsB,8BAA8B,CAAC,MAAM,CAAC,EAAE;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CASrC;AAED,wBAAsB,+BAA+B,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAmC7F;AAED,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,CAAC"}
@@ -0,0 +1,148 @@
1
+ import { readFile } from "fs/promises";
2
+ import { join } from "path";
3
+ import { homedir } from "os";
4
+ import { xdgConfig } from "xdg-basedir";
5
+ import { getOpencodeRuntimeDirCandidates } from "./opencode-runtime-paths.js";
6
+ function getConfigCandidatePaths() {
7
+ const { configDirs } = getOpencodeRuntimeDirCandidates();
8
+ const paths = configDirs.map((dir) => join(dir, "opencode-quota", "ollama-cloud.json"));
9
+ const xdgConfigDir = xdgConfig || join(homedir(), ".config");
10
+ paths.push(join(xdgConfigDir, "ollama-usage", "config.yaml"));
11
+ const home = homedir();
12
+ paths.push(join(home, ".ollama-usage", "config.yaml"));
13
+ return paths;
14
+ }
15
+ function getOllamaUsageConfigPath() {
16
+ const xdgConfigDir = xdgConfig || join(homedir(), ".config");
17
+ return join(xdgConfigDir, "ollama-usage", "config.yaml");
18
+ }
19
+ function getOllamaUsageLegacyPath() {
20
+ return join(homedir(), ".ollama-usage", "config.yaml");
21
+ }
22
+ function getConfigFileError(error) {
23
+ if (error instanceof SyntaxError) {
24
+ return `Failed to parse config: ${error.message}`;
25
+ }
26
+ if (error instanceof Error && error.message) {
27
+ return `Failed to read config file: ${error.message}`;
28
+ }
29
+ return `Failed to read config file: ${String(error)}`;
30
+ }
31
+ async function readJsonConfigFile(path) {
32
+ try {
33
+ const data = await readFile(path, "utf-8");
34
+ const parsed = JSON.parse(data);
35
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
36
+ return { state: "invalid", error: "Config file must contain a JSON object" };
37
+ }
38
+ return { state: "loaded", config: parsed };
39
+ }
40
+ catch (error) {
41
+ if (error?.code === "ENOENT") {
42
+ return { state: "missing" };
43
+ }
44
+ return { state: "invalid", error: getConfigFileError(error) };
45
+ }
46
+ }
47
+ async function readYamlConfigFile(path) {
48
+ try {
49
+ const data = await readFile(path, "utf-8");
50
+ const cookieMatch = data.match(/(?:^|\n)\s*cookie\s*:\s*["']?\s*(.+?)\s*["']?\s*(?:\n|$)/);
51
+ if (cookieMatch && cookieMatch[1]) {
52
+ return { state: "loaded", config: { cookie: cookieMatch[1].trim() } };
53
+ }
54
+ return { state: "missing" };
55
+ }
56
+ catch (error) {
57
+ if (error?.code === "ENOENT") {
58
+ return { state: "missing" };
59
+ }
60
+ return { state: "invalid", error: getConfigFileError(error) };
61
+ }
62
+ }
63
+ export function resolveOllamaCloudConfigFromEnv(env = process.env) {
64
+ const cookie = env.OLLAMA_USAGE_COOKIE?.trim();
65
+ if (!cookie)
66
+ return null;
67
+ return {
68
+ state: "configured",
69
+ config: { cookie },
70
+ source: "env",
71
+ };
72
+ }
73
+ export async function resolveOllamaCloudConfig() {
74
+ const envResult = resolveOllamaCloudConfigFromEnv();
75
+ if (envResult)
76
+ return envResult;
77
+ const candidates = getConfigCandidatePaths();
78
+ for (const path of candidates) {
79
+ const isYaml = path.endsWith(".yaml");
80
+ const fileResult = isYaml
81
+ ? await readYamlConfigFile(path)
82
+ : await readJsonConfigFile(path);
83
+ if (fileResult.state === "missing")
84
+ continue;
85
+ if (fileResult.state === "invalid") {
86
+ return { state: "invalid", source: path, error: fileResult.error };
87
+ }
88
+ const config = fileResult.config;
89
+ const cookie = typeof config.cookie === "string" ? config.cookie.trim() : "";
90
+ if (cookie) {
91
+ return {
92
+ state: "configured",
93
+ config: { cookie },
94
+ source: path,
95
+ };
96
+ }
97
+ return { state: "incomplete", source: path, missing: "cookie" };
98
+ }
99
+ return { state: "none" };
100
+ }
101
+ let cachedConfig = null;
102
+ let cachedAt = 0;
103
+ const DEFAULT_CACHE_MAX_AGE_MS = 30_000;
104
+ export { DEFAULT_CACHE_MAX_AGE_MS as DEFAULT_OLLAMA_CLOUD_CONFIG_CACHE_MAX_AGE_MS };
105
+ export async function resolveOllamaCloudConfigCached(params) {
106
+ const maxAgeMs = Math.max(0, params?.maxAgeMs ?? DEFAULT_CACHE_MAX_AGE_MS);
107
+ const now = Date.now();
108
+ if (cachedConfig && now - cachedAt < maxAgeMs) {
109
+ return cachedConfig;
110
+ }
111
+ cachedConfig = await resolveOllamaCloudConfig();
112
+ cachedAt = now;
113
+ return cachedConfig;
114
+ }
115
+ export async function getOllamaCloudConfigDiagnostics() {
116
+ const resolved = await resolveOllamaCloudConfig();
117
+ const checkedPaths = getConfigCandidatePaths();
118
+ if (resolved.state === "none") {
119
+ return { state: "none", source: null, missing: null, error: null, checkedPaths };
120
+ }
121
+ if (resolved.state === "incomplete") {
122
+ return {
123
+ state: "incomplete",
124
+ source: resolved.source,
125
+ missing: resolved.missing,
126
+ error: null,
127
+ checkedPaths,
128
+ };
129
+ }
130
+ if (resolved.state === "invalid") {
131
+ return {
132
+ state: "invalid",
133
+ source: resolved.source,
134
+ missing: null,
135
+ error: resolved.error,
136
+ checkedPaths,
137
+ };
138
+ }
139
+ return {
140
+ state: "configured",
141
+ source: resolved.source,
142
+ missing: null,
143
+ error: null,
144
+ checkedPaths,
145
+ };
146
+ }
147
+ export { getOllamaUsageConfigPath, getOllamaUsageLegacyPath };
148
+ //# sourceMappingURL=ollama-cloud-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama-cloud-config.js","sourceRoot":"","sources":["../../src/lib/ollama-cloud-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Ollama Cloud settings page scraper.
3
+ *
4
+ * Fetches the Ollama Cloud settings page and parses the HTML for session
5
+ * and weekly usage percentages, plan tier, and reset times from the
6
+ * `data-usage-track` aria-labels, `usage-meter__fill` style attributes,
7
+ * and `.local-time` data-time attributes.
8
+ */
9
+ import type { OllamaCloudResult } from "./types.js";
10
+ declare function extractUsagePercentFromTrack(trackHtml: string): number | null;
11
+ declare function extractResetTimes(html: string): string[];
12
+ declare function extractPlanTier(html: string): string | null;
13
+ export declare function queryOllamaCloudQuota(cookie: string, options?: {
14
+ requestTimeoutMs?: number;
15
+ }): Promise<OllamaCloudResult>;
16
+ export { extractUsagePercentFromTrack as _extractUsagePercentFromTrack, extractResetTimes as _extractResetTimes, extractPlanTier as _extractPlanTier };
17
+ //# sourceMappingURL=ollama-cloud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama-cloud.d.ts","sourceRoot":"","sources":["../../src/lib/ollama-cloud.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAkBpD,iBAAS,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBtE;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAQjD;AAED,iBAAS,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGpD;AAeD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAmG5B;AAED,OAAO,EAAE,4BAA4B,IAAI,6BAA6B,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,eAAe,IAAI,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Ollama Cloud settings page scraper.
3
+ *
4
+ * Fetches the Ollama Cloud settings page and parses the HTML for session
5
+ * and weekly usage percentages, plan tier, and reset times from the
6
+ * `data-usage-track` aria-labels, `usage-meter__fill` style attributes,
7
+ * and `.local-time` data-time attributes.
8
+ */
9
+ import { fetchWithTimeout } from "./http.js";
10
+ import { sanitizeSingleLineDisplayText } from "./display-sanitize.js";
11
+ const SETTINGS_URL = "https://ollama.com/settings";
12
+ const USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Gecko/20100101 Firefox/148.0";
13
+ const SCRAPE_TIMEOUT_MS = 10_000;
14
+ const USAGE_PERCENT_RE = /(\d+(?:\.\d+)?)%\s*used/;
15
+ const WIDTH_PERCENT_RE = /(?:^|;)\s*width\s*:\s*([0-9.]+)%/;
16
+ const DATA_USAGE_TRACK_RE = /data-usage-track[^>]*aria-label="([^"]*)"/gs;
17
+ const LOCAL_TIME_RE = /class="[^"]*local-time[^"]*"[^>]*data-time="([^"]*)"/gs;
18
+ const PLAN_TIER_RE = /class="[^"]*capitalize[^"]*"[^>]*>([^<]*)</;
19
+ function extractUsagePercentFromTrack(trackHtml) {
20
+ const ariaMatch = trackHtml.match(USAGE_PERCENT_RE);
21
+ if (ariaMatch) {
22
+ const pct = Number(ariaMatch[1]);
23
+ if (Number.isFinite(pct) && pct >= 0 && pct <= 100) {
24
+ return pct;
25
+ }
26
+ }
27
+ const styleMatch = trackHtml.match(/style="([^"]*)"/);
28
+ if (styleMatch) {
29
+ const widthMatch = styleMatch[1].match(WIDTH_PERCENT_RE);
30
+ if (widthMatch) {
31
+ const pct = Number(widthMatch[1]);
32
+ if (Number.isFinite(pct) && pct >= 0 && pct <= 100) {
33
+ return pct;
34
+ }
35
+ }
36
+ }
37
+ return null;
38
+ }
39
+ function extractResetTimes(html) {
40
+ const times = [];
41
+ let match;
42
+ const re = new RegExp(LOCAL_TIME_RE.source, LOCAL_TIME_RE.flags);
43
+ while ((match = re.exec(html)) !== null) {
44
+ times.push(match[1]);
45
+ }
46
+ return times;
47
+ }
48
+ function extractPlanTier(html) {
49
+ const match = html.match(PLAN_TIER_RE);
50
+ return match ? match[1].trim() : null;
51
+ }
52
+ function sanitizeMessage(text, maxLength = 200) {
53
+ const sanitized = sanitizeSingleLineDisplayText(text);
54
+ return (sanitized || "unknown").slice(0, maxLength);
55
+ }
56
+ const COOKIE_NAME_PREFIX = "__Secure-session=";
57
+ function normalizeCookie(raw) {
58
+ let value = raw.trim();
59
+ if (value.startsWith(COOKIE_NAME_PREFIX))
60
+ value = value.slice(COOKIE_NAME_PREFIX.length);
61
+ return value;
62
+ }
63
+ export async function queryOllamaCloudQuota(cookie, options = {}) {
64
+ if (cookie.includes("\r") || cookie.includes("\n")) {
65
+ return {
66
+ success: false,
67
+ error: "Cookie contains invalid CRLF characters",
68
+ };
69
+ }
70
+ try {
71
+ const response = await fetchWithTimeout(SETTINGS_URL, {
72
+ method: "GET",
73
+ headers: {
74
+ "User-Agent": USER_AGENT,
75
+ Accept: "text/html",
76
+ Cookie: `${COOKIE_NAME_PREFIX}${normalizeCookie(cookie)}`,
77
+ },
78
+ redirect: "manual",
79
+ }, options.requestTimeoutMs ?? SCRAPE_TIMEOUT_MS);
80
+ if (response.status >= 300 && response.status < 400) {
81
+ const location = response.headers.get("location") || "";
82
+ return {
83
+ success: false,
84
+ error: `Authentication error: redirected to ${sanitizeMessage(location, 80)} — cookie may be expired`,
85
+ };
86
+ }
87
+ if (!response.ok) {
88
+ const text = await response.text();
89
+ return {
90
+ success: false,
91
+ error: `Ollama Cloud settings error ${response.status}: ${sanitizeMessage(text)}`,
92
+ };
93
+ }
94
+ const html = await response.text();
95
+ const planTier = extractPlanTier(html);
96
+ const tracks = [];
97
+ let trackMatch;
98
+ const trackRe = new RegExp(DATA_USAGE_TRACK_RE.source, DATA_USAGE_TRACK_RE.flags);
99
+ while ((trackMatch = trackRe.exec(html)) !== null) {
100
+ tracks.push(trackMatch[0]);
101
+ }
102
+ if (tracks.length < 2) {
103
+ return {
104
+ success: false,
105
+ error: `Could not parse usage tracks from Ollama Cloud settings page (found ${tracks.length}, need at least 2)`,
106
+ };
107
+ }
108
+ const sessionPercent = extractUsagePercentFromTrack(tracks[0]);
109
+ const weeklyPercent = extractUsagePercentFromTrack(tracks[1]);
110
+ if (sessionPercent === null && weeklyPercent === null) {
111
+ return {
112
+ success: false,
113
+ error: "Could not extract any usage percentages from Ollama Cloud settings page",
114
+ };
115
+ }
116
+ const resetTimes = extractResetTimes(html);
117
+ const sessionResetsAt = resetTimes[0] || undefined;
118
+ const weeklyResetsAt = resetTimes[1] || undefined;
119
+ return {
120
+ success: true,
121
+ ...(sessionPercent !== null
122
+ ? {
123
+ session: {
124
+ usagePercent: sessionPercent,
125
+ percentRemaining: 100 - sessionPercent,
126
+ resetTimeIso: sessionResetsAt,
127
+ },
128
+ }
129
+ : {}),
130
+ ...(weeklyPercent !== null
131
+ ? {
132
+ weekly: {
133
+ usagePercent: weeklyPercent,
134
+ percentRemaining: 100 - weeklyPercent,
135
+ resetTimeIso: weeklyResetsAt,
136
+ },
137
+ }
138
+ : {}),
139
+ ...(planTier ? { planTier } : {}),
140
+ };
141
+ }
142
+ catch (err) {
143
+ return {
144
+ success: false,
145
+ error: sanitizeMessage(err instanceof Error ? err.message : String(err)),
146
+ };
147
+ }
148
+ }
149
+ export { extractUsagePercentFromTrack as _extractUsagePercentFromTrack, extractResetTimes as _extractResetTimes, extractPlanTier as _extractPlanTier };
150
+ //# sourceMappingURL=ollama-cloud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama-cloud.js","sourceRoot":"","sources":["../../src/lib/ollama-cloud.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-sqlite.d.ts","sourceRoot":"","sources":["../../src/lib/opencode-sqlite.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;IACvD,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,IAAI,IAAI,CAAC;CACf;AA6BD,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAgCpF"}
1
+ {"version":3,"file":"opencode-sqlite.d.ts","sourceRoot":"","sources":["../../src/lib/opencode-sqlite.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;IACvD,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,IAAI,IAAI,CAAC;CACf;AAkLD,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAMpF"}
@@ -1,7 +1,7 @@
1
1
  function toParams(params) {
2
2
  return Array.isArray(params) ? params : [];
3
3
  }
4
- function runPragma(db, sql) {
4
+ function runBunPragma(db, sql) {
5
5
  try {
6
6
  db.query(sql).run();
7
7
  }
@@ -9,23 +9,58 @@ function runPragma(db, sql) {
9
9
  // ignore
10
10
  }
11
11
  }
12
- export async function openOpenCodeSqliteReadOnly(dbPath) {
12
+ function runPreparedPragma(db, sql) {
13
+ try {
14
+ db.prepare(sql).run();
15
+ }
16
+ catch {
17
+ // ignore
18
+ }
19
+ }
20
+ function runNodePragma(db, sql) {
21
+ try {
22
+ db.exec(sql);
23
+ }
24
+ catch {
25
+ // ignore
26
+ }
27
+ }
28
+ function createPreparedSqliteConn(db) {
29
+ return {
30
+ all(sql, params) {
31
+ const stmt = db.prepare(sql);
32
+ return stmt.all(...toParams(params));
33
+ },
34
+ get(sql, params) {
35
+ const stmt = db.prepare(sql);
36
+ const row = stmt.get(...toParams(params));
37
+ return row ?? null;
38
+ },
39
+ close() {
40
+ try {
41
+ db.close();
42
+ }
43
+ catch {
44
+ // ignore
45
+ }
46
+ },
47
+ };
48
+ }
49
+ async function openWithBunSqlite(dbPath) {
13
50
  const mod = (await import("bun:sqlite"));
14
51
  const db = new mod.Database(dbPath, { readonly: true });
15
52
  // Keep reads deterministic and avoid accidental writes.
16
- runPragma(db, "PRAGMA query_only = ON;");
53
+ runBunPragma(db, "PRAGMA query_only = ON;");
17
54
  // Avoid transient SQLITE_BUSY errors (WAL).
18
- runPragma(db, "PRAGMA busy_timeout = 5000;");
55
+ runBunPragma(db, "PRAGMA busy_timeout = 5000;");
19
56
  return {
20
57
  all(sql, params) {
21
58
  const stmt = db.query(sql);
22
- const p = toParams(params);
23
- return (p.length ? stmt.all(...p) : stmt.all());
59
+ return stmt.all(...toParams(params));
24
60
  },
25
61
  get(sql, params) {
26
62
  const stmt = db.query(sql);
27
- const p = toParams(params);
28
- const row = (p.length ? stmt.get(...p) : stmt.get());
63
+ const row = stmt.get(...toParams(params));
29
64
  return row ?? null;
30
65
  },
31
66
  close() {
@@ -38,4 +73,51 @@ export async function openOpenCodeSqliteReadOnly(dbPath) {
38
73
  },
39
74
  };
40
75
  }
76
+ async function importNodeSqlite() {
77
+ try {
78
+ return (await import("node:sqlite"));
79
+ }
80
+ catch {
81
+ return null;
82
+ }
83
+ }
84
+ async function openWithNodeSqlite(dbPath, mod) {
85
+ const db = new mod.DatabaseSync(dbPath, {
86
+ readOnly: true,
87
+ enableForeignKeyConstraints: true,
88
+ open: true,
89
+ });
90
+ // Keep reads deterministic and avoid accidental writes.
91
+ runNodePragma(db, "PRAGMA query_only = ON;");
92
+ // Avoid transient SQLITE_BUSY errors (WAL).
93
+ runNodePragma(db, "PRAGMA busy_timeout = 5000;");
94
+ return createPreparedSqliteConn(db);
95
+ }
96
+ async function openWithBetterSqlite3(dbPath) {
97
+ const mod = (await import("better-sqlite3"));
98
+ const db = new mod.default(dbPath, { readonly: true });
99
+ // Keep reads deterministic and avoid accidental writes.
100
+ runPreparedPragma(db, "PRAGMA query_only = ON;");
101
+ // Avoid transient SQLITE_BUSY errors (WAL).
102
+ runPreparedPragma(db, "PRAGMA busy_timeout = 5000;");
103
+ return createPreparedSqliteConn(db);
104
+ }
105
+ async function openWithNodeRuntimeSqlite(dbPath) {
106
+ const nodeSqlite = await importNodeSqlite();
107
+ if (nodeSqlite) {
108
+ return openWithNodeSqlite(dbPath, nodeSqlite);
109
+ }
110
+ try {
111
+ return await openWithBetterSqlite3(dbPath);
112
+ }
113
+ catch (cause) {
114
+ throw new Error("OpenCode SQLite backend unavailable in this Node runtime; node:sqlite or optional better-sqlite3 is required for local history reads.", { cause });
115
+ }
116
+ }
117
+ export async function openOpenCodeSqliteReadOnly(dbPath) {
118
+ if (typeof globalThis === "object" && "Bun" in globalThis) {
119
+ return openWithBunSqlite(dbPath);
120
+ }
121
+ return openWithNodeRuntimeSqlite(dbPath);
122
+ }
41
123
  //# sourceMappingURL=opencode-sqlite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-sqlite.js","sourceRoot":"","sources":["../../src/lib/opencode-sqlite.ts"],"names":[],"mappings":"AAqBA,SAAS,QAAQ,CAAC,MAAkB;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS,CAAC,EAAkB,EAAE,GAAW;IAChD,IAAI,CAAC;QACH,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAAc;IAC7D,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAA+B,CAAC;IACvE,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,wDAAwD;IACxD,SAAS,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC;IAEzC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAC;IAE7C,OAAO;QACL,GAAG,CAAc,GAAW,EAAE,MAAkB;YAC9C,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAQ,CAAC;QACzD,CAAC;QAED,GAAG,CAAc,GAAW,EAAE,MAAkB;YAC9C,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAkB,CAAC;YACtE,OAAO,GAAG,IAAI,IAAI,CAAC;QACrB,CAAC;QAED,KAAK;YACH,IAAI,CAAC;gBACH,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"opencode-sqlite.js","sourceRoot":"","sources":["../../src/lib/opencode-sqlite.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type CanonicalQuotaProviderId = "anthropic" | "copilot" | "openai" | "cursor" | "qwen-code" | "alibaba-coding-plan" | "synthetic" | "chutes" | "crof" | "google-antigravity" | "google-gemini-cli" | "zai" | "zhipu" | "nanogpt" | "minimax-coding-plan" | "minimax-china-coding-plan" | "kimi-for-coding" | "deepseek" | "opencode-go";
1
+ export type CanonicalQuotaProviderId = "anthropic" | "copilot" | "openai" | "cursor" | "qwen-code" | "alibaba-coding-plan" | "synthetic" | "chutes" | "crof" | "google-antigravity" | "google-gemini-cli" | "zai" | "zhipu" | "nanogpt" | "minimax-coding-plan" | "minimax-china-coding-plan" | "kimi-for-coding" | "deepseek" | "opencode-go" | "ollama-cloud";
2
2
  export type QuotaProviderAutoSetup = "yes" | "usually" | "manual_env_config" | "needs_quick_setup";
3
3
  export type QuotaProviderAuthentication = "opencode_auth_oauth_token" | "opencode_auth_api_key" | "companion_auth_oauth_token" | "local_cli_auth" | "github_oauth_or_pat" | "external_api_key" | "state_only";
4
4
  export type QuotaProviderAuthFallback = "env_api_key" | "global_opencode_config";
@@ -1 +1 @@
1
- {"version":3,"file":"provider-metadata.d.ts","sourceRoot":"","sources":["../../src/lib/provider-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAChC,WAAW,GACX,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,qBAAqB,GACrB,WAAW,GACX,QAAQ,GACR,MAAM,GACN,oBAAoB,GACpB,mBAAmB,GACnB,KAAK,GACL,OAAO,GACP,SAAS,GACT,qBAAqB,GACrB,2BAA2B,GAC3B,iBAAiB,GACjB,UAAU,GACV,aAAa,CAAC;AAElB,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,SAAS,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAEnG,MAAM,MAAM,2BAA2B,GACnC,2BAA2B,GAC3B,uBAAuB,GACvB,4BAA4B,GAC5B,gBAAgB,GAChB,qBAAqB,GACrB,kBAAkB,GAClB,YAAY,CAAC;AAEjB,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG,wBAAwB,CAAC;AAEjF,MAAM,MAAM,wBAAwB,GAChC,YAAY,GACZ,kBAAkB,GAClB,0BAA0B,GAC1B,kBAAkB,CAAC;AAEvB,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,wBAAwB,CAAC;IAC7B,SAAS,EAAE,sBAAsB,CAAC;IAClC,cAAc,EAAE,2BAA2B,CAAC;IAC5C,aAAa,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC5C,KAAK,EAAE,wBAAwB,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,wBAAwB,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;AAEpG,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBlE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BvE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,uBA+BxC,CAAC;AAQF,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EAyI9D,CAAC;AAMF,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAGhF;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAOxE;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE9D"}
1
+ {"version":3,"file":"provider-metadata.d.ts","sourceRoot":"","sources":["../../src/lib/provider-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAChC,WAAW,GACX,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,qBAAqB,GACrB,WAAW,GACX,QAAQ,GACR,MAAM,GACN,oBAAoB,GACpB,mBAAmB,GACnB,KAAK,GACL,OAAO,GACP,SAAS,GACT,qBAAqB,GACrB,2BAA2B,GAC3B,iBAAiB,GACjB,UAAU,GACV,aAAa,GACb,cAAc,CAAC;AAEnB,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,SAAS,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAEnG,MAAM,MAAM,2BAA2B,GACnC,2BAA2B,GAC3B,uBAAuB,GACvB,4BAA4B,GAC5B,gBAAgB,GAChB,qBAAqB,GACrB,kBAAkB,GAClB,YAAY,CAAC;AAEjB,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG,wBAAwB,CAAC;AAEjF,MAAM,MAAM,wBAAwB,GAChC,YAAY,GACZ,kBAAkB,GAClB,0BAA0B,GAC1B,kBAAkB,CAAC;AAEvB,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,wBAAwB,CAAC;IAC7B,SAAS,EAAE,sBAAsB,CAAC;IAClC,cAAc,EAAE,2BAA2B,CAAC;IAC5C,aAAa,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC5C,KAAK,EAAE,wBAAwB,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,wBAAwB,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;AAEpG,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAuBlE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BvE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,uBAgCxC,CAAC;AAQF,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EAgJ9D,CAAC;AAMF,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAGhF;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAOxE;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE9D"}
@@ -20,6 +20,7 @@ export const QUOTA_PROVIDER_LABELS = {
20
20
  "kimi-code": "Kimi Code",
21
21
  deepseek: "DeepSeek",
22
22
  "opencode-go": "OpenCode Go",
23
+ "ollama-cloud": "Ollama Cloud",
23
24
  };
24
25
  export const QUOTA_PROVIDER_ID_SYNONYMS = {
25
26
  "github-copilot": "copilot",
@@ -81,6 +82,7 @@ export const QUOTA_PROVIDER_RUNTIME_IDS = {
81
82
  "kimi-for-coding": ["kimi-for-coding", "kimi", "kimi-code"],
82
83
  deepseek: ["deepseek"],
83
84
  "opencode-go": ["opencode-go"],
85
+ "ollama-cloud": ["ollama-cloud"],
84
86
  };
85
87
  const LIVE_LOCAL_USAGE_PROVIDER_ID_SET = new Set([
86
88
  "qwen-code",
@@ -223,6 +225,13 @@ export const QUOTA_PROVIDER_SHAPES = [
223
225
  quickSetupAnchor: "opencode-go",
224
226
  notes: "Scrapes the OpenCode Go dashboard; requires workspaceId and authCookie",
225
227
  },
228
+ {
229
+ id: "ollama-cloud",
230
+ autoSetup: "manual_env_config",
231
+ authentication: "state_only",
232
+ quota: "remote_api",
233
+ notes: "Scrapes the Ollama Cloud settings page; requires __Secure-session cookie via OLLAMA_USAGE_COOKIE env or ollama-usage config",
234
+ },
226
235
  ];
227
236
  const QUOTA_PROVIDER_SHAPES_BY_ID = Object.fromEntries(QUOTA_PROVIDER_SHAPES.map((shape) => [shape.id, shape]));
228
237
  export function normalizeQuotaProviderId(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"provider-metadata.js","sourceRoot":"","sources":["../../src/lib/provider-metadata.ts"],"names":[],"mappings":"AAoDA,MAAM,CAAC,MAAM,qBAAqB,GAAqC;IACrE,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,oBAAoB,EAAE,QAAQ;IAC9B,mBAAmB,EAAE,YAAY;IACjC,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,MAAM;IACnB,qBAAqB,EAAE,qBAAqB;IAC5C,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,qBAAqB,EAAE,qBAAqB;IAC5C,2BAA2B,EAAE,0BAA0B;IACvD,wBAAwB,EAAE,0BAA0B;IACpD,iBAAiB,EAAE,WAAW;IAC9B,WAAW,EAAE,WAAW;IACxB,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,aAAa;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,gBAAgB,EAAE,SAAS;IAC3B,cAAc,EAAE,SAAS;IACzB,qBAAqB,EAAE,SAAS;IAChC,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE,QAAQ;IACvB,wBAAwB,EAAE,QAAQ;IAClC,MAAM,EAAE,WAAW;IACnB,aAAa,EAAE,WAAW;IAC1B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,qBAAqB;IAC9B,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,qBAAqB;IAC9B,YAAY,EAAE,2BAA2B;IACzC,eAAe,EAAE,2BAA2B;IAC5C,wBAAwB,EAAE,2BAA2B;IACrD,IAAI,EAAE,iBAAiB;IACvB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,UAAU;IACvB,0BAA0B,EAAE,aAAa;IACzC,YAAY,EAAE,mBAAmB;IACjC,eAAe,EAAE,mBAAmB;IACpC,sBAAsB,EAAE,mBAAmB;IAC3C,MAAM,EAAE,mBAAmB;IAC3B,iBAAiB,EAAE,OAAO;IAC1B,mBAAmB,EAAE,OAAO;IAC5B,qBAAqB,EAAE,OAAO;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAA4B;IACjE,SAAS,EAAE,CAAC,WAAW,CAAC;IACxB,OAAO,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,CAAC;IAC7E,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC;IACtC,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,WAAW,EAAE,CAAC,WAAW,CAAC;IAC1B,qBAAqB,EAAE,CAAC,qBAAqB,CAAC;IAC9C,SAAS,EAAE,CAAC,WAAW,CAAC;IACxB,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,oBAAoB,EAAE,CAAC,oBAAoB,EAAE,QAAQ,EAAE,aAAa,CAAC;IACrE,mBAAmB,EAAE;QACnB,mBAAmB;QACnB,YAAY;QACZ,QAAQ;QACR,sBAAsB;QACtB,QAAQ;KACT;IACD,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC;IACtC,KAAK,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,CAAC;IAC/E,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IAChC,qBAAqB,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC;IACzD,2BAA2B,EAAE;QAC3B,2BAA2B;QAC3B,wBAAwB;QACxB,YAAY;QACZ,eAAe;KAChB;IACD,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC;IAC3D,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,aAAa,EAAE,CAAC,aAAa,CAAC;CAC/B,CAAC;AAEF,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAAS;IACvD,WAAW;IACX,qBAAqB;IACrB,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAkC;IAClE;QACE,EAAE,EAAE,WAAW;QACf,SAAS,EAAE,mBAAmB;QAC9B,cAAc,EAAE,gBAAgB;QAChC,KAAK,EAAE,kBAAkB;QACzB,gBAAgB,EAAE,kBAAkB;KACrC;IACD;QACE,EAAE,EAAE,SAAS;QACb,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,qBAAqB;QACrC,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,kDAAkD;KAC1D;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,2BAA2B;QAC3C,KAAK,EAAE,YAAY;KACpB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,SAAS,EAAE,mBAAmB;QAC9B,cAAc,EAAE,4BAA4B;QAC5C,KAAK,EAAE,0BAA0B;QACjC,gBAAgB,EAAE,QAAQ;QAC1B,KAAK,EAAE,kEAAkE;KAC1E;IACD;QACE,EAAE,EAAE,WAAW;QACf,SAAS,EAAE,mBAAmB;QAC9B,cAAc,EAAE,4BAA4B;QAC5C,KAAK,EAAE,kBAAkB;QACzB,gBAAgB,EAAE,WAAW;KAC9B;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC;QACxD,KAAK,EAAE,kBAAkB;KAC1B;IACD;QACE,EAAE,EAAE,WAAW;QACf,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC;QACxD,KAAK,EAAE,YAAY;KACpB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC;QACxD,KAAK,EAAE,YAAY;KACpB;IACD;QACE,EAAE,EAAE,MAAM;QACV,SAAS,EAAE,mBAAmB;QAC9B,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC;QACxD,KAAK,EAAE,YAAY;QACnB,KAAK,EACH,+GAA+G;KAClH;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,SAAS,EAAE,mBAAmB;QAC9B,cAAc,EAAE,4BAA4B;QAC5C,KAAK,EAAE,YAAY;QACnB,gBAAgB,EAAE,oBAAoB;KACvC;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,SAAS,EAAE,mBAAmB;QAC9B,cAAc,EAAE,4BAA4B;QAC5C,KAAK,EAAE,YAAY;QACnB,gBAAgB,EAAE,YAAY;KAC/B;IACD;QACE,EAAE,EAAE,KAAK;QACT,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC;QACxD,KAAK,EAAE,YAAY;KACpB;IACD;QACE,EAAE,EAAE,OAAO;QACX,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC;QACxD,KAAK,EAAE,YAAY;KACpB;IACD;QACE,EAAE,EAAE,SAAS;QACb,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC;QACxD,KAAK,EAAE,YAAY;KACpB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC;QACxD,KAAK,EAAE,YAAY;KACpB;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC;QACxD,KAAK,EAAE,YAAY;KACpB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC;QACxD,KAAK,EAAE,YAAY;KACpB;IACD;QACE,EAAE,EAAE,UAAU;QACd,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC;QACxD,KAAK,EAAE,YAAY;KACpB;IACD;QACE,EAAE,EAAE,aAAa;QACjB,SAAS,EAAE,mBAAmB;QAC9B,cAAc,EAAE,YAAY;QAC5B,KAAK,EAAE,YAAY;QACnB,gBAAgB,EAAE,aAAa;QAC/B,KAAK,EAAE,wEAAwE;KAChF;CACF,CAAC;AAEF,MAAM,2BAA2B,GAE7B,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEhF,MAAM,UAAU,wBAAwB,CAAC,EAAU;IACjD,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,0BAA0B,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,MAAM,UAAU,GAAG,wBAAwB,CAAC,EAAE,CAA6B,CAAC;IAC5E,OAAO,2BAA2B,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAAU;IACrD,MAAM,UAAU,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAChD,OAAO,qBAAqB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,EAAU;IACnD,MAAM,KAAK,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,EAAU;IACnD,OAAO,gCAAgC,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"provider-metadata.js","sourceRoot":"","sources":["../../src/lib/provider-metadata.ts"],"names":[],"mappings":"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"}
@@ -488,6 +488,25 @@ export type SyntheticResult = {
488
488
  weekly: SyntheticQuotaWindow;
489
489
  };
490
490
  } | QuotaError | null;
491
+ /** Single usage window from Ollama Cloud settings page */
492
+ export interface OllamaCloudWindow {
493
+ /** Usage percentage [0..100] */
494
+ usagePercent: number;
495
+ /** Remaining percentage [0..100] */
496
+ percentRemaining: number;
497
+ /** ISO reset timestamp */
498
+ resetTimeIso?: string;
499
+ }
500
+ /** Result from scraping Ollama Cloud settings page */
501
+ export type OllamaCloudResult = {
502
+ success: true;
503
+ /** Session usage window, when present */
504
+ session?: OllamaCloudWindow;
505
+ /** Weekly usage window, when present */
506
+ weekly?: OllamaCloudWindow;
507
+ /** Plan tier (e.g. "free", "pro") */
508
+ planTier?: string;
509
+ } | QuotaError | null;
491
510
  /** Single usage window from OpenCode Go dashboard */
492
511
  export interface OpenCodeGoWindow {
493
512
  /** Usage percentage [0..100] */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAyCrE,sCAAsC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAkGvC,mCAAmC;AACnC,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,OAAO,EAAE,IAAI;IAEb,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,0BAA0B;IACvC,kBAAkB,EAAE,WAAW;IAC/B,aAAa,EAAE,MAAM,EAAE,YAAY;IACnC,gBAAgB,EAAE,kBAAkB;IAEpC,KAAK,EAAE,KAAK;IAEZ,mFAAmF;IACnF,gBAAgB,EAAE,MAAe;IAEjC,mBAAmB,EAAE,QAAQ;IAE7B,4DAA4D;IAC5D,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,qBAAqB,EAAE,MAAM;IAC7B,UAAU,EAAE,MAAM;IAClB,iBAAiB,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;IACnD,eAAe,EAAE;QACf,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,CAAC;KACf;IAED,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE;QACf,OAAO,EAAE,IAAI;KACd;IACD,gBAAgB,EAAE;QAChB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,+BAA+B,EAAE,IAAI;QACrC,QAAQ,EAAE,EAAE;KACb;IACD,uBAAuB,EAAE;QACvB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;KACX;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX;CACF,CAAC;AAseF,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,uCAAuC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAG1B;IACF,KAAK,EAAE;QACL,GAAG,EAAE,gBAAgB;QACrB,MAAM,EAAE,2EAA2E;QACnF,OAAO,EAAE,OAAO;KACjB;IACD,OAAO,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE;IACtD,MAAM,EAAE;QACN,GAAG,EAAE,0BAA0B;QAC/B,MAAM,EAAE,0CAA0C;QAClD,OAAO,EAAE,QAAQ;KAClB;IACD,OAAO,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE;CAC3D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAyCrE,sCAAsC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAkGvC,mCAAmC;AACnC,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,OAAO,EAAE,IAAI;IAEb,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,0BAA0B;IACvC,kBAAkB,EAAE,WAAW;IAC/B,aAAa,EAAE,MAAM,EAAE,YAAY;IACnC,gBAAgB,EAAE,kBAAkB;IAEpC,KAAK,EAAE,KAAK;IAEZ,mFAAmF;IACnF,gBAAgB,EAAE,MAAe;IAEjC,mBAAmB,EAAE,QAAQ;IAE7B,4DAA4D;IAC5D,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,qBAAqB,EAAE,MAAM;IAC7B,UAAU,EAAE,MAAM;IAClB,iBAAiB,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;IACnD,eAAe,EAAE;QACf,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,CAAC;KACf;IAED,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE;QACf,OAAO,EAAE,IAAI;KACd;IACD,gBAAgB,EAAE;QAChB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,+BAA+B,EAAE,IAAI;QACrC,QAAQ,EAAE,EAAE;KACb;IACD,uBAAuB,EAAE;QACvB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;KACX;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX;CACF,CAAC;AA8fF,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,uCAAuC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAG1B;IACF,KAAK,EAAE;QACL,GAAG,EAAE,gBAAgB;QACrB,MAAM,EAAE,2EAA2E;QACnF,OAAO,EAAE,OAAO;KACjB;IACD,OAAO,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE;IACtD,MAAM,EAAE;QACN,GAAG,EAAE,0BAA0B;QAC/B,MAAM,EAAE,0CAA0C;QAClD,OAAO,EAAE,QAAQ;KAClB;IACD,OAAO,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE;CAC3D,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Ollama Cloud provider wrapper.
3
+ *
4
+ * Scrapes the Ollama Cloud settings page and reports session and weekly
5
+ * usage as percentage-based quota entries.
6
+ */
7
+ import type { QuotaProvider } from "../lib/entries.js";
8
+ export declare const ollamaCloudProvider: QuotaProvider;
9
+ //# sourceMappingURL=ollama-cloud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama-cloud.d.ts","sourceRoot":"","sources":["../../src/providers/ollama-cloud.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAwC3B,eAAO,MAAM,mBAAmB,EAAE,aAkEjC,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Ollama Cloud provider wrapper.
3
+ *
4
+ * Scrapes the Ollama Cloud settings page and reports session and weekly
5
+ * usage as percentage-based quota entries.
6
+ */
7
+ import { DEFAULT_OLLAMA_CLOUD_CONFIG_CACHE_MAX_AGE_MS, resolveOllamaCloudConfigCached, } from "../lib/ollama-cloud-config.js";
8
+ import { queryOllamaCloudQuota } from "../lib/ollama-cloud.js";
9
+ import { normalizeQuotaProviderId } from "../lib/provider-metadata.js";
10
+ import { attemptedErrorResult, attemptedResult, notAttemptedResult } from "./result-helpers.js";
11
+ const OLLAMA_CLOUD_PROVIDER_LABEL = "Ollama Cloud";
12
+ function buildOllamaCloudEntries(result) {
13
+ const entries = [];
14
+ if (result.session) {
15
+ entries.push({
16
+ name: `${OLLAMA_CLOUD_PROVIDER_LABEL} Session`,
17
+ group: OLLAMA_CLOUD_PROVIDER_LABEL,
18
+ label: "Session:",
19
+ percentRemaining: result.session.percentRemaining,
20
+ resetTimeIso: result.session.resetTimeIso,
21
+ });
22
+ }
23
+ if (result.weekly) {
24
+ entries.push({
25
+ name: `${OLLAMA_CLOUD_PROVIDER_LABEL} Weekly`,
26
+ group: OLLAMA_CLOUD_PROVIDER_LABEL,
27
+ label: "Weekly:",
28
+ percentRemaining: result.weekly.percentRemaining,
29
+ resetTimeIso: result.weekly.resetTimeIso,
30
+ });
31
+ }
32
+ return entries;
33
+ }
34
+ export const ollamaCloudProvider = {
35
+ id: "ollama-cloud",
36
+ async isAvailable(_ctx) {
37
+ const config = await resolveOllamaCloudConfigCached({
38
+ maxAgeMs: DEFAULT_OLLAMA_CLOUD_CONFIG_CACHE_MAX_AGE_MS,
39
+ });
40
+ return config.state === "configured";
41
+ },
42
+ matchesCurrentModel(model) {
43
+ const [provider] = model.toLowerCase().split("/", 2);
44
+ return normalizeQuotaProviderId(provider) === "ollama-cloud";
45
+ },
46
+ async fetch(ctx) {
47
+ const config = await resolveOllamaCloudConfigCached({
48
+ maxAgeMs: DEFAULT_OLLAMA_CLOUD_CONFIG_CACHE_MAX_AGE_MS,
49
+ });
50
+ if (config.state === "none") {
51
+ return notAttemptedResult();
52
+ }
53
+ if (config.state === "incomplete") {
54
+ return attemptedErrorResult(OLLAMA_CLOUD_PROVIDER_LABEL, `Missing ${config.missing} (source: ${config.source})`);
55
+ }
56
+ if (config.state === "invalid") {
57
+ return attemptedErrorResult(OLLAMA_CLOUD_PROVIDER_LABEL, `Invalid config (${config.source}): ${config.error}`);
58
+ }
59
+ const result = await queryOllamaCloudQuota(config.config.cookie, {
60
+ requestTimeoutMs: ctx.config?.requestTimeoutMsConfigured
61
+ ? ctx.config.requestTimeoutMs
62
+ : undefined,
63
+ });
64
+ if (!result) {
65
+ return attemptedErrorResult(OLLAMA_CLOUD_PROVIDER_LABEL, "No response from Ollama Cloud settings page");
66
+ }
67
+ if (!result.success) {
68
+ return attemptedErrorResult(OLLAMA_CLOUD_PROVIDER_LABEL, result.error);
69
+ }
70
+ const entries = buildOllamaCloudEntries(result);
71
+ if (entries.length === 0) {
72
+ return attemptedErrorResult(OLLAMA_CLOUD_PROVIDER_LABEL, "No usage data found on Ollama Cloud settings page");
73
+ }
74
+ return attemptedResult(entries);
75
+ },
76
+ };
77
+ //# sourceMappingURL=ollama-cloud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama-cloud.js","sourceRoot":"","sources":["../../src/providers/ollama-cloud.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAuBvD,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAuB9C"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAwBvD,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAwB9C"}
@@ -21,6 +21,7 @@ import { minimaxChinaCodingPlanProvider, minimaxCodingPlanProvider, } from "./mi
21
21
  import { opencodeGoProvider } from "./opencode-go.js";
22
22
  import { kimiCodeProvider } from "./kimi-code.js";
23
23
  import { deepseekProvider } from "./deepseek.js";
24
+ import { ollamaCloudProvider } from "./ollama-cloud.js";
24
25
  export function getProviders() {
25
26
  // Order here defines display ordering in the toast.
26
27
  return [
@@ -43,6 +44,7 @@ export function getProviders() {
43
44
  kimiCodeProvider,
44
45
  deepseekProvider,
45
46
  opencodeGoProvider,
47
+ ollamaCloudProvider,
46
48
  ];
47
49
  }
48
50
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,UAAU,YAAY;IAC1B,oDAAoD;IACpD,OAAO;QACL,iBAAiB;QACjB,eAAe;QACf,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,yBAAyB;QACzB,iBAAiB;QACjB,cAAc;QACd,YAAY;QACZ,yBAAyB;QACzB,uBAAuB;QACvB,WAAW;QACX,aAAa;QACb,eAAe;QACf,yBAAyB;QACzB,8BAA8B;QAC9B,gBAAgB;QAChB,gBAAgB;QAChB,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,UAAU,YAAY;IAC1B,oDAAoD;IACpD,OAAO;QACL,iBAAiB;QACjB,eAAe;QACf,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,yBAAyB;QACzB,iBAAiB;QACjB,cAAc;QACd,YAAY;QACZ,yBAAyB;QACzB,uBAAuB;QACvB,WAAW;QACX,aAAa;QACb,eAAe;QACf,yBAAyB;QACzB,8BAA8B;QAC9B,gBAAgB;QAChB,gBAAgB;QAChB,kBAAkB;QAClB,mBAAmB;KACpB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slkiser/opencode-quota",
3
- "version": "3.8.8",
3
+ "version": "3.9.0",
4
4
  "packageManager": "pnpm@11.0.0",
5
5
  "description": "OpenCode quota & tokens usage with zero context window pollution. Supports GitHub Copilot, OpenAI (Plus/Pro), Qwen Code, Chutes AI, Synthetic, Google Antigravity, Z.ai coding plan and more.",
6
6
  "type": "module",
@@ -86,6 +86,9 @@
86
86
  "solid-js": "^1.9.12",
87
87
  "xdg-basedir": "^5.1.0"
88
88
  },
89
+ "optionalDependencies": {
90
+ "better-sqlite3": "^12.10.0"
91
+ },
89
92
  "peerDependencies": {
90
93
  "@opencode-ai/plugin": "^1.4.3"
91
94
  },