glm-acp-agent 1.1.3 → 1.2.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/README.md +118 -51
- package/dist/index.js +2 -2
- package/dist/llm/glm-client.d.ts +59 -1
- package/dist/llm/glm-client.d.ts.map +1 -1
- package/dist/llm/glm-client.js +135 -15
- package/dist/llm/glm-client.js.map +1 -1
- package/dist/protocol/agent.d.ts +16 -3
- package/dist/protocol/agent.d.ts.map +1 -1
- package/dist/protocol/agent.js +422 -49
- package/dist/protocol/agent.js.map +1 -1
- package/dist/protocol/image-preprocessor.js +1 -1
- package/dist/protocol/image-preprocessor.js.map +1 -1
- package/dist/protocol/session-store.d.ts +14 -2
- package/dist/protocol/session-store.d.ts.map +1 -1
- package/dist/protocol/session-store.js +27 -6
- package/dist/protocol/session-store.js.map +1 -1
- package/dist/protocol/system-prompt.d.ts.map +1 -1
- package/dist/protocol/system-prompt.js +1 -3
- package/dist/protocol/system-prompt.js.map +1 -1
- package/dist/tests/agent.test.js +395 -4
- package/dist/tests/agent.test.js.map +1 -1
- package/dist/tests/executor.test.js +69 -2
- package/dist/tests/executor.test.js.map +1 -1
- package/dist/tests/glm-client.test.js +152 -2
- package/dist/tests/glm-client.test.js.map +1 -1
- package/dist/tests/integration.test.js +50 -0
- package/dist/tests/integration.test.js.map +1 -1
- package/dist/tools/executor.d.ts +10 -1
- package/dist/tools/executor.d.ts.map +1 -1
- package/dist/tools/executor.js +77 -53
- package/dist/tools/executor.js.map +1 -1
- package/dist/tools/session-mcp-client.js +3 -1
- package/dist/tools/session-mcp-client.js.map +1 -1
- package/dist/tools/vision-mcp-client.d.ts.map +1 -1
- package/dist/tools/vision-mcp-client.js +6 -2
- package/dist/tools/vision-mcp-client.js.map +1 -1
- package/package.json +8 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import test from "node:test";
|
|
2
2
|
import assert from "node:assert/strict";
|
|
3
|
-
import { GlmClient, getAvailableModels } from "../llm/glm-client.js";
|
|
3
|
+
import { GlmClient, getAvailableModels, getDefaultModel, getContextWindow, getThoughtLevels, resolveThoughtLevel, buildThinkingParams, } from "../llm/glm-client.js";
|
|
4
4
|
test("constructor uses the coding endpoint by default", () => {
|
|
5
5
|
process.env["Z_AI_API_KEY"] = "test-key";
|
|
6
6
|
delete process.env["ACP_GLM_BASE_URL"];
|
|
@@ -40,6 +40,14 @@ function makeClient(stream) {
|
|
|
40
40
|
};
|
|
41
41
|
return c;
|
|
42
42
|
}
|
|
43
|
+
function makeClientWithCreate(create) {
|
|
44
|
+
process.env["Z_AI_API_KEY"] = "test-key";
|
|
45
|
+
const c = new GlmClient();
|
|
46
|
+
c.client = {
|
|
47
|
+
chat: { completions: { create } },
|
|
48
|
+
};
|
|
49
|
+
return c;
|
|
50
|
+
}
|
|
43
51
|
test("streamChat yields text chunks for delta.content", async () => {
|
|
44
52
|
const stream = fakeStream([
|
|
45
53
|
{ choices: [{ delta: { content: "Hel" }, finish_reason: null }] },
|
|
@@ -156,7 +164,14 @@ test("getAvailableModels returns the Coding Plan allowlist by default", () => {
|
|
|
156
164
|
delete process.env["ACP_GLM_AVAILABLE_MODELS"];
|
|
157
165
|
try {
|
|
158
166
|
const ids = getAvailableModels().map((m) => m.modelId);
|
|
159
|
-
assert.deepEqual(ids, [
|
|
167
|
+
assert.deepEqual(ids, [
|
|
168
|
+
"glm-5.2",
|
|
169
|
+
"glm-5.1",
|
|
170
|
+
"glm-5-turbo",
|
|
171
|
+
"glm-5v-turbo",
|
|
172
|
+
"glm-4.7",
|
|
173
|
+
"glm-4.5-air",
|
|
174
|
+
]);
|
|
160
175
|
assert.ok(!ids.includes("glm-4v-plus"), "glm-4v-plus must not be advertised");
|
|
161
176
|
assert.ok(!ids.includes("glm-4.6"), "glm-4.6 must not be advertised");
|
|
162
177
|
assert.ok(!ids.includes("glm-4.5"), "glm-4.5 must not be advertised");
|
|
@@ -166,6 +181,20 @@ test("getAvailableModels returns the Coding Plan allowlist by default", () => {
|
|
|
166
181
|
process.env["ACP_GLM_AVAILABLE_MODELS"] = old;
|
|
167
182
|
}
|
|
168
183
|
});
|
|
184
|
+
test("getDefaultModel returns glm-5.2 without an env override", () => {
|
|
185
|
+
const old = process.env["ACP_GLM_MODEL"];
|
|
186
|
+
delete process.env["ACP_GLM_MODEL"];
|
|
187
|
+
try {
|
|
188
|
+
assert.equal(getDefaultModel(), "glm-5.2");
|
|
189
|
+
}
|
|
190
|
+
finally {
|
|
191
|
+
if (old !== undefined)
|
|
192
|
+
process.env["ACP_GLM_MODEL"] = old;
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
test("getContextWindow reports the 1M window for glm-5.2", () => {
|
|
196
|
+
assert.equal(getContextWindow("glm-5.2"), 1_000_000);
|
|
197
|
+
});
|
|
169
198
|
test("ACP_GLM_AVAILABLE_MODELS env override still wins over the built-in list", () => {
|
|
170
199
|
const old = process.env["ACP_GLM_AVAILABLE_MODELS"];
|
|
171
200
|
process.env["ACP_GLM_AVAILABLE_MODELS"] = "custom-a, custom-b";
|
|
@@ -180,6 +209,127 @@ test("ACP_GLM_AVAILABLE_MODELS env override still wins over the built-in list",
|
|
|
180
209
|
process.env["ACP_GLM_AVAILABLE_MODELS"] = old;
|
|
181
210
|
}
|
|
182
211
|
});
|
|
212
|
+
test("streamChat auto-enables thinking for glm-5v-turbo", async () => {
|
|
213
|
+
const stream = fakeStream([{ choices: [{ delta: {}, finish_reason: "stop" }] }]);
|
|
214
|
+
let requestBody;
|
|
215
|
+
const c = makeClientWithCreate((body) => {
|
|
216
|
+
requestBody = body;
|
|
217
|
+
return Promise.resolve(stream);
|
|
218
|
+
});
|
|
219
|
+
for await (const chunk of c.streamChat([], undefined, { model: "glm-5v-turbo" })) {
|
|
220
|
+
// Drain the stream so the request is made.
|
|
221
|
+
void chunk;
|
|
222
|
+
}
|
|
223
|
+
assert.equal(requestBody?.["model"], "glm-5v-turbo");
|
|
224
|
+
assert.deepEqual(requestBody?.["thinking"], { type: "enabled" });
|
|
225
|
+
});
|
|
226
|
+
test("streamChat sends reasoning_effort when level is set on glm-5.2", async () => {
|
|
227
|
+
const stream = fakeStream([{ choices: [{ delta: {}, finish_reason: "stop" }] }]);
|
|
228
|
+
let requestBody;
|
|
229
|
+
const c = makeClientWithCreate((body) => {
|
|
230
|
+
requestBody = body;
|
|
231
|
+
return Promise.resolve(stream);
|
|
232
|
+
});
|
|
233
|
+
for await (const chunk of c.streamChat([], undefined, { model: "glm-5.2", reasoningEffort: "high" })) {
|
|
234
|
+
void chunk;
|
|
235
|
+
}
|
|
236
|
+
assert.deepEqual(requestBody?.["thinking"], { type: "enabled" });
|
|
237
|
+
assert.equal(requestBody?.["reasoning_effort"], "high");
|
|
238
|
+
});
|
|
239
|
+
test("streamChat does not send reasoning_effort for non-5.2 models", async () => {
|
|
240
|
+
const stream = fakeStream([{ choices: [{ delta: {}, finish_reason: "stop" }] }]);
|
|
241
|
+
let requestBody;
|
|
242
|
+
const c = makeClientWithCreate((body) => {
|
|
243
|
+
requestBody = body;
|
|
244
|
+
return Promise.resolve(stream);
|
|
245
|
+
});
|
|
246
|
+
for await (const chunk of c.streamChat([], undefined, { model: "glm-5.1", reasoningEffort: "high" })) {
|
|
247
|
+
void chunk;
|
|
248
|
+
}
|
|
249
|
+
assert.deepEqual(requestBody?.["thinking"], { type: "enabled" });
|
|
250
|
+
assert.equal(requestBody?.["reasoning_effort"], undefined);
|
|
251
|
+
});
|
|
252
|
+
test("streamChat disables thinking when effort is none", async () => {
|
|
253
|
+
const stream = fakeStream([{ choices: [{ delta: {}, finish_reason: "stop" }] }]);
|
|
254
|
+
let requestBody;
|
|
255
|
+
const c = makeClientWithCreate((body) => {
|
|
256
|
+
requestBody = body;
|
|
257
|
+
return Promise.resolve(stream);
|
|
258
|
+
});
|
|
259
|
+
for await (const chunk of c.streamChat([], undefined, { model: "glm-5.2", reasoningEffort: "none" })) {
|
|
260
|
+
void chunk;
|
|
261
|
+
}
|
|
262
|
+
assert.deepEqual(requestBody?.["thinking"], { type: "disabled" });
|
|
263
|
+
assert.equal(requestBody?.["reasoning_effort"], undefined);
|
|
264
|
+
});
|
|
265
|
+
test("getThoughtLevels returns none/high/max for glm-5.2", () => {
|
|
266
|
+
assert.deepEqual(getThoughtLevels("glm-5.2"), ["none", "high", "max"]);
|
|
267
|
+
});
|
|
268
|
+
test("getThoughtLevels returns none/on for non-5.2 models", () => {
|
|
269
|
+
assert.deepEqual(getThoughtLevels("glm-5.1"), ["none", "on"]);
|
|
270
|
+
assert.deepEqual(getThoughtLevels("glm-4.7"), ["none", "on"]);
|
|
271
|
+
assert.deepEqual(getThoughtLevels("glm-5-turbo"), ["none", "on"]);
|
|
272
|
+
});
|
|
273
|
+
test("resolveThoughtLevel clamps invalid levels to the model default", () => {
|
|
274
|
+
// "high"/"max" are 5.2-only; other models fall back to "on".
|
|
275
|
+
assert.equal(resolveThoughtLevel("glm-5.1", "max"), "on");
|
|
276
|
+
assert.equal(resolveThoughtLevel("glm-4.7", "high"), "on");
|
|
277
|
+
// Valid levels are preserved.
|
|
278
|
+
assert.equal(resolveThoughtLevel("glm-5.2", "high"), "high");
|
|
279
|
+
assert.equal(resolveThoughtLevel("glm-5.1", "none"), "none");
|
|
280
|
+
});
|
|
281
|
+
test("buildThinkingParams omits fields for non-thinking models", () => {
|
|
282
|
+
const old = process.env["ACP_GLM_THINKING"];
|
|
283
|
+
delete process.env["ACP_GLM_THINKING"];
|
|
284
|
+
try {
|
|
285
|
+
assert.deepEqual(buildThinkingParams("some-other-model"), {});
|
|
286
|
+
}
|
|
287
|
+
finally {
|
|
288
|
+
if (old !== undefined)
|
|
289
|
+
process.env["ACP_GLM_THINKING"] = old;
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
test("buildThinkingParams defaults to enabled with no effort", () => {
|
|
293
|
+
const old = process.env["ACP_GLM_THINKING"];
|
|
294
|
+
delete process.env["ACP_GLM_THINKING"];
|
|
295
|
+
try {
|
|
296
|
+
assert.deepEqual(buildThinkingParams("glm-5.2"), { thinking: { type: "enabled" } });
|
|
297
|
+
}
|
|
298
|
+
finally {
|
|
299
|
+
if (old !== undefined)
|
|
300
|
+
process.env["ACP_GLM_THINKING"] = old;
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
test("buildThinkingParams never emits reasoning_effort='none' when thinking is force-enabled", () => {
|
|
304
|
+
const old = process.env["ACP_GLM_THINKING"];
|
|
305
|
+
process.env["ACP_GLM_THINKING"] = "true";
|
|
306
|
+
try {
|
|
307
|
+
// Force-on + level "none" on glm-5.2: thinking is enabled, but "none" is
|
|
308
|
+
// not a valid reasoning_effort value, so the field must be omitted.
|
|
309
|
+
// Exact deep-equality proves reasoning_effort is absent (not "none").
|
|
310
|
+
assert.deepEqual(buildThinkingParams("glm-5.2", "none"), { thinking: { type: "enabled" } });
|
|
311
|
+
}
|
|
312
|
+
finally {
|
|
313
|
+
if (old === undefined)
|
|
314
|
+
delete process.env["ACP_GLM_THINKING"];
|
|
315
|
+
else
|
|
316
|
+
process.env["ACP_GLM_THINKING"] = old;
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
test("buildThinkingParams honours ACP_GLM_THINKING=false override", () => {
|
|
320
|
+
const old = process.env["ACP_GLM_THINKING"];
|
|
321
|
+
process.env["ACP_GLM_THINKING"] = "false";
|
|
322
|
+
try {
|
|
323
|
+
// Forced off even when a level requests thinking.
|
|
324
|
+
assert.deepEqual(buildThinkingParams("glm-5.2", "max"), { thinking: { type: "disabled" } });
|
|
325
|
+
}
|
|
326
|
+
finally {
|
|
327
|
+
if (old === undefined)
|
|
328
|
+
delete process.env["ACP_GLM_THINKING"];
|
|
329
|
+
else
|
|
330
|
+
process.env["ACP_GLM_THINKING"] = old;
|
|
331
|
+
}
|
|
332
|
+
});
|
|
183
333
|
test("streamChat does not flush partial tool calls (missing id or name)", async () => {
|
|
184
334
|
// Stream a tool_call delta that only contains arguments – no id, no name.
|
|
185
335
|
// The client should silently drop the partial entry instead of yielding it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glm-client.test.js","sourceRoot":"","sources":["../../src/tests/glm-client.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"glm-client.test.js","sourceRoot":"","sources":["../../src/tests/glm-client.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -195,4 +195,54 @@ test("end-to-end session/list and session/close advertised on initialize and rou
|
|
|
195
195
|
const list2 = await clientConn.listSessions({});
|
|
196
196
|
assert.equal(list2.sessions.length, 1);
|
|
197
197
|
});
|
|
198
|
+
test("end-to-end: session mode change mid-conversation affects permission prompts", async () => {
|
|
199
|
+
const { a, b } = pairedStreams();
|
|
200
|
+
const stub = new StubClient();
|
|
201
|
+
const dir = mkdtempSync(pathJoin(osTmpdir(), "glm-acp-integration-mode-"));
|
|
202
|
+
let callCount = 0;
|
|
203
|
+
const glm = {
|
|
204
|
+
async *streamChat() {
|
|
205
|
+
callCount++;
|
|
206
|
+
// Both turns try to write the same file.
|
|
207
|
+
yield {
|
|
208
|
+
toolCall: {
|
|
209
|
+
id: `tc${callCount}`,
|
|
210
|
+
name: "write_file",
|
|
211
|
+
arguments: JSON.stringify({ path: "x.txt", content: `data ${callCount}` }),
|
|
212
|
+
},
|
|
213
|
+
};
|
|
214
|
+
yield { done: true, stopReason: "tool_calls" };
|
|
215
|
+
},
|
|
216
|
+
};
|
|
217
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
218
|
+
const _agentConn = new AgentSideConnection((conn) => new GlmAcpAgent(conn, { glm, sessionStore: null }), a);
|
|
219
|
+
const clientConn = new ClientSideConnection(() => stub, b);
|
|
220
|
+
try {
|
|
221
|
+
await clientConn.initialize({
|
|
222
|
+
protocolVersion: PROTOCOL_VERSION,
|
|
223
|
+
clientCapabilities: { fs: { readTextFile: true, writeTextFile: true } },
|
|
224
|
+
});
|
|
225
|
+
const session = await clientConn.newSession({ cwd: dir, mcpServers: [] });
|
|
226
|
+
// Turn 1: Default mode. Should prompt for permission.
|
|
227
|
+
stub.permissionResponses = [{ outcome: { outcome: "selected", optionId: "allow" } }];
|
|
228
|
+
await clientConn.prompt({
|
|
229
|
+
sessionId: session.sessionId,
|
|
230
|
+
prompt: [{ type: "text", text: "write 1" }],
|
|
231
|
+
});
|
|
232
|
+
assert.equal(stub.permissionResponses.length, 0, "Should have used the permission response");
|
|
233
|
+
// Turn 2: Switch to bypass_permissions.
|
|
234
|
+
await clientConn.setSessionMode({ sessionId: session.sessionId, modeId: "bypass_permissions" });
|
|
235
|
+
// Turn 3: Should NOT prompt for permission.
|
|
236
|
+
// If it tries to prompt, StubClient will throw because permissionResponses is empty.
|
|
237
|
+
await clientConn.prompt({
|
|
238
|
+
sessionId: session.sessionId,
|
|
239
|
+
prompt: [{ type: "text", text: "write 2" }],
|
|
240
|
+
});
|
|
241
|
+
// Verify both writes happened
|
|
242
|
+
assert.equal(pathJoin(dir, "x.txt"), pathJoin(dir, "x.txt")); // sanity
|
|
243
|
+
}
|
|
244
|
+
finally {
|
|
245
|
+
rmSync(dir, { recursive: true, force: true });
|
|
246
|
+
}
|
|
247
|
+
});
|
|
198
248
|
//# sourceMappingURL=integration.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/tests/integration.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/tests/integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE7C,6EAA6E;AAC7E,6EAA6E;AAC7E,2BAA2B;AAC3B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,WAAW,CAC9C,QAAQ,CAAC,QAAQ,EAAE,EAAE,2BAA2B,CAAC,CAClD,CAAC;AACF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,GAEjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD;;;;;GAKG;AACH,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,IAAI,eAAe,EAA0B,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,eAAe,EAA0B,CAAC;IAC3D,OAAO;QACL,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;QAC7C,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU;IACd,OAAO,GAAmC,EAAE,CAAC;IAC7C,KAAK,GAA4B,EAAE,CAAC;IACpC,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,mBAAmB,GAA6F,EAAE,CAAC;IAEnH,KAAK,CAAC,aAAa,CAAC,MAA8C;QAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAA4C,CAAC,CAAC;IAClE,CAAC;IACD,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC9C,OAAO,IAAI,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,MAA2C;QAC5D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,KAA8B;IACtD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO;QACL,KAAK,CAAC,CAAC,UAAU;YACf,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACzE,KAAK,MAAM,KAAK,IAAI,IAAI;gBAAE,MAAM,KAAK,CAAC;QACxC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,IAAI,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;IAChG,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAE9B,aAAa;IACb,MAAM,GAAG,GAAG,gBAAgB,CAAC;QAC3B;YACE,EAAE,QAAQ,EAAE,eAAe,EAAE;YAC7B,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClB,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE;SACnC;KACF,CAAC,CAAC;IACH,6DAA6D;IAC7D,MAAM,UAAU,GAAG,IAAI,mBAAmB,CACxC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAC5D,CAAC,CACF,CAAC;IAEF,cAAc;IACd,MAAM,UAAU,GAAG,IAAI,oBAAoB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC;QAC3C,eAAe,EAAE,gBAAgB;QACjC,kBAAkB,EAAE;YAClB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;YAC/C,QAAQ,EAAE,KAAK;SAChB;KACF,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;IACzD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,CAAC,EAAE,CAAC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEjF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC;QACrC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;KAC7C,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE5C,+FAA+F;IAC/F,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAClC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,MAAoC,CAAC,aAAa,CAC7D,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;IACrF,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAC3E,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAEpE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,GAAG,GAAG;QACV,KAAK,CAAC,CAAC,UAAU;YACf,SAAS,EAAE,CAAC;YACZ,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM;oBACJ,QAAQ,EAAE;wBACR,EAAE,EAAE,KAAK;wBACT,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qBAC5C;iBACF,CAAC;gBACF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBAC3B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAC3C,CAAC;QACH,CAAC;KACF,CAAC;IAEF,6DAA6D;IAC7D,MAAM,UAAU,GAAG,IAAI,mBAAmB,CACxC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAC5D,CAAC,CACF,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,oBAAoB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3D,MAAM,UAAU,CAAC,UAAU,CAAC;QAC1B,eAAe,EAAE,gBAAgB;QACjC,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE;KACxE,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC;YACrC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;SAC5C,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEjC,gFAAgF;QAChF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAClC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,MAAoC,CAAC,aAAa,CAC7D,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;IACzE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAE9B,4EAA4E;IAC5E,wEAAwE;IACxE,qCAAqC;IACrC,IAAI,cAA2B,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC;IAE/D,MAAM,GAAG,GAAG;QACV,KAAK,CAAC,CAAC,UAAU,CAAC,SAAkB,EAAE,MAAoB;YACxD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC3B,cAAc,EAAE,CAAC;YACjB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,MAAM,EAAE,OAAO;oBAAE,OAAO,OAAO,EAAE,CAAC;gBACtC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAC3C,CAAC;KACF,CAAC;IAEF,6DAA6D;IAC7D,MAAM,UAAU,GAAG,IAAI,mBAAmB,CACxC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAC5D,CAAC,CACF,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,oBAAoB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3D,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAE7E,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;QACtC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KACvC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC;IACd,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;IACjG,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAE9B,6DAA6D;IAC7D,MAAM,UAAU,GAAG,IAAI,mBAAmB,CACxC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAClF,CAAC,CACF,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,oBAAoB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC;QAC3C,eAAe,EAAE,gBAAgB;QACjC,kBAAkB,EAAE,EAAE;KACvB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAElE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEtC,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;IAC7F,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAE3E,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,GAAG,GAAG;QACV,KAAK,CAAC,CAAC,UAAU;YACf,SAAS,EAAE,CAAC;YACZ,yCAAyC;YACzC,MAAM;gBACJ,QAAQ,EAAE;oBACR,EAAE,EAAE,KAAK,SAAS,EAAE;oBACpB,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,SAAS,EAAE,EAAE,CAAC;iBAC3E;aACF,CAAC;YACF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;QACjD,CAAC;KACF,CAAC;IAEF,6DAA6D;IAC7D,MAAM,UAAU,GAAG,IAAI,mBAAmB,CACxC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAC5D,CAAC,CACF,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,oBAAoB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3D,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,UAAU,CAAC;YAC1B,eAAe,EAAE,gBAAgB;YACjC,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE;SACxE,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAE1E,sDAAsD;QACtD,IAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,UAAU,CAAC,MAAM,CAAC;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,0CAA0C,CAAC,CAAC;QAE7F,wCAAwC;QACxC,MAAM,UAAU,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAEhG,4CAA4C;QAC5C,qFAAqF;QACrF,MAAM,UAAU,CAAC,MAAM,CAAC;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;SAC5C,CAAC,CAAC;QAEH,8BAA8B;QAC9B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;IACzE,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC,CAAC"}
|
package/dist/tools/executor.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AgentSideConnection, ClientCapabilities } from "@agentclientprotocol/sdk";
|
|
2
2
|
import type { SessionMcpTools } from "./session-mcp-client.js";
|
|
3
3
|
import type { VisionMcpClient } from "./vision-mcp-client.js";
|
|
4
|
+
import type { SessionModeId } from "../protocol/agent.js";
|
|
4
5
|
/**
|
|
5
6
|
* Result returned after executing a tool call against the ACP client.
|
|
6
7
|
*/
|
|
@@ -22,7 +23,8 @@ export declare class ToolExecutor {
|
|
|
22
23
|
private visionClient;
|
|
23
24
|
private sessionMcpTools;
|
|
24
25
|
private sessionCwd;
|
|
25
|
-
|
|
26
|
+
private getMode;
|
|
27
|
+
constructor(connection: AgentSideConnection, sessionId: string, clientCapabilities?: ClientCapabilities | null, signal?: AbortSignal | undefined, visionClient?: VisionMcpClient | null, sessionMcpTools?: SessionMcpTools | null, sessionCwd?: string, getMode?: () => SessionModeId);
|
|
26
28
|
/**
|
|
27
29
|
* Dispatch a tool call from GLM to the appropriate ACP Client method.
|
|
28
30
|
*
|
|
@@ -39,6 +41,13 @@ export declare class ToolExecutor {
|
|
|
39
41
|
private webReader;
|
|
40
42
|
private imageAnalysis;
|
|
41
43
|
private sessionMcpTool;
|
|
44
|
+
/**
|
|
45
|
+
* Request permission from the user based on the current session mode.
|
|
46
|
+
*
|
|
47
|
+
* Returns a result indicating whether to allow, reject, or cancel the operation,
|
|
48
|
+
* or whether a transport error occurred.
|
|
49
|
+
*/
|
|
50
|
+
private maybeRequestPermission;
|
|
42
51
|
/** Mark an in-progress tool call as failed. */
|
|
43
52
|
private markFailed;
|
|
44
53
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/tools/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAUlC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/tools/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAUlC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;gBAPP,UAAU,EAAE,mBAAmB,EAC/B,SAAS,EAAE,MAAM,EACjB,kBAAkB,GAAE,kBAAkB,GAAG,IAAW,EACpD,MAAM,CAAC,EAAE,WAAW,YAAA,EACpB,YAAY,GAAE,eAAe,GAAG,IAAW,EAC3C,eAAe,GAAE,eAAe,GAAG,IAAW,EAC9C,UAAU,GAAE,MAAsB,EAClC,OAAO,GAAE,MAAM,aAA+B;IAGxD;;;;OAIG;IACG,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC;YA2CR,QAAQ;YA6CR,SAAS;YA+ET,SAAS;YA8DT,UAAU;YAsDV,eAAe;IAwC7B,OAAO,CAAC,WAAW;YAIL,SAAS;YA8DT,SAAS;YA4DT,aAAa;YA4Db,cAAc;IA2C5B;;;;;OAKG;YACW,sBAAsB;IA2DpC,+CAA+C;YACjC,UAAU;IAYxB;;;OAGG;YACW,cAAc;YAqBd,aAAa;CAS5B"}
|
package/dist/tools/executor.js
CHANGED
|
@@ -18,7 +18,8 @@ export class ToolExecutor {
|
|
|
18
18
|
visionClient;
|
|
19
19
|
sessionMcpTools;
|
|
20
20
|
sessionCwd;
|
|
21
|
-
|
|
21
|
+
getMode;
|
|
22
|
+
constructor(connection, sessionId, clientCapabilities = null, signal, visionClient = null, sessionMcpTools = null, sessionCwd = process.cwd(), getMode = () => "default") {
|
|
22
23
|
this.connection = connection;
|
|
23
24
|
this.sessionId = sessionId;
|
|
24
25
|
this.clientCapabilities = clientCapabilities;
|
|
@@ -26,6 +27,7 @@ export class ToolExecutor {
|
|
|
26
27
|
this.visionClient = visionClient;
|
|
27
28
|
this.sessionMcpTools = sessionMcpTools;
|
|
28
29
|
this.sessionCwd = sessionCwd;
|
|
30
|
+
this.getMode = getMode;
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
31
33
|
* Dispatch a tool call from GLM to the appropriate ACP Client method.
|
|
@@ -131,37 +133,24 @@ export class ToolExecutor {
|
|
|
131
133
|
rawInput: args,
|
|
132
134
|
},
|
|
133
135
|
});
|
|
134
|
-
// Step 2: request user permission
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
status: "pending",
|
|
145
|
-
locations: [{ path }],
|
|
146
|
-
rawInput: args,
|
|
147
|
-
},
|
|
148
|
-
options: [
|
|
149
|
-
{ kind: "allow_once", name: "Allow write", optionId: "allow" },
|
|
150
|
-
{ kind: "reject_once", name: "Skip write", optionId: "reject" },
|
|
151
|
-
],
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
catch (err) {
|
|
155
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
136
|
+
// Step 2: request user permission based on the current session mode.
|
|
137
|
+
const permissionResult = await this.maybeRequestPermission({
|
|
138
|
+
toolCallId,
|
|
139
|
+
kind: "write",
|
|
140
|
+
rawInput: args,
|
|
141
|
+
title: `Write file: ${path}`,
|
|
142
|
+
locations: [{ path }],
|
|
143
|
+
});
|
|
144
|
+
if (permissionResult.type === "error") {
|
|
145
|
+
const message = `Error requesting permission: ${permissionResult.message}`;
|
|
156
146
|
await this.markFailed(toolCallId, message);
|
|
157
|
-
return { content:
|
|
147
|
+
return { content: message };
|
|
158
148
|
}
|
|
159
|
-
if (
|
|
149
|
+
if (permissionResult.type === "cancelled") {
|
|
160
150
|
await this.markFailed(toolCallId, "Cancelled by user.");
|
|
161
151
|
return { content: "Write cancelled by user." };
|
|
162
152
|
}
|
|
163
|
-
if (
|
|
164
|
-
permissionResponse.outcome.optionId === "reject") {
|
|
153
|
+
if (permissionResult.type === "reject") {
|
|
165
154
|
await this.markFailed(toolCallId, "Rejected by user.");
|
|
166
155
|
return { content: "Write rejected by user." };
|
|
167
156
|
}
|
|
@@ -259,37 +248,24 @@ export class ToolExecutor {
|
|
|
259
248
|
rawInput: args,
|
|
260
249
|
},
|
|
261
250
|
});
|
|
262
|
-
// Step 2: request permission
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
status: "pending",
|
|
273
|
-
locations: [],
|
|
274
|
-
rawInput: args,
|
|
275
|
-
},
|
|
276
|
-
options: [
|
|
277
|
-
{ kind: "allow_once", name: "Run command", optionId: "allow" },
|
|
278
|
-
{ kind: "reject_once", name: "Skip command", optionId: "reject" },
|
|
279
|
-
],
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
catch (err) {
|
|
283
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
251
|
+
// Step 2: request permission based on the current session mode.
|
|
252
|
+
const permissionResult = await this.maybeRequestPermission({
|
|
253
|
+
toolCallId,
|
|
254
|
+
kind: "execute",
|
|
255
|
+
rawInput: args,
|
|
256
|
+
title: `Run command: ${command}`,
|
|
257
|
+
locations: [],
|
|
258
|
+
});
|
|
259
|
+
if (permissionResult.type === "error") {
|
|
260
|
+
const message = `Error requesting permission: ${permissionResult.message}`;
|
|
284
261
|
await this.markFailed(toolCallId, message);
|
|
285
|
-
return { content:
|
|
262
|
+
return { content: message };
|
|
286
263
|
}
|
|
287
|
-
if (
|
|
264
|
+
if (permissionResult.type === "cancelled") {
|
|
288
265
|
await this.markFailed(toolCallId, "Cancelled by user.");
|
|
289
266
|
return { content: "Command cancelled by user." };
|
|
290
267
|
}
|
|
291
|
-
if (
|
|
292
|
-
permissionResponse.outcome.optionId === "reject") {
|
|
268
|
+
if (permissionResult.type === "reject") {
|
|
293
269
|
await this.markFailed(toolCallId, "Rejected by user.");
|
|
294
270
|
return { content: "Command rejected by user." };
|
|
295
271
|
}
|
|
@@ -505,6 +481,54 @@ export class ToolExecutor {
|
|
|
505
481
|
// ---------------------------------------------------------------------------
|
|
506
482
|
// Notification helpers
|
|
507
483
|
// ---------------------------------------------------------------------------
|
|
484
|
+
/**
|
|
485
|
+
* Request permission from the user based on the current session mode.
|
|
486
|
+
*
|
|
487
|
+
* Returns a result indicating whether to allow, reject, or cancel the operation,
|
|
488
|
+
* or whether a transport error occurred.
|
|
489
|
+
*/
|
|
490
|
+
async maybeRequestPermission(args) {
|
|
491
|
+
const mode = this.getMode();
|
|
492
|
+
// bypass_permissions: allow everything without prompting
|
|
493
|
+
if (mode === "bypass_permissions") {
|
|
494
|
+
return { type: "allow" };
|
|
495
|
+
}
|
|
496
|
+
// accept_edits: allow writes without prompting, still prompt for commands
|
|
497
|
+
if (mode === "accept_edits" && args.kind === "write") {
|
|
498
|
+
return { type: "allow" };
|
|
499
|
+
}
|
|
500
|
+
// default mode (or accept_edits with execute): prompt for permission
|
|
501
|
+
try {
|
|
502
|
+
const permissionResponse = await this.connection.requestPermission({
|
|
503
|
+
sessionId: this.sessionId,
|
|
504
|
+
toolCall: {
|
|
505
|
+
toolCallId: args.toolCallId,
|
|
506
|
+
title: args.title,
|
|
507
|
+
kind: args.kind === "write" ? "edit" : "execute",
|
|
508
|
+
status: "pending",
|
|
509
|
+
locations: args.locations ?? [],
|
|
510
|
+
rawInput: args.rawInput,
|
|
511
|
+
},
|
|
512
|
+
options: [
|
|
513
|
+
{ kind: "allow_once", name: "Allow", optionId: "allow" },
|
|
514
|
+
{ kind: "reject_once", name: "Skip", optionId: "reject" },
|
|
515
|
+
],
|
|
516
|
+
});
|
|
517
|
+
if (permissionResponse.outcome.outcome === "cancelled") {
|
|
518
|
+
return { type: "cancelled" };
|
|
519
|
+
}
|
|
520
|
+
if (permissionResponse.outcome.outcome === "selected" &&
|
|
521
|
+
permissionResponse.outcome.optionId === "reject") {
|
|
522
|
+
return { type: "reject" };
|
|
523
|
+
}
|
|
524
|
+
return { type: "allow" };
|
|
525
|
+
}
|
|
526
|
+
catch (err) {
|
|
527
|
+
// Transport failure: return error so caller can handle appropriately
|
|
528
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
529
|
+
return { type: "error", message };
|
|
530
|
+
}
|
|
531
|
+
}
|
|
508
532
|
/** Mark an in-progress tool call as failed. */
|
|
509
533
|
async markFailed(toolCallId, message) {
|
|
510
534
|
await this.connection.sessionUpdate({
|