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

70 lines
2.4 KiB
Swift

//
// AiProviderUsage.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct AiProviderUsage: Sendable, Codable, ParameterConvertible, Hashable {
public var available: Bool?
public var byModel: [AiProviderUsageModelSpend]?
public var connected: Bool?
public var currency: String?
public var end: String?
public var interval: String?
public var note: String?
public var provider: String?
public var series: [AiProviderUsageSeriesPoint]?
public var start: String?
public var totals: AiProviderUsageTotals?
public init(available: Bool? = nil, byModel: [AiProviderUsageModelSpend]? = nil, connected: Bool? = nil, currency: String? = nil, end: String? = nil, interval: String? = nil, note: String? = nil, provider: String? = nil, series: [AiProviderUsageSeriesPoint]? = nil, start: String? = nil, totals: AiProviderUsageTotals? = nil) {
self.available = available
self.byModel = byModel
self.connected = connected
self.currency = currency
self.end = end
self.interval = interval
self.note = note
self.provider = provider
self.series = series
self.start = start
self.totals = totals
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case available
case byModel
case connected
case currency
case end
case interval
case note
case provider
case series
case start
case totals
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(available, forKey: .available)
try container.encodeIfPresent(byModel, forKey: .byModel)
try container.encodeIfPresent(connected, forKey: .connected)
try container.encodeIfPresent(currency, forKey: .currency)
try container.encodeIfPresent(end, forKey: .end)
try container.encodeIfPresent(interval, forKey: .interval)
try container.encodeIfPresent(note, forKey: .note)
try container.encodeIfPresent(provider, forKey: .provider)
try container.encodeIfPresent(series, forKey: .series)
try container.encodeIfPresent(start, forKey: .start)
try container.encodeIfPresent(totals, forKey: .totals)
}
}