@slkiser/opencode-quota 4.9.0 → 4.10.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 (138) hide show
  1. package/README.md +2 -1
  2. package/dist/lib/anthropic.d.ts +19 -2
  3. package/dist/lib/anthropic.d.ts.map +1 -1
  4. package/dist/lib/anthropic.js +62 -3
  5. package/dist/lib/anthropic.js.map +1 -1
  6. package/dist/lib/cli-show.d.ts.map +1 -1
  7. package/dist/lib/cli-show.js +6 -1
  8. package/dist/lib/cli-show.js.map +1 -1
  9. package/dist/lib/config.d.ts +1 -1
  10. package/dist/lib/config.d.ts.map +1 -1
  11. package/dist/lib/config.js +34 -0
  12. package/dist/lib/config.js.map +1 -1
  13. package/dist/lib/cursor-usage.d.ts +1 -0
  14. package/dist/lib/cursor-usage.d.ts.map +1 -1
  15. package/dist/lib/cursor-usage.js +1 -0
  16. package/dist/lib/cursor-usage.js.map +1 -1
  17. package/dist/lib/entries.d.ts +17 -0
  18. package/dist/lib/entries.d.ts.map +1 -1
  19. package/dist/lib/entries.js +4 -0
  20. package/dist/lib/entries.js.map +1 -1
  21. package/dist/lib/format-utils.d.ts +11 -8
  22. package/dist/lib/format-utils.d.ts.map +1 -1
  23. package/dist/lib/format-utils.js +47 -6
  24. package/dist/lib/format-utils.js.map +1 -1
  25. package/dist/lib/format.d.ts +3 -0
  26. package/dist/lib/format.d.ts.map +1 -1
  27. package/dist/lib/format.js +66 -29
  28. package/dist/lib/format.js.map +1 -1
  29. package/dist/lib/glm-coding-plan.d.ts.map +1 -1
  30. package/dist/lib/glm-coding-plan.js +12 -3
  31. package/dist/lib/glm-coding-plan.js.map +1 -1
  32. package/dist/lib/ollama-cloud.d.ts +2 -2
  33. package/dist/lib/ollama-cloud.d.ts.map +1 -1
  34. package/dist/lib/ollama-cloud.js +3 -45
  35. package/dist/lib/ollama-cloud.js.map +1 -1
  36. package/dist/lib/openai.d.ts +2 -0
  37. package/dist/lib/openai.d.ts.map +1 -1
  38. package/dist/lib/openai.js +29 -13
  39. package/dist/lib/openai.js.map +1 -1
  40. package/dist/lib/opencode-go.d.ts.map +1 -1
  41. package/dist/lib/opencode-go.js +22 -2
  42. package/dist/lib/opencode-go.js.map +1 -1
  43. package/dist/lib/provider-registration.d.ts +1 -1
  44. package/dist/lib/provider-registration.d.ts.map +1 -1
  45. package/dist/lib/provider-registration.js +1 -1
  46. package/dist/lib/provider-registration.js.map +1 -1
  47. package/dist/lib/quota-accounting-projection.d.ts +2 -0
  48. package/dist/lib/quota-accounting-projection.d.ts.map +1 -1
  49. package/dist/lib/quota-accounting-projection.js +16 -1
  50. package/dist/lib/quota-accounting-projection.js.map +1 -1
  51. package/dist/lib/quota-command-format.d.ts +2 -0
  52. package/dist/lib/quota-command-format.d.ts.map +1 -1
  53. package/dist/lib/quota-command-format.js +32 -36
  54. package/dist/lib/quota-command-format.js.map +1 -1
  55. package/dist/lib/quota-dialog-commands.d.ts.map +1 -1
  56. package/dist/lib/quota-dialog-commands.js +2 -0
  57. package/dist/lib/quota-dialog-commands.js.map +1 -1
  58. package/dist/lib/quota-exhaustion-projection.d.ts +11 -0
  59. package/dist/lib/quota-exhaustion-projection.d.ts.map +1 -0
  60. package/dist/lib/quota-exhaustion-projection.js +105 -0
  61. package/dist/lib/quota-exhaustion-projection.js.map +1 -0
  62. package/dist/lib/quota-providers-local.d.ts.map +1 -1
  63. package/dist/lib/quota-providers-local.js +14 -0
  64. package/dist/lib/quota-providers-local.js.map +1 -1
  65. package/dist/lib/quota-providers-remote.d.ts.map +1 -1
  66. package/dist/lib/quota-providers-remote.js +6 -2
  67. package/dist/lib/quota-providers-remote.js.map +1 -1
  68. package/dist/lib/quota-render-data.d.ts.map +1 -1
  69. package/dist/lib/quota-render-data.js +7 -3
  70. package/dist/lib/quota-render-data.js.map +1 -1
  71. package/dist/lib/quota-state-codec.d.ts +1 -1
  72. package/dist/lib/quota-state-codec.d.ts.map +1 -1
  73. package/dist/lib/quota-state-codec.js +6 -3
  74. package/dist/lib/quota-state-codec.js.map +1 -1
  75. package/dist/lib/quota-status.d.ts.map +1 -1
  76. package/dist/lib/quota-status.js +1 -0
  77. package/dist/lib/quota-status.js.map +1 -1
  78. package/dist/lib/quota-toast-runtime.d.ts.map +1 -1
  79. package/dist/lib/quota-toast-runtime.js +9 -0
  80. package/dist/lib/quota-toast-runtime.js.map +1 -1
  81. package/dist/lib/qwen-local-quota.d.ts +2 -0
  82. package/dist/lib/qwen-local-quota.d.ts.map +1 -1
  83. package/dist/lib/qwen-local-quota.js +17 -1
  84. package/dist/lib/qwen-local-quota.js.map +1 -1
  85. package/dist/lib/toast-format-grouped.d.ts +3 -0
  86. package/dist/lib/toast-format-grouped.d.ts.map +1 -1
  87. package/dist/lib/toast-format-grouped.js +34 -20
  88. package/dist/lib/toast-format-grouped.js.map +1 -1
  89. package/dist/lib/tui-compact-format.d.ts +1 -0
  90. package/dist/lib/tui-compact-format.d.ts.map +1 -1
  91. package/dist/lib/tui-compact-format.js +99 -17
  92. package/dist/lib/tui-compact-format.js.map +1 -1
  93. package/dist/lib/tui-panel-state.d.ts +4 -0
  94. package/dist/lib/tui-panel-state.d.ts.map +1 -1
  95. package/dist/lib/tui-panel-state.js.map +1 -1
  96. package/dist/lib/tui-runtime.d.ts.map +1 -1
  97. package/dist/lib/tui-runtime.js +25 -0
  98. package/dist/lib/tui-runtime.js.map +1 -1
  99. package/dist/lib/tui-sidebar-format.d.ts +1 -1
  100. package/dist/lib/tui-sidebar-format.d.ts.map +1 -1
  101. package/dist/lib/tui-sidebar-format.js +3 -0
  102. package/dist/lib/tui-sidebar-format.js.map +1 -1
  103. package/dist/lib/types.d.ts +14 -12
  104. package/dist/lib/types.d.ts.map +1 -1
  105. package/dist/lib/types.js +1 -0
  106. package/dist/lib/types.js.map +1 -1
  107. package/dist/lib/xai.d.ts +2 -0
  108. package/dist/lib/xai.d.ts.map +1 -1
  109. package/dist/lib/xai.js +19 -3
  110. package/dist/lib/xai.js.map +1 -1
  111. package/dist/providers/anthropic.d.ts.map +1 -1
  112. package/dist/providers/anthropic.js +36 -0
  113. package/dist/providers/anthropic.js.map +1 -1
  114. package/dist/providers/cursor.d.ts.map +1 -1
  115. package/dist/providers/cursor.js +12 -0
  116. package/dist/providers/cursor.js.map +1 -1
  117. package/dist/providers/ollama-cloud.d.ts +1 -2
  118. package/dist/providers/ollama-cloud.d.ts.map +1 -1
  119. package/dist/providers/ollama-cloud.js +1 -20
  120. package/dist/providers/ollama-cloud.js.map +1 -1
  121. package/dist/providers/opencode-go.d.ts +1 -0
  122. package/dist/providers/opencode-go.d.ts.map +1 -1
  123. package/dist/providers/opencode-go.js +29 -1
  124. package/dist/providers/opencode-go.js.map +1 -1
  125. package/dist/providers/qwen-code.d.ts.map +1 -1
  126. package/dist/providers/qwen-code.js +1 -0
  127. package/dist/providers/qwen-code.js.map +1 -1
  128. package/dist/providers/result-helpers.d.ts +2 -1
  129. package/dist/providers/result-helpers.d.ts.map +1 -1
  130. package/dist/providers/result-helpers.js +1 -0
  131. package/dist/providers/result-helpers.js.map +1 -1
  132. package/dist/providers/xai.d.ts.map +1 -1
  133. package/dist/providers/xai.js +3 -0
  134. package/dist/providers/xai.js.map +1 -1
  135. package/dist/tui.d.ts.map +1 -1
  136. package/dist/tui.js +15 -10
  137. package/dist/tui.tsx +29 -9
  138. package/package.json +1 -1
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * Ollama Cloud provider wrapper.
3
3
  *
4
- * Queries the Ollama Cloud usage API and reports session/weekly quota plus
5
- * provider-reported per-model request counts.
4
+ * Queries the Ollama Cloud usage API and reports session/weekly quota.
6
5
  */
7
6
  import { queryOllamaCloudQuota } from "../lib/ollama-cloud.js";
8
7
  import { getOllamaCloudKeyDiagnostics, hasOllamaCloudApiKey } from "../lib/ollama-cloud-config.js";
@@ -14,9 +13,6 @@ const REMOTE_API_ACCOUNTING = {
14
13
  ownership: "maintained",
15
14
  authority: "provider_reported",
16
15
  };
17
- function formatRequestCount(requests) {
18
- return `${requests} ${requests === 1 ? "request" : "requests"}`;
19
- }
20
16
  function mapOllamaCloudSuccess(result) {
21
17
  const entries = [];
22
18
  if (result.session) {
@@ -43,20 +39,6 @@ function mapOllamaCloudSuccess(result) {
43
39
  percentRemaining: result.weekly.percentRemaining,
44
40
  });
45
41
  }
46
- for (const model of result.models) {
47
- entries.push({
48
- kind: "value",
49
- accounting: {
50
- resultType: "usage",
51
- ...REMOTE_API_ACCOUNTING,
52
- },
53
- name: `${OLLAMA_CLOUD_PROVIDER_LABEL} ${model.model}`,
54
- group: OLLAMA_CLOUD_PROVIDER_LABEL,
55
- label: `${model.model}:`,
56
- metricLabel: model.model,
57
- value: formatRequestCount(model.requests),
58
- });
59
- }
60
42
  const errors = (result.rowErrors ?? []).map((message) => ({
61
43
  label: OLLAMA_CLOUD_PROVIDER_LABEL,
62
44
  message,
@@ -71,7 +53,6 @@ function mapOllamaCloudSuccess(result) {
71
53
  ...statusDetailsFromRecord({
72
54
  session_usage_fraction: result.session?.usageFraction.toString(),
73
55
  weekly_usage_fraction: result.weekly?.usageFraction.toString(),
74
- model_rows: result.models.length.toString(),
75
56
  }),
76
57
  ...(result.rowErrors ?? []).map((message, index) => ({
77
58
  key: `live_error_${index + 1}`,
@@ -1 +1 @@
1
- {"version":3,"file":"ollama-cloud.js","sourceRoot":"","sources":["../../src/providers/ollama-cloud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ollama-cloud.js","sourceRoot":"","sources":["../../src/providers/ollama-cloud.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { QuotaProvider } from "../lib/entries.js";
2
+ export declare function __resetOpenCodeGoNotSubscribedForTests(): void;
2
3
  export declare const opencodeGoProvider: QuotaProvider;
3
4
  //# sourceMappingURL=opencode-go.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-go.d.ts","sourceRoot":"","sources":["../../src/providers/opencode-go.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAKd,MAAM,mBAAmB,CAAC;AAkE3B,eAAO,MAAM,kBAAkB,EAAE,aAiEhC,CAAC"}
1
+ {"version":3,"file":"opencode-go.d.ts","sourceRoot":"","sources":["../../src/providers/opencode-go.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EAKd,MAAM,mBAAmB,CAAC;AA4B3B,wBAAgB,sCAAsC,IAAI,IAAI,CAE7D;AA0CD,eAAO,MAAM,kBAAkB,EAAE,aA0FhC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { createHash } from "node:crypto";
1
2
  import { queryOpenCodeGoQuota } from "../lib/opencode-go.js";
2
3
  import { DEFAULT_OPENCODE_GO_AUTH_CACHE_MAX_AGE_MS, getOpenCodeGoAuthDiagnostics, resolveOpenCodeGoAuthCached, } from "../lib/opencode-go-auth.js";
3
4
  import { normalizeQuotaProviderId } from "../lib/provider-metadata.js";
@@ -9,6 +10,10 @@ const OPENCODE_GO_WINDOW_LABELS = {
9
10
  weekly: { name: `${OPENCODE_GO_PROVIDER_LABEL} Weekly`, label: "Weekly:" },
10
11
  monthly: { name: `${OPENCODE_GO_PROVIDER_LABEL} Monthly`, label: "Monthly:" },
11
12
  };
13
+ let notSubscribedCredentialFingerprint = null;
14
+ export function __resetOpenCodeGoNotSubscribedForTests() {
15
+ notSubscribedCredentialFingerprint = null;
16
+ }
12
17
  function authStatusDetails(diagnostics) {
13
18
  return statusDetailsFromRecord({
14
19
  auth_state: diagnostics.state,
@@ -48,7 +53,11 @@ export const opencodeGoProvider = {
48
53
  const auth = await resolveOpenCodeGoAuthCached({
49
54
  maxAgeMs: DEFAULT_OPENCODE_GO_AUTH_CACHE_MAX_AGE_MS,
50
55
  });
51
- return auth.state === "configured";
56
+ if (auth.state !== "configured") {
57
+ notSubscribedCredentialFingerprint = null;
58
+ return false;
59
+ }
60
+ return true;
52
61
  },
53
62
  matchesCurrentModel(model) {
54
63
  const [provider] = model.toLowerCase().split("/", 2);
@@ -67,15 +76,34 @@ export const opencodeGoProvider = {
67
76
  maxAgeMs: DEFAULT_OPENCODE_GO_AUTH_CACHE_MAX_AGE_MS,
68
77
  });
69
78
  if (auth.state === "none") {
79
+ notSubscribedCredentialFingerprint = null;
70
80
  return withStatusDetails(notAttemptedResult(), statusDetails);
71
81
  }
72
82
  if (auth.state === "invalid") {
83
+ notSubscribedCredentialFingerprint = null;
73
84
  return withStatusDetails(attemptedErrorResult(OPENCODE_GO_PROVIDER_LABEL, auth.error), statusDetails);
74
85
  }
86
+ const credentialFingerprint = createHash("sha256").update(auth.apiKey).digest("hex");
87
+ if (notSubscribedCredentialFingerprint !== credentialFingerprint) {
88
+ notSubscribedCredentialFingerprint = null;
89
+ }
90
+ if (notSubscribedCredentialFingerprint !== null) {
91
+ return withStatusDetails(attemptedResult([]), [
92
+ ...statusDetails,
93
+ { key: "opencode_go_state", value: "not_subscribed" },
94
+ ]);
95
+ }
75
96
  const result = await queryOpenCodeGoQuota(auth.apiKey, {
76
97
  requestTimeoutMs: ctx.config.requestTimeoutMs,
77
98
  });
78
99
  if (!result.success) {
100
+ if (result.notSubscribed === true) {
101
+ notSubscribedCredentialFingerprint = credentialFingerprint;
102
+ return withStatusDetails(attemptedResult([]), [
103
+ ...statusDetails,
104
+ { key: "opencode_go_state", value: "not_subscribed" },
105
+ ]);
106
+ }
79
107
  return withStatusDetails(attemptedErrorResult(OPENCODE_GO_PROVIDER_LABEL, result.error, {
80
108
  retryable: result.retryable,
81
109
  }), [...statusDetails, { key: "live_fetch_error", value: result.error }]);
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-go.js","sourceRoot":"","sources":["../../src/providers/opencode-go.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-go.js","sourceRoot":"","sources":["../../src/providers/opencode-go.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;AAqB3B,eAAO,MAAM,gBAAgB,EAAE,aAwF9B,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;AAqB3B,eAAO,MAAM,gBAAgB,EAAE,aAyF9B,CAAC"}
@@ -62,6 +62,7 @@ export const qwenCodeProvider = {
62
62
  right: `${quota.day.used}/${quota.day.limit}`,
63
63
  percentRemaining: quota.day.percentRemaining,
64
64
  resetTimeIso: quota.day.resetTimeIso,
65
+ ...(quota.day.fixedWindow ? { fixedWindow: { ...quota.day.fixedWindow } } : {}),
65
66
  },
66
67
  {
67
68
  accounting: {
@@ -1 +1 @@
1
- {"version":3,"file":"qwen-code.js","sourceRoot":"","sources":["../../src/providers/qwen-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qwen-code.js","sourceRoot":"","sources":["../../src/providers/qwen-code.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AccountingMetadata, QuotaProviderPresentation, QuotaProviderResult, QuotaProviderStatusDetail, QuotaToastEntry, QuotaToastError } from "../lib/entries.js";
1
+ import type { AccountingMetadata, FixedWindowProjectionEvidence, QuotaProviderPresentation, QuotaProviderResult, QuotaProviderStatusDetail, QuotaToastEntry, QuotaToastError } from "../lib/entries.js";
2
2
  export declare function notAttemptedResult(): QuotaProviderResult;
3
3
  export declare function attemptedResult(entries: QuotaToastEntry[], errors?: QuotaToastError[], presentation?: QuotaProviderPresentation): QuotaProviderResult;
4
4
  export declare function attemptedErrorResult(label: string, message: string, options?: {
@@ -51,6 +51,7 @@ export declare function groupedPercentWindowEntries(params: {
51
51
  window?: {
52
52
  percentRemaining: number;
53
53
  resetTimeIso?: string;
54
+ fixedWindow?: FixedWindowProjectionEvidence;
54
55
  };
55
56
  suffix: string;
56
57
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"result-helpers.d.ts","sourceRoot":"","sources":["../../src/providers/result-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result-helpers.d.ts","sourceRoot":"","sources":["../../src/providers/result-helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,kBAAkB,IAAI,mBAAmB,CAExD;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,eAAe,EAAE,EAC1B,MAAM,GAAE,eAAe,EAAO,EAC9B,YAAY,CAAC,EAAE,yBAAyB,GACvC,mBAAmB,CAOrB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,mBAAmB,CAKrB;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GACnD,yBAAyB,EAAE,CAI7B;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,GAAG,yBAAyB,EAAE,CAQ9B;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE;IACrD,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,GAAG,yBAAyB,EAAE,CAO9B;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,yBAAyB,EAAE,CAS9B;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAC3B,aAAa,EAAE,SAAS,yBAAyB,EAAE,GAClD,mBAAmB,CAKrB;AAED,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC;IACT,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,kBAAkB,CAAC;IACjE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC,CAkCD;AAED,wBAAgB,yBAAyB,CACvC,OAAO,SAAS;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,EAEjG,MAAM,EAAE,OAAO,EACf,MAAM,EAAE;IACN,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,KAAK,mBAAmB,CAAC;CACjF,GACA,mBAAmB,CAUrB;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE;YACP,gBAAgB,EAAE,MAAM,CAAC;YACzB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,WAAW,CAAC,EAAE,6BAA6B,CAAC;SAC7C,CAAC;QACF,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,GAAG,eAAe,EAAE,CA0BpB"}
@@ -102,6 +102,7 @@ export function groupedPercentWindowEntries(params) {
102
102
  label,
103
103
  percentRemaining: window.percentRemaining,
104
104
  resetTimeIso: window.resetTimeIso,
105
+ ...(window.fixedWindow ? { fixedWindow: { ...window.fixedWindow } } : {}),
105
106
  });
106
107
  }
107
108
  if (entries.length === 0 && params.fallbackWhenEmpty !== false) {
@@ -1 +1 @@
1
- {"version":3,"file":"result-helpers.js","sourceRoot":"","sources":["../../src/providers/result-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result-helpers.js","sourceRoot":"","sources":["../../src/providers/result-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../src/providers/xai.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAW3B,eAAO,MAAM,WAAW,EAAE,aAkDzB,CAAC"}
1
+ {"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../src/providers/xai.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAW3B,eAAO,MAAM,WAAW,EAAE,aAqDzB,CAAC"}
@@ -42,6 +42,9 @@ export const xaiProvider = {
42
42
  label: `${period}:`,
43
43
  percentRemaining: result.window.percentRemaining,
44
44
  resetTimeIso: result.window.resetTimeIso,
45
+ ...(result.window.fixedWindow
46
+ ? { fixedWindow: { ...result.window.fixedWindow } }
47
+ : {}),
45
48
  },
46
49
  ], [], { singleWindowDisplayName: result.label });
47
50
  },
@@ -1 +1 @@
1
- {"version":3,"file":"xai.js","sourceRoot":"","sources":["../../src/providers/xai.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EACL,iCAAiC,EACjC,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,EAAE,EAAE,KAAK;IAET,KAAK,CAAC,WAAW,CAAC,GAAyB;QACzC,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAAC;YAC3D,GAAG;YACH,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QACH,IAAI,iBAAiB;YAAE,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAEjE,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,OAAmC;QACpE,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;QAClE,CAAC;QACD,OAAO,6BAA6B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAyB;QACnC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEvF,OAAO,yBAAyB,CAAC,MAAM,EAAE;YACvC,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;gBACpB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnD,OAAO,eAAe,CACpB;oBACE;wBACE,UAAU,EAAE;4BACV,UAAU,EAAE,OAAO;4BACnB,iBAAiB,EAAE,YAAY;4BAC/B,SAAS,EAAE,YAAY;4BACvB,SAAS,EAAE,mBAAmB;yBAC/B;wBACD,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE;wBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,KAAK,EAAE,GAAG,MAAM,GAAG;wBACnB,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB;wBAChD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY;qBACzC;iBACF,EACD,EAAE,EACF,EAAE,uBAAuB,EAAE,MAAM,CAAC,KAAK,EAAE,CAC1C,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"xai.js","sourceRoot":"","sources":["../../src/providers/xai.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EACL,iCAAiC,EACjC,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,EAAE,EAAE,KAAK;IAET,KAAK,CAAC,WAAW,CAAC,GAAyB;QACzC,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAAC;YAC3D,GAAG;YACH,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QACH,IAAI,iBAAiB;YAAE,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAEjE,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,OAAmC;QACpE,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;QAClE,CAAC;QACD,OAAO,6BAA6B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAyB;QACnC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEvF,OAAO,yBAAyB,CAAC,MAAM,EAAE;YACvC,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;gBACpB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnD,OAAO,eAAe,CACpB;oBACE;wBACE,UAAU,EAAE;4BACV,UAAU,EAAE,OAAO;4BACnB,iBAAiB,EAAE,YAAY;4BAC/B,SAAS,EAAE,YAAY;4BACvB,SAAS,EAAE,mBAAmB;yBAC/B;wBACD,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE;wBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,KAAK,EAAE,GAAG,MAAM,GAAG;wBACnB,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB;wBAChD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY;wBACxC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW;4BAC3B,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;4BACnD,CAAC,CAAC,EAAE,CAAC;qBACR;iBACF,EACD,EAAE,EACF,EAAE,uBAAuB,EAAE,MAAM,CAAC,KAAK,EAAE,CAC1C,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
package/dist/tui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,KAAK,EAGV,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAm+BjC,QAAA,MAAM,YAAY,EAAE,eAAe,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAGjD,CAAC;eAEa,YAAY"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,KAAK,EAGV,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAu/BjC,QAAA,MAAM,YAAY,EAAE,eAAe,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAGjD,CAAC;eAEa,YAAY"}
package/dist/tui.js CHANGED
@@ -1,17 +1,18 @@
1
1
  import { createComponent as _$createComponent } from "@opentui/solid";
2
2
  import { effect as _$effect } from "@opentui/solid";
3
3
  import { createTextNode as _$createTextNode } from "@opentui/solid";
4
+ import { memo as _$memo } from "@opentui/solid";
4
5
  import { insertNode as _$insertNode } from "@opentui/solid";
5
6
  import { insert as _$insert } from "@opentui/solid";
6
- import { memo as _$memo } from "@opentui/solid";
7
7
  import { setProp as _$setProp } from "@opentui/solid";
8
8
  import { createElement as _$createElement } from "@opentui/solid";
9
9
  /** @jsxImportSource @opentui/solid */
10
10
 
11
11
  import { createEffect, createSignal, onCleanup, Show } from "solid-js";
12
- import { formatDisplayedPercentLabel, formatResetCountdown } from "./lib/format-utils.js";
12
+ import { formatDisplayedPercentLabel, formatQuotaModeHeading, formatResetCountdown, isResetTimeDecimals, resolveDisplayedPercent } from "./lib/format-utils.js";
13
13
  import { buildQuotaDialogCommandOutput, QUOTA_DIALOG_COMMANDS } from "./lib/quota-dialog-commands.js";
14
14
  import { extractSingleWindowWindowLabel } from "./lib/quota-entry-display.js";
15
+ import { formatQuotaRunway } from "./lib/quota-exhaustion-projection.js";
15
16
  import { disposeQuotaTelemetryOwner } from "./lib/quota-telemetry.js";
16
17
  import { getSidebarBodyLineColor } from "./lib/tui-line-style.js";
17
18
  import { getCompactStatusText, getHomeBottomAnnouncementText, getSidebarPanelLines, getSidebarPanelLinesExpanded, shouldRenderCompactStatus, shouldRenderHomeBottom, shouldRenderSidebarPanel } from "./lib/tui-panel-state.js";
@@ -259,6 +260,10 @@ function SidebarContentView(props) {
259
260
  };
260
261
  const toggleIcon = () => collapsed() ? "▶" : "▼";
261
262
  const providerCount = () => panel().providerCount ?? 0;
263
+ const headerText = () => {
264
+ const heading = panel().headerPercentMode ? formatQuotaModeHeading(panel().headerPercentMode) : "Quota";
265
+ return hasDetailLines() ? `${toggleIcon()} ${heading}` : heading;
266
+ };
262
267
  return _$createComponent(Show, {
263
268
  get when() {
264
269
  return shouldRenderSidebarPanel(panel());
@@ -276,10 +281,7 @@ function SidebarContentView(props) {
276
281
  _$setProp(_el$2, "flexDirection", "row");
277
282
  _$insertNode(_el$3, _el$4);
278
283
  _$setProp(_el$3, "onMouseDown", toggleCollapsed);
279
- _$insert(_el$4, (() => {
280
- var _c$ = _$memo(() => !!hasDetailLines());
281
- return () => _c$() ? `${toggleIcon()} Quota` : "Quota";
282
- })());
284
+ _$insert(_el$4, headerText);
283
285
  _$insert(_el$2, _$createComponent(Show, {
284
286
  get when() {
285
287
  return _$memo(() => !!collapsed())() && providerCount() > 0;
@@ -438,10 +440,13 @@ function buildPromptBarParts(params) {
438
440
  if (!shouldRenderPromptBar(bar)) return undefined;
439
441
  const entry = bar.entry;
440
442
  if (!entry) return undefined;
441
- const reset = entry.resetTimeIso ? formatResetCountdown(entry.resetTimeIso, {
443
+ const reset = entry.resetTimeIso ? formatResetCountdown(entry.resetTimeIso, isResetTimeDecimals(bar.resetTimeDecimals) ? {
442
444
  compactRounded: true,
443
445
  decimals: bar.resetTimeDecimals
446
+ } : {
447
+ spaced: bar.resetTimeSpaced
444
448
  }) : "";
449
+ const runway = formatQuotaRunway(entry.runway);
445
450
  const hasPercent = Number.isFinite(entry.percentRemaining);
446
451
  if (entry.semanticSegment && !hasPercent) {
447
452
  return {
@@ -451,8 +456,8 @@ function buildPromptBarParts(params) {
451
456
  };
452
457
  }
453
458
  const windowLabel = entry.semanticSegment ?? extractSingleWindowWindowLabel(entry.label ?? "") ?? extractSingleWindowWindowLabel(entry.name ?? "") ?? "Quota";
454
- const percent = formatDisplayedPercentLabel(entry.percentRemaining ?? 0, bar.percentDisplayMode ?? "remaining");
455
- const p = Math.max(0, Math.min(100, Math.round(entry.percentRemaining ?? 0)));
459
+ const percent = formatDisplayedPercentLabel(entry.percentRemaining ?? 0, bar.percentDisplayMode ?? "remaining", "bare");
460
+ const p = Math.min(100, resolveDisplayedPercent(entry.percentRemaining ?? 0, bar.percentDisplayMode ?? "remaining"));
456
461
  const filled = Math.round(p / 100 * PROMPT_BAR_WIDTH);
457
462
  const empty = PROMPT_BAR_WIDTH - filled;
458
463
  let barText = "█".repeat(filled) + "░".repeat(empty);
@@ -469,7 +474,7 @@ function buildPromptBarParts(params) {
469
474
  return {
470
475
  label: windowLabel,
471
476
  barText,
472
- meta: entry.semanticSegment ? reset : [percent.replace(/\s+left$/u, ""), reset].filter(Boolean).join(" | ")
477
+ meta: entry.semanticSegment ? [reset, runway ? `r/o ${runway}` : ""].filter(Boolean).join(" | ") : [percent, reset, runway ? `r/o ${runway}` : ""].filter(Boolean).join(" | ")
473
478
  };
474
479
  }
475
480
  function PromptQuotaHint(props) {
package/dist/tui.tsx CHANGED
@@ -8,7 +8,13 @@ import type {
8
8
  } from "@opencode-ai/plugin/tui";
9
9
  import type { JSX } from "@opentui/solid";
10
10
  import { createEffect, createSignal, onCleanup, Show } from "solid-js";
11
- import { formatDisplayedPercentLabel, formatResetCountdown } from "./lib/format-utils.js";
11
+ import {
12
+ formatDisplayedPercentLabel,
13
+ formatQuotaModeHeading,
14
+ formatResetCountdown,
15
+ isResetTimeDecimals,
16
+ resolveDisplayedPercent,
17
+ } from "./lib/format-utils.js";
12
18
  import {
13
19
  buildQuotaDialogCommandOutput,
14
20
  QUOTA_DIALOG_COMMANDS,
@@ -16,6 +22,7 @@ import {
16
22
  type QuotaDialogCommandSpec,
17
23
  } from "./lib/quota-dialog-commands.js";
18
24
  import { extractSingleWindowWindowLabel } from "./lib/quota-entry-display.js";
25
+ import { formatQuotaRunway } from "./lib/quota-exhaustion-projection.js";
19
26
  import type { SessionTokenError } from "./lib/quota-status.js";
20
27
  import { disposeQuotaTelemetryOwner } from "./lib/quota-telemetry.js";
21
28
  import { getSidebarBodyLineColor } from "./lib/tui-line-style.js";
@@ -373,13 +380,19 @@ function SidebarContentView(props: {
373
380
 
374
381
  const toggleIcon = () => (collapsed() ? "▶" : "▼");
375
382
  const providerCount = () => panel().providerCount ?? 0;
383
+ const headerText = () => {
384
+ const heading = panel().headerPercentMode
385
+ ? formatQuotaModeHeading(panel().headerPercentMode)
386
+ : "Quota";
387
+ return hasDetailLines() ? `${toggleIcon()} ${heading}` : heading;
388
+ };
376
389
 
377
390
  return (
378
391
  <Show when={shouldRenderSidebarPanel(panel())}>
379
392
  <box gap={0}>
380
393
  <box flexDirection="row">
381
394
  <text fg={props.api.theme.current.text} onMouseDown={toggleCollapsed}>
382
- <b>{hasDetailLines() ? `${toggleIcon()} Quota` : "Quota"}</b>
395
+ <b>{headerText()}</b>
383
396
  </text>
384
397
  <Show when={collapsed() && providerCount() > 0}>
385
398
  <text fg={props.api.theme.current.textMuted}> ({providerCount()} providers)</text>
@@ -516,11 +529,14 @@ function buildPromptBarParts(params: {
516
529
  const entry = bar.entry;
517
530
  if (!entry) return undefined;
518
531
  const reset = entry.resetTimeIso
519
- ? formatResetCountdown(entry.resetTimeIso, {
520
- compactRounded: true,
521
- decimals: bar.resetTimeDecimals,
522
- })
532
+ ? formatResetCountdown(
533
+ entry.resetTimeIso,
534
+ isResetTimeDecimals(bar.resetTimeDecimals)
535
+ ? { compactRounded: true, decimals: bar.resetTimeDecimals }
536
+ : { spaced: bar.resetTimeSpaced },
537
+ )
523
538
  : "";
539
+ const runway = formatQuotaRunway(entry.runway);
524
540
 
525
541
  const hasPercent = Number.isFinite(entry.percentRemaining);
526
542
  if (entry.semanticSegment && !hasPercent) {
@@ -535,8 +551,12 @@ function buildPromptBarParts(params: {
535
551
  const percent = formatDisplayedPercentLabel(
536
552
  entry.percentRemaining ?? 0,
537
553
  bar.percentDisplayMode ?? "remaining",
554
+ "bare",
555
+ );
556
+ const p = Math.min(
557
+ 100,
558
+ resolveDisplayedPercent(entry.percentRemaining ?? 0, bar.percentDisplayMode ?? "remaining"),
538
559
  );
539
- const p = Math.max(0, Math.min(100, Math.round(entry.percentRemaining ?? 0)));
540
560
  const filled = Math.round((p / 100) * PROMPT_BAR_WIDTH);
541
561
  const empty = PROMPT_BAR_WIDTH - filled;
542
562
  let barText = "█".repeat(filled) + "░".repeat(empty);
@@ -554,8 +574,8 @@ function buildPromptBarParts(params: {
554
574
  label: windowLabel,
555
575
  barText,
556
576
  meta: entry.semanticSegment
557
- ? reset
558
- : [percent.replace(/\s+left$/u, ""), reset].filter(Boolean).join(" | "),
577
+ ? [reset, runway ? `r/o ${runway}` : ""].filter(Boolean).join(" | ")
578
+ : [percent, reset, runway ? `r/o ${runway}` : ""].filter(Boolean).join(" | "),
559
579
  };
560
580
  }
561
581
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slkiser/opencode-quota",
3
- "version": "4.9.0",
3
+ "version": "4.10.0",
4
4
  "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.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",