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

38 lines
1.0 KiB
Swift

//
// TrafficTotals.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct TrafficTotals: Sendable, Codable, ParameterConvertible, Hashable {
public var rpm60m: Double?
public var rps1m: Double?
public var topCountries: [TrafficCountryCount]?
public init(rpm60m: Double? = nil, rps1m: Double? = nil, topCountries: [TrafficCountryCount]? = nil) {
self.rpm60m = rpm60m
self.rps1m = rps1m
self.topCountries = topCountries
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case rpm60m = "rpm_60m"
case rps1m = "rps_1m"
case topCountries = "top_countries"
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(rpm60m, forKey: .rpm60m)
try container.encodeIfPresent(rps1m, forKey: .rps1m)
try container.encodeIfPresent(topCountries, forKey: .topCountries)
}
}