code cleanup and test fix

This commit is contained in:
Badri Narayanan S
2025-12-21 20:25:20 +05:30
parent c703fb32fb
commit f282b36d1e
4 changed files with 19 additions and 21 deletions

View File

@@ -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;
}
}