@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/README.md +60 -214
- package/cordis.patch.yml +5 -0
- package/lib/adapter.d.ts +18 -5
- package/lib/adapter.d.ts.map +1 -1
- package/lib/adapter.js +170 -49
- package/lib/adapter.js.map +1 -1
- package/lib/codex-direct-auth.d.ts +2 -1
- package/lib/codex-direct-auth.d.ts.map +1 -1
- package/lib/codex-direct-auth.js +33 -11
- package/lib/codex-direct-auth.js.map +1 -1
- package/lib/codex-direct-responses.d.ts +8 -1
- package/lib/codex-direct-responses.d.ts.map +1 -1
- package/lib/codex-direct-responses.js +191 -14
- package/lib/codex-direct-responses.js.map +1 -1
- package/lib/config.d.ts +3 -1
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +9 -3
- package/lib/config.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -3
- package/lib/index.js.map +1 -1
- package/lib/process.d.ts +14 -3
- package/lib/process.d.ts.map +1 -1
- package/lib/process.js +458 -61
- package/lib/process.js.map +1 -1
- package/lib/prompt.d.ts +12 -1
- package/lib/prompt.d.ts.map +1 -1
- package/lib/prompt.js +221 -5
- package/lib/prompt.js.map +1 -1
- package/lib/providers.d.ts +15 -2
- package/lib/providers.d.ts.map +1 -1
- package/lib/providers.js +134 -16
- package/lib/providers.js.map +1 -1
- package/lib/session-cwd.d.ts +4 -2
- package/lib/session-cwd.d.ts.map +1 -1
- package/lib/session-cwd.js +22 -4
- package/lib/session-cwd.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +16 -2
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: '
|
|
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
|
-
/**
|
|
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({
|
|
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 >
|
|
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 >
|
|
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
|
|
269
|
-
*
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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) =>
|
|
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
|
-
//
|
|
544
|
-
//
|
|
545
|
-
//
|
|
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
|
-
|
|
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
|
-
|
|
583
|
-
|
|
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
|
-
|
|
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) {
|
package/lib/adapter.js.map
CHANGED
|
@@ -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":"
|
|
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"}
|
package/lib/codex-direct-auth.js
CHANGED
|
@@ -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
|
|
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,
|
|
74
|
+
return this.#postResponses(body, credentials, requestRouting, signal);
|
|
75
75
|
}
|
|
76
|
-
async #postResponses(body, credentials,
|
|
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
|
-
|
|
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
|
-
|
|
336
|
-
|
|
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
|