33 lines
974 B
Python
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)
|