Predicts the primary model ID that BaseModelRunner will pick for a given
prompt and optional AI configuration.
Applies the same configuration-chain -> null-configuration fallback rule as
BaseModelRunner.getPromptModelsForConfiguration over
AIEngine.Instance.PromptModels:
Keep only rows matching promptId with Status === 'Active' or 'Preview'.
When configurationId is provided, walk AIEngine.Instance.GetConfigurationChain(configurationId)
(child -> parent -> ...) and pick the first configuration with matching rows.
If no chain configuration matches (or configurationId is omitted), fall back
to rows with a null/empty ConfigurationID.
Return the ModelID of the highest-Priority matching row, or null if none exist.
ponytail: This helper predicts only the first candidate from AIPromptModels
(it does not replicate strategy-based pool selection when no AIPromptModels
rows exist, nor runtime failover to a secondary model). Runtime failover to a
non-video model is still covered by stripUnsupportedMediaBlocks in
AIPromptRunner. Once VS-UX-3 lands a public PreviewModelSelection(prompt, configurationId?)
method on BaseModelRunner (Wave 7), UX-3 should switch this call to delegate directly to it.
Predicts the primary model ID that
BaseModelRunnerwill pick for a given prompt and optional AI configuration.Applies the same configuration-chain -> null-configuration fallback rule as
BaseModelRunner.getPromptModelsForConfigurationoverAIEngine.Instance.PromptModels:promptIdwithStatus === 'Active'or'Preview'.configurationIdis provided, walkAIEngine.Instance.GetConfigurationChain(configurationId)(child -> parent -> ...) and pick the first configuration with matching rows.configurationIdis omitted), fall back to rows with a null/emptyConfigurationID.ModelIDof the highest-Prioritymatching row, ornullif none exist.ponytail: This helper predicts only the first candidate from
AIPromptModels(it does not replicate strategy-based pool selection when noAIPromptModelsrows exist, nor runtime failover to a secondary model). Runtime failover to a non-video model is still covered bystripUnsupportedMediaBlocksinAIPromptRunner. Once VS-UX-3 lands a publicPreviewModelSelection(prompt, configurationId?)method onBaseModelRunner(Wave 7), UX-3 should switch this call to delegate directly to it.