Files
zeekay 1df3ddf6bd Regenerate against the document the deployment answers for
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.
2026-09-05 18:55:38 -07:00

76 lines
3.2 KiB
Swift

//
// BuildSummary.swift
//
// Generated by openapi-generator
// https://openapi-generator.tech
//
import Foundation
public struct BuildSummary: Sendable, Codable, ParameterConvertible, Hashable {
/** Agent is the label the surface that did the work calls itself by. */
public var agent: String?
/** EndedAt is when it finished, same format. Empty means it is still going. */
public var endedAt: String?
/** Org and Project are the build's public ADDRESS — the pair the full story is read at, and the pair a visitor sees in the URL bar. Not a tenant key: this index is anonymous and lists only what authors published. */
public var org: String?
/** Project is the product's slug, the second half of that address. */
public var project: String?
/** Repo is the repository the work was done in, as the session reported it. */
public var repo: String?
/** Session is the agent session behind the build, and the value its commits name in their `Hanzo-Session:` trailer. */
public var session: String?
/** StartedAt is when the session opened, RFC 3339 in UTC. */
public var startedAt: String?
/** Status is the session's own: running, paused, done or error — so a card can show a build still being written. */
public var status: String?
/** Title is the human line for the card. Sent even when empty, like every field here, because that is what this route has always sent. */
public var title: String?
/** Turns is HOW MANY turns the transcript holds — a COUNT, unlike the `turn` on each turn of the full story, which is that turn's position. The full read returns at most 1000 of them; this number is not capped. */
public var turns: Int64?
public init(agent: String? = nil, endedAt: String? = nil, org: String? = nil, project: String? = nil, repo: String? = nil, session: String? = nil, startedAt: String? = nil, status: String? = nil, title: String? = nil, turns: Int64? = nil) {
self.agent = agent
self.endedAt = endedAt
self.org = org
self.project = project
self.repo = repo
self.session = session
self.startedAt = startedAt
self.status = status
self.title = title
self.turns = turns
}
public enum CodingKeys: String, CodingKey, CaseIterable {
case agent
case endedAt
case org
case project
case repo
case session
case startedAt
case status
case title
case turns
}
// Encodable protocol methods
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(agent, forKey: .agent)
try container.encodeIfPresent(endedAt, forKey: .endedAt)
try container.encodeIfPresent(org, forKey: .org)
try container.encodeIfPresent(project, forKey: .project)
try container.encodeIfPresent(repo, forKey: .repo)
try container.encodeIfPresent(session, forKey: .session)
try container.encodeIfPresent(startedAt, forKey: .startedAt)
try container.encodeIfPresent(status, forKey: .status)
try container.encodeIfPresent(title, forKey: .title)
try container.encodeIfPresent(turns, forKey: .turns)
}
}