glm-acp-agent 1.1.2 → 1.1.3
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 +11 -12
- package/dist/protocol/agent.d.ts +1 -1
- package/dist/protocol/agent.d.ts.map +1 -1
- package/dist/protocol/agent.js +6 -23
- package/dist/protocol/agent.js.map +1 -1
- package/dist/protocol/system-prompt.d.ts.map +1 -1
- package/dist/protocol/system-prompt.js +4 -3
- package/dist/protocol/system-prompt.js.map +1 -1
- package/dist/tests/agent.test.js +27 -18
- package/dist/tests/agent.test.js.map +1 -1
- package/dist/tests/executor.test.js +148 -61
- package/dist/tests/executor.test.js.map +1 -1
- package/dist/tests/integration.test.js +21 -15
- package/dist/tests/integration.test.js.map +1 -1
- package/dist/tools/definitions.d.ts +3 -3
- package/dist/tools/definitions.js +7 -7
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/executor.d.ts +8 -8
- package/dist/tools/executor.d.ts.map +1 -1
- package/dist/tools/executor.js +77 -91
- package/dist/tools/executor.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ Built-in web tools use Coding Plan-compatible MCP endpoints, not the general `/a
|
|
|
32
32
|
- **Image input via Coding Plan Vision MCP** – `promptCapabilities.image` is advertised; pasted ACP image blocks are routed through Z.AI Vision MCP (`@z_ai/mcp-server`) and the resulting analysis is fed into the main coding model. Direct chat-image (e.g. `glm-4v-plus`) calls are intentionally not used.
|
|
33
33
|
- **Session persistence** – conversations are written to `~/.local/state/glm-acp-agent/sessions/` and can be reloaded via `session/load`, branched via `session/fork`, or resumed without replay via `session/resume`
|
|
34
34
|
- **Six built-in tools** (see below)
|
|
35
|
-
- **
|
|
35
|
+
- **Self-sufficient local tools** – file reads/writes, directory listings, and shell commands run in the agent process, so they do not depend on ACP client `fs` or `terminal` capabilities
|
|
36
36
|
- **Permissioned writes / commands** – every `write_file` and `run_command` call asks the user via `session/request_permission` before doing anything
|
|
37
37
|
- **Protocol-correct stop reasons** – maps model and runtime conditions to ACP `end_turn`, `max_tokens`, `max_turn_requests`, `refusal`, and `cancelled`
|
|
38
38
|
- **Protocol-correct tool statuses** – `pending` → `in_progress` → `completed` / `failed`
|
|
@@ -51,15 +51,15 @@ ACP Client (IDE plugin, CLI, …)
|
|
|
51
51
|
├─ GlmClient ← Z.AI / Zhipu AI Coding Plan Chat Completions (src/llm/)
|
|
52
52
|
│
|
|
53
53
|
├─ ToolExecutor ← executes tool calls (src/tools/)
|
|
54
|
-
│ ├─ read_file / write_file →
|
|
55
|
-
│ ├─ list_files / run_command →
|
|
54
|
+
│ ├─ read_file / write_file → Agent process (Node fs)
|
|
55
|
+
│ ├─ list_files / run_command → Agent process (Node fs / child_process)
|
|
56
56
|
│ ├─ web_search / web_reader → Z.AI Coding Plan Web MCP (HTTP)
|
|
57
57
|
│ └─ image_analysis → Z.AI Coding Plan Vision MCP (stdio)
|
|
58
58
|
│
|
|
59
59
|
└─ VisionMcpClient ← spawns `npx @z_ai/mcp-server` on demand
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
The agent process needs network access to `api.z.ai` for chat completions and Web MCP, plus `npx` available on `PATH` so it can launch `@z_ai/mcp-server` for vision. Filesystem and shell operations
|
|
62
|
+
The agent process needs network access to `api.z.ai` for chat completions and Web MCP, plus `npx` available on `PATH` so it can launch `@z_ai/mcp-server` for vision. Filesystem and shell operations run inside the agent process with paths resolved against the ACP session working directory. Writes and arbitrary shell commands still go through ACP `session/request_permission`, so clients can render an approval prompt before the operation runs.
|
|
63
63
|
|
|
64
64
|
---
|
|
65
65
|
|
|
@@ -67,10 +67,10 @@ The agent process needs network access to `api.z.ai` for chat completions and We
|
|
|
67
67
|
|
|
68
68
|
| Tool | Runs on | Requires client capability | Description |
|
|
69
69
|
|------|---------|----------------------------|-------------|
|
|
70
|
-
| `read_file` |
|
|
71
|
-
| `write_file` |
|
|
72
|
-
| `list_files` |
|
|
73
|
-
| `run_command` |
|
|
70
|
+
| `read_file` | Agent process | – | Read the text content of a file |
|
|
71
|
+
| `write_file` | Agent process | ACP permission prompt | Write or overwrite a text file (asks for permission) |
|
|
72
|
+
| `list_files` | Agent process | – | List a directory using Node filesystem APIs |
|
|
73
|
+
| `run_command` | Agent process | ACP permission prompt | Run an arbitrary shell command via `sh -c` in the session cwd (asks for permission) |
|
|
74
74
|
| `web_search` | Agent (Z.AI Coding Plan MCP) | – | Search the web — returns titles, URLs, and summaries |
|
|
75
75
|
| `web_reader` | Agent (Z.AI Coding Plan MCP) | – | Fetch and parse a web page (markdown or plain text) |
|
|
76
76
|
| `image_analysis` | Agent (Z.AI Vision MCP, stdio) | – | Analyze a local image path or remote URL using `@z_ai/mcp-server` |
|
|
@@ -284,7 +284,7 @@ For a tighter inner loop, run `npm run dev` in a terminal so `dist/` rebuilds on
|
|
|
284
284
|
- **`Error: Cannot find module '/.../dist/index.js'`** — you skipped `npm run build`, or the path in `args` is wrong. It must be absolute and point at a file that exists.
|
|
285
285
|
- **`No API key found.`** — neither `Z_AI_API_KEY` nor `~/.config/glm-acp-agent/credentials.json` is set. Use Option A or Option B in step 3.
|
|
286
286
|
- **`HTTP 401: Invalid API key`** — your key is wrong, expired, or for the wrong region. Rotate it on <https://z.ai/manage-apikey/apikey-list>.
|
|
287
|
-
-
|
|
287
|
+
- **A write or command did not run.** — approve the ACP permission prompt for that tool call. Rejected or cancelled prompts are reported back to the model as skipped operations.
|
|
288
288
|
|
|
289
289
|
### Neovim / VS Code / JetBrains / any ACP client
|
|
290
290
|
|
|
@@ -343,7 +343,7 @@ The test suite covers:
|
|
|
343
343
|
- Content-block conversion (`text`, `resource_link`, embedded `resource`)
|
|
344
344
|
- Token usage reporting on the `PromptResponse`
|
|
345
345
|
- Tool call lifecycle (`pending` → `in_progress` → `completed` / `failed`)
|
|
346
|
-
-
|
|
346
|
+
- Agent-owned local file and shell tools that work without ACP `fs` / `terminal` client capabilities
|
|
347
347
|
- Permission flows for `write_file` and `run_command` (allow / reject / cancel)
|
|
348
348
|
- Shell-quoted argument handling for `list_files` and `run_command`
|
|
349
349
|
- GLM streaming: text deltas, `reasoning_content` deltas, multi-chunk tool-call assembly, and trailing usage
|
|
@@ -355,8 +355,7 @@ The test suite covers:
|
|
|
355
355
|
|
|
356
356
|
- **`No API key found.`** — either set `Z_AI_API_KEY` in the environment, or run `node dist/index.js --setup` (or `glm-acp-agent --setup` if installed globally) once to store the key on disk.
|
|
357
357
|
- **`HTTP 401: Invalid API key`** — your key is wrong or expired; rotate it on <https://z.ai/manage-apikey/apikey-list>.
|
|
358
|
-
- **
|
|
359
|
-
- **Tools never get to run.** — make sure the client is sending the `clientCapabilities` field in `initialize`; the agent uses it to decide which tools to expose to the model.
|
|
358
|
+
- **Writes or commands never get to run.** — make sure your ACP client supports `session/request_permission` and that you approve the prompt for the specific tool call.
|
|
360
359
|
|
|
361
360
|
---
|
|
362
361
|
|
package/dist/protocol/agent.d.ts
CHANGED
|
@@ -71,7 +71,7 @@ export declare class GlmAcpAgent implements Agent {
|
|
|
71
71
|
*/
|
|
72
72
|
private runPromptLoop;
|
|
73
73
|
private mapStopReason;
|
|
74
|
-
/** Tool schemas we expose
|
|
74
|
+
/** Tool schemas we expose for agent-owned local tools plus session MCP tools. */
|
|
75
75
|
private availableToolDefinitions;
|
|
76
76
|
}
|
|
77
77
|
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,KAAK,EACL,mBAAmB,EAEnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EAIxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AAGzE,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAqC3F;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,GAAG,CAAC,EAAE;QACJ,UAAU,EAAE,CACV,QAAQ,EAAE,UAAU,EAAE,EACtB,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,iBAAiB,KACxB,aAAa,CAAC,cAAc,CAAC,CAAC;KACpC,CAAC;IACF,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CACvC;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,YAAW,KAAK;IAUrC,OAAO,CAAC,UAAU;IATpB,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,IAAI,CAAgD;IAC5D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,oBAAoB,CAAU;gBAG5B,UAAU,EAAE,mBAAmB,EACvC,OAAO,GAAE,kBAAuB;IAgBlC,OAAO,KAAK,GAAG,GAKd;IAED,OAAO,KAAK,YAAY,GAQvB;IAMK,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol/agent.js
CHANGED
|
@@ -74,8 +74,9 @@ export class GlmAcpAgent {
|
|
|
74
74
|
async initialize(params) {
|
|
75
75
|
// Negotiate the lowest version both sides support.
|
|
76
76
|
const negotiatedVersion = params.protocolVersion <= VERSION ? params.protocolVersion : VERSION;
|
|
77
|
-
//
|
|
78
|
-
//
|
|
77
|
+
// Keep client capabilities for compatibility with ACP initialize payloads.
|
|
78
|
+
// Built-in local tools run in this agent process and are not gated on
|
|
79
|
+
// client fs/terminal support.
|
|
79
80
|
this.clientCapabilities = params.clientCapabilities ?? null;
|
|
80
81
|
return {
|
|
81
82
|
protocolVersion: negotiatedVersion,
|
|
@@ -545,7 +546,7 @@ export class GlmAcpAgent {
|
|
|
545
546
|
* Returns the ACP stop reason and optional token usage reported by the model.
|
|
546
547
|
*/
|
|
547
548
|
async runPromptLoop(sessionId, session, signal) {
|
|
548
|
-
const executor = new ToolExecutor(this.connection, sessionId, this.clientCapabilities, signal, this.visionClient, session.mcpTools);
|
|
549
|
+
const executor = new ToolExecutor(this.connection, sessionId, this.clientCapabilities, signal, this.visionClient, session.mcpTools, session.cwd);
|
|
549
550
|
let lastUsage;
|
|
550
551
|
for (let turn = 0; turn < this.maxTurns; turn++) {
|
|
551
552
|
if (signal.aborted)
|
|
@@ -646,27 +647,9 @@ export class GlmAcpAgent {
|
|
|
646
647
|
return "end_turn";
|
|
647
648
|
}
|
|
648
649
|
}
|
|
649
|
-
/** Tool schemas we expose
|
|
650
|
+
/** Tool schemas we expose for agent-owned local tools plus session MCP tools. */
|
|
650
651
|
availableToolDefinitions(mcpTools = null) {
|
|
651
|
-
|
|
652
|
-
// or it omitted the field), advertise the full set so the system prompt
|
|
653
|
-
// still mentions every tool. The executor will surface a clean error if
|
|
654
|
-
// the model invokes one whose capability is missing.
|
|
655
|
-
if (!this.clientCapabilities) {
|
|
656
|
-
return [...TOOL_DEFINITIONS, ...(mcpTools?.toolDefinitions ?? [])];
|
|
657
|
-
}
|
|
658
|
-
const fs = this.clientCapabilities.fs ?? {};
|
|
659
|
-
const terminal = this.clientCapabilities.terminal ?? false;
|
|
660
|
-
const names = [];
|
|
661
|
-
if (fs.readTextFile)
|
|
662
|
-
names.push("read_file");
|
|
663
|
-
if (fs.writeTextFile)
|
|
664
|
-
names.push("write_file");
|
|
665
|
-
if (terminal)
|
|
666
|
-
names.push("list_files", "run_command");
|
|
667
|
-
// Web tools and image_analysis run inside the agent process, so they are
|
|
668
|
-
// unconditional except when vision is explicitly disabled.
|
|
669
|
-
names.push("web_search", "web_reader");
|
|
652
|
+
const names = ["read_file", "write_file", "list_files", "run_command", "web_search", "web_reader"];
|
|
670
653
|
if (this.visionClientExplicit ? this._visionClient !== null : true) {
|
|
671
654
|
names.push("image_analysis");
|
|
672
655
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/protocol/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,sBAAsB;IACrC,oFAAoF;IACpF,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/protocol/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,sBAAsB;IACrC,oFAAoF;IACpF,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2DD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAiBvE"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
const PERSONA = `You are glm-acp-agent, an ACP coding agent backed by the GLM model family (Z.AI / Zhipu AI).
|
|
2
2
|
You help developers read, understand, and modify code in their projects.
|
|
3
3
|
You operate over the Agent Client Protocol (ACP); your client is an IDE or
|
|
4
|
-
terminal that
|
|
5
|
-
|
|
4
|
+
terminal that renders tool calls and prompts the user for permission before
|
|
5
|
+
writes or command execution. File-system and shell operations run inside this
|
|
6
|
+
agent process with paths resolved from the session working directory.`;
|
|
6
7
|
const TOOLS_TEMPLATE = `<tools>
|
|
7
8
|
Available tools: __TOOLS__
|
|
8
|
-
- Use only tools listed above
|
|
9
|
+
- Use only tools listed above.
|
|
9
10
|
- Prefer reading before writing: when modifying a file, read it first so your edit is grounded in the current contents.
|
|
10
11
|
- Issue independent lookups (multiple file reads, separate searches) in parallel rather than sequentially.
|
|
11
12
|
- Briefly state what you are about to do before invoking any tool that touches the file system, terminal, or network.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/protocol/system-prompt.ts"],"names":[],"mappings":"AA4BA,MAAM,OAAO,GAAG
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/protocol/system-prompt.ts"],"names":[],"mappings":"AA4BA,MAAM,OAAO,GAAG;;;;;sEAKsD,CAAC;AAEvE,MAAM,cAAc,GAAG;;;;;;SAMd,CAAC;AAEV,MAAM,sBAAsB,GAAG;;;;;0BAKL,CAAC;AAE3B,MAAM,eAAe,GAAG;;;;;mBAKL,CAAC;AAEpB,MAAM,YAAY,GAAG;;;;;;gBAML,CAAC;AAEjB,MAAM,IAAI,GAAG;;;;QAIL,CAAC;AAET,MAAM,QAAQ,GAAG;;;;;;4BAMW,CAAC;AAE7B,yFAAyF;AACzF,kFAAkF;AAClF,MAAM,cAAc,GAAG;;kBAEL,CAAC;AAEnB,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACvC,MAAM,QAAQ,GAAa;QACzB,OAAO;QACP,iBAAiB,CAAC,GAAG,CAAC;QACtB,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,sBAAsB;QACtB,eAAe;QACf,YAAY;QACZ,IAAI;QACJ,QAAQ;QACR,cAAc;KACf,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO;QACL,eAAe;QACf,wBAAwB,GAAG,EAAE;QAC7B,eAAe,OAAO,CAAC,QAAQ,EAAE;QACjC,YAAY,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE;QACjD,mBAAmB,OAAO,CAAC,OAAO,EAAE;QACpC,mBAAmB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC1D,gBAAgB;KACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,wEAAwE;IACxE,4EAA4E;IAC5E,mEAAmE;IACnE,EAAE;IACF,8CAA8C;IAC9C,yEAAyE;IACzE,wCAAwC;IACxC,wEAAwE;IACxE,wEAAwE;IACxE,oDAAoD;IACpD,MAAM,IAAI,GAAG,QAAQ;SAClB,IAAI,EAAE;SACN,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;SACzB,UAAU,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IAC3D,OAAO;QACL,mBAAmB;QACnB,4OAA4O;QAC5O,EAAE;QACF,OAAO;QACP,IAAI;QACJ,KAAK;QACL,oBAAoB;KACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
package/dist/tests/agent.test.js
CHANGED
|
@@ -191,7 +191,7 @@ test("newSession returns a unique session id and seeds a system prompt", async (
|
|
|
191
191
|
const list = await agent.listSessions({});
|
|
192
192
|
assert.equal(list.sessions.length, 2);
|
|
193
193
|
});
|
|
194
|
-
test("system prompt advertises
|
|
194
|
+
test("system prompt advertises agent-owned local tools without client fs or terminal capabilities", async () => {
|
|
195
195
|
const conn = createConnectionStub();
|
|
196
196
|
let captured = "";
|
|
197
197
|
const glm = {
|
|
@@ -207,13 +207,16 @@ test("system prompt advertises only the tools matching client capabilities", asy
|
|
|
207
207
|
await agent.initialize({ protocolVersion: PROTOCOL_VERSION, clientCapabilities: {} });
|
|
208
208
|
const { sessionId } = await agent.newSession({ cwd: "/tmp", mcpServers: [] });
|
|
209
209
|
await agent.prompt({ sessionId, prompt: [{ type: "text", text: "hi" }] });
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
210
|
+
for (const name of [
|
|
211
|
+
"read_file",
|
|
212
|
+
"write_file",
|
|
213
|
+
"list_files",
|
|
214
|
+
"run_command",
|
|
215
|
+
"web_search",
|
|
216
|
+
"web_reader",
|
|
217
|
+
]) {
|
|
218
|
+
assert.ok(captured.includes(name), `expected system prompt to mention ${name}`);
|
|
219
|
+
}
|
|
217
220
|
});
|
|
218
221
|
test("system prompt falls back to all tools when client never sent capabilities", async () => {
|
|
219
222
|
const conn = createConnectionStub();
|
|
@@ -847,15 +850,16 @@ test("prompt converts resource_link and embedded resource blocks", async () => {
|
|
|
847
850
|
assert.ok(captured.includes("console.log(1)"));
|
|
848
851
|
});
|
|
849
852
|
test("tool call result is fed back into the next streamChat call", async () => {
|
|
853
|
+
const dir = mkdtempSync(pathJoin(osTmpdir(), "glm-agent-tool-read-"));
|
|
854
|
+
writeFileSync(pathJoin(dir, "x.ts"), "export const x = 1;", "utf8");
|
|
850
855
|
const conn = createConnectionStub();
|
|
851
|
-
conn.fileResponses.set("/tmp/x.ts", "export const x = 1;");
|
|
852
856
|
let callIndex = 0;
|
|
853
857
|
const glm = {
|
|
854
858
|
async *streamChat(messages) {
|
|
855
859
|
callIndex++;
|
|
856
860
|
if (callIndex === 1) {
|
|
857
861
|
yield {
|
|
858
|
-
toolCall: { id: "tc1", name: "read_file", arguments: JSON.stringify({ path: "
|
|
862
|
+
toolCall: { id: "tc1", name: "read_file", arguments: JSON.stringify({ path: "x.ts" }) },
|
|
859
863
|
};
|
|
860
864
|
yield { done: true, stopReason: "tool_calls" };
|
|
861
865
|
}
|
|
@@ -875,14 +879,19 @@ test("tool call result is fed back into the next streamChat call", async () => {
|
|
|
875
879
|
protocolVersion: PROTOCOL_VERSION,
|
|
876
880
|
clientCapabilities: { fs: { readTextFile: true, writeTextFile: true } },
|
|
877
881
|
});
|
|
878
|
-
const { sessionId } = await agent.newSession({ cwd:
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
882
|
+
const { sessionId } = await agent.newSession({ cwd: dir, mcpServers: [] });
|
|
883
|
+
try {
|
|
884
|
+
const result = await agent.prompt({
|
|
885
|
+
sessionId,
|
|
886
|
+
prompt: [{ type: "text", text: "read it" }],
|
|
887
|
+
});
|
|
888
|
+
assert.equal(result.stopReason, "end_turn");
|
|
889
|
+
assert.equal(callIndex, 2);
|
|
890
|
+
assert.deepEqual(conn.reads, []);
|
|
891
|
+
}
|
|
892
|
+
finally {
|
|
893
|
+
rmSync(dir, { recursive: true, force: true });
|
|
894
|
+
}
|
|
886
895
|
});
|
|
887
896
|
test("prompt without title sets title from first user message", async () => {
|
|
888
897
|
const conn = createConnectionStub();
|