fix: accept new model IDs without a Stagehand release

Closed
AN
19d ago
+159-252

Why

Model allowlists block users from using newly released models.

What

Validate supported provider prefixes and nonempty, whitespace-free model IDs. Let providers determine model availability. Keep TypeScript, Python, and Go synchronized, with existing providers and defaults unchanged.

How

Extension, TypeScript, Python, and Go tests passed. Package builds, type checks, and generation checks passed.


Summary by cubic

Removes explicit model allowlists so newly released models work without a Stagehand release. Model names are now validated only for a supported provider prefix and a nonempty, whitespace-free ID; providers determine model availability.

  • Unknown model IDs are forwarded to providers, so unavailable models surface the provider's error instead of being rejected upfront.
  • Behaior is identical across TypeScript, Python, Go, and the extension.