@@ -137,4 +137,66 @@ describe("VertexHandler", () => {
137137 expect ( modelInfo . info . contextWindow ) . toBe ( 1048576 )
138138 } )
139139 } )
140+
141+ describe ( "legacy model migration" , ( ) => {
142+ it ( "should map gemini-2.5-pro-preview-{dates} to gemini-2.5-pro" , ( ) => {
143+ const legacyHandler = new VertexHandler ( {
144+ apiModelId : "gemini-2.5-pro-preview-03-25" ,
145+ vertexProjectId : "test-project" ,
146+ vertexRegion : "us-central1" ,
147+ } )
148+ const modelInfo = legacyHandler . getModel ( )
149+ expect ( modelInfo . id ) . toBe ( "gemini-2.5-pro" )
150+ } )
151+
152+ it ( "should map gemini-1.5-pro-{variants} to gemini-2.0-pro-exp-02-05" , ( ) => {
153+ const legacyHandler = new VertexHandler ( {
154+ apiModelId : "gemini-1.5-pro-002" ,
155+ vertexProjectId : "test-project" ,
156+ vertexRegion : "us-central1" ,
157+ } )
158+ const modelInfo = legacyHandler . getModel ( )
159+ expect ( modelInfo . id ) . toBe ( "gemini-2.0-pro-exp-02-05" )
160+ } )
161+
162+ it ( "should map gemini-1.5-flash-{variants} to gemini-2.0-flash-001" , ( ) => {
163+ const legacyHandler = new VertexHandler ( {
164+ apiModelId : "gemini-1.5-flash-002" ,
165+ vertexProjectId : "test-project" ,
166+ vertexRegion : "us-central1" ,
167+ } )
168+ const modelInfo = legacyHandler . getModel ( )
169+ expect ( modelInfo . id ) . toBe ( "gemini-2.0-flash-001" )
170+ } )
171+
172+ it ( "should map experimental gemini-2.5-pro-exp-03-25 to gemini-2.5-pro" , ( ) => {
173+ const legacyHandler = new VertexHandler ( {
174+ apiModelId : "gemini-2.5-pro-exp-03-25" ,
175+ vertexProjectId : "test-project" ,
176+ vertexRegion : "us-central1" ,
177+ } )
178+ const modelInfo = legacyHandler . getModel ( )
179+ expect ( modelInfo . id ) . toBe ( "gemini-2.5-pro" )
180+ } )
181+
182+ it ( "should keep current vertex models as-is" , ( ) => {
183+ const currentHandler = new VertexHandler ( {
184+ apiModelId : "gemini-2.5-pro" ,
185+ vertexProjectId : "test-project" ,
186+ vertexRegion : "us-central1" ,
187+ } )
188+ const modelInfo = currentHandler . getModel ( )
189+ expect ( modelInfo . id ) . toBe ( "gemini-2.5-pro" )
190+ } )
191+
192+ it ( "should keep claude models as-is" , ( ) => {
193+ const claudeHandler = new VertexHandler ( {
194+ apiModelId : "claude-sonnet-4@20250514" ,
195+ vertexProjectId : "test-project" ,
196+ vertexRegion : "us-central1" ,
197+ } )
198+ const modelInfo = claudeHandler . getModel ( )
199+ expect ( modelInfo . id ) . toBe ( "claude-sonnet-4@20250514" )
200+ } )
201+ } )
140202} )
0 commit comments