"""Unified LLM infrastructure — OpenAI client, retry logic, cost tracking."""

from .client import (
    AuthError,
    async_batch_chat_completions,
    async_chat_completion,
    batch_chat_completions,
    responses_api_call,
)
from .cost import DEFAULT_PRICING_PER_1M, estimate_cost, tally_usage
from .errors import ErrorCategory, LLMError, classify_openai_error, RETRYABLE_CATEGORIES
from .retry import RetryConfig, async_retry_with_backoff, call_with_retries

__all__ = [
    "AuthError",
    "ErrorCategory",
    "LLMError",
    "RETRYABLE_CATEGORIES",
    "RetryConfig",
    "async_retry_with_backoff",
    "async_batch_chat_completions",
    "async_chat_completion",
    "batch_chat_completions",
    "call_with_retries",
    "classify_openai_error",
    "estimate_cost",
    "responses_api_call",
    "tally_usage",
    "DEFAULT_PRICING_PER_1M",
]
