update
This commit is contained in:
@@ -9,9 +9,9 @@ from fastapi import APIRouter, HTTPException
|
||||
from fastapi.responses import Response
|
||||
|
||||
from agents import active_agents, provider_available
|
||||
from config import PROJECTS_DIR, UNI_DIR, PROVIDERS
|
||||
from config import DEFAULT_PROVIDER, PROJECTS_DIR, UNI_DIR, PROVIDERS
|
||||
from database import (
|
||||
create_guide, delete_guide, get_guide, list_guides,
|
||||
create_guide, delete_guide, get_guide, list_guides, update_guide,
|
||||
create_topic, list_topics as db_list_topics, delete_topic,
|
||||
list_block_progress, get_block_progress, set_open_question,
|
||||
set_block_score_and_streak,
|
||||
@@ -681,6 +681,27 @@ async def get_guide_board(topic: str, format: str = "Guide"):
|
||||
return snap
|
||||
|
||||
|
||||
@router.post("/guides/board/repair")
|
||||
async def repair_guide_board(req: GuideBoardResetRequest):
|
||||
"""Befunde beheben fürs Guide-Board: Karten mit QA-Befunden zurück auf `pruefer`,
|
||||
dann resumt generate_guide die offenen Karten (Prüfer+Fix) und misst neu."""
|
||||
import guide_board
|
||||
topic = req.topic.strip()
|
||||
guide = next((g for g in await list_guides()
|
||||
if g["topic"] == topic and g["format"] == req.format), None)
|
||||
if guide is None:
|
||||
raise HTTPException(404, "Kein Guide für dieses Topic/Format")
|
||||
if guide["status"] in ("queued", "generating"):
|
||||
return {"ok": True, "status": "generating", "betroffen": []}
|
||||
betroffen = await guide_board.repair_karten(topic, req.format)
|
||||
if betroffen:
|
||||
now = datetime.now(timezone.utc).isoformat()
|
||||
await update_guide(guide["id"], status="queued", progress="Repair…", updated_at=now)
|
||||
asyncio.create_task(generate_guide(guide["id"], topic, req.format,
|
||||
guide.get("instructions") or "", DEFAULT_PROVIDER))
|
||||
return {"ok": True, "betroffen": betroffen}
|
||||
|
||||
|
||||
@router.post("/guides/board/reset")
|
||||
async def reset_guide_board(req: GuideBoardResetRequest):
|
||||
"""Reset cards from a stage onward — without generation (pendant to blocks reset-stage)."""
|
||||
|
||||
Reference in New Issue
Block a user