auto-sync: 2026-05-26 13:48:24

This commit is contained in:
cfdaily
2026-05-26 13:48:25 +08:00
parent 0be4c30fa7
commit ef6917b318
+8 -7
View File
@@ -571,13 +571,13 @@ curl -X POST http://{api_host}:{api_port}/api/projects/{project_id}/tasks/{task_
stderr_text = b"".join(stderr_chunks).decode("utf-8", errors="replace")
# 解析 stdout JSON
meta = self._parse_stdout_json(stdout_text)
json_result = self._parse_stdout_json(stdout_text)
# 查任务实际状态
task_status = self._get_task_status(db_path, task_id) if task_id else None
# 分类
cls = self._classify_outcome(exit_code, meta, stderr_text, task_status, stdout_text)
cls = self._classify_outcome(exit_code, json_result, stderr_text, task_status, stdout_text)
outcome = cls["outcome"]
# 更新 session 状态
@@ -586,17 +586,18 @@ curl -X POST http://{api_host}:{api_port}/api/projects/{project_id}/tasks/{task_
self._sessions[sid]["status"] = outcome
self._sessions[sid]["completed_at"] = datetime.utcnow().isoformat()
self._sessions[sid]["exit_code"] = exit_code
if meta:
self._sessions[sid]["meta"] = meta
if json_result:
self._sessions[sid]["meta"] = json_result
# 记录 attempt
self._record_attempt(
task_id, agent_id, outcome, exit_code=exit_code,
db_path=db_path,
metadata={
"transport": meta.get("transport"),
"fallback_reason": meta.get("fallbackReason"),
"duration_ms": meta.get("durationMs"),
"status": json_result.get("status"),
"summary": json_result.get("summary"),
"fallback_used": json_result.get("fallback_used"),
"fallback_reason": json_result.get("fallback_reason"),
"task_status_at_exit": task_status,
}
)