oc-codex-multi-auth 6.20.0 → 6.22.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 (215) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +729 -568
  3. package/assets/icon.svg +7 -7
  4. package/assets/opencode-logo-ornate-dark.svg +18 -18
  5. package/assets/readme-hero.svg +31 -31
  6. package/config/README.md +177 -177
  7. package/config/minimal-opencode.json +14 -14
  8. package/config/opencode-legacy.json +1496 -1496
  9. package/config/opencode-modern.json +555 -555
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +567 -102
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/account-display.d.ts +46 -0
  14. package/dist/lib/account-display.d.ts.map +1 -1
  15. package/dist/lib/account-display.js +263 -1
  16. package/dist/lib/account-display.js.map +1 -1
  17. package/dist/lib/accounts/persistence.d.ts +3 -1
  18. package/dist/lib/accounts/persistence.d.ts.map +1 -1
  19. package/dist/lib/accounts/persistence.js +27 -3
  20. package/dist/lib/accounts/persistence.js.map +1 -1
  21. package/dist/lib/accounts/stale-state.d.ts +1 -0
  22. package/dist/lib/accounts/stale-state.d.ts.map +1 -1
  23. package/dist/lib/accounts/stale-state.js +30 -0
  24. package/dist/lib/accounts/stale-state.js.map +1 -1
  25. package/dist/lib/accounts/warm-recovery.d.ts +8 -0
  26. package/dist/lib/accounts/warm-recovery.d.ts.map +1 -0
  27. package/dist/lib/accounts/warm-recovery.js +70 -0
  28. package/dist/lib/accounts/warm-recovery.js.map +1 -0
  29. package/dist/lib/accounts/warm-request.d.ts +2 -0
  30. package/dist/lib/accounts/warm-request.d.ts.map +1 -1
  31. package/dist/lib/accounts/warm-request.js +4 -2
  32. package/dist/lib/accounts/warm-request.js.map +1 -1
  33. package/dist/lib/accounts.d.ts +5 -1
  34. package/dist/lib/accounts.d.ts.map +1 -1
  35. package/dist/lib/accounts.js +22 -17
  36. package/dist/lib/accounts.js.map +1 -1
  37. package/dist/lib/auth/login-runner.d.ts.map +1 -1
  38. package/dist/lib/auth/login-runner.js +79 -2
  39. package/dist/lib/auth/login-runner.js.map +1 -1
  40. package/dist/lib/auto-update-checker.d.ts +17 -1
  41. package/dist/lib/auto-update-checker.d.ts.map +1 -1
  42. package/dist/lib/auto-update-checker.js +49 -3
  43. package/dist/lib/auto-update-checker.js.map +1 -1
  44. package/dist/lib/circuit-breaker.d.ts +5 -0
  45. package/dist/lib/circuit-breaker.d.ts.map +1 -1
  46. package/dist/lib/circuit-breaker.js +23 -6
  47. package/dist/lib/circuit-breaker.js.map +1 -1
  48. package/dist/lib/cli.d.ts +1 -0
  49. package/dist/lib/cli.d.ts.map +1 -1
  50. package/dist/lib/cli.js +9 -3
  51. package/dist/lib/cli.js.map +1 -1
  52. package/dist/lib/codex-reset.d.ts +7 -1
  53. package/dist/lib/codex-reset.d.ts.map +1 -1
  54. package/dist/lib/codex-reset.js +9 -2
  55. package/dist/lib/codex-reset.js.map +1 -1
  56. package/dist/lib/codex-usage.d.ts +7 -4
  57. package/dist/lib/codex-usage.d.ts.map +1 -1
  58. package/dist/lib/codex-usage.js +48 -13
  59. package/dist/lib/codex-usage.js.map +1 -1
  60. package/dist/lib/config.d.ts +77 -1
  61. package/dist/lib/config.d.ts.map +1 -1
  62. package/dist/lib/config.js +190 -15
  63. package/dist/lib/config.js.map +1 -1
  64. package/dist/lib/context-overflow.js +10 -10
  65. package/dist/lib/desktop-notifications.js +6 -6
  66. package/dist/lib/oauth-success.js +202 -202
  67. package/dist/lib/parallel-probe.d.ts.map +1 -1
  68. package/dist/lib/parallel-probe.js +2 -1
  69. package/dist/lib/parallel-probe.js.map +1 -1
  70. package/dist/lib/plan-allotment.d.ts +72 -0
  71. package/dist/lib/plan-allotment.d.ts.map +1 -0
  72. package/dist/lib/plan-allotment.js +142 -0
  73. package/dist/lib/plan-allotment.js.map +1 -0
  74. package/dist/lib/plugin-origin.d.ts +77 -0
  75. package/dist/lib/plugin-origin.d.ts.map +1 -0
  76. package/dist/lib/plugin-origin.js +301 -0
  77. package/dist/lib/plugin-origin.js.map +1 -0
  78. package/dist/lib/prompts/codex-opencode-bridge.js +67 -67
  79. package/dist/lib/prompts/codex.js +75 -75
  80. package/dist/lib/quota-display.d.ts +40 -0
  81. package/dist/lib/quota-display.d.ts.map +1 -0
  82. package/dist/lib/quota-display.js +45 -0
  83. package/dist/lib/quota-display.js.map +1 -0
  84. package/dist/lib/quota-notifications.d.ts +2 -1
  85. package/dist/lib/quota-notifications.d.ts.map +1 -1
  86. package/dist/lib/quota-notifications.js +43 -14
  87. package/dist/lib/quota-notifications.js.map +1 -1
  88. package/dist/lib/quota-overview.d.ts +253 -0
  89. package/dist/lib/quota-overview.d.ts.map +1 -0
  90. package/dist/lib/quota-overview.js +707 -0
  91. package/dist/lib/quota-overview.js.map +1 -0
  92. package/dist/lib/request/fetch-helpers.js +22 -18
  93. package/dist/lib/request/fetch-helpers.js.map +1 -1
  94. package/dist/lib/request/response-handler.d.ts.map +1 -1
  95. package/dist/lib/request/response-handler.js +85 -43
  96. package/dist/lib/request/response-handler.js.map +1 -1
  97. package/dist/lib/request/retry-budget.d.ts +26 -0
  98. package/dist/lib/request/retry-budget.d.ts.map +1 -1
  99. package/dist/lib/request/retry-budget.js +43 -0
  100. package/dist/lib/request/retry-budget.js.map +1 -1
  101. package/dist/lib/rotation.d.ts +1 -1
  102. package/dist/lib/schemas.d.ts +67 -0
  103. package/dist/lib/schemas.d.ts.map +1 -1
  104. package/dist/lib/schemas.js +53 -0
  105. package/dist/lib/schemas.js.map +1 -1
  106. package/dist/lib/storage/backup.d.ts +33 -0
  107. package/dist/lib/storage/backup.d.ts.map +1 -1
  108. package/dist/lib/storage/backup.js +43 -7
  109. package/dist/lib/storage/backup.js.map +1 -1
  110. package/dist/lib/storage/credential-snapshots.d.ts +78 -0
  111. package/dist/lib/storage/credential-snapshots.d.ts.map +1 -0
  112. package/dist/lib/storage/credential-snapshots.js +302 -0
  113. package/dist/lib/storage/credential-snapshots.js.map +1 -0
  114. package/dist/lib/storage/export-import.d.ts.map +1 -1
  115. package/dist/lib/storage/export-import.js +7 -0
  116. package/dist/lib/storage/export-import.js.map +1 -1
  117. package/dist/lib/storage/flagged.d.ts.map +1 -1
  118. package/dist/lib/storage/flagged.js +23 -1
  119. package/dist/lib/storage/flagged.js.map +1 -1
  120. package/dist/lib/storage/load-save.d.ts +5 -0
  121. package/dist/lib/storage/load-save.d.ts.map +1 -1
  122. package/dist/lib/storage/load-save.js +61 -0
  123. package/dist/lib/storage/load-save.js.map +1 -1
  124. package/dist/lib/storage/normalize.d.ts.map +1 -1
  125. package/dist/lib/storage/normalize.js +38 -2
  126. package/dist/lib/storage/normalize.js.map +1 -1
  127. package/dist/lib/storage/paths.d.ts +1 -0
  128. package/dist/lib/storage/paths.d.ts.map +1 -1
  129. package/dist/lib/storage/paths.js +1 -1
  130. package/dist/lib/storage/paths.js.map +1 -1
  131. package/dist/lib/storage/state.d.ts +1 -0
  132. package/dist/lib/storage/state.d.ts.map +1 -1
  133. package/dist/lib/storage/state.js +12 -0
  134. package/dist/lib/storage/state.js.map +1 -1
  135. package/dist/lib/storage/test-home-guard.d.ts +35 -0
  136. package/dist/lib/storage/test-home-guard.d.ts.map +1 -0
  137. package/dist/lib/storage/test-home-guard.js +59 -0
  138. package/dist/lib/storage/test-home-guard.js.map +1 -0
  139. package/dist/lib/tools/codex-dashboard.d.ts.map +1 -1
  140. package/dist/lib/tools/codex-dashboard.js +3 -2
  141. package/dist/lib/tools/codex-dashboard.js.map +1 -1
  142. package/dist/lib/tools/codex-doctor.d.ts.map +1 -1
  143. package/dist/lib/tools/codex-doctor.js +16 -0
  144. package/dist/lib/tools/codex-doctor.js.map +1 -1
  145. package/dist/lib/tools/codex-health.d.ts.map +1 -1
  146. package/dist/lib/tools/codex-health.js +10 -2
  147. package/dist/lib/tools/codex-health.js.map +1 -1
  148. package/dist/lib/tools/codex-label.d.ts.map +1 -1
  149. package/dist/lib/tools/codex-label.js +1 -0
  150. package/dist/lib/tools/codex-label.js.map +1 -1
  151. package/dist/lib/tools/codex-limits.d.ts.map +1 -1
  152. package/dist/lib/tools/codex-limits.js +26 -10
  153. package/dist/lib/tools/codex-limits.js.map +1 -1
  154. package/dist/lib/tools/codex-list.d.ts.map +1 -1
  155. package/dist/lib/tools/codex-list.js +28 -3
  156. package/dist/lib/tools/codex-list.js.map +1 -1
  157. package/dist/lib/tools/codex-note.d.ts.map +1 -1
  158. package/dist/lib/tools/codex-note.js +4 -1
  159. package/dist/lib/tools/codex-note.js.map +1 -1
  160. package/dist/lib/tools/codex-pool.d.ts.map +1 -1
  161. package/dist/lib/tools/codex-pool.js +6 -2
  162. package/dist/lib/tools/codex-pool.js.map +1 -1
  163. package/dist/lib/tools/codex-refresh.d.ts.map +1 -1
  164. package/dist/lib/tools/codex-refresh.js +4 -1
  165. package/dist/lib/tools/codex-refresh.js.map +1 -1
  166. package/dist/lib/tools/codex-remove.d.ts.map +1 -1
  167. package/dist/lib/tools/codex-remove.js +1 -0
  168. package/dist/lib/tools/codex-remove.js.map +1 -1
  169. package/dist/lib/tools/codex-reset.d.ts.map +1 -1
  170. package/dist/lib/tools/codex-reset.js +53 -8
  171. package/dist/lib/tools/codex-reset.js.map +1 -1
  172. package/dist/lib/tools/codex-status.d.ts.map +1 -1
  173. package/dist/lib/tools/codex-status.js +25 -2
  174. package/dist/lib/tools/codex-status.js.map +1 -1
  175. package/dist/lib/tools/codex-switch.d.ts.map +1 -1
  176. package/dist/lib/tools/codex-switch.js +1 -0
  177. package/dist/lib/tools/codex-switch.js.map +1 -1
  178. package/dist/lib/tools/codex-tag.d.ts.map +1 -1
  179. package/dist/lib/tools/codex-tag.js +4 -1
  180. package/dist/lib/tools/codex-tag.js.map +1 -1
  181. package/dist/lib/tools/codex-warm.d.ts +2 -1
  182. package/dist/lib/tools/codex-warm.d.ts.map +1 -1
  183. package/dist/lib/tools/codex-warm.js +49 -5
  184. package/dist/lib/tools/codex-warm.js.map +1 -1
  185. package/dist/lib/tools/index.d.ts +10 -1
  186. package/dist/lib/tools/index.d.ts.map +1 -1
  187. package/dist/lib/tools/index.js.map +1 -1
  188. package/dist/lib/tui-quota-cache.d.ts +35 -0
  189. package/dist/lib/tui-quota-cache.d.ts.map +1 -1
  190. package/dist/lib/tui-quota-cache.js +79 -12
  191. package/dist/lib/tui-quota-cache.js.map +1 -1
  192. package/dist/lib/tui-quota-overview.d.ts +55 -0
  193. package/dist/lib/tui-quota-overview.d.ts.map +1 -0
  194. package/dist/lib/tui-quota-overview.js +209 -0
  195. package/dist/lib/tui-quota-overview.js.map +1 -0
  196. package/dist/lib/tui-status.d.ts +55 -0
  197. package/dist/lib/tui-status.d.ts.map +1 -1
  198. package/dist/lib/tui-status.js +155 -14
  199. package/dist/lib/tui-status.js.map +1 -1
  200. package/dist/lib/ui/auth-menu.d.ts +2 -0
  201. package/dist/lib/ui/auth-menu.d.ts.map +1 -1
  202. package/dist/lib/ui/auth-menu.js +10 -6
  203. package/dist/lib/ui/auth-menu.js.map +1 -1
  204. package/dist/tui.d.ts +59 -1
  205. package/dist/tui.d.ts.map +1 -1
  206. package/dist/tui.js +535 -43
  207. package/dist/tui.js.map +1 -1
  208. package/package.json +155 -155
  209. package/scripts/audit-dev-allowlist.js +114 -114
  210. package/scripts/clean-dist.js +27 -27
  211. package/scripts/copy-oauth-success.js +47 -47
  212. package/scripts/install-oc-codex-multi-auth-core.js +2003 -1469
  213. package/scripts/install-oc-codex-multi-auth.js +37 -37
  214. package/scripts/test-all-models.sh +260 -260
  215. package/scripts/validate-model-map.sh +97 -97
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Gather every account's quota for the pool-wide status line.
3
+ *
4
+ * The single-account status the request path maintains cannot answer "where
5
+ * does the pool stand" - it only ever describes the account that served the
6
+ * last response. This reads `/wham/usage` for each distinct account instead,
7
+ * on a bounded interval, and caches the result where every OpenCode window on
8
+ * the machine can share it.
9
+ *
10
+ * The cache is what keeps this cheap. A reader takes a snapshot that is still
11
+ * fresh rather than issuing its own requests, so N terminals open on the same
12
+ * pool cost one round of requests between them rather than N, and a terminal
13
+ * that has just started renders immediately instead of showing nothing while
14
+ * seven accounts are queried one after another.
15
+ */
16
+ import { createUsageAccountFingerprint, deduplicateUsageAccountIndices, ensureCodexUsageAccessToken, fetchCodexUsage, getUsageLeftPercent, hasUsageWindow, parseCodexUsagePayload, resolveCodexUsageAccountId, } from "./codex-usage.js";
17
+ import { logDebug } from "./logger.js";
18
+ import { loadAccounts } from "./storage.js";
19
+ import { isFreshTuiQuotaSnapshot, readTuiQuotaOverviewSnapshot, writeTuiQuotaOverviewSnapshot, TUI_QUOTA_CACHE_VERSION, } from "./tui-quota-cache.js";
20
+ /**
21
+ * Accounts queried at once. Matches the quota monitor's own limit: this talks
22
+ * to the same endpoint with the same credentials, and a pool of a dozen seats
23
+ * should not arrive as a dozen simultaneous requests.
24
+ */
25
+ const MAX_CONCURRENCY = 2;
26
+ function toOverviewLimit(window, label) {
27
+ return {
28
+ label,
29
+ leftPercent: getUsageLeftPercent(window.usedPercent) ?? null,
30
+ usedPercent: window.usedPercent,
31
+ windowMinutes: window.windowMinutes,
32
+ resetAtMs: window.resetAtMs,
33
+ };
34
+ }
35
+ /**
36
+ * Reduce one account's usage document to what the status line needs.
37
+ *
38
+ * Only the primary and secondary windows are kept. Code-review and the other
39
+ * additional quotas do not govern ordinary model requests, so counting them
40
+ * would let a spent code-review allowance report an account as unusable for
41
+ * work it can still do.
42
+ */
43
+ export function toOverviewAccount(params) {
44
+ const limits = [
45
+ { window: params.usage.primary, label: "5h" },
46
+ { window: params.usage.secondary, label: "weekly" },
47
+ ]
48
+ .filter(({ window }) => hasUsageWindow(window))
49
+ .map(({ window, label }) => toOverviewLimit(window, label));
50
+ const resetCredits = params.usage.resetCredits;
51
+ return {
52
+ fingerprint: params.fingerprint,
53
+ index: params.index,
54
+ email: params.email?.trim() || undefined,
55
+ // Only a label the user set, never the accountId/organizationId
56
+ // fallbacks other surfaces use: those identify an account without
57
+ // naming it, and a 36-character UUID on a status line names nothing.
58
+ label: params.label?.trim() || undefined,
59
+ planType: params.usage.planType ?? undefined,
60
+ // `applicableNow` is the count that can be redeemed against a window
61
+ // that is actually spent, which is the only one worth showing beside a
62
+ // percentage. It falls back to the banked total only when the server
63
+ // stated a count this build could not read.
64
+ resetCredits: resetCredits?.applicableNow ?? resetCredits?.available ?? undefined,
65
+ limits,
66
+ };
67
+ }
68
+ async function fetchOverviewAccount(storage, index) {
69
+ const account = storage.accounts[index];
70
+ if (!account)
71
+ return undefined;
72
+ try {
73
+ const credentials = await ensureCodexUsageAccessToken({ storage, account });
74
+ const accountId = resolveCodexUsageAccountId({
75
+ account,
76
+ accessToken: credentials.accessToken,
77
+ });
78
+ if (!accountId)
79
+ return undefined;
80
+ const usage = parseCodexUsagePayload(await fetchCodexUsage({
81
+ accountId,
82
+ accessToken: credentials.accessToken,
83
+ organizationId: account.organizationId,
84
+ normalizeAccountErrors: true,
85
+ }));
86
+ return toOverviewAccount({
87
+ fingerprint: createUsageAccountFingerprint(account),
88
+ index: index + 1,
89
+ usage,
90
+ email: account.email,
91
+ label: account.accountLabel,
92
+ });
93
+ }
94
+ catch (error) {
95
+ logDebug(`Failed to fetch pool quota for one account: ${error.message}`);
96
+ return undefined;
97
+ }
98
+ }
99
+ export async function fetchTuiQuotaOverview(params) {
100
+ const now = params.now ?? Date.now();
101
+ const cached = await readTuiQuotaOverviewSnapshot(params.cachePath);
102
+ if (cached && isFreshTuiQuotaSnapshot(cached, now))
103
+ return cached;
104
+ const storage = await (params.loadStorage ?? loadAccounts)();
105
+ if (!storage || storage.accounts.length === 0)
106
+ return undefined;
107
+ const indices = deduplicateUsageAccountIndices(storage);
108
+ const accounts = [];
109
+ // Set when an account this pass could not fetch keeps its previous
110
+ // reading instead of dropping out of the snapshot.
111
+ let carriedOver = false;
112
+ for (let offset = 0; offset < indices.length; offset += MAX_CONCURRENCY) {
113
+ const chunk = indices.slice(offset, offset + MAX_CONCURRENCY);
114
+ const results = await Promise.all(chunk.map((index) => fetchOverviewAccount(storage, index)));
115
+ for (const [position, result] of results.entries()) {
116
+ if (result) {
117
+ accounts.push(result);
118
+ continue;
119
+ }
120
+ // A failed fetch must not drop the account out of the snapshot: the
121
+ // pool would be judged on a subset, and one transient error on the
122
+ // only account with headroom would flip the line to "fully spent"
123
+ // and surface the resets screen wrongly. The cached reading is reused
124
+ // only for the SAME account - same pool position and same credential
125
+ // fingerprint, so a pool that changed membership never inherits a
126
+ // stranger's numbers - and the snapshot below keeps the older fetch
127
+ // time so the reading is rendered stale rather than current.
128
+ const index = chunk[position];
129
+ const account = index === undefined ? undefined : storage.accounts[index];
130
+ const previous = index === undefined || account === undefined
131
+ ? undefined
132
+ : cached?.accounts.find((candidate) => candidate.index === index + 1 &&
133
+ candidate.fingerprint ===
134
+ createUsageAccountFingerprint(account));
135
+ if (previous) {
136
+ accounts.push(previous);
137
+ carriedOver = true;
138
+ }
139
+ }
140
+ }
141
+ // Every account failing means the pool was not observed at all, which is a
142
+ // different statement from "the pool is empty". Keeping the previous
143
+ // snapshot lets the line stay on the last thing known to be true rather
144
+ // than blanking on one bad network moment.
145
+ if (accounts.length === 0)
146
+ return cached;
147
+ accounts.sort((left, right) => left.index - right.index);
148
+ const snapshot = {
149
+ version: TUI_QUOTA_CACHE_VERSION,
150
+ // A snapshot carrying a reused reading is only as fresh as that
151
+ // reading, so it keeps the previous fetch time - the stale flag is how
152
+ // the line says "part of this is not new" without dropping it.
153
+ fetchedAt: carriedOver && cached ? Math.min(cached.fetchedAt, now) : now,
154
+ accounts,
155
+ };
156
+ try {
157
+ await writeTuiQuotaOverviewSnapshot(snapshot, params.cachePath);
158
+ }
159
+ catch (error) {
160
+ logDebug(`Failed to cache the pool quota snapshot: ${error.message}`);
161
+ }
162
+ return snapshot;
163
+ }
164
+ /**
165
+ * Fold the request path's live reading of one account into the polled pool.
166
+ *
167
+ * The pool is re-read on an interval, but the account currently serving
168
+ * requests has its quota pushed from response headers after every single
169
+ * response. Without this the line would show that account's numbers as they
170
+ * were up to five minutes ago while the user watches their own requests spend
171
+ * it - the one account whose figure a reader can check against their own
172
+ * activity would be the one that looks wrong.
173
+ *
174
+ * Only a snapshot NEWER than the poll is merged, so a header reading left over
175
+ * from before the poll cannot overwrite it with older numbers.
176
+ */
177
+ export function mergeOverviewWithLatestAccount(snapshot, latest) {
178
+ if (!latest || latest.fetchedAt <= snapshot.fetchedAt)
179
+ return snapshot;
180
+ if (latest.limits.length === 0)
181
+ return snapshot;
182
+ let merged = false;
183
+ const accounts = snapshot.accounts.map((account) => {
184
+ if (account.fingerprint !== latest.fingerprint)
185
+ return account;
186
+ merged = true;
187
+ return {
188
+ ...account,
189
+ planType: latest.planType ?? account.planType,
190
+ email: account.email ?? (latest.accountEmail?.trim() || undefined),
191
+ limits: latest.limits,
192
+ };
193
+ });
194
+ return merged ? { ...snapshot, accounts } : snapshot;
195
+ }
196
+ export function toQuotaOverviewAccounts(snapshot) {
197
+ return snapshot.accounts.map((account) => ({
198
+ index: account.index,
199
+ email: account.email,
200
+ label: account.label,
201
+ planType: account.planType,
202
+ resetCredits: account.resetCredits,
203
+ windows: account.limits.map((limit) => ({
204
+ leftPercent: limit.leftPercent ?? undefined,
205
+ resetAtMs: limit.resetAtMs,
206
+ })),
207
+ }));
208
+ }
209
+ //# sourceMappingURL=tui-quota-overview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-quota-overview.js","sourceRoot":"","sources":["../../lib/tui-quota-overview.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import type { Config } from "@opencode-ai/sdk/v2";
2
+ import { type QuotaOverviewAccount, type QuotaOverviewOptions } from "./quota-overview.js";
3
+ import { type QuotaDisplayMode } from "./quota-display.js";
2
4
  export type ReasoningVariant = "none" | "low" | "medium" | "high" | "xhigh" | "max" | "ultra";
3
5
  export type CompactQuotaLimit = {
4
6
  label: string;
@@ -49,10 +51,63 @@ export declare function formatPromptStatusText(params: {
49
51
  quota: CompactQuotaStatus;
50
52
  width?: number;
51
53
  maskEmail?: boolean;
54
+ quotaDisplay?: QuotaDisplayMode;
52
55
  }): string;
56
+ /**
57
+ * Break one rendering across rows, at the separators it already has.
58
+ *
59
+ * Only `, ` boundaries are used, so a row never ends mid-account: a line cut
60
+ * between `#2` and its percentage is worse than no second row at all. A
61
+ * candidate with any single segment wider than the row cannot be laid out this
62
+ * way and is rejected, which sends the caller to the next rung down.
63
+ */
64
+ export declare function wrapStatusCandidate(candidate: string, maxChars: number, maxRows: number): string[] | undefined;
65
+ /**
66
+ * Lay a candidate ladder out in the space available, in up to `maxRows` rows.
67
+ *
68
+ * The ladder is walked once, and the first rung that fits wins - whether it
69
+ * fits on one row or has to be broken across two. Trying every rung on one row
70
+ * before allowing a second would shed detail the reader has room for.
71
+ */
72
+ export declare function fitStatusLines(candidates: readonly string[], maxChars: number, maxRows: number): string[];
73
+ /**
74
+ * Render the whole account pool, degrading through
75
+ * {@link formatQuotaOverviewCandidates} until one form fits.
76
+ */
77
+ export declare function formatQuotaOverviewStatusLines(params: {
78
+ accounts: readonly QuotaOverviewAccount[];
79
+ options: QuotaOverviewOptions;
80
+ width?: number;
81
+ availableChars?: number;
82
+ maxRows?: number;
83
+ }): string[];
84
+ export declare function formatQuotaOverviewStatusText(params: {
85
+ accounts: readonly QuotaOverviewAccount[];
86
+ options: QuotaOverviewOptions;
87
+ width?: number;
88
+ availableChars?: number;
89
+ }): string;
90
+ /** The banked-reset line, laid out the same way as the pool line. */
91
+ export declare function formatQuotaResetsStatusLines(params: {
92
+ accounts: readonly QuotaOverviewAccount[];
93
+ options: QuotaOverviewOptions;
94
+ width?: number;
95
+ availableChars?: number;
96
+ maxRows?: number;
97
+ }): string[];
53
98
  export type QuotaPromptTone = "normal" | "warning" | "danger" | "stale" | "unknown";
99
+ /**
100
+ * Colour the pool by its healthiest account.
101
+ *
102
+ * A pool is only in trouble when nothing in it has room left, so the account
103
+ * with the most headroom decides the colour: keying on the worst account would
104
+ * paint the line red for a spent seat that rotation has already stopped
105
+ * selecting while six healthy ones serve every request.
106
+ */
107
+ export declare function resolveQuotaOverviewTone(accounts: readonly QuotaOverviewAccount[], stale?: boolean): QuotaPromptTone;
54
108
  export declare function resolveQuotaPromptTone(quota: CompactQuotaStatus): QuotaPromptTone;
55
109
  export declare function formatQuotaDetailsText(quota: CompactQuotaStatus, now?: number, options?: {
56
110
  maskEmail?: boolean;
111
+ quotaDisplay?: QuotaDisplayMode;
57
112
  }): string;
58
113
  //# sourceMappingURL=tui-status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-status.d.ts","sourceRoot":"","sources":["../../lib/tui-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,MAAM,MAAM,gBAAgB,GACzB,MAAM,GACN,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,KAAK,GACL,OAAO,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAC3B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IACA,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEL,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACpC,MAAM,EACN,OAAO,GAAG,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CACzD,CAAC;AA8BF,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,GACvB,gBAAgB,GAAG,SAAS,CAO9B;AAED,wBAAgB,gCAAgC,CAC/C,OAAO,EAAE,MAAM,GAAG,SAAS,GACzB,gBAAgB,GAAG,SAAS,CAO9B;AAiED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACrD,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1C,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC5B,GAAG,gBAAgB,GAAG,SAAS,CA8B/B;AAiMD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC9C,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,MAAM,CAmCT;AAED,MAAM,MAAM,eAAe,GACxB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,CAAC;AAEb,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,kBAAkB,GACvB,eAAe,CAcjB;AAqHD,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,kBAAkB,EACzB,GAAG,SAAa,EAChB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,MAAM,CAmCR"}
1
+ {"version":3,"file":"tui-status.d.ts","sourceRoot":"","sources":["../../lib/tui-status.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { maskEmailForDisplay } from "./account-display.js";
2
2
  import { getEffortSuffix } from "./request/helpers/effort-suffix.js";
3
3
  import { formatPlanType } from "./auth/plan-tier.js";
4
+ import { formatQuotaOverviewCandidates, formatQuotaResetsCandidates, resolveQuotaOverviewTonePercent, } from "./quota-overview.js";
5
+ import { DEFAULT_QUOTA_DISPLAY_MODE, formatNamedQuotaPercent, formatQuotaPercent, } from "./quota-display.js";
4
6
  const variantSuffixes = [
5
7
  "ultra",
6
8
  "max",
@@ -190,11 +192,11 @@ function maskEmailsInText(value, maskEmail) {
190
192
  return value;
191
193
  return value.replace(TEXT_TOKEN_GLOBAL, (token) => token.includes("@") ? maskEmailToken(token) : token);
192
194
  }
193
- function formatQuotaLimit(limit, resetLimit, includeReset) {
195
+ function formatQuotaLimit(limit, resetLimit, includeReset, mode) {
194
196
  if (!isPercent(limit.leftPercent))
195
197
  return undefined;
196
198
  const label = limit.label.trim() || "quota";
197
- const base = `${label} ${limit.leftPercent}%`;
199
+ const base = `${label} ${formatQuotaPercent(limit.leftPercent, mode)}`;
198
200
  const reset = includeReset && limit === resetLimit ? formatResetTime(limit.resetAtMs) : undefined;
199
201
  return reset ? `${base} resets ${reset}` : base;
200
202
  }
@@ -243,19 +245,19 @@ function findResetLimitForStatus(limits) {
243
245
  }
244
246
  return formatResetTime(lowest.resetAtMs) ? lowest : undefined;
245
247
  }
246
- function formatQuotaParts(quota, includeReset) {
248
+ function formatQuotaParts(quota, includeReset, mode) {
247
249
  if (quota.type !== "ready")
248
250
  return [];
249
251
  const resetLimit = includeReset
250
252
  ? findResetLimitForStatus(quota.limits)
251
253
  : undefined;
252
254
  return quota.limits
253
- .map((limit) => formatQuotaLimit(limit, resetLimit, includeReset))
255
+ .map((limit) => formatQuotaLimit(limit, resetLimit, includeReset, mode))
254
256
  .filter((part) => Boolean(part));
255
257
  }
256
- function formatQuota(quota) {
258
+ function formatQuota(quota, mode) {
257
259
  if (quota.type === "ready") {
258
- const parts = formatQuotaParts(quota, true);
260
+ const parts = formatQuotaParts(quota, true, mode);
259
261
  return parts.length > 0 ? parts.join(STATUS_SEPARATOR) : undefined;
260
262
  }
261
263
  if (quota.type === "missing")
@@ -298,12 +300,13 @@ function maxStatusChars(width) {
298
300
  }
299
301
  export function formatPromptStatusText(params) {
300
302
  const variant = params.variant;
303
+ const mode = params.quotaDisplay ?? DEFAULT_QUOTA_DISPLAY_MODE;
301
304
  const accountForms = formatAccountHints(params.quota, params.maskEmail);
302
- const quotaParts = formatQuotaParts(params.quota, true);
303
- const quotaPartsWithoutReset = formatQuotaParts(params.quota, false);
305
+ const quotaParts = formatQuotaParts(params.quota, true, mode);
306
+ const quotaPartsWithoutReset = formatQuotaParts(params.quota, false, mode);
304
307
  const quota = quotaParts.length > 0
305
308
  ? quotaParts.join(STATUS_SEPARATOR)
306
- : formatQuota(params.quota);
309
+ : formatQuota(params.quota, mode);
307
310
  const primaryQuota = quotaParts[0] ?? quota;
308
311
  const quotaWithoutReset = quotaPartsWithoutReset.length > 0
309
312
  ? quotaPartsWithoutReset.join(STATUS_SEPARATOR)
@@ -329,6 +332,144 @@ export function formatPromptStatusText(params) {
329
332
  const maxChars = maxStatusChars(params.width);
330
333
  return candidates.find((candidate) => candidate.length <= maxChars) ?? "";
331
334
  }
335
+ /**
336
+ * Columns this line may not spend, because something else on the row owns
337
+ * them: the prompt border and padding, and the model label sitting to the
338
+ * left of this slot ("Build - Big Pickle OpenCode Zen" is 31 characters).
339
+ */
340
+ const OVERVIEW_STATUS_RESERVED_CHARS = 40;
341
+ /**
342
+ * Character budget for the pool-wide line.
343
+ *
344
+ * Two bounds, whichever is tighter. The share cap keeps a wide terminal from
345
+ * handing the whole row to this line; the reserve keeps a narrow one from
346
+ * overrunning the model label beside it. The reserve is what binds at ordinary
347
+ * widths, and it has to: unlike the single-account line above - which is short
348
+ * enough that its budget is never the thing that stops it - this line grows
349
+ * with the size of the pool and reaches its budget on every render.
350
+ *
351
+ * Overflow is NOT absorbed by the renderer's truncation. At 80 columns a
352
+ * 48-character line was ellipsized through its middle, destroying account
353
+ * numbers and reset times either side of the cut, AND pushed the model label
354
+ * into a second row. The reserve is sized so that does not happen: 40 at 80
355
+ * columns, which is what measurably fits beside a 31-character label.
356
+ */
357
+ function maxOverviewStatusChars(width) {
358
+ if (!width || !Number.isFinite(width))
359
+ return 32;
360
+ return Math.max(Math.min(12, width), Math.min(Math.floor(width * 0.6), width - OVERVIEW_STATUS_RESERVED_CHARS));
361
+ }
362
+ /**
363
+ * Columns available to this line, preferring what the renderer measured.
364
+ *
365
+ * `width` is the whole terminal, which is the wrong number whenever anything
366
+ * else is on the row - a sidebar, the model label - and it is wrong by however
367
+ * much those take. A measured value comes from the laid-out node itself and
368
+ * needs no reserve at all, so it is used verbatim.
369
+ */
370
+ function resolveOverviewChars(width, availableChars) {
371
+ if (typeof availableChars === "number" &&
372
+ Number.isFinite(availableChars) &&
373
+ availableChars > 0) {
374
+ return Math.floor(availableChars);
375
+ }
376
+ return maxOverviewStatusChars(width);
377
+ }
378
+ /**
379
+ * Break one rendering across rows, at the separators it already has.
380
+ *
381
+ * Only `, ` boundaries are used, so a row never ends mid-account: a line cut
382
+ * between `#2` and its percentage is worse than no second row at all. A
383
+ * candidate with any single segment wider than the row cannot be laid out this
384
+ * way and is rejected, which sends the caller to the next rung down.
385
+ */
386
+ export function wrapStatusCandidate(candidate, maxChars, maxRows) {
387
+ if (candidate.length <= maxChars)
388
+ return [candidate];
389
+ if (maxRows <= 1 || maxChars <= 0)
390
+ return undefined;
391
+ const segments = candidate.split(", ");
392
+ const rows = [];
393
+ let row = "";
394
+ for (const [position, segment] of segments.entries()) {
395
+ const piece = position === segments.length - 1 ? segment : `${segment},`;
396
+ if (piece.length > maxChars)
397
+ return undefined;
398
+ if (row.length === 0) {
399
+ row = piece;
400
+ continue;
401
+ }
402
+ const joined = `${row} ${piece}`;
403
+ if (joined.length <= maxChars) {
404
+ row = joined;
405
+ continue;
406
+ }
407
+ rows.push(row);
408
+ if (rows.length >= maxRows)
409
+ return undefined;
410
+ row = piece;
411
+ }
412
+ if (row.length > 0)
413
+ rows.push(row);
414
+ return rows.length > 0 && rows.length <= maxRows ? rows : undefined;
415
+ }
416
+ /**
417
+ * Lay a candidate ladder out in the space available, in up to `maxRows` rows.
418
+ *
419
+ * The ladder is walked once, and the first rung that fits wins - whether it
420
+ * fits on one row or has to be broken across two. Trying every rung on one row
421
+ * before allowing a second would shed detail the reader has room for.
422
+ */
423
+ export function fitStatusLines(candidates, maxChars, maxRows) {
424
+ for (const candidate of candidates) {
425
+ const rows = wrapStatusCandidate(candidate, maxChars, maxRows);
426
+ if (rows)
427
+ return rows;
428
+ }
429
+ const last = candidates.at(-1);
430
+ return last ? [last] : [];
431
+ }
432
+ /**
433
+ * Render the whole account pool, degrading through
434
+ * {@link formatQuotaOverviewCandidates} until one form fits.
435
+ */
436
+ export function formatQuotaOverviewStatusLines(params) {
437
+ return fitStatusLines(formatQuotaOverviewCandidates(params.accounts, params.options), resolveOverviewChars(params.width, params.availableChars), params.maxRows ?? 1);
438
+ }
439
+ export function formatQuotaOverviewStatusText(params) {
440
+ return formatQuotaOverviewStatusLines(params)[0] ?? "";
441
+ }
442
+ /** The banked-reset line, laid out the same way as the pool line. */
443
+ export function formatQuotaResetsStatusLines(params) {
444
+ const candidates = formatQuotaResetsCandidates(params.accounts, {
445
+ maskEmail: params.options.maskEmail,
446
+ names: params.options.names,
447
+ now: params.options.now,
448
+ });
449
+ if (candidates.length === 0)
450
+ return [];
451
+ return fitStatusLines(candidates, resolveOverviewChars(params.width, params.availableChars), params.maxRows ?? 1);
452
+ }
453
+ /**
454
+ * Colour the pool by its healthiest account.
455
+ *
456
+ * A pool is only in trouble when nothing in it has room left, so the account
457
+ * with the most headroom decides the colour: keying on the worst account would
458
+ * paint the line red for a spent seat that rotation has already stopped
459
+ * selecting while six healthy ones serve every request.
460
+ */
461
+ export function resolveQuotaOverviewTone(accounts, stale = false) {
462
+ if (stale)
463
+ return "stale";
464
+ const best = resolveQuotaOverviewTonePercent(accounts);
465
+ if (best === undefined)
466
+ return "unknown";
467
+ if (best <= DANGER_LIMIT_LEFT_PERCENT)
468
+ return "danger";
469
+ if (best <= WARNING_LIMIT_LEFT_PERCENT)
470
+ return "warning";
471
+ return "normal";
472
+ }
332
473
  export function resolveQuotaPromptTone(quota) {
333
474
  if (quota.type === "ready") {
334
475
  if (quota.stale)
@@ -440,13 +581,13 @@ function formatUpdatedAge(fetchedAt, now) {
440
581
  const days = Math.floor(hours / 24);
441
582
  return `${days}d ago`;
442
583
  }
443
- function formatDetailsLimit(limit) {
584
+ function formatDetailsLimit(limit, mode) {
444
585
  const label = limit.label.trim() || "quota";
445
- const left = isPercent(limit.leftPercent)
446
- ? `${limit.leftPercent}% left`
586
+ const percent = isPercent(limit.leftPercent)
587
+ ? formatNamedQuotaPercent(limit.leftPercent, mode)
447
588
  : "unavailable";
448
589
  const reset = formatReset(limit.resetAtMs);
449
- return reset ? `${label}: ${left}, resets ${reset}` : `${label}: ${left}`;
590
+ return reset ? `${label}: ${percent}, resets ${reset}` : `${label}: ${percent}`;
450
591
  }
451
592
  export function formatQuotaDetailsText(quota, now = Date.now(), options = {}) {
452
593
  if (quota.type === "loading")
@@ -469,7 +610,7 @@ export function formatQuotaDetailsText(quota, now = Date.now(), options = {}) {
469
610
  lines.push(`Account: ${accountHint}`);
470
611
  }
471
612
  for (const limit of quota.limits) {
472
- lines.push(formatDetailsLimit(limit));
613
+ lines.push(formatDetailsLimit(limit, options.quotaDisplay ?? DEFAULT_QUOTA_DISPLAY_MODE));
473
614
  }
474
615
  // Named through formatPlanType like the stored copy, so one seat does not
475
616
  // print "Business" in codex-list and "team" here in the same session.
@@ -1 +1 @@
1
- {"version":3,"file":"tui-status.js","sourceRoot":"","sources":["../../lib/tui-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-status.js","sourceRoot":"","sources":["../../lib/tui-status.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export type AccountStatus = "active" | "ok" | "rate-limited" | "cooldown" | "dis
3
3
  export interface AccountInfo {
4
4
  index: number;
5
5
  accountId?: string;
6
+ accountUserId?: string;
6
7
  accountLabel?: string;
7
8
  email?: string;
8
9
  addedAt?: number;
@@ -37,6 +38,7 @@ export type AccountAction = "back" | "delete" | "refresh" | "toggle" | "cancel";
37
38
  export declare function showAuthMenu(accounts: AccountInfo[], options?: AuthMenuOptions): Promise<AuthMenuAction>;
38
39
  export declare function showAccountDetails(account: AccountInfo, options?: {
39
40
  maskEmail?: boolean;
41
+ peerAccounts?: readonly AccountInfo[];
40
42
  }): Promise<AccountAction>;
41
43
  export { isTTY };
42
44
  //# sourceMappingURL=auth-menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-menu.d.ts","sourceRoot":"","sources":["../../../lib/ui/auth-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,EAAE,MAAM,WAAW,CAAC;AAOxC,MAAM,MAAM,aAAa,GACtB,QAAQ,GACR,IAAI,GACJ,cAAc,GACd,UAAU,GACV,UAAU,GACV,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAEb,MAAM,WAAW,WAAW;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GACvB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEtB,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAsFhF,wBAAsB,YAAY,CACjC,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,eAAoB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAwDzB;AAED,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,OAAO,CAAC,aAAa,CAAC,CA4CxB;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"auth-menu.d.ts","sourceRoot":"","sources":["../../../lib/ui/auth-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,EAAE,MAAM,WAAW,CAAC;AAOxC,MAAM,MAAM,aAAa,GACtB,QAAQ,GACR,IAAI,GACJ,cAAc,GACd,UAAU,GACV,UAAU,GACV,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAEb,MAAM,WAAW,WAAW;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GACvB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEtB,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AA+FhF,wBAAsB,YAAY,CACjC,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,eAAoB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAwDzB;AAED,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;CAAO,GAC1E,OAAO,CAAC,aAAa,CAAC,CA6CxB;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}