cli/pkg/io
Snider b053206e95 feat(io): extend Medium interface with Delete, Rename, List, Stat operations
Adds the following methods to the Medium interface:
- Delete(path) - remove a file or empty directory
- DeleteAll(path) - recursively remove a file or directory
- Rename(old, new) - move/rename a file or directory
- List(path) - list directory entries (returns []fs.DirEntry)
- Stat(path) - get file information (returns fs.FileInfo)
- Exists(path) - check if path exists
- IsDir(path) - check if path is a directory

Implements these methods in both local.Medium (using os package)
and MockMedium (in-memory for testing). Includes FileInfo and
DirEntry types for mock implementations.

This enables migration of direct os.* calls to the Medium
abstraction for consistent path validation and testability.

Refs #101

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 00:37:52 +00:00
..
local feat(io): extend Medium interface with Delete, Rename, List, Stat operations 2026-02-02 00:37:52 +00:00
client_test.go feat(io): extend Medium interface with Delete, Rename, List, Stat operations 2026-02-02 00:37:52 +00:00
io.go feat(io): extend Medium interface with Delete, Rename, List, Stat operations 2026-02-02 00:37:52 +00:00