UNPKG

@aaswe/codebase-ai

Version:

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

84 lines 2.49 kB
/** * Neo4j Context Provider for MCP Server * * Provides source code context from Neo4j database to complement TTL metadata, * creating a comprehensive triple context system for LLM interactions. */ import { Neo4jDatabaseService } from '../layer2/neo4j-database/Neo4jDatabaseService'; import { ContextRequest, Neo4jContextResult, SourceCodeContext, Neo4jContextProviderConfig } from './types'; /** * Neo4j Context Provider * * Queries Neo4j database for source code content and relationships * to provide rich context alongside TTL metadata files. */ export declare class Neo4jContextProvider { private neo4jService; private config; constructor(neo4jService: Neo4jDatabaseService, config: Neo4jContextProviderConfig); /** * Get source code context from Neo4j for a specific request */ getSourceCodeContext(request: ContextRequest): Promise<Neo4jContextResult>; /** * Search for related source code based on query */ searchSourceCode(query: string, language?: string): Promise<SourceCodeContext[]>; /** * Get code relationships and dependencies */ getCodeRelationships(filePath: string): Promise<{ dependencies: SourceCodeContext[]; dependents: SourceCodeContext[]; related: SourceCodeContext[]; }>; /** * Build context queries based on request */ private buildContextQueries; /** * Build search queries for source code search */ private buildSearchQueries; /** * Execute Neo4j query with error handling */ private executeNeo4jQuery; /** * Execute a context query */ private executeContextQuery; /** * Process query results into context sources */ private processQueryResults; /** * Extract source code contexts from query results */ private extractSourceCodeContexts; /** * Extract source code context from a Neo4j record */ private extractSourceCodeFromRecord; /** * Format source code for LLM consumption */ private formatSourceCodeForLLM; /** * Calculate relevance score for a record */ private calculateRelevanceScore; /** * Detect language from file path */ private detectLanguageFromPath; /** * Extract file name from path */ private extractFileName; /** * Extract directory from path */ private extractDirectory; } //# sourceMappingURL=Neo4jContextProvider.d.ts.map