Problem
Desktop clients and CLI tools communicating over /tmp/osmos-daemon.sock cannot trigger file or tree restoration because the wire protocol lacks restore commands.
Proposed Solution
Add to crates/osmos-daemon/src/api.rs and handler.rs:
- Command::RestoreCommit { path: String, commit_id: Uuid }
- Command::RestoreFile { path: String, commit_id: Uuid, file_path: String }
Acceptance Criteria
- Daemon JSON IPC responds with {"ok": true, "restored": true} upon successful restore.
- Returns structured error COMMIT_NOT_FOUND or BLOB_NOT_FOUND if reference is missing.
Problem
Desktop clients and CLI tools communicating over /tmp/osmos-daemon.sock cannot trigger file or tree restoration because the wire protocol lacks restore commands.
Proposed Solution
Add to crates/osmos-daemon/src/api.rs and handler.rs:
Acceptance Criteria