mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-17 23:09:35 +00:00
fix: Final autopilot service update
https://claude.ai/code/session_01LsnvBa7HwF5hs99VZbgLGj
This commit is contained in:
parent
b0c3d038f8
commit
552e562de5
@ -284,14 +284,10 @@ class AutopilotRunner:
|
|||||||
end = datetime.now(timezone.utc)
|
end = datetime.now(timezone.utc)
|
||||||
unit.completed_at = end
|
unit.completed_at = end
|
||||||
dur = int((end - start).total_seconds() * 1000)
|
dur = int((end - start).total_seconds() * 1000)
|
||||||
steps_done = []
|
idx = STEPS.index(unit.current_step) + 1 if unit.current_step in STEPS else len(STEPS)
|
||||||
for s in STEPS:
|
|
||||||
steps_done.append(s)
|
|
||||||
if s == unit.current_step:
|
|
||||||
break
|
|
||||||
result = AutopilotResult(
|
result = AutopilotResult(
|
||||||
run_id=unit.run_id, task_type=task_type, mode=mode, status=unit.status,
|
run_id=unit.run_id, task_type=task_type, mode=mode, status=unit.status,
|
||||||
steps_completed=steps_done,
|
steps_completed=STEPS[:idx],
|
||||||
findings=unit.result_data.get("at_risk_deals", unit.result_data.get("dormant_leads", [])),
|
findings=unit.result_data.get("at_risk_deals", unit.result_data.get("dormant_leads", [])),
|
||||||
actions_taken=[se.model_dump() for se in unit.side_effects],
|
actions_taken=[se.model_dump() for se in unit.side_effects],
|
||||||
actions_proposed=unit.result_data.get("proposed_actions", []),
|
actions_proposed=unit.result_data.get("proposed_actions", []),
|
||||||
@ -302,8 +298,7 @@ class AutopilotRunner:
|
|||||||
|
|
||||||
async def pause(self, run_id: str) -> bool:
|
async def pause(self, run_id: str) -> bool:
|
||||||
u = self._active.get(run_id)
|
u = self._active.get(run_id)
|
||||||
if not u or u.status != RunStatus.RUNNING:
|
if not u or u.status != RunStatus.RUNNING: return False
|
||||||
return False
|
|
||||||
u.status = RunStatus.PAUSED
|
u.status = RunStatus.PAUSED
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@ -326,16 +321,13 @@ class AutopilotRunner:
|
|||||||
|
|
||||||
async def abort(self, run_id: str) -> bool:
|
async def abort(self, run_id: str) -> bool:
|
||||||
u = self._active.get(run_id)
|
u = self._active.get(run_id)
|
||||||
if not u:
|
if not u: return False
|
||||||
return False
|
u.status, u.completed_at = RunStatus.ABORTED, datetime.now(timezone.utc)
|
||||||
u.status = RunStatus.ABORTED
|
|
||||||
u.completed_at = datetime.now(timezone.utc)
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
async def approve_pending(self, run_id: str, approval_id: str, approved_by: str) -> bool:
|
async def approve_pending(self, run_id: str, approval_id: str, approved_by: str) -> bool:
|
||||||
u = self._active.get(run_id)
|
u = self._active.get(run_id)
|
||||||
if not u:
|
if not u: return False
|
||||||
return False
|
|
||||||
for pa in u.pending_approvals:
|
for pa in u.pending_approvals:
|
||||||
if pa.id == approval_id:
|
if pa.id == approval_id:
|
||||||
pa.approved, pa.approved_by = True, approved_by
|
pa.approved, pa.approved_by = True, approved_by
|
||||||
@ -346,10 +338,9 @@ class AutopilotRunner:
|
|||||||
return self._active.get(run_id)
|
return self._active.get(run_id)
|
||||||
|
|
||||||
def list_active(self, tenant_id: Optional[str] = None) -> list[AutopilotUnit]:
|
def list_active(self, tenant_id: Optional[str] = None) -> list[AutopilotUnit]:
|
||||||
runs = list(self._active.values())
|
runs = [r for r in self._active.values()
|
||||||
if tenant_id:
|
if r.status in (RunStatus.RUNNING, RunStatus.PAUSED, RunStatus.AWAITING_APPROVAL)]
|
||||||
runs = [r for r in runs if r.tenant_id == tenant_id]
|
return [r for r in runs if r.tenant_id == tenant_id] if tenant_id else runs
|
||||||
return [r for r in runs if r.status in (RunStatus.RUNNING, RunStatus.PAUSED, RunStatus.AWAITING_APPROVAL)]
|
|
||||||
|
|
||||||
def list_supported_tasks(self) -> list[dict[str, str]]:
|
def list_supported_tasks(self) -> list[dict[str, str]]:
|
||||||
return [{"task_type": k, **_TASK_META.get(k, {})} for k in _TASK_HANDLERS]
|
return [{"task_type": k, **_TASK_META.get(k, {})} for k in _TASK_HANDLERS]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user