From a63e8da78520d2e9c92ec8d12c23d81a97b1db74 Mon Sep 17 00:00:00 2001 From: dal Date: Mon, 18 Aug 2025 07:19:34 -0600 Subject: [PATCH] Refactor sequential thinking tool to use toolCallId for message entries and improve error handling --- .../sequential-thinking-tool-execute.ts | 50 +++++++++++-------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-execute.ts b/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-execute.ts index 2e7b3b6cf..de8696567 100644 --- a/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-execute.ts +++ b/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-execute.ts @@ -29,35 +29,41 @@ async function processSequentialThinking( rawLlmMessages: [], }; - const reasoningEntry = createSequentialThinkingReasoningMessage( - state, - context.messageId, - 'completed' - ); - const rawLlmMessage = createSequentialThinkingRawLlmMessageEntry(state, context.messageId); + if (state.toolCallId) { + const reasoningEntry = createSequentialThinkingReasoningMessage( + state, + state.toolCallId, + 'completed' + ); + const rawLlmMessage = createSequentialThinkingRawLlmMessageEntry(state, state.toolCallId); - const rawToolResultEntry = createRawToolResultEntry( - context.messageId, - SEQUENTIAL_THINKING_TOOL_NAME, - output - ); + const rawToolResultEntry = createRawToolResultEntry( + context.messageId, + SEQUENTIAL_THINKING_TOOL_NAME, + output + ); - if (reasoningEntry) { - entries.reasoningMessages = [reasoningEntry]; - } + if (reasoningEntry) { + entries.reasoningMessages = [reasoningEntry]; + } - if (rawLlmMessage) { - entries.rawLlmMessages = [rawLlmMessage, rawToolResultEntry]; - } + if (rawLlmMessage) { + entries.rawLlmMessages = [rawLlmMessage, rawToolResultEntry]; + } - try { - await updateMessageEntries(entries); - } catch (error) { - console.error('[sequential-thinking] Error updating message entries:', error); + try { + await updateMessageEntries(entries); + } catch (error) { + console.error('[sequential-thinking] Error updating message entries:', error); + } + + return { + success: true, + }; } return { - success: true, + success: false, }; }