"""API Pydantic schemas."""

from .session import (
    SessionCreate,
    SessionResponse,
    SessionListResponse,
    SessionCancelResponse,
    SessionResumeResponse,
)
from .task import (
    TaskCreate,
    TaskStatusResponse,
    TaskFollowupRequest,
    TaskFollowupResponse,
    TaskStatus,
)
from .provider import (
    ProviderInfo,
    ProviderListResponse,
    ProviderType,
    RoleType,
    AccountCreate,
    AccountResponse,
    AccountListResponse,
    AccountUsage,
    AccountModelUpdate,
    AccountReasoningUpdate,
    AccountRoleUpdate,
    AccountModelsResponse,
    AccountDeleteResponse,
)
from .worktree import (
    WorktreeStatus,
    DiffLine,
    DiffHunk,
    FileDiff,
    DiffSummary,
    DiffFullResponse,
    ConflictHunk,
    MergeConflict,
    MergeRequest,
    MergeResponse,
    WorktreeResetResponse,
    WorktreeDeleteResponse,
    ResolveConflictsRequest,
    BranchesResponse,
)
from .config import (
    VerificationSettings,
    CleanupSettings,
    UserPreferences,
    SlackSettingsResponse,
    SlackSettingsUpdate,
)
from .streaming import (
    StreamMessage,
    StreamMessageType,
    StreamChunkData,
    ActivityData,
    StatusData,
    MessageStartData,
    MessageCompleteData,
    ProgressData,
    CompleteData,
    ErrorData,
    ClientMessage,
    SubscribeMessage,
    CancelMessage,
    PingMessage,
)

__all__ = [
    # Session
    "SessionCreate",
    "SessionResponse",
    "SessionListResponse",
    "SessionCancelResponse",
    "SessionResumeResponse",
    # Task
    "TaskCreate",
    "TaskStatusResponse",
    "TaskFollowupRequest",
    "TaskFollowupResponse",
    "TaskStatus",
    # Provider
    "ProviderInfo",
    "ProviderListResponse",
    "ProviderType",
    "RoleType",
    "AccountCreate",
    "AccountResponse",
    "AccountListResponse",
    "AccountUsage",
    "AccountModelUpdate",
    "AccountReasoningUpdate",
    "AccountRoleUpdate",
    "AccountModelsResponse",
    "AccountDeleteResponse",
    # Worktree
    "WorktreeStatus",
    "DiffLine",
    "DiffHunk",
    "FileDiff",
    "DiffSummary",
    "DiffFullResponse",
    "ConflictHunk",
    "MergeConflict",
    "MergeRequest",
    "MergeResponse",
    "WorktreeResetResponse",
    "WorktreeDeleteResponse",
    "ResolveConflictsRequest",
    "BranchesResponse",
    # Config
    "VerificationSettings",
    "CleanupSettings",
    "UserPreferences",
    "SlackSettingsResponse",
    "SlackSettingsUpdate",
    # Streaming
    "StreamMessage",
    "StreamMessageType",
    "StreamChunkData",
    "ActivityData",
    "StatusData",
    "MessageStartData",
    "MessageCompleteData",
    "ProgressData",
    "CompleteData",
    "ErrorData",
    "ClientMessage",
    "SubscribeMessage",
    "CancelMessage",
    "PingMessage",
]
