@cortexkit/opencode-antigravity-auth 2.0.0 → 2.1.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 (77) hide show
  1. package/README.md +3 -8
  2. package/dist/cli.js +330 -83
  3. package/dist/cli.js.map +4 -4
  4. package/dist/index.js +17039 -15773
  5. package/dist/index.js.map +4 -4
  6. package/dist/src/plugin/account-command-oauth.d.ts +34 -0
  7. package/dist/src/plugin/account-command-oauth.d.ts.map +1 -0
  8. package/dist/src/plugin/account-command-oauth.js +156 -0
  9. package/dist/src/plugin/account-command-oauth.js.map +1 -0
  10. package/dist/src/plugin/auth-loader.d.ts +16 -1
  11. package/dist/src/plugin/auth-loader.d.ts.map +1 -1
  12. package/dist/src/plugin/auth-loader.js +113 -32
  13. package/dist/src/plugin/auth-loader.js.map +1 -1
  14. package/dist/src/plugin/background-quota-refresh.d.ts +146 -0
  15. package/dist/src/plugin/background-quota-refresh.d.ts.map +1 -0
  16. package/dist/src/plugin/background-quota-refresh.js +347 -0
  17. package/dist/src/plugin/background-quota-refresh.js.map +1 -0
  18. package/dist/src/plugin/command-data.d.ts +61 -8
  19. package/dist/src/plugin/command-data.d.ts.map +1 -1
  20. package/dist/src/plugin/command-data.js +231 -39
  21. package/dist/src/plugin/command-data.js.map +1 -1
  22. package/dist/src/plugin/commands.d.ts +12 -9
  23. package/dist/src/plugin/commands.d.ts.map +1 -1
  24. package/dist/src/plugin/commands.js +140 -33
  25. package/dist/src/plugin/commands.js.map +1 -1
  26. package/dist/src/plugin/config/schema.d.ts +2 -0
  27. package/dist/src/plugin/config/schema.d.ts.map +1 -1
  28. package/dist/src/plugin/config/schema.js +24 -0
  29. package/dist/src/plugin/config/schema.js.map +1 -1
  30. package/dist/src/plugin/debug.d.ts +7 -0
  31. package/dist/src/plugin/debug.d.ts.map +1 -1
  32. package/dist/src/plugin/debug.js +25 -0
  33. package/dist/src/plugin/debug.js.map +1 -1
  34. package/dist/src/plugin/fetch-interceptor.d.ts.map +1 -1
  35. package/dist/src/plugin/fetch-interceptor.js +13 -1
  36. package/dist/src/plugin/fetch-interceptor.js.map +1 -1
  37. package/dist/src/plugin/index.d.ts +7 -0
  38. package/dist/src/plugin/index.d.ts.map +1 -1
  39. package/dist/src/plugin/index.js +127 -24
  40. package/dist/src/plugin/index.js.map +1 -1
  41. package/dist/src/plugin/killswitch.d.ts.map +1 -1
  42. package/dist/src/plugin/killswitch.js +12 -9
  43. package/dist/src/plugin/killswitch.js.map +1 -1
  44. package/dist/src/plugin/oauth-methods.d.ts.map +1 -1
  45. package/dist/src/plugin/oauth-methods.js +2 -10
  46. package/dist/src/plugin/oauth-methods.js.map +1 -1
  47. package/dist/src/plugin/quota.d.ts +42 -1
  48. package/dist/src/plugin/quota.d.ts.map +1 -1
  49. package/dist/src/plugin/quota.js +185 -41
  50. package/dist/src/plugin/quota.js.map +1 -1
  51. package/dist/src/plugin/request.d.ts.map +1 -1
  52. package/dist/src/plugin/request.js +6 -2
  53. package/dist/src/plugin/request.js.map +1 -1
  54. package/dist/src/plugin/ui/auth-menu.d.ts.map +1 -1
  55. package/dist/src/plugin/ui/auth-menu.js +2 -4
  56. package/dist/src/plugin/ui/auth-menu.js.map +1 -1
  57. package/dist/src/plugin/ui/quota-status.d.ts.map +1 -1
  58. package/dist/src/plugin/ui/quota-status.js +3 -5
  59. package/dist/src/plugin/ui/quota-status.js.map +1 -1
  60. package/dist/src/sidebar-state.d.ts +126 -9
  61. package/dist/src/sidebar-state.d.ts.map +1 -1
  62. package/dist/src/sidebar-state.js +185 -25
  63. package/dist/src/sidebar-state.js.map +1 -1
  64. package/dist/src/tui/command-dialogs.js +101 -3
  65. package/dist/src/tui/command-dialogs.js.map +1 -1
  66. package/dist/src/tui.d.ts.map +1 -1
  67. package/dist/src/tui.js +55 -20
  68. package/dist/src/tui.js.map +1 -1
  69. package/package.json +6 -6
  70. package/src/plugin/command-data.ts +331 -51
  71. package/src/sidebar-state.ts +306 -32
  72. package/src/tui/command-dialogs.tsx +136 -3
  73. package/src/tui-compiled/plugin/command-data.ts +331 -51
  74. package/src/tui-compiled/sidebar-state.ts +306 -32
  75. package/src/tui-compiled/tui/command-dialogs.tsx +189 -69
  76. package/src/tui-compiled/tui.tsx +73 -30
  77. package/src/tui.tsx +82 -28
@@ -37,10 +37,18 @@
37
37
  * 100 entries within 24h.
38
38
  */
39
39
  export declare const SIDEBAR_STATE_VERSION: 1;
40
- export type SidebarQuotaKey = 'claude' | 'gemini-pro' | 'gemini-flash' | 'gpt-oss';
40
+ export type SidebarQuotaKey = 'gemini' | 'non-gemini';
41
+ export interface SidebarQuotaWindowEntry {
42
+ window: 'weekly' | '5h';
43
+ remainingPercent: number;
44
+ resetAt?: number;
45
+ }
41
46
  export interface SidebarQuotaEntry {
47
+ /** Most-constrained window's remaining % (derived, for back-compat). */
42
48
  remainingPercent: number;
43
49
  resetAt?: number;
50
+ /** Per-window breakdown. Omitted in pre-windows snapshots. */
51
+ windows?: SidebarQuotaWindowEntry[];
44
52
  }
45
53
  export interface SidebarAccountState {
46
54
  id: string;
@@ -50,6 +58,15 @@ export interface SidebarAccountState {
50
58
  current: boolean;
51
59
  cooldownUntil?: number;
52
60
  quota: Partial<Record<SidebarQuotaKey, SidebarQuotaEntry>>;
61
+ /**
62
+ * Captured plan tier. Absent when unknown — do NOT default to `free-tier`.
63
+ * `id` is the raw upstream string (e.g. `"free-tier"`); never normalised.
64
+ */
65
+ tier?: {
66
+ id: string;
67
+ paidId?: string;
68
+ capturedAt: number;
69
+ };
53
70
  }
54
71
  export interface SidebarRoutingEntry {
55
72
  accountId: string;
@@ -171,24 +188,124 @@ export interface SidebarAccountRedactionInput {
171
188
  /** Health score in `[0, 100]`. Defaults to 100 when missing. */
172
189
  healthScore?: number;
173
190
  cachedQuota?: {
174
- claude?: {
175
- remainingFraction?: number;
176
- resetTime?: string;
177
- };
178
- 'gemini-pro'?: {
191
+ gemini?: {
179
192
  remainingFraction?: number;
180
193
  resetTime?: string;
194
+ windows?: Array<{
195
+ window: 'weekly' | '5h';
196
+ remainingFraction: number;
197
+ resetTime: string;
198
+ }>;
181
199
  };
182
- 'gemini-flash'?: {
200
+ 'non-gemini'?: {
183
201
  remainingFraction?: number;
184
202
  resetTime?: string;
203
+ windows?: Array<{
204
+ window: 'weekly' | '5h';
205
+ remainingFraction: number;
206
+ resetTime: string;
207
+ }>;
185
208
  };
186
- 'gpt-oss'?: {
209
+ [legacyKey: string]: {
187
210
  remainingFraction?: number;
188
211
  resetTime?: string;
189
- };
212
+ modelCount?: number;
213
+ windows?: Array<{
214
+ window: 'weekly' | '5h';
215
+ remainingFraction: number;
216
+ resetTime: string;
217
+ }>;
218
+ } | undefined;
219
+ };
220
+ /**
221
+ * Opaque identity stamp that was attached to the persisted quota snapshot.
222
+ * Used together with `currentQuotaAccountId` to detect a stale cache that
223
+ * landed on the wrong account after an index shift or token replacement.
224
+ * PII-safe — it is a 16-char hash, not the refresh token itself.
225
+ */
226
+ cachedQuotaAccountId?: string;
227
+ /**
228
+ * Opaque identity stamp for the account that is currently at this index.
229
+ * The redactor drops `cachedQuota` when `cachedQuotaAccountId` is set
230
+ * AND does not match this value, mirroring `toCommandAccountRow` in the
231
+ * command-data service. Omitted in the persisted sidebar state.
232
+ */
233
+ currentQuotaAccountId?: string;
234
+ /**
235
+ * Captured plan tier from `loadCodeAssist`. Absent when unknown. The `id`
236
+ * is the raw upstream string; `capturedAt` is epoch ms. Not PII — tier
237
+ * metadata survives the redaction boundary unchanged.
238
+ */
239
+ tier?: {
240
+ id: string;
241
+ paidId?: string;
242
+ capturedAt: number;
190
243
  };
191
244
  }
245
+ /**
246
+ * Build a `{ id, capturedAt }` tier object from account fields, or `undefined`
247
+ * when either field is absent. Centralised so every producer (index.ts,
248
+ * background-quota-refresh.ts, command-data.ts) uses the same guard and the
249
+ * same shape -- the same pattern shipped as inline literals across three files
250
+ * and produced six missed-field bugs; one helper ends that.
251
+ */
252
+ export declare function toCapturedTier(account: {
253
+ capturedTierId?: string;
254
+ capturedPaidTierId?: string;
255
+ capturedTierAt?: number;
256
+ }): {
257
+ id: string;
258
+ paidId?: string;
259
+ capturedAt: number;
260
+ } | undefined;
261
+ /**
262
+ * Map pre-pool legacy quota keys to the current two-pool schema at read time.
263
+ *
264
+ * Legacy mappings (empirically settled from burn tests):
265
+ * `gemini-pro` + `gemini-flash` → `gemini`
266
+ * `claude` + `gpt-oss` → `non-gemini`
267
+ *
268
+ * Where multiple legacy keys collapse into one pool the MIN remainingFraction
269
+ * and earliest resetTime are used (most-constrained-first, matching the
270
+ * window-level rule). No `windows` arrays are invented for migrated entries;
271
+ * the single aggregate bar is the correct render for pre-window snapshots.
272
+ *
273
+ * Non-legacy keys that are already canonical (`gemini`, `non-gemini`) are
274
+ * carried through unchanged. The next real quota refresh overwrites any
275
+ * migrated snapshot with authoritative data.
276
+ */
277
+ export declare function normalizeLegacyCachedQuota(raw: SidebarAccountRedactionInput['cachedQuota']): SidebarAccountRedactionInput['cachedQuota'];
278
+ /**
279
+ * Project a raw cachedQuota pool entry into the sidebar-safe shape.
280
+ *
281
+ * Centralized seam — every producer (quota.ts pushSidebarQuotaSnapshot,
282
+ * auth-loader.ts materializer, command-data.ts writeSidebar) routes
283
+ * through here so the `windows` array is never dropped by an inline
284
+ * `{ remainingFraction, resetTime }` literal.
285
+ *
286
+ * Tolerant: returns `undefined` when the source is missing or the
287
+ * `remainingFraction` is not a finite number. Legacy entries without
288
+ * `windows` produce `{ remainingPercent, resetAt }` only — the TUI's
289
+ * legacy path then renders a single bar.
290
+ */
291
+ export declare function projectQuotaPoolForSidebar(source: {
292
+ remainingFraction?: number;
293
+ resetTime?: string;
294
+ windows?: ReadonlyArray<{
295
+ window: 'weekly' | '5h';
296
+ remainingFraction: number;
297
+ resetTime: string;
298
+ }>;
299
+ }): SidebarQuotaEntry | undefined;
300
+ /**
301
+ * Returns `true` when an account at `index` is the active account for
302
+ * at least one model family. Two accounts CAN both be current — one
303
+ * serving claude, one serving gemini — so this must not collapse to one.
304
+ */
305
+ export declare function isAccountCurrent(index: number, activeIndexByFamily: {
306
+ claude: number;
307
+ gemini: number;
308
+ }): boolean;
192
309
  /**
193
310
  * Convert a live account snapshot into the redacted shape the TUI renders.
194
311
  * The redacted `SidebarAccountState` carries no email, refresh token, access
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-state.d.ts","sourceRoot":"","sources":["../../src/sidebar-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidebar-state.d.ts","sourceRoot":"","sources":["../../src/sidebar-state.ts"],"names":[],"mappings":"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"}
@@ -192,18 +192,14 @@ function normalizeAccount(input) {
192
192
  const quotaRaw = record.quota;
193
193
  const quota = {};
194
194
  if (isObject(quotaRaw)) {
195
- for (const key of [
196
- 'claude',
197
- 'gemini-pro',
198
- 'gemini-flash',
199
- 'gpt-oss',
200
- ]) {
195
+ for (const key of ['gemini', 'non-gemini']) {
201
196
  const entry = quotaRaw[key];
202
197
  const normalized = normalizeQuota(entry);
203
198
  if (normalized)
204
199
  quota[key] = normalized;
205
200
  }
206
201
  }
202
+ const tier = normalizeTier(record.tier);
207
203
  return {
208
204
  id,
209
205
  label,
@@ -212,8 +208,22 @@ function normalizeAccount(input) {
212
208
  current,
213
209
  cooldownUntil,
214
210
  quota,
211
+ ...(tier !== undefined ? { tier } : {}),
215
212
  };
216
213
  }
214
+ function normalizeTier(input) {
215
+ if (!isObject(input))
216
+ return undefined;
217
+ const record = input;
218
+ const id = typeof record.id === 'string' && record.id.length > 0 ? record.id : null;
219
+ const capturedAt = toFiniteNumber(record.capturedAt);
220
+ if (!id || capturedAt === null)
221
+ return undefined;
222
+ const paidId = typeof record.paidId === 'string' && record.paidId.length > 0
223
+ ? record.paidId
224
+ : undefined;
225
+ return { id, ...(paidId ? { paidId } : {}), capturedAt };
226
+ }
217
227
  function normalizeQuota(input) {
218
228
  if (!isObject(input))
219
229
  return null;
@@ -222,9 +232,32 @@ function normalizeQuota(input) {
222
232
  if (remaining === null)
223
233
  return null;
224
234
  const resetAt = toFiniteNumber(record.resetAt) ?? undefined;
235
+ // Tolerant: deserialize windows array if present; drop malformed entries.
236
+ const windowsRaw = record.windows;
237
+ let windows;
238
+ if (Array.isArray(windowsRaw)) {
239
+ const parsed = windowsRaw
240
+ .filter(isObject)
241
+ .map((w) => {
242
+ const win = w.window;
243
+ const rp = toFiniteNumber(w.remainingPercent);
244
+ const ra = toFiniteNumber(w.resetAt);
245
+ if ((win !== 'weekly' && win !== '5h') || rp === null)
246
+ return null;
247
+ return {
248
+ window: win,
249
+ remainingPercent: clampNumber(rp, 0, 100),
250
+ resetAt: ra ?? undefined,
251
+ };
252
+ })
253
+ .filter((v) => v !== null);
254
+ if (parsed.length > 0)
255
+ windows = parsed;
256
+ }
225
257
  return {
226
258
  remainingPercent: clampNumber(remaining, 0, 100),
227
259
  resetAt,
260
+ windows,
228
261
  };
229
262
  }
230
263
  function normalizeRouting(input) {
@@ -310,6 +343,132 @@ export function pruneActiveRouting(map, now) {
310
343
  }
311
344
  return Object.fromEntries(filtered.slice(0, ACTIVE_ROUTING_MAX_ENTRIES));
312
345
  }
346
+ /**
347
+ * Build a `{ id, capturedAt }` tier object from account fields, or `undefined`
348
+ * when either field is absent. Centralised so every producer (index.ts,
349
+ * background-quota-refresh.ts, command-data.ts) uses the same guard and the
350
+ * same shape -- the same pattern shipped as inline literals across three files
351
+ * and produced six missed-field bugs; one helper ends that.
352
+ */
353
+ export function toCapturedTier(account) {
354
+ return account.capturedTierId !== undefined &&
355
+ account.capturedTierAt !== undefined
356
+ ? {
357
+ id: account.capturedTierId,
358
+ ...(account.capturedPaidTierId !== undefined
359
+ ? { paidId: account.capturedPaidTierId }
360
+ : {}),
361
+ capturedAt: account.capturedTierAt,
362
+ }
363
+ : undefined;
364
+ }
365
+ /**
366
+ * Map pre-pool legacy quota keys to the current two-pool schema at read time.
367
+ *
368
+ * Legacy mappings (empirically settled from burn tests):
369
+ * `gemini-pro` + `gemini-flash` → `gemini`
370
+ * `claude` + `gpt-oss` → `non-gemini`
371
+ *
372
+ * Where multiple legacy keys collapse into one pool the MIN remainingFraction
373
+ * and earliest resetTime are used (most-constrained-first, matching the
374
+ * window-level rule). No `windows` arrays are invented for migrated entries;
375
+ * the single aggregate bar is the correct render for pre-window snapshots.
376
+ *
377
+ * Non-legacy keys that are already canonical (`gemini`, `non-gemini`) are
378
+ * carried through unchanged. The next real quota refresh overwrites any
379
+ * migrated snapshot with authoritative data.
380
+ */
381
+ export function normalizeLegacyCachedQuota(raw) {
382
+ if (!raw)
383
+ return raw;
384
+ // Pool already carries current keys — fast path when no legacy keys present.
385
+ const hasLegacy = 'gemini-pro' in raw ||
386
+ 'gemini-flash' in raw ||
387
+ 'claude' in raw ||
388
+ 'gpt-oss' in raw;
389
+ if (!hasLegacy)
390
+ return raw;
391
+ // Pick the earlier of two ISO reset timestamps, preferring a defined
392
+ // value over undefined. Extracted so both branches of minFraction use
393
+ // the same merge rather than the previous asymmetry where the a-wins
394
+ // branch dropped b's possibly-earlier resetTime.
395
+ const earlierResetTime = (a, b) => {
396
+ if (!a)
397
+ return b;
398
+ if (!b)
399
+ return a;
400
+ return a < b ? a : b;
401
+ };
402
+ const minFraction = (a, b) => {
403
+ if (!a)
404
+ return b;
405
+ if (!b)
406
+ return a;
407
+ const fa = a.remainingFraction ?? 1;
408
+ const fb = b.remainingFraction ?? 1;
409
+ const winner = fa <= fb ? a : b;
410
+ const loser = fa <= fb ? b : a;
411
+ // Always merge to the earliest resetTime regardless of which pool wins
412
+ // the fraction comparison — an earlier window expiry from the loser
413
+ // pool must not be silently dropped.
414
+ return {
415
+ ...winner,
416
+ resetTime: earlierResetTime(winner.resetTime, loser.resetTime),
417
+ };
418
+ };
419
+ const gemini = minFraction(raw.gemini, minFraction(raw['gemini-pro'], raw['gemini-flash'])) ?? raw.gemini;
420
+ const nonGemini = minFraction(raw['non-gemini'], minFraction(raw.claude, raw['gpt-oss'])) ?? raw['non-gemini'];
421
+ return {
422
+ ...(gemini !== undefined ? { gemini } : {}),
423
+ ...(nonGemini !== undefined ? { 'non-gemini': nonGemini } : {}),
424
+ };
425
+ }
426
+ /**
427
+ * Project a raw cachedQuota pool entry into the sidebar-safe shape.
428
+ *
429
+ * Centralized seam — every producer (quota.ts pushSidebarQuotaSnapshot,
430
+ * auth-loader.ts materializer, command-data.ts writeSidebar) routes
431
+ * through here so the `windows` array is never dropped by an inline
432
+ * `{ remainingFraction, resetTime }` literal.
433
+ *
434
+ * Tolerant: returns `undefined` when the source is missing or the
435
+ * `remainingFraction` is not a finite number. Legacy entries without
436
+ * `windows` produce `{ remainingPercent, resetAt }` only — the TUI's
437
+ * legacy path then renders a single bar.
438
+ */
439
+ export function projectQuotaPoolForSidebar(source) {
440
+ const fraction = source.remainingFraction;
441
+ if (typeof fraction !== 'number' || !Number.isFinite(fraction))
442
+ return undefined;
443
+ const remainingPercent = clampNumber(Math.round(fraction * 100), 0, 100);
444
+ let resetAt;
445
+ if (typeof source.resetTime === 'string' && source.resetTime.length > 0) {
446
+ const parsed = Date.parse(source.resetTime);
447
+ if (Number.isFinite(parsed))
448
+ resetAt = parsed;
449
+ }
450
+ const windows = source.windows?.length
451
+ ? source.windows.map((w) => ({
452
+ window: w.window,
453
+ remainingPercent: clampNumber(Math.round(w.remainingFraction * 100), 0, 100),
454
+ resetAt: typeof w.resetTime === 'string' && w.resetTime.length > 0
455
+ ? (() => {
456
+ const parsed = Date.parse(w.resetTime);
457
+ return Number.isFinite(parsed) ? parsed : undefined;
458
+ })()
459
+ : undefined,
460
+ }))
461
+ : undefined;
462
+ return { remainingPercent, resetAt, windows };
463
+ }
464
+ /**
465
+ * Returns `true` when an account at `index` is the active account for
466
+ * at least one model family. Two accounts CAN both be current — one
467
+ * serving claude, one serving gemini — so this must not collapse to one.
468
+ */
469
+ export function isAccountCurrent(index, activeIndexByFamily) {
470
+ return (index === activeIndexByFamily.claude || index === activeIndexByFamily.gemini);
471
+ }
313
472
  /**
314
473
  * Convert a live account snapshot into the redacted shape the TUI renders.
315
474
  * The redacted `SidebarAccountState` carries no email, refresh token, access
@@ -325,30 +484,29 @@ export function redactAccountForSidebar(source) {
325
484
  Number.isFinite(source.coolingDownUntil)
326
485
  ? source.coolingDownUntil
327
486
  : undefined;
328
- const health = clampNumber(typeof source.healthScore === 'number' ? source.healthScore : null, 0, 100);
487
+ const health = clampNumber(typeof source.healthScore === 'number' ? source.healthScore : 100, 0, 100);
329
488
  const quota = {};
330
- const cached = source.cachedQuota;
489
+ // Stamp mismatch: the persisted quota snapshot was captured for a
490
+ // different account than the one currently at this index. Drop the
491
+ // stale cache rather than rendering the wrong account's quota
492
+ // percentages. Mirrors `toCommandAccountRow` in command-data.
493
+ const staleCachedQuota = typeof source.cachedQuotaAccountId === 'string' &&
494
+ typeof source.currentQuotaAccountId === 'string' &&
495
+ source.cachedQuotaAccountId !== source.currentQuotaAccountId;
496
+ // Normalize legacy per-pool keys to the current two-pool schema before
497
+ // reading. This is non-destructive: the next real quota refresh will
498
+ // overwrite the migrated snapshot with authoritative data.
499
+ const cached = staleCachedQuota
500
+ ? undefined
501
+ : normalizeLegacyCachedQuota(source.cachedQuota);
331
502
  if (cached) {
332
- for (const key of [
333
- 'claude',
334
- 'gemini-pro',
335
- 'gemini-flash',
336
- 'gpt-oss',
337
- ]) {
503
+ for (const key of ['gemini', 'non-gemini']) {
338
504
  const entry = cached[key];
339
505
  if (!entry)
340
506
  continue;
341
- const fraction = entry.remainingFraction;
342
- if (typeof fraction !== 'number' || !Number.isFinite(fraction))
343
- continue;
344
- const remainingPercent = clampNumber(Math.round(fraction * 100), 0, 100);
345
- let resetAt;
346
- if (typeof entry.resetTime === 'string' && entry.resetTime.length > 0) {
347
- const parsed = Date.parse(entry.resetTime);
348
- if (Number.isFinite(parsed))
349
- resetAt = parsed;
350
- }
351
- quota[key] = { remainingPercent, resetAt };
507
+ const projected = projectQuotaPoolForSidebar(entry);
508
+ if (projected)
509
+ quota[key] = projected;
352
510
  }
353
511
  }
354
512
  return {
@@ -359,6 +517,8 @@ export function redactAccountForSidebar(source) {
359
517
  current,
360
518
  cooldownUntil,
361
519
  quota,
520
+ // Tier is plan metadata, not PII — it passes the redaction boundary.
521
+ ...(source.tier !== undefined ? { tier: source.tier } : {}),
362
522
  };
363
523
  }
364
524
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-state.js","sourceRoot":"","sources":["../../src/sidebar-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidebar-state.js","sourceRoot":"","sources":["../../src/sidebar-state.ts"],"names":[],"mappings":"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"}
@@ -158,6 +158,106 @@ function renderAccountDialog(api, initialPayload, apply) {
158
158
  renderMain();
159
159
  return null;
160
160
  };
161
+ const updateAccounts = (knobs) => {
162
+ const accounts = knobs.accounts;
163
+ if (!Array.isArray(accounts))
164
+ return;
165
+ payload.knobs = {
166
+ ...payload.knobs,
167
+ accounts: accounts,
168
+ };
169
+ };
170
+ const openOAuthLabelPrompt = (code, oauthUrl) => {
171
+ const DialogPrompt = api.ui.DialogPrompt;
172
+ api.ui.dialog.setSize('xlarge');
173
+ api.ui.dialog.replace(() => (_jsx(DialogPrompt, { title: 'OAuth sign-in \u2014 label', description: () => (_jsx("text", { children: "A short name for this account (optional)." })), placeholder: 'e.g. work', value: '', onConfirm: (value) => {
174
+ const label = value.trim();
175
+ const args = label
176
+ ? `add-oauth-finish ${code} --label ${label}`
177
+ : `add-oauth-finish ${code}`;
178
+ void apply('antigravity-account', args, { timeoutMs: 120_000 })
179
+ .then((result) => {
180
+ api.ui.toast({ message: result.text });
181
+ updateAccounts(result.knobs);
182
+ renderMain();
183
+ })
184
+ .catch(() => {
185
+ api.ui.toast({ message: 'OAuth account add failed' });
186
+ renderMain();
187
+ });
188
+ }, onCancel: () => openOAuthCodePrompt(oauthUrl) })));
189
+ };
190
+ const openOAuthCodePrompt = (oauthUrl) => {
191
+ const DialogPrompt = api.ui.DialogPrompt;
192
+ api.ui.dialog.setSize('xlarge');
193
+ api.ui.dialog.replace(() => (_jsx(DialogPrompt, { title: 'OAuth sign-in \u2014 enter code', description: () => (_jsx("text", { children: "After signing in, paste the full callback URL or authorization code." })), placeholder: 'Paste callback URL or code here', value: '', onConfirm: (value) => {
194
+ const code = value.trim();
195
+ if (!code) {
196
+ // Empty submit must keep the user inside the flow, not
197
+ // silently drop them back to the account list. Surface the
198
+ // validation message and reopen the same prompt so the
199
+ // user can paste again.
200
+ api.ui.toast({
201
+ message: 'Please paste the callback URL or authorization code.',
202
+ });
203
+ openOAuthCodePrompt(oauthUrl);
204
+ return;
205
+ }
206
+ openOAuthLabelPrompt(code, oauthUrl);
207
+ }, onCancel: () => openOAuthUrlScreen(oauthUrl) })));
208
+ };
209
+ const openOAuthUrlScreen = (oauthUrl) => {
210
+ const DialogSelect = (api.ui.DialogSelect);
211
+ api.ui.dialog.setSize('xlarge');
212
+ api.ui.dialog.replace(() => (_jsx(DialogSelect, { title: 'OAuth sign-in', options: [
213
+ {
214
+ title: 'Copy URL to clipboard',
215
+ value: 'copy',
216
+ description: oauthUrl,
217
+ },
218
+ {
219
+ title: 'Enter sign-in code',
220
+ value: 'code',
221
+ description: 'Open the URL in your browser, sign in, then paste the callback URL or code.',
222
+ },
223
+ { title: 'Cancel', value: 'cancel' },
224
+ ], onSelect: (option) => {
225
+ if (option.value === 'cancel') {
226
+ renderMain();
227
+ return;
228
+ }
229
+ if (option.value === 'copy') {
230
+ const copied = api.renderer.copyToClipboardOSC52(oauthUrl);
231
+ api.ui.toast({
232
+ message: copied
233
+ ? 'URL copied to clipboard'
234
+ : 'Copy unavailable — select the URL text above to copy',
235
+ });
236
+ openOAuthUrlScreen(oauthUrl);
237
+ return;
238
+ }
239
+ openOAuthCodePrompt(oauthUrl);
240
+ } })));
241
+ };
242
+ const openAddOAuthStart = () => {
243
+ void apply('antigravity-account', 'add-oauth-start', {
244
+ timeoutMs: 120_000,
245
+ })
246
+ .then((result) => {
247
+ updateAccounts(result.knobs);
248
+ const oauthUrl = result.knobs.oauthUrl;
249
+ if (typeof oauthUrl === 'string' && oauthUrl.length > 0) {
250
+ openOAuthUrlScreen(oauthUrl);
251
+ return;
252
+ }
253
+ api.ui.toast({ message: result.text });
254
+ renderMain();
255
+ })
256
+ .catch(() => {
257
+ api.ui.toast({ message: 'OAuth account add failed' });
258
+ renderMain();
259
+ });
260
+ };
161
261
  const renderManageRow = (row) => {
162
262
  const DialogSelect = (api.ui.DialogSelect);
163
263
  api.ui.dialog.setSize('xlarge');
@@ -265,9 +365,7 @@ function renderAccountDialog(api, initialPayload, apply) {
265
365
  return;
266
366
  }
267
367
  if (raw === 'add') {
268
- void runApply('add', { timeoutMs: 120_000 }).catch(() => {
269
- api.ui.toast({ message: 'Account add failed' });
270
- });
368
+ openAddOAuthStart();
271
369
  return;
272
370
  }
273
371
  if (raw.startsWith('__manage__ ')) {