opencode-antigravity-auth 2.0.0 → 2.1.1

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 (53) hide show
  1. package/README.md +32 -710
  2. package/dist/index.d.ts +1 -1
  3. package/dist/src/plugin/account-management.d.ts +67 -0
  4. package/dist/src/plugin/account-management.d.ts.map +1 -0
  5. package/dist/src/plugin/account-management.js +174 -0
  6. package/dist/src/plugin/account-management.js.map +1 -0
  7. package/dist/src/plugin/account-rpc.d.ts +70 -0
  8. package/dist/src/plugin/account-rpc.d.ts.map +1 -0
  9. package/dist/src/plugin/account-rpc.js +28 -0
  10. package/dist/src/plugin/account-rpc.js.map +1 -0
  11. package/dist/src/plugin/accounts.d.ts +23 -9
  12. package/dist/src/plugin/accounts.d.ts.map +1 -1
  13. package/dist/src/plugin/accounts.js +190 -22
  14. package/dist/src/plugin/accounts.js.map +1 -1
  15. package/dist/src/plugin/config/models-v2.d.ts +19 -1
  16. package/dist/src/plugin/config/models-v2.d.ts.map +1 -1
  17. package/dist/src/plugin/config/models-v2.js +49 -38
  18. package/dist/src/plugin/config/models-v2.js.map +1 -1
  19. package/dist/src/plugin/quota.d.ts +33 -1
  20. package/dist/src/plugin/quota.d.ts.map +1 -1
  21. package/dist/src/plugin/quota.js +43 -18
  22. package/dist/src/plugin/quota.js.map +1 -1
  23. package/dist/src/plugin/refresh-queue.d.ts +4 -1
  24. package/dist/src/plugin/refresh-queue.d.ts.map +1 -1
  25. package/dist/src/plugin/refresh-queue.js +21 -4
  26. package/dist/src/plugin/refresh-queue.js.map +1 -1
  27. package/dist/src/plugin/storage.d.ts +15 -0
  28. package/dist/src/plugin/storage.d.ts.map +1 -1
  29. package/dist/src/plugin/storage.js +61 -2
  30. package/dist/src/plugin/storage.js.map +1 -1
  31. package/dist/src/plugin/token.d.ts +1 -3
  32. package/dist/src/plugin/token.d.ts.map +1 -1
  33. package/dist/src/plugin/token.js +43 -3
  34. package/dist/src/plugin/token.js.map +1 -1
  35. package/dist/src/plugin/transform/model-resolver.d.ts +2 -5
  36. package/dist/src/plugin/transform/model-resolver.d.ts.map +1 -1
  37. package/dist/src/plugin/transform/model-resolver.js +9 -1
  38. package/dist/src/plugin/transform/model-resolver.js.map +1 -1
  39. package/dist/src/plugin/types.d.ts +5 -0
  40. package/dist/src/plugin/types.d.ts.map +1 -1
  41. package/dist/src/plugin.d.ts +3 -3
  42. package/dist/src/plugin.d.ts.map +1 -1
  43. package/dist/src/plugin.js +84 -26
  44. package/dist/src/plugin.js.map +1 -1
  45. package/dist/src/tui.d.ts +64 -0
  46. package/dist/src/tui.d.ts.map +1 -0
  47. package/dist/src/tui.js +124 -0
  48. package/dist/src/tui.js.map +1 -0
  49. package/dist/src/v2.d.ts.map +1 -1
  50. package/dist/src/v2.js +444 -112
  51. package/dist/src/v2.js.map +1 -1
  52. package/package.json +9 -3
  53. package/tui.js +1 -0
@@ -1,51 +1,62 @@
1
1
  import { OPENCODE_MODEL_DEFINITIONS } from "./models.js";
2
- // Current Hub backend IDs reported by the maintained CLIProxyAPI inventory.
3
- // These suffixes are part of the backend ID, rather than user thinking variants.
4
- // Account access must still be checked against fetchAvailableModels.
5
- const CURRENT_HUB_MODELS = {
6
- "antigravity-claude-opus-5-5-high": {
7
- name: "Claude Opus 5.5 High (Antigravity)",
8
- limit: { context: 1000000, output: 128000 },
9
- modalities: { input: ["text", "image", "pdf"], output: ["text"] },
10
- },
11
- "antigravity-claude-sonnet-5-5-high": {
12
- name: "Claude Sonnet 5.5 High (Antigravity)",
13
- limit: { context: 1000000, output: 128000 },
14
- modalities: { input: ["text", "image", "pdf"], output: ["text"] },
15
- },
16
- "antigravity-gemini-4-argon-high": {
17
- name: "Gemini 4 Argon High (Antigravity)",
18
- limit: { context: 1048576, output: 65536 },
19
- modalities: { input: ["text", "image", "pdf"], output: ["text"] },
20
- },
21
- "antigravity-gemini-3.8-flash-high": {
22
- name: "Gemini 3.8 Flash High (Antigravity)",
23
- limit: { context: 1048576, output: 65536 },
24
- modalities: { input: ["text", "image", "pdf"], output: ["text"] },
25
- },
26
- "antigravity-gemini-3.1-flash-lite": {
27
- name: "Gemini 3.1 Flash Lite (Antigravity)",
28
- limit: { context: 1048576, output: 65536 },
29
- modalities: { input: ["text", "image", "pdf"], output: ["text"] },
30
- },
31
- "antigravity-gemini-3.5-flash-lite": {
32
- name: "Gemini 3.5 Flash Lite (Antigravity)",
2
+ import { registerAdvertisedModelIds } from "../transform/model-resolver.js";
3
+ import { z } from "zod";
4
+ export const ModelCatalogCacheSchema = z.object({
5
+ version: z.literal(3),
6
+ identity: z.string(), updatedAt: z.number(),
7
+ accounts: z.record(z.string(), z.array(z.string())),
8
+ models: z.record(z.string(), z.object({
9
+ displayName: z.string().optional(), maxTokens: z.number().positive().optional(), maxOutputTokens: z.number().positive().optional(),
10
+ supportsImages: z.boolean().optional(), supportsThinking: z.boolean().optional(), disabled: z.boolean().optional(), selectable: z.boolean().optional(),
11
+ })),
12
+ });
13
+ // Used before login or when discovery is unavailable. Once connected, Google's
14
+ // catalog replaces this list, including model IDs, names and token limits.
15
+ const fallbackModels = Object.fromEntries(["antigravity-gemini-3-flash", "antigravity-claude-sonnet-4-6", "antigravity-claude-opus-4-6-thinking"]
16
+ .flatMap(id => OPENCODE_MODEL_DEFINITIONS[id] ? [[id, OPENCODE_MODEL_DEFINITIONS[id]]] : []));
17
+ for (const tier of ["low", "medium", "high"]) {
18
+ fallbackModels[`antigravity-gemini-3.8-flash-${tier}`] = {
19
+ name: `Gemini 3.8 Flash (${tier}) (Antigravity)`,
33
20
  limit: { context: 1048576, output: 65536 },
34
21
  modalities: { input: ["text", "image", "pdf"], output: ["text"] },
35
- },
36
- };
37
- /** V2 model configuration uses capabilities and an array of variant overlays. */
38
- export const OPENCODE_V2_MODEL_DEFINITIONS = Object.fromEntries(Object.entries({ ...OPENCODE_MODEL_DEFINITIONS, ...CURRENT_HUB_MODELS }).filter(([id]) => id.startsWith("antigravity-")).map(([id, model]) => [id, {
22
+ };
23
+ }
24
+ function definition(model) {
25
+ return {
39
26
  name: model.name,
40
27
  package: "aisdk:@ai-sdk/google",
41
28
  limit: { ...model.limit },
42
29
  capabilities: { tools: true, ...model.modalities },
43
30
  cost: [{ input: 0, output: 0, cache: { read: 0, write: 0 } }],
44
- variants: Object.entries(model.variants ?? {}).map(([variant, settings]) => ({
45
- id: variant,
31
+ variants: Object.entries(model.variants ?? {}).map(([id, settings]) => ({
32
+ id,
46
33
  settings: settings.thinkingLevel
47
34
  ? { thinkingConfig: { thinkingLevel: settings.thinkingLevel } }
48
35
  : { ...settings },
49
36
  })),
50
- }]));
37
+ };
38
+ }
39
+ export const OPENCODE_V2_MODEL_DEFINITIONS = Object.fromEntries(Object.entries(fallbackModels).map(([id, model]) => [id, definition(model)]));
40
+ export function buildAccountModelDefinitions(models) {
41
+ const definitions = {};
42
+ for (const [id, model] of Object.entries(models)) {
43
+ // Exclude completion/internal, image-generation, tier routers and explicitly
44
+ // disabled entries. They are not selectable chat models.
45
+ if (!/^(gemini-|claude-|gpt-oss-)/.test(id) || /image|imagen|-(disabled|tiered)$/.test(id) || model.disabled || model.selectable === false)
46
+ continue;
47
+ const key = `antigravity-${id}`;
48
+ const known = OPENCODE_MODEL_DEFINITIONS[key];
49
+ definitions[key] = definition({
50
+ name: `${model.displayName ?? id} (Antigravity)`,
51
+ limit: {
52
+ context: model.maxTokens ?? known?.limit.context ?? 200000,
53
+ output: model.maxOutputTokens ?? known?.limit.output ?? 64000,
54
+ },
55
+ modalities: { input: model.supportsImages === false ? ["text"] : ["text", "image", "pdf"], output: ["text"] },
56
+ variants: known?.variants,
57
+ });
58
+ }
59
+ registerAdvertisedModelIds(Object.keys(models));
60
+ return definitions;
61
+ }
51
62
  //# sourceMappingURL=models-v2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models-v2.js","sourceRoot":"","sources":["../../../../src/plugin/config/models-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models-v2.js","sourceRoot":"","sources":["../../../../src/plugin/config/models-v2.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export interface QuotaGroupSummary {
9
9
  export interface QuotaSummary {
10
10
  groups: Partial<Record<QuotaGroup, QuotaGroupSummary>>;
11
11
  modelCount: number;
12
+ models?: Record<string, AvailableModel>;
12
13
  error?: string;
13
14
  }
14
15
  export interface GeminiCliQuotaModel {
@@ -31,5 +32,36 @@ export interface AccountQuotaResult {
31
32
  geminiCliQuota?: GeminiCliQuotaSummary;
32
33
  updatedAccount?: AccountMetadataV3;
33
34
  }
34
- export declare function checkAccountsQuota(accounts: AccountMetadataV3[], client: PluginClient, providerId?: string): Promise<AccountQuotaResult[]>;
35
+ export interface FetchAvailableModelsResponse {
36
+ models?: Record<string, FetchAvailableModelEntry>;
37
+ agentModelSorts?: Array<{
38
+ groups?: Array<{
39
+ modelIds?: string[];
40
+ }>;
41
+ }>;
42
+ tieredModelIds?: Record<string, string[]>;
43
+ }
44
+ export interface AvailableModel {
45
+ displayName?: string;
46
+ maxTokens?: number;
47
+ maxOutputTokens?: number;
48
+ supportsImages?: boolean;
49
+ supportsThinking?: boolean;
50
+ disabled?: boolean;
51
+ selectable?: boolean;
52
+ }
53
+ interface FetchAvailableModelEntry extends AvailableModel {
54
+ quotaInfo?: {
55
+ remainingFraction?: number;
56
+ resetTime?: string;
57
+ };
58
+ displayName?: string;
59
+ modelName?: string;
60
+ }
61
+ export declare function checkAccountsQuota(accounts: AccountMetadataV3[], client: PluginClient, providerId?: string, options?: {
62
+ includeDisabled?: boolean;
63
+ onAccountUpdated?: (original: AccountMetadataV3, updated: AccountMetadataV3) => Promise<unknown>;
64
+ signal?: AbortSignal;
65
+ }): Promise<AccountQuotaResult[]>;
66
+ export {};
35
67
  //# sourceMappingURL=quota.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/plugin/quota.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAInD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,cAAc,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAYD,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,UAAU,GAAG,OAAO,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,cAAc,CAAC,EAAE,iBAAiB,CAAC;CACpC;AA2PD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,EAAE,YAAY,EACpB,UAAU,SAA0B,GACnC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiF/B"}
1
+ {"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/plugin/quota.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ANTIGRAVITY_ENDPOINT, ANTIGRAVITY_ENDPOINT_PROD, getAntigravityUserAgent, ANTIGRAVITY_PROVIDER_ID, } from "../constants.js";
1
+ import { ANTIGRAVITY_ENDPOINT, ANTIGRAVITY_ENDPOINT_PROD, getAntigravityUserAgent, getRandomizedHeaders, ANTIGRAVITY_PROVIDER_ID, } from "../constants.js";
2
2
  import { accessTokenExpired, formatRefreshParts, parseRefreshParts } from "./auth.js";
3
3
  import { logQuotaFetch, logQuotaStatus } from "./debug.js";
4
4
  import { ensureProjectContext } from "./project.js";
@@ -42,15 +42,15 @@ function classifyQuotaGroup(modelName, displayName) {
42
42
  if (combined.includes("claude")) {
43
43
  return "claude";
44
44
  }
45
- const isGemini3 = combined.includes("gemini-3") || combined.includes("gemini 3");
46
- if (!isGemini3) {
45
+ if (!combined.includes("gemini")) {
47
46
  return null;
48
47
  }
49
48
  const family = getModelFamily(modelName);
50
49
  return family === "gemini-flash" ? "gemini-flash" : "gemini-pro";
51
50
  }
52
- function aggregateQuota(models) {
51
+ function aggregateQuota(models, selectable) {
53
52
  const groups = {};
53
+ const catalog = {};
54
54
  if (!models) {
55
55
  return { groups, modelCount: 0 };
56
56
  }
@@ -59,6 +59,18 @@ function aggregateQuota(models) {
59
59
  if (!entry || typeof entry !== "object") {
60
60
  continue;
61
61
  }
62
+ // Keep only catalog metadata. API experiments can contain unrelated prompts.
63
+ catalog[modelName] = {
64
+ displayName: entry.displayName,
65
+ maxTokens: entry.maxTokens,
66
+ maxOutputTokens: entry.maxOutputTokens,
67
+ supportsImages: entry.supportsImages,
68
+ supportsThinking: entry.supportsThinking,
69
+ disabled: entry.disabled,
70
+ selectable: selectable ? selectable.has(modelName) : undefined,
71
+ };
72
+ if (entry.disabled)
73
+ continue;
62
74
  const group = classifyQuotaGroup(modelName, entry.displayName ?? entry.modelName);
63
75
  if (!group) {
64
76
  continue;
@@ -95,7 +107,7 @@ function aggregateQuota(models) {
95
107
  modelCount: nextCount,
96
108
  };
97
109
  }
98
- return { groups, modelCount: totalCount };
110
+ return { groups, modelCount: totalCount, models: catalog };
99
111
  }
100
112
  async function fetchWithTimeout(url, options, timeoutMs = FETCH_TIMEOUT_MS) {
101
113
  const controller = new AbortController();
@@ -132,18 +144,14 @@ async function fetchAvailableModels(accessToken, projectId) {
132
144
  }
133
145
  async function fetchGeminiCliQuota(accessToken, projectId) {
134
146
  const endpoint = ANTIGRAVITY_ENDPOINT_PROD;
135
- // Use Gemini CLI user-agent to get CLI quota buckets (not Antigravity buckets)
136
- const platform = process.platform || "darwin";
137
- const arch = process.arch || "arm64";
138
- const geminiCliUserAgent = `GeminiCLI/1.0.0/gemini-2.5-pro (${platform}; ${arch})`;
139
147
  const body = projectId ? { project: projectId } : {};
140
148
  try {
141
149
  const response = await fetchWithTimeout(`${endpoint}/v1internal:retrieveUserQuota`, {
142
150
  method: "POST",
143
151
  headers: {
152
+ ...getRandomizedHeaders("gemini-cli"),
144
153
  Authorization: `Bearer ${accessToken}`,
145
154
  "Content-Type": "application/json",
146
- "User-Agent": geminiCliUserAgent,
147
155
  },
148
156
  body: JSON.stringify(body),
149
157
  });
@@ -168,12 +176,9 @@ function aggregateGeminiCliQuota(response) {
168
176
  if (!bucket.modelId) {
169
177
  continue;
170
178
  }
171
- // Filter out models we don't care about for Gemini CLI quotas
172
- // Only show gemini-3-* and gemini-2.5-pro models (the premium ones)
179
+ // Keep the model versions returned by Google instead of a dated allowlist.
173
180
  const modelId = bucket.modelId;
174
- const isRelevantModel = modelId.startsWith("gemini-3-") ||
175
- modelId === "gemini-2.5-pro";
176
- if (!isRelevantModel) {
181
+ if (!modelId.startsWith("gemini-")) {
177
182
  continue;
178
183
  }
179
184
  models.push({
@@ -202,13 +207,19 @@ function applyAccountUpdates(account, auth) {
202
207
  updated.managedProjectId !== account.managedProjectId;
203
208
  return changed ? updated : undefined;
204
209
  }
205
- export async function checkAccountsQuota(accounts, client, providerId = ANTIGRAVITY_PROVIDER_ID) {
210
+ export async function checkAccountsQuota(accounts, client, providerId = ANTIGRAVITY_PROVIDER_ID, options = {}) {
206
211
  const results = [];
207
212
  logQuotaFetch("start", accounts.length);
208
213
  for (const [index, account] of accounts.entries()) {
209
214
  const disabled = account.enabled === false;
215
+ if (disabled && options.includeDisabled !== true) {
216
+ results.push({ index, email: account.email, status: "disabled", disabled: true });
217
+ continue;
218
+ }
210
219
  let auth = buildAuthFromAccount(account);
220
+ let updatedAccount;
211
221
  try {
222
+ options.signal?.throwIfAborted();
212
223
  if (accessTokenExpired(auth)) {
213
224
  const refreshed = await refreshAccessToken(auth, client, providerId);
214
225
  if (!refreshed) {
@@ -216,9 +227,18 @@ export async function checkAccountsQuota(accounts, client, providerId = ANTIGRAV
216
227
  }
217
228
  auth = refreshed;
218
229
  }
230
+ updatedAccount = applyAccountUpdates(account, auth);
231
+ if (updatedAccount)
232
+ await options.onAccountUpdated?.(account, updatedAccount);
233
+ options.signal?.throwIfAborted();
234
+ const beforeProject = updatedAccount ?? account;
219
235
  const projectContext = await ensureProjectContext(auth);
220
236
  auth = projectContext.auth;
221
- const updatedAccount = applyAccountUpdates(account, auth);
237
+ updatedAccount = applyAccountUpdates(account, auth);
238
+ const projectUpdates = applyAccountUpdates(beforeProject, auth);
239
+ if (projectUpdates)
240
+ await options.onAccountUpdated?.(beforeProject, projectUpdates);
241
+ options.signal?.throwIfAborted();
222
242
  let quotaResult;
223
243
  let geminiCliQuotaResult;
224
244
  // Fetch both Antigravity and Gemini CLI quotas in parallel
@@ -236,7 +256,11 @@ export async function checkAccountsQuota(accounts, client, providerId = ANTIGRAV
236
256
  };
237
257
  }
238
258
  else {
239
- quotaResult = aggregateQuota(antigravityResponse.models);
259
+ const visible = (antigravityResponse.agentModelSorts ?? []).flatMap(sort => (sort.groups ?? []).flatMap(group => group.modelIds ?? []));
260
+ // The backend also exposes obsolete aliases, completion models, and
261
+ // routing IDs. Prefer the same selectable inventory as Antigravity.
262
+ const selectable = visible.length ? new Set([...visible, ...Object.values(antigravityResponse.tieredModelIds ?? {}).flat()]) : undefined;
263
+ quotaResult = aggregateQuota(antigravityResponse.models, selectable);
240
264
  }
241
265
  // Process Gemini CLI quota
242
266
  geminiCliQuotaResult = aggregateGeminiCliQuota(geminiCliResponse);
@@ -265,6 +289,7 @@ export async function checkAccountsQuota(accounts, client, providerId = ANTIGRAV
265
289
  index,
266
290
  email: account.email,
267
291
  status: "error",
292
+ updatedAccount,
268
293
  disabled,
269
294
  error: error instanceof Error ? error.message : String(error),
270
295
  });
@@ -1 +1 @@
1
- {"version":3,"file":"quota.js","sourceRoot":"","sources":["../../../src/plugin/quota.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota.js","sourceRoot":"","sources":["../../../src/plugin/quota.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,8 @@ export declare class ProactiveRefreshQueue {
40
40
  private readonly client;
41
41
  private readonly providerId;
42
42
  private accountManager;
43
+ private activeCheck;
44
+ private initialTimeout;
43
45
  private state;
44
46
  constructor(client: PluginClient, providerId: string, config?: Partial<ProactiveRefreshConfig>);
45
47
  /**
@@ -65,6 +67,7 @@ export declare class ProactiveRefreshQueue {
65
67
  * This is called periodically by the background interval.
66
68
  */
67
69
  private runRefreshCheck;
70
+ private refreshAccounts;
68
71
  /**
69
72
  * Refresh a single token.
70
73
  */
@@ -76,7 +79,7 @@ export declare class ProactiveRefreshQueue {
76
79
  /**
77
80
  * Stop the background refresh queue.
78
81
  */
79
- stop(): void;
82
+ stop(): Promise<void>;
80
83
  /**
81
84
  * Get current queue statistics.
82
85
  */
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-queue.d.ts","sourceRoot":"","sources":["../../../src/plugin/refresh-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,SAAS,CAAC;AAM9D,oDAAoD;AACpD,MAAM,WAAW,sBAAsB;IACrC,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,sFAAsF;IACtF,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,gCAAgC,EAAE,sBAI9C,CAAC;AAaF;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,cAAc,CAA+B;IAErD,OAAO,CAAC,KAAK,CAQX;gBAGA,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAU1C;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIhD;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAa9C;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAO3C;;OAEG;IACH,yBAAyB,IAAI,cAAc,EAAE;IAkB7C;;;OAGG;YACW,eAAe;IA2D7B;;OAEG;YACW,YAAY;IAiB1B;;OAEG;IACH,KAAK,IAAI,IAAI;IAuCb;;OAEG;IACH,IAAI,IAAI,IAAI;IAkBZ;;OAEG;IACH,QAAQ,IAAI;QACV,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB;IAID;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACvC,qBAAqB,CAEvB"}
1
+ {"version":3,"file":"refresh-queue.d.ts","sourceRoot":"","sources":["../../../src/plugin/refresh-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,SAAS,CAAC;AAM9D,oDAAoD;AACpD,MAAM,WAAW,sBAAsB;IACrC,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,sFAAsF;IACtF,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,gCAAgC,EAAE,sBAI9C,CAAC;AAaF;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,cAAc,CAA4C;IAElE,OAAO,CAAC,KAAK,CAQX;gBAGA,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAU1C;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIhD;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAa9C;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAO3C;;OAEG;IACH,yBAAyB,IAAI,cAAc,EAAE;IAkB7C;;;OAGG;IACH,OAAO,CAAC,eAAe;YAST,eAAe;IA4D7B;;OAEG;YACW,YAAY;IAiB1B;;OAEG;IACH,KAAK,IAAI,IAAI;IAuCb;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB;;OAEG;IACH,QAAQ,IAAI;QACV,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB;IAID;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACvC,qBAAqB,CAEvB"}
@@ -36,6 +36,8 @@ export class ProactiveRefreshQueue {
36
36
  client;
37
37
  providerId;
38
38
  accountManager = null;
39
+ activeCheck;
40
+ initialTimeout;
39
41
  state = {
40
42
  isRunning: false,
41
43
  intervalHandle: null,
@@ -106,7 +108,17 @@ export class ProactiveRefreshQueue {
106
108
  * Perform a single refresh check iteration.
107
109
  * This is called periodically by the background interval.
108
110
  */
109
- async runRefreshCheck() {
111
+ runRefreshCheck() {
112
+ if (this.activeCheck)
113
+ return this.activeCheck;
114
+ const check = this.refreshAccounts();
115
+ this.activeCheck = check;
116
+ return check.finally(() => {
117
+ if (this.activeCheck === check)
118
+ this.activeCheck = undefined;
119
+ });
120
+ }
121
+ async refreshAccounts() {
110
122
  if (this.state.isRefreshing) {
111
123
  // Already refreshing - skip this iteration
112
124
  return;
@@ -130,9 +142,10 @@ export class ProactiveRefreshQueue {
130
142
  }
131
143
  try {
132
144
  const auth = this.accountManager.toAuthDetails(account);
145
+ const previousToken = account.parts.refreshToken;
133
146
  const refreshed = await this.refreshToken(auth, account);
134
147
  if (refreshed) {
135
- this.accountManager.updateFromAuth(account, refreshed);
148
+ this.accountManager.updateFromAuth(account, refreshed, previousToken);
136
149
  this.state.refreshCount++;
137
150
  this.state.lastRefreshTime = Date.now();
138
151
  // Persist the refreshed token
@@ -190,7 +203,7 @@ export class ProactiveRefreshQueue {
190
203
  bufferSeconds: this.config.bufferSeconds,
191
204
  });
192
205
  // Run initial check after a short delay (let things settle)
193
- setTimeout(() => {
206
+ this.initialTimeout = setTimeout(() => {
194
207
  if (this.state.isRunning) {
195
208
  this.runRefreshCheck().catch((error) => {
196
209
  log.error("Initial check failed", {
@@ -213,9 +226,12 @@ export class ProactiveRefreshQueue {
213
226
  */
214
227
  stop() {
215
228
  if (!this.state.isRunning) {
216
- return;
229
+ return this.activeCheck ?? Promise.resolve();
217
230
  }
218
231
  this.state.isRunning = false;
232
+ if (this.initialTimeout)
233
+ clearTimeout(this.initialTimeout);
234
+ this.initialTimeout = undefined;
219
235
  if (this.state.intervalHandle) {
220
236
  clearInterval(this.state.intervalHandle);
221
237
  this.state.intervalHandle = null;
@@ -224,6 +240,7 @@ export class ProactiveRefreshQueue {
224
240
  refreshCount: this.state.refreshCount,
225
241
  errorCount: this.state.errorCount,
226
242
  });
243
+ return this.activeCheck ?? Promise.resolve();
227
244
  }
228
245
  /**
229
246
  * Get current queue statistics.
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-queue.js","sourceRoot":"","sources":["../../../src/plugin/refresh-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAY1C,MAAM,CAAC,MAAM,gCAAgC,GAA2B;IACtE,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI,EAAE,aAAa;IAClC,oBAAoB,EAAE,GAAG,EAAE,YAAY;CACxC,CAAC;AAaF;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAqB;IACf,MAAM,CAAyB;IAC/B,MAAM,CAAe;IACrB,UAAU,CAAS;IAC5B,cAAc,GAA0B,IAAI,CAAC;IAE7C,KAAK,GAAsB;QACjC,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;KACd,CAAC;IAEF,YACE,MAAoB,EACpB,UAAkB,EAClB,MAAwC;QAExC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,gCAAgC;YACnC,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,OAAuB;QACvC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,OAAuB;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,mCAAmC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAClD,MAAM,gBAAgB,GAAG,GAAG,GAAG,QAAQ,CAAC;QAExC,OAAO,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAuB;QAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,yBAAyB;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1D,oEAAoE;YACpE,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,gFAAgF;YAChF,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC5B,2CAA2C;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEtC,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAE3D,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;YAEjF,+DAA+D;YAC/D,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBAC1B,4BAA4B;oBAC5B,MAAM;gBACR,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBACxD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAEzD,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;wBACvD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;wBAC1B,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAExC,8BAA8B;wBAC9B,IAAI,CAAC;4BACH,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;wBACzC,CAAC;wBAAC,MAAM,CAAC;4BACP,2CAA2C;wBAC7C,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACxB,qDAAqD;oBACrD,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE;wBACpC,YAAY,EAAE,OAAO,CAAC,KAAK;wBAC3B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CACxB,IAAsB,EACtB,OAAuB;QAEvB,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO;YACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC;QAEd,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE;YACxC,YAAY,EAAE,OAAO,CAAC,KAAK;YAC3B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;YACjC,kBAAkB;SACnB,CAAC,CAAC;QAEH,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAE3D,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE;YAC3C,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;YACtD,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;SACzC,CAAC,CAAC;QAEH,4DAA4D;QAC5D,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACrC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE;wBAChC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,yBAAyB;QACzB,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YAC3C,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE;oBACxB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;QAE7B,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC9B,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE;YAC3C,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;YACrC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,QAAQ;QAQN,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAoB,EACpB,UAAkB,EAClB,MAAwC;IAExC,OAAO,IAAI,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"refresh-queue.js","sourceRoot":"","sources":["../../../src/plugin/refresh-queue.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,10 @@ export interface AccountStorage {
59
59
  }
60
60
  export type CooldownReason = "auth-failure" | "network-error" | "project-error" | "validation-required";
61
61
  export interface AccountMetadataV3 {
62
+ /** Stable menu identity, preserved when OAuth refresh tokens rotate. */
63
+ id?: string;
64
+ /** Hashes identify native connections that still hold an older OAuth token. */
65
+ refreshTokenHashes?: string[];
62
66
  email?: string;
63
67
  refreshToken: string;
64
68
  projectId?: string;
@@ -86,6 +90,15 @@ export interface AccountMetadataV3 {
86
90
  }>;
87
91
  cachedQuotaUpdatedAt?: number;
88
92
  }
93
+ export declare const accountTokenHash: (token: string) => string;
94
+ export declare function matchesAccountToken(account: AccountMetadataV3, token: string): boolean;
95
+ /** Update credentials without losing the identity of older native connections. */
96
+ export declare function updateAccountCredentials(account: AccountMetadataV3, parts: {
97
+ refreshToken?: string;
98
+ projectId?: string;
99
+ managedProjectId?: string;
100
+ }): void;
101
+ export declare function saveAccountCredentials(original: AccountMetadataV3, updated: AccountMetadataV3): Promise<AccountStorageV4 | null>;
89
102
  export interface AccountStorageV3 {
90
103
  version: 3;
91
104
  accounts: AccountMetadataV3[];
@@ -126,6 +139,8 @@ export declare function migrateV2ToV3(v2: AccountStorage): AccountStorageV3;
126
139
  export declare function migrateV3ToV4(v3: AccountStorageV3): AccountStorageV4;
127
140
  export declare function loadAccounts(): Promise<AccountStorageV4 | null>;
128
141
  export declare function saveAccounts(storage: AccountStorageV4): Promise<void>;
142
+ /** Apply a targeted change to the latest pool while holding its file lock. */
143
+ export declare function updateAccounts(update: (storage: AccountStorageV4) => void): Promise<AccountStorageV4 | null>;
129
144
  /**
130
145
  * Save accounts storage by replacing the entire file (no merge).
131
146
  * Use this for destructive operations like delete where we need to
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/plugin/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/plugin/storage.ts"],"names":[],"mappings":"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"}