mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
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.
70 lines
2.4 KiB
Swift
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)
|
|
}
|
|
}
|
|
|