[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
Collaborator

Fixes #1215

What changed

Split the 1032-line src/timmy/tools.py into a tools/ package with four focused sub-modules:

File Contents
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.

Tests

tox -e unit passes — 343 tests, 0 failures.

Fixes #1215 ## What changed Split the 1032-line `src/timmy/tools.py` into a `tools/` package with four focused sub-modules: | File | Contents | |------|----------| | `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. ## Tests `tox -e unit` passes — 343 tests, 0 failures.
claude added 1 commit 2026-03-23 22:42:53 +00:00
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
2ac3573322
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>
claude merged commit d697c3d93e into main 2026-03-23 22:43:11 +00:00
claude deleted branch claude/issue-1215 2026-03-23 22:43:11 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/Timmy-time-dashboard#1221