code cleanup and test fix
This commit is contained in:
@@ -204,25 +204,27 @@ async function runTests() {
|
||||
// ===== TURN 3: Final tool result and response =====
|
||||
if (messages.length >= 4) {
|
||||
const lastAssistant = messages[messages.length - 1];
|
||||
const toolUseBlock = lastAssistant.content?.find(b => b.type === 'tool_use');
|
||||
const toolUseBlocks = lastAssistant.content?.filter(b => b.type === 'tool_use') || [];
|
||||
|
||||
if (toolUseBlock) {
|
||||
if (toolUseBlocks.length > 0) {
|
||||
console.log('\nTURN 3: Provide file content, expect final response');
|
||||
console.log('-'.repeat(40));
|
||||
|
||||
// Provide tool_result for ALL tool_use blocks (API requires this)
|
||||
const toolResults = toolUseBlocks.map((toolUseBlock, idx) => ({
|
||||
type: 'tool_result',
|
||||
tool_use_id: toolUseBlock.id,
|
||||
content: JSON.stringify({
|
||||
name: idx === 0 ? 'my-project' : 'core-package',
|
||||
dependencies: idx === 0
|
||||
? { express: '^4.18.2', cors: '^2.8.5' }
|
||||
: { lodash: '^4.17.21' }
|
||||
}, null, 2)
|
||||
}));
|
||||
|
||||
messages.push({
|
||||
role: 'user',
|
||||
content: [{
|
||||
type: 'tool_result',
|
||||
tool_use_id: toolUseBlock.id,
|
||||
content: JSON.stringify({
|
||||
name: 'my-project',
|
||||
dependencies: {
|
||||
express: '^4.18.2',
|
||||
cors: '^2.8.5'
|
||||
}
|
||||
}, null, 2)
|
||||
}]
|
||||
content: toolResults
|
||||
});
|
||||
|
||||
const turn3 = await makeRequest({
|
||||
@@ -248,8 +250,10 @@ async function runTests() {
|
||||
console.log(` Response: "${analysis.text[0].text.substring(0, 100)}..."`);
|
||||
}
|
||||
|
||||
const passed = analysis.hasThinking && analysis.hasText;
|
||||
results.push({ name: 'Turn 3: Thinking + Text response', passed });
|
||||
// Thinking is optional for final responses - model may skip it for simple tasks
|
||||
const passed = analysis.hasText;
|
||||
const thinkingNote = analysis.hasThinking ? ' (with thinking)' : ' (no thinking - normal for simple tasks)';
|
||||
results.push({ name: 'Turn 3: Text response' + thinkingNote, passed });
|
||||
if (!passed) allPassed = false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user