# app/schemas/syndarix/__init__.py
"""
Syndarix domain schemas.

This package contains Pydantic schemas for validating and serializing
Syndarix domain entities.
"""

from .agent_instance import (
    AgentInstanceCreate,
    AgentInstanceInDB,
    AgentInstanceListResponse,
    AgentInstanceMetrics,
    AgentInstanceResponse,
    AgentInstanceTerminate,
    AgentInstanceUpdate,
)
from .agent_type import (
    AgentTypeCreate,
    AgentTypeInDB,
    AgentTypeListResponse,
    AgentTypeResponse,
    AgentTypeUpdate,
)
from .enums import (
    AgentStatus,
    AutonomyLevel,
    IssuePriority,
    IssueStatus,
    ProjectStatus,
    SprintStatus,
    SyncStatus,
)
from .issue import (
    IssueAssign,
    IssueClose,
    IssueCreate,
    IssueInDB,
    IssueListResponse,
    IssueResponse,
    IssueStats,
    IssueSyncUpdate,
    IssueUpdate,
)
from .project import (
    ProjectCreate,
    ProjectInDB,
    ProjectListResponse,
    ProjectResponse,
    ProjectUpdate,
)
from .sprint import (
    SprintBurndown,
    SprintComplete,
    SprintCreate,
    SprintInDB,
    SprintListResponse,
    SprintResponse,
    SprintStart,
    SprintUpdate,
    SprintVelocity,
)

__all__ = [
    # AgentInstance schemas
    "AgentInstanceCreate",
    "AgentInstanceInDB",
    "AgentInstanceListResponse",
    "AgentInstanceMetrics",
    "AgentInstanceResponse",
    "AgentInstanceTerminate",
    "AgentInstanceUpdate",
    # Enums
    "AgentStatus",
    # AgentType schemas
    "AgentTypeCreate",
    "AgentTypeInDB",
    "AgentTypeListResponse",
    "AgentTypeResponse",
    "AgentTypeUpdate",
    "AutonomyLevel",
    # Issue schemas
    "IssueAssign",
    "IssueClose",
    "IssueCreate",
    "IssueInDB",
    "IssueListResponse",
    "IssuePriority",
    "IssueResponse",
    "IssueStats",
    "IssueStatus",
    "IssueSyncUpdate",
    "IssueUpdate",
    # Project schemas
    "ProjectCreate",
    "ProjectInDB",
    "ProjectListResponse",
    "ProjectResponse",
    "ProjectStatus",
    "ProjectUpdate",
    # Sprint schemas
    "SprintBurndown",
    "SprintComplete",
    "SprintCreate",
    "SprintInDB",
    "SprintListResponse",
    "SprintResponse",
    "SprintStart",
    "SprintStatus",
    "SprintUpdate",
    "SprintVelocity",
    "SyncStatus",
]
