UNPKG

lorehub

Version:

Capture and surface the collective wisdom of your codebase

83 lines 3.6 kB
import BetterSqlite3 from 'better-sqlite3'; import type { Lore, LoreType, CreateLoreInput, UpdateLoreInput, Realm, CreateRealmInput, CreateRelationInput, Relation, LoreRelation, Workspace, CreateWorkspaceInput, UpdateWorkspaceInput } from '../core/types.js'; export declare class Database { sqlite: BetterSqlite3.Database; private db; private embeddingService; private changeTracker; constructor(dbPath: string); private loadSqliteVec; private runMigrations; private runMigrationsForInMemory; close(): void; listTables(): string[]; transaction<T>(fn: () => T): T; createRealm(input: CreateRealmInput): Realm; findRealm(id: string): Realm | null; findRealmByPath(path: string): Realm | null; updateRealmLastSeen(id: string): Realm | null; listRealms(): Realm[]; getCurrentRealm(): Realm | null; createLore(input: CreateLoreInput): Promise<Lore>; findLore(id: string): Lore | null; updateLore(id: string, input: UpdateLoreInput): Promise<Lore | null>; deleteLore(id: string): Promise<void>; softDeleteLore(id: string): Promise<void>; restoreLore(id: string): void; listLoresByRealm(realmId: string): Lore[]; listLoresByType(realmId: string, type: LoreType): Lore[]; listLoresByProvince(realmId: string, province: string): Lore[]; searchLores(realmId: string, query: string, limit?: number): Lore[]; searchLoresGlobal(query: string, limit?: number): Lore[]; getRealmLoreCount(realmId: string): number; semanticSearchLores(query: string, options?: { realmId?: string; threshold?: number; limit?: number; includeScore?: boolean; }): Promise<(Lore & { similarity?: number; })[]>; findSimilarLores(loreId: string, options?: { limit?: number; threshold?: number; }): Promise<(Lore & { similarity: number; })[]>; generateLoreEmbedding(loreId: string): Promise<void>; recreateLoresVecTable(dimensions: number): void; generateMissingEmbeddings(realmId?: string, batchSize?: number, force?: boolean): Promise<number>; checkForDuplicates(content: string, realmId: string, threshold?: number): Promise<(Lore & { similarity: number; })[]>; createRelation(input: CreateRelationInput): Promise<Relation>; listRelationsByLore(loreId: string): LoreRelation[]; deleteRelation(fromLoreId: string, toLoreId: string, type: string): Promise<void>; exportData(realmId?: string): { realms: Realm[]; lores: Lore[]; relations: Relation[]; }; importData(data: { realms: CreateRealmInput[]; lores: CreateLoreInput[]; relations: CreateRelationInput[]; }, mode?: 'replace' | 'merge'): Promise<void>; private dbRealmToRealm; private dbLoreToLore; private dbRelationToRelation; createWorkspace(input: CreateWorkspaceInput): Workspace; findWorkspace(id: string): Workspace | null; findWorkspaceByName(name: string): Workspace | null; getDefaultWorkspace(): Workspace | null; listWorkspaces(): Workspace[]; updateWorkspace(id: string, input: UpdateWorkspaceInput): Workspace | null; deleteWorkspace(id: string): void; linkRealmToWorkspace(realmId: string, workspaceId: string): void; unlinkRealmFromWorkspace(realmId: string, workspaceId: string): void; getRealmWorkspaces(realmId: string): Workspace[]; getWorkspaceRealms(workspaceId: string): Realm[]; ensureDefaultWorkspace(): Workspace; private dbWorkspaceToWorkspace; } //# sourceMappingURL=database.d.ts.map