"""Public failure wording; transport/model exception text is never a UI message.""" MESSAGES = { 'verification_unavailable':'Finálne overenie odpovede momentálne nie je dostupné. Skús otázku neskôr; nejde o potvrdenie chýbajúcich podkladov.', 'invalid_context':'Kontext predchádzajúcej otázky sa nepodarilo overiť. Zopakuj úplnú otázku s osobou, prácou a prípadným dátumom.', 'stale_context':'Dáta alebo kontext konverzácie sa zmenili. Zopakuj úplnú otázku; starý výber stretnutia nepoužijem.', 'expired_context':'Kontext predchádzajúcej otázky už vypršal. Zopakuj úplnú otázku.', 'proposal_not_available':'Otázka žiada návrh možného prepojenia, nie iba existujúce fakty. Návrhový režim ešte nie je dostupný; výpis podkladov preto nevydávam za hotový návrh.', "reference_unavailable": "Zdrojový repozitár sa nepodarilo verejne overiť. Odpoveď založenú iba na tomto odkaze neuvádzam.", "content_index_unavailable": "Obsahové vyhľadávanie momentálne nie je pripravené alebo sa jeho výstup " "nepodarilo overiť. Treba overiť extrakciu pre aktuálnu verziu dát; " "nejde o potvrdenie, že hľadané údaje neexistujú.", "model_unavailable": "Jazykový model momentálne nie je dostupný. Skús otázku neskôr.", "retrieval_unavailable": "Vyhľadávací index momentálne nie je dostupný. Skús otázku neskôr.", "answer_capacity_exceeded": "Agent práve spracúva iné otázky. Skús to o chvíľu.", "answer_rejected": "Odpoveď sa nepodarilo spoľahlivo overiť podľa podkladov. " "Neoverené údaje sa nezobrazia.", "answer_unavailable": "Overenú odpoveď sa momentálne nepodarilo pripraviť. Skús to neskôr.", } def public_failure(result: dict) -> dict: reason = result.get("reason") if not isinstance(reason, str) or reason not in MESSAGES: reason = "answer_unavailable" return { "index_version": None, "complete": False, "truncated": False, "truncation_reasons": [], **result, "status": "error", "reason": reason, "accepted_for_delivery": False, "answer": MESSAGES[reason], "claims": [], "source_urls": [], } def clarification_result( answer: str, reason: str, *, engine: str, index_version: dict | None = None ) -> dict: """Build a clarification with the same public fields on every branch.""" return { "status": "ambiguous", "reason": reason, "accepted_for_delivery": True, "answer": answer, "claims": [], "source_urls": [], "engine": engine, "index_version": index_version, "complete": False, "truncated": False, "truncation_reasons": [], }