UNPKG

sicua

Version:

A tool for analyzing project structure and dependencies

124 lines (123 loc) 4.37 kB
import { ContextualSummary, GeneratedPrompt, FileContextType, ContextualSummariesConfig, DependencyContext } from "../types"; import { PromptPersonalization, ContextualMetadata, PromptConstraints, SpecializationOptions, SpecializedUseCase } from "../types/summaryBuilder.types"; import { FunctionContext } from "../types/functionExtractor.types"; import { BusinessLogicDefinition } from "../types/businessLogicExtractor.types"; import { ComponentContext } from "../types/componentExtractor.types"; import { SemanticAnalysisResult } from "../types/semanticAnalysis.types"; import { TypeContext } from "../types/typeExtractor.types"; export declare class SummaryBuilder { private config; private templates; private optimization; private personalization; private adaptiveFeatures; constructor(config: ContextualSummariesConfig); /** * Builds a complete contextual summary with optimized prompt */ buildContextualSummary(filePath: string, fileType: FileContextType, functionContext: FunctionContext, componentContext: ComponentContext, typeContext: TypeContext, businessLogic: BusinessLogicDefinition, dependencyContext: DependencyContext, semanticAnalysis: SemanticAnalysisResult, metadata?: ContextualMetadata): ContextualSummary; /** * Generates adaptive prompts based on context and user needs */ generateAdaptivePrompt(contextualSummary: ContextualSummary, personalization: PromptPersonalization, constraints?: PromptConstraints): GeneratedPrompt; /** * Creates specialized prompts for different use cases */ createSpecializedPrompt(contextualSummary: ContextualSummary, useCase: SpecializedUseCase, options?: SpecializationOptions): GeneratedPrompt; /** * Selects the most appropriate template for the file type and analysis */ private selectTemplate; /** * Builds the prompt structure based on template and analysis */ private buildPromptStructure; /** * Generates prompt contexts for different sections */ private generatePromptContexts; /** * Builds context for a specific section */ private buildSectionContext; /** * Builds overview content */ private buildOverviewContent; /** * Builds structure content */ private buildStructureContent; /** * Builds dependencies content */ private buildDependenciesContent; /** * Builds exports content */ private buildExportsContent; /** * Builds business logic content */ private buildBusinessLogicContent; /** * Builds technical details content */ private buildTechnicalDetailsContent; /** * Builds usage examples content */ private buildUsageExamplesContent; /** * Builds relationships content */ private buildRelationshipsContent; /** * Optimizes the prompt for token efficiency */ private optimizePrompt; /** * Generates the final summary text */ private generateFinalSummary; /** * Calculates token estimate for the prompt */ private calculateTokenEstimate; private initializeTemplates; private getDefaultTemplate; private getDefaultOptimization; private getDefaultPersonalization; private getDefaultAdaptiveFeatures; private shouldIncludeSection; private hasRelevantContent; private formatSectionContent; private applySectionTokenLimit; private getPriorityScore; private buildHeader; private buildKeyPoints; private buildDependenciesSection; private buildExportsSection; private buildFooter; private generateNextSteps; private applyAggressiveCompression; private applyModerateCompression; private compressContexts; private compressText; private removeRedundantContent; private getContentKey; private extractFileName; private extractKeyFeatures; private buildExportContext; private buildTechnicalContext; private extractUsagePatterns; private adaptPromptStructure; private adaptPromptContexts; private generateAdaptiveSummary; private getSpecializedTemplate; private buildSpecializedStructure; private buildSpecializedContexts; private generateSpecializedSummary; private applyTokenConstraints; private adaptContentForAudience; }