From cea0c7154670058083eecb1cd6dba0fddeec5898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=9D=E5=B0=98?= <237809796@qq.com> Date: Fri, 19 Jun 2026 19:33:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D:=20df-mcp=20evaluate=5Fidea?= =?UTF-8?q?=20=E5=86=99=E5=9B=9E=E5=A4=B1=E8=B4=A5=E6=84=9F=E7=9F=A5=20+?= =?UTF-8?q?=20list=5Ftrash=20DB=20=E9=94=99=E8=AF=AF=E6=84=9F=E7=9F=A5(CR-?= =?UTF-8?q?11=20=E2=9A=AA2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CR-260619-11 审查 ⚪2 可选改进(MCP 对外场景,非阻塞): - evaluate_idea: 写回 scores 失败返 err(原 let _ 丢弃)+ 响应用写回后 rec(原 idea 旧版本) - list_trash: DB 错误返 err(原 unwrap_or_default 吞错误返空列表对外误导) df-mcp 8 passed 无回归 --- crates/df-mcp/src/tools.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/crates/df-mcp/src/tools.rs b/crates/df-mcp/src/tools.rs index f6352cd..baa5244 100644 --- a/crates/df-mcp/src/tools.rs +++ b/crates/df-mcp/src/tools.rs @@ -613,8 +613,10 @@ fn evaluate_idea(ctx: &Ctx, args: Value) -> BoxFuture<'static, CallToolResult> { let mut rec = idea.clone(); rec.scores = Some(serde_json::to_string(&scores).unwrap_or_default()); rec.updated_at = now; - let _ = repo.update_full(&rec).await; - json_ok(json!({ "id": id, "idea": idea, "scores": scores })) + if let Err(e) = repo.update_full(&rec).await { + return err_str(e); + } + json_ok(json!({ "id": id, "idea": rec, "scores": scores })) }) } @@ -661,8 +663,14 @@ fn run_workflow(_ctx: &Ctx, _args: Value) -> BoxFuture<'static, CallToolResult> fn list_trash(ctx: &Ctx, _args: Value) -> BoxFuture<'static, CallToolResult> { let db = ctx.db.clone(); Box::pin(async move { - let projects = ProjectRepo::new(&db).list_deleted().await.unwrap_or_default(); - let tasks = TaskRepo::new(&db).list_deleted().await.unwrap_or_default(); + let projects = match ProjectRepo::new(&db).list_deleted().await { + Ok(v) => v, + Err(e) => return err_str(e), + }; + let tasks = match TaskRepo::new(&db).list_deleted().await { + Ok(v) => v, + Err(e) => return err_str(e), + }; json_ok(json!({ "projects": projects, "tasks": tasks,