cancel_thread: new mcp tool — unify reminder + question cancel on both surfaces
This commit is contained in:
parent
fcd407da11
commit
b1d0a62cb9
11 changed files with 331 additions and 25 deletions
8
TODO.md
8
TODO.md
|
|
@ -40,13 +40,7 @@ how often the friction bites in normal use.
|
|||
into the prompt builder in `hive-ag3nt::turn.rs`. Even better: add a
|
||||
one-shot `recv_batch(max: u32)` MCP tool that returns up to `max`
|
||||
pending messages in a single round-trip.
|
||||
- **Self-management of own asks + reminders** — once I fire `ask` or
|
||||
`remind` I have no way to inspect or cancel them from the agent side.
|
||||
Operator can cancel asks via dashboard; nothing for reminders at all
|
||||
(TODO above). Want `list_my_asks() -> [{id, target, question, asked_at}]`
|
||||
and `cancel_ask(id)` on the agent surface, plus `list_my_reminders()`
|
||||
/ `cancel_reminder(id)`. Bounded by `asker == self` and `reminder.owner
|
||||
== self` so no cross-agent meddling.
|
||||
- ~~**Self-management of own asks + reminders**~~ ✓ landed — unified with `get_open_threads` rather than a separate listing surface. `OpenThread` gained a `Reminder { id, owner, message, due_at, age_seconds }` variant (sub-agent flavour filters by `owner == self`; manager unfiltered). New `mcp__hyperhive__cancel_thread(kind, id)` on both surfaces — `kind` is `"question"` (asker gets `[cancelled by <self>]` answer, unblocks) or `"reminder"` (hard-deleted before fire). Auth: sub-agent must own the row; manager bypasses for hive-wide cleanup. New helpers `OperatorQuestions::cancel` + `Broker::cancel_reminder_as` push the auth check down so both flavours stay aligned. Shared dispatch in `hive-c0re/src/questions.rs::handle_cancel_thread`.
|
||||
- **Optional `in_reply_to: <msg_id>` on send** — pure wire addition; no
|
||||
behavioural change. The dashboard could render conversation threads
|
||||
(already wants this for the agent-to-agent question UI in the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue