@dsh-enhanced/traex-acp-provider 0.1.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-client.js","sourceRoot":"","sources":["../src/acp-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import { LlmAdapter, type GenerateOptions, type LlmModelInfo, type LlmProviderInfo, type LlmResolvedModelInfo, type ResolvedRetryPolicy, type StreamChunk } from '@deepseek-ai/dsh-llm';
2
+ import { type CatalogObservation, type ProviderFailureContext, type RunTraexAcpOptions, type TraexAcpInvocation, type TraexAcpCatalogInvocation } from './acp-client.js';
3
+ import { type TraexAuthVerifier } from './auth.js';
4
+ import { type CachedCatalog } from './catalog-cache.js';
5
+ import type { TraexAcpProviderConfig } from './config.js';
6
+ export declare const TRAEX_PROVIDER_ROUTE = "traex-agent";
7
+ export type TraexAcpTextRunner = (invocation: TraexAcpInvocation, options?: RunTraexAcpOptions) => AsyncIterable<string>;
8
+ export type TraexAcpCatalogDiscoverer = (invocation: TraexAcpCatalogInvocation, options?: RunTraexAcpOptions) => Promise<CatalogObservation>;
9
+ /**
10
+ * Full lifecycle facts the adapter can observe: the transport context plus the `auth`/`preflight`
11
+ * phases (which precede the ACP handshake), a stable failure class, and whether text reached DSH.
12
+ * Credential-free and internal; it is never attached to the thrown `LlmError`.
13
+ */
14
+ export interface RouteFailureContext extends Partial<Omit<ProviderFailureContext, 'phase'>> {
15
+ readonly phase: ProviderFailureContext['phase'] | 'auth' | 'preflight';
16
+ readonly assistantTextForwarded: boolean;
17
+ /** Stable outcome class for diagnostics/health; `ok` on success. */
18
+ readonly outcome: RouteOutcome;
19
+ }
20
+ /** Stable, credential-free outcome classes distinct enough for future health/cooldown routing. */
21
+ export type RouteOutcome = 'ok' | 'aborted' | 'timeout' | 'auth-required' | 'not-found' | 'entitlement' | 'model' | 'reasoning' | 'refusal' | 'protocol' | 'process' | 'output-limit' | 'preflight' | 'failed';
22
+ export interface AdapterDependencies {
23
+ runText?: TraexAcpTextRunner;
24
+ discoverModels?: TraexAcpCatalogDiscoverer;
25
+ verifyAuth?: TraexAuthVerifier;
26
+ onDiagnostic?: (diagnostic: string) => void;
27
+ /** Receives credential-free lifecycle facts once per invocation (success or failure); never affects the stream. */
28
+ onSettled?: (context: RouteFailureContext) => void;
29
+ /** Receives non-authoritative model catalog observations for diagnostics/display only. */
30
+ onCatalogObserved?: (observation: CatalogObservation) => void;
31
+ /** How long a non-authoritative catalog observation may still be shown, in ms. */
32
+ catalogCacheTtlMs?: number;
33
+ /** Injectable clock for the catalog cache; tests only. */
34
+ catalogClock?: () => number;
35
+ }
36
+ /** Text-only DSH compatibility facade over a fresh, local TraeX ACP session. */
37
+ export declare class TraexAcpAdapter extends LlmAdapter {
38
+ private readonly config;
39
+ private readonly cwd;
40
+ private readonly runText;
41
+ private readonly discoverModels;
42
+ private readonly verifyAuth;
43
+ private readonly onDiagnostic;
44
+ private readonly onSettled;
45
+ private readonly onCatalogObserved;
46
+ private readonly catalogCache;
47
+ private readonly lifecycle;
48
+ constructor(config: TraexAcpProviderConfig, dependencies?: AdapterDependencies);
49
+ /**
50
+ * Cache key parts built from NON-SENSITIVE identifiers only. The config revision is derived from
51
+ * the deployer advisory model aliases, never from environment variable values (which are secret
52
+ * and must not become a correlatable fingerprint).
53
+ */
54
+ private catalogKeyParts;
55
+ /**
56
+ * Read the last observed catalog for THIS adapter's route, if still within TTL. Metadata only:
57
+ * the current prompt's `session/new` remains the sole execution authority.
58
+ */
59
+ peekObservedCatalog(): CachedCatalog | undefined;
60
+ /** Record a non-authoritative catalog observation and forward it to any diagnostic sink. */
61
+ private handleCatalogObserved;
62
+ private reportSettled;
63
+ /** Compose the adapter-owned forwarded flag and outcome onto the transport's lifecycle context. */
64
+ private routeFailureFrom;
65
+ providerInfo(provider: string): LlmProviderInfo;
66
+ providerRetryPolicy(_provider: string): ResolvedRetryPolicy;
67
+ private loadCatalog;
68
+ listModels(provider: string): Promise<readonly LlmModelInfo[]>;
69
+ resolveModel(provider: string, model: string, signal?: AbortSignal): Promise<LlmResolvedModelInfo>;
70
+ stream(options: GenerateOptions): AsyncIterable<StreamChunk>;
71
+ shutdown(): void;
72
+ }
73
+ export declare function redactDiagnostic(value: string): string;
74
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
package/lib/adapter.js ADDED
@@ -0,0 +1,442 @@
1
+ import { resolve } from 'node:path';
2
+ import { LlmAdapter, LlmError, ReasoningEffortId, } from '@deepseek-ai/dsh-llm';
3
+ import { discoverTraexAcpModels, runTraexAcpText, } from './acp-client.js';
4
+ import { verifyTraexAuth } from './auth.js';
5
+ import { CatalogObservationCache } from './catalog-cache.js';
6
+ import { buildPrompt } from './prompt.js';
7
+ export const TRAEX_PROVIDER_ROUTE = 'traex-agent';
8
+ const noAutomaticRetry = Object.freeze({
9
+ mode: 'normal',
10
+ maxRetries: 0,
11
+ retryableCodes: Object.freeze([]),
12
+ initialDelayMs: 500,
13
+ maxDelayMs: 10_000,
14
+ jitterRatio: 0.1,
15
+ });
16
+ function ensureProvider(provider) {
17
+ if (provider !== TRAEX_PROVIDER_ROUTE) {
18
+ throw new LlmError(`unknown TraeX ACP provider: ${provider}`, 'INVALID_PROVIDER');
19
+ }
20
+ }
21
+ function abortReason(signal) {
22
+ return signal.reason instanceof Error ? signal.reason : new Error('TraeX request aborted', { cause: 'abort' });
23
+ }
24
+ function connectorFailure(command, error) {
25
+ if (error instanceof Error && error.cause === 'abort')
26
+ return error;
27
+ const candidate = error;
28
+ const code = candidate?.systemCode ?? candidate?.code;
29
+ if (code === 'ENOENT') {
30
+ return new LlmError(`TraeX executable was not found: ${command}`, 'CLI_NOT_FOUND', { cause: error });
31
+ }
32
+ if (error instanceof Error && error.cause === 'auth') {
33
+ return new LlmError('TraeX ACP requires a local login; authenticate with TraeX before using this provider', 'ACP_AUTH_REQUIRED', { cause: error });
34
+ }
35
+ if (error instanceof Error && error.cause === 'entitlement') {
36
+ return new LlmError('TraeX ACP did not expose any model for the active Trae account', 'ACP_ENTITLEMENT_REQUIRED', { cause: error });
37
+ }
38
+ if (error instanceof Error && error.cause === 'model') {
39
+ return new LlmError('TraeX ACP does not provide the requested model', 'ACP_MODEL_UNAVAILABLE', { cause: error });
40
+ }
41
+ if (error instanceof Error && error.cause === 'reasoning') {
42
+ return new LlmError('TraeX ACP does not provide the requested reasoning effort', 'UNSUPPORTED_REASONING_EFFORT', { cause: error });
43
+ }
44
+ if (error instanceof Error && error.cause === 'refusal') {
45
+ return new LlmError('TraeX ACP refused the request', 'ACP_REFUSAL', { cause: error });
46
+ }
47
+ if (error instanceof Error && error.cause === 'timeout') {
48
+ return new LlmError('TraeX ACP prompt timed out', 'ACP_TIMEOUT', { cause: error });
49
+ }
50
+ if (error instanceof Error && error.cause === 'output-limit') {
51
+ return new LlmError('TraeX ACP output exceeded the configured safety limit', 'ACP_OUTPUT_LIMIT', { cause: error });
52
+ }
53
+ if (error instanceof Error && error.cause === 'protocol') {
54
+ return new LlmError('TraeX ACP returned an invalid or incomplete protocol exchange', 'ACP_PROTOCOL_ERROR', { cause: error });
55
+ }
56
+ return new LlmError('TraeX ACP process failed', 'ACP_PROCESS_FAILED', { cause: error });
57
+ }
58
+ /** Classify the original transport error into a stable, credential-free outcome for diagnostics. */
59
+ function outcomeFor(error) {
60
+ const cause = error instanceof Error ? error.cause : undefined;
61
+ const code = error;
62
+ if ((code?.systemCode ?? code?.code) === 'ENOENT')
63
+ return 'not-found';
64
+ if (cause === 'abort')
65
+ return 'aborted';
66
+ if (cause === 'timeout')
67
+ return 'timeout';
68
+ if (cause === 'auth')
69
+ return 'auth-required';
70
+ if (cause === 'entitlement')
71
+ return 'entitlement';
72
+ if (cause === 'model')
73
+ return 'model';
74
+ if (cause === 'reasoning')
75
+ return 'reasoning';
76
+ if (cause === 'refusal')
77
+ return 'refusal';
78
+ if (cause === 'output-limit')
79
+ return 'output-limit';
80
+ if (cause === 'protocol')
81
+ return 'protocol';
82
+ if (cause === 'process')
83
+ return 'process';
84
+ return 'failed';
85
+ }
86
+ function reasoningInfo(model) {
87
+ if (model?.reasoning === undefined)
88
+ return {};
89
+ return {
90
+ reasoning: {
91
+ efforts: model.reasoning.efforts.map(effort => ({
92
+ id: ReasoningEffortId(effort.id),
93
+ name: effort.name,
94
+ ...(effort.description === undefined ? {} : { description: effort.description }),
95
+ })),
96
+ ...(model.reasoning.defaultEffort === undefined
97
+ ? {}
98
+ : { defaultEffort: ReasoningEffortId(model.reasoning.defaultEffort) }),
99
+ },
100
+ };
101
+ }
102
+ /** Text-only DSH compatibility facade over a fresh, local TraeX ACP session. */
103
+ export class TraexAcpAdapter extends LlmAdapter {
104
+ config;
105
+ cwd;
106
+ runText;
107
+ discoverModels;
108
+ verifyAuth;
109
+ onDiagnostic;
110
+ onSettled;
111
+ onCatalogObserved;
112
+ catalogCache;
113
+ lifecycle = new AbortController();
114
+ constructor(config, dependencies = {}) {
115
+ super();
116
+ this.config = config;
117
+ this.cwd = resolve(config.cwd);
118
+ this.runText = dependencies.runText ?? runTraexAcpText;
119
+ this.discoverModels = dependencies.discoverModels ?? discoverTraexAcpModels;
120
+ this.verifyAuth = dependencies.verifyAuth ?? verifyTraexAuth;
121
+ this.onDiagnostic = dependencies.onDiagnostic;
122
+ this.onSettled = dependencies.onSettled;
123
+ this.onCatalogObserved = dependencies.onCatalogObserved;
124
+ this.catalogCache = new CatalogObservationCache({
125
+ ...(dependencies.catalogCacheTtlMs !== undefined ? { ttlMs: dependencies.catalogCacheTtlMs } : {}),
126
+ ...(dependencies.catalogClock !== undefined ? { now: dependencies.catalogClock } : {}),
127
+ });
128
+ }
129
+ /**
130
+ * Cache key parts built from NON-SENSITIVE identifiers only. The config revision is derived from
131
+ * the deployer advisory model aliases, never from environment variable values (which are secret
132
+ * and must not become a correlatable fingerprint).
133
+ */
134
+ catalogKeyParts() {
135
+ return {
136
+ route: TRAEX_PROVIDER_ROUTE,
137
+ command: this.config.command,
138
+ cwd: this.cwd,
139
+ configRevision: this.config.models.join(','),
140
+ };
141
+ }
142
+ /**
143
+ * Read the last observed catalog for THIS adapter's route, if still within TTL. Metadata only:
144
+ * the current prompt's `session/new` remains the sole execution authority.
145
+ */
146
+ peekObservedCatalog() {
147
+ return this.catalogCache.peek(this.catalogKeyParts());
148
+ }
149
+ /** Record a non-authoritative catalog observation and forward it to any diagnostic sink. */
150
+ handleCatalogObserved(observation) {
151
+ this.catalogCache.record(this.catalogKeyParts(), observation);
152
+ if (this.onCatalogObserved === undefined)
153
+ return;
154
+ try {
155
+ this.onCatalogObserved(observation);
156
+ }
157
+ catch {
158
+ // A non-authoritative observation must never change model-call settlement.
159
+ }
160
+ }
161
+ reportSettled(context) {
162
+ if (this.onSettled === undefined)
163
+ return;
164
+ try {
165
+ this.onSettled(context);
166
+ }
167
+ catch {
168
+ // A diagnostic sink must never change model-call settlement.
169
+ }
170
+ }
171
+ /** Compose the adapter-owned forwarded flag and outcome onto the transport's lifecycle context. */
172
+ routeFailureFrom(context, assistantTextForwarded, outcome) {
173
+ return {
174
+ phase: context?.phase ?? 'stream',
175
+ promptSubmissionState: context?.promptSubmissionState ?? 'unknown',
176
+ assistantTextObserved: context?.assistantTextObserved ?? assistantTextForwarded,
177
+ assistantTextForwarded,
178
+ outcome,
179
+ ...(context?.teardownState !== undefined ? { teardownState: context.teardownState } : {}),
180
+ ...(context?.terminalReason !== undefined ? { terminalReason: context.terminalReason } : {}),
181
+ ...(context?.exitCode !== undefined ? { exitCode: context.exitCode } : {}),
182
+ ...(context?.signal !== undefined ? { signal: context.signal } : {}),
183
+ ...(context?.metrics !== undefined ? { metrics: context.metrics } : {}),
184
+ ...(context?.usage !== undefined ? { usage: context.usage } : {}),
185
+ };
186
+ }
187
+ providerInfo(provider) {
188
+ ensureProvider(provider);
189
+ return { id: provider, name: 'TraeX Agent (local ACP)' };
190
+ }
191
+ providerRetryPolicy(_provider) {
192
+ return noAutomaticRetry;
193
+ }
194
+ async loadCatalog(signal = this.lifecycle.signal) {
195
+ const cached = this.peekObservedCatalog()?.observation;
196
+ if (cached?.completeReasoning === true)
197
+ return cached;
198
+ if (signal.aborted)
199
+ throw abortReason(signal);
200
+ try {
201
+ await this.verifyAuth({
202
+ command: this.config.command,
203
+ cwd: this.cwd,
204
+ timeoutMs: this.config.authProbeTimeoutMs,
205
+ maxOutputBytes: this.config.maxAuthProbeBytes,
206
+ extraEnvNames: this.config.extraEnvNames,
207
+ signal,
208
+ });
209
+ const catalog = await this.discoverModels({
210
+ command: this.config.command,
211
+ args: [
212
+ '--sandbox',
213
+ 'read-only',
214
+ '--ask-for-approval',
215
+ 'never',
216
+ 'acp',
217
+ 'serve',
218
+ ],
219
+ cwd: this.cwd,
220
+ }, {
221
+ timeoutMs: this.config.timeoutMs,
222
+ killGraceMs: this.config.killGraceMs,
223
+ maxMessageBytes: this.config.maxMessageBytes,
224
+ maxProtocolBytes: this.config.maxProtocolBytes,
225
+ maxProtocolMessages: this.config.maxProtocolMessages,
226
+ maxOutputBytes: this.config.maxOutputBytes,
227
+ maxStderrBytes: this.config.maxStderrBytes,
228
+ extraEnvNames: this.config.extraEnvNames,
229
+ onDiagnostic: diagnostic => this.onDiagnostic?.(diagnostic),
230
+ signal,
231
+ });
232
+ this.handleCatalogObserved(catalog);
233
+ return catalog;
234
+ }
235
+ catch (error) {
236
+ this.catalogCache.invalidate(this.catalogKeyParts());
237
+ throw connectorFailure(this.config.command, error);
238
+ }
239
+ }
240
+ async listModels(provider) {
241
+ ensureProvider(provider);
242
+ const catalog = await this.loadCatalog();
243
+ const active = catalog.models.find(model => model.id === catalog.currentValue);
244
+ const entries = new Map();
245
+ for (const model of this.config.models) {
246
+ entries.set(model, {
247
+ provider,
248
+ id: model,
249
+ name: model === 'default'
250
+ ? `TraeX active model${active === undefined ? '' : ` (${active.name})`}`
251
+ : model,
252
+ description: 'Experimental text compatibility route backed by a local TraeX ACP agent',
253
+ inputModalities: ['text'],
254
+ });
255
+ }
256
+ for (const model of catalog.models) {
257
+ entries.set(model.id, {
258
+ provider,
259
+ id: model.id,
260
+ name: model.name,
261
+ ...(model.description === undefined ? {} : { description: model.description }),
262
+ inputModalities: ['text'],
263
+ });
264
+ }
265
+ return [...entries.values()];
266
+ }
267
+ async resolveModel(provider, model, signal) {
268
+ ensureProvider(provider);
269
+ const effectiveSignal = signal === undefined
270
+ ? this.lifecycle.signal
271
+ : AbortSignal.any([signal, this.lifecycle.signal]);
272
+ if (effectiveSignal.aborted)
273
+ throw abortReason(effectiveSignal);
274
+ const catalog = await this.loadCatalog(effectiveSignal);
275
+ const catalogModel = model === 'default'
276
+ ? catalog.models.find(entry => entry.id === catalog.currentValue)
277
+ : catalog.models.find(entry => entry.id === model);
278
+ return {
279
+ provider,
280
+ id: model,
281
+ name: model === 'default'
282
+ ? `TraeX active model${catalogModel === undefined ? '' : ` (${catalogModel.name})`}`
283
+ : (catalogModel?.name ?? model),
284
+ description: catalogModel?.description ?? 'Experimental local ACP coding-agent delegation',
285
+ inputModalities: ['text'],
286
+ ...reasoningInfo(catalogModel),
287
+ };
288
+ }
289
+ async *stream(options) {
290
+ ensureProvider(options.provider);
291
+ const signal = options.signal === undefined
292
+ ? this.lifecycle.signal
293
+ : AbortSignal.any([options.signal, this.lifecycle.signal]);
294
+ let assistantTextForwarded = false;
295
+ let transportContext;
296
+ // Track the best-known lifecycle facts so a single settled report fires on ANY exit,
297
+ // including the earliest pre-auth abort and a consumer that returns early.
298
+ let phase = 'auth';
299
+ let promptSubmissionState = 'not-submitted';
300
+ let authProbeDurationMs;
301
+ let outcome = 'aborted';
302
+ let reported = false;
303
+ const settle = () => {
304
+ if (reported)
305
+ return;
306
+ reported = true;
307
+ this.reportSettled({
308
+ ...this.routeFailureFrom(transportContext, assistantTextForwarded, outcome),
309
+ ...(transportContext === undefined ? {
310
+ phase,
311
+ promptSubmissionState,
312
+ teardownState: promptSubmissionState === 'not-submitted' ? 'not-started' : 'unknown',
313
+ ...(authProbeDurationMs !== undefined ? { metrics: { authProbeDurationMs } } : {}),
314
+ } : {}),
315
+ });
316
+ };
317
+ try {
318
+ if (signal.aborted)
319
+ throw abortReason(signal);
320
+ const authStartedAt = performance.now();
321
+ try {
322
+ await this.verifyAuth({
323
+ command: this.config.command,
324
+ cwd: this.cwd,
325
+ timeoutMs: this.config.authProbeTimeoutMs,
326
+ maxOutputBytes: this.config.maxAuthProbeBytes,
327
+ extraEnvNames: this.config.extraEnvNames,
328
+ signal,
329
+ });
330
+ }
331
+ catch (error) {
332
+ // Auth precedes the ACP handshake, so the prompt never entered the stream.
333
+ // A stale catalog observation must not outlive an auth failure (the account or plan
334
+ // may have changed), so drop it here regardless of the eventual outcome.
335
+ this.catalogCache.invalidate(this.catalogKeyParts());
336
+ outcome = outcomeFor(error);
337
+ throw connectorFailure(this.config.command, error);
338
+ }
339
+ finally {
340
+ authProbeDurationMs = performance.now() - authStartedAt;
341
+ }
342
+ // Preflight prompt serialization runs before the handshake; a failure here is provably not-submitted.
343
+ phase = 'preflight';
344
+ let invocation;
345
+ try {
346
+ invocation = {
347
+ command: this.config.command,
348
+ args: [
349
+ '--sandbox',
350
+ 'read-only',
351
+ '--ask-for-approval',
352
+ 'never',
353
+ 'acp',
354
+ 'serve',
355
+ ],
356
+ cwd: this.cwd,
357
+ prompt: buildPrompt(options, this.config.maxPromptBytes),
358
+ ...(options.model === 'default' ? {} : { model: options.model }),
359
+ ...(options.reasoningEffort === undefined ? {} : { reasoningEffort: String(options.reasoningEffort) }),
360
+ };
361
+ }
362
+ catch (error) {
363
+ outcome = 'preflight';
364
+ throw error;
365
+ }
366
+ let terminal;
367
+ const runnerOptions = {
368
+ timeoutMs: this.config.timeoutMs,
369
+ killGraceMs: this.config.killGraceMs,
370
+ maxMessageBytes: this.config.maxMessageBytes,
371
+ maxProtocolBytes: this.config.maxProtocolBytes,
372
+ maxProtocolMessages: this.config.maxProtocolMessages,
373
+ maxOutputBytes: this.config.maxOutputBytes,
374
+ maxStderrBytes: this.config.maxStderrBytes,
375
+ extraEnvNames: this.config.extraEnvNames,
376
+ onStopReason: reason => { terminal = reason; },
377
+ onDiagnostic: diagnostic => this.onDiagnostic?.(diagnostic),
378
+ onSettled: context => { transportContext = context; },
379
+ ...(authProbeDurationMs !== undefined ? { authProbeDurationMs } : {}),
380
+ onCatalogObserved: observation => this.handleCatalogObserved(observation),
381
+ signal,
382
+ };
383
+ // block-start alone runs nothing: prompt stays provably not-submitted until execution
384
+ // resumes toward the transport. Once iteration begins the transport owns the state and
385
+ // reports it via onSettled; if it never reports (early return mid-stream) we say unknown.
386
+ phase = 'stream';
387
+ let text = '';
388
+ yield { type: 'block-start', index: 0, blockType: 'text' };
389
+ try {
390
+ // Calling an injected runner may synchronously start work or throw. From immediately
391
+ // before that call, replay safety is unknown until the transport supplies exact facts.
392
+ promptSubmissionState = 'unknown';
393
+ const deltas = this.runText(invocation, runnerOptions);
394
+ for await (const delta of deltas) {
395
+ if (delta.length === 0)
396
+ continue;
397
+ text += delta;
398
+ assistantTextForwarded = true;
399
+ yield { type: 'text-delta', index: 0, text: delta };
400
+ }
401
+ }
402
+ catch (error) {
403
+ outcome = outcomeFor(error);
404
+ throw connectorFailure(this.config.command, error);
405
+ }
406
+ if (terminal === undefined) {
407
+ outcome = 'protocol';
408
+ throw connectorFailure(this.config.command, new Error('TraeX ACP terminal metadata was missing', { cause: 'protocol' }));
409
+ }
410
+ outcome = 'ok';
411
+ yield { type: 'block-end', index: 0, block: { type: 'text', text } };
412
+ yield {
413
+ type: 'finish',
414
+ reason: terminal === 'end_turn' ? { kind: 'stop' } : { kind: 'max-tokens' },
415
+ };
416
+ }
417
+ finally {
418
+ settle();
419
+ }
420
+ }
421
+ shutdown() {
422
+ // A reload/unload drops every non-authoritative observation; a later run re-observes from a
423
+ // fresh handshake, which is the only execution authority anyway.
424
+ this.catalogCache.clear();
425
+ if (!this.lifecycle.signal.aborted) {
426
+ this.lifecycle.abort(new Error('TraeX ACP provider unloaded', { cause: 'abort' }));
427
+ }
428
+ }
429
+ }
430
+ export function redactDiagnostic(value) {
431
+ return value
432
+ .replace(/\p{Cc}/gu, ' ')
433
+ .replace(/\b((?:proxy-)?authorization\s*[:=]\s*)(?:basic|bearer)\s+[^\s]+/gi, '$1[redacted]')
434
+ .replace(/\b([a-z][a-z0-9+.-]*:\/\/)[^/\s@]+@/gi, '$1[redacted]@')
435
+ .replace(/(bearer\s+)[^\s]+/gi, '$1[redacted]')
436
+ .replace(/((?:api[_-]?key|auth(?:orization)?|token)\s*[:=]\s*)[^\s]+/gi, '$1[redacted]')
437
+ .replace(/-----BEGIN [^-]*PRIVATE KEY-----.*?-----END [^-]*PRIVATE KEY-----/gi, '[redacted-private-key]')
438
+ .replace(/\b(?:sk|xai)-[A-Za-z0-9_-]{8,}\b/g, '[redacted-key]')
439
+ .replace(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/gi, '[redacted-email]')
440
+ .slice(-2_000);
441
+ }
442
+ //# sourceMappingURL=adapter.js.map