
> baoer-pi-agent-labs@1.0.0 test
> node --test --test-reporter spec test/*.test.ts

✔ 真实 QuickJS VM 没有 Node / fetch 能力 (136.439729ms)
✔ 成功 store 写入由宿主提交，load 获得上次状态 (182.688113ms)
✔ 失败脚本不提交 store，但先前工具副作用仍发生 (100.758548ms)
✔ 嵌套脚本调用复用 runToolCall 的授权 hook (83.755705ms)
✔ 实际三轮循环把工具结果带回下一次模型请求 (23.62241ms)
✔ 非法参数不会进入工具 execute (5.891619ms)
✔ beforeToolCall 拦截产生错误结果，阻止副作用 (2.301558ms)
✔ 被输出长度截断的工具调用不执行 (2.310466ms)
✔ 并行结束事件按完成顺序，历史按调用顺序 (5.692158ms)
✔ mixed batch 中一个 sequential 工具阻止其他工具提前启动 (12.044095ms)
✔ 等待 agent_end 监听器后才完成 prompt (1.906824ms)
✔ finishTurn 的有界 continuation 恰好补一轮 (1.471356ms)
✔ SessionManager 分支保留废弃历史，恢复选定路径 (13.415561ms)
✔ SDK 使用持久投影，内存篡改不会替代 canonical history (116.053684ms)
✔ 真实Core预算在第8轮toolUse之后停止，不发第9次模型请求 (5.616495ms)
✔ 实际SDK资源配置隔离目标项目的AGENTS/SYSTEM/APPEND与可执行扩展 (115.742229ms)
✔ branch只切内存leaf，未append便重开会恢复最后写入的分支 (6.476797ms)
✔ 路径提取与forkFrom全树复制语义不同 (5.139478ms)
✔ context_edit只改变投影并保留来源，旁支编辑不会泄漏 (1.022606ms)
✔ 压缩保留有效system checkpoint，近期消息保留，旧全文换成摘要 (1.193107ms)
✔ 真实研究包加载 extension / skill / template，拦截 edit (176.001114ms)
ℹ tests 21
ℹ suites 0
ℹ pass 21
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 4495.356525
