11import type { OpenClawConfig } from "../config/types.openclaw.js" ;
2+ import { normalizeGooglePreviewModelId } from "../plugin-sdk/provider-model-id-normalize.js" ;
23import {
34 normalizeLowercaseStringOrEmpty ,
45 normalizeOptionalLowercaseString ,
56} from "../shared/string-coerce.js" ;
67import { liveProvidersShareOwningPlugin } from "./live-provider-owner.js" ;
7- import { normalizeStaticProviderModelId } from "./model-ref-shared.js" ;
88import { normalizeProviderId } from "./provider-id.js" ;
99
1010type ModelTarget = {
@@ -13,6 +13,15 @@ type ModelTarget = {
1313 modelId : string ;
1414} ;
1515
16+ const GOOGLE_LIVE_TARGET_PROVIDERS = new Set ( [ "google" , "google-gemini-cli" , "google-vertex" ] ) ;
17+
18+ function normalizeLiveTargetModelId ( provider : string , modelId : string ) : string {
19+ const trimmed = modelId . trim ( ) ;
20+ return GOOGLE_LIVE_TARGET_PROVIDERS . has ( provider )
21+ ? normalizeGooglePreviewModelId ( trimmed )
22+ : trimmed ;
23+ }
24+
1625function normalizeCsvSet ( values : Set < string > | null ) : Set < string > | null {
1726 if ( ! values ) {
1827 return null ;
@@ -42,7 +51,7 @@ function parseModelTarget(raw: string): ModelTarget | null {
4251 }
4352 const provider = normalizeProviderId ( trimmed . slice ( 0 , slash ) ) ;
4453 const modelId = normalizeLowercaseStringOrEmpty (
45- normalizeStaticProviderModelId ( provider , trimmed . slice ( slash + 1 ) ) ,
54+ normalizeLiveTargetModelId ( provider , trimmed . slice ( slash + 1 ) ) ,
4655 ) ;
4756 if ( ! provider || ! modelId ) {
4857 return null ;
0 commit comments