"""AgentKit Tools - 工具插件系统"""

from agentkit.tools.base import Tool
from agentkit.tools.function_tool import FunctionTool
from agentkit.tools.agent_tool import AgentTool
from agentkit.tools.mcp_tool import MCPTool
from agentkit.tools.registry import ToolRegistry
from agentkit.tools.composition import SequentialChain, ParallelFanOut, DynamicSelector
from agentkit.tools.web_crawl import WebCrawlTool
from agentkit.tools.schema_tools import SchemaExtractTool, SchemaGenerateTool
from agentkit.tools.baidu_search import BaiduSearchTool
from agentkit.tools.shell import ShellTool
from agentkit.tools.terminal_session import TerminalSession, TerminalSessionManager
from agentkit.tools.pty_session import PTYSession
from agentkit.tools.output_parser import OutputParser, ParsedOutput, ErrorType
from agentkit.tools.ask_human import AskHumanTool
from agentkit.tools.memory_tool import MemoryTool
from agentkit.tools.web_search import WebSearchTool

# Conditional import: HeadroomRetrieveTool requires HeadroomCompressor
try:
    from agentkit.tools.headroom_retrieve import HeadroomRetrieveTool
except ImportError:
    HeadroomRetrieveTool = None  # type: ignore[misc,assignment]

__all__ = [
    "Tool",
    "FunctionTool",
    "AgentTool",
    "MCPTool",
    "ToolRegistry",
    "SequentialChain",
    "ParallelFanOut",
    "DynamicSelector",
    "WebCrawlTool",
    "SchemaExtractTool",
    "SchemaGenerateTool",
    "BaiduSearchTool",
    "AskHumanTool",
    "MemoryTool",
    "ShellTool",
    "WebSearchTool",
    "HeadroomRetrieveTool",
    "TerminalSession",
    "TerminalSessionManager",
    "PTYSession",
    "OutputParser",
    "ParsedOutput",
    "ErrorType",
]
