from __future__ import annotations

"""Foundational traits, types, errors, and helpers for agentrspy."""

from .errors import AgentError, McpError, MemoryError, ProviderError, ToolError
from .interfaces import AgentTrait, LlmProvider, Memory, Tool
from .streaming import map_stop_reason, parse_sse_chunk
from .types import (
    AgentEvent,
    AgentOutput,
    CompletionRequest,
    CompletionResponse,
    ContentPart,
    DoneEvent,
    ImageContentPart,
    ImageToolContent,
    JsonContentPart,
    Message,
    MessageContent,
    ResourceContentPart,
    ResourceToolContent,
    Role,
    StopReason,
    StreamChunk,
    TextContentPart,
    TextToolContent,
    ThinkingEvent,
    TokenEvent,
    ToolCall,
    ToolCallDelta,
    ToolCallEvent,
    ToolContent,
    ToolDefinition,
    ToolOutput,
    ToolResultEvent,
    Usage,
)

__all__ = [name for name in globals() if not name.startswith("_")]
