glm-acp-agent 1.1.2 → 1.1.4
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 +109 -55
- package/dist/llm/glm-client.d.ts +11 -0
- package/dist/llm/glm-client.d.ts.map +1 -1
- package/dist/llm/glm-client.js +32 -0
- package/dist/llm/glm-client.js.map +1 -1
- package/dist/protocol/agent.d.ts +10 -3
- package/dist/protocol/agent.d.ts.map +1 -1
- package/dist/protocol/agent.js +348 -71
- 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 +7 -1
- package/dist/protocol/session-store.d.ts.map +1 -1
- package/dist/protocol/session-store.js +16 -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 +5 -6
- package/dist/protocol/system-prompt.js.map +1 -1
- package/dist/tests/agent.test.js +247 -22
- package/dist/tests/agent.test.js.map +1 -1
- package/dist/tests/executor.test.js +217 -63
- package/dist/tests/executor.test.js.map +1 -1
- package/dist/tests/glm-client.test.js +23 -1
- package/dist/tests/glm-client.test.js.map +1 -1
- package/dist/tests/integration.test.js +71 -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 +17 -8
- package/dist/tools/executor.d.ts.map +1 -1
- package/dist/tools/executor.js +153 -143
- 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 +7 -3
package/README.md
CHANGED
|
@@ -28,12 +28,13 @@ Built-in web tools use Coding Plan-compatible MCP endpoints, not the general `/a
|
|
|
28
28
|
- **Streaming** – assistant text and reasoning tokens are forwarded as incremental ACP chunks
|
|
29
29
|
- **Tool calling** – agentic loop with up to 20 turns of GLM function calling
|
|
30
30
|
- **Thinking mode** – GLM's `reasoning_content` tokens are surfaced as `agent_thought_chunk` blocks so the client can show the model's chain of thought
|
|
31
|
+
- **Session permission modes** – supports `default`, `accept_edits`, and `bypass_permissions` via `session/set_mode`. Clients like DevFlow can use this to toggle between prompting for every edit, auto-approving edits while prompting for commands, or bypassing permissions entirely.
|
|
31
32
|
- **Per-session model switching** – `session/set_model` lets clients change the active GLM model mid-conversation; `session/new` returns the curated `availableModels` list
|
|
32
|
-
- **Image input via Coding Plan Vision MCP** – `promptCapabilities.image` is advertised; pasted ACP image blocks
|
|
33
|
+
- **Image input via Coding Plan-native vision or Vision MCP** – `promptCapabilities.image` is advertised; `glm-5v-turbo` sessions send supported image parts directly to the model, while non-native coding models route pasted ACP image blocks through Z.AI Vision MCP (`@z_ai/mcp-server`). Direct chat-image-only models (e.g. `glm-4v-plus`) are intentionally not used.
|
|
33
34
|
- **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
35
|
- **Six built-in tools** (see below)
|
|
35
|
-
- **
|
|
36
|
-
- **
|
|
36
|
+
- **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
|
|
37
|
+
- **Configurable permissions** – `write_file` and `run_command` behavior depends on the active session mode (prompts by default)
|
|
37
38
|
- **Protocol-correct stop reasons** – maps model and runtime conditions to ACP `end_turn`, `max_tokens`, `max_turn_requests`, `refusal`, and `cancelled`
|
|
38
39
|
- **Protocol-correct tool statuses** – `pending` → `in_progress` → `completed` / `failed`
|
|
39
40
|
- **Token usage reporting** – aggregated usage is returned on the `session/prompt` response
|
|
@@ -51,29 +52,41 @@ ACP Client (IDE plugin, CLI, …)
|
|
|
51
52
|
├─ GlmClient ← Z.AI / Zhipu AI Coding Plan Chat Completions (src/llm/)
|
|
52
53
|
│
|
|
53
54
|
├─ ToolExecutor ← executes tool calls (src/tools/)
|
|
54
|
-
│ ├─ read_file / write_file →
|
|
55
|
-
│ ├─ list_files / run_command →
|
|
55
|
+
│ ├─ read_file / write_file → Agent process (Node fs)
|
|
56
|
+
│ ├─ list_files / run_command → Agent process (Node fs / child_process)
|
|
56
57
|
│ ├─ web_search / web_reader → Z.AI Coding Plan Web MCP (HTTP)
|
|
57
58
|
│ └─ image_analysis → Z.AI Coding Plan Vision MCP (stdio)
|
|
58
59
|
│
|
|
59
60
|
└─ VisionMcpClient ← spawns `npx @z_ai/mcp-server` on demand
|
|
60
61
|
```
|
|
61
62
|
|
|
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
|
|
63
|
+
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
64
|
|
|
64
65
|
---
|
|
65
66
|
|
|
66
67
|
## Available Tools
|
|
67
68
|
|
|
68
|
-
| Tool | Runs on |
|
|
69
|
-
|
|
70
|
-
| `read_file` |
|
|
71
|
-
| `write_file` |
|
|
72
|
-
| `list_files` |
|
|
73
|
-
| `run_command` |
|
|
74
|
-
| `web_search` | Agent (Z.AI Coding Plan MCP) |
|
|
75
|
-
| `web_reader` | Agent (Z.AI Coding Plan MCP) |
|
|
76
|
-
| `image_analysis` | Agent (Z.AI Vision MCP, stdio) |
|
|
69
|
+
| Tool | Runs on | Permission behavior | Description |
|
|
70
|
+
|------|---------|---------------------|-------------|
|
|
71
|
+
| `read_file` | Agent process | Always silent | Read the text content of a file |
|
|
72
|
+
| `write_file` | Agent process | Mode-dependent | Write or overwrite a text file. Silent in `accept_edits` and `bypass_permissions`. |
|
|
73
|
+
| `list_files` | Agent process | Always silent | List a directory using Node filesystem APIs |
|
|
74
|
+
| `run_command` | Agent process | Mode-dependent | Run an arbitrary shell command. Silent only in `bypass_permissions`. |
|
|
75
|
+
| `web_search` | Agent (Z.AI Coding Plan MCP) | Always silent | Search the web — returns titles, URLs, and summaries |
|
|
76
|
+
| `web_reader` | Agent (Z.AI Coding Plan MCP) | Always silent | Fetch and parse a web page (markdown or plain text) |
|
|
77
|
+
| `image_analysis` | Agent (Z.AI Vision MCP, stdio) | Always silent | Analyze a local image path or remote URL using `@z_ai/mcp-server` |
|
|
78
|
+
|
|
79
|
+
### Session Modes
|
|
80
|
+
|
|
81
|
+
Clients can use `session/set_mode` to drive the permission policy:
|
|
82
|
+
|
|
83
|
+
| Mode ID | Name | `write_file` | `run_command` |
|
|
84
|
+
|---|---|---|---|
|
|
85
|
+
| `default` | Ask for permission | **Prompt** | **Prompt** |
|
|
86
|
+
| `accept_edits` | Auto-approve edits | Silent | **Prompt** |
|
|
87
|
+
| `bypass_permissions` | Bypass all permissions | Silent | Silent |
|
|
88
|
+
|
|
89
|
+
Reads, listings, and MCP tool calls are always silent across all modes.
|
|
77
90
|
|
|
78
91
|
---
|
|
79
92
|
|
|
@@ -87,6 +100,27 @@ The agent process needs network access to `api.z.ai` for chat completions and We
|
|
|
87
100
|
|
|
88
101
|
## Installation
|
|
89
102
|
|
|
103
|
+
### Quick Start
|
|
104
|
+
|
|
105
|
+
Install the published package globally to get the `glm-acp-agent` command on your `PATH`:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
npm install -g glm-acp-agent@latest
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Then either export your Z.AI API key and run it directly:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
export Z_AI_API_KEY=your_key_here
|
|
115
|
+
glm-acp-agent
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
…or run the interactive setup once to persist the key to disk (see [One-time setup](#one-time-setup)) and point any ACP-compatible client at the `glm-acp-agent` command.
|
|
119
|
+
|
|
120
|
+
### From Source (Development)
|
|
121
|
+
|
|
122
|
+
Clone the repository if you want to hack on the agent or pin a specific commit:
|
|
123
|
+
|
|
90
124
|
```bash
|
|
91
125
|
git clone https://github.com/stefandevo/glm-acp-agent.git
|
|
92
126
|
cd glm-acp-agent
|
|
@@ -94,6 +128,8 @@ npm install
|
|
|
94
128
|
npm run build
|
|
95
129
|
```
|
|
96
130
|
|
|
131
|
+
The build output lands in `dist/`; the rest of this README uses `node dist/index.js` whenever it refers to the source-build entry point.
|
|
132
|
+
|
|
97
133
|
---
|
|
98
134
|
|
|
99
135
|
## Configuration
|
|
@@ -117,13 +153,15 @@ The agent reads its configuration from environment variables, plus an optional c
|
|
|
117
153
|
If you'd rather not pass `Z_AI_API_KEY` through your ACP client's environment block, run the interactive setup once and the agent will read the key from disk on subsequent launches:
|
|
118
154
|
|
|
119
155
|
```bash
|
|
120
|
-
# From the project directory (after npm run build)
|
|
121
|
-
node dist/index.js --setup
|
|
122
|
-
|
|
123
|
-
# Or, if you installed globally
|
|
124
156
|
glm-acp-agent --setup
|
|
125
157
|
```
|
|
126
158
|
|
|
159
|
+
If you're working from a source clone instead of the published package, use the build output directly:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
node dist/index.js --setup
|
|
163
|
+
```
|
|
164
|
+
|
|
127
165
|
The key is written to `$XDG_CONFIG_HOME/glm-acp-agent/credentials.json` (default: `~/.config/glm-acp-agent/credentials.json`) with `0600` permissions. The `Z_AI_API_KEY` environment variable, when set, always wins over the file.
|
|
128
166
|
|
|
129
167
|
### Supported models
|
|
@@ -134,18 +172,23 @@ The agent advertises only the models on the current Z.AI Coding Plan allowlist:
|
|
|
134
172
|
|-------|-------|
|
|
135
173
|
| `glm-5.1` | **Default.** Long-horizon coding model; thinking mode auto-enabled |
|
|
136
174
|
| `glm-5-turbo` | Faster Coding Plan reasoning model |
|
|
175
|
+
| `glm-5v-turbo` | Multimodal Coding Plan model; native image understanding for jpg / jpeg / png inputs |
|
|
137
176
|
| `glm-4.7` | 200K-context reasoning model |
|
|
138
177
|
| `glm-4.5-air` | Lightweight, lower-latency model |
|
|
139
178
|
|
|
140
|
-
`ACP_GLM_AVAILABLE_MODELS` still lets you advertise custom IDs, but custom IDs sit outside the supported Coding Plan list — the Coding Plan endpoint will reject any model code Z.AI hasn't whitelisted (business code `1211`).
|
|
179
|
+
`ACP_GLM_AVAILABLE_MODELS` still lets you advertise custom IDs, but custom IDs sit outside the supported Coding Plan list — the Coding Plan endpoint will reject any model code Z.AI hasn't whitelisted (business code `1211`). If you override the model list, include `glm-5v-turbo` yourself to keep it visible in the picker.
|
|
180
|
+
|
|
181
|
+
Vision-only chat models (`glm-4v-plus` etc.) are **not** advertised. The multimodal coding model `glm-5v-turbo` is advertised because it is on the Coding Plan and receives supported ACP image blocks directly as native `image_url` content parts. Other advertised models keep using the [Vision MCP](#vision-mcp) path for image analysis.
|
|
141
182
|
|
|
142
|
-
|
|
183
|
+
When the model name matches `glm-4.5`, `glm-4.6`, `glm-4.7`, or the `glm-5` family, the agent enables Z.AI's `thinking: { type: "enabled" }` extension and forwards reasoning tokens to the client as `agent_thought_chunk` blocks. This includes `glm-5v-turbo`. Override with `ACP_GLM_THINKING=false` if you want plain completions only.
|
|
143
184
|
|
|
144
|
-
|
|
185
|
+
`ACP_GLM_PROMPT_IMAGES=false` still hides the image-attachment capability at session startup. With that flag set, users can pick `glm-5v-turbo` for text work but clients should not offer image attachments.
|
|
145
186
|
|
|
146
187
|
### Vision MCP
|
|
147
188
|
|
|
148
|
-
|
|
189
|
+
For `glm-5v-turbo`, pasted ACP image blocks with `image/jpeg`, `image/jpg`, or `image/png` are sent directly to chat completions as `image_url` content parts. HTTPS image URLs are forwarded as URLs; inline base64 data is sent as a `data:<mime>;base64,...` URI. Unsupported image MIME types are rejected client-side with an inline `<image_unsupported_format>` annotation so the prompt can continue without a provider 4xx.
|
|
190
|
+
|
|
191
|
+
For non-native models, pasted ACP image blocks are not sent to the chat-completions endpoint. Instead, the agent boots `@z_ai/mcp-server` over stdio (via `npx -y @z_ai/mcp-server@latest`) and calls its `image_analysis` tool. The text result is spliced into the user message as `<image_analysis index="N">…</image_analysis>` so the regular Coding Plan model can reason about it.
|
|
149
192
|
|
|
150
193
|
Prerequisites:
|
|
151
194
|
|
|
@@ -160,23 +203,26 @@ The model can also call `image_analysis` explicitly with `{ image_source: "/path
|
|
|
160
203
|
|
|
161
204
|
### Standalone (stdio)
|
|
162
205
|
|
|
206
|
+
If you installed the published package globally, just run the CLI:
|
|
207
|
+
|
|
163
208
|
```bash
|
|
164
209
|
export Z_AI_API_KEY=your_key_here
|
|
165
|
-
|
|
210
|
+
glm-acp-agent
|
|
166
211
|
```
|
|
167
212
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
### As a global CLI
|
|
213
|
+
If you built from source, invoke the entry point directly:
|
|
171
214
|
|
|
172
215
|
```bash
|
|
173
|
-
npm install -g .
|
|
174
216
|
export Z_AI_API_KEY=your_key_here
|
|
175
|
-
|
|
217
|
+
node dist/index.js
|
|
176
218
|
```
|
|
177
219
|
|
|
220
|
+
The agent speaks the ACP newline-delimited JSON protocol over stdin/stdout. You can connect any ACP-compatible client to it.
|
|
221
|
+
|
|
178
222
|
### Development mode (watch)
|
|
179
223
|
|
|
224
|
+
When working from a source clone, run `tsc` in watch mode so `dist/` rebuilds on every save:
|
|
225
|
+
|
|
180
226
|
```bash
|
|
181
227
|
export Z_AI_API_KEY=your_key_here
|
|
182
228
|
npm run dev # tsc --watch
|
|
@@ -196,20 +242,16 @@ npm run dev # tsc --watch
|
|
|
196
242
|
- Node.js 20 or later on your `PATH` (`node --version`)
|
|
197
243
|
- A Z.AI API key — create one at <https://z.ai/manage-apikey/apikey-list>
|
|
198
244
|
|
|
199
|
-
#### 2.
|
|
245
|
+
#### 2. Install the agent
|
|
200
246
|
|
|
201
|
-
|
|
202
|
-
git clone https://github.com/stefandevo/glm-acp-agent.git
|
|
203
|
-
cd glm-acp-agent
|
|
204
|
-
npm install
|
|
205
|
-
npm run build
|
|
206
|
-
```
|
|
247
|
+
Follow either path from the [Installation](#installation) section above:
|
|
207
248
|
|
|
208
|
-
|
|
249
|
+
- **Quick Start** — `npm install -g glm-acp-agent@latest`. Zed can then spawn the agent with `"command": "glm-acp-agent"`.
|
|
250
|
+
- **From source** — clone, `npm install`, `npm run build`. Zed needs the absolute path to the built entry point (no `~`, no `$HOME` shortcuts):
|
|
209
251
|
|
|
210
|
-
```bash
|
|
211
|
-
echo "$(pwd)/dist/index.js"
|
|
212
|
-
```
|
|
252
|
+
```bash
|
|
253
|
+
echo "$(pwd)/dist/index.js"
|
|
254
|
+
```
|
|
213
255
|
|
|
214
256
|
#### 3. Wire it into Zed
|
|
215
257
|
|
|
@@ -217,6 +259,19 @@ Open (or create) `~/.config/zed/settings.json` and add an `agent_servers` entry.
|
|
|
217
259
|
|
|
218
260
|
**Option A — inline `env` block (simplest):**
|
|
219
261
|
|
|
262
|
+
```json
|
|
263
|
+
{
|
|
264
|
+
"agent_servers": {
|
|
265
|
+
"glm": {
|
|
266
|
+
"command": "glm-acp-agent",
|
|
267
|
+
"env": { "Z_AI_API_KEY": "sk-…" }
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
If you installed from source instead of the published package, replace `command` / `args` with the absolute path to the build output:
|
|
274
|
+
|
|
220
275
|
```json
|
|
221
276
|
{
|
|
222
277
|
"agent_servers": {
|
|
@@ -231,26 +286,21 @@ Open (or create) `~/.config/zed/settings.json` and add an `agent_servers` entry.
|
|
|
231
286
|
|
|
232
287
|
**Option B — credentials file (no key in your editor settings):**
|
|
233
288
|
|
|
234
|
-
Run the interactive setup once
|
|
235
|
-
|
|
236
|
-
```bash
|
|
237
|
-
node dist/index.js --setup
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
…or, if you `npm install -g .`'d the package:
|
|
289
|
+
Run the interactive setup once:
|
|
241
290
|
|
|
242
291
|
```bash
|
|
243
292
|
glm-acp-agent --setup
|
|
244
293
|
```
|
|
245
294
|
|
|
295
|
+
If you're working from a source clone, use the build output directly: `node dist/index.js --setup`.
|
|
296
|
+
|
|
246
297
|
The key is written to `~/.config/glm-acp-agent/credentials.json` with `0600` permissions. Then drop the `env` block from the Zed entry — the agent will read the file on launch:
|
|
247
298
|
|
|
248
299
|
```json
|
|
249
300
|
{
|
|
250
301
|
"agent_servers": {
|
|
251
302
|
"glm": {
|
|
252
|
-
"command": "
|
|
253
|
-
"args": ["/absolute/path/to/glm-acp-agent/dist/index.js"]
|
|
303
|
+
"command": "glm-acp-agent"
|
|
254
304
|
}
|
|
255
305
|
}
|
|
256
306
|
}
|
|
@@ -284,11 +334,16 @@ For a tighter inner loop, run `npm run dev` in a terminal so `dist/` rebuilds on
|
|
|
284
334
|
- **`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
335
|
- **`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
336
|
- **`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
|
-
-
|
|
337
|
+
- **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
338
|
|
|
289
339
|
### Neovim / VS Code / JetBrains / any ACP client
|
|
290
340
|
|
|
291
|
-
Any client that supports configuring an ACP agent via a `command` + `args` invocation works the same way:
|
|
341
|
+
Any client that supports configuring an ACP agent via a `command` + `args` invocation works the same way:
|
|
342
|
+
|
|
343
|
+
- If you installed via `npm install -g glm-acp-agent@latest`, set `command` to `glm-acp-agent` (no args required).
|
|
344
|
+
- If you built from source, set `command` to `node` and `args` to `["/absolute/path/to/glm-acp-agent/dist/index.js"]`.
|
|
345
|
+
|
|
346
|
+
Supply `Z_AI_API_KEY` in the environment, or run `glm-acp-agent --setup` once so the agent reads the key from disk on launch.
|
|
292
347
|
|
|
293
348
|
### Authentication
|
|
294
349
|
|
|
@@ -343,7 +398,7 @@ The test suite covers:
|
|
|
343
398
|
- Content-block conversion (`text`, `resource_link`, embedded `resource`)
|
|
344
399
|
- Token usage reporting on the `PromptResponse`
|
|
345
400
|
- Tool call lifecycle (`pending` → `in_progress` → `completed` / `failed`)
|
|
346
|
-
-
|
|
401
|
+
- Agent-owned local file and shell tools that work without ACP `fs` / `terminal` client capabilities
|
|
347
402
|
- Permission flows for `write_file` and `run_command` (allow / reject / cancel)
|
|
348
403
|
- Shell-quoted argument handling for `list_files` and `run_command`
|
|
349
404
|
- GLM streaming: text deltas, `reasoning_content` deltas, multi-chunk tool-call assembly, and trailing usage
|
|
@@ -353,10 +408,9 @@ The test suite covers:
|
|
|
353
408
|
|
|
354
409
|
## Troubleshooting
|
|
355
410
|
|
|
356
|
-
- **`No API key found.`** — either set `Z_AI_API_KEY` in the environment, or run `
|
|
411
|
+
- **`No API key found.`** — either set `Z_AI_API_KEY` in the environment, or run `glm-acp-agent --setup` (or `node dist/index.js --setup` from a source clone) once to store the key on disk.
|
|
357
412
|
- **`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.
|
|
413
|
+
- **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
414
|
|
|
361
415
|
---
|
|
362
416
|
|
package/dist/llm/glm-client.d.ts
CHANGED
|
@@ -35,6 +35,17 @@ export interface StreamChatOptions {
|
|
|
35
35
|
}
|
|
36
36
|
/** Default GLM model when neither client nor user has chosen one. */
|
|
37
37
|
export declare const DEFAULT_MODEL = "glm-5.1";
|
|
38
|
+
/**
|
|
39
|
+
* Z.AI / Zhipu AI error code returned when the total prompt length (messages +
|
|
40
|
+
* tools) exceeds the model's context window.
|
|
41
|
+
*/
|
|
42
|
+
export declare const ERR_CONTEXT_OVERFLOW = 1261;
|
|
43
|
+
export declare function isVisionNativeModel(modelId: string): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve the context window size for a given model ID. Falls back to a safe
|
|
46
|
+
* default (128K) for uncatalogued models.
|
|
47
|
+
*/
|
|
48
|
+
export declare function getContextWindow(modelId: string): number;
|
|
38
49
|
/**
|
|
39
50
|
* Resolve the list of advertised models, allowing the user to override the
|
|
40
51
|
* built-in list via `ACP_GLM_AVAILABLE_MODELS`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glm-client.d.ts","sourceRoot":"","sources":["../../src/llm/glm-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAsB,MAAM,2BAA2B,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAIhF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,oDAAoD;IACpD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAKD,qEAAqE;AACrE,eAAO,MAAM,aAAa,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"glm-client.d.ts","sourceRoot":"","sources":["../../src/llm/glm-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAsB,MAAM,2BAA2B,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAIhF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,oDAAoD;IACpD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAKD,qEAAqE;AACrE,eAAO,MAAM,aAAa,YAAY,CAAC;AAsCvC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAgBzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,SAAS,EAAE,CAYhD;AAED,uEAAuE;AACvE,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;;IAgB1B;;;;;;OAMG;IACI,UAAU,CACf,QAAQ,EAAE,UAAU,EAAE,EACtB,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAAC,cAAc,CAAC;CA6IlC"}
|
package/dist/llm/glm-client.js
CHANGED
|
@@ -25,6 +25,11 @@ const BUILTIN_AVAILABLE_MODELS = [
|
|
|
25
25
|
name: "GLM-5 Turbo",
|
|
26
26
|
description: "Faster Coding Plan reasoning model",
|
|
27
27
|
},
|
|
28
|
+
{
|
|
29
|
+
modelId: "glm-5v-turbo",
|
|
30
|
+
name: "GLM-5V Turbo",
|
|
31
|
+
description: "Multimodal Coding Plan model with native vision",
|
|
32
|
+
},
|
|
28
33
|
{
|
|
29
34
|
modelId: "glm-4.7",
|
|
30
35
|
name: "GLM-4.7",
|
|
@@ -36,6 +41,33 @@ const BUILTIN_AVAILABLE_MODELS = [
|
|
|
36
41
|
description: "Lightweight, lower-latency model",
|
|
37
42
|
},
|
|
38
43
|
];
|
|
44
|
+
/**
|
|
45
|
+
* Z.AI / Zhipu AI error code returned when the total prompt length (messages +
|
|
46
|
+
* tools) exceeds the model's context window.
|
|
47
|
+
*/
|
|
48
|
+
export const ERR_CONTEXT_OVERFLOW = 1261;
|
|
49
|
+
/**
|
|
50
|
+
* Context window sizes (in tokens) for GLM series models.
|
|
51
|
+
*/
|
|
52
|
+
const MODEL_METADATA = {
|
|
53
|
+
"glm-5.1": { contextWindow: 128_000 },
|
|
54
|
+
"glm-5-turbo": { contextWindow: 128_000 },
|
|
55
|
+
"glm-5v-turbo": { contextWindow: 200_000 },
|
|
56
|
+
"glm-4.7": { contextWindow: 200_000 },
|
|
57
|
+
"glm-4.5-air": { contextWindow: 128_000 },
|
|
58
|
+
};
|
|
59
|
+
/** Models that accept image content parts directly through chat completions. */
|
|
60
|
+
const VISION_NATIVE_MODELS = new Set(["glm-5v-turbo"]);
|
|
61
|
+
export function isVisionNativeModel(modelId) {
|
|
62
|
+
return VISION_NATIVE_MODELS.has(modelId.toLowerCase());
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Resolve the context window size for a given model ID. Falls back to a safe
|
|
66
|
+
* default (128K) for uncatalogued models.
|
|
67
|
+
*/
|
|
68
|
+
export function getContextWindow(modelId) {
|
|
69
|
+
return MODEL_METADATA[modelId]?.contextWindow ?? 128_000;
|
|
70
|
+
}
|
|
39
71
|
/**
|
|
40
72
|
* Resolve the list of advertised models, allowing the user to override the
|
|
41
73
|
* built-in list via `ACP_GLM_AVAILABLE_MODELS`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glm-client.js","sourceRoot":"","sources":["../../src/llm/glm-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"glm-client.js","sourceRoot":"","sources":["../../src/llm/glm-client.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAAE,gBAAgB,EAAuB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAqC3C,qFAAqF;AACrF,MAAM,gBAAgB,GAAG,qCAAqC,CAAC;AAE/D,qEAAqE;AACrE,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,wBAAwB,GAAgB;IAC5C;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,+CAA+C;KAC7D;IACD;QACE,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,oCAAoC;KAClD;IACD;QACE,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,iDAAiD;KAC/D;IACD;QACE,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,kCAAkC;KAChD;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC;;GAEG;AACH,MAAM,cAAc,GAA8C;IAChE,SAAS,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE;IACrC,aAAa,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE;IACzC,cAAc,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE;IAC1C,SAAS,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE;IACrC,aAAa,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE;CAC1C,CAAC;AAEF,gFAAgF;AAChF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AAEvD,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,cAAc,CAAC,OAAO,CAAC,EAAE,aAAa,IAAI,OAAO,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ;QAAE,OAAO,wBAAwB,CAAC;IAC/C,MAAM,GAAG,GAAG,QAAQ;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACtD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACpB,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;QACvE,OAAO,OAAO,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,eAAe;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC;AACvD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,SAAS;IACZ,MAAM,CAAS;IACf,SAAS,CAAS;IAE1B;QACE,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,gBAAgB,CAAC;QACpE,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAEzD,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,UAAU,CACf,QAAsB,EACtB,MAAoB,EACpB,OAA2B;QAE3B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC;QAClD,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAyB,CAAC,OAAO,EAAE,KAAK,IAAI,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnF,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW;gBACnC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAqC;aAC7D;SACF,CAAC,CAAC,CAAC;QAEJ,KAAK,CACH,qBAAqB,KAAK,YAAY,IAAI,CAAC,MAAM,CAAC,OAAO,aAAa,QAAQ,CAAC,MAAM,UAAU,KAAK,CAAC,MAAM,aAAa,eAAe,EAAE,CAC1I,CAAC;QAEF,wEAAwE;QACxE,oDAAoD;QACpD,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,IAAI,eAAe,EAAE,CAAC;YACpB,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,CAAC;QAED,IAAI,MAAuE,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAChD;gBACE,KAAK;gBACL,QAAQ;gBACR,KAAK;gBACL,WAAW,EAAE,MAAM;gBACnB,MAAM,EAAE,IAAI;gBACZ,uEAAuE;gBACvE,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;gBACvC,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,GAAG,SAAS;aACb,EACD,EAAE,MAAM,EAAE,CACX,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAI,GAA2B,EAAE,MAAM,CAAC;YACpD,MAAM,IAAI,GAAI,GAA2B,EAAE,KAAK,CAAC;YACjD,KAAK,CAAC,qCAAqC,MAAM,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1F,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,wEAAwE;QACxE,MAAM,gBAAgB,GAGlB,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,gBAAoC,CAAC;QAEzC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEhC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,MAAM,CAAC,KAAgC,CAAC;gBAEtD,qDAAqD;gBACrD,MAAM,SAAS,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAC7C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;gBAChC,CAAC;gBAED,0BAA0B;gBAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;gBACjC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBAC1B,CAAC;gBAED,oBAAoB;gBACpB,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,CAM5B,CAAC;gBAEd,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClC,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;wBAChC,IAAI,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;4BAC9C,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBAC1C,CAAC;wBACD,IAAI,EAAE,CAAC,EAAE;4BAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;wBAC9B,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI;4BAAE,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACvD,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS;4BAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACzE,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACzB,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC;gBAC1C,CAAC;YACH,CAAC;YAED,uDAAuD;YACvD,oEAAoE;YACpE,MAAM,QAAQ,GAAI,KAA6B,CAAC,KASnC,CAAC;YAEd,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,KAAK,GAAU;oBACnB,WAAW,EAAE,QAAQ,CAAC,aAAa,IAAI,CAAC;oBACxC,YAAY,EAAE,QAAQ,CAAC,iBAAiB,IAAI,CAAC;oBAC7C,WAAW,EAAE,QAAQ,CAAC,YAAY,IAAI,CAAC;iBACxC,CAAC;gBACF,IAAI,OAAO,QAAQ,CAAC,qBAAqB,EAAE,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACtE,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,aAAa,CAAC;gBACxE,CAAC;gBACD,IACE,OAAO,QAAQ,CAAC,yBAAyB,EAAE,gBAAgB,KAAK,QAAQ,EACxE,CAAC;oBACD,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;gBAC5E,CAAC;gBACD,KAAK,CAAC,2BAA2B,KAAK,CAAC,WAAW,WAAW,KAAK,CAAC,YAAY,UAAU,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC9G,MAAM,EAAE,KAAK,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,sEAAsE;QACtE,mEAAmE;QACnE,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACtC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI;gBAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC/C,CAAC;QACD,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAEzB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;IACrD,CAAC;CACF;AAED,wEAAwE;AACxE,SAAS,WAAW,CAAC,IAAY,EAAE,QAAgB;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,QAAQ,KAAK,GAAG,CAAC;IAC/D,CAAC;IACD,OAAO,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC"}
|
package/dist/protocol/agent.d.ts
CHANGED
|
@@ -2,6 +2,11 @@ import type { Agent, AgentSideConnection, InitializeRequest, InitializeResponse,
|
|
|
2
2
|
import { type GlmMessage, type GlmStreamChunk, type StreamChatOptions } from "../llm/glm-client.js";
|
|
3
3
|
import { SessionStore } from "./session-store.js";
|
|
4
4
|
import { type VisionMcpClient } from "../tools/vision-mcp-client.js";
|
|
5
|
+
/**
|
|
6
|
+
* ACP session mode identifiers. These control when the agent requests user
|
|
7
|
+
* permission for tool calls that mutate state.
|
|
8
|
+
*/
|
|
9
|
+
export type SessionModeId = "default" | "accept_edits" | "bypass_permissions";
|
|
5
10
|
/**
|
|
6
11
|
* Optional dependencies for tests.
|
|
7
12
|
*/
|
|
@@ -47,12 +52,14 @@ export declare class GlmAcpAgent implements Agent {
|
|
|
47
52
|
private get glm();
|
|
48
53
|
private get visionClient();
|
|
49
54
|
initialize(params: InitializeRequest): Promise<InitializeResponse>;
|
|
50
|
-
authenticate(
|
|
55
|
+
authenticate(params: AuthenticateRequest): Promise<AuthenticateResponse>;
|
|
51
56
|
newSession(params: NewSessionRequest): Promise<NewSessionResponse>;
|
|
52
57
|
unstable_setSessionModel(params: SetSessionModelRequest): Promise<SetSessionModelResponse>;
|
|
53
58
|
/** Build the SessionModelState we advertise on session create/load/resume/fork. */
|
|
54
59
|
private modelsState;
|
|
55
|
-
|
|
60
|
+
/** Build the SessionModeState we advertise on session create/load/resume/fork. */
|
|
61
|
+
private modesState;
|
|
62
|
+
setSessionMode(params: SetSessionModeRequest): Promise<SetSessionModeResponse>;
|
|
56
63
|
prompt(params: PromptRequest): Promise<PromptResponse>;
|
|
57
64
|
cancel(params: CancelNotification): Promise<void>;
|
|
58
65
|
closeSession(params: CloseSessionRequest): Promise<void>;
|
|
@@ -71,7 +78,7 @@ export declare class GlmAcpAgent implements Agent {
|
|
|
71
78
|
*/
|
|
72
79
|
private runPromptLoop;
|
|
73
80
|
private mapStopReason;
|
|
74
|
-
/** Tool schemas we expose
|
|
81
|
+
/** Tool schemas we expose for agent-owned local tools plus session MCP tools. */
|
|
75
82
|
private availableToolDefinitions;
|
|
76
83
|
}
|
|
77
84
|
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/protocol/agent.ts"],"names":[],"mappings":"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"}
|