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

46 lines
1.6 KiB
Swift

//
// AiQualityStats.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct AiQualityStats: Sendable, Codable, ParameterConvertible, Hashable {
public var avgConfidence: Double?
public var learnedShare: Double?
public var rewardRate: Double?
public var rewardedEvents: Int?
public var shadowAgreement: Double?
public init(avgConfidence: Double? = nil, learnedShare: Double? = nil, rewardRate: Double? = nil, rewardedEvents: Int? = nil, shadowAgreement: Double? = nil) {
self.avgConfidence = avgConfidence
self.learnedShare = learnedShare
self.rewardRate = rewardRate
self.rewardedEvents = rewardedEvents
self.shadowAgreement = shadowAgreement
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case avgConfidence = "avg_confidence"
case learnedShare = "learned_share"
case rewardRate = "reward_rate"
case rewardedEvents = "rewarded_events"
case shadowAgreement = "shadow_agreement"
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(avgConfidence, forKey: .avgConfidence)
try container.encodeIfPresent(learnedShare, forKey: .learnedShare)
try container.encodeIfPresent(rewardRate, forKey: .rewardRate)
try container.encodeIfPresent(rewardedEvents, forKey: .rewardedEvents)
try container.encodeIfPresent(shadowAgreement, forKey: .shadowAgreement)
}
}