Skip to content

feat: AWS Bedrock SDK-compat handler - #205

Merged
NitinKumar004 merged 2 commits into
developmentfrom
feat/aws-bedrock-sdk-compat
Jun 11, 2026
Merged

feat: AWS Bedrock SDK-compat handler#205
NitinKumar004 merged 2 commits into
developmentfrom
feat/aws-bedrock-sdk-compat

Conversation

@NitinKumar004

Copy link
Copy Markdown
Collaborator

Closes #160.

Summary

Adds AWS Bedrock as a new service across all layers, with end-to-end SDK compatibility for the real aws-sdk-go-v2/service/bedrock and .../bedrockruntime clients, plus the portable API.

What's included

  • Portable API (bedrock/): Bedrock wrapper with the standard cross-cutting concerns (recording, metrics, rate limiting, error injection, latency) and a driver.Bedrock interface.
  • AWS provider (providers/aws/bedrock/): in-memory implementation with
    • a seeded foundation-model catalog (Claude, Titan, Llama, Cohere),
    • a synchronous model-customization lifecycle that materializes active custom models,
    • family-aware emulated inference returning each model family's native response envelope.
  • SDK-compat handler (server/aws/bedrock/): restJson1 routing for the control plane (ListFoundationModels, GetFoundationModel, CreateModelCustomizationJob, Get/ListModelCustomizationJobs, ListCustomModels, GetCustomModel, DeleteCustomModel) and the runtime (InvokeModel, Converse). Registered before the S3 catch-all.
  • Wiring: Bedrock field added to the AWS provider factory and the AWS server Drivers bundle.

Tests

  • Provider-level and portable-level unit tests.
  • SDK roundtrip tests driving the real bedrock + bedrockruntime clients against the in-memory server: foundation models, customization lifecycle, InvokeModel per family, Converse, and error mapping.

go build ./..., go test ./..., and golangci-lint run all pass.

Add AWS Bedrock as a new service across all layers: portable Bedrock API,
driver interface, in-memory AWS provider (seeded foundation-model catalog,
synchronous customization-job lifecycle, family-aware emulated inference),
and a restJson1 SDK-compat handler covering the control plane and
bedrock-runtime InvokeModel/Converse. Real aws-sdk-go-v2 bedrock and
bedrockruntime clients work end-to-end.
- InvokeModel on embedding models now returns an embedding-vector envelope
  instead of a text-generation shape
- Anthropic InvokeModel responses get a unique message id
- Reject duplicate custom-model names in CreateModelCustomizationJob
@NitinKumar004
NitinKumar004 merged commit d0859b7 into development Jun 11, 2026
@NitinKumar004
NitinKumar004 deleted the feat/aws-bedrock-sdk-compat branch July 25, 2026 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: AWS Bedrock SDK-compat handler

1 participant