"""Public exports for the Sigil Python SDK."""

from .client import Client
from .config import ApiConfig, AuthConfig, ClientConfig, EmbeddingCaptureConfig, GenerationExportConfig, default_config
from .context import (
    conversation_title_from_context,
    conversation_id_from_context,
    agent_name_from_context,
    agent_version_from_context,
    user_id_from_context,
    with_agent_name,
    with_agent_version,
    with_conversation_id,
    with_conversation_title,
    with_user_id,
)
from .errors import (
    ClientShutdownError,
    EnqueueError,
    MappingError,
    QueueFullError,
    RatingConflictError,
    RatingTransportError,
    SigilError,
    ValidationError,
)
from .models import (
    Artifact,
    ArtifactKind,
    ConversationRating,
    ConversationRatingInput,
    ConversationRatingSummary,
    ConversationRatingValue,
    EmbeddingResult,
    EmbeddingStart,
    Generation,
    GenerationMode,
    GenerationStart,
    Message,
    MessageRole,
    ModelRef,
    Part,
    PartKind,
    PartMetadata,
    TokenUsage,
    ToolCall,
    ToolDefinition,
    ToolExecutionEnd,
    ToolExecutionStart,
    ToolResult,
    SubmitConversationRatingResponse,
    assistant_text_message,
    text_part,
    thinking_part,
    tool_call_part,
    tool_result_part,
    tool_result_message,
    user_text_message,
)
from .validation import validate_embedding_result, validate_embedding_start, validate_generation

__all__ = [
    "Artifact",
    "ArtifactKind",
    "AuthConfig",
    "ApiConfig",
    "Client",
    "ClientConfig",
    "ClientShutdownError",
    "ConversationRating",
    "ConversationRatingInput",
    "ConversationRatingSummary",
    "ConversationRatingValue",
    "EmbeddingCaptureConfig",
    "EmbeddingResult",
    "EmbeddingStart",
    "EnqueueError",
    "Generation",
    "GenerationExportConfig",
    "GenerationMode",
    "GenerationStart",
    "MappingError",
    "Message",
    "MessageRole",
    "ModelRef",
    "Part",
    "PartKind",
    "PartMetadata",
    "QueueFullError",
    "RatingConflictError",
    "RatingTransportError",
    "SigilError",
    "SubmitConversationRatingResponse",
    "TokenUsage",
    "ToolCall",
    "ToolDefinition",
    "ToolExecutionEnd",
    "ToolExecutionStart",
    "ToolResult",
    "ValidationError",
    "agent_name_from_context",
    "agent_version_from_context",
    "assistant_text_message",
    "conversation_id_from_context",
    "conversation_title_from_context",
    "text_part",
    "thinking_part",
    "tool_call_part",
    "tool_result_message",
    "tool_result_part",
    "user_id_from_context",
    "user_text_message",
    "with_agent_name",
    "with_agent_version",
    "with_conversation_id",
    "with_conversation_title",
    "with_user_id",
    "default_config",
    "validate_embedding_result",
    "validate_embedding_start",
    "validate_generation",
]
