UNPKG

@aaswe/codebase-ai

Version:

AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs

48 lines 1.67 kB
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