From 11c78ade600a2d74b8f033f18045a0c28fac4362 Mon Sep 17 00:00:00 2001 From: soryu Date: Thu, 15 Jan 2026 17:59:37 +0000 Subject: Implement simple git checkpoint command for supervisor --- makima/src/daemon/ws/protocol.rs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'makima/src/daemon/ws/protocol.rs') 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, }, + /// Response to CreateCheckpoint command. + CheckpointCreated { + #[serde(rename = "taskId")] + task_id: Uuid, + success: bool, + /// Commit SHA if successful + #[serde(rename = "commitSha")] + commit_sha: Option, + /// Branch name where checkpoint was created + #[serde(rename = "branchName")] + branch_name: Option, + /// Checkpoint number in sequence (assigned by server on DB insert) + #[serde(rename = "checkpointNumber")] + checkpoint_number: Option, + /// Files changed in this checkpoint: [{path, action}] + #[serde(rename = "filesChanged")] + files_changed: Option, + /// Lines added + #[serde(rename = "linesAdded")] + lines_added: Option, + /// Lines removed + #[serde(rename = "linesRemoved")] + lines_removed: Option, + /// Error message if failed + error: Option, + /// 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")] -- cgit v1.2.3