/** * ThinkingTools - Sequential thinking tool for structured reasoning * * Provides a built-in sequential thinking tool that allows AI agents to * break complex problems into numbered steps with branching, revision, * and dynamic expansion. Raw thoughts are never returned or persisted; * only metadata is sent back. The finalize tool bridges thinking outcomes * into Memory Bank files. * * Reference: repos/sequentialthinking/ (vendored reference implementation) */ import { MemoryBankManager } from '../../core/MemoryBankManager.js'; export declare const thinkingTools: ({ name: string; description: string; inputSchema: { type: string; properties: { thought: { type: string; description: string; }; nextThoughtNeeded: { type: string; description: string; }; thoughtNumber: { type: string; description: string; minimum: number; }; totalThoughts: { type: string; description: string; minimum: number; }; isRevision: { type: string; description: string; }; revisesThought: { type: string; description: string; minimum: number; }; branchFromThought: { type: string; description: string; minimum: number; }; branchId: { type: string; description: string; }; needsMoreThoughts: { type: string; description: string; }; sessionId: { type: string; description: string; }; reset: { type: string; description: string; }; summary?: undefined; decision?: undefined; tasks?: undefined; nextSteps?: undefined; progressEntry?: undefined; }; required: never[]; }; } | { name: string; description: string; inputSchema: { type: string; properties: { summary: { type: string; description: string; }; decision: { type: string; description: string; properties: { title: { type: string; description: string; }; context: { type: string; description: string; }; decision: { type: string; description: string; }; alternatives: { type: string; items: { type: string; }; description: string; }; consequences: { type: string; items: { type: string; }; description: string; }; }; required: string[]; }; tasks: { type: string; description: string; properties: { add: { type: string; items: { type: string; }; description: string; }; remove: { type: string; items: { type: string; }; description: string; }; replace: { type: string; items: { type: string; }; description: string; }; }; }; nextSteps: { type: string; items: { type: string; }; description: string; }; progressEntry: { type: string; description: string; properties: { type: { type: string; enum: string[]; description: string; }; summary: { type: string; description: string; }; details: { type: string; description: string; }; files: { type: string; items: { type: string; }; description: string; }; tags: { type: string; items: { type: string; }; description: string; }; }; required: string[]; }; sessionId: { type: string; description: string; }; thought?: undefined; nextThoughtNeeded?: undefined; thoughtNumber?: undefined; totalThoughts?: undefined; isRevision?: undefined; revisesThought?: undefined; branchFromThought?: undefined; branchId?: undefined; needsMoreThoughts?: undefined; reset?: undefined; }; required: string[]; }; })[]; /** * Handle sequential_thinking tool call. * Stores thought in memory, returns metadata only (never the raw thought text). * If reset:true is provided, clears session(s) instead of recording a thought. */ export declare function handleSequentialThinking(input: { thought?: string; nextThoughtNeeded?: boolean; thoughtNumber?: number; totalThoughts?: number; isRevision?: boolean; revisesThought?: number; branchFromThought?: number; branchId?: string; needsMoreThoughts?: boolean; sessionId?: string; reset?: boolean; }): { content: Array<{ type: string; text: string; }>; isError?: boolean; }; /** * Handle finalize_thinking_session tool call. * Persists sanitized outcomes into Memory Bank files — never raw thoughts. */ export declare function handleFinalizeThinkingSession(memoryBankManager: MemoryBankManager, input: { summary: string; decision?: { title: string; context: string; decision: string; alternatives?: string[]; consequences?: string[]; }; tasks?: { add?: string[]; remove?: string[]; replace?: string[]; }; nextSteps?: string[]; progressEntry?: { type: 'feature' | 'fix' | 'refactor' | 'docs' | 'test' | 'chore' | 'other'; summary: string; details?: string; files?: string[]; tags?: string[]; }; sessionId?: string; }): Promise<{ content: Array<{ type: string; text: string; }>; isError?: boolean; }>; //# sourceMappingURL=ThinkingTools.d.ts.map