d31a758c9c
宿主侧把拒单收成结构化载荷,界面不再解析任何文案前缀。 - `DirectTurnError` 及其嵌套枚举补 `Serialize + TS`,导出到 `chat/generated/` - 新增 `DirectTurnRejection`(结构化变体 + `Display` 生成的唯一一份文案),命令返回类型改为它 - `EnvironmentNotReady` 补 `environment-not-ready` 失败分类,避免回合失败被写成 `model-failed` - `TurnAlreadyRunning` 去掉机器前缀,两条文案按身份是否相同分岔 - 删掉「按文案前缀判定」的协议约定与 `is_turn_failure`,通道改由**发生位置**决定 - 兜底终止路径改走 `complete_direct_thread_turn`:写终态的同时解除占用,不再只裸追加事件 前端按 `error.type` 分流,删掉三个按文案判断的旧函数。 - 新增 `readDirectTurnRejection` / `directTurnRejectionNotice` / `directTurnRejectionNoticeMessageId` - 认得的参数 / 前置条件类(空内容、并发、参数非法、工程根等)写成与用户消息同级的提示, 不占状态行、不写运行错误、不上报 - 认不得的宿主 / 环境事实与其它非结构化错误原样抛出,走既有捕获链路(上报 + 横幅) - `chat_with_game_creator_direct_codex` 的 catch 从此只剩「拒单」一种输入 测试与绑定同步更新:appSurface 两条用例按新语义重写,`userItemId` / 终态时刻的注释跟着改。