@cereworker/cerebrum 26.325.39 → 26.326.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/dist/index.d.ts CHANGED
@@ -4,5 +4,5 @@ export { createBuiltinTools, type BuiltinTools, type BuiltinToolName } from './t
4
4
  export { withRetry, type RetryOptions } from './retry.js';
5
5
  export { buildCompactionPrompt } from './context.js';
6
6
  export { evaluateCommand, extractBinary, isSafeBinary, type ExecDecision } from './tools/exec-policy.js';
7
- export { OAUTH_PROVIDERS, TokenStore, refreshAccessToken, runOAuthFlow, runDeviceCodeFlow, isRemoteEnvironment, loginOpenAI, loginGoogle, refreshOpenAIToken, refreshGoogleToken, generateCodeVerifier, generateCodeChallenge, buildAuthorizationUrl, type OAuthProviderConfig, type OAuthTokens, type OAuthFlowOptions, type DeviceCodeFlowOptions, type PiAuthCallbacks, } from './oauth/index.js';
7
+ export { OAUTH_PROVIDERS, TokenStore, refreshAccessToken, runOAuthFlow, runDeviceCodeFlow, isRemoteEnvironment, loginOpenAICodex, loginOpenAI, loginGoogle, getOpenAICodexApiKey, refreshOpenAICodexToken, refreshOpenAIToken, refreshGoogleToken, generateCodeVerifier, generateCodeChallenge, buildAuthorizationUrl, type OAuthProviderConfig, type OAuthTokens, type OAuthFlowOptions, type DeviceCodeFlowOptions, type PiAuthCallbacks, } from './oauth/index.js';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,EACL,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,EACL,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -3,5 +3,5 @@ export { createBuiltinTools } from './tools/index.js';
3
3
  export { withRetry } from './retry.js';
4
4
  export { buildCompactionPrompt } from './context.js';
5
5
  export { evaluateCommand, extractBinary, isSafeBinary } from './tools/exec-policy.js';
6
- export { OAUTH_PROVIDERS, TokenStore, refreshAccessToken, runOAuthFlow, runDeviceCodeFlow, isRemoteEnvironment, loginOpenAI, loginGoogle, refreshOpenAIToken, refreshGoogleToken, generateCodeVerifier, generateCodeChallenge, buildAuthorizationUrl, } from './oauth/index.js';
6
+ export { OAUTH_PROVIDERS, TokenStore, refreshAccessToken, runOAuthFlow, runDeviceCodeFlow, isRemoteEnvironment, loginOpenAICodex, loginOpenAI, loginGoogle, getOpenAICodexApiKey, refreshOpenAICodexToken, refreshOpenAIToken, refreshGoogleToken, generateCodeVerifier, generateCodeChallenge, buildAuthorizationUrl, } from './oauth/index.js';
7
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAA2C,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAqB,MAAM,wBAAwB,CAAC;AACzG,OAAO,EACL,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GAMtB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAA2C,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAqB,MAAM,wBAAwB,CAAC;AACzG,OAAO,EACL,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GAMtB,MAAM,kBAAkB,CAAC"}
@@ -2,5 +2,5 @@ export { OAUTH_PROVIDERS, type OAuthProviderConfig, type OAuthTokens } from './t
2
2
  export { generateCodeVerifier, generateCodeChallenge, buildAuthorizationUrl } from './pkce.js';
3
3
  export { TokenStore, refreshAccessToken } from './token-store.js';
4
4
  export { runOAuthFlow, runDeviceCodeFlow, isRemoteEnvironment, type OAuthFlowOptions, type DeviceCodeFlowOptions, } from './flow.js';
5
- export { loginOpenAI, loginGoogle, refreshOpenAIToken, refreshGoogleToken, type PiAuthCallbacks, } from './pi-auth.js';
5
+ export { loginOpenAICodex, loginOpenAI, loginGoogle, getOpenAICodexApiKey, refreshOpenAICodexToken, refreshOpenAIToken, refreshGoogleToken, type PiAuthCallbacks, } from './pi-auth.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/oauth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/oauth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC"}
@@ -2,5 +2,5 @@ export { OAUTH_PROVIDERS } from './types.js';
2
2
  export { generateCodeVerifier, generateCodeChallenge, buildAuthorizationUrl } from './pkce.js';
3
3
  export { TokenStore, refreshAccessToken } from './token-store.js';
4
4
  export { runOAuthFlow, runDeviceCodeFlow, isRemoteEnvironment, } from './flow.js';
5
- export { loginOpenAI, loginGoogle, refreshOpenAIToken, refreshGoogleToken, } from './pi-auth.js';
5
+ export { loginOpenAICodex, loginOpenAI, loginGoogle, getOpenAICodexApiKey, refreshOpenAICodexToken, refreshOpenAIToken, refreshGoogleToken, } from './pi-auth.js';
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/oauth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA8C,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,GAGpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/oauth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA8C,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,GAGpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,cAAc,CAAC"}
@@ -1,9 +1,7 @@
1
1
  /**
2
2
  * OAuth login wrappers for OpenAI and Google.
3
3
  *
4
- * OpenAI: Uses CereWorker's own PKCE flow with the correct scopes
5
- * (including api.responses.write for GPT-5.4 Responses API).
6
- *
4
+ * OpenAI Codex: Uses @mariozechner/pi-ai's provider-owned ChatGPT OAuth flow.
7
5
  * Google: Falls back to @mariozechner/pi-ai for Gemini CLI OAuth.
8
6
  */
9
7
  import type { OAuthTokens } from './types.js';
@@ -13,8 +11,14 @@ export interface PiAuthCallbacks {
13
11
  onProgress?: (message: string) => void;
14
12
  onManualCodeInput?: () => Promise<string>;
15
13
  }
14
+ export declare function loginOpenAICodex(callbacks: PiAuthCallbacks): Promise<OAuthTokens>;
16
15
  export declare function loginOpenAI(callbacks: PiAuthCallbacks): Promise<OAuthTokens>;
17
16
  export declare function loginGoogle(callbacks: PiAuthCallbacks): Promise<OAuthTokens>;
17
+ export declare function refreshOpenAICodexToken(refreshToken: string): Promise<OAuthTokens>;
18
18
  export declare function refreshOpenAIToken(refreshToken: string): Promise<OAuthTokens>;
19
+ export declare function getOpenAICodexApiKey(tokens: OAuthTokens): Promise<{
20
+ apiKey: string;
21
+ tokens: OAuthTokens;
22
+ }>;
19
23
  export declare function refreshGoogleToken(refreshToken: string, projectId: string): Promise<OAuthTokens>;
20
24
  //# sourceMappingURL=pi-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pi-auth.d.ts","sourceRoot":"","sources":["../../src/oauth/pi-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA2B9C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAYlF;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAQlF;AAED,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAGnF;AAED,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC,CAGtB"}
1
+ {"version":3,"file":"pi-auth.d.ts","sourceRoot":"","sources":["../../src/oauth/pi-auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAqD9C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C;AA+FD,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAkBvF;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAElF;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAQlF;AAED,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAGxF;AAED,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAEnF;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC,CAuBD;AAED,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC,CAGtB"}
@@ -1,15 +1,26 @@
1
+ const OPENAI_CODEX_TOKEN_CLAIM = 'https://api.openai.com/auth';
2
+ const OPENAI_PROFILE_TOKEN_CLAIM = 'https://api.openai.com/profile';
3
+ const OPENAI_CODEX_PROVIDER = 'openai-codex';
1
4
  function toTokens(creds) {
5
+ const claims = decodeJwtClaims(creds.access);
6
+ const auth = asRecord(claims?.[OPENAI_CODEX_TOKEN_CLAIM]);
7
+ const profile = asRecord(claims?.[OPENAI_PROFILE_TOKEN_CLAIM]);
8
+ const tokenEmail = typeof profile?.email === 'string' ? profile.email : undefined;
9
+ const tokenAccountId = typeof auth?.chatgpt_account_id === 'string'
10
+ ? auth.chatgpt_account_id
11
+ : undefined;
2
12
  return {
3
13
  accessToken: creds.access,
4
14
  refreshToken: creds.refresh,
5
15
  expiresAt: creds.expires,
6
16
  tokenType: 'bearer',
7
- email: creds.email,
17
+ email: creds.email ?? tokenEmail,
18
+ accountId: creds.accountId ?? tokenAccountId,
8
19
  projectId: creds.projectId,
9
20
  };
10
21
  }
11
22
  const PI_AI_MODULE = '@mariozechner/pi-ai/oauth';
12
- const INSTALL_HINT = 'Google OAuth requires @mariozechner/pi-ai. Install it:\n npm install -g @mariozechner/pi-ai';
23
+ const INSTALL_HINT = '@mariozechner/pi-ai is required for OAuth. Install it:\n npm install -g @mariozechner/pi-ai';
13
24
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
25
  async function loadPiAuth() {
15
26
  try {
@@ -19,8 +30,84 @@ async function loadPiAuth() {
19
30
  throw new Error(INSTALL_HINT);
20
31
  }
21
32
  }
22
- export async function loginOpenAI(callbacks) {
33
+ function asRecord(value) {
34
+ return value !== null && typeof value === 'object'
35
+ ? value
36
+ : null;
37
+ }
38
+ function decodeJwtClaims(token) {
39
+ const parts = token.split('.');
40
+ if (parts.length !== 3)
41
+ return null;
42
+ try {
43
+ return JSON.parse(Buffer.from(parts[1] ?? '', 'base64url').toString('utf8'));
44
+ }
45
+ catch {
46
+ return null;
47
+ }
48
+ }
49
+ const TLS_CERT_ERROR_CODES = new Set([
50
+ 'UNABLE_TO_GET_ISSUER_CERT_LOCALLY',
51
+ 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
52
+ 'CERT_HAS_EXPIRED',
53
+ 'DEPTH_ZERO_SELF_SIGNED_CERT',
54
+ 'SELF_SIGNED_CERT_IN_CHAIN',
55
+ 'ERR_TLS_CERT_ALTNAME_INVALID',
56
+ ]);
57
+ const TLS_CERT_ERROR_PATTERNS = [
58
+ /unable to get local issuer certificate/i,
59
+ /unable to verify the first certificate/i,
60
+ /self[- ]signed certificate/i,
61
+ /certificate has expired/i,
62
+ ];
63
+ const OPENAI_AUTH_PROBE_URL = 'https://auth.openai.com/oauth/authorize?response_type=code&client_id=cereworker-preflight&redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback&scope=openid+profile+email';
64
+ function extractTlsPreflightFailure(error) {
65
+ const root = asRecord(error);
66
+ const rootCause = asRecord(root?.cause);
67
+ const code = typeof rootCause?.code === 'string' ? rootCause.code : undefined;
68
+ const message = typeof rootCause?.message === 'string'
69
+ ? rootCause.message
70
+ : typeof root?.message === 'string'
71
+ ? root.message
72
+ : String(error);
73
+ const kind = ((code ? TLS_CERT_ERROR_CODES.has(code) : false)
74
+ || TLS_CERT_ERROR_PATTERNS.some((pattern) => pattern.test(message))) ? 'tls-cert' : 'network';
75
+ return { code, kind, message };
76
+ }
77
+ async function runOpenAIOAuthTlsPreflight() {
78
+ try {
79
+ await fetch(OPENAI_AUTH_PROBE_URL, {
80
+ method: 'GET',
81
+ redirect: 'manual',
82
+ signal: AbortSignal.timeout(5000),
83
+ });
84
+ return { ok: true };
85
+ }
86
+ catch (error) {
87
+ const failure = extractTlsPreflightFailure(error);
88
+ return { ok: false, ...failure };
89
+ }
90
+ }
91
+ function formatOpenAIOAuthTlsPreflightFix(result) {
92
+ if (result.kind !== 'tls-cert') {
93
+ return [
94
+ 'OpenAI OAuth prerequisite check failed due to a network error before browser login.',
95
+ `Cause: ${result.message}`,
96
+ 'Verify connectivity to auth.openai.com and try again.',
97
+ ].join('\n');
98
+ }
99
+ return [
100
+ 'OpenAI OAuth prerequisite check failed: Node cannot validate TLS certificates.',
101
+ `Cause: ${result.code ? `${result.code} (${result.message})` : result.message}`,
102
+ 'On macOS/Homebrew Node, re-run `brew postinstall ca-certificates` and `brew postinstall openssl@3`, then retry.',
103
+ ].join('\n');
104
+ }
105
+ export async function loginOpenAICodex(callbacks) {
23
106
  const { loginOpenAICodex } = await loadPiAuth();
107
+ const preflight = await runOpenAIOAuthTlsPreflight();
108
+ if (!preflight.ok && preflight.kind === 'tls-cert') {
109
+ throw new Error(formatOpenAIOAuthTlsPreflightFix(preflight));
110
+ }
24
111
  const creds = await loginOpenAICodex({
25
112
  onAuth: (info) => callbacks.onAuth(info.url, info.instructions),
26
113
  onPrompt: async (prompt) => {
@@ -33,15 +120,40 @@ export async function loginOpenAI(callbacks) {
33
120
  });
34
121
  return toTokens(creds);
35
122
  }
123
+ export async function loginOpenAI(callbacks) {
124
+ return loginOpenAICodex(callbacks);
125
+ }
36
126
  export async function loginGoogle(callbacks) {
37
127
  const { loginGeminiCli } = await loadPiAuth();
38
128
  const creds = await loginGeminiCli((info) => callbacks.onAuth(info.url, info.instructions), callbacks.onProgress, callbacks.onManualCodeInput);
39
129
  return toTokens(creds);
40
130
  }
41
- export async function refreshOpenAIToken(refreshToken) {
131
+ export async function refreshOpenAICodexToken(refreshToken) {
42
132
  const { refreshOpenAICodexToken } = await loadPiAuth();
43
133
  return toTokens(await refreshOpenAICodexToken(refreshToken));
44
134
  }
135
+ export async function refreshOpenAIToken(refreshToken) {
136
+ return refreshOpenAICodexToken(refreshToken);
137
+ }
138
+ export async function getOpenAICodexApiKey(tokens) {
139
+ const { getOAuthApiKey } = await loadPiAuth();
140
+ const result = await getOAuthApiKey(OPENAI_CODEX_PROVIDER, {
141
+ [OPENAI_CODEX_PROVIDER]: {
142
+ access: tokens.accessToken,
143
+ refresh: tokens.refreshToken,
144
+ expires: tokens.expiresAt,
145
+ ...(tokens.accountId ? { accountId: tokens.accountId } : {}),
146
+ ...(tokens.email ? { email: tokens.email } : {}),
147
+ },
148
+ });
149
+ if (!result) {
150
+ throw new Error('No OAuth credentials available for openai-codex');
151
+ }
152
+ return {
153
+ apiKey: result.apiKey,
154
+ tokens: toTokens(result.newCredentials),
155
+ };
156
+ }
45
157
  export async function refreshGoogleToken(refreshToken, projectId) {
46
158
  const { refreshGoogleCloudToken } = await loadPiAuth();
47
159
  return toTokens(await refreshGoogleCloudToken(refreshToken, projectId));
@@ -1 +1 @@
1
- {"version":3,"file":"pi-auth.js","sourceRoot":"","sources":["../../src/oauth/pi-auth.ts"],"names":[],"mappings":"AAYA,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,MAAM;QACzB,YAAY,EAAE,KAAK,CAAC,OAAO;QAC3B,SAAS,EAAE,KAAK,CAAC,OAAO;QACxB,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,KAAK,CAAC,KAA2B;QACxC,SAAS,EAAE,KAAK,CAAC,SAA+B;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,2BAA2B,CAAC;AACjD,MAAM,YAAY,GAAG,8FAA8F,CAAC;AAEpH,8DAA8D;AAC9D,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAA0B;IAC1D,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;QACnC,MAAM,EAAE,CAAC,IAA4C,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC;QACvG,QAAQ,EAAE,KAAK,EAAE,MAA2B,EAAE,EAAE;YAC9C,IAAI,CAAC,SAAS,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACxF,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;KAC/C,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAA0B;IAC1D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,cAAc,CAChC,CAAC,IAA4C,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,EAC/F,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,iBAAiB,CAC5B,CAAC;IACF,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,YAAoB;IAC3D,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IACvD,OAAO,QAAQ,CAAC,MAAM,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,YAAoB,EACpB,SAAiB;IAEjB,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IACvD,OAAO,QAAQ,CAAC,MAAM,uBAAuB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"pi-auth.js","sourceRoot":"","sources":["../../src/oauth/pi-auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../src/oauth/token-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAInE,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,CAAC,EAAE,MAAM;IAIxB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IASjD,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAM1C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK9B,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,SAAU,GAAG,OAAO;CAG5D;AAED,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,mBAAmB,EACnC,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC,CA4BtB"}
1
+ {"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../src/oauth/token-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAOnE,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,CAAC,EAAE,MAAM;IAIxB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IASjD,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAU1C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK9B,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,SAAU,GAAG,OAAO;CAG5D;AAED,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,mBAAmB,EACnC,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC,CA4BtB"}
@@ -2,6 +2,9 @@ import { homedir } from 'node:os';
2
2
  import { join } from 'node:path';
3
3
  import { readFileSync, writeFileSync, mkdirSync, existsSync, unlinkSync } from 'node:fs';
4
4
  const DEFAULT_OAUTH_DIR = join(homedir(), '.cereworker', 'oauth');
5
+ const TOKEN_FILE_ALIASES = {
6
+ 'openai-codex': ['openai'],
7
+ };
5
8
  export class TokenStore {
6
9
  dir;
7
10
  constructor(dir) {
@@ -12,10 +15,14 @@ export class TokenStore {
12
15
  writeFileSync(join(this.dir, `${provider}.json`), JSON.stringify(tokens, null, 2), { mode: 0o600 });
13
16
  }
14
17
  load(provider) {
15
- const path = join(this.dir, `${provider}.json`);
16
- if (!existsSync(path))
17
- return null;
18
- return JSON.parse(readFileSync(path, 'utf-8'));
18
+ const providers = [provider, ...(TOKEN_FILE_ALIASES[provider] ?? [])];
19
+ for (const candidate of providers) {
20
+ const path = join(this.dir, `${candidate}.json`);
21
+ if (!existsSync(path))
22
+ continue;
23
+ return JSON.parse(readFileSync(path, 'utf-8'));
24
+ }
25
+ return null;
19
26
  }
20
27
  delete(provider) {
21
28
  const path = join(this.dir, `${provider}.json`);
@@ -1 +1 @@
1
- {"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../src/oauth/token-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../src/oauth/token-store.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export interface OAuthTokens {
16
16
  scope?: string;
17
17
  clientId?: string;
18
18
  email?: string;
19
+ accountId?: string;
19
20
  projectId?: string;
20
21
  }
21
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/oauth/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAsB/D,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/oauth/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAsB/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/oauth/types.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAwC;IAClE,MAAM,EAAE;QACN,gBAAgB,EAAE,yCAAyC;QAC3D,QAAQ,EAAE,qCAAqC;QAC/C,QAAQ,EAAE,2BAA2B;QACrC,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC;QACxD,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,gBAAgB;KAC/B;IACD,MAAM,EAAE;QACN,gBAAgB,EAAE,8CAA8C;QAChE,QAAQ,EAAE,qCAAqC;QAC/C,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,2CAA2C;QAC1D,MAAM,EAAE;YACN,gDAAgD;YAChD,gDAAgD;YAChD,kDAAkD;SACnD;QACD,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,WAAW;KAC1B;CACF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/oauth/types.ts"],"names":[],"mappings":"AAuBA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAwC;IAClE,MAAM,EAAE;QACN,gBAAgB,EAAE,yCAAyC;QAC3D,QAAQ,EAAE,qCAAqC;QAC/C,QAAQ,EAAE,2BAA2B;QACrC,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC;QACxD,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,gBAAgB;KAC/B;IACD,MAAM,EAAE;QACN,gBAAgB,EAAE,8CAA8C;QAChE,QAAQ,EAAE,qCAAqC;QAC/C,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,2CAA2C;QAC1D,MAAM,EAAE;YACN,gDAAgD;YAChD,gDAAgD;YAChD,kDAAkD;SACnD;QACD,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,WAAW;KAC1B;CACF,CAAC"}
@@ -7,7 +7,9 @@ export declare class CerebrumProvider {
7
7
  private retryOptions;
8
8
  private tokenStore;
9
9
  constructor(config: CerebrumConfig, shellConfig?: Partial<import('./tools/shell.js').ShellToolConfig>, retryOptions?: RetryOptions);
10
- private resolveApiKey;
10
+ private resolveProviderAuth;
11
+ private resolveProviderSelection;
12
+ private getModelRequestOptions;
11
13
  private getModel;
12
14
  /**
13
15
  * Convert CereWorker messages to AI SDK v6 ModelMessage format.
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAA0B,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAElF,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAgD1D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,UAAU,CAAoB;gBAGpC,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,EAAE,OAAO,CAAC,OAAO,kBAAkB,EAAE,eAAe,CAAC,EACjE,YAAY,CAAC,EAAE,YAAY;YAOf,aAAa;YA6Cb,QAAQ;IAoDtB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IA0EjB,MAAM,CACV,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAC7C,SAAS,EAAE,eAAe,EAC1B,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACxF,OAAO,CAAC,IAAI,CAAC;IAuFhB,kBAAkB,IAAI,MAAM;IAI5B,eAAe,IAAI,MAAM;IAIzB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B;;;OAGG;IACG,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBrD,qDAAqD;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYhD"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAA0B,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAElF,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAoD1D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,UAAU,CAAoB;gBAGpC,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,EAAE,OAAO,CAAC,OAAO,kBAAkB,EAAE,eAAe,CAAC,EACjE,YAAY,CAAC,EAAE,YAAY;YAOf,mBAAmB;IAiDjC,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,sBAAsB;YA2BhB,QAAQ;IA4DtB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IA0EjB,MAAM,CACV,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAC7C,SAAS,EAAE,eAAe,EAC1B,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACxF,OAAO,CAAC,IAAI,CAAC;IAwFhB,kBAAkB,IAAI,MAAM;IAI5B,eAAe,IAAI,MAAM;IAIzB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B;;;OAGG;IACG,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBrD,qDAAqD;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAchD"}
package/dist/provider.js CHANGED
@@ -7,7 +7,10 @@ import { createBuiltinTools } from './tools/index.js';
7
7
  import { withRetry } from './retry.js';
8
8
  import { buildCompactionPrompt } from './context.js';
9
9
  import { TokenStore, refreshAccessToken, OAUTH_PROVIDERS } from './oauth/index.js';
10
- import { refreshOpenAIToken, refreshGoogleToken } from './oauth/pi-auth.js';
10
+ import { getOpenAICodexApiKey, refreshGoogleToken } from './oauth/pi-auth.js';
11
+ const OPENAI_CODEX_PROVIDER = 'openai-codex';
12
+ const OPENAI_CODEX_BASE_URL = 'https://chatgpt.com/backend-api/codex';
13
+ const DEFAULT_OPENAI_CODEX_INSTRUCTIONS = 'You are the Cerebrum of CereWorker, a dual-LLM autonomous agent.';
11
14
  function friendlyApiError(error, provider, model) {
12
15
  if (!(error instanceof Error))
13
16
  return String(error);
@@ -53,23 +56,25 @@ export class CerebrumProvider {
53
56
  this.builtinTools = createBuiltinTools(shellConfig);
54
57
  this.retryOptions = retryOptions ?? {};
55
58
  }
56
- async resolveApiKey(providerName, providerConfig) {
59
+ async resolveProviderAuth(providerName, providerConfig) {
57
60
  if (providerConfig?.auth !== 'oauth') {
58
- return providerConfig?.apiKey;
61
+ return { apiKey: providerConfig?.apiKey };
59
62
  }
60
63
  const tokens = this.tokenStore.load(providerName);
61
64
  if (!tokens) {
62
65
  throw new Error(`No OAuth tokens found for ${providerName}. Run: cereworker auth ${providerName}`);
63
66
  }
67
+ if (providerName === OPENAI_CODEX_PROVIDER) {
68
+ const resolved = await getOpenAICodexApiKey(tokens);
69
+ this.tokenStore.save(OPENAI_CODEX_PROVIDER, resolved.tokens);
70
+ return { apiKey: resolved.apiKey, oauthTokens: resolved.tokens };
71
+ }
64
72
  if (this.tokenStore.isExpired(tokens)) {
65
73
  if (!tokens.refreshToken) {
66
74
  throw new Error(`OAuth token expired and no refresh token. Run: cereworker auth ${providerName}`);
67
75
  }
68
76
  let refreshed;
69
- if (providerName === 'openai') {
70
- refreshed = await refreshOpenAIToken(tokens.refreshToken);
71
- }
72
- else if (providerName === 'google') {
77
+ if (providerName === 'google') {
73
78
  refreshed = await refreshGoogleToken(tokens.refreshToken, tokens.projectId ?? '');
74
79
  }
75
80
  else {
@@ -79,15 +84,38 @@ export class CerebrumProvider {
79
84
  refreshed = await refreshAccessToken(oauthConfig, tokens.refreshToken, tokens.clientId ?? providerConfig.oauth?.clientId, providerConfig.oauth?.clientSecret);
80
85
  }
81
86
  this.tokenStore.save(providerName, refreshed);
82
- return refreshed.accessToken;
87
+ return { apiKey: refreshed.accessToken, oauthTokens: refreshed };
88
+ }
89
+ return { apiKey: tokens.accessToken, oauthTokens: tokens };
90
+ }
91
+ resolveProviderSelection(provider) {
92
+ const requestedProviderName = provider ?? this.config.defaultProvider;
93
+ const requestedProviderConfig = this.config.providers[requestedProviderName];
94
+ const providerName = requestedProviderName === 'openai' && requestedProviderConfig?.auth === 'oauth'
95
+ ? OPENAI_CODEX_PROVIDER
96
+ : requestedProviderName;
97
+ const providerConfig = this.config.providers[providerName] ?? requestedProviderConfig;
98
+ return { requestedProviderName, providerName, providerConfig };
99
+ }
100
+ getModelRequestOptions(provider, systemPrompt) {
101
+ const { providerName } = this.resolveProviderSelection(provider);
102
+ const normalizedSystemPrompt = systemPrompt?.trim();
103
+ if (providerName !== OPENAI_CODEX_PROVIDER) {
104
+ return normalizedSystemPrompt ? { system: normalizedSystemPrompt } : {};
83
105
  }
84
- return tokens.accessToken;
106
+ return {
107
+ providerOptions: {
108
+ openai: {
109
+ instructions: normalizedSystemPrompt ?? DEFAULT_OPENAI_CODEX_INSTRUCTIONS,
110
+ },
111
+ },
112
+ };
85
113
  }
86
114
  async getModel(provider, model) {
87
- const providerName = provider ?? this.config.defaultProvider;
115
+ const { requestedProviderName, providerName, providerConfig } = this.resolveProviderSelection(provider);
88
116
  const modelName = model ?? this.config.defaultModel;
89
- const providerConfig = this.config.providers[providerName];
90
- const apiKey = await this.resolveApiKey(providerName, providerConfig);
117
+ const auth = await this.resolveProviderAuth(providerName, providerConfig);
118
+ const apiKey = auth.apiKey;
91
119
  switch (providerName) {
92
120
  case 'anthropic': {
93
121
  const anthropic = createAnthropic({
@@ -97,24 +125,29 @@ export class CerebrumProvider {
97
125
  return anthropic(modelName);
98
126
  }
99
127
  case 'openai': {
100
- // OAuth tokens work with ChatGPT backend, not the platform API
101
- const isOAuth = providerConfig?.auth === 'oauth';
102
- const baseURL = providerConfig?.baseUrl
103
- ?? (isOAuth ? 'https://chatgpt.com/backend-api' : undefined);
104
128
  const openai = createOpenAI({
105
129
  apiKey,
106
- ...(baseURL ? { baseURL } : {}),
107
- ...(isOAuth ? {
108
- fetch: (url, init) => {
109
- const headers = new Headers(init?.headers);
110
- headers.set('originator', 'cereworker');
111
- headers.set('User-Agent', 'cereworker');
112
- return globalThis.fetch(url, { ...init, headers });
113
- },
114
- } : {}),
130
+ ...(providerConfig?.baseUrl ? { baseURL: providerConfig.baseUrl } : {}),
115
131
  });
116
132
  return openai(modelName);
117
133
  }
134
+ case OPENAI_CODEX_PROVIDER: {
135
+ const accountId = auth.oauthTokens?.accountId;
136
+ if (!accountId) {
137
+ throw new Error(`OpenAI Codex OAuth token is missing account metadata. Run: cereworker auth ${OPENAI_CODEX_PROVIDER}`);
138
+ }
139
+ const openaiCodex = createOpenAI({
140
+ apiKey,
141
+ baseURL: providerConfig?.baseUrl ?? OPENAI_CODEX_BASE_URL,
142
+ headers: {
143
+ 'chatgpt-account-id': accountId,
144
+ 'OpenAI-Beta': 'responses=experimental',
145
+ originator: 'cereworker',
146
+ 'User-Agent': 'cereworker',
147
+ },
148
+ });
149
+ return openaiCodex.responses(modelName);
150
+ }
118
151
  case 'google': {
119
152
  const google = createGoogleGenerativeAI({
120
153
  apiKey,
@@ -222,6 +255,7 @@ export class CerebrumProvider {
222
255
  systemParts.push(sm.content);
223
256
  }
224
257
  const systemPrompt = systemParts.length > 0 ? systemParts.join('\n\n') : undefined;
258
+ const modelRequestOptions = this.getModelRequestOptions(options?.provider, systemPrompt);
225
259
  // Convert orchestrator-registered tools to AI SDK format.
226
260
  // Their execute delegates to onToolCall so the orchestrator handles
227
261
  // execution, verification, and persistence in one place.
@@ -253,7 +287,7 @@ export class CerebrumProvider {
253
287
  tools: allTools,
254
288
  stopWhen: stepCountIs(options?.maxSteps ?? 10),
255
289
  temperature: this.config.temperature,
256
- ...(systemPrompt ? { system: systemPrompt } : {}),
290
+ ...modelRequestOptions,
257
291
  });
258
292
  let fullContent = '';
259
293
  const collectedToolCalls = [];
@@ -305,11 +339,13 @@ export class CerebrumProvider {
305
339
  async summarize(messages) {
306
340
  const model = await this.getModel();
307
341
  const prompt = buildCompactionPrompt(messages);
342
+ const modelRequestOptions = this.getModelRequestOptions();
308
343
  const result = await withRetry(async () => {
309
344
  const { text } = await generateText({
310
345
  model,
311
346
  prompt,
312
347
  temperature: 0.3,
348
+ ...modelRequestOptions,
313
349
  });
314
350
  return text;
315
351
  }, this.retryOptions);
@@ -318,11 +354,13 @@ export class CerebrumProvider {
318
354
  /** Single-shot text generation from a raw prompt. */
319
355
  async generate(prompt) {
320
356
  const model = await this.getModel();
357
+ const modelRequestOptions = this.getModelRequestOptions();
321
358
  const result = await withRetry(async () => {
322
359
  const { text } = await generateText({
323
360
  model,
324
361
  prompt,
325
362
  temperature: 0.3,
363
+ ...modelRequestOptions,
326
364
  });
327
365
  return text;
328
366
  }, this.retryOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cereworker/cerebrum",
3
- "version": "26.325.39",
3
+ "version": "26.326.2",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,8 +21,8 @@
21
21
  "@ai-sdk/openai": "^3.0.47",
22
22
  "ai": "^6.0.134",
23
23
  "zod": "^3.24.0",
24
- "@cereworker/config": "26.325.39",
25
- "@cereworker/core": "26.325.39"
24
+ "@cereworker/config": "26.326.2",
25
+ "@cereworker/core": "26.326.2"
26
26
  },
27
27
  "optionalDependencies": {
28
28
  "@mariozechner/pi-ai": "*"