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 +34 -718
- package/dist/index.d.ts +1 -1
- package/dist/src/plugin/account-management.d.ts +67 -0
- package/dist/src/plugin/account-management.d.ts.map +1 -0
- package/dist/src/plugin/account-management.js +174 -0
- package/dist/src/plugin/account-management.js.map +1 -0
- package/dist/src/plugin/account-rpc.d.ts +70 -0
- package/dist/src/plugin/account-rpc.d.ts.map +1 -0
- package/dist/src/plugin/account-rpc.js +28 -0
- package/dist/src/plugin/account-rpc.js.map +1 -0
- package/dist/src/plugin/accounts.d.ts +23 -9
- package/dist/src/plugin/accounts.d.ts.map +1 -1
- package/dist/src/plugin/accounts.js +190 -22
- package/dist/src/plugin/accounts.js.map +1 -1
- package/dist/src/plugin/config/models-v2.d.ts +19 -1
- package/dist/src/plugin/config/models-v2.d.ts.map +1 -1
- package/dist/src/plugin/config/models-v2.js +49 -38
- package/dist/src/plugin/config/models-v2.js.map +1 -1
- package/dist/src/plugin/quota.d.ts +33 -1
- package/dist/src/plugin/quota.d.ts.map +1 -1
- package/dist/src/plugin/quota.js +43 -18
- package/dist/src/plugin/quota.js.map +1 -1
- package/dist/src/plugin/refresh-queue.d.ts +4 -1
- package/dist/src/plugin/refresh-queue.d.ts.map +1 -1
- package/dist/src/plugin/refresh-queue.js +21 -4
- package/dist/src/plugin/refresh-queue.js.map +1 -1
- package/dist/src/plugin/storage.d.ts +15 -0
- package/dist/src/plugin/storage.d.ts.map +1 -1
- package/dist/src/plugin/storage.js +61 -2
- package/dist/src/plugin/storage.js.map +1 -1
- package/dist/src/plugin/token.d.ts +1 -3
- package/dist/src/plugin/token.d.ts.map +1 -1
- package/dist/src/plugin/token.js +43 -3
- package/dist/src/plugin/token.js.map +1 -1
- package/dist/src/plugin/transform/model-resolver.d.ts +2 -5
- package/dist/src/plugin/transform/model-resolver.d.ts.map +1 -1
- package/dist/src/plugin/transform/model-resolver.js +9 -1
- package/dist/src/plugin/transform/model-resolver.js.map +1 -1
- package/dist/src/plugin/types.d.ts +5 -0
- package/dist/src/plugin/types.d.ts.map +1 -1
- package/dist/src/plugin.d.ts +3 -3
- package/dist/src/plugin.d.ts.map +1 -1
- package/dist/src/plugin.js +84 -26
- package/dist/src/plugin.js.map +1 -1
- package/dist/src/tui.d.ts +64 -0
- package/dist/src/tui.d.ts.map +1 -0
- package/dist/src/tui.js +124 -0
- package/dist/src/tui.js.map +1 -0
- package/dist/src/v2.d.ts.map +1 -1
- package/dist/src/v2.js +386 -105
- package/dist/src/v2.js.map +1 -1
- package/package.json +9 -3
- package/tui.js +1 -0
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { authorizeAntigravity, exchangeAntigravity, } from "./src/antigravity/oa
|
|
|
3
3
|
export type { AntigravityAuthorization, AntigravityTokenExchangeResult, } from "./src/antigravity/oauth.js";
|
|
4
4
|
/** One package entrypoint for OpenCode V2 and V1.18.29+ server plugins. */
|
|
5
5
|
declare const _default: {
|
|
6
|
-
server: ({ client, directory, runtimeVersion, fetch: sendFetch }: import("./src/plugin/types.ts").PluginContext) => Promise<import("./src/plugin/types.ts").PluginResult>;
|
|
6
|
+
server: ({ client, directory, runtimeVersion, fetch: sendFetch, canUseAccount }: import("./src/plugin/types.ts").PluginContext) => Promise<import("./src/plugin/types.ts").PluginResult>;
|
|
7
7
|
id: string;
|
|
8
8
|
setup: (context: import("@opencode/plugin/promise/plugin").Context) => Promise<import("@opencode/plugin/promise/plugin").Cleanup | void> | import("@opencode/plugin/promise/plugin").Cleanup | void;
|
|
9
9
|
};
|
|
@@ -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"}
|
|
@@ -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;
|
|
@@ -74,10 +75,17 @@ export declare class AccountManager {
|
|
|
74
75
|
private lastToastAccountIndex;
|
|
75
76
|
private lastToastTime;
|
|
76
77
|
private savePending;
|
|
78
|
+
private retired;
|
|
79
|
+
private activeSaves;
|
|
80
|
+
private saveTail;
|
|
81
|
+
private managedStorage;
|
|
82
|
+
private persistedAccounts;
|
|
83
|
+
private credentialSources;
|
|
84
|
+
private persistedSelections;
|
|
77
85
|
private saveTimeout;
|
|
78
86
|
private savePromiseResolvers;
|
|
79
|
-
static loadFromDisk(authFallback?: OAuthAuthDetails): Promise<AccountManager>;
|
|
80
|
-
constructor(authFallback?: OAuthAuthDetails, stored?: AccountStorageV4 | null);
|
|
87
|
+
static loadFromDisk(authFallback?: OAuthAuthDetails, managedStorage?: boolean): Promise<AccountManager>;
|
|
88
|
+
constructor(authFallback?: OAuthAuthDetails, stored?: AccountStorageV4 | null, managedStorage?: boolean);
|
|
81
89
|
getAccountCount(): number;
|
|
82
90
|
getTotalAccountCount(): number;
|
|
83
91
|
getEnabledAccounts(): ManagedAccount[];
|
|
@@ -90,8 +98,8 @@ export declare class AccountManager {
|
|
|
90
98
|
*/
|
|
91
99
|
shouldShowAccountToast(accountIndex: number, debounceMs?: number): boolean;
|
|
92
100
|
markToastShown(accountIndex: number): void;
|
|
93
|
-
getCurrentOrNextForFamily(family: ModelFamily, model?: string | null, strategy?: AccountSelectionStrategy, headerStyle?: HeaderStyle, pidOffsetEnabled?: boolean, softQuotaThresholdPercent?: number, softQuotaCacheTtlMs?: number): ManagedAccount | null;
|
|
94
|
-
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;
|
|
95
103
|
markRateLimited(account: ManagedAccount, retryAfterMs: number, family: ModelFamily, headerStyle?: HeaderStyle, model?: string | null): void;
|
|
96
104
|
/**
|
|
97
105
|
* Mark an account as used after a successful API request.
|
|
@@ -124,19 +132,25 @@ export declare class AccountManager {
|
|
|
124
132
|
* @param model - Optional model name for model-specific rate limits
|
|
125
133
|
* @returns true if any other enabled, non-cooling-down account has antigravity available
|
|
126
134
|
*/
|
|
127
|
-
hasOtherAccountWithAntigravityAvailable(currentAccountIndex: number, family: ModelFamily, model?: string | null): boolean;
|
|
135
|
+
hasOtherAccountWithAntigravityAvailable(currentAccountIndex: number, family: ModelFamily, model?: string | null, eligible?: (account: ManagedAccount) => boolean): boolean;
|
|
128
136
|
setAccountEnabled(accountIndex: number, enabled: boolean): boolean;
|
|
129
137
|
markAccountVerificationRequired(accountIndex: number, reason?: string, verifyUrl?: string): boolean;
|
|
130
138
|
clearAccountVerificationRequired(accountIndex: number, enableAccount?: boolean): boolean;
|
|
131
139
|
removeAccountByIndex(accountIndex: number): boolean;
|
|
132
140
|
removeAccount(account: ManagedAccount): boolean;
|
|
133
|
-
updateFromAuth(account: ManagedAccount, auth: OAuthAuthDetails): void;
|
|
141
|
+
updateFromAuth(account: ManagedAccount, auth: OAuthAuthDetails, previousToken?: string): void;
|
|
134
142
|
toAuthDetails(account: ManagedAccount): OAuthAuthDetails;
|
|
135
|
-
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;
|
|
136
144
|
getAccounts(): ManagedAccount[];
|
|
137
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;
|
|
138
150
|
requestSaveToDisk(): void;
|
|
139
151
|
flushSaveToDisk(): Promise<void>;
|
|
152
|
+
/** Drain existing writes and reject writes from requests using this old pool. */
|
|
153
|
+
retire(): Promise<void>;
|
|
140
154
|
private executeSave;
|
|
141
155
|
/**
|
|
142
156
|
* Regenerate fingerprint for an account, saving the old one to history.
|
|
@@ -161,13 +175,13 @@ export declare class AccountManager {
|
|
|
161
175
|
isAccountOverSoftQuota(account: ManagedAccount, family: ModelFamily, thresholdPercent: number, cacheTtlMs: number, model?: string | null): boolean;
|
|
162
176
|
getAccountsForQuotaCheck(): AccountMetadataV3[];
|
|
163
177
|
getOldestQuotaCacheAge(): number | null;
|
|
164
|
-
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;
|
|
165
179
|
/**
|
|
166
180
|
* Get minimum wait time until any account's soft quota resets.
|
|
167
181
|
* Returns 0 if any account is available (not over threshold).
|
|
168
182
|
* Returns the minimum resetTime across all over-threshold accounts.
|
|
169
183
|
* Returns null if no resetTime data is available.
|
|
170
184
|
*/
|
|
171
|
-
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;
|
|
172
186
|
}
|
|
173
187
|
//# sourceMappingURL=accounts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"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"}
|