v0.6.4
OSS provider hardening for parser-less and reasoning backends.
Fixes
- Leaked / dropped tool calls:
OSSCompatibleProvidernow detects when a backend lacks a tool-call parser and emits the model's native tool-call syntax as plain text (no structuredtool_calls) — previously a silentend_turnthat dropped the call. Setsprovider_metadata["tool_call_leak"]and applieson_tool_call_leak(warndefault /raise/ignore). (#24) - Persistent provider options: new
default_provider_optionsconstructor param, shallow-merged into every request with request-level values winning — pin gateway settings (e.g. OpenRouterextra_body.provider.require_parameters) without subclassing. (#24) - OpenRouter
reasoningfield:_split_reasoningnow recognizes OpenRouter'sreasoningfield in addition toreasoning_content, so reasoning isn't silently dropped on those routes. (#23)
Both changes keep the base provider gateway-agnostic. See the updated LLM-providers README and the oss-models docs post.