Skip to content

Commit 839ef3e

Browse files
committed
editor: don't include spawn agents tool call so anthropic api doesn't error
1 parent ca0399f commit 839ef3e

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

.agents/editor/best-of-n/editor-best-of-n.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ function* handleStepsDefault({
229229
}
230230
}
231231
function* handleStepsMax({
232+
agentState,
232233
params,
233234
logger,
234235
}: AgentStepContext): ReturnType<
@@ -255,6 +256,28 @@ function* handleStepsMax({
255256
'editor-implementor-opus',
256257
] as const
257258

259+
// Only keep messages up to just before the last spawn agent tool call.
260+
const { messageHistory: initialMessageHistory } = agentState
261+
const lastSpawnAgentMessageIndex = initialMessageHistory.findLastIndex(
262+
(message) =>
263+
message.role === 'assistant' &&
264+
Array.isArray(message.content) &&
265+
message.content.length > 0 &&
266+
message.content[0].type === 'tool-call' &&
267+
message.content[0].toolName === 'spawn_agents',
268+
)
269+
const updatedMessageHistory = initialMessageHistory.slice(
270+
0,
271+
lastSpawnAgentMessageIndex,
272+
)
273+
yield {
274+
toolName: 'set_messages',
275+
input: {
276+
messages: updatedMessageHistory,
277+
},
278+
includeToolCall: false,
279+
} satisfies ToolCall<'set_messages'>
280+
258281
// Spawn implementor agents using the model pattern
259282
const implementorAgents = MAX_MODEL_PATTERN.slice(0, n).map((agent_type) => ({
260283
agent_type,

0 commit comments

Comments
 (0)