Repository navigation
acpmux: add opt-in artifact MCP tools - #27253
teamleaderleo wants to merge 1 commit into
Conversation
|
Found 6 test failures on Blacksmith runners: Failures
|
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base 72aea08; does not block |
|
Bead |
Agent-Session: deeplink/agent?id=aid-1cfbbef6961cda05f0b0
56bf5ab to
48f1641
Compare
|
Owned by an agent session · session |
|
Closing as superseded by #31850 (merged 2026-11-02, 419cb03), which carries this branch's artifact_save / artifact_list / memory_search tools adapted to today's acpmux_mcp.rs: memory_search became artifact_search, artifact_read was added, the opt-in switch became on-by-default with sign-in, and the local ~/.cmux/artifacts copy was dropped on purpose. Base-merging this draft would re-add duplicate tools and undo those choices. Adopted from a gone owner by the stall reconciler. |
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Adds
artifact_save,artifact_list, andmemory_searchto the existing acpmux MCP server whenartifacts_sync.enabledis true. The tools remain absent by default, and direct calls re-check the switch. Artifact files are validated for path traversal and secret-bearing names/content, saved through the shared artifacts client, and copied under~/.cmux/artifacts/<id>/. Search and list results are explicitly wrapped as untrusted data.Leo's request: "like the claude.ai artifacts but imagine you didnt need to only have it on claude.ai". On the MVP: "go ahead".
Validation: added tests for disabled listing and calls, secret/path rejection, mutually exclusive input forms, duplicate file names, local writes, and the untrusted-data wrapper. A loopback HTTP contract test checks the memory search query, bearer header, and wrapping of remote text. The initial remote formatting check found formatting issues; the current head is formatted with the repository's Rust 1.95.0 formatter. Cargo tests and clippy are pending the shared sync client dependency. No new timer or background task is introduced.
Draft dependency: the shared sync client must provide runtime mesh authentication and correct CAS/blob routing before this PR can be validated and made ready.
Risk: opted-in calls send artifact content to the configured artifacts service; secret scanning is heuristic. A remote save that succeeds before a local disk failure reports the saved artifact id and head so callers can recover without duplicating it.
Agent session: agent session