@@ -108,6 +108,7 @@ export namespace Provider {
108108 const existing = database [ providerID ]
109109 const parsed : ModelsDev . Provider = {
110110 id : providerID ,
111+ npm : provider . npm ?? existing ?. npm ,
111112 name : provider . name ?? existing ?. name ?? providerID ,
112113 env : provider . env ?? existing ?. env ?? [ ] ,
113114 models : existing ?. models ?? { } ,
@@ -181,22 +182,22 @@ export namespace Provider {
181182 return state ( ) . then ( ( state ) => state . providers )
182183 }
183184
184- async function getSDK ( providerID : string ) {
185+ async function getSDK ( provider : ModelsDev . Provider ) {
185186 return ( async ( ) => {
186187 using _ = log . time ( "getSDK" , {
187- providerID,
188+ providerID : provider . id ,
188189 } )
189190 const s = await state ( )
190- const existing = s . sdk . get ( providerID )
191+ const existing = s . sdk . get ( provider . id )
191192 if ( existing ) return existing
192- const [ pkg , version ] = await ModelsDev . pkg ( providerID )
193+ const [ pkg , version ] = await ModelsDev . pkg ( provider . npm ?? provider . id )
193194 const mod = await import ( await BunProc . install ( pkg , version ) )
194195 const fn = mod [ Object . keys ( mod ) . find ( ( key ) => key . startsWith ( "create" ) ) ! ]
195- const loaded = fn ( s . providers [ providerID ] ?. options )
196- s . sdk . set ( providerID , loaded )
196+ const loaded = fn ( s . providers [ provider . id ] ?. options )
197+ s . sdk . set ( provider . id , loaded )
197198 return loaded as SDK
198199 } ) ( ) . catch ( ( e ) => {
199- throw new InitError ( { providerID : providerID } , { cause : e } )
200+ throw new InitError ( { providerID : provider . id } , { cause : e } )
200201 } )
201202 }
202203
@@ -214,8 +215,7 @@ export namespace Provider {
214215 if ( ! provider ) throw new ModelNotFoundError ( { providerID, modelID } )
215216 const info = provider . info . models [ modelID ]
216217 if ( ! info ) throw new ModelNotFoundError ( { providerID, modelID } )
217-
218- const sdk = await getSDK ( providerID )
218+ const sdk = await getSDK ( provider . info )
219219
220220 try {
221221 const language =
0 commit comments