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: [],
};
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,
};
}