spa/.claude/skills/thread-manager/dist/core/thread-manager.d.ts

61 lines
2.2 KiB
TypeScript

import { DatabaseManager, MessagesDAO } from '../database';
import { Thread, Message, FileChange, CreateThreadInput, ListThreadsInput, UpdateThreadInput } from '../types';
export declare class ThreadManager {
private dbManager;
private threadsDAO;
private messagesDAO;
private fileChangesDAO;
private gitIntegration;
private embeddingService;
private claudeContextPath;
constructor(dbManager: DatabaseManager);
get messagesDAOInstance(): MessagesDAO;
private updateClaudeMd;
createThread(input: CreateThreadInput): Promise<{
thread: Thread;
message: string;
launchCommand: string;
}>;
private formatCreateMessage;
private formatCombinedSwitchMessage;
getThread(id: string, includeMessages?: boolean, includeFileChanges?: boolean, messageLimit?: number): Promise<{
thread: Thread | null;
messages?: Message[];
fileChanges?: FileChange[];
}>;
listThreads(input: ListThreadsInput): Promise<{
threads: Thread[];
total: number;
currentThreadId?: string;
message: string;
}>;
private formatListThreadsMessage;
findThreadsByPrefix(prefix: string): Thread[];
updateThread(id: string, updates: UpdateThreadInput): Promise<{
success: boolean;
thread?: Thread;
message: string;
}>;
deleteThread(id: string): Promise<{
success: boolean;
message: string;
}>;
switchThread(id: string, options?: {
forceIsolate?: boolean;
}): Promise<{
success: boolean;
thread?: Thread;
messages?: Message[];
message: string;
launchCommand?: string;
}>;
getCurrentThread(includeMessages?: boolean, includeFileChanges?: boolean, messageLimit?: number): Promise<{
thread?: Thread;
messages?: Message[];
fileChanges?: FileChange[];
message?: string;
}>;
addMessageToThread(threadId: string, role: 'user' | 'assistant' | 'system', content: string, metadata?: Record<string, any>): Promise<Message>;
trackFileChange(threadId: string, filePath: string, changeType?: 'added' | 'modified' | 'deleted', linesAdded?: number, linesDeleted?: number, gitCommit?: string): Promise<FileChange>;
}