@@ -67,6 +67,7 @@ export namespace Session {
6767 } ) ,
6868 agent : z . string ( ) . optional ( ) ,
6969 agentContext : Agent . Context ,
70+ model : z . string ( ) . optional ( ) ,
7071 revert : z
7172 . object ( {
7273 messageID : z . string ( ) ,
@@ -167,6 +168,7 @@ export namespace Session {
167168 export async function createForAgent (
168169 agentId : string ,
169170 initContext : Agent . Context ,
171+ model ?: string ,
170172 ) : Promise < Info > {
171173 const session = await create ( undefined , agentId )
172174 const fullContext = await AgentServices . loadContext (
@@ -178,6 +180,7 @@ export namespace Session {
178180 return ( await update ( session . id , ( draft ) => {
179181 draft . agent = agentId
180182 draft . agentContext = fullContext
183+ if ( model ) draft . model = model
181184 } ) ) !
182185 }
183186
@@ -328,12 +331,13 @@ export namespace Session {
328331 ? await AgentServices . loadConfig ( session . agent , session . agentContext )
329332 : undefined
330333
331- const agentModel = agentConfig ?. model
332- ? Provider . parseModel ( agentConfig . model )
333- : undefined
334+ const resolvedModel = ( ( ) => {
335+ if ( session . model ) return Provider . parseModel ( session . model )
336+ if ( agentConfig ?. model ) return Provider . parseModel ( agentConfig . model )
337+ return { providerID : input . providerID , modelID : input . modelID }
338+ } ) ( )
334339
335- const modelID = agentModel ? agentModel ?. modelID : input . modelID
336- const providerID = agentModel ? agentModel ?. providerID : input . providerID
340+ const { providerID, modelID } = resolvedModel
337341 const model = await Provider . getModel ( providerID , modelID )
338342
339343 if ( session . revert ) {
0 commit comments