async function executeSyncAgent(
input: AgentInput,
context: AgentContext
): Promise<ToolResult> {
// 1. 准备消息
const messages = [
{ role: 'user', content: input.prompt },
];
// 2. 添加上下文文件
if (input.contextFiles) {
const contextContent = await loadContextFiles(input.contextFiles);
messages[0].content += '\n\n' + contextContent;
}
// 3. 执行 Query Loop
let finalResponse = '';
for await (const event of query(messages, context.tools, {
system: context.systemPrompt,
model: context.model,
})) {
if (event.type === 'content') {
finalResponse += event.content;
}
}
// 4. 返回结果
return {
success: true,
output: finalResponse,
};
}