How davidmg5k/totoolmanager works
to-tool-manager is a Python library that turns ordinary classes into tools for pydantic-ai Agents. Its main workflow discovers eligible service methods, wraps them as tools, assembles services and optional sub-agent Modules, then builds an Agent; TTMBuilder offers a declarative alternative. Middleware can wrap tool calls or graph-node transitions, and the package also provides human-in-the-loop support and optional MCP export. Relationships for unsampled modules are limited to README statements and SOURCE INDEX references.
Main entry points: service.py Service · to_tool_manager.py ToToolManager · ttm_builder.py TTMBuilder · module.py Sub-agent Module
Components 16
Agent assembly
- Sub-agent Module
src/to_tool_manager/core/main/module.py - ToToolManager
src/to_tool_manager/core/main/to_tool_manager.py - TTMBuilder
src/to_tool_manager/core/builder/ttm_builder.py - Assembly manager
src/to_tool_manager/core/builder/manager.py
Service tools
- Service
src/to_tool_manager/core/main/service.py - Method discovery
src/to_tool_manager/core/main/shared/discover.py - Tool wrappers
src/to_tool_manager/core/main/shared/tool_factory.py - Dynamic dependencies
src/to_tool_manager/core/main/shared/dependency.py
Middleware and HITL
- Tool middleware
src/to_tool_manager/core/middleware/middleware.py - Graph middleware runner
src/to_tool_manager/middleware/graph_runner.py - HITL middleware
src/to_tool_manager/middleware/hitl.py - HITL provider
src/to_tool_manager/provider/human_in_the_loop.py
Runtime interfaces
- pydantic-ai Agent
- FastMCP export
src/to_tool_manager/core/builder/ttm_builder.py
Other components
- Service author
- Model provider
Connections 17
- Service author → Service: wraps class
README.md - Service → Method discovery: discovers methods
src/to_tool_manager/core/main/service.py - Service → Tool wrappers: creates wrappers
src/to_tool_manager/core/main/service.py - Service → Dynamic dependencies: registers instance
src/to_tool_manager/core/main/service.py - Service → Tool middleware: wraps calls
src/to_tool_manager/core/main/service.py - Sub-agent Module → Service: builds services
src/to_tool_manager/core/main/module.py - Sub-agent Module → Dynamic dependencies: shares dependencies
src/to_tool_manager/core/main/module.py - ToToolManager → Sub-agent Module: assembles modules
src/to_tool_manager/core/main/to_tool_manager.py - ToToolManager → Service: registers services
src/to_tool_manager/core/main/to_tool_manager.py - ToToolManager → pydantic-ai Agent: builds Agent
README.md - TTMBuilder → Assembly manager: registers resources
src/to_tool_manager/core/builder/ttm_builder.py - Assembly manager → Service: builds capability
src/to_tool_manager/core/builder/manager.py - TTMBuilder → pydantic-ai Agent: builds Agent
src/to_tool_manager/core/builder/ttm_builder.py - Model provider → pydantic-ai Agent: supplies model
README.md - Graph middleware runner → Tool middleware: uses middleware
src/to_tool_manager/middleware/graph_runner.py - HITL middleware → HITL provider: uses HITL flow
src/to_tool_manager/middleware/hitl.py - TTMBuilder → FastMCP export: exports tools
README.md