@slkiser/opencode-quota 3.10.1 → 3.11.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 +57 -815
- package/dist/lib/config.js +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/entries.d.ts +5 -0
- package/dist/lib/entries.d.ts.map +1 -1
- package/dist/lib/google-agy-companion.d.ts +29 -0
- package/dist/lib/google-agy-companion.d.ts.map +1 -0
- package/dist/lib/google-agy-companion.js +289 -0
- package/dist/lib/google-agy-companion.js.map +1 -0
- package/dist/lib/google-agy.d.ts +52 -0
- package/dist/lib/google-agy.d.ts.map +1 -0
- package/dist/lib/google-agy.js +461 -0
- package/dist/lib/google-agy.js.map +1 -0
- package/dist/lib/google-antigravity-companion.d.ts.map +1 -1
- package/dist/lib/google-antigravity-companion.js +3 -1
- package/dist/lib/google-antigravity-companion.js.map +1 -1
- package/dist/lib/google-gemini-cli.js +4 -4
- package/dist/lib/google-gemini-cli.js.map +1 -1
- package/dist/lib/google.d.ts.map +1 -1
- package/dist/lib/google.js +55 -5
- package/dist/lib/google.js.map +1 -1
- package/dist/lib/grouped-entry-normalization.js +1 -1
- package/dist/lib/grouped-entry-normalization.js.map +1 -1
- package/dist/lib/init-installer.js +3 -3
- package/dist/lib/init-installer.js.map +1 -1
- package/dist/lib/maintainer-announcements.js +2 -2
- package/dist/lib/maintainer-announcements.js.map +1 -1
- 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 +15 -0
- package/dist/lib/provider-metadata.js.map +1 -1
- package/dist/lib/quota-dialog-commands.js +1 -1
- package/dist/lib/quota-dialog-commands.js.map +1 -1
- package/dist/lib/quota-render-data.d.ts.map +1 -1
- package/dist/lib/quota-render-data.js +13 -0
- package/dist/lib/quota-render-data.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 +29 -0
- package/dist/lib/quota-status.js.map +1 -1
- package/dist/lib/toast-format-grouped.js +1 -1
- package/dist/lib/toast-format-grouped.js.map +1 -1
- package/dist/lib/tui-runtime.js +2 -2
- package/dist/lib/tui-runtime.js.map +1 -1
- package/dist/lib/types.d.ts +22 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +12 -3
- package/dist/lib/types.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +42 -4
- package/dist/plugin.js.map +1 -1
- package/dist/providers/google-agy.d.ts +3 -0
- package/dist/providers/google-agy.d.ts.map +1 -0
- package/dist/providers/google-agy.js +90 -0
- package/dist/providers/google-agy.js.map +1 -0
- package/dist/providers/google-antigravity.d.ts.map +1 -1
- package/dist/providers/google-antigravity.js +3 -1
- package/dist/providers/google-antigravity.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 +2 -2
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { hasAgyQuotaRuntimeAvailable, queryGoogleAgyQuota } from "../lib/google-agy.js";
|
|
2
|
+
import { parseProviderModelRef } from "../lib/provider-model-matching.js";
|
|
3
|
+
import { formatGoogleAccountErrors, formatGoogleAccountLabel, } from "./google-account-format.js";
|
|
4
|
+
import { attemptedErrorResult, attemptedResult, notAttemptedResult } from "./result-helpers.js";
|
|
5
|
+
function isAgyModel(model) {
|
|
6
|
+
const { providerId } = parseProviderModelRef(model);
|
|
7
|
+
return ["google-agy", "opencode-agy-auth", "google-agy-auth"].includes(providerId);
|
|
8
|
+
}
|
|
9
|
+
function formatAgyAccountLabel(bucket) {
|
|
10
|
+
if (bucket.accountEmail) {
|
|
11
|
+
return formatGoogleAccountLabel(bucket.accountEmail, "domainHint");
|
|
12
|
+
}
|
|
13
|
+
return bucket.accountKey ? `Account ${bucket.accountKey.slice(0, 8)}` : "Unknown";
|
|
14
|
+
}
|
|
15
|
+
async function isAgyConfigured(ctx) {
|
|
16
|
+
try {
|
|
17
|
+
return await hasAgyQuotaRuntimeAvailable(ctx.client);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export const googleAgyProvider = {
|
|
24
|
+
id: "google-agy",
|
|
25
|
+
async isAvailable(ctx) {
|
|
26
|
+
return await isAgyConfigured(ctx);
|
|
27
|
+
},
|
|
28
|
+
matchesCurrentModel(model) {
|
|
29
|
+
return isAgyModel(model);
|
|
30
|
+
},
|
|
31
|
+
async fetch(ctx) {
|
|
32
|
+
const result = await queryGoogleAgyQuota(ctx.client, {
|
|
33
|
+
requestTimeoutMs: ctx.config?.requestTimeoutMsConfigured
|
|
34
|
+
? ctx.config.requestTimeoutMs
|
|
35
|
+
: undefined,
|
|
36
|
+
});
|
|
37
|
+
if (!result) {
|
|
38
|
+
return notAttemptedResult();
|
|
39
|
+
}
|
|
40
|
+
if (!result.success) {
|
|
41
|
+
return attemptedErrorResult("Google AGY", result.error);
|
|
42
|
+
}
|
|
43
|
+
const groupedBuckets = new Map();
|
|
44
|
+
for (const bucket of result.buckets) {
|
|
45
|
+
let groupName;
|
|
46
|
+
const name = bucket.displayName;
|
|
47
|
+
if (name.includes("Gemini")) {
|
|
48
|
+
groupName = "Gemini Models";
|
|
49
|
+
}
|
|
50
|
+
else if (name.includes("Claude") || name.includes("GPT")) {
|
|
51
|
+
groupName = "Claude and GPT models";
|
|
52
|
+
}
|
|
53
|
+
if (!groupName)
|
|
54
|
+
continue;
|
|
55
|
+
const accountKey = bucket.accountKey || bucket.accountEmail || "";
|
|
56
|
+
const key = `${accountKey}::${groupName}`;
|
|
57
|
+
const existing = groupedBuckets.get(key);
|
|
58
|
+
if (!existing || bucket.percentRemaining < existing.percentRemaining) {
|
|
59
|
+
groupedBuckets.set(key, { ...bucket, displayName: groupName });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const finalBuckets = Array.from(groupedBuckets.values()).sort((a, b) => a.displayName.localeCompare(b.displayName));
|
|
63
|
+
const entries = finalBuckets.map((bucket) => {
|
|
64
|
+
const emailLabel = formatAgyAccountLabel(bucket);
|
|
65
|
+
const parsedRemaining = bucket.remainingAmount
|
|
66
|
+
? Number.parseInt(bucket.remainingAmount, 10)
|
|
67
|
+
: Number.NaN;
|
|
68
|
+
const remainingAmount = bucket.remainingAmount
|
|
69
|
+
? `${Number.isFinite(parsedRemaining) ? parsedRemaining.toLocaleString("en-US") : bucket.remainingAmount} left`
|
|
70
|
+
: undefined;
|
|
71
|
+
const tokenType = bucket.tokenType?.trim().toUpperCase();
|
|
72
|
+
const right = [remainingAmount, tokenType && tokenType !== "REQUESTS" ? tokenType : undefined]
|
|
73
|
+
.filter(Boolean)
|
|
74
|
+
.join(" ");
|
|
75
|
+
return {
|
|
76
|
+
name: `${bucket.displayName} (${emailLabel})`,
|
|
77
|
+
group: "Google AGY",
|
|
78
|
+
label: `${bucket.displayName}:`,
|
|
79
|
+
...(right ? { right } : {}),
|
|
80
|
+
percentRemaining: bucket.percentRemaining,
|
|
81
|
+
resetTimeIso: bucket.resetTimeIso,
|
|
82
|
+
};
|
|
83
|
+
});
|
|
84
|
+
return attemptedResult(entries, formatGoogleAccountErrors(result.errors, "domainHint"), {
|
|
85
|
+
singleWindowDisplayName: "Google AGY",
|
|
86
|
+
singleWindowShowRight: true,
|
|
87
|
+
});
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=google-agy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-agy.js","sourceRoot":"","sources":["../../src/providers/google-agy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-antigravity.d.ts","sourceRoot":"","sources":["../../src/providers/google-antigravity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAA6C,MAAM,mBAAmB,CAAC;AAkBlG,eAAO,MAAM,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"google-antigravity.d.ts","sourceRoot":"","sources":["../../src/providers/google-antigravity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAA6C,MAAM,mBAAmB,CAAC;AAkBlG,eAAO,MAAM,yBAAyB,EAAE,aA4CvC,CAAC"}
|
|
@@ -38,11 +38,13 @@ export const googleAntigravityProvider = {
|
|
|
38
38
|
const emailLabel = formatGoogleAccountLabel(m.accountEmail, "fixedGmailHint") || "Antigravity";
|
|
39
39
|
return {
|
|
40
40
|
name: `${m.displayName} (${emailLabel})`,
|
|
41
|
+
group: m.displayName,
|
|
42
|
+
label: `${m.displayName}:`,
|
|
41
43
|
percentRemaining: m.percentRemaining,
|
|
42
44
|
resetTimeIso: m.resetTimeIso,
|
|
43
45
|
};
|
|
44
46
|
});
|
|
45
|
-
return attemptedResult(entries, formatGoogleAccountErrors(result.errors, "fixedGmailHint"));
|
|
47
|
+
return attemptedResult(entries, formatGoogleAccountErrors(result.errors, "fixedGmailHint"), { classicStrategy: "preserve" });
|
|
46
48
|
},
|
|
47
49
|
};
|
|
48
50
|
//# sourceMappingURL=google-antigravity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-antigravity.js","sourceRoot":"","sources":["../../src/providers/google-antigravity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,mCAAmC,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEhG,KAAK,UAAU,oBAAoB;IACjC,IAAI,CAAC;QACH,OAAO,MAAM,mCAAmC,EAAE,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAkB;IACtD,EAAE,EAAE,oBAAoB;IAExB,KAAK,CAAC,WAAW,CAAC,IAA0B;QAC1C,oEAAoE;QACpE,mCAAmC;QACnC,OAAO,MAAM,oBAAoB,EAAE,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC/B,OAAO,wBAAwB,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAyB;QACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,YAA+B,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE;YAC9C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,kBAAkB,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtC,MAAM,UAAU,GAAG,wBAAwB,CAAC,CAAC,CAAC,YAAY,EAAE,gBAAgB,CAAC,IAAI,aAAa,CAAC;YAC/F,OAAO;gBACL,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,KAAK,UAAU,GAAG;gBACxC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,YAAY,EAAE,CAAC,CAAC,YAAY;aAC7B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,eAAe,CACpB,OAAO,EACP,yBAAyB,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"google-antigravity.js","sourceRoot":"","sources":["../../src/providers/google-antigravity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,mCAAmC,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEhG,KAAK,UAAU,oBAAoB;IACjC,IAAI,CAAC;QACH,OAAO,MAAM,mCAAmC,EAAE,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAkB;IACtD,EAAE,EAAE,oBAAoB;IAExB,KAAK,CAAC,WAAW,CAAC,IAA0B;QAC1C,oEAAoE;QACpE,mCAAmC;QACnC,OAAO,MAAM,oBAAoB,EAAE,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC/B,OAAO,wBAAwB,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAyB;QACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,YAA+B,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE;YAC9C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,kBAAkB,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtC,MAAM,UAAU,GAAG,wBAAwB,CAAC,CAAC,CAAC,YAAY,EAAE,gBAAgB,CAAC,IAAI,aAAa,CAAC;YAC/F,OAAO;gBACL,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,KAAK,UAAU,GAAG;gBACxC,KAAK,EAAE,CAAC,CAAC,WAAW;gBACpB,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,GAAG;gBAC1B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,YAAY,EAAE,CAAC,CAAC,YAAY;aAC7B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,eAAe,CACpB,OAAO,EACP,yBAAyB,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAC1D,EAAE,eAAe,EAAE,UAAU,EAAE,CAChC,CAAC;IACJ,CAAC;CACF,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;AAwBvD,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAwB9C"}
|
|
@@ -9,6 +9,7 @@ import { openaiProvider } from "./openai.js";
|
|
|
9
9
|
import { cursorProvider } from "./cursor.js";
|
|
10
10
|
import { googleAntigravityProvider } from "./google-antigravity.js";
|
|
11
11
|
import { googleGeminiCliProvider } from "./google-gemini-cli.js";
|
|
12
|
+
import { googleAgyProvider } from "./google-agy.js";
|
|
12
13
|
import { syntheticProvider } from "./synthetic.js";
|
|
13
14
|
import { chutesProvider } from "./chutes.js";
|
|
14
15
|
import { qwenCodeProvider } from "./qwen-code.js";
|
|
@@ -34,6 +35,7 @@ export function getProviders() {
|
|
|
34
35
|
chutesProvider,
|
|
35
36
|
googleAntigravityProvider,
|
|
36
37
|
googleGeminiCliProvider,
|
|
38
|
+
googleAgyProvider,
|
|
37
39
|
zaiProvider,
|
|
38
40
|
zhipuProvider,
|
|
39
41
|
nanoGptProvider,
|
|
@@ -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,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,UAAU,YAAY;IAC1B,oDAAoD;IACpD,OAAO;QACL,iBAAiB;QACjB,eAAe;QACf,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,yBAAyB;QACzB,iBAAiB;QACjB,cAAc;QACd,yBAAyB;QACzB,uBAAuB;QACvB,WAAW;QACX,aAAa;QACb,eAAe;QACf,yBAAyB;QACzB,8BAA8B;QAC9B,gBAAgB;QAChB,gBAAgB;QAChB,kBAAkB;QAClB,mBAAmB;KACpB,CAAC;AACJ,CAAC"}
|
|
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,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,UAAU,YAAY;IAC1B,oDAAoD;IACpD,OAAO;QACL,iBAAiB;QACjB,eAAe;QACf,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,yBAAyB;QACzB,iBAAiB;QACjB,cAAc;QACd,yBAAyB;QACzB,uBAAuB;QACvB,iBAAiB;QACjB,WAAW;QACX,aAAa;QACb,eAAe;QACf,yBAAyB;QACzB,8BAA8B;QAC9B,gBAAgB;QAChB,gBAAgB;QAChB,kBAAkB;QAClB,mBAAmB;KACpB,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slkiser/opencode-quota",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.0",
|
|
4
4
|
"packageManager": "pnpm@11.0.0",
|
|
5
5
|
"description": "OpenCode quota & tokens usage with zero context window pollution. Supports GitHub Copilot, OpenAI (Plus/Pro), Qwen Code, Chutes AI, Synthetic, Google Antigravity, Z.ai coding plan and more.",
|
|
6
6
|
"type": "module",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"husky": "^9.1.7",
|
|
76
76
|
"lint-staged": "^16.2.7",
|
|
77
77
|
"prettier": "^3.8.0",
|
|
78
|
-
"typescript": "^5.
|
|
78
|
+
"typescript": "^5.9.3",
|
|
79
79
|
"vitest": "^4.0.17"
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|