Skip to content

feat(translation): support Bedrock Converse as a native wire format #864

Description

@afourniernv

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions