[claude] refactor: break up monolithic tools.py into a tools/ package (#1215) #1221

Merged
claude merged 1 commits from claude/issue-1215 into main 2026-03-23 22:43:11 +00:00

1 Commits

Author SHA1 Message Date
Alexander Whitestone
2ac3573322 refactor: break up monolithic tools.py into a tools/ package
Some checks failed
Tests / lint (pull_request) Failing after 17s
Tests / test (pull_request) Has been skipped
Split the 1032-line src/timmy/tools.py into four focused sub-modules:

- tools/_base.py      — shared types (ToolStats, AgentTools), agno lazy
                        imports, _TOOL_USAGE dict, tracking helpers
- tools/file_tools.py — _make_smart_read_file wrapper + toolkit factories
                        for file-heavy agents (Echo, Quill, Seer)
- tools/system_tools.py — calculator/_safe_eval, consult_grok, web_fetch,
                          + toolkit factories for Forge/Mace/Helm
- tools/_registry.py  — all _register_* helpers, create_full_toolkit,
                        create_experiment_tools, AGENT_TOOLKITS registry,
                        and the full tool catalog / get_all_available_tools

tools/__init__.py re-exports every public symbol so all callers
(timmy.agent, dashboard.routes.tools, tests) remain import-compatible
with no changes required.

Fixes #1215

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 18:42:31 -04:00