@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.
Files changed (66) hide show
  1. package/README.md +35 -1
  2. package/dist/auth.d.ts +8 -2
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +14 -0
  5. package/dist/auth.js.map +1 -1
  6. package/dist/enrollment/claude-code.d.ts +9 -0
  7. package/dist/enrollment/claude-code.d.ts.map +1 -0
  8. package/dist/enrollment/claude-code.js +18 -0
  9. package/dist/enrollment/claude-code.js.map +1 -0
  10. package/dist/enrollment/cloud-code.d.ts +36 -0
  11. package/dist/enrollment/cloud-code.d.ts.map +1 -0
  12. package/dist/enrollment/cloud-code.js +259 -0
  13. package/dist/enrollment/cloud-code.js.map +1 -0
  14. package/dist/enrollment/codex.d.ts +33 -0
  15. package/dist/enrollment/codex.d.ts.map +1 -0
  16. package/dist/enrollment/codex.js +222 -0
  17. package/dist/enrollment/codex.js.map +1 -0
  18. package/dist/enrollment/contracts.d.ts +86 -0
  19. package/dist/enrollment/contracts.d.ts.map +1 -0
  20. package/dist/enrollment/contracts.js +3 -0
  21. package/dist/enrollment/contracts.js.map +1 -0
  22. package/dist/enrollment/index.d.ts +2 -0
  23. package/dist/enrollment/index.d.ts.map +1 -0
  24. package/dist/enrollment/index.js +3 -0
  25. package/dist/enrollment/index.js.map +1 -0
  26. package/dist/enrollment/pkce.d.ts +18 -0
  27. package/dist/enrollment/pkce.d.ts.map +1 -0
  28. package/dist/enrollment/pkce.js +104 -0
  29. package/dist/enrollment/pkce.js.map +1 -0
  30. package/dist/node/index.d.ts +7 -0
  31. package/dist/node/index.d.ts.map +1 -0
  32. package/dist/node/index.js +6 -0
  33. package/dist/node/index.js.map +1 -0
  34. package/dist/node/keyring/encrypted-file-keyring.d.ts +13 -0
  35. package/dist/node/keyring/encrypted-file-keyring.d.ts.map +1 -0
  36. package/dist/node/keyring/encrypted-file-keyring.js +134 -0
  37. package/dist/node/keyring/encrypted-file-keyring.js.map +1 -0
  38. package/dist/node/keyring/env-keyring.d.ts +11 -0
  39. package/dist/node/keyring/env-keyring.d.ts.map +1 -0
  40. package/dist/node/keyring/env-keyring.js +26 -0
  41. package/dist/node/keyring/env-keyring.js.map +1 -0
  42. package/dist/node/keyring/in-memory-keyring.d.ts +8 -0
  43. package/dist/node/keyring/in-memory-keyring.d.ts.map +1 -0
  44. package/dist/node/keyring/in-memory-keyring.js +13 -0
  45. package/dist/node/keyring/in-memory-keyring.js.map +1 -0
  46. package/dist/node/keyring/linux-secretstore-keyring.d.ts +10 -0
  47. package/dist/node/keyring/linux-secretstore-keyring.d.ts.map +1 -0
  48. package/dist/node/keyring/linux-secretstore-keyring.js +17 -0
  49. package/dist/node/keyring/linux-secretstore-keyring.js.map +1 -0
  50. package/dist/node/keyring/macos-keychain-keyring.d.ts +10 -0
  51. package/dist/node/keyring/macos-keychain-keyring.d.ts.map +1 -0
  52. package/dist/node/keyring/macos-keychain-keyring.js +17 -0
  53. package/dist/node/keyring/macos-keychain-keyring.js.map +1 -0
  54. package/dist/service/facade.d.ts +52 -0
  55. package/dist/service/facade.d.ts.map +1 -0
  56. package/dist/service/facade.js +53 -0
  57. package/dist/service/facade.js.map +1 -0
  58. package/dist/service/local-account-transport-service.d.ts +34 -0
  59. package/dist/service/local-account-transport-service.d.ts.map +1 -0
  60. package/dist/service/local-account-transport-service.js +263 -0
  61. package/dist/service/local-account-transport-service.js.map +1 -0
  62. package/dist/transport/cloud-code-transport.d.ts +26 -0
  63. package/dist/transport/cloud-code-transport.d.ts.map +1 -0
  64. package/dist/transport/cloud-code-transport.js +214 -0
  65. package/dist/transport/cloud-code-transport.js.map +1 -0
  66. 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, encrypted storage, quotas, retries, UI behavior, and concrete live provider credential storage remain outside this package contract. The application runtime may provide those integrations through the package's resolver and adapter hooks.
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
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
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"}