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.
66 lines
2.3 KiB
Swift
66 lines
2.3 KiB
Swift
//
|
|
// AiRouterStats.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct AiRouterStats: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
public var byModel: [String: Int]?
|
|
public var bySource: [String: Int]?
|
|
public var byTask: [String: AiTaskStats]?
|
|
public var cost: AiCostStats?
|
|
public var org: String?
|
|
public var quality: AiQualityStats?
|
|
public var retrain: AiRetrainMeta?
|
|
public var scope: String?
|
|
public var throughput: AiThroughputStats?
|
|
public var window: AiStatsWindow?
|
|
|
|
public init(byModel: [String: Int]? = nil, bySource: [String: Int]? = nil, byTask: [String: AiTaskStats]? = nil, cost: AiCostStats? = nil, org: String? = nil, quality: AiQualityStats? = nil, retrain: AiRetrainMeta? = nil, scope: String? = nil, throughput: AiThroughputStats? = nil, window: AiStatsWindow? = nil) {
|
|
self.byModel = byModel
|
|
self.bySource = bySource
|
|
self.byTask = byTask
|
|
self.cost = cost
|
|
self.org = org
|
|
self.quality = quality
|
|
self.retrain = retrain
|
|
self.scope = scope
|
|
self.throughput = throughput
|
|
self.window = window
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case byModel = "by_model"
|
|
case bySource = "by_source"
|
|
case byTask = "by_task"
|
|
case cost
|
|
case org
|
|
case quality
|
|
case retrain
|
|
case scope
|
|
case throughput
|
|
case window
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(byModel, forKey: .byModel)
|
|
try container.encodeIfPresent(bySource, forKey: .bySource)
|
|
try container.encodeIfPresent(byTask, forKey: .byTask)
|
|
try container.encodeIfPresent(cost, forKey: .cost)
|
|
try container.encodeIfPresent(org, forKey: .org)
|
|
try container.encodeIfPresent(quality, forKey: .quality)
|
|
try container.encodeIfPresent(retrain, forKey: .retrain)
|
|
try container.encodeIfPresent(scope, forKey: .scope)
|
|
try container.encodeIfPresent(throughput, forKey: .throughput)
|
|
try container.encodeIfPresent(window, forKey: .window)
|
|
}
|
|
}
|
|
|