/** * @nahisaho/musubix-codegraph - Knowledge Store Adapter * * Adapts @musubix/knowledge's KnowledgeStore to the codegraph StorageAdapter interface. * Maps codegraph entities/relations to knowledge graph entities/relations. * * @see REQ-CG-API-005 * @see DES-CG-006 */ import type { StorageAdapter, StorageStats, Entity, Relation, GraphQuery } from '../types.js'; import type { KnowledgeStore } from '@musubix/knowledge'; /** * Options for KnowledgeAdapter */ export interface KnowledgeAdapterOptions { /** Whether to auto-save after each mutation (default: false) */ autoSave?: boolean; } /** * Knowledge Store adapter for codegraph * * Bridges @musubix/knowledge's KnowledgeStore to the codegraph StorageAdapter * interface, allowing codegraph data to be persisted in the knowledge graph. * * @example * ```typescript * import { createKnowledgeStore } from '@musubix/knowledge'; * import { KnowledgeAdapter } from '@nahisaho/musubix-codegraph/storage'; * * const store = createKnowledgeStore('.knowledge'); * const adapter = new KnowledgeAdapter(store); * await adapter.initialize(); * * await adapter.saveEntity(entity); * const retrieved = await adapter.getEntity(entity.id); * ``` */ export declare class KnowledgeAdapter implements StorageAdapter { private store; private options; private initialized; private filePathSet; constructor(store: KnowledgeStore, options?: KnowledgeAdapterOptions); initialize(): Promise; close(): Promise; saveEntity(entity: Entity): Promise; getEntity(id: string): Promise; queryEntities(query: GraphQuery): Promise; deleteEntity(id: string): Promise; saveRelation(relation: Relation): Promise; getRelations(entityId: string, direction?: 'in' | 'out' | 'both'): Promise; deleteRelation(id: string): Promise; bulkSave(entities: Entity[], relations: Relation[]): Promise; clear(): Promise; getStats(): Promise; /** * Rebuild the file path index from stored entities */ private rebuildFilePathIndex; /** * Save all pending changes to disk */ save(): Promise; /** * Check if the adapter is initialized */ isInitialized(): boolean; } //# sourceMappingURL=knowledge-adapter.d.ts.map