update
This commit is contained in:
@@ -635,13 +635,17 @@ async def _generate_onepager(
|
||||
recherche_path = content_path.parent / f"{content_path.stem}.recherche.md"
|
||||
fragment_paths.append(recherche_path)
|
||||
recherche_path.unlink(missing_ok=True)
|
||||
# Projekte bekommen eigene Recherche-Dimensionen — Produkt-Fragen
|
||||
# (Version, Lizenz, Alternativen) laufen dort ins Leere.
|
||||
if project:
|
||||
source = _prompt("OnePager-Quelle-Projekt", project=project)
|
||||
recherche_template = "OnePager-Recherche-Projekt"
|
||||
else:
|
||||
source = _prompt("OnePager-Quelle-Thema", topic=topic)
|
||||
recherche_template = "OnePager-Recherche"
|
||||
slots = [{
|
||||
"key": f"{guide_id}-recherche",
|
||||
"prompt": _prompt("OnePager-Recherche", topic=topic, source=source, out_path=recherche_path, extra=_extra(instructions)),
|
||||
"prompt": _prompt(recherche_template, topic=topic, source=source, out_path=recherche_path, extra=_extra(instructions)),
|
||||
"role": "quick", "capabilities": "files" if project else "full",
|
||||
"payload": (lambda result: recherche_path.read_text(encoding="utf-8") if recherche_path.exists() else None),
|
||||
}]
|
||||
|
||||
@@ -122,6 +122,10 @@ async def remove_bausteine(topic: str):
|
||||
async def create(req: GuideCreateRequest):
|
||||
if req.format != "OnePager" and not bausteine_path(req.topic.strip()).exists():
|
||||
raise HTTPException(400, "Erst Bausteine erstellen")
|
||||
# Kein Duplikat-Start: pro Thema+Format höchstens eine laufende Generierung
|
||||
for g in await list_guides():
|
||||
if g["topic"] == req.topic.strip() and g["format"] == req.format and g["status"] in ("queued", "generating"):
|
||||
raise HTTPException(409, "Generierung läuft bereits")
|
||||
await create_topic(req.topic.strip())
|
||||
now = datetime.now(timezone.utc).isoformat()
|
||||
guide = {
|
||||
|
||||
Reference in New Issue
Block a user