What changed
- Local loopback wire adapter for the V2 plugin API: it aliases the client tool names that collide with the 40-name Muse builtin catalog, restores them in streaming and JSON responses, and normalizes the Responses parameters.
- The adapter's
/v1 origin becomes the per-request base URL; on routes that ignore that override the plugin rewrites the assembled request onto the same origin.
- If Meta still refuses the request, the adapter retries once with every tool aliased.
ADAPTER_CONTRACT.md v3 pins the rules; MUSE_CODE_ADAPTER=off keeps the proxy but disables the reshaping.
Notes
- Working inference requires the V2 plugin API (opencode 2.x). The V1
server() export keeps authenticating but still receives Meta's 403.
Install
opencode plugin add opencode-muse-auth