33 lines
971 B
TypeScript
33 lines
971 B
TypeScript
import { Message } from '../types';
|
|
import { DatabaseManager } from './db';
|
|
import { IEmbeddingService } from '../core/embedding-service';
|
|
export declare class MessagesDAO {
|
|
private dbManager;
|
|
private embeddingService;
|
|
private searchEngine;
|
|
constructor(dbManager: DatabaseManager, embeddingService: IEmbeddingService);
|
|
private get db();
|
|
create(input: Partial<Message> & {
|
|
threadId: string;
|
|
role: string;
|
|
content: string;
|
|
}): Promise<Message>;
|
|
findByThreadId(threadId: string, options?: {
|
|
limit?: number;
|
|
offset?: number;
|
|
}): Message[];
|
|
/**
|
|
* Semantically search for messages
|
|
*/
|
|
searchSimilar(query: string, options?: {
|
|
threadId?: string;
|
|
topK?: number;
|
|
minScore?: number;
|
|
}): Promise<Array<Message & {
|
|
score: number;
|
|
}>>;
|
|
deleteByThreadId(threadId: string): void;
|
|
private updateThreadMessageCount;
|
|
private mapRowToMessage;
|
|
}
|