新增: F-04多Provider负载均衡池(数据层+选择器+并发原语)+CR-52白项
This commit is contained in:
@@ -544,7 +544,10 @@ pub fn build_ai_tool_registry(db: &Arc<Database>) -> AiToolRegistry {
|
||||
"run_workflow", "按任务 target_status 推进对应工作流(含 AiNode 自审 / HumanNode 核对闸门)。参数 task_id + target_status 同时提供才联动任务推进(完成后按 target_status 推进任务,失败按退回态回滚)。属高风险操作(触发工作流引擎执行),须人工批准。审批通过后由后端直接执行工作流引擎并联动推进任务,返回 execution_id",
|
||||
df_ai::ai_tools::object_schema(vec![("task_id", "string", true), ("target_status", "string", true)]),
|
||||
RiskLevel::High,
|
||||
{ let _db = db.clone(); Box::new(move |args: serde_json::Value| {
|
||||
// CR-52: 删死代码 `let _db = db.clone();`(完全未用 — 防御 handler 仅返回 Err,
|
||||
// 不持 db;run_workflow 真正执行经 ai_approve → execute_run_workflow_for_tool
|
||||
// → workflow.rs::run_workflow_inner,此处 handler 在正常流程不可达)。
|
||||
{ Box::new(move |args: serde_json::Value| {
|
||||
Box::pin(async move {
|
||||
let task_id = args["task_id"].as_str().ok_or_else(|| anyhow::anyhow!("缺少 task_id"))?;
|
||||
let target_status = args["target_status"].as_str()
|
||||
|
||||
Reference in New Issue
Block a user