Add ready, discard, merge-problem and workflow notifications

This commit is contained in:
Ian Gulliver
2026-10-19 19:35:23 -07:00
parent 31ee494c41
commit 88d1146778
7 changed files with 276 additions and 215 deletions
+9
View File
@@ -624,6 +624,10 @@ final class Store {
try await self.loadProjects()
}
case "task.created", "task.merge_title", "task.merge_queued", "task.merge_unqueued", "task.merge_after_review", "task.merge_after_review_ended", "task.merge_after_review_cancelled", "task.parent_merge_started", "task.parent_merge_stopped", "task.merge_started", "task.merge_ended", "task.discard_started", "task.merged", "task.discarded", "task.state", "task.ready", "task.discard_suggested", "snapshot.created":
if let taskId = ev.taskId, ["task.merged", "task.discarded"].contains(ev.kind) || (ev.kind == "snapshot.created" && str(ev.payload.value, "trigger") != "answer") {
clearTask(self, taskId)
}
notifyTask(self, ev)
if let projectId = ev.projectId {
spawn("load tasks") {
try await self.loadTasks(projectId)
@@ -640,6 +644,9 @@ final class Store {
}
}
case "inbox.created":
if let taskId = ev.taskId {
clearTask(self, taskId)
}
notifyInbox(self, try! decodePayload(ev.payload, as: InboxItem.self))
spawn("load inbox") {
try await self.loadInbox()
@@ -656,6 +663,8 @@ final class Store {
}
case "session.error", "session.rate_limited":
notifyError(self, ev)
case "task.merge_stopped", "task.merge_after_review_dropped", "task.workflow_finished":
notifyTask(self, ev)
case "turn.ended":
notifyTurn(self, ev)
if ev.payload.value["summary"] as? Bool == true, let taskId = ev.taskId {