@cereworker/cerebrum 26.328.2 → 26.328.3

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.
@@ -1,9 +1,3 @@
1
- /**
2
- * OAuth login wrappers for OpenAI and Google.
3
- *
4
- * OpenAI Codex: Uses @mariozechner/pi-ai's provider-owned ChatGPT OAuth flow.
5
- * Google: Falls back to @mariozechner/pi-ai for Gemini CLI OAuth.
6
- */
7
1
  import type { OAuthTokens } from './types.js';
8
2
  export interface PiAuthCallbacks {
9
3
  onAuth: (url: string, instructions?: string) => void;
@@ -14,7 +8,7 @@ export interface PiAuthCallbacks {
14
8
  export declare function loginOpenAICodex(callbacks: PiAuthCallbacks): Promise<OAuthTokens>;
15
9
  export declare function loginOpenAI(callbacks: PiAuthCallbacks): Promise<OAuthTokens>;
16
10
  export declare function loginGoogle(callbacks: PiAuthCallbacks): Promise<OAuthTokens>;
17
- export declare function refreshOpenAICodexToken(refreshToken: string): Promise<OAuthTokens>;
11
+ export declare function refreshOpenAICodexToken(refreshToken: string, fallback?: OAuthTokens): Promise<OAuthTokens>;
18
12
  export declare function refreshOpenAIToken(refreshToken: string): Promise<OAuthTokens>;
19
13
  export declare function getOpenAICodexApiKey(tokens: OAuthTokens): Promise<{
20
14
  apiKey: string;
@@ -1 +1 @@
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
+ {"version":3,"file":"pi-auth.d.ts","sourceRoot":"","sources":["../../src/oauth/pi-auth.ts"],"names":[],"mappings":"AAUA,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;AA8SD,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAiFvF;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,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAkChH;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,CAiBD;AAED,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC,CAGtB"}
@@ -1,6 +1,24 @@
1
+ /**
2
+ * OAuth helpers for integrated providers.
3
+ *
4
+ * OpenAI Codex is implemented locally so the runtime does not depend on
5
+ * @mariozechner/pi-ai being installed globally. Google OAuth still falls back
6
+ * to pi-ai for now.
7
+ */
8
+ import { createServer } from 'node:http';
9
+ import { randomBytes } from 'node:crypto';
10
+ import { generateCodeChallenge, generateCodeVerifier } from './pkce.js';
1
11
  const OPENAI_CODEX_TOKEN_CLAIM = 'https://api.openai.com/auth';
2
12
  const OPENAI_PROFILE_TOKEN_CLAIM = 'https://api.openai.com/profile';
3
13
  const OPENAI_CODEX_PROVIDER = 'openai-codex';
14
+ const OPENAI_CODEX_CLIENT_ID = 'app_EMoamEEZ73f0CkXaXp7hrann';
15
+ const OPENAI_CODEX_AUTHORIZE_URL = 'https://auth.openai.com/oauth/authorize';
16
+ const OPENAI_CODEX_TOKEN_URL = 'https://auth.openai.com/oauth/token';
17
+ const OPENAI_CODEX_REDIRECT_URI = 'http://localhost:1455/auth/callback';
18
+ const OPENAI_CODEX_SCOPE = 'openid profile email offline_access';
19
+ const OPENAI_OAUTH_ORIGINATOR = 'pi';
20
+ const PI_AI_MODULE = '@mariozechner/pi-ai/oauth';
21
+ const GOOGLE_INSTALL_HINT = '@mariozechner/pi-ai is required for Google OAuth. Install it:\n npm install -g @mariozechner/pi-ai';
4
22
  function toTokens(creds) {
5
23
  const claims = decodeJwtClaims(creds.access);
6
24
  const auth = asRecord(claims?.[OPENAI_CODEX_TOKEN_CLAIM]);
@@ -19,15 +37,13 @@ function toTokens(creds) {
19
37
  projectId: creds.projectId,
20
38
  };
21
39
  }
22
- const PI_AI_MODULE = '@mariozechner/pi-ai/oauth';
23
- const INSTALL_HINT = '@mariozechner/pi-ai is required for OAuth. Install it:\n npm install -g @mariozechner/pi-ai';
24
40
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
41
  async function loadPiAuth() {
26
42
  try {
27
43
  return await import(PI_AI_MODULE);
28
44
  }
29
45
  catch {
30
- throw new Error(INSTALL_HINT);
46
+ throw new Error(GOOGLE_INSTALL_HINT);
31
47
  }
32
48
  }
33
49
  function asRecord(value) {
@@ -46,6 +62,173 @@ function decodeJwtClaims(token) {
46
62
  return null;
47
63
  }
48
64
  }
65
+ function createOpenAICodexState() {
66
+ return randomBytes(16).toString('hex');
67
+ }
68
+ function parseOpenAICodexAuthorizationInput(input) {
69
+ const value = input.trim();
70
+ if (!value)
71
+ return {};
72
+ try {
73
+ const url = new URL(value);
74
+ return {
75
+ code: url.searchParams.get('code') ?? undefined,
76
+ state: url.searchParams.get('state') ?? undefined,
77
+ };
78
+ }
79
+ catch {
80
+ // not a URL
81
+ }
82
+ if (value.includes('#')) {
83
+ const [code, state] = value.split('#', 2);
84
+ return { code, state };
85
+ }
86
+ if (value.includes('code=')) {
87
+ const params = new URLSearchParams(value);
88
+ return {
89
+ code: params.get('code') ?? undefined,
90
+ state: params.get('state') ?? undefined,
91
+ };
92
+ }
93
+ return { code: value };
94
+ }
95
+ function openAIOAuthSuccessHtml(message) {
96
+ return `<!doctype html><html><body><h1>Success</h1><p>${message}</p></body></html>`;
97
+ }
98
+ function openAIOAuthErrorHtml(message) {
99
+ return `<!doctype html><html><body><h1>OAuth Error</h1><p>${message}</p></body></html>`;
100
+ }
101
+ function getOpenAICodexAccountId(accessToken) {
102
+ const payload = decodeJwtClaims(accessToken);
103
+ const auth = asRecord(payload?.[OPENAI_CODEX_TOKEN_CLAIM]);
104
+ const accountId = auth?.chatgpt_account_id;
105
+ return typeof accountId === 'string' && accountId.length > 0 ? accountId : null;
106
+ }
107
+ function normalizeOpenAICodexTokens(creds, fallback) {
108
+ const decoded = toTokens(creds);
109
+ if (decoded.accountId) {
110
+ return decoded;
111
+ }
112
+ if (fallback?.accountId) {
113
+ return {
114
+ ...decoded,
115
+ accountId: fallback.accountId,
116
+ email: decoded.email ?? fallback.email,
117
+ };
118
+ }
119
+ throw new Error('Failed to extract accountId from token');
120
+ }
121
+ async function exchangeOpenAICodexAuthorizationCode(code, verifier) {
122
+ const response = await fetch(OPENAI_CODEX_TOKEN_URL, {
123
+ method: 'POST',
124
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
125
+ body: new URLSearchParams({
126
+ grant_type: 'authorization_code',
127
+ client_id: OPENAI_CODEX_CLIENT_ID,
128
+ code,
129
+ code_verifier: verifier,
130
+ redirect_uri: OPENAI_CODEX_REDIRECT_URI,
131
+ }),
132
+ });
133
+ if (!response.ok) {
134
+ const text = await response.text().catch(() => '');
135
+ throw new Error(`OpenAI Codex token exchange failed: ${response.status} ${text || response.statusText}`);
136
+ }
137
+ const json = await response.json();
138
+ if (!json.access_token || !json.refresh_token || typeof json.expires_in !== 'number') {
139
+ throw new Error('OpenAI Codex token exchange returned an incomplete payload');
140
+ }
141
+ return normalizeOpenAICodexTokens({
142
+ access: json.access_token,
143
+ refresh: json.refresh_token,
144
+ expires: Date.now() + json.expires_in * 1000,
145
+ });
146
+ }
147
+ function createOpenAICodexAuthorizationUrl() {
148
+ const verifier = generateCodeVerifier();
149
+ const challenge = generateCodeChallenge(verifier);
150
+ const state = createOpenAICodexState();
151
+ const url = new URL(OPENAI_CODEX_AUTHORIZE_URL);
152
+ url.searchParams.set('response_type', 'code');
153
+ url.searchParams.set('client_id', OPENAI_CODEX_CLIENT_ID);
154
+ url.searchParams.set('redirect_uri', OPENAI_CODEX_REDIRECT_URI);
155
+ url.searchParams.set('scope', OPENAI_CODEX_SCOPE);
156
+ url.searchParams.set('code_challenge', challenge);
157
+ url.searchParams.set('code_challenge_method', 'S256');
158
+ url.searchParams.set('state', state);
159
+ url.searchParams.set('id_token_add_organizations', 'true');
160
+ url.searchParams.set('codex_cli_simplified_flow', 'true');
161
+ url.searchParams.set('originator', OPENAI_OAUTH_ORIGINATOR);
162
+ return { state, verifier, url: url.toString() };
163
+ }
164
+ async function startOpenAICodexCallbackServer(state) {
165
+ let settleWait;
166
+ const waitForCode = new Promise((resolve) => {
167
+ let settled = false;
168
+ settleWait = (value) => {
169
+ if (settled)
170
+ return;
171
+ settled = true;
172
+ resolve(value);
173
+ };
174
+ });
175
+ return await new Promise((resolve) => {
176
+ const server = createServer((req, res) => {
177
+ try {
178
+ const url = new URL(req.url || '', 'http://localhost');
179
+ if (url.pathname !== '/auth/callback') {
180
+ res.statusCode = 404;
181
+ res.setHeader('Content-Type', 'text/html; charset=utf-8');
182
+ res.end(openAIOAuthErrorHtml('Callback route not found.'));
183
+ return;
184
+ }
185
+ if (url.searchParams.get('state') !== state) {
186
+ res.statusCode = 400;
187
+ res.setHeader('Content-Type', 'text/html; charset=utf-8');
188
+ res.end(openAIOAuthErrorHtml('State mismatch.'));
189
+ return;
190
+ }
191
+ const code = url.searchParams.get('code');
192
+ if (!code) {
193
+ res.statusCode = 400;
194
+ res.setHeader('Content-Type', 'text/html; charset=utf-8');
195
+ res.end(openAIOAuthErrorHtml('Missing authorization code.'));
196
+ return;
197
+ }
198
+ res.statusCode = 200;
199
+ res.setHeader('Content-Type', 'text/html; charset=utf-8');
200
+ res.end(openAIOAuthSuccessHtml('OpenAI authentication completed. You can close this window.'));
201
+ settleWait?.({ code });
202
+ }
203
+ catch {
204
+ res.statusCode = 500;
205
+ res.setHeader('Content-Type', 'text/html; charset=utf-8');
206
+ res.end(openAIOAuthErrorHtml('Internal error while processing OAuth callback.'));
207
+ }
208
+ });
209
+ server.listen(1455, '127.0.0.1', () => {
210
+ resolve({
211
+ close: () => server.close(),
212
+ cancelWait: () => settleWait?.(null),
213
+ waitForCode: () => waitForCode,
214
+ });
215
+ }).on('error', () => {
216
+ settleWait?.(null);
217
+ resolve({
218
+ close: () => {
219
+ try {
220
+ server.close();
221
+ }
222
+ catch {
223
+ // ignore
224
+ }
225
+ },
226
+ cancelWait: () => { },
227
+ waitForCode: async () => null,
228
+ });
229
+ });
230
+ });
231
+ }
49
232
  const TLS_CERT_ERROR_CODES = new Set([
50
233
  'UNABLE_TO_GET_ISSUER_CERT_LOCALLY',
51
234
  'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
@@ -103,22 +286,81 @@ function formatOpenAIOAuthTlsPreflightFix(result) {
103
286
  ].join('\n');
104
287
  }
105
288
  export async function loginOpenAICodex(callbacks) {
106
- const { loginOpenAICodex } = await loadPiAuth();
107
289
  const preflight = await runOpenAIOAuthTlsPreflight();
108
290
  if (!preflight.ok && preflight.kind === 'tls-cert') {
109
291
  throw new Error(formatOpenAIOAuthTlsPreflightFix(preflight));
110
292
  }
111
- const creds = await loginOpenAICodex({
112
- onAuth: (info) => callbacks.onAuth(info.url, info.instructions),
113
- onPrompt: async (prompt) => {
114
- if (!callbacks.onPrompt)
115
- throw new Error('Manual input required but no prompt handler');
116
- return callbacks.onPrompt(prompt.message);
117
- },
118
- onProgress: callbacks.onProgress,
119
- onManualCodeInput: callbacks.onManualCodeInput,
120
- });
121
- return toTokens(creds);
293
+ const { verifier, state, url } = createOpenAICodexAuthorizationUrl();
294
+ const server = await startOpenAICodexCallbackServer(state);
295
+ callbacks.onAuth(url, 'A browser window should open. Complete login to finish.');
296
+ let code;
297
+ try {
298
+ if (callbacks.onManualCodeInput) {
299
+ let manualCode;
300
+ let manualError;
301
+ const manualPromise = callbacks
302
+ .onManualCodeInput()
303
+ .then((input) => {
304
+ manualCode = input;
305
+ server.cancelWait();
306
+ })
307
+ .catch((error) => {
308
+ manualError = error instanceof Error ? error : new Error(String(error));
309
+ server.cancelWait();
310
+ });
311
+ const result = await server.waitForCode();
312
+ if (manualError) {
313
+ throw manualError;
314
+ }
315
+ if (result?.code) {
316
+ code = result.code;
317
+ }
318
+ else if (manualCode) {
319
+ const parsed = parseOpenAICodexAuthorizationInput(manualCode);
320
+ if (parsed.state && parsed.state !== state) {
321
+ throw new Error('State mismatch');
322
+ }
323
+ code = parsed.code;
324
+ }
325
+ if (!code) {
326
+ await manualPromise;
327
+ if (manualError) {
328
+ throw manualError;
329
+ }
330
+ if (manualCode) {
331
+ const parsed = parseOpenAICodexAuthorizationInput(manualCode);
332
+ if (parsed.state && parsed.state !== state) {
333
+ throw new Error('State mismatch');
334
+ }
335
+ code = parsed.code;
336
+ }
337
+ }
338
+ }
339
+ else {
340
+ const result = await server.waitForCode();
341
+ if (result?.code) {
342
+ code = result.code;
343
+ }
344
+ }
345
+ if (!code) {
346
+ if (!callbacks.onPrompt) {
347
+ throw new Error('Missing authorization code');
348
+ }
349
+ const input = await callbacks.onPrompt('Paste the authorization code (or full redirect URL)');
350
+ const parsed = parseOpenAICodexAuthorizationInput(input);
351
+ if (parsed.state && parsed.state !== state) {
352
+ throw new Error('State mismatch');
353
+ }
354
+ code = parsed.code;
355
+ }
356
+ if (!code) {
357
+ throw new Error('Missing authorization code');
358
+ }
359
+ return await exchangeOpenAICodexAuthorizationCode(code, verifier);
360
+ }
361
+ finally {
362
+ server.close();
363
+ }
122
364
  }
123
365
  export async function loginOpenAI(callbacks) {
124
366
  return loginOpenAICodex(callbacks);
@@ -128,30 +370,47 @@ export async function loginGoogle(callbacks) {
128
370
  const creds = await loginGeminiCli((info) => callbacks.onAuth(info.url, info.instructions), callbacks.onProgress, callbacks.onManualCodeInput);
129
371
  return toTokens(creds);
130
372
  }
131
- export async function refreshOpenAICodexToken(refreshToken) {
132
- const { refreshOpenAICodexToken } = await loadPiAuth();
133
- return toTokens(await refreshOpenAICodexToken(refreshToken));
373
+ export async function refreshOpenAICodexToken(refreshToken, fallback) {
374
+ const response = await fetch(OPENAI_CODEX_TOKEN_URL, {
375
+ method: 'POST',
376
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
377
+ body: new URLSearchParams({
378
+ grant_type: 'refresh_token',
379
+ refresh_token: refreshToken,
380
+ client_id: OPENAI_CODEX_CLIENT_ID,
381
+ }),
382
+ });
383
+ if (!response.ok) {
384
+ const text = await response.text().catch(() => '');
385
+ throw new Error(`OpenAI Codex token refresh failed: ${response.status} ${text || response.statusText}`);
386
+ }
387
+ const json = await response.json();
388
+ if (!json.access_token || typeof json.expires_in !== 'number') {
389
+ throw new Error('OpenAI Codex token refresh returned an incomplete payload');
390
+ }
391
+ return normalizeOpenAICodexTokens({
392
+ access: json.access_token,
393
+ refresh: json.refresh_token || refreshToken,
394
+ expires: Date.now() + json.expires_in * 1000,
395
+ }, fallback);
134
396
  }
135
397
  export async function refreshOpenAIToken(refreshToken) {
136
398
  return refreshOpenAICodexToken(refreshToken);
137
399
  }
138
400
  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) {
401
+ let nextTokens = tokens;
402
+ if (Date.now() >= tokens.expiresAt) {
403
+ if (!tokens.refreshToken) {
404
+ throw new Error('OpenAI Codex OAuth token expired and no refresh token is available');
405
+ }
406
+ nextTokens = await refreshOpenAICodexToken(tokens.refreshToken, tokens);
407
+ }
408
+ if (!nextTokens.accountId) {
150
409
  throw new Error('No OAuth credentials available for openai-codex');
151
410
  }
152
411
  return {
153
- apiKey: result.apiKey,
154
- tokens: toTokens(result.newCredentials),
412
+ apiKey: nextTokens.accessToken,
413
+ tokens: nextTokens,
155
414
  };
156
415
  }
157
416
  export async function refreshGoogleToken(refreshToken, projectId) {
@@ -1 +1 @@
1
- {"version":3,"file":"pi-auth.js","sourceRoot":"","sources":["../../src/oauth/pi-auth.ts"],"names":[],"mappings":"AAuBA,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;AAC/D,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AACpE,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAE7C,SAAS,QAAQ,CAAC,KAAc;IAC9B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,OAAO,OAAO,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,kBAAkB,KAAK,QAAQ;QACjE,CAAC,CAAC,IAAI,CAAC,kBAAkB;QACzB,CAAC,CAAC,SAAS,CAAC;IAEd,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,KAAK,IAAI,UAAU;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,cAAc;QAC5C,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,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,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAChD,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA4B,CAAC;IAC1G,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAMD,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,mCAAmC;IACnC,iCAAiC;IACjC,kBAAkB;IAClB,6BAA6B;IAC7B,2BAA2B;IAC3B,8BAA8B;CAC/B,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG;IAC9B,yCAAyC;IACzC,yCAAyC;IACzC,6BAA6B;IAC7B,0BAA0B;CAC3B,CAAC;AAEF,MAAM,qBAAqB,GACzB,mLAAmL,CAAC;AAEtL,SAAS,0BAA0B,CAAC,KAAc;IAKhD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,SAAS,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,OAAO,GACX,OAAO,SAAS,EAAE,OAAO,KAAK,QAAQ;QACpC,CAAC,CAAC,SAAS,CAAC,OAAO;QACnB,CAAC,CAAC,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ;YACjC,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,MAAM,IAAI,GAAG,CACX,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;WAC1C,uBAAuB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CACtE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,0BAA0B;IACvC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,qBAAqB,EAAE;YACjC,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CACvC,MAA4D;IAE5D,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO;YACL,qFAAqF;YACrF,UAAU,MAAM,CAAC,OAAO,EAAE;YAC1B,uDAAuD;SACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,OAAO;QACL,gFAAgF;QAChF,UAAU,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QAC/E,iHAAiH;KAClH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAA0B;IAC/D,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IAEhD,MAAM,SAAS,GAAG,MAAM,0BAA0B,EAAE,CAAC;IACrD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,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,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACrC,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,uBAAuB,CAAC,YAAoB;IAChE,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,CAAC,YAAoB;IAC3D,OAAO,uBAAuB,CAAC,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAmB;IAI5D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,qBAAqB,EACrB;QACE,CAAC,qBAAqB,CAAC,EAAE;YACvB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,OAAO,EAAE,MAAM,CAAC,YAAY;YAC5B,OAAO,EAAE,MAAM,CAAC,SAAS;YACzB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD;KACF,CAC4B,CAAC;IAEhC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;KACxC,CAAC;AACJ,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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cereworker/cerebrum",
3
- "version": "26.328.2",
3
+ "version": "26.328.3",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,8 +20,8 @@
20
20
  "@ai-sdk/openai": "^3.0.47",
21
21
  "ai": "^6.0.134",
22
22
  "zod": "^3.24.0",
23
- "@cereworker/config": "26.328.2",
24
- "@cereworker/core": "26.328.2"
23
+ "@cereworker/config": "26.328.3",
24
+ "@cereworker/core": "26.328.3"
25
25
  },
26
26
  "devDependencies": {
27
27
  "typescript": "^5.7.3"