"""GEO AI Agent 框架 - 解耦式 Agent 管理与调度"""

from app.agent_framework.base import BaseAgent
from app.agent_framework.config_manager import AgentConfigManager
from app.agent_framework.dispatcher import TaskDispatcher
from app.agent_framework.exceptions import (
    AgentAlreadyRegisteredError,
    AgentFrameworkError,
    AgentNotFoundError,
    AgentNotReadyError,
    AgentUnavailableError,
    ConfigValidationError,
    NoAvailableAgentError,
    TaskCancelledError,
    TaskDispatchError,
    TaskExecutionError,
    TaskNotFoundError,
    TaskTimeoutError,
)
from app.agent_framework.protocol import (
    AgentCapability,
    AgentStatus,
    AgentType,
    TaskMessage,
    TaskProgress,
    TaskResult,
    TaskStatus,
)
from app.agent_framework.registry import AgentRegistry

__all__ = [
    # Core
    "BaseAgent",
    "AgentRegistry",
    "TaskDispatcher",
    "AgentConfigManager",
    # Protocol
    "AgentCapability",
    "AgentType",
    "AgentStatus",
    "TaskMessage",
    "TaskProgress",
    "TaskResult",
    "TaskStatus",
    # Exceptions
    "AgentFrameworkError",
    "AgentNotFoundError",
    "AgentAlreadyRegisteredError",
    "AgentUnavailableError",
    "AgentNotReadyError",
    "TaskNotFoundError",
    "TaskDispatchError",
    "TaskExecutionError",
    "TaskTimeoutError",
    "TaskCancelledError",
    "NoAvailableAgentError",
    "ConfigValidationError",
]
