UNPKG

context-crystallizer

Version:

AI Crystallization Engineering for Large Repositories - Transform massive repositories into crystallized, AI-consumable knowledge through systematic analysis and optimization. Crystallization extracts meaningful context from any readable files.

200 lines 6.62 kB
export interface CrystallizerContext { purpose: string; keyTerms: string[]; dependencies?: string[]; patterns?: string[]; relatedContexts?: string[]; aiGuidance?: string; errorHandling?: string[]; integrationPoints?: string[]; } export interface FileMetadata { complexity: 'low' | 'medium' | 'high'; category: 'config' | 'source' | 'test' | 'docs' | 'other'; estimatedTokens: number; } export declare class CrystallizerCore { private fileScanner?; private contextStorage?; private queueManager?; private contextSearch?; private contextValidator?; private changeDetector?; private contextUpdater?; initializeCrystallization(repoPath: string, exclude?: string[]): Promise<{ filesQueued: number; reinitialized?: boolean; }>; private isAlreadyInitialized; private ensureInfrastructure; private initializeComponents; private performFreshInitialization; private createTemplateFiles; private createDefaultTemplate; private createTimeoutConfigFile; getNextFileForCrystallization(): Promise<{ path: string; relativePath: string; content: string; metadata: { size: number; priority: number; fileType: string; estimatedTokens: number; category: "config" | "source" | "test" | "docs" | "other"; lastModified: Date; }; } | null>; storeCrystallizedContext(filePath: string, context: CrystallizerContext, fileContent?: string, fileMetadata?: Partial<FileMetadata>): Promise<{ filePath: string; totalContexts: number; totalTokens: number; }>; getCrystallizationProgress(): Promise<{ contextStats: { totalContexts: number; byCategory: Record<string, number>; byTemplate: Record<string, number>; totalTokens: number; avgTokensPerContext: number; }; session: { sessionId: string; startTime: Date | null; repoPath: string | null; }; completionPercentage: number; estimatedCompletionTime: string | null; totalFiles: number; processedFiles: number; currentFile?: string; startTime: Date; estimatedTimeRemaining?: number; sessionId: string; totalEstimatedTokens: number; processedTokens: number; avgTokensPerFile: number; filesByCategory: Record<string, number>; processedByCategory: Record<string, number>; }>; searchCrystallizedContexts(query: string, maxTokens?: number, category?: string): Promise<{ query: string; results: number; totalTokens: number; matches: { file: string; relevance: number; category: "config" | "source" | "test" | "docs" | "other"; complexity: "low" | "medium" | "high"; tokens: number | undefined; highlights: string[]; purpose: string; keyTerms: string[]; }[]; }>; getCrystallizedBundle(files: string[], maxTokens?: number): Promise<{ requestedFiles: number; includedFiles: number; totalTokens: number; contexts: { file: string; purpose: string; keyTerms: string[]; dependencies: string[]; patterns: string[]; crossReferences: import("../types/index.js").CrossReference[]; complexity: "low" | "medium" | "high"; category: "config" | "source" | "test" | "docs" | "other"; tokenCount: number | undefined; }[]; }>; findRelatedCrystallizedContexts(filePath: string, maxResults?: number): Promise<{ sourceFile: string; relatedContexts: number; matches: { file: string; relevance: number; category: "config" | "source" | "test" | "docs" | "other"; purpose: string; keyTerms: string[]; relationship: string; }[]; }>; searchByComplexity(complexity: 'low' | 'medium' | 'high', maxResults?: number): Promise<{ complexity: "low" | "medium" | "high"; totalFound: number; contexts: { file: string; category: "config" | "source" | "test" | "docs" | "other"; purpose: string; keyTerms: string[]; tokenCount: number | undefined; }[]; }>; validateCrystallizationQuality(filePath?: string, generateReport?: boolean): Promise<{ overallScore: number; totalContexts: number; categoryScores: Record<string, number>; commonIssues: { issue: string; count: number; }[]; recommendations: string[]; metrics: { avgTokensPerContext: number; tokenEfficiencyRating: "excellent" | "good" | "fair" | "poor"; coverageCompleteness: number; crossReferenceRatio: number; }; type: string; } | { isValid: boolean; score: number; issues: import("../types/index.js").ValidationIssue[]; suggestions: string[]; metrics: import("../types/index.js").QualityMetrics; type: string; file: string; }>; updateCrystallizedContexts(options?: { forceUpdate?: boolean; includeUnchanged?: boolean; cleanupDeleted?: boolean; checkOnly?: boolean; generateReport?: boolean; }): Promise<{ type: string; report: string; } | { needsUpdate: boolean; summary: { lastScan: Date | null; totalFiles: number; filesWithContext: number; contextCoverage: number; estimatedOutdated: number; }; type: string; report?: undefined; } | { summary: { filesScanned: number; changesDetected: number; contextsUpdated: number; contextsAdded: number; contextsRemoved: number; errors: number; }; changes: import("../core/change-detector.js").FileChange[]; updatedContexts: string[]; errors: Array<{ file: string; error: string; }>; type: string; report?: undefined; }>; getCrystallizationGuidance(repoPath?: string): Promise<any>; private loadTemplatesFromFiles; } //# sourceMappingURL=crystallizer-core.d.ts.map