summaryrefslogtreecommitdiff
path: root/makima/src/daemon/ws
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-15 17:59:37 +0000
committersoryu <soryu@soryu.co>2026-01-15 17:59:37 +0000
commit11c78ade600a2d74b8f033f18045a0c28fac4362 (patch)
tree19a62408769292cefd2f990f9fd8d9fff43becdf /makima/src/daemon/ws
parent3efdab36ca61a6795454668881d5b925abe22bd3 (diff)
downloadsoryu-11c78ade600a2d74b8f033f18045a0c28fac4362.tar.gz
soryu-11c78ade600a2d74b8f033f18045a0c28fac4362.zip
Implement simple git checkpoint command for supervisor
Diffstat (limited to 'makima/src/daemon/ws')
-rw-r--r--makima/src/daemon/ws/protocol.rs37
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")]