@slkiser/opencode-quota 2.5.0 → 2.6.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 (59) hide show
  1. package/README.md +53 -18
  2. package/dist/lib/alibaba-auth.d.ts +21 -0
  3. package/dist/lib/alibaba-auth.d.ts.map +1 -0
  4. package/dist/lib/alibaba-auth.js +92 -0
  5. package/dist/lib/alibaba-auth.js.map +1 -0
  6. package/dist/lib/config.d.ts.map +1 -1
  7. package/dist/lib/config.js +4 -0
  8. package/dist/lib/config.js.map +1 -1
  9. package/dist/lib/copilot.d.ts +4 -4
  10. package/dist/lib/copilot.d.ts.map +1 -1
  11. package/dist/lib/copilot.js +177 -30
  12. package/dist/lib/copilot.js.map +1 -1
  13. package/dist/lib/entries.d.ts +1 -0
  14. package/dist/lib/entries.d.ts.map +1 -1
  15. package/dist/lib/format-utils.d.ts +5 -0
  16. package/dist/lib/format-utils.d.ts.map +1 -1
  17. package/dist/lib/format-utils.js +11 -0
  18. package/dist/lib/format-utils.js.map +1 -1
  19. package/dist/lib/provider-metadata.d.ts.map +1 -1
  20. package/dist/lib/provider-metadata.js +2 -0
  21. package/dist/lib/provider-metadata.js.map +1 -1
  22. package/dist/lib/quota-command-format.d.ts +6 -0
  23. package/dist/lib/quota-command-format.d.ts.map +1 -1
  24. package/dist/lib/quota-command-format.js +10 -3
  25. package/dist/lib/quota-command-format.js.map +1 -1
  26. package/dist/lib/quota-stats-format.d.ts +1 -0
  27. package/dist/lib/quota-stats-format.d.ts.map +1 -1
  28. package/dist/lib/quota-stats-format.js +5 -1
  29. package/dist/lib/quota-stats-format.js.map +1 -1
  30. package/dist/lib/quota-status.d.ts +2 -0
  31. package/dist/lib/quota-status.d.ts.map +1 -1
  32. package/dist/lib/quota-status.js +67 -47
  33. package/dist/lib/quota-status.js.map +1 -1
  34. package/dist/lib/qwen-auth.d.ts +10 -0
  35. package/dist/lib/qwen-auth.d.ts.map +1 -1
  36. package/dist/lib/qwen-auth.js +22 -5
  37. package/dist/lib/qwen-auth.js.map +1 -1
  38. package/dist/lib/qwen-local-quota.d.ts +41 -0
  39. package/dist/lib/qwen-local-quota.d.ts.map +1 -1
  40. package/dist/lib/qwen-local-quota.js +132 -20
  41. package/dist/lib/qwen-local-quota.js.map +1 -1
  42. package/dist/lib/types.d.ts +22 -6
  43. package/dist/lib/types.d.ts.map +1 -1
  44. package/dist/lib/types.js +1 -0
  45. package/dist/lib/types.js.map +1 -1
  46. package/dist/plugin.d.ts.map +1 -1
  47. package/dist/plugin.js +113 -39
  48. package/dist/plugin.js.map +1 -1
  49. package/dist/providers/alibaba-coding-plan.d.ts +3 -0
  50. package/dist/providers/alibaba-coding-plan.d.ts.map +1 -0
  51. package/dist/providers/alibaba-coding-plan.js +87 -0
  52. package/dist/providers/alibaba-coding-plan.js.map +1 -0
  53. package/dist/providers/qwen-code.d.ts.map +1 -1
  54. package/dist/providers/qwen-code.js +11 -10
  55. package/dist/providers/qwen-code.js.map +1 -1
  56. package/dist/providers/registry.d.ts.map +1 -1
  57. package/dist/providers/registry.js +2 -0
  58. package/dist/providers/registry.js.map +1 -1
  59. package/package.json +1 -1
package/dist/plugin.js CHANGED
@@ -9,7 +9,7 @@ import { DEFAULT_CONFIG } from "./lib/types.js";
9
9
  import { loadConfig, createLoadConfigMeta } from "./lib/config.js";
10
10
  import { getOrFetchWithCacheControl } from "./lib/cache.js";
11
11
  import { formatQuotaRows } from "./lib/format.js";
12
- import { formatQuotaCommand } from "./lib/quota-command-format.js";
12
+ import { formatQuotaCommandBody } from "./lib/quota-command-format.js";
13
13
  import { getProviders } from "./providers/registry.js";
14
14
  import { tool } from "@opencode-ai/plugin";
15
15
  import { aggregateUsage } from "./lib/quota-stats.js";
@@ -19,10 +19,12 @@ 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 { hasQwenOAuthAuthCached, isQwenCodeModelId } from "./lib/qwen-auth.js";
23
- import { recordQwenCompletion } from "./lib/qwen-local-quota.js";
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";
27
+ import { renderCommandHeading } from "./lib/format-utils.js";
26
28
  /** All token report command specifications */
27
29
  const TOKEN_REPORT_COMMANDS = [
28
30
  {
@@ -104,6 +106,7 @@ function isTokenReportCommand(cmd) {
104
106
  // =============================================================================
105
107
  // Plugin Implementation
106
108
  // =============================================================================
109
+ const LOCAL_REQUEST_PLAN_PROVIDER_IDS = new Set(["qwen-code", "alibaba-coding-plan"]);
107
110
  /**
108
111
  * Main plugin export
109
112
  */
@@ -148,6 +151,22 @@ export const QuotaToastPlugin = async ({ client }) => {
148
151
  // Track last session token error for /quota_status diagnostics
149
152
  let lastSessionTokenError;
150
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
+ }
151
170
  function asRecord(value) {
152
171
  return value && typeof value === "object" ? value : null;
153
172
  }
@@ -190,14 +209,15 @@ export const QuotaToastPlugin = async ({ client }) => {
190
209
  function makeProviderFetchCacheKey(providerId, ctx) {
191
210
  const style = ctx.config.toastStyle ?? "classic";
192
211
  const googleModels = ctx.config.googleModels.join(",");
212
+ const alibabaCodingPlanTier = ctx.config.alibabaCodingPlanTier;
193
213
  const onlyCurrentModel = ctx.config.onlyCurrentModel ? "yes" : "no";
194
214
  const currentModel = ctx.config.currentModel ?? "";
195
- return `${providerId}|style=${style}|googleModels=${googleModels}|onlyCurrentModel=${onlyCurrentModel}|currentModel=${currentModel}`;
215
+ return `${providerId}|style=${style}|googleModels=${googleModels}|alibabaTier=${alibabaCodingPlanTier}|onlyCurrentModel=${onlyCurrentModel}|currentModel=${currentModel}`;
196
216
  }
197
217
  async function fetchProviderWithCache(params) {
198
218
  const { provider, ctx, ttlMs } = params;
199
- // Qwen is local-only and should update per completion for accurate RPM.
200
- if (provider.id === "qwen-code") {
219
+ // Local request-plan providers should update per completion for accurate rolling counters.
220
+ if (LOCAL_REQUEST_PLAN_PROVIDER_IDS.has(provider.id)) {
201
221
  return await provider.fetch(ctx);
202
222
  }
203
223
  const cacheKey = makeProviderFetchCacheKey(provider.id, ctx);
@@ -235,15 +255,30 @@ export const QuotaToastPlugin = async ({ client }) => {
235
255
  });
236
256
  return promise;
237
257
  }
238
- async function shouldBypassToastCacheForQwen(trigger, sessionID) {
258
+ async function shouldBypassToastCacheForLocalRequestPlan(trigger, sessionID) {
239
259
  if (trigger !== "question")
240
260
  return false;
241
- if (config.enabledProviders !== "auto" && !config.enabledProviders.includes("qwen-code"))
242
- return false;
243
261
  const currentModel = await getCurrentModel(sessionID);
244
- if (!isQwenCodeModelId(currentModel))
245
- return false;
246
- return await hasQwenOAuthAuthCached();
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);
247
282
  }
248
283
  async function refreshConfig() {
249
284
  if (configInFlight)
@@ -421,6 +456,7 @@ export const QuotaToastPlugin = async ({ client }) => {
421
456
  client: typedClient,
422
457
  config: {
423
458
  googleModels: config.googleModels,
459
+ alibabaCodingPlanTier: config.alibabaCodingPlanTier,
424
460
  toastStyle: config.toastStyle,
425
461
  onlyCurrentModel: config.onlyCurrentModel,
426
462
  currentModel,
@@ -573,7 +609,7 @@ export const QuotaToastPlugin = async ({ client }) => {
573
609
  }
574
610
  const bypassMessageCache = config.debug
575
611
  ? true
576
- : await shouldBypassToastCacheForQwen(trigger, sessionID);
612
+ : await shouldBypassToastCacheForLocalRequestPlan(trigger, sessionID);
577
613
  const message = bypassMessageCache
578
614
  ? await fetchQuotaMessage(trigger, sessionID)
579
615
  : await getOrFetchWithCacheControl(async () => {
@@ -606,7 +642,7 @@ export const QuotaToastPlugin = async ({ client }) => {
606
642
  });
607
643
  }
608
644
  }
609
- async function fetchQuotaCommandMessage(trigger, sessionID) {
645
+ async function fetchQuotaCommandBody(trigger, sessionID) {
610
646
  if (!configLoaded)
611
647
  await refreshConfig();
612
648
  if (!config.enabled)
@@ -626,6 +662,7 @@ export const QuotaToastPlugin = async ({ client }) => {
626
662
  client: typedClient,
627
663
  config: {
628
664
  googleModels: config.googleModels,
665
+ alibabaCodingPlanTier: config.alibabaCodingPlanTier,
629
666
  // Always format /quota in grouped mode for a more dashboard-like look.
630
667
  toastStyle: "grouped",
631
668
  onlyCurrentModel: config.onlyCurrentModel,
@@ -643,8 +680,6 @@ export const QuotaToastPlugin = async ({ client }) => {
643
680
  })));
644
681
  const entries = results.flatMap((r) => r.entries);
645
682
  const errors = results.flatMap((r) => r.errors);
646
- if (entries.length === 0)
647
- return null;
648
683
  // Fetch session tokens if enabled and sessionID is available
649
684
  let sessionTokens;
650
685
  if (config.showSessionTokens && sessionID) {
@@ -656,7 +691,12 @@ export const QuotaToastPlugin = async ({ client }) => {
656
691
  // Update diagnostics state: clear on success (no error returned), set on failure
657
692
  lastSessionTokenError = stResult.error;
658
693
  }
659
- return formatQuotaCommand({ entries, errors, sessionTokens });
694
+ if (entries.length === 0) {
695
+ if (errors.length === 0 && !sessionTokens)
696
+ return null;
697
+ return formatQuotaCommandBody({ entries, errors, sessionTokens });
698
+ }
699
+ return formatQuotaCommandBody({ entries, errors, sessionTokens });
660
700
  }
661
701
  async function buildQuotaReport(params) {
662
702
  const result = await aggregateUsage({
@@ -671,6 +711,7 @@ export const QuotaToastPlugin = async ({ client }) => {
671
711
  topSessions: params.topSessions,
672
712
  focusSessionID: params.sessionID,
673
713
  sessionOnly: params.sessionOnly,
714
+ generatedAtMs: params.generatedAtMs,
674
715
  });
675
716
  }
676
717
  async function buildStatusReport(params) {
@@ -691,7 +732,10 @@ export const QuotaToastPlugin = async ({ client }) => {
691
732
  try {
692
733
  ok = await p.isAvailable({
693
734
  client: typedClient,
694
- config: { googleModels: config.googleModels },
735
+ config: {
736
+ googleModels: config.googleModels,
737
+ alibabaCodingPlanTier: config.alibabaCodingPlanTier,
738
+ },
695
739
  });
696
740
  }
697
741
  catch {
@@ -714,6 +758,7 @@ export const QuotaToastPlugin = async ({ client }) => {
714
758
  configSource: configMeta.source,
715
759
  configPaths: configMeta.paths,
716
760
  enabledProviders: config.enabledProviders,
761
+ alibabaCodingPlanTier: config.alibabaCodingPlanTier,
717
762
  onlyCurrentModel: config.onlyCurrentModel,
718
763
  currentModel,
719
764
  sessionModelLookup,
@@ -727,6 +772,7 @@ export const QuotaToastPlugin = async ({ client }) => {
727
772
  }
728
773
  : { attempted: false },
729
774
  sessionTokenError: lastSessionTokenError,
775
+ generatedAtMs: params.generatedAtMs,
730
776
  });
731
777
  }
732
778
  // Return hook implementations
@@ -764,32 +810,32 @@ export const QuotaToastPlugin = async ({ client }) => {
764
810
  handled();
765
811
  }
766
812
  if (cmd === "quota") {
813
+ const generatedAtMs = Date.now();
767
814
  // Separate cache for /quota so it doesn't pollute the toast cache.
768
- let quotaCache = globalThis.__opencodeQuotaCommandCache;
769
- if (!quotaCache) {
770
- quotaCache = { message: "", timestamp: 0 };
771
- globalThis.__opencodeQuotaCommandCache = quotaCache;
772
- }
773
- const now = Date.now();
774
- const cached = quotaCache.timestamp && now - quotaCache.timestamp < config.minIntervalMs
775
- ? quotaCache.message
815
+ const quotaCache = getQuotaCommandCache();
816
+ const now = generatedAtMs;
817
+ const bypassCommandCache = await shouldBypassQuotaCommandCache(sessionID);
818
+ const cached = !bypassCommandCache &&
819
+ quotaCache.timestamp &&
820
+ now - quotaCache.timestamp < config.minIntervalMs
821
+ ? quotaCache.body
776
822
  : null;
777
- const msg = cached
823
+ const body = cached
778
824
  ? cached
779
825
  : await (quotaCache.inFlight ??
780
826
  (quotaCache.inFlight = (async () => {
781
827
  try {
782
- return await fetchQuotaCommandMessage("command:/quota", sessionID);
828
+ return await fetchQuotaCommandBody("command:/quota", sessionID);
783
829
  }
784
830
  finally {
785
831
  quotaCache.inFlight = undefined;
786
832
  }
787
833
  })()));
788
- if (msg) {
789
- quotaCache.message = msg;
834
+ if (body) {
835
+ quotaCache.body = body;
790
836
  quotaCache.timestamp = Date.now();
791
837
  }
792
- if (!msg) {
838
+ if (!body) {
793
839
  // Provide an actionable message instead of a generic "unavailable".
794
840
  if (!configLoaded) {
795
841
  await injectRawOutput(sessionID, "Quota unavailable (config not loaded, try again)");
@@ -802,7 +848,10 @@ export const QuotaToastPlugin = async ({ client }) => {
802
848
  const allProvs = getProviders();
803
849
  const ctx = {
804
850
  client: typedClient,
805
- config: { googleModels: config.googleModels },
851
+ config: {
852
+ googleModels: config.googleModels,
853
+ alibabaCodingPlanTier: config.alibabaCodingPlanTier,
854
+ },
806
855
  };
807
856
  const avail = await Promise.all(allProvs.map(async (p) => {
808
857
  try {
@@ -822,12 +871,17 @@ export const QuotaToastPlugin = async ({ client }) => {
822
871
  }
823
872
  handled();
824
873
  }
825
- await injectRawOutput(sessionID, msg);
874
+ const heading = renderCommandHeading({
875
+ title: "Quota (/quota)",
876
+ generatedAtMs,
877
+ });
878
+ await injectRawOutput(sessionID, `${heading}\n\n${body}`);
826
879
  handled();
827
880
  }
828
881
  const untilMs = Date.now();
829
882
  // Handle token report commands (/tokens_*)
830
883
  if (isTokenReportCommand(cmd)) {
884
+ const generatedAtMs = Date.now();
831
885
  await kickPricingRefresh({ reason: "tokens", maxWaitMs: 750 });
832
886
  const spec = TOKEN_REPORT_COMMANDS_BY_ID.get(cmd);
833
887
  if (spec.kind === "between") {
@@ -844,6 +898,7 @@ export const QuotaToastPlugin = async ({ client }) => {
844
898
  sinceMs,
845
899
  untilMs: rangeUntilMs,
846
900
  sessionID,
901
+ generatedAtMs,
847
902
  });
848
903
  await injectRawOutput(sessionID, out);
849
904
  handled();
@@ -882,12 +937,14 @@ export const QuotaToastPlugin = async ({ client }) => {
882
937
  sessionOnly,
883
938
  topModels,
884
939
  topSessions,
940
+ generatedAtMs,
885
941
  });
886
942
  await injectRawOutput(sessionID, out);
887
943
  handled();
888
944
  }
889
945
  // Handle /quota_status (diagnostics - not a token report)
890
946
  if (cmd === "quota_status") {
947
+ const generatedAtMs = Date.now();
891
948
  const parsed = parseOptionalJsonArgs(input.arguments);
892
949
  if (!parsed.ok) {
893
950
  await injectRawOutput(sessionID, `Invalid arguments for /quota_status\n\n${parsed.error}\n\nExample:\n/quota_status {"refreshGoogleTokens": true}`);
@@ -900,6 +957,7 @@ export const QuotaToastPlugin = async ({ client }) => {
900
957
  : undefined,
901
958
  force: parsed.value["force"] === true,
902
959
  sessionID,
960
+ generatedAtMs,
903
961
  });
904
962
  if (out) {
905
963
  await injectRawOutput(sessionID, out);
@@ -939,6 +997,7 @@ export const QuotaToastPlugin = async ({ client }) => {
939
997
  skewMs: args.skewMs,
940
998
  force: args.force,
941
999
  sessionID: context.sessionID,
1000
+ generatedAtMs: Date.now(),
942
1001
  });
943
1002
  if (!out)
944
1003
  return "";
@@ -971,16 +1030,31 @@ export const QuotaToastPlugin = async ({ client }) => {
971
1030
  return;
972
1031
  if (isSuccessfulQuestionExecution(output)) {
973
1032
  const model = await getCurrentModel(input.sessionID);
974
- if (isQwenCodeModelId(model) && (await hasQwenOAuthAuthCached())) {
975
- try {
976
- await recordQwenCompletion();
1033
+ try {
1034
+ if (isQwenCodeModelId(model)) {
1035
+ const plan = await resolveQwenLocalPlanCached();
1036
+ if (plan.state === "qwen_free") {
1037
+ await recordQwenCompletion();
1038
+ clearQuotaCommandCache();
1039
+ }
977
1040
  }
978
- catch (err) {
979
- await log("Failed to record Qwen local quota completion", {
980
- error: err instanceof Error ? err.message : String(err),
1041
+ else if (isAlibabaModelId(model)) {
1042
+ const plan = await resolveAlibabaCodingPlanAuthCached({
1043
+ maxAgeMs: DEFAULT_ALIBABA_AUTH_CACHE_MAX_AGE_MS,
1044
+ fallbackTier: config.alibabaCodingPlanTier,
981
1045
  });
1046
+ if (plan.state === "configured") {
1047
+ await recordAlibabaCodingPlanCompletion();
1048
+ clearQuotaCommandCache();
1049
+ }
982
1050
  }
983
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
+ }
984
1058
  }
985
1059
  if (config.showOnQuestion) {
986
1060
  await showQuotaToast(input.sessionID, "question");
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { QuotaProvider } from "../lib/entries.js";
2
+ export declare const alibabaCodingPlanProvider: QuotaProvider;
3
+ //# sourceMappingURL=alibaba-coding-plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alibaba-coding-plan.d.ts","sourceRoot":"","sources":["../../src/providers/alibaba-coding-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAe3B,eAAO,MAAM,yBAAyB,EAAE,aAyFvC,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { computeAlibabaCodingPlanQuota, readAlibabaCodingPlanQuotaState, } from "../lib/qwen-local-quota.js";
2
+ import { DEFAULT_ALIBABA_AUTH_CACHE_MAX_AGE_MS, isAlibabaModelId, resolveAlibabaCodingPlanAuthCached, } from "../lib/alibaba-auth.js";
3
+ function tierLabel(tier) {
4
+ return tier === "pro" ? "Pro" : "Lite";
5
+ }
6
+ export const alibabaCodingPlanProvider = {
7
+ id: "alibaba-coding-plan",
8
+ async isAvailable(_ctx) {
9
+ const plan = await resolveAlibabaCodingPlanAuthCached({
10
+ maxAgeMs: DEFAULT_ALIBABA_AUTH_CACHE_MAX_AGE_MS,
11
+ fallbackTier: _ctx.config.alibabaCodingPlanTier,
12
+ });
13
+ return plan.state === "configured" || plan.state === "invalid";
14
+ },
15
+ matchesCurrentModel(model) {
16
+ return isAlibabaModelId(model);
17
+ },
18
+ async fetch(ctx) {
19
+ const plan = await resolveAlibabaCodingPlanAuthCached({
20
+ maxAgeMs: DEFAULT_ALIBABA_AUTH_CACHE_MAX_AGE_MS,
21
+ fallbackTier: ctx.config.alibabaCodingPlanTier,
22
+ });
23
+ if (plan.state === "none") {
24
+ return { attempted: false, entries: [], errors: [] };
25
+ }
26
+ if (plan.state === "invalid") {
27
+ return {
28
+ attempted: true,
29
+ entries: [],
30
+ errors: [{ label: "Alibaba Coding Plan", message: plan.error }],
31
+ };
32
+ }
33
+ const quota = computeAlibabaCodingPlanQuota({
34
+ state: await readAlibabaCodingPlanQuotaState(),
35
+ tier: plan.tier,
36
+ });
37
+ const style = ctx.config.toastStyle ?? "classic";
38
+ const label = `Alibaba Coding Plan (${tierLabel(plan.tier)})`;
39
+ if (style === "classic") {
40
+ const windows = [
41
+ { name: "5h", ...quota.fiveHour },
42
+ { name: "Weekly", ...quota.weekly },
43
+ { name: "Monthly", ...quota.monthly },
44
+ ].sort((a, b) => a.percentRemaining - b.percentRemaining);
45
+ const worst = windows[0];
46
+ return {
47
+ attempted: true,
48
+ entries: [
49
+ {
50
+ name: `${label} ${worst.name}`,
51
+ percentRemaining: worst.percentRemaining,
52
+ resetTimeIso: worst.resetTimeIso,
53
+ },
54
+ ],
55
+ errors: [],
56
+ };
57
+ }
58
+ const entries = [
59
+ {
60
+ name: `${label} 5h`,
61
+ group: label,
62
+ label: "5h:",
63
+ right: `${quota.fiveHour.used}/${quota.fiveHour.limit}`,
64
+ percentRemaining: quota.fiveHour.percentRemaining,
65
+ resetTimeIso: quota.fiveHour.resetTimeIso,
66
+ },
67
+ {
68
+ name: `${label} Weekly`,
69
+ group: label,
70
+ label: "Weekly:",
71
+ right: `${quota.weekly.used}/${quota.weekly.limit}`,
72
+ percentRemaining: quota.weekly.percentRemaining,
73
+ resetTimeIso: quota.weekly.resetTimeIso,
74
+ },
75
+ {
76
+ name: `${label} Monthly`,
77
+ group: label,
78
+ label: "Monthly:",
79
+ right: `${quota.monthly.used}/${quota.monthly.limit}`,
80
+ percentRemaining: quota.monthly.percentRemaining,
81
+ resetTimeIso: quota.monthly.resetTimeIso,
82
+ },
83
+ ];
84
+ return { attempted: true, entries, errors: [] };
85
+ },
86
+ };
87
+ //# sourceMappingURL=alibaba-coding-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alibaba-coding-plan.js","sourceRoot":"","sources":["../../src/providers/alibaba-coding-plan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"qwen-code.d.ts","sourceRoot":"","sources":["../../src/providers/qwen-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAQ3B,eAAO,MAAM,gBAAgB,EAAE,aAgE9B,CAAC"}
1
+ {"version":3,"file":"qwen-code.d.ts","sourceRoot":"","sources":["../../src/providers/qwen-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAQ3B,eAAO,MAAM,gBAAgB,EAAE,aAiE9B,CAAC"}