Refactor sequential thinking tool to use toolCallId for message entries and improve error handling

This commit is contained in:
dal 2025-08-18 07:19:34 -06:00
parent 95b67529ad
commit a63e8da785
No known key found for this signature in database
GPG Key ID: 16F4B0E1E9F61122
1 changed files with 28 additions and 22 deletions

View File

@ -29,35 +29,41 @@ async function processSequentialThinking(
rawLlmMessages: [], rawLlmMessages: [],
}; };
const reasoningEntry = createSequentialThinkingReasoningMessage( if (state.toolCallId) {
state, const reasoningEntry = createSequentialThinkingReasoningMessage(
context.messageId, state,
'completed' state.toolCallId,
); 'completed'
const rawLlmMessage = createSequentialThinkingRawLlmMessageEntry(state, context.messageId); );
const rawLlmMessage = createSequentialThinkingRawLlmMessageEntry(state, state.toolCallId);
const rawToolResultEntry = createRawToolResultEntry( const rawToolResultEntry = createRawToolResultEntry(
context.messageId, context.messageId,
SEQUENTIAL_THINKING_TOOL_NAME, SEQUENTIAL_THINKING_TOOL_NAME,
output output
); );
if (reasoningEntry) { if (reasoningEntry) {
entries.reasoningMessages = [reasoningEntry]; entries.reasoningMessages = [reasoningEntry];
} }
if (rawLlmMessage) { if (rawLlmMessage) {
entries.rawLlmMessages = [rawLlmMessage, rawToolResultEntry]; entries.rawLlmMessages = [rawLlmMessage, rawToolResultEntry];
} }
try { try {
await updateMessageEntries(entries); await updateMessageEntries(entries);
} catch (error) { } catch (error) {
console.error('[sequential-thinking] Error updating message entries:', error); console.error('[sequential-thinking] Error updating message entries:', error);
}
return {
success: true,
};
} }
return { return {
success: true, success: false,
}; };
} }