"""RVG: the Universal RVG runtime as an installable library.

One product path — time-scoped retrieval, deterministic validity rules, automatic scope, a
writer, the fixed answer controller and one bounded cascade step — under one policy for every
knowledge base and language. Importing this package reads no file, opens no connection and
creates no database: the public names (`rvg.api`) load on first use."""

__version__ = "0.1.0.dev0"

__all__ = [
    "AnswerDraft",
    "BudgetExceeded",
    "CallContext",
    "ConfigurationError",
    "ContractError",
    "JsonTransport",
    "ProviderError",
    "Settings",
    "Storage",
    "StorageConfig",
    "TemporalDocument",
    "TemporalQuestion",
    "TemporalRetriever",
    "TemporalStore",
    "TrustedPrincipal",
    "UniversalEngine",
    "__version__",
    "capabilities",
    "decision_provider",
    "embedding_provider",
    "generation_provider",
    "load_config",
    "load_settings",
    "open_storage",
    "policy",
    "policy_hash",
]
_PUBLIC = frozenset(__all__) - {"__version__"}


def __getattr__(name):
    if name in _PUBLIC:
        from . import api

        return getattr(api, name)
    raise AttributeError(f"module 'rvg' has no attribute {name!r}")


def __dir__():
    return __all__
