@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
@@ -1,19 +1,65 @@
1
1
  /**
2
2
  * NanoGPT provider wrapper.
3
3
  */
4
- import { fmtUsdAmount } from "../lib/format-utils.js";
5
- import { formatNanoGptBalanceValue, getNanoGptKeyDiagnostics, hasNanoGptApiKeyConfigured, queryNanoGptQuota, } from "../lib/nanogpt.js";
4
+ import { getNanoGptKeyDiagnostics, hasNanoGptApiKeyConfigured, queryNanoGptQuota, } from "../lib/nanogpt.js";
6
5
  import { modelProviderMatchesRuntimeId } from "../lib/provider-model-matching.js";
7
6
  import { attemptedResult, mapNullableProviderResult, simpleApiKeyStatusDetails, statusDetailsFromRecord, withStatusDetails, } from "./result-helpers.js";
8
- function formatUsageAmount(value) {
7
+ const REQUEST_UNIT = { kind: "count", unit: "request" };
8
+ const USD_UNIT = { kind: "currency", code: "USD" };
9
+ const NANO_UNIT = { kind: "custom", symbol: "NANO" };
10
+ function canonicalNumberDecimal(value) {
9
11
  if (!Number.isFinite(value))
12
+ throw new TypeError("NanoGPT usage value must be finite");
13
+ if (Object.is(value, -0))
10
14
  return "0";
11
- if (Number.isInteger(value))
12
- return String(Math.trunc(value));
13
- return value.toFixed(2).replace(/\.?0+$/, "");
15
+ const raw = String(value);
16
+ if (!/[eE]/u.test(raw))
17
+ return raw;
18
+ const match = /^(-?)(\d+)(?:\.(\d+))?[eE]([+-]?\d+)$/u.exec(raw);
19
+ if (!match)
20
+ throw new TypeError("NanoGPT usage value must be decimal-compatible");
21
+ const [, sign, integer, fraction = "", exponentRaw] = match;
22
+ const digits = `${integer}${fraction}`;
23
+ const decimalIndex = integer.length + Number(exponentRaw);
24
+ if (decimalIndex <= 0)
25
+ return `${sign}0.${"0".repeat(-decimalIndex)}${digits}`;
26
+ if (decimalIndex >= digits.length) {
27
+ return `${sign}${digits}${"0".repeat(decimalIndex - digits.length)}`;
28
+ }
29
+ return `${sign}${digits.slice(0, decimalIndex)}.${digits.slice(decimalIndex)}`;
30
+ }
31
+ function quotaBasis(window) {
32
+ const basis = {};
33
+ for (const key of ["used", "limit", "remaining"]) {
34
+ const value = window.reportedBasis[key];
35
+ if (value === undefined)
36
+ continue;
37
+ basis[key] = {
38
+ quantity: { decimal: canonicalNumberDecimal(value), unit: REQUEST_UNIT },
39
+ authority: "provider_reported",
40
+ };
41
+ }
42
+ return basis.used || basis.limit || basis.remaining ? basis : undefined;
14
43
  }
15
- function formatUsageRight(window) {
16
- return `${formatUsageAmount(window.used)}/${formatUsageAmount(window.limit)}`;
44
+ function pushQuotaEntry(entries, window, accountingWindow) {
45
+ const basis = quotaBasis(window);
46
+ entries.push({
47
+ accounting: {
48
+ resultType: "quota",
49
+ acquisitionMethod: "remote_api",
50
+ ownership: "maintained",
51
+ authority: "provider_reported",
52
+ },
53
+ name: `nanogpt-${accountingWindow}-quota`,
54
+ group: "NanoGPT",
55
+ percentRemaining: window.percentRemaining,
56
+ resetTimeIso: window.resetTimeIso,
57
+ semantic: {
58
+ metric: { kind: "window", window: accountingWindow },
59
+ prominence: "primary",
60
+ },
61
+ ...(basis ? { basis } : {}),
62
+ });
17
63
  }
18
64
  function mapNanoGptSuccess(result) {
19
65
  const entries = [];
@@ -22,52 +68,29 @@ function mapNanoGptSuccess(result) {
22
68
  message: entry.message,
23
69
  })) ?? [];
24
70
  const subscription = result.subscription;
25
- if (subscription?.daily) {
26
- entries.push({
27
- accounting: {
28
- resultType: "quota",
29
- acquisitionMethod: "remote_api",
30
- ownership: "maintained",
31
- authority: "provider_reported",
32
- },
33
- name: "NanoGPT Daily",
34
- group: "NanoGPT",
35
- label: "Daily:",
36
- right: formatUsageRight(subscription.daily),
37
- percentRemaining: subscription.daily.percentRemaining,
38
- resetTimeIso: subscription.daily.resetTimeIso,
39
- });
40
- }
41
- if (subscription?.monthly) {
71
+ if (subscription?.daily)
72
+ pushQuotaEntry(entries, subscription.daily, "day");
73
+ if (subscription?.monthly)
74
+ pushQuotaEntry(entries, subscription.monthly, "month");
75
+ const balance = result.balance;
76
+ if (balance?.usdBalanceRaw || balance?.nanoBalanceRaw) {
42
77
  entries.push({
43
- accounting: {
44
- resultType: "quota",
45
- acquisitionMethod: "remote_api",
46
- ownership: "maintained",
47
- authority: "provider_reported",
48
- },
49
- name: "NanoGPT Monthly",
50
- group: "NanoGPT",
51
- label: "Monthly:",
52
- right: formatUsageRight(subscription.monthly),
53
- percentRemaining: subscription.monthly.percentRemaining,
54
- resetTimeIso: subscription.monthly.resetTimeIso,
55
- });
56
- }
57
- const balanceValue = result.balance ? formatNanoGptBalanceValue(result.balance) : null;
58
- if (balanceValue) {
59
- entries.push({
60
- kind: "value",
78
+ kind: "quantity",
61
79
  accounting: {
62
80
  resultType: "balance",
63
81
  acquisitionMethod: "remote_api",
64
82
  ownership: "maintained",
65
83
  authority: "provider_reported",
66
84
  },
67
- name: "NanoGPT Balance",
85
+ name: "nanogpt-current-balance",
68
86
  group: "NanoGPT",
69
- label: "Balance:",
70
- value: balanceValue,
87
+ semantic: {
88
+ metric: { kind: "component", component: "current_balance" },
89
+ prominence: "primary",
90
+ },
91
+ quantity: balance.usdBalanceRaw
92
+ ? { decimal: balance.usdBalanceRaw, unit: USD_UNIT }
93
+ : { decimal: balance.nanoBalanceRaw, unit: NANO_UNIT },
71
94
  });
72
95
  }
73
96
  if (subscription?.state && subscription.state.toLowerCase() !== "active") {
@@ -83,7 +106,7 @@ function mapNanoGptSuccess(result) {
83
106
  });
84
107
  }
85
108
  const formatSubscriptionUsage = (usage) => usage
86
- ? `${formatUsageAmount(usage.used)}/${formatUsageAmount(usage.limit)} remaining=${formatUsageAmount(usage.remaining)} percent_remaining=${usage.percentRemaining} reset_at=${usage.resetTimeIso ?? "(none)"}`
109
+ ? `${canonicalNumberDecimal(usage.used)}/${canonicalNumberDecimal(usage.limit)} remaining=${canonicalNumberDecimal(usage.remaining)} percent_remaining=${usage.percentRemaining} reset_at=${usage.resetTimeIso ?? "(none)"}`
87
110
  : undefined;
88
111
  const statusDetails = [
89
112
  ...statusDetailsFromRecord({
@@ -98,10 +121,8 @@ function mapNanoGptSuccess(result) {
98
121
  monthly_usage: formatSubscriptionUsage(subscription?.monthly),
99
122
  billing_period_end: subscription ? (subscription.currentPeriodEndIso ?? "(none)") : undefined,
100
123
  grace_until: subscription?.graceUntilIso,
101
- balance_usd: typeof result.balance?.usdBalance === "number"
102
- ? fmtUsdAmount(result.balance.usdBalance)
103
- : "(none)",
104
- balance_nano: result.balance?.nanoBalanceRaw ?? "(none)",
124
+ balance_usd: balance?.usdBalanceRaw ?? "(none)",
125
+ balance_nano: balance?.nanoBalanceRaw ?? "(none)",
105
126
  }),
106
127
  ...(result.endpointErrors ?? []).map((endpointError) => ({
107
128
  key: `live_error_${endpointError.endpoint}`,
@@ -1 +1 @@
1
- {"version":3,"file":"nanogpt.js","sourceRoot":"","sources":["../../src/providers/nanogpt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nanogpt.js","sourceRoot":"","sources":["../../src/providers/nanogpt.ts"],"names":[],"mappings":"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"}
@@ -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 type { QuotaProvider } from "../lib/entries.js";
8
7
  export declare const ollamaCloudProvider: QuotaProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"ollama-cloud.d.ts","sourceRoot":"","sources":["../../src/providers/ollama-cloud.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AA8F3B,eAAO,MAAM,mBAAmB,EAAE,aA+BjC,CAAC"}
1
+ {"version":3,"file":"ollama-cloud.d.ts","sourceRoot":"","sources":["../../src/providers/ollama-cloud.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AA0E3B,eAAO,MAAM,mBAAmB,EAAE,aA+BjC,CAAC"}
@@ -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 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAA6C,MAAM,mBAAmB,CAAC;AAkBlG,eAAO,MAAM,cAAc,EAAE,aAoE5B,CAAC"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAA6C,MAAM,mBAAmB,CAAC;AAkBlG,eAAO,MAAM,cAAc,EAAE,aAkE5B,CAAC"}
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * OpenAI (Plus/Pro) provider wrapper.
3
3
  */
4
- import { sanitizeDisplayText } from "../lib/display-sanitize.js";
5
4
  import { DEFAULT_OPENAI_AUTH_CACHE_MAX_AGE_MS, hasOpenAIOAuthCached, queryOpenAIQuota, resolveOpenAIOAuth, } from "../lib/openai.js";
6
5
  import { readAuthFileCached } from "../lib/opencode-auth.js";
7
6
  import { isCanonicalProviderAvailable } from "../lib/provider-availability.js";
@@ -58,8 +57,6 @@ export const openaiProvider = {
58
57
  ? "expired"
59
58
  : "valid",
60
59
  token_expires_at: expiresAt ? new Date(expiresAt).toISOString() : "(none)",
61
- account_email: configured && auth.email ? sanitizeDisplayText(auth.email) : "(none)",
62
- account_id: configured && auth.accountId ? sanitizeDisplayText(auth.accountId) : "(none)",
63
60
  }));
64
61
  },
65
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.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,aA+DhC,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,19 +76,37 @@ 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) {
79
- return withStatusDetails(attemptedErrorResult(OPENCODE_GO_PROVIDER_LABEL, result.error), [
80
- ...statusDetails,
81
- { key: "live_fetch_error", value: result.error },
82
- ]);
100
+ if (result.notSubscribed === true) {
101
+ notSubscribedCredentialFingerprint = credentialFingerprint;
102
+ return withStatusDetails(attemptedResult([]), [
103
+ ...statusDetails,
104
+ { key: "opencode_go_state", value: "not_subscribed" },
105
+ ]);
106
+ }
107
+ return withStatusDetails(attemptedErrorResult(OPENCODE_GO_PROVIDER_LABEL, result.error, {
108
+ retryable: result.retryable,
109
+ }), [...statusDetails, { key: "live_fetch_error", value: result.error }]);
83
110
  }
84
111
  const liveDetails = OPENCODE_GO_WINDOW_ORDER.map((window) => {
85
112
  const usage = result[window];
@@ -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":"opencode-zen.d.ts","sourceRoot":"","sources":["../../src/providers/opencode-zen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAkC3B,eAAO,MAAM,mBAAmB,EAAE,aAkHjC,CAAC"}
1
+ {"version":3,"file":"opencode-zen.d.ts","sourceRoot":"","sources":["../../src/providers/opencode-zen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EAId,MAAM,mBAAmB,CAAC;AA8C3B,eAAO,MAAM,mBAAmB,EAAE,aAiKjC,CAAC"}
@@ -17,6 +17,17 @@ const OPENCODE_ZEN_BUDGET_ACCOUNTING = {
17
17
  ownership: "maintained",
18
18
  authority: "locally_derived",
19
19
  };
20
+ const OPENCODE_ZEN_STATUS_ACCOUNTING = {
21
+ resultType: "status",
22
+ acquisitionMethod: "dashboard_scrape",
23
+ ownership: "maintained",
24
+ authority: "provider_reported",
25
+ };
26
+ const USD_UNIT = { kind: "currency", code: "USD" };
27
+ function zenUsdDecimal(value) {
28
+ const fixed = value.toFixed(8);
29
+ return fixed.replace(/0+$/u, "").replace(/\.$/u, "");
30
+ }
20
31
  export const opencodeZenProvider = {
21
32
  id: "opencode",
22
33
  async isAvailable(_ctx) {
@@ -63,35 +74,85 @@ export const opencodeZenProvider = {
63
74
  const monthlyUsageUsd = result.data.monthlyUsage === null
64
75
  ? null
65
76
  : result.data.monthlyUsage / OPENCODE_ZEN_BILLING_UNITS_PER_DOLLAR;
66
- const entry = effectiveMonthlyLimit !== null &&
77
+ const hasMonthlyBudget = effectiveMonthlyLimit !== null &&
67
78
  Number.isFinite(effectiveMonthlyLimit) &&
68
79
  effectiveMonthlyLimit > 0 &&
69
80
  monthlyUsageUsd !== null &&
70
81
  Number.isFinite(monthlyUsageUsd) &&
71
- monthlyUsageUsd >= 0
72
- ? {
82
+ monthlyUsageUsd >= 0;
83
+ const entries = [];
84
+ if (hasMonthlyBudget) {
85
+ const monthlyRemainingUsd = Math.max(0, effectiveMonthlyLimit - monthlyUsageUsd);
86
+ entries.push({
73
87
  accounting: OPENCODE_ZEN_BUDGET_ACCOUNTING,
74
- name: "",
88
+ name: "zen-monthly-budget",
75
89
  group: OPENCODE_ZEN_GROUP,
76
- percentRemaining: Math.min(100, Math.max(0, ((effectiveMonthlyLimit - monthlyUsageUsd) / effectiveMonthlyLimit) * 100)),
77
- }
78
- : {
79
- accounting: OPENCODE_ZEN_BALANCE_ACCOUNTING,
80
- kind: "value",
81
- name: "",
82
- group: OPENCODE_ZEN_GROUP,
83
- value: `$${balanceUsd.toFixed(2)}`,
84
- };
85
- return withStatusDetails(attemptedResult([entry]), [
90
+ percentRemaining: Math.min(100, (monthlyRemainingUsd / effectiveMonthlyLimit) * 100),
91
+ semantic: {
92
+ metric: { kind: "window", window: "month" },
93
+ prominence: "primary",
94
+ },
95
+ basis: {
96
+ used: {
97
+ quantity: { decimal: zenUsdDecimal(monthlyUsageUsd), unit: USD_UNIT },
98
+ authority: "provider_reported",
99
+ },
100
+ limit: {
101
+ quantity: { decimal: zenUsdDecimal(effectiveMonthlyLimit), unit: USD_UNIT },
102
+ authority: configuredMonthlyLimit === undefined ? "provider_reported" : "user_configured",
103
+ },
104
+ remaining: {
105
+ quantity: { decimal: zenUsdDecimal(monthlyRemainingUsd), unit: USD_UNIT },
106
+ authority: "locally_derived",
107
+ },
108
+ },
109
+ });
110
+ }
111
+ entries.push({
112
+ accounting: OPENCODE_ZEN_BALANCE_ACCOUNTING,
113
+ kind: "quantity",
114
+ name: "zen-current-balance",
115
+ group: OPENCODE_ZEN_GROUP,
116
+ semantic: {
117
+ metric: { kind: "component", component: "current_balance" },
118
+ prominence: hasMonthlyBudget ? "supplementary" : "primary",
119
+ },
120
+ quantity: { decimal: zenUsdDecimal(balanceUsd), unit: USD_UNIT },
121
+ });
122
+ entries.push({
123
+ accounting: OPENCODE_ZEN_STATUS_ACCOUNTING,
124
+ kind: "boolean",
125
+ name: "zen-auto-reload",
126
+ group: OPENCODE_ZEN_GROUP,
127
+ semantic: {
128
+ metric: { kind: "component", component: "auto_reload" },
129
+ prominence: "supplementary",
130
+ },
131
+ value: result.data.reload,
132
+ });
133
+ return withStatusDetails(attemptedResult(entries), [
86
134
  ...statusDetails,
87
- { key: "balance_usd", value: `$${balanceUsd.toFixed(2)}` },
135
+ { key: "balance_usd", value: `USD ${zenUsdDecimal(balanceUsd)}` },
88
136
  {
89
137
  key: "monthly_limit_usd",
90
- value: result.data.monthlyLimit === null ? "(none)" : `$${result.data.monthlyLimit.toFixed(2)}`,
138
+ value: result.data.monthlyLimit === null
139
+ ? "(none)"
140
+ : `USD ${zenUsdDecimal(result.data.monthlyLimit)}`,
91
141
  },
92
142
  {
93
143
  key: "last_payment_usd",
94
- value: result.data.lastPayment === null ? "(none)" : `$${result.data.lastPayment.toFixed(2)}`,
144
+ value: result.data.lastPayment === null
145
+ ? "(none)"
146
+ : `USD ${zenUsdDecimal(result.data.lastPayment)}`,
147
+ },
148
+ { key: "auto_reload", value: result.data.reload ? "true" : "false" },
149
+ {
150
+ key: "auto_reload_amount_raw",
151
+ value: result.data.reloadAmount === null ? "(none)" : String(result.data.reloadAmount),
152
+ },
153
+ {
154
+ key: "auto_reload_trigger_raw",
155
+ value: result.data.reloadTrigger === null ? "(none)" : String(result.data.reloadTrigger),
95
156
  },
96
157
  ]);
97
158
  },
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-zen.js","sourceRoot":"","sources":["../../src/providers/opencode-zen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-zen.js","sourceRoot":"","sources":["../../src/providers/opencode-zen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAQjE,OAAO,EACL,qCAAqC,EACrC,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,4CAA4C,EAC5C,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAC3C,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAC1C,MAAM,+BAA+B,GAAuB;IAC1D,UAAU,EAAE,SAAS;IACrB,iBAAiB,EAAE,kBAAkB;IACrC,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,mBAAmB;CAC/B,CAAC;AACF,MAAM,8BAA8B,GAAuB;IACzD,UAAU,EAAE,QAAQ;IACpB,iBAAiB,EAAE,kBAAkB;IACrC,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,iBAAiB;CAC7B,CAAC;AACF,MAAM,8BAA8B,GAAuB;IACzD,UAAU,EAAE,QAAQ;IACpB,iBAAiB,EAAE,kBAAkB;IACrC,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,mBAAmB;CAC/B,CAAC;AACF,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAW,CAAC;AAE5D,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,EAAE,EAAE,UAAU;IAEd,KAAK,CAAC,WAAW,CAAC,IAA0B;QAC1C,MAAM,MAAM,GAAG,MAAM,8BAA8B,CAAC;YAClD,QAAQ,EAAE,4CAA4C;SACvD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,KAAK,YAAY,CAAC;IACvC,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC/B,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,wBAAwB,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAyB;QACnC,MAAM,WAAW,GAAG,MAAM,+BAA+B,EAAE,CAAC;QAC5D,MAAM,aAAa,GAAG,mBAAmB,CAAC;YACxC,GAAG,WAAW;YACd,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9E,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,8BAA8B,CAAC;YAClD,QAAQ,EAAE,4CAA4C;SACvD,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,iBAAiB,CAAC,kBAAkB,EAAE,EAAE,aAAa,CAAC,CAAC;QAE3F,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YAClC,OAAO,iBAAiB,CACtB,oBAAoB,CAClB,uBAAuB,EACvB,WAAW,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,MAAM,GAAG,CACvD,EACD,aAAa,CACd,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,iBAAiB,CACtB,oBAAoB,CAClB,uBAAuB,EACvB,mBAAmB,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,KAAK,EAAE,CACrD,EACD,aAAa,CACd,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CACxC,MAAM,CAAC,MAAM,CAAC,WAAW,EACzB,MAAM,CAAC,MAAM,CAAC,UAAU,EACxB;YACE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,0BAA0B;gBACtD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB;gBAC7B,CAAC,CAAC,SAAS;SACd,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,iBAAiB,CAAC,oBAAoB,CAAC,uBAAuB,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACpF,GAAG,aAAa;gBAChB,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;aACjD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,qCAAqC,CAAC;QAC/E,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC;QAChE,MAAM,qBAAqB,GAAG,sBAAsB,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QACjF,MAAM,eAAe,GACnB,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI;YAC/B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,qCAAqC,CAAC;QAEvE,MAAM,gBAAgB,GACpB,qBAAqB,KAAK,IAAI;YAC9B,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACtC,qBAAqB,GAAG,CAAC;YACzB,eAAe,KAAK,IAAI;YACxB,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;YAChC,eAAe,IAAI,CAAC,CAAC;QACvB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,qBAAqB,GAAG,eAAe,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC;gBACX,UAAU,EAAE,8BAA8B;gBAC1C,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,kBAAkB;gBACzB,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;gBACpF,QAAQ,EAAE;oBACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;oBAC3C,UAAU,EAAE,SAAS;iBACtB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE;wBACJ,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACrE,SAAS,EAAE,mBAAmB;qBAC/B;oBACD,KAAK,EAAE;wBACL,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC3E,SAAS,EACP,sBAAsB,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB;qBACjF;oBACD,SAAS,EAAE;wBACT,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzE,SAAS,EAAE,iBAAiB;qBAC7B;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACX,UAAU,EAAE,+BAA+B;YAC3C,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE;gBACR,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE;gBAC3D,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;aAC3D;YACD,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;SACjE,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC;YACX,UAAU,EAAE,8BAA8B;YAC1C,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE;gBACR,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE;gBACvD,UAAU,EAAE,eAAe;aAC5B;YACD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,OAAO,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;YACjD,GAAG,aAAa;YAChB,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,aAAa,CAAC,UAAU,CAAC,EAAE,EAAE;YACjE;gBACE,GAAG,EAAE,mBAAmB;gBACxB,KAAK,EACH,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI;oBAC/B,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;aACvD;YACD;gBACE,GAAG,EAAE,kBAAkB;gBACvB,KAAK,EACH,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI;oBAC9B,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;aACtD;YACD,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE;YACpE;gBACE,GAAG,EAAE,wBAAwB;gBAC7B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;aACvF;YACD;gBACE,GAAG,EAAE,yBAAyB;gBAC9B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;aACzF;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"quota-providers.d.ts","sourceRoot":"","sources":["../../src/providers/quota-providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAKd,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAIL,sCAAsC,EACvC,MAAM,2BAA2B,CAAC;AAYnC,eAAO,MAAM,2BAA2B,oBAA+B,CAAC;AACxE,eAAO,MAAM,4BAA4B,+CAAyC,CAAC;AAsOnF,eAAO,MAAM,sBAAsB,EAAE,aAsFpC,CAAC"}
1
+ {"version":3,"file":"quota-providers.d.ts","sourceRoot":"","sources":["../../src/providers/quota-providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAKd,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAIL,sCAAsC,EACvC,MAAM,2BAA2B,CAAC;AAanC,eAAO,MAAM,2BAA2B,oBAA+B,CAAC;AACxE,eAAO,MAAM,4BAA4B,+CAAyC,CAAC;AA0OnF,eAAO,MAAM,sBAAsB,EAAE,aAyFpC,CAAC"}