Repository navigation
v1.5.0
v1.5.0
破坏性变更:工具面三族合并(计划组 bcdp-tool-consolidation)。wait / space / escape 三族按 op 收口,工具数 41 → 34,全量 schema 24,093 → 22,224 字符(净省 1,869,天花板 24,094 未上调)。旧工具名直接移除,不保留薄别名——别名同样占 schema 预算,保留等于没省。迁移表见 README「1.5.0 迁移表」。
移除(破坏性):8 个旧工具名
bcdp_wait_for_selector/bcdp_wait_for_url/bcdp_wait_for_response/bcdp_wait_page→ 并入bcdp_wait的op=selector|url|response|load|function|request|event。bcdp_space_open/bcdp_space_close→ 并入bcdp_space的op=open|close(原有op=list|handoff|takeover不变)。bcdp_cli→ 并入bcdp_script的verbatim:true(裸 heredoc、无 preamble、返回含output合并文本)。
变更:三族为何可合(同源证据)
- wait(5 → 1):五个工具共用同一
useSpace(...)+ensureRealTab()preamble、同一timeout语义、同一space参数;bcdp_wait_page本身已是op多动作形态,合并是把既有范式用完,不是新范式。 - space(3 → 1):
bcdp_space本就是 op 工具(list/handoff/takeover),open/close 只是没并进去。 - escape(2 → 1):
bcdp_cli与bcdp_script是同一 heredoc 运行时,唯一差异是 preamble(script 先选空间 + 激活真实 tab)。
修复:空间追踪的分派基准随合并调整
- 共享
t()包装器的afterExecute原按工具名分派 tracker(bcdp_space_open→spaceTracker.opened、bcdp_space_close→spaceTracker.closed)。三族合并后工具名不再携带动作信息,改为按args.op分派。若不改,活动空间追踪会静默失效(不报错、只是状态不对)。已补三条单测直接观察该唯一用户可见效应(后续调用解析到的默认空间)。
保留的守卫(逐字未动)
op=function仍用safeEvalWrap(expr, true)(preserveFalsy)——否则 DOM/window 返回值会撞 SDK 的Object reference chain is too long。timeout默认值分档不变:普通 op 10,000ms、页面级 op(load/function/request/event)30,000ms。- 各 op 的失败均可归因:
reason带 op 名(如bcdp_wait: selector is required for op=selector),不退化为裸ok:false。 handoff后同脚本不碰page.*的硬停(P0-5)、ensureRealTab、attachSessionHint全部保留。
变更:默认注入面更窄
lazy默认档下不碰浏览器的会话在场工具 10 → 7(core 6 + escape 1 = 4,978 字符 ≈ 1,430 token);always全量 34 件 = 22,224 字符。core批次 8 → 6、wait批次 5 → 1、escape批次 2 → 1。
文档
- 6 个 README(
README.md+ de/es/fr/it/ru)工具表、分级表、注入面实测值、core 计数全部同步;主 README 新增「1.5.0 迁移表」。 help.ts工具清单与navigate/wait/network/script四个 topic 改为合并后口径。
验证
npm run typecheckEXIT 0;npm run test861 passed / 12 skipped(873)(三族合并新增 11 项断言);npm run build三 bundle complete。- 全量 schema 门:34 工具 / 22,224 字符 ≤ 24,094(实测落值,非估算)。
npm pack --ignore-scripts出dsh-browser-cdp-1.5.0.tgz,解包lib/index.jsSHA256 与本地构建逐字节一致。
Release backfilled on 2026-10-22 from git tag + CHANGELOG history.