opencode-antigravity-auth 1.6.5-beta.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 (143) hide show
  1. package/README.md +34 -694
  2. package/dist/index.d.ts +10 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +6 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/antigravity/oauth.d.ts +0 -28
  7. package/dist/src/antigravity/oauth.d.ts.map +1 -1
  8. package/dist/src/antigravity/oauth.js +25 -103
  9. package/dist/src/antigravity/oauth.js.map +1 -1
  10. package/dist/src/constants.d.ts +53 -32
  11. package/dist/src/constants.d.ts.map +1 -1
  12. package/dist/src/constants.js +64 -56
  13. package/dist/src/constants.js.map +1 -1
  14. package/dist/src/hooks/auto-update-checker/cache.js +1 -1
  15. package/dist/src/hooks/auto-update-checker/checker.d.ts +1 -1
  16. package/dist/src/hooks/auto-update-checker/checker.js +2 -2
  17. package/dist/src/hooks/auto-update-checker/index.d.ts +4 -4
  18. package/dist/src/hooks/auto-update-checker/index.js +6 -6
  19. package/dist/src/hooks/auto-update-checker/logging.js +1 -1
  20. package/dist/src/plugin/account-management.d.ts +67 -0
  21. package/dist/src/plugin/account-management.d.ts.map +1 -0
  22. package/dist/src/plugin/account-management.js +174 -0
  23. package/dist/src/plugin/account-management.js.map +1 -0
  24. package/dist/src/plugin/account-rpc.d.ts +70 -0
  25. package/dist/src/plugin/account-rpc.d.ts.map +1 -0
  26. package/dist/src/plugin/account-rpc.js +28 -0
  27. package/dist/src/plugin/account-rpc.js.map +1 -0
  28. package/dist/src/plugin/accounts.d.ts +32 -19
  29. package/dist/src/plugin/accounts.d.ts.map +1 -1
  30. package/dist/src/plugin/accounts.js +203 -34
  31. package/dist/src/plugin/accounts.js.map +1 -1
  32. package/dist/src/plugin/auth.d.ts +1 -1
  33. package/dist/src/plugin/cache/index.d.ts +1 -1
  34. package/dist/src/plugin/cache/index.js +1 -1
  35. package/dist/src/plugin/cache/signature-cache.d.ts +1 -1
  36. package/dist/src/plugin/cache/signature-cache.js +1 -1
  37. package/dist/src/plugin/cache.d.ts +7 -5
  38. package/dist/src/plugin/cache.d.ts.map +1 -1
  39. package/dist/src/plugin/cache.js +20 -3
  40. package/dist/src/plugin/cache.js.map +1 -1
  41. package/dist/src/plugin/cli.d.ts +4 -6
  42. package/dist/src/plugin/cli.d.ts.map +1 -1
  43. package/dist/src/plugin/cli.js +5 -11
  44. package/dist/src/plugin/cli.js.map +1 -1
  45. package/dist/src/plugin/config/index.d.ts +2 -2
  46. package/dist/src/plugin/config/index.js +2 -2
  47. package/dist/src/plugin/config/loader.d.ts +1 -1
  48. package/dist/src/plugin/config/loader.js +2 -2
  49. package/dist/src/plugin/config/models-v2.d.ts +54 -0
  50. package/dist/src/plugin/config/models-v2.d.ts.map +1 -0
  51. package/dist/src/plugin/config/models-v2.js +62 -0
  52. package/dist/src/plugin/config/models-v2.js.map +1 -0
  53. package/dist/src/plugin/config/models.d.ts +1 -1
  54. package/dist/src/plugin/config/updater.d.ts +16 -3
  55. package/dist/src/plugin/config/updater.d.ts.map +1 -1
  56. package/dist/src/plugin/config/updater.js +53 -10
  57. package/dist/src/plugin/config/updater.js.map +1 -1
  58. package/dist/src/plugin/core/streaming/index.d.ts +2 -2
  59. package/dist/src/plugin/core/streaming/index.js +2 -2
  60. package/dist/src/plugin/core/streaming/transformer.d.ts +1 -1
  61. package/dist/src/plugin/core/streaming/transformer.js +1 -1
  62. package/dist/src/plugin/debug.d.ts +1 -1
  63. package/dist/src/plugin/debug.js +2 -2
  64. package/dist/src/plugin/fingerprint.d.ts +8 -5
  65. package/dist/src/plugin/fingerprint.d.ts.map +1 -1
  66. package/dist/src/plugin/fingerprint.js +23 -41
  67. package/dist/src/plugin/fingerprint.js.map +1 -1
  68. package/dist/src/plugin/logger.d.ts +1 -1
  69. package/dist/src/plugin/logger.js +2 -2
  70. package/dist/src/plugin/project.d.ts +4 -4
  71. package/dist/src/plugin/project.d.ts.map +1 -1
  72. package/dist/src/plugin/project.js +95 -94
  73. package/dist/src/plugin/project.js.map +1 -1
  74. package/dist/src/plugin/quota.d.ts +35 -3
  75. package/dist/src/plugin/quota.d.ts.map +1 -1
  76. package/dist/src/plugin/quota.js +54 -25
  77. package/dist/src/plugin/quota.js.map +1 -1
  78. package/dist/src/plugin/recovery/index.d.ts +3 -3
  79. package/dist/src/plugin/recovery/index.js +3 -3
  80. package/dist/src/plugin/recovery/storage.d.ts +1 -1
  81. package/dist/src/plugin/recovery/storage.js +1 -1
  82. package/dist/src/plugin/recovery.d.ts +3 -3
  83. package/dist/src/plugin/recovery.js +3 -3
  84. package/dist/src/plugin/refresh-queue.d.ts +6 -3
  85. package/dist/src/plugin/refresh-queue.d.ts.map +1 -1
  86. package/dist/src/plugin/refresh-queue.js +23 -6
  87. package/dist/src/plugin/refresh-queue.js.map +1 -1
  88. package/dist/src/plugin/request-helpers.d.ts +1 -1
  89. package/dist/src/plugin/request-helpers.js +5 -5
  90. package/dist/src/plugin/request.d.ts +9 -6
  91. package/dist/src/plugin/request.d.ts.map +1 -1
  92. package/dist/src/plugin/request.js +23 -23
  93. package/dist/src/plugin/request.js.map +1 -1
  94. package/dist/src/plugin/search.js +7 -7
  95. package/dist/src/plugin/search.js.map +1 -1
  96. package/dist/src/plugin/server.js +1 -1
  97. package/dist/src/plugin/storage.d.ts +18 -5
  98. package/dist/src/plugin/storage.d.ts.map +1 -1
  99. package/dist/src/plugin/storage.js +117 -69
  100. package/dist/src/plugin/storage.js.map +1 -1
  101. package/dist/src/plugin/stores/signature-store.d.ts +1 -1
  102. package/dist/src/plugin/token.d.ts +2 -4
  103. package/dist/src/plugin/token.d.ts.map +1 -1
  104. package/dist/src/plugin/token.js +48 -8
  105. package/dist/src/plugin/token.js.map +1 -1
  106. package/dist/src/plugin/transform/claude.d.ts +1 -1
  107. package/dist/src/plugin/transform/claude.js +1 -1
  108. package/dist/src/plugin/transform/cross-model-sanitizer.js +2 -2
  109. package/dist/src/plugin/transform/gemini.d.ts +1 -1
  110. package/dist/src/plugin/transform/index.d.ts +9 -9
  111. package/dist/src/plugin/transform/index.js +4 -4
  112. package/dist/src/plugin/transform/model-resolver.d.ts +9 -1
  113. package/dist/src/plugin/transform/model-resolver.d.ts.map +1 -1
  114. package/dist/src/plugin/transform/model-resolver.js +34 -4
  115. package/dist/src/plugin/transform/model-resolver.js.map +1 -1
  116. package/dist/src/plugin/transform/types.d.ts +1 -1
  117. package/dist/src/plugin/types.d.ts +31 -2
  118. package/dist/src/plugin/types.d.ts.map +1 -1
  119. package/dist/src/plugin/ui/auth-menu.d.ts +1 -4
  120. package/dist/src/plugin/ui/auth-menu.d.ts.map +1 -1
  121. package/dist/src/plugin/ui/auth-menu.js +8 -16
  122. package/dist/src/plugin/ui/auth-menu.js.map +1 -1
  123. package/dist/src/plugin/ui/confirm.js +1 -1
  124. package/dist/src/plugin/ui/select.js +1 -1
  125. package/dist/src/plugin/version.d.ts +35 -6
  126. package/dist/src/plugin/version.d.ts.map +1 -1
  127. package/dist/src/plugin/version.js +138 -42
  128. package/dist/src/plugin/version.js.map +1 -1
  129. package/dist/src/plugin.d.ts +11 -8
  130. package/dist/src/plugin.d.ts.map +1 -1
  131. package/dist/src/plugin.js +170 -291
  132. package/dist/src/plugin.js.map +1 -1
  133. package/dist/src/tui.d.ts +64 -0
  134. package/dist/src/tui.d.ts.map +1 -0
  135. package/dist/src/tui.js +124 -0
  136. package/dist/src/tui.js.map +1 -0
  137. package/dist/src/v2.d.ts +4 -0
  138. package/dist/src/v2.d.ts.map +1 -0
  139. package/dist/src/v2.js +672 -0
  140. package/dist/src/v2.js.map +1 -0
  141. package/index.js +4 -0
  142. package/package.json +21 -7
  143. package/tui.js +1 -0
@@ -1,8 +1,8 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
- import { PACKAGE_NAME, NPM_REGISTRY_URL, NPM_FETCH_TIMEOUT, INSTALLED_PACKAGE_JSON, USER_OPENCODE_CONFIG, USER_OPENCODE_CONFIG_JSONC, } from "./constants";
5
- import { logAutoUpdate } from "./logging";
4
+ import { PACKAGE_NAME, NPM_REGISTRY_URL, NPM_FETCH_TIMEOUT, INSTALLED_PACKAGE_JSON, USER_OPENCODE_CONFIG, USER_OPENCODE_CONFIG_JSONC, } from "./constants.js";
5
+ import { logAutoUpdate } from "./logging.js";
6
6
  export function isLocalDevMode(directory) {
7
7
  return getLocalDevPath(directory) !== null;
8
8
  }
@@ -1,4 +1,4 @@
1
- import type { AutoUpdateCheckerOptions } from "./types";
1
+ import type { AutoUpdateCheckerOptions } from "./types.js";
2
2
  interface PluginClient {
3
3
  tui: {
4
4
  showToast(options: {
@@ -28,7 +28,7 @@ export declare function createAutoUpdateCheckerHook(client: PluginClient, direct
28
28
  event: PluginEvent;
29
29
  }) => void;
30
30
  };
31
- export type { UpdateCheckResult, AutoUpdateCheckerOptions } from "./types";
32
- export { checkForUpdate, getCachedVersion, getLatestVersion } from "./checker";
33
- export { invalidatePackage, invalidateCache } from "./cache";
31
+ export type { UpdateCheckResult, AutoUpdateCheckerOptions } from "./types.js";
32
+ export { checkForUpdate, getCachedVersion, getLatestVersion } from "./checker.js";
33
+ export { invalidatePackage, invalidateCache } from "./cache.js";
34
34
  //# sourceMappingURL=index.d.ts.map
@@ -1,7 +1,7 @@
1
- import { getCachedVersion, getLocalDevVersion, findPluginEntry, getLatestVersion, updatePinnedVersion } from "./checker";
2
- import { invalidatePackage } from "./cache";
3
- import { PACKAGE_NAME } from "./constants";
4
- import { logAutoUpdate } from "./logging";
1
+ import { getCachedVersion, getLocalDevVersion, findPluginEntry, getLatestVersion, updatePinnedVersion } from "./checker.js";
2
+ import { invalidatePackage } from "./cache.js";
3
+ import { PACKAGE_NAME } from "./constants.js";
4
+ import { logAutoUpdate } from "./logging.js";
5
5
  export function createAutoUpdateCheckerHook(client, directory, options = {}) {
6
6
  const { showStartupToast = true, autoUpdate = true } = options;
7
7
  let hasChecked = false;
@@ -117,6 +117,6 @@ async function showLocalDevToast(client, version) {
117
117
  .catch(() => { });
118
118
  logAutoUpdate(`Local dev toast shown: v${version}`);
119
119
  }
120
- export { checkForUpdate, getCachedVersion, getLatestVersion } from "./checker";
121
- export { invalidatePackage, invalidateCache } from "./cache";
120
+ export { checkForUpdate, getCachedVersion, getLatestVersion } from "./checker.js";
121
+ export { invalidatePackage, invalidateCache } from "./cache.js";
122
122
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { debugLogToFile } from "../../plugin/debug";
1
+ import { debugLogToFile } from "../../plugin/debug.js";
2
2
  const AUTO_UPDATE_LOG_PREFIX = "[auto-update-checker]";
3
3
  export function formatAutoUpdateLogMessage(message) {
4
4
  return `${AUTO_UPDATE_LOG_PREFIX} ${message}`;
@@ -0,0 +1,67 @@
1
+ import type { Plugin } from "@opencode/plugin";
2
+ import { type AccountMetadataV3 } from "./storage.ts";
3
+ import type { PluginClient } from "./types.ts";
4
+ export declare const accountID: (account: Pick<AccountMetadataV3, "id" | "refreshToken">) => string;
5
+ export declare const accountPoolIdentity: (accounts: AccountMetadataV3[]) => string;
6
+ export declare const accountCredentialsIdentity: (accounts: AccountMetadataV3[]) => string;
7
+ export declare function loadManagedAccounts(): Promise<import("./storage.ts").AccountStorageV4 | null>;
8
+ export declare function registerAccountManagement(ctx: Plugin.Context, client: PluginClient, beforeWrite: () => Promise<void>, refreshModels: () => Promise<number>, afterWrite?: () => Promise<void>, runCredentialOperation?: <T>(operation: () => Promise<T>) => Promise<T>): Promise<import("@opencode/plugin/promise/rpc").RpcRegistration<{
9
+ readonly id: "antigravity.accounts";
10
+ readonly methods: {
11
+ readonly list: {
12
+ readonly input: import("zod").ZodObject<{}, import("zod/v4/core").$strip>;
13
+ readonly output: import("zod").ZodArray<import("zod").ZodObject<{
14
+ id: import("zod").ZodString;
15
+ email: import("zod").ZodString;
16
+ enabled: import("zod").ZodBoolean;
17
+ current: import("zod").ZodBoolean;
18
+ verificationRequired: import("zod").ZodBoolean;
19
+ lastUsed: import("zod").ZodNumber;
20
+ }, import("zod/v4/core").$strip>>;
21
+ };
22
+ readonly connections: {
23
+ readonly input: import("zod").ZodObject<{
24
+ id: import("zod").ZodString;
25
+ }, import("zod/v4/core").$strip>;
26
+ readonly output: import("zod").ZodObject<{
27
+ ids: import("zod").ZodArray<import("zod").ZodString>;
28
+ }, import("zod/v4/core").$strip>;
29
+ };
30
+ readonly quotas: {
31
+ readonly input: import("zod").ZodObject<{
32
+ id: import("zod").ZodOptional<import("zod").ZodString>;
33
+ }, import("zod/v4/core").$strip>;
34
+ readonly output: import("zod").ZodObject<{
35
+ report: import("zod").ZodString;
36
+ accounts: import("zod").ZodArray<import("zod").ZodObject<{
37
+ id: import("zod").ZodString;
38
+ email: import("zod").ZodString;
39
+ disabled: import("zod").ZodBoolean;
40
+ report: import("zod").ZodString;
41
+ }, import("zod/v4/core").$strip>>;
42
+ }, import("zod/v4/core").$strip>;
43
+ };
44
+ readonly update: {
45
+ readonly input: import("zod").ZodObject<{
46
+ id: import("zod").ZodString;
47
+ action: import("zod").ZodEnum<{
48
+ select: "select";
49
+ delete: "delete";
50
+ enable: "enable";
51
+ disable: "disable";
52
+ }>;
53
+ }, import("zod/v4/core").$strip>;
54
+ readonly output: import("zod").ZodObject<{
55
+ message: import("zod").ZodString;
56
+ }, import("zod/v4/core").$strip>;
57
+ };
58
+ readonly models: {
59
+ readonly input: import("zod").ZodObject<{}, import("zod/v4/core").$strip>;
60
+ readonly output: import("zod").ZodObject<{
61
+ count: import("zod").ZodNumber;
62
+ }, import("zod/v4/core").$strip>;
63
+ };
64
+ };
65
+ readonly events: {};
66
+ }>>;
67
+ //# sourceMappingURL=account-management.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-management.d.ts","sourceRoot":"","sources":["../../../src/plugin/account-management.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAI9C,OAAO,EAAyH,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC5K,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,eAAO,MAAM,SAAS,GAAI,SAAS,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,cAAc,CAAC,WAAyD,CAAA;AAC1I,eAAO,MAAM,mBAAmB,GAAI,UAAU,iBAAiB,EAAE,WAC6C,CAAA;AAC9G,eAAO,MAAM,0BAA0B,GAAI,UAAU,iBAAiB,EAAE,WAC6D,CAAA;AAErI,wBAAsB,mBAAmB,4DAQxC;AAED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,MAAM,CAAC,OAAO,EACnB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAChC,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACpC,UAAU,GAAE,MAAM,OAAO,CAAC,IAAI,CAAyB,EACvD,sBAAsB,GAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqIlG"}
@@ -0,0 +1,174 @@
1
+ import { createHash } from "node:crypto";
2
+ import { AntigravityAccountsRpc } from "./account-rpc.js";
3
+ import { parseRefreshParts } from "./auth.js";
4
+ import { checkAccountsQuota } from "./quota.js";
5
+ import { accountTokenHash, loadAccounts, matchesAccountToken, saveAccountCredentials, updateAccountCredentials, updateAccounts } from "./storage.js";
6
+ export const accountID = (account) => account.id ?? accountTokenHash(account.refreshToken);
7
+ export const accountPoolIdentity = (accounts) => createHash("sha256")
8
+ .update(accounts.filter(account => account.enabled !== false).map(accountID).sort().join(":")).digest("hex");
9
+ export const accountCredentialsIdentity = (accounts) => createHash("sha256")
10
+ .update(accounts.filter(account => account.enabled !== false).map(account => account.refreshToken).sort().join("\0")).digest("hex");
11
+ export async function loadManagedAccounts() {
12
+ const storage = await loadAccounts();
13
+ if (storage?.accounts.some(account => !account.id)) {
14
+ return updateAccounts(latest => {
15
+ for (const account of latest.accounts)
16
+ account.id ??= accountID(account);
17
+ });
18
+ }
19
+ return storage;
20
+ }
21
+ export async function registerAccountManagement(ctx, client, beforeWrite, refreshModels, afterWrite = async () => undefined, runCredentialOperation = operation => operation()) {
22
+ const readAccounts = loadManagedAccounts;
23
+ async function list() {
24
+ const storage = await readAccounts();
25
+ if (!storage)
26
+ return [];
27
+ return storage.accounts.map((account, index) => ({
28
+ id: accountID(account), email: account.email ?? `Account ${index + 1}`,
29
+ enabled: account.enabled !== false, current: index === storage.activeIndex,
30
+ verificationRequired: account.verificationRequired === true, lastUsed: account.lastUsed ?? 0,
31
+ }));
32
+ }
33
+ // Resolving a native connection may refresh OAuth. Do this only for explicit
34
+ // selection or deletion, never merely to display the saved-account menu.
35
+ async function connections(id) {
36
+ const storage = await readAccounts();
37
+ const account = storage?.accounts.find(item => accountID(item) === id);
38
+ if (!account)
39
+ return [];
40
+ const integration = await ctx.integration.get({ integrationID: "google" });
41
+ const ids = [];
42
+ for (const connection of integration.data.connections) {
43
+ if (connection.type !== "credential" || connection.method !== "oauth")
44
+ continue;
45
+ const value = await ctx.integration.connection.resolve(connection);
46
+ // Resolution can refresh and rotate the token. Compare the newly saved
47
+ // account, using the persistent ID captured before resolution.
48
+ const current = (await readAccounts())?.accounts.find(item => accountID(item) === id);
49
+ const boundID = await ctx.storage.get(`connection-account:${connection.id}`);
50
+ if (value?.type === "oauth" && current && (boundID === id || value.metadata?.antigravityAccountId === id || matchesAccountToken(current, parseRefreshParts(value.refresh).refreshToken))) {
51
+ await ctx.storage.set(`connection-account:${connection.id}`, id);
52
+ ids.push(connection.id);
53
+ }
54
+ }
55
+ return ids;
56
+ }
57
+ return ctx.rpc.register(AntigravityAccountsRpc, {
58
+ list,
59
+ async connections({ id }) { await beforeWrite(); return { ids: await connections(id) }; },
60
+ async quotas({ id }) {
61
+ return runCredentialOperation(async () => {
62
+ const storage = await readAccounts();
63
+ const accounts = (storage?.accounts ?? []).filter(account => !id || accountID(account) === id);
64
+ if (!accounts.length)
65
+ return { report: "No saved accounts. Add a Google account first.", accounts: [] };
66
+ const results = await checkAccountsQuota(accounts, client, "google", { includeDisabled: !!id, onAccountUpdated: saveAccountCredentials });
67
+ const lines = [];
68
+ const reports = [];
69
+ for (const result of results) {
70
+ const original = accounts[result.index];
71
+ if (!original)
72
+ continue;
73
+ const firstLine = lines.length;
74
+ const finish = () => reports.push({ id: accountID(original), email: original.email ?? `Account ${result.index + 1}`, disabled: result.disabled === true, report: lines.slice(firstLine).join("\n").trim() });
75
+ lines.push(`${original.email ?? `Account ${result.index + 1}`}${result.disabled ? " [disabled]" : ""}`);
76
+ if (result.status === "disabled") {
77
+ lines.push(" Skipped (disabled)", "");
78
+ finish();
79
+ continue;
80
+ }
81
+ if (result.error) {
82
+ lines.push(` ${result.error}`, "");
83
+ finish();
84
+ continue;
85
+ }
86
+ for (const [group, quota] of Object.entries(result.quota?.groups ?? {})) {
87
+ const percent = quota.remainingFraction === undefined ? "unknown" : `${Math.round(quota.remainingFraction * 100)}% remaining`;
88
+ lines.push(` Antigravity ${group}: ${percent}${quota.resetTime ? `; resets ${quota.resetTime}` : ""}`);
89
+ }
90
+ if (result.quota?.error)
91
+ lines.push(` Antigravity: ${result.quota.error}`);
92
+ for (const quota of result.geminiCliQuota?.models ?? []) {
93
+ lines.push(` Gemini CLI ${quota.modelId}: ${Math.round(quota.remainingFraction * 100)}% remaining${quota.resetTime ? `; resets ${quota.resetTime}` : ""}`);
94
+ }
95
+ if (result.geminiCliQuota?.error)
96
+ lines.push(` Gemini CLI: ${result.geminiCliQuota.error}`);
97
+ lines.push("");
98
+ finish();
99
+ }
100
+ await updateAccounts(latest => {
101
+ for (const result of results) {
102
+ const original = accounts[result.index];
103
+ if (!original)
104
+ continue;
105
+ const account = latest.accounts.find(item => accountID(item) === accountID(original));
106
+ if (account) {
107
+ if (result.updatedAccount && account.refreshToken === original.refreshToken) {
108
+ updateAccountCredentials(account, result.updatedAccount);
109
+ }
110
+ if (result.quota && !result.quota.error) {
111
+ account.cachedQuota = result.quota.groups;
112
+ account.cachedQuotaUpdatedAt = Date.now();
113
+ }
114
+ }
115
+ }
116
+ });
117
+ return { report: lines.join("\n").trim(), accounts: reports };
118
+ });
119
+ },
120
+ async update({ id, action }) {
121
+ await beforeWrite();
122
+ const credentialID = action === "select" ? (await connections(id))[0] : undefined;
123
+ const storage = await readAccounts();
124
+ const index = storage?.accounts.findIndex(account => accountID(account) === id) ?? -1;
125
+ const account = storage?.accounts[index];
126
+ if (!storage || !account)
127
+ throw new Error("Account no longer exists; reopen the menu.");
128
+ if (action === "select" && account.enabled === false)
129
+ throw new Error("Enable this account before selecting it.");
130
+ if (action === "select" && credentialID)
131
+ await ctx.credential.activate({ credentialID });
132
+ // Keep a pool selection until the user switches the native connection.
133
+ if (action === "select") {
134
+ const active = await ctx.integration.connection.active("google");
135
+ await ctx.storage.set("pool-selection", active?.type === "credential" ? active.id : "pool");
136
+ }
137
+ await updateAccounts(storage => {
138
+ const index = storage.accounts.findIndex(account => accountID(account) === id);
139
+ const account = storage.accounts[index];
140
+ if (!account)
141
+ throw new Error("Account no longer exists; reopen the menu.");
142
+ if (action === "select" && account.enabled === false)
143
+ throw new Error("Enable this account before selecting it.");
144
+ if (action === "enable" || action === "disable")
145
+ account.enabled = action === "enable";
146
+ if (action === "select") {
147
+ storage.activeIndex = index;
148
+ storage.activeIndexByFamily = { claude: index, gemini: index };
149
+ }
150
+ if (action === "delete") {
151
+ const cursors = { active: storage.accounts[storage.activeIndex], claude: storage.accounts[storage.activeIndexByFamily?.claude ?? storage.activeIndex], gemini: storage.accounts[storage.activeIndexByFamily?.gemini ?? storage.activeIndex] };
152
+ storage.accounts.splice(index, 1);
153
+ const cursor = (selected) => {
154
+ const found = storage.accounts.findIndex(item => item === selected && item.enabled !== false);
155
+ return found >= 0 ? found : Math.max(0, storage.accounts.findIndex(item => item.enabled !== false));
156
+ };
157
+ storage.activeIndex = cursor(cursors.active);
158
+ storage.activeIndexByFamily = { claude: cursor(cursors.claude), gemini: cursor(cursors.gemini) };
159
+ }
160
+ else {
161
+ if (storage.accounts[storage.activeIndex]?.enabled === false) {
162
+ storage.activeIndex = Math.max(0, storage.accounts.findIndex(item => item.enabled !== false));
163
+ storage.activeIndexByFamily = { claude: storage.activeIndex, gemini: storage.activeIndex };
164
+ }
165
+ }
166
+ });
167
+ await ctx.storage.remove("model-catalog");
168
+ await afterWrite();
169
+ return { message: action === "select" ? "Account selected" : action === "delete" ? "Account deleted" : action === "enable" ? "Account enabled" : "Account disabled" };
170
+ },
171
+ async models() { return { count: await refreshModels() }; },
172
+ });
173
+ }
174
+ //# sourceMappingURL=account-management.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-management.js","sourceRoot":"","sources":["../../../src/plugin/account-management.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { z } from "zod";
2
+ export declare const AccountSummary: z.ZodObject<{
3
+ id: z.ZodString;
4
+ email: z.ZodString;
5
+ enabled: z.ZodBoolean;
6
+ current: z.ZodBoolean;
7
+ verificationRequired: z.ZodBoolean;
8
+ lastUsed: z.ZodNumber;
9
+ }, z.core.$strip>;
10
+ export declare const AntigravityAccountsRpc: {
11
+ readonly id: "antigravity.accounts";
12
+ readonly methods: {
13
+ readonly list: {
14
+ readonly input: z.ZodObject<{}, z.core.$strip>;
15
+ readonly output: z.ZodArray<z.ZodObject<{
16
+ id: z.ZodString;
17
+ email: z.ZodString;
18
+ enabled: z.ZodBoolean;
19
+ current: z.ZodBoolean;
20
+ verificationRequired: z.ZodBoolean;
21
+ lastUsed: z.ZodNumber;
22
+ }, z.core.$strip>>;
23
+ };
24
+ readonly connections: {
25
+ readonly input: z.ZodObject<{
26
+ id: z.ZodString;
27
+ }, z.core.$strip>;
28
+ readonly output: z.ZodObject<{
29
+ ids: z.ZodArray<z.ZodString>;
30
+ }, z.core.$strip>;
31
+ };
32
+ readonly quotas: {
33
+ readonly input: z.ZodObject<{
34
+ id: z.ZodOptional<z.ZodString>;
35
+ }, z.core.$strip>;
36
+ readonly output: z.ZodObject<{
37
+ report: z.ZodString;
38
+ accounts: z.ZodArray<z.ZodObject<{
39
+ id: z.ZodString;
40
+ email: z.ZodString;
41
+ disabled: z.ZodBoolean;
42
+ report: z.ZodString;
43
+ }, z.core.$strip>>;
44
+ }, z.core.$strip>;
45
+ };
46
+ readonly update: {
47
+ readonly input: z.ZodObject<{
48
+ id: z.ZodString;
49
+ action: z.ZodEnum<{
50
+ select: "select";
51
+ delete: "delete";
52
+ enable: "enable";
53
+ disable: "disable";
54
+ }>;
55
+ }, z.core.$strip>;
56
+ readonly output: z.ZodObject<{
57
+ message: z.ZodString;
58
+ }, z.core.$strip>;
59
+ };
60
+ readonly models: {
61
+ readonly input: z.ZodObject<{}, z.core.$strip>;
62
+ readonly output: z.ZodObject<{
63
+ count: z.ZodNumber;
64
+ }, z.core.$strip>;
65
+ };
66
+ };
67
+ readonly events: {};
68
+ };
69
+ export type AccountSummary = z.infer<typeof AccountSummary>;
70
+ //# sourceMappingURL=account-rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-rpc.d.ts","sourceRoot":"","sources":["../../../src/plugin/account-rpc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,cAAc;;;;;;;iBAOzB,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBjC,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { Rpc } from "@opencode/plugin/rpc";
2
+ import { z } from "zod";
3
+ export const AccountSummary = z.object({
4
+ id: z.string(),
5
+ email: z.string(),
6
+ enabled: z.boolean(),
7
+ current: z.boolean(),
8
+ verificationRequired: z.boolean(),
9
+ lastUsed: z.number(),
10
+ });
11
+ export const AntigravityAccountsRpc = Rpc.define({
12
+ id: "antigravity.accounts",
13
+ methods: {
14
+ list: { input: z.object({}), output: z.array(AccountSummary) },
15
+ connections: { input: z.object({ id: z.string() }), output: z.object({ ids: z.array(z.string()) }) },
16
+ quotas: {
17
+ input: z.object({ id: z.string().optional() }),
18
+ output: z.object({ report: z.string(), accounts: z.array(z.object({ id: z.string(), email: z.string(), disabled: z.boolean(), report: z.string() })) }),
19
+ },
20
+ update: {
21
+ input: z.object({ id: z.string(), action: z.enum(["enable", "disable", "select", "delete"]) }),
22
+ output: z.object({ message: z.string() }),
23
+ },
24
+ models: { input: z.object({}), output: z.object({ count: z.number() }) },
25
+ },
26
+ events: {},
27
+ });
28
+ //# sourceMappingURL=account-rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-rpc.js","sourceRoot":"","sources":["../../../src/plugin/account-rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/C,EAAE,EAAE,sBAAsB;IAC1B,OAAO,EAAE;QACP,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QAC9D,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE;QACpG,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;SACxJ;QACD,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC9F,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SAC1C;QACD,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;KACzE;IACD,MAAM,EAAE,EAAE;CACX,CAAC,CAAA"}
@@ -1,10 +1,10 @@
1
- import { type AccountStorageV4, type AccountMetadataV3, type RateLimitStateV3, type ModelFamily, type HeaderStyle, type CooldownReason } from "./storage";
2
- import type { OAuthAuthDetails, RefreshParts } from "./types";
3
- import type { AccountSelectionStrategy } from "./config/schema";
4
- import { type Fingerprint, type FingerprintVersion } from "./fingerprint";
5
- import type { QuotaGroup, QuotaGroupSummary } from "./quota";
6
- export type { ModelFamily, HeaderStyle, CooldownReason } from "./storage";
7
- export type { AccountSelectionStrategy } from "./config/schema";
1
+ import { type AccountStorageV4, type AccountMetadataV3, type RateLimitStateV3, type ModelFamily, type HeaderStyle, type CooldownReason } from "./storage.js";
2
+ import type { OAuthAuthDetails, RefreshParts } from "./types.js";
3
+ import type { AccountSelectionStrategy } from "./config/schema.js";
4
+ import { type Fingerprint, type FingerprintVersion } from "./fingerprint.js";
5
+ import type { QuotaGroup, QuotaGroupSummary } from "./quota.js";
6
+ export type { ModelFamily, HeaderStyle, CooldownReason } from "./storage.js";
7
+ export type { AccountSelectionStrategy } from "./config/schema.js";
8
8
  export type RateLimitReason = "QUOTA_EXHAUSTED" | "RATE_LIMIT_EXCEEDED" | "MODEL_CAPACITY_EXHAUSTED" | "SERVER_ERROR" | "UNKNOWN";
9
9
  export interface RateLimitBackoffResult {
10
10
  backoffMs: number;
@@ -16,6 +16,7 @@ export type BaseQuotaKey = "claude" | "gemini-antigravity" | "gemini-cli";
16
16
  export type QuotaKey = BaseQuotaKey | `${BaseQuotaKey}:${string}`;
17
17
  export interface ManagedAccount {
18
18
  index: number;
19
+ id?: string;
19
20
  email?: string;
20
21
  addedAt: number;
21
22
  lastUsed: number;
@@ -32,7 +33,7 @@ export interface ManagedAccount {
32
33
  /** Timestamp of last failure for TTL-based reset of consecutiveFailures */
33
34
  lastFailureTime?: number;
34
35
  /** Per-account device fingerprint for rate limit mitigation */
35
- fingerprint?: import("./fingerprint").Fingerprint;
36
+ fingerprint?: import("./fingerprint.js").Fingerprint;
36
37
  /** History of previous fingerprints for this account */
37
38
  fingerprintHistory?: FingerprintVersion[];
38
39
  /** Cached quota data from last checkAccountsQuota() call */
@@ -41,7 +42,6 @@ export interface ManagedAccount {
41
42
  verificationRequired?: boolean;
42
43
  verificationRequiredAt?: number;
43
44
  verificationRequiredReason?: string;
44
- verificationRequiredType?: string;
45
45
  verificationUrl?: string;
46
46
  }
47
47
  /**
@@ -75,10 +75,17 @@ export declare class AccountManager {
75
75
  private lastToastAccountIndex;
76
76
  private lastToastTime;
77
77
  private savePending;
78
+ private retired;
79
+ private activeSaves;
80
+ private saveTail;
81
+ private managedStorage;
82
+ private persistedAccounts;
83
+ private credentialSources;
84
+ private persistedSelections;
78
85
  private saveTimeout;
79
86
  private savePromiseResolvers;
80
- static loadFromDisk(authFallback?: OAuthAuthDetails): Promise<AccountManager>;
81
- constructor(authFallback?: OAuthAuthDetails, stored?: AccountStorageV4 | null);
87
+ static loadFromDisk(authFallback?: OAuthAuthDetails, managedStorage?: boolean): Promise<AccountManager>;
88
+ constructor(authFallback?: OAuthAuthDetails, stored?: AccountStorageV4 | null, managedStorage?: boolean);
82
89
  getAccountCount(): number;
83
90
  getTotalAccountCount(): number;
84
91
  getEnabledAccounts(): ManagedAccount[];
@@ -91,8 +98,8 @@ export declare class AccountManager {
91
98
  */
92
99
  shouldShowAccountToast(accountIndex: number, debounceMs?: number): boolean;
93
100
  markToastShown(accountIndex: number): void;
94
- getCurrentOrNextForFamily(family: ModelFamily, model?: string | null, strategy?: AccountSelectionStrategy, headerStyle?: HeaderStyle, pidOffsetEnabled?: boolean, softQuotaThresholdPercent?: number, softQuotaCacheTtlMs?: number): ManagedAccount | null;
95
- getNextForFamily(family: ModelFamily, model?: string | null, headerStyle?: HeaderStyle, softQuotaThresholdPercent?: number, softQuotaCacheTtlMs?: number): ManagedAccount | null;
101
+ getCurrentOrNextForFamily(family: ModelFamily, model?: string | null, strategy?: AccountSelectionStrategy, headerStyle?: HeaderStyle, pidOffsetEnabled?: boolean, softQuotaThresholdPercent?: number, softQuotaCacheTtlMs?: number, eligible?: (account: ManagedAccount) => boolean): ManagedAccount | null;
102
+ getNextForFamily(family: ModelFamily, model?: string | null, headerStyle?: HeaderStyle, softQuotaThresholdPercent?: number, softQuotaCacheTtlMs?: number, eligible?: (account: ManagedAccount) => boolean): ManagedAccount | null;
96
103
  markRateLimited(account: ManagedAccount, retryAfterMs: number, family: ModelFamily, headerStyle?: HeaderStyle, model?: string | null): void;
97
104
  /**
98
105
  * Mark an account as used after a successful API request.
@@ -125,19 +132,25 @@ export declare class AccountManager {
125
132
  * @param model - Optional model name for model-specific rate limits
126
133
  * @returns true if any other enabled, non-cooling-down account has antigravity available
127
134
  */
128
- hasOtherAccountWithAntigravityAvailable(currentAccountIndex: number, family: ModelFamily, model?: string | null): boolean;
135
+ hasOtherAccountWithAntigravityAvailable(currentAccountIndex: number, family: ModelFamily, model?: string | null, eligible?: (account: ManagedAccount) => boolean): boolean;
129
136
  setAccountEnabled(accountIndex: number, enabled: boolean): boolean;
130
- markAccountVerificationRequired(accountIndex: number, reason?: string, verifyUrl?: string, verificationType?: string): boolean;
137
+ markAccountVerificationRequired(accountIndex: number, reason?: string, verifyUrl?: string): boolean;
131
138
  clearAccountVerificationRequired(accountIndex: number, enableAccount?: boolean): boolean;
132
139
  removeAccountByIndex(accountIndex: number): boolean;
133
140
  removeAccount(account: ManagedAccount): boolean;
134
- updateFromAuth(account: ManagedAccount, auth: OAuthAuthDetails): void;
141
+ updateFromAuth(account: ManagedAccount, auth: OAuthAuthDetails, previousToken?: string): void;
135
142
  toAuthDetails(account: ManagedAccount): OAuthAuthDetails;
136
- getMinWaitTimeForFamily(family: ModelFamily, model?: string | null, headerStyle?: HeaderStyle, strict?: boolean): number;
143
+ getMinWaitTimeForFamily(family: ModelFamily, model?: string | null, headerStyle?: HeaderStyle, strict?: boolean, eligible?: (account: ManagedAccount) => boolean): number;
137
144
  getAccounts(): ManagedAccount[];
138
145
  saveToDisk(): Promise<void>;
146
+ /** V2 menus own pool membership and controls. Transport writes are patches. */
147
+ useManagedStorage(): void;
148
+ private persistManagedAccounts;
149
+ private persistToDisk;
139
150
  requestSaveToDisk(): void;
140
151
  flushSaveToDisk(): Promise<void>;
152
+ /** Drain existing writes and reject writes from requests using this old pool. */
153
+ retire(): Promise<void>;
141
154
  private executeSave;
142
155
  /**
143
156
  * Regenerate fingerprint for an account, saving the old one to history.
@@ -162,13 +175,13 @@ export declare class AccountManager {
162
175
  isAccountOverSoftQuota(account: ManagedAccount, family: ModelFamily, thresholdPercent: number, cacheTtlMs: number, model?: string | null): boolean;
163
176
  getAccountsForQuotaCheck(): AccountMetadataV3[];
164
177
  getOldestQuotaCacheAge(): number | null;
165
- areAllAccountsOverSoftQuota(family: ModelFamily, thresholdPercent: number, cacheTtlMs: number, model?: string | null): boolean;
178
+ areAllAccountsOverSoftQuota(family: ModelFamily, thresholdPercent: number, cacheTtlMs: number, model?: string | null, eligible?: (account: ManagedAccount) => boolean): boolean;
166
179
  /**
167
180
  * Get minimum wait time until any account's soft quota resets.
168
181
  * Returns 0 if any account is available (not over threshold).
169
182
  * Returns the minimum resetTime across all over-threshold accounts.
170
183
  * Returns null if no resetTime data is available.
171
184
  */
172
- getMinWaitTimeForSoftQuota(family: ModelFamily, thresholdPercent: number, cacheTtlMs: number, model?: string | null): number | null;
185
+ getMinWaitTimeForSoftQuota(family: ModelFamily, thresholdPercent: number, cacheTtlMs: number, model?: string | null, eligible?: (account: ManagedAccount) => boolean): number | null;
173
186
  }
174
187
  //# sourceMappingURL=accounts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"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"}