feat: add official Codex skill and harden task execution
Install and update artemis-use with task diagnostics and plugin guidance. Preserve cross-device file receipts, review canonical reports, guard stage transitions and reduce small history summaries. Improve exploration lifecycle, request recovery and browser live connections.
This commit is contained in:
1 parent
2328a4df0c
commit
e1ea099592
128 files changed
+4944
-700
No files matched your search
@@ -16,7 +16,7 @@ import asyncio
|
||||
import json
|
||||
import time
|
||||
from uuid import UUID
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from fastapi import APIRouter, HTTPException, Query
|
||||
from fastapi.responses import Response
|
||||
|
||||
from artemis.config import DB_PATH, TRACES_PATH
|
||||
@@ -36,6 +36,23 @@ from apps.admin_console.services.exploration_listing import exploration_metadata
|
||||
router = APIRouter(tags=["sessions"])
|
||||
|
||||
|
||||
@router.get("/api/sessions/{session_id}/inspection")
|
||||
def inspect_session(
|
||||
session_id: str,
|
||||
view: str = "report",
|
||||
offset: int = Query(default=0, ge=0),
|
||||
limit: int = Query(default=20, ge=1, le=100),
|
||||
):
|
||||
from apps.admin_console.services.task_inspection import inspect_task
|
||||
|
||||
try:
|
||||
return inspect_task(session_id, view, offset=offset, limit=limit)
|
||||
except LookupError as exc:
|
||||
raise HTTPException(404, str(exc)) from exc
|
||||
except ValueError as exc:
|
||||
raise HTTPException(400, str(exc)) from exc
|
||||
|
||||
|
||||
@router.get("/api/sessions/{session_id}/request-diagnostics")
|
||||
def get_request_diagnostics(session_id: str, download: bool = False):
|
||||
from apps.admin_console.services.request_diagnostics import request_diagnostics
|
||||
@@ -281,6 +298,18 @@ async def cleanup_history_endpoint():
|
||||
raise HTTPException(status_code=500, detail=str(e))
|
||||
|
||||
|
||||
@router.get("/api/sessions/{session_id}/deletion-preview")
|
||||
def preview_session_deletion(session_id: str):
|
||||
from apps.admin_console.services.task_deletion import deletion_preview
|
||||
|
||||
try:
|
||||
return deletion_preview(session_id)
|
||||
except KeyError as exc:
|
||||
raise HTTPException(404, str(exc)) from exc
|
||||
except ValueError as exc:
|
||||
raise HTTPException(409, str(exc)) from exc
|
||||
|
||||
|
||||
@router.post("/api/sessions/{session_id}/delete")
|
||||
async def delete_session_endpoint(session_id: str):
|
||||
from artemis.exploration.store import ExplorationConflict, explorations
|
||||
@@ -295,6 +324,7 @@ async def delete_session_endpoint(session_id: str):
|
||||
|
||||
deleted = delete_exploration(explorations, run["exploration_id"])
|
||||
return {"status": "success", "deleted_session_ids": deleted}
|
||||
preview_session_deletion(session_id)
|
||||
storage = StorageManager(DB_PATH, TRACES_PATH)
|
||||
storage.delete_session(UUID(session_id))
|
||||
from apps.admin_console.services.automation_store import store
|
||||
@@ -307,6 +337,8 @@ async def delete_session_endpoint(session_id: str):
|
||||
}
|
||||
except ExplorationConflict as e:
|
||||
raise HTTPException(status_code=409, detail=str(e)) from e
|
||||
except HTTPException:
|
||||
raise
|
||||
except (ValueError, KeyError) as e:
|
||||
raise HTTPException(status_code=400, detail=str(e)) from e
|
||||
except Exception as e:
|
||||
|
||||
Reference in new issue
Block a user