Unported Provider Logic Checklist

This tracks legacy provider behavior from packages/opencode/src/provider/provider.ts that still needs to be ported into the v2 provider plugins under packages/opencode/src/v2/plugin/provider/. Keep entries checked only when v2 has equivalent behavior or when the item is intentionally skipped.

Provider Setup

  • Cloudflare AI Gateway custom SDK construction with createAiGateway / createUnified.
  • Google Vertex authenticated fetch injection.
  • Amazon Bedrock AWS credential chain setup.
  • Amazon Bedrock bearer token setup.
  • SAP AI Core service key setup.

Provider Options

  • Azure resource name resolution.
  • Azure missing-resource error.
  • Azure Cognitive Services baseURL resolution.
  • Cloudflare Workers AI account ID validation.
  • Cloudflare Workers AI account ID vars.
  • Cloudflare AI Gateway account ID validation.
  • Cloudflare AI Gateway gateway ID validation.
  • Cloudflare AI Gateway token validation.
  • Amazon Bedrock region precedence.
  • Amazon Bedrock profile precedence.
  • Amazon Bedrock endpoint precedence.
  • Google Vertex project resolution.
  • Google Vertex location resolution.
  • GitLab instance URL resolution.
  • GitLab token resolution.
  • GitLab AI gateway headers.
  • GitLab feature flags.
  • Opencode unauthenticated paid-model filtering.
  • Opencode public API key fallback.

Request Behavior

  • Request timeout handling.
  • Chunk timeout handling.
  • SSE timeout wrapping.
  • OpenAI response item ID stripping.
  • Azure response item ID stripping.
  • OpenAI-compatible includeUsage defaulting.

Dynamic Models

  • GitLab workflow model discovery.

Model Filtering

  • Experimental alpha model filtering.
  • Deprecated model filtering.
  • Config whitelist filtering.
  • Config blacklist filtering.
  • gpt-5-chat-latest filtering.
  • OpenRouter openai/gpt-5-chat filtering.

Default Models

  • Configured default model selection. Replaced by explicit Catalog.model.setDefault.
  • [SKIP] Recent-history default model selection — not porting to server-side v2 catalog.
  • Default model fallback sorting. Uses newest available model, not legacy hard-coded priority.

Small Models

  • [SKIP] Configured small_model selection — not porting config-driven selection to server-side v2 catalog.
  • Provider-specific small model priority. Replaced by cheapest output cost selection.
  • Opencode small model priority. Replaced by cheapest output cost selection.
  • GitHub Copilot small model priority. Replaced by cheapest output cost selection.
  • Amazon Bedrock region-aware small model selection. Replaced by cheapest output cost selection.

URL And Env Vars

  • [SKIP] BaseURL ${VAR} interpolation — not porting generic URL templating; provider plugins should construct concrete URLs.
  • Azure AZURE_RESOURCE_NAME vars. Handled by Azure provider plugins.
  • Google Vertex vars. Handled by Google Vertex provider plugins.
  • Cloudflare Workers AI vars. Handled by Cloudflare Workers AI provider plugin.

Auth

  • Auth-derived provider API keys.
  • OpenAI OAuth/API auth distinction.
  • GitLab OAuth token selection.
  • GitLab API token selection.
  • Azure auth metadata resource name.
  • Cloudflare auth metadata account ID.
  • Cloudflare auth metadata gateway ID.

Config And Plugin Parity

  • Legacy plugin auth loader behavior.
  • Config provider merge behavior.
  • Config model merge behavior.
  • Variant generation from model metadata.
  • Config variant merge behavior.
  • Config variant disable behavior.