@slkiser/opencode-quota 4.8.2 → 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 (270) hide show
  1. package/README.md +18 -18
  2. package/dist/bin/opencode-quota.d.ts.map +1 -1
  3. package/dist/bin/opencode-quota.js +5 -3
  4. package/dist/bin/opencode-quota.js.map +1 -1
  5. package/dist/lib/accounting-format.d.ts +54 -0
  6. package/dist/lib/accounting-format.d.ts.map +1 -0
  7. package/dist/lib/accounting-format.js +271 -0
  8. package/dist/lib/accounting-format.js.map +1 -0
  9. package/dist/lib/anthropic.d.ts +21 -2
  10. package/dist/lib/anthropic.d.ts.map +1 -1
  11. package/dist/lib/anthropic.js +141 -22
  12. package/dist/lib/anthropic.js.map +1 -1
  13. package/dist/lib/cli-show.d.ts.map +1 -1
  14. package/dist/lib/cli-show.js +7 -1
  15. package/dist/lib/cli-show.js.map +1 -1
  16. package/dist/lib/config.d.ts +10 -1
  17. package/dist/lib/config.d.ts.map +1 -1
  18. package/dist/lib/config.js +69 -3
  19. package/dist/lib/config.js.map +1 -1
  20. package/dist/lib/copilot.d.ts +2 -0
  21. package/dist/lib/copilot.d.ts.map +1 -1
  22. package/dist/lib/copilot.js +38 -0
  23. package/dist/lib/copilot.js.map +1 -1
  24. package/dist/lib/cursor-usage.d.ts +1 -0
  25. package/dist/lib/cursor-usage.d.ts.map +1 -1
  26. package/dist/lib/cursor-usage.js +1 -0
  27. package/dist/lib/cursor-usage.js.map +1 -1
  28. package/dist/lib/deepseek.d.ts +12 -12
  29. package/dist/lib/deepseek.d.ts.map +1 -1
  30. package/dist/lib/deepseek.js +33 -29
  31. package/dist/lib/deepseek.js.map +1 -1
  32. package/dist/lib/display-sanitize.d.ts.map +1 -1
  33. package/dist/lib/display-sanitize.js +75 -22
  34. package/dist/lib/display-sanitize.js.map +1 -1
  35. package/dist/lib/entries.d.ts +122 -23
  36. package/dist/lib/entries.d.ts.map +1 -1
  37. package/dist/lib/entries.js +41 -1
  38. package/dist/lib/entries.js.map +1 -1
  39. package/dist/lib/format-utils.d.ts +11 -8
  40. package/dist/lib/format-utils.d.ts.map +1 -1
  41. package/dist/lib/format-utils.js +47 -6
  42. package/dist/lib/format-utils.js.map +1 -1
  43. package/dist/lib/format.d.ts +4 -0
  44. package/dist/lib/format.d.ts.map +1 -1
  45. package/dist/lib/format.js +144 -42
  46. package/dist/lib/format.js.map +1 -1
  47. package/dist/lib/glm-coding-plan.d.ts.map +1 -1
  48. package/dist/lib/glm-coding-plan.js +12 -3
  49. package/dist/lib/glm-coding-plan.js.map +1 -1
  50. package/dist/lib/google-agy.d.ts +2 -0
  51. package/dist/lib/google-agy.d.ts.map +1 -1
  52. package/dist/lib/google-agy.js +29 -14
  53. package/dist/lib/google-agy.js.map +1 -1
  54. package/dist/lib/google-gemini-cli.d.ts +2 -0
  55. package/dist/lib/google-gemini-cli.d.ts.map +1 -1
  56. package/dist/lib/google-gemini-cli.js +29 -3
  57. package/dist/lib/google-gemini-cli.js.map +1 -1
  58. package/dist/lib/google-token-cache.d.ts +5 -8
  59. package/dist/lib/google-token-cache.d.ts.map +1 -1
  60. package/dist/lib/google-token-cache.js +30 -118
  61. package/dist/lib/google-token-cache.js.map +1 -1
  62. package/dist/lib/google.d.ts +2 -0
  63. package/dist/lib/google.d.ts.map +1 -1
  64. package/dist/lib/google.js +31 -6
  65. package/dist/lib/google.js.map +1 -1
  66. package/dist/lib/grouped-entry-normalization.d.ts.map +1 -1
  67. package/dist/lib/grouped-entry-normalization.js +53 -20
  68. package/dist/lib/grouped-entry-normalization.js.map +1 -1
  69. package/dist/lib/minimax-auth.d.ts +1 -1
  70. package/dist/lib/minimax-auth.js +1 -1
  71. package/dist/lib/nanogpt.d.ts +5 -5
  72. package/dist/lib/nanogpt.d.ts.map +1 -1
  73. package/dist/lib/nanogpt.js +59 -23
  74. package/dist/lib/nanogpt.js.map +1 -1
  75. package/dist/lib/ollama-cloud.d.ts +2 -2
  76. package/dist/lib/ollama-cloud.d.ts.map +1 -1
  77. package/dist/lib/ollama-cloud.js +3 -45
  78. package/dist/lib/ollama-cloud.js.map +1 -1
  79. package/dist/lib/openai.d.ts +6 -0
  80. package/dist/lib/openai.d.ts.map +1 -1
  81. package/dist/lib/openai.js +51 -16
  82. package/dist/lib/openai.js.map +1 -1
  83. package/dist/lib/opencode-go-auth.js +1 -1
  84. package/dist/lib/opencode-go-auth.js.map +1 -1
  85. package/dist/lib/opencode-go.d.ts.map +1 -1
  86. package/dist/lib/opencode-go.js +28 -3
  87. package/dist/lib/opencode-go.js.map +1 -1
  88. package/dist/lib/opencode-zen-config.d.ts +0 -1
  89. package/dist/lib/opencode-zen-config.d.ts.map +1 -1
  90. package/dist/lib/opencode-zen-config.js +0 -22
  91. package/dist/lib/opencode-zen-config.js.map +1 -1
  92. package/dist/lib/opencode-zen.d.ts +3 -0
  93. package/dist/lib/opencode-zen.d.ts.map +1 -1
  94. package/dist/lib/opencode-zen.js +18 -1
  95. package/dist/lib/opencode-zen.js.map +1 -1
  96. package/dist/lib/openrouter.d.ts +2 -0
  97. package/dist/lib/openrouter.d.ts.map +1 -1
  98. package/dist/lib/openrouter.js +10 -0
  99. package/dist/lib/openrouter.js.map +1 -1
  100. package/dist/lib/provider-metadata.d.ts +2 -307
  101. package/dist/lib/provider-metadata.d.ts.map +1 -1
  102. package/dist/lib/provider-metadata.js +14 -316
  103. package/dist/lib/provider-metadata.js.map +1 -1
  104. package/dist/lib/provider-registration.d.ts +325 -0
  105. package/dist/lib/provider-registration.d.ts.map +1 -0
  106. package/dist/lib/provider-registration.js +338 -0
  107. package/dist/lib/provider-registration.js.map +1 -0
  108. package/dist/lib/quota-accounting-projection.d.ts +9 -0
  109. package/dist/lib/quota-accounting-projection.d.ts.map +1 -0
  110. package/dist/lib/quota-accounting-projection.js +254 -0
  111. package/dist/lib/quota-accounting-projection.js.map +1 -0
  112. package/dist/lib/quota-command-format.d.ts +5 -2
  113. package/dist/lib/quota-command-format.d.ts.map +1 -1
  114. package/dist/lib/quota-command-format.js +66 -44
  115. package/dist/lib/quota-command-format.js.map +1 -1
  116. package/dist/lib/quota-dialog-commands.d.ts.map +1 -1
  117. package/dist/lib/quota-dialog-commands.js +3 -0
  118. package/dist/lib/quota-dialog-commands.js.map +1 -1
  119. package/dist/lib/quota-exhaustion-projection.d.ts +11 -0
  120. package/dist/lib/quota-exhaustion-projection.d.ts.map +1 -0
  121. package/dist/lib/quota-exhaustion-projection.js +105 -0
  122. package/dist/lib/quota-exhaustion-projection.js.map +1 -0
  123. package/dist/lib/quota-export.d.ts +2 -1
  124. package/dist/lib/quota-export.d.ts.map +1 -1
  125. package/dist/lib/quota-export.js +36 -10
  126. package/dist/lib/quota-export.js.map +1 -1
  127. package/dist/lib/quota-providers-local.d.ts.map +1 -1
  128. package/dist/lib/quota-providers-local.js +14 -0
  129. package/dist/lib/quota-providers-local.js.map +1 -1
  130. package/dist/lib/quota-providers-remote.d.ts.map +1 -1
  131. package/dist/lib/quota-providers-remote.js +6 -2
  132. package/dist/lib/quota-providers-remote.js.map +1 -1
  133. package/dist/lib/quota-render-data.d.ts +0 -1
  134. package/dist/lib/quota-render-data.d.ts.map +1 -1
  135. package/dist/lib/quota-render-data.js +13 -138
  136. package/dist/lib/quota-render-data.js.map +1 -1
  137. package/dist/lib/quota-reset-notifications.d.ts.map +1 -1
  138. package/dist/lib/quota-reset-notifications.js +3 -0
  139. package/dist/lib/quota-reset-notifications.js.map +1 -1
  140. package/dist/lib/quota-state-codec.d.ts +16 -0
  141. package/dist/lib/quota-state-codec.d.ts.map +1 -0
  142. package/dist/lib/quota-state-codec.js +412 -0
  143. package/dist/lib/quota-state-codec.js.map +1 -0
  144. package/dist/lib/quota-state.d.ts +2 -11
  145. package/dist/lib/quota-state.d.ts.map +1 -1
  146. package/dist/lib/quota-state.js +165 -305
  147. package/dist/lib/quota-state.js.map +1 -1
  148. package/dist/lib/quota-status.d.ts.map +1 -1
  149. package/dist/lib/quota-status.js +15 -7
  150. package/dist/lib/quota-status.js.map +1 -1
  151. package/dist/lib/quota-telemetry.d.ts.map +1 -1
  152. package/dist/lib/quota-telemetry.js +7 -3
  153. package/dist/lib/quota-telemetry.js.map +1 -1
  154. package/dist/lib/quota-toast-runtime.d.ts +60 -0
  155. package/dist/lib/quota-toast-runtime.d.ts.map +1 -0
  156. package/dist/lib/quota-toast-runtime.js +774 -0
  157. package/dist/lib/quota-toast-runtime.js.map +1 -0
  158. package/dist/lib/qwen-local-quota.d.ts +2 -0
  159. package/dist/lib/qwen-local-quota.d.ts.map +1 -1
  160. package/dist/lib/qwen-local-quota.js +17 -1
  161. package/dist/lib/qwen-local-quota.js.map +1 -1
  162. package/dist/lib/resolved-auth-identity.d.ts +36 -0
  163. package/dist/lib/resolved-auth-identity.d.ts.map +1 -0
  164. package/dist/lib/resolved-auth-identity.js +193 -0
  165. package/dist/lib/resolved-auth-identity.js.map +1 -0
  166. package/dist/lib/scoped-update-migration.d.ts +101 -0
  167. package/dist/lib/scoped-update-migration.d.ts.map +1 -0
  168. package/dist/lib/scoped-update-migration.js +348 -0
  169. package/dist/lib/scoped-update-migration.js.map +1 -0
  170. package/dist/lib/scoped-update.d.ts +8 -0
  171. package/dist/lib/scoped-update.d.ts.map +1 -1
  172. package/dist/lib/scoped-update.js +263 -50
  173. package/dist/lib/scoped-update.js.map +1 -1
  174. package/dist/lib/toast-format-grouped.d.ts +4 -0
  175. package/dist/lib/toast-format-grouped.d.ts.map +1 -1
  176. package/dist/lib/toast-format-grouped.js +140 -39
  177. package/dist/lib/toast-format-grouped.js.map +1 -1
  178. package/dist/lib/tui-compact-format.d.ts +2 -0
  179. package/dist/lib/tui-compact-format.d.ts.map +1 -1
  180. package/dist/lib/tui-compact-format.js +224 -31
  181. package/dist/lib/tui-compact-format.js.map +1 -1
  182. package/dist/lib/tui-panel-state.d.ts +6 -0
  183. package/dist/lib/tui-panel-state.d.ts.map +1 -1
  184. package/dist/lib/tui-panel-state.js.map +1 -1
  185. package/dist/lib/tui-runtime.d.ts.map +1 -1
  186. package/dist/lib/tui-runtime.js +109 -10
  187. package/dist/lib/tui-runtime.js.map +1 -1
  188. package/dist/lib/tui-sidebar-format.d.ts +1 -1
  189. package/dist/lib/tui-sidebar-format.d.ts.map +1 -1
  190. package/dist/lib/tui-sidebar-format.js +4 -0
  191. package/dist/lib/tui-sidebar-format.js.map +1 -1
  192. package/dist/lib/types.d.ts +21 -13
  193. package/dist/lib/types.d.ts.map +1 -1
  194. package/dist/lib/types.js +2 -0
  195. package/dist/lib/types.js.map +1 -1
  196. package/dist/lib/xai.d.ts +4 -0
  197. package/dist/lib/xai.d.ts.map +1 -1
  198. package/dist/lib/xai.js +29 -3
  199. package/dist/lib/xai.js.map +1 -1
  200. package/dist/plugin.d.ts.map +1 -1
  201. package/dist/plugin.js +27 -720
  202. package/dist/plugin.js.map +1 -1
  203. package/dist/providers/accounting-decimal.d.ts +2 -0
  204. package/dist/providers/accounting-decimal.d.ts.map +1 -0
  205. package/dist/providers/accounting-decimal.js +23 -0
  206. package/dist/providers/accounting-decimal.js.map +1 -0
  207. package/dist/providers/anthropic.d.ts.map +1 -1
  208. package/dist/providers/anthropic.js +36 -0
  209. package/dist/providers/anthropic.js.map +1 -1
  210. package/dist/providers/cache-policies.d.ts +64 -0
  211. package/dist/providers/cache-policies.d.ts.map +1 -0
  212. package/dist/providers/cache-policies.js +197 -0
  213. package/dist/providers/cache-policies.js.map +1 -0
  214. package/dist/providers/cursor.d.ts.map +1 -1
  215. package/dist/providers/cursor.js +85 -58
  216. package/dist/providers/cursor.js.map +1 -1
  217. package/dist/providers/deepseek.d.ts +2 -2
  218. package/dist/providers/deepseek.d.ts.map +1 -1
  219. package/dist/providers/deepseek.js +64 -33
  220. package/dist/providers/deepseek.js.map +1 -1
  221. package/dist/providers/google-agy.js +2 -2
  222. package/dist/providers/google-agy.js.map +1 -1
  223. package/dist/providers/kilo.d.ts.map +1 -1
  224. package/dist/providers/kilo.js +56 -29
  225. package/dist/providers/kilo.js.map +1 -1
  226. package/dist/providers/mimo.d.ts.map +1 -1
  227. package/dist/providers/mimo.js +37 -15
  228. package/dist/providers/mimo.js.map +1 -1
  229. package/dist/providers/minimax-coding-plan.d.ts +8 -7
  230. package/dist/providers/minimax-coding-plan.d.ts.map +1 -1
  231. package/dist/providers/minimax-coding-plan.js +97 -83
  232. package/dist/providers/minimax-coding-plan.js.map +1 -1
  233. package/dist/providers/nanogpt.d.ts.map +1 -1
  234. package/dist/providers/nanogpt.js +72 -51
  235. package/dist/providers/nanogpt.js.map +1 -1
  236. package/dist/providers/ollama-cloud.d.ts +1 -2
  237. package/dist/providers/ollama-cloud.d.ts.map +1 -1
  238. package/dist/providers/ollama-cloud.js +1 -20
  239. package/dist/providers/ollama-cloud.js.map +1 -1
  240. package/dist/providers/openai.d.ts.map +1 -1
  241. package/dist/providers/openai.js +0 -3
  242. package/dist/providers/openai.js.map +1 -1
  243. package/dist/providers/opencode-go.d.ts +1 -0
  244. package/dist/providers/opencode-go.d.ts.map +1 -1
  245. package/dist/providers/opencode-go.js +32 -5
  246. package/dist/providers/opencode-go.js.map +1 -1
  247. package/dist/providers/opencode-zen.d.ts.map +1 -1
  248. package/dist/providers/opencode-zen.js +78 -17
  249. package/dist/providers/opencode-zen.js.map +1 -1
  250. package/dist/providers/quota-providers.d.ts.map +1 -1
  251. package/dist/providers/quota-providers.js +31 -23
  252. package/dist/providers/quota-providers.js.map +1 -1
  253. package/dist/providers/qwen-code.d.ts.map +1 -1
  254. package/dist/providers/qwen-code.js +1 -0
  255. package/dist/providers/qwen-code.js.map +1 -1
  256. package/dist/providers/registry.d.ts +3 -2
  257. package/dist/providers/registry.d.ts.map +1 -1
  258. package/dist/providers/registry.js +41 -31
  259. package/dist/providers/registry.js.map +1 -1
  260. package/dist/providers/result-helpers.d.ts +12 -6
  261. package/dist/providers/result-helpers.d.ts.map +1 -1
  262. package/dist/providers/result-helpers.js +4 -3
  263. package/dist/providers/result-helpers.js.map +1 -1
  264. package/dist/providers/xai.d.ts.map +1 -1
  265. package/dist/providers/xai.js +3 -0
  266. package/dist/providers/xai.js.map +1 -1
  267. package/dist/tui.d.ts.map +1 -1
  268. package/dist/tui.js +24 -11
  269. package/dist/tui.tsx +39 -10
  270. package/package.json +1 -1
@@ -3,6 +3,7 @@ import { customQuotaProviderDefinitions, QUOTA_PROVIDERS_AGGREGATE_ID, resolveQu
3
3
  import { collectLocalQuotaProviderEstimate, inspectLocalQuotaProviderState, } from "../lib/quota-providers-local.js";
4
4
  import { fetchRemoteQuotaProvider, QUOTA_PROVIDER_CONCURRENCY, resolveQuotaProviderApiKey, } from "../lib/quota-providers-remote.js";
5
5
  import { fetchQuotaProviderResult } from "../lib/quota-state.js";
6
+ import { resolveQuotaProviderDefinitionAuthIdentity } from "./cache-policies.js";
6
7
  export const QUOTA_PROVIDERS_PROVIDER_ID = QUOTA_PROVIDERS_AGGREGATE_ID;
7
8
  export const selectEligibleQuotaProviders = selectEligibleQuotaProviderDefinitions;
8
9
  function matchesConfiguredCurrentSelection(model, context) {
@@ -118,6 +119,10 @@ async function executeRemoteWithCache(definition, ctx) {
118
119
  const remoteProvider = {
119
120
  id: `${QUOTA_PROVIDERS_PROVIDER_ID}:${definition.id}`,
120
121
  isAvailable: async () => true,
122
+ cachePolicy: {
123
+ kind: "resolved-auth",
124
+ resolveIdentity: () => resolveQuotaProviderDefinitionAuthIdentity(definition),
125
+ },
121
126
  fetch: async () => {
122
127
  const result = await executeRemote(definition, ctx.config.requestTimeoutMs);
123
128
  return {
@@ -217,34 +222,37 @@ export const quotaProvidersProvider = {
217
222
  matchesCurrentModel(model, context) {
218
223
  return matchesConfiguredCurrentSelection(model, context);
219
224
  },
220
- async fetch(ctx) {
225
+ async fetch(ctx, cacheContext) {
221
226
  const definitions = ctx.config.quotaProviders ?? [];
222
227
  if (customQuotaProviderDefinitions(definitions).length === 0) {
223
228
  return { attempted: false, entries: [], errors: [] };
224
229
  }
225
- let availableProviderIds;
226
- try {
227
- availableProviderIds = await getAvailableProviderIds(ctx);
228
- }
229
- catch {
230
- return {
231
- attempted: true,
232
- entries: [],
233
- errors: [
234
- {
235
- label: "Quota providers",
236
- message: "Failed to read exact runtime provider identities",
237
- },
238
- ],
239
- };
230
+ let selected = cacheContext?.runtimeEligibleQuotaProviders;
231
+ if (!selected) {
232
+ let availableProviderIds;
233
+ try {
234
+ availableProviderIds = await getAvailableProviderIds(ctx);
235
+ }
236
+ catch {
237
+ return {
238
+ attempted: true,
239
+ entries: [],
240
+ errors: [
241
+ {
242
+ label: "Quota providers",
243
+ message: "Failed to read exact runtime provider identities",
244
+ },
245
+ ],
246
+ };
247
+ }
248
+ selected = selectEligibleQuotaProviders({
249
+ definitions,
250
+ availableProviderIds,
251
+ onlyCurrentModel: ctx.config.onlyCurrentModel,
252
+ currentModel: ctx.config.currentModel,
253
+ currentProviderID: ctx.config.currentProviderID,
254
+ });
240
255
  }
241
- const selected = selectEligibleQuotaProviders({
242
- definitions,
243
- availableProviderIds,
244
- onlyCurrentModel: ctx.config.onlyCurrentModel,
245
- currentModel: ctx.config.currentModel,
246
- currentProviderID: ctx.config.currentProviderID,
247
- });
248
256
  if (selected.length === 0) {
249
257
  return { attempted: false, entries: [], errors: [] };
250
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"quota-providers.js","sourceRoot":"","sources":["../../src/providers/quota-providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-providers.js","sourceRoot":"","sources":["../../src/providers/quota-providers.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,7 +1,8 @@
1
1
  /**
2
- * Provider registry.
2
+ * Provider implementation registry.
3
3
  *
4
- * Add new providers here; everything else should stay provider-agnostic.
4
+ * Add metadata and display order in provider-registration.ts, then bind the
5
+ * corresponding provider singleton here. Everything else stays provider-agnostic.
5
6
  */
6
7
  import type { QuotaProvider } from "../lib/entries.js";
7
8
  export declare function getProviders(): QuotaProvider[];
@@ -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;AA8BvD,wBAAgB,YAAY,IAAI,aAAa,EAAE,CA8B9C"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAgEvD,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAW9C"}
@@ -1,10 +1,13 @@
1
1
  /**
2
- * Provider registry.
2
+ * Provider implementation registry.
3
3
  *
4
- * Add new providers here; everything else should stay provider-agnostic.
4
+ * Add metadata and display order in provider-registration.ts, then bind the
5
+ * corresponding provider singleton here. Everything else stays provider-agnostic.
5
6
  */
7
+ import { QUOTA_PROVIDER_REGISTRATION_SOURCE, } from "../lib/provider-registration.js";
6
8
  import { alibabaCodingPlanProvider } from "./alibaba-coding-plan.js";
7
9
  import { anthropicProvider } from "./anthropic.js";
10
+ import { PROVIDER_CACHE_POLICIES } from "./cache-policies.js";
8
11
  import { chutesProvider } from "./chutes.js";
9
12
  import { copilotProvider } from "./copilot.js";
10
13
  import { cursorProvider } from "./cursor.js";
@@ -28,35 +31,42 @@ import { syntheticProvider } from "./synthetic.js";
28
31
  import { xaiProvider } from "./xai.js";
29
32
  import { zaiProvider } from "./zai.js";
30
33
  import { zhipuProvider } from "./zhipu.js";
34
+ const PROVIDERS_BY_ID = {
35
+ anthropic: anthropicProvider,
36
+ copilot: copilotProvider,
37
+ openai: openaiProvider,
38
+ openrouter: openRouterProvider,
39
+ kilo: kiloProvider,
40
+ cursor: cursorProvider,
41
+ "qwen-code": qwenCodeProvider,
42
+ "alibaba-coding-plan": alibabaCodingPlanProvider,
43
+ synthetic: syntheticProvider,
44
+ chutes: chutesProvider,
45
+ "google-antigravity": googleAntigravityProvider,
46
+ "google-gemini-cli": googleGeminiCliProvider,
47
+ "google-agy": googleAgyProvider,
48
+ zai: zaiProvider,
49
+ zhipu: zhipuProvider,
50
+ nanogpt: nanoGptProvider,
51
+ "minimax-coding-plan": minimaxCodingPlanProvider,
52
+ "minimax-china-coding-plan": minimaxChinaCodingPlanProvider,
53
+ "kimi-for-coding": kimiCodeProvider,
54
+ deepseek: deepseekProvider,
55
+ xai: xaiProvider,
56
+ xiaomi: xiaomiProvider,
57
+ "opencode-go": opencodeGoProvider,
58
+ opencode: opencodeZenProvider,
59
+ "ollama-cloud": ollamaCloudProvider,
60
+ "quota-providers": quotaProvidersProvider,
61
+ };
31
62
  export function getProviders() {
32
- // Order here defines display ordering in the toast.
33
- return [
34
- anthropicProvider,
35
- copilotProvider,
36
- openaiProvider,
37
- openRouterProvider,
38
- kiloProvider,
39
- cursorProvider,
40
- qwenCodeProvider,
41
- alibabaCodingPlanProvider,
42
- syntheticProvider,
43
- chutesProvider,
44
- googleAntigravityProvider,
45
- googleGeminiCliProvider,
46
- googleAgyProvider,
47
- zaiProvider,
48
- zhipuProvider,
49
- nanoGptProvider,
50
- minimaxCodingPlanProvider,
51
- minimaxChinaCodingPlanProvider,
52
- kimiCodeProvider,
53
- deepseekProvider,
54
- xaiProvider,
55
- xiaomiProvider,
56
- opencodeGoProvider,
57
- opencodeZenProvider,
58
- ollamaCloudProvider,
59
- quotaProvidersProvider,
60
- ];
63
+ return QUOTA_PROVIDER_REGISTRATION_SOURCE.map(({ id }) => {
64
+ const provider = PROVIDERS_BY_ID[id];
65
+ if (provider.id !== id) {
66
+ throw new Error(`Quota provider registration mismatch: expected ${id}, received ${provider.id}`);
67
+ }
68
+ provider.cachePolicy = PROVIDER_CACHE_POLICIES[id];
69
+ return provider;
70
+ });
61
71
  }
62
72
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,UAAU,YAAY;IAC1B,oDAAoD;IACpD,OAAO;QACL,iBAAiB;QACjB,eAAe;QACf,cAAc;QACd,kBAAkB;QAClB,YAAY;QACZ,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,WAAW;QACX,cAAc;QACd,kBAAkB;QAClB,mBAAmB;QACnB,mBAAmB;QACnB,sBAAsB;KACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
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
- export declare function attemptedErrorResult(label: string, message: string): QuotaProviderResult;
4
+ export declare function attemptedErrorResult(label: string, message: string, options?: {
5
+ retryable?: boolean;
6
+ }): QuotaProviderResult;
5
7
  export declare function statusDetailsFromRecord(values: Readonly<Record<string, string | undefined>>): QuotaProviderStatusDetail[];
6
8
  export declare function configStatusDetails(diagnostics: {
7
9
  state: string;
@@ -30,14 +32,17 @@ export declare function inspectGeneratedCounterFile(path: string, expectedVersio
30
32
  version: number | null;
31
33
  lastUpdatedAt: number | null;
32
34
  }>;
33
- export declare function mapNullableProviderResult<TSuccess extends {
35
+ export declare function mapNullableProviderResult<TResult extends {
34
36
  success: true;
35
- }>(result: TSuccess | {
37
+ } | {
36
38
  success: false;
37
39
  error: string;
38
- } | null, params: {
40
+ retryable?: boolean;
41
+ } | null>(result: TResult, params: {
39
42
  errorLabel: string;
40
- onSuccess: (result: TSuccess) => QuotaProviderResult;
43
+ onSuccess: (result: Extract<TResult, {
44
+ success: true;
45
+ }>) => QuotaProviderResult;
41
46
  }): QuotaProviderResult;
42
47
  export declare function groupedPercentWindowEntries(params: {
43
48
  group: string;
@@ -46,6 +51,7 @@ export declare function groupedPercentWindowEntries(params: {
46
51
  window?: {
47
52
  percentRemaining: number;
48
53
  resetTimeIso?: string;
54
+ fixedWindow?: FixedWindowProjectionEvidence;
49
55
  };
50
56
  suffix: string;
51
57
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"result-helpers.d.ts","sourceRoot":"","sources":["../../src/providers/result-helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,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,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAExF;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,CAAC,QAAQ,SAAS;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,EAC1E,MAAM,EAAE,QAAQ,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EAC3D,MAAM,EAAE;IACN,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,mBAAmB,CAAC;CACtD,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;SACvB,CAAC;QACF,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,GAAG,eAAe,EAAE,CAyBpB"}
1
+ {"version":3,"file":"result-helpers.d.ts","sourceRoot":"","sources":["../../src/providers/result-helpers.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,8 @@ export function attemptedResult(entries, errors = [], presentation) {
11
11
  ...(presentation ? { presentation } : {}),
12
12
  };
13
13
  }
14
- export function attemptedErrorResult(label, message) {
15
- return attemptedResult([], [{ label, message }]);
14
+ export function attemptedErrorResult(label, message, options = {}) {
15
+ return attemptedResult([], [{ label, message, ...(options.retryable === true ? { retryable: true } : {}) }]);
16
16
  }
17
17
  export function statusDetailsFromRecord(values) {
18
18
  return Object.entries(values).flatMap(([key, value]) => value === undefined ? [] : [{ key, value }]);
@@ -86,7 +86,7 @@ export function mapNullableProviderResult(result, params) {
86
86
  return notAttemptedResult();
87
87
  }
88
88
  if (!result.success) {
89
- return attemptedErrorResult(params.errorLabel, result.error);
89
+ return attemptedErrorResult(params.errorLabel, result.error, { retryable: result.retryable });
90
90
  }
91
91
  return params.onSuccess(result);
92
92
  }
@@ -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;AA09BjC,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,13 +440,24 @@ function buildPromptBarParts(params) {
438
440
  if (!shouldRenderPromptBar(bar)) return undefined;
439
441
  const entry = bar.entry;
440
442
  if (!entry) return undefined;
441
- const windowLabel = extractSingleWindowWindowLabel(entry.label ?? "") ?? extractSingleWindowWindowLabel(entry.name ?? "") ?? "Quota";
442
- const percent = formatDisplayedPercentLabel(entry.percentRemaining ?? 0, bar.percentDisplayMode ?? "remaining");
443
- const reset = entry.resetTimeIso ? formatResetCountdown(entry.resetTimeIso, {
443
+ const reset = entry.resetTimeIso ? formatResetCountdown(entry.resetTimeIso, isResetTimeDecimals(bar.resetTimeDecimals) ? {
444
444
  compactRounded: true,
445
445
  decimals: bar.resetTimeDecimals
446
+ } : {
447
+ spaced: bar.resetTimeSpaced
446
448
  }) : "";
447
- const p = Math.max(0, Math.min(100, Math.round(entry.percentRemaining ?? 0)));
449
+ const runway = formatQuotaRunway(entry.runway);
450
+ const hasPercent = Number.isFinite(entry.percentRemaining);
451
+ if (entry.semanticSegment && !hasPercent) {
452
+ return {
453
+ label: entry.semanticSegment,
454
+ barText: "",
455
+ meta: reset
456
+ };
457
+ }
458
+ const windowLabel = entry.semanticSegment ?? extractSingleWindowWindowLabel(entry.label ?? "") ?? extractSingleWindowWindowLabel(entry.name ?? "") ?? "Quota";
459
+ const percent = formatDisplayedPercentLabel(entry.percentRemaining ?? 0, bar.percentDisplayMode ?? "remaining", "bare");
460
+ const p = Math.min(100, resolveDisplayedPercent(entry.percentRemaining ?? 0, bar.percentDisplayMode ?? "remaining"));
448
461
  const filled = Math.round(p / 100 * PROMPT_BAR_WIDTH);
449
462
  const empty = PROMPT_BAR_WIDTH - filled;
450
463
  let barText = "█".repeat(filled) + "░".repeat(empty);
@@ -461,7 +474,7 @@ function buildPromptBarParts(params) {
461
474
  return {
462
475
  label: windowLabel,
463
476
  barText,
464
- meta: [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(" | ")
465
478
  };
466
479
  }
467
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>
@@ -515,21 +528,35 @@ function buildPromptBarParts(params: {
515
528
  if (!shouldRenderPromptBar(bar)) return undefined;
516
529
  const entry = bar.entry;
517
530
  if (!entry) return undefined;
531
+ const reset = entry.resetTimeIso
532
+ ? formatResetCountdown(
533
+ entry.resetTimeIso,
534
+ isResetTimeDecimals(bar.resetTimeDecimals)
535
+ ? { compactRounded: true, decimals: bar.resetTimeDecimals }
536
+ : { spaced: bar.resetTimeSpaced },
537
+ )
538
+ : "";
539
+ const runway = formatQuotaRunway(entry.runway);
540
+
541
+ const hasPercent = Number.isFinite(entry.percentRemaining);
542
+ if (entry.semanticSegment && !hasPercent) {
543
+ return { label: entry.semanticSegment, barText: "", meta: reset };
544
+ }
545
+
518
546
  const windowLabel =
547
+ entry.semanticSegment ??
519
548
  extractSingleWindowWindowLabel(entry.label ?? "") ??
520
549
  extractSingleWindowWindowLabel(entry.name ?? "") ??
521
550
  "Quota";
522
551
  const percent = formatDisplayedPercentLabel(
523
552
  entry.percentRemaining ?? 0,
524
553
  bar.percentDisplayMode ?? "remaining",
554
+ "bare",
555
+ );
556
+ const p = Math.min(
557
+ 100,
558
+ resolveDisplayedPercent(entry.percentRemaining ?? 0, bar.percentDisplayMode ?? "remaining"),
525
559
  );
526
- const reset = entry.resetTimeIso
527
- ? formatResetCountdown(entry.resetTimeIso, {
528
- compactRounded: true,
529
- decimals: bar.resetTimeDecimals,
530
- })
531
- : "";
532
- const p = Math.max(0, Math.min(100, Math.round(entry.percentRemaining ?? 0)));
533
560
  const filled = Math.round((p / 100) * PROMPT_BAR_WIDTH);
534
561
  const empty = PROMPT_BAR_WIDTH - filled;
535
562
  let barText = "█".repeat(filled) + "░".repeat(empty);
@@ -546,7 +573,9 @@ function buildPromptBarParts(params: {
546
573
  return {
547
574
  label: windowLabel,
548
575
  barText,
549
- meta: [percent.replace(/\s+left$/u, ""), reset].filter(Boolean).join(" | "),
576
+ meta: entry.semanticSegment
577
+ ? [reset, runway ? `r/o ${runway}` : ""].filter(Boolean).join(" | ")
578
+ : [percent, reset, runway ? `r/o ${runway}` : ""].filter(Boolean).join(" | "),
550
579
  };
551
580
  }
552
581
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slkiser/opencode-quota",
3
- "version": "4.8.2",
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",