import Foundation public struct ImportEngine: Sendable { public init() {} public func preview( format: ImportFormat, sourceURL: URL, dedupIndex: DedupIndex ) throws -> ImportPreview { let parser: any ImportParser = switch format { case .chatGPTAnalysisJSON: ChatGPTAnalysisParser() case .chatGPTRawConversationsJSON: ChatGPTRawConversationsParser() case .geminiMarkdown: GeminiMarkdownParser() case .geminiJSONL: GeminiJSONLParser() case .claudeJSONL: ClaudeJSONLParser() case .codexHistoryJSONL: CodexHistoryParser() case .hermesStateDatabase: HermesStateParser() } let result = try parser.parse(sourceURL: sourceURL, dedupIndex: dedupIndex) return ImportPreview( format: format, sourceURL: sourceURL, candidates: result.candidates, statistics: result.statistics ) } }