"""Stable contract layer for pawc_kit."""

from pawc_kit.contracts.artifacts import (
    DecisionPayload,
    FileArtifact,
    FindingEntry,
    HandoffArtifact,
    HandoffArtifactMetadata,
    HandoffArtifactPart,
    HandoffContext,
    KeyArtifactRef,
)
from pawc_kit.contracts.config import (
    ChunkPolicyConfig,
    CompressionConfig,
    ContextConfig,
    ContextInjectionConfig,
    EfficiencyConfig,
    ObservabilityConfig,
    PhaseDefConfig,
    RoleConfig,
    RootConfig,
    RoutingRuleConfig,
    SkillConfig,
    WorkflowConfig,
)
from pawc_kit.contracts.context import (
    AgentUsedEntry,
    CompositionEntry,
    ContextMetadata,
    DiscoveryOrigin,
    ModelUsedEntry,
)
from pawc_kit.contracts.discovery import (
    DiscoveryConfig,
    DiscoveryPhaseConfig,
    QuestionEntry,
    QuestionRequest,
)
from pawc_kit.contracts.errors import (
    ConcurrencyError,
    ConfigurationError,
    LLMError,
    PawcError,
    StateError,
    StateNotFoundError,
    TransitionError,
)
from pawc_kit.contracts.events import (
    HumanReviewPending,
    IterationCommitted,
    PhaseStarted,
    PhaseTransitioned,
    ReviewCommitted,
    RunCompleted,
    RunFailed,
    RunResumed,
    RunStarted,
    WorkflowEvent,
    event_from_dict,
    event_timestamp,
    event_to_dict,
    is_workflow_event,
)
from pawc_kit.contracts.execution import ContextPayload, ExecutionRequest, ReviewRequest
from pawc_kit.contracts.state import (
    ArtifactRef,
    DataCommandEntry,
    IterationEntry,
    ReviewEntry,
    SessionState,
)

__all__ = [
    "AgentUsedEntry",
    "ArtifactRef",
    "ChunkPolicyConfig",
    "CompositionEntry",
    "CompressionConfig",
    "ConcurrencyError",
    "ConfigurationError",
    "ContextConfig",
    "ContextInjectionConfig",
    "ContextMetadata",
    "ContextPayload",
    "DataCommandEntry",
    "DecisionPayload",
    "DiscoveryConfig",
    "DiscoveryOrigin",
    "DiscoveryPhaseConfig",
    "EfficiencyConfig",
    "ExecutionRequest",
    "FileArtifact",
    "FindingEntry",
    "HandoffArtifact",
    "HandoffArtifactMetadata",
    "HandoffArtifactPart",
    "HandoffContext",
    "HumanReviewPending",
    "IterationCommitted",
    "IterationEntry",
    "KeyArtifactRef",
    "LLMError",
    "ModelUsedEntry",
    "ObservabilityConfig",
    "PawcError",
    "PhaseDefConfig",
    "PhaseStarted",
    "PhaseTransitioned",
    "QuestionEntry",
    "QuestionRequest",
    "ReviewCommitted",
    "ReviewEntry",
    "ReviewRequest",
    "RoleConfig",
    "RootConfig",
    "RoutingRuleConfig",
    "RunCompleted",
    "RunFailed",
    "RunResumed",
    "RunStarted",
    "SessionState",
    "SkillConfig",
    "StateError",
    "StateNotFoundError",
    "TransitionError",
    "WorkflowConfig",
    "WorkflowEvent",
    "event_from_dict",
    "event_timestamp",
    "event_to_dict",
    "is_workflow_event",
]
