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.
54 lines
2.0 KiB
Swift
54 lines
2.0 KiB
Swift
//
|
|
// StrategyView.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct StrategyView: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Action is the tactic itself: the thing to go and do. */
|
|
public var action: String?
|
|
/** Category is the growth discipline the tactic belongs to — the axis `?category=` narrows on. */
|
|
public var category: String?
|
|
/** ID is the tactic's stable slug in the corpus. */
|
|
public var id: String?
|
|
/** Tags are the PRECONDITIONS this tactic already satisfied to appear in the answer — `stage:<name>` and `has:<capability>` predicates over the org's observed profile. They are carried back so a caller can show why a tactic surfaced, not so it can filter again. */
|
|
public var tags: [String]?
|
|
/** Workload is how much effort running the tactic costs, so a corpus can be cut to what the org has the hands for. */
|
|
public var workload: String?
|
|
|
|
public init(action: String? = nil, category: String? = nil, id: String? = nil, tags: [String]? = nil, workload: String? = nil) {
|
|
self.action = action
|
|
self.category = category
|
|
self.id = id
|
|
self.tags = tags
|
|
self.workload = workload
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case action
|
|
case category
|
|
case id
|
|
case tags
|
|
case workload
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(action, forKey: .action)
|
|
try container.encodeIfPresent(category, forKey: .category)
|
|
try container.encodeIfPresent(id, forKey: .id)
|
|
try container.encodeIfPresent(tags, forKey: .tags)
|
|
try container.encodeIfPresent(workload, forKey: .workload)
|
|
}
|
|
}
|
|
|
|
|
|
@available(iOS 13, tvOS 13, watchOS 6, macOS 10.15, *)
|
|
extension StrategyView: Identifiable {}
|