diff options
| author | soryu <soryu@soryu.co> | 2026-01-22 22:32:46 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-01-23 01:03:04 +0000 |
| commit | 1ed362424dafec690f919154f5116471951cda9c (patch) | |
| tree | 19c7ca9231887394a791223fe32a8ad335a687a8 /makima/src/daemon/ws/protocol.rs | |
| parent | 265f8cf14fec9d7116d09af49e4b48b357faceda (diff) | |
| download | soryu-1ed362424dafec690f919154f5116471951cda9c.tar.gz soryu-1ed362424dafec690f919154f5116471951cda9c.zip | |
Add patch checkpointing
Diffstat (limited to 'makima/src/daemon/ws/protocol.rs')
| -rw-r--r-- | makima/src/daemon/ws/protocol.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/makima/src/daemon/ws/protocol.rs b/makima/src/daemon/ws/protocol.rs index 3b02b53..ec9b09e 100644 --- a/makima/src/daemon/ws/protocol.rs +++ b/makima/src/daemon/ws/protocol.rs @@ -278,6 +278,15 @@ pub enum DaemonMessage { error: Option<String>, /// User-provided checkpoint message message: String, + /// Base64-encoded gzip-compressed patch data for recovery + #[serde(rename = "patchData", skip_serializing_if = "Option::is_none")] + patch_data: Option<String>, + /// Commit SHA to apply patch on top of (for recovery) + #[serde(rename = "patchBaseSha", skip_serializing_if = "Option::is_none")] + patch_base_sha: Option<String>, + /// Number of files in the patch + #[serde(rename = "patchFilesCount", skip_serializing_if = "Option::is_none")] + patch_files_count: Option<i32>, }, /// Response to CleanupWorktree command. @@ -387,6 +396,13 @@ pub enum DaemonCommand { /// Used to inject previous conversation context into the prompt. #[serde(rename = "conversationHistory", default)] conversation_history: Option<serde_json::Value>, + /// Base64-encoded gzip-compressed patch for worktree recovery. + /// Used when resume_session=true and the local worktree is missing. + #[serde(rename = "patchData", default, skip_serializing_if = "Option::is_none")] + patch_data: Option<String>, + /// Commit SHA to apply the patch on top of. + #[serde(rename = "patchBaseSha", default, skip_serializing_if = "Option::is_none")] + patch_base_sha: Option<String>, }, /// Pause a running task. |
