|
tools: split the filesystem tool into a package
`tools/filesystem.py` was 1145 lines: path/format/diff/AI-text helpers at the top, then a `FilesystemTool` class with every action handler. Move the pure layer out into `navi/tools/_filesystem/`: * `helpers.py` — path checks, formatting, line numbering, unified-diff annotation, chunking, edit-op validation/application, AI prompts; * `tool.py` — the dispatcher and its read/write/AI handlers. The package is underscore-prefixed because `navi/tools/filesystem` also has to stay available as the compatibility shim at the same import path. No behavior change: the shim re-exports every top-level name the module had, and the tests patch `settings` on the modules that now read it. |
|---|
|
|
| navi/tools/_filesystem/__init__.py 0 → 100644 |
|---|
| navi/tools/_filesystem/helpers.py 0 → 100644 |
|---|
| navi/tools/_filesystem/tool.py 0 → 100644 |
|---|
| navi/tools/filesystem.py |
|---|
|
Too large (Show diff)
|
| tests/unit/tools/test_filesystem.py |
|---|