"""Client LLM pluggable pour l'analyse de texte (attribution, personnages...).

La facade `LLM` (client.py) expose `generate` / `generate_json` consommes par
tout le pipeline. Sous elle, un backend pluggable (`base.LLMBackend`) transforme
des messages en texte brut : `mlx_backend` (mlx-lm, defaut) ou `lmstudio_backend`
(API OpenAI locale de LM Studio, sert GGUF *et* MLX). Selection par nom via
`factory.get_llm_backend`.
"""
from __future__ import annotations

from .client import LLM, set_token_sink
from .factory import get_llm_backend, reset_llm_cache

__all__ = ["LLM", "set_token_sink", "get_llm_backend", "reset_llm_cache"]
