List the GPT-6.1 Sol Bedrock Runtime profiles in model discovery

SC
10h ago
+47-0

Refs #3113

Summary

Adds openai.gpt-6.1-sol to the Bedrock Runtime capability catalog, so discovery offers its us. and global. inference profiles. On main, a Bedrock connection lists only the Mantle base id openai.gpt-6.1-sol. global.openai.gpt-6.1-sol and us.openai.gpt-6.1-sol are ACTIVE in AWS, but discovery only offers Runtime profiles of catalogued models, and this one was not catalogued.

The AWS model card lists the Standard tier, short context (up to 272K input tokens), per 1M tokens: Global CRIS $2.00 in / $10.00 out; US CRIS and Mantle regional $2.20 / $11.00. The Global profile is the cheaper option the issue asks for.

What changes

  • bedrock-runtime-capabilities.ts: one catalog entry (both APIs, max_completion_tokens, rejectsReasoningNone: true, the model card as sourceUrl, verifiedAt: 2026-11-05).
  • Specs: 34 added lines, no existing test touched.
  • Changeset (manifest, patch).

rejectsReasoningNone is set because of what the Runtime does with this model (below). With the Responses route from #3110, Chat Completions requests with function tools to these profiles go to Runtime Responses.

Measured on Bedrock Runtime (global.openai.gpt-6.1-sol, us-east-1, 2026-11-05)

RequestResult
Chat Completions, no tools200
Chat Completions with max_tokens400 (max_completion_tokens only)
Chat Completions, reasoning_effort low / medium / high / xhigh200
Chat Completions, reasoning_effort none or minimal400 (the error lists low, medium, high, xhigh, max as supported)
Chat Completions, function tools, no effort400 ("use /v1/responses")
Chat Completions, function tools, effort high400 (same message)
Chat Completions, function tools, effort none400 (none unsupported)
Responses, no tools200
Responses, function tools, with and without reasoning200
Responses, reasoning.effort none400

This is the same behaviour as openai.gpt-6-astra, which already has rejectsReasoningNone. For us.openai.gpt-6.1-sol I measured only the no-tools Chat Completions request directly (200); its other cases ran through Manifest (below).

Through Manifest

This branch, local build, fresh database, a Bedrock API key. Discovery lists openai.gpt-6.1-sol, global.openai.gpt-6.1-sol and us.openai.gpt-6.1-sol next to the three gpt-6-sol ones. POST /v1/chat/completions returned 200 for both profiles in all four cases: no tools, and function tools with no effort, high and max. The three tool cases returned a tool call.

Not verified, and limits

  • The price in the dashboard. Prices show as null on my local instance, for gpt-6-sol as well, so I could not see the $2.00 / $10.00 option appear. The price data comes from the amazon-bedrock provider of models.dev, which lists global.openai.gpt-6.1-sol at 2 / 10. This PR makes the profile available; the reporter or a maintainer should confirm the price in the UI.
  • An explicit reasoning_effort: "none" with function tools still returns 400: the model rejects none on Responses too.
  • On the Responses route the conversion drops sampling parameters such as temperature, top_p, stop and seed, as described in #3110.
  • Requests above 272K input tokens are billed at the long-context rates in the model card; nothing changes in the code for that.
  • I did not check whether the two new ids can be picked automatically when tiers are recalculated.
  • The same gap exists for openai.gpt-6.1-terra, openai.gpt-5.6-sol and openai.gpt-5.6-terra (ACTIVE profiles, not catalogued). Each needs its own verification, so they are left out of this PR.

Tests

Backend unit: 523 suites, 9952 tests passing, with bedrock-runtime-capabilities.ts at 100%. tsc, eslint (0 errors), prettier and the changeset check are clean. Removing the catalog entry makes 7 of the new tests fail, and restoring it brings them back to passing.


Summary by cubic

Adds openai.gpt-6.1-sol to the Bedrock Runtime capability catalog so model discovery lists its us. and global. inference profiles. The profiles follow the openai.gpt-6-astra behavior: max_completion_tokens only, no reasoning_effort: none, and Chat Completions with function tools routed to Runtime Responses, which addresses the #3113 request for the cheaper global. profile.

Notes

  • Price data (2.00 in / 10.00 out for the global profile) comes from the amazon-bedrock provider and was not visible in the local dashboard.
  • openai.gpt-6.1-terra, openai.gpt-5.6-sol, and openai.gpt-5.6-terra have the same discovery gap and are left for separate PRs.