@sentropic/llm-mesh 0.12.0 → 0.13.2
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 +35 -1
- package/dist/auth.d.ts +8 -2
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +14 -0
- package/dist/auth.js.map +1 -1
- package/dist/enrollment/claude-code.d.ts +9 -0
- package/dist/enrollment/claude-code.d.ts.map +1 -0
- package/dist/enrollment/claude-code.js +18 -0
- package/dist/enrollment/claude-code.js.map +1 -0
- package/dist/enrollment/cloud-code.d.ts +36 -0
- package/dist/enrollment/cloud-code.d.ts.map +1 -0
- package/dist/enrollment/cloud-code.js +259 -0
- package/dist/enrollment/cloud-code.js.map +1 -0
- package/dist/enrollment/codex.d.ts +33 -0
- package/dist/enrollment/codex.d.ts.map +1 -0
- package/dist/enrollment/codex.js +222 -0
- package/dist/enrollment/codex.js.map +1 -0
- package/dist/enrollment/contracts.d.ts +86 -0
- package/dist/enrollment/contracts.d.ts.map +1 -0
- package/dist/enrollment/contracts.js +3 -0
- package/dist/enrollment/contracts.js.map +1 -0
- package/dist/enrollment/index.d.ts +2 -0
- package/dist/enrollment/index.d.ts.map +1 -0
- package/dist/enrollment/index.js +3 -0
- package/dist/enrollment/index.js.map +1 -0
- package/dist/enrollment/pkce.d.ts +18 -0
- package/dist/enrollment/pkce.d.ts.map +1 -0
- package/dist/enrollment/pkce.js +104 -0
- package/dist/enrollment/pkce.js.map +1 -0
- package/dist/node/index.d.ts +7 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +6 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/keyring/encrypted-file-keyring.d.ts +13 -0
- package/dist/node/keyring/encrypted-file-keyring.d.ts.map +1 -0
- package/dist/node/keyring/encrypted-file-keyring.js +134 -0
- package/dist/node/keyring/encrypted-file-keyring.js.map +1 -0
- package/dist/node/keyring/env-keyring.d.ts +11 -0
- package/dist/node/keyring/env-keyring.d.ts.map +1 -0
- package/dist/node/keyring/env-keyring.js +26 -0
- package/dist/node/keyring/env-keyring.js.map +1 -0
- package/dist/node/keyring/in-memory-keyring.d.ts +8 -0
- package/dist/node/keyring/in-memory-keyring.d.ts.map +1 -0
- package/dist/node/keyring/in-memory-keyring.js +13 -0
- package/dist/node/keyring/in-memory-keyring.js.map +1 -0
- package/dist/node/keyring/linux-secretstore-keyring.d.ts +10 -0
- package/dist/node/keyring/linux-secretstore-keyring.d.ts.map +1 -0
- package/dist/node/keyring/linux-secretstore-keyring.js +17 -0
- package/dist/node/keyring/linux-secretstore-keyring.js.map +1 -0
- package/dist/node/keyring/macos-keychain-keyring.d.ts +10 -0
- package/dist/node/keyring/macos-keychain-keyring.d.ts.map +1 -0
- package/dist/node/keyring/macos-keychain-keyring.js +17 -0
- package/dist/node/keyring/macos-keychain-keyring.js.map +1 -0
- package/dist/service/facade.d.ts +52 -0
- package/dist/service/facade.d.ts.map +1 -0
- package/dist/service/facade.js +53 -0
- package/dist/service/facade.js.map +1 -0
- package/dist/service/local-account-transport-service.d.ts +34 -0
- package/dist/service/local-account-transport-service.d.ts.map +1 -0
- package/dist/service/local-account-transport-service.js +263 -0
- package/dist/service/local-account-transport-service.js.map +1 -0
- package/dist/transport/cloud-code-transport.d.ts +26 -0
- package/dist/transport/cloud-code-transport.d.ts.map +1 -0
- package/dist/transport/cloud-code-transport.js +214 -0
- package/dist/transport/cloud-code-transport.js.map +1 -0
- package/package.json +18 -1
package/README.md
CHANGED
|
@@ -12,4 +12,38 @@ This package boundary is the BR-14c model-access runtime extraction. It defines
|
|
|
12
12
|
- Normalized stream events: `reasoning_delta`, `content_delta`, `tool_call_start`, `tool_call_delta`, `tool_call_result`, `status`, `error`, `done`.
|
|
13
13
|
- Provider adapters: OpenAI, Gemini, Anthropic Claude, Mistral, and Cohere scaffolds accept injected clients for deterministic tests; they do not perform live SDK calls by default.
|
|
14
14
|
|
|
15
|
-
Application wiring,
|
|
15
|
+
Application wiring, quotas, retries, and UI behavior remain outside this package contract. The
|
|
16
|
+
application runtime may provide those integrations through the package's resolver and adapter
|
|
17
|
+
hooks. CLI-mode enrollment uses an encrypted local keyring so the enrollment and gateway
|
|
18
|
+
processes can share provider credentials; portal mode remains injection-only. Override the CLI
|
|
19
|
+
keyring directory with `SENTROPIC_LLM_MESH_KEYRING_DIR` when runtime isolation requires it.
|
|
20
|
+
|
|
21
|
+
## Cloud Code OAuth client rotation
|
|
22
|
+
|
|
23
|
+
The embedded Antigravity OAuth client credential is distributable client configuration, not a
|
|
24
|
+
user access or refresh token. Source and npm artifacts are built from the same checked-in value.
|
|
25
|
+
|
|
26
|
+
Rotate it from a protected `0600` file, then bump the package version in the same pull request:
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
make rotate-llm-mesh-cloud-code-oauth \
|
|
30
|
+
CLOUD_CODE_OAUTH_CLIENT_SECRET_FILE=/absolute/path/to/client-secret
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Recovery from an official Antigravity binary is fail-closed and requires both the pinned binary
|
|
34
|
+
checksum and the expected credential fingerprint:
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
make rotate-llm-mesh-cloud-code-oauth-from-agy \
|
|
38
|
+
AGY_BINARY=/absolute/path/to/antigravity \
|
|
39
|
+
AGY_BINARY_SHA256=<verified-binary-sha256> \
|
|
40
|
+
CLOUD_CODE_OAUTH_EXPECTED_SHA256=<approved-credential-sha256>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Update the GitHub Actions secret `LLM_MESH_CLOUD_CODE_OAUTH_CLIENT_SECRET` before merging. The
|
|
44
|
+
main-branch publish job rebuilds the package, compares source and `dist` to that protected
|
|
45
|
+
reference, rejects credential fragments outside the intended module (including source maps), and
|
|
46
|
+
only then publishes through npm OIDC provenance. The workflow never writes the value to logs.
|
|
47
|
+
|
|
48
|
+
Published versions are immutable. Keep the previous and replacement clients valid for an agreed
|
|
49
|
+
grace period, or explicitly accept that revocation breaks enrollment for older package versions.
|
package/dist/auth.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ModelId, ProviderId } from './providers.js';
|
|
2
2
|
export declare const tokenAuthSourceTypes: readonly ["direct-token", "user-token", "workspace-token", "environment-token"];
|
|
3
3
|
export type TokenAuthSourceType = (typeof tokenAuthSourceTypes)[number];
|
|
4
|
-
export declare const accountTransportProviderIds: readonly ["codex", "claude-code", "antigravity"];
|
|
4
|
+
export declare const accountTransportProviderIds: readonly ["codex", "cloud-code", "claude-code", "antigravity"];
|
|
5
5
|
export type AccountTransportProviderId = (typeof accountTransportProviderIds)[number];
|
|
6
6
|
export type AuthSourceType = TokenAuthSourceType | 'codex-account' | 'claude-code-account' | 'account-transport' | 'none';
|
|
7
7
|
export interface AuthDescriptor {
|
|
@@ -103,9 +103,15 @@ export interface AuthResolution {
|
|
|
103
103
|
}
|
|
104
104
|
export type AuthResolver = (request: AuthResolutionRequest) => AuthResolution | Promise<AuthResolution>;
|
|
105
105
|
export type AuthInput = SecretAuthMaterial | AuthResolution;
|
|
106
|
-
export declare const executableAccountTransportProviderIds: readonly ["codex", "claude-code", "antigravity"];
|
|
106
|
+
export declare const executableAccountTransportProviderIds: readonly ["codex", "cloud-code", "claude-code", "antigravity"];
|
|
107
107
|
export declare const getSecretAuthMaterial: (input?: AuthInput) => SecretAuthMaterial | undefined;
|
|
108
108
|
export declare const describeAuthMaterial: (material: SecretAuthMaterial) => AuthDescriptor;
|
|
109
109
|
export declare const getAuthDescriptor: (input?: AuthInput) => AuthDescriptor | undefined;
|
|
110
|
+
export interface CloudCodeRuntimeMetadata {
|
|
111
|
+
cloudaicompanionProject: string;
|
|
112
|
+
cloudCodeUserAgentVersion: string;
|
|
113
|
+
authClientConfigVersion: string;
|
|
114
|
+
}
|
|
115
|
+
export declare const isCloudCodeRuntimeMetadata: (m: unknown) => m is CloudCodeRuntimeMetadata;
|
|
110
116
|
export {};
|
|
111
117
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE1D,eAAO,MAAM,oBAAoB,iFAKvB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,eAAO,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.js
CHANGED
|
@@ -6,6 +6,7 @@ export const tokenAuthSourceTypes = [
|
|
|
6
6
|
];
|
|
7
7
|
export const accountTransportProviderIds = [
|
|
8
8
|
'codex',
|
|
9
|
+
'cloud-code',
|
|
9
10
|
'claude-code',
|
|
10
11
|
// Antigravity: unified Google account transport fronting a multi-model fleet
|
|
11
12
|
// (Cloud Code `cloudcode-pa.googleapis.com`). Replaced the dead classic
|
|
@@ -18,6 +19,7 @@ export const accountTransportProviderIds = [
|
|
|
18
19
|
// material through the mesh adapter-auth gate.
|
|
19
20
|
export const executableAccountTransportProviderIds = [
|
|
20
21
|
'codex',
|
|
22
|
+
'cloud-code',
|
|
21
23
|
'claude-code',
|
|
22
24
|
'antigravity',
|
|
23
25
|
];
|
|
@@ -95,4 +97,16 @@ export const getAuthDescriptor = (input) => {
|
|
|
95
97
|
? input.descriptor
|
|
96
98
|
: describeAuthMaterial(input);
|
|
97
99
|
};
|
|
100
|
+
export const isCloudCodeRuntimeMetadata = (m) => {
|
|
101
|
+
if (typeof m !== 'object' || m === null) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
const obj = m;
|
|
105
|
+
return (typeof obj.cloudaicompanionProject === 'string'
|
|
106
|
+
&& obj.cloudaicompanionProject.trim().length > 0
|
|
107
|
+
&& typeof obj.cloudCodeUserAgentVersion === 'string'
|
|
108
|
+
&& obj.cloudCodeUserAgentVersion.trim().length > 0
|
|
109
|
+
&& typeof obj.authClientConfigVersion === 'string'
|
|
110
|
+
&& obj.authClientConfigVersion.trim().length > 0);
|
|
111
|
+
};
|
|
98
112
|
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CompleteEnrollmentInput, EnrollmentProvider, EnrollmentSession, PreparedCredential, RefreshInput, ResolvedProviderMetadata, StartEnrollmentInput } from './contracts.js';
|
|
2
|
+
export declare class ClaudeCodeEnrollmentProvider implements EnrollmentProvider {
|
|
3
|
+
start(_input: StartEnrollmentInput): Promise<EnrollmentSession>;
|
|
4
|
+
complete(_input: CompleteEnrollmentInput): Promise<PreparedCredential>;
|
|
5
|
+
resolve(_credential: PreparedCredential): Promise<ResolvedProviderMetadata>;
|
|
6
|
+
refresh(_input: RefreshInput): Promise<PreparedCredential>;
|
|
7
|
+
cancel(_enrollmentId: string): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=claude-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/enrollment/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAExB,qBAAa,4BAA6B,YAAW,kBAAkB;IAC/D,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAM/D,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMtE,OAAO,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAM3E,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAM1D,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export class ClaudeCodeEnrollmentProvider {
|
|
2
|
+
async start(_input) {
|
|
3
|
+
throw new Error('UNSUPPORTED: claude-code account transport enrollment is portal-only and unsupported locally in h2a-runtime.');
|
|
4
|
+
}
|
|
5
|
+
async complete(_input) {
|
|
6
|
+
throw new Error('UNSUPPORTED: claude-code account transport enrollment is portal-only and unsupported locally in h2a-runtime.');
|
|
7
|
+
}
|
|
8
|
+
async resolve(_credential) {
|
|
9
|
+
throw new Error('UNSUPPORTED: claude-code account transport enrollment is portal-only and unsupported locally in h2a-runtime.');
|
|
10
|
+
}
|
|
11
|
+
async refresh(_input) {
|
|
12
|
+
throw new Error('UNSUPPORTED: claude-code account transport refresh is portal-only and unsupported locally in h2a-runtime.');
|
|
13
|
+
}
|
|
14
|
+
async cancel(_enrollmentId) {
|
|
15
|
+
// no-op stub
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=claude-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/enrollment/claude-code.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,4BAA4B;IACvC,KAAK,CAAC,KAAK,CAAC,MAA4B;QACtC,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAA+B;QAC5C,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,WAA+B;QAC3C,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAoB;QAChC,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAqB;QAChC,aAAa;IACf,CAAC;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ConfigResolver } from '../service/facade.js';
|
|
2
|
+
import type { CompleteEnrollmentInput, EnrollmentProvider, EnrollmentSession, PreparedCredential, RefreshInput, ResolvedProviderMetadata, StartEnrollmentInput } from './contracts.js';
|
|
3
|
+
export declare const CLOUD_CODE_AUTH_URL = "https://accounts.google.com/o/oauth2/auth";
|
|
4
|
+
export declare const CLOUD_CODE_TOKEN_URL = "https://oauth2.googleapis.com/token";
|
|
5
|
+
export declare const CLOUD_CODE_LOAD_CODE_ASSIST_URL = "https://daily-cloudcode-pa.googleapis.com/v1internal:loadCodeAssist";
|
|
6
|
+
export declare const CLOUD_CODE_USER_AGENT = "antigravity/cli/1.1.10 (aidev_client; os_type=linux; arch=amd64; auth_method=consumer)";
|
|
7
|
+
export declare const CLOUD_CODE_CLIENT_ID = "1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com";
|
|
8
|
+
export declare const CLOUD_CODE_CLIENT_SECRET: string;
|
|
9
|
+
export interface CloudCodeEnrollmentOptions {
|
|
10
|
+
clientId?: string;
|
|
11
|
+
clientSecret?: string;
|
|
12
|
+
configResolver?: ConfigResolver;
|
|
13
|
+
fetchFn?: typeof fetch;
|
|
14
|
+
}
|
|
15
|
+
export declare class CloudCodeEnrollmentProvider implements EnrollmentProvider {
|
|
16
|
+
private readonly defaultClientId;
|
|
17
|
+
private readonly defaultClientSecret;
|
|
18
|
+
private readonly configResolver?;
|
|
19
|
+
private readonly fetchFn;
|
|
20
|
+
private readonly sessions;
|
|
21
|
+
private sequence;
|
|
22
|
+
constructor(options?: CloudCodeEnrollmentOptions);
|
|
23
|
+
private getSecrets;
|
|
24
|
+
start(input: StartEnrollmentInput): Promise<EnrollmentSession>;
|
|
25
|
+
waitForCallback(enrollmentId: string): Promise<{
|
|
26
|
+
accountId: string;
|
|
27
|
+
label: string;
|
|
28
|
+
credential: PreparedCredential;
|
|
29
|
+
metadata: ResolvedProviderMetadata;
|
|
30
|
+
}>;
|
|
31
|
+
complete(input: CompleteEnrollmentInput): Promise<PreparedCredential>;
|
|
32
|
+
resolve(credential: PreparedCredential): Promise<ResolvedProviderMetadata>;
|
|
33
|
+
refresh(input: RefreshInput): Promise<PreparedCredential>;
|
|
34
|
+
cancel(enrollmentId: string): Promise<void>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=cloud-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-code.d.ts","sourceRoot":"","sources":["../../src/enrollment/cloud-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EAEjB,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAIxB,eAAO,MAAM,mBAAmB,8CAA8C,CAAC;AAC/E,eAAO,MAAM,oBAAoB,wCAAwC,CAAC;AAC1E,eAAO,MAAM,+BAA+B,wEAC2B,CAAC;AACxE,eAAO,MAAM,qBAAqB,2FACwD,CAAC;AAE3F,eAAO,MAAM,oBAAoB,8EAC4C,CAAC;AAE9E,eAAO,MAAM,wBAAwB,QAA2D,CAAC;AAWjG,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,qBAAa,2BAA4B,YAAW,kBAAkB;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGrB;IACJ,OAAO,CAAC,QAAQ,CAAK;gBAET,OAAO,GAAE,0BAA+B;YAOtC,UAAU;IAyBlB,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyD9D,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QACnD,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,kBAAkB,CAAC;QAC/B,QAAQ,EAAE,wBAAwB,CAAC;KACpC,CAAC;IAqCI,QAAQ,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmErE,OAAO,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAiC1E,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsDzD,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CASlD"}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import { createLoopbackServer, generateNonce, generatePkcePair } from './pkce.js';
|
|
2
|
+
export const CLOUD_CODE_AUTH_URL = 'https://accounts.google.com/o/oauth2/auth';
|
|
3
|
+
export const CLOUD_CODE_TOKEN_URL = 'https://oauth2.googleapis.com/token';
|
|
4
|
+
export const CLOUD_CODE_LOAD_CODE_ASSIST_URL = 'https://daily-cloudcode-pa.googleapis.com/v1internal:loadCodeAssist';
|
|
5
|
+
export const CLOUD_CODE_USER_AGENT = 'antigravity/cli/1.1.10 (aidev_client; os_type=linux; arch=amd64; auth_method=consumer)';
|
|
6
|
+
export const CLOUD_CODE_CLIENT_ID = '1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com';
|
|
7
|
+
// cloud-code-oauth-credential:start
|
|
8
|
+
export const CLOUD_CODE_CLIENT_SECRET = ['GOCSPX-', 'K58FWR486LdLJ1', 'mLB8sXC4z6qDAf'].join('');
|
|
9
|
+
// cloud-code-oauth-credential:end
|
|
10
|
+
function redactOAuthError(text, clientSecret) {
|
|
11
|
+
return text
|
|
12
|
+
.split(clientSecret)
|
|
13
|
+
.join('[redacted]')
|
|
14
|
+
.replace(/GOCSPX-[A-Za-z0-9_-]+/g, '[redacted]')
|
|
15
|
+
.replace(/(client_secret(?:=|%3D))[^&\s"']+/gi, '$1[redacted]');
|
|
16
|
+
}
|
|
17
|
+
export class CloudCodeEnrollmentProvider {
|
|
18
|
+
defaultClientId;
|
|
19
|
+
defaultClientSecret;
|
|
20
|
+
configResolver;
|
|
21
|
+
fetchFn;
|
|
22
|
+
sessions = new Map();
|
|
23
|
+
sequence = 0;
|
|
24
|
+
constructor(options = {}) {
|
|
25
|
+
this.defaultClientId = options.clientId ?? CLOUD_CODE_CLIENT_ID;
|
|
26
|
+
this.defaultClientSecret = options.clientSecret ?? CLOUD_CODE_CLIENT_SECRET;
|
|
27
|
+
this.configResolver = options.configResolver;
|
|
28
|
+
this.fetchFn = options.fetchFn ?? fetch;
|
|
29
|
+
}
|
|
30
|
+
async getSecrets(configRef) {
|
|
31
|
+
const envSecret = process.env.GOOGLE_OAUTH_CLIENT_SECRET ??
|
|
32
|
+
process.env.GOOGLE_CLIENT_SECRET ??
|
|
33
|
+
this.defaultClientSecret;
|
|
34
|
+
if (this.configResolver) {
|
|
35
|
+
try {
|
|
36
|
+
const config = await this.configResolver.resolveConfig(configRef || 'default');
|
|
37
|
+
const clientId = typeof config.clientId === 'string' && config.clientId.trim().length > 0
|
|
38
|
+
? config.clientId
|
|
39
|
+
: this.defaultClientId;
|
|
40
|
+
const clientSecret = typeof config.clientSecret === 'string' && config.clientSecret.trim().length > 0
|
|
41
|
+
? config.clientSecret
|
|
42
|
+
: envSecret;
|
|
43
|
+
return { clientId, clientSecret };
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
// Fall back to default secrets if resolver fails or yields empty
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return { clientId: this.defaultClientId, clientSecret: envSecret };
|
|
50
|
+
}
|
|
51
|
+
async start(input) {
|
|
52
|
+
this.sequence += 1;
|
|
53
|
+
const enrollmentId = `enr_cc_${Date.now().toString(36)}_${this.sequence.toString(36)}`;
|
|
54
|
+
const { codeVerifier, codeChallenge } = generatePkcePair();
|
|
55
|
+
const pkceState = generateNonce();
|
|
56
|
+
const expiresAt = new Date(Date.now() + 15 * 60 * 1000).toISOString();
|
|
57
|
+
const { clientId } = await this.getSecrets(input.configRef);
|
|
58
|
+
let redirectUri = input.redirectUri;
|
|
59
|
+
let loopback;
|
|
60
|
+
if (input.mode === 'cli' &&
|
|
61
|
+
(!redirectUri || redirectUri.includes('127.0.0.1') || redirectUri.includes('localhost'))) {
|
|
62
|
+
loopback = await createLoopbackServer(pkceState);
|
|
63
|
+
redirectUri = loopback.redirectUri;
|
|
64
|
+
}
|
|
65
|
+
const url = new URL(CLOUD_CODE_AUTH_URL);
|
|
66
|
+
url.searchParams.set('client_id', clientId);
|
|
67
|
+
url.searchParams.set('response_type', 'code');
|
|
68
|
+
url.searchParams.set('redirect_uri', redirectUri);
|
|
69
|
+
url.searchParams.set('scope', 'https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/cclog https://www.googleapis.com/auth/experimentsandconfigs https://www.googleapis.com/auth/aicode openid');
|
|
70
|
+
url.searchParams.set('code_challenge', codeChallenge);
|
|
71
|
+
url.searchParams.set('code_challenge_method', 'S256');
|
|
72
|
+
url.searchParams.set('state', pkceState);
|
|
73
|
+
url.searchParams.set('access_type', 'offline');
|
|
74
|
+
url.searchParams.set('prompt', 'consent');
|
|
75
|
+
const state = {
|
|
76
|
+
enrollmentId,
|
|
77
|
+
providerId: 'cloud-code',
|
|
78
|
+
ownerScope: input.ownerScope,
|
|
79
|
+
pkceVerifier: codeVerifier,
|
|
80
|
+
pkceState,
|
|
81
|
+
redirectUri,
|
|
82
|
+
configVersion: 'v1.0.0',
|
|
83
|
+
configRef: input.configRef,
|
|
84
|
+
createdAt: new Date().toISOString(),
|
|
85
|
+
expiresAt,
|
|
86
|
+
};
|
|
87
|
+
this.sessions.set(enrollmentId, { state, loopback });
|
|
88
|
+
return {
|
|
89
|
+
kind: 'authorization-url',
|
|
90
|
+
enrollmentId,
|
|
91
|
+
url: url.toString(),
|
|
92
|
+
expiresAt,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
async waitForCallback(enrollmentId) {
|
|
96
|
+
const entry = this.sessions.get(enrollmentId);
|
|
97
|
+
if (!entry) {
|
|
98
|
+
throw new Error(`Enrollment session ${enrollmentId} not found`);
|
|
99
|
+
}
|
|
100
|
+
if (entry.state.cancelledAt) {
|
|
101
|
+
throw new Error(`Enrollment session ${enrollmentId} was cancelled`);
|
|
102
|
+
}
|
|
103
|
+
let code;
|
|
104
|
+
if (entry.loopback) {
|
|
105
|
+
try {
|
|
106
|
+
const res = await entry.loopback.waitForCallback();
|
|
107
|
+
code = res.code;
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
await entry.loopback.close();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
throw new Error('No loopback server active for waitForCallback');
|
|
115
|
+
}
|
|
116
|
+
const cred = await this.complete({ enrollmentId, code });
|
|
117
|
+
const meta = await this.resolve(cred);
|
|
118
|
+
return {
|
|
119
|
+
accountId: cred.accountId,
|
|
120
|
+
label: cred.accountEmail ??
|
|
121
|
+
(meta.cloudaicompanionProject
|
|
122
|
+
? `Cloud Code (${meta.cloudaicompanionProject})`
|
|
123
|
+
: 'Cloud Code Account'),
|
|
124
|
+
credential: cred,
|
|
125
|
+
metadata: meta,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
async complete(input) {
|
|
129
|
+
const entry = this.sessions.get(input.enrollmentId);
|
|
130
|
+
if (!entry) {
|
|
131
|
+
throw new Error(`Enrollment session ${input.enrollmentId} not found`);
|
|
132
|
+
}
|
|
133
|
+
if (entry.state.consumedAt) {
|
|
134
|
+
throw new Error(`Enrollment session ${input.enrollmentId} already consumed`);
|
|
135
|
+
}
|
|
136
|
+
if (entry.state.cancelledAt) {
|
|
137
|
+
throw new Error(`Enrollment session ${input.enrollmentId} was cancelled`);
|
|
138
|
+
}
|
|
139
|
+
entry.state.consumedAt = new Date().toISOString();
|
|
140
|
+
const { clientId, clientSecret } = await this.getSecrets(entry.state.configRef);
|
|
141
|
+
const bodyParams = {
|
|
142
|
+
grant_type: 'authorization_code',
|
|
143
|
+
code: input.code,
|
|
144
|
+
redirect_uri: entry.state.redirectUri,
|
|
145
|
+
client_id: clientId,
|
|
146
|
+
code_verifier: entry.state.pkceVerifier,
|
|
147
|
+
};
|
|
148
|
+
if (clientSecret && clientSecret.trim().length > 0) {
|
|
149
|
+
bodyParams.client_secret = clientSecret;
|
|
150
|
+
}
|
|
151
|
+
const body = new URLSearchParams(bodyParams);
|
|
152
|
+
const response = await this.fetchFn(CLOUD_CODE_TOKEN_URL, {
|
|
153
|
+
method: 'POST',
|
|
154
|
+
headers: {
|
|
155
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
156
|
+
Accept: 'application/json',
|
|
157
|
+
},
|
|
158
|
+
body,
|
|
159
|
+
});
|
|
160
|
+
if (!response.ok) {
|
|
161
|
+
const text = await response.text().catch(() => '');
|
|
162
|
+
throw new Error(`Cloud Code token exchange failed (${response.status}): ${redactOAuthError(text, clientSecret)}`);
|
|
163
|
+
}
|
|
164
|
+
const payload = (await response.json());
|
|
165
|
+
if (!payload.access_token) {
|
|
166
|
+
throw new Error('Cloud Code token exchange returned no access token.');
|
|
167
|
+
}
|
|
168
|
+
const expiresInMs = (payload.expires_in ?? 3600) * 1000;
|
|
169
|
+
const expiresAt = new Date(Date.now() + expiresInMs).toISOString();
|
|
170
|
+
const accountId = `acct_cc_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 8)}`;
|
|
171
|
+
return {
|
|
172
|
+
accountId,
|
|
173
|
+
accessToken: payload.access_token,
|
|
174
|
+
...(payload.refresh_token ? { refreshToken: payload.refresh_token } : {}),
|
|
175
|
+
expiresAt,
|
|
176
|
+
authClientConfigVersion: entry.state.configVersion,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
async resolve(credential) {
|
|
180
|
+
const response = await this.fetchFn(CLOUD_CODE_LOAD_CODE_ASSIST_URL, {
|
|
181
|
+
method: 'POST',
|
|
182
|
+
headers: {
|
|
183
|
+
Authorization: `Bearer ${credential.accessToken}`,
|
|
184
|
+
'User-Agent': CLOUD_CODE_USER_AGENT,
|
|
185
|
+
'Content-Type': 'application/json',
|
|
186
|
+
'X-Goog-Api-Client': 'gl-node/22.0.0 antigravity/0.1.0',
|
|
187
|
+
'Client-Metadata': JSON.stringify({
|
|
188
|
+
ideType: 'ANTIGRAVITY',
|
|
189
|
+
platform: 'PLATFORM_UNSPECIFIED',
|
|
190
|
+
pluginType: 'ANTIGRAVITY',
|
|
191
|
+
}),
|
|
192
|
+
},
|
|
193
|
+
body: JSON.stringify({ metadata: { ideType: 'ANTIGRAVITY' } }),
|
|
194
|
+
});
|
|
195
|
+
if (!response.ok) {
|
|
196
|
+
const text = await response.text().catch(() => '');
|
|
197
|
+
throw new Error(`Cloud Code loadCodeAssist failed (${response.status}): ${text}`);
|
|
198
|
+
}
|
|
199
|
+
const payload = (await response.json());
|
|
200
|
+
if (!payload.cloudaicompanionProject || payload.cloudaicompanionProject.trim().length === 0) {
|
|
201
|
+
throw new Error('Cloud Code loadCodeAssist returned no cloudaicompanionProject');
|
|
202
|
+
}
|
|
203
|
+
return {
|
|
204
|
+
cloudaicompanionProject: payload.cloudaicompanionProject.trim(),
|
|
205
|
+
cloudCodeUserAgentVersion: '1.1.10',
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
async refresh(input) {
|
|
209
|
+
const refreshToken = input.refreshToken ?? input.credentialVersion;
|
|
210
|
+
if (!refreshToken || refreshToken === 'v1.0.0') {
|
|
211
|
+
throw new Error('Cloud Code token refresh failed: invalid or missing refresh token');
|
|
212
|
+
}
|
|
213
|
+
const { clientId, clientSecret } = await this.getSecrets();
|
|
214
|
+
const bodyParams = {
|
|
215
|
+
grant_type: 'refresh_token',
|
|
216
|
+
refresh_token: refreshToken,
|
|
217
|
+
client_id: clientId,
|
|
218
|
+
};
|
|
219
|
+
if (clientSecret && clientSecret.trim().length > 0) {
|
|
220
|
+
bodyParams.client_secret = clientSecret;
|
|
221
|
+
}
|
|
222
|
+
const body = new URLSearchParams(bodyParams);
|
|
223
|
+
const response = await this.fetchFn(CLOUD_CODE_TOKEN_URL, {
|
|
224
|
+
method: 'POST',
|
|
225
|
+
headers: {
|
|
226
|
+
'content-type': 'application/x-www-form-urlencoded',
|
|
227
|
+
accept: 'application/json',
|
|
228
|
+
},
|
|
229
|
+
body,
|
|
230
|
+
});
|
|
231
|
+
if (!response.ok) {
|
|
232
|
+
const text = await response.text().catch(() => '');
|
|
233
|
+
throw new Error(`Cloud Code token refresh failed (${response.status}): ${text}`);
|
|
234
|
+
}
|
|
235
|
+
const payload = (await response.json());
|
|
236
|
+
if (!payload.access_token) {
|
|
237
|
+
throw new Error('Cloud Code token refresh returned no access token');
|
|
238
|
+
}
|
|
239
|
+
const expiresInMs = (payload.expires_in ?? 3600) * 1000;
|
|
240
|
+
const expiresAt = new Date(Date.now() + expiresInMs).toISOString();
|
|
241
|
+
return {
|
|
242
|
+
accountId: input.accountId,
|
|
243
|
+
accessToken: payload.access_token,
|
|
244
|
+
refreshToken: payload.refresh_token ?? refreshToken,
|
|
245
|
+
expiresAt,
|
|
246
|
+
authClientConfigVersion: 'v1.0.0',
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
async cancel(enrollmentId) {
|
|
250
|
+
const entry = this.sessions.get(enrollmentId);
|
|
251
|
+
if (!entry)
|
|
252
|
+
return;
|
|
253
|
+
entry.state.cancelledAt = new Date().toISOString();
|
|
254
|
+
if (entry.loopback) {
|
|
255
|
+
await entry.loopback.close();
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=cloud-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-code.js","sourceRoot":"","sources":["../../src/enrollment/cloud-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ConfigResolver } from '../service/facade.js';
|
|
2
|
+
import type { CompleteEnrollmentInput, EnrollmentProvider, EnrollmentSession, PreparedCredential, RefreshInput, ResolvedProviderMetadata, StartEnrollmentInput } from './contracts.js';
|
|
3
|
+
export declare const CODEX_AUTH_ISSUER = "https://auth.openai.com";
|
|
4
|
+
export declare const CODEX_CLIENT_ID = "app_EMoamEEZ73f0CkXaXp7hrann";
|
|
5
|
+
export declare const CODEX_DEVICE_AUTH_URL = "https://auth.openai.com/api/accounts/deviceauth/usercode";
|
|
6
|
+
export declare const CODEX_DEVICE_TOKEN_URL = "https://auth.openai.com/api/accounts/deviceauth/token";
|
|
7
|
+
export declare const CODEX_OAUTH_TOKEN_URL = "https://auth.openai.com/oauth/token";
|
|
8
|
+
export declare const CODEX_VERIFICATION_URL = "https://auth.openai.com/codex/device";
|
|
9
|
+
export interface CodexEnrollmentOptions {
|
|
10
|
+
clientId?: string;
|
|
11
|
+
configResolver?: ConfigResolver;
|
|
12
|
+
fetchFn?: typeof fetch;
|
|
13
|
+
}
|
|
14
|
+
export declare class CodexEnrollmentProvider implements EnrollmentProvider {
|
|
15
|
+
private readonly defaultClientId;
|
|
16
|
+
private readonly configResolver?;
|
|
17
|
+
private readonly fetchFn;
|
|
18
|
+
private readonly sessions;
|
|
19
|
+
private sequence;
|
|
20
|
+
constructor(options?: CodexEnrollmentOptions);
|
|
21
|
+
private getClientId;
|
|
22
|
+
start(input: StartEnrollmentInput): Promise<EnrollmentSession>;
|
|
23
|
+
pollForCompletion(enrollmentId: string, maxAttempts?: number): Promise<{
|
|
24
|
+
accountId: string;
|
|
25
|
+
label: string;
|
|
26
|
+
credential?: PreparedCredential;
|
|
27
|
+
}>;
|
|
28
|
+
complete(input: CompleteEnrollmentInput): Promise<PreparedCredential>;
|
|
29
|
+
resolve(credential: PreparedCredential): Promise<ResolvedProviderMetadata>;
|
|
30
|
+
refresh(input: RefreshInput): Promise<PreparedCredential>;
|
|
31
|
+
cancel(enrollmentId: string): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=codex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/enrollment/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EAEjB,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAC3D,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAC9D,eAAO,MAAM,qBAAqB,6DAA0D,CAAC;AAC7F,eAAO,MAAM,sBAAsB,0DAAuD,CAAC;AAC3F,eAAO,MAAM,qBAAqB,wCAAqC,CAAC;AACxE,eAAO,MAAM,sBAAsB,yCAAsC,CAAC;AAE1E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CASrB;IACJ,OAAO,CAAC,QAAQ,CAAK;gBAET,OAAO,GAAE,sBAA2B;YAMlC,WAAW;IAYnB,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgE9D,iBAAiB,CACrB,YAAY,EAAE,MAAM,EACpB,WAAW,SAAK,GACf,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAsG3E,QAAQ,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmBrE,OAAO,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAO1E,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8CzD,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlD"}
|