diff options
| author | soryu <soryu@soryu.co> | 2026-01-15 17:59:37 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-01-15 17:59:37 +0000 |
| commit | 11c78ade600a2d74b8f033f18045a0c28fac4362 (patch) | |
| tree | 19a62408769292cefd2f990f9fd8d9fff43becdf /makima/src/daemon/ws/protocol.rs | |
| parent | 3efdab36ca61a6795454668881d5b925abe22bd3 (diff) | |
| download | soryu-11c78ade600a2d74b8f033f18045a0c28fac4362.tar.gz soryu-11c78ade600a2d74b8f033f18045a0c28fac4362.zip | |
Implement simple git checkpoint command for supervisor
Diffstat (limited to 'makima/src/daemon/ws/protocol.rs')
| -rw-r--r-- | makima/src/daemon/ws/protocol.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/makima/src/daemon/ws/protocol.rs b/makima/src/daemon/ws/protocol.rs index 714c0f9..339f5a4 100644 --- a/makima/src/daemon/ws/protocol.rs +++ b/makima/src/daemon/ws/protocol.rs @@ -251,6 +251,35 @@ pub enum DaemonMessage { error: Option<String>, }, + /// Response to CreateCheckpoint command. + CheckpointCreated { + #[serde(rename = "taskId")] + task_id: Uuid, + success: bool, + /// Commit SHA if successful + #[serde(rename = "commitSha")] + commit_sha: Option<String>, + /// Branch name where checkpoint was created + #[serde(rename = "branchName")] + branch_name: Option<String>, + /// Checkpoint number in sequence (assigned by server on DB insert) + #[serde(rename = "checkpointNumber")] + checkpoint_number: Option<i32>, + /// Files changed in this checkpoint: [{path, action}] + #[serde(rename = "filesChanged")] + files_changed: Option<serde_json::Value>, + /// Lines added + #[serde(rename = "linesAdded")] + lines_added: Option<i32>, + /// Lines removed + #[serde(rename = "linesRemoved")] + lines_removed: Option<i32>, + /// Error message if failed + error: Option<String>, + /// User-provided checkpoint message + message: String, + }, + /// Response to CleanupWorktree command. CleanupWorktreeResult { #[serde(rename = "taskId")] @@ -543,6 +572,14 @@ pub enum DaemonCommand { task_id: Uuid, }, + /// Create a checkpoint (stage changes, commit, get stats). + CreateCheckpoint { + #[serde(rename = "taskId")] + task_id: Uuid, + /// Commit message for the checkpoint. + message: String, + }, + /// Clean up a task's worktree (used when contract is completed/deleted). CleanupWorktree { #[serde(rename = "taskId")] |
