// Provider-wire compat for "cloudflare-ai-gateway"; regenerated from the frozen census using deployment contract selectors.

provider "cloudflare-ai-gateway" {
	default-model "anthropic/claude-opus-5"
	env "CLOUDFLARE_AI_GATEWAY_API_KEY"
	discovery label="Cloudflare AI Gateway"

	// Static fallback model injected when Cloudflare AI Gateway discovery returns no
	// results. Ensures the provider always has at least one usable model entry in
	// the catalog.
	seed api="anthropic-messages" base-url="https://gateway.ai.cloudflare.com/v1/<account>/<gateway>/anthropic" bundle="empty" {
		model "claude-sonnet-4-5" name="Claude Sonnet 4.5" {
			reasoning #true
			input "text" "image"
			cost input=3 output=15 cache-read=0.3 cache-write=3.75
			limits context=200000 max-tokens=64000
		}
	}

	// residue: the bare `deepseek/*` namespace rides the Anthropic route, whose
	// ladder is the generic five-tier scale, unlike the workers-ai chat rows.
	models "deepseek/*" {
		thinking-efforts "minimal" "low" "medium" "high" "xhigh"
	}
	class "anthropic" {
		revision ">=4 <4.6" {
			thinking-efforts "minimal" "low" "medium" "high" "xhigh"
		}
	}
	// residue: taxonomy ranks and exact globs do not isolate these models.
	models "openai/gpt-5.1-codex" {
		thinking-efforts "minimal" "low" "medium" "high"
	}
	// residue: taxonomy ranks and exact globs do not isolate these models.
	models "workers-ai/@cf/nvidia/nemotron-3-120b-a12b" {
		thinking-efforts "minimal" "low" "medium" "high" "xhigh"
		}
	// residue: the reasoning-suffixed Grok SKU cannot disable thinking.
	models "xai/grok-4.20-0309-reasoning" {
		thinking-requires-effort #true
	}
}
