Files
zeekay b60f47a8bb Regenerate: the AI surface says what it answers
288 of hanzoai/ai's 294 operations now declare a response, against 1 before.
GET /v1/models, POST /v1/chat/completions, /v1/embeddings, /v1/messages —
every address a client actually calls — used to reach this client untyped,
because cloud's relay carried an operation's sentence and dropped the shapes
it named. It carries both now.

Fleet-wide the document goes from 69% to 81% of operations declaring what
comes back, which is where the ~208 new models here come from.
2026-08-28 15:52:19 -07:00

166 lines
7.0 KiB
Swift

//
// Message.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct Message: Sendable, Codable, ParameterConvertible, Hashable {
public var answeredTime: String?
public var author: String?
public var chat: String?
public var claimedTime: String?
public var comment: String?
public var createdTime: String?
public var currency: String?
public var dislikeUsers: [String]?
public var embeddingProvider: String?
public var errorText: String?
public var fileName: String?
public var isAlerted: Bool?
public var isDeleted: Bool?
public var isHidden: Bool?
public var isRegenerated: Bool?
public var likeUsers: [String]?
public var modelProvider: String?
public var name: String?
public var needNotify: Bool?
public var organization: String?
public var owner: String?
public var price: Double?
public var reasonText: String?
public var replyTo: String?
public var searchResults: [ModelSearchResult]?
public var store: String?
public var suggestions: [Candidate]?
public var text: String?
public var textTokenCount: Int?
public var tokenCount: Int?
public var toolCalls: [ModelToolCall]?
public var transactionId: String?
public var user: String?
public var vectorScores: [VectorScore]?
public var webSearchEnabled: Bool?
public init(answeredTime: String? = nil, author: String? = nil, chat: String? = nil, claimedTime: String? = nil, comment: String? = nil, createdTime: String? = nil, currency: String? = nil, dislikeUsers: [String]? = nil, embeddingProvider: String? = nil, errorText: String? = nil, fileName: String? = nil, isAlerted: Bool? = nil, isDeleted: Bool? = nil, isHidden: Bool? = nil, isRegenerated: Bool? = nil, likeUsers: [String]? = nil, modelProvider: String? = nil, name: String? = nil, needNotify: Bool? = nil, organization: String? = nil, owner: String? = nil, price: Double? = nil, reasonText: String? = nil, replyTo: String? = nil, searchResults: [ModelSearchResult]? = nil, store: String? = nil, suggestions: [Candidate]? = nil, text: String? = nil, textTokenCount: Int? = nil, tokenCount: Int? = nil, toolCalls: [ModelToolCall]? = nil, transactionId: String? = nil, user: String? = nil, vectorScores: [VectorScore]? = nil, webSearchEnabled: Bool? = nil) {
self.answeredTime = answeredTime
self.author = author
self.chat = chat
self.claimedTime = claimedTime
self.comment = comment
self.createdTime = createdTime
self.currency = currency
self.dislikeUsers = dislikeUsers
self.embeddingProvider = embeddingProvider
self.errorText = errorText
self.fileName = fileName
self.isAlerted = isAlerted
self.isDeleted = isDeleted
self.isHidden = isHidden
self.isRegenerated = isRegenerated
self.likeUsers = likeUsers
self.modelProvider = modelProvider
self.name = name
self.needNotify = needNotify
self.organization = organization
self.owner = owner
self.price = price
self.reasonText = reasonText
self.replyTo = replyTo
self.searchResults = searchResults
self.store = store
self.suggestions = suggestions
self.text = text
self.textTokenCount = textTokenCount
self.tokenCount = tokenCount
self.toolCalls = toolCalls
self.transactionId = transactionId
self.user = user
self.vectorScores = vectorScores
self.webSearchEnabled = webSearchEnabled
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case answeredTime
case author
case chat
case claimedTime
case comment
case createdTime
case currency
case dislikeUsers
case embeddingProvider
case errorText
case fileName
case isAlerted
case isDeleted
case isHidden
case isRegenerated
case likeUsers
case modelProvider
case name
case needNotify
case organization
case owner
case price
case reasonText
case replyTo
case searchResults
case store
case suggestions
case text
case textTokenCount
case tokenCount
case toolCalls
case transactionId
case user
case vectorScores
case webSearchEnabled
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(answeredTime, forKey: .answeredTime)
try container.encodeIfPresent(author, forKey: .author)
try container.encodeIfPresent(chat, forKey: .chat)
try container.encodeIfPresent(claimedTime, forKey: .claimedTime)
try container.encodeIfPresent(comment, forKey: .comment)
try container.encodeIfPresent(createdTime, forKey: .createdTime)
try container.encodeIfPresent(currency, forKey: .currency)
try container.encodeIfPresent(dislikeUsers, forKey: .dislikeUsers)
try container.encodeIfPresent(embeddingProvider, forKey: .embeddingProvider)
try container.encodeIfPresent(errorText, forKey: .errorText)
try container.encodeIfPresent(fileName, forKey: .fileName)
try container.encodeIfPresent(isAlerted, forKey: .isAlerted)
try container.encodeIfPresent(isDeleted, forKey: .isDeleted)
try container.encodeIfPresent(isHidden, forKey: .isHidden)
try container.encodeIfPresent(isRegenerated, forKey: .isRegenerated)
try container.encodeIfPresent(likeUsers, forKey: .likeUsers)
try container.encodeIfPresent(modelProvider, forKey: .modelProvider)
try container.encodeIfPresent(name, forKey: .name)
try container.encodeIfPresent(needNotify, forKey: .needNotify)
try container.encodeIfPresent(organization, forKey: .organization)
try container.encodeIfPresent(owner, forKey: .owner)
try container.encodeIfPresent(price, forKey: .price)
try container.encodeIfPresent(reasonText, forKey: .reasonText)
try container.encodeIfPresent(replyTo, forKey: .replyTo)
try container.encodeIfPresent(searchResults, forKey: .searchResults)
try container.encodeIfPresent(store, forKey: .store)
try container.encodeIfPresent(suggestions, forKey: .suggestions)
try container.encodeIfPresent(text, forKey: .text)
try container.encodeIfPresent(textTokenCount, forKey: .textTokenCount)
try container.encodeIfPresent(tokenCount, forKey: .tokenCount)
try container.encodeIfPresent(toolCalls, forKey: .toolCalls)
try container.encodeIfPresent(transactionId, forKey: .transactionId)
try container.encodeIfPresent(user, forKey: .user)
try container.encodeIfPresent(vectorScores, forKey: .vectorScores)
try container.encodeIfPresent(webSearchEnabled, forKey: .webSearchEnabled)
}
}