@migor/agentia 0.9.3 → 0.9.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/CHANGELOG.md +95 -1
- package/README.md +1 -1
- package/dist/AGENTS.md +8 -5
- package/dist/core/limits.d.ts +31 -7
- package/dist/core/limits.js +33 -6
- package/dist/core/limits.js.map +1 -1
- package/dist/core/tool.d.ts +14 -0
- package/dist/engine/trimming.js +124 -16
- package/dist/engine/trimming.js.map +1 -1
- package/dist/engine/usage.d.ts +22 -3
- package/dist/engine/usage.js +47 -6
- package/dist/engine/usage.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/transport/http.js +24 -3
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/scheduler.js +14 -1
- package/dist/transport/scheduler.js.map +1 -1
- package/dist/transport/sse.js +8 -0
- package/dist/transport/sse.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,99 @@
|
|
|
5
5
|
(0.x 阶段:minor 可含破坏性变更,每个破坏性变更都在对应版本的「迁移」小节里写明)。
|
|
6
6
|
决策的完整证据链在 `docs/spec.md` §10(带时间线的决策日志)。
|
|
7
7
|
|
|
8
|
+
## [0.9.4] - 2026-09-26
|
|
9
|
+
|
|
10
|
+
> 本版主题(窗口 `0.9.3 → 0.9.4`):**成本与限制的账本对齐 + 「能不能发」有了判据**。
|
|
11
|
+
> 四块内容:① 成本口径补齐(缓存读/写单价,含 1h 档 = 2×;图片按**尺寸上界**估);
|
|
12
|
+
> ② 三个「旋钮设成 0 就静默失效」的洞改成**构造期响亮失败**;③ 大载荷不再灌进摘要器
|
|
13
|
+
> (`tool_result` **内嵌**图片块与 `tool_use` 参数两处,实测一张 200 000 字符 base64 的截图
|
|
14
|
+
> 此前渲染出 200 086 字符、估算 50 022 token ⇒ 修后 32 字符 / 3 139 token);
|
|
15
|
+
> ④ 评测即发布闸门(配方 + 可拷走的实现 + 守卫)。另含官网的 agent 可读面(每页 `.md` 变体 +
|
|
16
|
+
> `Accept: text/markdown` 内容协商)。
|
|
17
|
+
> **无破坏性变更**:框架公共 API 与脚手架模板形态逐字未变 —— 三个旋钮的 `0` 原本就
|
|
18
|
+
> 「静默不派发 / 拒掉一切 / 流活不过一帧」,现在改成启动期报错,**没有任何本来能工作的配置
|
|
19
|
+
> 会因此变坏**;既有使用者不需要任何动作。
|
|
20
|
+
|
|
21
|
+
### 修复 · 大载荷不再灌进摘要器
|
|
22
|
+
|
|
23
|
+
- **`tool_result` **内嵌**图片块按尺寸上界估、只给占位**:工具返回截图是生产里最常见的入图路径,
|
|
24
|
+
而此前的「渲染 / 摘要侧只给 `[image …]` 占位、不展开 base64」只覆盖**顶层**图片块。
|
|
25
|
+
实测一张 200 000 字符 base64 的截图:渲染出 200 086 字符(含原始 base64)、估算 **50 022 token**
|
|
26
|
+
—— 修后 **32 字符 / 3 139 token**,与顶层图片同一条口径(内嵌与顶层的估算差 ≤ 3 token)。
|
|
27
|
+
- **`tool_use` 的参数同样有界**:同一类「大载荷灌进摘要器」的洞,两处各配回归用例
|
|
28
|
+
(含「小参数不许被截断」的阳性对照),变异验证 4/4 咬人。
|
|
29
|
+
|
|
30
|
+
### 变更 · 三个旋钮的 `0` 从「静默失效」改成构造期报错
|
|
31
|
+
|
|
32
|
+
- **`Scheduler.every.maxInFlight: 0`**:闸门判据是 `inFlight.size >= maxInFlight`,`0` / 负数时
|
|
33
|
+
**恒真** ⇒ 每次 tick 都跳过,周期任务**永不派发且不报错**(实测 60 ms 内派发 0 次、无任何日志)。
|
|
34
|
+
现在与 `AsyncRunner.concurrency` 同款在构造期抛 `TypeError`;`Infinity`(关闸门)与缺省 `1` 不受影响。
|
|
35
|
+
- **`HttpHandlerOptions.maxBodyBytes: 0`**:实测「每个带 body 的请求都 413」(3 条 POST 全部 413)。
|
|
36
|
+
- **`SseWriterOptions.maxBufferedBytes: 0`**:实测「流活不过一帧」。
|
|
37
|
+
- 三处都判 `invalid` + 构造期抛错,并接上 `limits.ts`(「限制旋钮的 0 是什么」的单一真源)的
|
|
38
|
+
`zeroClauseOf` 文案单源。⚠️ 还挡一类事故:`Number('') === 0` —— 空的环境变量会静默变成「拒绝一切」。
|
|
39
|
+
|
|
40
|
+
### 新增 · 成本口径
|
|
41
|
+
|
|
42
|
+
- **`ModelPricing` 新增 `cacheRead` / `cacheWrite`**(缺省读 0.1×、写 1.25×;**1h 档写 2×** 由
|
|
43
|
+
`priceOverrides` 表达),非法乘数(负数 / NaN)同样构造期抛错。
|
|
44
|
+
- **未定价模型会「响」**:turn 上记 `usage.unpriced` 事件、指标有 `model_unpriced_turns_total`、
|
|
45
|
+
可挂 `onUnpricedModel` 回调 —— 此前价格表外的模型成本恒为 0,`maxCostUsd` 这条护栏
|
|
46
|
+
**静默不触发**(现在失效本身是可观测的)。
|
|
47
|
+
- **图片块的 token 按尺寸上界估**:官方按**尺寸**计费(28×28 像素 = 1 visual token),与文件字节数
|
|
48
|
+
无关;框架取「长边缩到 1568px」的上界 3136 token/块 —— 宁可高估(`maxTotalTokens` 提前拦)
|
|
49
|
+
也不低估(护栏迟触发)。
|
|
50
|
+
|
|
51
|
+
### 新增 · 评测即发布闸门(`docs/eval-gate.md` + `examples/eval-gate/`)
|
|
52
|
+
|
|
53
|
+
- 把「这一版能不能发」收成一条判据:**回归**(基线通过 → 这次失败)与**删用例**(基线里有 → 这次没跑)
|
|
54
|
+
判不通过;「基线里本来就失败」**放行**(已知债不拦发布);退出码 `1`(回归)与 `2`(基线坏了)分两档。
|
|
55
|
+
- 配方文档 + 可直接拷走的实现 + 守卫(9 条纯函数断言 + 文档↔示例导出面双向覆盖 + e2e 真喂三份
|
|
56
|
+
被改坏的基线)。**`src/` 零改动** —— 框架的职责到「产出结论」为止。
|
|
57
|
+
|
|
58
|
+
### 新增 · 官网的 agent 可读面(GEO 档 C/D)
|
|
59
|
+
|
|
60
|
+
- **每页 `.md` 变体**:`packages/website/scripts/build-md-variants.mjs` 在构建末尾从**产物**
|
|
61
|
+
`dist/*.html`(与打分器同源)生成同名 `.md`,正文一个字不丢、剥壳集合与打分器一致。
|
|
62
|
+
- **`Accept: text/markdown` 内容协商**:`packages/website/public/_worker.js`(Cloudflare Pages
|
|
63
|
+
advanced mode)只改写带该头的**无扩展名页面路径**,其余(`/llms.txt`、`/robots.txt`、
|
|
64
|
+
`/sitemap.xml`、`/_astro/*`)原样透传,且**任何异常都退回 `env.ASSETS.fetch(request)`**
|
|
65
|
+
—— advanced mode 下所有请求都过它,兜底必须是最外层的那一个。
|
|
66
|
+
|
|
67
|
+
### 仓库自身(不面向使用者)
|
|
68
|
+
|
|
69
|
+
- **`packages/cli/test/inspector.test.mjs` 新增 ⑫「选完文件夹 → 透传给 run 的就是所选目录」**:
|
|
70
|
+
2026-09-24 真用户反馈「选完之后透传给 agent 的不是所选文件夹」,逐环核实后**链路是通的**
|
|
71
|
+
(`createApp` 把显式 `providers` 拼在 discover 结果**之后** ⇒ 模板的 `WORKDIR = opts.workdir`
|
|
72
|
+
赢过目录里扫出来的无 deps 版本;面板 `readControls` 读 DOM 单源,重画只填空值不覆盖已选),
|
|
73
|
+
但**当时没有任何守卫钉着这条链** —— `scripts/e2e-dev.ts` 第 15-ter 步只覆盖 `POST /run`
|
|
74
|
+
**直带** workdir,选择器那一跳(返回值 → 控件 → 请求体)全靠人读码。新用例钉两端接线:
|
|
75
|
+
① **页面接线**:`/api/fs/pick` 的返回值必须写进工作目录控件,且 `readControls` 从**控件**
|
|
76
|
+
取值(不是镜像 `state`);② **服务端接线**:把返回值原样喂给 `/run` ⇒ 钩子收到的 `workdir`
|
|
77
|
+
就是它(且不是回落 `defaultWorkdir`)。反向验证三条各自变红(摘页面接线 / 摘
|
|
78
|
+
`parseRunRequest` 的 workdir 转发 / 把 `readControls` 换成镜像 `state`)。
|
|
79
|
+
|
|
80
|
+
- **`§7 已知边界`(77 行)立守卫**(`tests/docs/boundary-table.test.ts`):§7 是使用者判断
|
|
81
|
+
「我能不能用这个框架」的唯一依据,此前**零守卫**且被 `usage-guide.test.ts` 的解析器结构性排除
|
|
82
|
+
(那条规则只收「首列恰好是一个反引号标识符」的行,§7 首列是散文 ⇒ 整表零采集)。四条判据:
|
|
83
|
+
标识符不悬空 / 行集合↔登记表双向 / `pin={file,marker}` 可证伪 / 三态(`pin` 38 · `choice` 9 ·
|
|
84
|
+
`gap` 30)+ 下限。`gap` 的语义是「这句话今天为真、明天可能为假而没人会发现」,**不是功能缺失**。
|
|
85
|
+
反向验证 8/8 咬人 —— 变异电池当场抓出第一版 A3 是**假守卫**(子串判定,标题加一个字照样绿)。
|
|
86
|
+
- **`killTree` 的平台分派抽成可注入的纯函数**(`packages/cli/src/dev-child.ts` 的 `killPlanFor`):
|
|
87
|
+
win32 那条 `taskkill /T /F` 此前**在任何平台都跑不到**(直接读 `process.platform`,而 CI 是
|
|
88
|
+
ubuntu、macOS 走 POSIX)。行为逐字不变,新增 6 条用例、变异 4/4 咬人。
|
|
89
|
+
- **守卫注册表补登记**:`packages/cli/test/native-pick.test.mjs` 此前没进 `guards.md §1`
|
|
90
|
+
(守卫在、登记缺),已登记并补两条实测反向验证读数。守卫注册表 §1 逐行审计修掉 3 个「假守卫」。
|
|
91
|
+
- **工具链自我描述 ↔ `ci.yml` 互为真值**(`tests/scripts/verify-all-wiring.test.ts`):步骤数 ==
|
|
92
|
+
CI job 名里写死的数字(那是分支保护依赖的必需检查)、每个 job 都被交代、副本不许各说各话。
|
|
93
|
+
- **CI 新增 `docker-image` job(非必需检查)**:`examples/deploy` 的镜像此前**没有任何门禁构建过**
|
|
94
|
+
(docker 在本仓 CI 出现 0 次、本机无 docker)⇒ 「服务有门禁、镜像只有这一次构建」如实写进
|
|
95
|
+
`examples/deploy/README.md` 与 `AGENTS.md`。
|
|
96
|
+
- **对外文章** `docs/articles/trace-first.md`:把核心卖点讲成一条可核对的故事(每个数字都是仓库
|
|
97
|
+
自己能核对的事实:测试全绿数、三个包 dependencies 全空、8 步验证链、镜像只有一次构建)。
|
|
98
|
+
- **推广文案与仓库事实对齐**:修掉 6 类不符(指向别人包的安装命令、会腐烂的时长、硬编码计数、
|
|
99
|
+
写错 scope 的 npm 链接、连不上的域名、**描述了不存在的功能**)。
|
|
100
|
+
|
|
8
101
|
## [0.9.3] - 2026-09-23
|
|
9
102
|
|
|
10
103
|
> 本版主题(窗口 `0.9.2 → 0.9.3`):**dev 面板两个真用户反馈的落地** —— 原生文件夹选择器
|
|
@@ -1366,7 +1459,8 @@
|
|
|
1366
1459
|
首个公开发布:`@migor/agentia` + `@migor/cli`(scope `@migor/*`),两包版本同步。
|
|
1367
1460
|
框架本体单包;CLI 独立成包(workspaces)。
|
|
1368
1461
|
|
|
1369
|
-
[Unreleased]: https://github.com/retrychx/agentia/compare/v0.9.
|
|
1462
|
+
[Unreleased]: https://github.com/retrychx/agentia/compare/v0.9.4...HEAD
|
|
1463
|
+
[0.9.4]: https://github.com/retrychx/agentia/releases/tag/v0.9.4
|
|
1370
1464
|
[0.9.3]: https://github.com/retrychx/agentia/releases/tag/v0.9.3
|
|
1371
1465
|
[0.9.2]: https://github.com/retrychx/agentia/releases/tag/v0.9.2
|
|
1372
1466
|
[0.9.1]: https://github.com/retrychx/agentia/releases/tag/v0.9.1
|
package/README.md
CHANGED
|
@@ -36,7 +36,7 @@ npm run dev # = agentia dev:本地 inspector 面板
|
|
|
36
36
|
> 从不执行 main.ts —— 写错一侧会让 `npm run dev` 静默读不到 `.env` 而 `npm start` 读得到。
|
|
37
37
|
> 真实环境变量优先(CI / docker / 命令行永远赢过文件),`loadEnvFile({ override: true })` 才反过来。
|
|
38
38
|
|
|
39
|
-
> **版本**:`0.9.
|
|
39
|
+
> **版本**:`0.9.4`(`@migor/agentia` 与 `@migor/cli` 均已发布到 npm)。`examples/` **刻意**用
|
|
40
40
|
> `file:../..` 指向本仓库而不是 npm 版本 —— 跑的是**工作区代码**,理由见
|
|
41
41
|
> [`examples/README.md`](examples/README.md) 的「依赖说明」。
|
|
42
42
|
|
package/dist/AGENTS.md
CHANGED
|
@@ -288,7 +288,7 @@ token 的作用是挡住**本机其它进程**,别把它当网络边界:这
|
|
|
288
288
|
| `onTraceEvent` | **增量记账出口的缺省值**:run **进行中**逐笔回调(`span.begin` / `span.end` / `span.event` / `span.attribute` / `span.link`),给等不了收尾的消费者(面板 / SSE / 任务流)。与 `sinks` 是**两条缝**、可同时配;单次 run 给了自己的那个是**叠加**(应用级在前)而非覆盖。⚠️ **不保证送达**(宿主自己的流断了就断了),也不替代 `sinks` |
|
|
289
289
|
| `maxTotalTokens` | 缺省成本硬管控:整条 run(**含子 agent / skill 子循环**,上限经 `ToolRunContext` 透传)累计 token 上限(可被单次 run 覆盖) |
|
|
290
290
|
| `maxCostUsd` | 缺省成本硬管控:累计成本(美元)上限(**依赖模型在价格表内**,见 `priceOverrides`;未定价模型会留 `usage.unpriced` 事件,所以「护栏有没有真的生效」看得见) |
|
|
291
|
-
| `priceOverrides` | 价格表覆盖/追加(`$/1M tokens`):覆盖内置同名项,或给非 Anthropic 模型定价(如 `{ 'deepseek-chat': { in: 0.27, out: 1.10 } }
|
|
291
|
+
| `priceOverrides` | 价格表覆盖/追加(`$/1M tokens`):覆盖内置同名项,或给非 Anthropic 模型定价(如 `{ 'deepseek-chat': { in: 0.27, out: 1.10 } }`)。⚠️ **模型名是精确匹配**:Anthropic 每个型号都发两个 id(不带日期的别名 + 带日期的快照,如 `claude-haiku-4-5` / `claude-haiku-4-5-20251001`),**互不相通** —— 用哪个 id 就得按哪个 id 定价,否则 `maxCostUsd` 不触发(会留 `usage.unpriced`,见下)。条目还可带**缓存乘数** `cacheRead` / `cacheWrite`(缺省 `0.1` / `1.25`,相对 `in`;写 `0` 就是**乘数为零** = 该模型的缓存读 / 写不花钱,**不是**「未设」—— 实现用 `??` 而非 `||`):缓存写缺省只对 **5 分钟** 档正确,用了 `cache_control: { ttl: '1h' }` 就写 `cacheWrite: 2`;缓存读的逐模型例外(Opus 5.5 = `0.05`、Fable 5.1 / Mythos 5.1 = `0.025`)同理。**透传给子 agent/skill 的子循环** —— 不会「主 agent 有成本、子 agent 恒 0」。非法单价与非法乘数都在**第一次 llm 调用之前**就失败:run 以 `status: error` 收口(错误记在 run 根 span 上、`totalUsage` 全 0、client 一次都不被调用)—— ⚠️ **不是抛异常给调用方**(`buildPricing` 的错被 `runAgent` 收成 result,别写成 `try/catch` 等它抛) |
|
|
292
292
|
| `onUnpricedModel` | 遇到价格表外的模型时回调(`{ model, spanId }`,每个循环作用域内每模型一次);抛错被吞,**不改变 run 结局**(定价缺失是宿主配置问题)。用它接告警 |
|
|
293
293
|
| `toolTimeoutMs` | 缺省单工具超时(毫秒);超时该条 tool_result 记 is_error,不杀 run |
|
|
294
294
|
| `maxToolConcurrency` | 缺省同回合并行工具上限;不设 = 不限(全并行) |
|
|
@@ -602,9 +602,9 @@ const handler = createHttpHandler(callable, { runner });
|
|
|
602
602
|
|---|---|
|
|
603
603
|
| `authenticate` | 入口鉴权钩子:**除 `/healthz` 与 `/metrics` 外所有路径**都过它,且在**读 body 之前**(未通过就不收 body)。正常返回即通过;抛 `HttpException` 按其 `status`/`body` 回;抛别的错误回 401,原文只进服务端日志。框架**不实现策略**(不读 env、不碰凭据) |
|
|
604
604
|
| `metrics` | 指标出口:给 `metricsSink()`(或任意 `{ render() }` / 返回字符串的闭包)后,`GET /metrics` 回它的 Prometheus 文本。**不鉴权**(拉取端在集群内网);要保护请放反代后面。不给则该路径 404。⚠️ 这只管**渲染** —— 数字要真的累计,必须把**同一个** sink 注册进 `createApp({ sinks: [metrics] })`(它靠 run 收尾投递,不自己埋点),否则 `/metrics` 恒为 0 **且不报错** |
|
|
605
|
-
| `maxBodyBytes` | 请求 body 上限(字节),超限回 413;缺省 1 MiB |
|
|
605
|
+
| `maxBodyBytes` | 请求 body 上限(字节),超限回 413;缺省 1 MiB。构造期校验:必须 > 0 或 `Infinity` —— 0 会让**每个带 body 的请求**都 413(`POST /run` / `POST /tasks` / 审批全废),故直接抛错。⚠️ 还挡 `Number('') === 0`:从**空的环境变量**读出来的配置会静默变成「拒绝一切」 |
|
|
606
606
|
| `maxConcurrentRuns` | 同时在跑的 `POST /run` 上限,超限回 503 + `Retry-After`;缺省 32(传 `Infinity` 恢复无上限)。构造期校验:必须 > 0 或 Infinity —— NaN 会让闸门静默失效、0/负数会全部 503,故直接抛错 |
|
|
607
|
-
| `sseMaxBufferedBytes` | SSE 下游积压上限(字节,`res.writableLength` 超过即收口该 SSE 流并 **abort 对应 run** —— 客户端已经不消费了,继续逐 token 生成只是白烧 token);缺省 8 MiB |
|
|
607
|
+
| `sseMaxBufferedBytes` | SSE 下游积压上限(字节,`res.writableLength` 超过即收口该 SSE 流并 **abort 对应 run** —— 客户端已经不消费了,继续逐 token 生成只是白烧 token);缺省 8 MiB。构造期校验:必须 > 0 或 `Infinity` —— 判据是**写入前**的 `pending > 上限`,0 时第 1 帧照写、**第 2 帧必收口**(流活不过一帧),故直接抛错 |
|
|
608
608
|
| `exposeErrors` | 是否把内部异常原文回给调用方;缺省 `false`(细节只进服务端日志) |
|
|
609
609
|
| `runner` | 注入 `AsyncRunner`(共用 store / 并发上限 / `resumePending`);缺省内部 `new AsyncRunner(app)` |
|
|
610
610
|
|
|
@@ -666,9 +666,9 @@ process.on('SIGTERM', async () => {
|
|
|
666
666
|
| `createBudgetPolicy` | 预算策略:超预算先 `trimToolPairs` 编辑,再 `compactMessages` 压缩(带滞回) |
|
|
667
667
|
| `trimToolPairs` | context editing:丢旧 tool 对(按**对数**,`keepToolPairs`) |
|
|
668
668
|
| `compactMessages` | compaction:旧前缀做摘要(摘要器由你注入,框架不替你造 token) |
|
|
669
|
-
| `estimateMessages` | 估算一组消息的 token
|
|
669
|
+
| `estimateMessages` | 估算一组消息的 token(预算决策用,不是精确记账)。⚠️ **图片块按上界估**:块里没有宽高,而官方图片计费按**尺寸**(28×28 像素 = 1 token,与文件字节数无关)⇒ 框架按「长边缩到 1568px」的**上界 3136 token/块**计(宁可高估让 `maxTotalTokens` 提前拦,也不要低估让它迟触发)。未知块按**未截断**负载估(同上理由) |
|
|
670
670
|
| `defaultEstimateTokens` | 缺省的单文本估算函数(CJK 感知启发式:CJK ≈ 1.5 字/token、其余 ≈ 4 字符/token) |
|
|
671
|
-
| `renderMessages` | 把 messages 渲染成纯文本 —— 喂给你注入的 compaction 摘要器(`summarize
|
|
671
|
+
| `renderMessages` | 把 messages 渲染成纯文本 —— 喂给你注入的 compaction 摘要器(`summarize`)用。⚠️ **产物是有界的**:图片块只给 `[image image/png ~150000B]` 这类占位(**含 `tool_result` 正文里嵌套的图片** —— 工具返回截图是常见的入图路径)、未知块截断到 200 字符、**工具参数**截断到 2000 字符,两种截断都**留计数**(不静默丢)—— **绝不展开 base64**(否则等于把整段 payload 当输入 token 发给摘要模型,真金白银 + 摘要质量一起毁)。⚠️ **纯文本**(`text` 块与 `tool_result` 的字符串正文)**刻意不截断**:那是摘要器要读的内容,截掉等于让 compaction 永久丢掉历史 |
|
|
672
672
|
|
|
673
673
|
**per-run 隔离(`ContextPolicy.forRun`)**:策略可能被配成应用级单例(`createApp({ contextPolicy })`)
|
|
674
674
|
被所有 run 复用。带状态的实现(滞回计数、token 缓存等)应实现可选的 `forRun(): ContextPolicy` ——
|
|
@@ -1419,6 +1419,9 @@ const callable = {
|
|
|
1419
1419
|
| 鉴权失败即断连 | 未通过鉴权时在读到 body 之前就回响应,连接**不可复用**(显式 `connection: close`);这是「不收body省资源」的代价 |
|
|
1420
1420
|
| 预算护栏不是硬实时 | 一回合记账完才判,实际用量可能超上限一个回合的量;并行子循环(一回合多个子 agent)各自过闸,超支上限是「**每个在飞分支**各一个回合」而非「总共一个回合」;模型自然收尾的那回合超限**不算失败**(只留 `budget.exceeded` 事件) |
|
|
1421
1421
|
| `maxCostUsd` 依赖价格表 | 模型不在价格表内(且未用 `priceOverrides` 覆盖)时成本恒为 0,这条护栏**不触发** —— 要无条件兜底用 `maxTotalTokens`。**失效会响**:turn 上会记 `usage.unpriced` 事件、指标有 `model_unpriced_turns_total`、可回调 `onUnpricedModel` |
|
|
1422
|
+
| 价格表按模型名**精确匹配** | 别名与带日期快照是两个不同的键:内置表收了 `claude-haiku-4-5`,那么 `claude-haiku-4-5-20251001` 就是**未定价**(成本算不出、`maxCostUsd` 不触发,会留 `usage.unpriced`)。照抄官方文档里的带日期 id 最容易踩这一条 —— 要么改用不带日期的别名,要么 `priceOverrides` 里按**你实际传的那个 id** 补一条 |
|
|
1423
|
+
| 缓存写的缺省乘数只对 **5 分钟** 档正确 | 官方是 5m 写 1.25×、**1h 写 2×**、读 0.1×。而 `Usage` 是四项**聚合**的,分不出这一回合的缓存写走的是哪个 TTL(SDK 的 `Usage.cache_creation` 有拆分,框架没把它带上)⇒ 你在块上用了 `cache_control: { ttl: '1h' }` 就必须在 `priceOverrides` 里写 `cacheWrite: 2`,否则成本**低估 37.5%**、`maxCostUsd` 会迟触发。框架自己的调用点都不设 ttl,所以不改也对 |
|
|
1424
|
+
| 图片块的 token 只能估、且按**上界**估 | 块里没有宽高(`source` 只有 base64 的 `data` 或 `url`),而官方图片计费按**尺寸**(28×28 像素 = 1 visual token),与文件字节数**无关** —— 一张 200KB 纯色 PNG 和一张 200KB 细节图的成本能差两个数量级。框架取「长边缩到 1568px」的**上界 3136 token/块**:宁可高估(`maxTotalTokens` 提前拦)也不低估(护栏迟触发)。渲染 / 摘要侧则只给 `[image …]` 占位,**不展开 base64** |
|
|
1422
1425
|
| 工具超时**不强制取消**工具 | `AgentTool.run` 没有 signal 参数,超时首先是「不等了」;副作用可能已发生。想真停:监听 `ToolRunContext.abandoned`(引擎放弃等待时 abort 它)自行收尾。框架自带的 @SubAgent / @Skill 已这么做 —— 超时即中止子循环(在飞请求被掐、不再后台烧 token),capability span 立刻以 error 收尾 |
|
|
1423
1426
|
| 会话只存对话轮次 | `SessionStore` 存「用户输入 + 最终回复」,run 内部的 tool 往返**不进历史**(要完整过程用 `traceToMessages`);且只有**跑成功**的轮次才回写 |
|
|
1424
1427
|
| 同 session 并发 run 要自行串行化 | `SessionStore` 是 **append-only**:并发写不互相覆盖、不丢数据,但**不保证角色交替** —— 两个并发 run 共用同一 sessionId 时,各自追加的轮次可能交错成「连续两条 user」,下一轮 load 出来撞角色交替校验(400)。同一 session 的并发 run 请调用方自行串行化(每 session 一把锁 / 一条队列) |
|
package/dist/core/limits.d.ts
CHANGED
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
* 面向使用者的口径在 `docs/usage-guide.md` 的「边界」一节。
|
|
28
28
|
*
|
|
29
29
|
* ⚠️ 表里的 `zeroClause` 是**报错文案的一部分**:有构造期校验的旋钮由实现代码直接把它插进
|
|
30
|
-
*
|
|
31
|
-
* `streamBufferEvents` / `retainTerminal`)
|
|
32
|
-
* (`…(0 = 不重试),收到 -1 —— …`)。所以「文案里怎么解释 0」与「代码里怎么实现 0」
|
|
30
|
+
* 错误消息里(`…(0 = 不重试),收到 -1 —— …`)。所以「文案里怎么解释 0」与「代码里怎么实现 0」
|
|
33
31
|
* 是同一个值,改一处等于同时改另一处 —— 这正是先前缺的那条单源。
|
|
34
32
|
*
|
|
35
|
-
* ⚠️
|
|
36
|
-
*
|
|
37
|
-
* `
|
|
33
|
+
* ⚠️ **别在这里写死「几处」,也别在这里列举是哪些**:计数会随旋钮增减立刻过期 —— 本行曾写
|
|
34
|
+
* 「五处」并列举五个,而漏掉的正是**同一次改动里新增**的 `retainTerminal`;2026-09-26 又发现
|
|
35
|
+
* `Scheduler.every` 的两条**表里有 `zeroClause`、代码里却手写文案**(`intervalMs` 是漂了很久的
|
|
36
|
+
* 一条,`maxInFlight` 是当天新加的)。要核对当前全集:`grep -rn 'zeroClauseOf' src/`。
|
|
37
|
+
* 清单本身有价值,计数没有 —— 而且**列举出来的清单会和计数一样过期**。
|
|
38
38
|
*/
|
|
39
39
|
/**
|
|
40
40
|
* 一个旋钮在取 `0`(或「非正数」)时的**含义分类**。四选一,没有第五种:
|
|
@@ -65,7 +65,7 @@ export interface LimitSemantic {
|
|
|
65
65
|
readonly knob: string;
|
|
66
66
|
/** 实现位置(文件名:符号),改代码时的入口 */
|
|
67
67
|
readonly where: string;
|
|
68
|
-
readonly unit: 'ms' | 'count' | 'chars' | 'n/a';
|
|
68
|
+
readonly unit: 'ms' | 'count' | 'chars' | 'bytes' | 'n/a';
|
|
69
69
|
readonly zero: ZeroMeaning;
|
|
70
70
|
/**
|
|
71
71
|
* 报错文案里那句「0 = 什么」(无报错的旋钮也写上 —— 文档与用例都读它)。
|
|
@@ -183,6 +183,30 @@ export declare const LIMIT_SEMANTICS: readonly [{
|
|
|
183
183
|
readonly zeroClause: '必须为正数(0 = 没有 worker)';
|
|
184
184
|
readonly badValue: 'throws';
|
|
185
185
|
readonly note: '0 个 worker 的池子会让每个任务永远排在队列里(既不跑也不失败)。';
|
|
186
|
+
}, {
|
|
187
|
+
readonly knob: 'Scheduler.every.maxInFlight';
|
|
188
|
+
readonly where: 'transport/scheduler.ts';
|
|
189
|
+
readonly unit: 'count';
|
|
190
|
+
readonly zero: 'invalid';
|
|
191
|
+
readonly zeroClause: '必须为正数(Infinity = 关闸门;0 = 没有在飞名额,周期任务永不派发)';
|
|
192
|
+
readonly badValue: 'throws';
|
|
193
|
+
readonly note: '与 `AsyncRunner.concurrency` **同族**(「在飞名额」数量旋钮):闸门判据是 `inFlight.size >= maxInFlight`,0 时恒真 ⇒ 每次 tick 都跳过,周期任务**既不跑也不失败**(探针实测 60ms 内派发 0 次、无任何报错/日志;负数同理)。⚠️ 旧实现 `opts.maxInFlight ?? 1` 把 0 静默留下,而写成 `||` 又会把它静默抬成 1 —— **两个方向都在替使用者改配置**(与 `streamBufferEvents` 记的旧 `Math.max(1, …)` 是同一个反模式)。';
|
|
194
|
+
}, {
|
|
195
|
+
readonly knob: 'HttpHandlerOptions.maxBodyBytes';
|
|
196
|
+
readonly where: 'transport/http.ts(createHttpHandler)';
|
|
197
|
+
readonly unit: 'bytes';
|
|
198
|
+
readonly zero: 'invalid';
|
|
199
|
+
readonly zeroClause: '必须为正数(0 = 每个带 body 的请求都 413)';
|
|
200
|
+
readonly badValue: 'throws';
|
|
201
|
+
readonly note: "与**同一个选项接口里**的 `maxConcurrentRuns` 同款 —— 那条写着「0 / 负数则全部 503 —— 都是配置错误,宁可在构造期响亮失败」,这条是同一形状:`readBody` 的判据是 `size > maxBytes`,0 时**任何字节**都超限 ⇒ `POST /run` / `POST /tasks` / 审批全部 413(实测 3 条 POST 全 413),服务器看着在跑却收不了任何输入。⚠️ 还挡一类事故:`Number('') === 0` —— 从**空的环境变量**读出来的配置会静默变成「拒绝一切」。要「不限」用 `Infinity`(`size > Infinity` 恒假),**别用 0**。";
|
|
202
|
+
}, {
|
|
203
|
+
readonly knob: 'SseWriterOptions.maxBufferedBytes';
|
|
204
|
+
readonly where: 'transport/sse.ts(sseWriter)+ transport/http.ts(createHttpHandler 的 sseMaxBufferedBytes 透传)';
|
|
205
|
+
readonly unit: 'bytes';
|
|
206
|
+
readonly zero: 'invalid';
|
|
207
|
+
readonly zeroClause: '必须为正数(0 = 流活不过一帧;Infinity = 不限)';
|
|
208
|
+
readonly badValue: 'throws';
|
|
209
|
+
readonly note: '判据是**写入前**的 `pending > limitBytes` ⇒ 0 时第 1 帧照写(pending 还是 0),**第 2 帧必收口**(实测:`closed=true` / `ended=true` / `onBackpressure` 回调 1 次)—— 流活不过一帧,没有任何正当用法:这个旋钮的定位是「只拦连上但不读的病态消费者」,而 0 会让**每个**消费者都被判成病态。要「关掉」用 `Infinity`。';
|
|
186
210
|
}, {
|
|
187
211
|
readonly knob: 'AsyncRunner.streamBufferEvents';
|
|
188
212
|
readonly where: 'transport/task-events.ts';
|
package/dist/core/limits.js
CHANGED
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
* 面向使用者的口径在 `docs/usage-guide.md` 的「边界」一节。
|
|
28
28
|
*
|
|
29
29
|
* ⚠️ 表里的 `zeroClause` 是**报错文案的一部分**:有构造期校验的旋钮由实现代码直接把它插进
|
|
30
|
-
*
|
|
31
|
-
* `streamBufferEvents` / `retainTerminal`)
|
|
32
|
-
* (`…(0 = 不重试),收到 -1 —— …`)。所以「文案里怎么解释 0」与「代码里怎么实现 0」
|
|
30
|
+
* 错误消息里(`…(0 = 不重试),收到 -1 —— …`)。所以「文案里怎么解释 0」与「代码里怎么实现 0」
|
|
33
31
|
* 是同一个值,改一处等于同时改另一处 —— 这正是先前缺的那条单源。
|
|
34
32
|
*
|
|
35
|
-
* ⚠️
|
|
36
|
-
*
|
|
37
|
-
* `
|
|
33
|
+
* ⚠️ **别在这里写死「几处」,也别在这里列举是哪些**:计数会随旋钮增减立刻过期 —— 本行曾写
|
|
34
|
+
* 「五处」并列举五个,而漏掉的正是**同一次改动里新增**的 `retainTerminal`;2026-09-26 又发现
|
|
35
|
+
* `Scheduler.every` 的两条**表里有 `zeroClause`、代码里却手写文案**(`intervalMs` 是漂了很久的
|
|
36
|
+
* 一条,`maxInFlight` 是当天新加的)。要核对当前全集:`grep -rn 'zeroClauseOf' src/`。
|
|
37
|
+
* 清单本身有价值,计数没有 —— 而且**列举出来的清单会和计数一样过期**。
|
|
38
38
|
*/
|
|
39
39
|
/**
|
|
40
40
|
* 全部 limits 旋钮的 0 语义。**分组按读法**,好让人一眼看出哪几个是相反的。
|
|
@@ -161,6 +161,33 @@ export const LIMIT_SEMANTICS = [
|
|
|
161
161
|
badValue: 'throws',
|
|
162
162
|
note: '0 个 worker 的池子会让每个任务永远排在队列里(既不跑也不失败)。',
|
|
163
163
|
},
|
|
164
|
+
{
|
|
165
|
+
knob: 'Scheduler.every.maxInFlight',
|
|
166
|
+
where: 'transport/scheduler.ts',
|
|
167
|
+
unit: 'count',
|
|
168
|
+
zero: 'invalid',
|
|
169
|
+
zeroClause: '必须为正数(Infinity = 关闸门;0 = 没有在飞名额,周期任务永不派发)',
|
|
170
|
+
badValue: 'throws',
|
|
171
|
+
note: '与 `AsyncRunner.concurrency` **同族**(「在飞名额」数量旋钮):闸门判据是 `inFlight.size >= maxInFlight`,0 时恒真 ⇒ 每次 tick 都跳过,周期任务**既不跑也不失败**(探针实测 60ms 内派发 0 次、无任何报错/日志;负数同理)。⚠️ 旧实现 `opts.maxInFlight ?? 1` 把 0 静默留下,而写成 `||` 又会把它静默抬成 1 —— **两个方向都在替使用者改配置**(与 `streamBufferEvents` 记的旧 `Math.max(1, …)` 是同一个反模式)。',
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
knob: 'HttpHandlerOptions.maxBodyBytes',
|
|
175
|
+
where: 'transport/http.ts(createHttpHandler)',
|
|
176
|
+
unit: 'bytes',
|
|
177
|
+
zero: 'invalid',
|
|
178
|
+
zeroClause: '必须为正数(0 = 每个带 body 的请求都 413)',
|
|
179
|
+
badValue: 'throws',
|
|
180
|
+
note: "与**同一个选项接口里**的 `maxConcurrentRuns` 同款 —— 那条写着「0 / 负数则全部 503 —— 都是配置错误,宁可在构造期响亮失败」,这条是同一形状:`readBody` 的判据是 `size > maxBytes`,0 时**任何字节**都超限 ⇒ `POST /run` / `POST /tasks` / 审批全部 413(实测 3 条 POST 全 413),服务器看着在跑却收不了任何输入。⚠️ 还挡一类事故:`Number('') === 0` —— 从**空的环境变量**读出来的配置会静默变成「拒绝一切」。要「不限」用 `Infinity`(`size > Infinity` 恒假),**别用 0**。",
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
knob: 'SseWriterOptions.maxBufferedBytes',
|
|
184
|
+
where: 'transport/sse.ts(sseWriter)+ transport/http.ts(createHttpHandler 的 sseMaxBufferedBytes 透传)',
|
|
185
|
+
unit: 'bytes',
|
|
186
|
+
zero: 'invalid',
|
|
187
|
+
zeroClause: '必须为正数(0 = 流活不过一帧;Infinity = 不限)',
|
|
188
|
+
badValue: 'throws',
|
|
189
|
+
note: '判据是**写入前**的 `pending > limitBytes` ⇒ 0 时第 1 帧照写(pending 还是 0),**第 2 帧必收口**(实测:`closed=true` / `ended=true` / `onBackpressure` 回调 1 次)—— 流活不过一帧,没有任何正当用法:这个旋钮的定位是「只拦连上但不读的病态消费者」,而 0 会让**每个**消费者都被判成病态。要「关掉」用 `Infinity`。',
|
|
190
|
+
},
|
|
164
191
|
{
|
|
165
192
|
knob: 'AsyncRunner.streamBufferEvents',
|
|
166
193
|
where: 'transport/task-events.ts',
|
package/dist/core/limits.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/core/limits.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/core/limits.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tool.d.ts
CHANGED
|
@@ -102,6 +102,20 @@ export interface ModelClient {
|
|
|
102
102
|
export interface ModelPricing {
|
|
103
103
|
in: number;
|
|
104
104
|
out: number;
|
|
105
|
+
/**
|
|
106
|
+
* 缓存**读**乘数(相对 `in`);缺省 `0.1`(官方标准档)。
|
|
107
|
+
* 官方有逐模型例外:Opus 5.5 是 `0.05`、Fable 5.1 / Mythos 5.1 是 `0.025` ——
|
|
108
|
+
* 这些型号不在内置表里,用 `priceOverrides` 追加时把准数写在这里,成本才不偏。
|
|
109
|
+
*/
|
|
110
|
+
cacheRead?: number;
|
|
111
|
+
/**
|
|
112
|
+
* 缓存**写**乘数(相对 `in`);缺省 `1.25`(官方 **5 分钟** 档)。
|
|
113
|
+
* ⚠️ 官方 **1 小时** 档是 `2`。而框架的 `Usage` 是四项**聚合**的,分不出这一回合的
|
|
114
|
+
* 缓存写是 5m 还是 1h(SDK 的 `Usage.cache_creation` 有拆分,但本框架没把它带上)——
|
|
115
|
+
* 所以宿主若在自己的块上用了 `cache_control: { ttl: '1h' }`,就在这里显式写 `2`,
|
|
116
|
+
* 否则成本会被低估、`maxCostUsd` 会迟触发。
|
|
117
|
+
*/
|
|
118
|
+
cacheWrite?: number;
|
|
105
119
|
}
|
|
106
120
|
/**
|
|
107
121
|
* engine 在调用每个工具时注入的执行上下文(spec §9.2:当前 span 句柄随调用传播,
|
package/dist/engine/trimming.js
CHANGED
|
@@ -58,23 +58,131 @@ function hasToolUse(msg) {
|
|
|
58
58
|
function contentToText(content) {
|
|
59
59
|
if (typeof content === 'string')
|
|
60
60
|
return content;
|
|
61
|
-
return content
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
61
|
+
return content.map(blockToText).join('\n');
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 图片块的估算 token **上界**。
|
|
65
|
+
*
|
|
66
|
+
* 为什么给上界而不是真实值:块里**没有宽高**(`source` 只有 base64 的 `data` 或 `url`),
|
|
67
|
+
* 而 Anthropic 的图片计费是**按尺寸**的(28×28 像素 = 1 visual token),与文件字节数无关 ——
|
|
68
|
+
* 一张 200KB 的纯色 PNG 与一张 200KB 的细节图,token 成本能差两个数量级。
|
|
69
|
+
* 官方会把图片缩到长边 ≤1568px ⇒ 单块最多 ceil(1568/28)² = 3136 token。
|
|
70
|
+
* 取上界:宁可高估(`maxTotalTokens` 提前拦)也不要低估(护栏迟触发)。
|
|
71
|
+
*/
|
|
72
|
+
const IMAGE_TOKENS_UPPER_BOUND = 3136;
|
|
73
|
+
/** 未知块**渲染**时的字符上限(厂商新块型可能带大负载,原样展开会把摘要灌爆) */
|
|
74
|
+
const UNKNOWN_BLOCK_CHARS = 200;
|
|
75
|
+
/**
|
|
76
|
+
* `tool_use` **渲染**时的参数上限。
|
|
77
|
+
*
|
|
78
|
+
* 为什么需要一个(而它比未知块宽松一个数量级):工具参数天然可能带大载荷 —— `write_file` 的
|
|
79
|
+
* 正文、`screenshot` 的 base64、大 JSON 参数 —— 原样展开同样会灌进 `compactMessages` 交给
|
|
80
|
+
* 宿主的摘要模型(真金白银 + 摘要质量一起毁)。而参数又不像未知块那样「多数情况下整块是噪声」:
|
|
81
|
+
* 前若干字符通常是调用意图与头几个参数(`{"path":"src/x.ts","content":"…`),摘要需要它。
|
|
82
|
+
* 2000 字符 ≈ 500 token:够看清「调了谁、带了什么」,够不着任何 base64 级载荷。
|
|
83
|
+
*/
|
|
84
|
+
const TOOL_INPUT_CHARS = 2000;
|
|
85
|
+
/** 有界渲染:超上限则截断并**留计数**(静默丢内容会让摘要读起来像参数本来就那么短)。 */
|
|
86
|
+
function boundedText(json, cap) {
|
|
87
|
+
return json.length <= cap ? json : `${json.slice(0, cap)}…(共 ${json.length} 字符)`;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* `tool_result` 正文的渲染。
|
|
91
|
+
*
|
|
92
|
+
* ⚠️ 正文可能是**嵌套块数组**(`[text, image]`)—— 工具返回截图是生产里最常见的入图路径
|
|
93
|
+
* (浏览 / 截图 / 渲染类工具都这么回),而 `JSON.stringify` 会把整段 base64 原样展开进
|
|
94
|
+
* `compactMessages` 交给宿主摘要模型的正文里(2026-09-26 实测:一张 200 000 字符 base64 的
|
|
95
|
+
* 截图 ⇒ 渲染出 200 086 字符、里面就是原始 base64)。所以嵌套数组要**逐块走 `blockToText`**
|
|
96
|
+
* —— 图片给占位、未知块有界截断,与顶层图片块同一条口径。
|
|
97
|
+
* 字符串形态保持原样(`JSON.stringify`,既有渲染口径不动);正文缺席时返回 `undefined`,
|
|
98
|
+
* 交由调用方按「未知形态」处理(有界 JSON 回退)。
|
|
99
|
+
*/
|
|
100
|
+
function toolResultText(content) {
|
|
101
|
+
if (content === undefined)
|
|
102
|
+
return undefined;
|
|
103
|
+
if (typeof content === 'string')
|
|
104
|
+
return JSON.stringify(content);
|
|
105
|
+
return content.map(blockToText).join('\n');
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* 已知块的文本形态;未知块(含图片)返回 `undefined` 交由调用方按自己的方向处理。
|
|
109
|
+
*
|
|
110
|
+
* ⚠️ **纯文本**(`text` 块与 `tool_result` 的字符串正文)刻意**不截断**:它们是摘要器真正要读的
|
|
111
|
+
* 内容,截断等于让 compaction **永久丢掉**历史信息(而压缩本身就是不可逆的那一步)。有界化的
|
|
112
|
+
* 对象是**载荷型**结构 —— 图片、未知块、工具参数(后三者的正文多数情况下不是「话」而是 blob)。
|
|
113
|
+
*/
|
|
114
|
+
function knownBlockText(b) {
|
|
115
|
+
switch (b.type) {
|
|
116
|
+
case 'text':
|
|
117
|
+
return b.text;
|
|
118
|
+
case 'tool_use': {
|
|
119
|
+
const tu = b;
|
|
120
|
+
// 参数有界(`TOOL_INPUT_CHARS`)—— 见那个常量的理由:`write_file` 正文 / 截图 base64
|
|
121
|
+
// 都会从这里进摘要器。⚠️ 只是**渲染**有界,估算走 `blockTokens` 的未截断值。
|
|
122
|
+
return `${tu.name}(${boundedText(JSON.stringify(tu.input) ?? 'null', TOOL_INPUT_CHARS)})`;
|
|
123
|
+
}
|
|
124
|
+
case 'tool_result':
|
|
125
|
+
return toolResultText(b.content);
|
|
126
|
+
default:
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/** 图片块 → 有界占位(**只报大小,不报内容**)。 */
|
|
131
|
+
function imagePlaceholder(b) {
|
|
132
|
+
const src = b.source;
|
|
133
|
+
if (src.type === 'base64') {
|
|
134
|
+
const bytes = Math.ceil(((src.data ?? '').length * 3) / 4); // base64:4 字符 = 3 字节
|
|
135
|
+
return `[image ${src.media_type ?? 'unknown'} ~${bytes}B]`;
|
|
136
|
+
}
|
|
137
|
+
if (src.type === 'url')
|
|
138
|
+
return `[image url ${src.url ?? ''}]`;
|
|
139
|
+
return `[image ${src.type ?? 'unknown'}]`;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* 块 → **有界**文本(供渲染 / 摘要阅读)。
|
|
143
|
+
*
|
|
144
|
+
* ⚠️ 刻意**不展开原始负载**:图片块与未知块都可能带 base64 级的大 payload,而本函数的
|
|
145
|
+
* 产物会被 `compactMessages` 交给宿主的摘要模型 —— 原样展开等于把整段 base64 当输入
|
|
146
|
+
* token 发出去(真金白银),并把摘要质量一起毁掉。
|
|
147
|
+
*/
|
|
148
|
+
function blockToText(b) {
|
|
149
|
+
const known = knownBlockText(b);
|
|
150
|
+
if (known !== undefined)
|
|
151
|
+
return known;
|
|
152
|
+
if (b.type === 'image')
|
|
153
|
+
return imagePlaceholder(b);
|
|
154
|
+
const json = JSON.stringify(b) ?? 'null';
|
|
155
|
+
return boundedText(json, UNKNOWN_BLOCK_CHARS);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* 块 → 估算 token。**刻意与 `blockToText` 分开**:渲染要「别把 payload 灌进摘要」,
|
|
159
|
+
* 估算要「别低估成本」—— 一个函数满足不了这两个方向(图片按上界、未知块按**不截断**的
|
|
160
|
+
* 原始负载估,两者都与渲染取的值不同)。
|
|
161
|
+
*/
|
|
162
|
+
function blockTokens(b, estimate) {
|
|
163
|
+
if (b.type === 'image')
|
|
164
|
+
return IMAGE_TOKENS_UPPER_BOUND;
|
|
165
|
+
if (b.type === 'tool_use') {
|
|
166
|
+
// ⚠️ 估算走**未截断**的参数 JSON:渲染那个 2000 字符上限的方向是「别把 payload 灌进摘要」,
|
|
167
|
+
// 而这里的方向相反(低估 ⇒ `maxTotalTokens` 迟触发)—— 两边刻意取不同的值,别「顺手统一」。
|
|
168
|
+
const tu = b;
|
|
169
|
+
return estimate(JSON.stringify(tu.input) ?? 'null');
|
|
170
|
+
}
|
|
171
|
+
if (b.type === 'tool_result') {
|
|
172
|
+
const content = b.content;
|
|
173
|
+
// 嵌套块数组要**逐块**估:内嵌图片与顶层图片同一条口径(按尺寸上界),而不是按 base64
|
|
174
|
+
// 字节数 —— 后者会把一张截图算成 5 万 token(与顶层差 16 倍),预算行为就随消息的
|
|
175
|
+
// 嵌套形状漂移。字符串形态照旧走下面的 `estimate(JSON.stringify(...))`。
|
|
176
|
+
if (content !== undefined && typeof content !== 'string') {
|
|
177
|
+
let n = 0;
|
|
178
|
+
for (const inner of content) {
|
|
179
|
+
n += 1; // 内层块自身开销,与 `contentTokens` 的顶层口径一致
|
|
180
|
+
n += blockTokens(inner, estimate);
|
|
70
181
|
}
|
|
71
|
-
|
|
72
|
-
return JSON.stringify(b.content);
|
|
73
|
-
default:
|
|
74
|
-
return JSON.stringify(b);
|
|
182
|
+
return n;
|
|
75
183
|
}
|
|
76
|
-
}
|
|
77
|
-
|
|
184
|
+
}
|
|
185
|
+
return estimate(knownBlockText(b) ?? JSON.stringify(b) ?? 'null');
|
|
78
186
|
}
|
|
79
187
|
function contentTokens(content, estimate) {
|
|
80
188
|
if (typeof content === 'string')
|
|
@@ -82,7 +190,7 @@ function contentTokens(content, estimate) {
|
|
|
82
190
|
let n = 0;
|
|
83
191
|
for (const b of content) {
|
|
84
192
|
n += 1; // block 自身开销
|
|
85
|
-
n +=
|
|
193
|
+
n += blockTokens(b, estimate);
|
|
86
194
|
}
|
|
87
195
|
return n;
|
|
88
196
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trimming.js","sourceRoot":"","sources":["../../src/engine/trimming.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trimming.js","sourceRoot":"","sources":["../../src/engine/trimming.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/usage.d.ts
CHANGED
|
@@ -18,13 +18,32 @@ export declare const DEFAULT_PRICING: Readonly<Record<string, ModelPricing>>;
|
|
|
18
18
|
* 合并内置表与宿主覆盖(**覆盖优先**);返回合并后的表。
|
|
19
19
|
* 不给覆盖时直接复用内置表(同一引用,零拷贝)。
|
|
20
20
|
*
|
|
21
|
-
* 非法单价(非有限数 /
|
|
22
|
-
* `maxCostUsd` 拿 NaN 去比较(永远 false
|
|
21
|
+
* 非法单价(非有限数 / 负数)在**解析价格表时就抛错**(本函数内,`engine/turn.ts` 的循环入口调用)
|
|
22
|
+
* —— 与其让它算出 NaN 成本、再让 `maxCostUsd` 拿 NaN 去比较(永远 false,护栏静默失效),
|
|
23
|
+
* 不如立刻响亮失败。
|
|
24
|
+
* ⚠️ 别把它读成「`createApp` 构造期」:`buildPricing` 只在**每次 run 的循环入口**被调用,
|
|
25
|
+
* 所以它是「第一次 llm 调用之前」而不是「应用构造时」(api.html 那句「构造期抛错」由此而来,
|
|
26
|
+
* 已订正)。
|
|
27
|
+
* 两个缓存乘数同属这一条:**只校验一半等于没校验**(乘数写错照样出 NaN)。
|
|
28
|
+
*
|
|
29
|
+
* ⚠️ 口径(实测钉在 `tests/engine/pricing.test.ts`):这个错**不会抛给调用方** ——
|
|
30
|
+
* 本函数只在 `engine/turn.ts` 的循环入口被调用,`runAgent` 会把它收成
|
|
31
|
+
* `{status:'error', stopReason:'error'}` 的 result(错误记在 run 根 span),
|
|
32
|
+
* 关键是它发生在**第一次 llm 调用之前**(client 一次都不被调用,不烧 token)。
|
|
23
33
|
*/
|
|
24
34
|
export declare function buildPricing(overrides?: Record<string, ModelPricing>): Record<string, ModelPricing>;
|
|
25
35
|
export declare function usageFromAnthropic(u: MessageUsage): Usage;
|
|
26
36
|
/**
|
|
27
|
-
*
|
|
37
|
+
* 近似成本估计:缓存读 0.1×输入、缓存写 1.25×输入(官方标准乘数)。
|
|
38
|
+
*
|
|
39
|
+
* 两个乘数都可**逐模型覆盖**(`ModelPricing.cacheRead` / `cacheWrite`):
|
|
40
|
+
* - 缓存写:默认 1.25× 是 **5 分钟** 档。宿主在块上用了 `cache_control: { ttl: '1h' }` 时,
|
|
41
|
+
* 那一档官方是 **2×**;而 `Usage` 是四项聚合的、分不出 TTL,所以必须在价格表里显式写
|
|
42
|
+
* `cacheWrite: 2`,否则低估 37.5%(方向上让 `maxCostUsd` 迟触发)。
|
|
43
|
+
* - 缓存读:官方有逐模型例外(Opus 5.5 = 0.05×、Fable 5.1 / Mythos 5.1 = 0.025×),同理。
|
|
44
|
+
*
|
|
45
|
+
* 乘数逐项钉在 `tests/engine/pricing.test.ts`。
|
|
46
|
+
*
|
|
28
47
|
* 模型不在传入的价格表内时返回 `undefined` —— 调用方须把"未定价"**显式**表达出来
|
|
29
48
|
* (记 `usage.unpriced` 事件 / 计数),不要当成"成本 0"。
|
|
30
49
|
*/
|
package/dist/engine/usage.js
CHANGED
|
@@ -18,12 +18,36 @@ export const DEFAULT_PRICING = Object.freeze({
|
|
|
18
18
|
'claude-sonnet-4-6': { in: 3, out: 15 },
|
|
19
19
|
'claude-haiku-4-5': { in: 1, out: 5 },
|
|
20
20
|
});
|
|
21
|
+
/** 官方标准缓存乘数(相对 `in`):读 0.1×、**5 分钟** 写 1.25×。逐模型/逐 TTL 覆盖见 `ModelPricing`。 */
|
|
22
|
+
const CACHE_READ_MULTIPLIER = 0.1;
|
|
23
|
+
const CACHE_WRITE_MULTIPLIER = 1.25;
|
|
24
|
+
/**
|
|
25
|
+
* 错误文案里的值渲染。`JSON.stringify(NaN)` 印出来是 `null` —— 而宿主传的确实是 `NaN`,
|
|
26
|
+
* 印成 `null` 会让人去找一个不存在的 `null`(本仓库对「可读错误」的要求同样适用于此)。
|
|
27
|
+
*/
|
|
28
|
+
function showValue(v) {
|
|
29
|
+
return typeof v === 'number' ? String(v) : (JSON.stringify(v) ?? String(v));
|
|
30
|
+
}
|
|
31
|
+
/** 整对象渲染:JSON 没有 `NaN` 字面量,非有限数印成 `"NaN"` 而不是 `null`。 */
|
|
32
|
+
function showObject(v) {
|
|
33
|
+
return (JSON.stringify(v, (_k, x) => typeof x === 'number' && !Number.isFinite(x) ? String(x) : x) ?? String(v));
|
|
34
|
+
}
|
|
21
35
|
/**
|
|
22
36
|
* 合并内置表与宿主覆盖(**覆盖优先**);返回合并后的表。
|
|
23
37
|
* 不给覆盖时直接复用内置表(同一引用,零拷贝)。
|
|
24
38
|
*
|
|
25
|
-
* 非法单价(非有限数 /
|
|
26
|
-
* `maxCostUsd` 拿 NaN 去比较(永远 false
|
|
39
|
+
* 非法单价(非有限数 / 负数)在**解析价格表时就抛错**(本函数内,`engine/turn.ts` 的循环入口调用)
|
|
40
|
+
* —— 与其让它算出 NaN 成本、再让 `maxCostUsd` 拿 NaN 去比较(永远 false,护栏静默失效),
|
|
41
|
+
* 不如立刻响亮失败。
|
|
42
|
+
* ⚠️ 别把它读成「`createApp` 构造期」:`buildPricing` 只在**每次 run 的循环入口**被调用,
|
|
43
|
+
* 所以它是「第一次 llm 调用之前」而不是「应用构造时」(api.html 那句「构造期抛错」由此而来,
|
|
44
|
+
* 已订正)。
|
|
45
|
+
* 两个缓存乘数同属这一条:**只校验一半等于没校验**(乘数写错照样出 NaN)。
|
|
46
|
+
*
|
|
47
|
+
* ⚠️ 口径(实测钉在 `tests/engine/pricing.test.ts`):这个错**不会抛给调用方** ——
|
|
48
|
+
* 本函数只在 `engine/turn.ts` 的循环入口被调用,`runAgent` 会把它收成
|
|
49
|
+
* `{status:'error', stopReason:'error'}` 的 result(错误记在 run 根 span),
|
|
50
|
+
* 关键是它发生在**第一次 llm 调用之前**(client 一次都不被调用,不烧 token)。
|
|
27
51
|
*/
|
|
28
52
|
export function buildPricing(overrides) {
|
|
29
53
|
if (!overrides)
|
|
@@ -31,7 +55,15 @@ export function buildPricing(overrides) {
|
|
|
31
55
|
for (const [model, p] of Object.entries(overrides)) {
|
|
32
56
|
const ok = (n) => typeof n === 'number' && Number.isFinite(n) && n >= 0;
|
|
33
57
|
if (!p || !ok(p.in) || !ok(p.out)) {
|
|
34
|
-
throw new Error(`priceOverrides["${model}"] 非法:需要 { in, out } 两个非负有限数($/1M tokens),收到 ${
|
|
58
|
+
throw new Error(`priceOverrides["${model}"] 非法:需要 { in, out } 两个非负有限数($/1M tokens),收到 ${showObject(p)}`);
|
|
59
|
+
}
|
|
60
|
+
for (const [k, v] of [
|
|
61
|
+
['cacheRead', p.cacheRead],
|
|
62
|
+
['cacheWrite', p.cacheWrite],
|
|
63
|
+
]) {
|
|
64
|
+
if (v !== undefined && !ok(v)) {
|
|
65
|
+
throw new Error(`priceOverrides["${model}"].${k} 非法:需要非负有限数(相对 in 的乘数),收到 ${showValue(v)}`);
|
|
66
|
+
}
|
|
35
67
|
}
|
|
36
68
|
}
|
|
37
69
|
return { ...DEFAULT_PRICING, ...overrides };
|
|
@@ -45,7 +77,16 @@ export function usageFromAnthropic(u) {
|
|
|
45
77
|
};
|
|
46
78
|
}
|
|
47
79
|
/**
|
|
48
|
-
*
|
|
80
|
+
* 近似成本估计:缓存读 0.1×输入、缓存写 1.25×输入(官方标准乘数)。
|
|
81
|
+
*
|
|
82
|
+
* 两个乘数都可**逐模型覆盖**(`ModelPricing.cacheRead` / `cacheWrite`):
|
|
83
|
+
* - 缓存写:默认 1.25× 是 **5 分钟** 档。宿主在块上用了 `cache_control: { ttl: '1h' }` 时,
|
|
84
|
+
* 那一档官方是 **2×**;而 `Usage` 是四项聚合的、分不出 TTL,所以必须在价格表里显式写
|
|
85
|
+
* `cacheWrite: 2`,否则低估 37.5%(方向上让 `maxCostUsd` 迟触发)。
|
|
86
|
+
* - 缓存读:官方有逐模型例外(Opus 5.5 = 0.05×、Fable 5.1 / Mythos 5.1 = 0.025×),同理。
|
|
87
|
+
*
|
|
88
|
+
* 乘数逐项钉在 `tests/engine/pricing.test.ts`。
|
|
89
|
+
*
|
|
49
90
|
* 模型不在传入的价格表内时返回 `undefined` —— 调用方须把"未定价"**显式**表达出来
|
|
50
91
|
* (记 `usage.unpriced` 事件 / 计数),不要当成"成本 0"。
|
|
51
92
|
*/
|
|
@@ -59,8 +100,8 @@ export function costEstimate(model, usage, pricing = DEFAULT_PRICING) {
|
|
|
59
100
|
const { inputTokens, outputTokens, cacheReadTokens, cacheCreationTokens } = usage;
|
|
60
101
|
const cost = (inputTokens / 1e6) * p.in +
|
|
61
102
|
(outputTokens / 1e6) * p.out +
|
|
62
|
-
(cacheReadTokens / 1e6) * p.in *
|
|
63
|
-
(cacheCreationTokens / 1e6) * p.in *
|
|
103
|
+
(cacheReadTokens / 1e6) * p.in * (p.cacheRead ?? CACHE_READ_MULTIPLIER) +
|
|
104
|
+
(cacheCreationTokens / 1e6) * p.in * (p.cacheWrite ?? CACHE_WRITE_MULTIPLIER);
|
|
64
105
|
return Math.round(cost * 1e6) / 1e6;
|
|
65
106
|
}
|
|
66
107
|
//# sourceMappingURL=usage.js.map
|
package/dist/engine/usage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/engine/usage.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,eAAe,GAA2C,MAAM,CAAC,MAAM,CAAC;IACnF,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACnC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACrC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACrC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACrC,mBAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACvC,kBAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;CACtC,CAAC,CAAC;AAEH
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/engine/usage.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const AGENTIA_VERSION = "0.9.
|
|
1
|
+
export declare const AGENTIA_VERSION = "0.9.4";
|
|
2
2
|
export type { Trace, Span, SpanEvent, SpanError, SpanId, SpanKind, SpanLink, SpanStatus, TraceId, TraceContext, TraceSink, TraceRecordEvent, CapabilityType, Usage, Score, } from './core/trace.js';
|
|
3
3
|
export { attachScore, parseTraceparent } from './core/trace.js';
|
|
4
4
|
export type { AgentTool, ApprovalDecision, JsonSchema, ModelClient, RecorderBackend, SchemaInput, SchemaType, ToolRunContext, TypedSchema, } from './core/tool.js';
|
package/dist/index.js
CHANGED
package/dist/transport/http.js
CHANGED
|
@@ -4,6 +4,7 @@ import { parseApproveBody, toHttpBody, toTaskSubmitBody } from './http-shapes.js
|
|
|
4
4
|
import { isPreAuthRoute, routeRequest } from './http-route.js';
|
|
5
5
|
import { sseWriter } from './sse.js';
|
|
6
6
|
import { TaskInputError, normalizeMessages } from '../engine/spec.js';
|
|
7
|
+
import { zeroClauseOf } from '../core/limits.js';
|
|
7
8
|
/**
|
|
8
9
|
* 鉴权钩子可抛出的异常:显式携带 HTTP 状态与响应体。
|
|
9
10
|
* 钩子抛别的错误一律按 401 处理(设计 F4:与「工具抛错即 is_error」的既有风格一致)。
|
|
@@ -145,6 +146,17 @@ function headerValue(req, name) {
|
|
|
145
146
|
export function createHttpHandler(app, opts = {}) {
|
|
146
147
|
const runner = opts.runner ?? new AsyncRunner(app);
|
|
147
148
|
const maxBodyBytes = opts.maxBodyBytes ?? DEFAULT_MAX_BODY_BYTES;
|
|
149
|
+
if (!(maxBodyBytes > 0)) {
|
|
150
|
+
// 判据是 `size > maxBytes` ⇒ 0 时**任何字节**都超限 ⇒ 所有带 body 的请求 413。
|
|
151
|
+
// 与同一接口里的 maxConcurrentRuns(0 ⇒ 全部 503)同款:配置错误,构造期响亮失败。
|
|
152
|
+
// ⚠️ 还挡 `Number('') === 0`(空的环境变量)这类静默事故。要「不限」用 Infinity。
|
|
153
|
+
throw new Error(`maxBodyBytes 必须为正数(${zeroClauseOf('HttpHandlerOptions.maxBodyBytes')}),收到 ${String(opts.maxBodyBytes)}`);
|
|
154
|
+
}
|
|
155
|
+
if (opts.sseMaxBufferedBytes !== undefined && !(opts.sseMaxBufferedBytes > 0)) {
|
|
156
|
+
// 透传给 `sseWriter`(它自己也会拦),这里拦是为了**构造期**就响亮失败,
|
|
157
|
+
// 而不是等到第一个 SSE 请求才炸(那时响应头可能已写出,只能回 200 再断流)。
|
|
158
|
+
throw new Error(`sseMaxBufferedBytes 必须为正数(${zeroClauseOf('SseWriterOptions.maxBufferedBytes')}),收到 ${String(opts.sseMaxBufferedBytes)}`);
|
|
159
|
+
}
|
|
148
160
|
const maxConcurrentRuns = opts.maxConcurrentRuns ?? DEFAULT_MAX_CONCURRENT_RUNS;
|
|
149
161
|
if (!(maxConcurrentRuns > 0)) {
|
|
150
162
|
// NaN 会让 `inFlightRuns >= maxConcurrentRuns` 恒 false(闸门静默失效);
|
|
@@ -502,6 +514,12 @@ export function createHttpHandler(app, opts = {}) {
|
|
|
502
514
|
sse.event('task.end', frame.record);
|
|
503
515
|
closeStream();
|
|
504
516
|
return;
|
|
517
|
+
default: {
|
|
518
|
+
// 编译期穷尽性断言:`TaskStreamFrame` 新增成员时这里会编译失败,
|
|
519
|
+
// 而不是被静默丢掉 —— 静默丢帧的客户端只会对着流干等,最后靠超时猜。
|
|
520
|
+
const _never = frame;
|
|
521
|
+
void _never;
|
|
522
|
+
}
|
|
505
523
|
}
|
|
506
524
|
};
|
|
507
525
|
try {
|
|
@@ -533,11 +551,14 @@ export function createHttpHandler(app, opts = {}) {
|
|
|
533
551
|
// 残缺的 % 转义会抛 URIError —— 是调用方的输入问题(400),不是服务端 500
|
|
534
552
|
sendJson(res, 400, { error: 'taskId 不是合法的 URL 编码' });
|
|
535
553
|
return;
|
|
536
|
-
// healthz / metrics 已在上面的免鉴权组里 return
|
|
537
|
-
//
|
|
538
|
-
default:
|
|
554
|
+
// healthz / metrics 已在上面的免鉴权组里 return 掉,落到这里的只剩 'notFound'。
|
|
555
|
+
// 编译期穷尽性断言:`HttpRoute` 新增 kind 时这里会编译失败 —— 而不是被静默吞成 404。
|
|
556
|
+
default: {
|
|
557
|
+
const residual = route.kind;
|
|
558
|
+
void residual;
|
|
539
559
|
sendJson(res, 404, { error: `路径不存在: ${pathname}` });
|
|
540
560
|
return;
|
|
561
|
+
}
|
|
541
562
|
}
|
|
542
563
|
}
|
|
543
564
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { isThenable } from '../store/store.js';
|
|
3
|
+
import { zeroClauseOf } from '../core/limits.js';
|
|
3
4
|
/**
|
|
4
5
|
* Agentia —— 定时触发(spec §6.3 定时事件)。
|
|
5
6
|
* 依赖 AsyncRunner:每次触发 = submit 一次异步任务。
|
|
@@ -29,7 +30,8 @@ export class Scheduler {
|
|
|
29
30
|
if (!Number.isFinite(intervalMs) || intervalMs <= 0) {
|
|
30
31
|
// setInterval(0) 会退化成「尽快重复」的空转循环,把事件循环打满(Node 会把
|
|
31
32
|
// 0 钳到 1ms 但仍是每毫秒一次的忙轮询)。这是配置错误,直接报错。
|
|
32
|
-
|
|
33
|
+
// 文案里那句「0 = …」取自 limits 表(单一真源),不在这里各写一份。
|
|
34
|
+
throw new Error(`Scheduler.every 的 intervalMs 必须为正有限数(${zeroClauseOf('Scheduler.every.intervalMs')}),收到 ${intervalMs}`);
|
|
33
35
|
}
|
|
34
36
|
if (intervalMs > MAX_TIMER_DELAY_MS) {
|
|
35
37
|
// Node 的定时器延迟是 32 位有符号整数:超过 2^31-1ms(约 24.86 天)会被**静默**
|
|
@@ -37,6 +39,17 @@ export class Scheduler {
|
|
|
37
39
|
// 配置错误,与上面的 0 同款处理(runTimeoutMs 在 async.ts 有同款防线)。
|
|
38
40
|
throw new Error(`Scheduler.every 的 intervalMs 超过定时器上限(约 24.86 天),收到 ${intervalMs}`);
|
|
39
41
|
}
|
|
42
|
+
if (opts.maxInFlight !== undefined) {
|
|
43
|
+
const m = opts.maxInFlight;
|
|
44
|
+
// 闸门判据是 `inFlight.size >= maxInFlight`(dispatch 里),0 / 负数会让它**恒真**
|
|
45
|
+
// ⇒ 每次 tick 都跳过,周期任务**既不跑也不失败**(实测 60ms 内派发 0 次、无任何
|
|
46
|
+
// 报错/日志)。与 `AsyncRunner.concurrency` 同族,同款在构造期响亮失败。
|
|
47
|
+
// ⚠️ 也**不能**在这里把它抬成 1:那等于替使用者改配置(旧 `Math.max(1, …)` 的教训)。
|
|
48
|
+
// Infinity 合法(`Infinity > 0`):闸门关闭(旧行为),见 ScheduleEveryOptions。
|
|
49
|
+
if (typeof m !== 'number' || Number.isNaN(m) || m <= 0) {
|
|
50
|
+
throw new TypeError(`maxInFlight 必须为正数(${zeroClauseOf('Scheduler.every.maxInFlight')}),收到 ${String(m)}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
40
53
|
const id = randomUUID();
|
|
41
54
|
const timer = setInterval(() => {
|
|
42
55
|
const job = this.jobs.get(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/transport/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/transport/scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/transport/sse.js
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
import { zeroClauseOf } from '../core/limits.js';
|
|
1
2
|
/** 缺省积压上限:8 MiB —— 一条 8 MiB 都没被读走的流,已经不是「慢」而是「断了」 */
|
|
2
3
|
export const SSE_DEFAULT_MAX_BUFFERED_BYTES = 8 * 1024 * 1024;
|
|
3
4
|
export function sseWriter(res, opts = {}) {
|
|
4
5
|
const limitBytes = opts.maxBufferedBytes ?? SSE_DEFAULT_MAX_BUFFERED_BYTES;
|
|
6
|
+
// 0 = 流活不过一帧(判据是写入前的 `pending > limitBytes`:第 1 帧放行、第 2 帧必收口),
|
|
7
|
+
// 没有任何正当用法 —— 这个旋钮的定位是「只拦连上但不读的病态消费者」,0 会把**每个**
|
|
8
|
+
// 消费者都判成病态。与 `maxConcurrentRuns` / `maxBodyBytes` 同款:构造期响亮失败。
|
|
9
|
+
// 要「不限」用 `Infinity`(`pending > Infinity` 恒假),别用 0。
|
|
10
|
+
if (!(limitBytes > 0)) {
|
|
11
|
+
throw new TypeError(`maxBufferedBytes 必须为正数(${zeroClauseOf('SseWriterOptions.maxBufferedBytes')}),收到 ${String(opts.maxBufferedBytes)}`);
|
|
12
|
+
}
|
|
5
13
|
let closed = false;
|
|
6
14
|
res.writeHead(200, {
|
|
7
15
|
'content-type': 'text/event-stream; charset=utf-8',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/transport/sse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/transport/sse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA4CjD,qDAAqD;AACrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9D,MAAM,UAAU,SAAS,CAAC,GAAmB,EAAE,IAAI,GAAqB,EAAE;IACxE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,IAAI,8BAA8B,CAAC;IAC3E,+DAA+D;IAC/D,iDAAiD;IACjD,8DAA8D;IAC9D,mDAAmD;IACnD,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CACjB,0BAA0B,YAAY,CAAC,mCAAmC,CAAC,QAAQ,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CACnH,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,cAAc,EAAE,kCAAkC;QAClD,eAAe,EAAE,wBAAwB;QACzC,UAAU,EAAE,YAAY;QACxB,yCAAyC;QACzC,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAC;IAEH,qCAAqC;IACrC,MAAM,QAAQ,GAAG,GAAW,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjG,MAAM,IAAI,GAAG,CAAC,KAAa,EAAQ,EAAE;QACnC,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;YACzB,oCAAoC;YACpC,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,CAAC;gBACH,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,qBAAqB;YACvB,CAAC;YACD,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,MAAM;YACR,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,CAAC,IAAY,EAAE,IAAa,EAAE,EAAW;YAC5C,0DAA0D;YAC1D,IAAI,CACF,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,UAAU,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAC5F,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAY;YAClB,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;QACxB,CAAC;QACD,KAAK;YACH,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED