@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.
- package/README.md +376 -295
- package/dist/lib/config.d.ts +1 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +83 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/entries.d.ts +9 -1
- package/dist/lib/entries.d.ts.map +1 -1
- package/dist/lib/format.d.ts.map +1 -1
- package/dist/lib/format.js +2 -45
- package/dist/lib/format.js.map +1 -1
- package/dist/lib/google-gemini-cli-companion.d.ts.map +1 -1
- package/dist/lib/google-gemini-cli-companion.js +43 -6
- package/dist/lib/google-gemini-cli-companion.js.map +1 -1
- package/dist/lib/init-installer.d.ts +4 -1
- package/dist/lib/init-installer.d.ts.map +1 -1
- package/dist/lib/init-installer.js +179 -42
- package/dist/lib/init-installer.js.map +1 -1
- package/dist/lib/jsonc.d.ts.map +1 -1
- package/dist/lib/jsonc.js +2 -1
- package/dist/lib/jsonc.js.map +1 -1
- package/dist/lib/minimax-auth.d.ts +18 -8
- package/dist/lib/minimax-auth.d.ts.map +1 -1
- package/dist/lib/minimax-auth.js +124 -45
- package/dist/lib/minimax-auth.js.map +1 -1
- package/dist/lib/minimax-endpoints.d.ts +10 -0
- package/dist/lib/minimax-endpoints.d.ts.map +1 -0
- package/dist/lib/minimax-endpoints.js +19 -0
- package/dist/lib/minimax-endpoints.js.map +1 -0
- package/dist/lib/provider-metadata.d.ts +1 -1
- package/dist/lib/provider-metadata.d.ts.map +1 -1
- package/dist/lib/provider-metadata.js +29 -0
- package/dist/lib/provider-metadata.js.map +1 -1
- package/dist/lib/quota-entry-display.d.ts +5 -0
- package/dist/lib/quota-entry-display.d.ts.map +1 -0
- package/dist/lib/quota-entry-display.js +45 -0
- package/dist/lib/quota-entry-display.js.map +1 -0
- package/dist/lib/quota-render-data.d.ts +1 -0
- package/dist/lib/quota-render-data.d.ts.map +1 -1
- package/dist/lib/quota-render-data.js +13 -4
- package/dist/lib/quota-render-data.js.map +1 -1
- package/dist/lib/quota-runtime-context.d.ts.map +1 -1
- package/dist/lib/quota-runtime-context.js +3 -0
- package/dist/lib/quota-runtime-context.js.map +1 -1
- package/dist/lib/quota-stats.d.ts +4 -0
- package/dist/lib/quota-stats.d.ts.map +1 -1
- package/dist/lib/quota-stats.js +21 -5
- package/dist/lib/quota-stats.js.map +1 -1
- package/dist/lib/quota-status.d.ts.map +1 -1
- package/dist/lib/quota-status.js +124 -45
- package/dist/lib/quota-status.js.map +1 -1
- package/dist/lib/session-tokens-format.d.ts.map +1 -1
- package/dist/lib/session-tokens-format.js +19 -5
- package/dist/lib/session-tokens-format.js.map +1 -1
- package/dist/lib/session-tokens.d.ts.map +1 -1
- package/dist/lib/session-tokens.js +2 -0
- package/dist/lib/session-tokens.js.map +1 -1
- package/dist/lib/tui-compact-format.d.ts +8 -0
- package/dist/lib/tui-compact-format.d.ts.map +1 -0
- package/dist/lib/tui-compact-format.js +180 -0
- package/dist/lib/tui-compact-format.js.map +1 -0
- package/dist/lib/tui-native-provider-quota.d.ts +7 -0
- package/dist/lib/tui-native-provider-quota.d.ts.map +1 -0
- package/dist/lib/tui-native-provider-quota.js +25 -0
- package/dist/lib/tui-native-provider-quota.js.map +1 -0
- package/dist/lib/tui-panel-state.d.ts +15 -1
- package/dist/lib/tui-panel-state.d.ts.map +1 -1
- package/dist/lib/tui-panel-state.js +13 -0
- package/dist/lib/tui-panel-state.js.map +1 -1
- package/dist/lib/tui-runtime.d.ts +28 -1
- package/dist/lib/tui-runtime.d.ts.map +1 -1
- package/dist/lib/tui-runtime.js +140 -29
- package/dist/lib/tui-runtime.js.map +1 -1
- package/dist/lib/types.d.ts +20 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +10 -0
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/zhipu-auth.d.ts +38 -0
- package/dist/lib/zhipu-auth.d.ts.map +1 -0
- package/dist/lib/zhipu-auth.js +107 -0
- package/dist/lib/zhipu-auth.js.map +1 -0
- package/dist/lib/zhipu.d.ts +11 -0
- package/dist/lib/zhipu.d.ts.map +1 -0
- package/dist/lib/zhipu.js +87 -0
- package/dist/lib/zhipu.js.map +1 -0
- package/dist/providers/minimax-coding-plan.d.ts +4 -0
- package/dist/providers/minimax-coding-plan.d.ts.map +1 -1
- package/dist/providers/minimax-coding-plan.js +106 -56
- package/dist/providers/minimax-coding-plan.js.map +1 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +4 -1
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/zhipu.d.ts +8 -0
- package/dist/providers/zhipu.d.ts.map +1 -0
- package/dist/providers/zhipu.js +79 -0
- package/dist/providers/zhipu.js.map +1 -0
- package/dist/tui.d.ts +0 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.tsx +383 -45
- 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,
|
|
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
|
|
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,
|
|
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:
|
|
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,
|
|
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(
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
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":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"minimax-coding-plan.js","sourceRoot":"","sources":["../../src/providers/minimax-coding-plan.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EACL,qCAAqC,EACrC,wBAAwB,EACxB,6BAA6B,GAE9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,GAExB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEhG,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AACrD,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AAChE,MAAM,UAAU,GAAG,0BAA0B,CAAC;AA+B9C,MAAM,oBAAoB,GAAiC;IACzD;QACE,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,4BAA4B;QACvD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,4BAA4B;QAC3D,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY;KAChD;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,0BAA0B;QACrD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,0BAA0B;QACzD,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,mBAAmB;KACvD;CACF,CAAC;AAEF,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1F,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,OAAO,CACL,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;QAChC,cAAc,CAAC,CAAC,CAAC,4BAA4B,CAAC;QAC9C,cAAc,CAAC,CAAC,CAAC,4BAA4B,CAAC;QAC9C,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY,EAAE,SAAS,GAAG,GAAG;IAC3D,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxE,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,SAAiB;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAiB;IACjD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,OAAO,UAAU,KAAK,YAAY,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAyB,EACzB,IAAuB,EACvB,aAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/B,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IAEjE,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,aAAa,CAAC;QAC9D,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE;QACzB,gBAAgB;QAChB,YAAY,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE;KAC9E,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAyB,EACzB,aAAa,GAAG,sBAAsB;IAEtC,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAC5D,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACnF,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;AAChF,CAAC;AAED,SAAS,2BAA2B,CAAC,MAA4B;IAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,aAAa,GACjB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC;IACzF,IAAI,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,WAAW,KAAK,CAAC;YAAE,OAAO,WAAW,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,UAA4F,EAAE;IAE9F,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC;IAC9E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,QAAQ,CAAC,QAAQ,EACjB;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,MAAM,EAAE;gBACjC,YAAY,EAAE,UAAU;aACzB;SACF,EACD,OAAO,CAAC,gBAAgB,CACzB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qBAAqB,QAAQ,CAAC,MAAM,KAAK,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;aACpF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAC;QAE9D,IAAI,OAAO,CAAC,SAAS,EAAE,WAAW,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,sBAAsB,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,IAAI,SAAS,CAAC,EAAE;aAClG,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CACzD,CAAC,KAAK,EAA+B,EAAE,CACrC,oBAAoB,CAAC,KAAK,CAAC,IAAI,wBAAwB,CAAC,KAAK,CAAC,UAAU,CAAC,CAC5E,CAAC;QACF,MAAM,cAAc,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,cAAc;YAC5B,CAAC,CAAC,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,IAAI,sBAAsB,CAAC;YAC9E,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,sBAAsB,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAChF,CAAC;IACJ,CAAC;AACH,CAAC;AASD,SAAS,+BAA+B,CAAC,OAAmC;IAC1E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,gBAAgB,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAClE,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAClC,CAAC,UAAU,EAAE,EAAE,CAAC,wBAAwB,CAAC,UAAU,CAAC,KAAK,2BAA2B,CACrF,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,KAAa,EACb,IAAyB,EACzB,OAAmC;IAEnC,MAAM,CAAC,QAAQ,GAAG,EAAE,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAEjE,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,IAAI,CAAC,EAAE,KAAK,qBAAqB,EAAE,CAAC;QACtC,OAAO,kBAAkB,KAAK,qBAAqB,CAAC;IACtD,CAAC;IAED,OAAO,CACL,kBAAkB,KAAK,2BAA2B;QAClD,CAAC,QAAQ,KAAK,SAAS,IAAI,+BAA+B,CAAC,OAAO,CAAC,CAAC,CACrE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iCAAiC,CAC9C,GAAyB,EACzB,IAAyB;IAEzB,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAAC;QAC3D,GAAG;QACH,UAAU,EAAE,IAAI,CAAC,EAAE;QACnB,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;IACH,IAAI,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAEnC,IAAI,IAAI,CAAC,EAAE,KAAK,2BAA2B,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,wBAAwB,CAAC;QAC9B,GAAG;QACH,YAAY,EAAE,CAAC,SAAS,CAAC;QACzB,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAyB;IACtD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QAEX,KAAK,CAAC,WAAW,CAAC,GAAyB;YACzC,MAAM,iBAAiB,GAAG,MAAM,iCAAiC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7E,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBACxC,QAAQ,EAAE,qCAAqC;aAChD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;QACjE,CAAC;QAED,mBAAmB,CAAC,KAAa,EAAE,OAAmC;YACpE,OAAO,0BAA0B,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,GAAyB;YACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBACxC,QAAQ,EAAE,qCAAqC;aAChD,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,kBAAkB,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE;gBAClD,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB;aAC/C,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAkB,qBAAqB,CAAC;IAC5E,EAAE,EAAE,qBAAqB;IACzB,KAAK,EAAE,sBAAsB;IAC7B,QAAQ,EAAE,eAAe;IACzB,iBAAiB,EAAE,wBAAwB;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAkB,qBAAqB,CAAC;IACjF,EAAE,EAAE,2BAA2B;IAC/B,KAAK,EAAE,4BAA4B;IACnC,QAAQ,EAAE,OAAO;IACjB,iBAAiB,EAAE,6BAA6B;CACjD,CAAC,CAAC"}
|
|
@@ -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;
|
|
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,
|
|
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 @@
|
|
|
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":"AAAA;;;;GAIG;AAQH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EACL,mCAAmC,EACnC,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEhG,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,EAAE,EAAE,OAAO;IAEX,KAAK,CAAC,WAAW,CAAC,GAAyB;QACzC,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAAC;YAC3D,GAAG;YACH,UAAU,EAAE,OAAO;YACnB,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC;YACxC,QAAQ,EAAE,mCAAmC;SAC9C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;IACjE,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,KAAK,iBAAiB,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAyB;QACnC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEzF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,kBAAkB,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,OAAO,GAAsB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,KAAK,KAAK;gBACnB,KAAK;gBACL,KAAK,EAAE,KAAK;gBACZ,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gBAC3C,YAAY,EAAE,QAAQ,CAAC,YAAY;aACpC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,KAAK,SAAS;gBACvB,KAAK;gBACL,KAAK,EAAE,SAAS;gBAChB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAC/B,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,KAAK,MAAM;gBACpB,KAAK;gBACL,KAAK,EAAE,MAAM;gBACb,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,YAAY,EAAE,GAAG,CAAC,YAAY;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,eAAe,CAAC,OAAO,EAAE,EAAE,EAAE;YAClC,uBAAuB,EAAE,MAAM,CAAC,KAAK;SACtC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
package/dist/tui.d.ts
CHANGED
package/dist/tui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"
|
|
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"}
|