@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.
- package/LICENSE +21 -0
- package/README.md +146 -0
- package/cordis.patch.yml +3 -0
- package/lib/acp-client.d.ts +182 -0
- package/lib/acp-client.d.ts.map +1 -0
- package/lib/acp-client.js +1216 -0
- package/lib/acp-client.js.map +1 -0
- package/lib/adapter.d.ts +74 -0
- package/lib/adapter.d.ts.map +1 -0
- package/lib/adapter.js +442 -0
- package/lib/adapter.js.map +1 -0
- package/lib/auth.d.ts +23 -0
- package/lib/auth.d.ts.map +1 -0
- package/lib/auth.js +59 -0
- package/lib/auth.js.map +1 -0
- package/lib/catalog-cache.d.ts +73 -0
- package/lib/catalog-cache.d.ts.map +1 -0
- package/lib/catalog-cache.js +56 -0
- package/lib/catalog-cache.js.map +1 -0
- package/lib/config.d.ts +41 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +29 -0
- package/lib/config.js.map +1 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +46 -0
- package/lib/index.js.map +1 -0
- package/lib/prompt.d.ts +4 -0
- package/lib/prompt.d.ts.map +1 -0
- package/lib/prompt.js +48 -0
- package/lib/prompt.js.map +1 -0
- package/lib/version.d.ts +2 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/version.js +2 -0
- package/lib/version.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/auth.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface AuthCommandResult {
|
|
2
|
+
readonly exitCode: number;
|
|
3
|
+
readonly signal: NodeJS.Signals | null;
|
|
4
|
+
readonly stdout: string;
|
|
5
|
+
readonly stderr: string;
|
|
6
|
+
}
|
|
7
|
+
export interface VerifyTraexAuthOptions {
|
|
8
|
+
readonly command: string;
|
|
9
|
+
readonly cwd: string;
|
|
10
|
+
readonly timeoutMs: number;
|
|
11
|
+
readonly maxOutputBytes: number;
|
|
12
|
+
readonly extraEnvNames: readonly string[];
|
|
13
|
+
readonly signal?: AbortSignal;
|
|
14
|
+
}
|
|
15
|
+
export type AuthCommandRunner = (command: string, args: readonly string[], options: VerifyTraexAuthOptions) => Promise<AuthCommandResult>;
|
|
16
|
+
export type TraexAuthVerifier = (options: VerifyTraexAuthOptions) => Promise<void>;
|
|
17
|
+
export declare class TraexAuthError extends Error {
|
|
18
|
+
constructor(message?: string);
|
|
19
|
+
}
|
|
20
|
+
/** Require the active TraeX credential source to be the Trae tool account. */
|
|
21
|
+
export declare function verifyTraexAuth(options: VerifyTraexAuthOptions, runCommand?: AuthCommandRunner): Promise<void>;
|
|
22
|
+
export declare const runAuthCommand: AuthCommandRunner;
|
|
23
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC9B;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,sBAAsB,KAC5B,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAE/B,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAElF,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,SAAqC;CAIzD;AAED,8EAA8E;AAC9E,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,EAC/B,UAAU,GAAE,iBAAkC,GAC7C,OAAO,CAAC,IAAI,CAAC,CASf;AAED,eAAO,MAAM,cAAc,EAAE,iBAsC3B,CAAA"}
|
package/lib/auth.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { execFile as nodeExecFile } from 'node:child_process';
|
|
2
|
+
import { buildTraexEnv } from './acp-client.js';
|
|
3
|
+
export class TraexAuthError extends Error {
|
|
4
|
+
constructor(message = 'TraeX is not logged in with Trae') {
|
|
5
|
+
super(message, { cause: 'auth' });
|
|
6
|
+
this.name = 'TraexAuthError';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
/** Require the active TraeX credential source to be the Trae tool account. */
|
|
10
|
+
export async function verifyTraexAuth(options, runCommand = runAuthCommand) {
|
|
11
|
+
const result = await runCommand(options.command, ['login', 'status'], options);
|
|
12
|
+
const stdout = result.stdout.trim();
|
|
13
|
+
const stderr = result.stderr.trim();
|
|
14
|
+
const exactTraeStatus = (stdout === 'Logged in using Trae' && stderr.length === 0)
|
|
15
|
+
|| (stderr === 'Logged in using Trae' && stdout.length === 0);
|
|
16
|
+
if (result.exitCode !== 0 || result.signal !== null || !exactTraeStatus) {
|
|
17
|
+
throw new TraexAuthError();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export const runAuthCommand = (command, args, options) => new Promise((resolve, reject) => {
|
|
21
|
+
nodeExecFile(command, [...args], {
|
|
22
|
+
cwd: options.cwd,
|
|
23
|
+
env: buildTraexEnv(options.extraEnvNames),
|
|
24
|
+
encoding: 'utf8',
|
|
25
|
+
maxBuffer: options.maxOutputBytes,
|
|
26
|
+
timeout: options.timeoutMs,
|
|
27
|
+
signal: options.signal,
|
|
28
|
+
shell: false,
|
|
29
|
+
windowsHide: true,
|
|
30
|
+
}, (error, stdout, stderr) => {
|
|
31
|
+
if (error === null) {
|
|
32
|
+
resolve({ exitCode: 0, signal: null, stdout, stderr });
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (options.signal?.aborted) {
|
|
36
|
+
reject(new Error('TraeX authentication probe aborted', { cause: 'abort' }));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (error.killed) {
|
|
40
|
+
reject(new Error('TraeX authentication probe timed out', { cause: 'timeout' }));
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (error.code === 'ENOENT') {
|
|
44
|
+
reject(error);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (typeof error.code === 'number') {
|
|
48
|
+
resolve({
|
|
49
|
+
exitCode: error.code,
|
|
50
|
+
signal: error.signal,
|
|
51
|
+
stdout,
|
|
52
|
+
stderr,
|
|
53
|
+
});
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
reject(new TraexAuthError('TraeX authentication probe returned too much or invalid output'));
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=auth.js.map
|
package/lib/auth.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { CatalogObservation } from './acp-client.js';
|
|
2
|
+
/**
|
|
3
|
+
* NON-AUTHORITATIVE, in-memory cache of the last model catalog observed during an ACP handshake.
|
|
4
|
+
* It exists for diagnostics and model-directory display only. Per the DSH catalog contract, it
|
|
5
|
+
* MUST NOT:
|
|
6
|
+
*
|
|
7
|
+
* - gate, pre-validate, admit, or reject any request;
|
|
8
|
+
* - return `MODEL_NOT_FOUND` / `ACP_ENTITLEMENT_REQUIRED` from a stored value;
|
|
9
|
+
* - suppress or short-circuit a new `session/new`.
|
|
10
|
+
*
|
|
11
|
+
* The catalog returned by the CURRENT `session/new` always remains the sole execution authority.
|
|
12
|
+
* The stored value can be stale the instant it is written (the operator may switch accounts or
|
|
13
|
+
* plans, TraeX may update its catalog, or the executable may be upgraded in place), so a short TTL
|
|
14
|
+
* bounds how long a stale observation is even shown, and callers must invalidate it on auth
|
|
15
|
+
* failure, config/plugin reload, and CLI version changes.
|
|
16
|
+
*
|
|
17
|
+
* The cache key uses ONLY non-sensitive, verifiable identifiers. It NEVER fingerprints environment
|
|
18
|
+
* variable values (neither plaintext nor a hash — either could become a correlatable identifier).
|
|
19
|
+
*/
|
|
20
|
+
export interface CatalogCacheKeyParts {
|
|
21
|
+
/** Stable provider route id. */
|
|
22
|
+
readonly route: string;
|
|
23
|
+
/** Normalized executable name or path handed to spawn (no shell parsing). */
|
|
24
|
+
readonly command: string;
|
|
25
|
+
/** Working directory exposed to the ACP session. */
|
|
26
|
+
readonly cwd: string;
|
|
27
|
+
/**
|
|
28
|
+
* A revision string for the non-sensitive configuration that affects catalog shape (e.g. the
|
|
29
|
+
* deployer advisory model aliases). Never derive this from environment variable values.
|
|
30
|
+
*/
|
|
31
|
+
readonly configRevision: string;
|
|
32
|
+
}
|
|
33
|
+
/** A stored observation plus the monotonic-ish wall-clock time it was recorded, for TTL checks. */
|
|
34
|
+
export interface CachedCatalog {
|
|
35
|
+
readonly key: string;
|
|
36
|
+
readonly observation: CatalogObservation;
|
|
37
|
+
/** `Date.now()` at record time. */
|
|
38
|
+
readonly recordedAt: number;
|
|
39
|
+
}
|
|
40
|
+
export interface CatalogCacheOptions {
|
|
41
|
+
/** How long a stored observation may still be shown, in ms. Defaults to 5 minutes. */
|
|
42
|
+
readonly ttlMs?: number;
|
|
43
|
+
/** Injectable clock for tests; defaults to `Date.now`. */
|
|
44
|
+
readonly now?: () => number;
|
|
45
|
+
}
|
|
46
|
+
/** Build the opaque cache key from non-sensitive parts only. Never include env values. */
|
|
47
|
+
export declare function catalogCacheKey(parts: CatalogCacheKeyParts): string;
|
|
48
|
+
/**
|
|
49
|
+
* In-memory, per-adapter catalog observation cache. It may serve recently completed prompt-free
|
|
50
|
+
* discovery to model listing/resolution, but never authorizes execution; every request still
|
|
51
|
+
* performs a fresh `session/new` and validates the selected model/effort there.
|
|
52
|
+
*/
|
|
53
|
+
export declare class CatalogObservationCache {
|
|
54
|
+
private readonly ttlMs;
|
|
55
|
+
private readonly now;
|
|
56
|
+
private readonly entries;
|
|
57
|
+
constructor(options?: CatalogCacheOptions);
|
|
58
|
+
/** Store the observation seen during a real handshake. Overwrites any prior value for the key. */
|
|
59
|
+
record(parts: CatalogCacheKeyParts, observation: CatalogObservation): void;
|
|
60
|
+
/**
|
|
61
|
+
* Read the last observation for a key IF it is still within TTL. Returns undefined when absent or
|
|
62
|
+
* expired (and drops the expired entry). Callers may use it for metadata display, but must NEVER
|
|
63
|
+
* use the result to admit, reject, or route a request.
|
|
64
|
+
*/
|
|
65
|
+
peek(parts: CatalogCacheKeyParts): CachedCatalog | undefined;
|
|
66
|
+
/** Explicitly drop one key's observation (e.g. on auth failure or CLI version change). */
|
|
67
|
+
invalidate(parts: CatalogCacheKeyParts): void;
|
|
68
|
+
/** Drop every observation (e.g. on config/plugin reload). */
|
|
69
|
+
clear(): void;
|
|
70
|
+
/** Number of live (not-yet-evicted) entries; primarily for diagnostics and tests. */
|
|
71
|
+
get size(): number;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=catalog-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-cache.d.ts","sourceRoot":"","sources":["../src/catalog-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,oDAAoD;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,mGAAmG;AACnG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,mCAAmC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,sFAAsF;IACtF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAC5B;AAID,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAKnE;AAED;;;;GAIG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;gBAE/C,OAAO,GAAE,mBAAwB;IAK7C,kGAAkG;IAClG,MAAM,CAAC,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAK1E;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa,GAAG,SAAS;IAW5D,0FAA0F;IAC1F,UAAU,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAI7C,6DAA6D;IAC7D,KAAK,IAAI,IAAI;IAIb,qFAAqF;IACrF,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
const DEFAULT_TTL_MS = 5 * 60_000;
|
|
2
|
+
/** Build the opaque cache key from non-sensitive parts only. Never include env values. */
|
|
3
|
+
export function catalogCacheKey(parts) {
|
|
4
|
+
// A control-character-free join; the parts are all non-secret identifiers already.
|
|
5
|
+
return [parts.route, parts.command, parts.cwd, parts.configRevision]
|
|
6
|
+
.map(part => part.replaceAll('\u0000', ' ').replaceAll('\u001f', ' '))
|
|
7
|
+
.join('\u0000');
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* In-memory, per-adapter catalog observation cache. It may serve recently completed prompt-free
|
|
11
|
+
* discovery to model listing/resolution, but never authorizes execution; every request still
|
|
12
|
+
* performs a fresh `session/new` and validates the selected model/effort there.
|
|
13
|
+
*/
|
|
14
|
+
export class CatalogObservationCache {
|
|
15
|
+
ttlMs;
|
|
16
|
+
now;
|
|
17
|
+
entries = new Map();
|
|
18
|
+
constructor(options = {}) {
|
|
19
|
+
this.ttlMs = options.ttlMs ?? DEFAULT_TTL_MS;
|
|
20
|
+
this.now = options.now ?? Date.now;
|
|
21
|
+
}
|
|
22
|
+
/** Store the observation seen during a real handshake. Overwrites any prior value for the key. */
|
|
23
|
+
record(parts, observation) {
|
|
24
|
+
const key = catalogCacheKey(parts);
|
|
25
|
+
this.entries.set(key, { key, observation, recordedAt: this.now() });
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Read the last observation for a key IF it is still within TTL. Returns undefined when absent or
|
|
29
|
+
* expired (and drops the expired entry). Callers may use it for metadata display, but must NEVER
|
|
30
|
+
* use the result to admit, reject, or route a request.
|
|
31
|
+
*/
|
|
32
|
+
peek(parts) {
|
|
33
|
+
const key = catalogCacheKey(parts);
|
|
34
|
+
const entry = this.entries.get(key);
|
|
35
|
+
if (entry === undefined)
|
|
36
|
+
return undefined;
|
|
37
|
+
if (this.now() - entry.recordedAt >= this.ttlMs) {
|
|
38
|
+
this.entries.delete(key);
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
return entry;
|
|
42
|
+
}
|
|
43
|
+
/** Explicitly drop one key's observation (e.g. on auth failure or CLI version change). */
|
|
44
|
+
invalidate(parts) {
|
|
45
|
+
this.entries.delete(catalogCacheKey(parts));
|
|
46
|
+
}
|
|
47
|
+
/** Drop every observation (e.g. on config/plugin reload). */
|
|
48
|
+
clear() {
|
|
49
|
+
this.entries.clear();
|
|
50
|
+
}
|
|
51
|
+
/** Number of live (not-yet-evicted) entries; primarily for diagnostics and tests. */
|
|
52
|
+
get size() {
|
|
53
|
+
return this.entries.size;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=catalog-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-cache.js","sourceRoot":"","sources":["../src/catalog-cache.ts"],"names":[],"mappings":"AAkDA,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAA;AAEjC,0FAA0F;AAC1F,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,mFAAmF;IACnF,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,cAAc,CAAC;SACjE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;SACrE,IAAI,CAAC,QAAQ,CAAC,CAAA;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IACjB,KAAK,CAAQ;IACb,GAAG,CAAc;IACjB,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAA;IAE3D,YAAY,UAA+B,EAAE;QAC3C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,cAAc,CAAA;QAC5C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAA;IACpC,CAAC;IAED,kGAAkG;IAClG,MAAM,CAAC,KAA2B,EAAE,WAA+B;QACjE,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACrE,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,KAA2B;QAC9B,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACzC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACxB,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,0FAA0F;IAC1F,UAAU,CAAC,KAA2B;QACpC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,6DAA6D;IAC7D,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;IAED,qFAAqF;IACrF,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;IAC1B,CAAC;CACF"}
|
package/lib/config.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import Schema from '@deepseek-ai/schemastery';
|
|
2
|
+
export interface TraexAcpProviderConfig {
|
|
3
|
+
/** Register the experimental TraeX route after the local runtime is prepared. */
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
/** TraeX executable name or absolute path. No shell parsing is performed. */
|
|
6
|
+
command: string;
|
|
7
|
+
/** Working directory exposed to the TraeX ACP session. */
|
|
8
|
+
cwd: string;
|
|
9
|
+
/**
|
|
10
|
+
* Additional advisory model ids shown beside the live ACP catalog. `default` uses TraeX's active
|
|
11
|
+
* model. Execution always validates model and reasoning selections against the fresh session.
|
|
12
|
+
*/
|
|
13
|
+
models: string[];
|
|
14
|
+
/** Whole ACP prompt deadline. */
|
|
15
|
+
timeoutMs: number;
|
|
16
|
+
/** Deadline for the non-model TraeX login-status probe. */
|
|
17
|
+
authProbeTimeoutMs: number;
|
|
18
|
+
/** Maximum stdout/stderr bytes captured from the login-status probe. */
|
|
19
|
+
maxAuthProbeBytes: number;
|
|
20
|
+
/** Grace period between ACP cancellation/SIGINT and SIGKILL. */
|
|
21
|
+
killGraceMs: number;
|
|
22
|
+
/** Maximum bytes accepted in one ACP NDJSON message. */
|
|
23
|
+
maxMessageBytes: number;
|
|
24
|
+
/** Maximum cumulative ACP stdout bytes accepted per invocation. */
|
|
25
|
+
maxProtocolBytes: number;
|
|
26
|
+
/** Maximum ACP messages accepted per invocation. */
|
|
27
|
+
maxProtocolMessages: number;
|
|
28
|
+
/** Maximum UTF-8 bytes of assistant text accepted per invocation. */
|
|
29
|
+
maxOutputBytes: number;
|
|
30
|
+
/** Maximum UTF-8 bytes retained from TraeX stderr. */
|
|
31
|
+
maxStderrBytes: number;
|
|
32
|
+
/** Maximum UTF-8 bytes in the serialized DSH request. */
|
|
33
|
+
maxPromptBytes: number;
|
|
34
|
+
/** Additional environment variable names inherited by the child process. */
|
|
35
|
+
extraEnvNames: string[];
|
|
36
|
+
/** Include a redacted tail of TraeX stderr in host logs. */
|
|
37
|
+
logDiagnostics: boolean;
|
|
38
|
+
}
|
|
39
|
+
export declare const Config: Schema<TraexAcpProviderConfig>;
|
|
40
|
+
export declare function normalizeConfig(input?: TraexAcpProviderConfig): TraexAcpProviderConfig;
|
|
41
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAE7C,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,OAAO,EAAE,OAAO,CAAA;IAChB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,2DAA2D;IAC3D,kBAAkB,EAAE,MAAM,CAAA;IAC1B,wEAAwE;IACxE,iBAAiB,EAAE,MAAM,CAAA;IACzB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAA;IACvB,mEAAmE;IACnE,gBAAgB,EAAE,MAAM,CAAA;IACxB,oDAAoD;IACpD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAA;IACtB,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAA;IACtB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAA;IACtB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,4DAA4D;IAC5D,cAAc,EAAE,OAAO,CAAA;CACxB;AAKD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,sBAAsB,CAiBd,CAAA;AAEpC,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,CAMtF"}
|
package/lib/config.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import Schema from '@deepseek-ai/schemastery';
|
|
2
|
+
const modelId = Schema.string().min(1).pattern(/\S/);
|
|
3
|
+
const command = Schema.string().min(1).pattern(/\S/);
|
|
4
|
+
export const Config = Schema.object({
|
|
5
|
+
enabled: Schema.boolean().default(false),
|
|
6
|
+
command: command.default('traex'),
|
|
7
|
+
cwd: Schema.string().min(1).default('.'),
|
|
8
|
+
models: Schema.array(modelId).min(1).default(['default']),
|
|
9
|
+
timeoutMs: Schema.natural().min(1_000).max(60 * 60_000).default(10 * 60_000),
|
|
10
|
+
authProbeTimeoutMs: Schema.natural().min(1_000).max(60_000).default(10_000),
|
|
11
|
+
maxAuthProbeBytes: Schema.natural().min(1_024).max(1024 * 1024).default(32 * 1024),
|
|
12
|
+
killGraceMs: Schema.natural().min(100).max(30_000).default(3_000),
|
|
13
|
+
maxMessageBytes: Schema.natural().min(1_024).max(16 * 1024 * 1024).default(256 * 1024),
|
|
14
|
+
maxProtocolBytes: Schema.natural().min(4 * 1_024).max(256 * 1024 * 1024).default(16 * 1024 * 1024),
|
|
15
|
+
maxProtocolMessages: Schema.natural().min(16).max(1_000_000).default(10_000),
|
|
16
|
+
maxOutputBytes: Schema.natural().min(1_024).max(64 * 1024 * 1024).default(2 * 1024 * 1024),
|
|
17
|
+
maxStderrBytes: Schema.natural().min(256).max(4 * 1024 * 1024).default(32 * 1024),
|
|
18
|
+
maxPromptBytes: Schema.natural().min(1_024).max(64 * 1024 * 1024).default(128 * 1024),
|
|
19
|
+
extraEnvNames: Schema.array(Schema.string().pattern(/^[A-Za-z_][A-Za-z0-9_]*$/)).default([]),
|
|
20
|
+
logDiagnostics: Schema.boolean().default(false),
|
|
21
|
+
});
|
|
22
|
+
export function normalizeConfig(input) {
|
|
23
|
+
const config = Config(input);
|
|
24
|
+
if (new Set(config.models).size !== config.models.length) {
|
|
25
|
+
throw new Error('duplicate model id in models');
|
|
26
|
+
}
|
|
27
|
+
return config;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
import { TRAEX_PROVIDER_ROUTE, TraexAcpAdapter } from './adapter.js';
|
|
3
|
+
import { Config, type TraexAcpProviderConfig } from './config.js';
|
|
4
|
+
import { version } from './version.js';
|
|
5
|
+
export declare const name = "dsh-enhanced-traex-acp-provider";
|
|
6
|
+
export declare const inject: string[];
|
|
7
|
+
export { Config, TRAEX_PROVIDER_ROUTE, TraexAcpAdapter, version };
|
|
8
|
+
export { CatalogObservationCache, catalogCacheKey } from './catalog-cache.js';
|
|
9
|
+
export { ACP_USAGE_DSH_MAPPING_GATE } from './acp-client.js';
|
|
10
|
+
export type { CatalogCacheKeyParts, CachedCatalog } from './catalog-cache.js';
|
|
11
|
+
export type { TraexAcpProviderConfig };
|
|
12
|
+
export declare function apply(ctx: Context, input?: TraexAcpProviderConfig): void;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAoB,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,EAAE,MAAM,EAAmB,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,eAAO,MAAM,IAAI,oCAAoC,CAAA;AACrD,eAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA;AACjE,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC7E,YAAY,EAAE,sBAAsB,EAAE,CAAA;AAEtC,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAiCxE"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { redactDiagnostic, TRAEX_PROVIDER_ROUTE, TraexAcpAdapter } from './adapter.js';
|
|
2
|
+
import { Config, normalizeConfig } from './config.js';
|
|
3
|
+
import { version } from './version.js';
|
|
4
|
+
export const name = 'dsh-enhanced-traex-acp-provider';
|
|
5
|
+
export const inject = ['llm'];
|
|
6
|
+
export { Config, TRAEX_PROVIDER_ROUTE, TraexAcpAdapter, version };
|
|
7
|
+
export { CatalogObservationCache, catalogCacheKey } from './catalog-cache.js';
|
|
8
|
+
export { ACP_USAGE_DSH_MAPPING_GATE } from './acp-client.js';
|
|
9
|
+
export function apply(ctx, input) {
|
|
10
|
+
const config = normalizeConfig(input);
|
|
11
|
+
if (!config.enabled) {
|
|
12
|
+
ctx.logger.warn('dsh-enhanced-traex-acp-provider: disabled until config.enabled is true');
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const adapter = new TraexAcpAdapter(config, {
|
|
16
|
+
onDiagnostic(diagnostic) {
|
|
17
|
+
if (config.logDiagnostics) {
|
|
18
|
+
ctx.logger.warn(`${TRAEX_PROVIDER_ROUTE} diagnostic: ${redactDiagnostic(diagnostic)}`);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
ctx.logger.warn(`${TRAEX_PROVIDER_ROUTE} wrote to stderr; content withheld (set logDiagnostics to inspect a redacted tail)`);
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
onSettled(context) {
|
|
25
|
+
// Credential-free lifecycle facts only; useful for diagnosing which phase a turn settled in.
|
|
26
|
+
const detail = `phase=${context.phase} submission=${context.promptSubmissionState}`
|
|
27
|
+
+ ` textForwarded=${context.assistantTextForwarded}`
|
|
28
|
+
+ (context.teardownState !== undefined ? ` teardown=${context.teardownState}` : '')
|
|
29
|
+
+ (context.metrics !== undefined ? ` metrics=${JSON.stringify(context.metrics)}` : '')
|
|
30
|
+
+ (context.usage !== undefined ? ` usage=${JSON.stringify(context.usage)}` : '');
|
|
31
|
+
if (context.outcome === 'ok')
|
|
32
|
+
ctx.logger.debug(`${TRAEX_PROVIDER_ROUTE} settled ok (${detail})`);
|
|
33
|
+
else
|
|
34
|
+
ctx.logger.info(`${TRAEX_PROVIDER_ROUTE} settled ${context.outcome} (${detail})`);
|
|
35
|
+
},
|
|
36
|
+
onCatalogObserved(observation) {
|
|
37
|
+
// Non-authoritative and diagnostic-only. ACP model ids are not length- or
|
|
38
|
+
// control-char-bounded, so only the count is logged; raw ids are never emitted.
|
|
39
|
+
ctx.logger.debug(`${TRAEX_PROVIDER_ROUTE} observed ${observation.modelValues.length} model(s)`);
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
ctx.llm.registerAdapter([TRAEX_PROVIDER_ROUTE], adapter);
|
|
43
|
+
ctx.effect(() => () => adapter.shutdown(), 'dsh-enhanced-traex-acp-provider.processes');
|
|
44
|
+
ctx.logger.info(`TraeX ACP provider registered: ${TRAEX_PROVIDER_ROUTE}`);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/prompt.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { GenerateOptions } from '@deepseek-ai/dsh-llm';
|
|
2
|
+
/** Serialize one provider-neutral DSH call into a stateless TraeX ACP turn. */
|
|
3
|
+
export declare function buildPrompt(options: GenerateOptions, maxPromptBytes: number): string;
|
|
4
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,eAAe,EAAW,MAAM,sBAAsB,CAAA;AA4ClF,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAqBpF"}
|
package/lib/prompt.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
function serializeBlock(block) {
|
|
2
|
+
switch (block.type) {
|
|
3
|
+
case 'text':
|
|
4
|
+
return { type: 'text', text: block.text };
|
|
5
|
+
case 'reasoning':
|
|
6
|
+
return { type: 'reasoning-omitted' };
|
|
7
|
+
case 'tool-call':
|
|
8
|
+
return { type: 'tool-call', id: block.id, name: block.name, arguments: block.arguments };
|
|
9
|
+
case 'tool-result':
|
|
10
|
+
return {
|
|
11
|
+
type: 'tool-result',
|
|
12
|
+
toolCallId: block.toolCallId,
|
|
13
|
+
...(block.isError === undefined ? {} : { isError: block.isError }),
|
|
14
|
+
content: block.content.map(serializeBlock),
|
|
15
|
+
};
|
|
16
|
+
case 'image':
|
|
17
|
+
throw new Error('TraeX ACP provider currently accepts text-only DSH requests');
|
|
18
|
+
default:
|
|
19
|
+
throw new Error(`TraeX ACP provider does not support content block type: ${String(block.type)}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function serializeMessage(message) {
|
|
23
|
+
return { role: message.role, content: message.content.map(serializeBlock) };
|
|
24
|
+
}
|
|
25
|
+
/** Serialize one provider-neutral DSH call into a stateless TraeX ACP turn. */
|
|
26
|
+
export function buildPrompt(options, maxPromptBytes) {
|
|
27
|
+
const request = {
|
|
28
|
+
protocol: 'dsh-traex-acp-provider/v1',
|
|
29
|
+
instruction: 'Continue the conversation as the assistant. Return only the next assistant response. Do not modify files or execute commands.',
|
|
30
|
+
system: options.system ?? null,
|
|
31
|
+
conversation: options.messages.map(serializeMessage),
|
|
32
|
+
constraints: {
|
|
33
|
+
tools: 'DSH tool schemas are not delegated through this text compatibility adapter.',
|
|
34
|
+
stop: options.stop ?? null,
|
|
35
|
+
maxTokens: options.maxTokens ?? null,
|
|
36
|
+
temperature: options.temperature ?? null,
|
|
37
|
+
reasoningEffort: options.reasoningEffort ?? null,
|
|
38
|
+
purpose: options.purpose ?? null,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
const prompt = `Act as a text model backend for DeepSeek Harness. The JSON request follows.\n${JSON.stringify(request)}`;
|
|
42
|
+
const size = Buffer.byteLength(prompt, 'utf8');
|
|
43
|
+
if (size > maxPromptBytes) {
|
|
44
|
+
throw new Error(`serialized DSH request is ${size} bytes; configured limit is ${maxPromptBytes}`);
|
|
45
|
+
}
|
|
46
|
+
return prompt;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAkBA,SAAS,cAAc,CAAC,KAAmB;IACzC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;QAC3C,KAAK,WAAW;YACd,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAA;QACtC,KAAK,WAAW;YACd,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;QAC1F,KAAK,aAAa;YAChB,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;aAC3C,CAAA;QACH,KAAK,OAAO;YACV,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAChF;YACE,MAAM,IAAI,KAAK,CAAC,2DAA2D,MAAM,CAAE,KAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC5H,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACxC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAA;AAC7E,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,OAAwB,EAAE,cAAsB;IAC1E,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,2BAA2B;QACrC,WAAW,EAAE,+HAA+H;QAC5I,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;QAC9B,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACpD,WAAW,EAAE;YACX,KAAK,EAAE,6EAA6E;YACpF,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;YACxC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;YAChD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;SACjC;KACF,CAAA;IACD,MAAM,MAAM,GAAG,gFAAgF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAA;IACxH,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,IAAI,IAAI,GAAG,cAAc,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,+BAA+B,cAAc,EAAE,CAAC,CAAA;IACnG,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/lib/version.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA"}
|
package/lib/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@dsh-enhanced/traex-acp-provider",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Use a local TraeX coding agent as a DeepSeek Harness model provider over ACP.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./lib/index.js",
|
|
8
|
+
"types": "./lib/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./lib/index.d.ts",
|
|
12
|
+
"default": "./lib/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
15
|
+
"./package.json": "./package.json"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"lib",
|
|
19
|
+
"cordis.patch.yml",
|
|
20
|
+
"README.md",
|
|
21
|
+
"LICENSE"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "tsc -p tsconfig.build.json",
|
|
25
|
+
"prepack": "pnpm run build",
|
|
26
|
+
"test": "vitest run",
|
|
27
|
+
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
28
|
+
},
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": "^22.19.0 || >=24.0.0"
|
|
31
|
+
},
|
|
32
|
+
"publishConfig": {
|
|
33
|
+
"access": "public"
|
|
34
|
+
},
|
|
35
|
+
"repository": {
|
|
36
|
+
"type": "git",
|
|
37
|
+
"url": "git+https://github.com/22-ai-00/dsh-enhanced.git",
|
|
38
|
+
"directory": "plugins/traex-acp-provider"
|
|
39
|
+
},
|
|
40
|
+
"keywords": [
|
|
41
|
+
"acp",
|
|
42
|
+
"deepseek",
|
|
43
|
+
"deepseek-harness",
|
|
44
|
+
"dsh-plugin",
|
|
45
|
+
"trae",
|
|
46
|
+
"traex"
|
|
47
|
+
],
|
|
48
|
+
"dsh": {
|
|
49
|
+
"bundle": {
|
|
50
|
+
"patch": "./cordis.patch.yml"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@agentclientprotocol/sdk": "catalog:",
|
|
55
|
+
"@deepseek-ai/schemastery": "catalog:",
|
|
56
|
+
"zod": "catalog:"
|
|
57
|
+
},
|
|
58
|
+
"peerDependencies": {
|
|
59
|
+
"@deepseek-ai/cordis": "^4.0.1",
|
|
60
|
+
"@deepseek-ai/dsh-llm": ">=0.1.0-rc.6 <0.2.0"
|
|
61
|
+
},
|
|
62
|
+
"devDependencies": {
|
|
63
|
+
"@deepseek-ai/cordis": "catalog:",
|
|
64
|
+
"@deepseek-ai/dsh-llm": "catalog:",
|
|
65
|
+
"@types/node": "catalog:",
|
|
66
|
+
"typescript": "catalog:",
|
|
67
|
+
"vitest": "catalog:"
|
|
68
|
+
}
|
|
69
|
+
}
|