summaryrefslogtreecommitdiff
path: root/makima/src/daemon/ws/protocol.rs
diff options
context:
space:
mode:
Diffstat (limited to 'makima/src/daemon/ws/protocol.rs')
-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")]