"""
AI integration module for Code of Conquest.

This module contains clients and utilities for AI-powered features
including narrative generation, quest selection, and NPC dialogue.
"""

from app.ai.replicate_client import (
    ReplicateClient,
    ReplicateResponse,
    ReplicateClientError,
    ReplicateAPIError,
    ReplicateRateLimitError,
    ReplicateTimeoutError,
    ModelType,
)

from app.ai.model_selector import (
    ModelSelector,
    ModelConfig,
    UserTier,
    ContextType,
)

from app.ai.prompt_templates import (
    PromptTemplates,
    PromptTemplateError,
    get_prompt_templates,
    render_prompt,
)

from app.ai.narrative_generator import (
    NarrativeGenerator,
    NarrativeResponse,
    NarrativeGeneratorError,
)

__all__ = [
    # Replicate client
    "ReplicateClient",
    "ReplicateResponse",
    "ReplicateClientError",
    "ReplicateAPIError",
    "ReplicateRateLimitError",
    "ReplicateTimeoutError",
    "ModelType",
    # Model selector
    "ModelSelector",
    "ModelConfig",
    "UserTier",
    "ContextType",
    # Prompt templates
    "PromptTemplates",
    "PromptTemplateError",
    "get_prompt_templates",
    "render_prompt",
    # Narrative generator
    "NarrativeGenerator",
    "NarrativeResponse",
    "NarrativeGeneratorError",
]
