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.
Files changed (37) hide show
  1. package/README.md +118 -51
  2. package/dist/index.js +2 -2
  3. package/dist/llm/glm-client.d.ts +59 -1
  4. package/dist/llm/glm-client.d.ts.map +1 -1
  5. package/dist/llm/glm-client.js +135 -15
  6. package/dist/llm/glm-client.js.map +1 -1
  7. package/dist/protocol/agent.d.ts +16 -3
  8. package/dist/protocol/agent.d.ts.map +1 -1
  9. package/dist/protocol/agent.js +422 -49
  10. package/dist/protocol/agent.js.map +1 -1
  11. package/dist/protocol/image-preprocessor.js +1 -1
  12. package/dist/protocol/image-preprocessor.js.map +1 -1
  13. package/dist/protocol/session-store.d.ts +14 -2
  14. package/dist/protocol/session-store.d.ts.map +1 -1
  15. package/dist/protocol/session-store.js +27 -6
  16. package/dist/protocol/session-store.js.map +1 -1
  17. package/dist/protocol/system-prompt.d.ts.map +1 -1
  18. package/dist/protocol/system-prompt.js +1 -3
  19. package/dist/protocol/system-prompt.js.map +1 -1
  20. package/dist/tests/agent.test.js +395 -4
  21. package/dist/tests/agent.test.js.map +1 -1
  22. package/dist/tests/executor.test.js +69 -2
  23. package/dist/tests/executor.test.js.map +1 -1
  24. package/dist/tests/glm-client.test.js +152 -2
  25. package/dist/tests/glm-client.test.js.map +1 -1
  26. package/dist/tests/integration.test.js +50 -0
  27. package/dist/tests/integration.test.js.map +1 -1
  28. package/dist/tools/executor.d.ts +10 -1
  29. package/dist/tools/executor.d.ts.map +1 -1
  30. package/dist/tools/executor.js +77 -53
  31. package/dist/tools/executor.js.map +1 -1
  32. package/dist/tools/session-mcp-client.js +3 -1
  33. package/dist/tools/session-mcp-client.js.map +1 -1
  34. package/dist/tools/vision-mcp-client.d.ts.map +1 -1
  35. package/dist/tools/vision-mcp-client.js +6 -2
  36. package/dist/tools/vision-mcp-client.js.map +1 -1
  37. 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, ["glm-5.1", "glm-5-turbo", "glm-4.7", "glm-4.5-air"]);
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":"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"}
@@ -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
- constructor(connection: AgentSideConnection, sessionId: string, clientCapabilities?: ClientCapabilities | null, signal?: AbortSignal | undefined, visionClient?: VisionMcpClient | null, sessionMcpTools?: SessionMcpTools | null, sessionCwd?: string);
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;AAE9D;;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;gBANV,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;IAG5C;;;;OAIG;IACG,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC;YA2CR,QAAQ;YA6CR,SAAS;YA6FT,SAAS;YA8DT,UAAU;YAoEV,eAAe;IAwC7B,OAAO,CAAC,WAAW;YAIL,SAAS;YA8DT,SAAS;YA4DT,aAAa;YA4Db,cAAc;IA2C5B,+CAA+C;YACjC,UAAU;IAYxB;;;OAGG;YACW,cAAc;YAqBd,aAAa;CAS5B"}
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"}
@@ -18,7 +18,8 @@ export class ToolExecutor {
18
18
  visionClient;
19
19
  sessionMcpTools;
20
20
  sessionCwd;
21
- constructor(connection, sessionId, clientCapabilities = null, signal, visionClient = null, sessionMcpTools = null, sessionCwd = process.cwd()) {
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. Treat transport failures here as a
135
- // failed tool call instead of letting them escape and abort the loop.
136
- let permissionResponse;
137
- try {
138
- permissionResponse = await this.connection.requestPermission({
139
- sessionId: this.sessionId,
140
- toolCall: {
141
- toolCallId,
142
- title: `Write file: ${path}`,
143
- kind: "edit",
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: `Error requesting permission: ${message}` };
147
+ return { content: message };
158
148
  }
159
- if (permissionResponse.outcome.outcome === "cancelled") {
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 (permissionResponse.outcome.outcome === "selected" &&
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. Transport failures here become a failed
263
- // tool call so the agent loop can continue.
264
- let permissionResponse;
265
- try {
266
- permissionResponse = await this.connection.requestPermission({
267
- sessionId: this.sessionId,
268
- toolCall: {
269
- toolCallId,
270
- title: `Run command: ${command}`,
271
- kind: "execute",
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: `Error requesting permission: ${message}` };
262
+ return { content: message };
286
263
  }
287
- if (permissionResponse.outcome.outcome === "cancelled") {
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 (permissionResponse.outcome.outcome === "selected" &&
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({