mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
The projection these were generated from predated the compute migration, so they described /v1/visor — which the API serves at zero paths now. No /v1/visor path survives here.
136 lines
6.3 KiB
Swift
136 lines
6.3 KiB
Swift
//
|
||
// ReportReq.swift
|
||
//
|
||
// Generated by openapi-generator
|
||
// https://openapi-generator.tech
|
||
//
|
||
|
||
import Foundation
|
||
|
||
public struct ReportReq: Sendable, Codable, ParameterConvertible, Hashable {
|
||
|
||
/** Account is the linked account the window was metered from. */
|
||
public var account: String?
|
||
/** CachedInputTokens is the prompt tokens the provider served from cache. */
|
||
public var cachedInputTokens: Int64?
|
||
/** Confidence says how much the counters below mean. */
|
||
public var confidence: String?
|
||
/** CostCents is what the window cost on the PROVIDER's own plan, in US cents. */
|
||
public var costCents: Int64?
|
||
/** CostLimitCents is the plan's spend ceiling for the window, in US cents. */
|
||
public var costLimitCents: Int64?
|
||
/** Currency is the provider's currency when it is not US cents. */
|
||
public var currency: String?
|
||
/** InputTokens is prompt tokens consumed in the window. */
|
||
public var inputTokens: Int64?
|
||
/** Kind is subscription or apikey. Empty is accepted; anything else is refused. */
|
||
public var kind: String?
|
||
/** Lane is the meter lane within the account. */
|
||
public var lane: String?
|
||
/** Machine is the host whose meter read the window. Required on every sample. */
|
||
public var machine: String?
|
||
/** OutputTokens is completion tokens produced in the window. */
|
||
public var outputTokens: Int64?
|
||
/** Plan is the subscription plan the account is on, as the provider names it. */
|
||
public var plan: String?
|
||
/** Provider is the upstream the account belongs to, e.g. anthropic. Required on every sample. */
|
||
public var provider: String?
|
||
/** Requests is how many requests the window covers. */
|
||
public var requests: Int64?
|
||
/** ResetsAt is when the measured window rolls over, RFC3339. */
|
||
public var resetsAt: String?
|
||
/** Samples is the batch form: every lane a poller measured, in one call. When it is non-empty the top-level sample fields are ignored. */
|
||
public var samples: [SampleReq]?
|
||
/** Synthetic marks a window the meter inferred rather than read. */
|
||
public var synthetic: Bool?
|
||
/** TotalTokens is the window's total tokens. */
|
||
public var totalTokens: Int64?
|
||
/** UsedPct is how much of the window's allowance is consumed, 0–100. */
|
||
public var usedPct: Double?
|
||
/** Window is the window class: 6h, day, week or month. Required, and a class this surface does not know is refused rather than rewritten. */
|
||
public var window: String?
|
||
/** WindowMinutes is the window's real length in minutes, as the meter reports it. */
|
||
public var windowMinutes: Int?
|
||
/** WindowStart is when the measured window opened, RFC3339. This is how a backfill states WHICH window it measured; the server always owns the observation clock, so there is no timestamp field. */
|
||
public var windowStart: String?
|
||
|
||
public init(account: String? = nil, cachedInputTokens: Int64? = nil, confidence: String? = nil, costCents: Int64? = nil, costLimitCents: Int64? = nil, currency: String? = nil, inputTokens: Int64? = nil, kind: String? = nil, lane: String? = nil, machine: String? = nil, outputTokens: Int64? = nil, plan: String? = nil, provider: String? = nil, requests: Int64? = nil, resetsAt: String? = nil, samples: [SampleReq]? = nil, synthetic: Bool? = nil, totalTokens: Int64? = nil, usedPct: Double? = nil, window: String? = nil, windowMinutes: Int? = nil, windowStart: String? = nil) {
|
||
self.account = account
|
||
self.cachedInputTokens = cachedInputTokens
|
||
self.confidence = confidence
|
||
self.costCents = costCents
|
||
self.costLimitCents = costLimitCents
|
||
self.currency = currency
|
||
self.inputTokens = inputTokens
|
||
self.kind = kind
|
||
self.lane = lane
|
||
self.machine = machine
|
||
self.outputTokens = outputTokens
|
||
self.plan = plan
|
||
self.provider = provider
|
||
self.requests = requests
|
||
self.resetsAt = resetsAt
|
||
self.samples = samples
|
||
self.synthetic = synthetic
|
||
self.totalTokens = totalTokens
|
||
self.usedPct = usedPct
|
||
self.window = window
|
||
self.windowMinutes = windowMinutes
|
||
self.windowStart = windowStart
|
||
}
|
||
|
||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||
case account
|
||
case cachedInputTokens
|
||
case confidence
|
||
case costCents
|
||
case costLimitCents
|
||
case currency
|
||
case inputTokens
|
||
case kind
|
||
case lane
|
||
case machine
|
||
case outputTokens
|
||
case plan
|
||
case provider
|
||
case requests
|
||
case resetsAt
|
||
case samples
|
||
case synthetic
|
||
case totalTokens
|
||
case usedPct
|
||
case window
|
||
case windowMinutes
|
||
case windowStart
|
||
}
|
||
|
||
// Encodable protocol methods
|
||
|
||
public func encode(to encoder: Encoder) throws {
|
||
var container = encoder.container(keyedBy: CodingKeys.self)
|
||
try container.encodeIfPresent(account, forKey: .account)
|
||
try container.encodeIfPresent(cachedInputTokens, forKey: .cachedInputTokens)
|
||
try container.encodeIfPresent(confidence, forKey: .confidence)
|
||
try container.encodeIfPresent(costCents, forKey: .costCents)
|
||
try container.encodeIfPresent(costLimitCents, forKey: .costLimitCents)
|
||
try container.encodeIfPresent(currency, forKey: .currency)
|
||
try container.encodeIfPresent(inputTokens, forKey: .inputTokens)
|
||
try container.encodeIfPresent(kind, forKey: .kind)
|
||
try container.encodeIfPresent(lane, forKey: .lane)
|
||
try container.encodeIfPresent(machine, forKey: .machine)
|
||
try container.encodeIfPresent(outputTokens, forKey: .outputTokens)
|
||
try container.encodeIfPresent(plan, forKey: .plan)
|
||
try container.encodeIfPresent(provider, forKey: .provider)
|
||
try container.encodeIfPresent(requests, forKey: .requests)
|
||
try container.encodeIfPresent(resetsAt, forKey: .resetsAt)
|
||
try container.encodeIfPresent(samples, forKey: .samples)
|
||
try container.encodeIfPresent(synthetic, forKey: .synthetic)
|
||
try container.encodeIfPresent(totalTokens, forKey: .totalTokens)
|
||
try container.encodeIfPresent(usedPct, forKey: .usedPct)
|
||
try container.encodeIfPresent(window, forKey: .window)
|
||
try container.encodeIfPresent(windowMinutes, forKey: .windowMinutes)
|
||
try container.encodeIfPresent(windowStart, forKey: .windowStart)
|
||
}
|
||
}
|
||
|