mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
The lock sat at 574d1f1d while the product moved on. The team surface stopped at rooms — no messages path, no way to open one — so anything built on this client had to reach past it with its own HTTP calls, which is the duplication a generated client exists to prevent.
81 lines
4.2 KiB
Swift
81 lines
4.2 KiB
Swift
//
|
|
// UpdateAgentIn.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct UpdateAgentIn: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Avatar and Emoji re-draw the agent. Sending either replaces the pair, so setting an image clears a glyph and \"\" for both goes back to the initial — there is no state where a row holds two answers. */
|
|
public var avatar: String?
|
|
/** ComputeRef re-binds (or, with \"\", unbinds) the visor machine. Opaque here. */
|
|
public var computeRef: String?
|
|
/** Description replaces the line other agents read in the tool catalogue. */
|
|
public var description: String?
|
|
/** Emoji re-draws the agent as a glyph. Sending either of the pair replaces BOTH, so setting a glyph clears an image and \"\" for both goes back to the initial — there is no state where a row holds two answers. */
|
|
public var emoji: String?
|
|
/** ExecutionMode switches between one-shot and long-running. The RESULTING mode+schedule are validated together, so switching to long-running without a stored or supplied cron is refused rather than accepted into an agent the scheduler would skip forever. A switch INTO long-running counts against the per-org cap and can be a 409. */
|
|
public var executionMode: String?
|
|
/** Instructions replaces the system prompt whole, up to 32 KiB. There is no append: a prompt is one text, and sending \"\" clears it. */
|
|
public var instructions: String?
|
|
/** Model re-points the agent at another model, checked against the gateway's served catalogue exactly as create checks it. Empty STRING is refused — say nothing to keep the current one. Past runs keep the model that served them. */
|
|
public var model: String?
|
|
/** Ref is the agent to update — its public id or org-unique name, from the path. */
|
|
public var ref: String?
|
|
/** Schedule replaces the cron. It is validated against the mode this update leaves behind, and dropped if that mode is one-shot. */
|
|
public var schedule: String?
|
|
/** ServiceAccountID re-points (or, with \"\", clears) the IAM service account a scheduled run is billed as. Clearing it puts that spend back on the org. */
|
|
public var serviceAccountId: String?
|
|
/** Tools replaces the whole allow-list, it does not add to it. Sending [] takes every tool away, which is the only way to say that. */
|
|
public var tools: [String]?
|
|
|
|
public init(avatar: String? = nil, computeRef: String? = nil, description: String? = nil, emoji: String? = nil, executionMode: String? = nil, instructions: String? = nil, model: String? = nil, ref: String? = nil, schedule: String? = nil, serviceAccountId: String? = nil, tools: [String]? = nil) {
|
|
self.avatar = avatar
|
|
self.computeRef = computeRef
|
|
self.description = description
|
|
self.emoji = emoji
|
|
self.executionMode = executionMode
|
|
self.instructions = instructions
|
|
self.model = model
|
|
self.ref = ref
|
|
self.schedule = schedule
|
|
self.serviceAccountId = serviceAccountId
|
|
self.tools = tools
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case avatar
|
|
case computeRef
|
|
case description
|
|
case emoji
|
|
case executionMode
|
|
case instructions
|
|
case model
|
|
case ref
|
|
case schedule
|
|
case serviceAccountId
|
|
case tools
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(avatar, forKey: .avatar)
|
|
try container.encodeIfPresent(computeRef, forKey: .computeRef)
|
|
try container.encodeIfPresent(description, forKey: .description)
|
|
try container.encodeIfPresent(emoji, forKey: .emoji)
|
|
try container.encodeIfPresent(executionMode, forKey: .executionMode)
|
|
try container.encodeIfPresent(instructions, forKey: .instructions)
|
|
try container.encodeIfPresent(model, forKey: .model)
|
|
try container.encodeIfPresent(ref, forKey: .ref)
|
|
try container.encodeIfPresent(schedule, forKey: .schedule)
|
|
try container.encodeIfPresent(serviceAccountId, forKey: .serviceAccountId)
|
|
try container.encodeIfPresent(tools, forKey: .tools)
|
|
}
|
|
}
|
|
|