auto-sync: 2026-05-26 13:48:24
This commit is contained in:
@@ -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,
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user