保留缺少 itemId 的 DirectProject 增量

为协议异常的增量生成稳定回退 item 标识

避免丢失用户可见流文本和异常收尾历史
This commit is contained in:
2026-09-05 11:56:30 +08:00
parent 9a48503e15
commit 15a906931b
@@ -2852,18 +2852,19 @@ async fn read_game_creator_codex_app_server_stdout(
else {
continue;
};
let Some(item_id) = params
let item_id = params
.get("itemId")
.and_then(serde_json::Value::as_str)
.filter(|value| !value.is_empty())
else {
eprintln!(
"agent.direct_codex.protocol_warning event=item/agentMessage/delta missing_item_id"
);
continue;
};
.map(str::to_string)
.unwrap_or_else(|| {
eprintln!(
"agent.direct_codex.protocol_warning event=item/agentMessage/delta missing_item_id"
);
format!("direct-missing-item:{turn_id}")
});
CodexTurnEvent::AgentMessageDelta {
item_id: item_id.to_string(),
item_id,
delta: delta.to_string(),
}
}