"""llmutils — three utilities from Days 2-5, packaged so someone else can install them.

This file is provided. It is the package's public surface: what `import llmutils` gives you,
and the one version number, read from the *installed distribution's* metadata rather than
hardcoded in two places. Running from a source tree that was never installed there is no
distribution to read, so the fallback says so out loud instead of lying about a version.
"""

from importlib.metadata import PackageNotFoundError, version

from llmutils.chunking import chunk
from llmutils.decorators import retry, timed
from llmutils.jsonrepair import repair_json

try:
    __version__ = version("llmutils")
except PackageNotFoundError:  # imported from src/ without being installed
    __version__ = "0.0.0+source"

__all__ = ["__version__", "chunk", "repair_json", "retry", "timed"]
