Let task agents use client Macs directly: bash, copy and hands

This commit is contained in:
Ian Gulliver
2026-10-17 23:45:31 -07:00
parent 8d9ba10849
commit 9b79ade073
25 changed files with 1382 additions and 952 deletions
+3 -3
View File
@@ -50,6 +50,7 @@ final class Store {
let images = ImageDrafts()
let events = Listeners<ByreEvent>()
let paneFocus: PaneFocus
let remote: Remote
private var taskFeeds: [String: Feed] = [:]
@ObservationIgnored private var historyLoads: Set<ObjectIdentifier> = []
@@ -62,12 +63,14 @@ final class Store {
self.api = api
leadFeed = Feed(shown: { true })
paneFocus = PaneFocus(api: api)
remote = Remote(api: api)
}
func stop() async {
stopped = true
globalStream?.stop()
leadStream?.stop()
remote.stop()
drafts?.flush()
await paneFocus.leave()
}
@@ -163,9 +166,6 @@ final class Store {
if open.contains(where: { $0.kind == .question }) {
return TaskState(kind: .answer, label: "Needs your answer", title: "The agent asked a question in the inbox")
}
if open.contains(where: { $0.kind == .clientRun }) {
return TaskState(kind: .answer, label: "Ready to run", title: "The agent asked to run something on your Mac; see the inbox")
}
if task.merging {
return TaskState(kind: .merging, label: "Merging", title: "The merge turn is running")
}