61 lines
2.2 KiB
TypeScript
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>;
|
|
}
|