上一个 commit 只断言了编译函数的输出;那个测试对一个**运行期** bug 是无效的: bug 的本质是 defineTool 在 ESM 下静默降级,源码看着没问题、注册出去的是裸映射。 所以这里跑**真实的 apply()**,用假 ctx 截下 ctx.tools.register 的入参逐个断言 —— 源码怎么写都不算数,注册出去的东西才算数。 要点: - 工具注册包在 ctx.effect() 里,假 ctx 必须真的执行该回调 - effect 里会起 SSE,故放子进程跑并在拿到结果后主动退出 - 断言前先确认注册数 >= 11,避免在空集合上假通过 实测该测试能抓住修复前的形态(parameters 顶层键就是 gateway_url/key_token, 没有 type/properties),并单独覆盖被上游拒过的 connect_to_server。