// // ChatParameters.swift // Zyquo Atlas // // Author: Simon-Pierre Boucher // Mail: contact@spboucher.ai // // Provider-agnostic generation parameters (extracted from Zyquo Cloud's // Conversation.swift so the provider layer ports without the conversation // types). `nil` means "provider default" and the parameter is omitted from // the request entirely. // import Foundation struct ChatParameters: Codable, Hashable { var temperature: Double? var topP: Double? var maxTokens: Int? var frequencyPenalty: Double? var presencePenalty: Double? /// "low" / "medium" / "high" for models supporting reasoning_effort. var reasoningEffort: String? /// Explicit thinking toggle for Anthropic/Qwen-style models. var thinkingEnabled: Bool? init(temperature: Double? = nil, topP: Double? = nil, maxTokens: Int? = nil, frequencyPenalty: Double? = nil, presencePenalty: Double? = nil, reasoningEffort: String? = nil, thinkingEnabled: Bool? = nil) { self.temperature = temperature self.topP = topP self.maxTokens = maxTokens self.frequencyPenalty = frequencyPenalty self.presencePenalty = presencePenalty self.reasoningEffort = reasoningEffort self.thinkingEnabled = thinkingEnabled } }