Files
cc-web/.planning/2026-08-27-javascript-conversation-events/progress.md

2.1 KiB
Raw Blame History

Progress

  • 2026-08-27:开始新增 getConversationStatus 与 onConversationEvent。
  • 已确定公开状态值沿用 ccweb 现有 running / idle。
  • 已确认 codebase-memory 索引可用,并定位状态判定、标准包注入和内部调用映射入口。
  • 计划审查通过;已补齐注销、边沿、manifest、重启前检查与“未完成自动继续”验收点。
  • 用户追加等待子对话状态与直接子对话 ID 查询;公开函数总数调整为 8。
  • 已定型公开 API、三态优先级、idle 边沿 payload、注销语义和已有注入包升级策略。
  • 已补充失败测试:8 函数 manifest、三态值、状态序列 idle→running→idle、注销后停止查询、直接子对话 ID、未知事件错误码。
  • 红灯结果符合预期:旧实现 manifest 仍为 5 个函数。
  • 已把 running → 临时 idle → waiting_for_children → 稳定 idle 固化为监听回归序列,只有最终稳定 idle 可回调。
  • 已实现服务端三态查询(idle 500ms 复核)与直接子对话 ID 查询,并接入隐藏脚本 MCP 授权链路。
  • 已实现 @ccweb/session 1.1.0 的 getConversationStatus、getChildConversationIds、onConversationEvent,包内 idle 稳定 250ms 并支持注销。
  • 已让生成的 node_modules/@ccweb/session 在已有脚本目录中按内容原子刷新。
  • 首轮语法检查与运行时单测通过。
  • 完整验证通过:server.js、运行时、MCP server、单测脚本语法检查,javascript-session-runtime-unit 与 scripts/regression.js 均成功。
  • git diff --check 通过;manifest 实测为 1.1.0、8 个函数、三态枚举完整。
  • 已按重启前规则确认仅当前对话运行后完成服务重启;重启后 manifest 与真实脚本均验证通过。
  • 真实闭环通过:新建子对话 → 监听 idle → 首次“未完成” → 回调内 sendMessage → 第二次“任务完成” → 注销;直接子对话 ID 查询和运行中状态查询同时通过。
  • 确认 waiting_for_children 期间及登记延迟造成的临时 idle 均不会触发监听;仅稳定活动态→idle 触发。