codecrucible-synth
Version:
Production-Ready AI Development Platform with Multi-Voice Synthesis, Smithery MCP Integration, Enterprise Security, and Zero-Timeout Reliability
83 lines • 2.64 kB
TypeScript
import { ProjectIndex } from './enhanced-startup-indexer.js';
export interface EnhancedAgentConfig {
projectPath: string;
enableIndexing: boolean;
enableDocumentationReading: boolean;
enableStructuredOutput: boolean;
enableInteractiveMode: boolean;
cacheResults: boolean;
maxCacheAge: number;
outputFormat: 'structured' | 'simple' | 'json';
verboseLogging: boolean;
}
export interface CachedIndex {
index: ProjectIndex;
timestamp: number;
hash: string;
}
export declare class EnhancedCodeCrucibleAgent {
private config;
private projectIndex;
private formatter;
private indexCache;
private startupCompleted;
constructor(config?: Partial<EnhancedAgentConfig>);
initialize(): Promise<void>;
analyzeQuery(query: string): Promise<string>;
analyzeCode(code: string, language: string): Promise<string>;
refreshIndex(): Promise<void>;
getProjectSummary(): string | null;
searchProject(query: string): string[];
private detectProjectType;
private buildProjectIndex;
private performInitialAnalysis;
private createProjectBasedResponse;
private performSimpleAnalysis;
private displayWelcomeMessage;
private formatError;
private calculateIndexHash;
get isInitialized(): boolean;
get hasProjectIndex(): boolean;
get projectMetadata(): {
name: string;
version: string;
description?: string;
type: "npm" | "python" | "generic";
rootPath: string;
indexedAt: Date;
totalFiles: number;
totalSize: number;
languages: Record<string, number>;
frameworks: string[];
dependencies: Record<string, string>;
} | null;
get projectAnalysis(): {
complexity: {
total: number;
average: number;
highest: Array<{
file: string;
complexity: number;
}>;
};
dependencies: {
internal: string[];
external: string[];
circular: string[];
};
coverage: {
documented: number;
tested: number;
total: number;
};
patterns: {
frameworksDetected: string[];
architecturePattern: string;
qualityScore: number;
};
} | null;
}
export declare function createEnhancedAgent(config?: Partial<EnhancedAgentConfig>): Promise<EnhancedCodeCrucibleAgent>;
export declare function runEnhancedAnalysis(query: string, options?: any): Promise<string>;
//# sourceMappingURL=enhanced-agent.d.ts.map