diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/validation.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/validation.rs index 01f6a6868..5e6199423 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/validation.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/validation.rs @@ -12,7 +12,7 @@ pub(crate) const MAX_DIRECT_CODEX_REFERENCES: usize = 32; pub(crate) fn validate_direct_codex_user_item( root: &Path, item: &DirectCodexUserItem, -) -> Result<(), String> { +) -> Result { let DirectCodexUserItem::Message(message) = item; if !matches!(message.role, DirectCodexUserRole::User) { return Err("DirectProject 只接受 user message item".to_string()); @@ -45,7 +45,7 @@ pub(crate) fn validate_direct_codex_user_item( if reference_count > MAX_DIRECT_CODEX_REFERENCES { return Err(format!("一次最多引用 {MAX_DIRECT_CODEX_REFERENCES} 个素材")); } - Ok(()) + Ok(manifest) } pub(crate) fn validate_resource_id_and_manifest( diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/wire.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/wire.rs index 2ab90cc62..62c981108 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/wire.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_codex_user_item/wire.rs @@ -1,6 +1,6 @@ use super::model::{DirectCodexUserContentPart, DirectCodexUserItem}; use super::validation::validate_direct_codex_user_item; -use crate::agent::{read_manifest_for_project, sanitize_attachment_local_path}; +use crate::agent::sanitize_attachment_local_path; use serde_json::Value; use std::path::Path; @@ -57,8 +57,7 @@ pub(crate) fn direct_codex_user_item_to_wire_input( root: &Path, item: &DirectCodexUserItem, ) -> Result { - validate_direct_codex_user_item(root, item)?; - let manifest = read_manifest_for_project(root)?; + let manifest = validate_direct_codex_user_item(root, item)?; let DirectCodexUserItem::Message(message) = item; let mut input = Vec::with_capacity(message.content.len()); for part in &message.content {