You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 39489d8
Browse filesBrowse the repository at this point in the historyBrowse files
Let a Bot at its own endpoint hand work to another Bot (#718)
* Let a Bot at its own endpoint hand work to another Bot
The grant route already accepted a remote grantee, and remote Bots call
back for message_bot through the same coordination tools and handoff
desk as built-in Bots. But botsReachableFrom kept only built-in
grantees, so a remote Bot was never offered message_bot and a call it
made anyway was refused as not granted. agentRunsHere did the same for
the handoff panel, which hid the switches.
botsReachableFrom now counts a grant whatever the grantee's type, and
agentRunsHere becomes agentCanHandOn, true for any Bot that exists.
* Clean up queued hops by the suite's actor in the handoff integration tests
The handoff suites deleted work items by a key prefix, but a hop's key is
hop:<hash>:<hash>, so nothing was deleted and every hop a suite sent stayed
queued. The end-to-end suite's sweep claims any queued hop, so it delivered
other suites' hops and its own assertions failed whenever it ran after
them. Each suite now deletes the hops its own actor queued.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,14 @@ Newest first. `Unreleased` is what is on `main` and not yet tagged.
8
8
9
9
## Unreleased
10
10
11
+
### A coworker at its own endpoint can hand work to another Bot
12
+
13
+
A grant letting a remote Bot (a coworker at its own endpoint) hand work to another Bot was accepted and stored, but the grant read kept only built-in Bots, so the remote Bot was never
14
+
offered `message_bot` and a call it made anyway was refused as not granted. The read now counts a
15
+
grant whatever the Bot's type, so a remote Bot hands work on through the same signed callback, grant
16
+
check, caps and audit rows as a built-in one, to a built-in Bot or to another remote Bot. The
17
+
coworker's handoff panel now offers it the same switches.
18
+
11
19
### A channel cursor with a malformed time reads as the first page, not a 500
12
20
13
21
`GET /api/channels` only checked that a cursor's time was a string before casting it with
0 commit comments