summaryrefslogtreecommitdiff
path: root/makima/frontend/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'makima/frontend/src/lib')
-rw-r--r--makima/frontend/src/lib/api.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/makima/frontend/src/lib/api.ts b/makima/frontend/src/lib/api.ts
index 7968583..aecdac7 100644
--- a/makima/frontend/src/lib/api.ts
+++ b/makima/frontend/src/lib/api.ts
@@ -3068,6 +3068,30 @@ export async function getWorktreeInfo(taskId: string): Promise<WorktreeInfo> {
return res.json();
}
+/** Get the diff for a task's worktree changes */
+export async function getTaskDiff(taskId: string): Promise<{ taskId: string; success: boolean; diff: string | null; error: string | null }> {
+ const res = await authFetch(`${API_BASE}/api/v1/mesh/tasks/${taskId}/diff`);
+ if (!res.ok) {
+ const errorText = await res.text();
+ throw new Error(`Failed to get task diff: ${errorText || res.statusText}`);
+ }
+ return res.json();
+}
+
+/** Commit changes in a task's worktree */
+export async function commitWorktree(taskId: string, message?: string): Promise<{ taskId: string; success: boolean; commitSha: string | null; error: string | null }> {
+ const res = await authFetch(`${API_BASE}/api/v1/mesh/tasks/${taskId}/worktree-commit`, {
+ method: "POST",
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify({ message }),
+ });
+ if (!res.ok) {
+ const errorText = await res.text();
+ throw new Error(`Failed to commit worktree: ${errorText || res.statusText}`);
+ }
+ return res.json();
+}
+
// =============================================================================
// Patch Types and Functions
// =============================================================================