A provider:model string such as "openai:gpt-4o",
"ollama:llama3.2", or "openrouter:anthropic/claude-sonnet-4-5-20250929".
A ParsedModel with providerId and modelId fields.
When the string is missing, not a string, or does not match
the expected provider:model format.
Splits a
provider:modelstring into its constituent parts.The format is strict: the provider portion must be non-empty, separated from the model portion by exactly one colon, and the model portion must also be non-empty.