@@ -203,7 +203,7 @@ export async function runProgrammaticStep(
203203 messages : cloneDeep ( agentState . messageHistory ) ,
204204 }
205205
206- let toolResult : ToolResultOutput [ ] = [ ]
206+ let toolResult : ToolResultOutput [ ] | undefined = undefined
207207 let endTurn = false
208208 let textOverride : string | null = null
209209 let generateN : number | undefined = undefined
@@ -221,7 +221,7 @@ export async function runProgrammaticStep(
221221
222222 const result = generator ! . next ( {
223223 agentState : getPublicAgentState ( state . agentState ) ,
224- toolResult,
224+ toolResult : toolResult ?? [ ] ,
225225 stepsComplete,
226226 nResponses,
227227 } )
@@ -246,8 +246,8 @@ export async function runProgrammaticStep(
246246 if ( 'type' in result . value && result . value . type === 'GENERATE_N' ) {
247247 logger . info ( { resultValue : result . value } , 'GENERATE_N yielded' )
248248 // Handle GENERATE_N: generate n responses using the LLM
249- const n = result . value . n
250- generateN = n
249+ generateN = result . value . n
250+ endTurn = false
251251 break
252252 }
253253
@@ -366,7 +366,8 @@ export async function runProgrammaticStep(
366366 state . agentState . messageHistory = state . messages
367367
368368 // Get the latest tool result
369- toolResult = toolResults [ toolResults . length - 1 ] ?. output
369+ const latestToolResult = toolResults [ toolResults . length - 1 ]
370+ toolResult = latestToolResult ?. output
370371
371372 if ( state . agentState . runId ) {
372373 await addAgentStep ( {
@@ -445,6 +446,7 @@ export async function runProgrammaticStep(
445446 textOverride : null ,
446447 endTurn,
447448 stepNumber,
449+ generateN : undefined ,
448450 }
449451 } finally {
450452 if ( endTurn ) {
0 commit comments