diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_tool_bridge.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_tool_bridge.rs index 286dd6bc6..b6db45647 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_tool_bridge.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_tool_bridge.rs @@ -17,7 +17,7 @@ use crate::agent::tool::edit_image::error::EditImageError; use crate::agent::tool::editor_execute::error::{EditorExecuteError, EditorKind}; use crate::agent::tool::environment_check::error::EnvironmentCheckError; use crate::agent::tool::error::{ - DirectExecutionGateRejection, DirectTurnGateRejection, ProjectManifestRejection, + bounded_echo, DirectExecutionGateRejection, DirectTurnGateRejection, ProjectManifestRejection, ResourceCompletionRejection, ToolArgumentsRejection, ToolFailure, UnknownClientToolRejection, }; use crate::agent::tool::generate_image::error::GenerateImageError; @@ -4116,7 +4116,7 @@ async fn handle_direct_tool_bridge( )), _ => Err(ToolCallError::from( &UnknownClientToolRejection { - tool: request.tool.clone(), + tool: bounded_echo(&request.tool), }, )), } diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/tool/error.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/tool/error.rs index 8355e1812..43f9ee47f 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/tool/error.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/tool/error.rs @@ -201,6 +201,7 @@ impl ToolFailure for DirectTurnGateRejection { /// 客户端工具桥收到没有登记过的工具名。 /// /// 带上收到的名字:模型拼错工具名时要能从错误里看出自己写了什么,而不是只知道"不认识"。 +/// 名字在构造处就截到 [`BOUNDED_ECHO_MAX_CHARS`],序列化后的诊断不会跟着被撑大。 #[derive(serde::Serialize, Debug)] pub(crate) struct UnknownClientToolRejection { pub(crate) tool: String,