// DO NOT EDIT. // swift-format-ignore-file // // Generated by the Swift generator plugin for the protocol buffer compiler. // Source: shared.proto // // For information on using the generated types, please see the documentation: // https://github.com/apple/swift-protobuf/ ///* /// Shared messages for the Stable Diffusion RPC service. import Foundation import SwiftProtobuf // If the compiler emits an error on this type, it is because this file // was generated by a version of the `protoc` Swift plug-in that is // incompatible with the version of SwiftProtobuf to which you are linking. // Please ensure that you are building against the same version of the API // that was used to generate this file. fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {} typealias Version = _2 } ///* /// Represents the model attention. Model attention has to do with how the model is encoded, and /// can determine what compute units are able to support a particular model. public enum SdModelAttention: SwiftProtobuf.Enum { public typealias RawValue = Int ///* /// The model is an original attention type. It can be loaded only onto CPU & GPU compute units. case original // = 0 ///* /// The model is a split-ein-sum attention type. It can be loaded onto all compute units, /// including the Apple Neural Engine. case splitEinSum // = 1 case UNRECOGNIZED(Int) public init() { self = .original } public init?(rawValue: Int) { switch rawValue { case 0: self = .original case 1: self = .splitEinSum default: self = .UNRECOGNIZED(rawValue) } } public var rawValue: Int { switch self { case .original: return 0 case .splitEinSum: return 1 case .UNRECOGNIZED(let i): return i } } } #if swift(>=4.2) extension SdModelAttention: CaseIterable { // The compiler won't synthesize support with the UNRECOGNIZED case. public static var allCases: [SdModelAttention] = [ .original, .splitEinSum, ] } #endif // swift(>=4.2) ///* /// Represents the schedulers that are used to sample images. public enum SdScheduler: SwiftProtobuf.Enum { public typealias RawValue = Int ///* /// The PNDM (Pseudo numerical methods for diffusion models) scheduler. case pndm // = 0 ///* /// The DPM-Solver++ scheduler. case dpmSolverPlusPlus // = 1 case UNRECOGNIZED(Int) public init() { self = .pndm } public init?(rawValue: Int) { switch rawValue { case 0: self = .pndm case 1: self = .dpmSolverPlusPlus default: self = .UNRECOGNIZED(rawValue) } } public var rawValue: Int { switch self { case .pndm: return 0 case .dpmSolverPlusPlus: return 1 case .UNRECOGNIZED(let i): return i } } } #if swift(>=4.2) extension SdScheduler: CaseIterable { // The compiler won't synthesize support with the UNRECOGNIZED case. public static var allCases: [SdScheduler] = [ .pndm, .dpmSolverPlusPlus, ] } #endif // swift(>=4.2) ///* /// Represents a specifier for what compute units are available for ML tasks. public enum SdComputeUnits: SwiftProtobuf.Enum { public typealias RawValue = Int ///* /// The CPU as a singular compute unit. case cpu // = 0 ///* /// The CPU & GPU combined into a singular compute unit. case cpuAndGpu // = 1 ///* /// Allow the usage of all compute units. CoreML will decided where the model is loaded. case all // = 2 ///* /// The CPU & Neural Engine combined into a singular compute unit. case cpuAndNeuralEngine // = 3 case UNRECOGNIZED(Int) public init() { self = .cpu } public init?(rawValue: Int) { switch rawValue { case 0: self = .cpu case 1: self = .cpuAndGpu case 2: self = .all case 3: self = .cpuAndNeuralEngine default: self = .UNRECOGNIZED(rawValue) } } public var rawValue: Int { switch self { case .cpu: return 0 case .cpuAndGpu: return 1 case .all: return 2 case .cpuAndNeuralEngine: return 3 case .UNRECOGNIZED(let i): return i } } } #if swift(>=4.2) extension SdComputeUnits: CaseIterable { // The compiler won't synthesize support with the UNRECOGNIZED case. public static var allCases: [SdComputeUnits] = [ .cpu, .cpuAndGpu, .all, .cpuAndNeuralEngine, ] } #endif // swift(>=4.2) ///* /// Represents the format of an image. public enum SdImageFormat: SwiftProtobuf.Enum { public typealias RawValue = Int ///* /// The PNG image format. case png // = 0 case UNRECOGNIZED(Int) public init() { self = .png } public init?(rawValue: Int) { switch rawValue { case 0: self = .png default: self = .UNRECOGNIZED(rawValue) } } public var rawValue: Int { switch self { case .png: return 0 case .UNRECOGNIZED(let i): return i } } } #if swift(>=4.2) extension SdImageFormat: CaseIterable { // The compiler won't synthesize support with the UNRECOGNIZED case. public static var allCases: [SdImageFormat] = [ .png, ] } #endif // swift(>=4.2) ///* /// Represents information about an available model. /// The primary key of a model is it's 'name' field. public struct SdModelInfo { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. ///* /// The name of the available model. Note that within the context of a single RPC server, /// the name of a model is a unique identifier. This may not be true when utilizing a cluster or /// load balanced server, so keep that in mind. public var name: String = String() ///* /// The attention of the model. Model attention determines what compute units can be used to /// load the model and make predictions. public var attention: SdModelAttention = .original ///* /// Whether the model is currently loaded onto an available compute unit. public var isLoaded: Bool = false ///* /// The compute unit that the model is currently loaded into, if it is loaded to one at all. /// When is_loaded is false, the value of this field should be null. public var loadedComputeUnits: SdComputeUnits = .cpu ///* /// The compute units that this model supports using. public var supportedComputeUnits: [SdComputeUnits] = [] public var unknownFields = SwiftProtobuf.UnknownStorage() public init() {} } ///* /// Represents an image within the Stable Diffusion context. /// This could be an input image for an image generation request, or it could be /// a generated image from the Stable Diffusion model. public struct SdImage { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. ///* /// The format of the image. public var format: SdImageFormat = .png ///* /// The raw data of the image, in the specified format. public var data: Data = Data() public var unknownFields = SwiftProtobuf.UnknownStorage() public init() {} } #if swift(>=5.5) && canImport(_Concurrency) extension SdModelAttention: @unchecked Sendable {} extension SdScheduler: @unchecked Sendable {} extension SdComputeUnits: @unchecked Sendable {} extension SdImageFormat: @unchecked Sendable {} extension SdModelInfo: @unchecked Sendable {} extension SdImage: @unchecked Sendable {} #endif // swift(>=5.5) && canImport(_Concurrency) // MARK: - Code below here is support for the SwiftProtobuf runtime. fileprivate let _protobuf_package = "gay.pizza.stable.diffusion" extension SdModelAttention: SwiftProtobuf._ProtoNameProviding { public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 0: .same(proto: "original"), 1: .same(proto: "split_ein_sum"), ] } extension SdScheduler: SwiftProtobuf._ProtoNameProviding { public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 0: .same(proto: "pndm"), 1: .same(proto: "dpm_solver_plus_plus"), ] } extension SdComputeUnits: SwiftProtobuf._ProtoNameProviding { public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 0: .same(proto: "cpu"), 1: .same(proto: "cpu_and_gpu"), 2: .same(proto: "all"), 3: .same(proto: "cpu_and_neural_engine"), ] } extension SdImageFormat: SwiftProtobuf._ProtoNameProviding { public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 0: .same(proto: "png"), ] } extension SdModelInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".ModelInfo" public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "name"), 2: .same(proto: "attention"), 3: .standard(proto: "is_loaded"), 4: .standard(proto: "loaded_compute_units"), 5: .standard(proto: "supported_compute_units"), ] public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularStringField(value: &self.name) }() case 2: try { try decoder.decodeSingularEnumField(value: &self.attention) }() case 3: try { try decoder.decodeSingularBoolField(value: &self.isLoaded) }() case 4: try { try decoder.decodeSingularEnumField(value: &self.loadedComputeUnits) }() case 5: try { try decoder.decodeRepeatedEnumField(value: &self.supportedComputeUnits) }() default: break } } } public func traverse(visitor: inout V) throws { if !self.name.isEmpty { try visitor.visitSingularStringField(value: self.name, fieldNumber: 1) } if self.attention != .original { try visitor.visitSingularEnumField(value: self.attention, fieldNumber: 2) } if self.isLoaded != false { try visitor.visitSingularBoolField(value: self.isLoaded, fieldNumber: 3) } if self.loadedComputeUnits != .cpu { try visitor.visitSingularEnumField(value: self.loadedComputeUnits, fieldNumber: 4) } if !self.supportedComputeUnits.isEmpty { try visitor.visitPackedEnumField(value: self.supportedComputeUnits, fieldNumber: 5) } try unknownFields.traverse(visitor: &visitor) } public static func ==(lhs: SdModelInfo, rhs: SdModelInfo) -> Bool { if lhs.name != rhs.name {return false} if lhs.attention != rhs.attention {return false} if lhs.isLoaded != rhs.isLoaded {return false} if lhs.loadedComputeUnits != rhs.loadedComputeUnits {return false} if lhs.supportedComputeUnits != rhs.supportedComputeUnits {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension SdImage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { public static let protoMessageName: String = _protobuf_package + ".Image" public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "format"), 2: .same(proto: "data"), ] public mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularEnumField(value: &self.format) }() case 2: try { try decoder.decodeSingularBytesField(value: &self.data) }() default: break } } } public func traverse(visitor: inout V) throws { if self.format != .png { try visitor.visitSingularEnumField(value: self.format, fieldNumber: 1) } if !self.data.isEmpty { try visitor.visitSingularBytesField(value: self.data, fieldNumber: 2) } try unknownFields.traverse(visitor: &visitor) } public static func ==(lhs: SdImage, rhs: SdImage) -> Bool { if lhs.format != rhs.format {return false} if lhs.data != rhs.data {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } }