feat: add coding tools (edit_file, write_file, bash)

New tools for code modification:
- EditFileTool: find-and-replace with safety checks (unique match required)
- WriteFileTool: create/overwrite files with path validation
- BashTool: full bash with controlled write access

Security controls on BashTool:
- Allowed: mkdir, touch, cp, mv, rm (single files), git, pip, pytest
- Forbidden: sudo, curl, wget, ssh, rm -rf, chmod 777

Includes 39 new tests (78 total now passing).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-10 11:16:05 +01:00
co-authored by Claude Opus 4.5
parent 3b58fa4f8b
commit d0fa5b38a7
8 changed files with 1350 additions and 4 deletions
@@ -3,5 +3,7 @@ File operation tools.
"""
from src.domains.tools.file.read import ReadFileTool
from src.domains.tools.file.glob import GlobFilesTool
from src.domains.tools.file.edit import EditFileTool
from src.domains.tools.file.write import WriteFileTool
__all__ = ["ReadFileTool", "GlobFilesTool"]
__all__ = ["ReadFileTool", "GlobFilesTool", "EditFileTool", "WriteFileTool"]