@slkiser/opencode-quota 2.5.1 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -10
- package/dist/lib/alibaba-auth.d.ts +21 -0
- package/dist/lib/alibaba-auth.d.ts.map +1 -0
- package/dist/lib/alibaba-auth.js +92 -0
- package/dist/lib/alibaba-auth.js.map +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +4 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/copilot.d.ts +4 -4
- package/dist/lib/copilot.d.ts.map +1 -1
- package/dist/lib/copilot.js +177 -30
- package/dist/lib/copilot.js.map +1 -1
- package/dist/lib/entries.d.ts +1 -0
- package/dist/lib/entries.d.ts.map +1 -1
- package/dist/lib/provider-metadata.d.ts.map +1 -1
- package/dist/lib/provider-metadata.js +2 -0
- package/dist/lib/provider-metadata.js.map +1 -1
- package/dist/lib/quota-status.d.ts +1 -0
- package/dist/lib/quota-status.d.ts.map +1 -1
- package/dist/lib/quota-status.js +43 -6
- package/dist/lib/quota-status.js.map +1 -1
- package/dist/lib/qwen-auth.d.ts +10 -0
- package/dist/lib/qwen-auth.d.ts.map +1 -1
- package/dist/lib/qwen-auth.js +22 -5
- package/dist/lib/qwen-auth.js.map +1 -1
- package/dist/lib/qwen-local-quota.d.ts +41 -0
- package/dist/lib/qwen-local-quota.d.ts.map +1 -1
- package/dist/lib/qwen-local-quota.js +132 -20
- package/dist/lib/qwen-local-quota.js.map +1 -1
- package/dist/lib/types.d.ts +22 -6
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +1 -0
- package/dist/lib/types.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +88 -28
- package/dist/plugin.js.map +1 -1
- package/dist/providers/alibaba-coding-plan.d.ts +3 -0
- package/dist/providers/alibaba-coding-plan.d.ts.map +1 -0
- package/dist/providers/alibaba-coding-plan.js +87 -0
- package/dist/providers/alibaba-coding-plan.js.map +1 -0
- package/dist/providers/qwen-code.d.ts.map +1 -1
- package/dist/providers/qwen-code.js +11 -10
- package/dist/providers/qwen-code.js.map +1 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +2 -0
- package/dist/providers/registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,10 +3,27 @@ import { dirname, join } from "path";
|
|
|
3
3
|
import { clampPercent } from "./format-utils.js";
|
|
4
4
|
import { getOpencodeRuntimeDirs } from "./opencode-runtime-paths.js";
|
|
5
5
|
const QWEN_LOCAL_QUOTA_STATE_VERSION = 1;
|
|
6
|
-
const
|
|
7
|
-
const
|
|
6
|
+
const ALIBABA_CODING_PLAN_STATE_VERSION = 1;
|
|
7
|
+
const QWEN_FREE_DAILY_LIMIT = 1000;
|
|
8
|
+
const QWEN_FREE_RPM_LIMIT = 60;
|
|
8
9
|
const RPM_WINDOW_MS = 60_000;
|
|
9
|
-
const
|
|
10
|
+
const FIVE_HOUR_WINDOW_MS = 5 * 60 * 60 * 1000;
|
|
11
|
+
const WEEKLY_WINDOW_MS = 7 * 24 * 60 * 60 * 1000;
|
|
12
|
+
const MONTHLY_WINDOW_MS = 30 * 24 * 60 * 60 * 1000;
|
|
13
|
+
const MAX_QWEN_RECENT_TIMESTAMPS = 300;
|
|
14
|
+
export const ALIBABA_CODING_PLAN_LIMITS = {
|
|
15
|
+
lite: {
|
|
16
|
+
fiveHour: 1200,
|
|
17
|
+
weekly: 9000,
|
|
18
|
+
monthly: 18000,
|
|
19
|
+
},
|
|
20
|
+
pro: {
|
|
21
|
+
fiveHour: 6000,
|
|
22
|
+
weekly: 45000,
|
|
23
|
+
monthly: 90000,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
const MAX_ALIBABA_MONTHLY_LIMIT = Math.max(...Object.values(ALIBABA_CODING_PLAN_LIMITS).map((limits) => limits.monthly));
|
|
10
27
|
function utcDayKey(tsMs) {
|
|
11
28
|
return new Date(tsMs).toISOString().slice(0, 10);
|
|
12
29
|
}
|
|
@@ -15,7 +32,7 @@ function nextUtcMidnightIso(tsMs) {
|
|
|
15
32
|
const nextMidnight = Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate() + 1, 0, 0, 0);
|
|
16
33
|
return new Date(nextMidnight).toISOString();
|
|
17
34
|
}
|
|
18
|
-
function
|
|
35
|
+
function defaultQwenState(nowMs) {
|
|
19
36
|
return {
|
|
20
37
|
version: QWEN_LOCAL_QUOTA_STATE_VERSION,
|
|
21
38
|
utcDay: utcDayKey(nowMs),
|
|
@@ -24,22 +41,46 @@ function defaultState(nowMs) {
|
|
|
24
41
|
updatedAt: nowMs,
|
|
25
42
|
};
|
|
26
43
|
}
|
|
27
|
-
function
|
|
28
|
-
|
|
29
|
-
|
|
44
|
+
function defaultAlibabaState(nowMs) {
|
|
45
|
+
return {
|
|
46
|
+
version: ALIBABA_CODING_PLAN_STATE_VERSION,
|
|
47
|
+
recent: [],
|
|
48
|
+
updatedAt: nowMs,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function normalizeRecent(raw) {
|
|
52
|
+
if (!Array.isArray(raw)) {
|
|
53
|
+
return [];
|
|
30
54
|
}
|
|
31
|
-
|
|
32
|
-
const recentRaw = Array.isArray(obj.recent) ? obj.recent : [];
|
|
33
|
-
const recent = recentRaw
|
|
55
|
+
return raw
|
|
34
56
|
.filter((x) => typeof x === "number" && Number.isFinite(x) && x > 0)
|
|
35
57
|
.map((x) => Math.trunc(x));
|
|
58
|
+
}
|
|
59
|
+
function normalizeQwenState(raw, nowMs) {
|
|
60
|
+
if (!raw || typeof raw !== "object") {
|
|
61
|
+
return defaultQwenState(nowMs);
|
|
62
|
+
}
|
|
63
|
+
const obj = raw;
|
|
36
64
|
return {
|
|
37
65
|
version: QWEN_LOCAL_QUOTA_STATE_VERSION,
|
|
38
66
|
utcDay: typeof obj.utcDay === "string" && obj.utcDay.length === 10 ? obj.utcDay : utcDayKey(nowMs),
|
|
39
67
|
dayCount: typeof obj.dayCount === "number" && Number.isFinite(obj.dayCount) && obj.dayCount >= 0
|
|
40
68
|
? Math.trunc(obj.dayCount)
|
|
41
69
|
: 0,
|
|
42
|
-
recent,
|
|
70
|
+
recent: normalizeRecent(obj.recent),
|
|
71
|
+
updatedAt: typeof obj.updatedAt === "number" && Number.isFinite(obj.updatedAt) && obj.updatedAt > 0
|
|
72
|
+
? Math.trunc(obj.updatedAt)
|
|
73
|
+
: nowMs,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function normalizeAlibabaState(raw, nowMs) {
|
|
77
|
+
if (!raw || typeof raw !== "object") {
|
|
78
|
+
return defaultAlibabaState(nowMs);
|
|
79
|
+
}
|
|
80
|
+
const obj = raw;
|
|
81
|
+
return {
|
|
82
|
+
version: ALIBABA_CODING_PLAN_STATE_VERSION,
|
|
83
|
+
recent: normalizeRecent(obj.recent),
|
|
43
84
|
updatedAt: typeof obj.updatedAt === "number" && Number.isFinite(obj.updatedAt) && obj.updatedAt > 0
|
|
44
85
|
? Math.trunc(obj.updatedAt)
|
|
45
86
|
: nowMs,
|
|
@@ -50,7 +91,7 @@ function applyUtcResetAndPrune(state, nowMs) {
|
|
|
50
91
|
const recentFloor = nowMs - RPM_WINDOW_MS;
|
|
51
92
|
const recent = state.recent
|
|
52
93
|
.filter((ts) => ts >= recentFloor && ts <= nowMs)
|
|
53
|
-
.slice(-
|
|
94
|
+
.slice(-MAX_QWEN_RECENT_TIMESTAMPS);
|
|
54
95
|
if (state.utcDay !== today) {
|
|
55
96
|
return {
|
|
56
97
|
version: QWEN_LOCAL_QUOTA_STATE_VERSION,
|
|
@@ -68,19 +109,30 @@ function applyUtcResetAndPrune(state, nowMs) {
|
|
|
68
109
|
updatedAt: nowMs,
|
|
69
110
|
};
|
|
70
111
|
}
|
|
112
|
+
function pruneAlibabaState(state, nowMs) {
|
|
113
|
+
const recentFloor = nowMs - MONTHLY_WINDOW_MS;
|
|
114
|
+
const recent = state.recent
|
|
115
|
+
.filter((ts) => ts >= recentFloor && ts <= nowMs)
|
|
116
|
+
.slice(-MAX_ALIBABA_MONTHLY_LIMIT);
|
|
117
|
+
return {
|
|
118
|
+
version: ALIBABA_CODING_PLAN_STATE_VERSION,
|
|
119
|
+
recent,
|
|
120
|
+
updatedAt: nowMs,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
71
123
|
function toPercentRemaining(used, limit) {
|
|
72
124
|
if (limit <= 0)
|
|
73
125
|
return 0;
|
|
74
126
|
const remaining = ((limit - used) / limit) * 100;
|
|
75
127
|
return clampPercent(remaining);
|
|
76
128
|
}
|
|
77
|
-
async function
|
|
129
|
+
async function readJsonState(path, fallback, normalize) {
|
|
78
130
|
try {
|
|
79
131
|
const raw = await readFile(path, "utf-8");
|
|
80
|
-
return
|
|
132
|
+
return normalize(JSON.parse(raw));
|
|
81
133
|
}
|
|
82
134
|
catch {
|
|
83
|
-
return
|
|
135
|
+
return fallback;
|
|
84
136
|
}
|
|
85
137
|
}
|
|
86
138
|
async function writeStateToDisk(path, state) {
|
|
@@ -112,25 +164,59 @@ async function writeStateToDisk(path, state) {
|
|
|
112
164
|
await rename(tmp, path);
|
|
113
165
|
}
|
|
114
166
|
}
|
|
167
|
+
function computeRollingWindow(params) {
|
|
168
|
+
const windowFloor = params.nowMs - params.windowMs;
|
|
169
|
+
const matches = params.recent.filter((ts) => ts >= windowFloor && ts <= params.nowMs);
|
|
170
|
+
const oldest = matches.length > 0 ? Math.min(...matches) : undefined;
|
|
171
|
+
return {
|
|
172
|
+
used: matches.length,
|
|
173
|
+
limit: params.limit,
|
|
174
|
+
percentRemaining: toPercentRemaining(matches.length, params.limit),
|
|
175
|
+
resetTimeIso: typeof oldest === "number" ? new Date(oldest + params.windowMs).toISOString() : undefined,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
115
178
|
export function getQwenLocalQuotaPath() {
|
|
116
179
|
const { stateDir } = getOpencodeRuntimeDirs();
|
|
117
180
|
return join(stateDir, "opencode-quota", "qwen-local-quota.json");
|
|
118
181
|
}
|
|
182
|
+
export function getAlibabaCodingPlanQuotaPath() {
|
|
183
|
+
const { stateDir } = getOpencodeRuntimeDirs();
|
|
184
|
+
return join(stateDir, "opencode-quota", "alibaba-coding-plan-local-quota.json");
|
|
185
|
+
}
|
|
119
186
|
export async function readQwenLocalQuotaState(params) {
|
|
120
187
|
const nowMs = params?.nowMs ?? Date.now();
|
|
121
188
|
const path = getQwenLocalQuotaPath();
|
|
122
|
-
const state = await
|
|
189
|
+
const state = await readJsonState(path, defaultQwenState(nowMs), (raw) => normalizeQwenState(raw, nowMs));
|
|
123
190
|
return applyUtcResetAndPrune(state, nowMs);
|
|
124
191
|
}
|
|
192
|
+
export async function readAlibabaCodingPlanQuotaState(params) {
|
|
193
|
+
const nowMs = params?.nowMs ?? Date.now();
|
|
194
|
+
const path = getAlibabaCodingPlanQuotaPath();
|
|
195
|
+
const state = await readJsonState(path, defaultAlibabaState(nowMs), (raw) => normalizeAlibabaState(raw, nowMs));
|
|
196
|
+
return pruneAlibabaState(state, nowMs);
|
|
197
|
+
}
|
|
125
198
|
export async function recordQwenCompletion(params) {
|
|
126
199
|
const nowMs = params?.atMs ?? Date.now();
|
|
127
200
|
const path = getQwenLocalQuotaPath();
|
|
128
|
-
const loaded = await
|
|
201
|
+
const loaded = await readJsonState(path, defaultQwenState(nowMs), (raw) => normalizeQwenState(raw, nowMs));
|
|
129
202
|
const state = applyUtcResetAndPrune(loaded, nowMs);
|
|
130
203
|
const next = {
|
|
131
204
|
...state,
|
|
132
205
|
dayCount: state.dayCount + 1,
|
|
133
|
-
recent: [...state.recent, nowMs].slice(-
|
|
206
|
+
recent: [...state.recent, nowMs].slice(-MAX_QWEN_RECENT_TIMESTAMPS),
|
|
207
|
+
updatedAt: nowMs,
|
|
208
|
+
};
|
|
209
|
+
await writeStateToDisk(path, next);
|
|
210
|
+
return next;
|
|
211
|
+
}
|
|
212
|
+
export async function recordAlibabaCodingPlanCompletion(params) {
|
|
213
|
+
const nowMs = params?.atMs ?? Date.now();
|
|
214
|
+
const path = getAlibabaCodingPlanQuotaPath();
|
|
215
|
+
const loaded = await readJsonState(path, defaultAlibabaState(nowMs), (raw) => normalizeAlibabaState(raw, nowMs));
|
|
216
|
+
const state = pruneAlibabaState(loaded, nowMs);
|
|
217
|
+
const next = {
|
|
218
|
+
...state,
|
|
219
|
+
recent: [...state.recent, nowMs].slice(-MAX_ALIBABA_MONTHLY_LIMIT),
|
|
134
220
|
updatedAt: nowMs,
|
|
135
221
|
};
|
|
136
222
|
await writeStateToDisk(path, next);
|
|
@@ -138,8 +224,8 @@ export async function recordQwenCompletion(params) {
|
|
|
138
224
|
}
|
|
139
225
|
export function computeQwenQuota(params) {
|
|
140
226
|
const nowMs = params.nowMs ?? Date.now();
|
|
141
|
-
const dayLimit = params.dayLimit ??
|
|
142
|
-
const rpmLimit = params.rpmLimit ??
|
|
227
|
+
const dayLimit = params.dayLimit ?? QWEN_FREE_DAILY_LIMIT;
|
|
228
|
+
const rpmLimit = params.rpmLimit ?? QWEN_FREE_RPM_LIMIT;
|
|
143
229
|
const state = applyUtcResetAndPrune(params.state, nowMs);
|
|
144
230
|
const dayUsed = Math.max(0, Math.trunc(state.dayCount));
|
|
145
231
|
const rpmUsed = state.recent.length;
|
|
@@ -159,4 +245,30 @@ export function computeQwenQuota(params) {
|
|
|
159
245
|
},
|
|
160
246
|
};
|
|
161
247
|
}
|
|
248
|
+
export function computeAlibabaCodingPlanQuota(params) {
|
|
249
|
+
const nowMs = params.nowMs ?? Date.now();
|
|
250
|
+
const state = pruneAlibabaState(params.state, nowMs);
|
|
251
|
+
const limits = params.limits ?? ALIBABA_CODING_PLAN_LIMITS[params.tier];
|
|
252
|
+
return {
|
|
253
|
+
tier: params.tier,
|
|
254
|
+
fiveHour: computeRollingWindow({
|
|
255
|
+
recent: state.recent,
|
|
256
|
+
nowMs,
|
|
257
|
+
windowMs: FIVE_HOUR_WINDOW_MS,
|
|
258
|
+
limit: limits.fiveHour,
|
|
259
|
+
}),
|
|
260
|
+
weekly: computeRollingWindow({
|
|
261
|
+
recent: state.recent,
|
|
262
|
+
nowMs,
|
|
263
|
+
windowMs: WEEKLY_WINDOW_MS,
|
|
264
|
+
limit: limits.weekly,
|
|
265
|
+
}),
|
|
266
|
+
monthly: computeRollingWindow({
|
|
267
|
+
recent: state.recent,
|
|
268
|
+
nowMs,
|
|
269
|
+
windowMs: MONTHLY_WINDOW_MS,
|
|
270
|
+
limit: limits.monthly,
|
|
271
|
+
}),
|
|
272
|
+
};
|
|
273
|
+
}
|
|
162
274
|
//# sourceMappingURL=qwen-local-quota.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qwen-local-quota.js","sourceRoot":"","sources":["../../src/lib/qwen-local-quota.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"qwen-local-quota.js","sourceRoot":"","sources":["../../src/lib/qwen-local-quota.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -30,6 +30,7 @@ export interface QuotaToastConfig {
|
|
|
30
30
|
*/
|
|
31
31
|
enabledProviders: string[] | "auto";
|
|
32
32
|
googleModels: GoogleModelId[];
|
|
33
|
+
alibabaCodingPlanTier: AlibabaCodingPlanTier;
|
|
33
34
|
showOnIdle: boolean;
|
|
34
35
|
showOnQuestion: boolean;
|
|
35
36
|
showOnCompact: boolean;
|
|
@@ -59,6 +60,24 @@ export interface CopilotAuthData {
|
|
|
59
60
|
access?: string;
|
|
60
61
|
expires?: number;
|
|
61
62
|
}
|
|
63
|
+
export type AlibabaCodingPlanTier = "lite" | "pro";
|
|
64
|
+
export interface QwenOAuthAuthData {
|
|
65
|
+
type: string;
|
|
66
|
+
access?: string;
|
|
67
|
+
refresh?: string;
|
|
68
|
+
expires?: number;
|
|
69
|
+
plan?: string;
|
|
70
|
+
tier?: string;
|
|
71
|
+
[key: string]: unknown;
|
|
72
|
+
}
|
|
73
|
+
export interface AlibabaAuthData {
|
|
74
|
+
type: string;
|
|
75
|
+
key?: string;
|
|
76
|
+
access?: string;
|
|
77
|
+
tier?: string;
|
|
78
|
+
plan?: string;
|
|
79
|
+
[key: string]: unknown;
|
|
80
|
+
}
|
|
62
81
|
/**
|
|
63
82
|
* Copilot subscription tier.
|
|
64
83
|
* See: https://docs.github.com/en/copilot/about-github-copilot/subscription-plans-for-github-copilot
|
|
@@ -145,12 +164,9 @@ export interface AuthData {
|
|
|
145
164
|
type: string;
|
|
146
165
|
key?: string;
|
|
147
166
|
};
|
|
148
|
-
"opencode-qwencode-auth"?:
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
refresh?: string;
|
|
152
|
-
expires?: number;
|
|
153
|
-
};
|
|
167
|
+
"opencode-qwencode-auth"?: QwenOAuthAuthData;
|
|
168
|
+
alibaba?: AlibabaAuthData;
|
|
169
|
+
"alibaba-coding-plan"?: AlibabaAuthData;
|
|
154
170
|
"zai-coding-plan"?: {
|
|
155
171
|
type: "api";
|
|
156
172
|
key: string;
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,+BAA+B;AAC/B,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvE,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IAEjB,qEAAqE;IACrE,WAAW,EAAE,OAAO,CAAC;IAErB,8BAA8B;IAC9B,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;;;OAMG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;;;;;;;OAQG;IACH,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEpC,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IAExB,iDAAiD;IACjD,gBAAgB,EAAE,OAAO,CAAC;IAE1B,4EAA4E;IAC5E,iBAAiB,EAAE,OAAO,CAAC;IAE3B,oCAAoC;IACpC,MAAM,EAAE;QACN,8CAA8C;QAC9C,QAAQ,EAAE,MAAM,CAAC;QACjB,wDAAwD;QACxD,QAAQ,EAAE,MAAM,CAAC;QACjB,8DAA8D;QAC9D,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,mCAAmC;AACnC,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.js
CHANGED
package/dist/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,OAAO,EAAE,IAAI;IAEb,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,SAAS;IACrB,aAAa,EAAE,MAAM,EAAE,YAAY;IAEnC,KAAK,EAAE,KAAK;IAEZ,mFAAmF;IACnF,gBAAgB,EAAE,MAAe;IAEjC,4DAA4D;IAC5D,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,qBAAqB,EAAE,MAAM;IAE7B,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,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX;CACF,CAAC;AAmUF,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,sCAAsC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC,uCAAuC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAG1B;IACF,KAAK,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,2EAA2E,EAAE,OAAO,EAAE,OAAO,EAAE;IACvI,OAAO,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE;IACtD,MAAM,EAAE,EAAE,GAAG,EAAE,0BAA0B,EAAE,MAAM,EAAE,0CAA0C,EAAE,OAAO,EAAE,QAAQ,EAAE;IAClH,OAAO,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE;CAC3D,CAAC"}
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA8QlD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MA8lC9B,CAAC"}
|
package/dist/plugin.js
CHANGED
|
@@ -19,8 +19,9 @@ import { buildQuotaStatusReport } from "./lib/quota-status.js";
|
|
|
19
19
|
import { maybeRefreshPricingSnapshot } from "./lib/modelsdev-pricing.js";
|
|
20
20
|
import { refreshGoogleTokensForAllAccounts } from "./lib/google.js";
|
|
21
21
|
import { getQuotaProviderDisplayLabel } from "./lib/provider-metadata.js";
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
22
|
+
import { DEFAULT_ALIBABA_AUTH_CACHE_MAX_AGE_MS, isAlibabaModelId, resolveAlibabaCodingPlanAuthCached, } from "./lib/alibaba-auth.js";
|
|
23
|
+
import { isQwenCodeModelId, resolveQwenLocalPlanCached, } from "./lib/qwen-auth.js";
|
|
24
|
+
import { recordAlibabaCodingPlanCompletion, recordQwenCompletion, } from "./lib/qwen-local-quota.js";
|
|
24
25
|
import { parseOptionalJsonArgs, parseQuotaBetweenArgs, startOfLocalDayMs, startOfNextLocalDayMs, formatYmd, } from "./lib/command-parsing.js";
|
|
25
26
|
import { handled } from "./lib/command-handled.js";
|
|
26
27
|
import { renderCommandHeading } from "./lib/format-utils.js";
|
|
@@ -105,6 +106,7 @@ function isTokenReportCommand(cmd) {
|
|
|
105
106
|
// =============================================================================
|
|
106
107
|
// Plugin Implementation
|
|
107
108
|
// =============================================================================
|
|
109
|
+
const LOCAL_REQUEST_PLAN_PROVIDER_IDS = new Set(["qwen-code", "alibaba-coding-plan"]);
|
|
108
110
|
/**
|
|
109
111
|
* Main plugin export
|
|
110
112
|
*/
|
|
@@ -149,6 +151,22 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
149
151
|
// Track last session token error for /quota_status diagnostics
|
|
150
152
|
let lastSessionTokenError;
|
|
151
153
|
const providerFetchCache = new Map();
|
|
154
|
+
function getQuotaCommandCache() {
|
|
155
|
+
let quotaCache = globalThis.__opencodeQuotaCommandCache;
|
|
156
|
+
if (!quotaCache) {
|
|
157
|
+
quotaCache = { body: "", timestamp: 0 };
|
|
158
|
+
globalThis.__opencodeQuotaCommandCache = quotaCache;
|
|
159
|
+
}
|
|
160
|
+
return quotaCache;
|
|
161
|
+
}
|
|
162
|
+
function clearQuotaCommandCache() {
|
|
163
|
+
const quotaCache = globalThis.__opencodeQuotaCommandCache;
|
|
164
|
+
if (!quotaCache)
|
|
165
|
+
return;
|
|
166
|
+
quotaCache.body = "";
|
|
167
|
+
quotaCache.timestamp = 0;
|
|
168
|
+
quotaCache.inFlight = undefined;
|
|
169
|
+
}
|
|
152
170
|
function asRecord(value) {
|
|
153
171
|
return value && typeof value === "object" ? value : null;
|
|
154
172
|
}
|
|
@@ -191,14 +209,15 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
191
209
|
function makeProviderFetchCacheKey(providerId, ctx) {
|
|
192
210
|
const style = ctx.config.toastStyle ?? "classic";
|
|
193
211
|
const googleModels = ctx.config.googleModels.join(",");
|
|
212
|
+
const alibabaCodingPlanTier = ctx.config.alibabaCodingPlanTier;
|
|
194
213
|
const onlyCurrentModel = ctx.config.onlyCurrentModel ? "yes" : "no";
|
|
195
214
|
const currentModel = ctx.config.currentModel ?? "";
|
|
196
|
-
return `${providerId}|style=${style}|googleModels=${googleModels}|onlyCurrentModel=${onlyCurrentModel}|currentModel=${currentModel}`;
|
|
215
|
+
return `${providerId}|style=${style}|googleModels=${googleModels}|alibabaTier=${alibabaCodingPlanTier}|onlyCurrentModel=${onlyCurrentModel}|currentModel=${currentModel}`;
|
|
197
216
|
}
|
|
198
217
|
async function fetchProviderWithCache(params) {
|
|
199
218
|
const { provider, ctx, ttlMs } = params;
|
|
200
|
-
//
|
|
201
|
-
if (provider.id
|
|
219
|
+
// Local request-plan providers should update per completion for accurate rolling counters.
|
|
220
|
+
if (LOCAL_REQUEST_PLAN_PROVIDER_IDS.has(provider.id)) {
|
|
202
221
|
return await provider.fetch(ctx);
|
|
203
222
|
}
|
|
204
223
|
const cacheKey = makeProviderFetchCacheKey(provider.id, ctx);
|
|
@@ -236,15 +255,30 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
236
255
|
});
|
|
237
256
|
return promise;
|
|
238
257
|
}
|
|
239
|
-
async function
|
|
258
|
+
async function shouldBypassToastCacheForLocalRequestPlan(trigger, sessionID) {
|
|
240
259
|
if (trigger !== "question")
|
|
241
260
|
return false;
|
|
242
|
-
if (config.enabledProviders !== "auto" && !config.enabledProviders.includes("qwen-code"))
|
|
243
|
-
return false;
|
|
244
261
|
const currentModel = await getCurrentModel(sessionID);
|
|
245
|
-
if (
|
|
246
|
-
|
|
247
|
-
|
|
262
|
+
if (isQwenCodeModelId(currentModel)) {
|
|
263
|
+
const plan = await resolveQwenLocalPlanCached();
|
|
264
|
+
return (plan.state === "qwen_free" &&
|
|
265
|
+
(config.enabledProviders === "auto" || config.enabledProviders.includes("qwen-code")));
|
|
266
|
+
}
|
|
267
|
+
if (isAlibabaModelId(currentModel)) {
|
|
268
|
+
const plan = await resolveAlibabaCodingPlanAuthCached({
|
|
269
|
+
maxAgeMs: DEFAULT_ALIBABA_AUTH_CACHE_MAX_AGE_MS,
|
|
270
|
+
fallbackTier: config.alibabaCodingPlanTier,
|
|
271
|
+
});
|
|
272
|
+
return (plan.state === "configured" &&
|
|
273
|
+
(config.enabledProviders === "auto" ||
|
|
274
|
+
config.enabledProviders.includes("alibaba-coding-plan")));
|
|
275
|
+
}
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
278
|
+
async function shouldBypassQuotaCommandCache(sessionID) {
|
|
279
|
+
if (config.debug || !sessionID)
|
|
280
|
+
return config.debug;
|
|
281
|
+
return await shouldBypassToastCacheForLocalRequestPlan("question", sessionID);
|
|
248
282
|
}
|
|
249
283
|
async function refreshConfig() {
|
|
250
284
|
if (configInFlight)
|
|
@@ -422,6 +456,7 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
422
456
|
client: typedClient,
|
|
423
457
|
config: {
|
|
424
458
|
googleModels: config.googleModels,
|
|
459
|
+
alibabaCodingPlanTier: config.alibabaCodingPlanTier,
|
|
425
460
|
toastStyle: config.toastStyle,
|
|
426
461
|
onlyCurrentModel: config.onlyCurrentModel,
|
|
427
462
|
currentModel,
|
|
@@ -574,7 +609,7 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
574
609
|
}
|
|
575
610
|
const bypassMessageCache = config.debug
|
|
576
611
|
? true
|
|
577
|
-
: await
|
|
612
|
+
: await shouldBypassToastCacheForLocalRequestPlan(trigger, sessionID);
|
|
578
613
|
const message = bypassMessageCache
|
|
579
614
|
? await fetchQuotaMessage(trigger, sessionID)
|
|
580
615
|
: await getOrFetchWithCacheControl(async () => {
|
|
@@ -627,6 +662,7 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
627
662
|
client: typedClient,
|
|
628
663
|
config: {
|
|
629
664
|
googleModels: config.googleModels,
|
|
665
|
+
alibabaCodingPlanTier: config.alibabaCodingPlanTier,
|
|
630
666
|
// Always format /quota in grouped mode for a more dashboard-like look.
|
|
631
667
|
toastStyle: "grouped",
|
|
632
668
|
onlyCurrentModel: config.onlyCurrentModel,
|
|
@@ -644,8 +680,6 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
644
680
|
})));
|
|
645
681
|
const entries = results.flatMap((r) => r.entries);
|
|
646
682
|
const errors = results.flatMap((r) => r.errors);
|
|
647
|
-
if (entries.length === 0)
|
|
648
|
-
return null;
|
|
649
683
|
// Fetch session tokens if enabled and sessionID is available
|
|
650
684
|
let sessionTokens;
|
|
651
685
|
if (config.showSessionTokens && sessionID) {
|
|
@@ -657,6 +691,11 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
657
691
|
// Update diagnostics state: clear on success (no error returned), set on failure
|
|
658
692
|
lastSessionTokenError = stResult.error;
|
|
659
693
|
}
|
|
694
|
+
if (entries.length === 0) {
|
|
695
|
+
if (errors.length === 0 && !sessionTokens)
|
|
696
|
+
return null;
|
|
697
|
+
return formatQuotaCommandBody({ entries, errors, sessionTokens });
|
|
698
|
+
}
|
|
660
699
|
return formatQuotaCommandBody({ entries, errors, sessionTokens });
|
|
661
700
|
}
|
|
662
701
|
async function buildQuotaReport(params) {
|
|
@@ -693,7 +732,10 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
693
732
|
try {
|
|
694
733
|
ok = await p.isAvailable({
|
|
695
734
|
client: typedClient,
|
|
696
|
-
config: {
|
|
735
|
+
config: {
|
|
736
|
+
googleModels: config.googleModels,
|
|
737
|
+
alibabaCodingPlanTier: config.alibabaCodingPlanTier,
|
|
738
|
+
},
|
|
697
739
|
});
|
|
698
740
|
}
|
|
699
741
|
catch {
|
|
@@ -716,6 +758,7 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
716
758
|
configSource: configMeta.source,
|
|
717
759
|
configPaths: configMeta.paths,
|
|
718
760
|
enabledProviders: config.enabledProviders,
|
|
761
|
+
alibabaCodingPlanTier: config.alibabaCodingPlanTier,
|
|
719
762
|
onlyCurrentModel: config.onlyCurrentModel,
|
|
720
763
|
currentModel,
|
|
721
764
|
sessionModelLookup,
|
|
@@ -769,13 +812,12 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
769
812
|
if (cmd === "quota") {
|
|
770
813
|
const generatedAtMs = Date.now();
|
|
771
814
|
// Separate cache for /quota so it doesn't pollute the toast cache.
|
|
772
|
-
|
|
773
|
-
if (!quotaCache) {
|
|
774
|
-
quotaCache = { body: "", timestamp: 0 };
|
|
775
|
-
globalThis.__opencodeQuotaCommandCache = quotaCache;
|
|
776
|
-
}
|
|
815
|
+
const quotaCache = getQuotaCommandCache();
|
|
777
816
|
const now = generatedAtMs;
|
|
778
|
-
const
|
|
817
|
+
const bypassCommandCache = await shouldBypassQuotaCommandCache(sessionID);
|
|
818
|
+
const cached = !bypassCommandCache &&
|
|
819
|
+
quotaCache.timestamp &&
|
|
820
|
+
now - quotaCache.timestamp < config.minIntervalMs
|
|
779
821
|
? quotaCache.body
|
|
780
822
|
: null;
|
|
781
823
|
const body = cached
|
|
@@ -806,7 +848,10 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
806
848
|
const allProvs = getProviders();
|
|
807
849
|
const ctx = {
|
|
808
850
|
client: typedClient,
|
|
809
|
-
config: {
|
|
851
|
+
config: {
|
|
852
|
+
googleModels: config.googleModels,
|
|
853
|
+
alibabaCodingPlanTier: config.alibabaCodingPlanTier,
|
|
854
|
+
},
|
|
810
855
|
};
|
|
811
856
|
const avail = await Promise.all(allProvs.map(async (p) => {
|
|
812
857
|
try {
|
|
@@ -985,16 +1030,31 @@ export const QuotaToastPlugin = async ({ client }) => {
|
|
|
985
1030
|
return;
|
|
986
1031
|
if (isSuccessfulQuestionExecution(output)) {
|
|
987
1032
|
const model = await getCurrentModel(input.sessionID);
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
await
|
|
1033
|
+
try {
|
|
1034
|
+
if (isQwenCodeModelId(model)) {
|
|
1035
|
+
const plan = await resolveQwenLocalPlanCached();
|
|
1036
|
+
if (plan.state === "qwen_free") {
|
|
1037
|
+
await recordQwenCompletion();
|
|
1038
|
+
clearQuotaCommandCache();
|
|
1039
|
+
}
|
|
991
1040
|
}
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
1041
|
+
else if (isAlibabaModelId(model)) {
|
|
1042
|
+
const plan = await resolveAlibabaCodingPlanAuthCached({
|
|
1043
|
+
maxAgeMs: DEFAULT_ALIBABA_AUTH_CACHE_MAX_AGE_MS,
|
|
1044
|
+
fallbackTier: config.alibabaCodingPlanTier,
|
|
995
1045
|
});
|
|
1046
|
+
if (plan.state === "configured") {
|
|
1047
|
+
await recordAlibabaCodingPlanCompletion();
|
|
1048
|
+
clearQuotaCommandCache();
|
|
1049
|
+
}
|
|
996
1050
|
}
|
|
997
1051
|
}
|
|
1052
|
+
catch (err) {
|
|
1053
|
+
await log("Failed to record local request-plan quota completion", {
|
|
1054
|
+
error: err instanceof Error ? err.message : String(err),
|
|
1055
|
+
model,
|
|
1056
|
+
});
|
|
1057
|
+
}
|
|
998
1058
|
}
|
|
999
1059
|
if (config.showOnQuestion) {
|
|
1000
1060
|
await showQuotaToast(input.sessionID, "question");
|