github mnfst/llm-gateway manifest@6.24.0
manifest v6.24.0

2 hours ago

✨ 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/mcp with 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), and requireMcpAuth gates 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-ordered doctor. Read tools require mcp:read; write tools are hidden unless the token carries mcp:write. Adds a /consent page.
  • 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 parameters field, 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) from mnfst run children, require the requested --auth-type on agent 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 JSON null token 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, and os now sit on the envelope with an events array beneath it (each event keeps command, ok, duration_ms, agent_runtime, plus a minute-precision at). No new data is collected, and the MANIFEST_TELEMETRY_DISABLED=1 opt-out is unchanged.
  • 1d03ae2: The mnfst CLI's daily telemetry batch now carries target: cloud or self-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: POST as the Streamable HTTP spec requires for a stateless JSON transport, instead of a 404 that clients logged on every connect. mnfst routing test now sends User-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 gates gpt-6-astra behind Codex CLI 0.153.0+, and the /backend-api/codex/models endpoint silently returns the older model subset for older client_version values. Bump CODEX_CLI_VERSION from 0.128.0 to 0.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 GenerateAssistantResponse streams carry no per-token counts (only assistantResponseEvent content and a credit-based meteringEvent), so usage is estimated from the request conversation and the emitted text and marked estimated: true. When Kiro does send an explicit tokenUsage block it is used verbatim, and the cache read/write breakdown is preserved so cache_read_tokens / cache_creation_tokens populate the request log. Unknown Kiro event types are logged at debug.
  • abc0183: Return M302 ("model not available") instead of M101 ("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 neutral M101.
  • 4f674c9: Drop the unsupported thinking parameter 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 retired gemini-3.1-flash-lite-preview preview alias. Gemini Code Assist does not expose a /models endpoint, 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 login key 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.

Don't miss a new llm-gateway release

NewReleases is sending notifications on new releases.