@cortexkit/antigravity-auth-core 3.0.5 → 3.0.6
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/dist/account-manager.d.ts +15 -23
- package/dist/account-manager.d.ts.map +1 -1
- package/dist/account-manager.js +18 -32
- package/dist/account-manager.js.map +1 -1
- package/dist/account-repository-types.d.ts +1 -1
- package/dist/account-selector.d.ts +13 -27
- package/dist/account-selector.d.ts.map +1 -1
- package/dist/account-selector.js +38 -145
- package/dist/account-selector.js.map +1 -1
- package/dist/account-types.d.ts +1 -3
- package/dist/account-types.d.ts.map +1 -1
- package/dist/antigravity/oauth.d.ts +5 -1
- package/dist/antigravity/oauth.d.ts.map +1 -1
- package/dist/antigravity/oauth.js +43 -9
- package/dist/antigravity/oauth.js.map +1 -1
- package/dist/antigravity-command-menu.d.ts +4 -8
- package/dist/antigravity-command-menu.d.ts.map +1 -1
- package/dist/antigravity-command-menu.js +14 -37
- package/dist/antigravity-command-menu.js.map +1 -1
- package/dist/common-auth-embedded/claustrum/consumer.d.ts +33 -3
- package/dist/common-auth-embedded/claustrum/consumer.js +96 -1
- package/dist/common-auth-embedded/claustrum/custody.d.ts +4 -1
- package/dist/common-auth-embedded/claustrum/enrollment.d.ts +6 -1
- package/dist/common-auth-embedded/claustrum/enrollment.js +6 -1
- package/dist/common-auth-embedded/claustrum/index.d.ts +2 -1
- package/dist/common-auth-embedded/claustrum/index.js +5 -3
- package/dist/common-auth-embedded/claustrum/insula.d.ts +69 -0
- package/dist/common-auth-embedded/claustrum/insula.js +152 -0
- package/dist/common-auth-embedded/claustrum/roster.d.ts +13 -0
- package/dist/common-auth-embedded/claustrum/roster.js +33 -3
- package/dist/common-auth-embedded/fs/refresh-file-lock.js +20 -11
- package/dist/common-auth-embedded/quota/codec.d.ts +2 -0
- package/dist/common-auth-embedded/quota/codec.js +2 -1
- package/dist/common-auth-embedded/quota/format.d.ts +26 -0
- package/dist/common-auth-embedded/quota/format.js +78 -42
- package/dist/common-auth-embedded/quota/index.d.ts +4 -4
- package/dist/common-auth-embedded/quota/index.js +2 -2
- package/dist/common-auth-embedded/quota/map.d.ts +11 -0
- package/dist/common-auth-embedded/quota/map.js +36 -1
- package/dist/common-auth-embedded/quota/merge.d.ts +3 -1
- package/dist/common-auth-embedded/quota/merge.js +21 -5
- package/dist/common-auth-embedded/quota/projection.d.ts +2 -1
- package/dist/common-auth-embedded/quota/projection.js +3 -1
- package/dist/common-auth-embedded/source-output.json +96 -80
- package/dist/common-auth-embedded/store/schema.d.ts +2 -0
- package/dist/common-auth-embedded/store/schema.js +3 -2
- package/dist/common-auth-runtime.d.ts +2 -1
- package/dist/common-auth-runtime.d.ts.map +1 -1
- package/dist/common-auth-runtime.js +2 -1
- package/dist/common-auth-runtime.js.map +1 -1
- package/dist/constants.d.ts +1 -26
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -37
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/model-registry.d.ts +0 -1
- package/dist/model-registry.d.ts.map +1 -1
- package/dist/model-registry.js +3 -60
- package/dist/model-registry.js.map +1 -1
- package/dist/pi-paths.d.ts +14 -0
- package/dist/pi-paths.d.ts.map +1 -0
- package/dist/pi-paths.js +27 -0
- package/dist/pi-paths.js.map +1 -0
- package/dist/quota-manager.d.ts +7 -32
- package/dist/quota-manager.d.ts.map +1 -1
- package/dist/quota-manager.js +27 -76
- package/dist/quota-manager.js.map +1 -1
- package/dist/quota-types.d.ts +2 -11
- package/dist/quota-types.d.ts.map +1 -1
- package/dist/transform/index.d.ts +1 -1
- package/dist/transform/index.d.ts.map +1 -1
- package/dist/transform/index.js +1 -1
- package/dist/transform/index.js.map +1 -1
- package/dist/transform/model-resolver.d.ts +4 -28
- package/dist/transform/model-resolver.d.ts.map +1 -1
- package/dist/transform/model-resolver.js +33 -130
- package/dist/transform/model-resolver.js.map +1 -1
- package/dist/transform/types.d.ts +0 -5
- package/dist/transform/types.d.ts.map +1 -1
- package/dist/vault-account-source.d.ts +3 -2
- package/dist/vault-account-source.d.ts.map +1 -1
- package/dist/vault-account-source.js +34 -12
- package/dist/vault-account-source.js.map +1 -1
- package/dist/vault-folder-refusal.d.ts +32 -0
- package/dist/vault-folder-refusal.d.ts.map +1 -0
- package/dist/vault-folder-refusal.js +68 -0
- package/dist/vault-folder-refusal.js.map +1 -0
- package/dist/vault-provider-state.d.ts +1 -0
- package/dist/vault-provider-state.d.ts.map +1 -1
- package/dist/vault-provider-state.js +6 -0
- package/dist/vault-provider-state.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-types.d.ts","sourceRoot":"","sources":["../src/account-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEvE
|
|
1
|
+
{"version":3,"file":"account-types.d.ts","sourceRoot":"","sources":["../src/account-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,9 +35,13 @@ export declare function refreshAntigravityToken(refreshToken: string): Promise<A
|
|
|
35
35
|
* Build the Antigravity OAuth authorization URL including PKCE and optional project metadata.
|
|
36
36
|
*/
|
|
37
37
|
export declare function authorizeAntigravity(projectId?: string): Promise<AntigravityAuthorization>;
|
|
38
|
+
export interface AntigravityExchangeOptions {
|
|
39
|
+
readonly signal?: AbortSignal;
|
|
40
|
+
readonly admit?: () => Promise<void> | void;
|
|
41
|
+
}
|
|
38
42
|
/**
|
|
39
43
|
* Exchange an authorization code for Antigravity CLI access and refresh tokens.
|
|
40
44
|
*/
|
|
41
|
-
export declare function exchangeAntigravity(code: string, state: string): Promise<AntigravityTokenExchangeResult>;
|
|
45
|
+
export declare function exchangeAntigravity(code: string, state: string, options?: AntigravityExchangeOptions): Promise<AntigravityTokenExchangeResult>;
|
|
42
46
|
export {};
|
|
43
47
|
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/antigravity/oauth.ts"],"names":[],"mappings":"AAuCA;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,+BAA+B;IACvC,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,+BAA+B;IACvC,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,8BAA8B,GACtC,+BAA+B,GAC/B,+BAA+B,CAAA;AAEnC,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,wBAAwB,CAAC,CAkCnC;AAwCD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,SAAK,GACb,OAAO,CAAC,wBAAwB,CAAC,CAsBnC;
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/antigravity/oauth.ts"],"names":[],"mappings":"AAuCA;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,+BAA+B;IACvC,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,+BAA+B;IACvC,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,8BAA8B,GACtC,+BAA+B,GAC/B,+BAA+B,CAAA;AAEnC,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,wBAAwB,CAAC,CAkCnC;AAwCD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,SAAK,GACb,OAAO,CAAC,wBAAwB,CAAC,CAsBnC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC5C;AAgGD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,8BAA8B,CAAC,CA4FzC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createHash, randomBytes } from 'node:crypto';
|
|
2
2
|
import { fetchWithAgyCliTransport } from "../agy-transport.js";
|
|
3
3
|
import { calculateTokenExpiry } from "../auth.js";
|
|
4
|
-
import { ANTIGRAVITY_CLIENT_ID, ANTIGRAVITY_CLIENT_SECRET, ANTIGRAVITY_ENDPOINT_FALLBACKS, ANTIGRAVITY_LOAD_ENDPOINTS, ANTIGRAVITY_REDIRECT_URI, ANTIGRAVITY_SCOPES,
|
|
4
|
+
import { ANTIGRAVITY_CLIENT_ID, ANTIGRAVITY_CLIENT_SECRET, ANTIGRAVITY_ENDPOINT_FALLBACKS, ANTIGRAVITY_LOAD_ENDPOINTS, ANTIGRAVITY_REDIRECT_URI, ANTIGRAVITY_SCOPES, } from "../constants.js";
|
|
5
5
|
import { fetchWithActiveTimeout } from "../fetch-timeout.js";
|
|
6
|
-
import { buildAntigravityHarnessBootstrapHeaders, buildAntigravityLoadCodeAssistMetadata, } from "../fingerprint.js";
|
|
6
|
+
import { buildAntigravityHarnessBootstrapHeaders, buildAntigravityHarnessUserAgent, buildAntigravityLoadCodeAssistMetadata, } from "../fingerprint.js";
|
|
7
7
|
import { createLogger } from "../logger.js";
|
|
8
8
|
const log = createLogger('oauth');
|
|
9
9
|
function generatePkcePair() {
|
|
@@ -84,7 +84,20 @@ export async function authorizeAntigravity(projectId = '') {
|
|
|
84
84
|
projectId: projectId || '',
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
|
-
|
|
87
|
+
class ExchangeAdmissionError extends Error {
|
|
88
|
+
}
|
|
89
|
+
const EXCHANGE_REFUSED = 'Antigravity sign-in is no longer authorized.';
|
|
90
|
+
async function admitExchange(options) {
|
|
91
|
+
options.signal?.throwIfAborted();
|
|
92
|
+
try {
|
|
93
|
+
await options.admit?.();
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
throw new ExchangeAdmissionError(EXCHANGE_REFUSED);
|
|
97
|
+
}
|
|
98
|
+
options.signal?.throwIfAborted();
|
|
99
|
+
}
|
|
100
|
+
async function fetchProjectID(accessToken, options) {
|
|
88
101
|
const errors = [];
|
|
89
102
|
const loadHeaders = buildAntigravityHarnessBootstrapHeaders(accessToken);
|
|
90
103
|
const loadEndpoints = Array.from(new Set([
|
|
@@ -92,6 +105,7 @@ async function fetchProjectID(accessToken) {
|
|
|
92
105
|
...ANTIGRAVITY_ENDPOINT_FALLBACKS,
|
|
93
106
|
]));
|
|
94
107
|
for (const baseEndpoint of loadEndpoints) {
|
|
108
|
+
await admitExchange(options);
|
|
95
109
|
try {
|
|
96
110
|
const url = `${baseEndpoint}/v1internal:loadCodeAssist`;
|
|
97
111
|
const response = await fetchWithAgyCliTransport(url, {
|
|
@@ -100,13 +114,16 @@ async function fetchProjectID(accessToken) {
|
|
|
100
114
|
body: JSON.stringify({
|
|
101
115
|
metadata: buildAntigravityLoadCodeAssistMetadata(),
|
|
102
116
|
}),
|
|
103
|
-
}, { timeoutMs: 10000 });
|
|
117
|
+
}, { timeoutMs: 10000, signal: options.signal });
|
|
118
|
+
await admitExchange(options);
|
|
104
119
|
if (!response.ok) {
|
|
105
120
|
const message = await response.text().catch(() => '');
|
|
121
|
+
await admitExchange(options);
|
|
106
122
|
errors.push(`loadCodeAssist ${response.status} at ${baseEndpoint}${message ? `: ${message}` : ''}`);
|
|
107
123
|
continue;
|
|
108
124
|
}
|
|
109
125
|
const data = await response.json();
|
|
126
|
+
await admitExchange(options);
|
|
110
127
|
if (typeof data.cloudaicompanionProject === 'string' &&
|
|
111
128
|
data.cloudaicompanionProject) {
|
|
112
129
|
return data.cloudaicompanionProject;
|
|
@@ -119,6 +136,10 @@ async function fetchProjectID(accessToken) {
|
|
|
119
136
|
errors.push(`loadCodeAssist missing project id at ${baseEndpoint}`);
|
|
120
137
|
}
|
|
121
138
|
catch (e) {
|
|
139
|
+
// A discovery failure may fall back, but lost authority must stop OAuth.
|
|
140
|
+
if (e instanceof ExchangeAdmissionError)
|
|
141
|
+
throw e;
|
|
142
|
+
await admitExchange(options);
|
|
122
143
|
errors.push(`loadCodeAssist error at ${baseEndpoint}: ${e instanceof Error ? e.message : String(e)}`);
|
|
123
144
|
}
|
|
124
145
|
}
|
|
@@ -132,17 +153,19 @@ async function fetchProjectID(accessToken) {
|
|
|
132
153
|
/**
|
|
133
154
|
* Exchange an authorization code for Antigravity CLI access and refresh tokens.
|
|
134
155
|
*/
|
|
135
|
-
export async function exchangeAntigravity(code, state) {
|
|
156
|
+
export async function exchangeAntigravity(code, state, options = {}) {
|
|
136
157
|
try {
|
|
137
158
|
const { verifier, projectId } = decodeState(state);
|
|
159
|
+
await admitExchange(options);
|
|
138
160
|
const startTime = Date.now();
|
|
139
161
|
const tokenResponse = await fetchWithActiveTimeout('https://oauth2.googleapis.com/token', {
|
|
140
162
|
method: 'POST',
|
|
163
|
+
signal: options.signal,
|
|
141
164
|
headers: {
|
|
142
165
|
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
|
|
143
166
|
Accept: '*/*',
|
|
144
167
|
'Accept-Encoding': 'gzip, deflate, br',
|
|
145
|
-
'User-Agent':
|
|
168
|
+
'User-Agent': buildAntigravityHarnessUserAgent(),
|
|
146
169
|
},
|
|
147
170
|
body: new URLSearchParams({
|
|
148
171
|
client_id: ANTIGRAVITY_CLIENT_ID,
|
|
@@ -153,27 +176,34 @@ export async function exchangeAntigravity(code, state) {
|
|
|
153
176
|
code_verifier: verifier,
|
|
154
177
|
}),
|
|
155
178
|
});
|
|
179
|
+
await admitExchange(options);
|
|
156
180
|
if (!tokenResponse.ok) {
|
|
157
181
|
const errorText = await tokenResponse.text();
|
|
182
|
+
await admitExchange(options);
|
|
158
183
|
return { type: 'failed', error: errorText };
|
|
159
184
|
}
|
|
160
185
|
const tokenPayload = (await tokenResponse.json());
|
|
186
|
+
await admitExchange(options);
|
|
161
187
|
const userInfoResponse = await fetchWithActiveTimeout('https://www.googleapis.com/oauth2/v1/userinfo?alt=json', {
|
|
188
|
+
signal: options.signal,
|
|
162
189
|
headers: {
|
|
163
190
|
Authorization: `Bearer ${tokenPayload.access_token}`,
|
|
164
|
-
'User-Agent':
|
|
191
|
+
'User-Agent': buildAntigravityHarnessUserAgent(),
|
|
165
192
|
},
|
|
166
193
|
});
|
|
194
|
+
await admitExchange(options);
|
|
167
195
|
const userInfo = userInfoResponse.ok
|
|
168
196
|
? (await userInfoResponse.json())
|
|
169
197
|
: {};
|
|
198
|
+
await admitExchange(options);
|
|
170
199
|
const refreshToken = tokenPayload.refresh_token;
|
|
171
200
|
if (!refreshToken) {
|
|
172
201
|
return { type: 'failed', error: 'Missing refresh token in response' };
|
|
173
202
|
}
|
|
174
203
|
let effectiveProjectId = projectId;
|
|
175
204
|
if (!effectiveProjectId) {
|
|
176
|
-
effectiveProjectId = await fetchProjectID(tokenPayload.access_token);
|
|
205
|
+
effectiveProjectId = await fetchProjectID(tokenPayload.access_token, options);
|
|
206
|
+
await admitExchange(options);
|
|
177
207
|
}
|
|
178
208
|
const storedRefresh = `${refreshToken}|${effectiveProjectId || ''}`;
|
|
179
209
|
return {
|
|
@@ -189,7 +219,11 @@ export async function exchangeAntigravity(code, state) {
|
|
|
189
219
|
catch (error) {
|
|
190
220
|
return {
|
|
191
221
|
type: 'failed',
|
|
192
|
-
error: error instanceof
|
|
222
|
+
error: error instanceof ExchangeAdmissionError || options.signal?.aborted
|
|
223
|
+
? EXCHANGE_REFUSED
|
|
224
|
+
: error instanceof Error
|
|
225
|
+
? error.message
|
|
226
|
+
: 'Unknown error',
|
|
193
227
|
};
|
|
194
228
|
}
|
|
195
229
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/antigravity/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/antigravity/oauth.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,12 +37,9 @@ export declare const ANTIGRAVITY_MENU_TITLE = "Antigravity";
|
|
|
37
37
|
export declare const ANTIGRAVITY_MENU_DISABLED_REASON = "disabled from the command menu";
|
|
38
38
|
/** The account operations the menu reads and writes. */
|
|
39
39
|
export type AntigravityMenuAccounts = Pick<AccountRepository, 'read' | 'setEnabled' | 'remove' | 'selectAccount'>;
|
|
40
|
-
/**
|
|
40
|
+
/** Account selection and killswitch values shown by the settings sections. */
|
|
41
41
|
export interface AntigravityMenuSettings {
|
|
42
|
-
readonly
|
|
43
|
-
readonly cliFirst: boolean;
|
|
44
|
-
readonly quotaStyleFallback: boolean;
|
|
45
|
-
};
|
|
42
|
+
readonly selectionStrategy: 'sticky' | 'round-robin' | 'hybrid' | 'vault';
|
|
46
43
|
readonly killswitch: {
|
|
47
44
|
readonly enabled: boolean;
|
|
48
45
|
readonly minimumRemainingPercent: number;
|
|
@@ -50,12 +47,11 @@ export interface AntigravityMenuSettings {
|
|
|
50
47
|
}
|
|
51
48
|
/**
|
|
52
49
|
* The location's operator settings. `read` is called for every section
|
|
53
|
-
* build, so the menu always shows the current values; only the
|
|
54
|
-
*
|
|
50
|
+
* build, so the menu always shows the current values; only the killswitch update
|
|
51
|
+
* method writes.
|
|
55
52
|
*/
|
|
56
53
|
export interface AntigravityMenuSettingsSource {
|
|
57
54
|
read(): AntigravityMenuSettings | Promise<AntigravityMenuSettings>;
|
|
58
|
-
updateRouting(next: AntigravityMenuSettings['routing']): Promise<void>;
|
|
59
55
|
updateKillswitch(next: AntigravityMenuSettings['killswitch']): Promise<void>;
|
|
60
56
|
}
|
|
61
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antigravity-command-menu.d.ts","sourceRoot":"","sources":["../src/antigravity-command-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,KAAK,EACV,iBAAiB,EAIjB,MAAM,EACP,MAAM,+BAA+B,CAAA;AACtC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAGxE,KAAK,QAAQ,GAAG,wBAAwB,CAAA;AACxC,KAAK,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAA;AAC5D,KAAK,kBAAkB,GAAG,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACtE,KAAK,aAAa,GAAG,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAA;AAC7D,KAAK,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAC3E,KAAK,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACjE,KAAK,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAClE,KAAK,gBAAgB,GAAG,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AACtE,KAAK,aAAa,GAAG,OAAO,CAC1B,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAC5C,MAAM,CACP,CAAA;AACD,KAAK,iBAAiB,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE9D,mDAAmD;AACnD,eAAO,MAAM,wBAAwB,gBAAgB,CAAA;AACrD,eAAO,MAAM,sBAAsB,gBAAgB,CAAA;AAEnD,iFAAiF;AACjF,eAAO,MAAM,gCAAgC,mCAAmC,CAAA;AAEhF,wDAAwD;AACxD,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,iBAAiB,EACjB,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,eAAe,CACnD,CAAA;AAED,
|
|
1
|
+
{"version":3,"file":"antigravity-command-menu.d.ts","sourceRoot":"","sources":["../src/antigravity-command-menu.ts"],"names":[],"mappings":"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"}
|
|
@@ -360,44 +360,21 @@ function routingSection(options) {
|
|
|
360
360
|
return {
|
|
361
361
|
title: 'Routing',
|
|
362
362
|
async build() {
|
|
363
|
-
const
|
|
363
|
+
const strategy = (await options.settings.read()).selectionStrategy;
|
|
364
|
+
const explanations = {
|
|
365
|
+
sticky: 'Keep the current account until it is unavailable.',
|
|
366
|
+
'round-robin': 'Rotate among available accounts for each request.',
|
|
367
|
+
hybrid: 'Choose available accounts using health and quota signals.',
|
|
368
|
+
vault: "Selection follows the vault's served accounts.",
|
|
369
|
+
};
|
|
364
370
|
return {
|
|
365
|
-
lines:
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
label: 'Change routing',
|
|
373
|
-
knobs: [
|
|
374
|
-
{
|
|
375
|
-
kind: 'toggle',
|
|
376
|
-
id: 'cliFirst',
|
|
377
|
-
label: 'Gemini CLI headers first',
|
|
378
|
-
value: current.cliFirst,
|
|
379
|
-
},
|
|
380
|
-
{
|
|
381
|
-
kind: 'toggle',
|
|
382
|
-
id: 'quotaStyleFallback',
|
|
383
|
-
label: 'Header-style fallback on quota',
|
|
384
|
-
value: current.quotaStyleFallback,
|
|
385
|
-
},
|
|
386
|
-
],
|
|
387
|
-
run: async ({ values }) => {
|
|
388
|
-
const latest = (await options.settings.read()).routing;
|
|
389
|
-
await options.settings.updateRouting({
|
|
390
|
-
cliFirst: typeof values.cliFirst === 'boolean'
|
|
391
|
-
? values.cliFirst
|
|
392
|
-
: latest.cliFirst,
|
|
393
|
-
quotaStyleFallback: typeof values.quotaStyleFallback === 'boolean'
|
|
394
|
-
? values.quotaStyleFallback
|
|
395
|
-
: latest.quotaStyleFallback,
|
|
396
|
-
});
|
|
397
|
-
return 'Routing updated';
|
|
398
|
-
},
|
|
399
|
-
},
|
|
400
|
-
],
|
|
371
|
+
lines: strategy === 'vault'
|
|
372
|
+
? [explanations.vault]
|
|
373
|
+
: [
|
|
374
|
+
`Account selection strategy: ${strategy}`,
|
|
375
|
+
explanations[strategy],
|
|
376
|
+
'Configured in antigravity.json: account_selection_strategy',
|
|
377
|
+
],
|
|
401
378
|
};
|
|
402
379
|
},
|
|
403
380
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antigravity-command-menu.js","sourceRoot":"","sources":["../src/antigravity-command-menu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"antigravity-command-menu.js","sourceRoot":"","sources":["../src/antigravity-command-menu.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@ import type { QuotaObservation } from '../quota/index.js';
|
|
|
3
3
|
import type { RoutingRow } from '../routing/index.js';
|
|
4
4
|
import { type ClaustrumFamily, type ClaustrumScopedAttempt, type ClaustrumScopedClient, type IdentityParser } from './custody.js';
|
|
5
5
|
import { type ClaustrumLogger } from './errors.js';
|
|
6
|
+
import { type InsulaQuotaOptions } from './insula.js';
|
|
6
7
|
import { type AccountMapper, type QuotaReceipt, type VaultRosterFile } from './roster.js';
|
|
7
|
-
export interface ClaustrumConsumerOptions {
|
|
8
|
+
export interface ClaustrumConsumerOptions<Q = QuotaObservation> {
|
|
8
9
|
/**
|
|
9
10
|
* The roster file: one row per vault account (route id, credential id,
|
|
10
11
|
* account identity, state, quota), plus the accounts the user declined. It
|
|
@@ -45,6 +46,8 @@ export interface ClaustrumConsumerOptions {
|
|
|
45
46
|
clearTimeoutImpl?: typeof clearTimeout;
|
|
46
47
|
now?: () => number;
|
|
47
48
|
logger?: ClaustrumLogger;
|
|
49
|
+
/** Optional background quota source. In-band readings still use recordQuota. */
|
|
50
|
+
insula?: InsulaQuotaOptions<Q>;
|
|
48
51
|
}
|
|
49
52
|
export interface SendOptions {
|
|
50
53
|
/**
|
|
@@ -63,15 +66,34 @@ export interface SendOptions {
|
|
|
63
66
|
* never are. It never enrolls: a missing token is an error here, and setup
|
|
64
67
|
* is where enrollment happens.
|
|
65
68
|
*/
|
|
66
|
-
export declare class ClaustrumConsumer {
|
|
69
|
+
export declare class ClaustrumConsumer<Q = QuotaObservation> {
|
|
67
70
|
#private;
|
|
68
|
-
constructor(options: ClaustrumConsumerOptions);
|
|
71
|
+
constructor(options: ClaustrumConsumerOptions<Q>);
|
|
69
72
|
/** The last committed roster this instance saw, without any I/O. */
|
|
70
73
|
snapshot(): VaultRosterFile | undefined;
|
|
71
74
|
/** Rows for `/routing`, from the last committed roster. */
|
|
72
75
|
routingRows(): RoutingRow[];
|
|
73
76
|
refresh(): Promise<VaultRosterFile | undefined>;
|
|
74
77
|
start(): void;
|
|
78
|
+
/**
|
|
79
|
+
* Fetch on a background tick, at most once per minute across projects with
|
|
80
|
+
* the same daemon and enrollment token path. Admission must use the cache
|
|
81
|
+
* instead, so an optional quota daemon never delays a provider request.
|
|
82
|
+
*/
|
|
83
|
+
refreshInsulaQuota(): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Cache-only, for unknown-quota admission with a served receipt. Undefined
|
|
86
|
+
* means poll the provider normally. Only get_scoped's asserted account_id
|
|
87
|
+
* joins insula; parsed identities and display metadata cannot substitute.
|
|
88
|
+
* Background polling should use cachedInsulaQuotaForRoute instead.
|
|
89
|
+
*/
|
|
90
|
+
cachedInsulaQuota(receipt: Pick<ClaustrumScopedAttempt, 'assertedAccountIdentity'>): Promise<Q | undefined>;
|
|
91
|
+
/**
|
|
92
|
+
* Background cache lookup without fetching a credential. Re-read the roster
|
|
93
|
+
* so a peer's account replacement invalidates the old route immediately.
|
|
94
|
+
* A route without a known provider account cannot join an insula entry.
|
|
95
|
+
*/
|
|
96
|
+
cachedInsulaQuotaForRoute(routeId: string): Promise<Q | undefined>;
|
|
75
97
|
/**
|
|
76
98
|
* Authorize one physical send on a vault route. The roster file is re-read
|
|
77
99
|
* first, so a decline committed by another process applies before the next
|
|
@@ -98,5 +120,13 @@ export declare class ClaustrumConsumer {
|
|
|
98
120
|
* (see `recordVaultQuota`), so a reading for a replaced account is dropped.
|
|
99
121
|
*/
|
|
100
122
|
recordQuota(routeId: string, observation: QuotaObservation, attempt: QuotaReceipt): Promise<boolean>;
|
|
123
|
+
/**
|
|
124
|
+
* Store a background observation that belongs to an account rather than to
|
|
125
|
+
* a served credential (an insula reading from `cachedInsulaQuotaForRoute`).
|
|
126
|
+
* It lands only while the route is still bound to that known account, so no
|
|
127
|
+
* credential fetch is needed and a replaced account's reading is dropped.
|
|
128
|
+
* The in-memory roster is reloaded from the file, without a vault call.
|
|
129
|
+
*/
|
|
130
|
+
recordAccountQuota(routeId: string, accountIdentity: string, observation: QuotaObservation): Promise<boolean>;
|
|
101
131
|
close(): void;
|
|
102
132
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { createLogger } from '../logger/index.js';
|
|
2
2
|
import { combineAbortSignals } from '../util/any-signal.js';
|
|
3
3
|
import { ClaustrumScopedCustody, decideScopedRetryAfter401, } from './custody.js';
|
|
4
|
+
import { readClaustrumEnrollmentToken } from './enrollment.js';
|
|
4
5
|
import { ClaustrumConsumerError } from './errors.js';
|
|
5
|
-
import {
|
|
6
|
+
import { acquireInsulaQuotaSource } from './insula.js';
|
|
7
|
+
import { acceptVaultRoute, declineVaultRoute, readVaultRoster, recordVaultAccountQuota, recordVaultQuota, refreshVaultRoster, vaultRoutingRows, } from './roster.js';
|
|
6
8
|
/**
|
|
7
9
|
* One plugin host's view of its vault accounts. It turns vault credentials
|
|
8
10
|
* into rows for `/routing`, authorizes each physical send with the vault, and
|
|
@@ -21,6 +23,7 @@ export class ClaustrumConsumer {
|
|
|
21
23
|
#roster;
|
|
22
24
|
#timer;
|
|
23
25
|
#started = false;
|
|
26
|
+
#insula;
|
|
24
27
|
constructor(options) {
|
|
25
28
|
this.#options = options;
|
|
26
29
|
this.#logger = options.logger ?? createLogger('claustrum');
|
|
@@ -84,6 +87,9 @@ export class ClaustrumConsumer {
|
|
|
84
87
|
now: this.#options.now,
|
|
85
88
|
logger: this.#logger,
|
|
86
89
|
});
|
|
90
|
+
if (this.#options.insula && client.insula) {
|
|
91
|
+
this.#insula = acquireInsulaQuotaSource(client.insula, this.#options.tokenPath);
|
|
92
|
+
}
|
|
87
93
|
return this.#custody;
|
|
88
94
|
})
|
|
89
95
|
.finally(() => {
|
|
@@ -109,6 +115,8 @@ export class ClaustrumConsumer {
|
|
|
109
115
|
this.#roster = undefined;
|
|
110
116
|
this.#custody?.close();
|
|
111
117
|
this.#custody = undefined;
|
|
118
|
+
this.#insula?.release();
|
|
119
|
+
this.#insula = undefined;
|
|
112
120
|
return undefined;
|
|
113
121
|
}
|
|
114
122
|
const custody = await this.#getCustody();
|
|
@@ -145,6 +153,7 @@ export class ClaustrumConsumer {
|
|
|
145
153
|
const tick = async () => {
|
|
146
154
|
try {
|
|
147
155
|
await this.refresh();
|
|
156
|
+
await this.refreshInsulaQuota();
|
|
148
157
|
}
|
|
149
158
|
catch (error) {
|
|
150
159
|
if (!this.#shutdown.signal.aborted)
|
|
@@ -163,6 +172,72 @@ export class ClaustrumConsumer {
|
|
|
163
172
|
};
|
|
164
173
|
void tick();
|
|
165
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Fetch on a background tick, at most once per minute across projects with
|
|
177
|
+
* the same daemon and enrollment token path. Admission must use the cache
|
|
178
|
+
* instead, so an optional quota daemon never delays a provider request.
|
|
179
|
+
*/
|
|
180
|
+
async refreshInsulaQuota() {
|
|
181
|
+
if (!this.#options.insula ||
|
|
182
|
+
this.#shutdown.signal.aborted ||
|
|
183
|
+
!(await this.#active()))
|
|
184
|
+
return;
|
|
185
|
+
try {
|
|
186
|
+
await readClaustrumEnrollmentToken(this.#options.tokenPath);
|
|
187
|
+
await this.#getCustody();
|
|
188
|
+
await this.#insula?.source.refresh((this.#options.now ?? Date.now)());
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
// An optional source must never prevent the plugin's own quota poll.
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Cache-only, for unknown-quota admission with a served receipt. Undefined
|
|
196
|
+
* means poll the provider normally. Only get_scoped's asserted account_id
|
|
197
|
+
* joins insula; parsed identities and display metadata cannot substitute.
|
|
198
|
+
* Background polling should use cachedInsulaQuotaForRoute instead.
|
|
199
|
+
*/
|
|
200
|
+
async cachedInsulaQuota(receipt) {
|
|
201
|
+
if (!this.#options.insula ||
|
|
202
|
+
this.#shutdown.signal.aborted ||
|
|
203
|
+
!(await this.#active()))
|
|
204
|
+
return undefined;
|
|
205
|
+
try {
|
|
206
|
+
await readClaustrumEnrollmentToken(this.#options.tokenPath);
|
|
207
|
+
return this.#normalizeInsulaQuota(receipt.assertedAccountIdentity);
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Background cache lookup without fetching a credential. Re-read the roster
|
|
215
|
+
* so a peer's account replacement invalidates the old route immediately.
|
|
216
|
+
* A route without a known provider account cannot join an insula entry.
|
|
217
|
+
*/
|
|
218
|
+
async cachedInsulaQuotaForRoute(routeId) {
|
|
219
|
+
if (!this.#options.insula ||
|
|
220
|
+
this.#shutdown.signal.aborted ||
|
|
221
|
+
!(await this.#active()))
|
|
222
|
+
return undefined;
|
|
223
|
+
try {
|
|
224
|
+
await readClaustrumEnrollmentToken(this.#options.tokenPath);
|
|
225
|
+
const roster = await readVaultRoster(this.#options.rosterPath);
|
|
226
|
+
const row = roster?.rows.find((entry) => entry.routeId === routeId);
|
|
227
|
+
return this.#normalizeInsulaQuota(row?.accountIdentity);
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
return undefined;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
#normalizeInsulaQuota(accountIdentity) {
|
|
234
|
+
if (!this.#options.insula || !accountIdentity)
|
|
235
|
+
return undefined;
|
|
236
|
+
const current = this.#insula?.source.current(this.#options.insula.provider, accountIdentity, (this.#options.now ?? Date.now)());
|
|
237
|
+
return current
|
|
238
|
+
? this.#options.insula.normalize(current.entry, current.context)
|
|
239
|
+
: undefined;
|
|
240
|
+
}
|
|
166
241
|
/**
|
|
167
242
|
* Authorize one physical send on a vault route. The roster file is re-read
|
|
168
243
|
* first, so a decline committed by another process applies before the next
|
|
@@ -285,6 +360,24 @@ export class ClaustrumConsumer {
|
|
|
285
360
|
this.#roster = await readVaultRoster(this.#options.rosterPath);
|
|
286
361
|
return kept;
|
|
287
362
|
}
|
|
363
|
+
/**
|
|
364
|
+
* Store a background observation that belongs to an account rather than to
|
|
365
|
+
* a served credential (an insula reading from `cachedInsulaQuotaForRoute`).
|
|
366
|
+
* It lands only while the route is still bound to that known account, so no
|
|
367
|
+
* credential fetch is needed and a replaced account's reading is dropped.
|
|
368
|
+
* The in-memory roster is reloaded from the file, without a vault call.
|
|
369
|
+
*/
|
|
370
|
+
async recordAccountQuota(routeId, accountIdentity, observation) {
|
|
371
|
+
this.#assertOpen();
|
|
372
|
+
const kept = await recordVaultAccountQuota(this.#options.rosterPath, {
|
|
373
|
+
routeId,
|
|
374
|
+
accountIdentity,
|
|
375
|
+
observation,
|
|
376
|
+
});
|
|
377
|
+
if (kept)
|
|
378
|
+
this.#roster = await readVaultRoster(this.#options.rosterPath);
|
|
379
|
+
return kept;
|
|
380
|
+
}
|
|
288
381
|
close() {
|
|
289
382
|
if (this.#shutdown.signal.aborted)
|
|
290
383
|
return;
|
|
@@ -293,6 +386,8 @@ export class ClaustrumConsumer {
|
|
|
293
386
|
(this.#options.clearTimeoutImpl ?? clearTimeout)(this.#timer);
|
|
294
387
|
this.#timer = undefined;
|
|
295
388
|
this.#custody?.close();
|
|
389
|
+
this.#insula?.release();
|
|
390
|
+
this.#insula = undefined;
|
|
296
391
|
this.#roster = undefined;
|
|
297
392
|
}
|
|
298
393
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { type ClaustrumClient, type ClaustrumReporterSource, type EnrollmentTokenFile } from '@cortexkit/claustrum-client';
|
|
2
2
|
import { type ClaustrumLogger } from './errors.js';
|
|
3
|
-
|
|
3
|
+
import type { InsulaUsageTransport } from './insula.js';
|
|
4
|
+
export type ClaustrumScopedClient = Pick<ClaustrumClient, 'listScoped' | 'getScoped' | 'reportAuthFailureScoped' | 'close'> & {
|
|
5
|
+
insula?: InsulaUsageTransport;
|
|
6
|
+
};
|
|
4
7
|
/** The two credential types a plugin's family can hold; routing differs by type. */
|
|
5
8
|
export type VaultCredentialType = 'oauth' | 'api_key';
|
|
6
9
|
/**
|