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