From 220675d38db9e18fdfdb43361c0984afb4265437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Tue, 15 Sep 2026 19:57:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=20DirectProject=20=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E8=A7=A3=E5=86=B3=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 serverRequest/resolved 转换为 request.resolved 事件,及时解除订阅请求占用。 --- .../src-tauri/src/agent/codex_app_server/mod.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/codex_app_server/mod.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/codex_app_server/mod.rs index 0f5a1dedc..2acdf9e5c 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/codex_app_server/mod.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/codex_app_server/mod.rs @@ -934,6 +934,13 @@ fn direct_codex_request_event_type(method: &str) -> Option<&'static str> { } } +fn direct_codex_resolution_event_type(method: &str) -> Option<&'static str> { + match method { + "serverRequest/resolved" => Some("request.resolved"), + _ => None, + } +} + fn direct_codex_intermediate_text_for_notification( method: &str, params: &serde_json::Value, @@ -3545,6 +3552,7 @@ async fn read_game_creator_codex_app_server_stdout( | "rawResponseItem/completed" | "turn/completed" ) && direct_codex_request_event_type(method).is_none() + && direct_codex_resolution_event_type(method).is_none() && safe_activity.is_none() && intermediate_text.is_none() { @@ -3582,7 +3590,9 @@ async fn read_game_creator_codex_app_server_stdout( continue; } } - let event = if let Some(activity) = safe_activity { + let event = if let Some(event_type) = direct_codex_resolution_event_type(method) { + CodexTurnEvent::Request { event_type, params } + } else if let Some(activity) = safe_activity { // Preparing notifications may carry private plan/reasoning text; // expose only the safe activity category. Other categories may // retain their bounded, redacted intermediate text below.