Filed github.com/vercel/ai/issues/21213 against the AI SDK repo, where it was reproduced and then labelled out of scope, since the fix sits in the Gateway service rather than the package. Posting here so it reaches the right people.
Through AI Gateway, typesafe-ai/jev is the only TypeSafe entry in the catalogue, every versioned id 404s, and response.modelId comes back as the alias. The intercepted 200 from POST /v4/ai/evaluation-model carries no version in its body or headers either, so nothing is lost on the client.
The AI SDK's own TypeSafe provider docs say the direct path returns "the resolved version behind the alias", and Cloudflare's Workers AI page for Jev shows "model": "jev-1.13.0" in the response body. So the information exists upstream.
Either half would solve it: accept a versioned id on the way in, or name the resolved version on the way out. Right now an eval run through the Gateway can't attribute its results to a model version.
Repro is in the issue.