@qwen-code/qwen-code 0.15.12-preview.3 → 0.16.0-preview.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/bundled/qc-helper/docs/configuration/settings.md +20 -24
- package/bundled/qc-helper/docs/qwen-serve.md +29 -10
- package/chunks/{agent-LIAWUWAO.js → agent-ZNQPH67I.js} +15 -15
- package/chunks/{anthropicContentGenerator-4QE6LTVV.js → anthropicContentGenerator-ICBDZ6R2.js} +4 -4
- package/chunks/{askUserQuestion-QFSCBTUO.js → askUserQuestion-WQILGUSQ.js} +2 -2
- package/chunks/{chunk-SQNQIOD5.js → chunk-2B7UBDY5.js} +2 -2
- package/chunks/chunk-3MBY4GKN.js +350 -0
- package/chunks/{chunk-GC5RXNL2.js → chunk-7QXHXMC6.js} +23 -7
- package/chunks/{chunk-XLQ4E5PS.js → chunk-C3LHPHN2.js} +11 -11
- package/chunks/{chunk-UXW7MYAW.js → chunk-CW44BRRA.js} +1 -1
- package/chunks/{chunk-G27O2LD2.js → chunk-D5NTAHYL.js} +1 -1
- package/chunks/{chunk-CBVB66WY.js → chunk-EDYSNFEM.js} +1 -1
- package/chunks/{chunk-OCC4MZRS.js → chunk-F23NCRJ2.js} +1 -1
- package/chunks/{chunk-FYMSCRHM.js → chunk-FZIUV27X.js} +1 -1
- package/chunks/{chunk-5QQ5FGTU.js → chunk-G7YTSRES.js} +1 -1
- package/chunks/{chunk-AOJ3BBY7.js → chunk-JHMX4QTD.js} +9 -9
- package/chunks/{chunk-TPGOGCWM.js → chunk-JYQUJ5DS.js} +1 -1
- package/chunks/{chunk-FKVKVE6N.js → chunk-KXZ4TJB4.js} +1 -1
- package/chunks/{chunk-AJSOD5IR.js → chunk-MNPZ2WO6.js} +535 -141
- package/chunks/{chunk-BXNCPI75.js → chunk-NAID3ZWF.js} +2 -2
- package/chunks/{chunk-JMZQICAL.js → chunk-PPHYLJSS.js} +1 -1
- package/chunks/{chunk-CM2IESUE.js → chunk-PR4T27R7.js} +1 -1
- package/chunks/{chunk-CAWKL3UC.js → chunk-VTPOO6GV.js} +1 -1
- package/chunks/{chunk-GJXIKCKL.js → chunk-XP27SJMH.js} +76 -5
- package/chunks/{chunk-B7ZL7HUA.js → chunk-XVHR7ATJ.js} +1 -1
- package/chunks/{contextCommand-SVLAZMQL.js → contextCommand-IGBCEXI4.js} +16 -16
- package/chunks/{cron-create-WUTD5ZTH.js → cron-create-AVI3Q267.js} +2 -2
- package/chunks/{cron-delete-N3UQYCRA.js → cron-delete-ZCEGDXXV.js} +2 -2
- package/chunks/{cron-list-Z6RJJ4YH.js → cron-list-VN653OK5.js} +2 -2
- package/chunks/{edit-VNAZBIZR.js → edit-74Q4AFHQ.js} +16 -16
- package/chunks/{en-NRN4QBAT.js → en-FIUWJSZR.js} +1 -0
- package/chunks/{enter-worktree-FOF5YZIV.js → enter-worktree-H72HXC7D.js} +15 -15
- package/chunks/{exit-worktree-Y6QVAO3C.js → exit-worktree-FGIQO3S3.js} +15 -15
- package/chunks/{exitPlanMode-QZKO7GH7.js → exitPlanMode-NBR2PK2D.js} +15 -15
- package/chunks/{geminiContentGenerator-DYHZPKJX.js → geminiContentGenerator-33RP4WKD.js} +3 -3
- package/chunks/{glob-G7XATELV.js → glob-WEE3CJL6.js} +15 -15
- package/chunks/{grep-4SETMY47.js → grep-DZKSBFZK.js} +15 -15
- package/chunks/{keychain-token-storage-DMFP5IJM.js → keychain-token-storage-335UOLJ6.js} +2 -2
- package/chunks/{ls-SUILOZZB.js → ls-6F3VSP6S.js} +3 -3
- package/chunks/{lsp-6TQBWVMZ.js → lsp-67Y7DJN5.js} +2 -2
- package/chunks/{monitor-JTLJBJ7H.js → monitor-EDZWEZVS.js} +15 -15
- package/chunks/{openaiContentGenerator-3H7XOZBW.js → openaiContentGenerator-5NQG3W64.js} +10 -10
- package/chunks/{qwenContentGenerator-FAU3QPYO.js → qwenContentGenerator-4DPUUS6R.js} +17 -17
- package/chunks/{qwenOAuth2-JSQ7EPR3.js → qwenOAuth2-JE7H47TE.js} +3 -3
- package/chunks/{read-file-WWUQVNCZ.js → read-file-CQOF7BQ2.js} +7 -7
- package/chunks/{ripGrep-WCOAIWL6.js → ripGrep-KR5LKGTI.js} +15 -15
- package/chunks/{send-message-Q2JRAC3J.js → send-message-GB4AQZNC.js} +2 -2
- package/chunks/{serve-VJEEEXA6.js → serve-GAD2PEST.js} +501 -286
- package/chunks/{shell-IAOKGIJ6.js → shell-E2HMCBGR.js} +15 -15
- package/chunks/{skill-NHW6222K.js → skill-KDZH6UZ6.js} +9 -9
- package/chunks/{src-OWV5HVQQ.js → src-LY4RU5AI.js} +17 -15
- package/chunks/{syntheticOutput-S4DRGMQM.js → syntheticOutput-HFL3DE7R.js} +3 -3
- package/chunks/{task-stop-7THHVAQS.js → task-stop-ZQF26RXS.js} +2 -2
- package/chunks/{todoWrite-WKUGUTPX.js → todoWrite-U4SC643O.js} +3 -3
- package/chunks/{tool-search-MSJ6SXLI.js → tool-search-U4XQVLFU.js} +7 -7
- package/chunks/{web-fetch-OZE6ZQUF.js → web-fetch-BRWZ4WSE.js} +4 -4
- package/chunks/{write-file-RKCENFZ5.js → write-file-NBLRMNGB.js} +16 -16
- package/chunks/{zh-TW-XZEHEV5S.js → zh-TW-552S24LR.js} +1 -0
- package/chunks/{zh-RN3JULHO.js → zh-V32QONGV.js} +1 -0
- package/cli.js +598 -59
- package/locales/en.js +2 -0
- package/locales/zh-TW.js +1 -0
- package/locales/zh.js +1 -0
- package/package.json +2 -2
|
@@ -73,13 +73,7 @@ When both legacy settings are present with different values, the migration follo
|
|
|
73
73
|
|
|
74
74
|
### Available settings in `settings.json`
|
|
75
75
|
|
|
76
|
-
Settings are organized into categories. Most settings should be placed within their corresponding top-level category object in your `settings.json` file. A few
|
|
77
|
-
|
|
78
|
-
#### top-level
|
|
79
|
-
|
|
80
|
-
| Setting | Type | Description | Default |
|
|
81
|
-
| ------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
|
|
82
|
-
| `proxy` | string | Proxy URL for CLI HTTP requests. Precedence is `--proxy` > `proxy` in `settings.json` > `HTTPS_PROXY` / `https_proxy` / `HTTP_PROXY` / `http_proxy` environment variables. | `undefined` |
|
|
76
|
+
Settings are organized into categories. Most settings should be placed within their corresponding top-level category object in your `settings.json` file. A few top-level settings like `proxy` and `plansDirectory` remain direct root keys for compatibility.
|
|
83
77
|
|
|
84
78
|
#### general
|
|
85
79
|
|
|
@@ -145,17 +139,17 @@ Settings are organized into categories. Most settings should be placed within th
|
|
|
145
139
|
|
|
146
140
|
#### model
|
|
147
141
|
|
|
148
|
-
| Setting | Type | Description
|
|
149
|
-
| -------------------------------------------------- | ------- |
|
|
150
|
-
| `model.name` | string | The Qwen model to use for conversations.
|
|
151
|
-
| `model.maxSessionTurns` | number | Maximum number of user/model/tool turns to keep in a session. -1 means unlimited.
|
|
152
|
-
| `model.generationConfig` | object | Advanced overrides passed to the underlying content generator. Supports request controls such as `timeout`, `maxRetries`, `enableCacheControl`, `splitToolMedia` (set `true` for strict OpenAI-compatible servers like LM Studio that reject non-text content on `role: "tool"` messages — splits media into a follow-up user message), `contextWindowSize` (override model's context window size), `modalities` (override auto-detected input modalities), `customHeaders` (custom HTTP headers for API requests), `extra_body` (additional body parameters for OpenAI-compatible API requests only),
|
|
153
|
-
| `model.chatCompression.contextPercentageThreshold` | number | Sets the threshold for chat history compression as a percentage of the model's total token limit. This is a value between 0 and 1 that applies to both automatic compression and the manual `/compress` command. For example, a value of `0.6` will trigger compression when the chat history exceeds 60% of the token limit. Use `0` to disable compression entirely.
|
|
154
|
-
| `model.skipNextSpeakerCheck` | boolean | Skip the next speaker check.
|
|
155
|
-
| `model.skipLoopDetection` | boolean | Disables loop detection checks. Loop detection prevents infinite loops in AI responses but can generate false positives that interrupt legitimate workflows. Enable this option if you experience frequent false positive loop detection interruptions.
|
|
156
|
-
| `model.skipStartupContext` | boolean | Skips sending the startup workspace context (environment summary and acknowledgement) at the beginning of each session. Enable this if you prefer to provide context manually or want to save tokens on startup.
|
|
157
|
-
| `model.enableOpenAILogging` | boolean | Enables logging of OpenAI API calls for debugging and analysis. When enabled, API requests and responses are logged to JSON files.
|
|
158
|
-
| `model.openAILoggingDir` | string | Custom directory path for OpenAI API logs. If not specified, defaults to `logs/openai` in the current working directory. Supports absolute paths, relative paths (resolved from current working directory), and `~` expansion (home directory).
|
|
142
|
+
| Setting | Type | Description | Default |
|
|
143
|
+
| -------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- |
|
|
144
|
+
| `model.name` | string | The Qwen model to use for conversations. | `undefined` |
|
|
145
|
+
| `model.maxSessionTurns` | number | Maximum number of user/model/tool turns to keep in a session. -1 means unlimited. | `-1` |
|
|
146
|
+
| `model.generationConfig` | object | Advanced overrides passed to the underlying content generator. Supports request controls such as `timeout`, `maxRetries`, `enableCacheControl`, `splitToolMedia` (set `true` for strict OpenAI-compatible servers like LM Studio that reject non-text content on `role: "tool"` messages — splits media into a follow-up user message), `contextWindowSize` (override model's context window size), `modalities` (override auto-detected input modalities), `customHeaders` (custom HTTP headers for API requests), and `extra_body` (additional body parameters for OpenAI-compatible API requests only), along with fine-tuning knobs under `samplingParams` (for example `temperature`, `top_p`, `max_tokens`). Leave unset to rely on provider defaults. | `undefined` |
|
|
147
|
+
| `model.chatCompression.contextPercentageThreshold` | number | Sets the threshold for chat history compression as a percentage of the model's total token limit. This is a value between 0 and 1 that applies to both automatic compression and the manual `/compress` command. For example, a value of `0.6` will trigger compression when the chat history exceeds 60% of the token limit. Use `0` to disable compression entirely. | `0.7` |
|
|
148
|
+
| `model.skipNextSpeakerCheck` | boolean | Skip the next speaker check. | `false` |
|
|
149
|
+
| `model.skipLoopDetection` | boolean | Disables loop detection checks. Loop detection prevents infinite loops in AI responses but can generate false positives that interrupt legitimate workflows. Enable this option if you experience frequent false positive loop detection interruptions. | `false` |
|
|
150
|
+
| `model.skipStartupContext` | boolean | Skips sending the startup workspace context (environment summary and acknowledgement) at the beginning of each session. Enable this if you prefer to provide context manually or want to save tokens on startup. | `false` |
|
|
151
|
+
| `model.enableOpenAILogging` | boolean | Enables logging of OpenAI API calls for debugging and analysis. When enabled, API requests and responses are logged to JSON files. | `false` |
|
|
152
|
+
| `model.openAILoggingDir` | string | Custom directory path for OpenAI API logs. If not specified, defaults to `logs/openai` in the current working directory. Supports absolute paths, relative paths (resolved from current working directory), and `~` expansion (home directory). | `undefined` |
|
|
159
153
|
|
|
160
154
|
**Example model.generationConfig:**
|
|
161
155
|
|
|
@@ -440,12 +434,13 @@ LSP server configuration is done through `.lsp.json` files in your project root
|
|
|
440
434
|
|
|
441
435
|
#### advanced
|
|
442
436
|
|
|
443
|
-
| Setting | Type | Description
|
|
444
|
-
| ------------------------------ | ---------------- |
|
|
445
|
-
| `advanced.autoConfigureMemory` | boolean | Automatically configure Node.js memory limits.
|
|
446
|
-
| `advanced.dnsResolutionOrder` | string | The DNS resolution order.
|
|
447
|
-
| `advanced.excludedEnvVars` | array of strings | Environment variables to exclude from project context. Specifies environment variables that should be excluded from being loaded from project `.env` files. This prevents project-specific environment variables (like `DEBUG=true`) from interfering with the CLI behavior. Variables from `.qwen/.env` files are never excluded.
|
|
448
|
-
| `advanced.bugCommand` | object | Configuration for the bug report command. Overrides the default URL for the `/bug` command. Properties: `urlTemplate` (string): A URL that can contain `{title}` and `{info}` placeholders. Example: `"bugCommand": { "urlTemplate": "https://bug.example.com/new?title={title}&info={info}" }`
|
|
437
|
+
| Setting | Type | Description | Default |
|
|
438
|
+
| ------------------------------ | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
|
|
439
|
+
| `advanced.autoConfigureMemory` | boolean | Automatically configure Node.js memory limits. | `false` |
|
|
440
|
+
| `advanced.dnsResolutionOrder` | string | The DNS resolution order. | `undefined` |
|
|
441
|
+
| `advanced.excludedEnvVars` | array of strings | Environment variables to exclude from project context. Specifies environment variables that should be excluded from being loaded from project `.env` files. This prevents project-specific environment variables (like `DEBUG=true`) from interfering with the CLI behavior. Variables from `.qwen/.env` files are never excluded. | `["DEBUG","DEBUG_MODE"]` |
|
|
442
|
+
| `advanced.bugCommand` | object | Configuration for the bug report command. Overrides the default URL for the `/bug` command. Properties: `urlTemplate` (string): A URL that can contain `{title}` and `{info}` placeholders. Example: `"bugCommand": { "urlTemplate": "https://bug.example.com/new?title={title}&info={info}" }` | `undefined` |
|
|
443
|
+
| `plansDirectory` | string | Custom directory for approved Plan Mode files. Relative paths are resolved from the project root, and the resolved path must stay within the project root. If unset, plan files are stored in `~/.qwen/plans`. **Requires restart.** If the directory is inside the project root, add it to `.gitignore` to avoid committing plan files. | `undefined` |
|
|
449
444
|
|
|
450
445
|
#### mcpServers
|
|
451
446
|
|
|
@@ -487,6 +482,7 @@ Here is an example of a `settings.json` file with the nested structure, new as o
|
|
|
487
482
|
```
|
|
488
483
|
{
|
|
489
484
|
"proxy": "http://localhost:7890",
|
|
485
|
+
"plansDirectory": "./.qwen/plans",
|
|
490
486
|
"general": {
|
|
491
487
|
"vimMode": true,
|
|
492
488
|
"preferredEditor": "code"
|
|
@@ -38,6 +38,12 @@ curl http://127.0.0.1:4170/capabilities
|
|
|
38
38
|
|
|
39
39
|
The `workspaceCwd` field surfaces the bound workspace so clients can pre-flight check + omit `cwd` on `POST /session`.
|
|
40
40
|
|
|
41
|
+
The daemon also exposes read-only runtime snapshots for client UIs:
|
|
42
|
+
`GET /workspace/mcp`, `GET /workspace/skills`, `GET /workspace/providers`,
|
|
43
|
+
`GET /session/:id/context`, and `GET /session/:id/supported-commands`. The
|
|
44
|
+
workspace routes report the live daemon runtime and do not start the ACP child
|
|
45
|
+
when idle; an idle daemon returns `initialized: false` with an empty snapshot.
|
|
46
|
+
|
|
41
47
|
### 3. Open a session
|
|
42
48
|
|
|
43
49
|
```bash
|
|
@@ -97,6 +103,17 @@ qwen serve --hostname 0.0.0.0 --port 4170
|
|
|
97
103
|
|
|
98
104
|
Clients then send `Authorization: Bearer $QWEN_SERVER_TOKEN` on every request. `/health` is exempted **only on loopback binds** so k8s/Compose liveness probes inside the pod (where the daemon listens on `127.0.0.1`) don't need credentials. On non-loopback binds (`--hostname 0.0.0.0` etc.) `/health` requires the token like every other route — otherwise an attacker can probe arbitrary addresses to confirm the daemon's existence. Use `/capabilities` to verify your token is correct end-to-end (it always requires auth):
|
|
99
105
|
|
|
106
|
+
> **Hardened loopback (`--require-auth`).** The default loopback no-token behavior is fine for a single-user laptop but unsafe on shared dev hosts, CI runners, or multi-tenant workstations where any local user can `curl 127.0.0.1:4170`. Pass `--require-auth` to make the bearer token mandatory on every route — including `/health` and `/capabilities` — even when bound to `127.0.0.1`. Boot fails without a token. With the flag on, an **unauthenticated** client can't read `/capabilities` to discover that auth is required; the discovery surface is the 401 response body itself. Once authenticated, the `caps.features.require_auth` tag is a post-auth confirmation that the deployment is hardened (useful for audit / compliance UIs):
|
|
107
|
+
>
|
|
108
|
+
> ```bash
|
|
109
|
+
> qwen serve --require-auth --token "$(openssl rand -hex 32)"
|
|
110
|
+
> # → /health, /capabilities, /session, … all require Authorization: Bearer …
|
|
111
|
+
> curl http://127.0.0.1:4170/health
|
|
112
|
+
> # → 401
|
|
113
|
+
> curl -H "Authorization: Bearer $TOKEN" http://127.0.0.1:4170/capabilities | jq '.features | index("require_auth")'
|
|
114
|
+
> # → 13 (or whatever index — non-null after authenticating means the tag is present)
|
|
115
|
+
> ```
|
|
116
|
+
|
|
100
117
|
```bash
|
|
101
118
|
curl -H "Authorization: Bearer $QWEN_SERVER_TOKEN" http://your-host:4170/capabilities
|
|
102
119
|
# → {"v":1,"mode":"http-bridge","features":[...],"modelServices":[],"workspaceCwd":"/path/to/your-project"}
|
|
@@ -107,15 +124,17 @@ The token comparison is constant-time (SHA-256 + `crypto.timingSafeEqual`); 401
|
|
|
107
124
|
|
|
108
125
|
## CLI flags
|
|
109
126
|
|
|
110
|
-
| Flag | Default | Purpose
|
|
111
|
-
| ----------------------- | --------------- |
|
|
112
|
-
| `--port <n>` | `4170` | TCP port. `0` = OS-assigned ephemeral port.
|
|
113
|
-
| `--hostname <addr>` | `127.0.0.1` | Bind interface. Anything beyond loopback requires a token.
|
|
114
|
-
| `--token <str>` | — | Bearer token. Falls back to `QWEN_SERVER_TOKEN` env var (with leading/trailing whitespace stripped — handy for `$(cat token.txt)`).
|
|
115
|
-
| `--
|
|
116
|
-
| `--
|
|
117
|
-
| `--
|
|
118
|
-
| `--
|
|
127
|
+
| Flag | Default | Purpose |
|
|
128
|
+
| ----------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
129
|
+
| `--port <n>` | `4170` | TCP port. `0` = OS-assigned ephemeral port. |
|
|
130
|
+
| `--hostname <addr>` | `127.0.0.1` | Bind interface. Anything beyond loopback requires a token. |
|
|
131
|
+
| `--token <str>` | — | Bearer token. Falls back to `QWEN_SERVER_TOKEN` env var (with leading/trailing whitespace stripped — handy for `$(cat token.txt)`). |
|
|
132
|
+
| `--require-auth` | `false` | Refuse to start without a bearer token, even on loopback. Hardens the `127.0.0.1` developer default for shared dev hosts / CI runners / multi-tenant workstations where any local user can hit the listener. Boots only with `--token` or `QWEN_SERVER_TOKEN` set; gates `/health` behind the bearer too. |
|
|
133
|
+
| `--max-sessions <n>` | `20` | Cap on concurrent live sessions. New `POST /session` requests that would spawn a fresh child return `503` (with `Retry-After: 5`) when the cap is hit; attaches to existing sessions are NOT counted. Set to `0` to disable. Sized for single-user / small-team usage; raise it if your deployment has the RAM/FD headroom (~30–50 MB per session). |
|
|
134
|
+
| `--workspace <path>` | `process.cwd()` | Absolute workspace path this daemon binds to (per [#3803](https://github.com/QwenLM/qwen-code/issues/3803) §02 — 1 daemon = 1 workspace). `POST /session` requests with a mismatched `cwd` return `400 workspace_mismatch`. For multi-workspace deployments, run one `qwen serve` per workspace on separate ports. |
|
|
135
|
+
| `--max-connections <n>` | `256` | Listener-level TCP connection cap (`server.maxConnections`). Bounds raw socket count irrespective of session count — slow / phantom SSE clients get rejected at accept time once full. Raise alongside `--max-sessions` if your deployment expects many SSE subscribers per session. |
|
|
136
|
+
| `--event-ring-size <n>` | `8000` | Per-session SSE replay ring depth (#3803 §02 target). Sets the backlog available to `GET /session/:id/events` with `Last-Event-ID: N`. Larger = more reconnect headroom at the cost of a few hundred KB extra RAM per session. SDK clients can additionally request a larger per-subscriber backlog cap on a specific subscription via `?maxQueued=N` (range `[16, 2048]`, default 256). Daemons also emit a non-terminal `slow_client_warning` SSE frame at 75% queue fill so clients can drain / reconnect before getting evicted. Pre-flight `caps.features.slow_client_warning`. |
|
|
137
|
+
| `--http-bridge` | `true` | Stage 1 mode: one `qwen --acp` child per daemon (bound to one workspace at boot, per [#3803](https://github.com/QwenLM/qwen-code/issues/3803) §02); N sessions multiplex onto that child via ACP `newSession()`. Stage 2 native in-process becomes available later. |
|
|
119
138
|
|
|
120
139
|
> **Sizing the load knobs.** `--max-sessions` is the **new-child** cap.
|
|
121
140
|
> Three other layers also limit load — when sizing for a high-concurrency
|
|
@@ -227,7 +246,7 @@ Stage 1's contract is sized for prototyping. Per [#3889 chiga0 downstream-consum
|
|
|
227
246
|
|
|
228
247
|
**Reliability baseline:**
|
|
229
248
|
|
|
230
|
-
3.
|
|
249
|
+
3. ~~**Client-initiated heartbeat path**~~ — shipped via [#4175](https://github.com/QwenLM/qwen-code/issues/4175) PR 9. `POST /session/:id/heartbeat` records last-seen timestamps on the daemon (capability tag `client_heartbeat`); SDK helpers are `DaemonClient.heartbeat()` / `DaemonSessionClient.heartbeat()`.
|
|
231
250
|
4. **`permission_already_resolved` event** when a vote loses the first-responder race — currently UIs have to infer state from a `404`.
|
|
232
251
|
5. **Larger / per-session-configurable replay ring** — default 4000 covers short drops; mobile / chatty-turn workloads need 8000+ or per-session config.
|
|
233
252
|
6. **`slow_client_warning` event before `client_evicted`** — soft backpressure so well-behaved slow clients can self-throttle (trim render depth, drop chunks) before being terminated.
|
|
@@ -7,32 +7,32 @@ import {
|
|
|
7
7
|
hasRebuiltToolRegistry,
|
|
8
8
|
rebuildToolRegistryOnOverride,
|
|
9
9
|
resolveSubagentApprovalMode
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-MNPZ2WO6.js";
|
|
11
11
|
import "./chunk-5P5XGNYH.js";
|
|
12
12
|
import "./chunk-K5PGHDBN.js";
|
|
13
13
|
import "./chunk-O4PICXES.js";
|
|
14
14
|
import "./chunk-TW522KN6.js";
|
|
15
15
|
import "./chunk-MLZQVCF3.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-PPHYLJSS.js";
|
|
17
|
+
import "./chunk-G7YTSRES.js";
|
|
18
|
+
import "./chunk-XVHR7ATJ.js";
|
|
19
19
|
import "./chunk-77WXWU44.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-F23NCRJ2.js";
|
|
21
|
+
import "./chunk-VTPOO6GV.js";
|
|
22
|
+
import "./chunk-C3LHPHN2.js";
|
|
23
23
|
import "./chunk-SYCJMSIJ.js";
|
|
24
24
|
import "./chunk-UWCTAVOD.js";
|
|
25
25
|
import "./chunk-OFEVLU4C.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-PR4T27R7.js";
|
|
27
|
+
import "./chunk-CW44BRRA.js";
|
|
28
|
+
import "./chunk-D5NTAHYL.js";
|
|
29
29
|
import "./chunk-T4VD6OJ4.js";
|
|
30
30
|
import "./chunk-RDYWTWEM.js";
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-JYQUJ5DS.js";
|
|
32
|
+
import "./chunk-FZIUV27X.js";
|
|
33
|
+
import "./chunk-2B7UBDY5.js";
|
|
34
|
+
import "./chunk-KXZ4TJB4.js";
|
|
35
|
+
import "./chunk-XP27SJMH.js";
|
|
36
36
|
import "./chunk-E7E2MFYM.js";
|
|
37
37
|
import "./chunk-ZERZSAZL.js";
|
|
38
38
|
import "./chunk-QN5NZ3UQ.js";
|
package/chunks/{anthropicContentGenerator-4QE6LTVV.js → anthropicContentGenerator-ICBDZ6R2.js}
RENAMED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-KQIKOTQJ.js";
|
|
7
7
|
import {
|
|
8
8
|
RequestTokenizer
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-NAID3ZWF.js";
|
|
10
10
|
import {
|
|
11
11
|
Blob,
|
|
12
12
|
File,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
buildRuntimeFetchOptions,
|
|
18
18
|
redactProxyError
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-VTPOO6GV.js";
|
|
20
20
|
import {
|
|
21
21
|
CAPPED_DEFAULT_MAX_TOKENS,
|
|
22
22
|
DEFAULT_TIMEOUT,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
hasExplicitOutputLimit,
|
|
25
25
|
safeJsonParse,
|
|
26
26
|
tokenLimit
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-CW44BRRA.js";
|
|
28
28
|
import {
|
|
29
29
|
FinishReason,
|
|
30
30
|
GenerateContentResponse
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
import "./chunk-RDYWTWEM.js";
|
|
33
33
|
import {
|
|
34
34
|
createDebugLogger
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-XP27SJMH.js";
|
|
36
36
|
import "./chunk-E7E2MFYM.js";
|
|
37
37
|
import {
|
|
38
38
|
require_ms
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
BaseToolInvocation,
|
|
7
7
|
ToolDisplayNames,
|
|
8
8
|
ToolNames
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-FZIUV27X.js";
|
|
10
10
|
import {
|
|
11
11
|
createDebugLogger
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XP27SJMH.js";
|
|
13
13
|
import "./chunk-QWSRH265.js";
|
|
14
14
|
import {
|
|
15
15
|
init_esbuild_shims
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
formatFetchErrorForUser
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-KXZ4TJB4.js";
|
|
6
6
|
import {
|
|
7
7
|
Storage,
|
|
8
8
|
createDebugLogger
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XP27SJMH.js";
|
|
10
10
|
import {
|
|
11
11
|
init_esbuild_shims
|
|
12
12
|
} from "./chunk-A4BMJM77.js";
|