#7415·bifrost

[Feature]: Support OpenRouter’s native Decisions API

Author: starship-sCreated Sep 22, 2026Updated Sep 22, 2026

Prerequisites

  • I have searched existing issues and discussions to avoid duplicates

Problem to solve

Bifrost now has a Decisions API and direct TypeSafe support through #7355, but the OpenRouter provider does not implement native decision requests.

Users accessing Jev through OpenRouter therefore need to call OpenRouter outside Bifrost or configure a separate direct TypeSafe integration. Calling OpenRouter directly bypasses Bifrost’s virtual-key controls, logging, and cost tracking for those requests.

OpenRouter exposes Jev through POST /api/alpha/decisions, not Chat Completions. The decision-emulation feature in #7361 does not replace this native transport.

Proposed solution

Extend the existing OpenRouter provider to support native decision requests through Bifrost’s /v1/decisions endpoint, including TypeSafe’s Jev/System One models. Keep the integration model-independent so future models using the same OpenRouter API contract can use it without model-specific transport changes.

The integration should:

  • Use existing OpenRouter provider credentials and configuration.
  • Translate Bifrost’s decision request into OpenRouter’s native Decisions API format.
  • Preserve typed answers, choice probabilities, confidence, and the resolved model identifier.
  • Integrate usage and cost information with Bifrost’s logging and governance.
  • Preserve provider errors and use the existing timeout, retry, and explicit fallback policies.

Alternatives considered

  • Call OpenRouter directly: works, but requires an application-side exception to the gateway.
  • Use Bifrost’s direct TypeSafe provider: a valid alternative, but requires separate provider credentials and billing rather than the existing OpenRouter integration.
  • Use decision emulation with a chat model: useful for other models, but does not execute Jev or preserve its native decision probabilities.

Area(s)

Core (Go), Framework, Docs

Additional context

We have successfully exercised typesafe/jev-1.13 through OpenRouter’s native Decisions endpoint for a classification workload. The missing piece is carrying that request through Bifrost.

Related work:

  • #7355 adds the Decisions API and direct TypeSafe provider.
  • #7361 adds decision emulation for general-purpose models.
  • #7278 proposes Jev-powered routing and includes discussion of the separate OpenRouter transport. This request is limited to inference-provider support.
  • OpenRouter Decisions API reference

Is native OpenRouter Decisions support already planned as a follow-up to #7355?