@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
48 lines • 1.67 kB
TypeScript
import { Document } from '@langchain/core/documents';
import { CodeContext, QueryContext, ContextChain } from './types';
export interface ContextWindow {
id: string;
documents: Document[];
totalTokens: number;
maxTokens: number;
priority: number;
createdAt: Date;
lastAccessed: Date;
}
export interface ContextManagerConfig {
maxContextWindows: number;
maxTokensPerWindow: number;
defaultChunkSize: number;
chunkOverlap: number;
priorityDecayRate: number;
cleanupInterval: number;
}
export declare class ContextManager {
private config;
private contextWindows;
private contextChains;
private textSplitter;
private cleanupTimer;
constructor(config: ContextManagerConfig);
addCodeContext(codeContext: CodeContext, priority?: number): Promise<string>;
getRelevantContext(queryContext: QueryContext, maxTokens: number): Promise<Document[]>;
updateContextChain(sessionId: string, queryContext: QueryContext, response: string): Promise<void>;
getContextChain(sessionId: string): ContextChain | undefined;
removeContext(contextId: string): Promise<boolean>;
clearExpiredContexts(): Promise<number>;
getContextStats(): {
totalContexts: number;
totalDocuments: number;
totalTokens: number;
averageTokensPerContext: number;
memoryUsage: number;
};
private codeContextToDocuments;
private getSortedContexts;
private filterDocumentsByRelevance;
private manageContextCapacity;
private generateContextId;
private startCleanupTimer;
shutdown(): Promise<void>;
}
//# sourceMappingURL=ContextManager.d.ts.map