@peterwangze/claude-trigger-router 1.11.0 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/cli.js +108 -19
- package/dist/cli.js.map +2 -2
- package/docs/release-notes-v1.12.0.md +38 -0
- package/docs/releasing.md +4 -4
- package/package.json +1 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Release notes v1.12.0
|
|
2
|
+
|
|
3
|
+
`v1.12.0` 定位为“流式传输韧性与远程中转稳定性修复版”。用户在 `v1.11.0` 上仍复现 `The socket connection was closed unexpectedly`、同模型经中转响应更慢和输出突然卡住,说明首轮修复只覆盖了默认全量缓冲和结构化 error hook 两个问题,还缺少上游中途断流、远程中转取消和跨 chunk 解码的防线。
|
|
4
|
+
|
|
5
|
+
## 本次主线
|
|
6
|
+
|
|
7
|
+
1. 上游流式中途断开不再硬断 socket。
|
|
8
|
+
- 问题:`v1.11.0` 默认透传流式 chunk 后,如果上游 body 在中途抛错,错误仍会冒泡到 ReadableStream controller,客户端可能继续看到 socket 异常。
|
|
9
|
+
- 修复:默认透传路径捕获上游 stream read error,保留已输出 chunk,并追加 `event: error` / `type: upstream_stream_error` 的可读 SSE 事件后关闭流。
|
|
10
|
+
|
|
11
|
+
2. 远程中转在客户端断开时主动取消上游。
|
|
12
|
+
- 问题:`Runtime.remote_service` thin proxy 直接 `reply.send(response.body)`,没有把客户端连接关闭绑定到远端 fetch abort;客户端已经断开时,上游请求可能继续挂住并放大卡顿和资源占用。
|
|
13
|
+
- 修复:远程转发使用 `AbortController`,将 `reply.raw close` 绑定到上游 abort;远端 SSE 响应也进入同一套流式治理包装。
|
|
14
|
+
|
|
15
|
+
3. SSE parser 修复多字节字符跨 chunk 解码。
|
|
16
|
+
- 问题:parser 每个 chunk 新建 `TextDecoder`,中文等多字节字符被网络拆开时可能产生替换字符或 JSON 解析失败。
|
|
17
|
+
- 修复:parser 持续复用同一个 `TextDecoder` 并在 flush 时收尾。
|
|
18
|
+
|
|
19
|
+
## 发布边界
|
|
20
|
+
|
|
21
|
+
- 本版本不新增 SmartRouter 协作模式,不改变远程客户端配置心智。
|
|
22
|
+
- `v1.11.0` 仍保留为首轮止血版本;`v1.12.0` 是针对用户在 `v1.11.0` 上再次复现的二次修复版。
|
|
23
|
+
- 远程中转的非 SSE 响应仍保持原始 body 透传,不注入 SSE error event。
|
|
24
|
+
|
|
25
|
+
## 验证
|
|
26
|
+
|
|
27
|
+
本版本收口前至少需要通过:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm run release:verify
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
本轮新增和复核的 targeted 看护:
|
|
34
|
+
|
|
35
|
+
- `src/governance/stream-response-governance.test.ts`
|
|
36
|
+
- `src/utils/SSEParser.transform.test.ts`
|
|
37
|
+
- `src/index-startup.test.ts`
|
|
38
|
+
- `src/deploy-assets.test.ts`
|
package/docs/releasing.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- `Release Check`:在 PR、`master` push 和手动触发时执行发布前检查
|
|
8
8
|
- `Publish Package`:在版本 tag、GitHub Release 或手动触发时执行正式发布
|
|
9
9
|
|
|
10
|
-
本次 `v1.
|
|
10
|
+
本次 `v1.12.0` minor release 的优先级是流式传输韧性与远程中转稳定性修复。发布检查需要优先保护既有 `setup / start / status / code / doctor / ui` 入口主路径,以及 `/v1/messages` 流式即时透传、上游中途断流的可读 SSE error、远程中转客户端断开取消上游、SSE 多字节跨 chunk 解析、结构化 API error 返回和 v1.10.0 SmartRouter 协作能力不回退。
|
|
11
11
|
|
|
12
12
|
## 一次性准备
|
|
13
13
|
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
|
|
27
27
|
1. 更新版本号
|
|
28
28
|
- `vX.Y.0` 这类 minor release 还需要同步更新版本依赖用例、README 发布定位和对应 release notes。
|
|
29
|
-
- 本次 `v1.
|
|
29
|
+
- 本次 `v1.12.0` 的发布边界以 `docs/release-notes-v1.12.0.md` 为准:主打流式传输韧性、远程中转取消上游、上游中途断流可读错误和 SSE parser 可靠性,不新增 SmartRouter 协作模式或远程客户端配置心智。
|
|
30
30
|
2. 本地先执行发布包验证:
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
33
|
npm run release:verify
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
v1.
|
|
36
|
+
v1.12.0 期间建议在正式 `release:verify` 前额外跑一次流式稳定专项:
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
39
|
npm test -- --run src/governance/stream-response-governance.test.ts src/utils/SSEParser.transform.test.ts src/index-startup.test.ts
|
|
@@ -81,7 +81,7 @@ npm run test:e2e:acceptance
|
|
|
81
81
|
- 目标端口被非本服务占用时的安全提示与“无额外文件修改”边界
|
|
82
82
|
- 残留 / 失效 PID 文件的安全清理
|
|
83
83
|
- `release:stage` 生成的 `.release-stage\ctr-release-home.cmd` wrapper 是否真的指向隔离 `.release-home`
|
|
84
|
-
- v1.
|
|
84
|
+
- v1.12.0 流式传输韧性发布承诺的 stream governance 即时透传、上游中途断流可读 SSE error、远程中转客户端断开取消上游、SSE parser 跨 chunk / 多字节解析、结构化 API error 返回,以及 v1.10.0 routing advisor / SmartRouter collaboration 不回退检查
|
|
85
85
|
|
|
86
86
|
只有这一步通过后,才继续正式发布,避免“发布后才发现包内容、CLI 启动或 setup 主流程有问题”。
|
|
87
87
|
|
package/package.json
CHANGED