/** * Context Converters * Map between runtime AI/scanner types and persisted context types */ import type { ScanResult } from '../scanner/types.js'; import type { AIAnalysisResult } from '../ai/enhancer.js'; import type { PersistedScanResult, PersistedAIAnalysis } from './types.js'; /** * Convert a ScanResult.stack to PersistedScanResult */ export declare function toPersistedScanResult(scanResult: ScanResult): PersistedScanResult; /** * Convert a PersistedScanResult back into a minimal ScanResult * for use in prompt context (e.g., Project Tech Stack summary). */ export declare function toScanResultFromPersisted(persisted: PersistedScanResult, projectRoot: string): ScanResult; /** * Convert an AIAnalysisResult to PersistedAIAnalysis */ export declare function toPersistedAIAnalysis(analysis: AIAnalysisResult | undefined): PersistedAIAnalysis; /** * Get git metadata (commit hash, branch) using execFile (no shell injection risk). * Returns undefined values if git is not available or not a git repo. */ export declare function getGitMetadata(projectRoot: string): Promise<{ gitCommitHash?: string; gitBranch?: string; }>;