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
{{ message }}
Repository navigation
v0.12.0 — Native Anthropic for OpenAI-format runners, current OpenAI model compatibility
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Highlights
Native Anthropic for OpenAI-format runners — /v1/chat/completions requests that resolve to a registered Anthropic-format provider are translated to POST /v1/messages at the provider boundary and back. Runners configured for chat/completions (for example the per-run PicoClaw workers Clawdapus compiles) can use a direct Anthropic key; OpenRouter is no longer required for Anthropic and remains the bridge only for vendor prefixes with no registered provider. Audit, budget, session history, policy and managed tool mediation keep seeing the chat shape. Routed requests emit the anthropic_messages_adapter intervention.
Current OpenAI reasoning models — the documented GPT-6 families (gpt-6.1-sol, gpt-6-astra, gpt-6-sol, gpt-6-luna, plus dated snapshots) dispatch through the Responses adapter, and sampling fields they reject are dropped and audited as responses_adapter_dropped_sampling. Unsupported explicit reasoning efforts get a fixed 400.
Diagnosable upstream rejections — failed provider calls now log an upstream_error event with allowlisted upstream_error_code, upstream_error_type and upstream_error_param fields. Provider messages, raw bodies and credentials are never recorded.
Compatibility notes
Anthropic adapter requests are dispatched non-streaming; streamed callers receive synthetic chat SSE. max_tokens defaults to 8192 when absent (anthropic_adapter_default_max_tokens). Sampling is forwarded only to Claude 3 and 4.0–4.6 models (anthropic_adapter_dropped_sampling otherwise).
Chat semantics Anthropic cannot honour (JSON response_format, audio/file parts, n > 1, logprobs, penalties, seed, logit bias, store: true, non-default service tiers, unknown fields) are rejected with fixed 400s that never echo request content.