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.
56 lines
2.1 KiB
Swift
56 lines
2.1 KiB
Swift
//
|
|
// Suggestion.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct Suggestion: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Automatable is true when the step names a tool, so the Business AI can do it rather than only describe it. */
|
|
public var automatable: Bool?
|
|
/** Detail is the step's own prose — what it asks for. */
|
|
public var detail: String?
|
|
/** Rationale is why this step is being suggested NOW, written for the person reading it. It explains the ranking, not the step. */
|
|
public var rationale: String?
|
|
/** StepID is the checklist step being recommended — the id every step route takes, so a caller can act on the suggestion directly. */
|
|
public var stepId: String?
|
|
/** Title is the step's own one-line quest. */
|
|
public var title: String?
|
|
/** Unlocks is how many downstream steps completing this one immediately makes available (its leverage) — the primary ranking key. */
|
|
public var unlocks: Int64?
|
|
|
|
public init(automatable: Bool? = nil, detail: String? = nil, rationale: String? = nil, stepId: String? = nil, title: String? = nil, unlocks: Int64? = nil) {
|
|
self.automatable = automatable
|
|
self.detail = detail
|
|
self.rationale = rationale
|
|
self.stepId = stepId
|
|
self.title = title
|
|
self.unlocks = unlocks
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case automatable
|
|
case detail
|
|
case rationale
|
|
case stepId
|
|
case title
|
|
case unlocks
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(automatable, forKey: .automatable)
|
|
try container.encodeIfPresent(detail, forKey: .detail)
|
|
try container.encodeIfPresent(rationale, forKey: .rationale)
|
|
try container.encodeIfPresent(stepId, forKey: .stepId)
|
|
try container.encodeIfPresent(title, forKey: .title)
|
|
try container.encodeIfPresent(unlocks, forKey: .unlocks)
|
|
}
|
|
}
|
|
|