@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.
Files changed (62) hide show
  1. package/README.md +57 -815
  2. package/dist/lib/config.js +1 -1
  3. package/dist/lib/config.js.map +1 -1
  4. package/dist/lib/entries.d.ts +5 -0
  5. package/dist/lib/entries.d.ts.map +1 -1
  6. package/dist/lib/google-agy-companion.d.ts +29 -0
  7. package/dist/lib/google-agy-companion.d.ts.map +1 -0
  8. package/dist/lib/google-agy-companion.js +289 -0
  9. package/dist/lib/google-agy-companion.js.map +1 -0
  10. package/dist/lib/google-agy.d.ts +52 -0
  11. package/dist/lib/google-agy.d.ts.map +1 -0
  12. package/dist/lib/google-agy.js +461 -0
  13. package/dist/lib/google-agy.js.map +1 -0
  14. package/dist/lib/google-antigravity-companion.d.ts.map +1 -1
  15. package/dist/lib/google-antigravity-companion.js +3 -1
  16. package/dist/lib/google-antigravity-companion.js.map +1 -1
  17. package/dist/lib/google-gemini-cli.js +4 -4
  18. package/dist/lib/google-gemini-cli.js.map +1 -1
  19. package/dist/lib/google.d.ts.map +1 -1
  20. package/dist/lib/google.js +55 -5
  21. package/dist/lib/google.js.map +1 -1
  22. package/dist/lib/grouped-entry-normalization.js +1 -1
  23. package/dist/lib/grouped-entry-normalization.js.map +1 -1
  24. package/dist/lib/init-installer.js +3 -3
  25. package/dist/lib/init-installer.js.map +1 -1
  26. package/dist/lib/maintainer-announcements.js +2 -2
  27. package/dist/lib/maintainer-announcements.js.map +1 -1
  28. package/dist/lib/provider-metadata.d.ts +1 -1
  29. package/dist/lib/provider-metadata.d.ts.map +1 -1
  30. package/dist/lib/provider-metadata.js +15 -0
  31. package/dist/lib/provider-metadata.js.map +1 -1
  32. package/dist/lib/quota-dialog-commands.js +1 -1
  33. package/dist/lib/quota-dialog-commands.js.map +1 -1
  34. package/dist/lib/quota-render-data.d.ts.map +1 -1
  35. package/dist/lib/quota-render-data.js +13 -0
  36. package/dist/lib/quota-render-data.js.map +1 -1
  37. package/dist/lib/quota-status.d.ts +1 -0
  38. package/dist/lib/quota-status.d.ts.map +1 -1
  39. package/dist/lib/quota-status.js +29 -0
  40. package/dist/lib/quota-status.js.map +1 -1
  41. package/dist/lib/toast-format-grouped.js +1 -1
  42. package/dist/lib/toast-format-grouped.js.map +1 -1
  43. package/dist/lib/tui-runtime.js +2 -2
  44. package/dist/lib/tui-runtime.js.map +1 -1
  45. package/dist/lib/types.d.ts +22 -1
  46. package/dist/lib/types.d.ts.map +1 -1
  47. package/dist/lib/types.js +12 -3
  48. package/dist/lib/types.js.map +1 -1
  49. package/dist/plugin.d.ts.map +1 -1
  50. package/dist/plugin.js +42 -4
  51. package/dist/plugin.js.map +1 -1
  52. package/dist/providers/google-agy.d.ts +3 -0
  53. package/dist/providers/google-agy.d.ts.map +1 -0
  54. package/dist/providers/google-agy.js +90 -0
  55. package/dist/providers/google-agy.js.map +1 -0
  56. package/dist/providers/google-antigravity.d.ts.map +1 -1
  57. package/dist/providers/google-antigravity.js +3 -1
  58. package/dist/providers/google-antigravity.js.map +1 -1
  59. package/dist/providers/registry.d.ts.map +1 -1
  60. package/dist/providers/registry.js +2 -0
  61. package/dist/providers/registry.js.map +1 -1
  62. 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,aAyCvC,CAAC"}
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,CAC3D,CAAC;IACJ,CAAC;CACF,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;AAuBvD,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAuB9C"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAwBvD,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAwB9C"}
@@ -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.10.1",
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.8.0",
78
+ "typescript": "^5.9.3",
79
79
  "vitest": "^4.0.17"
80
80
  },
81
81
  "dependencies": {