Files

33 lines
974 B
Python

from fastapi import APIRouter, Depends, HTTPException, Request
from ..users import User
from .deps import render, require_admin
router = APIRouter()
PATH = "/agent"
ABORT_LABELS = {
"step_limit": "Schrittlimit erreicht",
"timeout": "Zeitlimit erreicht",
"model_error": "KI nicht verfügbar",
"error": "Fehler",
}
def _repo(request: Request):
return request.app.state.runtime.chatops.agent_runs
@router.get(PATH)
def agent_runs_page(request: Request, user: User = Depends(require_admin)):
return render(request, "agent_runs.html", user=user, runs=_repo(request).recent(),
abort_labels=ABORT_LABELS)
@router.get(PATH + "/{run_id}")
def agent_run_page(request: Request, run_id: int, user: User = Depends(require_admin)):
run = _repo(request).get(run_id)
if run is None:
raise HTTPException(404, "Lauf nicht gefunden")
return render(request, "agent_run.html", user=user, run=run, abort_labels=ABORT_LABELS)