v0.5.1
What's Changed
Added
tool_opsconvenience API (#148): New top-levelllm_rosetta.tool_opsmodule for standalone tool definition conversion without instantiating full converter pipelines. Providesto_provider()/from_provider()unified dispatch and per-provider shortcuts (to_openai_chat(),to_anthropic(), etc.). All imports are lazy- Multi-key API management: Admin panel now supports multiple API keys per gateway with per-key labels, create/reveal/delete operations, and usage tracking in request logs
- Gateway API key authentication: Configurable API key (
server.api_key) protects AI request endpoints (/v1/*). Supports format-native credential extraction — OpenAIAuthorization: Bearer, Anthropicx-api-key, Googlex-goog-api-key/?key=query param - Provider enable/disable: Each provider now supports an
enabledfield (defaulttrue). Disabled providers and their models are silently excluded from routing - Docker support: Official
Dockerfile,docker-compose.yml, and Makefile targets for containerized deployment. Pre-built image available on DockerHub - Admin panel enhancements: Provider toggle, model search/sort, provider rename, network diagnostics, model testing with collapsible request/response details
Changed
- C901 cyclomatic complexity enforced at threshold 15: Progressive reduction across all converters. Extracted cross-provider consistency helpers with identical names across all 4 converters
BaseConverterabstract methods: Four new abstract methods formalize the cross-provider helper pattern- Vendored
validate.pyupdated to zerodep v0.4.2
Fixed
- Google converter crash when thinking consumes all tokens (#152): Gemini 2.5 Pro with small
max_tokenscould have thinking consume all tokens, producing a response with no content parts. The converter now falls back to an empty assistant message instead of failing IR validation - User-Agent header for image URL downloads: Google GenAI converter now sends a User-Agent when downloading image URLs, preventing 403 Forbidden
- Image URL download with proxy support: Google GenAI converter now respects
HTTPS_PROXY/HTTP_PROXYenvironment variables - ty type checker compatibility: Added
ty: ignoreannotations for strict type checking
Full Changelog: v0.5.0...v0.5.1