@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.
- package/README.md +3 -8
- package/dist/cli.js +330 -83
- package/dist/cli.js.map +4 -4
- package/dist/index.js +17039 -15773
- package/dist/index.js.map +4 -4
- package/dist/src/plugin/account-command-oauth.d.ts +34 -0
- package/dist/src/plugin/account-command-oauth.d.ts.map +1 -0
- package/dist/src/plugin/account-command-oauth.js +156 -0
- package/dist/src/plugin/account-command-oauth.js.map +1 -0
- package/dist/src/plugin/auth-loader.d.ts +16 -1
- package/dist/src/plugin/auth-loader.d.ts.map +1 -1
- package/dist/src/plugin/auth-loader.js +113 -32
- package/dist/src/plugin/auth-loader.js.map +1 -1
- package/dist/src/plugin/background-quota-refresh.d.ts +146 -0
- package/dist/src/plugin/background-quota-refresh.d.ts.map +1 -0
- package/dist/src/plugin/background-quota-refresh.js +347 -0
- package/dist/src/plugin/background-quota-refresh.js.map +1 -0
- package/dist/src/plugin/command-data.d.ts +61 -8
- package/dist/src/plugin/command-data.d.ts.map +1 -1
- package/dist/src/plugin/command-data.js +231 -39
- package/dist/src/plugin/command-data.js.map +1 -1
- package/dist/src/plugin/commands.d.ts +12 -9
- package/dist/src/plugin/commands.d.ts.map +1 -1
- package/dist/src/plugin/commands.js +140 -33
- package/dist/src/plugin/commands.js.map +1 -1
- package/dist/src/plugin/config/schema.d.ts +2 -0
- package/dist/src/plugin/config/schema.d.ts.map +1 -1
- package/dist/src/plugin/config/schema.js +24 -0
- package/dist/src/plugin/config/schema.js.map +1 -1
- package/dist/src/plugin/debug.d.ts +7 -0
- package/dist/src/plugin/debug.d.ts.map +1 -1
- package/dist/src/plugin/debug.js +25 -0
- package/dist/src/plugin/debug.js.map +1 -1
- package/dist/src/plugin/fetch-interceptor.d.ts.map +1 -1
- package/dist/src/plugin/fetch-interceptor.js +13 -1
- package/dist/src/plugin/fetch-interceptor.js.map +1 -1
- package/dist/src/plugin/index.d.ts +7 -0
- package/dist/src/plugin/index.d.ts.map +1 -1
- package/dist/src/plugin/index.js +127 -24
- package/dist/src/plugin/index.js.map +1 -1
- package/dist/src/plugin/killswitch.d.ts.map +1 -1
- package/dist/src/plugin/killswitch.js +12 -9
- package/dist/src/plugin/killswitch.js.map +1 -1
- package/dist/src/plugin/oauth-methods.d.ts.map +1 -1
- package/dist/src/plugin/oauth-methods.js +2 -10
- package/dist/src/plugin/oauth-methods.js.map +1 -1
- package/dist/src/plugin/quota.d.ts +42 -1
- package/dist/src/plugin/quota.d.ts.map +1 -1
- package/dist/src/plugin/quota.js +185 -41
- package/dist/src/plugin/quota.js.map +1 -1
- package/dist/src/plugin/request.d.ts.map +1 -1
- package/dist/src/plugin/request.js +6 -2
- package/dist/src/plugin/request.js.map +1 -1
- package/dist/src/plugin/ui/auth-menu.d.ts.map +1 -1
- package/dist/src/plugin/ui/auth-menu.js +2 -4
- package/dist/src/plugin/ui/auth-menu.js.map +1 -1
- package/dist/src/plugin/ui/quota-status.d.ts.map +1 -1
- package/dist/src/plugin/ui/quota-status.js +3 -5
- package/dist/src/plugin/ui/quota-status.js.map +1 -1
- package/dist/src/sidebar-state.d.ts +126 -9
- package/dist/src/sidebar-state.d.ts.map +1 -1
- package/dist/src/sidebar-state.js +185 -25
- package/dist/src/sidebar-state.js.map +1 -1
- package/dist/src/tui/command-dialogs.js +101 -3
- package/dist/src/tui/command-dialogs.js.map +1 -1
- package/dist/src/tui.d.ts.map +1 -1
- package/dist/src/tui.js +55 -20
- package/dist/src/tui.js.map +1 -1
- package/package.json +6 -6
- package/src/plugin/command-data.ts +331 -51
- package/src/sidebar-state.ts +306 -32
- package/src/tui/command-dialogs.tsx +136 -3
- package/src/tui-compiled/plugin/command-data.ts +331 -51
- package/src/tui-compiled/sidebar-state.ts +306 -32
- package/src/tui-compiled/tui/command-dialogs.tsx +189 -69
- package/src/tui-compiled/tui.tsx +73 -30
- package/src/tui.tsx +82 -28
|
@@ -39,25 +39,35 @@
|
|
|
39
39
|
* the read and the write cannot cause the refresh to overwrite the
|
|
40
40
|
* wrong account.
|
|
41
41
|
*/
|
|
42
|
-
import {
|
|
42
|
+
import { createHash } from 'node:crypto';
|
|
43
|
+
import { buildSidebarMachineStateFromAccounts, normalizeLegacyCachedQuota, setSidebarMachineState, toCapturedTier, } from '../sidebar-state';
|
|
43
44
|
/**
|
|
44
45
|
* Quota display label for each supported quota group. Kept here so the
|
|
45
46
|
* dialog and the quota manager agree on the same vocabulary.
|
|
46
47
|
*/
|
|
47
48
|
const QUOTA_GROUP_LABELS = {
|
|
48
|
-
|
|
49
|
-
'gemini
|
|
50
|
-
'gemini-flash': 'Gemini Flash',
|
|
51
|
-
'gpt-oss': 'GPT-OSS',
|
|
49
|
+
gemini: 'Gemini',
|
|
50
|
+
'non-gemini': 'Non-Gemini',
|
|
52
51
|
};
|
|
53
52
|
const SUPPORTED_QUOTA_KEYS = [
|
|
54
|
-
'
|
|
55
|
-
'gemini
|
|
56
|
-
'gemini-flash',
|
|
57
|
-
'gpt-oss',
|
|
53
|
+
'gemini',
|
|
54
|
+
'non-gemini',
|
|
58
55
|
];
|
|
59
56
|
function toCommandAccountRow(entry) {
|
|
60
|
-
|
|
57
|
+
// Stamp mismatch: the cached quota was captured for a different account
|
|
58
|
+
// (the refresh token changed, or an index shift placed another account's
|
|
59
|
+
// snapshot at this position). Drop the stale cache rather than rendering
|
|
60
|
+
// the wrong account's quota percentages.
|
|
61
|
+
const rawCached = entry.cachedQuotaAccountId &&
|
|
62
|
+
entry.cachedQuotaAccountId !== quotaAccountIdentity(entry.refreshToken)
|
|
63
|
+
? undefined
|
|
64
|
+
: entry.cachedQuota;
|
|
65
|
+
// Normalize legacy pool keys (gemini-pro, gemini-flash, claude, gpt-oss)
|
|
66
|
+
// to canonical keys before the SUPPORTED_QUOTA_KEYS loop. Without this
|
|
67
|
+
// a legacy snapshot produces empty quota rows, and writeSidebar would
|
|
68
|
+
// permanently re-emit legacy keys on every dialog open until the next
|
|
69
|
+
// real quota refresh rewrites the on-disk snapshot.
|
|
70
|
+
const cached = normalizeLegacyCachedQuota(rawCached);
|
|
61
71
|
const quota = [];
|
|
62
72
|
for (const key of SUPPORTED_QUOTA_KEYS) {
|
|
63
73
|
const cachedEntry = cached?.[key];
|
|
@@ -74,11 +84,26 @@ function toCommandAccountRow(entry) {
|
|
|
74
84
|
if (Number.isFinite(parsed))
|
|
75
85
|
resetAt = parsed;
|
|
76
86
|
}
|
|
87
|
+
// Carry per-window breakdown when the cache was populated from the
|
|
88
|
+
// windowed RUQS path — the sidebar writer projects through here.
|
|
89
|
+
const windows = cachedEntry.windows?.length
|
|
90
|
+
? cachedEntry.windows.map((w) => ({
|
|
91
|
+
window: w.window,
|
|
92
|
+
remainingPercent: Math.round(w.remainingFraction * 100),
|
|
93
|
+
resetAt: typeof w.resetTime === 'string' && w.resetTime.length > 0
|
|
94
|
+
? (() => {
|
|
95
|
+
const parsed = Date.parse(w.resetTime);
|
|
96
|
+
return Number.isFinite(parsed) ? parsed : undefined;
|
|
97
|
+
})()
|
|
98
|
+
: undefined,
|
|
99
|
+
}))
|
|
100
|
+
: undefined;
|
|
77
101
|
quota.push({
|
|
78
102
|
key,
|
|
79
103
|
label: QUOTA_GROUP_LABELS[key],
|
|
80
104
|
remainingPercent,
|
|
81
105
|
resetAt,
|
|
106
|
+
windows,
|
|
82
107
|
});
|
|
83
108
|
}
|
|
84
109
|
const label = `Account ${entry.index + 1}`;
|
|
@@ -88,9 +113,35 @@ function toCommandAccountRow(entry) {
|
|
|
88
113
|
label,
|
|
89
114
|
enabled: entry.enabled,
|
|
90
115
|
current: entry.active,
|
|
116
|
+
coolingDownUntil: entry.coolingDownUntil,
|
|
117
|
+
healthScore: entry.healthScore,
|
|
91
118
|
quota,
|
|
119
|
+
tier: toCapturedTier(entry),
|
|
92
120
|
};
|
|
93
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Opaque identity derived from a refresh token. Antigravity refresh tokens
|
|
124
|
+
* are stable (they do not rotate), so this hash is a durable, prunable
|
|
125
|
+
* identity to detect a stale cached quota after an account-index shift.
|
|
126
|
+
*/
|
|
127
|
+
function quotaAccountIdentity(refreshToken) {
|
|
128
|
+
return createHash('sha256').update(refreshToken).digest('hex').slice(0, 16);
|
|
129
|
+
}
|
|
130
|
+
export function projectCommandAccountRows(storage) {
|
|
131
|
+
if (!storage)
|
|
132
|
+
return [];
|
|
133
|
+
const activeIndex = storage.activeIndexByFamily?.claude ?? storage.activeIndex;
|
|
134
|
+
return storage.accounts.map((entry, index) => toCommandAccountRow({
|
|
135
|
+
index,
|
|
136
|
+
refreshToken: entry.refreshToken,
|
|
137
|
+
label: entry.label,
|
|
138
|
+
enabled: entry.enabled !== false,
|
|
139
|
+
active: index === activeIndex,
|
|
140
|
+
cachedQuota: entry.cachedQuota,
|
|
141
|
+
cachedQuotaUpdatedAt: entry.cachedQuotaUpdatedAt,
|
|
142
|
+
cachedQuotaAccountId: entry.cachedQuotaAccountId,
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
94
145
|
/**
|
|
95
146
|
* Build the data service.
|
|
96
147
|
*
|
|
@@ -102,35 +153,55 @@ function toCommandAccountRow(entry) {
|
|
|
102
153
|
export function createCommandDataService(options) {
|
|
103
154
|
const { accountManagerView, quotaManager, sidebarStateFile, storage, now = () => Date.now(), } = options;
|
|
104
155
|
const projectRows = () => accountManagerView.getAccounts().map(toCommandAccountRow);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
156
|
+
// Map a CommandAccountRow back to the SidebarAccountRedactionInput shape.
|
|
157
|
+
// Extracted to prevent the "sixth dropped field" pattern: every field in
|
|
158
|
+
// CommandAccountRow that must reach the sidebar lives here once, not as an
|
|
159
|
+
// inline literal that a future author has to remember to update in two places.
|
|
160
|
+
const toRedactionInput = (row) => {
|
|
161
|
+
const gemini = row.quota.find((q) => q.key === 'gemini');
|
|
162
|
+
const nonGemini = row.quota.find((q) => q.key === 'non-gemini');
|
|
163
|
+
// Map a CommandAccountRow quota entry to cachedQuota pool shape
|
|
164
|
+
// so projectQuotaPoolForSidebar (the canonical projection seam)
|
|
165
|
+
// carries the per-window breakdown into the sidebar state.
|
|
166
|
+
const toPool = (q) => {
|
|
167
|
+
if (!q || q.remainingPercent == null)
|
|
168
|
+
return undefined;
|
|
116
169
|
return {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
'
|
|
125
|
-
|
|
126
|
-
|
|
170
|
+
remainingFraction: q.remainingPercent / 100,
|
|
171
|
+
resetTime: typeof q.resetAt === 'number' && Number.isFinite(q.resetAt)
|
|
172
|
+
? new Date(q.resetAt).toISOString()
|
|
173
|
+
: undefined,
|
|
174
|
+
windows: q.windows?.map((w) => ({
|
|
175
|
+
window: w.window,
|
|
176
|
+
remainingFraction: w.remainingPercent / 100,
|
|
177
|
+
resetTime: typeof w.resetAt === 'number' && Number.isFinite(w.resetAt)
|
|
178
|
+
? new Date(w.resetAt).toISOString()
|
|
179
|
+
: '',
|
|
180
|
+
})),
|
|
127
181
|
};
|
|
128
|
-
}
|
|
129
|
-
|
|
182
|
+
};
|
|
183
|
+
return {
|
|
184
|
+
index: row.index,
|
|
185
|
+
label: row.label,
|
|
186
|
+
enabled: row.enabled,
|
|
187
|
+
current: row.current,
|
|
188
|
+
healthScore: row.healthScore,
|
|
189
|
+
// Tier passes the redaction boundary unchanged (plan metadata, not PII).
|
|
190
|
+
// The stamp check was already done by toCommandAccountRow.
|
|
191
|
+
tier: row.tier,
|
|
192
|
+
cachedQuota: {
|
|
193
|
+
gemini: toPool(gemini),
|
|
194
|
+
'non-gemini': toPool(nonGemini),
|
|
195
|
+
},
|
|
196
|
+
};
|
|
197
|
+
};
|
|
198
|
+
const writeSidebar = (rows) => {
|
|
199
|
+
const accounts = rows.map(toRedactionInput);
|
|
200
|
+
// Fire-and-forget -- the sidebar writer is fenced by its own queue,
|
|
130
201
|
// so a transient lock contention cannot block the dialog response.
|
|
131
202
|
void setSidebarMachineState(buildSidebarMachineStateFromAccounts(accounts, { checkedAt: now() }), { stateFile: sidebarStateFile }).catch(() => {
|
|
132
|
-
//
|
|
133
|
-
//
|
|
203
|
+
// Sidebar writes are best-effort; the next command or quota refresh
|
|
204
|
+
// will publish the current snapshot.
|
|
134
205
|
});
|
|
135
206
|
};
|
|
136
207
|
return {
|
|
@@ -173,7 +244,7 @@ export function createCommandDataService(options) {
|
|
|
173
244
|
const liveIndex = liveIndexByRefreshToken.get(update.refreshToken);
|
|
174
245
|
if (liveIndex === undefined || !update.groups)
|
|
175
246
|
continue;
|
|
176
|
-
accountManagerView.updateQuotaCache(liveIndex, update.groups);
|
|
247
|
+
accountManagerView.updateQuotaCache(liveIndex, update.groups, update.refreshToken);
|
|
177
248
|
liveQuotaChanged = true;
|
|
178
249
|
}
|
|
179
250
|
if (liveQuotaChanged)
|
|
@@ -192,6 +263,10 @@ export function createCommandDataService(options) {
|
|
|
192
263
|
return {
|
|
193
264
|
...entry,
|
|
194
265
|
cachedQuota: update.groups,
|
|
266
|
+
// Stamp the persisted quota with an opaque identity derived
|
|
267
|
+
// from the refresh token so a later projection can detect
|
|
268
|
+
// a stale snapshot after an account-index shift.
|
|
269
|
+
cachedQuotaAccountId: quotaAccountIdentity(entry.refreshToken),
|
|
195
270
|
cachedQuotaUpdatedAt: refreshedAt,
|
|
196
271
|
};
|
|
197
272
|
}
|
|
@@ -214,6 +289,66 @@ export function createCommandDataService(options) {
|
|
|
214
289
|
writeSidebar(rows);
|
|
215
290
|
return rows;
|
|
216
291
|
},
|
|
292
|
+
async refreshQuotaRespectingBackoff() {
|
|
293
|
+
const accountsForQuota = accountManagerView.getAccountsForQuotaCheck();
|
|
294
|
+
if (accountsForQuota.length === 0)
|
|
295
|
+
return;
|
|
296
|
+
// Non-forced: the quota manager's per-account backoff and dedup
|
|
297
|
+
// apply. Accounts that are fresh or in backoff are skipped. Unlike
|
|
298
|
+
// the earlier fire-and-forget path, successful results ARE folded
|
|
299
|
+
// into the live cache so the sidebar snapshot reflects fresh data
|
|
300
|
+
// immediately — the dialog renders ONLY from the sidebar file, and
|
|
301
|
+
// the quota manager's push path does not update AccountManager
|
|
302
|
+
// entries for this caller.
|
|
303
|
+
let results;
|
|
304
|
+
try {
|
|
305
|
+
results = await quotaManager.refreshAccounts(accountsForQuota, {
|
|
306
|
+
indexFor: (account) => accountsForQuota.indexOf(account),
|
|
307
|
+
force: false,
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
catch {
|
|
311
|
+
// Non-critical: dialog open must never fail because a background
|
|
312
|
+
// refresh check encountered backoff or a transient error.
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
// Build updates akin to the forced refresh path — resolve live
|
|
316
|
+
// indexes after the network call (a concurrent add/remove may have
|
|
317
|
+
// shifted positions), fold successful results into the live cache,
|
|
318
|
+
// then push a sidebar snapshot.
|
|
319
|
+
const updates = [];
|
|
320
|
+
for (const result of results) {
|
|
321
|
+
const refreshToken = result.updatedAccount?.refreshToken ??
|
|
322
|
+
accountsForQuota[result.index]?.refreshToken;
|
|
323
|
+
if (!refreshToken)
|
|
324
|
+
continue;
|
|
325
|
+
const groups = result.status === 'ok' && result.quota?.groups
|
|
326
|
+
? result.quota.groups
|
|
327
|
+
: undefined;
|
|
328
|
+
updates.push({ refreshToken, groups });
|
|
329
|
+
}
|
|
330
|
+
if (updates.length === 0)
|
|
331
|
+
return;
|
|
332
|
+
const liveIndexByRefreshToken = new Map();
|
|
333
|
+
for (const entry of accountManagerView.getAccounts()) {
|
|
334
|
+
liveIndexByRefreshToken.set(entry.refreshToken, entry.index);
|
|
335
|
+
}
|
|
336
|
+
let liveQuotaChanged = false;
|
|
337
|
+
for (const update of updates) {
|
|
338
|
+
const liveIndex = liveIndexByRefreshToken.get(update.refreshToken);
|
|
339
|
+
if (liveIndex === undefined || !update.groups)
|
|
340
|
+
continue;
|
|
341
|
+
accountManagerView.updateQuotaCache(liveIndex, update.groups, update.refreshToken);
|
|
342
|
+
liveQuotaChanged = true;
|
|
343
|
+
}
|
|
344
|
+
if (liveQuotaChanged)
|
|
345
|
+
accountManagerView.requestSaveToDisk();
|
|
346
|
+
// Push a fresh sidebar snapshot — the live view now carries the
|
|
347
|
+
// just-refreshed quota plus any skipped (backoff/fresh) accounts
|
|
348
|
+
// whose cached percentages are unchanged.
|
|
349
|
+
const rows = projectRows();
|
|
350
|
+
writeSidebar(rows);
|
|
351
|
+
},
|
|
217
352
|
async setCurrentAccount(index) {
|
|
218
353
|
return mutateLiveAndStorage({ action: 'setCurrent', index });
|
|
219
354
|
},
|
|
@@ -240,9 +375,31 @@ export function createCommandDataService(options) {
|
|
|
240
375
|
if (!storage) {
|
|
241
376
|
throw new Error('CommandDataService is missing a locked-storage adapter; account mutations are disabled.');
|
|
242
377
|
}
|
|
378
|
+
// Capture the live view's current-account identity per family BEFORE
|
|
379
|
+
// the storage mutation. The remove action must persist the index that
|
|
380
|
+
// the same account will occupy AFTER the removal — unconditionally
|
|
381
|
+
// resetting to 0 made a non-current removal promote whichever account
|
|
382
|
+
// shifted into slot 0 to "active" on the next restart. Each model's
|
|
383
|
+
// cursor is tracked independently, so collapse-tokens does not work
|
|
384
|
+
// here: a Claude-active account and a Gemini-active account can
|
|
385
|
+
// point at different rows.
|
|
386
|
+
const liveCurrentTokens = {};
|
|
387
|
+
if (action === 'remove') {
|
|
388
|
+
const liveAccounts = accountManagerView.getAccounts();
|
|
389
|
+
const liveIndexes = accountManagerView.getActiveIndexByFamily();
|
|
390
|
+
liveCurrentTokens.claude =
|
|
391
|
+
liveAccounts[liveIndexes.claude]?.refreshToken ?? undefined;
|
|
392
|
+
liveCurrentTokens.gemini =
|
|
393
|
+
liveAccounts[liveIndexes.gemini]?.refreshToken ?? undefined;
|
|
394
|
+
}
|
|
243
395
|
let foundInStorage = false;
|
|
244
396
|
let desiredEnabled;
|
|
245
397
|
let previousEnabled;
|
|
398
|
+
let nextActiveIndex = 0;
|
|
399
|
+
let nextActiveIndexByFamily = {
|
|
400
|
+
claude: 0,
|
|
401
|
+
gemini: 0,
|
|
402
|
+
};
|
|
246
403
|
await storage.mutate((current) => {
|
|
247
404
|
const tokenIdx = current.accounts.findIndex((entry) => entry.refreshToken === refreshToken);
|
|
248
405
|
if (tokenIdx === -1)
|
|
@@ -271,11 +428,46 @@ export function createCommandDataService(options) {
|
|
|
271
428
|
: account),
|
|
272
429
|
};
|
|
273
430
|
}
|
|
431
|
+
// remove: build the post-removal account list, then resolve the
|
|
432
|
+
// current-account's NEW index in that list. If the removed
|
|
433
|
+
// account was the live current, the captured token falls out of
|
|
434
|
+
// the list — the live AccountManager leaves the numeric current
|
|
435
|
+
// cursor at the SAME index (now occupied by whichever account
|
|
436
|
+
// shifted in), so the persisted index must follow that numeric
|
|
437
|
+
// slot rather than resetting to 0.
|
|
438
|
+
const nextAccounts = current.accounts.filter((account) => account.refreshToken !== refreshToken);
|
|
439
|
+
const resolveNextIndex = (liveToken, legacyIndex) => {
|
|
440
|
+
if (!liveToken)
|
|
441
|
+
return Math.max(0, Math.min(legacyIndex, nextAccounts.length - 1));
|
|
442
|
+
const found = nextAccounts.findIndex((account) => account.refreshToken === liveToken);
|
|
443
|
+
if (found !== -1)
|
|
444
|
+
return found;
|
|
445
|
+
// The captured current token was the one removed. Mirror the
|
|
446
|
+
// core's in-memory semantics: keep the cursor at the removed
|
|
447
|
+
// slot when it still exists in the new array; when the removed
|
|
448
|
+
// slot was the last position and no longer exists, persist 0
|
|
449
|
+
// (the core's buildStorageSnapshot clamps negative sentinels
|
|
450
|
+
// to 0, and auth-doctor treats a negative activeIndex as
|
|
451
|
+
// corruption — cf. auth-doctor.ts:149-156).
|
|
452
|
+
//
|
|
453
|
+
// Use tokenIdx (the storage-snapshot position) rather than the
|
|
454
|
+
// outer-scope `index` (live-read position): a concurrent mutation
|
|
455
|
+
// between the live read and the lock can diverge the two, and the
|
|
456
|
+
// storage-level cursor must match the storage-level array.
|
|
457
|
+
return tokenIdx < nextAccounts.length ? tokenIdx : 0;
|
|
458
|
+
};
|
|
459
|
+
const legacyClaude = current.activeIndexByFamily?.claude ?? current.activeIndex;
|
|
460
|
+
const legacyGemini = current.activeIndexByFamily?.gemini ?? current.activeIndex;
|
|
461
|
+
nextActiveIndex = resolveNextIndex(liveCurrentTokens.claude, legacyClaude);
|
|
462
|
+
nextActiveIndexByFamily = {
|
|
463
|
+
claude: resolveNextIndex(liveCurrentTokens.claude, legacyClaude),
|
|
464
|
+
gemini: resolveNextIndex(liveCurrentTokens.gemini, legacyGemini),
|
|
465
|
+
};
|
|
274
466
|
return {
|
|
275
467
|
...current,
|
|
276
|
-
accounts:
|
|
277
|
-
activeIndex:
|
|
278
|
-
activeIndexByFamily:
|
|
468
|
+
accounts: nextAccounts,
|
|
469
|
+
activeIndex: nextActiveIndex,
|
|
470
|
+
activeIndexByFamily: nextActiveIndexByFamily,
|
|
279
471
|
};
|
|
280
472
|
});
|
|
281
473
|
if (!foundInStorage)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-data.js","sourceRoot":"","sources":["../../../src/plugin/command-data.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-data.js","sourceRoot":"","sources":["../../../src/plugin/command-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
* `antigravity-dump` is the canonical name; both stay registered.
|
|
22
22
|
*/
|
|
23
23
|
import type { CommandModalName } from '../rpc/protocol';
|
|
24
|
-
import type {
|
|
24
|
+
import type { AccountCommandOAuthService } from './account-command-oauth';
|
|
25
|
+
import type { CommandAccountRow, CommandDataService } from './command-data';
|
|
25
26
|
import { type OperatorSettingsController } from './operator-settings';
|
|
26
27
|
import type { PluginClient, PluginResult } from './types';
|
|
27
28
|
export declare const ANTIGRAVITY_QUOTA_COMMAND_NAME = "antigravity-quota";
|
|
@@ -42,7 +43,7 @@ interface CommandContext {
|
|
|
42
43
|
* Commands that need to chain side effects (e.g. account add which
|
|
43
44
|
* triggers an OAuth flow) hook their own refresh.
|
|
44
45
|
*/
|
|
45
|
-
onApplied?: () => Promise<void> | void;
|
|
46
|
+
onApplied?: (accounts?: CommandAccountRow[]) => Promise<void> | void;
|
|
46
47
|
/**
|
|
47
48
|
* Privacy-safe data service that backs the data-first dialogs. The
|
|
48
49
|
* production wiring injects one that reads from the live AccountManager
|
|
@@ -51,6 +52,7 @@ interface CommandContext {
|
|
|
51
52
|
* undefined and the dialog falls back to the legacy placeholder.
|
|
52
53
|
*/
|
|
53
54
|
commandData?: CommandDataService;
|
|
55
|
+
accountOAuth?: AccountCommandOAuthService;
|
|
54
56
|
}
|
|
55
57
|
/**
|
|
56
58
|
* Build the dialog payload the TUI renders for `command`.
|
|
@@ -103,20 +105,21 @@ export declare function createSidebarRefresher(getAccounts: () => Array<{
|
|
|
103
105
|
enabled?: boolean;
|
|
104
106
|
coolingDownUntil?: number;
|
|
105
107
|
cachedQuota?: {
|
|
106
|
-
|
|
108
|
+
gemini?: {
|
|
107
109
|
remainingFraction?: number;
|
|
108
110
|
resetTime?: string;
|
|
109
111
|
};
|
|
110
|
-
'gemini
|
|
111
|
-
remainingFraction?: number;
|
|
112
|
-
resetTime?: string;
|
|
113
|
-
};
|
|
114
|
-
'gemini-flash'?: {
|
|
112
|
+
'non-gemini'?: {
|
|
115
113
|
remainingFraction?: number;
|
|
116
114
|
resetTime?: string;
|
|
117
115
|
};
|
|
118
116
|
};
|
|
119
|
-
|
|
117
|
+
/** Captured plan tier. Absent when unknown. */
|
|
118
|
+
tier?: {
|
|
119
|
+
id: string;
|
|
120
|
+
capturedAt: number;
|
|
121
|
+
};
|
|
122
|
+
}> | null): (accounts?: CommandAccountRow[]) => Promise<void>;
|
|
120
123
|
/**
|
|
121
124
|
* Optional handle for the host connection state. Tests inject a stub
|
|
122
125
|
* to force the connected/disconnected branch; production callers let
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/plugin/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/plugin/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAMvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAQ3E,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAIzD,eAAO,MAAM,8BAA8B,sBAAsB,CAAA;AACjE,eAAO,MAAM,gCAAgC,wBAAwB,CAAA;AACrE,eAAO,MAAM,gCAAgC,wBAAwB,CAAA;AACrE,eAAO,MAAM,mCAAmC,2BAA2B,CAAA;AAC3E,eAAO,MAAM,6BAA6B,qBAAqB,CAAA;AAC/D,eAAO,MAAM,gCAAgC,wBAAwB,CAAA;AAErE,eAAO,MAAM,cAAc,EAAE,SAAS,gBAAgB,EAOrD,CAAA;AA8CD,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,EAAE,0BAA0B,CAAA;IACpC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACpE;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,YAAY,CAAC,EAAE,0BAA0B,CAAA;CAC1C;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC;IACT,OAAO,EAAE,gBAAgB,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B,CAAC,CA4GD;AAoID,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,gBAAgB,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAiTD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,KAAK,CAAC;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE;YAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC3D,YAAY,CAAC,EAAE;YAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAClE,CAAA;IACD,+CAA+C;IAC/C,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1C,CAAC,GAAG,IAAI,GACR,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CA0FnD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC5C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,0BAA0B,EACpC,gBAAgB,EAAE,CAChB,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,EACvD,SAAS,CAAC,EAAE,MAAM,KACf,IAAI,EACT,WAAW,CAAC,EAAE,kBAAkB,EAChC,eAAe,GAAE,sBAEhB,GACA,YAAY,CAAC,wBAAwB,CAAC,CA2CxC;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,kBAAkB,GAC/B,YAAY,CAAC,wBAAwB,CAAC,CAUxC"}
|