git channel powers the workspace diff and checkpoint UI: it returns structured diffs, lists the checkpoints the agent creates as it works, and rolls files (and the conversation) back to a checkpoint or reverts a single file. Both the web app and the aether CLI use it. See the WebSocket overview for connecting.
Requests carry a requestId; responses echo it. Responses are discriminated by success, with an error string on failure.
diff
Get a structured diff of the workspace.
Request
mode is optional: "main" (default) diffs against the base branch, "lastCommit" diffs against the last commit. Untracked files appear as added.
Response
status (added, modified, deleted, renamed), isBinary, additions/deletions, and hunks. Each hunk line has type (add, remove, context), content, and the relevant oldLineNumber/newLineNumber.
snapshots
List the agent’s checkpoints — points in the conversation you can restore to.
Request
limit is optional, up to 200.
Response
restore
Roll the workspace files and the conversation back to a checkpoint, identified by its messageId. History after that point is truncated.
Request
Response
revertFile
Revert a single file to its base state. The required fields depend on fileStatus.
Modified deleted
Renamed
The response is
{ requestId, success }, and the server pushes a files refresh afterward.
showFile
Read a file’s contents at a specific git ref.
Request
Response
checkpoint (server push)
When the agent creates a checkpoint, the server pushes a notification with its messageId. There is no request for this.