resolve_messages
Permanently acknowledge specific messages to remove them from the pending queue, ensuring already-handled mail stays archived and never reappears in new sessions.
Instructions
Permanently resolve (ack) specific messages so they leave your pending queue for good (v2.12.0).
When to use: PARTIAL handling — you've actioned some of your mail but not all ("I did these, not those"). For the common "I've handled everything I just drained" path, prefer get_messages(status='pending', ack=true) which drains AND resolves in one call. Resolving is the durable, session-INDEPENDENT counterpart to reading: read is a per-session observation (a fresh terminal re-sees prior-session-read mail so handovers don't drop unfinished work); resolved is a permanent "handled, archive it" that the pending filter honors, so an already-handled message never re-floods a new session.
Behavior: sets resolved_at=now() for the given ids WHERE to_agent is you AND not already resolved, in one transaction. Does NOT mark messages read (orthogonal plane) and does NOT delete them — they remain in status='all'/'history'/'resolved'. Idempotent: re-resolving, unknown ids, or ids addressed to another agent are silently skipped (reflected in the returned counts). Recipient-scoped: you can only resolve your OWN mail (the dispatcher binds your token to agent_name; the DB also filters by to_agent).
Returns: { success: true, agent, resolved_ids: string[], resolved_count, requested_count, note }. resolved_count < requested_count when some ids were already resolved, unknown, or not yours.
Errors: AUTH_FAILED (token missing/mismatched), VALIDATION (empty/oversized id list), RATE_LIMITED.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| agent_name | Yes | Your agent name (the recipient; only your own mail can be resolved) | |
| agent_token | No | Your agent token (from register_agent response). Optional here — also resolvable from RELAY_AGENT_TOKEN env or X-Agent-Token header. | |
| message_ids | Yes | The message ids to permanently resolve (ack). Only ids addressed to you are affected; unknown/foreign ids are silently skipped. |