abbf1465e2
- app/types.ts:新增 GameCreatorDirectToolCall / Detail / Change 类型,并给 GameCreatorDirectTurnUpdateEvent 增加可选 toolCalls 字段(老事件 undefined 走原路径) - App.tsx:订阅 game-creator-direct-turn-update 时按 id 归并工具调用增量(completed 覆盖 running、startedAt 取最早),打开项目时整表替换为 read_direct_tool_calls 的回读结果 - App.tsx:只把「对话里已有该回合」或「当前正在跑的回合」的工具调用交给面板,避免旧卡片漂尾 - ProjectSupervisorView.tsx:新增 toolCalls / activeTurnId 属性,按回合把卡片插在 **同一回合最后一条 assistant 消息之后**,同回合内按 startedAt 升序;当前回合在 assistant 消息落盘前锚到最后一条 assistant 消息 - ToolCallCard.tsx(新增):Codex 风格可折叠卡片,`<button aria-expanded aria-controls>` + `hidden` 控制展开,键盘可达,aria-label 为「执行命令:npm run build」 - ToolCallCard.tsx:折叠态显示图标/标题/摘要/进行中状态点/状态文案;展开态显示命令、 文件路径 + 变更类型、输出 - styles.css:新增工具调用卡片样式区块,running 状态点与 failed 配色都用现有 --platform-* 变量 - tests/appSurface/project-development.suite.ts:新增两条用例 —— 实时回合卡片从 running 走到 completed 并在回合结束后仍挂在同一回合消息之后;打开项目时调用 read_direct_tool_calls