#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GossipFrame {
#[prost(uint32, tag = "1")]
pub r#gen: u32,
#[prost(message, repeated, tag = "2")]
pub peers: ::prost::alloc::vec::Vec<PeerAnnouncement>,
#[prost(bytes = "vec", tag = "3")]
pub sender_id: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PeerAnnouncement {
#[prost(bytes = "vec", tag = "1")]
pub endpoint_id: ::prost::alloc::vec::Vec<u8>,
#[prost(enumeration = "NodeRole", tag = "2")]
pub role: i32,
#[prost(uint32, optional, tag = "3")]
pub http_port: ::core::option::Option<u32>,
#[prost(string, optional, tag = "4")]
pub version: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub gpu_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub hostname: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "7")]
pub is_soc: ::core::option::Option<bool>,
#[prost(string, optional, tag = "8")]
pub gpu_vram: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "9")]
pub available_models: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "10")]
pub serving_models: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "11")]
pub requested_models: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "12")]
pub available_model_metadata: ::prost::alloc::vec::Vec<CompactModelMetadata>,
#[prost(message, optional, tag = "13")]
pub experts_summary: ::core::option::Option<ExpertsSummary>,
#[prost(uint32, optional, tag = "14")]
pub rtt_ms: ::core::option::Option<u32>,
#[prost(string, repeated, tag = "15")]
pub catalog_models: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(uint64, tag = "16")]
pub vram_bytes: u64,
#[prost(string, optional, tag = "17")]
pub model_source: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "18")]
pub primary_serving: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "19")]
pub mesh_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "20")]
pub demand: ::prost::alloc::vec::Vec<ModelDemandEntry>,
#[prost(map = "string, uint64", tag = "21")]
pub available_model_sizes: ::std::collections::HashMap<::prost::alloc::string::String, u64>,
#[prost(bytes = "vec", tag = "22")]
pub serialized_addr: ::prost::alloc::vec::Vec<u8>,
#[prost(string, repeated, tag = "23")]
pub hosted_models: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "24")]
pub hosted_models_known: ::core::option::Option<bool>,
#[prost(message, repeated, tag = "25")]
pub served_model_descriptors: ::prost::alloc::vec::Vec<ServedModelDescriptor>,
#[prost(message, repeated, tag = "26")]
pub served_model_identities: ::prost::alloc::vec::Vec<ServedModelIdentity>,
#[prost(message, repeated, tag = "27")]
pub served_model_runtime: ::prost::alloc::vec::Vec<ModelRuntimeDescriptor>,
#[prost(message, optional, tag = "28")]
pub owner_attestation: ::core::option::Option<SignedNodeOwnership>,
#[prost(string, optional, tag = "29")]
pub gpu_mem_bandwidth_gbps: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "30")]
pub gpu_compute_tflops_fp32: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "31")]
pub gpu_compute_tflops_fp16: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "32")]
pub gpu_reserved_bytes: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "33")]
pub hardware: ::core::option::Option<HardwareInfo>,
#[prost(uint64, optional, tag = "34")]
pub first_joined_mesh_ts: ::core::option::Option<u64>,
#[prost(string, repeated, tag = "35")]
pub explicit_model_interests: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "37")]
pub subprotocols: ::prost::alloc::vec::Vec<MeshSubprotocol>,
#[prost(uint32, optional, tag = "40")]
pub latency_ms: ::core::option::Option<u32>,
#[prost(enumeration = "LatencySource", tag = "41")]
pub latency_source: i32,
#[prost(uint32, optional, tag = "42")]
pub latency_age_ms: ::core::option::Option<u32>,
#[prost(bytes = "vec", optional, tag = "43")]
pub latency_observer_id: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
#[prost(message, repeated, tag = "44")]
pub advertised_model_throughput: ::prost::alloc::vec::Vec<AdvertisedModelThroughput>,
#[prost(string, optional, tag = "45")]
pub mesh_policy_hash: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "46")]
pub genesis_policy: ::core::option::Option<SignedMeshGenesisPolicy>,
#[prost(message, optional, tag = "47")]
pub release_attestation: ::core::option::Option<ReleaseBuildAttestation>,
#[prost(message, optional, tag = "48")]
pub direct_admission_proof: ::core::option::Option<DirectNodeAdmissionProof>,
#[prost(enumeration = "InferenceAdmissionState", optional, tag = "49")]
pub inference_admission_state: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdvertisedModelThroughput {
#[prost(string, tag = "1")]
pub model_name: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub avg_tokens_per_second_milli: u64,
#[prost(uint64, tag = "3")]
pub throughput_samples: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MeshSubprotocol {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub major: u32,
#[prost(string, repeated, tag = "3")]
pub features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MeshSubprotocolOpen {
#[prost(uint32, tag = "1")]
pub r#gen: u32,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(uint32, tag = "3")]
pub major: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HardwareInfo {
#[prost(bool, optional, tag = "1")]
pub is_soc: ::core::option::Option<bool>,
#[prost(string, optional, tag = "2")]
pub hostname: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "3")]
pub gpus: ::prost::alloc::vec::Vec<GpuInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GpuInfo {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub vram_bytes: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub reserved_bytes: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub mem_bandwidth_gbps: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub compute_tflops_fp32: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub compute_tflops_fp16: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SignedNodeOwnership {
#[prost(uint32, tag = "1")]
pub version: u32,
#[prost(string, tag = "2")]
pub cert_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub owner_id: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "4")]
pub owner_sign_public_key: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "5")]
pub node_endpoint_id: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag = "6")]
pub issued_at_unix_ms: u64,
#[prost(uint64, tag = "7")]
pub expires_at_unix_ms: u64,
#[prost(string, optional, tag = "8")]
pub node_label: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "9")]
pub hostname_hint: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bytes = "vec", tag = "10")]
pub signature: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServedModelDescriptor {
#[prost(message, optional, tag = "1")]
pub identity: ::core::option::Option<ServedModelIdentity>,
#[prost(message, optional, tag = "2")]
pub capabilities: ::core::option::Option<ModelCapabilities>,
#[prost(message, optional, tag = "3")]
pub topology: ::core::option::Option<ModelTopology>,
#[prost(bool, optional, tag = "4")]
pub capabilities_known: ::core::option::Option<bool>,
#[prost(message, optional, tag = "5")]
pub metadata: ::core::option::Option<ServedModelMetadata>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServedModelMetadata {
#[prost(string, optional, tag = "1")]
pub architecture: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub parameter_size: ::core::option::Option<::prost::alloc::string::String>,
#[prost(double, optional, tag = "3")]
pub parameter_count_b: ::core::option::Option<f64>,
#[prost(string, optional, tag = "4")]
pub quant: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint32, optional, tag = "5")]
pub native_context_length: ::core::option::Option<u32>,
#[prost(string, optional, tag = "6")]
pub tokenizer: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint32, optional, tag = "7")]
pub layer_count: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "8")]
pub embedding_size: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "9")]
pub head_count: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "10")]
pub kv_head_count: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "11")]
pub expert_count: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "12")]
pub active_expert_count: ::core::option::Option<u32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ServedModelIdentity {
#[prost(string, tag = "1")]
pub model_name: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub is_primary: bool,
#[prost(enumeration = "ModelSourceKind", tag = "3")]
pub source_kind: i32,
#[prost(string, optional, tag = "4")]
pub canonical_ref: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub repository: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub revision: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub artifact: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "8")]
pub local_file_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "9")]
pub identity_hash: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ModelCapabilities {
#[prost(enumeration = "CapabilityLevel", tag = "1")]
pub vision: i32,
#[prost(enumeration = "CapabilityLevel", tag = "2")]
pub reasoning: i32,
#[prost(enumeration = "CapabilityLevel", tag = "3")]
pub tool_use: i32,
#[prost(bool, tag = "4")]
pub moe: bool,
#[prost(bool, tag = "5")]
pub multimodal: bool,
#[prost(enumeration = "CapabilityLevel", tag = "6")]
pub audio: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ModelTopology {
#[prost(message, optional, tag = "1")]
pub moe: ::core::option::Option<ModelMoeInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ModelRuntimeDescriptor {
#[prost(string, tag = "1")]
pub model_name: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub identity_hash: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint32, optional, tag = "3")]
pub context_length: ::core::option::Option<u32>,
#[prost(bool, tag = "4")]
pub ready: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ModelMoeInfo {
#[prost(uint32, tag = "1")]
pub expert_count: u32,
#[prost(uint32, tag = "2")]
pub used_expert_count: u32,
#[prost(uint32, optional, tag = "3")]
pub min_experts_per_node: ::core::option::Option<u32>,
#[prost(string, optional, tag = "4")]
pub source: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub ranking_source: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint32, repeated, tag = "6")]
pub ranking: ::prost::alloc::vec::Vec<u32>,
#[prost(uint32, optional, tag = "7")]
pub ranking_prompt_count: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "8")]
pub ranking_tokens: ::core::option::Option<u32>,
#[prost(string, optional, tag = "9")]
pub ranking_layer_scope: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "10")]
pub ranking_origin: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CompactModelMetadata {
#[prost(string, tag = "1")]
pub model_key: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub context_length: u32,
#[prost(uint32, tag = "3")]
pub vocab_size: u32,
#[prost(uint32, tag = "4")]
pub embedding_size: u32,
#[prost(uint32, tag = "5")]
pub head_count: u32,
#[prost(uint32, tag = "6")]
pub layer_count: u32,
#[prost(uint32, tag = "7")]
pub feed_forward_length: u32,
#[prost(uint32, tag = "8")]
pub key_length: u32,
#[prost(uint32, tag = "9")]
pub value_length: u32,
#[prost(string, tag = "10")]
pub architecture: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub tokenizer_model_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "12")]
pub special_tokens: ::prost::alloc::vec::Vec<SpecialToken>,
#[prost(float, tag = "13")]
pub rope_scale: f32,
#[prost(float, tag = "14")]
pub rope_freq_base: f32,
#[prost(bool, tag = "15")]
pub is_moe: bool,
#[prost(uint32, tag = "16")]
pub expert_count: u32,
#[prost(uint32, tag = "17")]
pub used_expert_count: u32,
#[prost(string, tag = "18")]
pub quantization_type: ::prost::alloc::string::String,
#[prost(uint32, tag = "19")]
pub kv_head_count: u32,
#[prost(string, optional, tag = "20")]
pub parameter_size: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SpecialToken {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub token_id: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExpertsSummary {
#[prost(uint32, tag = "1")]
pub total_experts: u32,
#[prost(uint32, tag = "2")]
pub expert_count_used: u32,
#[prost(uint32, repeated, tag = "3")]
pub top_expert_ids: ::prost::alloc::vec::Vec<u32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ModelDemandEntry {
#[prost(string, tag = "1")]
pub model_name: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub last_active: u64,
#[prost(uint64, tag = "3")]
pub request_count: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TunnelMap {
#[prost(bytes = "vec", tag = "1")]
pub owner_peer_id: ::prost::alloc::vec::Vec<u8>,
#[prost(message, repeated, tag = "2")]
pub entries: ::prost::alloc::vec::Vec<TunnelEntry>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TunnelEntry {
#[prost(bytes = "vec", tag = "1")]
pub target_peer_id: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", optional, tag = "2")]
pub relay_peer_id: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
#[prost(uint32, tag = "3")]
pub tunnel_port: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RouteTableRequest {
#[prost(bytes = "vec", tag = "1")]
pub requester_id: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, tag = "2")]
pub r#gen: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RouteTable {
#[prost(message, repeated, tag = "1")]
pub entries: ::prost::alloc::vec::Vec<RouteEntry>,
#[prost(string, optional, tag = "2")]
pub mesh_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint32, tag = "3")]
pub r#gen: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RouteEntry {
#[prost(bytes = "vec", tag = "1")]
pub endpoint_id: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "2")]
pub model: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PeerDown {
#[prost(bytes = "vec", tag = "1")]
pub peer_id: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, tag = "2")]
pub r#gen: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PeerLeaving {
#[prost(bytes = "vec", tag = "1")]
pub peer_id: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, tag = "2")]
pub r#gen: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DirectPathRequest {
#[prost(bytes = "vec", tag = "1")]
pub requester_id: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, tag = "2")]
pub r#gen: u32,
#[prost(bytes = "vec", tag = "3")]
pub serialized_addr: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NodeConfigSnapshot {
#[prost(uint32, tag = "1")]
pub version: u32,
#[prost(message, optional, tag = "2")]
pub gpu: ::core::option::Option<NodeGpuConfig>,
#[prost(message, repeated, tag = "3")]
pub models: ::prost::alloc::vec::Vec<NodeModelEntry>,
#[prost(message, repeated, tag = "4")]
pub plugins: ::prost::alloc::vec::Vec<NodePluginEntry>,
#[prost(string, optional, tag = "5")]
pub config_toml: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "6")]
pub mesh_requirements: ::core::option::Option<MeshRequirements>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NodeGpuConfig {
#[prost(enumeration = "GpuAssignment", tag = "1")]
pub assignment: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConfiguredModelRef {
#[prost(string, tag = "1")]
pub declared_ref: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub source_kind: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub revision: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NodeModelEntry {
#[prost(string, tag = "1")]
pub model: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub mmproj: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint32, optional, tag = "3")]
pub ctx_size: ::core::option::Option<u32>,
#[prost(string, optional, tag = "4")]
pub gpu_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "5")]
pub model_ref: ::core::option::Option<ConfiguredModelRef>,
#[prost(message, optional, tag = "6")]
pub mmproj_ref: ::core::option::Option<ConfiguredModelRef>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NodePluginEntry {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(bool, optional, tag = "2")]
pub enabled: ::core::option::Option<bool>,
#[prost(string, optional, tag = "3")]
pub command: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "4")]
pub args: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlEnvelope {
#[prost(uint32, tag = "1")]
pub r#gen: u32,
#[prost(message, optional, tag = "2")]
pub handshake: ::core::option::Option<OwnerControlHandshake>,
#[prost(message, optional, tag = "3")]
pub request: ::core::option::Option<OwnerControlRequest>,
#[prost(message, optional, tag = "4")]
pub response: ::core::option::Option<OwnerControlResponse>,
#[prost(message, optional, tag = "5")]
pub error: ::core::option::Option<OwnerControlError>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlHandshake {
#[prost(message, optional, tag = "1")]
pub ownership: ::core::option::Option<SignedNodeOwnership>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlRequest {
#[prost(uint64, tag = "1")]
pub request_id: u64,
#[prost(message, optional, tag = "2")]
pub get_config: ::core::option::Option<OwnerControlGetConfigRequest>,
#[prost(message, optional, tag = "3")]
pub watch_config: ::core::option::Option<OwnerControlWatchConfigRequest>,
#[prost(message, optional, tag = "4")]
pub apply_config: ::core::option::Option<OwnerControlApplyConfigRequest>,
#[prost(message, optional, tag = "5")]
pub refresh_inventory: ::core::option::Option<OwnerControlRefreshInventoryRequest>,
#[prost(message, optional, tag = "6")]
pub load_model: ::core::option::Option<OwnerControlLoadModelRequest>,
#[prost(message, optional, tag = "7")]
pub unload_model: ::core::option::Option<OwnerControlUnloadModelRequest>,
#[prost(message, optional, tag = "8")]
pub ensure_model: ::core::option::Option<OwnerControlEnsureModelRequest>,
#[prost(message, optional, tag = "9")]
pub drain_model: ::core::option::Option<OwnerControlDrainModelRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlResponse {
#[prost(uint64, tag = "1")]
pub request_id: u64,
#[prost(message, optional, tag = "2")]
pub get_config: ::core::option::Option<OwnerControlGetConfigResponse>,
#[prost(message, optional, tag = "3")]
pub watch_config: ::core::option::Option<OwnerControlWatchConfigResponse>,
#[prost(message, optional, tag = "4")]
pub apply_config: ::core::option::Option<OwnerControlApplyConfigResponse>,
#[prost(message, optional, tag = "5")]
pub refresh_inventory: ::core::option::Option<OwnerControlRefreshInventoryResponse>,
#[prost(message, optional, tag = "6")]
pub load_model: ::core::option::Option<OwnerControlLoadModelResponse>,
#[prost(message, optional, tag = "7")]
pub unload_model: ::core::option::Option<OwnerControlUnloadModelResponse>,
#[prost(message, optional, tag = "8")]
pub ensure_model: ::core::option::Option<OwnerControlEnsureModelResponse>,
#[prost(message, optional, tag = "9")]
pub drain_model: ::core::option::Option<OwnerControlDrainModelResponse>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlError {
#[prost(enumeration = "OwnerControlErrorCode", tag = "1")]
pub code: i32,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
#[prost(uint64, optional, tag = "3")]
pub request_id: ::core::option::Option<u64>,
#[prost(uint64, optional, tag = "4")]
pub current_revision: ::core::option::Option<u64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlGetConfigRequest {
#[prost(bytes = "vec", tag = "1")]
pub requester_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub target_node_id: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlGetConfigResponse {
#[prost(message, optional, tag = "1")]
pub snapshot: ::core::option::Option<OwnerControlConfigSnapshot>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlWatchConfigRequest {
#[prost(bytes = "vec", tag = "1")]
pub requester_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub target_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(bool, tag = "3")]
pub include_snapshot: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlWatchConfigResponse {
#[prost(message, optional, tag = "1")]
pub accepted: ::core::option::Option<OwnerControlWatchAccepted>,
#[prost(message, optional, tag = "2")]
pub snapshot: ::core::option::Option<OwnerControlConfigSnapshot>,
#[prost(message, optional, tag = "3")]
pub update: ::core::option::Option<OwnerControlConfigUpdate>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlWatchAccepted {
#[prost(bytes = "vec", tag = "1")]
pub target_node_id: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlApplyConfigRequest {
#[prost(bytes = "vec", tag = "1")]
pub requester_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub target_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag = "3")]
pub expected_revision: u64,
#[prost(message, optional, tag = "4")]
pub config: ::core::option::Option<NodeConfigSnapshot>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlApplyConfigResponse {
#[prost(bool, tag = "1")]
pub success: bool,
#[prost(uint64, tag = "2")]
pub current_revision: u64,
#[prost(bytes = "vec", tag = "3")]
pub config_hash: ::prost::alloc::vec::Vec<u8>,
#[prost(string, optional, tag = "4")]
pub error: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration = "ConfigApplyMode", tag = "5")]
pub apply_mode: i32,
#[prost(message, repeated, tag = "6")]
pub diagnostics: ::prost::alloc::vec::Vec<ConfigDiagnostic>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConfigDiagnostic {
#[prost(enumeration = "ConfigDiagnosticCode", tag = "1")]
pub code: i32,
#[prost(enumeration = "ConfigDiagnosticSeverity", tag = "2")]
pub severity: i32,
#[prost(enumeration = "ConfigDiagnosticSource", tag = "3")]
pub source: i32,
#[prost(enumeration = "ConfigDiagnosticSchemaSource", optional, tag = "4")]
pub schema_source: ::core::option::Option<i32>,
#[prost(string, optional, tag = "5")]
pub path: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub canonical_path: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag = "7")]
pub message: ::prost::alloc::string::String,
#[prost(string, optional, tag = "8")]
pub help: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlRefreshInventoryRequest {
#[prost(bytes = "vec", tag = "1")]
pub requester_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub target_node_id: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlRefreshInventoryResponse {
#[prost(message, optional, tag = "1")]
pub snapshot: ::core::option::Option<OwnerControlConfigSnapshot>,
#[prost(message, optional, tag = "2")]
pub inventory: ::core::option::Option<OwnerControlRefreshInventory>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlModelRef {
#[prost(string, tag = "1")]
pub canonical_model_ref: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub instance_id: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlLoadModelRequest {
#[prost(bytes = "vec", tag = "1")]
pub requester_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub target_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "3")]
pub model: ::core::option::Option<OwnerControlModelRef>,
#[prost(string, optional, tag = "4")]
pub profile: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlUnloadModelRequest {
#[prost(bytes = "vec", tag = "1")]
pub requester_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub target_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "3")]
pub model: ::core::option::Option<OwnerControlModelRef>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlEnsureModelRequest {
#[prost(bytes = "vec", tag = "1")]
pub requester_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub target_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "3")]
pub model: ::core::option::Option<OwnerControlModelRef>,
#[prost(string, optional, tag = "4")]
pub profile: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlDrainModelRequest {
#[prost(bytes = "vec", tag = "1")]
pub requester_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub target_node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "3")]
pub model: ::core::option::Option<OwnerControlModelRef>,
#[prost(uint64, optional, tag = "4")]
pub drain_timeout_secs: ::core::option::Option<u64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlLoadModelResponse {
#[prost(string, tag = "1")]
pub intent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub accepted_state: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub target: ::core::option::Option<OwnerControlModelRef>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlUnloadModelResponse {
#[prost(string, tag = "1")]
pub intent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub accepted_state: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub target: ::core::option::Option<OwnerControlModelRef>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlEnsureModelResponse {
#[prost(string, tag = "1")]
pub intent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub accepted_state: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub target: ::core::option::Option<OwnerControlModelRef>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlDrainModelResponse {
#[prost(string, tag = "1")]
pub intent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub accepted_state: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub target: ::core::option::Option<OwnerControlModelRef>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlRefreshInventory {
#[prost(message, repeated, tag = "1")]
pub entries: ::prost::alloc::vec::Vec<OwnerControlInventoryEntry>,
#[prost(enumeration = "OwnerControlRefreshInventoryDisposition", tag = "2")]
pub disposition: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlInventoryEntry {
#[prost(string, tag = "1")]
pub canonical_model_ref: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub display_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint64, tag = "3")]
pub total_size_bytes: u64,
#[prost(message, optional, tag = "4")]
pub metadata: ::core::option::Option<CompactModelMetadata>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlConfigSnapshot {
#[prost(bytes = "vec", tag = "1")]
pub node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag = "2")]
pub revision: u64,
#[prost(bytes = "vec", tag = "3")]
pub config_hash: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "4")]
pub config: ::core::option::Option<NodeConfigSnapshot>,
#[prost(string, optional, tag = "5")]
pub hostname: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OwnerControlConfigUpdate {
#[prost(bytes = "vec", tag = "1")]
pub node_id: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag = "2")]
pub revision: u64,
#[prost(bytes = "vec", tag = "3")]
pub config_hash: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "4")]
pub config: ::core::option::Option<NodeConfigSnapshot>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CapabilityLevel {
Unspecified = 0,
None = 1,
Likely = 2,
Supported = 3,
}
impl CapabilityLevel {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CAPABILITY_LEVEL_UNSPECIFIED",
Self::None => "CAPABILITY_LEVEL_NONE",
Self::Likely => "CAPABILITY_LEVEL_LIKELY",
Self::Supported => "CAPABILITY_LEVEL_SUPPORTED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CAPABILITY_LEVEL_UNSPECIFIED" => Some(Self::Unspecified),
"CAPABILITY_LEVEL_NONE" => Some(Self::None),
"CAPABILITY_LEVEL_LIKELY" => Some(Self::Likely),
"CAPABILITY_LEVEL_SUPPORTED" => Some(Self::Supported),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ModelSourceKind {
Unspecified = 0,
Catalog = 1,
HuggingFace = 2,
LocalGguf = 3,
DirectUrl = 4,
Unknown = 5,
}
impl ModelSourceKind {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "MODEL_SOURCE_KIND_UNSPECIFIED",
Self::Catalog => "MODEL_SOURCE_KIND_CATALOG",
Self::HuggingFace => "MODEL_SOURCE_KIND_HUGGING_FACE",
Self::LocalGguf => "MODEL_SOURCE_KIND_LOCAL_GGUF",
Self::DirectUrl => "MODEL_SOURCE_KIND_DIRECT_URL",
Self::Unknown => "MODEL_SOURCE_KIND_UNKNOWN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MODEL_SOURCE_KIND_UNSPECIFIED" => Some(Self::Unspecified),
"MODEL_SOURCE_KIND_CATALOG" => Some(Self::Catalog),
"MODEL_SOURCE_KIND_HUGGING_FACE" => Some(Self::HuggingFace),
"MODEL_SOURCE_KIND_LOCAL_GGUF" => Some(Self::LocalGguf),
"MODEL_SOURCE_KIND_DIRECT_URL" => Some(Self::DirectUrl),
"MODEL_SOURCE_KIND_UNKNOWN" => Some(Self::Unknown),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NodeRole {
Unspecified = 0,
Worker = 1,
Host = 2,
Client = 3,
}
impl NodeRole {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "NODE_ROLE_UNSPECIFIED",
Self::Worker => "WORKER",
Self::Host => "HOST",
Self::Client => "CLIENT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NODE_ROLE_UNSPECIFIED" => Some(Self::Unspecified),
"WORKER" => Some(Self::Worker),
"HOST" => Some(Self::Host),
"CLIENT" => Some(Self::Client),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LatencySource {
Unspecified = 0,
Direct = 1,
Estimated = 2,
Unknown = 3,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SignedMeshGenesisPolicy {
#[prost(uint32, tag = "1")]
pub version: u32,
#[prost(message, optional, tag = "2")]
pub policy: ::core::option::Option<MeshGenesisPolicy>,
#[prost(bytes = "vec", tag = "3")]
pub origin_sign_public_key: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "4")]
pub signature_algorithm: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "5")]
pub signature: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MeshGenesisPolicy {
#[prost(uint32, tag = "1")]
pub version: u32,
#[prost(string, tag = "2")]
pub origin_owner_id: ::prost::alloc::string::String,
#[prost(uint64, tag = "3")]
pub created_at_unix_ms: u64,
#[prost(message, optional, tag = "4")]
pub requirements: ::core::option::Option<MeshRequirements>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MeshRequirements {
#[prost(message, optional, tag = "1")]
pub node_version: ::core::option::Option<NodeVersionBounds>,
#[prost(message, optional, tag = "2")]
pub protocol_generation: ::core::option::Option<ProtocolGenerationBounds>,
#[prost(message, optional, tag = "3")]
pub release_attestation: ::core::option::Option<ReleaseAttestationRequirement>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NodeVersionBounds {
#[prost(string, optional, tag = "1")]
pub min: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub max: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ProtocolGenerationBounds {
#[prost(uint32, optional, tag = "1")]
pub min: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "2")]
pub max: ::core::option::Option<u32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReleaseAttestationRequirement {
#[prost(bool, optional, tag = "1")]
pub required: ::core::option::Option<bool>,
#[prost(string, repeated, tag = "2")]
pub allowed_signer_keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SignedBootstrapToken {
#[prost(uint32, tag = "1")]
pub version: u32,
#[prost(bytes = "vec", repeated, tag = "2")]
pub serialized_addrs: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
#[prost(string, tag = "3")]
pub mesh_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub policy_hash: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub genesis_policy: ::core::option::Option<MeshGenesisPolicy>,
#[prost(uint64, optional, tag = "6")]
pub expires_at_unix_ms: ::core::option::Option<u64>,
#[prost(bytes = "vec", tag = "7")]
pub origin_sign_public_key: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "8")]
pub signature_algorithm: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "9")]
pub signature: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReleaseBuildAttestation {
#[prost(uint32, tag = "1")]
pub version: u32,
#[prost(string, tag = "2")]
pub node_version: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub build_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub commit: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub target_triple: ::prost::alloc::string::String,
#[prost(uint32, optional, tag = "6")]
pub supported_protocol_generation_min: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "7")]
pub supported_protocol_generation_max: ::core::option::Option<u32>,
#[prost(string, optional, tag = "8")]
pub artifact_digest: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag = "9")]
pub signer_key_id: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub signature_algorithm: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "11")]
pub signature: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DirectNodeAdmissionProof {
#[prost(uint32, tag = "1")]
pub version: u32,
#[prost(bytes = "vec", tag = "2")]
pub sender_id: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "3")]
pub mesh_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub policy_hash: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub attestation_hash: ::prost::alloc::string::String,
#[prost(uint64, tag = "6")]
pub timestamp_unix_ms: u64,
#[prost(string, tag = "7")]
pub signature_algorithm: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "8")]
pub signature: ::prost::alloc::vec::Vec<u8>,
}
impl LatencySource {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "LATENCY_SOURCE_UNSPECIFIED",
Self::Direct => "DIRECT",
Self::Estimated => "ESTIMATED",
Self::Unknown => "UNKNOWN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LATENCY_SOURCE_UNSPECIFIED" => Some(Self::Unspecified),
"DIRECT" => Some(Self::Direct),
"ESTIMATED" => Some(Self::Estimated),
"UNKNOWN" => Some(Self::Unknown),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GpuAssignment {
Unspecified = 0,
Auto = 1,
Pinned = 2,
}
impl GpuAssignment {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "GPU_ASSIGNMENT_UNSPECIFIED",
Self::Auto => "GPU_ASSIGNMENT_AUTO",
Self::Pinned => "GPU_ASSIGNMENT_PINNED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"GPU_ASSIGNMENT_UNSPECIFIED" => Some(Self::Unspecified),
"GPU_ASSIGNMENT_AUTO" => Some(Self::Auto),
"GPU_ASSIGNMENT_PINNED" => Some(Self::Pinned),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ConfigApplyMode {
Unspecified = 0,
Staged = 1,
Live = 2,
Noop = 3,
}
impl ConfigApplyMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CONFIG_APPLY_MODE_UNSPECIFIED",
Self::Staged => "CONFIG_APPLY_MODE_STAGED",
Self::Live => "CONFIG_APPLY_MODE_LIVE",
Self::Noop => "CONFIG_APPLY_MODE_NOOP",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CONFIG_APPLY_MODE_UNSPECIFIED" => Some(Self::Unspecified),
"CONFIG_APPLY_MODE_STAGED" => Some(Self::Staged),
"CONFIG_APPLY_MODE_LIVE" => Some(Self::Live),
"CONFIG_APPLY_MODE_NOOP" => Some(Self::Noop),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ConfigDiagnosticSeverity {
Unspecified = 0,
Error = 1,
Warning = 2,
Info = 3,
}
impl ConfigDiagnosticSeverity {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CONFIG_DIAGNOSTIC_SEVERITY_UNSPECIFIED",
Self::Error => "CONFIG_DIAGNOSTIC_SEVERITY_ERROR",
Self::Warning => "CONFIG_DIAGNOSTIC_SEVERITY_WARNING",
Self::Info => "CONFIG_DIAGNOSTIC_SEVERITY_INFO",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CONFIG_DIAGNOSTIC_SEVERITY_UNSPECIFIED" => Some(Self::Unspecified),
"CONFIG_DIAGNOSTIC_SEVERITY_ERROR" => Some(Self::Error),
"CONFIG_DIAGNOSTIC_SEVERITY_WARNING" => Some(Self::Warning),
"CONFIG_DIAGNOSTIC_SEVERITY_INFO" => Some(Self::Info),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ConfigDiagnosticSource {
Unspecified = 0,
Validation = 1,
Schema = 2,
Plugin = 3,
Compatibility = 4,
}
impl ConfigDiagnosticSource {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CONFIG_DIAGNOSTIC_SOURCE_UNSPECIFIED",
Self::Validation => "CONFIG_DIAGNOSTIC_SOURCE_VALIDATION",
Self::Schema => "CONFIG_DIAGNOSTIC_SOURCE_SCHEMA",
Self::Plugin => "CONFIG_DIAGNOSTIC_SOURCE_PLUGIN",
Self::Compatibility => "CONFIG_DIAGNOSTIC_SOURCE_COMPATIBILITY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CONFIG_DIAGNOSTIC_SOURCE_UNSPECIFIED" => Some(Self::Unspecified),
"CONFIG_DIAGNOSTIC_SOURCE_VALIDATION" => Some(Self::Validation),
"CONFIG_DIAGNOSTIC_SOURCE_SCHEMA" => Some(Self::Schema),
"CONFIG_DIAGNOSTIC_SOURCE_PLUGIN" => Some(Self::Plugin),
"CONFIG_DIAGNOSTIC_SOURCE_COMPATIBILITY" => Some(Self::Compatibility),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ConfigDiagnosticSchemaSource {
Unspecified = 0,
BuiltIn = 1,
Engine = 2,
Plugin = 3,
}
impl ConfigDiagnosticSchemaSource {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CONFIG_DIAGNOSTIC_SCHEMA_SOURCE_UNSPECIFIED",
Self::BuiltIn => "CONFIG_DIAGNOSTIC_SCHEMA_SOURCE_BUILT_IN",
Self::Engine => "CONFIG_DIAGNOSTIC_SCHEMA_SOURCE_ENGINE",
Self::Plugin => "CONFIG_DIAGNOSTIC_SCHEMA_SOURCE_PLUGIN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CONFIG_DIAGNOSTIC_SCHEMA_SOURCE_UNSPECIFIED" => Some(Self::Unspecified),
"CONFIG_DIAGNOSTIC_SCHEMA_SOURCE_BUILT_IN" => Some(Self::BuiltIn),
"CONFIG_DIAGNOSTIC_SCHEMA_SOURCE_ENGINE" => Some(Self::Engine),
"CONFIG_DIAGNOSTIC_SCHEMA_SOURCE_PLUGIN" => Some(Self::Plugin),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ConfigDiagnosticCode {
Unspecified = 0,
InvalidValue = 1,
MissingRequiredValue = 2,
UnsupportedField = 3,
RejectedField = 4,
AliasApplied = 5,
MisplacedField = 6,
UnknownField = 7,
SchemaUnavailable = 8,
LegacyUnvalidatedConfig = 9,
UnsupportedSchemaVersion = 10,
}
impl ConfigDiagnosticCode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CONFIG_DIAGNOSTIC_CODE_UNSPECIFIED",
Self::InvalidValue => "CONFIG_DIAGNOSTIC_CODE_INVALID_VALUE",
Self::MissingRequiredValue => "CONFIG_DIAGNOSTIC_CODE_MISSING_REQUIRED_VALUE",
Self::UnsupportedField => "CONFIG_DIAGNOSTIC_CODE_UNSUPPORTED_FIELD",
Self::RejectedField => "CONFIG_DIAGNOSTIC_CODE_REJECTED_FIELD",
Self::AliasApplied => "CONFIG_DIAGNOSTIC_CODE_ALIAS_APPLIED",
Self::MisplacedField => "CONFIG_DIAGNOSTIC_CODE_MISPLACED_FIELD",
Self::UnknownField => "CONFIG_DIAGNOSTIC_CODE_UNKNOWN_FIELD",
Self::SchemaUnavailable => "CONFIG_DIAGNOSTIC_CODE_SCHEMA_UNAVAILABLE",
Self::LegacyUnvalidatedConfig => "CONFIG_DIAGNOSTIC_CODE_LEGACY_UNVALIDATED_CONFIG",
Self::UnsupportedSchemaVersion => "CONFIG_DIAGNOSTIC_CODE_UNSUPPORTED_SCHEMA_VERSION",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CONFIG_DIAGNOSTIC_CODE_UNSPECIFIED" => Some(Self::Unspecified),
"CONFIG_DIAGNOSTIC_CODE_INVALID_VALUE" => Some(Self::InvalidValue),
"CONFIG_DIAGNOSTIC_CODE_MISSING_REQUIRED_VALUE" => Some(Self::MissingRequiredValue),
"CONFIG_DIAGNOSTIC_CODE_UNSUPPORTED_FIELD" => Some(Self::UnsupportedField),
"CONFIG_DIAGNOSTIC_CODE_REJECTED_FIELD" => Some(Self::RejectedField),
"CONFIG_DIAGNOSTIC_CODE_ALIAS_APPLIED" => Some(Self::AliasApplied),
"CONFIG_DIAGNOSTIC_CODE_MISPLACED_FIELD" => Some(Self::MisplacedField),
"CONFIG_DIAGNOSTIC_CODE_UNKNOWN_FIELD" => Some(Self::UnknownField),
"CONFIG_DIAGNOSTIC_CODE_SCHEMA_UNAVAILABLE" => Some(Self::SchemaUnavailable),
"CONFIG_DIAGNOSTIC_CODE_LEGACY_UNVALIDATED_CONFIG" => {
Some(Self::LegacyUnvalidatedConfig)
}
"CONFIG_DIAGNOSTIC_CODE_UNSUPPORTED_SCHEMA_VERSION" => {
Some(Self::UnsupportedSchemaVersion)
}
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OwnerControlErrorCode {
Unspecified = 0,
BadRequest = 1,
Unauthorized = 2,
RevisionConflict = 3,
ControlUnsupported = 4,
ControlEndpointRequired = 5,
ControlUnavailable = 6,
UnknownCommand = 7,
LegacyJsonUnsupported = 8,
InvalidHandshake = 9,
TargetNodeMismatch = 10,
}
impl OwnerControlErrorCode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "OWNER_CONTROL_ERROR_CODE_UNSPECIFIED",
Self::BadRequest => "OWNER_CONTROL_ERROR_CODE_BAD_REQUEST",
Self::Unauthorized => "OWNER_CONTROL_ERROR_CODE_UNAUTHORIZED",
Self::RevisionConflict => "OWNER_CONTROL_ERROR_CODE_REVISION_CONFLICT",
Self::ControlUnsupported => "OWNER_CONTROL_ERROR_CODE_CONTROL_UNSUPPORTED",
Self::ControlEndpointRequired => "OWNER_CONTROL_ERROR_CODE_CONTROL_ENDPOINT_REQUIRED",
Self::ControlUnavailable => "OWNER_CONTROL_ERROR_CODE_CONTROL_UNAVAILABLE",
Self::UnknownCommand => "OWNER_CONTROL_ERROR_CODE_UNKNOWN_COMMAND",
Self::LegacyJsonUnsupported => "OWNER_CONTROL_ERROR_CODE_LEGACY_JSON_UNSUPPORTED",
Self::InvalidHandshake => "OWNER_CONTROL_ERROR_CODE_INVALID_HANDSHAKE",
Self::TargetNodeMismatch => "OWNER_CONTROL_ERROR_CODE_TARGET_NODE_MISMATCH",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OWNER_CONTROL_ERROR_CODE_UNSPECIFIED" => Some(Self::Unspecified),
"OWNER_CONTROL_ERROR_CODE_BAD_REQUEST" => Some(Self::BadRequest),
"OWNER_CONTROL_ERROR_CODE_UNAUTHORIZED" => Some(Self::Unauthorized),
"OWNER_CONTROL_ERROR_CODE_REVISION_CONFLICT" => Some(Self::RevisionConflict),
"OWNER_CONTROL_ERROR_CODE_CONTROL_UNSUPPORTED" => Some(Self::ControlUnsupported),
"OWNER_CONTROL_ERROR_CODE_CONTROL_ENDPOINT_REQUIRED" => {
Some(Self::ControlEndpointRequired)
}
"OWNER_CONTROL_ERROR_CODE_CONTROL_UNAVAILABLE" => Some(Self::ControlUnavailable),
"OWNER_CONTROL_ERROR_CODE_UNKNOWN_COMMAND" => Some(Self::UnknownCommand),
"OWNER_CONTROL_ERROR_CODE_LEGACY_JSON_UNSUPPORTED" => Some(Self::LegacyJsonUnsupported),
"OWNER_CONTROL_ERROR_CODE_INVALID_HANDSHAKE" => Some(Self::InvalidHandshake),
"OWNER_CONTROL_ERROR_CODE_TARGET_NODE_MISMATCH" => Some(Self::TargetNodeMismatch),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OwnerControlRefreshInventoryDisposition {
Unspecified = 0,
Executed = 1,
Coalesced = 2,
}
impl OwnerControlRefreshInventoryDisposition {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "OWNER_CONTROL_REFRESH_INVENTORY_DISPOSITION_UNSPECIFIED",
Self::Executed => "OWNER_CONTROL_REFRESH_INVENTORY_DISPOSITION_EXECUTED",
Self::Coalesced => "OWNER_CONTROL_REFRESH_INVENTORY_DISPOSITION_COALESCED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OWNER_CONTROL_REFRESH_INVENTORY_DISPOSITION_UNSPECIFIED" => Some(Self::Unspecified),
"OWNER_CONTROL_REFRESH_INVENTORY_DISPOSITION_EXECUTED" => Some(Self::Executed),
"OWNER_CONTROL_REFRESH_INVENTORY_DISPOSITION_COALESCED" => Some(Self::Coalesced),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum InferenceAdmissionState {
Unspecified = 0,
Accepting = 1,
AcceptingDeprioritized = 2,
RemotePaused = 3,
AllPaused = 4,
}
impl InferenceAdmissionState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "INFERENCE_ADMISSION_STATE_UNSPECIFIED",
Self::Accepting => "INFERENCE_ADMISSION_STATE_ACCEPTING",
Self::AcceptingDeprioritized => "INFERENCE_ADMISSION_STATE_ACCEPTING_DEPRIORITIZED",
Self::RemotePaused => "INFERENCE_ADMISSION_STATE_REMOTE_PAUSED",
Self::AllPaused => "INFERENCE_ADMISSION_STATE_ALL_PAUSED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"INFERENCE_ADMISSION_STATE_UNSPECIFIED" => Some(Self::Unspecified),
"INFERENCE_ADMISSION_STATE_ACCEPTING" => Some(Self::Accepting),
"INFERENCE_ADMISSION_STATE_ACCEPTING_DEPRIORITIZED" => {
Some(Self::AcceptingDeprioritized)
}
"INFERENCE_ADMISSION_STATE_REMOTE_PAUSED" => Some(Self::RemotePaused),
"INFERENCE_ADMISSION_STATE_ALL_PAUSED" => Some(Self::AllPaused),
_ => None,
}
}
}