feat(bedrock): serve requests through the bedrock-mantle endpoint (#979)
* feat(bedrock): serve requests through the bedrock-mantle endpoint `provider_options: [endpoint: :mantle]` sends a request to bedrock-mantle instead of bedrock-runtime, which stays the default. Mantle takes the OpenAI Chat Completions API for every model family and the Anthropic Messages API for Claude, so the provider picks the wire from the model id, signs for the bedrock-mantle service or sends the API key the way each route expects, and reads the SSE stream Mantle answers with. `project: "proj_…"` attributes the request to a bedrock-mantle project. A provider can now export `stream_protocol_parser/2` to pick the stream parser per request, and the streaming fixture recorder redacts the AWS session token. * fix(bedrock): route GPT-5, Gemma 4 and Grok under /openai/v1 on bedrock-mantle bedrock-mantle serves each Chat Completions model under exactly one of two base paths; the other answers 400 "isn't supported on this route". Pick /openai/v1 for openai.gpt-5*, google.gemma-4* and xai.* by default, and add the mantle_base_path provider option to override it. * test(bedrock): record a bedrock-mantle /openai/v1 fixture
A
Adrien committed
81d052d2ac718fd1aa37e6b48d5bbbcfce7c540b
Parent: 27a61c2
Committed by GitHub <noreply@github.com>
on 8/28/2026, 7:15:21 PM