hikma-engine
Version:
Code Knowledge Graph Indexer - A sophisticated TypeScript-based indexer that transforms Git repositories into multi-dimensional knowledge stores for AI agents
48 lines • 1.8 kB
TypeScript
import { Database } from 'better-sqlite3';
import { RepositoryDTO, FileDTO, PhaseStatusDTO, GraphNodeDTO, GraphEdgeDTO } from './models';
/**
* Phase-specific repository that handles persistence for each indexing phase
*/
export declare class PhaseRepository {
private db;
private repositoryRepo;
private fileRepo;
private phaseStatusRepo;
private graphNodeRepo;
private graphEdgeRepo;
private embeddingNodeRepo;
constructor(db: Database);
isPhaseComplete(repoId: string, phaseName: string): Promise<boolean>;
markPhaseStarted(repoId: string, phaseName: string, commitHash?: string): Promise<void>;
markPhaseCompleted(repoId: string, phaseName: string, stats?: any): Promise<void>;
markPhaseFailed(repoId: string, phaseName: string, error: string): Promise<void>;
getPhaseStatuses(repoId: string): Promise<PhaseStatusDTO[]>;
persistPhase1Data(data: {
repository: RepositoryDTO;
files: FileDTO[];
}): Promise<void>;
loadPhase1Data(repoId: string): Promise<{
repository: RepositoryDTO | null;
files: FileDTO[];
}>;
persistPhase2Data(data: {
repoId: string;
astNodes: any[];
astEdges?: any[];
}): Promise<void>;
loadPhase2Data(repoId: string): Promise<{
astNodes: GraphNodeDTO[];
astEdges: GraphEdgeDTO[];
}>;
private convertAstNodeToGraphNodeDTO;
private generateSignatureHash;
private convertAstEdgeToGraphEdgeDTO;
persistPhase4Data(data: {
repoId: string;
finalNodes: any[];
finalEdges: any[];
}): Promise<void>;
clearPhaseData(repoId: string, phaseName: string): Promise<void>;
getPhaseStats(repoId: string): Promise<Record<string, any>>;
}
//# sourceMappingURL=PhaseRepository.d.ts.map