vexp-mcp 1.2.28 → 1.3.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/dist/daemon-client.d.ts +20 -0
- package/dist/daemon-client.d.ts.map +1 -1
- package/dist/daemon-client.js +82 -0
- package/dist/daemon-client.js.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/expand-vexp-ref.d.ts +26 -0
- package/dist/tools/expand-vexp-ref.d.ts.map +1 -0
- package/dist/tools/expand-vexp-ref.js +41 -0
- package/dist/tools/expand-vexp-ref.js.map +1 -0
- package/dist/tools/run-pipeline.d.ts +3 -0
- package/dist/tools/run-pipeline.d.ts.map +1 -1
- package/dist/tools/run-pipeline.js +4 -0
- package/dist/tools/run-pipeline.js.map +1 -1
- package/package.json +1 -1
- package/src/daemon-client.ts +117 -0
- package/src/index.ts +9 -0
- package/src/tools/expand-vexp-ref.ts +63 -0
- package/src/tools/run-pipeline.ts +4 -0
package/dist/daemon-client.d.ts
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
interface StreamChunk {
|
|
2
|
+
id: number;
|
|
3
|
+
type: "chunk" | "result";
|
|
4
|
+
step?: string;
|
|
5
|
+
steps_executed?: number;
|
|
6
|
+
steps_total?: number;
|
|
7
|
+
elapsed_ms?: number;
|
|
8
|
+
response?: SocketResponse;
|
|
9
|
+
}
|
|
10
|
+
interface SocketResponse {
|
|
11
|
+
type: "response" | "error";
|
|
12
|
+
result?: unknown;
|
|
13
|
+
message?: string;
|
|
14
|
+
}
|
|
1
15
|
/**
|
|
2
16
|
* Client per comunicare con il vexp-core daemon via Unix socket / Named pipe.
|
|
3
17
|
* Protocol: JSON lines (newline-delimited JSON).
|
|
@@ -15,10 +29,16 @@ export declare class DaemonClient {
|
|
|
15
29
|
* Invia una richiesta al daemon con retry per errori di connessione transienti.
|
|
16
30
|
*/
|
|
17
31
|
call(tool: string, params: unknown): Promise<unknown>;
|
|
32
|
+
/**
|
|
33
|
+
* Call a tool with streaming support. Returns the final result.
|
|
34
|
+
* The onChunk callback is called for each intermediate progress chunk.
|
|
35
|
+
*/
|
|
36
|
+
callStreaming(tool: string, params: unknown, onChunk?: (chunk: StreamChunk) => void): Promise<unknown>;
|
|
18
37
|
private callOnce;
|
|
19
38
|
/**
|
|
20
39
|
* Verifica se il daemon è raggiungibile
|
|
21
40
|
*/
|
|
22
41
|
health(): Promise<boolean>;
|
|
23
42
|
}
|
|
43
|
+
export {};
|
|
24
44
|
//# sourceMappingURL=daemon-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-client.d.ts","sourceRoot":"","sources":["../src/daemon-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"daemon-client.d.ts","sourceRoot":"","sources":["../src/daemon-client.ts"],"names":[],"mappings":"AAaA,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAQ;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAqD;gBAEhF,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAKnD,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAK/B;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB3D;;;OAGG;IACG,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GACrC,OAAO,CAAC,OAAO,CAAC;YAkGL,QAAQ;IAiEtB;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAQjC"}
|
package/dist/daemon-client.js
CHANGED
|
@@ -43,6 +43,88 @@ export class DaemonClient {
|
|
|
43
43
|
}
|
|
44
44
|
throw lastError;
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Call a tool with streaming support. Returns the final result.
|
|
48
|
+
* The onChunk callback is called for each intermediate progress chunk.
|
|
49
|
+
*/
|
|
50
|
+
async callStreaming(tool, params, onChunk) {
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
const id = ++this.requestCounter;
|
|
53
|
+
const request = {
|
|
54
|
+
id,
|
|
55
|
+
tool,
|
|
56
|
+
params,
|
|
57
|
+
session_id: this.sessionId,
|
|
58
|
+
stream: true,
|
|
59
|
+
};
|
|
60
|
+
const requestLine = JSON.stringify(request) + "\n";
|
|
61
|
+
let client;
|
|
62
|
+
let responseBuffer = "";
|
|
63
|
+
let settled = false;
|
|
64
|
+
const timeout = setTimeout(() => {
|
|
65
|
+
if (!settled) {
|
|
66
|
+
settled = true;
|
|
67
|
+
client?.destroy();
|
|
68
|
+
reject(new Error(`Timeout: no streaming response from daemon for tool '${tool}' after 60s`));
|
|
69
|
+
}
|
|
70
|
+
}, 60_000); // Longer timeout for streaming
|
|
71
|
+
const settle = (fn) => {
|
|
72
|
+
if (!settled) {
|
|
73
|
+
settled = true;
|
|
74
|
+
clearTimeout(timeout);
|
|
75
|
+
fn();
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
if (process.platform === "win32") {
|
|
79
|
+
client = net.createConnection(this.socketPath);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
client = net.createConnection({ path: this.socketPath });
|
|
83
|
+
}
|
|
84
|
+
client.on("connect", () => {
|
|
85
|
+
client.write(requestLine);
|
|
86
|
+
});
|
|
87
|
+
client.on("data", (data) => {
|
|
88
|
+
responseBuffer += data.toString();
|
|
89
|
+
// Process all complete lines
|
|
90
|
+
let newlineIndex;
|
|
91
|
+
while ((newlineIndex = responseBuffer.indexOf("\n")) !== -1) {
|
|
92
|
+
const line = responseBuffer.slice(0, newlineIndex);
|
|
93
|
+
responseBuffer = responseBuffer.slice(newlineIndex + 1);
|
|
94
|
+
if (!line.trim())
|
|
95
|
+
continue;
|
|
96
|
+
try {
|
|
97
|
+
const msg = JSON.parse(line);
|
|
98
|
+
if (msg.type === "chunk") {
|
|
99
|
+
onChunk?.(msg);
|
|
100
|
+
}
|
|
101
|
+
else if (msg.type === "result") {
|
|
102
|
+
client.destroy();
|
|
103
|
+
const resp = msg.response;
|
|
104
|
+
if (resp?.type === "response") {
|
|
105
|
+
settle(() => resolve(resp.result));
|
|
106
|
+
}
|
|
107
|
+
else if (resp?.type === "error") {
|
|
108
|
+
settle(() => reject(new Error(resp.message ?? "Daemon error")));
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
settle(() => resolve(resp));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
// Ignore unparseable lines
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
client.on("error", (err) => {
|
|
121
|
+
settle(() => reject(new Error(`Daemon connection error: ${err.message}. Is vexp daemon running?`)));
|
|
122
|
+
});
|
|
123
|
+
client.on("close", () => {
|
|
124
|
+
settle(() => reject(new Error("Daemon connection closed unexpectedly")));
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
}
|
|
46
128
|
async callOnce(tool, params) {
|
|
47
129
|
return new Promise((resolve, reject) => {
|
|
48
130
|
const id = ++this.requestCounter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../src/daemon-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../src/daemon-client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,6 +17,7 @@ import { GET_SESSION_CONTEXT_DEFINITION, handleGetSessionContext, } from "./tool
|
|
|
17
17
|
import { SEARCH_MEMORY_DEFINITION, handleSearchMemory, } from "./tools/search-memory.js";
|
|
18
18
|
import { SAVE_OBSERVATION_DEFINITION, handleSaveObservation, } from "./tools/save-observation.js";
|
|
19
19
|
import { RUN_PIPELINE_DEFINITION, handleRunPipeline, } from "./tools/run-pipeline.js";
|
|
20
|
+
import { EXPAND_VEXP_REF_DEFINITION, handleExpandVexpRef, } from "./tools/expand-vexp-ref.js";
|
|
20
21
|
const ALL_TOOL_DEFINITIONS = [
|
|
21
22
|
RUN_PIPELINE_DEFINITION,
|
|
22
23
|
GET_CONTEXT_CAPSULE_DEFINITION,
|
|
@@ -28,6 +29,7 @@ const ALL_TOOL_DEFINITIONS = [
|
|
|
28
29
|
GET_SESSION_CONTEXT_DEFINITION,
|
|
29
30
|
SEARCH_MEMORY_DEFINITION,
|
|
30
31
|
SAVE_OBSERVATION_DEFINITION,
|
|
32
|
+
EXPAND_VEXP_REF_DEFINITION,
|
|
31
33
|
];
|
|
32
34
|
// Free plan: core tools + all memory tools (memory is the showcase).
|
|
33
35
|
const FREE_TOOL_NAMES = new Set([
|
|
@@ -38,6 +40,7 @@ const FREE_TOOL_NAMES = new Set([
|
|
|
38
40
|
"get_session_context",
|
|
39
41
|
"search_memory",
|
|
40
42
|
"save_observation",
|
|
43
|
+
"expand_vexp_ref",
|
|
41
44
|
]);
|
|
42
45
|
import { isAllToolsEnabled } from "./license.js";
|
|
43
46
|
const allToolsEnabled = isAllToolsEnabled();
|
|
@@ -123,6 +126,9 @@ function createMcpServer(daemon) {
|
|
|
123
126
|
case "run_pipeline":
|
|
124
127
|
text = await handleRunPipeline(args, daemon);
|
|
125
128
|
break;
|
|
129
|
+
case "expand_vexp_ref":
|
|
130
|
+
text = await handleExpandVexpRef(args, daemon);
|
|
131
|
+
break;
|
|
126
132
|
default:
|
|
127
133
|
return {
|
|
128
134
|
isError: true,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { DaemonClient } from "../daemon-client.js";
|
|
3
|
+
export declare const ExpandVexpRefSchema: z.ZodObject<{
|
|
4
|
+
hash: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
hash: string;
|
|
7
|
+
}, {
|
|
8
|
+
hash: string;
|
|
9
|
+
}>;
|
|
10
|
+
export type ExpandVexpRefParams = z.infer<typeof ExpandVexpRefSchema>;
|
|
11
|
+
export declare const EXPAND_VEXP_REF_DEFINITION: {
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
inputSchema: {
|
|
15
|
+
type: "object";
|
|
16
|
+
properties: {
|
|
17
|
+
hash: {
|
|
18
|
+
type: string;
|
|
19
|
+
description: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
required: string[];
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare function handleExpandVexpRef(params: unknown, daemon: DaemonClient): Promise<string>;
|
|
26
|
+
//# sourceMappingURL=expand-vexp-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expand-vexp-ref.d.ts","sourceRoot":"","sources":["../../src/tools/expand-vexp-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;CAkBtC,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAIjB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const ExpandVexpRefSchema = z.object({
|
|
3
|
+
hash: z.string().describe("The V-REF hash to expand (e.g., 'a1b2c3d4e5f6')"),
|
|
4
|
+
});
|
|
5
|
+
export const EXPAND_VEXP_REF_DEFINITION = {
|
|
6
|
+
name: "expand_vexp_ref",
|
|
7
|
+
description: "Expand a V-REF hash to its full decoded content. " +
|
|
8
|
+
"When Vexp v2 compressed context contains [V-REF:xxxx] references " +
|
|
9
|
+
"that were not pre-expanded in the bootstrap header, call this tool " +
|
|
10
|
+
"to retrieve the original code. Returns both the encoded (camouflaged) " +
|
|
11
|
+
"and decoded (original) versions of the referenced code.",
|
|
12
|
+
inputSchema: {
|
|
13
|
+
type: "object",
|
|
14
|
+
properties: {
|
|
15
|
+
hash: {
|
|
16
|
+
type: "string",
|
|
17
|
+
description: "The V-REF hash to expand (12 hex characters)",
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
required: ["hash"],
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
export async function handleExpandVexpRef(params, daemon) {
|
|
24
|
+
const validated = ExpandVexpRefSchema.parse(params);
|
|
25
|
+
const result = (await daemon.call("expand_vexp_ref", validated));
|
|
26
|
+
return formatVRefResult(result);
|
|
27
|
+
}
|
|
28
|
+
function formatVRefResult(result) {
|
|
29
|
+
if (!result.found) {
|
|
30
|
+
return `V-REF \`${result.hash}\` not found. ${result.message || "It may have expired or belong to a different session."}`;
|
|
31
|
+
}
|
|
32
|
+
let out = `# V-REF Expansion: ${result.hash}\n\n`;
|
|
33
|
+
if (result.decoded) {
|
|
34
|
+
out += `## Decoded (Original Code)\n\`\`\`\n${result.decoded}\n\`\`\`\n\n`;
|
|
35
|
+
}
|
|
36
|
+
if (result.encoded) {
|
|
37
|
+
out += `## Encoded (Camouflaged)\n${result.encoded}\n`;
|
|
38
|
+
}
|
|
39
|
+
return out;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=expand-vexp-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expand-vexp-ref.js","sourceRoot":"","sources":["../../src/tools/expand-vexp-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;CAC7E,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,mDAAmD;QACnD,mEAAmE;QACnE,qEAAqE;QACrE,wEAAwE;QACxE,yDAAyD;IAC3D,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8CAA8C;aAC5D;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAe,EACf,MAAoB;IAEpB,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAe,CAAC;IAC/E,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAUD,SAAS,gBAAgB,CAAC,MAAkB;IAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,WAAW,MAAM,CAAC,IAAI,iBAAiB,MAAM,CAAC,OAAO,IAAI,uDAAuD,EAAE,CAAC;IAC5H,CAAC;IAED,IAAI,GAAG,GAAG,sBAAsB,MAAM,CAAC,IAAI,MAAM,CAAC;IAElD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,GAAG,IAAI,uCAAuC,MAAM,CAAC,OAAO,cAAc,CAAC;IAC7E,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,GAAG,IAAI,6BAA6B,MAAM,CAAC,OAAO,IAAI,CAAC;IACzD,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -18,6 +18,7 @@ export declare const RunPipelineSchema: z.ZodObject<{
|
|
|
18
18
|
include_file_content: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>, boolean, unknown>;
|
|
19
19
|
repos: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodString, "many">>, string[] | undefined, unknown>;
|
|
20
20
|
observation: z.ZodOptional<z.ZodString>;
|
|
21
|
+
output_mode: z.ZodOptional<z.ZodEnum<["legacy", "v2"]>>;
|
|
21
22
|
}, "strip", z.ZodTypeAny, {
|
|
22
23
|
max_tokens: number;
|
|
23
24
|
include_tests: boolean;
|
|
@@ -30,6 +31,7 @@ export declare const RunPipelineSchema: z.ZodObject<{
|
|
|
30
31
|
params?: Record<string, unknown> | undefined;
|
|
31
32
|
}[] | undefined;
|
|
32
33
|
observation?: string | undefined;
|
|
34
|
+
output_mode?: "legacy" | "v2" | undefined;
|
|
33
35
|
}, {
|
|
34
36
|
task: string;
|
|
35
37
|
repos?: unknown;
|
|
@@ -42,6 +44,7 @@ export declare const RunPipelineSchema: z.ZodObject<{
|
|
|
42
44
|
}[] | undefined;
|
|
43
45
|
include_file_content?: unknown;
|
|
44
46
|
observation?: string | undefined;
|
|
47
|
+
output_mode?: "legacy" | "v2" | undefined;
|
|
45
48
|
}>;
|
|
46
49
|
export type RunPipelineParams = z.infer<typeof RunPipelineSchema>;
|
|
47
50
|
export declare const RUN_PIPELINE_DEFINITION: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-pipeline.d.ts","sourceRoot":"","sources":["../../src/tools/run-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"run-pipeline.d.ts","sourceRoot":"","sources":["../../src/tools/run-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkD5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEnC,CAAC;AAWF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAOjB"}
|
|
@@ -44,6 +44,10 @@ export const RunPipelineSchema = z.object({
|
|
|
44
44
|
.string()
|
|
45
45
|
.optional()
|
|
46
46
|
.describe("Auto-save this observation after pipeline completes"),
|
|
47
|
+
output_mode: z
|
|
48
|
+
.enum(["legacy", "v2"])
|
|
49
|
+
.optional()
|
|
50
|
+
.describe("Output format: 'legacy' (readable skeletons) or 'v2' (IR+camouflage, ultra-dense)"),
|
|
47
51
|
});
|
|
48
52
|
export const RUN_PIPELINE_DEFINITION = {
|
|
49
53
|
name: "run_pipeline",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-pipeline.js","sourceRoot":"","sources":["../../src/tools/run-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrD,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;SACxD,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;YACX,SAAS;YACT,QAAQ;YACR,MAAM;YACN,UAAU;YACV,eAAe;YACf,kBAAkB;SACnB,CAAC;QACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;KACzC,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IACnE,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;SACrC,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC,CAAC;SACf,QAAQ,CAAC,mDAAmD,CAAC;IAChE,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;SACtC,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC,CAAC;SACf,QAAQ,CAAC,oBAAoB,CAAC;IACjC,oBAAoB,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;SAC7C,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC,CAAC;SACd,QAAQ,CAAC,sDAAsD,CAAC;IACnE,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;SAC/B,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE,CAAC;SACX,QAAQ,CAAC,sCAAsC,CAAC;IACnD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"run-pipeline.js","sourceRoot":"","sources":["../../src/tools/run-pipeline.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/daemon-client.ts
CHANGED
|
@@ -8,6 +8,17 @@ interface SocketRequest {
|
|
|
8
8
|
tool: string;
|
|
9
9
|
params: unknown;
|
|
10
10
|
session_id?: string;
|
|
11
|
+
stream?: boolean;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface StreamChunk {
|
|
15
|
+
id: number;
|
|
16
|
+
type: "chunk" | "result";
|
|
17
|
+
step?: string;
|
|
18
|
+
steps_executed?: number;
|
|
19
|
+
steps_total?: number;
|
|
20
|
+
elapsed_ms?: number;
|
|
21
|
+
response?: SocketResponse;
|
|
11
22
|
}
|
|
12
23
|
|
|
13
24
|
interface SocketResponse {
|
|
@@ -64,6 +75,112 @@ export class DaemonClient {
|
|
|
64
75
|
throw lastError!;
|
|
65
76
|
}
|
|
66
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Call a tool with streaming support. Returns the final result.
|
|
80
|
+
* The onChunk callback is called for each intermediate progress chunk.
|
|
81
|
+
*/
|
|
82
|
+
async callStreaming(
|
|
83
|
+
tool: string,
|
|
84
|
+
params: unknown,
|
|
85
|
+
onChunk?: (chunk: StreamChunk) => void
|
|
86
|
+
): Promise<unknown> {
|
|
87
|
+
return new Promise((resolve, reject) => {
|
|
88
|
+
const id = ++this.requestCounter;
|
|
89
|
+
const request: SocketRequest = {
|
|
90
|
+
id,
|
|
91
|
+
tool,
|
|
92
|
+
params,
|
|
93
|
+
session_id: this.sessionId,
|
|
94
|
+
stream: true,
|
|
95
|
+
};
|
|
96
|
+
const requestLine = JSON.stringify(request) + "\n";
|
|
97
|
+
|
|
98
|
+
let client: net.Socket;
|
|
99
|
+
let responseBuffer = "";
|
|
100
|
+
let settled = false;
|
|
101
|
+
|
|
102
|
+
const timeout = setTimeout(() => {
|
|
103
|
+
if (!settled) {
|
|
104
|
+
settled = true;
|
|
105
|
+
client?.destroy();
|
|
106
|
+
reject(
|
|
107
|
+
new Error(
|
|
108
|
+
`Timeout: no streaming response from daemon for tool '${tool}' after 60s`
|
|
109
|
+
)
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
}, 60_000); // Longer timeout for streaming
|
|
113
|
+
|
|
114
|
+
const settle = (fn: () => void) => {
|
|
115
|
+
if (!settled) {
|
|
116
|
+
settled = true;
|
|
117
|
+
clearTimeout(timeout);
|
|
118
|
+
fn();
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
if (process.platform === "win32") {
|
|
123
|
+
client = net.createConnection(this.socketPath);
|
|
124
|
+
} else {
|
|
125
|
+
client = net.createConnection({ path: this.socketPath });
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
client.on("connect", () => {
|
|
129
|
+
client.write(requestLine);
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
client.on("data", (data: Buffer) => {
|
|
133
|
+
responseBuffer += data.toString();
|
|
134
|
+
// Process all complete lines
|
|
135
|
+
let newlineIndex: number;
|
|
136
|
+
while ((newlineIndex = responseBuffer.indexOf("\n")) !== -1) {
|
|
137
|
+
const line = responseBuffer.slice(0, newlineIndex);
|
|
138
|
+
responseBuffer = responseBuffer.slice(newlineIndex + 1);
|
|
139
|
+
|
|
140
|
+
if (!line.trim()) continue;
|
|
141
|
+
|
|
142
|
+
try {
|
|
143
|
+
const msg: StreamChunk = JSON.parse(line);
|
|
144
|
+
if (msg.type === "chunk") {
|
|
145
|
+
onChunk?.(msg);
|
|
146
|
+
} else if (msg.type === "result") {
|
|
147
|
+
client.destroy();
|
|
148
|
+
const resp = msg.response;
|
|
149
|
+
if (resp?.type === "response") {
|
|
150
|
+
settle(() => resolve(resp.result));
|
|
151
|
+
} else if (resp?.type === "error") {
|
|
152
|
+
settle(
|
|
153
|
+
() => reject(new Error(resp.message ?? "Daemon error"))
|
|
154
|
+
);
|
|
155
|
+
} else {
|
|
156
|
+
settle(() => resolve(resp));
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
} catch {
|
|
160
|
+
// Ignore unparseable lines
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
client.on("error", (err: Error) => {
|
|
166
|
+
settle(
|
|
167
|
+
() =>
|
|
168
|
+
reject(
|
|
169
|
+
new Error(
|
|
170
|
+
`Daemon connection error: ${err.message}. Is vexp daemon running?`
|
|
171
|
+
)
|
|
172
|
+
)
|
|
173
|
+
);
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
client.on("close", () => {
|
|
177
|
+
settle(
|
|
178
|
+
() => reject(new Error("Daemon connection closed unexpectedly"))
|
|
179
|
+
);
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
|
|
67
184
|
private async callOnce(tool: string, params: unknown): Promise<unknown> {
|
|
68
185
|
return new Promise((resolve, reject) => {
|
|
69
186
|
const id = ++this.requestCounter;
|
package/src/index.ts
CHANGED
|
@@ -50,6 +50,10 @@ import {
|
|
|
50
50
|
RUN_PIPELINE_DEFINITION,
|
|
51
51
|
handleRunPipeline,
|
|
52
52
|
} from "./tools/run-pipeline.js";
|
|
53
|
+
import {
|
|
54
|
+
EXPAND_VEXP_REF_DEFINITION,
|
|
55
|
+
handleExpandVexpRef,
|
|
56
|
+
} from "./tools/expand-vexp-ref.js";
|
|
53
57
|
|
|
54
58
|
const ALL_TOOL_DEFINITIONS = [
|
|
55
59
|
RUN_PIPELINE_DEFINITION,
|
|
@@ -62,6 +66,7 @@ const ALL_TOOL_DEFINITIONS = [
|
|
|
62
66
|
GET_SESSION_CONTEXT_DEFINITION,
|
|
63
67
|
SEARCH_MEMORY_DEFINITION,
|
|
64
68
|
SAVE_OBSERVATION_DEFINITION,
|
|
69
|
+
EXPAND_VEXP_REF_DEFINITION,
|
|
65
70
|
];
|
|
66
71
|
|
|
67
72
|
// Free plan: core tools + all memory tools (memory is the showcase).
|
|
@@ -73,6 +78,7 @@ const FREE_TOOL_NAMES = new Set([
|
|
|
73
78
|
"get_session_context",
|
|
74
79
|
"search_memory",
|
|
75
80
|
"save_observation",
|
|
81
|
+
"expand_vexp_ref",
|
|
76
82
|
]);
|
|
77
83
|
|
|
78
84
|
import { isAllToolsEnabled } from "./license.js";
|
|
@@ -170,6 +176,9 @@ function createMcpServer(daemon: DaemonClient): Server {
|
|
|
170
176
|
case "run_pipeline":
|
|
171
177
|
text = await handleRunPipeline(args, daemon);
|
|
172
178
|
break;
|
|
179
|
+
case "expand_vexp_ref":
|
|
180
|
+
text = await handleExpandVexpRef(args, daemon);
|
|
181
|
+
break;
|
|
173
182
|
default:
|
|
174
183
|
return {
|
|
175
184
|
isError: true,
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { DaemonClient } from "../daemon-client.js";
|
|
3
|
+
|
|
4
|
+
export const ExpandVexpRefSchema = z.object({
|
|
5
|
+
hash: z.string().describe("The V-REF hash to expand (e.g., 'a1b2c3d4e5f6')"),
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
export type ExpandVexpRefParams = z.infer<typeof ExpandVexpRefSchema>;
|
|
9
|
+
|
|
10
|
+
export const EXPAND_VEXP_REF_DEFINITION = {
|
|
11
|
+
name: "expand_vexp_ref",
|
|
12
|
+
description:
|
|
13
|
+
"Expand a V-REF hash to its full decoded content. " +
|
|
14
|
+
"When Vexp v2 compressed context contains [V-REF:xxxx] references " +
|
|
15
|
+
"that were not pre-expanded in the bootstrap header, call this tool " +
|
|
16
|
+
"to retrieve the original code. Returns both the encoded (camouflaged) " +
|
|
17
|
+
"and decoded (original) versions of the referenced code.",
|
|
18
|
+
inputSchema: {
|
|
19
|
+
type: "object" as const,
|
|
20
|
+
properties: {
|
|
21
|
+
hash: {
|
|
22
|
+
type: "string",
|
|
23
|
+
description: "The V-REF hash to expand (12 hex characters)",
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
required: ["hash"],
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export async function handleExpandVexpRef(
|
|
31
|
+
params: unknown,
|
|
32
|
+
daemon: DaemonClient,
|
|
33
|
+
): Promise<string> {
|
|
34
|
+
const validated = ExpandVexpRefSchema.parse(params);
|
|
35
|
+
const result = (await daemon.call("expand_vexp_ref", validated)) as VRefResult;
|
|
36
|
+
return formatVRefResult(result);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
interface VRefResult {
|
|
40
|
+
hash: string;
|
|
41
|
+
found: boolean;
|
|
42
|
+
encoded?: string;
|
|
43
|
+
decoded?: string;
|
|
44
|
+
message?: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function formatVRefResult(result: VRefResult): string {
|
|
48
|
+
if (!result.found) {
|
|
49
|
+
return `V-REF \`${result.hash}\` not found. ${result.message || "It may have expired or belong to a different session."}`;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
let out = `# V-REF Expansion: ${result.hash}\n\n`;
|
|
53
|
+
|
|
54
|
+
if (result.decoded) {
|
|
55
|
+
out += `## Decoded (Original Code)\n\`\`\`\n${result.decoded}\n\`\`\`\n\n`;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (result.encoded) {
|
|
59
|
+
out += `## Encoded (Camouflaged)\n${result.encoded}\n`;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return out;
|
|
63
|
+
}
|
|
@@ -48,6 +48,10 @@ export const RunPipelineSchema = z.object({
|
|
|
48
48
|
.string()
|
|
49
49
|
.optional()
|
|
50
50
|
.describe("Auto-save this observation after pipeline completes"),
|
|
51
|
+
output_mode: z
|
|
52
|
+
.enum(["legacy", "v2"])
|
|
53
|
+
.optional()
|
|
54
|
+
.describe("Output format: 'legacy' (readable skeletons) or 'v2' (IR+camouflage, ultra-dense)"),
|
|
51
55
|
});
|
|
52
56
|
|
|
53
57
|
export type RunPipelineParams = z.infer<typeof RunPipelineSchema>;
|