Gateway: show subagent requests on the parent's card, and settle threads
This commit is contained in:
1 parent
a8b6375afe
commit
a4754b65b0
7 files changed
+183
-21
No files matched your search
+20
-2
@@ -75,10 +75,17 @@ FeedItem {
|
||||
"phase": "waiting_for_approval",
|
||||
"updatedAt": "2026-11-01T09:41:00.000Z",
|
||||
"lastMessage": "Parser and tests are written. I want to run the suite.",
|
||||
"request": PendingRequest | null
|
||||
"request": PendingRequest | null,
|
||||
"via": { "hostId": "...", "threadId": "...", "title": "Check Panama PATH" } | null
|
||||
}
|
||||
```
|
||||
|
||||
Threads an agent started for another thread (subagents and `delegate_task` children) do not get
|
||||
their own cards. When one waits on you, its request moves onto the card of the thread that started
|
||||
it. `via` names the subagent, `request` and `phase` are the subagent's, and the answer goes to the
|
||||
subagent: `POST /v1/threads/<via.hostId>/<via.threadId>/respond`. A subagent keeps its own card
|
||||
when the gateway cannot find its parent, or the parent already shows a request.
|
||||
|
||||
`phase` is one of `starting`, `running`, `waiting_for_approval`, `waiting_for_input`, `completed`, or
|
||||
`failed`. `lastMessage` is the agent's latest message trimmed to about 280 characters. It can be null
|
||||
for a moment after a thread changes.
|
||||
@@ -133,6 +140,16 @@ POST /v1/threads/:hostId/:threadId/stop
|
||||
202
|
||||
```
|
||||
|
||||
```
|
||||
POST /v1/threads/:hostId/:threadId/settle
|
||||
202
|
||||
```
|
||||
|
||||
Settles a thread, as in T3. A settled thread that finished or failed leaves the feed. To settle all
|
||||
of Recent, settle each item.
|
||||
|
||||
Thread detail fills `request` and `via` the same way as the feed when a subagent waits on you.
|
||||
|
||||
## Summary
|
||||
|
||||
The counts behind the watch face complication. It reads no thread pages, so it is cheap to call.
|
||||
@@ -170,7 +187,8 @@ The new thread uses the project's default model, or the host's, and the host's d
|
||||
|
||||
The gateway pushes when a thread starts waiting for you, finishes, or fails. Each push has an
|
||||
`aps.category` and the custom keys `hostId`, `threadId` (absent on `host` pushes), and, for
|
||||
approvals and questions, `requestId`. A `test` push carries no custom keys.
|
||||
approvals and questions, `requestId`. A `test` push carries no custom keys. A subagent's push is titled with the thread that started it,
|
||||
its body starts with "Subagent <title>:", and its `hostId` and `threadId` are the subagent's.
|
||||
|
||||
| Category | When | Actions the watch registers |
|
||||
| --- | --- | --- |
|
||||
|
||||
Reference in new issue
Block a user