import { Repository } from 'typeorm'; import { C as ConversationStore, A as AiMessage } from './conversation-store.interface-CtQY-qcc.cjs'; import 'ai'; /** * Persisted conversation message. Register this entity in your TypeORM * `DataSource` (`entities: [ConversationMessageEntity]`) and wire * `TypeOrmConversationStore` as the module's `conversationStore`. */ declare class ConversationMessageEntity { id: string; conversationId: string; role: string; /** Message content stored as JSON to preserve structured parts. */ content: unknown; position: number; createdAt: Date; } /** * TypeORM-backed conversation store. Framework-agnostic: pass a * `Repository` (obtain it via `@nestjs/typeorm`'s * `getRepositoryToken` in a factory provider). Messages are ordered by an * append-only `position` column. * * @example * ```ts * AiModule.forRoot({ * conversationStore: { * useFactory: (repo) => new TypeOrmConversationStore(repo), * inject: [getRepositoryToken(ConversationMessageEntity)], * }, * }) * ``` */ declare class TypeOrmConversationStore implements ConversationStore { private readonly repository; constructor(repository: Repository); load(conversationId: string): Promise; append(conversationId: string, messages: AiMessage[]): Promise; clear(conversationId: string): Promise; } export { ConversationMessageEntity, TypeOrmConversationStore };