From e52c0c7d72b3f05692e8501d666cfb87503b56f7 Mon Sep 17 00:00:00 2001 From: dal Date: Tue, 12 Aug 2025 16:15:37 -0600 Subject: [PATCH] move sequential thinking away from old inherited context --- .../sequential-thinking-tool-delta.ts | 4 ++-- .../sequential-thinking-tool-execute.ts | 4 +--- .../sequential-thinking-tool-finish.ts | 4 ++-- .../sequential-thinking-tool-start.ts | 4 ++-- .../sequential-thinking-tool.ts | 12 +++++------- packages/database/src/schema.ts | 6 +++--- 6 files changed, 15 insertions(+), 19 deletions(-) diff --git a/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-delta.ts b/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-delta.ts index 245a2f20e..a57361f42 100644 --- a/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-delta.ts +++ b/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-delta.ts @@ -21,9 +21,9 @@ const NEXT_THOUGHT_NEEDED_KEY = 'nextThoughtNeeded' as const satisfies keyof SequentialThinkingInput; const THOUGHT_NUMBER_KEY = 'thoughtNumber' as const satisfies keyof SequentialThinkingInput; -export function createSequentialThinkingDelta( +export function createSequentialThinkingDelta( sequentialThinkingState: SequentialThinkingState, - context: TAgentContext + context: SequentialThinkingContext ) { return async function sequentialThinkingDelta( options: { inputTextDelta: string } & ToolCallOptions 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 a75aeda94..14375a32f 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 @@ -35,9 +35,7 @@ async function processSequentialThinking( } // Factory function that creates the execute function with proper context typing -export function createSequentialThinkingExecute( - context: TAgentContext -) { +export function createSequentialThinkingExecute(context: SequentialThinkingContext) { return wrapTraced( async (input: SequentialThinkingInput): Promise => { // Use the messageId from the passed context diff --git a/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-finish.ts b/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-finish.ts index a9ab1a99d..47a9b619e 100644 --- a/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-finish.ts +++ b/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-finish.ts @@ -11,9 +11,9 @@ import type { SequentialThinkingState, } from './sequential-thinking-tool'; -export function createSequentialThinkingFinish( +export function createSequentialThinkingFinish( sequentialThinkingState: SequentialThinkingState, - context: TAgentContext + context: SequentialThinkingContext ) { return async function sequentialThinkingFinish( options: { input: SequentialThinkingInput } & ToolCallOptions diff --git a/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-start.ts b/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-start.ts index 7c6a0f40f..37f3ae9e6 100644 --- a/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-start.ts +++ b/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool-start.ts @@ -10,9 +10,9 @@ import type { } from './sequential-thinking-tool'; // Factory function that creates a type-safe callback for the specific agent context -export function createSequentialThinkingStart( +export function createSequentialThinkingStart( sequentialThinkingState: SequentialThinkingState, - context: TAgentContext + context: SequentialThinkingContext ) { return async function sequentialThinkingStart(options: ToolCallOptions): Promise { // Set the entry ID in state diff --git a/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool.ts b/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool.ts index 04612d27d..1ec8dfa28 100644 --- a/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool.ts +++ b/packages/ai/src/tools/planning-thinking-tools/sequential-thinking-tool/sequential-thinking-tool.ts @@ -58,9 +58,7 @@ export type SequentialThinkingOutput = z.infer; export type SequentialThinkingState = z.infer; -export function createSequentialThinkingTool< - TAgentContext extends SequentialThinkingContext = SequentialThinkingContext, ->(context: TAgentContext) { +export function createSequentialThinkingTool(context: SequentialThinkingContext) { const state: SequentialThinkingState = { entry_id: undefined, args: undefined, @@ -69,10 +67,10 @@ export function createSequentialThinkingTool< thoughtNumber: undefined, }; - const execute = createSequentialThinkingExecute(context); - const onInputStart = createSequentialThinkingStart(state, context); - const onInputDelta = createSequentialThinkingDelta(state, context); - const onInputAvailable = createSequentialThinkingFinish(state, context); + const execute = createSequentialThinkingExecute(context); + const onInputStart = createSequentialThinkingStart(state, context); + const onInputDelta = createSequentialThinkingDelta(state, context); + const onInputAvailable = createSequentialThinkingFinish(state, context); return tool({ description: `A detailed tool for dynamic and reflective problem-solving through thoughts. diff --git a/packages/database/src/schema.ts b/packages/database/src/schema.ts index d36d4af71..5aedc198b 100644 --- a/packages/database/src/schema.ts +++ b/packages/database/src/schema.ts @@ -852,10 +852,10 @@ export const messages = pgTable( { id: uuid().defaultRandom().primaryKey().notNull(), requestMessage: text('request_message'), - responseMessages: jsonb('response_messages').notNull(), - reasoning: jsonb().notNull(), + responseMessages: jsonb('response_messages').default([]).notNull(), + reasoning: jsonb().default([]).notNull(), title: text().notNull(), - rawLlmMessages: jsonb('raw_llm_messages').notNull(), + rawLlmMessages: jsonb('raw_llm_messages').default([]).notNull(), finalReasoningMessage: text('final_reasoning_message'), chatId: uuid('chat_id').notNull(), createdAt: timestamp('created_at', { withTimezone: true, mode: 'string' })