/** * Shared Analysis Orchestrator * * Extracts the core analysis pipeline from the CLI analyze command into a * reusable function that can be called from both the CLI and a server-side * worker process. * * IMPORTANT: This module must NEVER call process.exit(). The caller (CLI * wrapper or server worker) is responsible for process lifecycle. */ export interface AnalyzeCallbacks { onProgress: (phase: string, percent: number, message: string) => void; onLog?: (message: string) => void; } export interface AnalyzeOptions { force?: boolean; embeddings?: boolean; skipGit?: boolean; /** Skip AGENTS.md and CLAUDE.md gitnexus block updates. */ skipAgentsMd?: boolean; } export interface AnalyzeResult { repoName: string; repoPath: string; stats: { files?: number; nodes?: number; edges?: number; communities?: number; processes?: number; embeddings?: number; }; alreadyUpToDate?: boolean; /** The raw pipeline result — only populated when needed by callers (e.g. skill generation). */ pipelineResult?: any; } export declare const PHASE_LABELS: Record; /** * Run the full GitNexus analysis pipeline. * * This is the shared core extracted from the CLI `analyze` command. It * handles: pipeline execution, LadybugDB loading, FTS indexing, embedding * generation, metadata persistence, and AI context file generation. * * The function communicates progress and log messages exclusively through * the {@link AnalyzeCallbacks} interface — it never writes to stdout/stderr * directly and never calls `process.exit()`. */ export declare function runFullAnalysis(repoPath: string, options: AnalyzeOptions, callbacks: AnalyzeCallbacks): Promise;