""" Planner — "director brain" for the interactive service. Takes a prompt + optional audience/context and produces a structured ``Intent`` that downstream modules (branching, script, scene) can deterministically consume. The planner is swap-friendly: ``parse_prompt`` has a heuristic phase-1 implementation today; swapping to an LLM-driven implementation later keeps the same input/output signature so nothing downstream changes. Submodules: intent.py Intent dataclass + parse_prompt(text, cfg) → Intent audience.py Audience dataclass + resolve_audience helper presets.py Per-mode planning templates (SFW education, social romantic, mature gated, language learning, …) """ from .audience import Audience, resolve_audience from .intent import Intent, parse_prompt from .presets import PlanningPreset, get_preset, list_presets __all__ = [ "Audience", "resolve_audience", "Intent", "parse_prompt", "PlanningPreset", "get_preset", "list_presets", ]