"""Recon-driven SQL composer. The LLM picks a *shape* (which metric, which dimensions, which filters); the composer walks recon and emits the SQL deterministically. Column–table binding, joins, and quoting are graph traversals, not LLM guesses. See `def/schema-as-constraint.md` for the architectural argument. """ from api.composer.types import ( ComposeResult, Filter, OrderBy, Pick, PickValidationError, ) from api.composer.compose import compose __all__ = [ "compose", "ComposeResult", "Filter", "OrderBy", "Pick", "PickValidationError", ]