@slkiser/opencode-quota 3.6.2 → 3.8.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 (99) hide show
  1. package/README.md +376 -295
  2. package/dist/lib/config.d.ts +1 -1
  3. package/dist/lib/config.d.ts.map +1 -1
  4. package/dist/lib/config.js +83 -1
  5. package/dist/lib/config.js.map +1 -1
  6. package/dist/lib/entries.d.ts +9 -1
  7. package/dist/lib/entries.d.ts.map +1 -1
  8. package/dist/lib/format.d.ts.map +1 -1
  9. package/dist/lib/format.js +2 -45
  10. package/dist/lib/format.js.map +1 -1
  11. package/dist/lib/google-gemini-cli-companion.d.ts.map +1 -1
  12. package/dist/lib/google-gemini-cli-companion.js +43 -6
  13. package/dist/lib/google-gemini-cli-companion.js.map +1 -1
  14. package/dist/lib/init-installer.d.ts +4 -1
  15. package/dist/lib/init-installer.d.ts.map +1 -1
  16. package/dist/lib/init-installer.js +179 -42
  17. package/dist/lib/init-installer.js.map +1 -1
  18. package/dist/lib/jsonc.d.ts.map +1 -1
  19. package/dist/lib/jsonc.js +2 -1
  20. package/dist/lib/jsonc.js.map +1 -1
  21. package/dist/lib/minimax-auth.d.ts +18 -8
  22. package/dist/lib/minimax-auth.d.ts.map +1 -1
  23. package/dist/lib/minimax-auth.js +124 -45
  24. package/dist/lib/minimax-auth.js.map +1 -1
  25. package/dist/lib/minimax-endpoints.d.ts +10 -0
  26. package/dist/lib/minimax-endpoints.d.ts.map +1 -0
  27. package/dist/lib/minimax-endpoints.js +19 -0
  28. package/dist/lib/minimax-endpoints.js.map +1 -0
  29. package/dist/lib/provider-metadata.d.ts +1 -1
  30. package/dist/lib/provider-metadata.d.ts.map +1 -1
  31. package/dist/lib/provider-metadata.js +29 -0
  32. package/dist/lib/provider-metadata.js.map +1 -1
  33. package/dist/lib/quota-entry-display.d.ts +5 -0
  34. package/dist/lib/quota-entry-display.d.ts.map +1 -0
  35. package/dist/lib/quota-entry-display.js +45 -0
  36. package/dist/lib/quota-entry-display.js.map +1 -0
  37. package/dist/lib/quota-render-data.d.ts +1 -0
  38. package/dist/lib/quota-render-data.d.ts.map +1 -1
  39. package/dist/lib/quota-render-data.js +13 -4
  40. package/dist/lib/quota-render-data.js.map +1 -1
  41. package/dist/lib/quota-runtime-context.d.ts.map +1 -1
  42. package/dist/lib/quota-runtime-context.js +3 -0
  43. package/dist/lib/quota-runtime-context.js.map +1 -1
  44. package/dist/lib/quota-stats.d.ts +4 -0
  45. package/dist/lib/quota-stats.d.ts.map +1 -1
  46. package/dist/lib/quota-stats.js +21 -5
  47. package/dist/lib/quota-stats.js.map +1 -1
  48. package/dist/lib/quota-status.d.ts.map +1 -1
  49. package/dist/lib/quota-status.js +124 -45
  50. package/dist/lib/quota-status.js.map +1 -1
  51. package/dist/lib/session-tokens-format.d.ts.map +1 -1
  52. package/dist/lib/session-tokens-format.js +19 -5
  53. package/dist/lib/session-tokens-format.js.map +1 -1
  54. package/dist/lib/session-tokens.d.ts.map +1 -1
  55. package/dist/lib/session-tokens.js +2 -0
  56. package/dist/lib/session-tokens.js.map +1 -1
  57. package/dist/lib/tui-compact-format.d.ts +8 -0
  58. package/dist/lib/tui-compact-format.d.ts.map +1 -0
  59. package/dist/lib/tui-compact-format.js +180 -0
  60. package/dist/lib/tui-compact-format.js.map +1 -0
  61. package/dist/lib/tui-native-provider-quota.d.ts +7 -0
  62. package/dist/lib/tui-native-provider-quota.d.ts.map +1 -0
  63. package/dist/lib/tui-native-provider-quota.js +25 -0
  64. package/dist/lib/tui-native-provider-quota.js.map +1 -0
  65. package/dist/lib/tui-panel-state.d.ts +15 -1
  66. package/dist/lib/tui-panel-state.d.ts.map +1 -1
  67. package/dist/lib/tui-panel-state.js +13 -0
  68. package/dist/lib/tui-panel-state.js.map +1 -1
  69. package/dist/lib/tui-runtime.d.ts +28 -1
  70. package/dist/lib/tui-runtime.d.ts.map +1 -1
  71. package/dist/lib/tui-runtime.js +140 -29
  72. package/dist/lib/tui-runtime.js.map +1 -1
  73. package/dist/lib/types.d.ts +20 -0
  74. package/dist/lib/types.d.ts.map +1 -1
  75. package/dist/lib/types.js +10 -0
  76. package/dist/lib/types.js.map +1 -1
  77. package/dist/lib/zhipu-auth.d.ts +38 -0
  78. package/dist/lib/zhipu-auth.d.ts.map +1 -0
  79. package/dist/lib/zhipu-auth.js +107 -0
  80. package/dist/lib/zhipu-auth.js.map +1 -0
  81. package/dist/lib/zhipu.d.ts +11 -0
  82. package/dist/lib/zhipu.d.ts.map +1 -0
  83. package/dist/lib/zhipu.js +87 -0
  84. package/dist/lib/zhipu.js.map +1 -0
  85. package/dist/providers/minimax-coding-plan.d.ts +4 -0
  86. package/dist/providers/minimax-coding-plan.d.ts.map +1 -1
  87. package/dist/providers/minimax-coding-plan.js +106 -56
  88. package/dist/providers/minimax-coding-plan.js.map +1 -1
  89. package/dist/providers/registry.d.ts.map +1 -1
  90. package/dist/providers/registry.js +4 -1
  91. package/dist/providers/registry.js.map +1 -1
  92. package/dist/providers/zhipu.d.ts +8 -0
  93. package/dist/providers/zhipu.d.ts.map +1 -0
  94. package/dist/providers/zhipu.js +79 -0
  95. package/dist/providers/zhipu.js.map +1 -0
  96. package/dist/tui.d.ts +0 -1
  97. package/dist/tui.d.ts.map +1 -1
  98. package/dist/tui.tsx +383 -45
  99. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zhipu-auth.js","sourceRoot":"","sources":["../../src/lib/zhipu-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Zhipu quota fetcher
3
+ *
4
+ * Uses OpenCode's auth.json (zhipu-coding-plan) and queries:
5
+ * https://bigmodel.cn/api/monitor/usage/quota/limit
6
+ */
7
+ import type { ZaiResult } from "./types.js";
8
+ export declare function queryZhipuQuota(options?: {
9
+ requestTimeoutMs?: number;
10
+ }): Promise<ZaiResult>;
11
+ //# sourceMappingURL=zhipu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zhipu.d.ts","sourceRoot":"","sources":["../../src/lib/zhipu.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,SAAS,EAEV,MAAM,YAAY,CAAC;AAKpB,wBAAsB,eAAe,CAAC,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CA+ErG"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Zhipu quota fetcher
3
+ *
4
+ * Uses OpenCode's auth.json (zhipu-coding-plan) and queries:
5
+ * https://bigmodel.cn/api/monitor/usage/quota/limit
6
+ */
7
+ import { clampPercent } from "./format-utils.js";
8
+ import { sanitizeDisplaySnippet, sanitizeDisplayText } from "./display-sanitize.js";
9
+ import { fetchWithTimeout } from "./http.js";
10
+ import { resolveZhipuAuthCached } from "./zhipu-auth.js";
11
+ const ZHIPU_QUOTA_URL = "https://bigmodel.cn/api/monitor/usage/quota/limit";
12
+ export async function queryZhipuQuota(options = {}) {
13
+ const auth = await resolveZhipuAuthCached();
14
+ if (auth.state === "none")
15
+ return null;
16
+ if (auth.state === "invalid") {
17
+ return { success: false, error: auth.error };
18
+ }
19
+ try {
20
+ const headers = {
21
+ Authorization: auth.apiKey,
22
+ "User-Agent": "OpenCode-Quota-Toast/1.0",
23
+ "Content-Type": "application/json",
24
+ };
25
+ const resp = await fetchWithTimeout(ZHIPU_QUOTA_URL, { headers }, options.requestTimeoutMs);
26
+ if (!resp.ok) {
27
+ const text = await resp.text();
28
+ return {
29
+ success: false,
30
+ error: `Zhipu API error ${resp.status}: ${sanitizeDisplaySnippet(text, 120)}`,
31
+ };
32
+ }
33
+ const data = (await resp.json());
34
+ const limits = data.data.limits;
35
+ if (!limits || !Array.isArray(limits)) {
36
+ return { success: false, error: "Invalid quota data" };
37
+ }
38
+ let fiveHourWindow;
39
+ let weeklyWindow;
40
+ let mcpWindow;
41
+ for (const limit of limits) {
42
+ const percentRemaining = clampPercent(100 - limit.percentage);
43
+ let resetTimeIso;
44
+ if (limit.nextResetTime) {
45
+ const ms = Math.round(limit.nextResetTime);
46
+ if (Number.isFinite(ms) && ms > 0) {
47
+ resetTimeIso = new Date(ms).toISOString();
48
+ }
49
+ }
50
+ const window = { percentRemaining, resetTimeIso };
51
+ if (limit.type === "TOKENS_LIMIT") {
52
+ if (limit.unit === 3) {
53
+ // unit 3 is the 5-hour token window (Standard Lite/Pro/Max).
54
+ fiveHourWindow = window;
55
+ }
56
+ else if (limit.unit === 6) {
57
+ // unit 6 is the weekly token window.
58
+ weeklyWindow = window;
59
+ }
60
+ else if (limit.unit === 4) {
61
+ // unit 4 is daily. Do not surface it as weekly in the current UI/report shape.
62
+ continue;
63
+ }
64
+ }
65
+ else if (limit.type === "TIME_LIMIT") {
66
+ // TIME_LIMIT (unit 5) is typically the Monthly MCP limit
67
+ mcpWindow = window;
68
+ }
69
+ }
70
+ return {
71
+ success: true,
72
+ label: "Zhipu",
73
+ windows: {
74
+ fiveHour: fiveHourWindow,
75
+ weekly: weeklyWindow,
76
+ mcp: mcpWindow,
77
+ },
78
+ };
79
+ }
80
+ catch (err) {
81
+ return {
82
+ success: false,
83
+ error: sanitizeDisplayText(err instanceof Error ? err.message : String(err)),
84
+ };
85
+ }
86
+ }
87
+ //# sourceMappingURL=zhipu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zhipu.js","sourceRoot":"","sources":["../../src/lib/zhipu.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * Fetches quota data from MiniMax API for coding plan users.
5
5
  */
6
6
  import type { QuotaProvider } from "../lib/entries.js";
7
+ import { type MiniMaxQuotaEndpointId } from "../lib/minimax-endpoints.js";
7
8
  import type { MiniMaxResult } from "../lib/types.js";
8
9
  /**
9
10
  * Fetch MiniMax coding plan quota from the API.
@@ -16,6 +17,9 @@ import type { MiniMaxResult } from "../lib/types.js";
16
17
  */
17
18
  export declare function queryMiniMaxQuota(apiKey: string, options?: {
18
19
  requestTimeoutMs?: number;
20
+ endpoint?: MiniMaxQuotaEndpointId;
21
+ label?: string;
19
22
  }): Promise<MiniMaxResult>;
20
23
  export declare const minimaxCodingPlanProvider: QuotaProvider;
24
+ export declare const minimaxChinaCodingPlanProvider: QuotaProvider;
21
25
  //# sourceMappingURL=minimax-coding-plan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"minimax-coding-plan.d.ts","sourceRoot":"","sources":["../../src/providers/minimax-coding-plan.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAA6C,MAAM,mBAAmB,CAAC;AASlG,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AA+IzE;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1C,OAAO,CAAC,aAAa,CAAC,CA6CxB;AAED,eAAO,MAAM,yBAAyB,EAAE,aA+CvC,CAAC"}
1
+ {"version":3,"file":"minimax-coding-plan.d.ts","sourceRoot":"","sources":["../../src/providers/minimax-coding-plan.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,6BAA6B,CAAC;AAQrC,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AAwJzE;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7F,OAAO,CAAC,aAAa,CAAC,CAgDxB;AAyGD,eAAO,MAAM,yBAAyB,EAAE,aAKtC,CAAC;AAEH,eAAO,MAAM,8BAA8B,EAAE,aAK3C,CAAC"}
@@ -3,14 +3,15 @@
3
3
  *
4
4
  * Fetches quota data from MiniMax API for coding plan users.
5
5
  */
6
- import { DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS, resolveMiniMaxAuthCached, } from "../lib/minimax-auth.js";
6
+ import { DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS, resolveMiniMaxAuthCached, resolveMiniMaxChinaAuthCached, } from "../lib/minimax-auth.js";
7
+ import { getMiniMaxQuotaEndpoint, } from "../lib/minimax-endpoints.js";
7
8
  import { sanitizeDisplayText } from "../lib/display-sanitize.js";
8
9
  import { fetchWithTimeout } from "../lib/http.js";
9
- import { isCanonicalProviderAvailable } from "../lib/provider-availability.js";
10
+ import { isAnyProviderIdAvailable, isCanonicalProviderAvailable, } from "../lib/provider-availability.js";
10
11
  import { normalizeQuotaProviderId } from "../lib/provider-metadata.js";
11
12
  import { attemptedErrorResult, attemptedResult, notAttemptedResult } from "./result-helpers.js";
12
- const MINIMAX_API_URL = "https://api.minimax.io/v1/api/openplatform/coding_plan/remains";
13
13
  const MINIMAX_PROVIDER_LABEL = "MiniMax Coding Plan";
14
+ const MINIMAX_CHINA_PROVIDER_LABEL = "MiniMax Coding Plan (CN)";
14
15
  const USER_AGENT = "OpenCode-Quota-Toast/1.0";
15
16
  const MINIMAX_WINDOW_SPECS = [
16
17
  {
@@ -36,8 +37,8 @@ function isFiniteNumber(value) {
36
37
  /**
37
38
  * Type guard that validates a value is a well-formed MiniMax model record.
38
39
  *
39
- * Checks for `model_name` (string) and all required numeric fields to prevent
40
- * `NaN` arithmetic when the API response shape is unexpected.
40
+ * Checks for `model_name` (string) and the 5-hour/request quota numeric fields
41
+ * to prevent `NaN` arithmetic when the API response shape is unexpected.
41
42
  */
42
43
  function isMiniMaxModelRecord(value) {
43
44
  if (value === null || typeof value !== "object" || !("model_name" in value))
@@ -46,10 +47,7 @@ function isMiniMaxModelRecord(value) {
46
47
  return (typeof v.model_name === "string" &&
47
48
  isFiniteNumber(v.current_interval_total_count) &&
48
49
  isFiniteNumber(v.current_interval_usage_count) &&
49
- isFiniteNumber(v.remains_time) &&
50
- isFiniteNumber(v.current_weekly_total_count) &&
51
- isFiniteNumber(v.current_weekly_usage_count) &&
52
- isFiniteNumber(v.weekly_remains_time));
50
+ isFiniteNumber(v.remains_time));
53
51
  }
54
52
  function roundPercent(value) {
55
53
  return Math.min(100, Math.round(value));
@@ -65,26 +63,31 @@ function isMiniMaxCodingModelName(modelName) {
65
63
  const normalized = modelName.trim().toLowerCase();
66
64
  return normalized === "minimax-m*" || normalized.startsWith("minimax-m");
67
65
  }
68
- function buildMiniMaxEntry(model, spec) {
66
+ function buildMiniMaxEntry(model, spec, providerLabel) {
69
67
  const total = spec.getTotal(model);
68
+ const rawRemaining = spec.getRemaining(model);
69
+ const resetOffsetMs = spec.getResetOffsetMs(model);
70
+ if (!isFiniteNumber(total) || !isFiniteNumber(rawRemaining) || !isFiniteNumber(resetOffsetMs)) {
71
+ return null;
72
+ }
70
73
  if (total <= 0)
71
74
  return null;
72
- const remaining = clampRemaining(total, spec.getRemaining(model));
75
+ const remaining = clampRemaining(total, rawRemaining);
73
76
  const used = total - remaining;
74
77
  const percentRemaining = roundPercent((remaining / total) * 100);
75
78
  return {
76
79
  window: spec.window,
77
- name: spec.name,
78
- group: MINIMAX_PROVIDER_LABEL,
80
+ name: spec.name.replace(MINIMAX_PROVIDER_LABEL, providerLabel),
81
+ group: providerLabel,
79
82
  label: spec.label,
80
83
  right: `${used}/${total}`,
81
84
  percentRemaining,
82
- resetTimeIso: new Date(Date.now() + Math.max(0, spec.getResetOffsetMs(model))).toISOString(),
85
+ resetTimeIso: new Date(Date.now() + Math.max(0, resetOffsetMs)).toISOString(),
83
86
  };
84
87
  }
85
- function buildMiniMaxEntries(model) {
88
+ function buildMiniMaxEntries(model, providerLabel = MINIMAX_PROVIDER_LABEL) {
86
89
  return MINIMAX_WINDOW_SPECS.flatMap((spec) => {
87
- const entry = buildMiniMaxEntry(model, spec);
90
+ const entry = buildMiniMaxEntry(model, spec, providerLabel);
88
91
  return entry ? [entry] : [];
89
92
  });
90
93
  }
@@ -116,8 +119,9 @@ function selectCanonicalMiniMaxModel(models) {
116
119
  * the API returns successfully but no models have reportable quota.
117
120
  */
118
121
  export async function queryMiniMaxQuota(apiKey, options = {}) {
122
+ const endpoint = getMiniMaxQuotaEndpoint(options.endpoint ?? "international");
119
123
  try {
120
- const response = await fetchWithTimeout(MINIMAX_API_URL, {
124
+ const response = await fetchWithTimeout(endpoint.quotaUrl, {
121
125
  method: "GET",
122
126
  headers: {
123
127
  Authorization: `Bearer ${apiKey}`,
@@ -140,7 +144,9 @@ export async function queryMiniMaxQuota(apiKey, options = {}) {
140
144
  }
141
145
  const matchingModels = (payload.model_remains ?? []).filter((model) => isMiniMaxModelRecord(model) && isMiniMaxCodingModelName(model.model_name));
142
146
  const canonicalModel = selectCanonicalMiniMaxModel(matchingModels);
143
- const entries = canonicalModel ? buildMiniMaxEntries(canonicalModel) : [];
147
+ const entries = canonicalModel
148
+ ? buildMiniMaxEntries(canonicalModel, options.label ?? MINIMAX_PROVIDER_LABEL)
149
+ : [];
144
150
  return { success: true, entries };
145
151
  }
146
152
  catch (err) {
@@ -150,43 +156,87 @@ export async function queryMiniMaxQuota(apiKey, options = {}) {
150
156
  };
151
157
  }
152
158
  }
153
- export const minimaxCodingPlanProvider = {
159
+ function isMiniMaxChinaExplicitlyEnabled(context) {
160
+ if (!context || context.enabledProviders === "auto")
161
+ return false;
162
+ return context.enabledProviders.some((providerId) => normalizeQuotaProviderId(providerId) === "minimax-china-coding-plan");
163
+ }
164
+ function matchesMiniMaxCurrentModel(model, spec, context) {
165
+ const [provider = "", modelId] = model.toLowerCase().split("/", 2);
166
+ if (!modelId || !isMiniMaxCodingModelName(modelId))
167
+ return false;
168
+ const normalizedProvider = normalizeQuotaProviderId(provider);
169
+ if (spec.id === "minimax-coding-plan") {
170
+ return normalizedProvider === "minimax-coding-plan";
171
+ }
172
+ return (normalizedProvider === "minimax-china-coding-plan" ||
173
+ (provider === "minimax" && isMiniMaxChinaExplicitlyEnabled(context)));
174
+ }
175
+ async function isMiniMaxProviderRuntimeAvailable(ctx, spec) {
176
+ const providerAvailable = await isCanonicalProviderAvailable({
177
+ ctx,
178
+ providerId: spec.id,
179
+ fallbackOnError: false,
180
+ });
181
+ if (providerAvailable)
182
+ return true;
183
+ if (spec.id !== "minimax-china-coding-plan" || !isMiniMaxChinaExplicitlyEnabled(ctx.config)) {
184
+ return false;
185
+ }
186
+ return isAnyProviderIdAvailable({
187
+ ctx,
188
+ candidateIds: ["minimax"],
189
+ fallbackOnError: false,
190
+ });
191
+ }
192
+ function createMiniMaxProvider(spec) {
193
+ return {
194
+ id: spec.id,
195
+ async isAvailable(ctx) {
196
+ const providerAvailable = await isMiniMaxProviderRuntimeAvailable(ctx, spec);
197
+ if (!providerAvailable) {
198
+ return false;
199
+ }
200
+ const auth = await spec.resolveAuthCached({
201
+ maxAgeMs: DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS,
202
+ });
203
+ return auth.state === "configured" || auth.state === "invalid";
204
+ },
205
+ matchesCurrentModel(model, context) {
206
+ return matchesMiniMaxCurrentModel(model, spec, context);
207
+ },
208
+ async fetch(ctx) {
209
+ const auth = await spec.resolveAuthCached({
210
+ maxAgeMs: DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS,
211
+ });
212
+ if (auth.state === "none") {
213
+ return notAttemptedResult();
214
+ }
215
+ if (auth.state === "invalid") {
216
+ return attemptedErrorResult(spec.label, auth.error);
217
+ }
218
+ const result = await queryMiniMaxQuota(auth.apiKey, {
219
+ endpoint: spec.endpoint,
220
+ label: spec.label,
221
+ requestTimeoutMs: ctx.config?.requestTimeoutMs,
222
+ });
223
+ if (!result.success) {
224
+ return attemptedErrorResult(spec.label, result.error);
225
+ }
226
+ return attemptedResult(result.entries);
227
+ },
228
+ };
229
+ }
230
+ export const minimaxCodingPlanProvider = createMiniMaxProvider({
154
231
  id: "minimax-coding-plan",
155
- async isAvailable(ctx) {
156
- const providerAvailable = await isCanonicalProviderAvailable({
157
- ctx,
158
- providerId: "minimax-coding-plan",
159
- fallbackOnError: false,
160
- });
161
- if (!providerAvailable) {
162
- return false;
163
- }
164
- const auth = await resolveMiniMaxAuthCached({
165
- maxAgeMs: DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS,
166
- });
167
- return auth.state === "configured" || auth.state === "invalid";
168
- },
169
- matchesCurrentModel(model) {
170
- const [provider, modelId] = model.toLowerCase().split("/", 2);
171
- return normalizeQuotaProviderId(provider) === "minimax-coding-plan" && Boolean(modelId) && isMiniMaxCodingModelName(modelId);
172
- },
173
- async fetch(ctx) {
174
- const auth = await resolveMiniMaxAuthCached({
175
- maxAgeMs: DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS,
176
- });
177
- if (auth.state === "none") {
178
- return notAttemptedResult();
179
- }
180
- if (auth.state === "invalid") {
181
- return attemptedErrorResult(MINIMAX_PROVIDER_LABEL, auth.error);
182
- }
183
- const result = await queryMiniMaxQuota(auth.apiKey, {
184
- requestTimeoutMs: ctx.config?.requestTimeoutMs,
185
- });
186
- if (!result.success) {
187
- return attemptedErrorResult(MINIMAX_PROVIDER_LABEL, result.error);
188
- }
189
- return attemptedResult(result.entries);
190
- },
191
- };
232
+ label: MINIMAX_PROVIDER_LABEL,
233
+ endpoint: "international",
234
+ resolveAuthCached: resolveMiniMaxAuthCached,
235
+ });
236
+ export const minimaxChinaCodingPlanProvider = createMiniMaxProvider({
237
+ id: "minimax-china-coding-plan",
238
+ label: MINIMAX_CHINA_PROVIDER_LABEL,
239
+ endpoint: "china",
240
+ resolveAuthCached: resolveMiniMaxChinaAuthCached,
241
+ });
192
242
  //# sourceMappingURL=minimax-coding-plan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"minimax-coding-plan.js","sourceRoot":"","sources":["../../src/providers/minimax-coding-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"minimax-coding-plan.js","sourceRoot":"","sources":["../../src/providers/minimax-coding-plan.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;AAkBvD,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAoB9C"}
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;AAsBvD,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAsB9C"}
@@ -15,8 +15,9 @@ import { crofProvider } from "./crof.js";
15
15
  import { qwenCodeProvider } from "./qwen-code.js";
16
16
  import { alibabaCodingPlanProvider } from "./alibaba-coding-plan.js";
17
17
  import { zaiProvider } from "./zai.js";
18
+ import { zhipuProvider } from "./zhipu.js";
18
19
  import { nanoGptProvider } from "./nanogpt.js";
19
- import { minimaxCodingPlanProvider } from "./minimax-coding-plan.js";
20
+ import { minimaxChinaCodingPlanProvider, minimaxCodingPlanProvider, } from "./minimax-coding-plan.js";
20
21
  import { opencodeGoProvider } from "./opencode-go.js";
21
22
  import { kimiCodeProvider } from "./kimi-code.js";
22
23
  export function getProviders() {
@@ -34,8 +35,10 @@ export function getProviders() {
34
35
  googleAntigravityProvider,
35
36
  googleGeminiCliProvider,
36
37
  zaiProvider,
38
+ zhipuProvider,
37
39
  nanoGptProvider,
38
40
  minimaxCodingPlanProvider,
41
+ minimaxChinaCodingPlanProvider,
39
42
  kimiCodeProvider,
40
43
  opencodeGoProvider,
41
44
  ];
@@ -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,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,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,eAAe;QACf,yBAAyB;QACzB,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;AAElD,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,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Zhipu provider wrapper.
3
+ *
4
+ * Normalizes Zhipu quota into generic toast entries.
5
+ */
6
+ import type { QuotaProvider } from "../lib/entries.js";
7
+ export declare const zhipuProvider: QuotaProvider;
8
+ //# sourceMappingURL=zhipu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zhipu.d.ts","sourceRoot":"","sources":["../../src/providers/zhipu.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAS3B,eAAO,MAAM,aAAa,EAAE,aAgF3B,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Zhipu provider wrapper.
3
+ *
4
+ * Normalizes Zhipu quota into generic toast entries.
5
+ */
6
+ import { queryZhipuQuota } from "../lib/zhipu.js";
7
+ import { isCanonicalProviderAvailable } from "../lib/provider-availability.js";
8
+ import { DEFAULT_ZHIPU_AUTH_CACHE_MAX_AGE_MS, resolveZhipuAuthCached, } from "../lib/zhipu-auth.js";
9
+ import { attemptedErrorResult, attemptedResult, notAttemptedResult } from "./result-helpers.js";
10
+ export const zhipuProvider = {
11
+ id: "zhipu",
12
+ async isAvailable(ctx) {
13
+ const providerAvailable = await isCanonicalProviderAvailable({
14
+ ctx,
15
+ providerId: "zhipu",
16
+ fallbackOnError: false,
17
+ });
18
+ if (!providerAvailable) {
19
+ return false;
20
+ }
21
+ const auth = await resolveZhipuAuthCached({
22
+ maxAgeMs: DEFAULT_ZHIPU_AUTH_CACHE_MAX_AGE_MS,
23
+ });
24
+ return auth.state === "configured" || auth.state === "invalid";
25
+ },
26
+ matchesCurrentModel(model) {
27
+ const lower = model.toLowerCase();
28
+ const provider = lower.split("/")[0];
29
+ return !!provider && (provider.includes("zhipu") || provider === "glm-coding-plan");
30
+ },
31
+ async fetch(ctx) {
32
+ const result = await queryZhipuQuota({ requestTimeoutMs: ctx.config?.requestTimeoutMs });
33
+ if (!result) {
34
+ return notAttemptedResult();
35
+ }
36
+ if (!result.success) {
37
+ return attemptedErrorResult("Zhipu", result.error);
38
+ }
39
+ const entries = [];
40
+ const group = result.label;
41
+ const fiveHour = result.windows.fiveHour;
42
+ if (fiveHour) {
43
+ entries.push({
44
+ name: `${group} 5h`,
45
+ group,
46
+ label: "5h:",
47
+ percentRemaining: fiveHour.percentRemaining,
48
+ resetTimeIso: fiveHour.resetTimeIso,
49
+ });
50
+ }
51
+ const weekly = result.windows.weekly;
52
+ if (weekly) {
53
+ entries.push({
54
+ name: `${group} Weekly`,
55
+ group,
56
+ label: "Weekly:",
57
+ percentRemaining: weekly.percentRemaining,
58
+ resetTimeIso: weekly.resetTimeIso,
59
+ });
60
+ }
61
+ const mcp = result.windows.mcp;
62
+ if (mcp) {
63
+ entries.push({
64
+ name: `${group} MCP`,
65
+ group,
66
+ label: "MCP:",
67
+ percentRemaining: mcp.percentRemaining,
68
+ resetTimeIso: mcp.resetTimeIso,
69
+ });
70
+ }
71
+ if (entries.length === 0) {
72
+ entries.push({ name: result.label, percentRemaining: 0 });
73
+ }
74
+ return attemptedResult(entries, [], {
75
+ singleWindowDisplayName: result.label,
76
+ });
77
+ },
78
+ };
79
+ //# sourceMappingURL=zhipu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zhipu.js","sourceRoot":"","sources":["../../src/providers/zhipu.ts"],"names":[],"mappings":"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"}
package/dist/tui.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /** @jsxImportSource @opentui/solid */
2
1
  import type { TuiPluginModule } from "@opencode-ai/plugin/tui";
3
2
  declare const pluginModule: TuiPluginModule & {
4
3
  id: string;
package/dist/tui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAAK,EAA2B,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAsIxF,QAAA,MAAM,YAAY,EAAE,eAAe,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAGjD,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAkdjC,QAAA,MAAM,YAAY,EAAE,eAAe,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAGjD,CAAC;AAEF,eAAe,YAAY,CAAC"}