// // Conversation.swift // Zyquo Local // // Author: Simon-Pierre Boucher // Mail: contact@spboucher.ai // import Foundation /// A persisted chat conversation. Remembers its model and generation params. struct Conversation: Identifiable, Codable, Hashable, Sendable { var id: UUID var title: String var messages: [Message] /// Repo ID of the model this conversation uses (e.g. "mlx-community/Qwen3-8B-4bit"). var modelID: String? var systemPrompt: String? var params: GenerationParams var pinned: Bool var createdAt: Date var updatedAt: Date init( id: UUID = UUID(), title: String = "New Chat", messages: [Message] = [], modelID: String? = nil, systemPrompt: String? = nil, params: GenerationParams = GenerationParams(), pinned: Bool = false, createdAt: Date = Date(), updatedAt: Date = Date() ) { self.id = id self.title = title self.messages = messages self.modelID = modelID self.systemPrompt = systemPrompt self.params = params self.pinned = pinned self.createdAt = createdAt self.updatedAt = updatedAt } }