"""Tool integration for the agent swarm.

Provides agents with capabilities for:
- File read/write (local filesystem)
- Shell command execution (sandboxed)
- Python code execution
- Git operations
- Image / Music / Video generation (creative pipeline)

Tools are assigned to agents based on their specialties.

Sub-modules:
- _base: shared types, tracking state
- file_tools: file-operation toolkit factories (Echo, Quill, Seer)
- system_tools: calculator, AI tools, code/devops toolkit factories
- _registry: full toolkit construction, agent registry, tool catalog
"""

# Re-export everything for backward compatibility — callers that do
# ``from timmy.tools import <symbol>`` continue to work unchanged.

from timmy.tools._base import (
    _AGNO_TOOLS_AVAILABLE,
    _TOOL_USAGE,
    AgentTools,
    PersonaTools,
    ToolStats,
    _ImportError,
    _track_tool_usage,
    get_tool_stats,
)
from timmy.tools._registry import (
    AGENT_TOOLKITS,
    PERSONA_TOOLKITS,
    _create_stub_toolkit,
    _merge_catalog,
    create_experiment_tools,
    create_full_toolkit,
    get_all_available_tools,
    get_tools_for_agent,
    get_tools_for_persona,
)
from timmy.tools.file_tools import (
    _make_smart_read_file,
    create_data_tools,
    create_research_tools,
    create_writing_tools,
)
from timmy.tools.system_tools import (
    _safe_eval,
    calculator,
    consult_grok,
    create_aider_tool,
    create_code_tools,
    create_devops_tools,
    create_security_tools,
    web_fetch,
)

__all__ = [
    # _base
    "AgentTools",
    "PersonaTools",
    "ToolStats",
    "_AGNO_TOOLS_AVAILABLE",
    "_ImportError",
    "_TOOL_USAGE",
    "_track_tool_usage",
    "get_tool_stats",
    # file_tools
    "_make_smart_read_file",
    "create_data_tools",
    "create_research_tools",
    "create_writing_tools",
    # system_tools
    "_safe_eval",
    "calculator",
    "consult_grok",
    "create_aider_tool",
    "create_code_tools",
    "create_devops_tools",
    "create_security_tools",
    "web_fetch",
    # _registry
    "AGENT_TOOLKITS",
    "PERSONA_TOOLKITS",
    "_create_stub_toolkit",
    "_merge_catalog",
    "create_experiment_tools",
    "create_full_toolkit",
    "get_all_available_tools",
    "get_tools_for_agent",
    "get_tools_for_persona",
]
