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.
109 lines
4.6 KiB
Swift
109 lines
4.6 KiB
Swift
//
|
|
// StepView.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct StepView: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Args are the tool's default arguments, merged under whatever the caller passes at run time. */
|
|
public var args: [String: JSONValue]?
|
|
/** Automatable is true when the Business AI can run this step (it names a tool). */
|
|
public var automatable: Bool?
|
|
/** Available is true when every dependency is done or skipped. */
|
|
public var available: Bool?
|
|
/** BlockedBy lists the unfinished dependencies keeping the step unavailable. */
|
|
public var blockedBy: [String]?
|
|
/** Dependencies are step ids that must be done/skipped before this step is available. The wire key is `deps` (the blueprint contract). */
|
|
public var deps: [String]?
|
|
/** Detail is the prose/juncture — what the Guide asks or explains here. */
|
|
public var detail: String?
|
|
/** Draft, when set, is the prompt the embedded AI answers first; its output is folded into one of Args before the tool runs. */
|
|
public var draft: String?
|
|
/** DraftInto names the argument the drafted text lands in. Empty means \"brief\". */
|
|
public var draftInto: String?
|
|
/** Enabled is the admin on/off lever; absent reads as enabled. */
|
|
public var enabled: Bool?
|
|
/** ID is the step's id, as it appears in the journey (e.g. \"gsuite\"). */
|
|
public var id: String?
|
|
/** Section is the phase (section id) this step groups under. */
|
|
public var section: String?
|
|
/** Signal names the machine detector that auto-marks this step done. */
|
|
public var signal: String?
|
|
/** Source records what marked the state: manual, auto (detected) or agent. */
|
|
public var source: String?
|
|
/** State is the step's per-org lifecycle state: todo|in_progress|done|skipped. */
|
|
public var state: String?
|
|
/** Title is the one-line quest as a person reads it in the checklist. */
|
|
public var title: String?
|
|
/** Tool is the MCP tool the Business AI runs for \"do it for me\". A step naming none can only be completed by a person. */
|
|
public var tool: String?
|
|
|
|
public init(args: [String: JSONValue]? = nil, automatable: Bool? = nil, available: Bool? = nil, blockedBy: [String]? = nil, deps: [String]? = nil, detail: String? = nil, draft: String? = nil, draftInto: String? = nil, enabled: Bool? = nil, id: String? = nil, section: String? = nil, signal: String? = nil, source: String? = nil, state: String? = nil, title: String? = nil, tool: String? = nil) {
|
|
self.args = args
|
|
self.automatable = automatable
|
|
self.available = available
|
|
self.blockedBy = blockedBy
|
|
self.deps = deps
|
|
self.detail = detail
|
|
self.draft = draft
|
|
self.draftInto = draftInto
|
|
self.enabled = enabled
|
|
self.id = id
|
|
self.section = section
|
|
self.signal = signal
|
|
self.source = source
|
|
self.state = state
|
|
self.title = title
|
|
self.tool = tool
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case args
|
|
case automatable
|
|
case available
|
|
case blockedBy
|
|
case deps
|
|
case detail
|
|
case draft
|
|
case draftInto
|
|
case enabled
|
|
case id
|
|
case section
|
|
case signal
|
|
case source
|
|
case state
|
|
case title
|
|
case tool
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(args, forKey: .args)
|
|
try container.encodeIfPresent(automatable, forKey: .automatable)
|
|
try container.encodeIfPresent(available, forKey: .available)
|
|
try container.encodeIfPresent(blockedBy, forKey: .blockedBy)
|
|
try container.encodeIfPresent(deps, forKey: .deps)
|
|
try container.encodeIfPresent(detail, forKey: .detail)
|
|
try container.encodeIfPresent(draft, forKey: .draft)
|
|
try container.encodeIfPresent(draftInto, forKey: .draftInto)
|
|
try container.encodeIfPresent(enabled, forKey: .enabled)
|
|
try container.encodeIfPresent(id, forKey: .id)
|
|
try container.encodeIfPresent(section, forKey: .section)
|
|
try container.encodeIfPresent(signal, forKey: .signal)
|
|
try container.encodeIfPresent(source, forKey: .source)
|
|
try container.encodeIfPresent(state, forKey: .state)
|
|
try container.encodeIfPresent(title, forKey: .title)
|
|
try container.encodeIfPresent(tool, forKey: .tool)
|
|
}
|
|
}
|
|
|
|
|
|
@available(iOS 13, tvOS 13, watchOS 6, macOS 10.15, *)
|
|
extension StepView: Identifiable {}
|