"""
Vertrauenswuerdige Quellen + Kategorien fuer die AUTOMATISCHE Modell-Entdeckung
(Cookbook „aktuell beste Modelle"). Bewusst nur Daten, kein Code.

Idee: Statt Modelle hartzukodieren, fragt MC diese HF-Orgs live ab (sie pflegen
zuverlaessig hochwertige GGUF-Quants), ordnet die Treffer per Stichwort einer
Kategorie zu, filtert per hw_math auf „passt zu deiner Hardware" und cached das
Ergebnis (siehe DISCOVER_CACHE_PATH/_TTL in config). So bleibt das Cookbook von
selbst aktuell, ohne Code-Aenderung.
"""

# HF-Orgs, die zuverlaessig aktuelle, hochwertige GGUF-Quants veroeffentlichen.
TRUSTED_AUTHORS = ["unsloth", "bartowski", "ggml-org", "lmstudio-community"]

# Kategorien (Reihenfolge = Anzeige + Zuordnungs-Prioritaet). Ein Modell wird der
# ERSTEN Kategorie zugeordnet, deren Stichwort im Repo-Namen vorkommt; bleibt nichts
# uebrig, faellt es in „scout" (Allrounder). Die `role` ist zugleich der Alias-Vorschlag.
CATEGORIES = [
    {"role": "vision", "title": "Bilder verstehen", "icon": "eye",
     "kw": ["-vl-", "-vl", "vision", "llava", "multimodal", "-mm-", "pixtral"]},
    {"role": "coder", "title": "Coden & Programmieren", "icon": "code",
     "kw": ["coder", "-code-", "code-", "codestral", "starcoder"]},
    {"role": "reasoning", "title": "Nachdenken & Logik", "icon": "pulse",
     "kw": ["-r1", "deepseek-r1", "reasoning", "qwq", "magistral", "-think", "thinking", "-o1"]},
    {"role": "agent", "title": "Agenten & Tool-Use", "icon": "layers",
     "kw": ["hermes", "-tool", "command-r", "watt", "-fc-", "function"]},
    {"role": "scout", "title": "Allrounder & Chat", "icon": "compass",
     "kw": []},  # Fallback: instruct/chat-Modelle
]

# Repo-Namensteile, die wir bei der Entdeckung ueberspringen (Roh-/Spezialformate,
# die fuer Anfaenger nicht die richtige Wahl sind).
SKIP_TOKENS = ["-base", "-bnb-", "-gptq", "-awq", "-fp8", "draft", "tokenizer"]
