sicua
Version:
A tool for analyzing project structure and dependencies
124 lines (123 loc) • 4.37 kB
TypeScript
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;
}