@dsh-enhanced/coding-subscription-provider 0.1.3 → 0.1.5

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/lib/adapter.js CHANGED
@@ -1,11 +1,12 @@
1
+ import { randomUUID } from 'node:crypto';
1
2
  import { resolve } from 'node:path';
2
- import { CONTEXT_WINDOW_EXCEEDED_CODE, EMPTY_RESPONSE_CODE, LlmAdapter, LlmError, QUOTA_EXCEEDED_CODE, ReasoningEffortId, } from '@deepseek-ai/dsh-llm';
3
+ import { CallId, CONTEXT_WINDOW_EXCEEDED_CODE, EMPTY_RESPONSE_CODE, LlmAdapter, LlmError, QUOTA_EXCEEDED_CODE, ReasoningEffortId, } from '@deepseek-ai/dsh-llm';
3
4
  import { verifySubscriptionAuth } from './auth.js';
4
5
  import { discoverCodexModels, } from './codex-catalog.js';
5
6
  import { CodexCredentialStore } from './codex-direct-auth.js';
6
7
  import { runCodexDirectResponses, } from './codex-direct-responses.js';
7
8
  import { configForProvider, } from './config.js';
8
- import { buildPrompt } from './prompt.js';
9
+ import { buildPrompt, CLI_PROMPT_LIMIT_CAUSE, parseDelegatedToolCalls } from './prompt.js';
9
10
  import { runCliText } from './process.js';
10
11
  import { buildInvocation } from './providers.js';
11
12
  import { resolveTrustedSessionCwd, TrustedSessionCwdError } from './session-cwd.js';
@@ -13,10 +14,11 @@ import { discoverClaudeModels, discoverCursorModels, discoverGrokModels, } from
13
14
  export const routeDefinitions = [
14
15
  { route: 'codex-subscription', cli: 'codex', name: 'Codex Subscription (local CLI)', maturity: 'stable' },
15
16
  { route: 'claude-subscription', cli: 'claude', name: 'Claude Subscription (local Claude Code)', maturity: 'experimental' },
16
- { route: 'cursor-subscription', cli: 'cursor', name: 'Cursor Subscription (local Agent CLI)', maturity: 'beta' },
17
+ { route: 'cursor-subscription', cli: 'cursor', name: 'Cursor Subscription (local Agent CLI)', maturity: 'experimental' },
17
18
  { route: 'grok-subscription', cli: 'grok', name: 'Grok Subscription (local Grok Build)', maturity: 'beta' },
18
19
  ];
19
20
  const CATALOG_TTL_MS = 5 * 60_000;
21
+ const CATALOG_STDERR_DIAGNOSTIC = 'model catalog probe wrote to stderr; content withheld';
20
22
  const noAutomaticRetry = Object.freeze({
21
23
  mode: 'normal',
22
24
  maxRetries: 0,
@@ -62,6 +64,7 @@ export const CODEX_DIRECT_PROVIDER_HTTP_CODE = 'CODEX_DIRECT_PROVIDER_HTTP';
62
64
  export const CODEX_DIRECT_PROVIDER_FAILURE_CODE = 'CODEX_DIRECT_PROVIDER_FAILURE';
63
65
  export const CODEX_DIRECT_CONTENT_FILTER_CODE = 'CODEX_DIRECT_CONTENT_FILTER';
64
66
  export const CODEX_DIRECT_TRANSPORT_ERROR_CODE = 'CODEX_DIRECT_TRANSPORT_ERROR';
67
+ export const CLI_PROMPT_LIMIT_CODE = 'CLI_PROMPT_LIMIT';
65
68
  function directFailure(definition, error) {
66
69
  if (error instanceof LlmError)
67
70
  return error;
@@ -112,23 +115,11 @@ function validHttpStatus(error) {
112
115
  ? status
113
116
  : undefined;
114
117
  }
115
- /** Stable code for a request that needs tool calls this text-only route cannot make. */
116
- export const TOOL_CALLS_UNSUPPORTED_CODE = 'tool_calls_unsupported';
117
- /**
118
- * Refuse a request that supplies tool schemas.
119
- *
120
- * These routes drive local coding CLIs that only return assistant text; they
121
- * cannot emit a `tool-call` block. Silently dropping `options.tools` would let an
122
- * unattended automation appear to run while never invoking its allowlisted tools,
123
- * so the request fails loudly and names the working alternative instead.
124
- */
125
- function toolCallsUnsupported(definition) {
126
- return new LlmError(`${definition.name} is a text-only route and cannot perform tool calls. `
127
- + 'Use a provider that emits tool calls (for example @dsh-enhanced/traex-acp-provider) '
128
- + 'for agent or automation work that requires tools.', TOOL_CALLS_UNSUPPORTED_CODE);
129
- }
130
- /** Report a local prompt bound through DSH's canonical overflow path so compaction can retry it. */
118
+ /** Keep local serialization safety limits distinct from a model context refusal. */
131
119
  function preflightFailure(error) {
120
+ if (error instanceof Error && error.cause === CLI_PROMPT_LIMIT_CAUSE) {
121
+ return new LlmError(error.message, CLI_PROMPT_LIMIT_CODE, { cause: error });
122
+ }
132
123
  if (error instanceof Error && error.cause === 'prompt-limit') {
133
124
  return new LlmError(error.message, CONTEXT_WINDOW_EXCEEDED_CODE, { cause: error });
134
125
  }
@@ -205,9 +196,12 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
205
196
  onDiagnostic;
206
197
  onSettled;
207
198
  liveSessions;
199
+ requestAttestor;
200
+ now;
208
201
  lifecycle = new AbortController();
209
202
  codexCatalogCache;
210
203
  subscriptionCatalogCache = new Map();
204
+ catalogRefreshes = new Map();
211
205
  constructor(config, dependencies = {}) {
212
206
  super();
213
207
  this.config = config;
@@ -224,9 +218,16 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
224
218
  this.onDiagnostic = dependencies.onDiagnostic;
225
219
  this.onSettled = dependencies.onSettled;
226
220
  this.liveSessions = dependencies.liveSessions;
221
+ this.requestAttestor = dependencies.requestAttestor;
222
+ this.now = dependencies.now ?? Date.now;
227
223
  }
228
224
  trustedCwd(request) {
229
- return resolveTrustedSessionCwd({ request, configuredCwd: this.cwd, sessions: this.liveSessions });
225
+ return resolveTrustedSessionCwd({
226
+ request,
227
+ configuredCwd: this.cwd,
228
+ sessions: this.liveSessions,
229
+ ...(this.requestAttestor === undefined ? {} : { attestor: this.requestAttestor }),
230
+ });
230
231
  }
231
232
  reportSettled(context) {
232
233
  if (this.onSettled === undefined)
@@ -252,22 +253,21 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
252
253
  }
253
254
  peekCodexCatalog() {
254
255
  const cached = this.codexCatalogCache;
255
- if (cached !== undefined && cached.expiresAt > Date.now())
256
+ if (cached !== undefined && cached.expiresAt > this.now())
256
257
  return cached.catalog;
257
258
  this.codexCatalogCache = undefined;
258
259
  return undefined;
259
260
  }
260
261
  peekSubscriptionCatalog(provider) {
261
262
  const cached = this.subscriptionCatalogCache.get(provider);
262
- if (cached !== undefined && cached.expiresAt > Date.now())
263
+ if (cached !== undefined && cached.expiresAt > this.now())
263
264
  return cached.catalog;
264
265
  this.subscriptionCatalogCache.delete(provider);
265
266
  return undefined;
266
267
  }
267
268
  /**
268
- * Observe the advisory CLI catalog only after stream has bound this operation to a
269
- * canonical live-session cwd. The caller owns the auth probe and must revalidate
270
- * the session immediately before crossing this subprocess boundary.
269
+ * Observe the advisory Codex CLI catalog with bounded, prompt-free control-plane I/O.
270
+ * Authentication is owned by `refreshCatalog`; this method only performs discovery.
271
271
  */
272
272
  async observeCodexCatalog(cwd, signal) {
273
273
  if (signal.aborted)
@@ -286,9 +286,18 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
286
286
  maxOutputBytes: this.config.maxOutputBytes,
287
287
  maxStderrBytes: this.config.maxStderrBytes,
288
288
  extraEnvNames: this.config.extraEnvNames,
289
- onDiagnostic: diagnostic => this.onDiagnostic?.(definition.route, diagnostic),
289
+ onDiagnostic: () => {
290
+ try {
291
+ this.onDiagnostic?.(definition.route, CATALOG_STDERR_DIAGNOSTIC);
292
+ }
293
+ catch {
294
+ // A diagnostic sink must never affect catalog discovery.
295
+ }
296
+ },
290
297
  });
291
- this.codexCatalogCache = { catalog, expiresAt: Date.now() + CATALOG_TTL_MS };
298
+ if (signal.aborted)
299
+ throw abortReason(signal);
300
+ this.codexCatalogCache = { catalog, expiresAt: this.now() + CATALOG_TTL_MS };
292
301
  return catalog;
293
302
  }
294
303
  catch (error) {
@@ -315,7 +324,9 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
315
324
  maxOutputBytes: this.config.maxAuthProbeBytes,
316
325
  extraEnvNames: this.config.extraEnvNames,
317
326
  });
318
- this.subscriptionCatalogCache.set(provider, { catalog, expiresAt: Date.now() + CATALOG_TTL_MS });
327
+ if (signal.aborted)
328
+ throw abortReason(signal);
329
+ this.subscriptionCatalogCache.set(provider, { catalog, expiresAt: this.now() + CATALOG_TTL_MS });
319
330
  return catalog;
320
331
  }
321
332
  catch (error) {
@@ -333,11 +344,69 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
333
344
  ? this.observeCodexCatalog(cwd, signal)
334
345
  : this.observeSubscriptionCatalog(provider, cwd, signal);
335
346
  }
347
+ /**
348
+ * Refresh one CLI catalog after the existing subscription-auth gate. Concurrent
349
+ * list callers share the complete auth + discovery operation, so a cold picker
350
+ * cannot fan out local probes. Generation never enters or waits on this path.
351
+ */
352
+ refreshCatalog(provider, cwd) {
353
+ const refreshSignal = this.lifecycle.signal;
354
+ if (refreshSignal.aborted)
355
+ return Promise.reject(abortReason(refreshSignal));
356
+ const cached = this.observedCatalog(provider);
357
+ if (cached !== undefined)
358
+ return Promise.resolve(cached);
359
+ const active = this.catalogRefreshes.get(provider);
360
+ if (active !== undefined)
361
+ return active;
362
+ const profile = configForProvider(this.config, provider);
363
+ let refresh;
364
+ refresh = (async () => {
365
+ await this.verifyAuth(provider, {
366
+ command: profile.command,
367
+ cwd,
368
+ timeoutMs: this.config.authProbeTimeoutMs,
369
+ maxOutputBytes: this.config.maxAuthProbeBytes,
370
+ extraEnvNames: this.config.extraEnvNames,
371
+ signal: refreshSignal,
372
+ ...(provider === 'grok'
373
+ ? { userVerifiedSubscription: this.config.grok.userVerifiedSubscription }
374
+ : {}),
375
+ });
376
+ if (refreshSignal.aborted)
377
+ throw abortReason(refreshSignal);
378
+ return this.observeCatalog(provider, cwd, refreshSignal);
379
+ })().finally(() => {
380
+ if (this.catalogRefreshes.get(provider) === refresh)
381
+ this.catalogRefreshes.delete(provider);
382
+ });
383
+ this.catalogRefreshes.set(provider, refresh);
384
+ return refresh;
385
+ }
386
+ reportCatalogRefreshFailure(definition, error) {
387
+ if (this.lifecycle.signal.aborted)
388
+ return;
389
+ const diagnostic = `model catalog refresh failed; outcome=${outcomeFor(error)}; using configured models`;
390
+ try {
391
+ this.onDiagnostic?.(definition.route, diagnostic);
392
+ }
393
+ catch {
394
+ // A diagnostic sink must never turn advisory catalog failure into listModels failure.
395
+ }
396
+ }
336
397
  async listModels(provider) {
337
398
  const definition = definitionFor(provider);
338
399
  const profile = configForProvider(this.config, definition.cli);
339
400
  const directCodex = definition.cli === 'codex' && this.config.codex.transport === 'direct-responses';
340
- const catalog = directCodex ? undefined : this.observedCatalog(definition.cli);
401
+ let catalog;
402
+ if (!directCodex && !this.lifecycle.signal.aborted) {
403
+ try {
404
+ catalog = await this.refreshCatalog(definition.cli, this.cwd);
405
+ }
406
+ catch (error) {
407
+ this.reportCatalogRefreshFailure(definition, error);
408
+ }
409
+ }
341
410
  const attachments = directCodex ? this.getAttachments() : undefined;
342
411
  const inputModalities = directCodex && attachments !== undefined
343
412
  ? ['text', 'image']
@@ -377,6 +446,7 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
377
446
  if (effectiveSignal.aborted)
378
447
  throw abortReason(effectiveSignal);
379
448
  const definition = definitionFor(provider);
449
+ const profile = configForProvider(this.config, definition.cli);
380
450
  const directCodex = definition.cli === 'codex' && this.config.codex.transport === 'direct-responses';
381
451
  const catalog = directCodex ? undefined : this.observedCatalog(definition.cli);
382
452
  const catalogModel = model === 'default'
@@ -395,6 +465,7 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
395
465
  ? 'experimental direct private Codex Responses transport using the local ChatGPT session'
396
466
  : `${definition.maturity} local coding-agent delegation`),
397
467
  inputModalities: directCodex && attachments !== undefined ? ['text', 'image'] : ['text'],
468
+ context: { contextWindow: profile.contextWindow },
398
469
  ...(directCodex ? directReasoningInfo(this.config.codex) : reasoningInfo(catalogModel)),
399
470
  };
400
471
  }
@@ -434,12 +505,6 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
434
505
  if (signal.aborted)
435
506
  throw abortReason(signal);
436
507
  const directCodex = definition.cli === 'codex' && this.config.codex.transport === 'direct-responses';
437
- // Refuse tool work before any subprocess starts: this route cannot emit a
438
- // tool call, and a silent drop would look like a successful empty run.
439
- if (!directCodex && options.tools !== undefined && options.tools.length > 0) {
440
- outcome = 'preflight';
441
- throw toolCallsUnsupported(definition);
442
- }
443
508
  let cwd;
444
509
  try {
445
510
  cwd = this.trustedCwd(options);
@@ -451,11 +516,9 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
451
516
  if (directCodex) {
452
517
  const timeoutSignal = AbortSignal.timeout(this.config.timeoutMs);
453
518
  const directSignal = AbortSignal.any([signal, timeoutSignal]);
454
- phase = 'stream';
455
519
  try {
456
520
  // Revalidate immediately before the first credential/file/network seam.
457
521
  this.trustedCwd(options);
458
- promptSubmissionState = 'unknown';
459
522
  // `maxTokens` is a host-local Agent Loop budget. The private Codex
460
523
  // request has no max_output_tokens field, so do not hand this hint to
461
524
  // the direct runner (which deliberately rejects unsupported controls).
@@ -468,7 +531,11 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
468
531
  };
469
532
  const attachments = this.getAttachments();
470
533
  const chunks = this.runCodexDirect(directOptions, {
471
- request: (body, requestSignal) => this.codexCredentials.requestResponses(body, requestSignal),
534
+ request: (body, requestSignal, routing) => {
535
+ phase = 'stream';
536
+ promptSubmissionState = 'unknown';
537
+ return this.codexCredentials.requestResponses(body, requestSignal, routing);
538
+ },
472
539
  maxRequestBytes: this.config.codex.maxRequestBytes,
473
540
  maxRequestImageBytes: this.config.codex.maxRequestImageBytes,
474
541
  ...(attachments === undefined ? {} : { attachments }),
@@ -540,13 +607,12 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
540
607
  outcome = outcomeFor(error);
541
608
  throw cliFailure(definition, profile.command, error);
542
609
  }
543
- // Dynamic model metadata remains advisory, but discovering it is still local
544
- // process authority. Bind the discovery to the live canonical session cwd and
545
- // recheck after auth so a stale/replaced session cannot reach the catalog process.
610
+ // Revalidate the authority boundary after auth so a stale/replaced session
611
+ // cannot reach the generation process. Catalog discovery belongs exclusively
612
+ // to listModels and never delays a generation request.
546
613
  phase = 'preflight';
547
614
  try {
548
615
  cwd = this.trustedCwd(options);
549
- await this.observeCatalog(definition.cli, cwd, signal);
550
616
  }
551
617
  catch (error) {
552
618
  outcome = outcomeFor(error);
@@ -559,7 +625,7 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
559
625
  maxOutputBytes: this.config.maxOutputBytes,
560
626
  maxStderrBytes: this.config.maxStderrBytes,
561
627
  extraEnvNames: this.config.extraEnvNames,
562
- onDiagnostic: diagnostic => this.onDiagnostic?.(definition.route, diagnostic),
628
+ onDiagnostic: diagnostic => this.onDiagnostic?.(definition.route, redactDiagnostic(diagnostic)),
563
629
  onSettled: context => { transportContext = context; },
564
630
  signal,
565
631
  };
@@ -568,7 +634,9 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
568
634
  // reports it via onSettled; if it never reports (early return mid-stream) we say unknown.
569
635
  phase = 'stream';
570
636
  let text = '';
571
- yield { type: 'block-start', index: 0, blockType: 'text' };
637
+ const bufferForToolDelegation = (options.tools?.length ?? 0) > 0;
638
+ if (!bufferForToolDelegation)
639
+ yield { type: 'block-start', index: 0, blockType: 'text' };
572
640
  try {
573
641
  // Calling an injected runner may itself perform work or throw synchronously, so
574
642
  // stop claiming not-submitted immediately before control crosses that boundary.
@@ -579,16 +647,68 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
579
647
  if (delta.length === 0)
580
648
  continue;
581
649
  text += delta;
582
- assistantTextForwarded = true;
583
- yield { type: 'text-delta', index: 0, text: delta };
650
+ if (!bufferForToolDelegation) {
651
+ assistantTextForwarded = true;
652
+ yield { type: 'text-delta', index: 0, text: delta };
653
+ }
584
654
  }
585
655
  }
586
656
  catch (error) {
587
657
  outcome = outcomeFor(error);
588
658
  throw cliFailure(definition, profile.command, error);
589
659
  }
590
- outcome = 'ok';
660
+ const ensureProjectionActive = () => {
661
+ if (!signal.aborted)
662
+ return;
663
+ outcome = 'aborted';
664
+ throw abortReason(signal);
665
+ };
666
+ // The child may settle successfully in the same turn that the Agent is
667
+ // cancelled. Never parse or project its buffered response after that
668
+ // cancellation has won the race.
669
+ ensureProjectionActive();
670
+ if (bufferForToolDelegation) {
671
+ let calls;
672
+ try {
673
+ calls = parseDelegatedToolCalls(text, options.tools ?? []);
674
+ }
675
+ catch (error) {
676
+ outcome = 'protocol';
677
+ throw cliFailure(definition, profile.command, error);
678
+ }
679
+ ensureProjectionActive();
680
+ if (calls !== undefined) {
681
+ for (const [index, call] of calls.entries()) {
682
+ ensureProjectionActive();
683
+ const id = CallId(`${definition.cli}-${randomUUID()}`);
684
+ yield { type: 'block-start', index, blockType: 'tool-call' };
685
+ ensureProjectionActive();
686
+ yield { type: 'tool-call-delta', index, id, name: call.name, argumentsDelta: call.arguments };
687
+ ensureProjectionActive();
688
+ yield {
689
+ type: 'block-end',
690
+ index,
691
+ block: { type: 'tool-call', id, name: call.name, arguments: call.arguments },
692
+ };
693
+ }
694
+ ensureProjectionActive();
695
+ outcome = 'ok';
696
+ yield { type: 'finish', reason: { kind: 'tool-calls' } };
697
+ return;
698
+ }
699
+ ensureProjectionActive();
700
+ yield { type: 'block-start', index: 0, blockType: 'text' };
701
+ ensureProjectionActive();
702
+ assistantTextForwarded = true;
703
+ yield { type: 'text-delta', index: 0, text };
704
+ }
705
+ else {
706
+ outcome = 'ok';
707
+ }
708
+ ensureProjectionActive();
591
709
  yield { type: 'block-end', index: 0, block: { type: 'text', text } };
710
+ ensureProjectionActive();
711
+ outcome = 'ok';
592
712
  yield { type: 'finish', reason: { kind: 'stop' } };
593
713
  }
594
714
  finally {
@@ -597,11 +717,12 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
597
717
  }
598
718
  /** Abort every active/future subprocess when the owning Cordis fiber unloads. */
599
719
  shutdown() {
600
- this.codexCatalogCache = undefined;
601
- this.subscriptionCatalogCache.clear();
602
720
  if (!this.lifecycle.signal.aborted) {
603
721
  this.lifecycle.abort(new Error('coding subscription provider unloaded', { cause: 'abort' }));
604
722
  }
723
+ this.codexCatalogCache = undefined;
724
+ this.subscriptionCatalogCache.clear();
725
+ this.catalogRefreshes.clear();
605
726
  }
606
727
  }
607
728
  export function enabledRoutes(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { CodexDirectRequestRouting } from './codex-direct-responses.js';
1
2
  export declare const CODEX_RESPONSES_URL = "https://chatgpt.com/backend-api/codex/responses";
2
3
  export declare const CODEX_OAUTH_REFRESH_URL = "https://auth.openai.com/oauth/token";
3
4
  /**
@@ -28,7 +29,7 @@ export declare class CodexDirectAuthError extends Error {
28
29
  export declare class CodexCredentialStore {
29
30
  #private;
30
31
  constructor(options?: CodexCredentialStoreOptions);
31
- requestResponses(body: string, signal: AbortSignal): Promise<Response>;
32
+ requestResponses(body: string, signal: AbortSignal, routing?: CodexDirectRequestRouting): Promise<Response>;
32
33
  }
33
34
  export {};
34
35
  //# sourceMappingURL=codex-direct-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-direct-auth.d.ts","sourceRoot":"","sources":["../src/codex-direct-auth.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB,oDAAoD,CAAA;AACpF,eAAO,MAAM,uBAAuB,wCAAwC,CAAA;AAC5E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,iBAAiB,CAAA;AACnD,eAAO,MAAM,yBAAyB,YAAY,CAAA;AAClD,eAAO,MAAM,qBAAqB,yBAA0D,CAAA;AAY5F,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE3E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B;AAqCD,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,SAAS,GACT,eAAe,GACf,UAAU,GACV,WAAW,CAAA;AAEf,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;gBAGjC,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,sBAA4C,EACnD,MAAM,CAAC,EAAE,MAAM;CAMlB;AAOD;;;GAGG;AACH,qBAAa,oBAAoB;;gBAMnB,OAAO,GAAE,2BAAgC;IAS/C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;CAiO7E"}
1
+ {"version":3,"file":"codex-direct-auth.d.ts","sourceRoot":"","sources":["../src/codex-direct-auth.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAE5E,eAAO,MAAM,mBAAmB,oDAAoD,CAAA;AACpF,eAAO,MAAM,uBAAuB,wCAAwC,CAAA;AAC5E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,iBAAiB,CAAA;AACnD,eAAO,MAAM,yBAAyB,YAAY,CAAA;AAClD,eAAO,MAAM,qBAAqB,yBAA0D,CAAA;AAa5F,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE3E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B;AAqCD,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,SAAS,GACT,eAAe,GACf,UAAU,GACV,WAAW,CAAA;AAEf,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;gBAGjC,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,sBAA4C,EACnD,MAAM,CAAC,EAAE,MAAM;CAMlB;AAOD;;;GAGG;AACH,qBAAa,oBAAoB;;gBAMnB,OAAO,GAAE,2BAAgC;IAS/C,gBAAgB,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,QAAQ,CAAC;CAiOrB"}
@@ -22,6 +22,7 @@ const MAX_TOKEN_BYTES = 64 * 1024;
22
22
  const MAX_ACCOUNT_ID_BYTES = 4 * 1024;
23
23
  const BEARER_PREFIX = 'Bearer ';
24
24
  const MAX_ACCESS_TOKEN_BYTES = MAX_TOKEN_BYTES - Buffer.byteLength(BEARER_PREFIX, 'utf8');
25
+ const MAX_ROUTING_ID_BYTES = 64;
25
26
  const MAX_AUTH_READ_ATTEMPTS = 3;
26
27
  const MAX_PERSIST_ATTEMPTS = 3;
27
28
  export class CodexDirectAuthError extends Error {
@@ -53,12 +54,11 @@ export class CodexCredentialStore {
53
54
  this.#refreshTimeoutMs = requireRefreshTimeout(options.refreshTimeoutMs ?? 10_000);
54
55
  this.#now = options.now ?? (() => new Date());
55
56
  }
56
- async requestResponses(body, signal) {
57
+ async requestResponses(body, signal, routing) {
57
58
  throwIfCallerAborted(signal);
59
+ const requestRouting = resolveRequestRouting(routing);
58
60
  const original = await readCredentialFile(this.#authFile);
59
- const sessionId = randomUUID();
60
- const threadId = randomUUID();
61
- const first = await this.#postResponses(body, original, sessionId, threadId, signal);
61
+ const first = await this.#postResponses(body, original, requestRouting, signal);
62
62
  if (first.status !== 401)
63
63
  return first;
64
64
  discardBody(first);
@@ -71,9 +71,9 @@ export class CodexCredentialStore {
71
71
  ? onDisk
72
72
  : await waitForSignal(this.#refreshOnce(original), signal);
73
73
  assertSameAccount(original, credentials);
74
- return this.#postResponses(body, credentials, sessionId, threadId, signal);
74
+ return this.#postResponses(body, credentials, requestRouting, signal);
75
75
  }
76
- async #postResponses(body, credentials, sessionId, threadId, signal) {
76
+ async #postResponses(body, credentials, routing, signal) {
77
77
  throwIfCallerAborted(signal);
78
78
  const headers = createValidatedHeaders(() => ({
79
79
  ...attributionHeaders(),
@@ -85,9 +85,11 @@ export class CodexCredentialStore {
85
85
  originator: CODEX_WIRE_ORIGINATOR,
86
86
  version: CODEX_WIRE_CLIENT_VERSION,
87
87
  'user-agent': CODEX_WIRE_USER_AGENT,
88
- 'session-id': sessionId,
89
- 'thread-id': threadId,
90
- 'x-client-request-id': threadId,
88
+ 'session-id': routing.sessionId,
89
+ 'thread-id': routing.threadId,
90
+ // Match the current Codex client contract: request correlation follows
91
+ // the thread identity, while cache affinity lives in prompt_cache_key.
92
+ 'x-client-request-id': routing.threadId,
91
93
  }));
92
94
  throwIfCallerAborted(signal);
93
95
  try {
@@ -330,10 +332,18 @@ async function assertTrustedParent(path) {
330
332
  const before = await lstat(parent, { bigint: true });
331
333
  assertSecureParent(before);
332
334
  const canonical = await realpath(parent);
335
+ const canonicalStat = await lstat(canonical, { bigint: true });
336
+ assertSecureParent(canonicalStat);
333
337
  const after = await lstat(parent, { bigint: true });
334
338
  assertSecureParent(after);
335
- if (canonical !== resolve(parent) || before.dev !== after.dev || before.ino !== after.ino) {
336
- throw new CodexDirectAuthError('Codex authentication parent must not contain symbolic links');
339
+ // An administrator-owned home-directory alias (for example /home/user ->
340
+ // /data/home/user) is common on managed hosts. The immediate auth parent
341
+ // must still be a real, current-user-owned, non-writable directory; pinning
342
+ // its canonical inode before and after inspection prevents the alias from
343
+ // redirecting this operation to a different directory.
344
+ if (before.dev !== canonicalStat.dev || before.ino !== canonicalStat.ino
345
+ || before.dev !== after.dev || before.ino !== after.ino) {
346
+ throw new CodexDirectAuthError('Codex authentication parent changed while it was inspected');
337
347
  }
338
348
  }
339
349
  catch (error) {
@@ -479,6 +489,18 @@ function createValidatedHeaders(factory) {
479
489
  throw new CodexDirectAuthError('Could not construct safe Codex request headers', 'protocol');
480
490
  }
481
491
  }
492
+ function resolveRequestRouting(routing) {
493
+ if (routing === undefined) {
494
+ const sessionId = randomUUID();
495
+ const threadId = randomUUID();
496
+ return Object.freeze({ sessionId, threadId, promptCacheKey: threadId });
497
+ }
498
+ return Object.freeze({
499
+ sessionId: requireHeaderValue(routing.sessionId, 'request session identifier', MAX_ROUTING_ID_BYTES, 'protocol'),
500
+ threadId: requireHeaderValue(routing.threadId, 'request thread identifier', MAX_ROUTING_ID_BYTES, 'protocol'),
501
+ promptCacheKey: requireHeaderValue(routing.promptCacheKey, 'prompt cache identifier', MAX_ROUTING_ID_BYTES, 'protocol'),
502
+ });
503
+ }
482
504
  function credentialsChanged(left, right) {
483
505
  return left.accessToken !== right.accessToken
484
506
  || left.refreshToken !== right.refreshToken