feat: implement AgentMail end-to-end features and annotations - #17
Conversation
- Added guarded mailbox rename/delete with preview, message-count confirmation, special-use/descendant protection, and ambiguous-transport recovery in [lib.rs](/Users/weekendsuperhero/CODE/agent_update_jobs/agentmail-mcp/src/lib.rs:656). - Added Bcc, Reply-To, reply/reply-all drafts, RFC threading headers, Apple Mail draft markers, and atomic RFC 8508 draft replacement. AgentMail still exposes no sending surface. - Routed the active session workspace through trusted `io.agentmuse/workspaceRoot` metadata for direct and task calls to the in-process AgentMail backend in [handler.rs](/Users/weekendsuperhero/CODE/agent_update_jobs/bridge/src/handler.rs:634). File reads/writes remain workspace-confined. - Added audience/priority annotations to AgentMail resources and propagated them through the API, generated bindings, and Inspector UI in [McpInspectorPanel.tsx](/Users/weekendsuperhero/CODE/agent_update_jobs/frontend/src/features/bridge/components/McpInspectorPanel.tsx:210). - Added exact thread preview/confirmation and verified PDF + EML + manifest export in [tools_write.rs](/Users/weekendsuperhero/CODE/agent_update_jobs/agentmail-mcp/src/mcp/tools_write.rs:64). `recorded`/`submittable` are returned only after reopen, parse, hash, and structural checks, with explicit limitations and no legal-admissibility claim. - Added timeout classification, idempotent draft-append recovery, bounded PDF presentation, private directories, and safer mailbox case handling. - Updated [README.md](/Users/weekendsuperhero/CODE/agent_update_jobs/agentmail-mcp/README.md:412) and MCP documentation. Verification passed: - AgentMail: 380 tests passed; one explicit stress test ignored. - Clippy with warnings denied. - Bridge: 447 unit + 12 OAuth integration tests. - Agent protocol/bindings: 183 tests. - App API annotation regression test. - TypeScript, Biome, and Rust formatting checks. The Rust/async/PDF/React skill guidance informed the typed recovery paths, cancellation and size bounds, PDF reopen verification, and static Inspector rendering. The only remaining acceptance item is the documented real-account Apple Mail send/disappearance check in [README.md](/Users/weekendsuperhero/CODE/agent_update_jobs/agentmail-mcp/README.md:666). I did not run it because it sends outward through a user account.
🤖 Muse — Code Review · ✅ passRound 1 · reviewed Summary: The provided diff only shows the addition of the 'printpdf' dependency in Cargo.toml. No logic errors, code changes, or other issues are present in the provided context. Re-run: add the |
🤖 Muse — Test Coverage · ✅ passRound 1 · reviewed Summary: The provided diff only shows the addition of the printpdf dependency in Cargo.toml. Since there are no behavioral code changes in this snippet, no new tests are required. Re-run: add the |
🤖 Muse — Security · ✅ passRound 2 · reviewed Summary: The provided diff only shows the addition of the printpdf dependency in Cargo.toml. No security vulnerabilities were identified in the visible changes. Re-run: add the |
Linear
Part of AMXSF-333 — agentmail-mcp: implement resources/list (account roots) and emit ResourceLink blocks from read tools
Closes AMXSF-289 — MCP Resources: Annotations
Part of AMXSF-329 — Bridge: proxy-semantics conformance gaps (cross-backend resources/updated leak, non-deterministic resource_owner, aggregated pagination)
Summary
Changes
AgentMail
Bridge / Frontend
io.agentmuse/workspaceRootmetadata.McpInspectorPanel.tsx).Documentation
README.mdand MCP docs.Test plan
PR description generated by Agent