✨ Minor Changes
- b415978: Run Autofix on failed fallback attempts, not just the primary. Previously a fallback that failed with a repairable request-side 4xx (for example an unsupported
response_format) was recorded as a dead hop even when Phoenix already had a patch for that model. Each failed fallback is now handed to Phoenix and its patched body is retried on the same fallback transport, so a request can be recovered without burning the rest of the chain. Consent is unchanged: Autofix only runs for agents that opted in. - f0b9432: Add a remote MCP server at
POST /api/v1/mcpwith OAuth 2.1. Better Auth's MCP plugin provides the authorization server (PKCE, resource-bound JWT access tokens, CIMD client identity, RFC 8414/9728 discovery), andrequireMcpAuthgates the route. Tools reuse the same services as the REST API and CLI — agents, provider connections (including custom providers), routing (status, fallbacks, Autofix, recording, custom/header tiers), models, pricing, the request ledger, and a dependency-ordereddoctor. Read tools requiremcp:read; write tools are hidden unless the token carriesmcp:write. Adds a/consentpage. - f7f07b4: Add the mnfst management CLI (packages/cli) and a GET /api/v1/me identity endpoint. One login with a global API key, then agents, providers, routing, and analytics are manageable from the terminal without the dashboard.
🐛 Patch Changes
- 97d7b05: Fix Anthropic server tools (web_search, bash, computer, etc.) being forwarded to non-Anthropic providers with no
parametersfield, which some providers reject with a 400. - b940f39: Harden the mnfst CLI auth and command edges: refuse HTTP redirects so the workspace API key cannot leak cross-origin, strip inherited
MANIFEST_AGENT_KEY/MANIFEST_API_KEY(and variant casing) frommnfst runchildren, require the requested--auth-typeonagent configure's primary model so an unroutable route is rejected before any write, and report clearer errors for a raced key file, an array-valued config, and a JSONnulltoken response. - 5eb95bd: The mnfst CLI no longer sends a telemetry request per command. Commands are recorded in a local spool (
~/.config/manifest/telemetry-spool.jsonl, mode 0600) and shipped in one anonymous request per install per day to/v1/cli-report, matching the self-hosted install report. The first command ever flushes immediately so a new install is counted the day it appears; the spool is capped at 500 events and a failed send is retried at most hourly. The wire payload is reshaped into one envelope per request:schema_version,anon_id,cli_version, andosnow sit on the envelope with aneventsarray beneath it (each event keepscommand,ok,duration_ms,agent_runtime, plus a minute-precisionat). No new data is collected, and theMANIFEST_TELEMETRY_DISABLED=1opt-out is unchanged. - 1d03ae2: The mnfst CLI's daily telemetry batch now carries
target:cloudorself-hosted, the class of Manifest the install points at (same precedence as command resolution:MANIFEST_URL, then the active config host, then Cloud). Never the URL. Lets Peacock's CLI usage page split the two populations. Opt-out unchanged. - 326ecb5: The remote MCP endpoint answers GET and DELETE with 405 +
Allow: POSTas the Streamable HTTP spec requires for a stateless JSON transport, instead of a 404 that clients logged on every connect.mnfst routing testnow sendsUser-Agent: mnfst-cli/<version>so the gateway's caller attribution can tell CLI test traffic apart. - 62433aa: Fix OpenAI subscription model discovery so newer Codex CLI models (e.g.
gpt-6-astra) appear. OpenAI gatesgpt-6-astrabehind Codex CLI0.153.0+, and the/backend-api/codex/modelsendpoint silently returns the older model subset for olderclient_versionvalues. BumpCODEX_CLI_VERSIONfrom0.128.0to0.154.0. - 148c7f7: Speed up the harness and global Overview Autofix cards. The request window is now scanned once for both the current and previous period instead of twice, halving the heaviest query behind the reliability KPIs.
- 073d55a: Kiro requests record real token usage instead of always logging zeros. Live
GenerateAssistantResponsestreams carry no per-token counts (onlyassistantResponseEventcontent and a credit-basedmeteringEvent), so usage is estimated from the request conversation and the emitted text and markedestimated: true. When Kiro does send an explicittokenUsageblock it is used verbatim, and the cache read/write breakdown is preserved socache_read_tokens/cache_creation_tokenspopulate the request log. Unknown Kiro event types are logged at debug. - abc0183: Return
M302("model not available") instead ofM101("no providers configured") when a pinned routing override names a model its connection no longer offers and no fallback route resolves. Only applies while the override's provider connection still exists, so a genuinely unconfigured agent keeps the neutralM101. - 4f674c9: Drop the unsupported
thinkingparameter before forwarding requests to NVIDIA Nemotron models served through OpenRouter (e.g.nvidia/nemotron-3-ultra-550b-a55b), which validate params strictly and otherwise reject it with a 400. The strip is scoped to the Nemotron family via the bare model id, so the general OpenRouter passthrough for Gemma, DeepSeek, Kimi, etc. is unchanged. - a5de1c2: Refresh the Google Code Assist subscription model catalog. Add the current Generally Available
gemini-3.5-flash(the model the latest Gemini/Antigravity CLI defaults to) and drop the retiredgemini-3.1-flash-lite-previewpreview alias. Gemini Code Assist does not expose a/modelsendpoint, so this curated list is what the routing UI offers; models outside it 404 at chat time. Also correct the provider tile and README, which advertised a non-existent "Gemini 3.6 Flash" and a "Gemini 3.1 Pro" the subscription does not offer. - b630d2c: Self-hosted telemetry now reports CLI and remote-MCP adoption:
mnfst loginkey counts and 7-day actives, plus MCP OAuth client, consent, and 24h access-token counts, with client names whitelisted to known MCP hosts. All fields are additive aggregates read from existing tables; no per-call counter or new table.