Skip to content

Commit df31795

Browse files
committed
Tweak some code cases
1 parent 68f5746 commit df31795

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

packages/agent-runtime/src/run-agent-step.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,8 @@ export const runAgentStep = async (
278278
`Start agent ${agentType} step ${iterationNum} (${userInputId}${prompt ? ` - Prompt: ${prompt.slice(0, 20)}` : ''})`,
279279
)
280280

281-
if (params.n) {
281+
// Handle n parameter for generating multiple responses
282+
if (params.n !== undefined) {
282283
const responsesString = await params.promptAiSdk({
283284
...params,
284285
messages: agentMessages,
@@ -288,6 +289,13 @@ export const runAgentStep = async (
288289
n: params.n,
289290
})
290291
const nResponses = JSON.parse(responsesString) as string[]
292+
293+
// Update agent state with the message history including the generations
294+
agentState = {
295+
...agentState,
296+
messageHistory: agentMessages,
297+
}
298+
291299
return {
292300
agentState,
293301
fullResponse: responsesString,

packages/agent-runtime/src/run-programmatic-step.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)