"""AgentLens Python SDK — observability and audit trail for AI agents."""

__version__ = "0.4.0"

from agentlensai._init import current_session_id, init, shutdown
from agentlensai.async_client import AsyncAgentLensClient
from agentlensai.client import AgentLensClient
from agentlensai.exceptions import (
    AgentLensConnectionError,
    AgentLensError,
    AuthenticationError,
    NotFoundError,
    ValidationError,
)
from agentlensai.models import (
    Agent,
    AgentLensEvent,
    ContextKeyEvent,
    ContextLesson,
    ContextQuery,
    ContextResult,
    ContextSession,
    CostRecommendation,
    CreateLessonInput,
    DeleteLessonResult,
    EventQuery,
    EventQueryResult,
    GuardrailDeleteResult,
    GuardrailRule,
    GuardrailRuleListResult,
    GuardrailState,
    GuardrailStatusResult,
    GuardrailTriggerHistory,
    GuardrailTriggerHistoryResult,
    HealthDimension,
    HealthResult,
    HealthScore,
    HealthTrend,
    Lesson,
    LessonListResult,
    LessonQuery,
    LlmAnalyticsByModel,
    LlmAnalyticsByTime,
    LlmAnalyticsParams,
    LlmAnalyticsResult,
    LlmAnalyticsSummary,
    LlmMessage,
    LogLlmCallParams,
    LogLlmCallResult,
    OptimizationResult,
    RecallQuery,
    RecallResult,
    RecallResultItem,
    ReflectInsight,
    ReflectMetadata,
    ReflectQuery,
    ReflectResult,
    Session,
    SessionQuery,
    SessionQueryResult,
    TimelineResult,
    TokenUsage,
    ToolCallDef,
    ToolDef,
)

__all__ = [
    "__version__",
    # Auto-instrumentation
    "init",
    "shutdown",
    "current_session_id",
    # Clients
    "AgentLensClient",
    "AsyncAgentLensClient",
    # Models
    "Agent",
    "AgentLensEvent",
    "ContextKeyEvent",
    "ContextLesson",
    "ContextQuery",
    "ContextResult",
    "ContextSession",
    "CostRecommendation",
    "CreateLessonInput",
    "DeleteLessonResult",
    "EventQuery",
    "EventQueryResult",
    "GuardrailDeleteResult",
    "GuardrailRule",
    "GuardrailRuleListResult",
    "GuardrailState",
    "GuardrailStatusResult",
    "GuardrailTriggerHistory",
    "GuardrailTriggerHistoryResult",
    "HealthDimension",
    "HealthResult",
    "HealthScore",
    "HealthTrend",
    "Lesson",
    "LessonListResult",
    "LessonQuery",
    "LlmAnalyticsByModel",
    "LlmAnalyticsByTime",
    "LlmAnalyticsParams",
    "LlmAnalyticsResult",
    "LlmAnalyticsSummary",
    "LlmMessage",
    "LogLlmCallParams",
    "LogLlmCallResult",
    "OptimizationResult",
    "RecallQuery",
    "RecallResult",
    "RecallResultItem",
    "ReflectInsight",
    "ReflectMetadata",
    "ReflectQuery",
    "ReflectResult",
    "Session",
    "SessionQuery",
    "SessionQueryResult",
    "TimelineResult",
    "TokenUsage",
    "ToolCallDef",
    "ToolDef",
    # Exceptions
    "AgentLensConnectionError",
    "AgentLensError",
    "AuthenticationError",
    "NotFoundError",
    "ValidationError",
]
