@slkiser/opencode-quota 3.1.4 → 3.2.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 (88) hide show
  1. package/README.md +11 -9
  2. package/dist/lib/cache.d.ts +17 -27
  3. package/dist/lib/cache.d.ts.map +1 -1
  4. package/dist/lib/cache.js +62 -65
  5. package/dist/lib/cache.js.map +1 -1
  6. package/dist/lib/config.d.ts.map +1 -1
  7. package/dist/lib/config.js +24 -8
  8. package/dist/lib/config.js.map +1 -1
  9. package/dist/lib/entries.d.ts +5 -1
  10. package/dist/lib/entries.d.ts.map +1 -1
  11. package/dist/lib/format.d.ts +2 -1
  12. package/dist/lib/format.d.ts.map +1 -1
  13. package/dist/lib/format.js +8 -4
  14. package/dist/lib/format.js.map +1 -1
  15. package/dist/lib/init-installer.d.ts +2 -1
  16. package/dist/lib/init-installer.d.ts.map +1 -1
  17. package/dist/lib/init-installer.js +10 -6
  18. package/dist/lib/init-installer.js.map +1 -1
  19. package/dist/lib/provider-metadata.d.ts +1 -0
  20. package/dist/lib/provider-metadata.d.ts.map +1 -1
  21. package/dist/lib/provider-metadata.js +8 -0
  22. package/dist/lib/provider-metadata.js.map +1 -1
  23. package/dist/lib/quota-format-style.d.ts +21 -0
  24. package/dist/lib/quota-format-style.d.ts.map +1 -0
  25. package/dist/lib/quota-format-style.js +38 -0
  26. package/dist/lib/quota-format-style.js.map +1 -0
  27. package/dist/lib/quota-render-data.d.ts +2 -12
  28. package/dist/lib/quota-render-data.d.ts.map +1 -1
  29. package/dist/lib/quota-render-data.js +81 -70
  30. package/dist/lib/quota-render-data.js.map +1 -1
  31. package/dist/lib/quota-state.d.ts +21 -0
  32. package/dist/lib/quota-state.d.ts.map +1 -0
  33. package/dist/lib/quota-state.js +228 -0
  34. package/dist/lib/quota-state.js.map +1 -0
  35. package/dist/lib/tui-runtime.d.ts +1 -2
  36. package/dist/lib/tui-runtime.d.ts.map +1 -1
  37. package/dist/lib/tui-runtime.js +0 -1
  38. package/dist/lib/tui-runtime.js.map +1 -1
  39. package/dist/lib/tui-sidebar-format.d.ts.map +1 -1
  40. package/dist/lib/tui-sidebar-format.js +2 -10
  41. package/dist/lib/tui-sidebar-format.js.map +1 -1
  42. package/dist/lib/types.d.ts +14 -3
  43. package/dist/lib/types.d.ts.map +1 -1
  44. package/dist/lib/types.js +2 -1
  45. package/dist/lib/types.js.map +1 -1
  46. package/dist/plugin.d.ts.map +1 -1
  47. package/dist/plugin.js +59 -113
  48. package/dist/plugin.js.map +1 -1
  49. package/dist/providers/alibaba-coding-plan.d.ts.map +1 -1
  50. package/dist/providers/alibaba-coding-plan.js +0 -16
  51. package/dist/providers/alibaba-coding-plan.js.map +1 -1
  52. package/dist/providers/anthropic.d.ts.map +1 -1
  53. package/dist/providers/anthropic.js +15 -29
  54. package/dist/providers/anthropic.js.map +1 -1
  55. package/dist/providers/copilot.d.ts.map +1 -1
  56. package/dist/providers/copilot.js +27 -53
  57. package/dist/providers/copilot.js.map +1 -1
  58. package/dist/providers/cursor.d.ts.map +1 -1
  59. package/dist/providers/cursor.js +37 -78
  60. package/dist/providers/cursor.js.map +1 -1
  61. package/dist/providers/kimi-code.d.ts.map +1 -1
  62. package/dist/providers/kimi-code.js +3 -15
  63. package/dist/providers/kimi-code.js.map +1 -1
  64. package/dist/providers/minimax-coding-plan.d.ts.map +1 -1
  65. package/dist/providers/minimax-coding-plan.js +1 -15
  66. package/dist/providers/minimax-coding-plan.js.map +1 -1
  67. package/dist/providers/nanogpt.d.ts.map +1 -1
  68. package/dist/providers/nanogpt.js +23 -42
  69. package/dist/providers/nanogpt.js.map +1 -1
  70. package/dist/providers/openai.d.ts.map +1 -1
  71. package/dist/providers/openai.js +6 -23
  72. package/dist/providers/openai.js.map +1 -1
  73. package/dist/providers/qwen-code.d.ts.map +1 -1
  74. package/dist/providers/qwen-code.js +7 -23
  75. package/dist/providers/qwen-code.js.map +1 -1
  76. package/dist/providers/result-helpers.d.ts +2 -2
  77. package/dist/providers/result-helpers.d.ts.map +1 -1
  78. package/dist/providers/result-helpers.js +7 -2
  79. package/dist/providers/result-helpers.js.map +1 -1
  80. package/dist/providers/synthetic.d.ts.map +1 -1
  81. package/dist/providers/synthetic.js +5 -14
  82. package/dist/providers/synthetic.js.map +1 -1
  83. package/dist/providers/zai.d.ts.map +1 -1
  84. package/dist/providers/zai.js +6 -28
  85. package/dist/providers/zai.js.map +1 -1
  86. package/dist/tui.d.ts.map +1 -1
  87. package/dist/tui.tsx +1 -15
  88. package/package.json +1 -1
package/README.md CHANGED
@@ -67,7 +67,7 @@ The installer (append-only, preserves existing values) asks for:
67
67
  - **Scope**: `Project` or `Global`
68
68
  - **Quota UI**: `Toast`, `Sidebar`, `Toast + Sidebar`, or `None (manual /quota and /tokens_* only)`
69
69
  - **Provider mode**: `Auto-detect` or `Manual select`
70
- - **Layout style**: `classic` or `grouped`
70
+ - **Quota display style**: `Single window` (show the most constrained quota window for each provider) or `All windows`
71
71
  - **Percent display (toast/sidebar only)**: `remaining` or `used`
72
72
  - **Show session input/output tokens**: `Yes` or `No`
73
73
 
@@ -141,13 +141,13 @@ Keep the `tui.json` or `tui.jsonc` entry above and disable toasts in `opencode.j
141
141
  </details>
142
142
 
143
143
  <details>
144
- <summary><strong>Example: Grouped quota layout instead of the default classic layout</strong></summary>
144
+ <summary><strong>Example: Show all quota windows instead of the default single-window layout</strong></summary>
145
145
 
146
146
  ```jsonc
147
147
  {
148
148
  "experimental": {
149
149
  "quotaToast": {
150
- "formatStyle": "grouped",
150
+ "formatStyle": "allWindows",
151
151
  },
152
152
  },
153
153
  }
@@ -318,8 +318,8 @@ Environment variables take precedence over the config file. Run `/quota_status`
318
318
 
319
319
  | Command | What it shows |
320
320
  | --------------------- | ---------------------------------------------------------------------------------------------------------------- |
321
- | `/quota` | Manual grouped quota report with a local call timestamp |
322
- | `/quota_status` | Concise diagnostics for config, TUI setup, provider availability, account detection, pricing snapshot health, and fresh compact live probe rows in matching provider sections |
321
+ | `/quota` | Manual detailed all-window quota report with a local call timestamp |
322
+ | `/quota_status` | Concise diagnostics for config, TUI setup, provider availability, account detection, pricing snapshot health, and fresh compact single-window live probe rows in matching provider sections |
323
323
  | `/pricing_refresh` | Pull the local runtime pricing snapshot from `models.dev` on demand |
324
324
  | `/tokens_today` | Tokens used today (calendar day) |
325
325
  | `/tokens_daily` | Tokens used in the last 24 hours |
@@ -542,7 +542,7 @@ For security, provider secrets are read from `SYNTHETIC_API_KEY`, your user/glob
542
542
  - It uses only the current top-level Synthetic payload sections: `rollingFiveHourLimit` (`max`, `remaining`, `nextTickAt`) and `weeklyTokenLimit` (`maxCredits`, `remainingCredits`, `percentRemaining`, `nextRegenAt`).
543
543
  - `weeklyTokenLimit.maxCredits` and `weeklyTokenLimit.remainingCredits` are parsed from the real Synthetic dollar-string format (for example `$24.00` and `$2.02`). Legacy `subscription.limit`, `subscription.requests`, and `subscription.renewsAt` are ignored.
544
544
  - Missing or malformed top-level windows are treated as API-shape errors. Invalid reset timestamps are ignored. Weekly `percentRemaining` uses `weeklyTokenLimit.percentRemaining` when valid and otherwise falls back to deterministic derivation from the parsed credit amounts.
545
- - `/quota`, toasts, and the sidebar surface both Synthetic windows: `Synthetic 5h` / `Synthetic Weekly` in classic mode, or grouped `5h:` / `Weekly:` rows under `Synthetic`.
545
+ - `/quota` always shows both Synthetic windows (`5h:` and `Weekly:` rows under `Synthetic`). Toast/sidebar in `singleWindow` mode collapse to the most constrained Synthetic row; `allWindows` mode shows both rows.
546
546
  - Compact summaries still round displayed `used` values, and the weekly row keeps dollar semantics (for example `$22/$24`) instead of showing long floats.
547
547
  - `/quota_status` keeps the existing Synthetic API-key diagnostics and adds a compact sanitized live probe summary from those same Synthetic rows when Synthetic is enabled and detected/available.
548
548
  - Allowed env templates are limited to `{env:SYNTHETIC_API_KEY}`.
@@ -610,7 +610,7 @@ See [Google Antigravity quick setup](#google-antigravity-quick-setup). This comp
610
610
  <details>
611
611
  <summary><strong>NanoGPT</strong></summary>
612
612
 
613
- NanoGPT uses live NanoGPT subscription usage and balance endpoints, so `/quota`, grouped/classic toasts, and `/quota_status` can show daily quota, monthly quota, and account balance in real time.
613
+ NanoGPT uses live NanoGPT subscription usage and balance endpoints, so `/quota`, both quota display styles (`singleWindow` and `allWindows`), and `/quota_status` can show daily quota, monthly quota, and account balance in real time.
614
614
 
615
615
  - Canonical provider id is `nanogpt`. Alias `nano-gpt` also normalizes in `enabledProviders`.
616
616
  - Optional API key: `provider.nanogpt.options.apiKey` or `provider["nano-gpt"].options.apiKey`.
@@ -674,15 +674,17 @@ Project/workspace config may override display-oriented settings for that project
674
674
  | `enabled` | `true` | Master switch for quota collection and handled slash commands. When `false`, `/quota`, `/quota_status`, `/pricing_refresh`, and `/tokens_*` are handled as no-ops. |
675
675
  | `enabledProviders` | `"auto"` | Auto-detect providers, or set an explicit provider list. |
676
676
  | `minIntervalMs` | `300000` | Minimum fetch interval between provider updates. |
677
- | `formatStyle` | `classic` | Shared quota-row style for popup toasts and the TUI sidebar: `classic` or `grouped`. Legacy `toastStyle` is still accepted on read for backward compatibility, but `formatStyle` is the canonical key. |
677
+ | `formatStyle` | `singleWindow` | Shared quota-row style for popup toasts and the TUI sidebar: `singleWindow` (single window) or `allWindows` (all windows). Legacy `classic`/`grouped` aliases still work, and legacy `toastStyle` is still accepted on read for backward compatibility. |
678
678
  | `percentDisplayMode` | `remaining` | Shared percent meaning for popup toasts and the TUI sidebar: `remaining` renders labels like `81% left`, while `used` renders labels like `19% used`; the bar fill always matches the shown meaning. |
679
679
  | `onlyCurrentModel` | `false` | Filter quota rows to the current model/provider when that session selection can be resolved. |
680
- | `showSessionTokens` | `true` | Show the `Session input/output tokens` section in quota displays when session token data is available. Toasts and `/quota` show per-model input/output rows; the TUI sidebar shows a one-line total summary. |
680
+ | `showSessionTokens` | `true` | Show the `Session input/output tokens` section in quota displays when session token data is available. `allWindows` shows per-model rows on toast + sidebar, `singleWindow` shows a one-line total summary on both, and `/quota` keeps per-model rows. |
681
681
  | `pricingSnapshot.source` | `"auto"` | Token pricing snapshot selection for `/tokens_*`: `auto`, `bundled`, or `runtime`. |
682
682
  | `pricingSnapshot.autoRefresh` | `7` | Refresh stale local pricing data after this many days. |
683
683
 
684
684
  `percentDisplayMode` affects popup toasts and the TUI sidebar only. `/quota` keeps its existing remaining-oriented percentage output. Value-only rows such as spend or used/limit summaries are unchanged.
685
685
 
686
+ Compatibility note: newer installs write canonical `formatStyle` values (`singleWindow` or `allWindows`). Legacy aliases (`classic`, `grouped`) and legacy `toastStyle` still normalize on read. Older plugin versions may not recognize the camelCase values and can fall back to their own default style in mixed-version rollback scenarios.
687
+
686
688
  ### Toast settings
687
689
 
688
690
  | Option | Default | Meaning |
@@ -1,49 +1,39 @@
1
1
  /**
2
- * Cache and throttling system for quota fetching
2
+ * Keyed cache and throttling system for rendered quota toasts.
3
3
  *
4
- * Implements:
5
- * - Throttling: Only fetch if minIntervalMs has passed since last fetch
6
- * - Caching: Store last toast message for immediate display
7
- * - Deduplication: Use inFlightPromise to prevent concurrent fetches
4
+ * This is presentation-only throttling:
5
+ * - Each cache key stores the last rendered toast string for that surface/session context
6
+ * - Only fetch if minIntervalMs has passed since the last fetch for that key
7
+ * - Deduplicate concurrent fetches per key
8
8
  */
9
9
  /**
10
- * Get the cached toast message if still valid
11
- *
12
- * @param minIntervalMs - Minimum interval between fetches
13
- * @returns Cached message or null if stale/missing
10
+ * Get the cached toast message for a key if still valid.
14
11
  */
15
- export declare function getCachedToast(minIntervalMs: number): string | null;
12
+ export declare function getCachedToast(cacheKey: string, minIntervalMs: number): string | null;
16
13
  /**
17
- * Check if a new fetch should be initiated
18
- *
19
- * @param minIntervalMs - Minimum interval between fetches
20
- * @returns true if a fetch should be started
14
+ * Check if a new fetch should be initiated for a key.
21
15
  */
22
- export declare function shouldFetch(minIntervalMs: number): boolean;
16
+ export declare function shouldFetch(cacheKey: string, minIntervalMs: number): boolean;
23
17
  /**
24
- * Get or start a fetch operation with deduplication
25
- *
26
- * @param fetchFn - Function that performs the actual fetch
27
- * @param minIntervalMs - Minimum interval between fetches
28
- * @returns Promise resolving to toast message or null
18
+ * Get or start a fetch operation with keyed deduplication.
29
19
  */
30
- export declare function getOrFetch(fetchFn: () => Promise<string | null>, minIntervalMs: number): Promise<string | null>;
20
+ export declare function getOrFetch(cacheKey: string, fetchFn: () => Promise<string | null>, minIntervalMs: number): Promise<string | null>;
31
21
  /**
32
- * Get or start a fetch operation with deduplication and cache control.
22
+ * Get or start a fetch operation with keyed deduplication and cache control.
33
23
  *
34
24
  * This is useful when some results should be displayed but not cached
35
25
  * (e.g. transient "all providers failed" cases).
36
26
  */
37
- export declare function getOrFetchWithCacheControl(fetchFn: () => Promise<{
27
+ export declare function getOrFetchWithCacheControl(cacheKey: string, fetchFn: () => Promise<{
38
28
  message: string | null;
39
29
  cache?: boolean;
40
30
  }>, minIntervalMs: number): Promise<string | null>;
41
31
  /**
42
- * Clear the cache (for testing or reset)
32
+ * Clear one keyed entry, or the whole keyed cache if no key is provided.
43
33
  */
44
- export declare function clearCache(): void;
34
+ export declare function clearCache(cacheKey?: string): void;
45
35
  /**
46
- * Force update the cache with a new message
36
+ * Force update a keyed cache entry with a new message.
47
37
  */
48
- export declare function updateCache(message: string): void;
38
+ export declare function updateCache(cacheKey: string, message: string): void;
49
39
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcnE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACrC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,EACnE,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqDxB;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKjD"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA2BH;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcrF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAI5E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACrC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,EACnE,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgDxB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAOlD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAOnE"}
package/dist/lib/cache.js CHANGED
@@ -1,127 +1,124 @@
1
1
  /**
2
- * Cache and throttling system for quota fetching
2
+ * Keyed cache and throttling system for rendered quota toasts.
3
3
  *
4
- * Implements:
5
- * - Throttling: Only fetch if minIntervalMs has passed since last fetch
6
- * - Caching: Store last toast message for immediate display
7
- * - Deduplication: Use inFlightPromise to prevent concurrent fetches
4
+ * This is presentation-only throttling:
5
+ * - Each cache key stores the last rendered toast string for that surface/session context
6
+ * - Only fetch if minIntervalMs has passed since the last fetch for that key
7
+ * - Deduplicate concurrent fetches per key
8
8
  */
9
- /** Cached toast data */
10
- let cachedToast = null;
11
- /** In-flight promise for deduplication */
12
- let inFlightPromise = null;
13
- /** Timestamp of last fetch start */
14
- let lastFetchTime = 0;
9
+ const cacheEntries = new Map();
10
+ function getCacheEntry(cacheKey) {
11
+ const existing = cacheEntries.get(cacheKey);
12
+ if (existing) {
13
+ return existing;
14
+ }
15
+ const created = {
16
+ cachedToast: null,
17
+ inFlightPromise: null,
18
+ lastFetchTime: 0,
19
+ };
20
+ cacheEntries.set(cacheKey, created);
21
+ return created;
22
+ }
15
23
  /**
16
- * Get the cached toast message if still valid
17
- *
18
- * @param minIntervalMs - Minimum interval between fetches
19
- * @returns Cached message or null if stale/missing
24
+ * Get the cached toast message for a key if still valid.
20
25
  */
21
- export function getCachedToast(minIntervalMs) {
22
- if (!cachedToast) {
26
+ export function getCachedToast(cacheKey, minIntervalMs) {
27
+ const cacheEntry = cacheEntries.get(cacheKey);
28
+ if (!cacheEntry?.cachedToast) {
23
29
  return null;
24
30
  }
25
31
  const now = Date.now();
26
- const age = now - cachedToast.timestamp;
27
- // Return cached value if within throttle window
32
+ const age = now - cacheEntry.cachedToast.timestamp;
28
33
  if (age < minIntervalMs) {
29
- return cachedToast.message;
34
+ return cacheEntry.cachedToast.message;
30
35
  }
31
36
  return null;
32
37
  }
33
38
  /**
34
- * Check if a new fetch should be initiated
35
- *
36
- * @param minIntervalMs - Minimum interval between fetches
37
- * @returns true if a fetch should be started
39
+ * Check if a new fetch should be initiated for a key.
38
40
  */
39
- export function shouldFetch(minIntervalMs) {
41
+ export function shouldFetch(cacheKey, minIntervalMs) {
42
+ const cacheEntry = getCacheEntry(cacheKey);
40
43
  const now = Date.now();
41
- return now - lastFetchTime >= minIntervalMs;
44
+ return now - cacheEntry.lastFetchTime >= minIntervalMs;
42
45
  }
43
46
  /**
44
- * Get or start a fetch operation with deduplication
45
- *
46
- * @param fetchFn - Function that performs the actual fetch
47
- * @param minIntervalMs - Minimum interval between fetches
48
- * @returns Promise resolving to toast message or null
47
+ * Get or start a fetch operation with keyed deduplication.
49
48
  */
50
- export async function getOrFetch(fetchFn, minIntervalMs) {
49
+ export async function getOrFetch(cacheKey, fetchFn, minIntervalMs) {
51
50
  const wrapped = async () => {
52
51
  const message = await fetchFn();
53
52
  return { message, cache: true };
54
53
  };
55
- return getOrFetchWithCacheControl(wrapped, minIntervalMs);
54
+ return getOrFetchWithCacheControl(cacheKey, wrapped, minIntervalMs);
56
55
  }
57
56
  /**
58
- * Get or start a fetch operation with deduplication and cache control.
57
+ * Get or start a fetch operation with keyed deduplication and cache control.
59
58
  *
60
59
  * This is useful when some results should be displayed but not cached
61
60
  * (e.g. transient "all providers failed" cases).
62
61
  */
63
- export async function getOrFetchWithCacheControl(fetchFn, minIntervalMs) {
64
- // Check cache first
65
- const cached = getCachedToast(minIntervalMs);
62
+ export async function getOrFetchWithCacheControl(cacheKey, fetchFn, minIntervalMs) {
63
+ const cacheEntry = getCacheEntry(cacheKey);
64
+ const cached = getCachedToast(cacheKey, minIntervalMs);
66
65
  if (cached !== null) {
67
66
  return cached;
68
67
  }
69
- // If there's already a fetch in progress, wait for it
70
- if (inFlightPromise) {
71
- return inFlightPromise;
68
+ if (cacheEntry.inFlightPromise) {
69
+ return cacheEntry.inFlightPromise;
72
70
  }
73
- // Check if we should start a new fetch
74
- if (!shouldFetch(minIntervalMs)) {
75
- // Within throttle window but cache is empty/stale
76
- // Return cached message anyway if available
77
- return cachedToast?.message ?? null;
71
+ if (!shouldFetch(cacheKey, minIntervalMs)) {
72
+ return cacheEntry.cachedToast?.message ?? null;
78
73
  }
79
- // Start a new fetch
80
- lastFetchTime = Date.now();
81
- inFlightPromise = (async () => {
74
+ cacheEntry.lastFetchTime = Date.now();
75
+ cacheEntry.inFlightPromise = (async () => {
82
76
  try {
83
77
  const out = await fetchFn();
84
78
  const result = out.message;
85
79
  const cache = out.cache ?? true;
86
- // If there is no message, don't throttle future fetches.
87
- // This is important when users enable providers or connect accounts and
88
- // want the toast to appear on the next trigger.
89
80
  if (result === null) {
90
- lastFetchTime = 0;
81
+ cacheEntry.lastFetchTime = 0;
91
82
  return null;
92
83
  }
93
84
  if (!cache) {
94
- // Display, but don't cache or throttle the next attempt.
95
- lastFetchTime = 0;
85
+ cacheEntry.lastFetchTime = 0;
96
86
  return result;
97
87
  }
98
- cachedToast = {
88
+ cacheEntry.cachedToast = {
99
89
  message: result,
100
90
  timestamp: Date.now(),
101
91
  };
102
92
  return result;
103
93
  }
104
94
  finally {
105
- inFlightPromise = null;
95
+ cacheEntry.inFlightPromise = null;
96
+ if (!cacheEntry.cachedToast && cacheEntry.lastFetchTime === 0) {
97
+ cacheEntries.delete(cacheKey);
98
+ }
106
99
  }
107
100
  })();
108
- return inFlightPromise;
101
+ return cacheEntry.inFlightPromise;
109
102
  }
110
103
  /**
111
- * Clear the cache (for testing or reset)
104
+ * Clear one keyed entry, or the whole keyed cache if no key is provided.
112
105
  */
113
- export function clearCache() {
114
- cachedToast = null;
115
- inFlightPromise = null;
116
- lastFetchTime = 0;
106
+ export function clearCache(cacheKey) {
107
+ if (cacheKey) {
108
+ cacheEntries.delete(cacheKey);
109
+ return;
110
+ }
111
+ cacheEntries.clear();
117
112
  }
118
113
  /**
119
- * Force update the cache with a new message
114
+ * Force update a keyed cache entry with a new message.
120
115
  */
121
- export function updateCache(message) {
122
- cachedToast = {
116
+ export function updateCache(cacheKey, message) {
117
+ const cacheEntry = getCacheEntry(cacheKey);
118
+ cacheEntry.cachedToast = {
123
119
  message,
124
120
  timestamp: Date.now(),
125
121
  };
122
+ cacheEntry.lastFetchTime = Date.now();
126
123
  }
127
124
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,wBAAwB;AACxB,IAAI,WAAW,GAAuB,IAAI,CAAC;AAE3C,0CAA0C;AAC1C,IAAI,eAAe,GAAkC,IAAI,CAAC;AAE1D,oCAAoC;AACpC,IAAI,aAAa,GAAG,CAAC,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,aAAqB;IAClD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC;IAExC,gDAAgD;IAChD,IAAI,GAAG,GAAG,aAAa,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,aAAqB;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO,GAAG,GAAG,aAAa,IAAI,aAAa,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAqC,EACrC,aAAqB;IAErB,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,MAAM,OAAO,GAAG,MAAM,OAAO,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,0BAA0B,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAmE,EACnE,aAAqB;IAErB,oBAAoB;IACpB,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sDAAsD;IACtD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,kDAAkD;QAClD,4CAA4C;QAC5C,OAAO,WAAW,EAAE,OAAO,IAAI,IAAI,CAAC;IACtC,CAAC;IAED,oBAAoB;IACpB,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC;YAEhC,yDAAyD;YACzD,wEAAwE;YACxE,gDAAgD;YAChD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,aAAa,GAAG,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,yDAAyD;gBACzD,aAAa,GAAG,CAAC,CAAC;gBAClB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,WAAW,GAAG;gBACZ,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,WAAW,GAAG,IAAI,CAAC;IACnB,eAAe,GAAG,IAAI,CAAC;IACvB,aAAa,GAAG,CAAC,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,WAAW,GAAG;QACZ,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/lib/cache.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,gBAAgB,EAIjB,MAAM,YAAY,CAAC;AAWpB,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AA8HD;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EACF;IACE,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,OAAO,CAAC;YACjB,IAAI,CAAC,EAAE;gBAAE,YAAY,CAAC,EAAE;oBAAE,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;iBAAE,CAAA;aAAE,CAAC;SACtE,CAAC,CAAC;KACJ,CAAC;CACH,GACD,SAAS,EACb,IAAI,CAAC,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAmR3B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,gBAAgB,EAIjB,MAAM,YAAY,CAAC;AAYpB,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AA6ID;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EACF;IACE,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,OAAO,CAAC;YACjB,IAAI,CAAC,EAAE;gBAAE,YAAY,CAAC,EAAE;oBAAE,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;iBAAE,CAAA;aAAE,CAAC;SACtE,CAAC,CAAC;KACJ,CAAC;CACH,GACD,SAAS,EACb,IAAI,CAAC,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAwR3B"}
@@ -8,6 +8,7 @@
8
8
  * - SDK config is used only as a fallback when no config files are found.
9
9
  */
10
10
  import { DEFAULT_CONFIG } from "./types.js";
11
+ import { isQuotaFormatStyle, resolveQuotaFormatStyle } from "./quota-format-style.js";
11
12
  import { parseJsonOrJsonc } from "./jsonc.js";
12
13
  import { normalizeQuotaProviderId } from "./provider-metadata.js";
13
14
  import { existsSync } from "fs";
@@ -48,9 +49,6 @@ function isValidPricingSnapshotSource(source) {
48
49
  function isValidPricingSnapshotAutoRefresh(value) {
49
50
  return typeof value === "number" && Number.isInteger(value) && value > 0;
50
51
  }
51
- function isValidFormatStyle(value) {
52
- return value === "classic" || value === "grouped";
53
- }
54
52
  function isValidPercentDisplayMode(value) {
55
53
  return value === "remaining" || value === "used";
56
54
  }
@@ -61,6 +59,19 @@ function normalizeOptionalString(value) {
61
59
  const trimmed = value.trim();
62
60
  return trimmed ? trimmed : undefined;
63
61
  }
62
+ function getConfiguredFormatStyle(quotaToastConfig) {
63
+ if (!quotaToastConfig) {
64
+ return undefined;
65
+ }
66
+ if (isQuotaFormatStyle(quotaToastConfig.formatStyle)) {
67
+ return resolveQuotaFormatStyle(quotaToastConfig.formatStyle);
68
+ }
69
+ const legacyFormatStyle = quotaToastConfig.toastStyle;
70
+ if (isQuotaFormatStyle(legacyFormatStyle)) {
71
+ return resolveQuotaFormatStyle(legacyFormatStyle);
72
+ }
73
+ return undefined;
74
+ }
64
75
  /**
65
76
  * Remove duplicates from an array while preserving order
66
77
  */
@@ -125,6 +136,7 @@ export async function loadConfig(client, meta, options) {
125
136
  function normalize(quotaToastConfig) {
126
137
  if (!quotaToastConfig)
127
138
  return DEFAULT_CONFIG;
139
+ const formatStyle = getConfiguredFormatStyle(quotaToastConfig) ?? DEFAULT_CONFIG.formatStyle;
128
140
  const config = {
129
141
  enabled: typeof quotaToastConfig.enabled === "boolean"
130
142
  ? quotaToastConfig.enabled
@@ -132,11 +144,7 @@ export async function loadConfig(client, meta, options) {
132
144
  enableToast: typeof quotaToastConfig.enableToast === "boolean"
133
145
  ? quotaToastConfig.enableToast
134
146
  : DEFAULT_CONFIG.enableToast,
135
- formatStyle: isValidFormatStyle(quotaToastConfig.formatStyle)
136
- ? quotaToastConfig.formatStyle
137
- : isValidFormatStyle(quotaToastConfig.toastStyle)
138
- ? quotaToastConfig.toastStyle
139
- : DEFAULT_CONFIG.formatStyle,
147
+ formatStyle,
140
148
  percentDisplayMode: isValidPercentDisplayMode(quotaToastConfig.percentDisplayMode)
141
149
  ? quotaToastConfig.percentDisplayMode
142
150
  : DEFAULT_CONFIG.percentDisplayMode,
@@ -296,6 +304,14 @@ export async function loadConfig(client, meta, options) {
296
304
  if (hasMergedPricingSnapshot) {
297
305
  quota.pricingSnapshot = mergedPricingSnapshot;
298
306
  }
307
+ const localFormatStyle = getConfiguredFormatStyle(localConfig.quota);
308
+ const globalFormatStyle = getConfiguredFormatStyle(globalConfig.quota);
309
+ if (localFormatStyle) {
310
+ quota.formatStyle = localFormatStyle;
311
+ }
312
+ else if (globalFormatStyle) {
313
+ quota.formatStyle = globalFormatStyle;
314
+ }
299
315
  return {
300
316
  config: normalize(quota),
301
317
  usedPaths,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -58,11 +58,16 @@ export interface SessionTokensData {
58
58
  totalInput: number;
59
59
  totalOutput: number;
60
60
  }
61
+ export interface QuotaProviderPresentation {
62
+ singleWindowDisplayName?: string;
63
+ singleWindowShowRight?: boolean;
64
+ }
61
65
  export interface QuotaProviderResult {
62
66
  /** True when provider had enough configuration to attempt a query. */
63
67
  attempted: boolean;
64
68
  entries: QuotaToastEntry[];
65
69
  errors: QuotaToastError[];
70
+ presentation?: QuotaProviderPresentation;
66
71
  }
67
72
  export interface QuotaProviderContext {
68
73
  client: {
@@ -88,7 +93,6 @@ export interface QuotaProviderContext {
88
93
  cursorPlan: CursorQuotaPlan;
89
94
  cursorIncludedApiUsd?: number;
90
95
  cursorBillingCycleStartDay?: number;
91
- formatStyle?: "classic" | "grouped";
92
96
  onlyCurrentModel?: boolean;
93
97
  currentModel?: string;
94
98
  currentProviderID?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import type { QuotaToastConfig } from "./types.js";
5
5
  import type { QuotaToastEntry, QuotaToastError, SessionTokensData } from "./entries.js";
6
+ import type { QuotaFormatStyle } from "./quota-format-style.js";
6
7
  export declare function formatQuotaRows(params: {
7
8
  version: string;
8
9
  layout?: {
@@ -12,7 +13,7 @@ export declare function formatQuotaRows(params: {
12
13
  };
13
14
  entries?: QuotaToastEntry[];
14
15
  errors?: QuotaToastError[];
15
- style?: "classic" | "grouped";
16
+ style?: QuotaFormatStyle;
16
17
  percentDisplayMode?: QuotaToastConfig["percentDisplayMode"];
17
18
  sessionTokens?: SessionTokensData;
18
19
  }): string;
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAcxF,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAC5D,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC,GAAG,MAAM,CAiIT"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAkBhE,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAC5D,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC,GAAG,MAAM,CAsIT"}
@@ -4,9 +4,11 @@
4
4
  import { isValueEntry } from "./entries.js";
5
5
  import { bar, DISPLAYED_PERCENT_LABEL_WIDTH, formatDisplayedPercentLabel, formatResetCountdown, padLeft, padRight, resolveDisplayedPercent, } from "./format-utils.js";
6
6
  import { formatQuotaRowsGrouped } from "./toast-format-grouped.js";
7
- import { renderSessionTokensLines } from "./session-tokens-format.js";
7
+ import { renderSessionTokensLines, renderSidebarSessionTokenSummaryLines, } from "./session-tokens-format.js";
8
+ import { getQuotaFormatStyleDefinition } from "./quota-format-style.js";
8
9
  export function formatQuotaRows(params) {
9
- if (params.style === "grouped") {
10
+ const styleDefinition = getQuotaFormatStyleDefinition(params.style);
11
+ if (styleDefinition.renderer === "grouped") {
10
12
  return formatQuotaRowsGrouped({
11
13
  layout: params.layout,
12
14
  entries: params.entries,
@@ -100,8 +102,10 @@ export function formatQuotaRows(params) {
100
102
  for (const err of params.errors ?? []) {
101
103
  lines.push(`${err.label}: ${err.message}`);
102
104
  }
103
- // Add session token summary (if data available and non-empty)
104
- const tokenLines = renderSessionTokensLines(params.sessionTokens, { maxWidth });
105
+ // Add session token section (if data available and non-empty)
106
+ const tokenLines = styleDefinition.sessionTokens === "detailed"
107
+ ? renderSessionTokensLines(params.sessionTokens, { maxWidth })
108
+ : renderSidebarSessionTokenSummaryLines(params.sessionTokens, { maxWidth });
105
109
  if (tokenLines.length > 0) {
106
110
  if (lines.length > 0)
107
111
  lines.push("");
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,GAAG,EACH,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,EACpB,OAAO,EACP,QAAQ,EACR,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,MAAM,UAAU,eAAe,CAAC,MAY/B;IACC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,sBAAsB,CAAC;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEjC,sBAAsB;IACtB,4DAA4D;IAC5D,mCAAmC;IACnC,0CAA0C;IAC1C,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC;IACzC,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAExD,MAAM,SAAS,GAAG,IAAI,CAAC;IACvB,MAAM,UAAU,GAAG,6BAA6B,CAAC,CAAC,cAAc;IAEhE,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9C,kFAAkF;IAClF,8CAA8C;IAC9C,iEAAiE;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IAExE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,eAAe,GAAG,CACtB,IAAY,EACZ,QAA4B,EAC5B,SAAiB,EACjB,YAAqB,EACrB,EAAE;QACF,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACvF,MAAM,YAAY,GAAG,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAEvD,8DAA8D;QAC9D,wCAAwC;QACxC,MAAM,OAAO,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAExF,IAAI,MAAM,EAAE,CAAC;YACX,uDAAuD;YACvD,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC;YAC1F,MAAM,IAAI,GAAG;gBACX,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;gBAC/B,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;gBACzB,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC;aAClC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,qDAAqD;QACrD,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAExC,2DAA2D;QAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,QAA4B,EAAE,KAAa,EAAE,EAAE;QAClF,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAEjE,IAAI,MAAM,EAAE,CAAC;YACX,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM,WAAW,GACf,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG;gBACX,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBACvB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;gBACzB,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;aACzB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,CAAC,EACD,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CACxE,CAAC;QACF,MAAM,IAAI,GACR,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;YACzB,SAAS;YACT,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC;YAC1B,SAAS;YACT,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,8DAA8D;IAC9D,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"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"}