"""
AWOOOI Models Package
=====================

核心資料模型匯出:
- Approval: 簽核相關模型 (Phase 2 HITL)
- Incident: 事件相關模型 (Phase 6 認知覺醒)
- AI: AI 相關模型
- NVIDIA: Nemotron Tool Calling 模型 (ADR-036)
"""

# Approval Models (Phase 2)
from src.models.approval import (
    ApprovalRequest,
    ApprovalRequestCreate,
    ApprovalRequestResponse,
    ApprovalStatus,
    BlastRadius,
    DataImpact,
    DryRunCheck,
    PendingApprovalsResponse,
    RejectRequest,
    RiskLevel,
    Signature,
    SignatureSource,
    SignRequest,
    SignResponse,
)

# Incident Models (Phase 6 - 認知覺醒)
from src.models.incident import (
    AIDecisionChain,
    Incident,
    IncidentCreate,
    IncidentOutcome,
    IncidentResponse,
    IncidentStatus,
    IncidentUpdate,
    Severity,
    Signal,
)

# NVIDIA Models (ADR-036 - Nemotron Tool Calling)
from src.models.nvidia import (
    NvidiaProviderResult,
    NvidiaResponse,
    NvidiaUsage,
    ToolCall,
    ToolCallValidationResult,
    ToolDefinition,
)

__all__ = [
    # Approval
    "ApprovalRequest",
    "ApprovalRequestCreate",
    "ApprovalRequestResponse",
    "ApprovalStatus",
    "BlastRadius",
    "DataImpact",
    "DryRunCheck",
    "PendingApprovalsResponse",
    "RejectRequest",
    "RiskLevel",
    "SignRequest",
    "SignResponse",
    "Signature",
    "SignatureSource",
    # Incident
    "AIDecisionChain",
    "Incident",
    "IncidentCreate",
    "IncidentOutcome",
    "IncidentResponse",
    "IncidentStatus",
    "IncidentUpdate",
    "Severity",
    "Signal",
    # NVIDIA (ADR-036)
    "NvidiaProviderResult",
    "NvidiaResponse",
    "NvidiaUsage",
    "ToolCall",
    "ToolCallValidationResult",
    "ToolDefinition",
]
