@dsh-enhanced/coding-subscription-provider 0.1.1 → 0.1.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.
package/lib/adapter.js CHANGED
@@ -1,11 +1,14 @@
1
1
  import { resolve } from 'node:path';
2
- import { LlmAdapter, LlmError, ReasoningEffortId, } from '@deepseek-ai/dsh-llm';
2
+ import { CONTEXT_WINDOW_EXCEEDED_CODE, EMPTY_RESPONSE_CODE, LlmAdapter, LlmError, QUOTA_EXCEEDED_CODE, ReasoningEffortId, } from '@deepseek-ai/dsh-llm';
3
3
  import { verifySubscriptionAuth } from './auth.js';
4
4
  import { discoverCodexModels, } from './codex-catalog.js';
5
- import { configForProvider } from './config.js';
5
+ import { CodexCredentialStore } from './codex-direct-auth.js';
6
+ import { runCodexDirectResponses, } from './codex-direct-responses.js';
7
+ import { configForProvider, } from './config.js';
6
8
  import { buildPrompt } from './prompt.js';
7
9
  import { runCliText } from './process.js';
8
10
  import { buildInvocation } from './providers.js';
11
+ import { resolveTrustedSessionCwd, TrustedSessionCwdError } from './session-cwd.js';
9
12
  import { discoverClaudeModels, discoverCursorModels, discoverGrokModels, } from './subscription-catalog.js';
10
13
  export const routeDefinitions = [
11
14
  { route: 'codex-subscription', cli: 'codex', name: 'Codex Subscription (local CLI)', maturity: 'stable' },
@@ -34,9 +37,15 @@ function abortReason(signal) {
34
37
  function cliFailure(definition, command, error) {
35
38
  if (error instanceof Error && error.cause === 'abort')
36
39
  return error;
40
+ if (error instanceof TrustedSessionCwdError) {
41
+ return new LlmError(`${definition.name} requires a live loop-owned session whose canonical cwd matches the configured local workspace`, 'LOCAL_SESSION_CWD_REQUIRED', { cause: error });
42
+ }
37
43
  if (error instanceof Error && error.cause === 'subscription-auth') {
38
44
  return new LlmError(`${definition.name} refused the request because a subscription-compatible login could not be verified`, 'SUBSCRIPTION_AUTH_REQUIRED', { cause: error });
39
45
  }
46
+ if (error instanceof Error && error.cause === 'working-directory') {
47
+ return new LlmError(`${definition.name} refused the configured working directory; set config.cwd to a Git repository (relative paths resolve from the DSH process directory) and restart DSH`, 'CLI_WORKING_DIRECTORY', { cause: error });
48
+ }
40
49
  if (error instanceof Error && error.cause === 'protocol') {
41
50
  return new LlmError(`${definition.name} returned an unrecognized or incomplete event stream`, 'CLI_PROTOCOL_ERROR', { cause: error });
42
51
  }
@@ -49,8 +58,86 @@ function cliFailure(definition, command, error) {
49
58
  }
50
59
  return new LlmError(`${definition.name} failed; verify that the official CLI is installed and logged in with the intended subscription`, 'CLI_FAILED', { cause: error });
51
60
  }
61
+ export const CODEX_DIRECT_PROVIDER_HTTP_CODE = 'CODEX_DIRECT_PROVIDER_HTTP';
62
+ export const CODEX_DIRECT_PROVIDER_FAILURE_CODE = 'CODEX_DIRECT_PROVIDER_FAILURE';
63
+ export const CODEX_DIRECT_CONTENT_FILTER_CODE = 'CODEX_DIRECT_CONTENT_FILTER';
64
+ export const CODEX_DIRECT_TRANSPORT_ERROR_CODE = 'CODEX_DIRECT_TRANSPORT_ERROR';
65
+ function directFailure(definition, error) {
66
+ if (error instanceof LlmError)
67
+ return error;
68
+ if (error instanceof Error && error.cause === 'abort')
69
+ return error;
70
+ if (error instanceof TrustedSessionCwdError) {
71
+ return new LlmError(`${definition.name} requires a live loop-owned session whose canonical cwd matches the configured local workspace`, 'LOCAL_SESSION_CWD_REQUIRED', { cause: error });
72
+ }
73
+ const cause = error instanceof Error ? error.cause : undefined;
74
+ const status = validHttpStatus(error);
75
+ if (cause === 'subscription-auth') {
76
+ return new LlmError('Codex private Responses could not use the local ChatGPT session', 'SUBSCRIPTION_AUTH_REQUIRED', status === undefined ? undefined : { status });
77
+ }
78
+ if (cause === 'timeout') {
79
+ return new LlmError('Codex private Responses request timed out', 'CLI_TIMEOUT');
80
+ }
81
+ if (cause === 'protocol') {
82
+ return new LlmError('Codex private Responses returned an unrecognized or incomplete stream', 'CLI_PROTOCOL_ERROR');
83
+ }
84
+ if (cause === 'provider-http') {
85
+ return new LlmError('Codex private Responses provider request failed', CODEX_DIRECT_PROVIDER_HTTP_CODE, status === undefined ? undefined : { status });
86
+ }
87
+ if (cause === 'context-window') {
88
+ return new LlmError('Codex private Responses exceeded the model context window', CONTEXT_WINDOW_EXCEEDED_CODE);
89
+ }
90
+ if (cause === 'quota') {
91
+ return new LlmError('Codex private Responses account quota was exhausted', QUOTA_EXCEEDED_CODE);
92
+ }
93
+ if (cause === 'provider-failure') {
94
+ return new LlmError('Codex private Responses reported a provider failure', CODEX_DIRECT_PROVIDER_FAILURE_CODE);
95
+ }
96
+ if (cause === 'content-filter') {
97
+ return new LlmError('Codex private Responses output was filtered', CODEX_DIRECT_CONTENT_FILTER_CODE);
98
+ }
99
+ if (cause === 'empty-response') {
100
+ return new LlmError('Codex private Responses returned no visible output', EMPTY_RESPONSE_CODE);
101
+ }
102
+ if (cause === 'transport') {
103
+ return new LlmError('Codex private Responses transport failed', CODEX_DIRECT_TRANSPORT_ERROR_CODE);
104
+ }
105
+ return new LlmError('Codex private Responses request failed', 'CODEX_DIRECT_RESPONSES_FAILED', { cause: error });
106
+ }
107
+ function validHttpStatus(error) {
108
+ if (typeof error !== 'object' || error === null)
109
+ return undefined;
110
+ const status = error.status;
111
+ return typeof status === 'number' && Number.isInteger(status) && status >= 100 && status <= 599
112
+ ? status
113
+ : undefined;
114
+ }
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. */
131
+ function preflightFailure(error) {
132
+ if (error instanceof Error && error.cause === 'prompt-limit') {
133
+ return new LlmError(error.message, CONTEXT_WINDOW_EXCEEDED_CODE, { cause: error });
134
+ }
135
+ return error instanceof Error ? error : new Error('coding subscription provider could not serialize the DSH request');
136
+ }
52
137
  /** Classify the original transport error into a stable, credential-free outcome for diagnostics. */
53
138
  function outcomeFor(error) {
139
+ if (error instanceof TrustedSessionCwdError)
140
+ return 'working-directory';
54
141
  const cause = error instanceof Error ? error.cause : undefined;
55
142
  if (cause === 'abort')
56
143
  return 'aborted';
@@ -58,6 +145,8 @@ function outcomeFor(error) {
58
145
  return 'timeout';
59
146
  if (cause === 'subscription-auth')
60
147
  return 'auth-required';
148
+ if (cause === 'working-directory')
149
+ return 'working-directory';
61
150
  if (cause === 'protocol')
62
151
  return 'protocol';
63
152
  if (cause === 'process-exit')
@@ -89,6 +178,17 @@ function reasoningInfo(model) {
89
178
  },
90
179
  };
91
180
  }
181
+ function directReasoningInfo(profile) {
182
+ return {
183
+ reasoning: {
184
+ efforts: profile.directReasoningEfforts.map(effort => ({
185
+ id: ReasoningEffortId(effort),
186
+ name: effort,
187
+ })),
188
+ defaultEffort: ReasoningEffortId(profile.directDefaultReasoningEffort),
189
+ },
190
+ };
191
+ }
92
192
  /** Experimental LLM-compatible facade over local, already-authenticated coding agents. */
93
193
  export class CodingSubscriptionAdapter extends LlmAdapter {
94
194
  config;
@@ -98,9 +198,13 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
98
198
  discoverClaudeModels;
99
199
  discoverCursorModels;
100
200
  discoverGrokModels;
201
+ runCodexDirect;
202
+ codexCredentials;
203
+ getAttachments;
101
204
  verifyAuth;
102
205
  onDiagnostic;
103
206
  onSettled;
207
+ liveSessions;
104
208
  lifecycle = new AbortController();
105
209
  codexCatalogCache;
106
210
  subscriptionCatalogCache = new Map();
@@ -113,9 +217,16 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
113
217
  this.discoverClaudeModels = dependencies.discoverClaudeModels ?? discoverClaudeModels;
114
218
  this.discoverCursorModels = dependencies.discoverCursorModels ?? discoverCursorModels;
115
219
  this.discoverGrokModels = dependencies.discoverGrokModels ?? discoverGrokModels;
220
+ this.runCodexDirect = dependencies.runCodexDirect ?? runCodexDirectResponses;
221
+ this.codexCredentials = dependencies.codexCredentials ?? new CodexCredentialStore();
222
+ this.getAttachments = dependencies.getAttachments ?? (() => dependencies.attachments);
116
223
  this.verifyAuth = dependencies.verifyAuth ?? verifySubscriptionAuth;
117
224
  this.onDiagnostic = dependencies.onDiagnostic;
118
225
  this.onSettled = dependencies.onSettled;
226
+ this.liveSessions = dependencies.liveSessions;
227
+ }
228
+ trustedCwd(request) {
229
+ return resolveTrustedSessionCwd({ request, configuredCwd: this.cwd, sessions: this.liveSessions });
119
230
  }
120
231
  reportSettled(context) {
121
232
  if (this.onSettled === undefined)
@@ -129,29 +240,45 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
129
240
  }
130
241
  providerInfo(provider) {
131
242
  const definition = definitionFor(provider);
132
- return { id: provider, name: definition.name };
243
+ return {
244
+ id: provider,
245
+ name: definition.cli === 'codex' && this.config.codex.transport === 'direct-responses'
246
+ ? 'Codex Subscription (private Responses, experimental)'
247
+ : definition.name,
248
+ };
133
249
  }
134
250
  providerRetryPolicy(_provider) {
135
251
  return noAutomaticRetry;
136
252
  }
137
- async loadCodexCatalog(signal = this.lifecycle.signal) {
138
- if (signal.aborted)
139
- throw abortReason(signal);
253
+ peekCodexCatalog() {
140
254
  const cached = this.codexCatalogCache;
141
255
  if (cached !== undefined && cached.expiresAt > Date.now())
142
256
  return cached.catalog;
257
+ this.codexCatalogCache = undefined;
258
+ return undefined;
259
+ }
260
+ peekSubscriptionCatalog(provider) {
261
+ const cached = this.subscriptionCatalogCache.get(provider);
262
+ if (cached !== undefined && cached.expiresAt > Date.now())
263
+ return cached.catalog;
264
+ this.subscriptionCatalogCache.delete(provider);
265
+ return undefined;
266
+ }
267
+ /**
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.
271
+ */
272
+ async observeCodexCatalog(cwd, signal) {
273
+ if (signal.aborted)
274
+ throw abortReason(signal);
275
+ const cached = this.peekCodexCatalog();
276
+ if (cached !== undefined)
277
+ return cached;
143
278
  const definition = definitionFor('codex-subscription');
144
279
  const profile = this.config.codex;
145
280
  try {
146
- await this.verifyAuth('codex', {
147
- command: profile.command,
148
- cwd: this.cwd,
149
- timeoutMs: this.config.authProbeTimeoutMs,
150
- maxOutputBytes: this.config.maxAuthProbeBytes,
151
- extraEnvNames: this.config.extraEnvNames,
152
- signal,
153
- });
154
- const catalog = await this.discoverCodexModels({ command: profile.command, cwd: this.cwd }, {
281
+ const catalog = await this.discoverCodexModels({ command: profile.command, cwd }, {
155
282
  signal,
156
283
  timeoutMs: this.config.authProbeTimeoutMs,
157
284
  killGraceMs: this.config.killGraceMs,
@@ -166,16 +293,15 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
166
293
  }
167
294
  catch (error) {
168
295
  this.codexCatalogCache = undefined;
169
- throw cliFailure(definition, profile.command, error);
296
+ throw error;
170
297
  }
171
298
  }
172
- async loadSubscriptionCatalog(provider, signal = this.lifecycle.signal) {
299
+ async observeSubscriptionCatalog(provider, cwd, signal) {
173
300
  if (signal.aborted)
174
301
  throw abortReason(signal);
175
- const cached = this.subscriptionCatalogCache.get(provider);
176
- if (cached !== undefined && cached.expiresAt > Date.now())
177
- return cached.catalog;
178
- const definition = routeDefinitions.find(candidate => candidate.cli === provider);
302
+ const cached = this.peekSubscriptionCatalog(provider);
303
+ if (cached !== undefined)
304
+ return cached;
179
305
  const profile = configForProvider(this.config, provider);
180
306
  const discoverer = provider === 'claude'
181
307
  ? this.discoverClaudeModels
@@ -183,18 +309,7 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
183
309
  ? this.discoverCursorModels
184
310
  : this.discoverGrokModels;
185
311
  try {
186
- await this.verifyAuth(provider, {
187
- command: profile.command,
188
- cwd: this.cwd,
189
- timeoutMs: this.config.authProbeTimeoutMs,
190
- maxOutputBytes: this.config.maxAuthProbeBytes,
191
- extraEnvNames: this.config.extraEnvNames,
192
- signal,
193
- ...(provider === 'grok'
194
- ? { userVerifiedSubscription: this.config.grok.userVerifiedSubscription }
195
- : {}),
196
- });
197
- const catalog = await discoverer({ command: profile.command, cwd: this.cwd }, {
312
+ const catalog = await discoverer({ command: profile.command, cwd }, {
198
313
  signal,
199
314
  timeoutMs: this.config.authProbeTimeoutMs,
200
315
  maxOutputBytes: this.config.maxAuthProbeBytes,
@@ -205,29 +320,46 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
205
320
  }
206
321
  catch (error) {
207
322
  this.subscriptionCatalogCache.delete(provider);
208
- throw cliFailure(definition, profile.command, error);
323
+ throw error;
209
324
  }
210
325
  }
326
+ observedCatalog(provider) {
327
+ return provider === 'codex'
328
+ ? this.peekCodexCatalog()
329
+ : this.peekSubscriptionCatalog(provider);
330
+ }
331
+ observeCatalog(provider, cwd, signal) {
332
+ return provider === 'codex'
333
+ ? this.observeCodexCatalog(cwd, signal)
334
+ : this.observeSubscriptionCatalog(provider, cwd, signal);
335
+ }
211
336
  async listModels(provider) {
212
337
  const definition = definitionFor(provider);
213
338
  const profile = configForProvider(this.config, definition.cli);
214
- const catalog = definition.cli === 'codex'
215
- ? await this.loadCodexCatalog()
216
- : await this.loadSubscriptionCatalog(definition.cli);
217
- const defaultModel = catalog.models.find(model => model.id === catalog.defaultModel);
339
+ const directCodex = definition.cli === 'codex' && this.config.codex.transport === 'direct-responses';
340
+ const catalog = directCodex ? undefined : this.observedCatalog(definition.cli);
341
+ const attachments = directCodex ? this.getAttachments() : undefined;
342
+ const inputModalities = directCodex && attachments !== undefined
343
+ ? ['text', 'image']
344
+ : ['text'];
345
+ const defaultModel = catalog?.models.find(model => model.id === catalog.defaultModel);
218
346
  const entries = new Map();
219
347
  for (const model of profile.models) {
220
348
  entries.set(model, {
221
349
  provider,
222
350
  id: model,
223
- name: model === 'default'
224
- ? `${definition.name} default${defaultModel === undefined ? '' : ` (${defaultModel.name})`}`
225
- : model,
226
- description: `${definition.maturity} local coding-agent delegation; authentication and billing remain in the official CLI`,
227
- inputModalities: ['text'],
351
+ name: directCodex && model === 'default'
352
+ ? `Codex Subscription (private Responses) default (${this.config.codex.directModel})`
353
+ : model === 'default'
354
+ ? `${definition.name} default${defaultModel === undefined ? '' : ` (${defaultModel.name})`}`
355
+ : model,
356
+ description: directCodex
357
+ ? 'experimental direct private Codex Responses transport using the local ChatGPT session'
358
+ : `${definition.maturity} local coding-agent delegation; authentication and billing remain in the official CLI`,
359
+ inputModalities,
228
360
  });
229
361
  }
230
- for (const model of catalog.models) {
362
+ for (const model of catalog?.models ?? []) {
231
363
  entries.set(model.id, {
232
364
  provider,
233
365
  id: model.id,
@@ -245,21 +377,25 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
245
377
  if (effectiveSignal.aborted)
246
378
  throw abortReason(effectiveSignal);
247
379
  const definition = definitionFor(provider);
248
- const catalog = definition.cli === 'codex'
249
- ? await this.loadCodexCatalog(effectiveSignal)
250
- : await this.loadSubscriptionCatalog(definition.cli, effectiveSignal);
380
+ const directCodex = definition.cli === 'codex' && this.config.codex.transport === 'direct-responses';
381
+ const catalog = directCodex ? undefined : this.observedCatalog(definition.cli);
251
382
  const catalogModel = model === 'default'
252
- ? catalog.models.find(candidate => candidate.id === catalog.defaultModel)
253
- : catalog.models.find(candidate => candidate.id === model);
383
+ ? catalog?.models.find(candidate => candidate.id === catalog.defaultModel)
384
+ : catalog?.models.find(candidate => candidate.id === model);
385
+ const attachments = directCodex ? this.getAttachments() : undefined;
254
386
  return {
255
387
  provider,
256
388
  id: model,
257
- name: model === 'default'
258
- ? `${definition.name} default${catalogModel === undefined ? '' : ` (${catalogModel.name})`}`
259
- : (catalogModel?.name ?? model),
260
- description: catalogModel?.description ?? `${definition.maturity} local coding-agent delegation`,
261
- inputModalities: ['text'],
262
- ...reasoningInfo(catalogModel),
389
+ name: directCodex && model === 'default'
390
+ ? `Codex Subscription (private Responses) default (${this.config.codex.directModel})`
391
+ : model === 'default'
392
+ ? `${definition.name} default${catalogModel === undefined ? '' : ` (${catalogModel.name})`}`
393
+ : (catalogModel?.name ?? model),
394
+ description: catalogModel?.description ?? (directCodex
395
+ ? 'experimental direct private Codex Responses transport using the local ChatGPT session'
396
+ : `${definition.maturity} local coding-agent delegation`),
397
+ inputModalities: directCodex && attachments !== undefined ? ['text', 'image'] : ['text'],
398
+ ...(directCodex ? directReasoningInfo(this.config.codex) : reasoningInfo(catalogModel)),
263
399
  };
264
400
  }
265
401
  async *stream(options) {
@@ -272,7 +408,7 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
272
408
  let transportContext;
273
409
  // Track the best-known lifecycle facts so a single settled report fires on ANY exit,
274
410
  // including a consumer that returns early after block-start or a text delta.
275
- let phase = 'auth';
411
+ let phase = 'preflight';
276
412
  let promptSubmissionState = 'not-submitted';
277
413
  let outcome = 'aborted';
278
414
  let reported = false;
@@ -295,10 +431,97 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
295
431
  });
296
432
  };
297
433
  try {
434
+ if (signal.aborted)
435
+ throw abortReason(signal);
436
+ 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
+ let cwd;
444
+ try {
445
+ cwd = this.trustedCwd(options);
446
+ }
447
+ catch (error) {
448
+ outcome = outcomeFor(error);
449
+ throw cliFailure(definition, profile.command, error);
450
+ }
451
+ if (directCodex) {
452
+ const timeoutSignal = AbortSignal.timeout(this.config.timeoutMs);
453
+ const directSignal = AbortSignal.any([signal, timeoutSignal]);
454
+ phase = 'stream';
455
+ try {
456
+ // Revalidate immediately before the first credential/file/network seam.
457
+ this.trustedCwd(options);
458
+ promptSubmissionState = 'unknown';
459
+ // `maxTokens` is a host-local Agent Loop budget. The private Codex
460
+ // request has no max_output_tokens field, so do not hand this hint to
461
+ // the direct runner (which deliberately rejects unsupported controls).
462
+ const { maxTokens: hostMaxTokens, ...directInput } = options;
463
+ void hostMaxTokens;
464
+ const directOptions = {
465
+ ...directInput,
466
+ model: options.model === 'default' ? this.config.codex.directModel : options.model,
467
+ signal: directSignal,
468
+ };
469
+ const attachments = this.getAttachments();
470
+ const chunks = this.runCodexDirect(directOptions, {
471
+ request: (body, requestSignal) => this.codexCredentials.requestResponses(body, requestSignal),
472
+ maxRequestBytes: this.config.codex.maxRequestBytes,
473
+ maxRequestImageBytes: this.config.codex.maxRequestImageBytes,
474
+ ...(attachments === undefined ? {} : { attachments }),
475
+ });
476
+ for await (const chunk of chunks) {
477
+ if (chunk.type === 'text-delta' && chunk.text.length > 0)
478
+ assistantTextForwarded = true;
479
+ yield chunk;
480
+ }
481
+ outcome = 'ok';
482
+ return;
483
+ }
484
+ catch (error) {
485
+ if (signal.aborted) {
486
+ outcome = 'aborted';
487
+ throw abortReason(signal);
488
+ }
489
+ if (error instanceof Error && error.cause === 'prompt-limit') {
490
+ phase = 'preflight';
491
+ promptSubmissionState = 'not-submitted';
492
+ outcome = 'preflight';
493
+ throw preflightFailure(error);
494
+ }
495
+ const failure = timeoutSignal.aborted && !signal.aborted
496
+ ? new Error('Codex direct Responses request timed out', { cause: 'timeout' })
497
+ : error;
498
+ outcome = outcomeFor(failure);
499
+ throw directFailure(definition, failure);
500
+ }
501
+ }
502
+ // Build and bound the argv locally before any auth probe or generation subprocess starts.
503
+ let invocation;
504
+ try {
505
+ invocation = buildInvocation(definition.cli, {
506
+ cwd,
507
+ prompt: buildPrompt(options, this.config.maxPromptBytes),
508
+ model: options.model,
509
+ ...(definition.cli !== 'cursor' && options.reasoningEffort !== undefined
510
+ ? { reasoningEffort: String(options.reasoningEffort) }
511
+ : {}),
512
+ maxTurns: profile.maxTurns,
513
+ command: profile.command,
514
+ });
515
+ }
516
+ catch (error) {
517
+ outcome = 'preflight';
518
+ throw preflightFailure(error);
519
+ }
520
+ phase = 'auth';
298
521
  try {
299
522
  await this.verifyAuth(definition.cli, {
300
523
  command: profile.command,
301
- cwd: this.cwd,
524
+ cwd,
302
525
  timeoutMs: this.config.authProbeTimeoutMs,
303
526
  maxOutputBytes: this.config.maxAuthProbeBytes,
304
527
  extraEnvNames: this.config.extraEnvNames,
@@ -317,24 +540,17 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
317
540
  outcome = outcomeFor(error);
318
541
  throw cliFailure(definition, profile.command, error);
319
542
  }
320
- // Preflight prompt serialization runs before spawn; a failure here is provably not-submitted.
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.
321
546
  phase = 'preflight';
322
- let invocation;
323
547
  try {
324
- invocation = buildInvocation(definition.cli, {
325
- cwd: this.cwd,
326
- prompt: buildPrompt(options, this.config.maxPromptBytes),
327
- model: options.model,
328
- ...(definition.cli !== 'cursor' && options.reasoningEffort !== undefined
329
- ? { reasoningEffort: String(options.reasoningEffort) }
330
- : {}),
331
- maxTurns: profile.maxTurns,
332
- command: profile.command,
333
- });
548
+ cwd = this.trustedCwd(options);
549
+ await this.observeCatalog(definition.cli, cwd, signal);
334
550
  }
335
551
  catch (error) {
336
- outcome = 'preflight';
337
- throw error;
552
+ outcome = outcomeFor(error);
553
+ throw cliFailure(definition, profile.command, error);
338
554
  }
339
555
  const runnerOptions = {
340
556
  timeoutMs: this.config.timeoutMs,
@@ -357,6 +573,7 @@ export class CodingSubscriptionAdapter extends LlmAdapter {
357
573
  // Calling an injected runner may itself perform work or throw synchronously, so
358
574
  // stop claiming not-submitted immediately before control crosses that boundary.
359
575
  promptSubmissionState = 'unknown';
576
+ invocation = { ...invocation, cwd: this.trustedCwd(options) };
360
577
  const deltas = this.runText(invocation, runnerOptions);
361
578
  for await (const delta of deltas) {
362
579
  if (delta.length === 0)
@@ -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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,GAOlB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAiC,MAAM,WAAW,CAAA;AACjF,OAAO,EACL,mBAAmB,GAKpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EACL,uBAAuB,GAExB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,iBAAiB,GAGlB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAmF,MAAM,cAAc,CAAA;AAC1H,OAAO,EAAE,eAAe,EAAuC,MAAM,gBAAgB,CAAA;AACrF,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAA0B,MAAM,kBAAkB,CAAA;AAC3G,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,GAKnB,MAAM,2BAA2B,CAAA;AAelC,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACzG,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,yCAAyC,EAAE,QAAQ,EAAE,cAAc,EAAE;IAC1H,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,uCAAuC,EAAE,QAAQ,EAAE,MAAM,EAAE;IAChH,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAE,QAAQ,EAAE,MAAM,EAAE;CAC5G,CAAA;AA8DD,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAA;AAGjC,MAAM,gBAAgB,GAAwB,MAAM,CAAC,MAAM,CAAC;IAC1D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACjC,cAAc,EAAE,GAAG;IACnB,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,GAAG;CACjB,CAAC,CAAA;AAEF,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;IAChF,IAAI,UAAU,KAAK,SAAS;QAAE,MAAM,IAAI,QAAQ,CAAC,yCAAyC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAA;IACtH,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,MAAmB;IACtC,OAAO,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;AAC/F,CAAC;AAED,SAAS,UAAU,CAAC,UAA2B,EAAE,OAAe,EAAE,KAAc;IAC9E,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAA;IACnE,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;QAC5C,OAAO,IAAI,QAAQ,CACjB,GAAG,UAAU,CAAC,IAAI,gGAAgG,EAClH,4BAA4B,EAC5B,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;IACH,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;QAClE,OAAO,IAAI,QAAQ,CACjB,GAAG,UAAU,CAAC,IAAI,oFAAoF,EACtG,4BAA4B,EAC5B,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;IACH,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;QAClE,OAAO,IAAI,QAAQ,CACjB,GAAG,UAAU,CAAC,IAAI,uJAAuJ,EACzK,uBAAuB,EACvB,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;IACH,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACzD,OAAO,IAAI,QAAQ,CAAC,GAAG,UAAU,CAAC,IAAI,sDAAsD,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IACvI,CAAC;IACD,MAAM,IAAI,GAAI,KAA2C,EAAE,IAAI,CAAA;IAC/D,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,QAAQ,CAAC,GAAG,UAAU,CAAC,IAAI,8BAA8B,OAAO,EAAE,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IACnH,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,IAAI,QAAQ,CAAC,GAAG,UAAU,CAAC,IAAI,YAAY,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,IAAI,QAAQ,CACjB,GAAG,UAAU,CAAC,IAAI,iGAAiG,EACnH,YAAY,EACZ,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,4BAA4B,CAAA;AAC3E,MAAM,CAAC,MAAM,kCAAkC,GAAG,+BAA+B,CAAA;AACjF,MAAM,CAAC,MAAM,gCAAgC,GAAG,6BAA6B,CAAA;AAC7E,MAAM,CAAC,MAAM,iCAAiC,GAAG,8BAA8B,CAAA;AAE/E,SAAS,aAAa,CAAC,UAA2B,EAAE,KAAc;IAChE,IAAI,KAAK,YAAY,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAA;IACnE,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;QAC5C,OAAO,IAAI,QAAQ,CACjB,GAAG,UAAU,CAAC,IAAI,gGAAgG,EAClH,4BAA4B,EAC5B,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;IACH,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,KAAK,KAAK,mBAAmB,EAAE,CAAC;QAClC,OAAO,IAAI,QAAQ,CACjB,iEAAiE,EACjE,4BAA4B,EAC5B,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAC9C,CAAA;IACH,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,QAAQ,CAAC,2CAA2C,EAAE,aAAa,CAAC,CAAA;IACjF,CAAC;IACD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO,IAAI,QAAQ,CACjB,uEAAuE,EACvE,oBAAoB,CACrB,CAAA;IACH,CAAC;IACD,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;QAC9B,OAAO,IAAI,QAAQ,CACjB,iDAAiD,EACjD,+BAA+B,EAC/B,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAC9C,CAAA;IACH,CAAC;IACD,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAC/B,OAAO,IAAI,QAAQ,CACjB,2DAA2D,EAC3D,4BAA4B,CAC7B,CAAA;IACH,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,IAAI,QAAQ,CAAC,qDAAqD,EAAE,mBAAmB,CAAC,CAAA;IACjG,CAAC;IACD,IAAI,KAAK,KAAK,kBAAkB,EAAE,CAAC;QACjC,OAAO,IAAI,QAAQ,CACjB,qDAAqD,EACrD,kCAAkC,CACnC,CAAA;IACH,CAAC;IACD,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAC/B,OAAO,IAAI,QAAQ,CAAC,6CAA6C,EAAE,gCAAgC,CAAC,CAAA;IACtG,CAAC;IACD,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAC/B,OAAO,IAAI,QAAQ,CAAC,oDAAoD,EAAE,mBAAmB,CAAC,CAAA;IAChG,CAAC;IACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1B,OAAO,IAAI,QAAQ,CAAC,0CAA0C,EAAE,iCAAiC,CAAC,CAAA;IACpG,CAAC;IACD,OAAO,IAAI,QAAQ,CACjB,wCAAwC,EACxC,+BAA+B,EAC/B,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IACjE,MAAM,MAAM,GAAI,KAAuC,CAAC,MAAM,CAAA;IAC9D,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG;QAC7F,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,SAAS,CAAA;AACf,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAwB,CAAA;AAEnE;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAAC,UAA2B;IACvD,OAAO,IAAI,QAAQ,CACjB,GAAG,UAAU,CAAC,IAAI,uDAAuD;UACvE,sFAAsF;UACtF,mDAAmD,EACrD,2BAA2B,CAC5B,CAAA;AACH,CAAC;AAED,oGAAoG;AACpG,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7D,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IACpF,CAAC;IACD,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;AACvH,CAAC;AAED,oGAAoG;AACpG,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,KAAK,YAAY,sBAAsB;QAAE,OAAO,mBAAmB,CAAA;IACvE,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,SAAS,CAAA;IACvC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,IAAI,KAAK,KAAK,mBAAmB;QAAE,OAAO,eAAe,CAAA;IACzD,IAAI,KAAK,KAAK,mBAAmB;QAAE,OAAO,mBAAmB,CAAA;IAC7D,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,UAAU,CAAA;IAC3C,IAAI,KAAK,KAAK,cAAc;QAAE,OAAO,SAAS,CAAA;IAC9C,IAAI,KAAK,KAAK,cAAc;QAAE,OAAO,cAAc,CAAA;IACnD,IAAI,KAAK,KAAK,YAAY;QAAE,OAAO,YAAY,CAAA;IAC/C,IAAK,KAA2C,EAAE,IAAI,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAA;IACvF,iGAAiG;IACjG,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IAC9F,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,aAAa,CACpB,KAA+D;IAE/D,IAAI,KAAK,EAAE,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAC7C,OAAO;QACL,SAAS,EAAE;YACT,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC9C,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;aACjF,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;SACzE;KACF,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAA4B;IAE5B,OAAO;QACL,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACrD,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC;gBAC7B,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC,4BAA4B,CAAC;SACvE;KACF,CAAA;AACH,CAAC;AAED,0FAA0F;AAC1F,MAAM,OAAO,yBAA0B,SAAQ,UAAU;IAsBpC;IArBF,GAAG,CAAQ;IACX,OAAO,CAAe;IACtB,mBAAmB,CAAwB;IAC3C,oBAAoB,CAA+B;IACnD,oBAAoB,CAA+B;IACnD,kBAAkB,CAA+B;IACjD,cAAc,CAAmB;IACjC,gBAAgB,CAAgD;IAChE,cAAc,CAAuD;IACrE,UAAU,CAA0B;IACpC,YAAY,CAAqC;IACjD,SAAS,CAAkC;IAC3C,YAAY,CAA+B;IAC3C,SAAS,GAAG,IAAI,eAAe,EAAE,CAAA;IAC1C,iBAAiB,CAA4E;IACpF,wBAAwB,GAAG,IAAI,GAAG,EAG/C,CAAA;IAEJ,YACmB,MAAwC,EACzD,eAAoC,EAAE;QAEtC,KAAK,EAAE,CAAA;QAHU,WAAM,GAAN,MAAM,CAAkC;QAIzD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,UAAU,CAAA;QACjD,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,IAAI,mBAAmB,CAAA;QAClF,IAAI,CAAC,oBAAoB,GAAG,YAAY,CAAC,oBAAoB,IAAI,oBAAoB,CAAA;QACrF,IAAI,CAAC,oBAAoB,GAAG,YAAY,CAAC,oBAAoB,IAAI,oBAAoB,CAAA;QACrF,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,IAAI,kBAAkB,CAAA;QAC/E,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,uBAAuB,CAAA;QAC5E,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,IAAI,IAAI,oBAAoB,EAAE,CAAA;QACnF,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;QACrF,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,sBAAsB,CAAA;QACnE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAA;QAC7C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;QACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAA;IAC/C,CAAC;IAEO,UAAU,CAAC,OAAwB;QACzC,OAAO,wBAAwB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;IACpG,CAAC;IAEO,aAAa,CAAC,OAA4B;QAChD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAM;QACxC,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;IACH,CAAC;IAEQ,YAAY,CAAC,QAAgB;QACpC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC1C,OAAO;YACL,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,UAAU,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,kBAAkB;gBACpF,CAAC,CAAC,sDAAsD;gBACxD,CAAC,CAAC,UAAU,CAAC,IAAI;SACpB,CAAA;IACH,CAAC;IAEQ,mBAAmB,CAAC,SAAiB;QAC5C,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAEO,gBAAgB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAA;QACrC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,MAAM,CAAC,OAAO,CAAA;QAChF,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAA;QAClC,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,uBAAuB,CAAC,QAA0B;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC1D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,MAAM,CAAC,OAAO,CAAA;QAChF,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB,CAAC,GAAW,EAAE,MAAmB;QAChE,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACtC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QACvC,MAAM,UAAU,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAA;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;QACjC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;gBAChF,MAAM;gBACN,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;gBACzC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC1C,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC1C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;gBACxC,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC;aAC9E,CAAC,CAAA;YACF,IAAI,CAAC,iBAAiB,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,EAAE,CAAA;YAC5E,OAAO,OAAO,CAAA;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAA;YAClC,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,QAA0B,EAC1B,GAAW,EACX,MAAmB;QAEnB,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAA;QACrD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QACvC,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACxD,MAAM,UAAU,GAAG,QAAQ,KAAK,QAAQ;YACtC,CAAC,CAAC,IAAI,CAAC,oBAAoB;YAC3B,CAAC,CAAC,QAAQ,KAAK,QAAQ;gBACrB,CAAC,CAAC,IAAI,CAAC,oBAAoB;gBAC3B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAA;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;gBAClE,MAAM;gBACN,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;gBACzC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;gBAC7C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;aACzC,CAAC,CAAA;YACF,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC,CAAA;YAChG,OAAO,OAAO,CAAA;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC9C,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,QAAoB;QAC1C,OAAO,QAAQ,KAAK,OAAO;YACzB,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACzB,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAEO,cAAc,CAAC,QAAoB,EAAE,GAAW,EAAE,MAAmB;QAC3E,OAAO,QAAQ,KAAK,OAAO;YACzB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IAC5D,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,QAAgB;QACxC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9D,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,kBAAkB,CAAA;QACpG,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9E,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACnE,MAAM,eAAe,GAAoC,WAAW,IAAI,WAAW,KAAK,SAAS;YAC/F,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACZ,MAAM,YAAY,GAAG,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;QACrF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAA;QAC/C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE;gBACjB,QAAQ;gBACR,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,WAAW,IAAI,KAAK,KAAK,SAAS;oBACtC,CAAC,CAAC,mDAAmD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG;oBACrF,CAAC,CAAC,KAAK,KAAK,SAAS;wBACrB,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,WAAW,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,GAAG,EAAE;wBAC5F,CAAC,CAAC,KAAK;gBACT,WAAW,EAAE,WAAW;oBACtB,CAAC,CAAC,uFAAuF;oBACzF,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,uFAAuF;gBACjH,eAAe;aAChB,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE;gBACpB,QAAQ;gBACR,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC9E,eAAe,EAAE,CAAC,MAAM,CAAC;aAC1B,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,KAAa,EAAE,MAAoB;QAC/E,MAAM,eAAe,GAAG,MAAM,KAAK,SAAS;YAC1C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;YACvB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACpD,IAAI,eAAe,CAAC,OAAO;YAAE,MAAM,WAAW,CAAC,eAAe,CAAC,CAAA;QAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,kBAAkB,CAAA;QACpG,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9E,MAAM,YAAY,GAAG,KAAK,KAAK,SAAS;YACtC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC;YAC1E,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;QAC7D,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACnE,OAAO;YACL,QAAQ;YACR,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,WAAW,IAAI,KAAK,KAAK,SAAS;gBACtC,CAAC,CAAC,mDAAmD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG;gBACrF,CAAC,CAAC,KAAK,KAAK,SAAS;oBACrB,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,WAAW,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,GAAG,EAAE;oBAC5F,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,IAAI,KAAK,CAAC;YACjC,WAAW,EAAE,YAAY,EAAE,WAAW,IAAI,CAAC,WAAW;gBACpD,CAAC,CAAC,uFAAuF;gBACzF,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,gCAAgC,CAAC;YAC3D,eAAe,EAAE,WAAW,IAAI,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACxF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;SACxF,CAAA;IACH,CAAC;IAEQ,KAAK,CAAC,CAAC,MAAM,CAAC,OAAwB;QAC7C,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAClD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS;YACzC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;YACvB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5D,IAAI,sBAAsB,GAAG,KAAK,CAAA;QAClC,IAAI,gBAAoD,CAAA;QACxD,qFAAqF;QACrF,6EAA6E;QAC7E,IAAI,KAAK,GAAiC,WAAW,CAAA;QACrD,IAAI,qBAAqB,GAA0B,eAAe,CAAA;QAClE,IAAI,OAAO,GAAiB,SAAS,CAAA;QACrC,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,IAAI,QAAQ;gBAAE,OAAM;YACpB,QAAQ,GAAG,IAAI,CAAA;YACf,IAAI,CAAC,aAAa,CAAC;gBACjB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,KAAK,EAAE,gBAAgB,EAAE,KAAK,IAAI,KAAK;gBACvC,qBAAqB,EAAE,gBAAgB,EAAE,qBAAqB,IAAI,qBAAqB;gBACvF,qBAAqB,EAAE,gBAAgB,EAAE,qBAAqB,IAAI,sBAAsB;gBACxF,sBAAsB;gBACtB,OAAO;gBACP,aAAa,EAAE,gBAAgB,EAAE,aAAa,IAAI,aAAa;gBAC/D,GAAG,CAAC,gBAAgB,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9G,GAAG,CAAC,gBAAgB,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,GAAG,CAAC,gBAAgB,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,gBAAgB,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1F,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,OAAO;gBAAE,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;YAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,kBAAkB,CAAA;YACpG,0EAA0E;YAC1E,uEAAuE;YACvE,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5E,OAAO,GAAG,WAAW,CAAA;gBACrB,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAA;YACxC,CAAC;YACD,IAAI,GAAW,CAAA;YACf,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YAChC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC3B,MAAM,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YACtD,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBAChE,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;gBAC7D,KAAK,GAAG,QAAQ,CAAA;gBAChB,IAAI,CAAC;oBACH,wEAAwE;oBACxE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;oBACxB,qBAAqB,GAAG,SAAS,CAAA;oBACjC,mEAAmE;oBACnE,sEAAsE;oBACtE,uEAAuE;oBACvE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAA;oBAC5D,KAAK,aAAa,CAAA;oBAClB,MAAM,aAAa,GAAoB;wBACrC,GAAG,WAAW;wBACd,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK;wBAClF,MAAM,EAAE,YAAY;qBACrB,CAAA;oBACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;oBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;wBAChD,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC;wBAC7F,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe;wBAClD,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB;wBAC5D,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;qBACtD,CAAC,CAAA;oBACF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBACjC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;4BAAE,sBAAsB,GAAG,IAAI,CAAA;wBACvF,MAAM,KAAK,CAAA;oBACb,CAAC;oBACD,OAAO,GAAG,IAAI,CAAA;oBACd,OAAM;gBACR,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,OAAO,GAAG,SAAS,CAAA;wBACnB,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;oBAC3B,CAAC;oBACD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;wBAC7D,KAAK,GAAG,WAAW,CAAA;wBACnB,qBAAqB,GAAG,eAAe,CAAA;wBACvC,OAAO,GAAG,WAAW,CAAA;wBACrB,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;oBAC/B,CAAC;oBACD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO;wBACtD,CAAC,CAAC,IAAI,KAAK,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;wBAC7E,CAAC,CAAC,KAAK,CAAA;oBACT,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;oBAC7B,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC;YACD,0FAA0F;YAC1F,IAAI,UAAyB,CAAA;YAC7B,IAAI,CAAC;gBACH,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE;oBAC3C,GAAG;oBACH,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;oBACxD,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,GAAG,CAAC,UAAU,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;wBACtE,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;wBACtD,CAAC,CAAC,EAAE,CAAC;oBACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO,GAAG,WAAW,CAAA;gBACrB,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAC/B,CAAC;YACD,KAAK,GAAG,MAAM,CAAA;YACd,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE;oBACpC,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,GAAG;oBACH,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;oBACzC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;oBAC7C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;oBACxC,MAAM;oBACN,GAAG,CAAC,UAAU,CAAC,GAAG,KAAK,MAAM;wBAC3B,CAAC,CAAC,EAAE,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;wBACzE,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,sEAAsE;gBACtE,IAAI,UAAU,CAAC,GAAG,KAAK,OAAO;oBAAE,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAA;;oBAC7D,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;gBACzD,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC3B,MAAM,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YACtD,CAAC;YAED,6EAA6E;YAC7E,+EAA+E;YAC/E,mFAAmF;YACnF,KAAK,GAAG,WAAW,CAAA;YACnB,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;YACxD,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC3B,MAAM,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YACtD,CAAC;YACD,MAAM,aAAa,GAAsB;gBACvC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC1C,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC1C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;gBACxC,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC;gBAC7E,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,gBAAgB,GAAG,OAAO,CAAA,CAAC,CAAC;gBACpD,MAAM;aACP,CAAA;YAED,sFAAsF;YACtF,uFAAuF;YACvF,0FAA0F;YAC1F,KAAK,GAAG,QAAQ,CAAA;YAChB,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA;YAC1D,IAAI,CAAC;gBACH,gFAAgF;gBAChF,gFAAgF;gBAChF,qBAAqB,GAAG,SAAS,CAAA;gBACjC,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAA;gBAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;gBACtD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAQ;oBAChC,IAAI,IAAI,KAAK,CAAA;oBACb,sBAAsB,GAAG,IAAI,CAAA;oBAC7B,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;gBACrD,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC3B,MAAM,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YACtD,CAAC;YACD,OAAO,GAAG,IAAI,CAAA;YACd,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAA;YACpE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;QACpD,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAA;QACV,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,QAAQ;QACN,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAA;QAClC,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAA;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,uCAAuC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;QAC9F,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAAC,MAAwC;IACpE,OAAO,gBAAgB;SACpB,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;SACvE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AACxC,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,KAAK;SACT,OAAO,CAAC,qBAAqB,EAAE,cAAc,CAAC;SAC9C,OAAO,CAAC,8DAA8D,EAAE,cAAc,CAAC;SACvF,OAAO,CAAC,mCAAmC,EAAE,gBAAgB,CAAC;SAC9D,OAAO,CAAC,yCAAyC,EAAE,kBAAkB,CAAC;SACtE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAA;AAClB,CAAC"}
@@ -0,0 +1,34 @@
1
+ export declare const CODEX_RESPONSES_URL = "https://chatgpt.com/backend-api/codex/responses";
2
+ export declare const CODEX_OAUTH_REFRESH_URL = "https://auth.openai.com/oauth/token";
3
+ /**
4
+ * Private Responses routing is version-gated independently of this plugin's
5
+ * package version. These compatibility identifiers describe this reconstructed
6
+ * dialect; the deliberately minimal user agent is not byte-identical to the
7
+ * platform/terminal-qualified value emitted by the official Codex binary.
8
+ */
9
+ export declare const CODEX_WIRE_ORIGINATOR = "codex_cli_rs";
10
+ export declare const CODEX_WIRE_CLIENT_VERSION = "0.149.1";
11
+ export declare const CODEX_WIRE_USER_AGENT = "codex_cli_rs/0.149.1";
12
+ type Fetch = (input: string | URL, init?: RequestInit) => Promise<Response>;
13
+ export interface CodexCredentialStoreOptions {
14
+ readonly authFile?: string;
15
+ readonly fetch?: Fetch;
16
+ readonly refreshTimeoutMs?: number;
17
+ readonly now?: () => Date;
18
+ }
19
+ export type CodexDirectAuthFailure = 'subscription-auth' | 'timeout' | 'provider-http' | 'protocol' | 'transport';
20
+ export declare class CodexDirectAuthError extends Error {
21
+ readonly status: number | undefined;
22
+ constructor(message: string, cause?: CodexDirectAuthFailure, status?: number);
23
+ }
24
+ /**
25
+ * Narrow credential capability for Codex's fixed private Responses endpoint.
26
+ * It intentionally does not expose bearer tokens or a generic authenticated fetch.
27
+ */
28
+ export declare class CodexCredentialStore {
29
+ #private;
30
+ constructor(options?: CodexCredentialStoreOptions);
31
+ requestResponses(body: string, signal: AbortSignal): Promise<Response>;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=codex-direct-auth.d.ts.map
@@ -0,0 +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"}