You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Clone language over HTTP: POST /v1/voice/clone and POST /{provider}/v1/voice/clone take an
optional language form field (ISO 639-1), passed to the voice plugin (recorded with abstractvoice 0.19.0 or later) and to remote AbstractVoice-compatible servers (OpenAI custom
voices do not take it). Without it, the cloner identifies the language from the transcript.
Fixed
Streamed tool calls carry the declared tool name: a native tool whose name is not wire-safe
(an MCP tool such as mcp::RAGnarok::query, declared to strict APIs as mcp_RAGnarok_query_b6ff8949) is returned under its declared name in streaming responses, as it
already was without streaming, from generate() and agenerate() (including the native async
paths of providers with their own async client, streaming or not).
Complete calls and partial deltas keep their ids, indexes and argument fragments. Only names
declared in the request's tools= are restored; any other name is returned unchanged, with a
warning, for the host's allowlist to refuse.
MLX native lane (mlx-vlm prefix cache, MTP speculation): the per-call snapshot is placed before
trailing system riders (a host's per-call attachment index), measured in tokens against the
same request rendered without them. A hybrid model restores only an exact stored prefix, and a
snapshot that contained the rider matched no later prompt: every tool-loop call of an
attachment-bearing session re-prefilled the whole conversation (operator run: 10 of 10 calls
cold, 24,552 tokens at step 10). Replayed on Jundot/Qwen3.8-27B-oQ4e-mtp: steps 2–4 now restore
8,536 / 11,424 / 14,764 tokens. New telemetry field prompt_cache.snapshot_excludes_tail_tokens.
The scheduled lane (mlx_batching=True) keeps the default placement (backlog 0858).