Changes for version 0.005 - 2026-03-10
- Add primary Knarr normalization modules (core-backed): `Langertha::Knarr::Input`, `Langertha::Knarr::Output`, `Langertha::Knarr::Metrics`.
- Bump `Langertha` dependency to `>= 0.306`.
- Add request policy hooks in `build_app`:
- `before_request` hook to inspect/mutate/block requests before routing
- `api_key_validator` hook for dynamic per-request key authorization
- Add cross-format tool bridging between OpenAI and Anthropic request/response shapes (including `tools`, `tool_choice`, `tool_calls`, `tool_use`, and `tool_result`)
- Add Hermes tool XML bridging:
- Parse `<tool_call>{...}</tool_call>` into OpenAI `tool_calls`
- Parse `<tool_call>{...}</tool_call>` into Anthropic `tool_use` blocks
- Route OpenAI `tools` through Hermes-capable engines by normalizing tool schema
- Extend proxy/unit/integration tests for hook behavior and tool-bridge paths
Documentation
Langertha LLM Proxy with Langfuse Tracing
Modules
LLM Proxy with Langfuse Tracing
CLI entry point for Knarr LLM Proxy
Validate Knarr configuration file
Auto-start Knarr from environment variables (Docker mode)
Scan environment and generate Knarr configuration
List configured models and their backends
Start the Knarr proxy server
YAML configuration loader and validator
Primary input normalization API for Knarr
Primary tool-input helpers for Knarr
Primary metrics/cost normalization API for Knarr
Primary output normalization API for Knarr
Primary tool-output helpers for Knarr
Anthropic Messages API format proxy handler
Ollama native API format proxy handler
OpenAI API format proxy handler
Local disk logging of proxy requests
Model name to Langertha engine routing with caching
Automatic Langfuse tracing per proxy request