Problem
Switchyard supports OpenAI Chat, OpenAI Responses, and Anthropic Messages as native wire formats, but it cannot decode or encode Bedrock Converse traffic. An embedded host calling Bedrock directly must translate Converse and ConverseStream outside Switchyard or put another gateway in front of it.
Proposed solution
Add Bedrock Converse as a native wire format:
- add a
BedrockConverse wire-format variant;
- translate buffered Converse requests and responses through the provider-neutral IR;
- translate ConverseStream events incrementally; and
- add focused round-trip and cross-format coverage.
Scope notes
Keep this issue at the protocol and translation boundary. AWS SigV4 signing, credential loading, region and endpoint discovery, retries, server configuration, and a first-party Bedrock HTTP client are separate transport work.
Adding a public WireFormat variant is source-breaking for external exhaustive matches and should be called out in the implementation PR.
Prior art
ConductorOne has a working codec prototype in ConductorOne/Switchyard#1, specifically commit 0f12869. That implementation is useful prior art rather than a proposed wholesale merge. @jerenkrantz
Problem
Switchyard supports OpenAI Chat, OpenAI Responses, and Anthropic Messages as native wire formats, but it cannot decode or encode Bedrock Converse traffic. An embedded host calling Bedrock directly must translate Converse and ConverseStream outside Switchyard or put another gateway in front of it.
Proposed solution
Add Bedrock Converse as a native wire format:
BedrockConversewire-format variant;Scope notes
Keep this issue at the protocol and translation boundary. AWS SigV4 signing, credential loading, region and endpoint discovery, retries, server configuration, and a first-party Bedrock HTTP client are separate transport work.
Adding a public
WireFormatvariant is source-breaking for external exhaustive matches and should be called out in the implementation PR.Prior art
ConductorOne has a working codec prototype in ConductorOne/Switchyard#1, specifically commit
0f12869. That implementation is useful prior art rather than a proposed wholesale merge. @jerenkrantz