Files
zeekay 0c2f028a8c Generate the Swift client, which this copy did not carry
The forge tree held the package scaffolding and none of the generated sources —
2,435 files of APIs, Models and Infrastructure, including BaseAPI, were simply
absent, so anything depending on this copy had a package that compiled to
nothing usable.

Generated from the current API document rather than reconciled with the other
copy: a client is a function of the spec, so regenerating answers "which history
wins" without anyone having to choose. .spec-lock records which document, so the
next reader can tell.
2026-08-23 10:04:41 -07:00

71 lines
2.6 KiB
Swift

//
// UsageSummary.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct UsageSummary: Sendable, Codable, ParameterConvertible, Hashable {
/** Accounts is the caller's own linked provider accounts beside the org's Hanzo-routed usage, labelled row by row and never summed together. */
public var accounts: Accounts?
/** End is the window's exclusive end, RFC3339 UTC. */
public var end: String?
/** Interval is the bucket width the spend series is gap-filled at. */
public var interval: String?
/** LLM is the org's Hanzo-routed inference totals from the warehouse. */
public var llm: LLM?
/** Range is the window label that was served. */
public var range: String?
/** Scope is the tenant and subject the roll-up was answered for. */
public var scope: UsageScope?
/** Sources says which upstreams actually answered, so a zero can be read as \"no data yet\" rather than as a measurement. */
public var sources: Sources?
/** Spend is the categorized cost roll-up from the billing ledger. */
public var spend: Spend?
/** Start is the window's inclusive start, RFC3339 UTC. */
public var start: String?
public init(accounts: Accounts? = nil, end: String? = nil, interval: String? = nil, llm: LLM? = nil, range: String? = nil, scope: UsageScope? = nil, sources: Sources? = nil, spend: Spend? = nil, start: String? = nil) {
self.accounts = accounts
self.end = end
self.interval = interval
self.llm = llm
self.range = range
self.scope = scope
self.sources = sources
self.spend = spend
self.start = start
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case accounts
case end
case interval
case llm
case range
case scope
case sources
case spend
case start
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(accounts, forKey: .accounts)
try container.encodeIfPresent(end, forKey: .end)
try container.encodeIfPresent(interval, forKey: .interval)
try container.encodeIfPresent(llm, forKey: .llm)
try container.encodeIfPresent(range, forKey: .range)
try container.encodeIfPresent(scope, forKey: .scope)
try container.encodeIfPresent(sources, forKey: .sources)
try container.encodeIfPresent(spend, forKey: .spend)
try container.encodeIfPresent(start, forKey: .start)
}
}