From dddd8d0bd1a13eb5ff6852edd00d167377e0366d Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Thu, 16 May 2024 12:32:05 -0700 Subject: [PATCH 01/21] WiP --- protobufs/livekit_agent.proto | 171 +++++++++++++++++----------------- protobufs/livekit_room.proto | 10 +- 2 files changed, 95 insertions(+), 86 deletions(-) diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 2b748009..9715e7bc 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -4,7 +4,7 @@ // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // -// http://www.apache.org/licenses/LICENSE-2.0 +// http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, @@ -22,153 +22,154 @@ option ruby_package = "LiveKit::Proto"; import "livekit_models.proto"; message WorkerInfo { - string id = 1; - string namespace = 2; - string version = 3; - string name = 4; - JobType type = 5; - ParticipantPermission allowed_permissions = 6; + string id = 1; + string namespace = 2; + string version = 3; + string name = 4; + JobType type = 5 [deprecated=true]; + ParticipantPermission allowed_permissions = 6; } message AgentInfo { - string id = 1; - string name = 2; - string version = 3; + string id = 1; + string name = 2; + string version = 3; } message Job { - string id = 1; - JobType type = 2; - Room room = 3; - optional ParticipantInfo participant = 4; - string namespace = 5; + string id = 1; + JobType type = 2; + Room room = 3; + optional ParticipantInfo participant = 4; + string namespace = 5; + map metadata = 6; } // from Worker to Server message WorkerMessage { - oneof message { - // agent workers need to register themselves with the server first - RegisterWorkerRequest register = 1; - // worker confirms to server that it's available for a job, or declines it - AvailabilityResponse availability = 2; + oneof message { + // agent workers need to register themselves with the server first + RegisterWorkerRequest register = 1; + // worker confirms to server that it's available for a job, or declines it + AvailabilityResponse availability = 2; - // worker can update its status to the server, including taking itself out of the pool - UpdateWorkerStatus update_worker = 3; - // job can send status updates to the server, useful for tracking progress - UpdateJobStatus update_job = 4; + // worker can update its status to the server, including taking itself out of the pool + UpdateWorkerStatus update_worker = 3; + // job can send status updates to the server, useful for tracking progress + UpdateJobStatus update_job = 4; - WorkerPing ping = 5; - SimulateJobRequest simulate_job = 6; - MigrateJobRequest migrate_job = 7; - }; + WorkerPing ping = 5; + SimulateJobRequest simulate_job = 6; + MigrateJobRequest migrate_job = 7; + }; } // from Server to Worker message ServerMessage { - oneof message { - // server confirms the registration, from this moment on, the worker is considered active - RegisterWorkerResponse register = 1; - // server asks worker to confirm availability for a job - AvailabilityRequest availability = 2; - JobAssignment assignment = 3; - WorkerPong pong = 4; - } + oneof message { + // server confirms the registration, from this moment on, the worker is considered active + RegisterWorkerResponse register = 1; + // server asks worker to confirm availability for a job + AvailabilityRequest availability = 2; + JobAssignment assignment = 3; + WorkerPong pong = 4; + } } enum JobType { - JT_ROOM = 0; - JT_PUBLISHER = 1; + JT_ROOM = 0; + JT_PUBLISHER = 1; } enum WorkerStatus { - WS_AVAILABLE = 0; - WS_FULL = 1; + WS_AVAILABLE = 0; + WS_FULL = 1; } enum JobStatus { - JS_UNKNOWN = 0; - JS_SUCCESS = 1; - JS_FAILED = 2; + JS_UNKNOWN = 0; + JS_SUCCESS = 1; + JS_FAILED = 2; } message SimulateJobRequest { - JobType type = 1; - Room room = 2; - ParticipantInfo participant = 3; + JobType type = 1; + Room room = 2; + ParticipantInfo participant = 3; } message WorkerPing { - int64 timestamp = 1; + int64 timestamp = 1; } message WorkerPong { - int64 last_timestamp = 1; - int64 timestamp = 2; + int64 last_timestamp = 1; + int64 timestamp = 2; } message RegisterWorkerRequest { - JobType type = 1; - //string worker_id = 2; - string version = 3; - string name = 4; - uint32 ping_interval = 5; - optional string namespace = 6; - ParticipantPermission allowed_permissions = 7; + JobType type = 1; + //string worker_id = 2; + string version = 3; + string name = 4; + uint32 ping_interval = 5; + optional string namespace = 6; + ParticipantPermission allowed_permissions = 7; } message RegisterWorkerResponse { - string worker_id = 1; - ServerInfo server_info = 3; + string worker_id = 1; + ServerInfo server_info = 3; } message MigrateJobRequest { - string job_id = 1; + string job_id = 1; } message AvailabilityRequest { - Job job = 1; + Job job = 1; - // True when the job was previously assigned to another worker but has been - // migrated due to different reasons (e.g. worker failure, job migration) - bool resuming = 2; + // True when the job was previously assigned to another worker but has been + // migrated due to different reasons (e.g. worker failure, job migration) + bool resuming = 2; } message AvailabilityResponse { - string job_id = 1; - bool available = 2; - bool supports_resume = 3; + string job_id = 1; + bool available = 2; + bool supports_resume = 3; - string participant_name = 4; - string participant_identity = 5; - string participant_metadata = 6; + string participant_name = 4; + string participant_identity = 5; + string participant_metadata = 6; } message UpdateJobStatus { - string job_id = 1; + string job_id = 1; - // The worker can indicate the job end by either specifying SUCCESS or FAILED - optional JobStatus status = 2; + // The worker can indicate the job end by either specifying SUCCESS or FAILED + optional JobStatus status = 2; - // metadata shown on the dashboard, useful for debugging - string error = 3; + // metadata shown on the dashboard, useful for debugging + string error = 3; - // the metadata can be updated multiple times - optional string metadata = 4; - - // The load that the job currently has on the worker - float load = 5; + // the metadata can be updated multiple times + optional string metadata = 4 [deprecated=true]; + + // The load that the job currently has on the worker + float load = 5; } message UpdateWorkerStatus { - optional WorkerStatus status = 1; - optional string metadata = 2; - float load = 3; + optional WorkerStatus status = 1; + optional string metadata = 2 [deprecated=true]; + float load = 3; } message JobAssignment { - Job job = 1; - optional string url = 2; - string token = 3; + Job job = 1; + optional string url = 2; + string token = 3; } diff --git a/protobufs/livekit_room.proto b/protobufs/livekit_room.proto index 949771c4..ad5f43cb 100644 --- a/protobufs/livekit_room.proto +++ b/protobufs/livekit_room.proto @@ -76,6 +76,8 @@ message CreateRoomRequest { string metadata = 5; // egress RoomEgress egress = 6; + // agent + repeated RoomAgent agent = 11; // playout delay of subscriber uint32 min_playout_delay = 7; uint32 max_playout_delay = 8; @@ -83,7 +85,7 @@ message CreateRoomRequest { // so not recommended for rooms with frequent subscription changes bool sync_streams = 9; - // NEXT-ID: 11 + // NEXT-ID: 12 } message RoomEgress { @@ -92,6 +94,12 @@ message RoomEgress { AutoTrackEgress tracks = 2; } +message RoomAgent { + JobType type = 1; + string namespace = 2; + map metadata = 3; +} + message ListRoomsRequest { // when set, will only return rooms with name match repeated string names = 1; From e7256b71273d871350815b1a98aa01138a0b76da Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Thu, 16 May 2024 15:25:29 -0700 Subject: [PATCH 02/21] Start/StopAgentJob, Job status --- protobufs/livekit_agent.proto | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 9715e7bc..87433b77 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -21,6 +21,23 @@ option ruby_package = "LiveKit::Proto"; import "livekit_models.proto"; +service AgentService { + rpc StartAgentJob(StartAgentJobRequest) returns (Job); + rpc StopAgentJob(StopAgentJobRequest) returns (Job); +} + +message StartAgentJobRequest { + JobType type = 1; + Room room = 2; + optional ParticipantInfo participant = 3; + string namespace = 4; + map metadata = 5; +} + +message StopAgentJobRequest { + string id = 1; +} + message WorkerInfo { string id = 1; string namespace = 2; @@ -43,6 +60,8 @@ message Job { optional ParticipantInfo participant = 4; string namespace = 5; map metadata = 6; + JobStatus status = 7; + string error = 8; } // from Worker to Server From c4151981b4fab6233695e721dc8e0189642352d6 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Thu, 16 May 2024 17:01:48 -0700 Subject: [PATCH 03/21] Updates --- infra/link.pb.go | 4 +- infra/link_grpc.pb.go | 2 +- livekit/livekit_agent.pb.go | 887 ++++++++++++------- livekit/livekit_analytics.pb.go | 4 +- livekit/livekit_analytics_grpc.pb.go | 2 +- livekit/livekit_egress.pb.go | 4 +- livekit/livekit_ingress.pb.go | 4 +- livekit/livekit_internal.pb.go | 4 +- livekit/livekit_models.pb.go | 4 +- livekit/livekit_room.pb.go | 1231 ++++++++++++++++++++------ livekit/livekit_room.twirp.go | 1009 +++++++++++++++++++-- livekit/livekit_rtc.pb.go | 4 +- livekit/livekit_sip.pb.go | 4 +- livekit/livekit_webhook.pb.go | 4 +- protobufs/livekit_room.proto | 74 +- rpc/agent.pb.go | 4 +- rpc/egress.pb.go | 4 +- rpc/ingress.pb.go | 4 +- rpc/io.pb.go | 4 +- rpc/keepalive.pb.go | 4 +- rpc/participant.pb.go | 4 +- rpc/room.pb.go | 4 +- rpc/signal.pb.go | 4 +- rpc/sip.pb.go | 4 +- 24 files changed, 2544 insertions(+), 733 deletions(-) diff --git a/infra/link.pb.go b/infra/link.pb.go index e4989ff8..8bc93b12 100644 --- a/infra/link.pb.go +++ b/infra/link.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: infra/link.proto package infra diff --git a/infra/link_grpc.pb.go b/infra/link_grpc.pb.go index a7d8284e..ade86816 100644 --- a/infra/link_grpc.pb.go +++ b/infra/link_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.23.4 +// - protoc v5.26.1 // source: infra/link.proto package infra diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 2f5559cc..7fbaba75 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -4,7 +4,7 @@ // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // -// http://www.apache.org/licenses/LICENSE-2.0 +// http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: livekit_agent.proto package livekit @@ -175,15 +175,142 @@ func (JobStatus) EnumDescriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{2} } +type StartAgentJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type JobType `protobuf:"varint,1,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` + Room *Room `protobuf:"bytes,2,opt,name=room,proto3" json:"room,omitempty"` + Participant *ParticipantInfo `protobuf:"bytes,3,opt,name=participant,proto3,oneof" json:"participant,omitempty"` + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + Metadata map[string]string `protobuf:"bytes,5,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *StartAgentJobRequest) Reset() { + *x = StartAgentJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartAgentJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartAgentJobRequest) ProtoMessage() {} + +func (x *StartAgentJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartAgentJobRequest.ProtoReflect.Descriptor instead. +func (*StartAgentJobRequest) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{0} +} + +func (x *StartAgentJobRequest) GetType() JobType { + if x != nil { + return x.Type + } + return JobType_JT_ROOM +} + +func (x *StartAgentJobRequest) GetRoom() *Room { + if x != nil { + return x.Room + } + return nil +} + +func (x *StartAgentJobRequest) GetParticipant() *ParticipantInfo { + if x != nil { + return x.Participant + } + return nil +} + +func (x *StartAgentJobRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *StartAgentJobRequest) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +type StopAgentJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *StopAgentJobRequest) Reset() { + *x = StopAgentJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopAgentJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopAgentJobRequest) ProtoMessage() {} + +func (x *StopAgentJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StopAgentJobRequest.ProtoReflect.Descriptor instead. +func (*StopAgentJobRequest) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{1} +} + +func (x *StopAgentJobRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + type WorkerInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + // Deprecated: Marked as deprecated in livekit_agent.proto. Type JobType `protobuf:"varint,5,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` AllowedPermissions *ParticipantPermission `protobuf:"bytes,6,opt,name=allowed_permissions,json=allowedPermissions,proto3" json:"allowed_permissions,omitempty"` } @@ -191,7 +318,7 @@ type WorkerInfo struct { func (x *WorkerInfo) Reset() { *x = WorkerInfo{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[0] + mi := &file_livekit_agent_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -204,7 +331,7 @@ func (x *WorkerInfo) String() string { func (*WorkerInfo) ProtoMessage() {} func (x *WorkerInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[0] + mi := &file_livekit_agent_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -217,7 +344,7 @@ func (x *WorkerInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerInfo.ProtoReflect.Descriptor instead. func (*WorkerInfo) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{0} + return file_livekit_agent_proto_rawDescGZIP(), []int{2} } func (x *WorkerInfo) GetId() string { @@ -248,6 +375,7 @@ func (x *WorkerInfo) GetName() string { return "" } +// Deprecated: Marked as deprecated in livekit_agent.proto. func (x *WorkerInfo) GetType() JobType { if x != nil { return x.Type @@ -275,7 +403,7 @@ type AgentInfo struct { func (x *AgentInfo) Reset() { *x = AgentInfo{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[1] + mi := &file_livekit_agent_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -288,7 +416,7 @@ func (x *AgentInfo) String() string { func (*AgentInfo) ProtoMessage() {} func (x *AgentInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[1] + mi := &file_livekit_agent_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -301,7 +429,7 @@ func (x *AgentInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentInfo.ProtoReflect.Descriptor instead. func (*AgentInfo) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{1} + return file_livekit_agent_proto_rawDescGZIP(), []int{3} } func (x *AgentInfo) GetId() string { @@ -330,17 +458,20 @@ type Job struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Type JobType `protobuf:"varint,2,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` - Room *Room `protobuf:"bytes,3,opt,name=room,proto3" json:"room,omitempty"` - Participant *ParticipantInfo `protobuf:"bytes,4,opt,name=participant,proto3,oneof" json:"participant,omitempty"` - Namespace string `protobuf:"bytes,5,opt,name=namespace,proto3" json:"namespace,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Type JobType `protobuf:"varint,2,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` + Room *Room `protobuf:"bytes,3,opt,name=room,proto3" json:"room,omitempty"` + Participant *ParticipantInfo `protobuf:"bytes,4,opt,name=participant,proto3,oneof" json:"participant,omitempty"` + Namespace string `protobuf:"bytes,5,opt,name=namespace,proto3" json:"namespace,omitempty"` + Metadata map[string]string `protobuf:"bytes,6,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Status JobStatus `protobuf:"varint,7,opt,name=status,proto3,enum=livekit.JobStatus" json:"status,omitempty"` + Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"` } func (x *Job) Reset() { *x = Job{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[2] + mi := &file_livekit_agent_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -353,7 +484,7 @@ func (x *Job) String() string { func (*Job) ProtoMessage() {} func (x *Job) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[2] + mi := &file_livekit_agent_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -366,7 +497,7 @@ func (x *Job) ProtoReflect() protoreflect.Message { // Deprecated: Use Job.ProtoReflect.Descriptor instead. func (*Job) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{2} + return file_livekit_agent_proto_rawDescGZIP(), []int{4} } func (x *Job) GetId() string { @@ -404,6 +535,27 @@ func (x *Job) GetNamespace() string { return "" } +func (x *Job) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *Job) GetStatus() JobStatus { + if x != nil { + return x.Status + } + return JobStatus_JS_UNKNOWN +} + +func (x *Job) GetError() string { + if x != nil { + return x.Error + } + return "" +} + // from Worker to Server type WorkerMessage struct { state protoimpl.MessageState @@ -425,7 +577,7 @@ type WorkerMessage struct { func (x *WorkerMessage) Reset() { *x = WorkerMessage{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[3] + mi := &file_livekit_agent_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -438,7 +590,7 @@ func (x *WorkerMessage) String() string { func (*WorkerMessage) ProtoMessage() {} func (x *WorkerMessage) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[3] + mi := &file_livekit_agent_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -451,7 +603,7 @@ func (x *WorkerMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerMessage.ProtoReflect.Descriptor instead. func (*WorkerMessage) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{3} + return file_livekit_agent_proto_rawDescGZIP(), []int{5} } func (m *WorkerMessage) GetMessage() isWorkerMessage_Message { @@ -578,7 +730,7 @@ type ServerMessage struct { func (x *ServerMessage) Reset() { *x = ServerMessage{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[4] + mi := &file_livekit_agent_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -591,7 +743,7 @@ func (x *ServerMessage) String() string { func (*ServerMessage) ProtoMessage() {} func (x *ServerMessage) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[4] + mi := &file_livekit_agent_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -604,7 +756,7 @@ func (x *ServerMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerMessage.ProtoReflect.Descriptor instead. func (*ServerMessage) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{4} + return file_livekit_agent_proto_rawDescGZIP(), []int{6} } func (m *ServerMessage) GetMessage() isServerMessage_Message { @@ -685,7 +837,7 @@ type SimulateJobRequest struct { func (x *SimulateJobRequest) Reset() { *x = SimulateJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[5] + mi := &file_livekit_agent_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -698,7 +850,7 @@ func (x *SimulateJobRequest) String() string { func (*SimulateJobRequest) ProtoMessage() {} func (x *SimulateJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[5] + mi := &file_livekit_agent_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -711,7 +863,7 @@ func (x *SimulateJobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SimulateJobRequest.ProtoReflect.Descriptor instead. func (*SimulateJobRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{5} + return file_livekit_agent_proto_rawDescGZIP(), []int{7} } func (x *SimulateJobRequest) GetType() JobType { @@ -746,7 +898,7 @@ type WorkerPing struct { func (x *WorkerPing) Reset() { *x = WorkerPing{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[6] + mi := &file_livekit_agent_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -759,7 +911,7 @@ func (x *WorkerPing) String() string { func (*WorkerPing) ProtoMessage() {} func (x *WorkerPing) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[6] + mi := &file_livekit_agent_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -772,7 +924,7 @@ func (x *WorkerPing) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerPing.ProtoReflect.Descriptor instead. func (*WorkerPing) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{6} + return file_livekit_agent_proto_rawDescGZIP(), []int{8} } func (x *WorkerPing) GetTimestamp() int64 { @@ -794,7 +946,7 @@ type WorkerPong struct { func (x *WorkerPong) Reset() { *x = WorkerPong{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[7] + mi := &file_livekit_agent_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -807,7 +959,7 @@ func (x *WorkerPong) String() string { func (*WorkerPong) ProtoMessage() {} func (x *WorkerPong) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[7] + mi := &file_livekit_agent_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -820,7 +972,7 @@ func (x *WorkerPong) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerPong.ProtoReflect.Descriptor instead. func (*WorkerPong) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{7} + return file_livekit_agent_proto_rawDescGZIP(), []int{9} } func (x *WorkerPong) GetLastTimestamp() int64 { @@ -854,7 +1006,7 @@ type RegisterWorkerRequest struct { func (x *RegisterWorkerRequest) Reset() { *x = RegisterWorkerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[8] + mi := &file_livekit_agent_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -867,7 +1019,7 @@ func (x *RegisterWorkerRequest) String() string { func (*RegisterWorkerRequest) ProtoMessage() {} func (x *RegisterWorkerRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[8] + mi := &file_livekit_agent_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -880,7 +1032,7 @@ func (x *RegisterWorkerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterWorkerRequest.ProtoReflect.Descriptor instead. func (*RegisterWorkerRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{8} + return file_livekit_agent_proto_rawDescGZIP(), []int{10} } func (x *RegisterWorkerRequest) GetType() JobType { @@ -937,7 +1089,7 @@ type RegisterWorkerResponse struct { func (x *RegisterWorkerResponse) Reset() { *x = RegisterWorkerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[9] + mi := &file_livekit_agent_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -950,7 +1102,7 @@ func (x *RegisterWorkerResponse) String() string { func (*RegisterWorkerResponse) ProtoMessage() {} func (x *RegisterWorkerResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[9] + mi := &file_livekit_agent_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -963,7 +1115,7 @@ func (x *RegisterWorkerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterWorkerResponse.ProtoReflect.Descriptor instead. func (*RegisterWorkerResponse) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{9} + return file_livekit_agent_proto_rawDescGZIP(), []int{11} } func (x *RegisterWorkerResponse) GetWorkerId() string { @@ -991,7 +1143,7 @@ type MigrateJobRequest struct { func (x *MigrateJobRequest) Reset() { *x = MigrateJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[10] + mi := &file_livekit_agent_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1004,7 +1156,7 @@ func (x *MigrateJobRequest) String() string { func (*MigrateJobRequest) ProtoMessage() {} func (x *MigrateJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[10] + mi := &file_livekit_agent_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1017,7 +1169,7 @@ func (x *MigrateJobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MigrateJobRequest.ProtoReflect.Descriptor instead. func (*MigrateJobRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{10} + return file_livekit_agent_proto_rawDescGZIP(), []int{12} } func (x *MigrateJobRequest) GetJobId() string { @@ -1041,7 +1193,7 @@ type AvailabilityRequest struct { func (x *AvailabilityRequest) Reset() { *x = AvailabilityRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[11] + mi := &file_livekit_agent_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1054,7 +1206,7 @@ func (x *AvailabilityRequest) String() string { func (*AvailabilityRequest) ProtoMessage() {} func (x *AvailabilityRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[11] + mi := &file_livekit_agent_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1067,7 +1219,7 @@ func (x *AvailabilityRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AvailabilityRequest.ProtoReflect.Descriptor instead. func (*AvailabilityRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{11} + return file_livekit_agent_proto_rawDescGZIP(), []int{13} } func (x *AvailabilityRequest) GetJob() *Job { @@ -1100,7 +1252,7 @@ type AvailabilityResponse struct { func (x *AvailabilityResponse) Reset() { *x = AvailabilityResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[12] + mi := &file_livekit_agent_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1113,7 +1265,7 @@ func (x *AvailabilityResponse) String() string { func (*AvailabilityResponse) ProtoMessage() {} func (x *AvailabilityResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[12] + mi := &file_livekit_agent_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1126,7 +1278,7 @@ func (x *AvailabilityResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AvailabilityResponse.ProtoReflect.Descriptor instead. func (*AvailabilityResponse) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{12} + return file_livekit_agent_proto_rawDescGZIP(), []int{14} } func (x *AvailabilityResponse) GetJobId() string { @@ -1182,6 +1334,8 @@ type UpdateJobStatus struct { // metadata shown on the dashboard, useful for debugging Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` // the metadata can be updated multiple times + // + // Deprecated: Marked as deprecated in livekit_agent.proto. Metadata *string `protobuf:"bytes,4,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"` // The load that the job currently has on the worker Load float32 `protobuf:"fixed32,5,opt,name=load,proto3" json:"load,omitempty"` @@ -1190,7 +1344,7 @@ type UpdateJobStatus struct { func (x *UpdateJobStatus) Reset() { *x = UpdateJobStatus{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[13] + mi := &file_livekit_agent_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1203,7 +1357,7 @@ func (x *UpdateJobStatus) String() string { func (*UpdateJobStatus) ProtoMessage() {} func (x *UpdateJobStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[13] + mi := &file_livekit_agent_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1216,7 +1370,7 @@ func (x *UpdateJobStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateJobStatus.ProtoReflect.Descriptor instead. func (*UpdateJobStatus) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{13} + return file_livekit_agent_proto_rawDescGZIP(), []int{15} } func (x *UpdateJobStatus) GetJobId() string { @@ -1240,6 +1394,7 @@ func (x *UpdateJobStatus) GetError() string { return "" } +// Deprecated: Marked as deprecated in livekit_agent.proto. func (x *UpdateJobStatus) GetMetadata() string { if x != nil && x.Metadata != nil { return *x.Metadata @@ -1259,15 +1414,16 @@ type UpdateWorkerStatus struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status *WorkerStatus `protobuf:"varint,1,opt,name=status,proto3,enum=livekit.WorkerStatus,oneof" json:"status,omitempty"` - Metadata *string `protobuf:"bytes,2,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"` - Load float32 `protobuf:"fixed32,3,opt,name=load,proto3" json:"load,omitempty"` + Status *WorkerStatus `protobuf:"varint,1,opt,name=status,proto3,enum=livekit.WorkerStatus,oneof" json:"status,omitempty"` + // Deprecated: Marked as deprecated in livekit_agent.proto. + Metadata *string `protobuf:"bytes,2,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"` + Load float32 `protobuf:"fixed32,3,opt,name=load,proto3" json:"load,omitempty"` } func (x *UpdateWorkerStatus) Reset() { *x = UpdateWorkerStatus{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1280,7 +1436,7 @@ func (x *UpdateWorkerStatus) String() string { func (*UpdateWorkerStatus) ProtoMessage() {} func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1293,7 +1449,7 @@ func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateWorkerStatus.ProtoReflect.Descriptor instead. func (*UpdateWorkerStatus) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{14} + return file_livekit_agent_proto_rawDescGZIP(), []int{16} } func (x *UpdateWorkerStatus) GetStatus() WorkerStatus { @@ -1303,6 +1459,7 @@ func (x *UpdateWorkerStatus) GetStatus() WorkerStatus { return WorkerStatus_WS_AVAILABLE } +// Deprecated: Marked as deprecated in livekit_agent.proto. func (x *UpdateWorkerStatus) GetMetadata() string { if x != nil && x.Metadata != nil { return *x.Metadata @@ -1330,7 +1487,7 @@ type JobAssignment struct { func (x *JobAssignment) Reset() { *x = JobAssignment{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1343,7 +1500,7 @@ func (x *JobAssignment) String() string { func (*JobAssignment) ProtoMessage() {} func (x *JobAssignment) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1356,7 +1513,7 @@ func (x *JobAssignment) ProtoReflect() protoreflect.Message { // Deprecated: Use JobAssignment.ProtoReflect.Descriptor instead. func (*JobAssignment) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{15} + return file_livekit_agent_proto_rawDescGZIP(), []int{17} } func (x *JobAssignment) GetJob() *Job { @@ -1386,192 +1543,237 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x0a, 0x13, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x01, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x02, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, + 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, + 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x25, 0x0a, 0x13, 0x53, + 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x49, 0x0a, 0x09, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x03, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, + 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x3b, 0x0a, + 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x57, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, + 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, + 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, + 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, + 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x6d, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, + 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x82, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x42, + 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x53, + 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x2a, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x22, 0x51, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, + 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x92, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x49, 0x0a, 0x09, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0xcd, 0x01, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, - 0x6f, 0x6d, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, - 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, - 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, - 0x6f, 0x62, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, - 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x82, 0x02, 0x0a, - 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, - 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, - 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, - 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x70, - 0x6f, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, - 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, - 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, - 0x6d, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x2a, 0x0a, - 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x51, 0x0a, 0x0a, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x92, 0x02, 0x0a, - 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, - 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, - 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x22, 0x6b, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2a, - 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x13, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, - 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x85, 0x02, - 0x0a, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, - 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x75, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xbc, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, - 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x22, 0x95, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x1f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, - 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, - 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x64, 0x0a, 0x0d, - 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, - 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, 0x0a, - 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, - 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, - 0x72, 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, - 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x54, - 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x2d, 0x0a, 0x0c, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x0c, - 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x3a, 0x0a, 0x09, 0x4a, - 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, - 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, - 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, - 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x13, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x6b, 0x0a, 0x16, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2a, 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, + 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, + 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x13, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, + 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x85, 0x02, 0x0a, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x29, 0x0a, + 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc0, + 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x23, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, + 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, + 0x18, 0x01, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, + 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x64, 0x0a, + 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, + 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, + 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, + 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, + 0x75, 0x72, 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, + 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4a, + 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x2d, 0x0a, + 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, + 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, + 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x3a, 0x0a, 0x09, + 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, + 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0x88, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, + 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, + 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, + 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -1587,64 +1789,78 @@ func file_livekit_agent_proto_rawDescGZIP() []byte { } var file_livekit_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_livekit_agent_proto_goTypes = []interface{}{ (JobType)(0), // 0: livekit.JobType (WorkerStatus)(0), // 1: livekit.WorkerStatus (JobStatus)(0), // 2: livekit.JobStatus - (*WorkerInfo)(nil), // 3: livekit.WorkerInfo - (*AgentInfo)(nil), // 4: livekit.AgentInfo - (*Job)(nil), // 5: livekit.Job - (*WorkerMessage)(nil), // 6: livekit.WorkerMessage - (*ServerMessage)(nil), // 7: livekit.ServerMessage - (*SimulateJobRequest)(nil), // 8: livekit.SimulateJobRequest - (*WorkerPing)(nil), // 9: livekit.WorkerPing - (*WorkerPong)(nil), // 10: livekit.WorkerPong - (*RegisterWorkerRequest)(nil), // 11: livekit.RegisterWorkerRequest - (*RegisterWorkerResponse)(nil), // 12: livekit.RegisterWorkerResponse - (*MigrateJobRequest)(nil), // 13: livekit.MigrateJobRequest - (*AvailabilityRequest)(nil), // 14: livekit.AvailabilityRequest - (*AvailabilityResponse)(nil), // 15: livekit.AvailabilityResponse - (*UpdateJobStatus)(nil), // 16: livekit.UpdateJobStatus - (*UpdateWorkerStatus)(nil), // 17: livekit.UpdateWorkerStatus - (*JobAssignment)(nil), // 18: livekit.JobAssignment - (*ParticipantPermission)(nil), // 19: livekit.ParticipantPermission - (*Room)(nil), // 20: livekit.Room - (*ParticipantInfo)(nil), // 21: livekit.ParticipantInfo - (*ServerInfo)(nil), // 22: livekit.ServerInfo + (*StartAgentJobRequest)(nil), // 3: livekit.StartAgentJobRequest + (*StopAgentJobRequest)(nil), // 4: livekit.StopAgentJobRequest + (*WorkerInfo)(nil), // 5: livekit.WorkerInfo + (*AgentInfo)(nil), // 6: livekit.AgentInfo + (*Job)(nil), // 7: livekit.Job + (*WorkerMessage)(nil), // 8: livekit.WorkerMessage + (*ServerMessage)(nil), // 9: livekit.ServerMessage + (*SimulateJobRequest)(nil), // 10: livekit.SimulateJobRequest + (*WorkerPing)(nil), // 11: livekit.WorkerPing + (*WorkerPong)(nil), // 12: livekit.WorkerPong + (*RegisterWorkerRequest)(nil), // 13: livekit.RegisterWorkerRequest + (*RegisterWorkerResponse)(nil), // 14: livekit.RegisterWorkerResponse + (*MigrateJobRequest)(nil), // 15: livekit.MigrateJobRequest + (*AvailabilityRequest)(nil), // 16: livekit.AvailabilityRequest + (*AvailabilityResponse)(nil), // 17: livekit.AvailabilityResponse + (*UpdateJobStatus)(nil), // 18: livekit.UpdateJobStatus + (*UpdateWorkerStatus)(nil), // 19: livekit.UpdateWorkerStatus + (*JobAssignment)(nil), // 20: livekit.JobAssignment + nil, // 21: livekit.StartAgentJobRequest.MetadataEntry + nil, // 22: livekit.Job.MetadataEntry + (*Room)(nil), // 23: livekit.Room + (*ParticipantInfo)(nil), // 24: livekit.ParticipantInfo + (*ParticipantPermission)(nil), // 25: livekit.ParticipantPermission + (*ServerInfo)(nil), // 26: livekit.ServerInfo } var file_livekit_agent_proto_depIdxs = []int32{ - 0, // 0: livekit.WorkerInfo.type:type_name -> livekit.JobType - 19, // 1: livekit.WorkerInfo.allowed_permissions:type_name -> livekit.ParticipantPermission - 0, // 2: livekit.Job.type:type_name -> livekit.JobType - 20, // 3: livekit.Job.room:type_name -> livekit.Room - 21, // 4: livekit.Job.participant:type_name -> livekit.ParticipantInfo - 11, // 5: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest - 15, // 6: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse - 17, // 7: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus - 16, // 8: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus - 9, // 9: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing - 8, // 10: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest - 13, // 11: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest - 12, // 12: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse - 14, // 13: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest - 18, // 14: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment - 10, // 15: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong - 0, // 16: livekit.SimulateJobRequest.type:type_name -> livekit.JobType - 20, // 17: livekit.SimulateJobRequest.room:type_name -> livekit.Room - 21, // 18: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo - 0, // 19: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType - 19, // 20: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission - 22, // 21: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo - 5, // 22: livekit.AvailabilityRequest.job:type_name -> livekit.Job - 2, // 23: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus - 1, // 24: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus - 5, // 25: livekit.JobAssignment.job:type_name -> livekit.Job - 26, // [26:26] is the sub-list for method output_type - 26, // [26:26] is the sub-list for method input_type - 26, // [26:26] is the sub-list for extension type_name - 26, // [26:26] is the sub-list for extension extendee - 0, // [0:26] is the sub-list for field type_name + 0, // 0: livekit.StartAgentJobRequest.type:type_name -> livekit.JobType + 23, // 1: livekit.StartAgentJobRequest.room:type_name -> livekit.Room + 24, // 2: livekit.StartAgentJobRequest.participant:type_name -> livekit.ParticipantInfo + 21, // 3: livekit.StartAgentJobRequest.metadata:type_name -> livekit.StartAgentJobRequest.MetadataEntry + 0, // 4: livekit.WorkerInfo.type:type_name -> livekit.JobType + 25, // 5: livekit.WorkerInfo.allowed_permissions:type_name -> livekit.ParticipantPermission + 0, // 6: livekit.Job.type:type_name -> livekit.JobType + 23, // 7: livekit.Job.room:type_name -> livekit.Room + 24, // 8: livekit.Job.participant:type_name -> livekit.ParticipantInfo + 22, // 9: livekit.Job.metadata:type_name -> livekit.Job.MetadataEntry + 2, // 10: livekit.Job.status:type_name -> livekit.JobStatus + 13, // 11: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest + 17, // 12: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse + 19, // 13: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus + 18, // 14: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus + 11, // 15: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing + 10, // 16: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest + 15, // 17: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest + 14, // 18: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse + 16, // 19: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest + 20, // 20: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment + 12, // 21: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong + 0, // 22: livekit.SimulateJobRequest.type:type_name -> livekit.JobType + 23, // 23: livekit.SimulateJobRequest.room:type_name -> livekit.Room + 24, // 24: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo + 0, // 25: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType + 25, // 26: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission + 26, // 27: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo + 7, // 28: livekit.AvailabilityRequest.job:type_name -> livekit.Job + 2, // 29: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus + 1, // 30: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus + 7, // 31: livekit.JobAssignment.job:type_name -> livekit.Job + 3, // 32: livekit.AgentService.StartAgentJob:input_type -> livekit.StartAgentJobRequest + 4, // 33: livekit.AgentService.StopAgentJob:input_type -> livekit.StopAgentJobRequest + 7, // 34: livekit.AgentService.StartAgentJob:output_type -> livekit.Job + 7, // 35: livekit.AgentService.StopAgentJob:output_type -> livekit.Job + 34, // [34:36] is the sub-list for method output_type + 32, // [32:34] is the sub-list for method input_type + 32, // [32:32] is the sub-list for extension type_name + 32, // [32:32] is the sub-list for extension extendee + 0, // [0:32] is the sub-list for field type_name } func init() { file_livekit_agent_proto_init() } @@ -1655,7 +1871,7 @@ func file_livekit_agent_proto_init() { file_livekit_models_proto_init() if !protoimpl.UnsafeEnabled { file_livekit_agent_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkerInfo); i { + switch v := v.(*StartAgentJobRequest); i { case 0: return &v.state case 1: @@ -1667,7 +1883,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AgentInfo); i { + switch v := v.(*StopAgentJobRequest); i { case 0: return &v.state case 1: @@ -1679,7 +1895,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job); i { + switch v := v.(*WorkerInfo); i { case 0: return &v.state case 1: @@ -1691,7 +1907,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkerMessage); i { + switch v := v.(*AgentInfo); i { case 0: return &v.state case 1: @@ -1703,7 +1919,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServerMessage); i { + switch v := v.(*Job); i { case 0: return &v.state case 1: @@ -1715,7 +1931,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SimulateJobRequest); i { + switch v := v.(*WorkerMessage); i { case 0: return &v.state case 1: @@ -1727,7 +1943,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkerPing); i { + switch v := v.(*ServerMessage); i { case 0: return &v.state case 1: @@ -1739,7 +1955,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkerPong); i { + switch v := v.(*SimulateJobRequest); i { case 0: return &v.state case 1: @@ -1751,7 +1967,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterWorkerRequest); i { + switch v := v.(*WorkerPing); i { case 0: return &v.state case 1: @@ -1763,7 +1979,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterWorkerResponse); i { + switch v := v.(*WorkerPong); i { case 0: return &v.state case 1: @@ -1775,7 +1991,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MigrateJobRequest); i { + switch v := v.(*RegisterWorkerRequest); i { case 0: return &v.state case 1: @@ -1787,7 +2003,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AvailabilityRequest); i { + switch v := v.(*RegisterWorkerResponse); i { case 0: return &v.state case 1: @@ -1799,7 +2015,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AvailabilityResponse); i { + switch v := v.(*MigrateJobRequest); i { case 0: return &v.state case 1: @@ -1811,7 +2027,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateJobStatus); i { + switch v := v.(*AvailabilityRequest); i { case 0: return &v.state case 1: @@ -1823,7 +2039,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateWorkerStatus); i { + switch v := v.(*AvailabilityResponse); i { case 0: return &v.state case 1: @@ -1835,6 +2051,30 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateJobStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateWorkerStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobAssignment); i { case 0: return &v.state @@ -1847,8 +2087,9 @@ func file_livekit_agent_proto_init() { } } } - file_livekit_agent_proto_msgTypes[2].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_livekit_agent_proto_msgTypes[0].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[5].OneofWrappers = []interface{}{ (*WorkerMessage_Register)(nil), (*WorkerMessage_Availability)(nil), (*WorkerMessage_UpdateWorker)(nil), @@ -1857,25 +2098,25 @@ func file_livekit_agent_proto_init() { (*WorkerMessage_SimulateJob)(nil), (*WorkerMessage_MigrateJob)(nil), } - file_livekit_agent_proto_msgTypes[4].OneofWrappers = []interface{}{ + file_livekit_agent_proto_msgTypes[6].OneofWrappers = []interface{}{ (*ServerMessage_Register)(nil), (*ServerMessage_Availability)(nil), (*ServerMessage_Assignment)(nil), (*ServerMessage_Pong)(nil), } - file_livekit_agent_proto_msgTypes[8].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[13].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[14].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[10].OneofWrappers = []interface{}{} file_livekit_agent_proto_msgTypes[15].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[17].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_livekit_agent_proto_rawDesc, NumEnums: 3, - NumMessages: 16, + NumMessages: 20, NumExtensions: 0, - NumServices: 0, + NumServices: 1, }, GoTypes: file_livekit_agent_proto_goTypes, DependencyIndexes: file_livekit_agent_proto_depIdxs, diff --git a/livekit/livekit_analytics.pb.go b/livekit/livekit_analytics.pb.go index a6f1dad2..4f399405 100644 --- a/livekit/livekit_analytics.pb.go +++ b/livekit/livekit_analytics.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: livekit_analytics.proto package livekit diff --git a/livekit/livekit_analytics_grpc.pb.go b/livekit/livekit_analytics_grpc.pb.go index d6e880c4..9c4aaeec 100644 --- a/livekit/livekit_analytics_grpc.pb.go +++ b/livekit/livekit_analytics_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.23.4 +// - protoc v5.26.1 // source: livekit_analytics.proto package livekit diff --git a/livekit/livekit_egress.pb.go b/livekit/livekit_egress.pb.go index b2940a80..67771d0d 100644 --- a/livekit/livekit_egress.pb.go +++ b/livekit/livekit_egress.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: livekit_egress.proto package livekit diff --git a/livekit/livekit_ingress.pb.go b/livekit/livekit_ingress.pb.go index 622e2e44..58bbf9a5 100644 --- a/livekit/livekit_ingress.pb.go +++ b/livekit/livekit_ingress.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: livekit_ingress.proto package livekit diff --git a/livekit/livekit_internal.pb.go b/livekit/livekit_internal.pb.go index 6f82248e..64b674e2 100644 --- a/livekit/livekit_internal.pb.go +++ b/livekit/livekit_internal.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: livekit_internal.proto package livekit diff --git a/livekit/livekit_models.pb.go b/livekit/livekit_models.pb.go index 03beef3e..5f4d8da1 100644 --- a/livekit/livekit_models.pb.go +++ b/livekit/livekit_models.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: livekit_models.proto package livekit diff --git a/livekit/livekit_room.pb.go b/livekit/livekit_room.pb.go index 2102b265..0cbfcfd9 100644 --- a/livekit/livekit_room.pb.go +++ b/livekit/livekit_room.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: livekit_room.proto package livekit @@ -41,6 +41,8 @@ type CreateRoomRequest struct { // name of the room Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // configuration to use for this room parameters. Setting parameters below override the config defaults. + ConfigName string `protobuf:"bytes,12,opt,name=config_name,json=configName,proto3" json:"config_name,omitempty"` // number of seconds to keep the room open if no one joins EmptyTimeout uint32 `protobuf:"varint,2,opt,name=empty_timeout,json=emptyTimeout,proto3" json:"empty_timeout,omitempty"` // number of seconds to keep the room open after everyone leaves @@ -53,6 +55,8 @@ type CreateRoomRequest struct { Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` // egress Egress *RoomEgress `protobuf:"bytes,6,opt,name=egress,proto3" json:"egress,omitempty"` + // agent + Agent *RoomAgent `protobuf:"bytes,11,opt,name=agent,proto3" json:"agent,omitempty"` // playout delay of subscriber MinPlayoutDelay uint32 `protobuf:"varint,7,opt,name=min_playout_delay,json=minPlayoutDelay,proto3" json:"min_playout_delay,omitempty"` MaxPlayoutDelay uint32 `protobuf:"varint,8,opt,name=max_playout_delay,json=maxPlayoutDelay,proto3" json:"max_playout_delay,omitempty"` @@ -100,6 +104,13 @@ func (x *CreateRoomRequest) GetName() string { return "" } +func (x *CreateRoomRequest) GetConfigName() string { + if x != nil { + return x.ConfigName + } + return "" +} + func (x *CreateRoomRequest) GetEmptyTimeout() uint32 { if x != nil { return x.EmptyTimeout @@ -142,6 +153,13 @@ func (x *CreateRoomRequest) GetEgress() *RoomEgress { return nil } +func (x *CreateRoomRequest) GetAgent() *RoomAgent { + if x != nil { + return x.Agent + } + return nil +} + func (x *CreateRoomRequest) GetMinPlayoutDelay() uint32 { if x != nil { return x.MinPlayoutDelay @@ -226,6 +244,53 @@ func (x *RoomEgress) GetTracks() *AutoTrackEgress { return nil } +type RoomAgent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Agents []*StartAgentJobRequest `protobuf:"bytes,1,rep,name=agents,proto3" json:"agents,omitempty"` +} + +func (x *RoomAgent) Reset() { + *x = RoomAgent{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_room_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RoomAgent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoomAgent) ProtoMessage() {} + +func (x *RoomAgent) ProtoReflect() protoreflect.Message { + mi := &file_livekit_room_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RoomAgent.ProtoReflect.Descriptor instead. +func (*RoomAgent) Descriptor() ([]byte, []int) { + return file_livekit_room_proto_rawDescGZIP(), []int{2} +} + +func (x *RoomAgent) GetAgents() []*StartAgentJobRequest { + if x != nil { + return x.Agents + } + return nil +} + type ListRoomsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -238,7 +303,7 @@ type ListRoomsRequest struct { func (x *ListRoomsRequest) Reset() { *x = ListRoomsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[2] + mi := &file_livekit_room_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -251,7 +316,7 @@ func (x *ListRoomsRequest) String() string { func (*ListRoomsRequest) ProtoMessage() {} func (x *ListRoomsRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[2] + mi := &file_livekit_room_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -264,7 +329,7 @@ func (x *ListRoomsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomsRequest.ProtoReflect.Descriptor instead. func (*ListRoomsRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{2} + return file_livekit_room_proto_rawDescGZIP(), []int{3} } func (x *ListRoomsRequest) GetNames() []string { @@ -285,7 +350,7 @@ type ListRoomsResponse struct { func (x *ListRoomsResponse) Reset() { *x = ListRoomsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[3] + mi := &file_livekit_room_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -298,7 +363,7 @@ func (x *ListRoomsResponse) String() string { func (*ListRoomsResponse) ProtoMessage() {} func (x *ListRoomsResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[3] + mi := &file_livekit_room_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -311,7 +376,7 @@ func (x *ListRoomsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomsResponse.ProtoReflect.Descriptor instead. func (*ListRoomsResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{3} + return file_livekit_room_proto_rawDescGZIP(), []int{4} } func (x *ListRoomsResponse) GetRooms() []*Room { @@ -333,7 +398,7 @@ type DeleteRoomRequest struct { func (x *DeleteRoomRequest) Reset() { *x = DeleteRoomRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[4] + mi := &file_livekit_room_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -346,7 +411,7 @@ func (x *DeleteRoomRequest) String() string { func (*DeleteRoomRequest) ProtoMessage() {} func (x *DeleteRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[4] + mi := &file_livekit_room_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -359,7 +424,7 @@ func (x *DeleteRoomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRoomRequest.ProtoReflect.Descriptor instead. func (*DeleteRoomRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{4} + return file_livekit_room_proto_rawDescGZIP(), []int{5} } func (x *DeleteRoomRequest) GetRoom() string { @@ -378,7 +443,7 @@ type DeleteRoomResponse struct { func (x *DeleteRoomResponse) Reset() { *x = DeleteRoomResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[5] + mi := &file_livekit_room_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -391,7 +456,7 @@ func (x *DeleteRoomResponse) String() string { func (*DeleteRoomResponse) ProtoMessage() {} func (x *DeleteRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[5] + mi := &file_livekit_room_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -404,7 +469,7 @@ func (x *DeleteRoomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRoomResponse.ProtoReflect.Descriptor instead. func (*DeleteRoomResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{5} + return file_livekit_room_proto_rawDescGZIP(), []int{6} } type ListParticipantsRequest struct { @@ -419,7 +484,7 @@ type ListParticipantsRequest struct { func (x *ListParticipantsRequest) Reset() { *x = ListParticipantsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[6] + mi := &file_livekit_room_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -432,7 +497,7 @@ func (x *ListParticipantsRequest) String() string { func (*ListParticipantsRequest) ProtoMessage() {} func (x *ListParticipantsRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[6] + mi := &file_livekit_room_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -445,7 +510,7 @@ func (x *ListParticipantsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListParticipantsRequest.ProtoReflect.Descriptor instead. func (*ListParticipantsRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{6} + return file_livekit_room_proto_rawDescGZIP(), []int{7} } func (x *ListParticipantsRequest) GetRoom() string { @@ -466,7 +531,7 @@ type ListParticipantsResponse struct { func (x *ListParticipantsResponse) Reset() { *x = ListParticipantsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[7] + mi := &file_livekit_room_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -479,7 +544,7 @@ func (x *ListParticipantsResponse) String() string { func (*ListParticipantsResponse) ProtoMessage() {} func (x *ListParticipantsResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[7] + mi := &file_livekit_room_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -492,7 +557,7 @@ func (x *ListParticipantsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListParticipantsResponse.ProtoReflect.Descriptor instead. func (*ListParticipantsResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{7} + return file_livekit_room_proto_rawDescGZIP(), []int{8} } func (x *ListParticipantsResponse) GetParticipants() []*ParticipantInfo { @@ -516,7 +581,7 @@ type RoomParticipantIdentity struct { func (x *RoomParticipantIdentity) Reset() { *x = RoomParticipantIdentity{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[8] + mi := &file_livekit_room_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -529,7 +594,7 @@ func (x *RoomParticipantIdentity) String() string { func (*RoomParticipantIdentity) ProtoMessage() {} func (x *RoomParticipantIdentity) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[8] + mi := &file_livekit_room_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -542,7 +607,7 @@ func (x *RoomParticipantIdentity) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomParticipantIdentity.ProtoReflect.Descriptor instead. func (*RoomParticipantIdentity) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{8} + return file_livekit_room_proto_rawDescGZIP(), []int{9} } func (x *RoomParticipantIdentity) GetRoom() string { @@ -568,7 +633,7 @@ type RemoveParticipantResponse struct { func (x *RemoveParticipantResponse) Reset() { *x = RemoveParticipantResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[9] + mi := &file_livekit_room_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -581,7 +646,7 @@ func (x *RemoveParticipantResponse) String() string { func (*RemoveParticipantResponse) ProtoMessage() {} func (x *RemoveParticipantResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[9] + mi := &file_livekit_room_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -594,7 +659,7 @@ func (x *RemoveParticipantResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveParticipantResponse.ProtoReflect.Descriptor instead. func (*RemoveParticipantResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{9} + return file_livekit_room_proto_rawDescGZIP(), []int{10} } type MuteRoomTrackRequest struct { @@ -614,7 +679,7 @@ type MuteRoomTrackRequest struct { func (x *MuteRoomTrackRequest) Reset() { *x = MuteRoomTrackRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[10] + mi := &file_livekit_room_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -627,7 +692,7 @@ func (x *MuteRoomTrackRequest) String() string { func (*MuteRoomTrackRequest) ProtoMessage() {} func (x *MuteRoomTrackRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[10] + mi := &file_livekit_room_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -640,7 +705,7 @@ func (x *MuteRoomTrackRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MuteRoomTrackRequest.ProtoReflect.Descriptor instead. func (*MuteRoomTrackRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{10} + return file_livekit_room_proto_rawDescGZIP(), []int{11} } func (x *MuteRoomTrackRequest) GetRoom() string { @@ -682,7 +747,7 @@ type MuteRoomTrackResponse struct { func (x *MuteRoomTrackResponse) Reset() { *x = MuteRoomTrackResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[11] + mi := &file_livekit_room_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -695,7 +760,7 @@ func (x *MuteRoomTrackResponse) String() string { func (*MuteRoomTrackResponse) ProtoMessage() {} func (x *MuteRoomTrackResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[11] + mi := &file_livekit_room_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -708,7 +773,7 @@ func (x *MuteRoomTrackResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MuteRoomTrackResponse.ProtoReflect.Descriptor instead. func (*MuteRoomTrackResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{11} + return file_livekit_room_proto_rawDescGZIP(), []int{12} } func (x *MuteRoomTrackResponse) GetTrack() *TrackInfo { @@ -736,7 +801,7 @@ type UpdateParticipantRequest struct { func (x *UpdateParticipantRequest) Reset() { *x = UpdateParticipantRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[12] + mi := &file_livekit_room_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -749,7 +814,7 @@ func (x *UpdateParticipantRequest) String() string { func (*UpdateParticipantRequest) ProtoMessage() {} func (x *UpdateParticipantRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[12] + mi := &file_livekit_room_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -762,7 +827,7 @@ func (x *UpdateParticipantRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateParticipantRequest.ProtoReflect.Descriptor instead. func (*UpdateParticipantRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{12} + return file_livekit_room_proto_rawDescGZIP(), []int{13} } func (x *UpdateParticipantRequest) GetRoom() string { @@ -818,7 +883,7 @@ type UpdateSubscriptionsRequest struct { func (x *UpdateSubscriptionsRequest) Reset() { *x = UpdateSubscriptionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[13] + mi := &file_livekit_room_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -831,7 +896,7 @@ func (x *UpdateSubscriptionsRequest) String() string { func (*UpdateSubscriptionsRequest) ProtoMessage() {} func (x *UpdateSubscriptionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[13] + mi := &file_livekit_room_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -844,7 +909,7 @@ func (x *UpdateSubscriptionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateSubscriptionsRequest.ProtoReflect.Descriptor instead. func (*UpdateSubscriptionsRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{13} + return file_livekit_room_proto_rawDescGZIP(), []int{14} } func (x *UpdateSubscriptionsRequest) GetRoom() string { @@ -891,7 +956,7 @@ type UpdateSubscriptionsResponse struct { func (x *UpdateSubscriptionsResponse) Reset() { *x = UpdateSubscriptionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[14] + mi := &file_livekit_room_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -904,7 +969,7 @@ func (x *UpdateSubscriptionsResponse) String() string { func (*UpdateSubscriptionsResponse) ProtoMessage() {} func (x *UpdateSubscriptionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[14] + mi := &file_livekit_room_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -917,7 +982,7 @@ func (x *UpdateSubscriptionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateSubscriptionsResponse.ProtoReflect.Descriptor instead. func (*UpdateSubscriptionsResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{14} + return file_livekit_room_proto_rawDescGZIP(), []int{15} } type SendDataRequest struct { @@ -940,7 +1005,7 @@ type SendDataRequest struct { func (x *SendDataRequest) Reset() { *x = SendDataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[15] + mi := &file_livekit_room_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -953,7 +1018,7 @@ func (x *SendDataRequest) String() string { func (*SendDataRequest) ProtoMessage() {} func (x *SendDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[15] + mi := &file_livekit_room_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -966,7 +1031,7 @@ func (x *SendDataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendDataRequest.ProtoReflect.Descriptor instead. func (*SendDataRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{15} + return file_livekit_room_proto_rawDescGZIP(), []int{16} } func (x *SendDataRequest) GetRoom() string { @@ -1021,7 +1086,7 @@ type SendDataResponse struct { func (x *SendDataResponse) Reset() { *x = SendDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[16] + mi := &file_livekit_room_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1034,7 +1099,7 @@ func (x *SendDataResponse) String() string { func (*SendDataResponse) ProtoMessage() {} func (x *SendDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[16] + mi := &file_livekit_room_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1047,7 +1112,7 @@ func (x *SendDataResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SendDataResponse.ProtoReflect.Descriptor instead. func (*SendDataResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{16} + return file_livekit_room_proto_rawDescGZIP(), []int{17} } type UpdateRoomMetadataRequest struct { @@ -1063,7 +1128,7 @@ type UpdateRoomMetadataRequest struct { func (x *UpdateRoomMetadataRequest) Reset() { *x = UpdateRoomMetadataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[17] + mi := &file_livekit_room_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1076,7 +1141,7 @@ func (x *UpdateRoomMetadataRequest) String() string { func (*UpdateRoomMetadataRequest) ProtoMessage() {} func (x *UpdateRoomMetadataRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[17] + mi := &file_livekit_room_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1089,7 +1154,7 @@ func (x *UpdateRoomMetadataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRoomMetadataRequest.ProtoReflect.Descriptor instead. func (*UpdateRoomMetadataRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{17} + return file_livekit_room_proto_rawDescGZIP(), []int{18} } func (x *UpdateRoomMetadataRequest) GetRoom() string { @@ -1106,6 +1171,385 @@ func (x *UpdateRoomMetadataRequest) GetMetadata() string { return "" } +type CreateRoomConfigurationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Configuration *RoomConfiguration `protobuf:"bytes,1,opt,name=configuration,proto3" json:"configuration,omitempty"` +} + +func (x *CreateRoomConfigurationRequest) Reset() { + *x = CreateRoomConfigurationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_room_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRoomConfigurationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRoomConfigurationRequest) ProtoMessage() {} + +func (x *CreateRoomConfigurationRequest) ProtoReflect() protoreflect.Message { + mi := &file_livekit_room_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateRoomConfigurationRequest.ProtoReflect.Descriptor instead. +func (*CreateRoomConfigurationRequest) Descriptor() ([]byte, []int) { + return file_livekit_room_proto_rawDescGZIP(), []int{19} +} + +func (x *CreateRoomConfigurationRequest) GetConfiguration() *RoomConfiguration { + if x != nil { + return x.Configuration + } + return nil +} + +type UpdateRoomConfigurationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // configuration to update + // number of seconds to keep the room open if no one joins + EmptyTimeout *uint32 `protobuf:"varint,2,opt,name=empty_timeout,json=emptyTimeout,proto3,oneof" json:"empty_timeout,omitempty"` + // number of seconds to keep the room open after everyone leaves + DepartureTimeout *uint32 `protobuf:"varint,3,opt,name=departure_timeout,json=departureTimeout,proto3,oneof" json:"departure_timeout,omitempty"` + // limit number of participants that can be in a room + MaxParticipants *uint32 `protobuf:"varint,4,opt,name=max_participants,json=maxParticipants,proto3,oneof" json:"max_participants,omitempty"` + // egress + Egress *RoomEgress `protobuf:"bytes,5,opt,name=egress,proto3,oneof" json:"egress,omitempty"` + // agent + Agent *RoomAgent `protobuf:"bytes,6,opt,name=agent,proto3,oneof" json:"agent,omitempty"` + // playout delay of subscriber + MinPlayoutDelay *uint32 `protobuf:"varint,7,opt,name=min_playout_delay,json=minPlayoutDelay,proto3,oneof" json:"min_playout_delay,omitempty"` + MaxPlayoutDelay *uint32 `protobuf:"varint,8,opt,name=max_playout_delay,json=maxPlayoutDelay,proto3,oneof" json:"max_playout_delay,omitempty"` + // improves A/V sync when playout_delay set to a value larger than 200ms. It will disables transceiver re-use + // so not recommended for rooms with frequent subscription changes + SyncStreams *bool `protobuf:"varint,9,opt,name=sync_streams,json=syncStreams,proto3,oneof" json:"sync_streams,omitempty"` +} + +func (x *UpdateRoomConfigurationRequest) Reset() { + *x = UpdateRoomConfigurationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_room_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRoomConfigurationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRoomConfigurationRequest) ProtoMessage() {} + +func (x *UpdateRoomConfigurationRequest) ProtoReflect() protoreflect.Message { + mi := &file_livekit_room_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateRoomConfigurationRequest.ProtoReflect.Descriptor instead. +func (*UpdateRoomConfigurationRequest) Descriptor() ([]byte, []int) { + return file_livekit_room_proto_rawDescGZIP(), []int{20} +} + +func (x *UpdateRoomConfigurationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateRoomConfigurationRequest) GetEmptyTimeout() uint32 { + if x != nil && x.EmptyTimeout != nil { + return *x.EmptyTimeout + } + return 0 +} + +func (x *UpdateRoomConfigurationRequest) GetDepartureTimeout() uint32 { + if x != nil && x.DepartureTimeout != nil { + return *x.DepartureTimeout + } + return 0 +} + +func (x *UpdateRoomConfigurationRequest) GetMaxParticipants() uint32 { + if x != nil && x.MaxParticipants != nil { + return *x.MaxParticipants + } + return 0 +} + +func (x *UpdateRoomConfigurationRequest) GetEgress() *RoomEgress { + if x != nil { + return x.Egress + } + return nil +} + +func (x *UpdateRoomConfigurationRequest) GetAgent() *RoomAgent { + if x != nil { + return x.Agent + } + return nil +} + +func (x *UpdateRoomConfigurationRequest) GetMinPlayoutDelay() uint32 { + if x != nil && x.MinPlayoutDelay != nil { + return *x.MinPlayoutDelay + } + return 0 +} + +func (x *UpdateRoomConfigurationRequest) GetMaxPlayoutDelay() uint32 { + if x != nil && x.MaxPlayoutDelay != nil { + return *x.MaxPlayoutDelay + } + return 0 +} + +func (x *UpdateRoomConfigurationRequest) GetSyncStreams() bool { + if x != nil && x.SyncStreams != nil { + return *x.SyncStreams + } + return false +} + +type ListRoomConfigurationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // If non empty, return only the configurartion with this name +} + +func (x *ListRoomConfigurationRequest) Reset() { + *x = ListRoomConfigurationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_room_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRoomConfigurationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRoomConfigurationRequest) ProtoMessage() {} + +func (x *ListRoomConfigurationRequest) ProtoReflect() protoreflect.Message { + mi := &file_livekit_room_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListRoomConfigurationRequest.ProtoReflect.Descriptor instead. +func (*ListRoomConfigurationRequest) Descriptor() ([]byte, []int) { + return file_livekit_room_proto_rawDescGZIP(), []int{21} +} + +func (x *ListRoomConfigurationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type ListRoomConfigurationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Configurations []*RoomConfiguration `protobuf:"bytes,1,rep,name=configurations,proto3" json:"configurations,omitempty"` +} + +func (x *ListRoomConfigurationResponse) Reset() { + *x = ListRoomConfigurationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_room_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRoomConfigurationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRoomConfigurationResponse) ProtoMessage() {} + +func (x *ListRoomConfigurationResponse) ProtoReflect() protoreflect.Message { + mi := &file_livekit_room_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListRoomConfigurationResponse.ProtoReflect.Descriptor instead. +func (*ListRoomConfigurationResponse) Descriptor() ([]byte, []int) { + return file_livekit_room_proto_rawDescGZIP(), []int{22} +} + +func (x *ListRoomConfigurationResponse) GetConfigurations() []*RoomConfiguration { + if x != nil { + return x.Configurations + } + return nil +} + +type RoomConfiguration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Used as ID, must be unique + // number of seconds to keep the room open if no one joins + EmptyTimeout uint32 `protobuf:"varint,2,opt,name=empty_timeout,json=emptyTimeout,proto3" json:"empty_timeout,omitempty"` + // number of seconds to keep the room open after everyone leaves + DepartureTimeout uint32 `protobuf:"varint,3,opt,name=departure_timeout,json=departureTimeout,proto3" json:"departure_timeout,omitempty"` + // limit number of participants that can be in a room + MaxParticipants uint32 `protobuf:"varint,4,opt,name=max_participants,json=maxParticipants,proto3" json:"max_participants,omitempty"` + // egress + Egress *RoomEgress `protobuf:"bytes,5,opt,name=egress,proto3" json:"egress,omitempty"` + // agent + Agent *RoomAgent `protobuf:"bytes,6,opt,name=agent,proto3" json:"agent,omitempty"` + // playout delay of subscriber + MinPlayoutDelay uint32 `protobuf:"varint,7,opt,name=min_playout_delay,json=minPlayoutDelay,proto3" json:"min_playout_delay,omitempty"` + MaxPlayoutDelay uint32 `protobuf:"varint,8,opt,name=max_playout_delay,json=maxPlayoutDelay,proto3" json:"max_playout_delay,omitempty"` + // improves A/V sync when playout_delay set to a value larger than 200ms. It will disables transceiver re-use + // so not recommended for rooms with frequent subscription changes + SyncStreams bool `protobuf:"varint,9,opt,name=sync_streams,json=syncStreams,proto3" json:"sync_streams,omitempty"` +} + +func (x *RoomConfiguration) Reset() { + *x = RoomConfiguration{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_room_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RoomConfiguration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoomConfiguration) ProtoMessage() {} + +func (x *RoomConfiguration) ProtoReflect() protoreflect.Message { + mi := &file_livekit_room_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RoomConfiguration.ProtoReflect.Descriptor instead. +func (*RoomConfiguration) Descriptor() ([]byte, []int) { + return file_livekit_room_proto_rawDescGZIP(), []int{23} +} + +func (x *RoomConfiguration) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RoomConfiguration) GetEmptyTimeout() uint32 { + if x != nil { + return x.EmptyTimeout + } + return 0 +} + +func (x *RoomConfiguration) GetDepartureTimeout() uint32 { + if x != nil { + return x.DepartureTimeout + } + return 0 +} + +func (x *RoomConfiguration) GetMaxParticipants() uint32 { + if x != nil { + return x.MaxParticipants + } + return 0 +} + +func (x *RoomConfiguration) GetEgress() *RoomEgress { + if x != nil { + return x.Egress + } + return nil +} + +func (x *RoomConfiguration) GetAgent() *RoomAgent { + if x != nil { + return x.Agent + } + return nil +} + +func (x *RoomConfiguration) GetMinPlayoutDelay() uint32 { + if x != nil { + return x.MinPlayoutDelay + } + return 0 +} + +func (x *RoomConfiguration) GetMaxPlayoutDelay() uint32 { + if x != nil { + return x.MaxPlayoutDelay + } + return 0 +} + +func (x *RoomConfiguration) GetSyncStreams() bool { + if x != nil { + return x.SyncStreams + } + return false +} + var File_livekit_room_proto protoreflect.FileDescriptor var file_livekit_room_proto_rawDesc = []byte{ @@ -1113,24 +1557,30 @@ var file_livekit_room_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x65, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x03, 0x0a, 0x11, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x61, - 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, - 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, + 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, + 0x03, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x70, + 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2b, + 0x0a, 0x11, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x65, 0x70, 0x61, 0x72, + 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x6d, + 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x06, 0x65, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, @@ -1149,152 +1599,250 @@ var file_livekit_room_proto_rawDesc = []byte{ 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22, 0x28, 0x0a, 0x10, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x27, 0x0a, - 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x17, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x58, 0x0a, 0x18, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x17, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, - 0x14, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, - 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x22, 0x41, 0x0a, 0x15, 0x4d, 0x75, 0x74, 0x65, - 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x22, 0xba, 0x01, 0x0a, 0x18, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, + 0x73, 0x52, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22, 0x42, 0x0a, 0x09, 0x52, 0x6f, 0x6f, + 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x28, 0x0a, + 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x05, + 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, + 0x73, 0x22, 0x27, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x2d, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, + 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, + 0x58, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x17, 0x52, 0x6f, 0x6f, + 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x79, 0x0a, 0x14, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, + 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, + 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, + 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, + 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x22, 0x41, 0x0a, 0x15, + 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, + 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x22, + 0xba, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, + 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd4, 0x01, 0x0a, + 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, + 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, + 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, + 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, + 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, + 0x63, 0x6b, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x10, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x16, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x19, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, - 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, - 0x63, 0x6b, 0x53, 0x69, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x11, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22, - 0x1d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf2, - 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4b, 0x69, - 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x19, - 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x32, 0xe6, 0x06, 0x0a, 0x0b, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, - 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x42, 0x0a, - 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, - 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, - 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x59, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, - 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x4d, 0x75, - 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, - 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, - 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, - 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x50, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x60, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, - 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x46, 0x5a, - 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x62, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0d, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xba, 0x04, 0x0a, + 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x6d, + 0x70, 0x74, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, + 0x11, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x10, 0x64, 0x65, 0x70, 0x61, + 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0f, 0x6d, 0x61, 0x78, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x30, 0x0a, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x48, 0x03, 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x2d, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x48, 0x04, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x2f, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, + 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x0f, 0x6d, + 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, + 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, 0x0f, + 0x6d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, + 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, + 0x61, 0x79, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, + 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x22, 0x32, 0x0a, 0x1c, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, + 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, + 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0xf6, 0x02, 0x0a, 0x11, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x65, + 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x29, + 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x06, 0x65, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, + 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, + 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x69, 0x6e, + 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x11, + 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, + 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, + 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x32, 0x8e, 0x09, 0x0a, 0x0b, + 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x42, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, + 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x57, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x22, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x53, 0x0a, 0x12, 0x4d, 0x75, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x60, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x53, 0x65, + 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x12, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x5e, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, + 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x27, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, + 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x27, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x66, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x46, 0x5a, 0x23, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1309,74 +1857,95 @@ func file_livekit_room_proto_rawDescGZIP() []byte { return file_livekit_room_proto_rawDescData } -var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_livekit_room_proto_goTypes = []interface{}{ - (*CreateRoomRequest)(nil), // 0: livekit.CreateRoomRequest - (*RoomEgress)(nil), // 1: livekit.RoomEgress - (*ListRoomsRequest)(nil), // 2: livekit.ListRoomsRequest - (*ListRoomsResponse)(nil), // 3: livekit.ListRoomsResponse - (*DeleteRoomRequest)(nil), // 4: livekit.DeleteRoomRequest - (*DeleteRoomResponse)(nil), // 5: livekit.DeleteRoomResponse - (*ListParticipantsRequest)(nil), // 6: livekit.ListParticipantsRequest - (*ListParticipantsResponse)(nil), // 7: livekit.ListParticipantsResponse - (*RoomParticipantIdentity)(nil), // 8: livekit.RoomParticipantIdentity - (*RemoveParticipantResponse)(nil), // 9: livekit.RemoveParticipantResponse - (*MuteRoomTrackRequest)(nil), // 10: livekit.MuteRoomTrackRequest - (*MuteRoomTrackResponse)(nil), // 11: livekit.MuteRoomTrackResponse - (*UpdateParticipantRequest)(nil), // 12: livekit.UpdateParticipantRequest - (*UpdateSubscriptionsRequest)(nil), // 13: livekit.UpdateSubscriptionsRequest - (*UpdateSubscriptionsResponse)(nil), // 14: livekit.UpdateSubscriptionsResponse - (*SendDataRequest)(nil), // 15: livekit.SendDataRequest - (*SendDataResponse)(nil), // 16: livekit.SendDataResponse - (*UpdateRoomMetadataRequest)(nil), // 17: livekit.UpdateRoomMetadataRequest - (*RoomCompositeEgressRequest)(nil), // 18: livekit.RoomCompositeEgressRequest - (*AutoParticipantEgress)(nil), // 19: livekit.AutoParticipantEgress - (*AutoTrackEgress)(nil), // 20: livekit.AutoTrackEgress - (*Room)(nil), // 21: livekit.Room - (*ParticipantInfo)(nil), // 22: livekit.ParticipantInfo - (*TrackInfo)(nil), // 23: livekit.TrackInfo - (*ParticipantPermission)(nil), // 24: livekit.ParticipantPermission - (*ParticipantTracks)(nil), // 25: livekit.ParticipantTracks - (DataPacket_Kind)(0), // 26: livekit.DataPacket.Kind + (*CreateRoomRequest)(nil), // 0: livekit.CreateRoomRequest + (*RoomEgress)(nil), // 1: livekit.RoomEgress + (*RoomAgent)(nil), // 2: livekit.RoomAgent + (*ListRoomsRequest)(nil), // 3: livekit.ListRoomsRequest + (*ListRoomsResponse)(nil), // 4: livekit.ListRoomsResponse + (*DeleteRoomRequest)(nil), // 5: livekit.DeleteRoomRequest + (*DeleteRoomResponse)(nil), // 6: livekit.DeleteRoomResponse + (*ListParticipantsRequest)(nil), // 7: livekit.ListParticipantsRequest + (*ListParticipantsResponse)(nil), // 8: livekit.ListParticipantsResponse + (*RoomParticipantIdentity)(nil), // 9: livekit.RoomParticipantIdentity + (*RemoveParticipantResponse)(nil), // 10: livekit.RemoveParticipantResponse + (*MuteRoomTrackRequest)(nil), // 11: livekit.MuteRoomTrackRequest + (*MuteRoomTrackResponse)(nil), // 12: livekit.MuteRoomTrackResponse + (*UpdateParticipantRequest)(nil), // 13: livekit.UpdateParticipantRequest + (*UpdateSubscriptionsRequest)(nil), // 14: livekit.UpdateSubscriptionsRequest + (*UpdateSubscriptionsResponse)(nil), // 15: livekit.UpdateSubscriptionsResponse + (*SendDataRequest)(nil), // 16: livekit.SendDataRequest + (*SendDataResponse)(nil), // 17: livekit.SendDataResponse + (*UpdateRoomMetadataRequest)(nil), // 18: livekit.UpdateRoomMetadataRequest + (*CreateRoomConfigurationRequest)(nil), // 19: livekit.CreateRoomConfigurationRequest + (*UpdateRoomConfigurationRequest)(nil), // 20: livekit.UpdateRoomConfigurationRequest + (*ListRoomConfigurationRequest)(nil), // 21: livekit.ListRoomConfigurationRequest + (*ListRoomConfigurationResponse)(nil), // 22: livekit.ListRoomConfigurationResponse + (*RoomConfiguration)(nil), // 23: livekit.RoomConfiguration + (*RoomCompositeEgressRequest)(nil), // 24: livekit.RoomCompositeEgressRequest + (*AutoParticipantEgress)(nil), // 25: livekit.AutoParticipantEgress + (*AutoTrackEgress)(nil), // 26: livekit.AutoTrackEgress + (*StartAgentJobRequest)(nil), // 27: livekit.StartAgentJobRequest + (*Room)(nil), // 28: livekit.Room + (*ParticipantInfo)(nil), // 29: livekit.ParticipantInfo + (*TrackInfo)(nil), // 30: livekit.TrackInfo + (*ParticipantPermission)(nil), // 31: livekit.ParticipantPermission + (*ParticipantTracks)(nil), // 32: livekit.ParticipantTracks + (DataPacket_Kind)(0), // 33: livekit.DataPacket.Kind } var file_livekit_room_proto_depIdxs = []int32{ 1, // 0: livekit.CreateRoomRequest.egress:type_name -> livekit.RoomEgress - 18, // 1: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest - 19, // 2: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress - 20, // 3: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress - 21, // 4: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room - 22, // 5: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo - 23, // 6: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo - 24, // 7: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission - 25, // 8: livekit.UpdateSubscriptionsRequest.participant_tracks:type_name -> livekit.ParticipantTracks - 26, // 9: livekit.SendDataRequest.kind:type_name -> livekit.DataPacket.Kind - 0, // 10: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest - 2, // 11: livekit.RoomService.ListRooms:input_type -> livekit.ListRoomsRequest - 4, // 12: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest - 6, // 13: livekit.RoomService.ListParticipants:input_type -> livekit.ListParticipantsRequest - 8, // 14: livekit.RoomService.GetParticipant:input_type -> livekit.RoomParticipantIdentity - 8, // 15: livekit.RoomService.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity - 10, // 16: livekit.RoomService.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest - 12, // 17: livekit.RoomService.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest - 13, // 18: livekit.RoomService.UpdateSubscriptions:input_type -> livekit.UpdateSubscriptionsRequest - 15, // 19: livekit.RoomService.SendData:input_type -> livekit.SendDataRequest - 17, // 20: livekit.RoomService.UpdateRoomMetadata:input_type -> livekit.UpdateRoomMetadataRequest - 21, // 21: livekit.RoomService.CreateRoom:output_type -> livekit.Room - 3, // 22: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse - 5, // 23: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse - 7, // 24: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse - 22, // 25: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo - 9, // 26: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse - 11, // 27: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse - 22, // 28: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo - 14, // 29: livekit.RoomService.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse - 16, // 30: livekit.RoomService.SendData:output_type -> livekit.SendDataResponse - 21, // 31: livekit.RoomService.UpdateRoomMetadata:output_type -> livekit.Room - 21, // [21:32] is the sub-list for method output_type - 10, // [10:21] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 2, // 1: livekit.CreateRoomRequest.agent:type_name -> livekit.RoomAgent + 24, // 2: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest + 25, // 3: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress + 26, // 4: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress + 27, // 5: livekit.RoomAgent.agents:type_name -> livekit.StartAgentJobRequest + 28, // 6: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room + 29, // 7: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo + 30, // 8: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo + 31, // 9: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission + 32, // 10: livekit.UpdateSubscriptionsRequest.participant_tracks:type_name -> livekit.ParticipantTracks + 33, // 11: livekit.SendDataRequest.kind:type_name -> livekit.DataPacket.Kind + 23, // 12: livekit.CreateRoomConfigurationRequest.configuration:type_name -> livekit.RoomConfiguration + 1, // 13: livekit.UpdateRoomConfigurationRequest.egress:type_name -> livekit.RoomEgress + 2, // 14: livekit.UpdateRoomConfigurationRequest.agent:type_name -> livekit.RoomAgent + 23, // 15: livekit.ListRoomConfigurationResponse.configurations:type_name -> livekit.RoomConfiguration + 1, // 16: livekit.RoomConfiguration.egress:type_name -> livekit.RoomEgress + 2, // 17: livekit.RoomConfiguration.agent:type_name -> livekit.RoomAgent + 0, // 18: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest + 3, // 19: livekit.RoomService.ListRooms:input_type -> livekit.ListRoomsRequest + 5, // 20: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest + 7, // 21: livekit.RoomService.ListParticipants:input_type -> livekit.ListParticipantsRequest + 9, // 22: livekit.RoomService.GetParticipant:input_type -> livekit.RoomParticipantIdentity + 9, // 23: livekit.RoomService.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity + 11, // 24: livekit.RoomService.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest + 13, // 25: livekit.RoomService.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest + 14, // 26: livekit.RoomService.UpdateSubscriptions:input_type -> livekit.UpdateSubscriptionsRequest + 16, // 27: livekit.RoomService.SendData:input_type -> livekit.SendDataRequest + 18, // 28: livekit.RoomService.UpdateRoomMetadata:input_type -> livekit.UpdateRoomMetadataRequest + 19, // 29: livekit.RoomService.CreateRoomConfiguration:input_type -> livekit.CreateRoomConfigurationRequest + 20, // 30: livekit.RoomService.UpdateRoomConfiguration:input_type -> livekit.UpdateRoomConfigurationRequest + 21, // 31: livekit.RoomService.ListRoomConfiguration:input_type -> livekit.ListRoomConfigurationRequest + 28, // 32: livekit.RoomService.CreateRoom:output_type -> livekit.Room + 4, // 33: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse + 6, // 34: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse + 8, // 35: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse + 29, // 36: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo + 10, // 37: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse + 12, // 38: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse + 29, // 39: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo + 15, // 40: livekit.RoomService.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse + 17, // 41: livekit.RoomService.SendData:output_type -> livekit.SendDataResponse + 28, // 42: livekit.RoomService.UpdateRoomMetadata:output_type -> livekit.Room + 23, // 43: livekit.RoomService.CreateRoomConfiguration:output_type -> livekit.RoomConfiguration + 23, // 44: livekit.RoomService.UpdateRoomConfiguration:output_type -> livekit.RoomConfiguration + 22, // 45: livekit.RoomService.ListRoomConfiguration:output_type -> livekit.ListRoomConfigurationResponse + 32, // [32:46] is the sub-list for method output_type + 18, // [18:32] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_livekit_room_proto_init() } @@ -1386,6 +1955,7 @@ func file_livekit_room_proto_init() { } file_livekit_models_proto_init() file_livekit_egress_proto_init() + file_livekit_agent_proto_init() if !protoimpl.UnsafeEnabled { file_livekit_room_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRoomRequest); i { @@ -1412,7 +1982,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListRoomsRequest); i { + switch v := v.(*RoomAgent); i { case 0: return &v.state case 1: @@ -1424,7 +1994,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListRoomsResponse); i { + switch v := v.(*ListRoomsRequest); i { case 0: return &v.state case 1: @@ -1436,7 +2006,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteRoomRequest); i { + switch v := v.(*ListRoomsResponse); i { case 0: return &v.state case 1: @@ -1448,7 +2018,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteRoomResponse); i { + switch v := v.(*DeleteRoomRequest); i { case 0: return &v.state case 1: @@ -1460,7 +2030,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListParticipantsRequest); i { + switch v := v.(*DeleteRoomResponse); i { case 0: return &v.state case 1: @@ -1472,7 +2042,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListParticipantsResponse); i { + switch v := v.(*ListParticipantsRequest); i { case 0: return &v.state case 1: @@ -1484,7 +2054,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RoomParticipantIdentity); i { + switch v := v.(*ListParticipantsResponse); i { case 0: return &v.state case 1: @@ -1496,7 +2066,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveParticipantResponse); i { + switch v := v.(*RoomParticipantIdentity); i { case 0: return &v.state case 1: @@ -1508,7 +2078,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MuteRoomTrackRequest); i { + switch v := v.(*RemoveParticipantResponse); i { case 0: return &v.state case 1: @@ -1520,7 +2090,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MuteRoomTrackResponse); i { + switch v := v.(*MuteRoomTrackRequest); i { case 0: return &v.state case 1: @@ -1532,7 +2102,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateParticipantRequest); i { + switch v := v.(*MuteRoomTrackResponse); i { case 0: return &v.state case 1: @@ -1544,7 +2114,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateSubscriptionsRequest); i { + switch v := v.(*UpdateParticipantRequest); i { case 0: return &v.state case 1: @@ -1556,7 +2126,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateSubscriptionsResponse); i { + switch v := v.(*UpdateSubscriptionsRequest); i { case 0: return &v.state case 1: @@ -1568,7 +2138,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendDataRequest); i { + switch v := v.(*UpdateSubscriptionsResponse); i { case 0: return &v.state case 1: @@ -1580,7 +2150,7 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendDataResponse); i { + switch v := v.(*SendDataRequest); i { case 0: return &v.state case 1: @@ -1592,6 +2162,18 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_room_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRoomMetadataRequest); i { case 0: return &v.state @@ -1603,15 +2185,76 @@ func file_livekit_room_proto_init() { return nil } } + file_livekit_room_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRoomConfigurationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_room_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRoomConfigurationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_room_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRoomConfigurationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_room_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRoomConfigurationResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_room_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RoomConfiguration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } - file_livekit_room_proto_msgTypes[15].OneofWrappers = []interface{}{} + file_livekit_room_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_livekit_room_proto_msgTypes[20].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_livekit_room_proto_rawDesc, NumEnums: 0, - NumMessages: 18, + NumMessages: 24, NumExtensions: 0, NumServices: 1, }, diff --git a/livekit/livekit_room.twirp.go b/livekit/livekit_room.twirp.go index f53c62b3..af8deb4b 100644 --- a/livekit/livekit_room.twirp.go +++ b/livekit/livekit_room.twirp.go @@ -63,6 +63,15 @@ type RoomService interface { // Update room metadata, will cause updates to be broadcasted to everyone in the room, Requires `roomAdmin` UpdateRoomMetadata(context.Context, *UpdateRoomMetadataRequest) (*Room, error) + + // Create a room configuration. + CreateRoomConfiguration(context.Context, *CreateRoomConfigurationRequest) (*RoomConfiguration, error) + + // Update a room configuration + UpdateRoomConfiguration(context.Context, *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) + + // List configurations + ListRoomConfiguration(context.Context, *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) } // =========================== @@ -71,7 +80,7 @@ type RoomService interface { type roomServiceProtobufClient struct { client HTTPClient - urls [11]string + urls [14]string interceptor twirp.Interceptor opts twirp.ClientOptions } @@ -99,7 +108,7 @@ func NewRoomServiceProtobufClient(baseURL string, client HTTPClient, opts ...twi // Build method URLs: []/./ serviceURL := sanitizeBaseURL(baseURL) serviceURL += baseServicePath(pathPrefix, "livekit", "RoomService") - urls := [11]string{ + urls := [14]string{ serviceURL + "CreateRoom", serviceURL + "ListRooms", serviceURL + "DeleteRoom", @@ -111,6 +120,9 @@ func NewRoomServiceProtobufClient(baseURL string, client HTTPClient, opts ...twi serviceURL + "UpdateSubscriptions", serviceURL + "SendData", serviceURL + "UpdateRoomMetadata", + serviceURL + "CreateRoomConfiguration", + serviceURL + "UpdateRoomConfiguration", + serviceURL + "ListRoomConfiguration", } return &roomServiceProtobufClient{ @@ -627,13 +639,151 @@ func (c *roomServiceProtobufClient) callUpdateRoomMetadata(ctx context.Context, return out, nil } +func (c *roomServiceProtobufClient) CreateRoomConfiguration(ctx context.Context, in *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { + ctx = ctxsetters.WithPackageName(ctx, "livekit") + ctx = ctxsetters.WithServiceName(ctx, "RoomService") + ctx = ctxsetters.WithMethodName(ctx, "CreateRoomConfiguration") + caller := c.callCreateRoomConfiguration + if c.interceptor != nil { + caller = func(ctx context.Context, req *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*CreateRoomConfigurationRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*CreateRoomConfigurationRequest) when calling interceptor") + } + return c.callCreateRoomConfiguration(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*RoomConfiguration) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *roomServiceProtobufClient) callCreateRoomConfiguration(ctx context.Context, in *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { + out := new(RoomConfiguration) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[11], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + +func (c *roomServiceProtobufClient) UpdateRoomConfiguration(ctx context.Context, in *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { + ctx = ctxsetters.WithPackageName(ctx, "livekit") + ctx = ctxsetters.WithServiceName(ctx, "RoomService") + ctx = ctxsetters.WithMethodName(ctx, "UpdateRoomConfiguration") + caller := c.callUpdateRoomConfiguration + if c.interceptor != nil { + caller = func(ctx context.Context, req *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*UpdateRoomConfigurationRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*UpdateRoomConfigurationRequest) when calling interceptor") + } + return c.callUpdateRoomConfiguration(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*RoomConfiguration) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *roomServiceProtobufClient) callUpdateRoomConfiguration(ctx context.Context, in *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { + out := new(RoomConfiguration) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + +func (c *roomServiceProtobufClient) ListRoomConfiguration(ctx context.Context, in *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { + ctx = ctxsetters.WithPackageName(ctx, "livekit") + ctx = ctxsetters.WithServiceName(ctx, "RoomService") + ctx = ctxsetters.WithMethodName(ctx, "ListRoomConfiguration") + caller := c.callListRoomConfiguration + if c.interceptor != nil { + caller = func(ctx context.Context, req *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*ListRoomConfigurationRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*ListRoomConfigurationRequest) when calling interceptor") + } + return c.callListRoomConfiguration(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*ListRoomConfigurationResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*ListRoomConfigurationResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *roomServiceProtobufClient) callListRoomConfiguration(ctx context.Context, in *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { + out := new(ListRoomConfigurationResponse) + ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[13], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + // ======================= // RoomService JSON Client // ======================= type roomServiceJSONClient struct { client HTTPClient - urls [11]string + urls [14]string interceptor twirp.Interceptor opts twirp.ClientOptions } @@ -661,7 +811,7 @@ func NewRoomServiceJSONClient(baseURL string, client HTTPClient, opts ...twirp.C // Build method URLs: []/./ serviceURL := sanitizeBaseURL(baseURL) serviceURL += baseServicePath(pathPrefix, "livekit", "RoomService") - urls := [11]string{ + urls := [14]string{ serviceURL + "CreateRoom", serviceURL + "ListRooms", serviceURL + "DeleteRoom", @@ -673,6 +823,9 @@ func NewRoomServiceJSONClient(baseURL string, client HTTPClient, opts ...twirp.C serviceURL + "UpdateSubscriptions", serviceURL + "SendData", serviceURL + "UpdateRoomMetadata", + serviceURL + "CreateRoomConfiguration", + serviceURL + "UpdateRoomConfiguration", + serviceURL + "ListRoomConfiguration", } return &roomServiceJSONClient{ @@ -1189,6 +1342,144 @@ func (c *roomServiceJSONClient) callUpdateRoomMetadata(ctx context.Context, in * return out, nil } +func (c *roomServiceJSONClient) CreateRoomConfiguration(ctx context.Context, in *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { + ctx = ctxsetters.WithPackageName(ctx, "livekit") + ctx = ctxsetters.WithServiceName(ctx, "RoomService") + ctx = ctxsetters.WithMethodName(ctx, "CreateRoomConfiguration") + caller := c.callCreateRoomConfiguration + if c.interceptor != nil { + caller = func(ctx context.Context, req *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*CreateRoomConfigurationRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*CreateRoomConfigurationRequest) when calling interceptor") + } + return c.callCreateRoomConfiguration(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*RoomConfiguration) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *roomServiceJSONClient) callCreateRoomConfiguration(ctx context.Context, in *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { + out := new(RoomConfiguration) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[11], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + +func (c *roomServiceJSONClient) UpdateRoomConfiguration(ctx context.Context, in *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { + ctx = ctxsetters.WithPackageName(ctx, "livekit") + ctx = ctxsetters.WithServiceName(ctx, "RoomService") + ctx = ctxsetters.WithMethodName(ctx, "UpdateRoomConfiguration") + caller := c.callUpdateRoomConfiguration + if c.interceptor != nil { + caller = func(ctx context.Context, req *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*UpdateRoomConfigurationRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*UpdateRoomConfigurationRequest) when calling interceptor") + } + return c.callUpdateRoomConfiguration(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*RoomConfiguration) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *roomServiceJSONClient) callUpdateRoomConfiguration(ctx context.Context, in *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { + out := new(RoomConfiguration) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + +func (c *roomServiceJSONClient) ListRoomConfiguration(ctx context.Context, in *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { + ctx = ctxsetters.WithPackageName(ctx, "livekit") + ctx = ctxsetters.WithServiceName(ctx, "RoomService") + ctx = ctxsetters.WithMethodName(ctx, "ListRoomConfiguration") + caller := c.callListRoomConfiguration + if c.interceptor != nil { + caller = func(ctx context.Context, req *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { + resp, err := c.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*ListRoomConfigurationRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*ListRoomConfigurationRequest) when calling interceptor") + } + return c.callListRoomConfiguration(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*ListRoomConfigurationResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*ListRoomConfigurationResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + return caller(ctx, in) +} + +func (c *roomServiceJSONClient) callListRoomConfiguration(ctx context.Context, in *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { + out := new(ListRoomConfigurationResponse) + ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[13], in, out) + if err != nil { + twerr, ok := err.(twirp.Error) + if !ok { + twerr = twirp.InternalErrorWith(err) + } + callClientError(ctx, c.opts.Hooks, twerr) + return nil, err + } + + callClientResponseReceived(ctx, c.opts.Hooks) + + return out, nil +} + // ========================== // RoomService Server Handler // ========================== @@ -1319,6 +1610,15 @@ func (s *roomServiceServer) ServeHTTP(resp http.ResponseWriter, req *http.Reques case "UpdateRoomMetadata": s.serveUpdateRoomMetadata(ctx, resp, req) return + case "CreateRoomConfiguration": + s.serveCreateRoomConfiguration(ctx, resp, req) + return + case "UpdateRoomConfiguration": + s.serveUpdateRoomConfiguration(ctx, resp, req) + return + case "ListRoomConfiguration": + s.serveListRoomConfiguration(ctx, resp, req) + return default: msg := fmt.Sprintf("no handler for path %q", req.URL.Path) s.writeError(ctx, resp, badRouteError(msg, req.Method, req.URL.Path)) @@ -3306,6 +3606,546 @@ func (s *roomServiceServer) serveUpdateRoomMetadataProtobuf(ctx context.Context, callResponseSent(ctx, s.hooks) } +func (s *roomServiceServer) serveCreateRoomConfiguration(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + header := req.Header.Get("Content-Type") + i := strings.Index(header, ";") + if i == -1 { + i = len(header) + } + switch strings.TrimSpace(strings.ToLower(header[:i])) { + case "application/json": + s.serveCreateRoomConfigurationJSON(ctx, resp, req) + case "application/protobuf": + s.serveCreateRoomConfigurationProtobuf(ctx, resp, req) + default: + msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) + twerr := badRouteError(msg, req.Method, req.URL.Path) + s.writeError(ctx, resp, twerr) + } +} + +func (s *roomServiceServer) serveCreateRoomConfigurationJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "CreateRoomConfiguration") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + d := json.NewDecoder(req.Body) + rawReqBody := json.RawMessage{} + if err := d.Decode(&rawReqBody); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + reqContent := new(CreateRoomConfigurationRequest) + unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true} + if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + + handler := s.RoomService.CreateRoomConfiguration + if s.interceptor != nil { + handler = func(ctx context.Context, req *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*CreateRoomConfigurationRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*CreateRoomConfigurationRequest) when calling interceptor") + } + return s.RoomService.CreateRoomConfiguration(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*RoomConfiguration) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *RoomConfiguration + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *RoomConfiguration and nil error while calling CreateRoomConfiguration. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults} + respBytes, err := marshaler.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/json") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *roomServiceServer) serveCreateRoomConfigurationProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "CreateRoomConfiguration") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + buf, err := io.ReadAll(req.Body) + if err != nil { + s.handleRequestBodyError(ctx, resp, "failed to read request body", err) + return + } + reqContent := new(CreateRoomConfigurationRequest) + if err = proto.Unmarshal(buf, reqContent); err != nil { + s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) + return + } + + handler := s.RoomService.CreateRoomConfiguration + if s.interceptor != nil { + handler = func(ctx context.Context, req *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*CreateRoomConfigurationRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*CreateRoomConfigurationRequest) when calling interceptor") + } + return s.RoomService.CreateRoomConfiguration(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*RoomConfiguration) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *RoomConfiguration + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *RoomConfiguration and nil error while calling CreateRoomConfiguration. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + respBytes, err := proto.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/protobuf") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *roomServiceServer) serveUpdateRoomConfiguration(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + header := req.Header.Get("Content-Type") + i := strings.Index(header, ";") + if i == -1 { + i = len(header) + } + switch strings.TrimSpace(strings.ToLower(header[:i])) { + case "application/json": + s.serveUpdateRoomConfigurationJSON(ctx, resp, req) + case "application/protobuf": + s.serveUpdateRoomConfigurationProtobuf(ctx, resp, req) + default: + msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) + twerr := badRouteError(msg, req.Method, req.URL.Path) + s.writeError(ctx, resp, twerr) + } +} + +func (s *roomServiceServer) serveUpdateRoomConfigurationJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "UpdateRoomConfiguration") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + d := json.NewDecoder(req.Body) + rawReqBody := json.RawMessage{} + if err := d.Decode(&rawReqBody); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + reqContent := new(UpdateRoomConfigurationRequest) + unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true} + if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + + handler := s.RoomService.UpdateRoomConfiguration + if s.interceptor != nil { + handler = func(ctx context.Context, req *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*UpdateRoomConfigurationRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*UpdateRoomConfigurationRequest) when calling interceptor") + } + return s.RoomService.UpdateRoomConfiguration(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*RoomConfiguration) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *RoomConfiguration + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *RoomConfiguration and nil error while calling UpdateRoomConfiguration. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults} + respBytes, err := marshaler.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/json") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *roomServiceServer) serveUpdateRoomConfigurationProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "UpdateRoomConfiguration") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + buf, err := io.ReadAll(req.Body) + if err != nil { + s.handleRequestBodyError(ctx, resp, "failed to read request body", err) + return + } + reqContent := new(UpdateRoomConfigurationRequest) + if err = proto.Unmarshal(buf, reqContent); err != nil { + s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) + return + } + + handler := s.RoomService.UpdateRoomConfiguration + if s.interceptor != nil { + handler = func(ctx context.Context, req *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*UpdateRoomConfigurationRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*UpdateRoomConfigurationRequest) when calling interceptor") + } + return s.RoomService.UpdateRoomConfiguration(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*RoomConfiguration) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *RoomConfiguration + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *RoomConfiguration and nil error while calling UpdateRoomConfiguration. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + respBytes, err := proto.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/protobuf") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *roomServiceServer) serveListRoomConfiguration(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + header := req.Header.Get("Content-Type") + i := strings.Index(header, ";") + if i == -1 { + i = len(header) + } + switch strings.TrimSpace(strings.ToLower(header[:i])) { + case "application/json": + s.serveListRoomConfigurationJSON(ctx, resp, req) + case "application/protobuf": + s.serveListRoomConfigurationProtobuf(ctx, resp, req) + default: + msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) + twerr := badRouteError(msg, req.Method, req.URL.Path) + s.writeError(ctx, resp, twerr) + } +} + +func (s *roomServiceServer) serveListRoomConfigurationJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "ListRoomConfiguration") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + d := json.NewDecoder(req.Body) + rawReqBody := json.RawMessage{} + if err := d.Decode(&rawReqBody); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + reqContent := new(ListRoomConfigurationRequest) + unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true} + if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil { + s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) + return + } + + handler := s.RoomService.ListRoomConfiguration + if s.interceptor != nil { + handler = func(ctx context.Context, req *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*ListRoomConfigurationRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*ListRoomConfigurationRequest) when calling interceptor") + } + return s.RoomService.ListRoomConfiguration(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*ListRoomConfigurationResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*ListRoomConfigurationResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *ListRoomConfigurationResponse + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *ListRoomConfigurationResponse and nil error while calling ListRoomConfiguration. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults} + respBytes, err := marshaler.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/json") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + +func (s *roomServiceServer) serveListRoomConfigurationProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { + var err error + ctx = ctxsetters.WithMethodName(ctx, "ListRoomConfiguration") + ctx, err = callRequestRouted(ctx, s.hooks) + if err != nil { + s.writeError(ctx, resp, err) + return + } + + buf, err := io.ReadAll(req.Body) + if err != nil { + s.handleRequestBodyError(ctx, resp, "failed to read request body", err) + return + } + reqContent := new(ListRoomConfigurationRequest) + if err = proto.Unmarshal(buf, reqContent); err != nil { + s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) + return + } + + handler := s.RoomService.ListRoomConfiguration + if s.interceptor != nil { + handler = func(ctx context.Context, req *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { + resp, err := s.interceptor( + func(ctx context.Context, req interface{}) (interface{}, error) { + typedReq, ok := req.(*ListRoomConfigurationRequest) + if !ok { + return nil, twirp.InternalError("failed type assertion req.(*ListRoomConfigurationRequest) when calling interceptor") + } + return s.RoomService.ListRoomConfiguration(ctx, typedReq) + }, + )(ctx, req) + if resp != nil { + typedResp, ok := resp.(*ListRoomConfigurationResponse) + if !ok { + return nil, twirp.InternalError("failed type assertion resp.(*ListRoomConfigurationResponse) when calling interceptor") + } + return typedResp, err + } + return nil, err + } + } + + // Call service method + var respContent *ListRoomConfigurationResponse + func() { + defer ensurePanicResponses(ctx, resp, s.hooks) + respContent, err = handler(ctx, reqContent) + }() + + if err != nil { + s.writeError(ctx, resp, err) + return + } + if respContent == nil { + s.writeError(ctx, resp, twirp.InternalError("received a nil *ListRoomConfigurationResponse and nil error while calling ListRoomConfiguration. nil responses are not supported")) + return + } + + ctx = callResponsePrepared(ctx, s.hooks) + + respBytes, err := proto.Marshal(respContent) + if err != nil { + s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response")) + return + } + + ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) + resp.Header().Set("Content-Type", "application/protobuf") + resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) + resp.WriteHeader(http.StatusOK) + if n, err := resp.Write(respBytes); err != nil { + msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) + twerr := twirp.NewError(twirp.Unknown, msg) + ctx = callError(ctx, s.hooks, twerr) + } + callResponseSent(ctx, s.hooks) +} + func (s *roomServiceServer) ServiceDescriptor() ([]byte, int) { return twirpFileDescriptor2, 0 } @@ -3322,73 +4162,96 @@ func (s *roomServiceServer) PathPrefix() string { } var twirpFileDescriptor2 = []byte{ - // 1087 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0x1b, 0x45, - 0x14, 0x66, 0x13, 0xdb, 0xb1, 0x8f, 0xf3, 0xe7, 0x69, 0x4a, 0x36, 0x1b, 0x52, 0xb9, 0x1b, 0x24, - 0x0c, 0xa5, 0x29, 0x32, 0x42, 0x45, 0x15, 0x02, 0x9a, 0xa6, 0x94, 0x28, 0xa9, 0x64, 0x8d, 0x8b, - 0xf8, 0xb9, 0x31, 0x1b, 0xef, 0xd0, 0x8e, 0xe2, 0xdd, 0x59, 0x76, 0x66, 0xa3, 0xfa, 0x92, 0x3b, - 0x9e, 0x85, 0x37, 0x80, 0xe7, 0xe0, 0x19, 0xb8, 0xe0, 0x92, 0x27, 0x40, 0xf3, 0xe3, 0xdd, 0x59, - 0x7b, 0x6d, 0x50, 0xef, 0x3c, 0xe7, 0x7c, 0x73, 0xe6, 0x9c, 0xef, 0x9c, 0xf3, 0xad, 0x01, 0x4d, - 0xe8, 0x0d, 0xb9, 0xa6, 0x62, 0x94, 0x32, 0x16, 0x9d, 0x24, 0x29, 0x13, 0x0c, 0x6d, 0x18, 0x9b, - 0xb7, 0x37, 0x73, 0x46, 0x2c, 0x24, 0x13, 0xae, 0xdd, 0x85, 0x95, 0xbc, 0x4c, 0x09, 0x37, 0x56, - 0xff, 0x97, 0x75, 0xe8, 0x3c, 0x49, 0x49, 0x20, 0x08, 0x66, 0x2c, 0xc2, 0xe4, 0xe7, 0x8c, 0x70, - 0x81, 0x10, 0xd4, 0xe2, 0x20, 0x22, 0xae, 0xd3, 0x75, 0x7a, 0x2d, 0xac, 0x7e, 0xa3, 0x63, 0xd8, - 0x22, 0x51, 0x22, 0xa6, 0x23, 0x41, 0x23, 0xc2, 0x32, 0xe1, 0xae, 0x75, 0x9d, 0xde, 0x16, 0xde, - 0x54, 0xc6, 0x17, 0xda, 0x86, 0xee, 0x41, 0x27, 0x24, 0x49, 0x90, 0x8a, 0x2c, 0x25, 0x39, 0x10, - 0x14, 0x70, 0x37, 0x77, 0xcc, 0xc0, 0xef, 0xc3, 0x6e, 0x14, 0xbc, 0x1e, 0x49, 0x2b, 0x1d, 0xd3, - 0x24, 0x88, 0x05, 0x77, 0xd7, 0x15, 0x76, 0x27, 0x0a, 0x5e, 0x0f, 0x2c, 0x33, 0xda, 0x87, 0x8d, - 0x98, 0x85, 0x64, 0x44, 0x43, 0xb7, 0xa6, 0x72, 0x6a, 0xc8, 0xe3, 0x79, 0x88, 0x3c, 0x68, 0x46, - 0x44, 0x04, 0x61, 0x20, 0x02, 0xb7, 0xae, 0x3c, 0xf9, 0x19, 0xdd, 0x83, 0x86, 0xae, 0xd5, 0x6d, - 0x74, 0x9d, 0x5e, 0xbb, 0x7f, 0xeb, 0xc4, 0x50, 0x70, 0x22, 0x6b, 0x7d, 0xaa, 0x5c, 0xd8, 0x40, - 0xd0, 0x07, 0xd0, 0x89, 0x68, 0x3c, 0x4a, 0x26, 0xc1, 0x94, 0x65, 0x62, 0x14, 0x92, 0x49, 0x30, - 0x75, 0x37, 0x4c, 0x36, 0x34, 0x1e, 0x68, 0xfb, 0x99, 0x34, 0x2b, 0xac, 0x4c, 0xbc, 0x84, 0x6d, - 0x16, 0x99, 0xdb, 0xd8, 0xbb, 0xb0, 0xc9, 0xa7, 0xf1, 0x78, 0xc4, 0x45, 0x4a, 0x82, 0x88, 0xbb, - 0xad, 0xae, 0xd3, 0x6b, 0xe2, 0xb6, 0xb4, 0x0d, 0xb5, 0xc9, 0xff, 0xdd, 0x01, 0x28, 0x32, 0x42, - 0x0f, 0xa1, 0x26, 0xbb, 0xaa, 0xc8, 0x6f, 0xf7, 0x8f, 0x4b, 0x49, 0x3f, 0x61, 0x51, 0xc2, 0x38, - 0x15, 0xc4, 0x64, 0xaf, 0xfb, 0x85, 0xd5, 0x05, 0xf4, 0x25, 0xb4, 0x2d, 0x2e, 0x15, 0x95, 0xed, - 0xfe, 0x9d, 0xfc, 0xfe, 0xe3, 0x4c, 0x30, 0x8b, 0x54, 0x13, 0xc1, 0xbe, 0x82, 0x3e, 0x82, 0x86, - 0x48, 0x83, 0xf1, 0x35, 0x57, 0xcd, 0x6d, 0xf7, 0xdd, 0xd2, 0xe5, 0x17, 0xd2, 0x35, 0xa3, 0x4d, - 0xe3, 0xfc, 0x1e, 0xec, 0x5e, 0x52, 0x2e, 0x64, 0x6e, 0xb3, 0x6c, 0xd0, 0x1e, 0xd4, 0xe5, 0xc4, - 0x70, 0xd7, 0xe9, 0xae, 0xf7, 0x5a, 0x58, 0x1f, 0xfc, 0x4f, 0xa1, 0x63, 0x21, 0x79, 0xc2, 0x62, - 0x2e, 0x87, 0xaa, 0x2e, 0x53, 0xd7, 0xd0, 0x76, 0x7f, 0xab, 0x54, 0x2c, 0xd6, 0x3e, 0xff, 0x3d, - 0xe8, 0x9c, 0x91, 0x09, 0x59, 0x18, 0xd1, 0x9c, 0xa5, 0x96, 0x26, 0xc0, 0xdf, 0x03, 0x64, 0x03, - 0xf5, 0x1b, 0xfe, 0x7d, 0xd8, 0x97, 0x0f, 0xdb, 0xf3, 0xb4, 0x2a, 0xc8, 0x77, 0xe0, 0x2e, 0xc2, - 0x4d, 0xba, 0x9f, 0xc1, 0x66, 0x69, 0x5a, 0x75, 0xd6, 0x05, 0x4b, 0xd6, 0xa5, 0xf3, 0xf8, 0x27, - 0x86, 0x4b, 0x68, 0xff, 0x1c, 0xf6, 0x65, 0x62, 0x36, 0x28, 0x24, 0xb1, 0xa0, 0x62, 0x5a, 0x95, - 0x88, 0x1c, 0x6d, 0x6a, 0xfc, 0xaa, 0x1d, 0x2d, 0x9c, 0x9f, 0xfd, 0x43, 0x38, 0xc0, 0x24, 0x62, - 0x37, 0xc4, 0x0a, 0x96, 0x17, 0x3c, 0x85, 0xbd, 0xe7, 0x99, 0x26, 0x41, 0xb5, 0x6c, 0x45, 0xb5, - 0xab, 0x1e, 0x41, 0x87, 0xd0, 0x52, 0x5d, 0x1e, 0x71, 0x1a, 0xaa, 0x69, 0x6a, 0xe1, 0xa6, 0x32, - 0x0c, 0x69, 0x28, 0x9b, 0x1c, 0x65, 0x82, 0xe8, 0x7d, 0x6c, 0x62, 0x7d, 0xf0, 0x1f, 0xc3, 0xed, - 0xb9, 0xa7, 0x0d, 0x73, 0x3d, 0xa8, 0xab, 0xab, 0x66, 0xaa, 0x51, 0x4e, 0x99, 0x82, 0x29, 0xb2, - 0x34, 0xc0, 0xff, 0xc3, 0x01, 0xf7, 0x9b, 0x24, 0x0c, 0x44, 0xb9, 0xb6, 0x37, 0x2b, 0xc1, 0x96, - 0x87, 0xf5, 0x39, 0x79, 0xf8, 0x1c, 0x20, 0x21, 0x69, 0x44, 0x39, 0xa7, 0x2c, 0x56, 0x65, 0xd8, - 0xdb, 0x62, 0x3d, 0x3e, 0xc8, 0x51, 0xd8, 0xba, 0x91, 0x8b, 0x64, 0xbd, 0x10, 0x49, 0xff, 0x4f, - 0x07, 0x3c, 0x9d, 0xfc, 0x30, 0xbb, 0xe2, 0xe3, 0x94, 0x26, 0x82, 0xb2, 0x98, 0xbf, 0x69, 0xfa, - 0x47, 0x00, 0x79, 0x07, 0xa4, 0x36, 0xca, 0x75, 0x6a, 0xcd, 0x5a, 0xc0, 0xd1, 0x3b, 0xd0, 0xe2, - 0xfa, 0x99, 0x2b, 0x62, 0xfa, 0x50, 0x18, 0xd0, 0x39, 0x20, 0x6b, 0xfc, 0x46, 0x66, 0xb1, 0xeb, - 0x6a, 0x64, 0xbd, 0xaa, 0x3a, 0x55, 0x2b, 0x38, 0xee, 0x24, 0xf3, 0x26, 0xff, 0x08, 0x0e, 0x2b, - 0xab, 0x32, 0x03, 0xf7, 0x8f, 0x03, 0x3b, 0x43, 0x12, 0x87, 0x67, 0x81, 0x08, 0x56, 0x95, 0x8a, - 0xa0, 0xa6, 0x3a, 0x21, 0xcb, 0xdc, 0xc4, 0xea, 0x37, 0xfa, 0x10, 0x6a, 0xd7, 0x34, 0xd6, 0xf3, - 0xb5, 0x6d, 0xad, 0x92, 0x8c, 0x35, 0x08, 0xc6, 0xd7, 0x44, 0x9c, 0x5c, 0xd0, 0x38, 0xc4, 0x0a, - 0x85, 0xee, 0xc3, 0x6e, 0x48, 0xb8, 0xa0, 0x71, 0x20, 0x33, 0xd0, 0xb4, 0xd4, 0x24, 0x2d, 0xa7, - 0x6b, 0xae, 0x83, 0x77, 0x2c, 0x9f, 0x22, 0xe8, 0x13, 0x78, 0xdb, 0x86, 0x1b, 0x5e, 0x29, 0x91, - 0x5f, 0x04, 0xc9, 0xe5, 0x6d, 0xcb, 0x7b, 0x9e, 0x3b, 0xd1, 0x01, 0xd4, 0x05, 0x4b, 0xe8, 0x58, - 0xb7, 0xf6, 0xeb, 0xb7, 0xb0, 0x3e, 0xfe, 0xea, 0x38, 0xa7, 0x4d, 0x68, 0x8c, 0xd4, 0xc1, 0x47, - 0xb0, 0x5b, 0xd4, 0x6c, 0x88, 0xb8, 0x80, 0x03, 0xcd, 0x93, 0x5c, 0x80, 0xe7, 0x66, 0xd0, 0xfe, - 0xa3, 0xf9, 0xf9, 0x7c, 0xae, 0x95, 0xe7, 0xb3, 0xff, 0x57, 0x03, 0xda, 0x32, 0xce, 0x90, 0xa4, - 0x37, 0x74, 0x4c, 0xd0, 0x43, 0x80, 0xe2, 0x4b, 0x8d, 0x8a, 0x0e, 0x2e, 0x7c, 0xbe, 0xbd, 0xb2, - 0x8c, 0xa2, 0x53, 0x68, 0xe5, 0xca, 0x8b, 0x0e, 0x72, 0xdf, 0xbc, 0x6e, 0x7b, 0x5e, 0x95, 0xcb, - 0xec, 0xef, 0x53, 0x80, 0x42, 0x5a, 0xad, 0xc7, 0x17, 0x84, 0xd9, 0x3b, 0xac, 0xf4, 0x99, 0x30, - 0xdf, 0xea, 0xcf, 0x45, 0xe9, 0xdb, 0xde, 0x2d, 0x3d, 0x5b, 0x21, 0xd3, 0xde, 0xdd, 0x15, 0x08, - 0x13, 0xf8, 0x12, 0xb6, 0x9f, 0x11, 0xdb, 0x65, 0x85, 0x5d, 0x22, 0xba, 0xde, 0x52, 0xdd, 0x46, - 0xdf, 0x43, 0x67, 0x41, 0x5e, 0xff, 0x47, 0x40, 0xbf, 0x40, 0x2c, 0x13, 0x67, 0x34, 0x04, 0x24, - 0x15, 0x72, 0x90, 0x5d, 0x4d, 0x28, 0x7f, 0x45, 0x42, 0xb5, 0x61, 0xe8, 0x28, 0xbf, 0x59, 0xa5, - 0xdc, 0xde, 0x9d, 0x65, 0x6e, 0x13, 0x74, 0x00, 0x9d, 0x05, 0xc9, 0x44, 0x05, 0x6b, 0xcb, 0xe4, - 0x74, 0x05, 0x03, 0x3f, 0xc2, 0xad, 0x8a, 0x8d, 0x47, 0xc7, 0x73, 0x31, 0xab, 0x54, 0xce, 0x7b, - 0x77, 0x35, 0xc8, 0xe4, 0xfc, 0x05, 0x34, 0x67, 0xfb, 0x83, 0x8a, 0x3c, 0xe6, 0x64, 0xc4, 0x3b, - 0xa8, 0xf0, 0x98, 0x00, 0xcf, 0x00, 0x2d, 0x2e, 0x1b, 0xf2, 0xe7, 0x1e, 0xaf, 0xd8, 0xc4, 0xb9, - 0xfd, 0x38, 0xfd, 0xea, 0x87, 0xe3, 0x97, 0x54, 0xbc, 0xca, 0xae, 0x4e, 0xc6, 0x2c, 0x7a, 0x60, - 0x5c, 0x0f, 0xd4, 0xff, 0xe3, 0x31, 0x9b, 0xcc, 0x0c, 0xbf, 0xad, 0x6d, 0x5d, 0xd2, 0x1b, 0x72, - 0x21, 0xc9, 0x92, 0xae, 0xbf, 0xd7, 0xb6, 0xcd, 0xf9, 0xd1, 0x23, 0x65, 0xb8, 0x6a, 0xa8, 0x2b, - 0x1f, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x5e, 0x21, 0x05, 0x9d, 0x0b, 0x00, 0x00, + // 1441 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xdd, 0x72, 0xdb, 0x44, + 0x14, 0xae, 0x1c, 0xdb, 0xb1, 0x8e, 0xf3, 0xe7, 0x4d, 0x4a, 0x14, 0xa5, 0x09, 0xa9, 0x02, 0xad, + 0xa1, 0x34, 0xed, 0x98, 0xe9, 0x94, 0xe9, 0x30, 0xd0, 0xba, 0x2d, 0x75, 0x68, 0xcb, 0x64, 0xe4, + 0x32, 0xfc, 0x5c, 0x20, 0x64, 0x6b, 0x9b, 0xee, 0xc4, 0x92, 0x8c, 0xb4, 0xce, 0xd4, 0x6f, 0xd0, + 0x2b, 0x1e, 0x84, 0x37, 0xa0, 0xcf, 0xc0, 0x25, 0x4f, 0xc1, 0x25, 0x17, 0x5c, 0x33, 0xfb, 0x23, + 0x69, 0x65, 0xc9, 0x6e, 0xe9, 0x15, 0x77, 0xd1, 0x39, 0xdf, 0x39, 0x7b, 0xce, 0xb7, 0x67, 0x77, + 0x3f, 0x07, 0xd0, 0x88, 0x9c, 0xe3, 0x33, 0x42, 0x9d, 0x28, 0x0c, 0xfd, 0xa3, 0x71, 0x14, 0xd2, + 0x10, 0x2d, 0x4b, 0x9b, 0xb9, 0x95, 0x38, 0xfd, 0xd0, 0xc3, 0xa3, 0x58, 0xb8, 0x33, 0x2b, 0x3e, + 0x8d, 0x70, 0x9c, 0x58, 0x37, 0x13, 0xab, 0x7b, 0x8a, 0x03, 0x2a, 0x8c, 0xd6, 0x1f, 0x4b, 0xd0, + 0xba, 0x1f, 0x61, 0x97, 0x62, 0x3b, 0x0c, 0x7d, 0x1b, 0xff, 0x32, 0xc1, 0x31, 0x45, 0x08, 0xaa, + 0x81, 0xeb, 0x63, 0x43, 0x3b, 0xd0, 0xda, 0xba, 0xcd, 0xff, 0x46, 0xef, 0x43, 0x73, 0x18, 0x06, + 0xcf, 0xc9, 0xa9, 0xc3, 0x5d, 0x2b, 0xdc, 0x05, 0xc2, 0xf4, 0x0d, 0x03, 0x1c, 0xc2, 0x2a, 0xf6, + 0xc7, 0x74, 0xea, 0x50, 0xe2, 0xe3, 0x70, 0x42, 0x8d, 0xca, 0x81, 0xd6, 0x5e, 0xb5, 0x57, 0xb8, + 0xf1, 0x99, 0xb0, 0xa1, 0x6b, 0xd0, 0xf2, 0xf0, 0xd8, 0x8d, 0xe8, 0x24, 0xc2, 0x29, 0x10, 0x38, + 0x70, 0x23, 0x75, 0x24, 0xe0, 0x8f, 0x60, 0xc3, 0x77, 0x5f, 0x3a, 0xcc, 0x4a, 0x86, 0x64, 0xec, + 0x06, 0x34, 0x36, 0x96, 0x38, 0x76, 0xdd, 0x77, 0x5f, 0x9e, 0x28, 0x66, 0xb4, 0x0d, 0xcb, 0x41, + 0xe8, 0x61, 0x87, 0x78, 0x46, 0x95, 0x57, 0x56, 0x67, 0x9f, 0xc7, 0x1e, 0x32, 0xa1, 0xe1, 0x63, + 0xea, 0x7a, 0x2e, 0x75, 0x8d, 0x1a, 0xf7, 0xa4, 0xdf, 0xe8, 0x1a, 0xd4, 0x05, 0x43, 0x46, 0xfd, + 0x40, 0x6b, 0x37, 0x3b, 0x9b, 0x47, 0x92, 0xa2, 0x23, 0x46, 0xc6, 0x43, 0xee, 0xb2, 0x25, 0x04, + 0xb5, 0xa1, 0xc6, 0x89, 0x33, 0x9a, 0x1c, 0x8b, 0x72, 0xd8, 0x7b, 0xcc, 0x63, 0x0b, 0x00, 0xfa, + 0x18, 0x5a, 0x3e, 0x09, 0x9c, 0xf1, 0xc8, 0x9d, 0x86, 0x13, 0xea, 0x78, 0x78, 0xe4, 0x4e, 0x8d, + 0x65, 0x59, 0x37, 0x09, 0x4e, 0x84, 0xfd, 0x01, 0x33, 0x73, 0x2c, 0x6b, 0x31, 0x87, 0x6d, 0x64, + 0x3d, 0xaa, 0xd8, 0xcb, 0xb0, 0x12, 0x4f, 0x83, 0xa1, 0x13, 0xd3, 0x08, 0xbb, 0x7e, 0x6c, 0xe8, + 0x07, 0x5a, 0xbb, 0x61, 0x37, 0x99, 0xad, 0x2f, 0x4c, 0xd6, 0xef, 0x1a, 0x40, 0x56, 0x3b, 0xba, + 0x0d, 0x55, 0x36, 0x35, 0x7c, 0x1f, 0x9b, 0x9d, 0xc3, 0x5c, 0xc9, 0xf7, 0x43, 0x7f, 0x1c, 0xc6, + 0x84, 0x62, 0xd9, 0xa7, 0xd8, 0x7a, 0x9b, 0x07, 0xa0, 0xbb, 0xd0, 0x54, 0x58, 0xe7, 0xa4, 0x37, + 0x3b, 0xfb, 0x69, 0xfc, 0xbd, 0x09, 0x0d, 0x15, 0xfa, 0x65, 0x06, 0x35, 0x04, 0xdd, 0x84, 0x3a, + 0x8d, 0xdc, 0xe1, 0x59, 0xcc, 0xc7, 0xa0, 0xd9, 0x31, 0x72, 0xc1, 0xcf, 0x98, 0x2b, 0x21, 0x58, + 0xe0, 0xac, 0x2e, 0xe8, 0x29, 0x95, 0xe8, 0x16, 0xd4, 0x39, 0x99, 0xb1, 0xa1, 0x1d, 0x2c, 0xb5, + 0x9b, 0x9d, 0xbd, 0x34, 0xbc, 0x4f, 0xdd, 0x88, 0x72, 0xd0, 0xd7, 0xe1, 0x20, 0xa9, 0x5a, 0x82, + 0xad, 0x36, 0x6c, 0x3c, 0x21, 0x31, 0x65, 0x79, 0x92, 0x8e, 0xd0, 0x16, 0xd4, 0xd8, 0xc4, 0x8a, + 0x4c, 0xba, 0x2d, 0x3e, 0xac, 0xcf, 0xa0, 0xa5, 0x20, 0xe3, 0x71, 0x18, 0xc4, 0x6c, 0x84, 0x6b, + 0xac, 0xfd, 0x64, 0xd1, 0xd5, 0x1c, 0x61, 0xb6, 0xf0, 0x59, 0x57, 0xa1, 0xf5, 0x00, 0x8f, 0x70, + 0xe1, 0xc4, 0xa4, 0x4c, 0xeb, 0x82, 0x44, 0x6b, 0x0b, 0x90, 0x0a, 0x14, 0x6b, 0x58, 0xd7, 0x61, + 0x9b, 0x2d, 0xac, 0x4e, 0xef, 0xa2, 0x24, 0xdf, 0x83, 0x51, 0x84, 0xcb, 0x72, 0x3f, 0x87, 0x95, + 0xdc, 0xd9, 0x10, 0x55, 0x67, 0x4c, 0x2b, 0x41, 0xc7, 0xc1, 0xf3, 0xd0, 0xce, 0xa1, 0xad, 0x63, + 0xd8, 0x66, 0x85, 0xa9, 0x20, 0x0f, 0x07, 0x94, 0xd0, 0x69, 0x59, 0x21, 0xec, 0x20, 0x11, 0xe9, + 0xe7, 0x5b, 0xaa, 0xdb, 0xe9, 0xb7, 0xb5, 0x0b, 0x3b, 0x36, 0xf6, 0xc3, 0x73, 0xac, 0x24, 0x4b, + 0x1b, 0x9e, 0xc2, 0xd6, 0xd3, 0x89, 0x20, 0x81, 0x6f, 0xfb, 0x82, 0x6e, 0x17, 0x2d, 0x82, 0x76, + 0x41, 0xe7, 0x93, 0xe2, 0xc4, 0xc4, 0xe3, 0x13, 0xa9, 0xdb, 0x0d, 0x6e, 0xe8, 0x13, 0x8f, 0x6d, + 0xb2, 0x3f, 0xa1, 0x58, 0x9c, 0xfe, 0x86, 0x2d, 0x3e, 0xac, 0x7b, 0x70, 0x71, 0x66, 0x69, 0xc9, + 0x5c, 0x1b, 0x6a, 0x3c, 0x54, 0x9e, 0x8c, 0xec, 0x30, 0x73, 0x18, 0x27, 0x4b, 0x00, 0xac, 0xd7, + 0x1a, 0x18, 0xdf, 0x8e, 0x3d, 0x97, 0xe6, 0x7b, 0x7b, 0xb7, 0x16, 0xd4, 0xcb, 0x68, 0x69, 0xe6, + 0x32, 0xfa, 0x02, 0x60, 0x8c, 0x23, 0x9f, 0xc4, 0x31, 0x09, 0x03, 0xde, 0x86, 0x7a, 0xe2, 0x94, + 0xc5, 0x4f, 0x52, 0x94, 0xad, 0x44, 0xa4, 0x77, 0x76, 0x2d, 0xbb, 0xb3, 0xad, 0x3f, 0x35, 0x30, + 0x45, 0xf1, 0xfd, 0xc9, 0x20, 0x1e, 0x46, 0x64, 0x4c, 0x49, 0x18, 0xc4, 0xef, 0x5a, 0xfe, 0x1e, + 0x40, 0xba, 0x03, 0xec, 0x26, 0x66, 0xc7, 0x49, 0x4f, 0xb6, 0x20, 0x46, 0x97, 0x40, 0x8f, 0xc5, + 0x32, 0x03, 0x2c, 0xf7, 0x21, 0x33, 0xa0, 0x63, 0x40, 0xca, 0xf8, 0x39, 0xf2, 0x72, 0xa8, 0xf1, + 0x91, 0x35, 0xcb, 0xfa, 0xe4, 0x5b, 0x11, 0xdb, 0xad, 0xf1, 0xac, 0xc9, 0xda, 0x83, 0xdd, 0xd2, + 0xae, 0xe4, 0xc0, 0xfd, 0xad, 0xc1, 0x7a, 0x1f, 0x07, 0xde, 0x03, 0x97, 0xba, 0x8b, 0x5a, 0x45, + 0x50, 0xe5, 0x3b, 0xc1, 0xda, 0x5c, 0xb1, 0xf9, 0xdf, 0xe8, 0x13, 0xa8, 0x9e, 0x91, 0x40, 0xcc, + 0xd7, 0x9a, 0x72, 0x94, 0x58, 0xae, 0x13, 0x77, 0x78, 0x86, 0xe9, 0xd1, 0x63, 0x12, 0x78, 0x36, + 0x47, 0xa1, 0xeb, 0xb0, 0xe1, 0xe1, 0x98, 0x92, 0xc0, 0x65, 0x15, 0x08, 0x5a, 0xaa, 0x8c, 0x96, + 0x6e, 0xc5, 0xd0, 0xec, 0x75, 0xc5, 0xc7, 0x09, 0xba, 0x05, 0xef, 0xa9, 0x70, 0xc9, 0x2b, 0xc1, + 0xec, 0xfd, 0x61, 0x5c, 0x5e, 0x54, 0xbc, 0xc7, 0xa9, 0x13, 0xed, 0x40, 0x8d, 0x86, 0x63, 0x32, + 0x14, 0x5b, 0xdb, 0xbb, 0x60, 0x8b, 0xcf, 0x57, 0x9a, 0xd6, 0x6d, 0x40, 0xdd, 0xe1, 0x1f, 0x16, + 0x82, 0x8d, 0xac, 0x67, 0x49, 0xc4, 0x63, 0xd8, 0x11, 0x3c, 0xb1, 0x03, 0xf0, 0x54, 0x0e, 0xda, + 0x1b, 0x36, 0x3f, 0x9d, 0xcf, 0x4a, 0x7e, 0x3e, 0xad, 0x01, 0xec, 0x67, 0x42, 0xe1, 0x3e, 0x7f, + 0xf6, 0x27, 0x11, 0x2f, 0x35, 0xc9, 0x78, 0x17, 0x56, 0x87, 0xaa, 0x5d, 0x1e, 0x2e, 0x73, 0xe6, + 0xd9, 0x51, 0x23, 0xf3, 0x01, 0xd6, 0xeb, 0x2a, 0xec, 0x67, 0x15, 0x97, 0x2e, 0x52, 0x26, 0x4d, + 0xda, 0xa5, 0xca, 0xa3, 0x77, 0x21, 0xaf, 0x3d, 0x5e, 0x69, 0x1a, 0xba, 0x59, 0x26, 0x3f, 0xb8, + 0xa4, 0xe8, 0x69, 0x45, 0x01, 0xc2, 0x22, 0x8e, 0x4a, 0x34, 0x48, 0x95, 0x07, 0x54, 0x0a, 0x2a, + 0x44, 0xac, 0x90, 0x68, 0x8a, 0xda, 0x5c, 0x4d, 0xd1, 0x5b, 0x4a, 0x54, 0x05, 0x8b, 0xb8, 0x9e, + 0x08, 0x8b, 0xfa, 0x3c, 0x61, 0xd1, 0xab, 0x4a, 0x69, 0xc1, 0xe0, 0x37, 0xe6, 0xaa, 0x8b, 0x5e, + 0xad, 0xa0, 0x2f, 0x92, 0x80, 0x72, 0x89, 0xd1, 0xab, 0x17, 0x44, 0x06, 0x0b, 0xb8, 0x52, 0xa6, + 0x33, 0x7a, 0xcb, 0x39, 0xa5, 0xc1, 0x86, 0x6f, 0x03, 0xd6, 0x9c, 0x1c, 0xef, 0xdd, 0x2d, 0x40, + 0x4e, 0x81, 0xdf, 0xee, 0x26, 0xb4, 0x9c, 0x59, 0x0e, 0xbb, 0x3a, 0x2c, 0x4b, 0x79, 0xca, 0x87, + 0x98, 0xb7, 0xc7, 0xe3, 0x0b, 0xcd, 0x09, 0xeb, 0x6c, 0x07, 0xdd, 0x75, 0x58, 0x75, 0xd4, 0x32, + 0xad, 0x0e, 0x5c, 0x4a, 0x5e, 0xf4, 0xb7, 0x9d, 0x1c, 0x6b, 0x08, 0x7b, 0x73, 0x62, 0xe4, 0x43, + 0xd1, 0x85, 0xb5, 0xdc, 0x88, 0x26, 0x8f, 0xec, 0xa2, 0xa1, 0x9e, 0x89, 0xb0, 0xfe, 0xa9, 0x40, + 0xab, 0x80, 0x2a, 0x1d, 0xe4, 0x77, 0x97, 0xd0, 0x4b, 0xff, 0x41, 0x42, 0x57, 0xcb, 0x25, 0xf4, + 0xb5, 0xb7, 0x98, 0xdc, 0xa2, 0x1a, 0xae, 0xff, 0x7f, 0xd5, 0x70, 0xe7, 0x57, 0x1d, 0x9a, 0xac, + 0x9e, 0x3e, 0x8e, 0xce, 0xc9, 0x10, 0xa3, 0xdb, 0x00, 0xd9, 0x15, 0x86, 0xb2, 0x2d, 0x2c, 0xfc, + 0x00, 0x32, 0xf3, 0xca, 0x0f, 0x75, 0x41, 0x4f, 0xc5, 0x22, 0xda, 0x49, 0x7d, 0xb3, 0x52, 0xd3, + 0x34, 0xcb, 0x5c, 0x72, 0x92, 0x1e, 0x02, 0x64, 0x6a, 0x50, 0x59, 0xbc, 0xa0, 0x25, 0xcd, 0xdd, + 0x52, 0x9f, 0x4c, 0xf3, 0x9d, 0x50, 0xb8, 0xb9, 0x9d, 0x3b, 0xc8, 0x2d, 0x5b, 0xa2, 0x2c, 0xcd, + 0xcb, 0x0b, 0x10, 0x32, 0xf1, 0x13, 0x58, 0x7b, 0x84, 0x55, 0x97, 0x92, 0x76, 0x8e, 0x4e, 0x34, + 0xe7, 0x4a, 0x4d, 0xf4, 0x03, 0xb4, 0x0a, 0x8a, 0xf0, 0x2d, 0x12, 0x5a, 0x19, 0x62, 0x9e, 0x9e, + 0x44, 0x7d, 0x40, 0x4c, 0xd4, 0x9d, 0x4c, 0x06, 0x23, 0x12, 0xbf, 0xc0, 0x1e, 0x17, 0x05, 0x28, + 0xfb, 0x81, 0x50, 0x26, 0x36, 0xcd, 0xfd, 0x79, 0x6e, 0x99, 0xf4, 0x04, 0x5a, 0x05, 0x95, 0x87, + 0x32, 0xd6, 0xe6, 0x29, 0xc0, 0x05, 0x0c, 0xfc, 0x0c, 0x9b, 0x25, 0x22, 0x05, 0x1d, 0xce, 0xe4, + 0x2c, 0x13, 0x66, 0xe6, 0x07, 0x8b, 0x41, 0xb2, 0xe6, 0x2f, 0xa1, 0x91, 0x3c, 0xf9, 0x28, 0xab, + 0x63, 0x46, 0xf9, 0x98, 0x3b, 0x25, 0x1e, 0x99, 0xe0, 0x11, 0xa0, 0xa2, 0x3e, 0x40, 0xd6, 0xcc, + 0xe2, 0x25, 0xe2, 0x61, 0xf6, 0x7c, 0xfc, 0x04, 0xdb, 0x73, 0xb4, 0x01, 0xba, 0x5a, 0x72, 0xca, + 0xca, 0xae, 0x67, 0x73, 0xc1, 0x8d, 0xca, 0xf2, 0xcf, 0x91, 0x05, 0x4a, 0xfe, 0xc5, 0xc2, 0x61, + 0x61, 0xfe, 0xe7, 0x70, 0xb1, 0xf4, 0x19, 0x40, 0x1f, 0x16, 0x0e, 0x74, 0x69, 0xee, 0x2b, 0x6f, + 0x82, 0x09, 0xc2, 0xbb, 0x5f, 0xfd, 0x78, 0x78, 0x4a, 0xe8, 0x8b, 0xc9, 0xe0, 0x68, 0x18, 0xfa, + 0x37, 0x64, 0xcc, 0x0d, 0xfe, 0x9f, 0x98, 0x61, 0x38, 0x4a, 0x0c, 0xbf, 0x55, 0x56, 0x9f, 0x90, + 0x73, 0xfc, 0x98, 0x0d, 0x15, 0x73, 0xfd, 0x55, 0x59, 0x93, 0xdf, 0x77, 0xee, 0x70, 0xc3, 0xa0, + 0xce, 0x43, 0x3e, 0xfd, 0x37, 0x00, 0x00, 0xff, 0xff, 0xde, 0x97, 0x0c, 0x1f, 0x1c, 0x12, 0x00, + 0x00, } diff --git a/livekit/livekit_rtc.pb.go b/livekit/livekit_rtc.pb.go index 0bd008bb..d28c907f 100644 --- a/livekit/livekit_rtc.pb.go +++ b/livekit/livekit_rtc.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: livekit_rtc.proto package livekit diff --git a/livekit/livekit_sip.pb.go b/livekit/livekit_sip.pb.go index 905ec68c..a8e134b5 100644 --- a/livekit/livekit_sip.pb.go +++ b/livekit/livekit_sip.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: livekit_sip.proto package livekit diff --git a/livekit/livekit_webhook.pb.go b/livekit/livekit_webhook.pb.go index fd12a721..10d6da3d 100644 --- a/livekit/livekit_webhook.pb.go +++ b/livekit/livekit_webhook.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: livekit_webhook.proto package livekit diff --git a/protobufs/livekit_room.proto b/protobufs/livekit_room.proto index ad5f43cb..6e0a0bb2 100644 --- a/protobufs/livekit_room.proto +++ b/protobufs/livekit_room.proto @@ -21,6 +21,7 @@ option ruby_package = "LiveKit::Proto"; import "livekit_models.proto"; import "livekit_egress.proto"; +import "livekit_agent.proto"; // Room service that can be performed on any node // they are Twirp-based HTTP req/responses @@ -59,11 +60,22 @@ service RoomService { // Update room metadata, will cause updates to be broadcasted to everyone in the room, Requires `roomAdmin` rpc UpdateRoomMetadata (UpdateRoomMetadataRequest) returns (Room); + + // Create a room configuration. + rpc CreateRoomConfiguration(CreateRoomConfigurationRequest) returns (RoomConfiguration); + + // Update a room configuration + rpc UpdateRoomConfiguration(UpdateRoomConfigurationRequest) returns (RoomConfiguration); + + // List configurations + rpc ListRoomConfiguration(ListRoomConfigurationRequest) returns (ListRoomConfigurationResponse); } message CreateRoomRequest { // name of the room string name = 1; + // configuration to use for this room parameters. Setting parameters below override the config defaults. + string config_name = 12; // number of seconds to keep the room open if no one joins uint32 empty_timeout = 2; // number of seconds to keep the room open after everyone leaves @@ -77,7 +89,7 @@ message CreateRoomRequest { // egress RoomEgress egress = 6; // agent - repeated RoomAgent agent = 11; + RoomAgent agent = 11; // playout delay of subscriber uint32 min_playout_delay = 7; uint32 max_playout_delay = 8; @@ -85,7 +97,7 @@ message CreateRoomRequest { // so not recommended for rooms with frequent subscription changes bool sync_streams = 9; - // NEXT-ID: 12 + // NEXT-ID: 13 } message RoomEgress { @@ -95,11 +107,10 @@ message RoomEgress { } message RoomAgent { - JobType type = 1; - string namespace = 2; - map metadata = 3; + repeated StartAgentJobRequest agents = 1; } + message ListRoomsRequest { // when set, will only return rooms with name match repeated string names = 1; @@ -198,3 +209,56 @@ message UpdateRoomMetadataRequest { // metadata to update. skipping updates if left empty string metadata = 2; } + +message CreateRoomConfigurationRequest { + RoomConfiguration configuration = 1; +} + +message UpdateRoomConfigurationRequest { + string name = 1; // configuration to update + // number of seconds to keep the room open if no one joins + optional uint32 empty_timeout = 2; + // number of seconds to keep the room open after everyone leaves + optional uint32 departure_timeout = 3; + // limit number of participants that can be in a room + optional uint32 max_participants = 4; + // egress + optional RoomEgress egress = 5; + // agent + optional RoomAgent agent = 6; + // playout delay of subscriber + optional uint32 min_playout_delay = 7; + optional uint32 max_playout_delay = 8; + // improves A/V sync when playout_delay set to a value larger than 200ms. It will disables transceiver re-use + // so not recommended for rooms with frequent subscription changes + optional bool sync_streams = 9; +} + +message ListRoomConfigurationRequest { + string name = 1; // If non empty, return only the configurartion with this name +} + +message ListRoomConfigurationResponse { + repeated RoomConfiguration configurations = 1; +} + +message RoomConfiguration { + string name = 1; // Used as ID, must be unique + // number of seconds to keep the room open if no one joins + uint32 empty_timeout = 2; + // number of seconds to keep the room open after everyone leaves + uint32 departure_timeout = 3; + // limit number of participants that can be in a room + uint32 max_participants = 4; + // egress + RoomEgress egress = 5; + // agent + RoomAgent agent = 6; + // playout delay of subscriber + uint32 min_playout_delay = 7; + uint32 max_playout_delay = 8; + // improves A/V sync when playout_delay set to a value larger than 200ms. It will disables transceiver re-use + // so not recommended for rooms with frequent subscription changes + bool sync_streams = 9; +} + diff --git a/rpc/agent.pb.go b/rpc/agent.pb.go index 9367e256..6bd0eedc 100644 --- a/rpc/agent.pb.go +++ b/rpc/agent.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: rpc/agent.proto package rpc diff --git a/rpc/egress.pb.go b/rpc/egress.pb.go index 7e14c985..d3717a89 100644 --- a/rpc/egress.pb.go +++ b/rpc/egress.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: rpc/egress.proto package rpc diff --git a/rpc/ingress.pb.go b/rpc/ingress.pb.go index 65b66381..e0148e0a 100644 --- a/rpc/ingress.pb.go +++ b/rpc/ingress.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: rpc/ingress.proto package rpc diff --git a/rpc/io.pb.go b/rpc/io.pb.go index 568ef68e..959aa6f7 100644 --- a/rpc/io.pb.go +++ b/rpc/io.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: rpc/io.proto package rpc diff --git a/rpc/keepalive.pb.go b/rpc/keepalive.pb.go index 62a08afa..51f79067 100644 --- a/rpc/keepalive.pb.go +++ b/rpc/keepalive.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: rpc/keepalive.proto package rpc diff --git a/rpc/participant.pb.go b/rpc/participant.pb.go index efb56ae1..cf7d699a 100644 --- a/rpc/participant.pb.go +++ b/rpc/participant.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: rpc/participant.proto package rpc diff --git a/rpc/room.pb.go b/rpc/room.pb.go index 6657f781..71332bc4 100644 --- a/rpc/room.pb.go +++ b/rpc/room.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: rpc/room.proto package rpc diff --git a/rpc/signal.pb.go b/rpc/signal.pb.go index b7117098..918e78d3 100644 --- a/rpc/signal.pb.go +++ b/rpc/signal.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: rpc/signal.proto package rpc diff --git a/rpc/sip.pb.go b/rpc/sip.pb.go index e0aecf21..1bf19fbd 100644 --- a/rpc/sip.pb.go +++ b/rpc/sip.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 -// protoc v4.23.4 +// protoc-gen-go v1.33.0 +// protoc v5.26.1 // source: rpc/sip.proto package rpc From e482780371c45cd35f48da359dc36c3598dd4e53 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Fri, 17 May 2024 14:00:06 -0700 Subject: [PATCH 04/21] feedback --- protobufs/livekit_agent.proto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 87433b77..5ba57bb0 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -28,8 +28,8 @@ service AgentService { message StartAgentJobRequest { JobType type = 1; - Room room = 2; - optional ParticipantInfo participant = 3; + string room_name = 2; + optional string participant_identity = 3; string namespace = 4; map metadata = 5; } From 2901cd85d6ae543adaf667c001b1eb39911e6647 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Fri, 17 May 2024 15:06:05 -0700 Subject: [PATCH 05/21] feedback --- protobufs/livekit_agent.proto | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 5ba57bb0..081a8abf 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -31,7 +31,7 @@ message StartAgentJobRequest { string room_name = 2; optional string participant_identity = 3; string namespace = 4; - map metadata = 5; + string metadata = 5; } message StopAgentJobRequest { @@ -59,7 +59,7 @@ message Job { Room room = 3; optional ParticipantInfo participant = 4; string namespace = 5; - map metadata = 6; + string metadata = 6; JobStatus status = 7; string error = 8; } @@ -182,7 +182,7 @@ message UpdateJobStatus { message UpdateWorkerStatus { optional WorkerStatus status = 1; - optional string metadata = 2 [deprecated=true]; + // optional string metadata = 2 [deprecated=true]; float load = 3; } From c9cef7e7b2dfe7145f09e42d0afb397df749b898 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Mon, 20 May 2024 12:59:07 -0700 Subject: [PATCH 06/21] WiP --- livekit/livekit_agent.pb.go | 536 ++++++++++++++++------------------ protobufs/livekit_agent.proto | 3 - 2 files changed, 245 insertions(+), 294 deletions(-) diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 7fbaba75..e292d65c 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -180,11 +180,11 @@ type StartAgentJobRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type JobType `protobuf:"varint,1,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` - Room *Room `protobuf:"bytes,2,opt,name=room,proto3" json:"room,omitempty"` - Participant *ParticipantInfo `protobuf:"bytes,3,opt,name=participant,proto3,oneof" json:"participant,omitempty"` - Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` - Metadata map[string]string `protobuf:"bytes,5,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Type JobType `protobuf:"varint,1,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` + RoomName string `protobuf:"bytes,2,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` + ParticipantIdentity *string `protobuf:"bytes,3,opt,name=participant_identity,json=participantIdentity,proto3,oneof" json:"participant_identity,omitempty"` + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` } func (x *StartAgentJobRequest) Reset() { @@ -226,18 +226,18 @@ func (x *StartAgentJobRequest) GetType() JobType { return JobType_JT_ROOM } -func (x *StartAgentJobRequest) GetRoom() *Room { +func (x *StartAgentJobRequest) GetRoomName() string { if x != nil { - return x.Room + return x.RoomName } - return nil + return "" } -func (x *StartAgentJobRequest) GetParticipant() *ParticipantInfo { - if x != nil { - return x.Participant +func (x *StartAgentJobRequest) GetParticipantIdentity() string { + if x != nil && x.ParticipantIdentity != nil { + return *x.ParticipantIdentity } - return nil + return "" } func (x *StartAgentJobRequest) GetNamespace() string { @@ -247,11 +247,11 @@ func (x *StartAgentJobRequest) GetNamespace() string { return "" } -func (x *StartAgentJobRequest) GetMetadata() map[string]string { +func (x *StartAgentJobRequest) GetMetadata() string { if x != nil { return x.Metadata } - return nil + return "" } type StopAgentJobRequest struct { @@ -458,14 +458,14 @@ type Job struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Type JobType `protobuf:"varint,2,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` - Room *Room `protobuf:"bytes,3,opt,name=room,proto3" json:"room,omitempty"` - Participant *ParticipantInfo `protobuf:"bytes,4,opt,name=participant,proto3,oneof" json:"participant,omitempty"` - Namespace string `protobuf:"bytes,5,opt,name=namespace,proto3" json:"namespace,omitempty"` - Metadata map[string]string `protobuf:"bytes,6,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Status JobStatus `protobuf:"varint,7,opt,name=status,proto3,enum=livekit.JobStatus" json:"status,omitempty"` - Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Type JobType `protobuf:"varint,2,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` + Room *Room `protobuf:"bytes,3,opt,name=room,proto3" json:"room,omitempty"` + Participant *ParticipantInfo `protobuf:"bytes,4,opt,name=participant,proto3,oneof" json:"participant,omitempty"` + Namespace string `protobuf:"bytes,5,opt,name=namespace,proto3" json:"namespace,omitempty"` + Metadata string `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + Status JobStatus `protobuf:"varint,7,opt,name=status,proto3,enum=livekit.JobStatus" json:"status,omitempty"` + Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"` } func (x *Job) Reset() { @@ -535,11 +535,11 @@ func (x *Job) GetNamespace() string { return "" } -func (x *Job) GetMetadata() map[string]string { +func (x *Job) GetMetadata() string { if x != nil { return x.Metadata } - return nil + return "" } func (x *Job) GetStatus() JobStatus { @@ -1333,10 +1333,6 @@ type UpdateJobStatus struct { Status *JobStatus `protobuf:"varint,2,opt,name=status,proto3,enum=livekit.JobStatus,oneof" json:"status,omitempty"` // metadata shown on the dashboard, useful for debugging Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` - // the metadata can be updated multiple times - // - // Deprecated: Marked as deprecated in livekit_agent.proto. - Metadata *string `protobuf:"bytes,4,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"` // The load that the job currently has on the worker Load float32 `protobuf:"fixed32,5,opt,name=load,proto3" json:"load,omitempty"` } @@ -1394,14 +1390,6 @@ func (x *UpdateJobStatus) GetError() string { return "" } -// Deprecated: Marked as deprecated in livekit_agent.proto. -func (x *UpdateJobStatus) GetMetadata() string { - if x != nil && x.Metadata != nil { - return *x.Metadata - } - return "" -} - func (x *UpdateJobStatus) GetLoad() float32 { if x != nil { return x.Load @@ -1415,9 +1403,8 @@ type UpdateWorkerStatus struct { unknownFields protoimpl.UnknownFields Status *WorkerStatus `protobuf:"varint,1,opt,name=status,proto3,enum=livekit.WorkerStatus,oneof" json:"status,omitempty"` - // Deprecated: Marked as deprecated in livekit_agent.proto. - Metadata *string `protobuf:"bytes,2,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"` - Load float32 `protobuf:"fixed32,3,opt,name=load,proto3" json:"load,omitempty"` + // optional string metadata = 2 [deprecated=true]; + Load float32 `protobuf:"fixed32,3,opt,name=load,proto3" json:"load,omitempty"` } func (x *UpdateWorkerStatus) Reset() { @@ -1459,14 +1446,6 @@ func (x *UpdateWorkerStatus) GetStatus() WorkerStatus { return WorkerStatus_WS_AVAILABLE } -// Deprecated: Marked as deprecated in livekit_agent.proto. -func (x *UpdateWorkerStatus) GetMetadata() string { - if x != nil && x.Metadata != nil { - return *x.Metadata - } - return "" -} - func (x *UpdateWorkerStatus) GetLoad() float32 { if x != nil { return x.Load @@ -1543,28 +1522,21 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x0a, 0x13, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x02, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe4, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, - 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, - 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x25, 0x0a, 0x13, 0x53, + 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x36, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, @@ -1586,7 +1558,7 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x03, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x02, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, @@ -1598,182 +1570,170 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x4a, 0x6f, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x3b, 0x0a, - 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, - 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, - 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, - 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, - 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, - 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, - 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x6d, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, - 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, - 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, - 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, - 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x82, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, - 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x42, - 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x53, - 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x2a, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, - 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x22, 0x51, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, - 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x92, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x13, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x6b, 0x0a, 0x16, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2a, 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, - 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, - 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, - 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x13, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, - 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x85, 0x02, 0x0a, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, - 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x29, 0x0a, - 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc0, - 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x23, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, - 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, - 0x18, 0x01, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, - 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x64, 0x0a, - 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, - 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, - 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, - 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, - 0x75, 0x72, 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, - 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4a, - 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x2d, 0x0a, - 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, - 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, - 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x3a, 0x0a, 0x09, - 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, - 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0x88, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, - 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x4a, 0x6f, 0x62, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, - 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, - 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, + 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, + 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, + 0x6f, 0x62, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, + 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x82, 0x02, 0x0a, + 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, + 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, + 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, + 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x70, + 0x6f, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, + 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, + 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, + 0x6d, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x2a, 0x0a, + 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x51, 0x0a, 0x0a, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x92, 0x02, 0x0a, + 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, + 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, + 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, + 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x22, 0x6b, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2a, + 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x13, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, + 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x85, 0x02, + 0x0a, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x75, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, + 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x67, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, + 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x64, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, + 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, + 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, + 0x0c, 0x4a, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x01, 0x2a, + 0x2d, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x10, 0x0a, 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, + 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x3a, + 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, + 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, + 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, + 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0x88, 0x01, 0x0a, 0x0c, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1d, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x0a, 0x0c, 0x53, 0x74, 0x6f, + 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, + 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, + 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1789,7 +1749,7 @@ func file_livekit_agent_proto_rawDescGZIP() []byte { } var file_livekit_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_livekit_agent_proto_goTypes = []interface{}{ (JobType)(0), // 0: livekit.JobType (WorkerStatus)(0), // 1: livekit.WorkerStatus @@ -1812,55 +1772,49 @@ var file_livekit_agent_proto_goTypes = []interface{}{ (*UpdateJobStatus)(nil), // 18: livekit.UpdateJobStatus (*UpdateWorkerStatus)(nil), // 19: livekit.UpdateWorkerStatus (*JobAssignment)(nil), // 20: livekit.JobAssignment - nil, // 21: livekit.StartAgentJobRequest.MetadataEntry - nil, // 22: livekit.Job.MetadataEntry - (*Room)(nil), // 23: livekit.Room - (*ParticipantInfo)(nil), // 24: livekit.ParticipantInfo - (*ParticipantPermission)(nil), // 25: livekit.ParticipantPermission - (*ServerInfo)(nil), // 26: livekit.ServerInfo + (*ParticipantPermission)(nil), // 21: livekit.ParticipantPermission + (*Room)(nil), // 22: livekit.Room + (*ParticipantInfo)(nil), // 23: livekit.ParticipantInfo + (*ServerInfo)(nil), // 24: livekit.ServerInfo } var file_livekit_agent_proto_depIdxs = []int32{ 0, // 0: livekit.StartAgentJobRequest.type:type_name -> livekit.JobType - 23, // 1: livekit.StartAgentJobRequest.room:type_name -> livekit.Room - 24, // 2: livekit.StartAgentJobRequest.participant:type_name -> livekit.ParticipantInfo - 21, // 3: livekit.StartAgentJobRequest.metadata:type_name -> livekit.StartAgentJobRequest.MetadataEntry - 0, // 4: livekit.WorkerInfo.type:type_name -> livekit.JobType - 25, // 5: livekit.WorkerInfo.allowed_permissions:type_name -> livekit.ParticipantPermission - 0, // 6: livekit.Job.type:type_name -> livekit.JobType - 23, // 7: livekit.Job.room:type_name -> livekit.Room - 24, // 8: livekit.Job.participant:type_name -> livekit.ParticipantInfo - 22, // 9: livekit.Job.metadata:type_name -> livekit.Job.MetadataEntry - 2, // 10: livekit.Job.status:type_name -> livekit.JobStatus - 13, // 11: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest - 17, // 12: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse - 19, // 13: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus - 18, // 14: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus - 11, // 15: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing - 10, // 16: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest - 15, // 17: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest - 14, // 18: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse - 16, // 19: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest - 20, // 20: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment - 12, // 21: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong - 0, // 22: livekit.SimulateJobRequest.type:type_name -> livekit.JobType - 23, // 23: livekit.SimulateJobRequest.room:type_name -> livekit.Room - 24, // 24: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo - 0, // 25: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType - 25, // 26: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission - 26, // 27: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo - 7, // 28: livekit.AvailabilityRequest.job:type_name -> livekit.Job - 2, // 29: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus - 1, // 30: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus - 7, // 31: livekit.JobAssignment.job:type_name -> livekit.Job - 3, // 32: livekit.AgentService.StartAgentJob:input_type -> livekit.StartAgentJobRequest - 4, // 33: livekit.AgentService.StopAgentJob:input_type -> livekit.StopAgentJobRequest - 7, // 34: livekit.AgentService.StartAgentJob:output_type -> livekit.Job - 7, // 35: livekit.AgentService.StopAgentJob:output_type -> livekit.Job - 34, // [34:36] is the sub-list for method output_type - 32, // [32:34] is the sub-list for method input_type - 32, // [32:32] is the sub-list for extension type_name - 32, // [32:32] is the sub-list for extension extendee - 0, // [0:32] is the sub-list for field type_name + 0, // 1: livekit.WorkerInfo.type:type_name -> livekit.JobType + 21, // 2: livekit.WorkerInfo.allowed_permissions:type_name -> livekit.ParticipantPermission + 0, // 3: livekit.Job.type:type_name -> livekit.JobType + 22, // 4: livekit.Job.room:type_name -> livekit.Room + 23, // 5: livekit.Job.participant:type_name -> livekit.ParticipantInfo + 2, // 6: livekit.Job.status:type_name -> livekit.JobStatus + 13, // 7: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest + 17, // 8: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse + 19, // 9: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus + 18, // 10: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus + 11, // 11: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing + 10, // 12: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest + 15, // 13: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest + 14, // 14: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse + 16, // 15: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest + 20, // 16: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment + 12, // 17: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong + 0, // 18: livekit.SimulateJobRequest.type:type_name -> livekit.JobType + 22, // 19: livekit.SimulateJobRequest.room:type_name -> livekit.Room + 23, // 20: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo + 0, // 21: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType + 21, // 22: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission + 24, // 23: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo + 7, // 24: livekit.AvailabilityRequest.job:type_name -> livekit.Job + 2, // 25: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus + 1, // 26: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus + 7, // 27: livekit.JobAssignment.job:type_name -> livekit.Job + 3, // 28: livekit.AgentService.StartAgentJob:input_type -> livekit.StartAgentJobRequest + 4, // 29: livekit.AgentService.StopAgentJob:input_type -> livekit.StopAgentJobRequest + 7, // 30: livekit.AgentService.StartAgentJob:output_type -> livekit.Job + 7, // 31: livekit.AgentService.StopAgentJob:output_type -> livekit.Job + 30, // [30:32] is the sub-list for method output_type + 28, // [28:30] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name } func init() { file_livekit_agent_proto_init() } @@ -2114,7 +2068,7 @@ func file_livekit_agent_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_livekit_agent_proto_rawDesc, NumEnums: 3, - NumMessages: 20, + NumMessages: 18, NumExtensions: 0, NumServices: 1, }, diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 081a8abf..0c6c6b63 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -173,9 +173,6 @@ message UpdateJobStatus { // metadata shown on the dashboard, useful for debugging string error = 3; - // the metadata can be updated multiple times - optional string metadata = 4 [deprecated=true]; - // The load that the job currently has on the worker float load = 5; } From 6d19b66a331568eb51d27e07287b02190f318bc9 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Mon, 20 May 2024 13:32:03 -0700 Subject: [PATCH 07/21] Remove AgentInfo and WorkerInfo --- livekit/livekit_agent.pb.go | 773 ++++++++++++--------------------- livekit/livekit_models.pb.go | 659 ++++++++++++++-------------- protobufs/livekit_agent.proto | 26 +- protobufs/livekit_models.proto | 3 +- 4 files changed, 627 insertions(+), 834 deletions(-) diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index e292d65c..0bacfe92 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -301,158 +301,6 @@ func (x *StopAgentJobRequest) GetId() string { return "" } -type WorkerInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` - // Deprecated: Marked as deprecated in livekit_agent.proto. - Type JobType `protobuf:"varint,5,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` - AllowedPermissions *ParticipantPermission `protobuf:"bytes,6,opt,name=allowed_permissions,json=allowedPermissions,proto3" json:"allowed_permissions,omitempty"` -} - -func (x *WorkerInfo) Reset() { - *x = WorkerInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkerInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkerInfo) ProtoMessage() {} - -func (x *WorkerInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkerInfo.ProtoReflect.Descriptor instead. -func (*WorkerInfo) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{2} -} - -func (x *WorkerInfo) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *WorkerInfo) GetNamespace() string { - if x != nil { - return x.Namespace - } - return "" -} - -func (x *WorkerInfo) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - -func (x *WorkerInfo) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -// Deprecated: Marked as deprecated in livekit_agent.proto. -func (x *WorkerInfo) GetType() JobType { - if x != nil { - return x.Type - } - return JobType_JT_ROOM -} - -func (x *WorkerInfo) GetAllowedPermissions() *ParticipantPermission { - if x != nil { - return x.AllowedPermissions - } - return nil -} - -type AgentInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` -} - -func (x *AgentInfo) Reset() { - *x = AgentInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AgentInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentInfo) ProtoMessage() {} - -func (x *AgentInfo) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AgentInfo.ProtoReflect.Descriptor instead. -func (*AgentInfo) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{3} -} - -func (x *AgentInfo) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *AgentInfo) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *AgentInfo) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - type Job struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -471,7 +319,7 @@ type Job struct { func (x *Job) Reset() { *x = Job{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[4] + mi := &file_livekit_agent_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -484,7 +332,7 @@ func (x *Job) String() string { func (*Job) ProtoMessage() {} func (x *Job) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[4] + mi := &file_livekit_agent_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -497,7 +345,7 @@ func (x *Job) ProtoReflect() protoreflect.Message { // Deprecated: Use Job.ProtoReflect.Descriptor instead. func (*Job) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{4} + return file_livekit_agent_proto_rawDescGZIP(), []int{2} } func (x *Job) GetId() string { @@ -577,7 +425,7 @@ type WorkerMessage struct { func (x *WorkerMessage) Reset() { *x = WorkerMessage{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[5] + mi := &file_livekit_agent_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -590,7 +438,7 @@ func (x *WorkerMessage) String() string { func (*WorkerMessage) ProtoMessage() {} func (x *WorkerMessage) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[5] + mi := &file_livekit_agent_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -603,7 +451,7 @@ func (x *WorkerMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerMessage.ProtoReflect.Descriptor instead. func (*WorkerMessage) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{5} + return file_livekit_agent_proto_rawDescGZIP(), []int{3} } func (m *WorkerMessage) GetMessage() isWorkerMessage_Message { @@ -730,7 +578,7 @@ type ServerMessage struct { func (x *ServerMessage) Reset() { *x = ServerMessage{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[6] + mi := &file_livekit_agent_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -743,7 +591,7 @@ func (x *ServerMessage) String() string { func (*ServerMessage) ProtoMessage() {} func (x *ServerMessage) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[6] + mi := &file_livekit_agent_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -756,7 +604,7 @@ func (x *ServerMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerMessage.ProtoReflect.Descriptor instead. func (*ServerMessage) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{6} + return file_livekit_agent_proto_rawDescGZIP(), []int{4} } func (m *ServerMessage) GetMessage() isServerMessage_Message { @@ -837,7 +685,7 @@ type SimulateJobRequest struct { func (x *SimulateJobRequest) Reset() { *x = SimulateJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[7] + mi := &file_livekit_agent_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -850,7 +698,7 @@ func (x *SimulateJobRequest) String() string { func (*SimulateJobRequest) ProtoMessage() {} func (x *SimulateJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[7] + mi := &file_livekit_agent_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -863,7 +711,7 @@ func (x *SimulateJobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SimulateJobRequest.ProtoReflect.Descriptor instead. func (*SimulateJobRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{7} + return file_livekit_agent_proto_rawDescGZIP(), []int{5} } func (x *SimulateJobRequest) GetType() JobType { @@ -898,7 +746,7 @@ type WorkerPing struct { func (x *WorkerPing) Reset() { *x = WorkerPing{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[8] + mi := &file_livekit_agent_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -911,7 +759,7 @@ func (x *WorkerPing) String() string { func (*WorkerPing) ProtoMessage() {} func (x *WorkerPing) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[8] + mi := &file_livekit_agent_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -924,7 +772,7 @@ func (x *WorkerPing) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerPing.ProtoReflect.Descriptor instead. func (*WorkerPing) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{8} + return file_livekit_agent_proto_rawDescGZIP(), []int{6} } func (x *WorkerPing) GetTimestamp() int64 { @@ -946,7 +794,7 @@ type WorkerPong struct { func (x *WorkerPong) Reset() { *x = WorkerPong{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[9] + mi := &file_livekit_agent_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -959,7 +807,7 @@ func (x *WorkerPong) String() string { func (*WorkerPong) ProtoMessage() {} func (x *WorkerPong) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[9] + mi := &file_livekit_agent_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -972,7 +820,7 @@ func (x *WorkerPong) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerPong.ProtoReflect.Descriptor instead. func (*WorkerPong) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{9} + return file_livekit_agent_proto_rawDescGZIP(), []int{7} } func (x *WorkerPong) GetLastTimestamp() int64 { @@ -1006,7 +854,7 @@ type RegisterWorkerRequest struct { func (x *RegisterWorkerRequest) Reset() { *x = RegisterWorkerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[10] + mi := &file_livekit_agent_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1019,7 +867,7 @@ func (x *RegisterWorkerRequest) String() string { func (*RegisterWorkerRequest) ProtoMessage() {} func (x *RegisterWorkerRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[10] + mi := &file_livekit_agent_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1032,7 +880,7 @@ func (x *RegisterWorkerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterWorkerRequest.ProtoReflect.Descriptor instead. func (*RegisterWorkerRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{10} + return file_livekit_agent_proto_rawDescGZIP(), []int{8} } func (x *RegisterWorkerRequest) GetType() JobType { @@ -1089,7 +937,7 @@ type RegisterWorkerResponse struct { func (x *RegisterWorkerResponse) Reset() { *x = RegisterWorkerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[11] + mi := &file_livekit_agent_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1102,7 +950,7 @@ func (x *RegisterWorkerResponse) String() string { func (*RegisterWorkerResponse) ProtoMessage() {} func (x *RegisterWorkerResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[11] + mi := &file_livekit_agent_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1115,7 +963,7 @@ func (x *RegisterWorkerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterWorkerResponse.ProtoReflect.Descriptor instead. func (*RegisterWorkerResponse) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{11} + return file_livekit_agent_proto_rawDescGZIP(), []int{9} } func (x *RegisterWorkerResponse) GetWorkerId() string { @@ -1143,7 +991,7 @@ type MigrateJobRequest struct { func (x *MigrateJobRequest) Reset() { *x = MigrateJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[12] + mi := &file_livekit_agent_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1156,7 +1004,7 @@ func (x *MigrateJobRequest) String() string { func (*MigrateJobRequest) ProtoMessage() {} func (x *MigrateJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[12] + mi := &file_livekit_agent_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1169,7 +1017,7 @@ func (x *MigrateJobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MigrateJobRequest.ProtoReflect.Descriptor instead. func (*MigrateJobRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{12} + return file_livekit_agent_proto_rawDescGZIP(), []int{10} } func (x *MigrateJobRequest) GetJobId() string { @@ -1193,7 +1041,7 @@ type AvailabilityRequest struct { func (x *AvailabilityRequest) Reset() { *x = AvailabilityRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[13] + mi := &file_livekit_agent_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1206,7 +1054,7 @@ func (x *AvailabilityRequest) String() string { func (*AvailabilityRequest) ProtoMessage() {} func (x *AvailabilityRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[13] + mi := &file_livekit_agent_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1219,7 +1067,7 @@ func (x *AvailabilityRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AvailabilityRequest.ProtoReflect.Descriptor instead. func (*AvailabilityRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{13} + return file_livekit_agent_proto_rawDescGZIP(), []int{11} } func (x *AvailabilityRequest) GetJob() *Job { @@ -1252,7 +1100,7 @@ type AvailabilityResponse struct { func (x *AvailabilityResponse) Reset() { *x = AvailabilityResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1265,7 +1113,7 @@ func (x *AvailabilityResponse) String() string { func (*AvailabilityResponse) ProtoMessage() {} func (x *AvailabilityResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1278,7 +1126,7 @@ func (x *AvailabilityResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AvailabilityResponse.ProtoReflect.Descriptor instead. func (*AvailabilityResponse) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{14} + return file_livekit_agent_proto_rawDescGZIP(), []int{12} } func (x *AvailabilityResponse) GetJobId() string { @@ -1340,7 +1188,7 @@ type UpdateJobStatus struct { func (x *UpdateJobStatus) Reset() { *x = UpdateJobStatus{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1353,7 +1201,7 @@ func (x *UpdateJobStatus) String() string { func (*UpdateJobStatus) ProtoMessage() {} func (x *UpdateJobStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1366,7 +1214,7 @@ func (x *UpdateJobStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateJobStatus.ProtoReflect.Descriptor instead. func (*UpdateJobStatus) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{15} + return file_livekit_agent_proto_rawDescGZIP(), []int{13} } func (x *UpdateJobStatus) GetJobId() string { @@ -1410,7 +1258,7 @@ type UpdateWorkerStatus struct { func (x *UpdateWorkerStatus) Reset() { *x = UpdateWorkerStatus{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[16] + mi := &file_livekit_agent_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1423,7 +1271,7 @@ func (x *UpdateWorkerStatus) String() string { func (*UpdateWorkerStatus) ProtoMessage() {} func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[16] + mi := &file_livekit_agent_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1436,7 +1284,7 @@ func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateWorkerStatus.ProtoReflect.Descriptor instead. func (*UpdateWorkerStatus) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{16} + return file_livekit_agent_proto_rawDescGZIP(), []int{14} } func (x *UpdateWorkerStatus) GetStatus() WorkerStatus { @@ -1466,7 +1314,7 @@ type JobAssignment struct { func (x *JobAssignment) Reset() { *x = JobAssignment{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[17] + mi := &file_livekit_agent_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1479,7 +1327,7 @@ func (x *JobAssignment) String() string { func (*JobAssignment) ProtoMessage() {} func (x *JobAssignment) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[17] + mi := &file_livekit_agent_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1492,7 +1340,7 @@ func (x *JobAssignment) ProtoReflect() protoreflect.Message { // Deprecated: Use JobAssignment.ProtoReflect.Descriptor instead. func (*JobAssignment) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{17} + return file_livekit_agent_proto_rawDescGZIP(), []int{15} } func (x *JobAssignment) GetJob() *Job { @@ -1539,201 +1387,182 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x49, 0x0a, 0x09, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x02, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, - 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x69, 0x64, 0x22, 0xab, 0x02, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, + 0x6f, 0x6f, 0x6d, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, + 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, + 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x82, 0x02, 0x0a, 0x0d, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, + 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, + 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x6f, + 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, + 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x99, 0x01, 0x0a, 0x12, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, + 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x2a, 0x0a, 0x0a, + 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x51, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, + 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x92, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, - 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, - 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, - 0x6f, 0x62, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, - 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x82, 0x02, 0x0a, - 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, - 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, - 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, - 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x70, - 0x6f, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, - 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, - 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, - 0x6d, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x2a, 0x0a, - 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x51, 0x0a, 0x0a, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x92, 0x02, 0x0a, - 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, - 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, - 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x22, 0x6b, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2a, - 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x13, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, - 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x85, 0x02, - 0x0a, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, - 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x75, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, - 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x67, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, - 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x64, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, + 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x6e, + 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x21, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x22, 0x6b, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2a, 0x0a, + 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x13, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, - 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, - 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, - 0x0c, 0x4a, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x01, 0x2a, - 0x2d, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x10, 0x0a, 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, - 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x3a, - 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, - 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, - 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, - 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0x88, 0x01, 0x0a, 0x0c, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1d, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x0a, 0x0c, 0x53, 0x74, 0x6f, - 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, - 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, - 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x85, 0x02, 0x0a, + 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x75, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, + 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, + 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, + 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x67, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, + 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x64, + 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, + 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, + 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, + 0x5f, 0x75, 0x72, 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x0b, 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, + 0x4a, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x2d, + 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, + 0x0a, 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, + 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x3a, 0x0a, + 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, + 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, + 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, + 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0x88, 0x01, 0x0a, 0x0c, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1d, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, + 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, + 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1749,72 +1578,68 @@ func file_livekit_agent_proto_rawDescGZIP() []byte { } var file_livekit_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_livekit_agent_proto_goTypes = []interface{}{ (JobType)(0), // 0: livekit.JobType (WorkerStatus)(0), // 1: livekit.WorkerStatus (JobStatus)(0), // 2: livekit.JobStatus (*StartAgentJobRequest)(nil), // 3: livekit.StartAgentJobRequest (*StopAgentJobRequest)(nil), // 4: livekit.StopAgentJobRequest - (*WorkerInfo)(nil), // 5: livekit.WorkerInfo - (*AgentInfo)(nil), // 6: livekit.AgentInfo - (*Job)(nil), // 7: livekit.Job - (*WorkerMessage)(nil), // 8: livekit.WorkerMessage - (*ServerMessage)(nil), // 9: livekit.ServerMessage - (*SimulateJobRequest)(nil), // 10: livekit.SimulateJobRequest - (*WorkerPing)(nil), // 11: livekit.WorkerPing - (*WorkerPong)(nil), // 12: livekit.WorkerPong - (*RegisterWorkerRequest)(nil), // 13: livekit.RegisterWorkerRequest - (*RegisterWorkerResponse)(nil), // 14: livekit.RegisterWorkerResponse - (*MigrateJobRequest)(nil), // 15: livekit.MigrateJobRequest - (*AvailabilityRequest)(nil), // 16: livekit.AvailabilityRequest - (*AvailabilityResponse)(nil), // 17: livekit.AvailabilityResponse - (*UpdateJobStatus)(nil), // 18: livekit.UpdateJobStatus - (*UpdateWorkerStatus)(nil), // 19: livekit.UpdateWorkerStatus - (*JobAssignment)(nil), // 20: livekit.JobAssignment + (*Job)(nil), // 5: livekit.Job + (*WorkerMessage)(nil), // 6: livekit.WorkerMessage + (*ServerMessage)(nil), // 7: livekit.ServerMessage + (*SimulateJobRequest)(nil), // 8: livekit.SimulateJobRequest + (*WorkerPing)(nil), // 9: livekit.WorkerPing + (*WorkerPong)(nil), // 10: livekit.WorkerPong + (*RegisterWorkerRequest)(nil), // 11: livekit.RegisterWorkerRequest + (*RegisterWorkerResponse)(nil), // 12: livekit.RegisterWorkerResponse + (*MigrateJobRequest)(nil), // 13: livekit.MigrateJobRequest + (*AvailabilityRequest)(nil), // 14: livekit.AvailabilityRequest + (*AvailabilityResponse)(nil), // 15: livekit.AvailabilityResponse + (*UpdateJobStatus)(nil), // 16: livekit.UpdateJobStatus + (*UpdateWorkerStatus)(nil), // 17: livekit.UpdateWorkerStatus + (*JobAssignment)(nil), // 18: livekit.JobAssignment + (*Room)(nil), // 19: livekit.Room + (*ParticipantInfo)(nil), // 20: livekit.ParticipantInfo (*ParticipantPermission)(nil), // 21: livekit.ParticipantPermission - (*Room)(nil), // 22: livekit.Room - (*ParticipantInfo)(nil), // 23: livekit.ParticipantInfo - (*ServerInfo)(nil), // 24: livekit.ServerInfo + (*ServerInfo)(nil), // 22: livekit.ServerInfo } var file_livekit_agent_proto_depIdxs = []int32{ 0, // 0: livekit.StartAgentJobRequest.type:type_name -> livekit.JobType - 0, // 1: livekit.WorkerInfo.type:type_name -> livekit.JobType - 21, // 2: livekit.WorkerInfo.allowed_permissions:type_name -> livekit.ParticipantPermission - 0, // 3: livekit.Job.type:type_name -> livekit.JobType - 22, // 4: livekit.Job.room:type_name -> livekit.Room - 23, // 5: livekit.Job.participant:type_name -> livekit.ParticipantInfo - 2, // 6: livekit.Job.status:type_name -> livekit.JobStatus - 13, // 7: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest - 17, // 8: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse - 19, // 9: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus - 18, // 10: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus - 11, // 11: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing - 10, // 12: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest - 15, // 13: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest - 14, // 14: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse - 16, // 15: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest - 20, // 16: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment - 12, // 17: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong - 0, // 18: livekit.SimulateJobRequest.type:type_name -> livekit.JobType - 22, // 19: livekit.SimulateJobRequest.room:type_name -> livekit.Room - 23, // 20: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo - 0, // 21: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType - 21, // 22: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission - 24, // 23: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo - 7, // 24: livekit.AvailabilityRequest.job:type_name -> livekit.Job - 2, // 25: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus - 1, // 26: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus - 7, // 27: livekit.JobAssignment.job:type_name -> livekit.Job - 3, // 28: livekit.AgentService.StartAgentJob:input_type -> livekit.StartAgentJobRequest - 4, // 29: livekit.AgentService.StopAgentJob:input_type -> livekit.StopAgentJobRequest - 7, // 30: livekit.AgentService.StartAgentJob:output_type -> livekit.Job - 7, // 31: livekit.AgentService.StopAgentJob:output_type -> livekit.Job - 30, // [30:32] is the sub-list for method output_type - 28, // [28:30] is the sub-list for method input_type - 28, // [28:28] is the sub-list for extension type_name - 28, // [28:28] is the sub-list for extension extendee - 0, // [0:28] is the sub-list for field type_name + 0, // 1: livekit.Job.type:type_name -> livekit.JobType + 19, // 2: livekit.Job.room:type_name -> livekit.Room + 20, // 3: livekit.Job.participant:type_name -> livekit.ParticipantInfo + 2, // 4: livekit.Job.status:type_name -> livekit.JobStatus + 11, // 5: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest + 15, // 6: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse + 17, // 7: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus + 16, // 8: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus + 9, // 9: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing + 8, // 10: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest + 13, // 11: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest + 12, // 12: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse + 14, // 13: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest + 18, // 14: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment + 10, // 15: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong + 0, // 16: livekit.SimulateJobRequest.type:type_name -> livekit.JobType + 19, // 17: livekit.SimulateJobRequest.room:type_name -> livekit.Room + 20, // 18: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo + 0, // 19: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType + 21, // 20: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission + 22, // 21: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo + 5, // 22: livekit.AvailabilityRequest.job:type_name -> livekit.Job + 2, // 23: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus + 1, // 24: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus + 5, // 25: livekit.JobAssignment.job:type_name -> livekit.Job + 3, // 26: livekit.AgentService.StartAgentJob:input_type -> livekit.StartAgentJobRequest + 4, // 27: livekit.AgentService.StopAgentJob:input_type -> livekit.StopAgentJobRequest + 5, // 28: livekit.AgentService.StartAgentJob:output_type -> livekit.Job + 5, // 29: livekit.AgentService.StopAgentJob:output_type -> livekit.Job + 28, // [28:30] is the sub-list for method output_type + 26, // [26:28] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name } func init() { file_livekit_agent_proto_init() } @@ -1849,30 +1674,6 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkerInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_livekit_agent_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AgentInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_livekit_agent_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job); i { case 0: return &v.state @@ -1884,7 +1685,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkerMessage); i { case 0: return &v.state @@ -1896,7 +1697,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerMessage); i { case 0: return &v.state @@ -1908,7 +1709,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SimulateJobRequest); i { case 0: return &v.state @@ -1920,7 +1721,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkerPing); i { case 0: return &v.state @@ -1932,7 +1733,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkerPong); i { case 0: return &v.state @@ -1944,7 +1745,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegisterWorkerRequest); i { case 0: return &v.state @@ -1956,7 +1757,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegisterWorkerResponse); i { case 0: return &v.state @@ -1968,7 +1769,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MigrateJobRequest); i { case 0: return &v.state @@ -1980,7 +1781,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AvailabilityRequest); i { case 0: return &v.state @@ -1992,7 +1793,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AvailabilityResponse); i { case 0: return &v.state @@ -2004,7 +1805,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateJobStatus); i { case 0: return &v.state @@ -2016,7 +1817,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateWorkerStatus); i { case 0: return &v.state @@ -2028,7 +1829,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobAssignment); i { case 0: return &v.state @@ -2042,8 +1843,8 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[4].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[5].OneofWrappers = []interface{}{ + file_livekit_agent_proto_msgTypes[2].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[3].OneofWrappers = []interface{}{ (*WorkerMessage_Register)(nil), (*WorkerMessage_Availability)(nil), (*WorkerMessage_UpdateWorker)(nil), @@ -2052,23 +1853,23 @@ func file_livekit_agent_proto_init() { (*WorkerMessage_SimulateJob)(nil), (*WorkerMessage_MigrateJob)(nil), } - file_livekit_agent_proto_msgTypes[6].OneofWrappers = []interface{}{ + file_livekit_agent_proto_msgTypes[4].OneofWrappers = []interface{}{ (*ServerMessage_Register)(nil), (*ServerMessage_Availability)(nil), (*ServerMessage_Assignment)(nil), (*ServerMessage_Pong)(nil), } - file_livekit_agent_proto_msgTypes[10].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[8].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[13].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[14].OneofWrappers = []interface{}{} file_livekit_agent_proto_msgTypes[15].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[16].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[17].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_livekit_agent_proto_rawDesc, NumEnums: 3, - NumMessages: 18, + NumMessages: 16, NumExtensions: 0, NumServices: 1, }, diff --git a/livekit/livekit_models.pb.go b/livekit/livekit_models.pb.go index 5f4d8da1..07bc9328 100644 --- a/livekit/livekit_models.pb.go +++ b/livekit/livekit_models.pb.go @@ -2345,9 +2345,10 @@ type Transcription struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ParticipantIdentity string `protobuf:"bytes,2,opt,name=participant_identity,json=participantIdentity,proto3" json:"participant_identity,omitempty"` - TrackId string `protobuf:"bytes,3,opt,name=track_id,json=trackId,proto3" json:"track_id,omitempty"` - Segments []*TranscriptionSegment `protobuf:"bytes,4,rep,name=segments,proto3" json:"segments,omitempty"` + // Participant that got its speech transcribed + TranscribedParticipantIdentity string `protobuf:"bytes,2,opt,name=transcribed_participant_identity,json=transcribedParticipantIdentity,proto3" json:"transcribed_participant_identity,omitempty"` + TrackId string `protobuf:"bytes,3,opt,name=track_id,json=trackId,proto3" json:"track_id,omitempty"` + Segments []*TranscriptionSegment `protobuf:"bytes,4,rep,name=segments,proto3" json:"segments,omitempty"` } func (x *Transcription) Reset() { @@ -2382,9 +2383,9 @@ func (*Transcription) Descriptor() ([]byte, []int) { return file_livekit_models_proto_rawDescGZIP(), []int{14} } -func (x *Transcription) GetParticipantIdentity() string { +func (x *Transcription) GetTranscribedParticipantIdentity() string { if x != nil { - return x.ParticipantIdentity + return x.TranscribedParticipantIdentity } return "" } @@ -3736,333 +3737,335 @@ var file_livekit_models_proto_rawDesc = []byte{ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x07, 0x53, 0x69, 0x70, 0x44, 0x54, 0x4d, 0x46, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x69, 0x67, 0x69, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x69, 0x67, 0x69, 0x74, 0x22, 0x98, 0x01, 0x0a, 0x0d, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x14, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, - 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x65, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x69, 0x6e, - 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0x5b, - 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, - 0x63, 0x6b, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 0x73, 0x22, 0x94, 0x02, 0x0a, 0x0a, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, - 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, - 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x22, - 0x0a, 0x07, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x74, 0x61, - 0x6e, 0x64, 0x61, 0x72, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x10, 0x01, 0x22, 0xbc, 0x03, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x29, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x44, 0x4b, 0x52, 0x03, 0x73, 0x64, 0x6b, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x27, - 0x0a, 0x0f, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x83, 0x01, 0x0a, 0x03, - 0x53, 0x44, 0x4b, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, - 0x12, 0x06, 0x0a, 0x02, 0x4a, 0x53, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x57, 0x49, 0x46, - 0x54, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, - 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10, 0x04, 0x12, 0x06, 0x0a, - 0x02, 0x47, 0x4f, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x06, - 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x41, 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, - 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x55, 0x53, 0x54, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, - 0x50, 0x59, 0x54, 0x48, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x50, 0x50, 0x10, - 0x0a, 0x22, 0xc9, 0x02, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x33, 0x0a, 0x06, - 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x73, 0x63, 0x72, 0x65, 0x65, - 0x6e, 0x12, 0x49, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x72, 0x65, 0x73, 0x75, - 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0f, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x52, 0x0e, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x3d, - 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x69, 0x67, 0x69, 0x74, 0x22, 0xaf, 0x01, 0x0a, 0x0d, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x20, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x64, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, + 0x64, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xa6, 0x01, 0x0a, + 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x53, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, + 0x64, 0x73, 0x22, 0x94, 0x02, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, + 0x0a, 0x0e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x22, 0x0a, 0x07, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x10, 0x00, 0x12, 0x09, + 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x10, 0x01, 0x22, 0xbc, 0x03, 0x0a, 0x0a, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x44, 0x4b, 0x52, 0x03, + 0x73, 0x64, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x73, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x62, + 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x72, + 0x6f, 0x77, 0x73, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x22, 0x83, 0x01, 0x0a, 0x03, 0x53, 0x44, 0x4b, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, + 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4a, 0x53, 0x10, 0x01, 0x12, + 0x09, 0x0a, 0x05, 0x53, 0x57, 0x49, 0x46, 0x54, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4e, + 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x55, 0x54, 0x54, + 0x45, 0x52, 0x10, 0x04, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x4f, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, + 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x41, 0x43, 0x54, + 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x55, 0x53, + 0x54, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x59, 0x54, 0x48, 0x4f, 0x4e, 0x10, 0x09, 0x12, + 0x07, 0x0a, 0x03, 0x43, 0x50, 0x50, 0x10, 0x0a, 0x22, 0xc9, 0x02, 0x0a, 0x13, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x31, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x49, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x75, + 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x22, 0x5d, 0x0a, - 0x12, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x10, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, - 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x68, 0x61, 0x72, - 0x64, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x22, 0x62, 0x0a, 0x0e, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x26, - 0x0a, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x06, - 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x07, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x22, 0xed, 0x02, 0x0a, 0x08, 0x52, 0x54, 0x50, 0x44, 0x72, 0x69, 0x66, 0x74, 0x12, 0x39, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x67, 0x52, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, + 0x6f, 0x64, 0x65, 0x63, 0x73, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, + 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x72, + 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, + 0x65, 0x6c, 0x61, 0x79, 0x22, 0x5d, 0x0a, 0x12, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x10, 0x68, 0x61, + 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x0f, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x72, 0x22, 0x62, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, + 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x28, 0x0a, + 0x07, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x07, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x22, 0xed, 0x02, 0x0a, 0x08, 0x52, 0x54, 0x50, 0x44, + 0x72, 0x69, 0x66, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x65, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x74, 0x70, - 0x5f, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0d, 0x72, 0x74, 0x70, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x63, 0x6b, - 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x64, 0x72, 0x69, 0x66, 0x74, 0x53, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, - 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x64, 0x72, 0x69, 0x66, 0x74, 0x4d, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, - 0x22, 0xf6, 0x0e, 0x0a, 0x08, 0x52, 0x54, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x39, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x74, 0x70, 0x5f, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, + 0x63, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x74, 0x70, 0x43, 0x6c, + 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x72, 0x69, 0x66, + 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0c, 0x64, 0x72, 0x69, 0x66, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x07, 0x64, 0x72, 0x69, 0x66, 0x74, 0x4d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x63, 0x6c, + 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x22, 0xf6, 0x0e, 0x0a, 0x08, 0x52, 0x54, 0x50, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x27, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4c, 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, - 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, - 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, - 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, - 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x44, 0x75, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x18, 0x28, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x11, - 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x61, 0x64, 0x64, 0x69, - 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x64, - 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, - 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x61, 0x64, 0x64, - 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, - 0x29, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x69, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x0e, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x50, 0x61, 0x64, 0x64, 0x69, - 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x14, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, - 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, - 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6a, 0x69, - 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x0d, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, - 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x78, - 0x12, 0x48, 0x0a, 0x0d, 0x67, 0x61, 0x70, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, - 0x6d, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x52, 0x54, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x47, 0x61, 0x70, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x67, 0x61, - 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, - 0x63, 0x6b, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x61, 0x63, 0x6b, 0x73, - 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x25, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x61, 0x63, 0x6b, 0x41, 0x63, 0x6b, 0x73, 0x12, 0x1f, 0x0a, - 0x0b, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x61, 0x63, 0x6b, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x23, - 0x0a, 0x0d, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x69, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x70, 0x6c, 0x69, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, - 0x70, 0x6c, 0x69, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x6c, 0x69, 0x12, 0x12, - 0x0a, 0x04, 0x66, 0x69, 0x72, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x69, - 0x72, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x72, 0x18, 0x1e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x74, 0x74, - 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x72, 0x74, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x74, - 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x74, 0x74, - 0x4d, 0x61, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, - 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x46, 0x72, 0x61, 0x6d, - 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x66, - 0x72, 0x61, 0x6d, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x46, - 0x72, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x70, 0x6c, 0x69, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x50, 0x6c, 0x69, 0x73, 0x12, 0x49, 0x0a, 0x13, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x70, 0x6c, 0x69, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, - 0x4c, 0x6f, 0x63, 0x6b, 0x50, 0x6c, 0x69, 0x12, 0x34, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x44, 0x72, 0x69, 0x66, 0x74, - 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x72, 0x69, 0x66, 0x74, 0x12, 0x34, 0x0a, - 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x2d, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x54, - 0x50, 0x44, 0x72, 0x69, 0x66, 0x74, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x72, - 0x69, 0x66, 0x74, 0x12, 0x43, 0x0a, 0x14, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x2e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x44, - 0x72, 0x69, 0x66, 0x74, 0x52, 0x12, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x44, 0x72, 0x69, 0x66, 0x74, 0x1a, 0x3f, 0x0a, 0x11, 0x47, 0x61, 0x70, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x43, 0x0a, 0x0c, 0x54, 0x69, 0x6d, - 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x6e, 0x69, - 0x78, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, - 0x6e, 0x69, 0x78, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x63, 0x6b, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2a, 0x2f, - 0x0a, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a, 0x0a, - 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, - 0x4f, 0x50, 0x55, 0x53, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x41, 0x43, 0x10, 0x02, 0x2a, - 0x56, 0x0a, 0x0a, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a, - 0x0a, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x56, 0x43, 0x10, 0x00, 0x12, 0x11, 0x0a, - 0x0d, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, - 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12, - 0x0d, 0x0a, 0x09, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x12, 0x07, - 0x0a, 0x03, 0x56, 0x50, 0x38, 0x10, 0x04, 0x2a, 0x29, 0x0a, 0x0a, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x43, 0x5f, 0x44, 0x45, 0x46, 0x41, - 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x43, 0x5f, 0x4a, 0x50, 0x45, 0x47, - 0x10, 0x01, 0x2a, 0x2b, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x09, 0x0a, 0x05, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, - 0x44, 0x45, 0x4f, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x41, 0x10, 0x02, 0x2a, - 0x60, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, - 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, - 0x41, 0x4d, 0x45, 0x52, 0x41, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x49, 0x43, 0x52, 0x4f, - 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x43, 0x52, 0x45, 0x45, - 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x43, 0x52, - 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, - 0x04, 0x2a, 0x36, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, - 0x44, 0x49, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, - 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, 0x40, 0x0a, 0x11, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, - 0x0a, 0x04, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x4f, 0x4f, 0x44, - 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x58, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x4e, 0x54, 0x10, - 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0x03, 0x2a, 0x3b, 0x0a, 0x13, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, - 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, - 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, 0xdb, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x73, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, - 0x0e, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, - 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, - 0x49, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x55, 0x50, 0x4c, 0x49, - 0x43, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x02, 0x12, - 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, - 0x57, 0x4e, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x04, 0x12, 0x10, 0x0a, - 0x0c, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, - 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, - 0x48, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x55, 0x52, 0x45, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x43, - 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x09, 0x2a, 0x89, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x52, - 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x52, - 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, - 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x52, 0x5f, 0x50, 0x55, 0x42, - 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, - 0x18, 0x0a, 0x14, 0x52, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, - 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x52, 0x5f, - 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, - 0x10, 0x04, 0x2a, 0x54, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x45, 0x5f, 0x55, 0x4e, - 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, - 0x54, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x2a, 0xa3, 0x01, 0x0a, 0x11, 0x41, 0x75, 0x64, - 0x69, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x0d, - 0x0a, 0x09, 0x54, 0x46, 0x5f, 0x53, 0x54, 0x45, 0x52, 0x45, 0x4f, 0x10, 0x00, 0x12, 0x0d, 0x0a, - 0x09, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x5f, 0x44, 0x54, 0x58, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, - 0x54, 0x46, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x47, 0x41, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, - 0x54, 0x52, 0x4f, 0x4c, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x46, 0x5f, 0x45, 0x43, 0x48, - 0x4f, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, - 0x12, 0x18, 0x0a, 0x14, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x49, 0x53, 0x45, 0x5f, 0x53, 0x55, 0x50, - 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x46, - 0x5f, 0x45, 0x4e, 0x48, 0x41, 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x49, 0x53, 0x45, 0x5f, - 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x42, 0x46, - 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, - 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x18, 0x27, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x73, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4c, + 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, + 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, + 0x16, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x64, + 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x12, 0x32, 0x0a, 0x15, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x13, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x52, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x75, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, + 0x16, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x75, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x64, + 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, + 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x70, 0x61, 0x64, 0x64, + 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x30, + 0x0a, 0x14, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, + 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x29, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, + 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x64, 0x64, + 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x62, 0x69, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x14, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, + 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, + 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, + 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x6a, 0x69, 0x74, 0x74, 0x65, + 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x69, 0x74, 0x74, + 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6a, 0x69, + 0x74, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x12, 0x48, 0x0a, 0x0d, 0x67, 0x61, 0x70, 0x5f, 0x68, + 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x2e, 0x47, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0c, 0x67, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x6e, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x63, 0x6b, 0x5f, + 0x61, 0x63, 0x6b, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x61, 0x63, 0x6b, + 0x41, 0x63, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x6d, 0x69, 0x73, + 0x73, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x61, 0x63, 0x6b, 0x4d, + 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x61, + 0x63, 0x6b, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, + 0x69, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6c, 0x69, 0x73, 0x12, 0x35, + 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x69, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x6c, 0x61, + 0x73, 0x74, 0x50, 0x6c, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x72, 0x73, 0x18, 0x1d, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x69, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x66, 0x69, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x72, + 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x74, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x74, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x74, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x20, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x72, 0x74, 0x74, 0x4d, 0x61, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, + 0x79, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x6b, 0x65, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, + 0x61, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x6c, 0x69, 0x73, 0x18, 0x23, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x50, + 0x6c, 0x69, 0x73, 0x12, 0x49, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x6c, 0x69, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x6c, 0x61, + 0x73, 0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x50, 0x6c, 0x69, 0x12, 0x34, + 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x2c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, + 0x54, 0x50, 0x44, 0x72, 0x69, 0x66, 0x74, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, + 0x72, 0x69, 0x66, 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, + 0x72, 0x69, 0x66, 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x44, 0x72, 0x69, 0x66, 0x74, 0x52, 0x0b, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x72, 0x69, 0x66, 0x74, 0x12, 0x43, 0x0a, 0x14, 0x72, 0x65, + 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x72, 0x69, + 0x66, 0x74, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x44, 0x72, 0x69, 0x66, 0x74, 0x52, 0x12, 0x72, 0x65, 0x62, + 0x61, 0x73, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x72, 0x69, 0x66, 0x74, 0x1a, + 0x3f, 0x0a, 0x11, 0x47, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x43, 0x0a, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x6e, 0x69, 0x78, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2a, 0x2f, 0x0a, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, + 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x41, + 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x50, 0x55, 0x53, 0x10, 0x01, 0x12, 0x07, 0x0a, + 0x03, 0x41, 0x41, 0x43, 0x10, 0x02, 0x2a, 0x56, 0x0a, 0x0a, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, + 0x6f, 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, + 0x56, 0x43, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x42, 0x41, 0x53, + 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x32, 0x36, 0x34, 0x5f, + 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x48, + 0x49, 0x47, 0x48, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x50, 0x38, 0x10, 0x04, 0x2a, 0x29, + 0x0a, 0x0a, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a, 0x0a, + 0x49, 0x43, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, + 0x49, 0x43, 0x5f, 0x4a, 0x50, 0x45, 0x47, 0x10, 0x01, 0x2a, 0x2b, 0x0a, 0x09, 0x54, 0x72, 0x61, + 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, + 0x00, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, + 0x44, 0x41, 0x54, 0x41, 0x10, 0x02, 0x2a, 0x60, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, + 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x41, 0x4d, 0x45, 0x52, 0x41, 0x10, 0x01, 0x12, 0x0e, + 0x0a, 0x0a, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x10, + 0x0a, 0x0c, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, + 0x12, 0x16, 0x0a, 0x12, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, + 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0x36, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x08, 0x0a, + 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0x03, + 0x2a, 0x40, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x00, 0x12, + 0x08, 0x0a, 0x04, 0x47, 0x4f, 0x4f, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x58, 0x43, + 0x45, 0x4c, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x4f, 0x53, 0x54, + 0x10, 0x03, 0x2a, 0x3b, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, + 0x45, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, + 0xdb, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4c, 0x49, 0x45, + 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x16, + 0x0a, 0x12, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, + 0x54, 0x49, 0x54, 0x59, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, + 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, + 0x45, 0x44, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x44, 0x45, 0x4c, + 0x45, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x4f, + 0x49, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, + 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x53, + 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x09, 0x2a, 0x89, 0x01, + 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, + 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x52, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x44, + 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, + 0x13, 0x52, 0x52, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x52, 0x5f, 0x53, 0x55, 0x42, + 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x17, 0x0a, 0x13, 0x52, 0x52, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x41, + 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x10, 0x04, 0x2a, 0x54, 0x0a, 0x11, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x0e, + 0x0a, 0x0a, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x18, + 0x0a, 0x14, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, + 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x5f, 0x54, + 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x2a, + 0xa3, 0x01, 0x0a, 0x11, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x46, 0x5f, 0x53, 0x54, 0x45, 0x52, + 0x45, 0x4f, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x5f, 0x44, 0x54, + 0x58, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x46, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x47, + 0x41, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x10, 0x02, 0x12, 0x18, 0x0a, + 0x14, 0x54, 0x46, 0x5f, 0x45, 0x43, 0x48, 0x4f, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x46, 0x5f, 0x4e, 0x4f, + 0x49, 0x53, 0x45, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, + 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x46, 0x5f, 0x45, 0x4e, 0x48, 0x41, 0x4e, 0x43, 0x45, 0x44, + 0x5f, 0x4e, 0x4f, 0x49, 0x53, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, + 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, + 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 0c6c6b63..c476d7a2 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -23,7 +23,7 @@ import "livekit_models.proto"; service AgentService { rpc StartAgentJob(StartAgentJobRequest) returns (Job); - rpc StopAgentJob(StopAgentJobRequest) returns (Job); + rpc StopAgentJob(StopAgentJobRequest) returns (Job); } message StartAgentJobRequest { @@ -38,21 +38,6 @@ message StopAgentJobRequest { string id = 1; } -message WorkerInfo { - string id = 1; - string namespace = 2; - string version = 3; - string name = 4; - JobType type = 5 [deprecated=true]; - ParticipantPermission allowed_permissions = 6; -} - -message AgentInfo { - string id = 1; - string name = 2; - string version = 3; -} - message Job { string id = 1; JobType type = 2; @@ -173,8 +158,11 @@ message UpdateJobStatus { // metadata shown on the dashboard, useful for debugging string error = 3; - // The load that the job currently has on the worker - float load = 5; + // the metadata can be updated multiple times + // optional string metadata = 4 [deprecated=true]; + + // The load that the job currently has on the worker + float load = 5; } message UpdateWorkerStatus { @@ -186,6 +174,6 @@ message UpdateWorkerStatus { message JobAssignment { Job job = 1; optional string url = 2; - string token = 3; + string token = 3; } diff --git a/protobufs/livekit_models.proto b/protobufs/livekit_models.proto index 5d544da0..20e96d49 100644 --- a/protobufs/livekit_models.proto +++ b/protobufs/livekit_models.proto @@ -266,7 +266,8 @@ message SipDTMF { } message Transcription { - string participant_identity = 2; + // Participant that got its speech transcribed + string transcribed_participant_identity = 2; string track_id = 3; repeated TranscriptionSegment segments = 4; From 15bbb5ca505c50bc77dd56d4c94a2053d270301c Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Mon, 20 May 2024 14:11:09 -0700 Subject: [PATCH 08/21] Put load into Job --- livekit/livekit_agent.pb.go | 325 +++++++++++++++++----------------- protobufs/livekit_agent.proto | 9 +- 2 files changed, 172 insertions(+), 162 deletions(-) diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 0bacfe92..a9bb9223 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -314,6 +314,7 @@ type Job struct { Metadata string `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` Status JobStatus `protobuf:"varint,7,opt,name=status,proto3,enum=livekit.JobStatus" json:"status,omitempty"` Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"` + Load float32 `protobuf:"fixed32,9,opt,name=load,proto3" json:"load,omitempty"` } func (x *Job) Reset() { @@ -404,6 +405,13 @@ func (x *Job) GetError() string { return "" } +func (x *Job) GetLoad() float32 { + if x != nil { + return x.Load + } + return 0 +} + // from Worker to Server type WorkerMessage struct { state protoimpl.MessageState @@ -1387,7 +1395,7 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x22, 0xab, 0x02, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x69, 0x64, 0x22, 0xbf, 0x02, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, @@ -1405,164 +1413,165 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, - 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, - 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x82, 0x02, 0x0a, 0x0d, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, - 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c, - 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, - 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x6f, - 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, - 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x22, 0x99, 0x01, 0x0a, 0x12, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, - 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, - 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x2a, 0x0a, 0x0a, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x51, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, - 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x92, 0x02, 0x0a, 0x15, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, - 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x6e, - 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x21, - 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x22, 0x6b, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2a, 0x0a, - 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x13, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, - 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x85, 0x02, 0x0a, - 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, - 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x75, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, - 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, - 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, - 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x67, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, - 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x64, - 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, - 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, - 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, - 0x5f, 0x75, 0x72, 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x0b, 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, - 0x4a, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x2d, - 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, - 0x0a, 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x3a, 0x0a, - 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, - 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, - 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, - 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0x88, 0x01, 0x0a, 0x0c, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1d, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, + 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, + 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, + 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, + 0x6a, 0x6f, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, + 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0x82, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x48, 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, + 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, + 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, + 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x22, 0x2a, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x51, 0x0a, 0x0a, + 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, + 0x92, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x22, 0x6b, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0x2a, 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, + 0x13, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, + 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, + 0x22, 0x85, 0x02, 0x0a, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, + 0x0a, 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, + 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, + 0x62, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, + 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, + 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x67, 0x0a, 0x12, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0x64, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, + 0x6a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, + 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, + 0x10, 0x01, 0x2a, 0x2d, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, + 0x01, 0x2a, 0x3a, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, + 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, + 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0x88, 0x01, + 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, + 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, + 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x0a, 0x0c, + 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, - 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, - 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, + 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, + 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index c476d7a2..e2bf5620 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -47,6 +47,7 @@ message Job { string metadata = 6; JobStatus status = 7; string error = 8; + float load = 9; } // from Worker to Server @@ -158,11 +159,11 @@ message UpdateJobStatus { // metadata shown on the dashboard, useful for debugging string error = 3; - // the metadata can be updated multiple times - // optional string metadata = 4 [deprecated=true]; + // the metadata can be updated multiple times + // optional string metadata = 4 [deprecated=true]; - // The load that the job currently has on the worker - float load = 5; + // The load that the job currently has on the worker + float load = 5; } message UpdateWorkerStatus { From e5e23370ee182027b69886e0fad2d6f86ad95cb2 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Mon, 20 May 2024 14:54:01 -0700 Subject: [PATCH 09/21] Add job start/end/update timestamps --- livekit/livekit_agent.pb.go | 346 ++++++++++++++++++---------------- protobufs/livekit_agent.proto | 3 + 2 files changed, 191 insertions(+), 158 deletions(-) diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index a9bb9223..5039f313 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -315,6 +315,9 @@ type Job struct { Status JobStatus `protobuf:"varint,7,opt,name=status,proto3,enum=livekit.JobStatus" json:"status,omitempty"` Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"` Load float32 `protobuf:"fixed32,9,opt,name=load,proto3" json:"load,omitempty"` + StartedAt int64 `protobuf:"varint,10,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + EndedAt int64 `protobuf:"varint,11,opt,name=ended_at,json=endedAt,proto3" json:"ended_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` } func (x *Job) Reset() { @@ -412,6 +415,27 @@ func (x *Job) GetLoad() float32 { return 0 } +func (x *Job) GetStartedAt() int64 { + if x != nil { + return x.StartedAt + } + return 0 +} + +func (x *Job) GetEndedAt() int64 { + if x != nil { + return x.EndedAt + } + return 0 +} + +func (x *Job) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + // from Worker to Server type WorkerMessage struct { state protoimpl.MessageState @@ -1395,7 +1419,7 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x22, 0xbf, 0x02, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x69, 0x64, 0x22, 0x98, 0x03, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, @@ -1414,164 +1438,170 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, - 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, - 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, - 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, - 0x6a, 0x6f, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, - 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, - 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, - 0x82, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x48, 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, - 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, - 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, - 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x22, 0x2a, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x51, 0x0a, 0x0a, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0x92, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, - 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x22, 0x6b, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0x2a, 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, - 0x13, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, - 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, - 0x22, 0x85, 0x02, 0x0a, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, - 0x0a, 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, - 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, - 0x62, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, - 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, - 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x67, 0x0a, 0x12, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0xc8, 0x03, + 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x43, 0x0a, + 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x77, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x0c, + 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x6d, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, + 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x3d, + 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, + 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x09, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x82, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, + 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, + 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, + 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x99, 0x01, + 0x0a, 0x12, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, + 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3a, 0x0a, + 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x2a, 0x0a, 0x0a, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x51, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, + 0x6f, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x92, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, + 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4f, + 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x6b, 0x0a, + 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2a, 0x0a, 0x11, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x13, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, + 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x85, 0x02, 0x0a, 0x14, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, + 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x31, + 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x64, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, - 0x6a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, - 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, - 0x10, 0x01, 0x2a, 0x2d, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, - 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, - 0x01, 0x2a, 0x3a, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, - 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, - 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0x88, 0x01, - 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, - 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, - 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x0a, 0x0c, - 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, - 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, - 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x73, 0x22, 0x67, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, + 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, + 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x64, 0x0a, 0x0d, 0x4a, + 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x03, + 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x03, + 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x6c, + 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, + 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, + 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x54, 0x5f, + 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x2d, 0x0a, 0x0c, 0x57, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x57, + 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, + 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x3a, 0x0a, 0x09, 0x4a, 0x6f, + 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x55, 0x4e, + 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, 0x55, + 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0x88, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, + 0x62, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, + 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, + 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index e2bf5620..ae974ba8 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -48,6 +48,9 @@ message Job { JobStatus status = 7; string error = 8; float load = 9; + int64 started_at = 10; + int64 ended_at = 11; + int64 updated_at = 12; } // from Worker to Server From 7908d00e72f742797b90c0a1e6b2e3b485530af0 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Mon, 20 May 2024 15:43:05 -0700 Subject: [PATCH 10/21] timestamps in job update --- livekit/livekit_agent.pb.go | 110 ++++++++++++++++++++++------------ protobufs/livekit_agent.proto | 10 ++++ 2 files changed, 81 insertions(+), 39 deletions(-) diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 5039f313..e8e4bf44 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -1215,6 +1215,12 @@ type UpdateJobStatus struct { Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` // The load that the job currently has on the worker Load float32 `protobuf:"fixed32,5,opt,name=load,proto3" json:"load,omitempty"` + // Time the job was started + StartedAt int64 `protobuf:"varint,6,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + // Time the job was ended + EndedAt int64 `protobuf:"varint,7,opt,name=ended_at,json=endedAt,proto3" json:"ended_at,omitempty"` + // Time the job state was last updated + UpdatedAt int64 `protobuf:"varint,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` } func (x *UpdateJobStatus) Reset() { @@ -1277,6 +1283,27 @@ func (x *UpdateJobStatus) GetLoad() float32 { return 0 } +func (x *UpdateJobStatus) GetStartedAt() int64 { + if x != nil { + return x.StartedAt + } + return 0 +} + +func (x *UpdateJobStatus) GetEndedAt() int64 { + if x != nil { + return x.EndedAt + } + return 0 +} + +func (x *UpdateJobStatus) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + type UpdateWorkerStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1556,7 +1583,7 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, + 0x61, 0x22, 0xe7, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, @@ -1564,44 +1591,49 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x67, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, - 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, - 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x64, 0x0a, 0x0d, 0x4a, - 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x03, - 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x03, - 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x6c, - 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, - 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, - 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x54, 0x5f, - 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x2d, 0x0a, 0x0c, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x57, - 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, - 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x3a, 0x0a, 0x09, 0x4a, 0x6f, - 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x55, 0x4e, - 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, 0x55, - 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0x88, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, - 0x62, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, - 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, - 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x67, 0x0a, 0x12, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x64, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, + 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, + 0x45, 0x52, 0x10, 0x01, 0x2a, 0x2d, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, + 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, + 0x4c, 0x10, 0x01, 0x2a, 0x3a, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, + 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, + 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, + 0x88, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x3c, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, + 0x62, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, + 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index ae974ba8..ff4b3858 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -167,6 +167,16 @@ message UpdateJobStatus { // The load that the job currently has on the worker float load = 5; + + // Time the job was started + int64 started_at = 6; + + // Time the job was ended + int64 ended_at = 7; + + // Time the job state was last updated + int64 updated_at = 8; + } message UpdateWorkerStatus { From 5a410f7ab2b304d8a7b691558477da54ea295364 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Mon, 20 May 2024 16:37:41 -0700 Subject: [PATCH 11/21] Job status enum --- livekit/livekit_agent.pb.go | 34 +++++++++++++++++++--------------- protobufs/livekit_agent.proto | 7 ++++--- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index e8e4bf44..66f840a1 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -129,22 +129,25 @@ func (WorkerStatus) EnumDescriptor() ([]byte, []int) { type JobStatus int32 const ( - JobStatus_JS_UNKNOWN JobStatus = 0 - JobStatus_JS_SUCCESS JobStatus = 1 - JobStatus_JS_FAILED JobStatus = 2 + JobStatus_JS_PENDING JobStatus = 0 + JobStatus_JS_STARTED JobStatus = 1 + JobStatus_JS_SUCCESS JobStatus = 2 + JobStatus_JS_FAILED JobStatus = 3 ) // Enum value maps for JobStatus. var ( JobStatus_name = map[int32]string{ - 0: "JS_UNKNOWN", - 1: "JS_SUCCESS", - 2: "JS_FAILED", + 0: "JS_PENDING", + 1: "JS_STARTED", + 2: "JS_SUCCESS", + 3: "JS_FAILED", } JobStatus_value = map[string]int32{ - "JS_UNKNOWN": 0, - "JS_SUCCESS": 1, - "JS_FAILED": 2, + "JS_PENDING": 0, + "JS_STARTED": 1, + "JS_SUCCESS": 2, + "JS_FAILED": 3, } ) @@ -398,7 +401,7 @@ func (x *Job) GetStatus() JobStatus { if x != nil { return x.Status } - return JobStatus_JS_UNKNOWN + return JobStatus_JS_PENDING } func (x *Job) GetError() string { @@ -1266,7 +1269,7 @@ func (x *UpdateJobStatus) GetStatus() JobStatus { if x != nil && x.Status != nil { return *x.Status } - return JobStatus_JS_UNKNOWN + return JobStatus_JS_PENDING } func (x *UpdateJobStatus) GetError() string { @@ -1616,10 +1619,11 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x45, 0x52, 0x10, 0x01, 0x2a, 0x2d, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, - 0x4c, 0x10, 0x01, 0x2a, 0x3a, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, - 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, - 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, + 0x4c, 0x10, 0x01, 0x2a, 0x4a, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, + 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, + 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, + 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x32, 0x88, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index ff4b3858..9a93bf50 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -95,9 +95,10 @@ enum WorkerStatus { } enum JobStatus { - JS_UNKNOWN = 0; - JS_SUCCESS = 1; - JS_FAILED = 2; + JS_PENDING = 0; + JS_STARTED = 1; + JS_SUCCESS = 2; + JS_FAILED = 3; } message SimulateJobRequest { From 101ca1497dffcd32b1494aad48e67cc6eef6a80e Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Tue, 21 May 2024 14:52:59 -0700 Subject: [PATCH 12/21] feedback --- livekit/livekit_agent.pb.go | 828 ++++++++++++++++++++++------------ protobufs/livekit_agent.proto | 47 +- 2 files changed, 553 insertions(+), 322 deletions(-) diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 66f840a1..5cde2faa 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -130,7 +130,7 @@ type JobStatus int32 const ( JobStatus_JS_PENDING JobStatus = 0 - JobStatus_JS_STARTED JobStatus = 1 + JobStatus_JS_RUNNING JobStatus = 1 JobStatus_JS_SUCCESS JobStatus = 2 JobStatus_JS_FAILED JobStatus = 3 ) @@ -139,13 +139,13 @@ const ( var ( JobStatus_name = map[int32]string{ 0: "JS_PENDING", - 1: "JS_STARTED", + 1: "JS_RUNNING", 2: "JS_SUCCESS", 3: "JS_FAILED", } JobStatus_value = map[string]int32{ "JS_PENDING": 0, - "JS_STARTED": 1, + "JS_RUNNING": 1, "JS_SUCCESS": 2, "JS_FAILED": 3, } @@ -262,7 +262,7 @@ type StopAgentJobRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } func (x *StopAgentJobRequest) Reset() { @@ -297,13 +297,107 @@ func (*StopAgentJobRequest) Descriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{1} } -func (x *StopAgentJobRequest) GetId() string { +func (x *StopAgentJobRequest) GetJobId() string { if x != nil { - return x.Id + return x.JobId + } + return "" +} + +type ListAgentJobsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // if set, only the job whose id is given will be returned +} + +func (x *ListAgentJobsRequest) Reset() { + *x = ListAgentJobsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListAgentJobsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAgentJobsRequest) ProtoMessage() {} + +func (x *ListAgentJobsRequest) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAgentJobsRequest.ProtoReflect.Descriptor instead. +func (*ListAgentJobsRequest) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{2} +} + +func (x *ListAgentJobsRequest) GetJobId() string { + if x != nil { + return x.JobId } return "" } +type ListAgentJobsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"` +} + +func (x *ListAgentJobsResponse) Reset() { + *x = ListAgentJobsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListAgentJobsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAgentJobsResponse) ProtoMessage() {} + +func (x *ListAgentJobsResponse) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAgentJobsResponse.ProtoReflect.Descriptor instead. +func (*ListAgentJobsResponse) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{3} +} + +func (x *ListAgentJobsResponse) GetJobs() []*Job { + if x != nil { + return x.Jobs + } + return nil +} + type Job struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -315,18 +409,13 @@ type Job struct { Participant *ParticipantInfo `protobuf:"bytes,4,opt,name=participant,proto3,oneof" json:"participant,omitempty"` Namespace string `protobuf:"bytes,5,opt,name=namespace,proto3" json:"namespace,omitempty"` Metadata string `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` - Status JobStatus `protobuf:"varint,7,opt,name=status,proto3,enum=livekit.JobStatus" json:"status,omitempty"` - Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"` - Load float32 `protobuf:"fixed32,9,opt,name=load,proto3" json:"load,omitempty"` - StartedAt int64 `protobuf:"varint,10,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` - EndedAt int64 `protobuf:"varint,11,opt,name=ended_at,json=endedAt,proto3" json:"ended_at,omitempty"` - UpdatedAt int64 `protobuf:"varint,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + State *JobState `protobuf:"bytes,7,opt,name=state,proto3" json:"state,omitempty"` } func (x *Job) Reset() { *x = Job{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[2] + mi := &file_livekit_agent_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -339,7 +428,7 @@ func (x *Job) String() string { func (*Job) ProtoMessage() {} func (x *Job) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[2] + mi := &file_livekit_agent_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -352,7 +441,7 @@ func (x *Job) ProtoReflect() protoreflect.Message { // Deprecated: Use Job.ProtoReflect.Descriptor instead. func (*Job) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{2} + return file_livekit_agent_proto_rawDescGZIP(), []int{4} } func (x *Job) GetId() string { @@ -397,42 +486,86 @@ func (x *Job) GetMetadata() string { return "" } -func (x *Job) GetStatus() JobStatus { +func (x *Job) GetState() *JobState { if x != nil { - return x.Status + return x.State } - return JobStatus_JS_PENDING + return nil +} + +type JobState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status JobStatus `protobuf:"varint,1,opt,name=status,proto3,enum=livekit.JobStatus" json:"status,omitempty"` + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + StartedAt int64 `protobuf:"varint,3,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + EndedAt int64 `protobuf:"varint,4,opt,name=ended_at,json=endedAt,proto3" json:"ended_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` +} + +func (x *JobState) Reset() { + *x = JobState{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JobState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JobState) ProtoMessage() {} + +func (x *JobState) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JobState.ProtoReflect.Descriptor instead. +func (*JobState) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{5} } -func (x *Job) GetError() string { +func (x *JobState) GetStatus() JobStatus { if x != nil { - return x.Error + return x.Status } - return "" + return JobStatus_JS_PENDING } -func (x *Job) GetLoad() float32 { +func (x *JobState) GetError() string { if x != nil { - return x.Load + return x.Error } - return 0 + return "" } -func (x *Job) GetStartedAt() int64 { +func (x *JobState) GetStartedAt() int64 { if x != nil { return x.StartedAt } return 0 } -func (x *Job) GetEndedAt() int64 { +func (x *JobState) GetEndedAt() int64 { if x != nil { return x.EndedAt } return 0 } -func (x *Job) GetUpdatedAt() int64 { +func (x *JobState) GetUpdatedAt() int64 { if x != nil { return x.UpdatedAt } @@ -460,7 +593,7 @@ type WorkerMessage struct { func (x *WorkerMessage) Reset() { *x = WorkerMessage{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[3] + mi := &file_livekit_agent_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -473,7 +606,7 @@ func (x *WorkerMessage) String() string { func (*WorkerMessage) ProtoMessage() {} func (x *WorkerMessage) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[3] + mi := &file_livekit_agent_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -486,7 +619,7 @@ func (x *WorkerMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerMessage.ProtoReflect.Descriptor instead. func (*WorkerMessage) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{3} + return file_livekit_agent_proto_rawDescGZIP(), []int{6} } func (m *WorkerMessage) GetMessage() isWorkerMessage_Message { @@ -606,6 +739,7 @@ type ServerMessage struct { // *ServerMessage_Register // *ServerMessage_Availability // *ServerMessage_Assignment + // *ServerMessage_Termination // *ServerMessage_Pong Message isServerMessage_Message `protobuf_oneof:"message"` } @@ -613,7 +747,7 @@ type ServerMessage struct { func (x *ServerMessage) Reset() { *x = ServerMessage{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[4] + mi := &file_livekit_agent_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -626,7 +760,7 @@ func (x *ServerMessage) String() string { func (*ServerMessage) ProtoMessage() {} func (x *ServerMessage) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[4] + mi := &file_livekit_agent_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -639,7 +773,7 @@ func (x *ServerMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerMessage.ProtoReflect.Descriptor instead. func (*ServerMessage) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{4} + return file_livekit_agent_proto_rawDescGZIP(), []int{7} } func (m *ServerMessage) GetMessage() isServerMessage_Message { @@ -670,6 +804,13 @@ func (x *ServerMessage) GetAssignment() *JobAssignment { return nil } +func (x *ServerMessage) GetTermination() *JobTermination { + if x, ok := x.GetMessage().(*ServerMessage_Termination); ok { + return x.Termination + } + return nil +} + func (x *ServerMessage) GetPong() *WorkerPong { if x, ok := x.GetMessage().(*ServerMessage_Pong); ok { return x.Pong @@ -695,6 +836,10 @@ type ServerMessage_Assignment struct { Assignment *JobAssignment `protobuf:"bytes,3,opt,name=assignment,proto3,oneof"` } +type ServerMessage_Termination struct { + Termination *JobTermination `protobuf:"bytes,5,opt,name=termination,proto3,oneof"` +} + type ServerMessage_Pong struct { Pong *WorkerPong `protobuf:"bytes,4,opt,name=pong,proto3,oneof"` } @@ -705,6 +850,8 @@ func (*ServerMessage_Availability) isServerMessage_Message() {} func (*ServerMessage_Assignment) isServerMessage_Message() {} +func (*ServerMessage_Termination) isServerMessage_Message() {} + func (*ServerMessage_Pong) isServerMessage_Message() {} type SimulateJobRequest struct { @@ -720,7 +867,7 @@ type SimulateJobRequest struct { func (x *SimulateJobRequest) Reset() { *x = SimulateJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[5] + mi := &file_livekit_agent_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -733,7 +880,7 @@ func (x *SimulateJobRequest) String() string { func (*SimulateJobRequest) ProtoMessage() {} func (x *SimulateJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[5] + mi := &file_livekit_agent_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -746,7 +893,7 @@ func (x *SimulateJobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SimulateJobRequest.ProtoReflect.Descriptor instead. func (*SimulateJobRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{5} + return file_livekit_agent_proto_rawDescGZIP(), []int{8} } func (x *SimulateJobRequest) GetType() JobType { @@ -781,7 +928,7 @@ type WorkerPing struct { func (x *WorkerPing) Reset() { *x = WorkerPing{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[6] + mi := &file_livekit_agent_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -794,7 +941,7 @@ func (x *WorkerPing) String() string { func (*WorkerPing) ProtoMessage() {} func (x *WorkerPing) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[6] + mi := &file_livekit_agent_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -807,7 +954,7 @@ func (x *WorkerPing) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerPing.ProtoReflect.Descriptor instead. func (*WorkerPing) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{6} + return file_livekit_agent_proto_rawDescGZIP(), []int{9} } func (x *WorkerPing) GetTimestamp() int64 { @@ -829,7 +976,7 @@ type WorkerPong struct { func (x *WorkerPong) Reset() { *x = WorkerPong{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[7] + mi := &file_livekit_agent_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -842,7 +989,7 @@ func (x *WorkerPong) String() string { func (*WorkerPong) ProtoMessage() {} func (x *WorkerPong) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[7] + mi := &file_livekit_agent_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -855,7 +1002,7 @@ func (x *WorkerPong) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerPong.ProtoReflect.Descriptor instead. func (*WorkerPong) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{7} + return file_livekit_agent_proto_rawDescGZIP(), []int{10} } func (x *WorkerPong) GetLastTimestamp() int64 { @@ -889,7 +1036,7 @@ type RegisterWorkerRequest struct { func (x *RegisterWorkerRequest) Reset() { *x = RegisterWorkerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[8] + mi := &file_livekit_agent_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -902,7 +1049,7 @@ func (x *RegisterWorkerRequest) String() string { func (*RegisterWorkerRequest) ProtoMessage() {} func (x *RegisterWorkerRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[8] + mi := &file_livekit_agent_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -915,7 +1062,7 @@ func (x *RegisterWorkerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterWorkerRequest.ProtoReflect.Descriptor instead. func (*RegisterWorkerRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{8} + return file_livekit_agent_proto_rawDescGZIP(), []int{11} } func (x *RegisterWorkerRequest) GetType() JobType { @@ -972,7 +1119,7 @@ type RegisterWorkerResponse struct { func (x *RegisterWorkerResponse) Reset() { *x = RegisterWorkerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[9] + mi := &file_livekit_agent_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -985,7 +1132,7 @@ func (x *RegisterWorkerResponse) String() string { func (*RegisterWorkerResponse) ProtoMessage() {} func (x *RegisterWorkerResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[9] + mi := &file_livekit_agent_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -998,7 +1145,7 @@ func (x *RegisterWorkerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterWorkerResponse.ProtoReflect.Descriptor instead. func (*RegisterWorkerResponse) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{9} + return file_livekit_agent_proto_rawDescGZIP(), []int{12} } func (x *RegisterWorkerResponse) GetWorkerId() string { @@ -1026,7 +1173,7 @@ type MigrateJobRequest struct { func (x *MigrateJobRequest) Reset() { *x = MigrateJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[10] + mi := &file_livekit_agent_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1039,7 +1186,7 @@ func (x *MigrateJobRequest) String() string { func (*MigrateJobRequest) ProtoMessage() {} func (x *MigrateJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[10] + mi := &file_livekit_agent_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1052,7 +1199,7 @@ func (x *MigrateJobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MigrateJobRequest.ProtoReflect.Descriptor instead. func (*MigrateJobRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{10} + return file_livekit_agent_proto_rawDescGZIP(), []int{13} } func (x *MigrateJobRequest) GetJobId() string { @@ -1076,7 +1223,7 @@ type AvailabilityRequest struct { func (x *AvailabilityRequest) Reset() { *x = AvailabilityRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[11] + mi := &file_livekit_agent_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1089,7 +1236,7 @@ func (x *AvailabilityRequest) String() string { func (*AvailabilityRequest) ProtoMessage() {} func (x *AvailabilityRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[11] + mi := &file_livekit_agent_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1102,7 +1249,7 @@ func (x *AvailabilityRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AvailabilityRequest.ProtoReflect.Descriptor instead. func (*AvailabilityRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{11} + return file_livekit_agent_proto_rawDescGZIP(), []int{14} } func (x *AvailabilityRequest) GetJob() *Job { @@ -1135,7 +1282,7 @@ type AvailabilityResponse struct { func (x *AvailabilityResponse) Reset() { *x = AvailabilityResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[12] + mi := &file_livekit_agent_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1148,7 +1295,7 @@ func (x *AvailabilityResponse) String() string { func (*AvailabilityResponse) ProtoMessage() {} func (x *AvailabilityResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[12] + mi := &file_livekit_agent_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1161,7 +1308,7 @@ func (x *AvailabilityResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AvailabilityResponse.ProtoReflect.Descriptor instead. func (*AvailabilityResponse) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{12} + return file_livekit_agent_proto_rawDescGZIP(), []int{15} } func (x *AvailabilityResponse) GetJobId() string { @@ -1213,23 +1360,15 @@ type UpdateJobStatus struct { JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // The worker can indicate the job end by either specifying SUCCESS or FAILED - Status *JobStatus `protobuf:"varint,2,opt,name=status,proto3,enum=livekit.JobStatus,oneof" json:"status,omitempty"` + Status JobStatus `protobuf:"varint,2,opt,name=status,proto3,enum=livekit.JobStatus" json:"status,omitempty"` // metadata shown on the dashboard, useful for debugging Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` - // The load that the job currently has on the worker - Load float32 `protobuf:"fixed32,5,opt,name=load,proto3" json:"load,omitempty"` - // Time the job was started - StartedAt int64 `protobuf:"varint,6,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` - // Time the job was ended - EndedAt int64 `protobuf:"varint,7,opt,name=ended_at,json=endedAt,proto3" json:"ended_at,omitempty"` - // Time the job state was last updated - UpdatedAt int64 `protobuf:"varint,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` } func (x *UpdateJobStatus) Reset() { *x = UpdateJobStatus{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[13] + mi := &file_livekit_agent_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1242,7 +1381,7 @@ func (x *UpdateJobStatus) String() string { func (*UpdateJobStatus) ProtoMessage() {} func (x *UpdateJobStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[13] + mi := &file_livekit_agent_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1255,7 +1394,7 @@ func (x *UpdateJobStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateJobStatus.ProtoReflect.Descriptor instead. func (*UpdateJobStatus) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{13} + return file_livekit_agent_proto_rawDescGZIP(), []int{16} } func (x *UpdateJobStatus) GetJobId() string { @@ -1266,8 +1405,8 @@ func (x *UpdateJobStatus) GetJobId() string { } func (x *UpdateJobStatus) GetStatus() JobStatus { - if x != nil && x.Status != nil { - return *x.Status + if x != nil { + return x.Status } return JobStatus_JS_PENDING } @@ -1279,34 +1418,6 @@ func (x *UpdateJobStatus) GetError() string { return "" } -func (x *UpdateJobStatus) GetLoad() float32 { - if x != nil { - return x.Load - } - return 0 -} - -func (x *UpdateJobStatus) GetStartedAt() int64 { - if x != nil { - return x.StartedAt - } - return 0 -} - -func (x *UpdateJobStatus) GetEndedAt() int64 { - if x != nil { - return x.EndedAt - } - return 0 -} - -func (x *UpdateJobStatus) GetUpdatedAt() int64 { - if x != nil { - return x.UpdatedAt - } - return 0 -} - type UpdateWorkerStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1320,7 +1431,7 @@ type UpdateWorkerStatus struct { func (x *UpdateWorkerStatus) Reset() { *x = UpdateWorkerStatus{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1333,7 +1444,7 @@ func (x *UpdateWorkerStatus) String() string { func (*UpdateWorkerStatus) ProtoMessage() {} func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1346,7 +1457,7 @@ func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateWorkerStatus.ProtoReflect.Descriptor instead. func (*UpdateWorkerStatus) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{14} + return file_livekit_agent_proto_rawDescGZIP(), []int{17} } func (x *UpdateWorkerStatus) GetStatus() WorkerStatus { @@ -1376,7 +1487,7 @@ type JobAssignment struct { func (x *JobAssignment) Reset() { *x = JobAssignment{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1389,7 +1500,7 @@ func (x *JobAssignment) String() string { func (*JobAssignment) ProtoMessage() {} func (x *JobAssignment) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1402,7 +1513,7 @@ func (x *JobAssignment) ProtoReflect() protoreflect.Message { // Deprecated: Use JobAssignment.ProtoReflect.Descriptor instead. func (*JobAssignment) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{15} + return file_livekit_agent_proto_rawDescGZIP(), []int{18} } func (x *JobAssignment) GetJob() *Job { @@ -1426,6 +1537,53 @@ func (x *JobAssignment) GetToken() string { return "" } +type JobTermination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` +} + +func (x *JobTermination) Reset() { + *x = JobTermination{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JobTermination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JobTermination) ProtoMessage() {} + +func (x *JobTermination) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JobTermination.ProtoReflect.Descriptor instead. +func (*JobTermination) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{19} +} + +func (x *JobTermination) GetJobId() string { + if x != nil { + return x.JobId + } + return "" +} + var File_livekit_agent_proto protoreflect.FileDescriptor var file_livekit_agent_proto_rawDesc = []byte{ @@ -1446,77 +1604,90 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x13, 0x53, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x2c, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x22, 0x98, 0x03, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, - 0x6f, 0x6f, 0x6d, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, + 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x14, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x20, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, + 0x6f, 0x62, 0x73, 0x22, 0x92, 0x02, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, + 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0xc8, 0x03, - 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x43, 0x0a, - 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x77, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, - 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x0c, - 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x6d, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x3d, - 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x69, - 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x09, 0x0a, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x82, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, - 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, - 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x41, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, + 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x08, 0x4a, 0x6f, 0x62, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, + 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, + 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xbf, 0x02, 0x0a, 0x0d, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, + 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, + 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x74, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x99, 0x01, @@ -1586,58 +1757,58 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x22, 0xe7, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x67, 0x0a, 0x12, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x64, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, - 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, - 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, - 0x45, 0x52, 0x10, 0x01, 0x2a, 0x2d, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, - 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, - 0x4c, 0x10, 0x01, 0x2a, 0x4a, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, - 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, - 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, - 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x32, - 0x88, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x3c, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, - 0x62, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, - 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x22, 0x6a, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x67, 0x0a, + 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x64, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, + 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x27, 0x0a, 0x0e, + 0x4a, 0x6f, 0x62, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, + 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, + 0x0c, 0x4a, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x01, 0x2a, + 0x2d, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x10, 0x0a, 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, + 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x4a, + 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, + 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, + 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, + 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4a, + 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x32, 0xd8, 0x01, 0x0a, 0x0c, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1d, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x0a, 0x0c, 0x53, 0x74, 0x6f, + 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x4e, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, + 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, + 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1653,68 +1824,77 @@ func file_livekit_agent_proto_rawDescGZIP() []byte { } var file_livekit_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_livekit_agent_proto_goTypes = []interface{}{ (JobType)(0), // 0: livekit.JobType (WorkerStatus)(0), // 1: livekit.WorkerStatus (JobStatus)(0), // 2: livekit.JobStatus (*StartAgentJobRequest)(nil), // 3: livekit.StartAgentJobRequest (*StopAgentJobRequest)(nil), // 4: livekit.StopAgentJobRequest - (*Job)(nil), // 5: livekit.Job - (*WorkerMessage)(nil), // 6: livekit.WorkerMessage - (*ServerMessage)(nil), // 7: livekit.ServerMessage - (*SimulateJobRequest)(nil), // 8: livekit.SimulateJobRequest - (*WorkerPing)(nil), // 9: livekit.WorkerPing - (*WorkerPong)(nil), // 10: livekit.WorkerPong - (*RegisterWorkerRequest)(nil), // 11: livekit.RegisterWorkerRequest - (*RegisterWorkerResponse)(nil), // 12: livekit.RegisterWorkerResponse - (*MigrateJobRequest)(nil), // 13: livekit.MigrateJobRequest - (*AvailabilityRequest)(nil), // 14: livekit.AvailabilityRequest - (*AvailabilityResponse)(nil), // 15: livekit.AvailabilityResponse - (*UpdateJobStatus)(nil), // 16: livekit.UpdateJobStatus - (*UpdateWorkerStatus)(nil), // 17: livekit.UpdateWorkerStatus - (*JobAssignment)(nil), // 18: livekit.JobAssignment - (*Room)(nil), // 19: livekit.Room - (*ParticipantInfo)(nil), // 20: livekit.ParticipantInfo - (*ParticipantPermission)(nil), // 21: livekit.ParticipantPermission - (*ServerInfo)(nil), // 22: livekit.ServerInfo + (*ListAgentJobsRequest)(nil), // 5: livekit.ListAgentJobsRequest + (*ListAgentJobsResponse)(nil), // 6: livekit.ListAgentJobsResponse + (*Job)(nil), // 7: livekit.Job + (*JobState)(nil), // 8: livekit.JobState + (*WorkerMessage)(nil), // 9: livekit.WorkerMessage + (*ServerMessage)(nil), // 10: livekit.ServerMessage + (*SimulateJobRequest)(nil), // 11: livekit.SimulateJobRequest + (*WorkerPing)(nil), // 12: livekit.WorkerPing + (*WorkerPong)(nil), // 13: livekit.WorkerPong + (*RegisterWorkerRequest)(nil), // 14: livekit.RegisterWorkerRequest + (*RegisterWorkerResponse)(nil), // 15: livekit.RegisterWorkerResponse + (*MigrateJobRequest)(nil), // 16: livekit.MigrateJobRequest + (*AvailabilityRequest)(nil), // 17: livekit.AvailabilityRequest + (*AvailabilityResponse)(nil), // 18: livekit.AvailabilityResponse + (*UpdateJobStatus)(nil), // 19: livekit.UpdateJobStatus + (*UpdateWorkerStatus)(nil), // 20: livekit.UpdateWorkerStatus + (*JobAssignment)(nil), // 21: livekit.JobAssignment + (*JobTermination)(nil), // 22: livekit.JobTermination + (*Room)(nil), // 23: livekit.Room + (*ParticipantInfo)(nil), // 24: livekit.ParticipantInfo + (*ParticipantPermission)(nil), // 25: livekit.ParticipantPermission + (*ServerInfo)(nil), // 26: livekit.ServerInfo } var file_livekit_agent_proto_depIdxs = []int32{ 0, // 0: livekit.StartAgentJobRequest.type:type_name -> livekit.JobType - 0, // 1: livekit.Job.type:type_name -> livekit.JobType - 19, // 2: livekit.Job.room:type_name -> livekit.Room - 20, // 3: livekit.Job.participant:type_name -> livekit.ParticipantInfo - 2, // 4: livekit.Job.status:type_name -> livekit.JobStatus - 11, // 5: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest - 15, // 6: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse - 17, // 7: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus - 16, // 8: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus - 9, // 9: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing - 8, // 10: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest - 13, // 11: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest - 12, // 12: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse - 14, // 13: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest - 18, // 14: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment - 10, // 15: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong - 0, // 16: livekit.SimulateJobRequest.type:type_name -> livekit.JobType - 19, // 17: livekit.SimulateJobRequest.room:type_name -> livekit.Room - 20, // 18: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo - 0, // 19: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType - 21, // 20: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission - 22, // 21: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo - 5, // 22: livekit.AvailabilityRequest.job:type_name -> livekit.Job - 2, // 23: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus - 1, // 24: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus - 5, // 25: livekit.JobAssignment.job:type_name -> livekit.Job - 3, // 26: livekit.AgentService.StartAgentJob:input_type -> livekit.StartAgentJobRequest - 4, // 27: livekit.AgentService.StopAgentJob:input_type -> livekit.StopAgentJobRequest - 5, // 28: livekit.AgentService.StartAgentJob:output_type -> livekit.Job - 5, // 29: livekit.AgentService.StopAgentJob:output_type -> livekit.Job - 28, // [28:30] is the sub-list for method output_type - 26, // [26:28] is the sub-list for method input_type - 26, // [26:26] is the sub-list for extension type_name - 26, // [26:26] is the sub-list for extension extendee - 0, // [0:26] is the sub-list for field type_name + 7, // 1: livekit.ListAgentJobsResponse.jobs:type_name -> livekit.Job + 0, // 2: livekit.Job.type:type_name -> livekit.JobType + 23, // 3: livekit.Job.room:type_name -> livekit.Room + 24, // 4: livekit.Job.participant:type_name -> livekit.ParticipantInfo + 8, // 5: livekit.Job.state:type_name -> livekit.JobState + 2, // 6: livekit.JobState.status:type_name -> livekit.JobStatus + 14, // 7: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest + 18, // 8: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse + 20, // 9: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus + 19, // 10: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus + 12, // 11: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing + 11, // 12: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest + 16, // 13: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest + 15, // 14: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse + 17, // 15: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest + 21, // 16: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment + 22, // 17: livekit.ServerMessage.termination:type_name -> livekit.JobTermination + 13, // 18: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong + 0, // 19: livekit.SimulateJobRequest.type:type_name -> livekit.JobType + 23, // 20: livekit.SimulateJobRequest.room:type_name -> livekit.Room + 24, // 21: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo + 0, // 22: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType + 25, // 23: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission + 26, // 24: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo + 7, // 25: livekit.AvailabilityRequest.job:type_name -> livekit.Job + 2, // 26: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus + 1, // 27: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus + 7, // 28: livekit.JobAssignment.job:type_name -> livekit.Job + 3, // 29: livekit.AgentService.StartAgentJob:input_type -> livekit.StartAgentJobRequest + 4, // 30: livekit.AgentService.StopAgentJob:input_type -> livekit.StopAgentJobRequest + 5, // 31: livekit.AgentService.ListAgentJobs:input_type -> livekit.ListAgentJobsRequest + 7, // 32: livekit.AgentService.StartAgentJob:output_type -> livekit.Job + 7, // 33: livekit.AgentService.StopAgentJob:output_type -> livekit.Job + 6, // 34: livekit.AgentService.ListAgentJobs:output_type -> livekit.ListAgentJobsResponse + 32, // [32:35] is the sub-list for method output_type + 29, // [29:32] is the sub-list for method input_type + 29, // [29:29] is the sub-list for extension type_name + 29, // [29:29] is the sub-list for extension extendee + 0, // [0:29] is the sub-list for field type_name } func init() { file_livekit_agent_proto_init() } @@ -1749,7 +1929,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job); i { + switch v := v.(*ListAgentJobsRequest); i { case 0: return &v.state case 1: @@ -1761,7 +1941,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkerMessage); i { + switch v := v.(*ListAgentJobsResponse); i { case 0: return &v.state case 1: @@ -1773,7 +1953,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServerMessage); i { + switch v := v.(*Job); i { case 0: return &v.state case 1: @@ -1785,7 +1965,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SimulateJobRequest); i { + switch v := v.(*JobState); i { case 0: return &v.state case 1: @@ -1797,7 +1977,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkerPing); i { + switch v := v.(*WorkerMessage); i { case 0: return &v.state case 1: @@ -1809,7 +1989,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkerPong); i { + switch v := v.(*ServerMessage); i { case 0: return &v.state case 1: @@ -1821,7 +2001,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterWorkerRequest); i { + switch v := v.(*SimulateJobRequest); i { case 0: return &v.state case 1: @@ -1833,7 +2013,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterWorkerResponse); i { + switch v := v.(*WorkerPing); i { case 0: return &v.state case 1: @@ -1845,7 +2025,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MigrateJobRequest); i { + switch v := v.(*WorkerPong); i { case 0: return &v.state case 1: @@ -1857,7 +2037,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AvailabilityRequest); i { + switch v := v.(*RegisterWorkerRequest); i { case 0: return &v.state case 1: @@ -1869,7 +2049,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AvailabilityResponse); i { + switch v := v.(*RegisterWorkerResponse); i { case 0: return &v.state case 1: @@ -1881,7 +2061,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateJobStatus); i { + switch v := v.(*MigrateJobRequest); i { case 0: return &v.state case 1: @@ -1893,7 +2073,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateWorkerStatus); i { + switch v := v.(*AvailabilityRequest); i { case 0: return &v.state case 1: @@ -1905,6 +2085,42 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AvailabilityResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateJobStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateWorkerStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobAssignment); i { case 0: return &v.state @@ -1916,10 +2132,22 @@ func file_livekit_agent_proto_init() { return nil } } + file_livekit_agent_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JobTermination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_livekit_agent_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[2].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_livekit_agent_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[6].OneofWrappers = []interface{}{ (*WorkerMessage_Register)(nil), (*WorkerMessage_Availability)(nil), (*WorkerMessage_UpdateWorker)(nil), @@ -1928,23 +2156,23 @@ func file_livekit_agent_proto_init() { (*WorkerMessage_SimulateJob)(nil), (*WorkerMessage_MigrateJob)(nil), } - file_livekit_agent_proto_msgTypes[4].OneofWrappers = []interface{}{ + file_livekit_agent_proto_msgTypes[7].OneofWrappers = []interface{}{ (*ServerMessage_Register)(nil), (*ServerMessage_Availability)(nil), (*ServerMessage_Assignment)(nil), + (*ServerMessage_Termination)(nil), (*ServerMessage_Pong)(nil), } - file_livekit_agent_proto_msgTypes[8].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[13].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[14].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[15].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[11].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[17].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[18].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_livekit_agent_proto_rawDesc, NumEnums: 3, - NumMessages: 16, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 9a93bf50..570faf92 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -24,6 +24,7 @@ import "livekit_models.proto"; service AgentService { rpc StartAgentJob(StartAgentJobRequest) returns (Job); rpc StopAgentJob(StopAgentJobRequest) returns (Job); + rpc ListAgentJobs(ListAgentJobsRequest) returns (ListAgentJobsResponse); } message StartAgentJobRequest { @@ -35,7 +36,15 @@ message StartAgentJobRequest { } message StopAgentJobRequest { - string id = 1; + string job_id = 1; +} + +message ListAgentJobsRequest { + string job_id = 1; // if set, only the job whose id is given will be returned +} + +message ListAgentJobsResponse { + repeated Job jobs = 1; } message Job { @@ -45,12 +54,15 @@ message Job { optional ParticipantInfo participant = 4; string namespace = 5; string metadata = 6; - JobStatus status = 7; - string error = 8; - float load = 9; - int64 started_at = 10; - int64 ended_at = 11; - int64 updated_at = 12; + JobState state = 7; +} + +message JobState { + JobStatus status = 1; + string error = 2; + int64 started_at = 3; + int64 ended_at = 4; + int64 updated_at = 5; } // from Worker to Server @@ -80,6 +92,7 @@ message ServerMessage { // server asks worker to confirm availability for a job AvailabilityRequest availability = 2; JobAssignment assignment = 3; + JobTermination termination = 5; WorkerPong pong = 4; } } @@ -96,7 +109,7 @@ enum WorkerStatus { enum JobStatus { JS_PENDING = 0; - JS_STARTED = 1; + JS_RUNNING = 1; JS_SUCCESS = 2; JS_FAILED = 3; } @@ -158,26 +171,13 @@ message UpdateJobStatus { string job_id = 1; // The worker can indicate the job end by either specifying SUCCESS or FAILED - optional JobStatus status = 2; + JobStatus status = 2; // metadata shown on the dashboard, useful for debugging string error = 3; // the metadata can be updated multiple times // optional string metadata = 4 [deprecated=true]; - - // The load that the job currently has on the worker - float load = 5; - - // Time the job was started - int64 started_at = 6; - - // Time the job was ended - int64 ended_at = 7; - - // Time the job state was last updated - int64 updated_at = 8; - } message UpdateWorkerStatus { @@ -192,3 +192,6 @@ message JobAssignment { string token = 3; } +message JobTermination { + string job_id = 1; +} From b62ad8d45d2f19e518ea881f851f9314c5bb0f0f Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Tue, 21 May 2024 15:40:20 -0700 Subject: [PATCH 13/21] Require room in ListAgentJobs --- protobufs/livekit_agent.proto | 1 + 1 file changed, 1 insertion(+) diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 570faf92..a7ed800e 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -41,6 +41,7 @@ message StopAgentJobRequest { message ListAgentJobsRequest { string job_id = 1; // if set, only the job whose id is given will be returned + string room = 2; // name of the room to list agents for. Must be set } message ListAgentJobsResponse { From 592e9e0a96ddecebe2708bf199fe92d48ac0d024 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Fri, 24 May 2024 12:07:19 -0700 Subject: [PATCH 14/21] RoomDefinition --- protobufs/livekit_agent.proto | 42 +++++++++++++++++++++++++---------- protobufs/livekit_room.proto | 2 +- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index a7ed800e..43cb386b 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -22,30 +22,48 @@ option ruby_package = "LiveKit::Proto"; import "livekit_models.proto"; service AgentService { - rpc StartAgentJob(StartAgentJobRequest) returns (Job); - rpc StopAgentJob(StopAgentJobRequest) returns (Job); - rpc ListAgentJobs(ListAgentJobsRequest) returns (ListAgentJobsResponse); + rpc CreateAgentJobDefinition(CreateAgentJobDefinitionRequest) returns (JobDefinition); + rpc DeleteAgentJobDefinition(DeleteAgentJobDefinitionRequest) returns (JobDefinition); + rpc ListAgentJobDefinitions(ListAgentJobDefinitionsRequesst) returns (ListAgentJobDefinitionsResponse); } -message StartAgentJobRequest { +message CreateAgentJobDefinitionRequest { JobType type = 1; - string room_name = 2; - optional string participant_identity = 3; + string room = 2; + repeated string participant_identity = 3; string namespace = 4; string metadata = 5; } -message StopAgentJobRequest { - string job_id = 1; +message DeleteAgentJobDefinitionRequest { + string job_definition_id = 1; +} + +message ListAgentJobDefinitionsRequesst { + string job_definition_id = 1; // if set, only the job definition whose id is given will be returned + string room = 2; // name of the room to list agents for. Must be set. +} + +message ListAgentJobDefinitionsResponse { + repeated JobDefinition job_definitions = 1; } -message ListAgentJobsRequest { - string job_id = 1; // if set, only the job whose id is given will be returned - string room = 2; // name of the room to list agents for. Must be set +message JobDefinition { + string id = 1; + JobType type = 2; + string room = 3; + repeated string participant_identity = 4; + string namespace = 5; + string metadata = 6; + JobDefinitionState state = 7; } -message ListAgentJobsResponse { +message JobDefinitionState { + // For job definitions of tyoe JT_ROOM, there will be at most 1 job. + // For job definitions of type JT_PUBLISHER, there will be 1 job per provided participant identity, or per publisher in the room if left empty. repeated Job jobs = 1; + int64 created_at = 2; + int64 deleted_at = 3; } message Job { diff --git a/protobufs/livekit_room.proto b/protobufs/livekit_room.proto index 6e0a0bb2..cadbd8a8 100644 --- a/protobufs/livekit_room.proto +++ b/protobufs/livekit_room.proto @@ -107,7 +107,7 @@ message RoomEgress { } message RoomAgent { - repeated StartAgentJobRequest agents = 1; + repeated CreateAgentJobDefinitionRequest agents = 1; } From 9903c9795cf4af9eb52ef645f21574cf1ae8d364 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Tue, 28 May 2024 15:18:20 -0700 Subject: [PATCH 15/21] Unmarshal RoomEgress --- livekit/types.go | 15 +++++++++++++ livekit/types_test.go | 40 +++++++++++++++++++++++++++++++++++ protobufs/livekit_room.proto | 41 ------------------------------------ 3 files changed, 55 insertions(+), 41 deletions(-) create mode 100644 livekit/types_test.go diff --git a/livekit/types.go b/livekit/types.go index d93c5617..bfd9aeb3 100644 --- a/livekit/types.go +++ b/livekit/types.go @@ -14,6 +14,11 @@ package livekit +import ( + "github.com/bufbuild/protoyaml-go" + "gopkg.in/yaml.v3" +) + type TrackID string type ParticipantID string type ParticipantIdentity string @@ -66,3 +71,13 @@ func (p *SipDTMF) ToProto() *DataPacket { }, } } + +func (r *RoomEgress) UnmarshalYAML(value *yaml.Node) error { + // Marshall the Node back to yaml to pass it to the protobuf specific unmarshaller + str, err := yaml.Marshal(value) + if err != nil { + return err + } + + return protoyaml.Unmarshal(str, r) +} diff --git a/livekit/types_test.go b/livekit/types_test.go new file mode 100644 index 00000000..ed6f552f --- /dev/null +++ b/livekit/types_test.go @@ -0,0 +1,40 @@ +package livekit + +import ( + fmt "fmt" + "testing" + + "github.com/stretchr/testify/require" + "gopkg.in/yaml.v3" +) + +func TestUnmarshallRoomEgress(t *testing.T) { + y := ` +a: + room: + room_name: room name +b: + participant: + file_outputs: + - s3: + access_key: key +` + + obj := make(map[string]*RoomEgress) + + err := yaml.Unmarshal([]byte(y), &obj) + + fmt.Println(obj) + + require.NoError(t, err) + require.Equal(t, 2, len(obj)) + + re := obj["a"] + require.NotNil(t, re) + require.Equal(t, re.Room.RoomName, "room name") + + re = obj["b"] + require.NotNil(t, re) + require.Equal(t, 1, len(re.Participant.FileOutputs)) + require.Equal(t, "key", re.Participant.FileOutputs[0].Output.(*EncodedFileOutput_S3).S3.AccessKey) +} diff --git a/protobufs/livekit_room.proto b/protobufs/livekit_room.proto index cadbd8a8..ca0c92a2 100644 --- a/protobufs/livekit_room.proto +++ b/protobufs/livekit_room.proto @@ -60,15 +60,6 @@ service RoomService { // Update room metadata, will cause updates to be broadcasted to everyone in the room, Requires `roomAdmin` rpc UpdateRoomMetadata (UpdateRoomMetadataRequest) returns (Room); - - // Create a room configuration. - rpc CreateRoomConfiguration(CreateRoomConfigurationRequest) returns (RoomConfiguration); - - // Update a room configuration - rpc UpdateRoomConfiguration(UpdateRoomConfigurationRequest) returns (RoomConfiguration); - - // List configurations - rpc ListRoomConfiguration(ListRoomConfigurationRequest) returns (ListRoomConfigurationResponse); } message CreateRoomRequest { @@ -210,38 +201,6 @@ message UpdateRoomMetadataRequest { string metadata = 2; } -message CreateRoomConfigurationRequest { - RoomConfiguration configuration = 1; -} - -message UpdateRoomConfigurationRequest { - string name = 1; // configuration to update - // number of seconds to keep the room open if no one joins - optional uint32 empty_timeout = 2; - // number of seconds to keep the room open after everyone leaves - optional uint32 departure_timeout = 3; - // limit number of participants that can be in a room - optional uint32 max_participants = 4; - // egress - optional RoomEgress egress = 5; - // agent - optional RoomAgent agent = 6; - // playout delay of subscriber - optional uint32 min_playout_delay = 7; - optional uint32 max_playout_delay = 8; - // improves A/V sync when playout_delay set to a value larger than 200ms. It will disables transceiver re-use - // so not recommended for rooms with frequent subscription changes - optional bool sync_streams = 9; -} - -message ListRoomConfigurationRequest { - string name = 1; // If non empty, return only the configurartion with this name -} - -message ListRoomConfigurationResponse { - repeated RoomConfiguration configurations = 1; -} - message RoomConfiguration { string name = 1; // Used as ID, must be unique // number of seconds to keep the room open if no one joins From 49bd88f647c2ed74d1e961ecda9e5bd7be65d48f Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Tue, 28 May 2024 16:09:17 -0700 Subject: [PATCH 16/21] RoomAgent --- livekit/types.go | 10 ++++++++++ livekit/types_test.go | 34 ++++++++++++++++++++++++++++++---- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/livekit/types.go b/livekit/types.go index bfd9aeb3..b54db391 100644 --- a/livekit/types.go +++ b/livekit/types.go @@ -81,3 +81,13 @@ func (r *RoomEgress) UnmarshalYAML(value *yaml.Node) error { return protoyaml.Unmarshal(str, r) } + +func (r *RoomAgent) UnmarshalYAML(value *yaml.Node) error { + // Marshall the Node back to yaml to pass it to the protobuf specific unmarshaller + str, err := yaml.Marshal(value) + if err != nil { + return err + } + + return protoyaml.Unmarshal(str, r) +} diff --git a/livekit/types_test.go b/livekit/types_test.go index ed6f552f..0768383f 100644 --- a/livekit/types_test.go +++ b/livekit/types_test.go @@ -1,7 +1,6 @@ package livekit import ( - fmt "fmt" "testing" "github.com/stretchr/testify/require" @@ -23,9 +22,6 @@ b: obj := make(map[string]*RoomEgress) err := yaml.Unmarshal([]byte(y), &obj) - - fmt.Println(obj) - require.NoError(t, err) require.Equal(t, 2, len(obj)) @@ -38,3 +34,33 @@ b: require.Equal(t, 1, len(re.Participant.FileOutputs)) require.Equal(t, "key", re.Participant.FileOutputs[0].Output.(*EncodedFileOutput_S3).S3.AccessKey) } + +func TestUnmarshallRoomAgent(t *testing.T) { + y := ` +a: + agents: + - type: 0 + room: test room + - type: 1 + participant_identity: + - id1 + - id2 + namespace: nm +` + obj := make(map[string]*RoomAgent) + + err := yaml.Unmarshal([]byte(y), &obj) + require.NoError(t, err) + require.Equal(t, 1, len(obj)) + + re := obj["a"] + require.NotNil(t, re) + require.Equal(t, len(re.Agents), 2) + require.Equal(t, JobType_JT_ROOM, re.Agents[0].Type) + require.Equal(t, "test room", re.Agents[0].Room) + require.Equal(t, JobType_JT_PUBLISHER, re.Agents[1].Type) + require.Equal(t, "nm", re.Agents[1].Namespace) + require.Equal(t, 2, len(re.Agents[1].ParticipantIdentity)) + require.Equal(t, "id1", re.Agents[1].ParticipantIdentity[0]) + require.Equal(t, "id2", re.Agents[1].ParticipantIdentity[1]) +} From 420a64420a8bc97b1fe32abaa251f37ad2eacb68 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Mon, 3 Jun 2024 14:37:08 -0700 Subject: [PATCH 17/21] WiP --- protobufs/livekit_agent.proto | 3 ++- protobufs/livekit_internal.proto | 2 ++ protobufs/rpc/agent.proto | 11 ++++++----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 43cb386b..e16eb2e1 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -149,7 +149,8 @@ message WorkerPong { } message RegisterWorkerRequest { - JobType type = 1; + JobType type = 1 [deprecated=true]; // use `types` instead. If types is non empty, type will be ignored + repeated JobType types = 8; //string worker_id = 2; string version = 3; string name = 4; diff --git a/protobufs/livekit_internal.proto b/protobufs/livekit_internal.proto index f2242824..386314b4 100644 --- a/protobufs/livekit_internal.proto +++ b/protobufs/livekit_internal.proto @@ -22,6 +22,7 @@ option ruby_package = "LiveKit::Proto"; // internal protos, not exposed to clients import "livekit_models.proto"; import "livekit_egress.proto"; +import "livekit_agent.proto"; enum NodeType { SERVER = 0; @@ -137,6 +138,7 @@ message RoomInternal { AutoTrackEgress track_egress = 1; AutoParticipantEgress participant_egress = 2; PlayoutDelay playout_delay = 3; + repeated CreateAgentJobDefinitionRequest agents = 5; bool sync_streams = 4; } diff --git a/protobufs/rpc/agent.proto b/protobufs/rpc/agent.proto index 094da2bf..3d127dbc 100644 --- a/protobufs/rpc/agent.proto +++ b/protobufs/rpc/agent.proto @@ -31,8 +31,8 @@ service AgentInternal { affinity_func: true topics: true topic_params: { - names: ["namespace", "job_type"] - typed: false + names: ["namespace", "job_type"] + typed: false } }; }; @@ -52,7 +52,8 @@ service AgentInternal { message CheckEnabledRequest{} message CheckEnabledResponse { - bool room_enabled = 1; - bool publisher_enabled = 2; - repeated string namespaces = 3; + bool room_enabled = 1 [deprecated = true]; + bool publisher_enabled = 2 [deprecated = true]; + repeated string namespaces = 3 [deprecated = true]; + } From f9139196fbfa7b872a5d865d332e5fbcc80ae415 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Thu, 6 Jun 2024 14:51:04 -0700 Subject: [PATCH 18/21] WiP --- go.mod | 15 +- go.sum | 32 +- livekit/livekit_agent.pb.go | 1059 ++++++++++++++++++------------ livekit/livekit_agent_grpc.pb.go | 197 ++++++ livekit/livekit_internal.pb.go | 540 +++++++-------- livekit/livekit_room.pb.go | 880 +++++++------------------ livekit/livekit_room.twirp.go | 1017 +++------------------------- livekit/types_test | 2 + protobufs/livekit_agent.proto | 3 +- rpc/agent.pb.go | 71 +- rpc/agent.psrpc.go | 48 +- 11 files changed, 1546 insertions(+), 2318 deletions(-) create mode 100644 livekit/livekit_agent_grpc.pb.go create mode 100644 livekit/types_test diff --git a/go.mod b/go.mod index d59a21ef..9a3ad77a 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.22 require ( github.com/benbjohnson/clock v1.3.5 + github.com/bufbuild/protoyaml-go v0.1.9 github.com/eapache/channels v1.1.0 github.com/frostbyte73/core v0.0.10 github.com/fsnotify/fsnotify v1.7.0 @@ -32,20 +33,24 @@ require ( go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 go.uber.org/zap/exp v0.2.0 - golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 + golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 golang.org/x/mod v0.16.0 - google.golang.org/grpc v1.62.0 + google.golang.org/grpc v1.62.1 google.golang.org/protobuf v1.33.0 gopkg.in/yaml.v3 v3.0.1 ) require ( + buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240401165935-b983156c5e99.1 // indirect + github.com/antlr4-go/antlr/v4 v4.13.0 // indirect github.com/beorn7/perks v1.0.1 // indirect + github.com/bufbuild/protovalidate-go v0.6.1 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/eapache/queue v1.1.0 // indirect github.com/golang/protobuf v1.5.3 // indirect + github.com/google/cel-go v0.20.1 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/klauspost/compress v1.17.6 // indirect @@ -70,11 +75,13 @@ require ( github.com/prometheus/client_model v0.5.0 // indirect github.com/prometheus/common v0.48.0 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect + github.com/stoewer/go-strcase v1.3.0 // indirect golang.org/x/crypto v0.21.0 // indirect golang.org/x/net v0.23.0 // indirect golang.org/x/sync v0.6.0 // indirect golang.org/x/sys v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect - golang.org/x/tools v0.18.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c // indirect + golang.org/x/tools v0.19.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240401170217-c3f982113cda // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda // indirect ) diff --git a/go.sum b/go.sum index cc08d66a..23a41036 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,7 @@ +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240401165935-b983156c5e99.1 h1:2IGhRovxlsOIQgx2ekZWo4wTPAYpck41+18ICxs37is= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.33.0-20240401165935-b983156c5e99.1/go.mod h1:Tgn5bgL220vkFOI0KPStlcClPeOJzAv4uT+V8JXGUnw= +github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= +github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -6,6 +10,10 @@ github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= +github.com/bufbuild/protovalidate-go v0.6.1 h1:uzW8r0CDvqApUChNj87VzZVoQSKhcVdw5UWOE605UIw= +github.com/bufbuild/protovalidate-go v0.6.1/go.mod h1:4BR3rKEJiUiTy+sqsusFn2ladOf0kYmA2Reo6BHSBgQ= +github.com/bufbuild/protoyaml-go v0.1.9 h1:anV5UtF1Mlvkkgp4NWA6U/zOnJFng8Orq4Vf3ZUQHBU= +github.com/bufbuild/protoyaml-go v0.1.9/go.mod h1:KCBItkvZOK/zwGueLdH1Wx1RLyFn5rCH7YjQrdty2Wc= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -17,6 +25,8 @@ github.com/eapache/channels v1.1.0 h1:F1taHcn7/F0i8DYqKXJnyhJcVpp2kgFcNePxXtnyu4 github.com/eapache/channels v1.1.0/go.mod h1:jMm2qB5Ubtg9zLd+inMZd2/NUvXgzmWXsDaLyQIGfH0= github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= +github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/frostbyte73/core v0.0.10 h1:D4DQXdPb8ICayz0n75rs4UYTXrUSdxzUfeleuNJORsU= github.com/frostbyte73/core v0.0.10/go.mod h1:XsOGqrqe/VEV7+8vJ+3a8qnCIXNbKsoEiu/czs7nrcU= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= @@ -41,6 +51,8 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/cel-go v0.20.1 h1:nDx9r8S3L4pE61eDdt8igGj8rf5kjYR3ILxWIpWNi84= +github.com/google/cel-go v0.20.1/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u4dOYLg= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= @@ -161,6 +173,8 @@ github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUz github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= github.com/sclevine/spec v1.4.0 h1:z/Q9idDcay5m5irkZ28M7PtQM4aOISzOpj4bUPkDee8= github.com/sclevine/spec v1.4.0/go.mod h1:LvpgJaFyvQzRvc1kaDs0bulYwzC70PbiYjC4QnFHkOM= +github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= +github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -203,8 +217,8 @@ golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1m golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ= -golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= +golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw= +golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= @@ -286,16 +300,18 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= -golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= +golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= +golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c h1:NUsgEN92SQQqzfA+YtqYNqYmB3DMMYLlIwUZAQFVFbo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY= -google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= -google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= +google.golang.org/genproto/googleapis/api v0.0.0-20240401170217-c3f982113cda h1:b6F6WIV4xHHD0FA4oIyzU6mHWg2WI2X1RBehwa5QN38= +google.golang.org/genproto/googleapis/api v0.0.0-20240401170217-c3f982113cda/go.mod h1:AHcE/gZH76Bk/ROZhQphlRoWo5xKDEtz3eVEO1LfA8c= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda h1:LI5DOvAxUPMv/50agcLLoo+AdWc1irS9Rzz4vPuD1V4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= +google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 5cde2faa..876fc84c 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -178,20 +178,20 @@ func (JobStatus) EnumDescriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{2} } -type StartAgentJobRequest struct { +type CreateAgentJobDefinitionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type JobType `protobuf:"varint,1,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` - RoomName string `protobuf:"bytes,2,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` - ParticipantIdentity *string `protobuf:"bytes,3,opt,name=participant_identity,json=participantIdentity,proto3,oneof" json:"participant_identity,omitempty"` - Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` - Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + Type JobType `protobuf:"varint,1,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` + Room string `protobuf:"bytes,2,opt,name=room,proto3" json:"room,omitempty"` + ParticipantIdentity []string `protobuf:"bytes,3,rep,name=participant_identity,json=participantIdentity,proto3" json:"participant_identity,omitempty"` + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *StartAgentJobRequest) Reset() { - *x = StartAgentJobRequest{} +func (x *CreateAgentJobDefinitionRequest) Reset() { + *x = CreateAgentJobDefinitionRequest{} if protoimpl.UnsafeEnabled { mi := &file_livekit_agent_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -199,13 +199,13 @@ func (x *StartAgentJobRequest) Reset() { } } -func (x *StartAgentJobRequest) String() string { +func (x *CreateAgentJobDefinitionRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StartAgentJobRequest) ProtoMessage() {} +func (*CreateAgentJobDefinitionRequest) ProtoMessage() {} -func (x *StartAgentJobRequest) ProtoReflect() protoreflect.Message { +func (x *CreateAgentJobDefinitionRequest) ProtoReflect() protoreflect.Message { mi := &file_livekit_agent_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -217,56 +217,56 @@ func (x *StartAgentJobRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StartAgentJobRequest.ProtoReflect.Descriptor instead. -func (*StartAgentJobRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateAgentJobDefinitionRequest.ProtoReflect.Descriptor instead. +func (*CreateAgentJobDefinitionRequest) Descriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{0} } -func (x *StartAgentJobRequest) GetType() JobType { +func (x *CreateAgentJobDefinitionRequest) GetType() JobType { if x != nil { return x.Type } return JobType_JT_ROOM } -func (x *StartAgentJobRequest) GetRoomName() string { +func (x *CreateAgentJobDefinitionRequest) GetRoom() string { if x != nil { - return x.RoomName + return x.Room } return "" } -func (x *StartAgentJobRequest) GetParticipantIdentity() string { - if x != nil && x.ParticipantIdentity != nil { - return *x.ParticipantIdentity +func (x *CreateAgentJobDefinitionRequest) GetParticipantIdentity() []string { + if x != nil { + return x.ParticipantIdentity } - return "" + return nil } -func (x *StartAgentJobRequest) GetNamespace() string { +func (x *CreateAgentJobDefinitionRequest) GetNamespace() string { if x != nil { return x.Namespace } return "" } -func (x *StartAgentJobRequest) GetMetadata() string { +func (x *CreateAgentJobDefinitionRequest) GetMetadata() string { if x != nil { return x.Metadata } return "" } -type StopAgentJobRequest struct { +type DeleteAgentJobDefinitionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + JobDefinitionId string `protobuf:"bytes,1,opt,name=job_definition_id,json=jobDefinitionId,proto3" json:"job_definition_id,omitempty"` } -func (x *StopAgentJobRequest) Reset() { - *x = StopAgentJobRequest{} +func (x *DeleteAgentJobDefinitionRequest) Reset() { + *x = DeleteAgentJobDefinitionRequest{} if protoimpl.UnsafeEnabled { mi := &file_livekit_agent_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -274,13 +274,13 @@ func (x *StopAgentJobRequest) Reset() { } } -func (x *StopAgentJobRequest) String() string { +func (x *DeleteAgentJobDefinitionRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StopAgentJobRequest) ProtoMessage() {} +func (*DeleteAgentJobDefinitionRequest) ProtoMessage() {} -func (x *StopAgentJobRequest) ProtoReflect() protoreflect.Message { +func (x *DeleteAgentJobDefinitionRequest) ProtoReflect() protoreflect.Message { mi := &file_livekit_agent_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -292,28 +292,29 @@ func (x *StopAgentJobRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StopAgentJobRequest.ProtoReflect.Descriptor instead. -func (*StopAgentJobRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteAgentJobDefinitionRequest.ProtoReflect.Descriptor instead. +func (*DeleteAgentJobDefinitionRequest) Descriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{1} } -func (x *StopAgentJobRequest) GetJobId() string { +func (x *DeleteAgentJobDefinitionRequest) GetJobDefinitionId() string { if x != nil { - return x.JobId + return x.JobDefinitionId } return "" } -type ListAgentJobsRequest struct { +type ListAgentJobDefinitionsRequesst struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // if set, only the job whose id is given will be returned + JobDefinitionId string `protobuf:"bytes,1,opt,name=job_definition_id,json=jobDefinitionId,proto3" json:"job_definition_id,omitempty"` // if set, only the job definition whose id is given will be returned + Room string `protobuf:"bytes,2,opt,name=room,proto3" json:"room,omitempty"` // name of the room to list agents for. Must be set. } -func (x *ListAgentJobsRequest) Reset() { - *x = ListAgentJobsRequest{} +func (x *ListAgentJobDefinitionsRequesst) Reset() { + *x = ListAgentJobDefinitionsRequesst{} if protoimpl.UnsafeEnabled { mi := &file_livekit_agent_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -321,13 +322,13 @@ func (x *ListAgentJobsRequest) Reset() { } } -func (x *ListAgentJobsRequest) String() string { +func (x *ListAgentJobDefinitionsRequesst) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAgentJobsRequest) ProtoMessage() {} +func (*ListAgentJobDefinitionsRequesst) ProtoMessage() {} -func (x *ListAgentJobsRequest) ProtoReflect() protoreflect.Message { +func (x *ListAgentJobDefinitionsRequesst) ProtoReflect() protoreflect.Message { mi := &file_livekit_agent_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -339,28 +340,35 @@ func (x *ListAgentJobsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAgentJobsRequest.ProtoReflect.Descriptor instead. -func (*ListAgentJobsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListAgentJobDefinitionsRequesst.ProtoReflect.Descriptor instead. +func (*ListAgentJobDefinitionsRequesst) Descriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{2} } -func (x *ListAgentJobsRequest) GetJobId() string { +func (x *ListAgentJobDefinitionsRequesst) GetJobDefinitionId() string { if x != nil { - return x.JobId + return x.JobDefinitionId + } + return "" +} + +func (x *ListAgentJobDefinitionsRequesst) GetRoom() string { + if x != nil { + return x.Room } return "" } -type ListAgentJobsResponse struct { +type ListAgentJobDefinitionsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"` + JobDefinitions []*JobDefinition `protobuf:"bytes,1,rep,name=job_definitions,json=jobDefinitions,proto3" json:"job_definitions,omitempty"` } -func (x *ListAgentJobsResponse) Reset() { - *x = ListAgentJobsResponse{} +func (x *ListAgentJobDefinitionsResponse) Reset() { + *x = ListAgentJobDefinitionsResponse{} if protoimpl.UnsafeEnabled { mi := &file_livekit_agent_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -368,13 +376,13 @@ func (x *ListAgentJobsResponse) Reset() { } } -func (x *ListAgentJobsResponse) String() string { +func (x *ListAgentJobDefinitionsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAgentJobsResponse) ProtoMessage() {} +func (*ListAgentJobDefinitionsResponse) ProtoMessage() {} -func (x *ListAgentJobsResponse) ProtoReflect() protoreflect.Message { +func (x *ListAgentJobDefinitionsResponse) ProtoReflect() protoreflect.Message { mi := &file_livekit_agent_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -386,18 +394,178 @@ func (x *ListAgentJobsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAgentJobsResponse.ProtoReflect.Descriptor instead. -func (*ListAgentJobsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListAgentJobDefinitionsResponse.ProtoReflect.Descriptor instead. +func (*ListAgentJobDefinitionsResponse) Descriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{3} } -func (x *ListAgentJobsResponse) GetJobs() []*Job { +func (x *ListAgentJobDefinitionsResponse) GetJobDefinitions() []*JobDefinition { + if x != nil { + return x.JobDefinitions + } + return nil +} + +type JobDefinition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Type JobType `protobuf:"varint,2,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` + Room string `protobuf:"bytes,3,opt,name=room,proto3" json:"room,omitempty"` + ParticipantIdentity []string `protobuf:"bytes,4,rep,name=participant_identity,json=participantIdentity,proto3" json:"participant_identity,omitempty"` + Namespace string `protobuf:"bytes,5,opt,name=namespace,proto3" json:"namespace,omitempty"` + Metadata string `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + State *JobDefinitionState `protobuf:"bytes,7,opt,name=state,proto3" json:"state,omitempty"` +} + +func (x *JobDefinition) Reset() { + *x = JobDefinition{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JobDefinition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JobDefinition) ProtoMessage() {} + +func (x *JobDefinition) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JobDefinition.ProtoReflect.Descriptor instead. +func (*JobDefinition) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{4} +} + +func (x *JobDefinition) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *JobDefinition) GetType() JobType { + if x != nil { + return x.Type + } + return JobType_JT_ROOM +} + +func (x *JobDefinition) GetRoom() string { + if x != nil { + return x.Room + } + return "" +} + +func (x *JobDefinition) GetParticipantIdentity() []string { + if x != nil { + return x.ParticipantIdentity + } + return nil +} + +func (x *JobDefinition) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *JobDefinition) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +func (x *JobDefinition) GetState() *JobDefinitionState { + if x != nil { + return x.State + } + return nil +} + +type JobDefinitionState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // For job definitions of tyoe JT_ROOM, there will be at most 1 job. + // For job definitions of type JT_PUBLISHER, there will be 1 job per provided participant identity, or per publisher in the room if left empty. + Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"` + CreatedAt int64 `protobuf:"varint,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + DeletedAt int64 `protobuf:"varint,3,opt,name=deleted_at,json=deletedAt,proto3" json:"deleted_at,omitempty"` +} + +func (x *JobDefinitionState) Reset() { + *x = JobDefinitionState{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JobDefinitionState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JobDefinitionState) ProtoMessage() {} + +func (x *JobDefinitionState) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JobDefinitionState.ProtoReflect.Descriptor instead. +func (*JobDefinitionState) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{5} +} + +func (x *JobDefinitionState) GetJobs() []*Job { if x != nil { return x.Jobs } return nil } +func (x *JobDefinitionState) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *JobDefinitionState) GetDeletedAt() int64 { + if x != nil { + return x.DeletedAt + } + return 0 +} + type Job struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -415,7 +583,7 @@ type Job struct { func (x *Job) Reset() { *x = Job{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[4] + mi := &file_livekit_agent_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -428,7 +596,7 @@ func (x *Job) String() string { func (*Job) ProtoMessage() {} func (x *Job) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[4] + mi := &file_livekit_agent_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -441,7 +609,7 @@ func (x *Job) ProtoReflect() protoreflect.Message { // Deprecated: Use Job.ProtoReflect.Descriptor instead. func (*Job) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{4} + return file_livekit_agent_proto_rawDescGZIP(), []int{6} } func (x *Job) GetId() string { @@ -508,7 +676,7 @@ type JobState struct { func (x *JobState) Reset() { *x = JobState{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[5] + mi := &file_livekit_agent_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -521,7 +689,7 @@ func (x *JobState) String() string { func (*JobState) ProtoMessage() {} func (x *JobState) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[5] + mi := &file_livekit_agent_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -534,7 +702,7 @@ func (x *JobState) ProtoReflect() protoreflect.Message { // Deprecated: Use JobState.ProtoReflect.Descriptor instead. func (*JobState) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{5} + return file_livekit_agent_proto_rawDescGZIP(), []int{7} } func (x *JobState) GetStatus() JobStatus { @@ -593,7 +761,7 @@ type WorkerMessage struct { func (x *WorkerMessage) Reset() { *x = WorkerMessage{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[6] + mi := &file_livekit_agent_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -606,7 +774,7 @@ func (x *WorkerMessage) String() string { func (*WorkerMessage) ProtoMessage() {} func (x *WorkerMessage) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[6] + mi := &file_livekit_agent_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -619,7 +787,7 @@ func (x *WorkerMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerMessage.ProtoReflect.Descriptor instead. func (*WorkerMessage) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{6} + return file_livekit_agent_proto_rawDescGZIP(), []int{8} } func (m *WorkerMessage) GetMessage() isWorkerMessage_Message { @@ -747,7 +915,7 @@ type ServerMessage struct { func (x *ServerMessage) Reset() { *x = ServerMessage{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[7] + mi := &file_livekit_agent_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -760,7 +928,7 @@ func (x *ServerMessage) String() string { func (*ServerMessage) ProtoMessage() {} func (x *ServerMessage) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[7] + mi := &file_livekit_agent_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -773,7 +941,7 @@ func (x *ServerMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerMessage.ProtoReflect.Descriptor instead. func (*ServerMessage) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{7} + return file_livekit_agent_proto_rawDescGZIP(), []int{9} } func (m *ServerMessage) GetMessage() isServerMessage_Message { @@ -867,7 +1035,7 @@ type SimulateJobRequest struct { func (x *SimulateJobRequest) Reset() { *x = SimulateJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[8] + mi := &file_livekit_agent_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -880,7 +1048,7 @@ func (x *SimulateJobRequest) String() string { func (*SimulateJobRequest) ProtoMessage() {} func (x *SimulateJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[8] + mi := &file_livekit_agent_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -893,7 +1061,7 @@ func (x *SimulateJobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SimulateJobRequest.ProtoReflect.Descriptor instead. func (*SimulateJobRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{8} + return file_livekit_agent_proto_rawDescGZIP(), []int{10} } func (x *SimulateJobRequest) GetType() JobType { @@ -928,7 +1096,7 @@ type WorkerPing struct { func (x *WorkerPing) Reset() { *x = WorkerPing{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[9] + mi := &file_livekit_agent_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -941,7 +1109,7 @@ func (x *WorkerPing) String() string { func (*WorkerPing) ProtoMessage() {} func (x *WorkerPing) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[9] + mi := &file_livekit_agent_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -954,7 +1122,7 @@ func (x *WorkerPing) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerPing.ProtoReflect.Descriptor instead. func (*WorkerPing) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{9} + return file_livekit_agent_proto_rawDescGZIP(), []int{11} } func (x *WorkerPing) GetTimestamp() int64 { @@ -976,7 +1144,7 @@ type WorkerPong struct { func (x *WorkerPong) Reset() { *x = WorkerPong{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[10] + mi := &file_livekit_agent_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -989,7 +1157,7 @@ func (x *WorkerPong) String() string { func (*WorkerPong) ProtoMessage() {} func (x *WorkerPong) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[10] + mi := &file_livekit_agent_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1002,7 +1170,7 @@ func (x *WorkerPong) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkerPong.ProtoReflect.Descriptor instead. func (*WorkerPong) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{10} + return file_livekit_agent_proto_rawDescGZIP(), []int{12} } func (x *WorkerPong) GetLastTimestamp() int64 { @@ -1036,7 +1204,7 @@ type RegisterWorkerRequest struct { func (x *RegisterWorkerRequest) Reset() { *x = RegisterWorkerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[11] + mi := &file_livekit_agent_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1049,7 +1217,7 @@ func (x *RegisterWorkerRequest) String() string { func (*RegisterWorkerRequest) ProtoMessage() {} func (x *RegisterWorkerRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[11] + mi := &file_livekit_agent_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1062,7 +1230,7 @@ func (x *RegisterWorkerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterWorkerRequest.ProtoReflect.Descriptor instead. func (*RegisterWorkerRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{11} + return file_livekit_agent_proto_rawDescGZIP(), []int{13} } func (x *RegisterWorkerRequest) GetType() JobType { @@ -1119,7 +1287,7 @@ type RegisterWorkerResponse struct { func (x *RegisterWorkerResponse) Reset() { *x = RegisterWorkerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[12] + mi := &file_livekit_agent_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1132,7 +1300,7 @@ func (x *RegisterWorkerResponse) String() string { func (*RegisterWorkerResponse) ProtoMessage() {} func (x *RegisterWorkerResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[12] + mi := &file_livekit_agent_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1145,7 +1313,7 @@ func (x *RegisterWorkerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterWorkerResponse.ProtoReflect.Descriptor instead. func (*RegisterWorkerResponse) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{12} + return file_livekit_agent_proto_rawDescGZIP(), []int{14} } func (x *RegisterWorkerResponse) GetWorkerId() string { @@ -1173,7 +1341,7 @@ type MigrateJobRequest struct { func (x *MigrateJobRequest) Reset() { *x = MigrateJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[13] + mi := &file_livekit_agent_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1186,7 +1354,7 @@ func (x *MigrateJobRequest) String() string { func (*MigrateJobRequest) ProtoMessage() {} func (x *MigrateJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[13] + mi := &file_livekit_agent_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1199,7 +1367,7 @@ func (x *MigrateJobRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MigrateJobRequest.ProtoReflect.Descriptor instead. func (*MigrateJobRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{13} + return file_livekit_agent_proto_rawDescGZIP(), []int{15} } func (x *MigrateJobRequest) GetJobId() string { @@ -1223,7 +1391,7 @@ type AvailabilityRequest struct { func (x *AvailabilityRequest) Reset() { *x = AvailabilityRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1236,7 +1404,7 @@ func (x *AvailabilityRequest) String() string { func (*AvailabilityRequest) ProtoMessage() {} func (x *AvailabilityRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1249,7 +1417,7 @@ func (x *AvailabilityRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AvailabilityRequest.ProtoReflect.Descriptor instead. func (*AvailabilityRequest) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{14} + return file_livekit_agent_proto_rawDescGZIP(), []int{16} } func (x *AvailabilityRequest) GetJob() *Job { @@ -1282,7 +1450,7 @@ type AvailabilityResponse struct { func (x *AvailabilityResponse) Reset() { *x = AvailabilityResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1295,7 +1463,7 @@ func (x *AvailabilityResponse) String() string { func (*AvailabilityResponse) ProtoMessage() {} func (x *AvailabilityResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1308,7 +1476,7 @@ func (x *AvailabilityResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AvailabilityResponse.ProtoReflect.Descriptor instead. func (*AvailabilityResponse) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{15} + return file_livekit_agent_proto_rawDescGZIP(), []int{17} } func (x *AvailabilityResponse) GetJobId() string { @@ -1368,7 +1536,7 @@ type UpdateJobStatus struct { func (x *UpdateJobStatus) Reset() { *x = UpdateJobStatus{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[16] + mi := &file_livekit_agent_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1381,7 +1549,7 @@ func (x *UpdateJobStatus) String() string { func (*UpdateJobStatus) ProtoMessage() {} func (x *UpdateJobStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[16] + mi := &file_livekit_agent_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1394,7 +1562,7 @@ func (x *UpdateJobStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateJobStatus.ProtoReflect.Descriptor instead. func (*UpdateJobStatus) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{16} + return file_livekit_agent_proto_rawDescGZIP(), []int{18} } func (x *UpdateJobStatus) GetJobId() string { @@ -1431,7 +1599,7 @@ type UpdateWorkerStatus struct { func (x *UpdateWorkerStatus) Reset() { *x = UpdateWorkerStatus{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[17] + mi := &file_livekit_agent_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1444,7 +1612,7 @@ func (x *UpdateWorkerStatus) String() string { func (*UpdateWorkerStatus) ProtoMessage() {} func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[17] + mi := &file_livekit_agent_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1457,7 +1625,7 @@ func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateWorkerStatus.ProtoReflect.Descriptor instead. func (*UpdateWorkerStatus) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{17} + return file_livekit_agent_proto_rawDescGZIP(), []int{19} } func (x *UpdateWorkerStatus) GetStatus() WorkerStatus { @@ -1487,7 +1655,7 @@ type JobAssignment struct { func (x *JobAssignment) Reset() { *x = JobAssignment{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[18] + mi := &file_livekit_agent_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1500,7 +1668,7 @@ func (x *JobAssignment) String() string { func (*JobAssignment) ProtoMessage() {} func (x *JobAssignment) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[18] + mi := &file_livekit_agent_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1513,7 +1681,7 @@ func (x *JobAssignment) ProtoReflect() protoreflect.Message { // Deprecated: Use JobAssignment.ProtoReflect.Descriptor instead. func (*JobAssignment) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{18} + return file_livekit_agent_proto_rawDescGZIP(), []int{20} } func (x *JobAssignment) GetJob() *Job { @@ -1548,7 +1716,7 @@ type JobTermination struct { func (x *JobTermination) Reset() { *x = JobTermination{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[19] + mi := &file_livekit_agent_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1561,7 +1729,7 @@ func (x *JobTermination) String() string { func (*JobTermination) ProtoMessage() {} func (x *JobTermination) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[19] + mi := &file_livekit_agent_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1574,7 +1742,7 @@ func (x *JobTermination) ProtoReflect() protoreflect.Message { // Deprecated: Use JobTermination.ProtoReflect.Descriptor instead. func (*JobTermination) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{19} + return file_livekit_agent_proto_rawDescGZIP(), []int{21} } func (x *JobTermination) GetJobId() string { @@ -1590,225 +1758,260 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x0a, 0x13, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe4, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x36, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, + 0x6f, 0x6d, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x2c, 0x0a, 0x13, 0x53, - 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x14, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x20, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, - 0x6f, 0x62, 0x73, 0x22, 0x92, 0x02, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, - 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x08, 0x4a, 0x6f, 0x62, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, - 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, - 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xbf, 0x02, 0x0a, 0x0d, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, - 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c, - 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, - 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x74, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x65, 0x72, - 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x72, 0x6d, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, - 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x99, 0x01, - 0x0a, 0x12, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, - 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3a, 0x0a, - 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x2a, 0x0a, 0x0a, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x51, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, - 0x6f, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x92, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, - 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4f, - 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x6b, 0x0a, - 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2a, 0x0a, 0x11, 0x4d, 0x69, - 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x13, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, - 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1a, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x85, 0x02, 0x0a, 0x14, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, - 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x31, - 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x6a, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x67, 0x0a, - 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x64, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x27, 0x0a, 0x0e, - 0x4a, 0x6f, 0x62, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, - 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, - 0x0c, 0x4a, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x01, 0x2a, - 0x2d, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x10, 0x0a, 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, - 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x4a, - 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, - 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, - 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, - 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4a, - 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x32, 0xd8, 0x01, 0x0a, 0x0c, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1d, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x0a, 0x0c, 0x53, 0x74, 0x6f, - 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x4e, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, - 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, - 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x4d, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, + 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6a, + 0x6f, 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x61, + 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x44, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6a, 0x6f, + 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, + 0x6d, 0x22, 0x62, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, + 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf9, 0x01, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, + 0x6d, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x22, 0x74, 0x0a, 0x12, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x92, 0x02, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, + 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0xa5, 0x01, 0x0a, + 0x08, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x22, 0xc8, 0x03, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, + 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x70, + 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, + 0x6a, 0x6f, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x3d, 0x0a, 0x0b, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, + 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0xbf, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x48, 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, + 0x0a, 0x0b, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, + 0x62, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, + 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x04, 0x70, + 0x6f, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, + 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, + 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, + 0x6d, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x2a, 0x0a, + 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x51, 0x0a, 0x0a, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x92, 0x02, 0x0a, + 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, + 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x69, + 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, + 0x21, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x22, 0x6b, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2a, + 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x13, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, + 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x85, 0x02, + 0x0a, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x75, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x6a, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, + 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, + 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x22, 0x67, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, + 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x64, 0x0a, 0x0d, 0x4a, 0x6f, + 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, + 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x03, 0x75, + 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, + 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, + 0x22, 0x27, 0x0a, 0x0e, 0x4a, 0x6f, 0x62, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x2a, 0x28, 0x0a, 0x07, 0x4a, 0x6f, 0x62, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, + 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, + 0x52, 0x10, 0x01, 0x2a, 0x2d, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, + 0x10, 0x01, 0x2a, 0x4a, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, + 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, + 0x0e, 0x0a, 0x0a, 0x4a, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, + 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x32, 0xb9, + 0x02, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x5c, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, + 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, + 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x44, + 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, + 0x6f, 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, + 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6d, 0x0a, 0x17, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1824,77 +2027,82 @@ func file_livekit_agent_proto_rawDescGZIP() []byte { } var file_livekit_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 22) var file_livekit_agent_proto_goTypes = []interface{}{ - (JobType)(0), // 0: livekit.JobType - (WorkerStatus)(0), // 1: livekit.WorkerStatus - (JobStatus)(0), // 2: livekit.JobStatus - (*StartAgentJobRequest)(nil), // 3: livekit.StartAgentJobRequest - (*StopAgentJobRequest)(nil), // 4: livekit.StopAgentJobRequest - (*ListAgentJobsRequest)(nil), // 5: livekit.ListAgentJobsRequest - (*ListAgentJobsResponse)(nil), // 6: livekit.ListAgentJobsResponse - (*Job)(nil), // 7: livekit.Job - (*JobState)(nil), // 8: livekit.JobState - (*WorkerMessage)(nil), // 9: livekit.WorkerMessage - (*ServerMessage)(nil), // 10: livekit.ServerMessage - (*SimulateJobRequest)(nil), // 11: livekit.SimulateJobRequest - (*WorkerPing)(nil), // 12: livekit.WorkerPing - (*WorkerPong)(nil), // 13: livekit.WorkerPong - (*RegisterWorkerRequest)(nil), // 14: livekit.RegisterWorkerRequest - (*RegisterWorkerResponse)(nil), // 15: livekit.RegisterWorkerResponse - (*MigrateJobRequest)(nil), // 16: livekit.MigrateJobRequest - (*AvailabilityRequest)(nil), // 17: livekit.AvailabilityRequest - (*AvailabilityResponse)(nil), // 18: livekit.AvailabilityResponse - (*UpdateJobStatus)(nil), // 19: livekit.UpdateJobStatus - (*UpdateWorkerStatus)(nil), // 20: livekit.UpdateWorkerStatus - (*JobAssignment)(nil), // 21: livekit.JobAssignment - (*JobTermination)(nil), // 22: livekit.JobTermination - (*Room)(nil), // 23: livekit.Room - (*ParticipantInfo)(nil), // 24: livekit.ParticipantInfo - (*ParticipantPermission)(nil), // 25: livekit.ParticipantPermission - (*ServerInfo)(nil), // 26: livekit.ServerInfo + (JobType)(0), // 0: livekit.JobType + (WorkerStatus)(0), // 1: livekit.WorkerStatus + (JobStatus)(0), // 2: livekit.JobStatus + (*CreateAgentJobDefinitionRequest)(nil), // 3: livekit.CreateAgentJobDefinitionRequest + (*DeleteAgentJobDefinitionRequest)(nil), // 4: livekit.DeleteAgentJobDefinitionRequest + (*ListAgentJobDefinitionsRequesst)(nil), // 5: livekit.ListAgentJobDefinitionsRequesst + (*ListAgentJobDefinitionsResponse)(nil), // 6: livekit.ListAgentJobDefinitionsResponse + (*JobDefinition)(nil), // 7: livekit.JobDefinition + (*JobDefinitionState)(nil), // 8: livekit.JobDefinitionState + (*Job)(nil), // 9: livekit.Job + (*JobState)(nil), // 10: livekit.JobState + (*WorkerMessage)(nil), // 11: livekit.WorkerMessage + (*ServerMessage)(nil), // 12: livekit.ServerMessage + (*SimulateJobRequest)(nil), // 13: livekit.SimulateJobRequest + (*WorkerPing)(nil), // 14: livekit.WorkerPing + (*WorkerPong)(nil), // 15: livekit.WorkerPong + (*RegisterWorkerRequest)(nil), // 16: livekit.RegisterWorkerRequest + (*RegisterWorkerResponse)(nil), // 17: livekit.RegisterWorkerResponse + (*MigrateJobRequest)(nil), // 18: livekit.MigrateJobRequest + (*AvailabilityRequest)(nil), // 19: livekit.AvailabilityRequest + (*AvailabilityResponse)(nil), // 20: livekit.AvailabilityResponse + (*UpdateJobStatus)(nil), // 21: livekit.UpdateJobStatus + (*UpdateWorkerStatus)(nil), // 22: livekit.UpdateWorkerStatus + (*JobAssignment)(nil), // 23: livekit.JobAssignment + (*JobTermination)(nil), // 24: livekit.JobTermination + (*Room)(nil), // 25: livekit.Room + (*ParticipantInfo)(nil), // 26: livekit.ParticipantInfo + (*ParticipantPermission)(nil), // 27: livekit.ParticipantPermission + (*ServerInfo)(nil), // 28: livekit.ServerInfo } var file_livekit_agent_proto_depIdxs = []int32{ - 0, // 0: livekit.StartAgentJobRequest.type:type_name -> livekit.JobType - 7, // 1: livekit.ListAgentJobsResponse.jobs:type_name -> livekit.Job - 0, // 2: livekit.Job.type:type_name -> livekit.JobType - 23, // 3: livekit.Job.room:type_name -> livekit.Room - 24, // 4: livekit.Job.participant:type_name -> livekit.ParticipantInfo - 8, // 5: livekit.Job.state:type_name -> livekit.JobState - 2, // 6: livekit.JobState.status:type_name -> livekit.JobStatus - 14, // 7: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest - 18, // 8: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse - 20, // 9: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus - 19, // 10: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus - 12, // 11: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing - 11, // 12: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest - 16, // 13: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest - 15, // 14: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse - 17, // 15: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest - 21, // 16: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment - 22, // 17: livekit.ServerMessage.termination:type_name -> livekit.JobTermination - 13, // 18: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong - 0, // 19: livekit.SimulateJobRequest.type:type_name -> livekit.JobType - 23, // 20: livekit.SimulateJobRequest.room:type_name -> livekit.Room - 24, // 21: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo - 0, // 22: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType - 25, // 23: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission - 26, // 24: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo - 7, // 25: livekit.AvailabilityRequest.job:type_name -> livekit.Job - 2, // 26: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus - 1, // 27: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus - 7, // 28: livekit.JobAssignment.job:type_name -> livekit.Job - 3, // 29: livekit.AgentService.StartAgentJob:input_type -> livekit.StartAgentJobRequest - 4, // 30: livekit.AgentService.StopAgentJob:input_type -> livekit.StopAgentJobRequest - 5, // 31: livekit.AgentService.ListAgentJobs:input_type -> livekit.ListAgentJobsRequest - 7, // 32: livekit.AgentService.StartAgentJob:output_type -> livekit.Job - 7, // 33: livekit.AgentService.StopAgentJob:output_type -> livekit.Job - 6, // 34: livekit.AgentService.ListAgentJobs:output_type -> livekit.ListAgentJobsResponse - 32, // [32:35] is the sub-list for method output_type - 29, // [29:32] is the sub-list for method input_type - 29, // [29:29] is the sub-list for extension type_name - 29, // [29:29] is the sub-list for extension extendee - 0, // [0:29] is the sub-list for field type_name + 0, // 0: livekit.CreateAgentJobDefinitionRequest.type:type_name -> livekit.JobType + 7, // 1: livekit.ListAgentJobDefinitionsResponse.job_definitions:type_name -> livekit.JobDefinition + 0, // 2: livekit.JobDefinition.type:type_name -> livekit.JobType + 8, // 3: livekit.JobDefinition.state:type_name -> livekit.JobDefinitionState + 9, // 4: livekit.JobDefinitionState.jobs:type_name -> livekit.Job + 0, // 5: livekit.Job.type:type_name -> livekit.JobType + 25, // 6: livekit.Job.room:type_name -> livekit.Room + 26, // 7: livekit.Job.participant:type_name -> livekit.ParticipantInfo + 10, // 8: livekit.Job.state:type_name -> livekit.JobState + 2, // 9: livekit.JobState.status:type_name -> livekit.JobStatus + 16, // 10: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest + 20, // 11: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse + 22, // 12: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus + 21, // 13: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus + 14, // 14: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing + 13, // 15: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest + 18, // 16: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest + 17, // 17: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse + 19, // 18: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest + 23, // 19: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment + 24, // 20: livekit.ServerMessage.termination:type_name -> livekit.JobTermination + 15, // 21: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong + 0, // 22: livekit.SimulateJobRequest.type:type_name -> livekit.JobType + 25, // 23: livekit.SimulateJobRequest.room:type_name -> livekit.Room + 26, // 24: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo + 0, // 25: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType + 27, // 26: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission + 28, // 27: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo + 9, // 28: livekit.AvailabilityRequest.job:type_name -> livekit.Job + 2, // 29: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus + 1, // 30: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus + 9, // 31: livekit.JobAssignment.job:type_name -> livekit.Job + 3, // 32: livekit.AgentService.CreateAgentJobDefinition:input_type -> livekit.CreateAgentJobDefinitionRequest + 4, // 33: livekit.AgentService.DeleteAgentJobDefinition:input_type -> livekit.DeleteAgentJobDefinitionRequest + 5, // 34: livekit.AgentService.ListAgentJobDefinitions:input_type -> livekit.ListAgentJobDefinitionsRequesst + 7, // 35: livekit.AgentService.CreateAgentJobDefinition:output_type -> livekit.JobDefinition + 7, // 36: livekit.AgentService.DeleteAgentJobDefinition:output_type -> livekit.JobDefinition + 6, // 37: livekit.AgentService.ListAgentJobDefinitions:output_type -> livekit.ListAgentJobDefinitionsResponse + 35, // [35:38] is the sub-list for method output_type + 32, // [32:35] is the sub-list for method input_type + 32, // [32:32] is the sub-list for extension type_name + 32, // [32:32] is the sub-list for extension extendee + 0, // [0:32] is the sub-list for field type_name } func init() { file_livekit_agent_proto_init() } @@ -1905,7 +2113,7 @@ func file_livekit_agent_proto_init() { file_livekit_models_proto_init() if !protoimpl.UnsafeEnabled { file_livekit_agent_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartAgentJobRequest); i { + switch v := v.(*CreateAgentJobDefinitionRequest); i { case 0: return &v.state case 1: @@ -1917,7 +2125,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopAgentJobRequest); i { + switch v := v.(*DeleteAgentJobDefinitionRequest); i { case 0: return &v.state case 1: @@ -1929,7 +2137,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAgentJobsRequest); i { + switch v := v.(*ListAgentJobDefinitionsRequesst); i { case 0: return &v.state case 1: @@ -1941,7 +2149,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAgentJobsResponse); i { + switch v := v.(*ListAgentJobDefinitionsResponse); i { case 0: return &v.state case 1: @@ -1953,7 +2161,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Job); i { + switch v := v.(*JobDefinition); i { case 0: return &v.state case 1: @@ -1965,7 +2173,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JobState); i { + switch v := v.(*JobDefinitionState); i { case 0: return &v.state case 1: @@ -1977,7 +2185,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkerMessage); i { + switch v := v.(*Job); i { case 0: return &v.state case 1: @@ -1989,7 +2197,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServerMessage); i { + switch v := v.(*JobState); i { case 0: return &v.state case 1: @@ -2001,7 +2209,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SimulateJobRequest); i { + switch v := v.(*WorkerMessage); i { case 0: return &v.state case 1: @@ -2013,7 +2221,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkerPing); i { + switch v := v.(*ServerMessage); i { case 0: return &v.state case 1: @@ -2025,7 +2233,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkerPong); i { + switch v := v.(*SimulateJobRequest); i { case 0: return &v.state case 1: @@ -2037,7 +2245,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterWorkerRequest); i { + switch v := v.(*WorkerPing); i { case 0: return &v.state case 1: @@ -2049,7 +2257,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterWorkerResponse); i { + switch v := v.(*WorkerPong); i { case 0: return &v.state case 1: @@ -2061,7 +2269,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MigrateJobRequest); i { + switch v := v.(*RegisterWorkerRequest); i { case 0: return &v.state case 1: @@ -2073,7 +2281,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AvailabilityRequest); i { + switch v := v.(*RegisterWorkerResponse); i { case 0: return &v.state case 1: @@ -2085,7 +2293,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AvailabilityResponse); i { + switch v := v.(*MigrateJobRequest); i { case 0: return &v.state case 1: @@ -2097,7 +2305,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateJobStatus); i { + switch v := v.(*AvailabilityRequest); i { case 0: return &v.state case 1: @@ -2109,7 +2317,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateWorkerStatus); i { + switch v := v.(*AvailabilityResponse); i { case 0: return &v.state case 1: @@ -2121,7 +2329,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JobAssignment); i { + switch v := v.(*UpdateJobStatus); i { case 0: return &v.state case 1: @@ -2133,6 +2341,30 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateWorkerStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JobAssignment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_agent_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobTermination); i { case 0: return &v.state @@ -2145,9 +2377,8 @@ func file_livekit_agent_proto_init() { } } } - file_livekit_agent_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[4].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[6].OneofWrappers = []interface{}{ + file_livekit_agent_proto_msgTypes[6].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[8].OneofWrappers = []interface{}{ (*WorkerMessage_Register)(nil), (*WorkerMessage_Availability)(nil), (*WorkerMessage_UpdateWorker)(nil), @@ -2156,23 +2387,23 @@ func file_livekit_agent_proto_init() { (*WorkerMessage_SimulateJob)(nil), (*WorkerMessage_MigrateJob)(nil), } - file_livekit_agent_proto_msgTypes[7].OneofWrappers = []interface{}{ + file_livekit_agent_proto_msgTypes[9].OneofWrappers = []interface{}{ (*ServerMessage_Register)(nil), (*ServerMessage_Availability)(nil), (*ServerMessage_Assignment)(nil), (*ServerMessage_Termination)(nil), (*ServerMessage_Pong)(nil), } - file_livekit_agent_proto_msgTypes[11].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[17].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[18].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[13].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[19].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[20].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_livekit_agent_proto_rawDesc, NumEnums: 3, - NumMessages: 20, + NumMessages: 22, NumExtensions: 0, NumServices: 1, }, diff --git a/livekit/livekit_agent_grpc.pb.go b/livekit/livekit_agent_grpc.pb.go new file mode 100644 index 00000000..889b3629 --- /dev/null +++ b/livekit/livekit_agent_grpc.pb.go @@ -0,0 +1,197 @@ +// Copyright 2023 LiveKit, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v5.26.1 +// source: livekit_agent.proto + +package livekit + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + AgentService_CreateAgentJobDefinition_FullMethodName = "/livekit.AgentService/CreateAgentJobDefinition" + AgentService_DeleteAgentJobDefinition_FullMethodName = "/livekit.AgentService/DeleteAgentJobDefinition" + AgentService_ListAgentJobDefinitions_FullMethodName = "/livekit.AgentService/ListAgentJobDefinitions" +) + +// AgentServiceClient is the client API for AgentService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type AgentServiceClient interface { + CreateAgentJobDefinition(ctx context.Context, in *CreateAgentJobDefinitionRequest, opts ...grpc.CallOption) (*JobDefinition, error) + DeleteAgentJobDefinition(ctx context.Context, in *DeleteAgentJobDefinitionRequest, opts ...grpc.CallOption) (*JobDefinition, error) + ListAgentJobDefinitions(ctx context.Context, in *ListAgentJobDefinitionsRequesst, opts ...grpc.CallOption) (*ListAgentJobDefinitionsResponse, error) +} + +type agentServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewAgentServiceClient(cc grpc.ClientConnInterface) AgentServiceClient { + return &agentServiceClient{cc} +} + +func (c *agentServiceClient) CreateAgentJobDefinition(ctx context.Context, in *CreateAgentJobDefinitionRequest, opts ...grpc.CallOption) (*JobDefinition, error) { + out := new(JobDefinition) + err := c.cc.Invoke(ctx, AgentService_CreateAgentJobDefinition_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) DeleteAgentJobDefinition(ctx context.Context, in *DeleteAgentJobDefinitionRequest, opts ...grpc.CallOption) (*JobDefinition, error) { + out := new(JobDefinition) + err := c.cc.Invoke(ctx, AgentService_DeleteAgentJobDefinition_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) ListAgentJobDefinitions(ctx context.Context, in *ListAgentJobDefinitionsRequesst, opts ...grpc.CallOption) (*ListAgentJobDefinitionsResponse, error) { + out := new(ListAgentJobDefinitionsResponse) + err := c.cc.Invoke(ctx, AgentService_ListAgentJobDefinitions_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AgentServiceServer is the server API for AgentService service. +// All implementations must embed UnimplementedAgentServiceServer +// for forward compatibility +type AgentServiceServer interface { + CreateAgentJobDefinition(context.Context, *CreateAgentJobDefinitionRequest) (*JobDefinition, error) + DeleteAgentJobDefinition(context.Context, *DeleteAgentJobDefinitionRequest) (*JobDefinition, error) + ListAgentJobDefinitions(context.Context, *ListAgentJobDefinitionsRequesst) (*ListAgentJobDefinitionsResponse, error) + mustEmbedUnimplementedAgentServiceServer() +} + +// UnimplementedAgentServiceServer must be embedded to have forward compatible implementations. +type UnimplementedAgentServiceServer struct { +} + +func (UnimplementedAgentServiceServer) CreateAgentJobDefinition(context.Context, *CreateAgentJobDefinitionRequest) (*JobDefinition, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateAgentJobDefinition not implemented") +} +func (UnimplementedAgentServiceServer) DeleteAgentJobDefinition(context.Context, *DeleteAgentJobDefinitionRequest) (*JobDefinition, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteAgentJobDefinition not implemented") +} +func (UnimplementedAgentServiceServer) ListAgentJobDefinitions(context.Context, *ListAgentJobDefinitionsRequesst) (*ListAgentJobDefinitionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListAgentJobDefinitions not implemented") +} +func (UnimplementedAgentServiceServer) mustEmbedUnimplementedAgentServiceServer() {} + +// UnsafeAgentServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AgentServiceServer will +// result in compilation errors. +type UnsafeAgentServiceServer interface { + mustEmbedUnimplementedAgentServiceServer() +} + +func RegisterAgentServiceServer(s grpc.ServiceRegistrar, srv AgentServiceServer) { + s.RegisterService(&AgentService_ServiceDesc, srv) +} + +func _AgentService_CreateAgentJobDefinition_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateAgentJobDefinitionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).CreateAgentJobDefinition(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_CreateAgentJobDefinition_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).CreateAgentJobDefinition(ctx, req.(*CreateAgentJobDefinitionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_DeleteAgentJobDefinition_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteAgentJobDefinitionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).DeleteAgentJobDefinition(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_DeleteAgentJobDefinition_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).DeleteAgentJobDefinition(ctx, req.(*DeleteAgentJobDefinitionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_ListAgentJobDefinitions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListAgentJobDefinitionsRequesst) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ListAgentJobDefinitions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ListAgentJobDefinitions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ListAgentJobDefinitions(ctx, req.(*ListAgentJobDefinitionsRequesst)) + } + return interceptor(ctx, in, info, handler) +} + +// AgentService_ServiceDesc is the grpc.ServiceDesc for AgentService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var AgentService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "livekit.AgentService", + HandlerType: (*AgentServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateAgentJobDefinition", + Handler: _AgentService_CreateAgentJobDefinition_Handler, + }, + { + MethodName: "DeleteAgentJobDefinition", + Handler: _AgentService_DeleteAgentJobDefinition_Handler, + }, + { + MethodName: "ListAgentJobDefinitions", + Handler: _AgentService_ListAgentJobDefinitions_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "livekit_agent.proto", +} diff --git a/livekit/livekit_internal.pb.go b/livekit/livekit_internal.pb.go index 64b674e2..e70d63de 100644 --- a/livekit/livekit_internal.pb.go +++ b/livekit/livekit_internal.pb.go @@ -867,10 +867,11 @@ type RoomInternal struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TrackEgress *AutoTrackEgress `protobuf:"bytes,1,opt,name=track_egress,json=trackEgress,proto3" json:"track_egress,omitempty"` - ParticipantEgress *AutoParticipantEgress `protobuf:"bytes,2,opt,name=participant_egress,json=participantEgress,proto3" json:"participant_egress,omitempty"` - PlayoutDelay *PlayoutDelay `protobuf:"bytes,3,opt,name=playout_delay,json=playoutDelay,proto3" json:"playout_delay,omitempty"` - SyncStreams bool `protobuf:"varint,4,opt,name=sync_streams,json=syncStreams,proto3" json:"sync_streams,omitempty"` + TrackEgress *AutoTrackEgress `protobuf:"bytes,1,opt,name=track_egress,json=trackEgress,proto3" json:"track_egress,omitempty"` + ParticipantEgress *AutoParticipantEgress `protobuf:"bytes,2,opt,name=participant_egress,json=participantEgress,proto3" json:"participant_egress,omitempty"` + PlayoutDelay *PlayoutDelay `protobuf:"bytes,3,opt,name=playout_delay,json=playoutDelay,proto3" json:"playout_delay,omitempty"` + Agents []*CreateAgentJobDefinitionRequest `protobuf:"bytes,5,rep,name=agents,proto3" json:"agents,omitempty"` + SyncStreams bool `protobuf:"varint,4,opt,name=sync_streams,json=syncStreams,proto3" json:"sync_streams,omitempty"` } func (x *RoomInternal) Reset() { @@ -926,6 +927,13 @@ func (x *RoomInternal) GetPlayoutDelay() *PlayoutDelay { return nil } +func (x *RoomInternal) GetAgents() []*CreateAgentJobDefinitionRequest { + if x != nil { + return x.Agents + } + return nil +} + func (x *RoomInternal) GetSyncStreams() bool { if x != nil { return x.SyncStreams @@ -995,244 +1003,249 @@ var file_livekit_internal_proto_rawDesc = []byte{ 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x01, - 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x70, - 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x43, 0x70, 0x75, - 0x73, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xee, 0x11, 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x12, 0x1f, 0x0a, - 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x22, - 0x0a, 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x69, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, - 0x49, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, - 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x54, - 0x72, 0x61, 0x63, 0x6b, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x6e, 0x75, 0x6d, 0x5f, - 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x24, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x6e, 0x75, - 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x41, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x1e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x25, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x74, - 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x41, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x39, 0x0a, 0x19, 0x6e, 0x75, 0x6d, - 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x26, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x6e, 0x75, - 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x1d, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x65, - 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x27, 0x20, 0x01, 0x28, 0x02, 0x52, 0x19, 0x74, 0x72, 0x61, - 0x63, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3f, 0x0a, 0x1c, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, - 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x6e, 0x75, - 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x41, - 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, - 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x29, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x1c, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, - 0x3d, 0x0a, 0x1b, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x2a, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x6e, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x44, - 0x0a, 0x1f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, - 0x63, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1b, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x65, - 0x72, 0x53, 0x65, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x69, 0x6e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x62, 0x79, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x12, - 0x1b, 0x0a, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x49, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x6e, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x10, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x50, 0x65, - 0x72, 0x53, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x75, - 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, - 0x2b, 0x0a, 0x12, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x65, - 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x2d, 0x0a, 0x13, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x73, 0x65, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x0c, 0x6e, - 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0a, 0x6e, 0x61, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x19, 0x0a, - 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x6e, 0x75, 0x6d, 0x43, 0x70, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, - 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x31, 0x6d, 0x69, 0x6e, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x67, 0x4c, 0x61, 0x73, 0x74, - 0x31, 0x6d, 0x69, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x76, 0x67, - 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x35, 0x6d, 0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x67, 0x4c, 0x61, 0x73, 0x74, 0x35, 0x6d, 0x69, 0x6e, - 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x61, 0x73, - 0x74, 0x31, 0x35, 0x6d, 0x69, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6c, 0x6f, - 0x61, 0x64, 0x41, 0x76, 0x67, 0x4c, 0x61, 0x73, 0x74, 0x31, 0x35, 0x6d, 0x69, 0x6e, 0x12, 0x19, - 0x0a, 0x08, 0x63, 0x70, 0x75, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x07, 0x63, 0x70, 0x75, 0x4c, 0x6f, 0x61, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, - 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1f, 0x0a, - 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x23, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, 0x73, 0x65, 0x64, 0x12, 0x26, - 0x0a, 0x0f, 0x73, 0x79, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, - 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x79, 0x73, 0x5f, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x1d, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x44, - 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x17, 0x73, 0x79, 0x73, 0x5f, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, - 0x63, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x73, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x1b, - 0x73, 0x79, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x64, 0x72, 0x6f, 0x70, - 0x70, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x1f, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x17, 0x73, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x44, 0x72, 0x6f, - 0x70, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x43, 0x0a, 0x1f, 0x73, 0x79, - 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, - 0x64, 0x5f, 0x70, 0x63, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x20, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x1a, 0x73, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x44, - 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x50, 0x63, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, - 0x30, 0x0a, 0x14, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x72, - 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x75, - 0x74, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x1c, 0x72, 0x65, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x72, - 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x75, - 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x42, 0x0a, 0x1e, 0x72, 0x65, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, - 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x1a, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x40, 0x0a, 0x1c, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x1a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x4e, 0x0a, - 0x24, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x65, - 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x20, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3a, 0x0a, - 0x19, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x74, 0x63, - 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x17, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x74, 0x63, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x21, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x74, 0x63, 0x5f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x2d, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x1d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x52, 0x74, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x72, - 0x53, 0x65, 0x63, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x5f, 0x72, 0x74, 0x63, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x2e, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x74, - 0x63, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x3e, 0x0a, 0x1c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x74, 0x63, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x70, 0x65, - 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x74, 0x63, 0x49, 0x6e, 0x69, 0x74, 0x50, - 0x65, 0x72, 0x53, 0x65, 0x63, 0x22, 0xb2, 0x04, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, - 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x69, 0x64, - 0x64, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, - 0x6e, 0x12, 0x2b, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, - 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, - 0x27, 0x0a, 0x0f, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, - 0x76, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x43, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x16, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x75, 0x73, 0x65, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x14, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x75, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, - 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x75, 0x73, 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x0c, 0x52, - 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x0c, 0x74, - 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, - 0x54, 0x72, 0x61, 0x63, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0b, 0x74, 0x72, 0x61, - 0x63, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, - 0x75, 0x74, 0x6f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x45, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x6f, - 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, - 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, - 0x6c, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x09, 0x49, 0x43, 0x45, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x43, - 0x45, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x14, - 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x43, 0x45, - 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x70, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x65, 0x72, 0x2a, 0x56, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, - 0x0a, 0x06, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, - 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x45, - 0x44, 0x49, 0x41, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x55, 0x52, 0x4e, 0x10, 0x04, 0x12, - 0x0b, 0x0a, 0x07, 0x53, 0x57, 0x45, 0x45, 0x50, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, - 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x10, 0x06, 0x2a, 0x3c, 0x0a, 0x09, 0x4e, 0x6f, - 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x52, 0x54, - 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x50, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, - 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, - 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x2a, 0x3a, 0x0a, 0x10, 0x49, 0x43, 0x45, 0x43, - 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, - 0x49, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x43, - 0x54, 0x5f, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x43, 0x54, 0x5f, 0x54, - 0x4c, 0x53, 0x10, 0x02, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, - 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, - 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xd4, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6e, + 0x75, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e, + 0x75, 0x6d, 0x43, 0x70, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xee, 0x11, 0x0a, 0x09, 0x4e, 0x6f, + 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x6f, 0x6f, + 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, + 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x54, + 0x72, 0x61, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x74, + 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x6e, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x3b, 0x0a, + 0x1a, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x24, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x17, 0x6e, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x1e, 0x74, 0x72, + 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x74, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x25, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x39, + 0x0a, 0x19, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x26, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x16, 0x6e, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x1d, 0x74, 0x72, 0x61, + 0x63, 0x6b, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x27, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x19, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3f, 0x0a, 0x1c, 0x6e, + 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x19, 0x6e, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x20, + 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, + 0x18, 0x29, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1c, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x50, 0x65, + 0x72, 0x53, 0x65, 0x63, 0x12, 0x3d, 0x0a, 0x1b, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x63, + 0x6b, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x6e, 0x75, 0x6d, 0x54, 0x72, + 0x61, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x44, 0x0a, 0x1f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1b, 0x74, 0x72, + 0x61, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x75, + 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x75, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x49, 0x6e, + 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, + 0x12, 0x27, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, + 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x49, 0x6e, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, + 0x72, 0x53, 0x65, 0x63, 0x12, 0x2b, 0x0a, 0x12, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, + 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x65, 0x72, 0x53, 0x65, + 0x63, 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, + 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, + 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6e, 0x61, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x53, + 0x65, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x43, 0x70, 0x75, 0x73, 0x12, 0x2a, 0x0a, + 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x31, 0x6d, + 0x69, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x76, + 0x67, 0x4c, 0x61, 0x73, 0x74, 0x31, 0x6d, 0x69, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x35, 0x6d, 0x69, 0x6e, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x67, 0x4c, 0x61, 0x73, + 0x74, 0x35, 0x6d, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x76, + 0x67, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x31, 0x35, 0x6d, 0x69, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x10, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x67, 0x4c, 0x61, 0x73, 0x74, 0x31, 0x35, + 0x6d, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x63, 0x70, 0x75, 0x4c, 0x6f, 0x61, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x21, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, + 0x22, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x75, 0x73, 0x65, + 0x64, 0x18, 0x23, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, + 0x73, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x79, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x79, + 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, + 0x79, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, + 0x65, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x79, 0x73, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x17, 0x73, + 0x79, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x73, 0x79, + 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, + 0x63, 0x12, 0x3c, 0x0a, 0x1b, 0x73, 0x79, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, + 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, + 0x18, 0x1f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x17, 0x73, 0x79, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, + 0x43, 0x0a, 0x1f, 0x73, 0x79, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x64, + 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x63, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, + 0x65, 0x63, 0x18, 0x20, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x73, 0x79, 0x73, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x50, 0x63, 0x74, 0x50, 0x65, + 0x72, 0x53, 0x65, 0x63, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, + 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x12, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, + 0x18, 0x17, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, + 0x69, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x1c, + 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x18, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x18, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x42, 0x0a, 0x1e, + 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, + 0x12, 0x40, 0x0a, 0x1c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x18, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x24, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x67, + 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x65, 0x72, 0x53, + 0x65, 0x63, 0x12, 0x3a, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x5f, 0x72, 0x74, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, + 0x2c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x52, 0x74, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x48, + 0x0a, 0x21, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x74, + 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x5f, + 0x73, 0x65, 0x63, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1d, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x74, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x74, 0x63, 0x5f, 0x69, 0x6e, 0x69, 0x74, + 0x18, 0x2e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x52, 0x74, 0x63, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x3e, 0x0a, 0x1c, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x74, 0x63, 0x5f, 0x69, 0x6e, + 0x69, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x18, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x74, 0x63, + 0x49, 0x6e, 0x69, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x22, 0xb2, 0x04, 0x0a, 0x0c, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x72, + 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x5f, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x2b, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x6a, 0x73, + 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, + 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, + 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, + 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x16, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, + 0x75, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x14, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x75, 0x73, + 0x65, 0x88, 0x01, 0x01, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x75, 0x73, 0x65, 0x22, + 0xbb, 0x02, 0x0a, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x12, 0x3b, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x52, 0x0b, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, + 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x65, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x0d, + 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x6c, + 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, + 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x40, 0x0a, 0x06, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, + 0x62, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, + 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, + 0x0a, 0x09, 0x49, 0x43, 0x45, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x15, 0x70, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x43, 0x45, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x14, 0x70, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x43, 0x45, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x2a, 0x56, 0x0a, 0x08, 0x4e, 0x6f, 0x64, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, + 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x10, + 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, + 0x54, 0x55, 0x52, 0x4e, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x57, 0x45, 0x45, 0x50, 0x45, + 0x52, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x10, + 0x06, 0x2a, 0x3c, 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, + 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x50, 0x10, 0x00, 0x12, + 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, + 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x2a, + 0x3a, 0x0a, 0x10, 0x49, 0x43, 0x45, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, + 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x43, 0x54, 0x5f, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x0b, + 0x0a, 0x07, 0x49, 0x43, 0x54, 0x5f, 0x54, 0x4c, 0x53, 0x10, 0x02, 0x42, 0x46, 0x5a, 0x23, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1250,19 +1263,20 @@ func file_livekit_internal_proto_rawDescGZIP() []byte { var file_livekit_internal_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_livekit_internal_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_livekit_internal_proto_goTypes = []interface{}{ - (NodeType)(0), // 0: livekit.NodeType - (NodeState)(0), // 1: livekit.NodeState - (ICECandidateType)(0), // 2: livekit.ICECandidateType - (*Node)(nil), // 3: livekit.Node - (*NodeStats)(nil), // 4: livekit.NodeStats - (*StartSession)(nil), // 5: livekit.StartSession - (*RoomInternal)(nil), // 6: livekit.RoomInternal - (*ICEConfig)(nil), // 7: livekit.ICEConfig - (*ClientInfo)(nil), // 8: livekit.ClientInfo - (ReconnectReason)(0), // 9: livekit.ReconnectReason - (*AutoTrackEgress)(nil), // 10: livekit.AutoTrackEgress - (*AutoParticipantEgress)(nil), // 11: livekit.AutoParticipantEgress - (*PlayoutDelay)(nil), // 12: livekit.PlayoutDelay + (NodeType)(0), // 0: livekit.NodeType + (NodeState)(0), // 1: livekit.NodeState + (ICECandidateType)(0), // 2: livekit.ICECandidateType + (*Node)(nil), // 3: livekit.Node + (*NodeStats)(nil), // 4: livekit.NodeStats + (*StartSession)(nil), // 5: livekit.StartSession + (*RoomInternal)(nil), // 6: livekit.RoomInternal + (*ICEConfig)(nil), // 7: livekit.ICEConfig + (*ClientInfo)(nil), // 8: livekit.ClientInfo + (ReconnectReason)(0), // 9: livekit.ReconnectReason + (*AutoTrackEgress)(nil), // 10: livekit.AutoTrackEgress + (*AutoParticipantEgress)(nil), // 11: livekit.AutoParticipantEgress + (*PlayoutDelay)(nil), // 12: livekit.PlayoutDelay + (*CreateAgentJobDefinitionRequest)(nil), // 13: livekit.CreateAgentJobDefinitionRequest } var file_livekit_internal_proto_depIdxs = []int32{ 4, // 0: livekit.Node.stats:type_name -> livekit.NodeStats @@ -1273,13 +1287,14 @@ var file_livekit_internal_proto_depIdxs = []int32{ 10, // 5: livekit.RoomInternal.track_egress:type_name -> livekit.AutoTrackEgress 11, // 6: livekit.RoomInternal.participant_egress:type_name -> livekit.AutoParticipantEgress 12, // 7: livekit.RoomInternal.playout_delay:type_name -> livekit.PlayoutDelay - 2, // 8: livekit.ICEConfig.preference_subscriber:type_name -> livekit.ICECandidateType - 2, // 9: livekit.ICEConfig.preference_publisher:type_name -> livekit.ICECandidateType - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 13, // 8: livekit.RoomInternal.agents:type_name -> livekit.CreateAgentJobDefinitionRequest + 2, // 9: livekit.ICEConfig.preference_subscriber:type_name -> livekit.ICECandidateType + 2, // 10: livekit.ICEConfig.preference_publisher:type_name -> livekit.ICECandidateType + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_livekit_internal_proto_init() } @@ -1289,6 +1304,7 @@ func file_livekit_internal_proto_init() { } file_livekit_models_proto_init() file_livekit_egress_proto_init() + file_livekit_agent_proto_init() if !protoimpl.UnsafeEnabled { file_livekit_internal_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Node); i { diff --git a/livekit/livekit_room.pb.go b/livekit/livekit_room.pb.go index 0cbfcfd9..0c481633 100644 --- a/livekit/livekit_room.pb.go +++ b/livekit/livekit_room.pb.go @@ -249,7 +249,7 @@ type RoomAgent struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Agents []*StartAgentJobRequest `protobuf:"bytes,1,rep,name=agents,proto3" json:"agents,omitempty"` + Agents []*CreateAgentJobDefinitionRequest `protobuf:"bytes,1,rep,name=agents,proto3" json:"agents,omitempty"` } func (x *RoomAgent) Reset() { @@ -284,7 +284,7 @@ func (*RoomAgent) Descriptor() ([]byte, []int) { return file_livekit_room_proto_rawDescGZIP(), []int{2} } -func (x *RoomAgent) GetAgents() []*StartAgentJobRequest { +func (x *RoomAgent) GetAgents() []*CreateAgentJobDefinitionRequest { if x != nil { return x.Agents } @@ -1171,266 +1171,6 @@ func (x *UpdateRoomMetadataRequest) GetMetadata() string { return "" } -type CreateRoomConfigurationRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Configuration *RoomConfiguration `protobuf:"bytes,1,opt,name=configuration,proto3" json:"configuration,omitempty"` -} - -func (x *CreateRoomConfigurationRequest) Reset() { - *x = CreateRoomConfigurationRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateRoomConfigurationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateRoomConfigurationRequest) ProtoMessage() {} - -func (x *CreateRoomConfigurationRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateRoomConfigurationRequest.ProtoReflect.Descriptor instead. -func (*CreateRoomConfigurationRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{19} -} - -func (x *CreateRoomConfigurationRequest) GetConfiguration() *RoomConfiguration { - if x != nil { - return x.Configuration - } - return nil -} - -type UpdateRoomConfigurationRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // configuration to update - // number of seconds to keep the room open if no one joins - EmptyTimeout *uint32 `protobuf:"varint,2,opt,name=empty_timeout,json=emptyTimeout,proto3,oneof" json:"empty_timeout,omitempty"` - // number of seconds to keep the room open after everyone leaves - DepartureTimeout *uint32 `protobuf:"varint,3,opt,name=departure_timeout,json=departureTimeout,proto3,oneof" json:"departure_timeout,omitempty"` - // limit number of participants that can be in a room - MaxParticipants *uint32 `protobuf:"varint,4,opt,name=max_participants,json=maxParticipants,proto3,oneof" json:"max_participants,omitempty"` - // egress - Egress *RoomEgress `protobuf:"bytes,5,opt,name=egress,proto3,oneof" json:"egress,omitempty"` - // agent - Agent *RoomAgent `protobuf:"bytes,6,opt,name=agent,proto3,oneof" json:"agent,omitempty"` - // playout delay of subscriber - MinPlayoutDelay *uint32 `protobuf:"varint,7,opt,name=min_playout_delay,json=minPlayoutDelay,proto3,oneof" json:"min_playout_delay,omitempty"` - MaxPlayoutDelay *uint32 `protobuf:"varint,8,opt,name=max_playout_delay,json=maxPlayoutDelay,proto3,oneof" json:"max_playout_delay,omitempty"` - // improves A/V sync when playout_delay set to a value larger than 200ms. It will disables transceiver re-use - // so not recommended for rooms with frequent subscription changes - SyncStreams *bool `protobuf:"varint,9,opt,name=sync_streams,json=syncStreams,proto3,oneof" json:"sync_streams,omitempty"` -} - -func (x *UpdateRoomConfigurationRequest) Reset() { - *x = UpdateRoomConfigurationRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateRoomConfigurationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateRoomConfigurationRequest) ProtoMessage() {} - -func (x *UpdateRoomConfigurationRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateRoomConfigurationRequest.ProtoReflect.Descriptor instead. -func (*UpdateRoomConfigurationRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{20} -} - -func (x *UpdateRoomConfigurationRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *UpdateRoomConfigurationRequest) GetEmptyTimeout() uint32 { - if x != nil && x.EmptyTimeout != nil { - return *x.EmptyTimeout - } - return 0 -} - -func (x *UpdateRoomConfigurationRequest) GetDepartureTimeout() uint32 { - if x != nil && x.DepartureTimeout != nil { - return *x.DepartureTimeout - } - return 0 -} - -func (x *UpdateRoomConfigurationRequest) GetMaxParticipants() uint32 { - if x != nil && x.MaxParticipants != nil { - return *x.MaxParticipants - } - return 0 -} - -func (x *UpdateRoomConfigurationRequest) GetEgress() *RoomEgress { - if x != nil { - return x.Egress - } - return nil -} - -func (x *UpdateRoomConfigurationRequest) GetAgent() *RoomAgent { - if x != nil { - return x.Agent - } - return nil -} - -func (x *UpdateRoomConfigurationRequest) GetMinPlayoutDelay() uint32 { - if x != nil && x.MinPlayoutDelay != nil { - return *x.MinPlayoutDelay - } - return 0 -} - -func (x *UpdateRoomConfigurationRequest) GetMaxPlayoutDelay() uint32 { - if x != nil && x.MaxPlayoutDelay != nil { - return *x.MaxPlayoutDelay - } - return 0 -} - -func (x *UpdateRoomConfigurationRequest) GetSyncStreams() bool { - if x != nil && x.SyncStreams != nil { - return *x.SyncStreams - } - return false -} - -type ListRoomConfigurationRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // If non empty, return only the configurartion with this name -} - -func (x *ListRoomConfigurationRequest) Reset() { - *x = ListRoomConfigurationRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListRoomConfigurationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListRoomConfigurationRequest) ProtoMessage() {} - -func (x *ListRoomConfigurationRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListRoomConfigurationRequest.ProtoReflect.Descriptor instead. -func (*ListRoomConfigurationRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{21} -} - -func (x *ListRoomConfigurationRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -type ListRoomConfigurationResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Configurations []*RoomConfiguration `protobuf:"bytes,1,rep,name=configurations,proto3" json:"configurations,omitempty"` -} - -func (x *ListRoomConfigurationResponse) Reset() { - *x = ListRoomConfigurationResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListRoomConfigurationResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListRoomConfigurationResponse) ProtoMessage() {} - -func (x *ListRoomConfigurationResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListRoomConfigurationResponse.ProtoReflect.Descriptor instead. -func (*ListRoomConfigurationResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{22} -} - -func (x *ListRoomConfigurationResponse) GetConfigurations() []*RoomConfiguration { - if x != nil { - return x.Configurations - } - return nil -} - type RoomConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1458,7 +1198,7 @@ type RoomConfiguration struct { func (x *RoomConfiguration) Reset() { *x = RoomConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_room_proto_msgTypes[23] + mi := &file_livekit_room_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1471,7 +1211,7 @@ func (x *RoomConfiguration) String() string { func (*RoomConfiguration) ProtoMessage() {} func (x *RoomConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[23] + mi := &file_livekit_room_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1484,7 +1224,7 @@ func (x *RoomConfiguration) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomConfiguration.ProtoReflect.Descriptor instead. func (*RoomConfiguration) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{23} + return file_livekit_room_proto_rawDescGZIP(), []int{19} } func (x *RoomConfiguration) GetName() string { @@ -1599,250 +1339,181 @@ var file_livekit_room_proto_rawDesc = []byte{ 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22, 0x42, 0x0a, 0x09, 0x52, 0x6f, 0x6f, - 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x28, 0x0a, - 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x05, - 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, - 0x73, 0x22, 0x27, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, + 0x73, 0x52, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22, 0x4d, 0x0a, 0x09, 0x52, 0x6f, 0x6f, + 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x44, + 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x28, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x22, 0x38, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05, 0x72, 0x6f, 0x6f, 0x6d, 0x73, 0x22, 0x27, 0x0a, 0x11, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x17, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2d, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, - 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, - 0x58, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x17, 0x52, 0x6f, 0x6f, - 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x58, 0x0a, 0x18, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x17, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, + 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, + 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, 0x14, + 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x79, 0x0a, 0x14, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, - 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, - 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, - 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, - 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x22, 0x41, 0x0a, 0x15, - 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, - 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x22, - 0xba, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, - 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd4, 0x01, 0x0a, - 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, - 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, - 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, - 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, - 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, - 0x63, 0x6b, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x22, 0x41, 0x0a, 0x15, 0x4d, 0x75, 0x74, 0x65, 0x52, + 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x28, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x22, 0xba, 0x01, 0x0a, 0x18, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x10, - 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x16, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, - 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x19, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x62, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0d, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xba, 0x04, 0x0a, - 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, - 0x11, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x10, 0x64, 0x65, 0x70, 0x61, - 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x2e, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0f, 0x6d, 0x61, 0x78, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x30, 0x0a, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x48, 0x03, 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x2d, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x48, 0x04, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x2f, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, - 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x0f, 0x6d, - 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, - 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, 0x0f, - 0x6d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x63, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, - 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x14, 0x0a, 0x12, - 0x5f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, - 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, - 0x61, 0x79, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, - 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x79, 0x6e, - 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x22, 0x32, 0x0a, 0x1c, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, - 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, - 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x22, 0xf6, 0x02, 0x0a, 0x11, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x65, - 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x29, - 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x06, 0x65, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, - 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, - 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x69, 0x6e, - 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x11, - 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, - 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, - 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x63, - 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x32, 0x8e, 0x09, 0x0a, 0x0b, - 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x42, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, - 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x57, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, + 0x73, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, + 0x6b, 0x53, 0x69, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x11, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22, 0x1d, + 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf2, 0x01, + 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4b, 0x69, 0x6e, + 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, + 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x22, 0xf6, 0x02, 0x0a, 0x11, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, + 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, + 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x06, 0x65, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, + 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x69, + 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2a, 0x0a, + 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x6c, + 0x61, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x50, 0x6c, 0x61, + 0x79, 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x32, 0xe6, 0x06, 0x0a, + 0x0b, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x0a, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x42, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, + 0x6d, 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x57, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x22, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x53, 0x0a, 0x12, 0x4d, 0x75, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x18, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x22, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x4d, 0x75, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x60, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x53, 0x65, - 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x12, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, - 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x5e, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, - 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x27, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, - 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x27, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x66, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x46, 0x5a, 0x23, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, - 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x60, 0x0a, 0x13, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x53, + 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x12, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, + 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, + 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1857,95 +1528,81 @@ func file_livekit_room_proto_rawDescGZIP() []byte { return file_livekit_room_proto_rawDescData } -var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_livekit_room_proto_goTypes = []interface{}{ - (*CreateRoomRequest)(nil), // 0: livekit.CreateRoomRequest - (*RoomEgress)(nil), // 1: livekit.RoomEgress - (*RoomAgent)(nil), // 2: livekit.RoomAgent - (*ListRoomsRequest)(nil), // 3: livekit.ListRoomsRequest - (*ListRoomsResponse)(nil), // 4: livekit.ListRoomsResponse - (*DeleteRoomRequest)(nil), // 5: livekit.DeleteRoomRequest - (*DeleteRoomResponse)(nil), // 6: livekit.DeleteRoomResponse - (*ListParticipantsRequest)(nil), // 7: livekit.ListParticipantsRequest - (*ListParticipantsResponse)(nil), // 8: livekit.ListParticipantsResponse - (*RoomParticipantIdentity)(nil), // 9: livekit.RoomParticipantIdentity - (*RemoveParticipantResponse)(nil), // 10: livekit.RemoveParticipantResponse - (*MuteRoomTrackRequest)(nil), // 11: livekit.MuteRoomTrackRequest - (*MuteRoomTrackResponse)(nil), // 12: livekit.MuteRoomTrackResponse - (*UpdateParticipantRequest)(nil), // 13: livekit.UpdateParticipantRequest - (*UpdateSubscriptionsRequest)(nil), // 14: livekit.UpdateSubscriptionsRequest - (*UpdateSubscriptionsResponse)(nil), // 15: livekit.UpdateSubscriptionsResponse - (*SendDataRequest)(nil), // 16: livekit.SendDataRequest - (*SendDataResponse)(nil), // 17: livekit.SendDataResponse - (*UpdateRoomMetadataRequest)(nil), // 18: livekit.UpdateRoomMetadataRequest - (*CreateRoomConfigurationRequest)(nil), // 19: livekit.CreateRoomConfigurationRequest - (*UpdateRoomConfigurationRequest)(nil), // 20: livekit.UpdateRoomConfigurationRequest - (*ListRoomConfigurationRequest)(nil), // 21: livekit.ListRoomConfigurationRequest - (*ListRoomConfigurationResponse)(nil), // 22: livekit.ListRoomConfigurationResponse - (*RoomConfiguration)(nil), // 23: livekit.RoomConfiguration - (*RoomCompositeEgressRequest)(nil), // 24: livekit.RoomCompositeEgressRequest - (*AutoParticipantEgress)(nil), // 25: livekit.AutoParticipantEgress - (*AutoTrackEgress)(nil), // 26: livekit.AutoTrackEgress - (*StartAgentJobRequest)(nil), // 27: livekit.StartAgentJobRequest - (*Room)(nil), // 28: livekit.Room - (*ParticipantInfo)(nil), // 29: livekit.ParticipantInfo - (*TrackInfo)(nil), // 30: livekit.TrackInfo - (*ParticipantPermission)(nil), // 31: livekit.ParticipantPermission - (*ParticipantTracks)(nil), // 32: livekit.ParticipantTracks - (DataPacket_Kind)(0), // 33: livekit.DataPacket.Kind + (*CreateRoomRequest)(nil), // 0: livekit.CreateRoomRequest + (*RoomEgress)(nil), // 1: livekit.RoomEgress + (*RoomAgent)(nil), // 2: livekit.RoomAgent + (*ListRoomsRequest)(nil), // 3: livekit.ListRoomsRequest + (*ListRoomsResponse)(nil), // 4: livekit.ListRoomsResponse + (*DeleteRoomRequest)(nil), // 5: livekit.DeleteRoomRequest + (*DeleteRoomResponse)(nil), // 6: livekit.DeleteRoomResponse + (*ListParticipantsRequest)(nil), // 7: livekit.ListParticipantsRequest + (*ListParticipantsResponse)(nil), // 8: livekit.ListParticipantsResponse + (*RoomParticipantIdentity)(nil), // 9: livekit.RoomParticipantIdentity + (*RemoveParticipantResponse)(nil), // 10: livekit.RemoveParticipantResponse + (*MuteRoomTrackRequest)(nil), // 11: livekit.MuteRoomTrackRequest + (*MuteRoomTrackResponse)(nil), // 12: livekit.MuteRoomTrackResponse + (*UpdateParticipantRequest)(nil), // 13: livekit.UpdateParticipantRequest + (*UpdateSubscriptionsRequest)(nil), // 14: livekit.UpdateSubscriptionsRequest + (*UpdateSubscriptionsResponse)(nil), // 15: livekit.UpdateSubscriptionsResponse + (*SendDataRequest)(nil), // 16: livekit.SendDataRequest + (*SendDataResponse)(nil), // 17: livekit.SendDataResponse + (*UpdateRoomMetadataRequest)(nil), // 18: livekit.UpdateRoomMetadataRequest + (*RoomConfiguration)(nil), // 19: livekit.RoomConfiguration + (*RoomCompositeEgressRequest)(nil), // 20: livekit.RoomCompositeEgressRequest + (*AutoParticipantEgress)(nil), // 21: livekit.AutoParticipantEgress + (*AutoTrackEgress)(nil), // 22: livekit.AutoTrackEgress + (*CreateAgentJobDefinitionRequest)(nil), // 23: livekit.CreateAgentJobDefinitionRequest + (*Room)(nil), // 24: livekit.Room + (*ParticipantInfo)(nil), // 25: livekit.ParticipantInfo + (*TrackInfo)(nil), // 26: livekit.TrackInfo + (*ParticipantPermission)(nil), // 27: livekit.ParticipantPermission + (*ParticipantTracks)(nil), // 28: livekit.ParticipantTracks + (DataPacket_Kind)(0), // 29: livekit.DataPacket.Kind } var file_livekit_room_proto_depIdxs = []int32{ 1, // 0: livekit.CreateRoomRequest.egress:type_name -> livekit.RoomEgress 2, // 1: livekit.CreateRoomRequest.agent:type_name -> livekit.RoomAgent - 24, // 2: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest - 25, // 3: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress - 26, // 4: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress - 27, // 5: livekit.RoomAgent.agents:type_name -> livekit.StartAgentJobRequest - 28, // 6: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room - 29, // 7: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo - 30, // 8: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo - 31, // 9: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission - 32, // 10: livekit.UpdateSubscriptionsRequest.participant_tracks:type_name -> livekit.ParticipantTracks - 33, // 11: livekit.SendDataRequest.kind:type_name -> livekit.DataPacket.Kind - 23, // 12: livekit.CreateRoomConfigurationRequest.configuration:type_name -> livekit.RoomConfiguration - 1, // 13: livekit.UpdateRoomConfigurationRequest.egress:type_name -> livekit.RoomEgress - 2, // 14: livekit.UpdateRoomConfigurationRequest.agent:type_name -> livekit.RoomAgent - 23, // 15: livekit.ListRoomConfigurationResponse.configurations:type_name -> livekit.RoomConfiguration - 1, // 16: livekit.RoomConfiguration.egress:type_name -> livekit.RoomEgress - 2, // 17: livekit.RoomConfiguration.agent:type_name -> livekit.RoomAgent - 0, // 18: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest - 3, // 19: livekit.RoomService.ListRooms:input_type -> livekit.ListRoomsRequest - 5, // 20: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest - 7, // 21: livekit.RoomService.ListParticipants:input_type -> livekit.ListParticipantsRequest - 9, // 22: livekit.RoomService.GetParticipant:input_type -> livekit.RoomParticipantIdentity - 9, // 23: livekit.RoomService.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity - 11, // 24: livekit.RoomService.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest - 13, // 25: livekit.RoomService.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest - 14, // 26: livekit.RoomService.UpdateSubscriptions:input_type -> livekit.UpdateSubscriptionsRequest - 16, // 27: livekit.RoomService.SendData:input_type -> livekit.SendDataRequest - 18, // 28: livekit.RoomService.UpdateRoomMetadata:input_type -> livekit.UpdateRoomMetadataRequest - 19, // 29: livekit.RoomService.CreateRoomConfiguration:input_type -> livekit.CreateRoomConfigurationRequest - 20, // 30: livekit.RoomService.UpdateRoomConfiguration:input_type -> livekit.UpdateRoomConfigurationRequest - 21, // 31: livekit.RoomService.ListRoomConfiguration:input_type -> livekit.ListRoomConfigurationRequest - 28, // 32: livekit.RoomService.CreateRoom:output_type -> livekit.Room - 4, // 33: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse - 6, // 34: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse - 8, // 35: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse - 29, // 36: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo - 10, // 37: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse - 12, // 38: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse - 29, // 39: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo - 15, // 40: livekit.RoomService.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse - 17, // 41: livekit.RoomService.SendData:output_type -> livekit.SendDataResponse - 28, // 42: livekit.RoomService.UpdateRoomMetadata:output_type -> livekit.Room - 23, // 43: livekit.RoomService.CreateRoomConfiguration:output_type -> livekit.RoomConfiguration - 23, // 44: livekit.RoomService.UpdateRoomConfiguration:output_type -> livekit.RoomConfiguration - 22, // 45: livekit.RoomService.ListRoomConfiguration:output_type -> livekit.ListRoomConfigurationResponse - 32, // [32:46] is the sub-list for method output_type - 18, // [18:32] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name + 20, // 2: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest + 21, // 3: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress + 22, // 4: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress + 23, // 5: livekit.RoomAgent.agents:type_name -> livekit.CreateAgentJobDefinitionRequest + 24, // 6: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room + 25, // 7: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo + 26, // 8: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo + 27, // 9: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission + 28, // 10: livekit.UpdateSubscriptionsRequest.participant_tracks:type_name -> livekit.ParticipantTracks + 29, // 11: livekit.SendDataRequest.kind:type_name -> livekit.DataPacket.Kind + 1, // 12: livekit.RoomConfiguration.egress:type_name -> livekit.RoomEgress + 2, // 13: livekit.RoomConfiguration.agent:type_name -> livekit.RoomAgent + 0, // 14: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest + 3, // 15: livekit.RoomService.ListRooms:input_type -> livekit.ListRoomsRequest + 5, // 16: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest + 7, // 17: livekit.RoomService.ListParticipants:input_type -> livekit.ListParticipantsRequest + 9, // 18: livekit.RoomService.GetParticipant:input_type -> livekit.RoomParticipantIdentity + 9, // 19: livekit.RoomService.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity + 11, // 20: livekit.RoomService.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest + 13, // 21: livekit.RoomService.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest + 14, // 22: livekit.RoomService.UpdateSubscriptions:input_type -> livekit.UpdateSubscriptionsRequest + 16, // 23: livekit.RoomService.SendData:input_type -> livekit.SendDataRequest + 18, // 24: livekit.RoomService.UpdateRoomMetadata:input_type -> livekit.UpdateRoomMetadataRequest + 24, // 25: livekit.RoomService.CreateRoom:output_type -> livekit.Room + 4, // 26: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse + 6, // 27: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse + 8, // 28: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse + 25, // 29: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo + 10, // 30: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse + 12, // 31: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse + 25, // 32: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo + 15, // 33: livekit.RoomService.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse + 17, // 34: livekit.RoomService.SendData:output_type -> livekit.SendDataResponse + 24, // 35: livekit.RoomService.UpdateRoomMetadata:output_type -> livekit.Room + 25, // [25:36] is the sub-list for method output_type + 14, // [14:25] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_livekit_room_proto_init() } @@ -2186,54 +1843,6 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateRoomConfigurationRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_livekit_room_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateRoomConfigurationRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_livekit_room_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListRoomConfigurationRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_livekit_room_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListRoomConfigurationResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_livekit_room_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoomConfiguration); i { case 0: return &v.state @@ -2247,14 +1856,13 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[16].OneofWrappers = []interface{}{} - file_livekit_room_proto_msgTypes[20].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_livekit_room_proto_rawDesc, NumEnums: 0, - NumMessages: 24, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, diff --git a/livekit/livekit_room.twirp.go b/livekit/livekit_room.twirp.go index af8deb4b..cacc3ade 100644 --- a/livekit/livekit_room.twirp.go +++ b/livekit/livekit_room.twirp.go @@ -63,15 +63,6 @@ type RoomService interface { // Update room metadata, will cause updates to be broadcasted to everyone in the room, Requires `roomAdmin` UpdateRoomMetadata(context.Context, *UpdateRoomMetadataRequest) (*Room, error) - - // Create a room configuration. - CreateRoomConfiguration(context.Context, *CreateRoomConfigurationRequest) (*RoomConfiguration, error) - - // Update a room configuration - UpdateRoomConfiguration(context.Context, *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) - - // List configurations - ListRoomConfiguration(context.Context, *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) } // =========================== @@ -80,7 +71,7 @@ type RoomService interface { type roomServiceProtobufClient struct { client HTTPClient - urls [14]string + urls [11]string interceptor twirp.Interceptor opts twirp.ClientOptions } @@ -108,7 +99,7 @@ func NewRoomServiceProtobufClient(baseURL string, client HTTPClient, opts ...twi // Build method URLs: []/./ serviceURL := sanitizeBaseURL(baseURL) serviceURL += baseServicePath(pathPrefix, "livekit", "RoomService") - urls := [14]string{ + urls := [11]string{ serviceURL + "CreateRoom", serviceURL + "ListRooms", serviceURL + "DeleteRoom", @@ -120,9 +111,6 @@ func NewRoomServiceProtobufClient(baseURL string, client HTTPClient, opts ...twi serviceURL + "UpdateSubscriptions", serviceURL + "SendData", serviceURL + "UpdateRoomMetadata", - serviceURL + "CreateRoomConfiguration", - serviceURL + "UpdateRoomConfiguration", - serviceURL + "ListRoomConfiguration", } return &roomServiceProtobufClient{ @@ -639,151 +627,13 @@ func (c *roomServiceProtobufClient) callUpdateRoomMetadata(ctx context.Context, return out, nil } -func (c *roomServiceProtobufClient) CreateRoomConfiguration(ctx context.Context, in *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { - ctx = ctxsetters.WithPackageName(ctx, "livekit") - ctx = ctxsetters.WithServiceName(ctx, "RoomService") - ctx = ctxsetters.WithMethodName(ctx, "CreateRoomConfiguration") - caller := c.callCreateRoomConfiguration - if c.interceptor != nil { - caller = func(ctx context.Context, req *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { - resp, err := c.interceptor( - func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*CreateRoomConfigurationRequest) - if !ok { - return nil, twirp.InternalError("failed type assertion req.(*CreateRoomConfigurationRequest) when calling interceptor") - } - return c.callCreateRoomConfiguration(ctx, typedReq) - }, - )(ctx, req) - if resp != nil { - typedResp, ok := resp.(*RoomConfiguration) - if !ok { - return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") - } - return typedResp, err - } - return nil, err - } - } - return caller(ctx, in) -} - -func (c *roomServiceProtobufClient) callCreateRoomConfiguration(ctx context.Context, in *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { - out := new(RoomConfiguration) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[11], in, out) - if err != nil { - twerr, ok := err.(twirp.Error) - if !ok { - twerr = twirp.InternalErrorWith(err) - } - callClientError(ctx, c.opts.Hooks, twerr) - return nil, err - } - - callClientResponseReceived(ctx, c.opts.Hooks) - - return out, nil -} - -func (c *roomServiceProtobufClient) UpdateRoomConfiguration(ctx context.Context, in *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { - ctx = ctxsetters.WithPackageName(ctx, "livekit") - ctx = ctxsetters.WithServiceName(ctx, "RoomService") - ctx = ctxsetters.WithMethodName(ctx, "UpdateRoomConfiguration") - caller := c.callUpdateRoomConfiguration - if c.interceptor != nil { - caller = func(ctx context.Context, req *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { - resp, err := c.interceptor( - func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*UpdateRoomConfigurationRequest) - if !ok { - return nil, twirp.InternalError("failed type assertion req.(*UpdateRoomConfigurationRequest) when calling interceptor") - } - return c.callUpdateRoomConfiguration(ctx, typedReq) - }, - )(ctx, req) - if resp != nil { - typedResp, ok := resp.(*RoomConfiguration) - if !ok { - return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") - } - return typedResp, err - } - return nil, err - } - } - return caller(ctx, in) -} - -func (c *roomServiceProtobufClient) callUpdateRoomConfiguration(ctx context.Context, in *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { - out := new(RoomConfiguration) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out) - if err != nil { - twerr, ok := err.(twirp.Error) - if !ok { - twerr = twirp.InternalErrorWith(err) - } - callClientError(ctx, c.opts.Hooks, twerr) - return nil, err - } - - callClientResponseReceived(ctx, c.opts.Hooks) - - return out, nil -} - -func (c *roomServiceProtobufClient) ListRoomConfiguration(ctx context.Context, in *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { - ctx = ctxsetters.WithPackageName(ctx, "livekit") - ctx = ctxsetters.WithServiceName(ctx, "RoomService") - ctx = ctxsetters.WithMethodName(ctx, "ListRoomConfiguration") - caller := c.callListRoomConfiguration - if c.interceptor != nil { - caller = func(ctx context.Context, req *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { - resp, err := c.interceptor( - func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*ListRoomConfigurationRequest) - if !ok { - return nil, twirp.InternalError("failed type assertion req.(*ListRoomConfigurationRequest) when calling interceptor") - } - return c.callListRoomConfiguration(ctx, typedReq) - }, - )(ctx, req) - if resp != nil { - typedResp, ok := resp.(*ListRoomConfigurationResponse) - if !ok { - return nil, twirp.InternalError("failed type assertion resp.(*ListRoomConfigurationResponse) when calling interceptor") - } - return typedResp, err - } - return nil, err - } - } - return caller(ctx, in) -} - -func (c *roomServiceProtobufClient) callListRoomConfiguration(ctx context.Context, in *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { - out := new(ListRoomConfigurationResponse) - ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[13], in, out) - if err != nil { - twerr, ok := err.(twirp.Error) - if !ok { - twerr = twirp.InternalErrorWith(err) - } - callClientError(ctx, c.opts.Hooks, twerr) - return nil, err - } - - callClientResponseReceived(ctx, c.opts.Hooks) - - return out, nil -} - // ======================= // RoomService JSON Client // ======================= type roomServiceJSONClient struct { client HTTPClient - urls [14]string + urls [11]string interceptor twirp.Interceptor opts twirp.ClientOptions } @@ -811,7 +661,7 @@ func NewRoomServiceJSONClient(baseURL string, client HTTPClient, opts ...twirp.C // Build method URLs: []/./ serviceURL := sanitizeBaseURL(baseURL) serviceURL += baseServicePath(pathPrefix, "livekit", "RoomService") - urls := [14]string{ + urls := [11]string{ serviceURL + "CreateRoom", serviceURL + "ListRooms", serviceURL + "DeleteRoom", @@ -823,9 +673,6 @@ func NewRoomServiceJSONClient(baseURL string, client HTTPClient, opts ...twirp.C serviceURL + "UpdateSubscriptions", serviceURL + "SendData", serviceURL + "UpdateRoomMetadata", - serviceURL + "CreateRoomConfiguration", - serviceURL + "UpdateRoomConfiguration", - serviceURL + "ListRoomConfiguration", } return &roomServiceJSONClient{ @@ -1342,144 +1189,6 @@ func (c *roomServiceJSONClient) callUpdateRoomMetadata(ctx context.Context, in * return out, nil } -func (c *roomServiceJSONClient) CreateRoomConfiguration(ctx context.Context, in *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { - ctx = ctxsetters.WithPackageName(ctx, "livekit") - ctx = ctxsetters.WithServiceName(ctx, "RoomService") - ctx = ctxsetters.WithMethodName(ctx, "CreateRoomConfiguration") - caller := c.callCreateRoomConfiguration - if c.interceptor != nil { - caller = func(ctx context.Context, req *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { - resp, err := c.interceptor( - func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*CreateRoomConfigurationRequest) - if !ok { - return nil, twirp.InternalError("failed type assertion req.(*CreateRoomConfigurationRequest) when calling interceptor") - } - return c.callCreateRoomConfiguration(ctx, typedReq) - }, - )(ctx, req) - if resp != nil { - typedResp, ok := resp.(*RoomConfiguration) - if !ok { - return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") - } - return typedResp, err - } - return nil, err - } - } - return caller(ctx, in) -} - -func (c *roomServiceJSONClient) callCreateRoomConfiguration(ctx context.Context, in *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { - out := new(RoomConfiguration) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[11], in, out) - if err != nil { - twerr, ok := err.(twirp.Error) - if !ok { - twerr = twirp.InternalErrorWith(err) - } - callClientError(ctx, c.opts.Hooks, twerr) - return nil, err - } - - callClientResponseReceived(ctx, c.opts.Hooks) - - return out, nil -} - -func (c *roomServiceJSONClient) UpdateRoomConfiguration(ctx context.Context, in *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { - ctx = ctxsetters.WithPackageName(ctx, "livekit") - ctx = ctxsetters.WithServiceName(ctx, "RoomService") - ctx = ctxsetters.WithMethodName(ctx, "UpdateRoomConfiguration") - caller := c.callUpdateRoomConfiguration - if c.interceptor != nil { - caller = func(ctx context.Context, req *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { - resp, err := c.interceptor( - func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*UpdateRoomConfigurationRequest) - if !ok { - return nil, twirp.InternalError("failed type assertion req.(*UpdateRoomConfigurationRequest) when calling interceptor") - } - return c.callUpdateRoomConfiguration(ctx, typedReq) - }, - )(ctx, req) - if resp != nil { - typedResp, ok := resp.(*RoomConfiguration) - if !ok { - return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") - } - return typedResp, err - } - return nil, err - } - } - return caller(ctx, in) -} - -func (c *roomServiceJSONClient) callUpdateRoomConfiguration(ctx context.Context, in *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { - out := new(RoomConfiguration) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out) - if err != nil { - twerr, ok := err.(twirp.Error) - if !ok { - twerr = twirp.InternalErrorWith(err) - } - callClientError(ctx, c.opts.Hooks, twerr) - return nil, err - } - - callClientResponseReceived(ctx, c.opts.Hooks) - - return out, nil -} - -func (c *roomServiceJSONClient) ListRoomConfiguration(ctx context.Context, in *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { - ctx = ctxsetters.WithPackageName(ctx, "livekit") - ctx = ctxsetters.WithServiceName(ctx, "RoomService") - ctx = ctxsetters.WithMethodName(ctx, "ListRoomConfiguration") - caller := c.callListRoomConfiguration - if c.interceptor != nil { - caller = func(ctx context.Context, req *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { - resp, err := c.interceptor( - func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*ListRoomConfigurationRequest) - if !ok { - return nil, twirp.InternalError("failed type assertion req.(*ListRoomConfigurationRequest) when calling interceptor") - } - return c.callListRoomConfiguration(ctx, typedReq) - }, - )(ctx, req) - if resp != nil { - typedResp, ok := resp.(*ListRoomConfigurationResponse) - if !ok { - return nil, twirp.InternalError("failed type assertion resp.(*ListRoomConfigurationResponse) when calling interceptor") - } - return typedResp, err - } - return nil, err - } - } - return caller(ctx, in) -} - -func (c *roomServiceJSONClient) callListRoomConfiguration(ctx context.Context, in *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { - out := new(ListRoomConfigurationResponse) - ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[13], in, out) - if err != nil { - twerr, ok := err.(twirp.Error) - if !ok { - twerr = twirp.InternalErrorWith(err) - } - callClientError(ctx, c.opts.Hooks, twerr) - return nil, err - } - - callClientResponseReceived(ctx, c.opts.Hooks) - - return out, nil -} - // ========================== // RoomService Server Handler // ========================== @@ -1610,15 +1319,6 @@ func (s *roomServiceServer) ServeHTTP(resp http.ResponseWriter, req *http.Reques case "UpdateRoomMetadata": s.serveUpdateRoomMetadata(ctx, resp, req) return - case "CreateRoomConfiguration": - s.serveCreateRoomConfiguration(ctx, resp, req) - return - case "UpdateRoomConfiguration": - s.serveUpdateRoomConfiguration(ctx, resp, req) - return - case "ListRoomConfiguration": - s.serveListRoomConfiguration(ctx, resp, req) - return default: msg := fmt.Sprintf("no handler for path %q", req.URL.Path) s.writeError(ctx, resp, badRouteError(msg, req.Method, req.URL.Path)) @@ -3606,546 +3306,6 @@ func (s *roomServiceServer) serveUpdateRoomMetadataProtobuf(ctx context.Context, callResponseSent(ctx, s.hooks) } -func (s *roomServiceServer) serveCreateRoomConfiguration(ctx context.Context, resp http.ResponseWriter, req *http.Request) { - header := req.Header.Get("Content-Type") - i := strings.Index(header, ";") - if i == -1 { - i = len(header) - } - switch strings.TrimSpace(strings.ToLower(header[:i])) { - case "application/json": - s.serveCreateRoomConfigurationJSON(ctx, resp, req) - case "application/protobuf": - s.serveCreateRoomConfigurationProtobuf(ctx, resp, req) - default: - msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) - twerr := badRouteError(msg, req.Method, req.URL.Path) - s.writeError(ctx, resp, twerr) - } -} - -func (s *roomServiceServer) serveCreateRoomConfigurationJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { - var err error - ctx = ctxsetters.WithMethodName(ctx, "CreateRoomConfiguration") - ctx, err = callRequestRouted(ctx, s.hooks) - if err != nil { - s.writeError(ctx, resp, err) - return - } - - d := json.NewDecoder(req.Body) - rawReqBody := json.RawMessage{} - if err := d.Decode(&rawReqBody); err != nil { - s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) - return - } - reqContent := new(CreateRoomConfigurationRequest) - unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true} - if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil { - s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) - return - } - - handler := s.RoomService.CreateRoomConfiguration - if s.interceptor != nil { - handler = func(ctx context.Context, req *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { - resp, err := s.interceptor( - func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*CreateRoomConfigurationRequest) - if !ok { - return nil, twirp.InternalError("failed type assertion req.(*CreateRoomConfigurationRequest) when calling interceptor") - } - return s.RoomService.CreateRoomConfiguration(ctx, typedReq) - }, - )(ctx, req) - if resp != nil { - typedResp, ok := resp.(*RoomConfiguration) - if !ok { - return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") - } - return typedResp, err - } - return nil, err - } - } - - // Call service method - var respContent *RoomConfiguration - func() { - defer ensurePanicResponses(ctx, resp, s.hooks) - respContent, err = handler(ctx, reqContent) - }() - - if err != nil { - s.writeError(ctx, resp, err) - return - } - if respContent == nil { - s.writeError(ctx, resp, twirp.InternalError("received a nil *RoomConfiguration and nil error while calling CreateRoomConfiguration. nil responses are not supported")) - return - } - - ctx = callResponsePrepared(ctx, s.hooks) - - marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults} - respBytes, err := marshaler.Marshal(respContent) - if err != nil { - s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response")) - return - } - - ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) - resp.Header().Set("Content-Type", "application/json") - resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) - resp.WriteHeader(http.StatusOK) - - if n, err := resp.Write(respBytes); err != nil { - msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) - twerr := twirp.NewError(twirp.Unknown, msg) - ctx = callError(ctx, s.hooks, twerr) - } - callResponseSent(ctx, s.hooks) -} - -func (s *roomServiceServer) serveCreateRoomConfigurationProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { - var err error - ctx = ctxsetters.WithMethodName(ctx, "CreateRoomConfiguration") - ctx, err = callRequestRouted(ctx, s.hooks) - if err != nil { - s.writeError(ctx, resp, err) - return - } - - buf, err := io.ReadAll(req.Body) - if err != nil { - s.handleRequestBodyError(ctx, resp, "failed to read request body", err) - return - } - reqContent := new(CreateRoomConfigurationRequest) - if err = proto.Unmarshal(buf, reqContent); err != nil { - s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) - return - } - - handler := s.RoomService.CreateRoomConfiguration - if s.interceptor != nil { - handler = func(ctx context.Context, req *CreateRoomConfigurationRequest) (*RoomConfiguration, error) { - resp, err := s.interceptor( - func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*CreateRoomConfigurationRequest) - if !ok { - return nil, twirp.InternalError("failed type assertion req.(*CreateRoomConfigurationRequest) when calling interceptor") - } - return s.RoomService.CreateRoomConfiguration(ctx, typedReq) - }, - )(ctx, req) - if resp != nil { - typedResp, ok := resp.(*RoomConfiguration) - if !ok { - return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") - } - return typedResp, err - } - return nil, err - } - } - - // Call service method - var respContent *RoomConfiguration - func() { - defer ensurePanicResponses(ctx, resp, s.hooks) - respContent, err = handler(ctx, reqContent) - }() - - if err != nil { - s.writeError(ctx, resp, err) - return - } - if respContent == nil { - s.writeError(ctx, resp, twirp.InternalError("received a nil *RoomConfiguration and nil error while calling CreateRoomConfiguration. nil responses are not supported")) - return - } - - ctx = callResponsePrepared(ctx, s.hooks) - - respBytes, err := proto.Marshal(respContent) - if err != nil { - s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response")) - return - } - - ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) - resp.Header().Set("Content-Type", "application/protobuf") - resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) - resp.WriteHeader(http.StatusOK) - if n, err := resp.Write(respBytes); err != nil { - msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) - twerr := twirp.NewError(twirp.Unknown, msg) - ctx = callError(ctx, s.hooks, twerr) - } - callResponseSent(ctx, s.hooks) -} - -func (s *roomServiceServer) serveUpdateRoomConfiguration(ctx context.Context, resp http.ResponseWriter, req *http.Request) { - header := req.Header.Get("Content-Type") - i := strings.Index(header, ";") - if i == -1 { - i = len(header) - } - switch strings.TrimSpace(strings.ToLower(header[:i])) { - case "application/json": - s.serveUpdateRoomConfigurationJSON(ctx, resp, req) - case "application/protobuf": - s.serveUpdateRoomConfigurationProtobuf(ctx, resp, req) - default: - msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) - twerr := badRouteError(msg, req.Method, req.URL.Path) - s.writeError(ctx, resp, twerr) - } -} - -func (s *roomServiceServer) serveUpdateRoomConfigurationJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { - var err error - ctx = ctxsetters.WithMethodName(ctx, "UpdateRoomConfiguration") - ctx, err = callRequestRouted(ctx, s.hooks) - if err != nil { - s.writeError(ctx, resp, err) - return - } - - d := json.NewDecoder(req.Body) - rawReqBody := json.RawMessage{} - if err := d.Decode(&rawReqBody); err != nil { - s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) - return - } - reqContent := new(UpdateRoomConfigurationRequest) - unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true} - if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil { - s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) - return - } - - handler := s.RoomService.UpdateRoomConfiguration - if s.interceptor != nil { - handler = func(ctx context.Context, req *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { - resp, err := s.interceptor( - func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*UpdateRoomConfigurationRequest) - if !ok { - return nil, twirp.InternalError("failed type assertion req.(*UpdateRoomConfigurationRequest) when calling interceptor") - } - return s.RoomService.UpdateRoomConfiguration(ctx, typedReq) - }, - )(ctx, req) - if resp != nil { - typedResp, ok := resp.(*RoomConfiguration) - if !ok { - return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") - } - return typedResp, err - } - return nil, err - } - } - - // Call service method - var respContent *RoomConfiguration - func() { - defer ensurePanicResponses(ctx, resp, s.hooks) - respContent, err = handler(ctx, reqContent) - }() - - if err != nil { - s.writeError(ctx, resp, err) - return - } - if respContent == nil { - s.writeError(ctx, resp, twirp.InternalError("received a nil *RoomConfiguration and nil error while calling UpdateRoomConfiguration. nil responses are not supported")) - return - } - - ctx = callResponsePrepared(ctx, s.hooks) - - marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults} - respBytes, err := marshaler.Marshal(respContent) - if err != nil { - s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response")) - return - } - - ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) - resp.Header().Set("Content-Type", "application/json") - resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) - resp.WriteHeader(http.StatusOK) - - if n, err := resp.Write(respBytes); err != nil { - msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) - twerr := twirp.NewError(twirp.Unknown, msg) - ctx = callError(ctx, s.hooks, twerr) - } - callResponseSent(ctx, s.hooks) -} - -func (s *roomServiceServer) serveUpdateRoomConfigurationProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { - var err error - ctx = ctxsetters.WithMethodName(ctx, "UpdateRoomConfiguration") - ctx, err = callRequestRouted(ctx, s.hooks) - if err != nil { - s.writeError(ctx, resp, err) - return - } - - buf, err := io.ReadAll(req.Body) - if err != nil { - s.handleRequestBodyError(ctx, resp, "failed to read request body", err) - return - } - reqContent := new(UpdateRoomConfigurationRequest) - if err = proto.Unmarshal(buf, reqContent); err != nil { - s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) - return - } - - handler := s.RoomService.UpdateRoomConfiguration - if s.interceptor != nil { - handler = func(ctx context.Context, req *UpdateRoomConfigurationRequest) (*RoomConfiguration, error) { - resp, err := s.interceptor( - func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*UpdateRoomConfigurationRequest) - if !ok { - return nil, twirp.InternalError("failed type assertion req.(*UpdateRoomConfigurationRequest) when calling interceptor") - } - return s.RoomService.UpdateRoomConfiguration(ctx, typedReq) - }, - )(ctx, req) - if resp != nil { - typedResp, ok := resp.(*RoomConfiguration) - if !ok { - return nil, twirp.InternalError("failed type assertion resp.(*RoomConfiguration) when calling interceptor") - } - return typedResp, err - } - return nil, err - } - } - - // Call service method - var respContent *RoomConfiguration - func() { - defer ensurePanicResponses(ctx, resp, s.hooks) - respContent, err = handler(ctx, reqContent) - }() - - if err != nil { - s.writeError(ctx, resp, err) - return - } - if respContent == nil { - s.writeError(ctx, resp, twirp.InternalError("received a nil *RoomConfiguration and nil error while calling UpdateRoomConfiguration. nil responses are not supported")) - return - } - - ctx = callResponsePrepared(ctx, s.hooks) - - respBytes, err := proto.Marshal(respContent) - if err != nil { - s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response")) - return - } - - ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) - resp.Header().Set("Content-Type", "application/protobuf") - resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) - resp.WriteHeader(http.StatusOK) - if n, err := resp.Write(respBytes); err != nil { - msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) - twerr := twirp.NewError(twirp.Unknown, msg) - ctx = callError(ctx, s.hooks, twerr) - } - callResponseSent(ctx, s.hooks) -} - -func (s *roomServiceServer) serveListRoomConfiguration(ctx context.Context, resp http.ResponseWriter, req *http.Request) { - header := req.Header.Get("Content-Type") - i := strings.Index(header, ";") - if i == -1 { - i = len(header) - } - switch strings.TrimSpace(strings.ToLower(header[:i])) { - case "application/json": - s.serveListRoomConfigurationJSON(ctx, resp, req) - case "application/protobuf": - s.serveListRoomConfigurationProtobuf(ctx, resp, req) - default: - msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) - twerr := badRouteError(msg, req.Method, req.URL.Path) - s.writeError(ctx, resp, twerr) - } -} - -func (s *roomServiceServer) serveListRoomConfigurationJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { - var err error - ctx = ctxsetters.WithMethodName(ctx, "ListRoomConfiguration") - ctx, err = callRequestRouted(ctx, s.hooks) - if err != nil { - s.writeError(ctx, resp, err) - return - } - - d := json.NewDecoder(req.Body) - rawReqBody := json.RawMessage{} - if err := d.Decode(&rawReqBody); err != nil { - s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) - return - } - reqContent := new(ListRoomConfigurationRequest) - unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true} - if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil { - s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err) - return - } - - handler := s.RoomService.ListRoomConfiguration - if s.interceptor != nil { - handler = func(ctx context.Context, req *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { - resp, err := s.interceptor( - func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*ListRoomConfigurationRequest) - if !ok { - return nil, twirp.InternalError("failed type assertion req.(*ListRoomConfigurationRequest) when calling interceptor") - } - return s.RoomService.ListRoomConfiguration(ctx, typedReq) - }, - )(ctx, req) - if resp != nil { - typedResp, ok := resp.(*ListRoomConfigurationResponse) - if !ok { - return nil, twirp.InternalError("failed type assertion resp.(*ListRoomConfigurationResponse) when calling interceptor") - } - return typedResp, err - } - return nil, err - } - } - - // Call service method - var respContent *ListRoomConfigurationResponse - func() { - defer ensurePanicResponses(ctx, resp, s.hooks) - respContent, err = handler(ctx, reqContent) - }() - - if err != nil { - s.writeError(ctx, resp, err) - return - } - if respContent == nil { - s.writeError(ctx, resp, twirp.InternalError("received a nil *ListRoomConfigurationResponse and nil error while calling ListRoomConfiguration. nil responses are not supported")) - return - } - - ctx = callResponsePrepared(ctx, s.hooks) - - marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults} - respBytes, err := marshaler.Marshal(respContent) - if err != nil { - s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response")) - return - } - - ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) - resp.Header().Set("Content-Type", "application/json") - resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) - resp.WriteHeader(http.StatusOK) - - if n, err := resp.Write(respBytes); err != nil { - msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) - twerr := twirp.NewError(twirp.Unknown, msg) - ctx = callError(ctx, s.hooks, twerr) - } - callResponseSent(ctx, s.hooks) -} - -func (s *roomServiceServer) serveListRoomConfigurationProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { - var err error - ctx = ctxsetters.WithMethodName(ctx, "ListRoomConfiguration") - ctx, err = callRequestRouted(ctx, s.hooks) - if err != nil { - s.writeError(ctx, resp, err) - return - } - - buf, err := io.ReadAll(req.Body) - if err != nil { - s.handleRequestBodyError(ctx, resp, "failed to read request body", err) - return - } - reqContent := new(ListRoomConfigurationRequest) - if err = proto.Unmarshal(buf, reqContent); err != nil { - s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) - return - } - - handler := s.RoomService.ListRoomConfiguration - if s.interceptor != nil { - handler = func(ctx context.Context, req *ListRoomConfigurationRequest) (*ListRoomConfigurationResponse, error) { - resp, err := s.interceptor( - func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*ListRoomConfigurationRequest) - if !ok { - return nil, twirp.InternalError("failed type assertion req.(*ListRoomConfigurationRequest) when calling interceptor") - } - return s.RoomService.ListRoomConfiguration(ctx, typedReq) - }, - )(ctx, req) - if resp != nil { - typedResp, ok := resp.(*ListRoomConfigurationResponse) - if !ok { - return nil, twirp.InternalError("failed type assertion resp.(*ListRoomConfigurationResponse) when calling interceptor") - } - return typedResp, err - } - return nil, err - } - } - - // Call service method - var respContent *ListRoomConfigurationResponse - func() { - defer ensurePanicResponses(ctx, resp, s.hooks) - respContent, err = handler(ctx, reqContent) - }() - - if err != nil { - s.writeError(ctx, resp, err) - return - } - if respContent == nil { - s.writeError(ctx, resp, twirp.InternalError("received a nil *ListRoomConfigurationResponse and nil error while calling ListRoomConfiguration. nil responses are not supported")) - return - } - - ctx = callResponsePrepared(ctx, s.hooks) - - respBytes, err := proto.Marshal(respContent) - if err != nil { - s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response")) - return - } - - ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK) - resp.Header().Set("Content-Type", "application/protobuf") - resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes))) - resp.WriteHeader(http.StatusOK) - if n, err := resp.Write(respBytes); err != nil { - msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error()) - twerr := twirp.NewError(twirp.Unknown, msg) - ctx = callError(ctx, s.hooks, twerr) - } - callResponseSent(ctx, s.hooks) -} - func (s *roomServiceServer) ServiceDescriptor() ([]byte, int) { return twirpFileDescriptor2, 0 } @@ -4162,96 +3322,81 @@ func (s *roomServiceServer) PathPrefix() string { } var twirpFileDescriptor2 = []byte{ - // 1441 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xdd, 0x72, 0xdb, 0x44, - 0x14, 0xae, 0x1c, 0xdb, 0xb1, 0x8e, 0xf3, 0xe7, 0x4d, 0x4a, 0x14, 0xa5, 0x09, 0xa9, 0x02, 0xad, - 0xa1, 0x34, 0xed, 0x98, 0xe9, 0x94, 0xe9, 0x30, 0xd0, 0xba, 0x2d, 0x75, 0x68, 0xcb, 0x64, 0xe4, - 0x32, 0xfc, 0x5c, 0x20, 0x64, 0x6b, 0x9b, 0xee, 0xc4, 0x92, 0x8c, 0xb4, 0xce, 0xd4, 0x6f, 0xd0, - 0x2b, 0x1e, 0x84, 0x37, 0xa0, 0xcf, 0xc0, 0x25, 0x4f, 0xc1, 0x25, 0x17, 0x5c, 0x33, 0xfb, 0x23, - 0x69, 0x65, 0xc9, 0x6e, 0xe9, 0x15, 0x77, 0xd1, 0x39, 0xdf, 0x39, 0x7b, 0xce, 0xb7, 0x67, 0x77, - 0x3f, 0x07, 0xd0, 0x88, 0x9c, 0xe3, 0x33, 0x42, 0x9d, 0x28, 0x0c, 0xfd, 0xa3, 0x71, 0x14, 0xd2, - 0x10, 0x2d, 0x4b, 0x9b, 0xb9, 0x95, 0x38, 0xfd, 0xd0, 0xc3, 0xa3, 0x58, 0xb8, 0x33, 0x2b, 0x3e, - 0x8d, 0x70, 0x9c, 0x58, 0x37, 0x13, 0xab, 0x7b, 0x8a, 0x03, 0x2a, 0x8c, 0xd6, 0x1f, 0x4b, 0xd0, - 0xba, 0x1f, 0x61, 0x97, 0x62, 0x3b, 0x0c, 0x7d, 0x1b, 0xff, 0x32, 0xc1, 0x31, 0x45, 0x08, 0xaa, - 0x81, 0xeb, 0x63, 0x43, 0x3b, 0xd0, 0xda, 0xba, 0xcd, 0xff, 0x46, 0xef, 0x43, 0x73, 0x18, 0x06, - 0xcf, 0xc9, 0xa9, 0xc3, 0x5d, 0x2b, 0xdc, 0x05, 0xc2, 0xf4, 0x0d, 0x03, 0x1c, 0xc2, 0x2a, 0xf6, - 0xc7, 0x74, 0xea, 0x50, 0xe2, 0xe3, 0x70, 0x42, 0x8d, 0xca, 0x81, 0xd6, 0x5e, 0xb5, 0x57, 0xb8, - 0xf1, 0x99, 0xb0, 0xa1, 0x6b, 0xd0, 0xf2, 0xf0, 0xd8, 0x8d, 0xe8, 0x24, 0xc2, 0x29, 0x10, 0x38, - 0x70, 0x23, 0x75, 0x24, 0xe0, 0x8f, 0x60, 0xc3, 0x77, 0x5f, 0x3a, 0xcc, 0x4a, 0x86, 0x64, 0xec, - 0x06, 0x34, 0x36, 0x96, 0x38, 0x76, 0xdd, 0x77, 0x5f, 0x9e, 0x28, 0x66, 0xb4, 0x0d, 0xcb, 0x41, - 0xe8, 0x61, 0x87, 0x78, 0x46, 0x95, 0x57, 0x56, 0x67, 0x9f, 0xc7, 0x1e, 0x32, 0xa1, 0xe1, 0x63, - 0xea, 0x7a, 0x2e, 0x75, 0x8d, 0x1a, 0xf7, 0xa4, 0xdf, 0xe8, 0x1a, 0xd4, 0x05, 0x43, 0x46, 0xfd, - 0x40, 0x6b, 0x37, 0x3b, 0x9b, 0x47, 0x92, 0xa2, 0x23, 0x46, 0xc6, 0x43, 0xee, 0xb2, 0x25, 0x04, - 0xb5, 0xa1, 0xc6, 0x89, 0x33, 0x9a, 0x1c, 0x8b, 0x72, 0xd8, 0x7b, 0xcc, 0x63, 0x0b, 0x00, 0xfa, - 0x18, 0x5a, 0x3e, 0x09, 0x9c, 0xf1, 0xc8, 0x9d, 0x86, 0x13, 0xea, 0x78, 0x78, 0xe4, 0x4e, 0x8d, - 0x65, 0x59, 0x37, 0x09, 0x4e, 0x84, 0xfd, 0x01, 0x33, 0x73, 0x2c, 0x6b, 0x31, 0x87, 0x6d, 0x64, - 0x3d, 0xaa, 0xd8, 0xcb, 0xb0, 0x12, 0x4f, 0x83, 0xa1, 0x13, 0xd3, 0x08, 0xbb, 0x7e, 0x6c, 0xe8, - 0x07, 0x5a, 0xbb, 0x61, 0x37, 0x99, 0xad, 0x2f, 0x4c, 0xd6, 0xef, 0x1a, 0x40, 0x56, 0x3b, 0xba, - 0x0d, 0x55, 0x36, 0x35, 0x7c, 0x1f, 0x9b, 0x9d, 0xc3, 0x5c, 0xc9, 0xf7, 0x43, 0x7f, 0x1c, 0xc6, - 0x84, 0x62, 0xd9, 0xa7, 0xd8, 0x7a, 0x9b, 0x07, 0xa0, 0xbb, 0xd0, 0x54, 0x58, 0xe7, 0xa4, 0x37, - 0x3b, 0xfb, 0x69, 0xfc, 0xbd, 0x09, 0x0d, 0x15, 0xfa, 0x65, 0x06, 0x35, 0x04, 0xdd, 0x84, 0x3a, - 0x8d, 0xdc, 0xe1, 0x59, 0xcc, 0xc7, 0xa0, 0xd9, 0x31, 0x72, 0xc1, 0xcf, 0x98, 0x2b, 0x21, 0x58, - 0xe0, 0xac, 0x2e, 0xe8, 0x29, 0x95, 0xe8, 0x16, 0xd4, 0x39, 0x99, 0xb1, 0xa1, 0x1d, 0x2c, 0xb5, - 0x9b, 0x9d, 0xbd, 0x34, 0xbc, 0x4f, 0xdd, 0x88, 0x72, 0xd0, 0xd7, 0xe1, 0x20, 0xa9, 0x5a, 0x82, - 0xad, 0x36, 0x6c, 0x3c, 0x21, 0x31, 0x65, 0x79, 0x92, 0x8e, 0xd0, 0x16, 0xd4, 0xd8, 0xc4, 0x8a, - 0x4c, 0xba, 0x2d, 0x3e, 0xac, 0xcf, 0xa0, 0xa5, 0x20, 0xe3, 0x71, 0x18, 0xc4, 0x6c, 0x84, 0x6b, - 0xac, 0xfd, 0x64, 0xd1, 0xd5, 0x1c, 0x61, 0xb6, 0xf0, 0x59, 0x57, 0xa1, 0xf5, 0x00, 0x8f, 0x70, - 0xe1, 0xc4, 0xa4, 0x4c, 0xeb, 0x82, 0x44, 0x6b, 0x0b, 0x90, 0x0a, 0x14, 0x6b, 0x58, 0xd7, 0x61, - 0x9b, 0x2d, 0xac, 0x4e, 0xef, 0xa2, 0x24, 0xdf, 0x83, 0x51, 0x84, 0xcb, 0x72, 0x3f, 0x87, 0x95, - 0xdc, 0xd9, 0x10, 0x55, 0x67, 0x4c, 0x2b, 0x41, 0xc7, 0xc1, 0xf3, 0xd0, 0xce, 0xa1, 0xad, 0x63, - 0xd8, 0x66, 0x85, 0xa9, 0x20, 0x0f, 0x07, 0x94, 0xd0, 0x69, 0x59, 0x21, 0xec, 0x20, 0x11, 0xe9, - 0xe7, 0x5b, 0xaa, 0xdb, 0xe9, 0xb7, 0xb5, 0x0b, 0x3b, 0x36, 0xf6, 0xc3, 0x73, 0xac, 0x24, 0x4b, - 0x1b, 0x9e, 0xc2, 0xd6, 0xd3, 0x89, 0x20, 0x81, 0x6f, 0xfb, 0x82, 0x6e, 0x17, 0x2d, 0x82, 0x76, - 0x41, 0xe7, 0x93, 0xe2, 0xc4, 0xc4, 0xe3, 0x13, 0xa9, 0xdb, 0x0d, 0x6e, 0xe8, 0x13, 0x8f, 0x6d, - 0xb2, 0x3f, 0xa1, 0x58, 0x9c, 0xfe, 0x86, 0x2d, 0x3e, 0xac, 0x7b, 0x70, 0x71, 0x66, 0x69, 0xc9, - 0x5c, 0x1b, 0x6a, 0x3c, 0x54, 0x9e, 0x8c, 0xec, 0x30, 0x73, 0x18, 0x27, 0x4b, 0x00, 0xac, 0xd7, - 0x1a, 0x18, 0xdf, 0x8e, 0x3d, 0x97, 0xe6, 0x7b, 0x7b, 0xb7, 0x16, 0xd4, 0xcb, 0x68, 0x69, 0xe6, - 0x32, 0xfa, 0x02, 0x60, 0x8c, 0x23, 0x9f, 0xc4, 0x31, 0x09, 0x03, 0xde, 0x86, 0x7a, 0xe2, 0x94, - 0xc5, 0x4f, 0x52, 0x94, 0xad, 0x44, 0xa4, 0x77, 0x76, 0x2d, 0xbb, 0xb3, 0xad, 0x3f, 0x35, 0x30, - 0x45, 0xf1, 0xfd, 0xc9, 0x20, 0x1e, 0x46, 0x64, 0x4c, 0x49, 0x18, 0xc4, 0xef, 0x5a, 0xfe, 0x1e, - 0x40, 0xba, 0x03, 0xec, 0x26, 0x66, 0xc7, 0x49, 0x4f, 0xb6, 0x20, 0x46, 0x97, 0x40, 0x8f, 0xc5, - 0x32, 0x03, 0x2c, 0xf7, 0x21, 0x33, 0xa0, 0x63, 0x40, 0xca, 0xf8, 0x39, 0xf2, 0x72, 0xa8, 0xf1, - 0x91, 0x35, 0xcb, 0xfa, 0xe4, 0x5b, 0x11, 0xdb, 0xad, 0xf1, 0xac, 0xc9, 0xda, 0x83, 0xdd, 0xd2, - 0xae, 0xe4, 0xc0, 0xfd, 0xad, 0xc1, 0x7a, 0x1f, 0x07, 0xde, 0x03, 0x97, 0xba, 0x8b, 0x5a, 0x45, - 0x50, 0xe5, 0x3b, 0xc1, 0xda, 0x5c, 0xb1, 0xf9, 0xdf, 0xe8, 0x13, 0xa8, 0x9e, 0x91, 0x40, 0xcc, - 0xd7, 0x9a, 0x72, 0x94, 0x58, 0xae, 0x13, 0x77, 0x78, 0x86, 0xe9, 0xd1, 0x63, 0x12, 0x78, 0x36, - 0x47, 0xa1, 0xeb, 0xb0, 0xe1, 0xe1, 0x98, 0x92, 0xc0, 0x65, 0x15, 0x08, 0x5a, 0xaa, 0x8c, 0x96, - 0x6e, 0xc5, 0xd0, 0xec, 0x75, 0xc5, 0xc7, 0x09, 0xba, 0x05, 0xef, 0xa9, 0x70, 0xc9, 0x2b, 0xc1, - 0xec, 0xfd, 0x61, 0x5c, 0x5e, 0x54, 0xbc, 0xc7, 0xa9, 0x13, 0xed, 0x40, 0x8d, 0x86, 0x63, 0x32, - 0x14, 0x5b, 0xdb, 0xbb, 0x60, 0x8b, 0xcf, 0x57, 0x9a, 0xd6, 0x6d, 0x40, 0xdd, 0xe1, 0x1f, 0x16, - 0x82, 0x8d, 0xac, 0x67, 0x49, 0xc4, 0x63, 0xd8, 0x11, 0x3c, 0xb1, 0x03, 0xf0, 0x54, 0x0e, 0xda, - 0x1b, 0x36, 0x3f, 0x9d, 0xcf, 0x4a, 0x7e, 0x3e, 0xad, 0x01, 0xec, 0x67, 0x42, 0xe1, 0x3e, 0x7f, - 0xf6, 0x27, 0x11, 0x2f, 0x35, 0xc9, 0x78, 0x17, 0x56, 0x87, 0xaa, 0x5d, 0x1e, 0x2e, 0x73, 0xe6, - 0xd9, 0x51, 0x23, 0xf3, 0x01, 0xd6, 0xeb, 0x2a, 0xec, 0x67, 0x15, 0x97, 0x2e, 0x52, 0x26, 0x4d, - 0xda, 0xa5, 0xca, 0xa3, 0x77, 0x21, 0xaf, 0x3d, 0x5e, 0x69, 0x1a, 0xba, 0x59, 0x26, 0x3f, 0xb8, - 0xa4, 0xe8, 0x69, 0x45, 0x01, 0xc2, 0x22, 0x8e, 0x4a, 0x34, 0x48, 0x95, 0x07, 0x54, 0x0a, 0x2a, - 0x44, 0xac, 0x90, 0x68, 0x8a, 0xda, 0x5c, 0x4d, 0xd1, 0x5b, 0x4a, 0x54, 0x05, 0x8b, 0xb8, 0x9e, - 0x08, 0x8b, 0xfa, 0x3c, 0x61, 0xd1, 0xab, 0x4a, 0x69, 0xc1, 0xe0, 0x37, 0xe6, 0xaa, 0x8b, 0x5e, - 0xad, 0xa0, 0x2f, 0x92, 0x80, 0x72, 0x89, 0xd1, 0xab, 0x17, 0x44, 0x06, 0x0b, 0xb8, 0x52, 0xa6, - 0x33, 0x7a, 0xcb, 0x39, 0xa5, 0xc1, 0x86, 0x6f, 0x03, 0xd6, 0x9c, 0x1c, 0xef, 0xdd, 0x2d, 0x40, - 0x4e, 0x81, 0xdf, 0xee, 0x26, 0xb4, 0x9c, 0x59, 0x0e, 0xbb, 0x3a, 0x2c, 0x4b, 0x79, 0xca, 0x87, - 0x98, 0xb7, 0xc7, 0xe3, 0x0b, 0xcd, 0x09, 0xeb, 0x6c, 0x07, 0xdd, 0x75, 0x58, 0x75, 0xd4, 0x32, - 0xad, 0x0e, 0x5c, 0x4a, 0x5e, 0xf4, 0xb7, 0x9d, 0x1c, 0x6b, 0x08, 0x7b, 0x73, 0x62, 0xe4, 0x43, - 0xd1, 0x85, 0xb5, 0xdc, 0x88, 0x26, 0x8f, 0xec, 0xa2, 0xa1, 0x9e, 0x89, 0xb0, 0xfe, 0xa9, 0x40, - 0xab, 0x80, 0x2a, 0x1d, 0xe4, 0x77, 0x97, 0xd0, 0x4b, 0xff, 0x41, 0x42, 0x57, 0xcb, 0x25, 0xf4, - 0xb5, 0xb7, 0x98, 0xdc, 0xa2, 0x1a, 0xae, 0xff, 0x7f, 0xd5, 0x70, 0xe7, 0x57, 0x1d, 0x9a, 0xac, - 0x9e, 0x3e, 0x8e, 0xce, 0xc9, 0x10, 0xa3, 0xdb, 0x00, 0xd9, 0x15, 0x86, 0xb2, 0x2d, 0x2c, 0xfc, - 0x00, 0x32, 0xf3, 0xca, 0x0f, 0x75, 0x41, 0x4f, 0xc5, 0x22, 0xda, 0x49, 0x7d, 0xb3, 0x52, 0xd3, - 0x34, 0xcb, 0x5c, 0x72, 0x92, 0x1e, 0x02, 0x64, 0x6a, 0x50, 0x59, 0xbc, 0xa0, 0x25, 0xcd, 0xdd, - 0x52, 0x9f, 0x4c, 0xf3, 0x9d, 0x50, 0xb8, 0xb9, 0x9d, 0x3b, 0xc8, 0x2d, 0x5b, 0xa2, 0x2c, 0xcd, - 0xcb, 0x0b, 0x10, 0x32, 0xf1, 0x13, 0x58, 0x7b, 0x84, 0x55, 0x97, 0x92, 0x76, 0x8e, 0x4e, 0x34, - 0xe7, 0x4a, 0x4d, 0xf4, 0x03, 0xb4, 0x0a, 0x8a, 0xf0, 0x2d, 0x12, 0x5a, 0x19, 0x62, 0x9e, 0x9e, - 0x44, 0x7d, 0x40, 0x4c, 0xd4, 0x9d, 0x4c, 0x06, 0x23, 0x12, 0xbf, 0xc0, 0x1e, 0x17, 0x05, 0x28, - 0xfb, 0x81, 0x50, 0x26, 0x36, 0xcd, 0xfd, 0x79, 0x6e, 0x99, 0xf4, 0x04, 0x5a, 0x05, 0x95, 0x87, - 0x32, 0xd6, 0xe6, 0x29, 0xc0, 0x05, 0x0c, 0xfc, 0x0c, 0x9b, 0x25, 0x22, 0x05, 0x1d, 0xce, 0xe4, - 0x2c, 0x13, 0x66, 0xe6, 0x07, 0x8b, 0x41, 0xb2, 0xe6, 0x2f, 0xa1, 0x91, 0x3c, 0xf9, 0x28, 0xab, - 0x63, 0x46, 0xf9, 0x98, 0x3b, 0x25, 0x1e, 0x99, 0xe0, 0x11, 0xa0, 0xa2, 0x3e, 0x40, 0xd6, 0xcc, - 0xe2, 0x25, 0xe2, 0x61, 0xf6, 0x7c, 0xfc, 0x04, 0xdb, 0x73, 0xb4, 0x01, 0xba, 0x5a, 0x72, 0xca, - 0xca, 0xae, 0x67, 0x73, 0xc1, 0x8d, 0xca, 0xf2, 0xcf, 0x91, 0x05, 0x4a, 0xfe, 0xc5, 0xc2, 0x61, - 0x61, 0xfe, 0xe7, 0x70, 0xb1, 0xf4, 0x19, 0x40, 0x1f, 0x16, 0x0e, 0x74, 0x69, 0xee, 0x2b, 0x6f, - 0x82, 0x09, 0xc2, 0xbb, 0x5f, 0xfd, 0x78, 0x78, 0x4a, 0xe8, 0x8b, 0xc9, 0xe0, 0x68, 0x18, 0xfa, - 0x37, 0x64, 0xcc, 0x0d, 0xfe, 0x9f, 0x98, 0x61, 0x38, 0x4a, 0x0c, 0xbf, 0x55, 0x56, 0x9f, 0x90, - 0x73, 0xfc, 0x98, 0x0d, 0x15, 0x73, 0xfd, 0x55, 0x59, 0x93, 0xdf, 0x77, 0xee, 0x70, 0xc3, 0xa0, - 0xce, 0x43, 0x3e, 0xfd, 0x37, 0x00, 0x00, 0xff, 0xff, 0xde, 0x97, 0x0c, 0x1f, 0x1c, 0x12, 0x00, - 0x00, + // 1207 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xdd, 0x72, 0xdb, 0xc4, + 0x17, 0xff, 0xcb, 0xb1, 0x1d, 0xfb, 0x38, 0x5f, 0xde, 0xa4, 0xff, 0x28, 0x0a, 0x29, 0xae, 0xc2, + 0x0c, 0x86, 0xd2, 0x94, 0x31, 0xc3, 0x94, 0xe9, 0x30, 0xd0, 0xa4, 0x29, 0x25, 0x24, 0x61, 0x3c, + 0x72, 0x19, 0x3e, 0x6e, 0x8c, 0x6c, 0x6d, 0xd2, 0x9d, 0x58, 0x5a, 0xa1, 0x5d, 0x67, 0xea, 0x37, + 0xe0, 0x59, 0x78, 0x03, 0x78, 0x06, 0x2e, 0x79, 0x06, 0x2e, 0xb8, 0xe4, 0x82, 0x6b, 0x66, 0x3f, + 0x2c, 0xad, 0x6c, 0xc5, 0xd0, 0x5c, 0x71, 0xe7, 0x3d, 0xe7, 0xb7, 0x67, 0xcf, 0xf9, 0xed, 0xd9, + 0xf3, 0x93, 0x01, 0x8d, 0xc8, 0x35, 0xbe, 0x22, 0xbc, 0x9f, 0x50, 0x1a, 0x1e, 0xc4, 0x09, 0xe5, + 0x14, 0x2d, 0x6b, 0x9b, 0xb3, 0x35, 0x75, 0x86, 0x34, 0xc0, 0x23, 0xa6, 0xdc, 0x99, 0x15, 0x5f, + 0x26, 0x98, 0x4d, 0xad, 0x9b, 0x53, 0xab, 0x7f, 0x89, 0x23, 0xae, 0x8c, 0xee, 0xaf, 0x4b, 0xd0, + 0x7c, 0x9a, 0x60, 0x9f, 0x63, 0x8f, 0xd2, 0xd0, 0xc3, 0x3f, 0x8c, 0x31, 0xe3, 0x08, 0x41, 0x39, + 0xf2, 0x43, 0x6c, 0x5b, 0x2d, 0xab, 0x5d, 0xf7, 0xe4, 0x6f, 0xf4, 0x26, 0x34, 0x86, 0x34, 0xba, + 0x20, 0x97, 0x7d, 0xe9, 0x5a, 0x91, 0x2e, 0x50, 0xa6, 0x2f, 0x05, 0x60, 0x1f, 0x56, 0x71, 0x18, + 0xf3, 0x49, 0x9f, 0x93, 0x10, 0xd3, 0x31, 0xb7, 0x4b, 0x2d, 0xab, 0xbd, 0xea, 0xad, 0x48, 0xe3, + 0x0b, 0x65, 0x43, 0xf7, 0xa1, 0x19, 0xe0, 0xd8, 0x4f, 0xf8, 0x38, 0xc1, 0x29, 0x10, 0x24, 0x70, + 0x23, 0x75, 0x4c, 0xc1, 0xef, 0xc0, 0x46, 0xe8, 0xbf, 0xea, 0x0b, 0x2b, 0x19, 0x92, 0xd8, 0x8f, + 0x38, 0xb3, 0x97, 0x24, 0x76, 0x3d, 0xf4, 0x5f, 0x75, 0x0d, 0x33, 0xda, 0x86, 0xe5, 0x88, 0x06, + 0xb8, 0x4f, 0x02, 0xbb, 0x2c, 0x33, 0xab, 0x8a, 0xe5, 0x49, 0x80, 0x1c, 0xa8, 0x85, 0x98, 0xfb, + 0x81, 0xcf, 0x7d, 0xbb, 0x22, 0x3d, 0xe9, 0x1a, 0xdd, 0x87, 0xaa, 0x62, 0xc8, 0xae, 0xb6, 0xac, + 0x76, 0xa3, 0xb3, 0x79, 0xa0, 0x29, 0x3a, 0x10, 0x64, 0x3c, 0x93, 0x2e, 0x4f, 0x43, 0x50, 0x1b, + 0x2a, 0x92, 0x38, 0xbb, 0x21, 0xb1, 0x28, 0x87, 0x3d, 0x14, 0x1e, 0x4f, 0x01, 0xd0, 0xbb, 0xd0, + 0x0c, 0x49, 0xd4, 0x8f, 0x47, 0xfe, 0x84, 0x8e, 0x79, 0x3f, 0xc0, 0x23, 0x7f, 0x62, 0x2f, 0xeb, + 0xbc, 0x49, 0xd4, 0x55, 0xf6, 0x63, 0x61, 0x96, 0x58, 0x51, 0x62, 0x0e, 0x5b, 0xcb, 0x6a, 0x34, + 0xb1, 0xf7, 0x60, 0x85, 0x4d, 0xa2, 0x61, 0x9f, 0xf1, 0x04, 0xfb, 0x21, 0xb3, 0xeb, 0x2d, 0xab, + 0x5d, 0xf3, 0x1a, 0xc2, 0xd6, 0x53, 0x26, 0xf7, 0x67, 0x0b, 0x20, 0xcb, 0x1d, 0x3d, 0x82, 0xb2, + 0xe8, 0x1a, 0x79, 0x8f, 0x8d, 0xce, 0x7e, 0x2e, 0xe5, 0xa7, 0x34, 0x8c, 0x29, 0x23, 0x1c, 0xeb, + 0x3a, 0xd5, 0xd5, 0x7b, 0x72, 0x03, 0x7a, 0x02, 0x0d, 0x83, 0x75, 0x49, 0x7a, 0xa3, 0x73, 0x37, + 0xdd, 0x7f, 0x38, 0xe6, 0xd4, 0xa0, 0x5f, 0x47, 0x30, 0xb7, 0xa0, 0xf7, 0xa1, 0xca, 0x13, 0x7f, + 0x78, 0xc5, 0x64, 0x1b, 0x34, 0x3a, 0x76, 0x6e, 0xf3, 0x0b, 0xe1, 0x9a, 0x12, 0xac, 0x70, 0xee, + 0x39, 0xd4, 0x53, 0x2a, 0xd1, 0x13, 0xa8, 0x4a, 0x32, 0x99, 0x6d, 0xb5, 0x96, 0xda, 0x8d, 0x4e, + 0x3b, 0xdd, 0xae, 0xba, 0x55, 0xa2, 0xbe, 0xa0, 0x83, 0x63, 0x7c, 0x41, 0x22, 0xc2, 0x09, 0x8d, + 0xa6, 0x05, 0xe8, 0x7d, 0x6e, 0x1b, 0x36, 0xce, 0x08, 0xe3, 0x22, 0xe4, 0xb4, 0x38, 0xb4, 0x05, + 0x15, 0xd1, 0xbc, 0x2a, 0x68, 0xdd, 0x53, 0x0b, 0xf7, 0x23, 0x68, 0x1a, 0x48, 0x16, 0xd3, 0x88, + 0x89, 0x6e, 0xae, 0x08, 0x26, 0xa6, 0xe7, 0xaf, 0xe6, 0xb8, 0xf3, 0x94, 0xcf, 0x7d, 0x1b, 0x9a, + 0xc7, 0x78, 0x84, 0xe7, 0x1e, 0x4f, 0x4a, 0x7a, 0x5d, 0xf1, 0xe9, 0x6e, 0x01, 0x32, 0x81, 0xea, + 0x0c, 0xf7, 0x01, 0x6c, 0x8b, 0x83, 0xcd, 0x46, 0x5e, 0x14, 0xe4, 0x1b, 0xb0, 0xe7, 0xe1, 0x3a, + 0xdd, 0x8f, 0x61, 0x25, 0xf7, 0x4c, 0x54, 0xd6, 0x19, 0xe9, 0xc6, 0xa6, 0x93, 0xe8, 0x82, 0x7a, + 0x39, 0xb4, 0x7b, 0x02, 0xdb, 0x22, 0x31, 0x13, 0x14, 0xe0, 0x88, 0x13, 0x3e, 0x29, 0x4a, 0x44, + 0xbc, 0x29, 0xa2, 0xfd, 0xf2, 0x76, 0xeb, 0x5e, 0xba, 0x76, 0x77, 0x61, 0xc7, 0xc3, 0x21, 0xbd, + 0xc6, 0x46, 0xb0, 0xb4, 0xe0, 0x09, 0x6c, 0x9d, 0x8f, 0x15, 0x09, 0xb2, 0x03, 0x16, 0x54, 0xbb, + 0xe8, 0x10, 0xb4, 0x0b, 0x75, 0xd9, 0x34, 0x7d, 0x46, 0x02, 0xd9, 0x9c, 0x75, 0xaf, 0x26, 0x0d, + 0x3d, 0x12, 0x88, 0x4b, 0x0e, 0xc7, 0x1c, 0xab, 0x41, 0x50, 0xf3, 0xd4, 0xc2, 0x3d, 0x84, 0x3b, + 0x33, 0x47, 0x6b, 0xe6, 0xda, 0x50, 0x91, 0x5b, 0xf5, 0x23, 0xc9, 0xde, 0xb5, 0x84, 0x49, 0xb2, + 0x14, 0xc0, 0xfd, 0xc5, 0x02, 0xfb, 0xab, 0x38, 0xf0, 0x79, 0xbe, 0xb6, 0xdb, 0x95, 0x60, 0xce, + 0xa5, 0xa5, 0x99, 0xb9, 0xf4, 0x09, 0x40, 0x8c, 0x93, 0x90, 0x30, 0x46, 0x68, 0x24, 0xcb, 0x30, + 0x1f, 0x9f, 0x71, 0x78, 0x37, 0x45, 0x79, 0xc6, 0x8e, 0x74, 0x7c, 0x57, 0xb2, 0xf1, 0xed, 0xfe, + 0x66, 0x81, 0xa3, 0x92, 0xef, 0x8d, 0x07, 0x6c, 0x98, 0x90, 0x58, 0x3c, 0x1a, 0x76, 0xdb, 0xf4, + 0xf7, 0x00, 0xd2, 0x1b, 0x10, 0x43, 0x59, 0x3c, 0xa7, 0xfa, 0xf4, 0x0a, 0x18, 0x7a, 0x03, 0xea, + 0x4c, 0x1d, 0x33, 0xc0, 0xfa, 0x1e, 0x32, 0x03, 0x3a, 0x01, 0x64, 0xb4, 0x5f, 0x5f, 0xcf, 0x89, + 0x8a, 0x6c, 0x59, 0xa7, 0xa8, 0x4e, 0x79, 0x15, 0xcc, 0x6b, 0xc6, 0xb3, 0x26, 0x77, 0x0f, 0x76, + 0x0b, 0xab, 0xd2, 0x0d, 0xf7, 0xa7, 0x05, 0xeb, 0x3d, 0x1c, 0x05, 0xc7, 0x3e, 0xf7, 0x17, 0x95, + 0x8a, 0xa0, 0x2c, 0x6f, 0x42, 0x94, 0xb9, 0xe2, 0xc9, 0xdf, 0xe8, 0x3d, 0x28, 0x5f, 0x91, 0x48, + 0xf5, 0xd7, 0x9a, 0xf1, 0x94, 0x44, 0xac, 0xae, 0x3f, 0xbc, 0xc2, 0xfc, 0xe0, 0x94, 0x44, 0x81, + 0x27, 0x51, 0xe8, 0x01, 0x6c, 0x04, 0x98, 0x71, 0x12, 0xf9, 0x22, 0x03, 0x45, 0x4b, 0x59, 0xd0, + 0x72, 0x54, 0xb2, 0x2d, 0x6f, 0xdd, 0xf0, 0x49, 0x82, 0x3e, 0x84, 0xff, 0x9b, 0x70, 0xcd, 0x2b, + 0xc1, 0x42, 0x8a, 0x04, 0x97, 0x77, 0x0c, 0xef, 0x49, 0xea, 0x44, 0x3b, 0x50, 0xe1, 0x34, 0x26, + 0x43, 0x75, 0xb5, 0x9f, 0xff, 0xcf, 0x53, 0xcb, 0x1f, 0x2d, 0xeb, 0xa8, 0x06, 0xd5, 0xbe, 0x5c, + 0xb8, 0x08, 0x36, 0xb2, 0x9a, 0x35, 0x11, 0xa7, 0xb0, 0xa3, 0x78, 0x12, 0x0f, 0xe0, 0x5c, 0x37, + 0xda, 0x3f, 0x5c, 0x7e, 0xda, 0x9f, 0xa5, 0x7c, 0x7f, 0xba, 0x7f, 0x95, 0xa0, 0xa9, 0x24, 0x44, + 0x88, 0xff, 0x38, 0x91, 0x59, 0x16, 0x7e, 0x34, 0xdc, 0xfe, 0x9b, 0x60, 0xe9, 0x35, 0xbe, 0x09, + 0xca, 0xc5, 0xdf, 0x04, 0x99, 0xbc, 0x57, 0x5e, 0x43, 0xde, 0xab, 0xff, 0x5d, 0x79, 0xef, 0xfc, + 0x5e, 0x85, 0x86, 0xc8, 0xa7, 0x87, 0x93, 0x6b, 0x32, 0xc4, 0xe8, 0x11, 0x40, 0xf6, 0xf1, 0x86, + 0x9c, 0x19, 0x8d, 0x34, 0x44, 0xc9, 0xc9, 0xeb, 0x17, 0x3a, 0x82, 0x7a, 0x2a, 0x79, 0x68, 0x27, + 0xf5, 0xcd, 0x0a, 0xa6, 0xe3, 0x14, 0xb9, 0xf4, 0xe0, 0x7c, 0x06, 0x90, 0x69, 0x9a, 0x71, 0xf8, + 0x9c, 0x22, 0x3a, 0xbb, 0x85, 0x3e, 0x1d, 0xe6, 0x6b, 0xa5, 0xd3, 0xb9, 0x9b, 0x6b, 0xe5, 0x8e, + 0x2d, 0xd0, 0x47, 0xe7, 0xde, 0x02, 0x84, 0x0e, 0x7c, 0x06, 0x6b, 0xcf, 0xb1, 0xe9, 0x32, 0xc2, + 0xde, 0xa0, 0x76, 0xce, 0x8d, 0x82, 0x89, 0xbe, 0x85, 0xe6, 0x9c, 0xae, 0xfd, 0x8b, 0x80, 0x6e, + 0x86, 0xb8, 0x49, 0x15, 0x51, 0x0f, 0x90, 0x90, 0xa6, 0xee, 0x78, 0x30, 0x22, 0xec, 0x25, 0x0e, + 0xe4, 0x68, 0x43, 0x7b, 0xe9, 0xce, 0x22, 0xc9, 0x74, 0xee, 0xde, 0xe4, 0xd6, 0x41, 0xbb, 0xd0, + 0x9c, 0xd3, 0x2a, 0x94, 0xb1, 0x76, 0x93, 0x8e, 0x2d, 0x60, 0xe0, 0x7b, 0xd8, 0x2c, 0x18, 0xb5, + 0x68, 0x7f, 0x26, 0x66, 0x91, 0xbc, 0x38, 0x6f, 0x2d, 0x06, 0xe9, 0x9c, 0x3f, 0x85, 0xda, 0x74, + 0x70, 0xa1, 0x2c, 0x8f, 0x99, 0xf9, 0xed, 0xec, 0x14, 0x78, 0x74, 0x80, 0xe7, 0x80, 0xe6, 0xa7, + 0x1c, 0x72, 0x67, 0x0e, 0x2f, 0x18, 0x81, 0x33, 0xef, 0xe3, 0xe8, 0xb3, 0xef, 0xf6, 0x2f, 0x09, + 0x7f, 0x39, 0x1e, 0x1c, 0x0c, 0x69, 0xf8, 0x50, 0xbb, 0x1e, 0xca, 0xbf, 0x4c, 0x43, 0x3a, 0x9a, + 0x1a, 0x7e, 0x2a, 0xad, 0x9e, 0x91, 0x6b, 0x7c, 0x2a, 0xc8, 0x12, 0xae, 0x3f, 0x4a, 0x6b, 0x7a, + 0xfd, 0xf8, 0xb1, 0x34, 0x0c, 0xaa, 0x72, 0xcb, 0x07, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x52, + 0xe9, 0x02, 0xcf, 0xc5, 0x0d, 0x00, 0x00, } diff --git a/livekit/types_test b/livekit/types_test new file mode 100644 index 00000000..e4d82d0d --- /dev/null +++ b/livekit/types_test @@ -0,0 +1,2 @@ +func TestUnmarshallRoomEgress(t testing.T) { +} diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index e16eb2e1..43cb386b 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -149,8 +149,7 @@ message WorkerPong { } message RegisterWorkerRequest { - JobType type = 1 [deprecated=true]; // use `types` instead. If types is non empty, type will be ignored - repeated JobType types = 8; + JobType type = 1; //string worker_id = 2; string version = 3; string name = 4; diff --git a/rpc/agent.pb.go b/rpc/agent.pb.go index 6bd0eedc..2749a6d7 100644 --- a/rpc/agent.pb.go +++ b/rpc/agent.pb.go @@ -80,9 +80,12 @@ type CheckEnabledResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RoomEnabled bool `protobuf:"varint,1,opt,name=room_enabled,json=roomEnabled,proto3" json:"room_enabled,omitempty"` - PublisherEnabled bool `protobuf:"varint,2,opt,name=publisher_enabled,json=publisherEnabled,proto3" json:"publisher_enabled,omitempty"` - Namespaces []string `protobuf:"bytes,3,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + // Deprecated: Marked as deprecated in rpc/agent.proto. + RoomEnabled bool `protobuf:"varint,1,opt,name=room_enabled,json=roomEnabled,proto3" json:"room_enabled,omitempty"` + // Deprecated: Marked as deprecated in rpc/agent.proto. + PublisherEnabled bool `protobuf:"varint,2,opt,name=publisher_enabled,json=publisherEnabled,proto3" json:"publisher_enabled,omitempty"` + // Deprecated: Marked as deprecated in rpc/agent.proto. + Namespaces []string `protobuf:"bytes,3,rep,name=namespaces,proto3" json:"namespaces,omitempty"` } func (x *CheckEnabledResponse) Reset() { @@ -117,6 +120,7 @@ func (*CheckEnabledResponse) Descriptor() ([]byte, []int) { return file_rpc_agent_proto_rawDescGZIP(), []int{1} } +// Deprecated: Marked as deprecated in rpc/agent.proto. func (x *CheckEnabledResponse) GetRoomEnabled() bool { if x != nil { return x.RoomEnabled @@ -124,6 +128,7 @@ func (x *CheckEnabledResponse) GetRoomEnabled() bool { return false } +// Deprecated: Marked as deprecated in rpc/agent.proto. func (x *CheckEnabledResponse) GetPublisherEnabled() bool { if x != nil { return x.PublisherEnabled @@ -131,6 +136,7 @@ func (x *CheckEnabledResponse) GetPublisherEnabled() bool { return false } +// Deprecated: Marked as deprecated in rpc/agent.proto. func (x *CheckEnabledResponse) GetNamespaces() []string { if x != nil { return x.Namespaces @@ -147,36 +153,37 @@ var file_rpc_agent_proto_rawDesc = []byte{ 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x86, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, - 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x32, 0x96, 0x02, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x4b, 0x0a, 0x0c, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x2e, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, - 0xb2, 0x89, 0x01, 0x02, 0x28, 0x01, 0x12, 0x53, 0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, - 0x6f, 0x62, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1f, 0xb2, 0x89, 0x01, 0x1b, - 0x10, 0x01, 0x1a, 0x15, 0x12, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x30, 0x01, 0x12, 0x63, 0x0a, 0x10, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x1f, 0xb2, 0x89, 0x01, 0x1b, 0x08, 0x01, 0x10, 0x01, 0x1a, 0x13, 0x12, 0x11, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x28, 0x01, - 0x42, 0x21, 0x5a, 0x1f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, - 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0c, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2f, + 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, + 0x22, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x32, 0x96, 0x02, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x4b, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x19, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xb2, 0x89, 0x01, 0x02, + 0x28, 0x01, 0x12, 0x53, 0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1f, 0xb2, 0x89, 0x01, 0x1b, 0x10, 0x01, 0x1a, 0x15, + 0x12, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x08, 0x6a, 0x6f, 0x62, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x30, 0x01, 0x12, 0x63, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1f, 0xb2, 0x89, 0x01, + 0x1b, 0x08, 0x01, 0x10, 0x01, 0x1a, 0x13, 0x12, 0x11, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x28, 0x01, 0x42, 0x21, 0x5a, 0x1f, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x72, 0x70, 0x63, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/agent.psrpc.go b/rpc/agent.psrpc.go index 5909741d..abc92cf7 100644 --- a/rpc/agent.psrpc.go +++ b/rpc/agent.psrpc.go @@ -154,28 +154,28 @@ func (s *agentInternalServer) Kill() { } var psrpcFileDescriptor0 = []byte{ - // 362 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xd1, 0x6a, 0xdb, 0x30, - 0x14, 0x86, 0x51, 0x32, 0x86, 0xa3, 0x25, 0xcc, 0x51, 0x96, 0x91, 0x79, 0x6c, 0x4b, 0x7c, 0x15, - 0x18, 0xc8, 0x63, 0x7b, 0x81, 0x6c, 0x23, 0x17, 0x0d, 0xf4, 0xc6, 0x50, 0x0a, 0xbd, 0x31, 0x96, - 0x72, 0x6a, 0xbb, 0xb1, 0x25, 0x55, 0x92, 0x0b, 0x79, 0x81, 0x42, 0xde, 0xa1, 0x4f, 0x91, 0x27, - 0x2c, 0x8e, 0x1d, 0x93, 0x42, 0xda, 0xcb, 0xf3, 0x9f, 0x5f, 0xe7, 0x7c, 0xe7, 0x47, 0xf8, 0xa3, - 0x56, 0x3c, 0x88, 0x13, 0x10, 0x96, 0x2a, 0x2d, 0xad, 0x24, 0x5d, 0xad, 0xb8, 0xf7, 0x35, 0x91, - 0x32, 0xc9, 0x21, 0x38, 0x48, 0xac, 0xbc, 0x0d, 0xa0, 0x50, 0x76, 0x5b, 0x3b, 0xbc, 0x81, 0x54, - 0x36, 0x93, 0xc2, 0x34, 0xe5, 0x28, 0xcf, 0x1e, 0x60, 0x93, 0xd9, 0xe8, 0x64, 0x8a, 0x3f, 0xc6, - 0xa3, 0xff, 0x29, 0xf0, 0xcd, 0x52, 0xc4, 0x2c, 0x87, 0x75, 0x08, 0xf7, 0x25, 0x18, 0xeb, 0x3f, - 0x22, 0xfc, 0xe9, 0xa5, 0x6e, 0x94, 0x14, 0x06, 0xc8, 0x0c, 0xf7, 0xb5, 0x94, 0x45, 0x04, 0xb5, - 0x3e, 0x41, 0x53, 0x34, 0x77, 0xc2, 0x0f, 0x95, 0xd6, 0x58, 0xc9, 0x4f, 0x3c, 0x54, 0x25, 0xcb, - 0x33, 0x93, 0x82, 0x6e, 0x7d, 0x9d, 0x83, 0xcf, 0x6d, 0x1b, 0x47, 0xf3, 0x77, 0x8c, 0x45, 0x5c, - 0x80, 0x51, 0x31, 0x07, 0x33, 0xe9, 0x4e, 0xbb, 0xf3, 0x5e, 0x78, 0xa2, 0xfc, 0x7e, 0xea, 0xe0, - 0xc1, 0xdf, 0x8a, 0xf7, 0x42, 0x58, 0xd0, 0x22, 0xce, 0xc9, 0x25, 0xee, 0x9f, 0x92, 0x91, 0x09, - 0xd5, 0x8a, 0xd3, 0x33, 0x47, 0x78, 0x5f, 0xce, 0x74, 0xea, 0x33, 0x7c, 0x67, 0xbf, 0x43, 0xef, - 0x16, 0x9d, 0x39, 0x22, 0x57, 0x18, 0xaf, 0x24, 0x6b, 0x9e, 0x90, 0x3e, 0x6d, 0x42, 0xa2, 0x2b, - 0xc9, 0xbc, 0xcf, 0xb4, 0x8e, 0x97, 0x1e, 0xe3, 0xa5, 0xcb, 0x2a, 0x5e, 0x7f, 0xb6, 0xdf, 0xa1, - 0x6f, 0x2e, 0xf2, 0xc6, 0xa4, 0xd7, 0xa2, 0x12, 0xe7, 0x4e, 0xb2, 0xc8, 0x6e, 0x15, 0x2c, 0xd0, - 0x2f, 0x44, 0x00, 0xbb, 0xd7, 0x52, 0x6f, 0x40, 0x87, 0x90, 0x64, 0xc6, 0x82, 0x86, 0x35, 0x79, - 0x65, 0xdc, 0xdb, 0x6b, 0x1c, 0xe4, 0x22, 0x6f, 0x44, 0x86, 0x69, 0x2c, 0xd6, 0x39, 0xe8, 0xa8, - 0x5d, 0x58, 0xd1, 0xff, 0x9b, 0xdd, 0xfc, 0x48, 0x32, 0x9b, 0x96, 0x8c, 0x72, 0x59, 0x04, 0x0d, - 0x7b, 0xfd, 0x1b, 0xb8, 0xcc, 0x03, 0xad, 0x38, 0x7b, 0x7f, 0xa8, 0xfe, 0x3c, 0x07, 0x00, 0x00, - 0xff, 0xff, 0x0e, 0x5b, 0x92, 0xc6, 0x41, 0x02, 0x00, 0x00, + // 365 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xc1, 0x8a, 0xdb, 0x30, + 0x10, 0x86, 0x91, 0x53, 0x8a, 0xa3, 0x26, 0xd4, 0x51, 0x9a, 0xe2, 0xba, 0x94, 0x26, 0x86, 0x42, + 0x4e, 0x72, 0x69, 0x5f, 0x20, 0x4d, 0xc9, 0xa1, 0x81, 0x5e, 0x02, 0xa5, 0xd0, 0x8b, 0xb1, 0x94, + 0xa9, 0xed, 0x8d, 0x2d, 0x69, 0x25, 0x79, 0x21, 0x8f, 0x90, 0xeb, 0x9e, 0xf7, 0x29, 0xf2, 0x84, + 0x8b, 0x63, 0xc7, 0x64, 0x21, 0xbb, 0x47, 0xfd, 0xf3, 0xcf, 0xcc, 0x37, 0x3f, 0xc2, 0x6f, 0xb5, + 0xe2, 0x51, 0x92, 0x82, 0xb0, 0x54, 0x69, 0x69, 0x25, 0xe9, 0x69, 0xc5, 0x83, 0x8f, 0xa9, 0x94, + 0x69, 0x01, 0xd1, 0x49, 0x62, 0xd5, 0xff, 0x08, 0x4a, 0x65, 0xf7, 0x8d, 0x23, 0x18, 0x4a, 0x65, + 0x73, 0x29, 0x4c, 0xfb, 0x1c, 0x17, 0xf9, 0x1d, 0xec, 0x72, 0x1b, 0x5f, 0x4c, 0x09, 0x27, 0x78, + 0xfc, 0x33, 0x03, 0xbe, 0x5b, 0x89, 0x84, 0x15, 0xb0, 0xdd, 0xc0, 0x6d, 0x05, 0xc6, 0x86, 0xf7, + 0x08, 0xbf, 0x7b, 0xaa, 0x1b, 0x25, 0x85, 0x01, 0xf2, 0x05, 0x0f, 0xb4, 0x94, 0x65, 0x0c, 0x8d, + 0xee, 0xa3, 0x29, 0x9a, 0xbb, 0x4b, 0xc7, 0x47, 0x9b, 0x37, 0xb5, 0xde, 0xda, 0x49, 0x84, 0x47, + 0xaa, 0x62, 0x45, 0x6e, 0x32, 0xd0, 0x9d, 0xd7, 0xe9, 0xbc, 0x5e, 0x57, 0x3c, 0x37, 0x84, 0x18, + 0x8b, 0xa4, 0x04, 0xa3, 0x12, 0x0e, 0xc6, 0xef, 0x4d, 0x7b, 0xf3, 0xfe, 0xc9, 0x79, 0xa1, 0x7e, + 0x7b, 0x70, 0xf0, 0xf0, 0x47, 0xcd, 0xfe, 0x4b, 0x58, 0xd0, 0x22, 0x29, 0xc8, 0x6f, 0x3c, 0xb8, + 0xa4, 0x24, 0x3e, 0xd5, 0x8a, 0xd3, 0x2b, 0x07, 0x05, 0x1f, 0xae, 0x54, 0x9a, 0x93, 0x42, 0xf7, + 0x78, 0x40, 0xaf, 0x16, 0xce, 0x1c, 0x91, 0x3f, 0x18, 0xaf, 0x25, 0x6b, 0x5b, 0xc8, 0x80, 0xb6, + 0x81, 0xd1, 0xb5, 0x64, 0xc1, 0x7b, 0xda, 0x44, 0x4d, 0xcf, 0x51, 0xd3, 0x55, 0x1d, 0x75, 0x38, + 0x3b, 0x1e, 0xd0, 0x27, 0x0f, 0x05, 0x13, 0xd2, 0xef, 0x50, 0x89, 0x7b, 0x23, 0x59, 0x6c, 0xf7, + 0x0a, 0x16, 0xe8, 0x2b, 0x22, 0x80, 0xbd, 0xbf, 0x52, 0xef, 0x40, 0x6f, 0x20, 0xcd, 0x8d, 0x05, + 0x0d, 0x5b, 0xf2, 0xcc, 0xb8, 0x97, 0xd7, 0xb8, 0xc8, 0x43, 0xc1, 0x98, 0x8c, 0xb2, 0x44, 0x6c, + 0x0b, 0xd0, 0x71, 0xb7, 0xb0, 0xa6, 0x5f, 0xce, 0xfe, 0x7d, 0x4e, 0x73, 0x9b, 0x55, 0x8c, 0x72, + 0x59, 0x46, 0x2d, 0x7b, 0xf3, 0x33, 0xb8, 0x2c, 0x22, 0xad, 0x38, 0x7b, 0x7d, 0x7a, 0x7d, 0x7f, + 0x0c, 0x00, 0x00, 0xff, 0xff, 0x80, 0x9c, 0xda, 0xb3, 0x4d, 0x02, 0x00, 0x00, } From d41f0fd0f6402d432b828ba4553cc2b9931da204 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Mon, 24 Jun 2024 14:38:27 -0700 Subject: [PATCH 19/21] cleanup --- livekit/types.go | 9 --------- 1 file changed, 9 deletions(-) diff --git a/livekit/types.go b/livekit/types.go index b54db391..5759c6de 100644 --- a/livekit/types.go +++ b/livekit/types.go @@ -63,15 +63,6 @@ type Guid interface { type GuidBlock [9]byte -// ToProto implements DataPacket in Go SDK. -func (p *SipDTMF) ToProto() *DataPacket { - return &DataPacket{ - Value: &DataPacket_SipDtmf{ - SipDtmf: p, - }, - } -} - func (r *RoomEgress) UnmarshalYAML(value *yaml.Node) error { // Marshall the Node back to yaml to pass it to the protobuf specific unmarshaller str, err := yaml.Marshal(value) From 13fd91a7c055cfbc014f6698ad3e19c9dc0129f4 Mon Sep 17 00:00:00 2001 From: Benjamin Pracht Date: Wed, 26 Jun 2024 14:34:12 -0700 Subject: [PATCH 20/21] feedback --- livekit/livekit_agent.pb.go | 93 ++++++++++++++++++++--------------- protobufs/livekit_agent.proto | 4 +- 2 files changed, 55 insertions(+), 42 deletions(-) diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index d4bc3f62..e3d852b7 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -1335,7 +1335,8 @@ type MigrateJobRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // string job_id = 1 [deprecated = true]; + JobIds []string `protobuf:"bytes,2,rep,name=job_ids,json=jobIds,proto3" json:"job_ids,omitempty"` } func (x *MigrateJobRequest) Reset() { @@ -1370,11 +1371,11 @@ func (*MigrateJobRequest) Descriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{15} } -func (x *MigrateJobRequest) GetJobId() string { +func (x *MigrateJobRequest) GetJobIds() []string { if x != nil { - return x.JobId + return x.JobIds } - return "" + return nil } type AvailabilityRequest struct { @@ -1593,7 +1594,8 @@ type UpdateWorkerStatus struct { Status *WorkerStatus `protobuf:"varint,1,opt,name=status,proto3,enum=livekit.WorkerStatus,oneof" json:"status,omitempty"` // optional string metadata = 2 [deprecated=true]; - Load float32 `protobuf:"fixed32,3,opt,name=load,proto3" json:"load,omitempty"` + Load float32 `protobuf:"fixed32,3,opt,name=load,proto3" json:"load,omitempty"` + JobCount int32 `protobuf:"varint,4,opt,name=job_count,json=jobCount,proto3" json:"job_count,omitempty"` } func (x *UpdateWorkerStatus) Reset() { @@ -1642,6 +1644,13 @@ func (x *UpdateWorkerStatus) GetLoad() float32 { return 0 } +func (x *UpdateWorkerStatus) GetJobCount() int32 { + if x != nil { + return x.JobCount + } + return 0 +} + type JobAssignment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1929,44 +1938,46 @@ var file_livekit_agent_proto_rawDesc = []byte{ 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2a, + 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2c, 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x13, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, - 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x85, 0x02, - 0x0a, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, - 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x75, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x6a, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, - 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, + 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x22, 0x51, 0x0a, 0x13, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, + 0x6a, 0x6f, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x22, + 0x85, 0x02, 0x0a, 0x14, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, - 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x22, 0x67, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6c, - 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x42, + 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, + 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x6a, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, + 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, + 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x22, 0x84, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x12, + 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x64, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 43cb386b..5d59f417 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -164,7 +164,8 @@ message RegisterWorkerResponse { } message MigrateJobRequest { - string job_id = 1; + // string job_id = 1 [deprecated = true]; + repeated string job_ids = 2; } message AvailabilityRequest { @@ -203,6 +204,7 @@ message UpdateWorkerStatus { optional WorkerStatus status = 1; // optional string metadata = 2 [deprecated=true]; float load = 3; + int32 job_count = 4; } message JobAssignment { From d82084e91279a8f7719d3baa42cef3aaa778bcbd Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 27 Jun 2024 17:27:37 +0000 Subject: [PATCH 21/21] generated protobuf --- infra/link.pb.go | 16 +++--- infra/link_grpc.pb.go | 18 +++--- livekit/livekit_agent.pb.go | 62 ++++++++++----------- livekit/livekit_agent_grpc.pb.go | 17 +++--- livekit/livekit_analytics.pb.go | 28 +++++----- livekit/livekit_egress.pb.go | 88 +++++++++++++++--------------- livekit/livekit_ingress.pb.go | 42 +++++++------- livekit/livekit_internal.pb.go | 18 +++--- livekit/livekit_models.pb.go | 60 ++++++++++---------- livekit/livekit_room.pb.go | 48 ++++++++-------- livekit/livekit_rtc.pb.go | 94 ++++++++++++++++---------------- livekit/livekit_sip.pb.go | 54 +++++++++--------- livekit/livekit_webhook.pb.go | 8 +-- rpc/agent.pb.go | 10 ++-- rpc/analytics.pb.go | 6 +- rpc/analytics_grpc.pb.go | 29 +++++----- rpc/egress.pb.go | 14 ++--- rpc/ingress.pb.go | 22 ++++---- rpc/io.pb.go | 24 ++++---- rpc/keepalive.pb.go | 8 +-- rpc/participant.pb.go | 6 +- rpc/room.pb.go | 6 +- rpc/signal.pb.go | 10 ++-- rpc/sip.pb.go | 10 ++-- 24 files changed, 353 insertions(+), 345 deletions(-) diff --git a/infra/link.pb.go b/infra/link.pb.go index efbe6bcc..c53e392e 100644 --- a/infra/link.pb.go +++ b/infra/link.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: infra/link.proto package infra @@ -375,7 +375,7 @@ func file_infra_link_proto_rawDescGZIP() []byte { } var file_infra_link_proto_msgTypes = make([]protoimpl.MessageInfo, 4) -var file_infra_link_proto_goTypes = []interface{}{ +var file_infra_link_proto_goTypes = []any{ (*WatchLocalLinksRequest)(nil), // 0: rpc.WatchLocalLinksRequest (*WatchLocalLinksResponse)(nil), // 1: rpc.WatchLocalLinksResponse (*SimulateLinkStateRequest)(nil), // 2: rpc.SimulateLinkStateRequest @@ -401,7 +401,7 @@ func file_infra_link_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_infra_link_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_infra_link_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*WatchLocalLinksRequest); i { case 0: return &v.state @@ -413,7 +413,7 @@ func file_infra_link_proto_init() { return nil } } - file_infra_link_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_infra_link_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*WatchLocalLinksResponse); i { case 0: return &v.state @@ -425,7 +425,7 @@ func file_infra_link_proto_init() { return nil } } - file_infra_link_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_infra_link_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*SimulateLinkStateRequest); i { case 0: return &v.state @@ -437,7 +437,7 @@ func file_infra_link_proto_init() { return nil } } - file_infra_link_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_infra_link_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*SimulateLinkStateResponse); i { case 0: return &v.state @@ -450,7 +450,7 @@ func file_infra_link_proto_init() { } } } - file_infra_link_proto_msgTypes[2].OneofWrappers = []interface{}{} + file_infra_link_proto_msgTypes[2].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/infra/link_grpc.pb.go b/infra/link_grpc.pb.go index 2a034443..cd17cd1f 100644 --- a/infra/link_grpc.pb.go +++ b/infra/link_grpc.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v5.27.0 +// - protoc-gen-go-grpc v1.4.0 +// - protoc v4.23.4 // source: infra/link.proto package infra @@ -29,8 +29,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.62.0 or later. +const _ = grpc.SupportPackageIsVersion8 const ( Link_WatchLocalLinks_FullMethodName = "/rpc.Link/WatchLocalLinks" @@ -54,11 +54,12 @@ func NewLinkClient(cc grpc.ClientConnInterface) LinkClient { } func (c *linkClient) WatchLocalLinks(ctx context.Context, in *WatchLocalLinksRequest, opts ...grpc.CallOption) (Link_WatchLocalLinksClient, error) { - stream, err := c.cc.NewStream(ctx, &Link_ServiceDesc.Streams[0], Link_WatchLocalLinks_FullMethodName, opts...) + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Link_ServiceDesc.Streams[0], Link_WatchLocalLinks_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &linkWatchLocalLinksClient{stream} + x := &linkWatchLocalLinksClient{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -86,8 +87,9 @@ func (x *linkWatchLocalLinksClient) Recv() (*WatchLocalLinksResponse, error) { } func (c *linkClient) SimulateLinkState(ctx context.Context, in *SimulateLinkStateRequest, opts ...grpc.CallOption) (*SimulateLinkStateResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SimulateLinkStateResponse) - err := c.cc.Invoke(ctx, Link_SimulateLinkState_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Link_SimulateLinkState_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -131,7 +133,7 @@ func _Link_WatchLocalLinks_Handler(srv interface{}, stream grpc.ServerStream) er if err := stream.RecvMsg(m); err != nil { return err } - return srv.(LinkServer).WatchLocalLinks(m, &linkWatchLocalLinksServer{stream}) + return srv.(LinkServer).WatchLocalLinks(m, &linkWatchLocalLinksServer{ServerStream: stream}) } type Link_WatchLocalLinksServer interface { diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index e3d852b7..2a36c4ad 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: livekit_agent.proto package livekit @@ -2039,7 +2039,7 @@ func file_livekit_agent_proto_rawDescGZIP() []byte { var file_livekit_agent_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_livekit_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 22) -var file_livekit_agent_proto_goTypes = []interface{}{ +var file_livekit_agent_proto_goTypes = []any{ (JobType)(0), // 0: livekit.JobType (WorkerStatus)(0), // 1: livekit.WorkerStatus (JobStatus)(0), // 2: livekit.JobStatus @@ -2123,7 +2123,7 @@ func file_livekit_agent_proto_init() { } file_livekit_models_proto_init() if !protoimpl.UnsafeEnabled { - file_livekit_agent_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*CreateAgentJobDefinitionRequest); i { case 0: return &v.state @@ -2135,7 +2135,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*DeleteAgentJobDefinitionRequest); i { case 0: return &v.state @@ -2147,7 +2147,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*ListAgentJobDefinitionsRequesst); i { case 0: return &v.state @@ -2159,7 +2159,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*ListAgentJobDefinitionsResponse); i { case 0: return &v.state @@ -2171,7 +2171,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*JobDefinition); i { case 0: return &v.state @@ -2183,7 +2183,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*JobDefinitionState); i { case 0: return &v.state @@ -2195,7 +2195,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*Job); i { case 0: return &v.state @@ -2207,7 +2207,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*JobState); i { case 0: return &v.state @@ -2219,7 +2219,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*WorkerMessage); i { case 0: return &v.state @@ -2231,7 +2231,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*ServerMessage); i { case 0: return &v.state @@ -2243,7 +2243,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*SimulateJobRequest); i { case 0: return &v.state @@ -2255,7 +2255,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*WorkerPing); i { case 0: return &v.state @@ -2267,7 +2267,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*WorkerPong); i { case 0: return &v.state @@ -2279,7 +2279,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[13].Exporter = func(v any, i int) any { switch v := v.(*RegisterWorkerRequest); i { case 0: return &v.state @@ -2291,7 +2291,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*RegisterWorkerResponse); i { case 0: return &v.state @@ -2303,7 +2303,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[15].Exporter = func(v any, i int) any { switch v := v.(*MigrateJobRequest); i { case 0: return &v.state @@ -2315,7 +2315,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[16].Exporter = func(v any, i int) any { switch v := v.(*AvailabilityRequest); i { case 0: return &v.state @@ -2327,7 +2327,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[17].Exporter = func(v any, i int) any { switch v := v.(*AvailabilityResponse); i { case 0: return &v.state @@ -2339,7 +2339,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[18].Exporter = func(v any, i int) any { switch v := v.(*UpdateJobStatus); i { case 0: return &v.state @@ -2351,7 +2351,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[19].Exporter = func(v any, i int) any { switch v := v.(*UpdateWorkerStatus); i { case 0: return &v.state @@ -2363,7 +2363,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[20].Exporter = func(v any, i int) any { switch v := v.(*JobAssignment); i { case 0: return &v.state @@ -2375,7 +2375,7 @@ func file_livekit_agent_proto_init() { return nil } } - file_livekit_agent_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_livekit_agent_proto_msgTypes[21].Exporter = func(v any, i int) any { switch v := v.(*JobTermination); i { case 0: return &v.state @@ -2388,8 +2388,8 @@ func file_livekit_agent_proto_init() { } } } - file_livekit_agent_proto_msgTypes[6].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[8].OneofWrappers = []interface{}{ + file_livekit_agent_proto_msgTypes[6].OneofWrappers = []any{} + file_livekit_agent_proto_msgTypes[8].OneofWrappers = []any{ (*WorkerMessage_Register)(nil), (*WorkerMessage_Availability)(nil), (*WorkerMessage_UpdateWorker)(nil), @@ -2398,16 +2398,16 @@ func file_livekit_agent_proto_init() { (*WorkerMessage_SimulateJob)(nil), (*WorkerMessage_MigrateJob)(nil), } - file_livekit_agent_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_livekit_agent_proto_msgTypes[9].OneofWrappers = []any{ (*ServerMessage_Register)(nil), (*ServerMessage_Availability)(nil), (*ServerMessage_Assignment)(nil), (*ServerMessage_Termination)(nil), (*ServerMessage_Pong)(nil), } - file_livekit_agent_proto_msgTypes[13].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[19].OneofWrappers = []interface{}{} - file_livekit_agent_proto_msgTypes[20].OneofWrappers = []interface{}{} + file_livekit_agent_proto_msgTypes[13].OneofWrappers = []any{} + file_livekit_agent_proto_msgTypes[19].OneofWrappers = []any{} + file_livekit_agent_proto_msgTypes[20].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/livekit/livekit_agent_grpc.pb.go b/livekit/livekit_agent_grpc.pb.go index 30fd7be1..0076469f 100644 --- a/livekit/livekit_agent_grpc.pb.go +++ b/livekit/livekit_agent_grpc.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v5.27.0 +// - protoc-gen-go-grpc v1.4.0 +// - protoc v4.23.4 // source: livekit_agent.proto package livekit @@ -29,8 +29,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.62.0 or later. +const _ = grpc.SupportPackageIsVersion8 const ( AgentService_CreateAgentJobDefinition_FullMethodName = "/livekit.AgentService/CreateAgentJobDefinition" @@ -56,8 +56,9 @@ func NewAgentServiceClient(cc grpc.ClientConnInterface) AgentServiceClient { } func (c *agentServiceClient) CreateAgentJobDefinition(ctx context.Context, in *CreateAgentJobDefinitionRequest, opts ...grpc.CallOption) (*JobDefinition, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(JobDefinition) - err := c.cc.Invoke(ctx, AgentService_CreateAgentJobDefinition_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, AgentService_CreateAgentJobDefinition_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -65,8 +66,9 @@ func (c *agentServiceClient) CreateAgentJobDefinition(ctx context.Context, in *C } func (c *agentServiceClient) DeleteAgentJobDefinition(ctx context.Context, in *DeleteAgentJobDefinitionRequest, opts ...grpc.CallOption) (*JobDefinition, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(JobDefinition) - err := c.cc.Invoke(ctx, AgentService_DeleteAgentJobDefinition_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, AgentService_DeleteAgentJobDefinition_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -74,8 +76,9 @@ func (c *agentServiceClient) DeleteAgentJobDefinition(ctx context.Context, in *D } func (c *agentServiceClient) ListAgentJobDefinitions(ctx context.Context, in *ListAgentJobDefinitionsRequesst, opts ...grpc.CallOption) (*ListAgentJobDefinitionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ListAgentJobDefinitionsResponse) - err := c.cc.Invoke(ctx, AgentService_ListAgentJobDefinitions_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, AgentService_ListAgentJobDefinitions_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } diff --git a/livekit/livekit_analytics.pb.go b/livekit/livekit_analytics.pb.go index 0ff7f570..46f48428 100644 --- a/livekit/livekit_analytics.pb.go +++ b/livekit/livekit_analytics.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: livekit_analytics.proto package livekit @@ -1546,7 +1546,7 @@ func file_livekit_analytics_proto_rawDescGZIP() []byte { var file_livekit_analytics_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_livekit_analytics_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_livekit_analytics_proto_goTypes = []interface{}{ +var file_livekit_analytics_proto_goTypes = []any{ (StreamType)(0), // 0: livekit.StreamType (AnalyticsEventType)(0), // 1: livekit.AnalyticsEventType (*AnalyticsVideoLayer)(nil), // 2: livekit.AnalyticsVideoLayer @@ -1615,7 +1615,7 @@ func file_livekit_analytics_proto_init() { file_livekit_egress_proto_init() file_livekit_ingress_proto_init() if !protoimpl.UnsafeEnabled { - file_livekit_analytics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_livekit_analytics_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*AnalyticsVideoLayer); i { case 0: return &v.state @@ -1627,7 +1627,7 @@ func file_livekit_analytics_proto_init() { return nil } } - file_livekit_analytics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_livekit_analytics_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*AnalyticsStream); i { case 0: return &v.state @@ -1639,7 +1639,7 @@ func file_livekit_analytics_proto_init() { return nil } } - file_livekit_analytics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_livekit_analytics_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*AnalyticsStat); i { case 0: return &v.state @@ -1651,7 +1651,7 @@ func file_livekit_analytics_proto_init() { return nil } } - file_livekit_analytics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_livekit_analytics_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*AnalyticsStats); i { case 0: return &v.state @@ -1663,7 +1663,7 @@ func file_livekit_analytics_proto_init() { return nil } } - file_livekit_analytics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_livekit_analytics_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*AnalyticsClientMeta); i { case 0: return &v.state @@ -1675,7 +1675,7 @@ func file_livekit_analytics_proto_init() { return nil } } - file_livekit_analytics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_livekit_analytics_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*AnalyticsEvent); i { case 0: return &v.state @@ -1687,7 +1687,7 @@ func file_livekit_analytics_proto_init() { return nil } } - file_livekit_analytics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_livekit_analytics_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*AnalyticsEvents); i { case 0: return &v.state @@ -1699,7 +1699,7 @@ func file_livekit_analytics_proto_init() { return nil } } - file_livekit_analytics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_livekit_analytics_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*AnalyticsRoomParticipant); i { case 0: return &v.state @@ -1711,7 +1711,7 @@ func file_livekit_analytics_proto_init() { return nil } } - file_livekit_analytics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_livekit_analytics_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*AnalyticsRoom); i { case 0: return &v.state @@ -1723,7 +1723,7 @@ func file_livekit_analytics_proto_init() { return nil } } - file_livekit_analytics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_livekit_analytics_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*AnalyticsNodeRooms); i { case 0: return &v.state @@ -1736,7 +1736,7 @@ func file_livekit_analytics_proto_init() { } } } - file_livekit_analytics_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_livekit_analytics_proto_msgTypes[4].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/livekit/livekit_egress.pb.go b/livekit/livekit_egress.pb.go index 26834054..0284ccd1 100644 --- a/livekit/livekit_egress.pb.go +++ b/livekit/livekit_egress.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: livekit_egress.proto package livekit @@ -4338,7 +4338,7 @@ func file_livekit_egress_proto_rawDescGZIP() []byte { var file_livekit_egress_proto_enumTypes = make([]protoimpl.EnumInfo, 8) var file_livekit_egress_proto_msgTypes = make([]protoimpl.MessageInfo, 30) -var file_livekit_egress_proto_goTypes = []interface{}{ +var file_livekit_egress_proto_goTypes = []any{ (EncodedFileType)(0), // 0: livekit.EncodedFileType (SegmentedFileProtocol)(0), // 1: livekit.SegmentedFileProtocol (SegmentedFileSuffix)(0), // 2: livekit.SegmentedFileSuffix @@ -4499,7 +4499,7 @@ func file_livekit_egress_proto_init() { } file_livekit_models_proto_init() if !protoimpl.UnsafeEnabled { - file_livekit_egress_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*RoomCompositeEgressRequest); i { case 0: return &v.state @@ -4511,7 +4511,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*WebEgressRequest); i { case 0: return &v.state @@ -4523,7 +4523,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*ParticipantEgressRequest); i { case 0: return &v.state @@ -4535,7 +4535,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*TrackCompositeEgressRequest); i { case 0: return &v.state @@ -4547,7 +4547,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*TrackEgressRequest); i { case 0: return &v.state @@ -4559,7 +4559,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*EncodedFileOutput); i { case 0: return &v.state @@ -4571,7 +4571,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*SegmentedFileOutput); i { case 0: return &v.state @@ -4583,7 +4583,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*DirectFileOutput); i { case 0: return &v.state @@ -4595,7 +4595,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*ImageOutput); i { case 0: return &v.state @@ -4607,7 +4607,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*S3Upload); i { case 0: return &v.state @@ -4619,7 +4619,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*GCPUpload); i { case 0: return &v.state @@ -4631,7 +4631,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*AzureBlobUpload); i { case 0: return &v.state @@ -4643,7 +4643,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*AliOSSUpload); i { case 0: return &v.state @@ -4655,7 +4655,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[13].Exporter = func(v any, i int) any { switch v := v.(*ProxyConfig); i { case 0: return &v.state @@ -4667,7 +4667,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*StreamOutput); i { case 0: return &v.state @@ -4679,7 +4679,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[15].Exporter = func(v any, i int) any { switch v := v.(*EncodingOptions); i { case 0: return &v.state @@ -4691,7 +4691,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[16].Exporter = func(v any, i int) any { switch v := v.(*UpdateLayoutRequest); i { case 0: return &v.state @@ -4703,7 +4703,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[17].Exporter = func(v any, i int) any { switch v := v.(*UpdateStreamRequest); i { case 0: return &v.state @@ -4715,7 +4715,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[18].Exporter = func(v any, i int) any { switch v := v.(*ListEgressRequest); i { case 0: return &v.state @@ -4727,7 +4727,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[19].Exporter = func(v any, i int) any { switch v := v.(*ListEgressResponse); i { case 0: return &v.state @@ -4739,7 +4739,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[20].Exporter = func(v any, i int) any { switch v := v.(*StopEgressRequest); i { case 0: return &v.state @@ -4751,7 +4751,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[21].Exporter = func(v any, i int) any { switch v := v.(*EgressInfo); i { case 0: return &v.state @@ -4763,7 +4763,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[22].Exporter = func(v any, i int) any { switch v := v.(*StreamInfoList); i { case 0: return &v.state @@ -4775,7 +4775,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[23].Exporter = func(v any, i int) any { switch v := v.(*StreamInfo); i { case 0: return &v.state @@ -4787,7 +4787,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[24].Exporter = func(v any, i int) any { switch v := v.(*FileInfo); i { case 0: return &v.state @@ -4799,7 +4799,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[25].Exporter = func(v any, i int) any { switch v := v.(*SegmentsInfo); i { case 0: return &v.state @@ -4811,7 +4811,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[26].Exporter = func(v any, i int) any { switch v := v.(*ImagesInfo); i { case 0: return &v.state @@ -4823,7 +4823,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[27].Exporter = func(v any, i int) any { switch v := v.(*AutoParticipantEgress); i { case 0: return &v.state @@ -4835,7 +4835,7 @@ func file_livekit_egress_proto_init() { return nil } } - file_livekit_egress_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_livekit_egress_proto_msgTypes[28].Exporter = func(v any, i int) any { switch v := v.(*AutoTrackEgress); i { case 0: return &v.state @@ -4848,60 +4848,60 @@ func file_livekit_egress_proto_init() { } } } - file_livekit_egress_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_livekit_egress_proto_msgTypes[0].OneofWrappers = []any{ (*RoomCompositeEgressRequest_File)(nil), (*RoomCompositeEgressRequest_Stream)(nil), (*RoomCompositeEgressRequest_Segments)(nil), (*RoomCompositeEgressRequest_Preset)(nil), (*RoomCompositeEgressRequest_Advanced)(nil), } - file_livekit_egress_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_livekit_egress_proto_msgTypes[1].OneofWrappers = []any{ (*WebEgressRequest_File)(nil), (*WebEgressRequest_Stream)(nil), (*WebEgressRequest_Segments)(nil), (*WebEgressRequest_Preset)(nil), (*WebEgressRequest_Advanced)(nil), } - file_livekit_egress_proto_msgTypes[2].OneofWrappers = []interface{}{ + file_livekit_egress_proto_msgTypes[2].OneofWrappers = []any{ (*ParticipantEgressRequest_Preset)(nil), (*ParticipantEgressRequest_Advanced)(nil), } - file_livekit_egress_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_livekit_egress_proto_msgTypes[3].OneofWrappers = []any{ (*TrackCompositeEgressRequest_File)(nil), (*TrackCompositeEgressRequest_Stream)(nil), (*TrackCompositeEgressRequest_Segments)(nil), (*TrackCompositeEgressRequest_Preset)(nil), (*TrackCompositeEgressRequest_Advanced)(nil), } - file_livekit_egress_proto_msgTypes[4].OneofWrappers = []interface{}{ + file_livekit_egress_proto_msgTypes[4].OneofWrappers = []any{ (*TrackEgressRequest_File)(nil), (*TrackEgressRequest_WebsocketUrl)(nil), } - file_livekit_egress_proto_msgTypes[5].OneofWrappers = []interface{}{ + file_livekit_egress_proto_msgTypes[5].OneofWrappers = []any{ (*EncodedFileOutput_S3)(nil), (*EncodedFileOutput_Gcp)(nil), (*EncodedFileOutput_Azure)(nil), (*EncodedFileOutput_AliOSS)(nil), } - file_livekit_egress_proto_msgTypes[6].OneofWrappers = []interface{}{ + file_livekit_egress_proto_msgTypes[6].OneofWrappers = []any{ (*SegmentedFileOutput_S3)(nil), (*SegmentedFileOutput_Gcp)(nil), (*SegmentedFileOutput_Azure)(nil), (*SegmentedFileOutput_AliOSS)(nil), } - file_livekit_egress_proto_msgTypes[7].OneofWrappers = []interface{}{ + file_livekit_egress_proto_msgTypes[7].OneofWrappers = []any{ (*DirectFileOutput_S3)(nil), (*DirectFileOutput_Gcp)(nil), (*DirectFileOutput_Azure)(nil), (*DirectFileOutput_AliOSS)(nil), } - file_livekit_egress_proto_msgTypes[8].OneofWrappers = []interface{}{ + file_livekit_egress_proto_msgTypes[8].OneofWrappers = []any{ (*ImageOutput_S3)(nil), (*ImageOutput_Gcp)(nil), (*ImageOutput_Azure)(nil), (*ImageOutput_AliOSS)(nil), } - file_livekit_egress_proto_msgTypes[21].OneofWrappers = []interface{}{ + file_livekit_egress_proto_msgTypes[21].OneofWrappers = []any{ (*EgressInfo_RoomComposite)(nil), (*EgressInfo_Web)(nil), (*EgressInfo_Participant)(nil), @@ -4911,11 +4911,11 @@ func file_livekit_egress_proto_init() { (*EgressInfo_File)(nil), (*EgressInfo_Segments)(nil), } - file_livekit_egress_proto_msgTypes[27].OneofWrappers = []interface{}{ + file_livekit_egress_proto_msgTypes[27].OneofWrappers = []any{ (*AutoParticipantEgress_Preset)(nil), (*AutoParticipantEgress_Advanced)(nil), } - file_livekit_egress_proto_msgTypes[28].OneofWrappers = []interface{}{ + file_livekit_egress_proto_msgTypes[28].OneofWrappers = []any{ (*AutoTrackEgress_S3)(nil), (*AutoTrackEgress_Gcp)(nil), (*AutoTrackEgress_Azure)(nil), diff --git a/livekit/livekit_ingress.pb.go b/livekit/livekit_ingress.pb.go index d7dfdfd6..85427d9a 100644 --- a/livekit/livekit_ingress.pb.go +++ b/livekit/livekit_ingress.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: livekit_ingress.proto package livekit @@ -1726,7 +1726,7 @@ func file_livekit_ingress_proto_rawDescGZIP() []byte { var file_livekit_ingress_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_livekit_ingress_proto_msgTypes = make([]protoimpl.MessageInfo, 13) -var file_livekit_ingress_proto_goTypes = []interface{}{ +var file_livekit_ingress_proto_goTypes = []any{ (IngressInput)(0), // 0: livekit.IngressInput (IngressAudioEncodingPreset)(0), // 1: livekit.IngressAudioEncodingPreset (IngressVideoEncodingPreset)(0), // 2: livekit.IngressVideoEncodingPreset @@ -1796,7 +1796,7 @@ func file_livekit_ingress_proto_init() { } file_livekit_models_proto_init() if !protoimpl.UnsafeEnabled { - file_livekit_ingress_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*CreateIngressRequest); i { case 0: return &v.state @@ -1808,7 +1808,7 @@ func file_livekit_ingress_proto_init() { return nil } } - file_livekit_ingress_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*IngressAudioOptions); i { case 0: return &v.state @@ -1820,7 +1820,7 @@ func file_livekit_ingress_proto_init() { return nil } } - file_livekit_ingress_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*IngressVideoOptions); i { case 0: return &v.state @@ -1832,7 +1832,7 @@ func file_livekit_ingress_proto_init() { return nil } } - file_livekit_ingress_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*IngressAudioEncodingOptions); i { case 0: return &v.state @@ -1844,7 +1844,7 @@ func file_livekit_ingress_proto_init() { return nil } } - file_livekit_ingress_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*IngressVideoEncodingOptions); i { case 0: return &v.state @@ -1856,7 +1856,7 @@ func file_livekit_ingress_proto_init() { return nil } } - file_livekit_ingress_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*IngressInfo); i { case 0: return &v.state @@ -1868,7 +1868,7 @@ func file_livekit_ingress_proto_init() { return nil } } - file_livekit_ingress_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*IngressState); i { case 0: return &v.state @@ -1880,7 +1880,7 @@ func file_livekit_ingress_proto_init() { return nil } } - file_livekit_ingress_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*InputVideoState); i { case 0: return &v.state @@ -1892,7 +1892,7 @@ func file_livekit_ingress_proto_init() { return nil } } - file_livekit_ingress_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*InputAudioState); i { case 0: return &v.state @@ -1904,7 +1904,7 @@ func file_livekit_ingress_proto_init() { return nil } } - file_livekit_ingress_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*UpdateIngressRequest); i { case 0: return &v.state @@ -1916,7 +1916,7 @@ func file_livekit_ingress_proto_init() { return nil } } - file_livekit_ingress_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*ListIngressRequest); i { case 0: return &v.state @@ -1928,7 +1928,7 @@ func file_livekit_ingress_proto_init() { return nil } } - file_livekit_ingress_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*ListIngressResponse); i { case 0: return &v.state @@ -1940,7 +1940,7 @@ func file_livekit_ingress_proto_init() { return nil } } - file_livekit_ingress_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_livekit_ingress_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*DeleteIngressRequest); i { case 0: return &v.state @@ -1953,17 +1953,17 @@ func file_livekit_ingress_proto_init() { } } } - file_livekit_ingress_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_livekit_ingress_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_livekit_ingress_proto_msgTypes[0].OneofWrappers = []any{} + file_livekit_ingress_proto_msgTypes[1].OneofWrappers = []any{ (*IngressAudioOptions_Preset)(nil), (*IngressAudioOptions_Options)(nil), } - file_livekit_ingress_proto_msgTypes[2].OneofWrappers = []interface{}{ + file_livekit_ingress_proto_msgTypes[2].OneofWrappers = []any{ (*IngressVideoOptions_Preset)(nil), (*IngressVideoOptions_Options)(nil), } - file_livekit_ingress_proto_msgTypes[5].OneofWrappers = []interface{}{} - file_livekit_ingress_proto_msgTypes[9].OneofWrappers = []interface{}{} + file_livekit_ingress_proto_msgTypes[5].OneofWrappers = []any{} + file_livekit_ingress_proto_msgTypes[9].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/livekit/livekit_internal.pb.go b/livekit/livekit_internal.pb.go index 50b181c7..f47f4f61 100644 --- a/livekit/livekit_internal.pb.go +++ b/livekit/livekit_internal.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: livekit_internal.proto package livekit @@ -1284,7 +1284,7 @@ func file_livekit_internal_proto_rawDescGZIP() []byte { var file_livekit_internal_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_livekit_internal_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_livekit_internal_proto_goTypes = []interface{}{ +var file_livekit_internal_proto_goTypes = []any{ (NodeType)(0), // 0: livekit.NodeType (NodeState)(0), // 1: livekit.NodeState (ICECandidateType)(0), // 2: livekit.ICECandidateType @@ -1328,7 +1328,7 @@ func file_livekit_internal_proto_init() { file_livekit_egress_proto_init() file_livekit_agent_proto_init() if !protoimpl.UnsafeEnabled { - file_livekit_internal_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_livekit_internal_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*Node); i { case 0: return &v.state @@ -1340,7 +1340,7 @@ func file_livekit_internal_proto_init() { return nil } } - file_livekit_internal_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_livekit_internal_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*NodeStats); i { case 0: return &v.state @@ -1352,7 +1352,7 @@ func file_livekit_internal_proto_init() { return nil } } - file_livekit_internal_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_livekit_internal_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*StartSession); i { case 0: return &v.state @@ -1364,7 +1364,7 @@ func file_livekit_internal_proto_init() { return nil } } - file_livekit_internal_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_livekit_internal_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*RoomInternal); i { case 0: return &v.state @@ -1376,7 +1376,7 @@ func file_livekit_internal_proto_init() { return nil } } - file_livekit_internal_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_livekit_internal_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*ICEConfig); i { case 0: return &v.state @@ -1389,7 +1389,7 @@ func file_livekit_internal_proto_init() { } } } - file_livekit_internal_proto_msgTypes[2].OneofWrappers = []interface{}{} + file_livekit_internal_proto_msgTypes[2].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/livekit/livekit_models.pb.go b/livekit/livekit_models.pb.go index 780bf1ca..aff5657c 100644 --- a/livekit/livekit_models.pb.go +++ b/livekit/livekit_models.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: livekit_models.proto package livekit @@ -4107,7 +4107,7 @@ func file_livekit_models_proto_rawDescGZIP() []byte { var file_livekit_models_proto_enumTypes = make([]protoimpl.EnumInfo, 18) var file_livekit_models_proto_msgTypes = make([]protoimpl.MessageInfo, 27) -var file_livekit_models_proto_goTypes = []interface{}{ +var file_livekit_models_proto_goTypes = []any{ (AudioCodec)(0), // 0: livekit.AudioCodec (VideoCodec)(0), // 1: livekit.VideoCodec (ImageCodec)(0), // 2: livekit.ImageCodec @@ -4215,7 +4215,7 @@ func file_livekit_models_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_livekit_models_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*Room); i { case 0: return &v.state @@ -4227,7 +4227,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*Codec); i { case 0: return &v.state @@ -4239,7 +4239,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*PlayoutDelay); i { case 0: return &v.state @@ -4251,7 +4251,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*ParticipantPermission); i { case 0: return &v.state @@ -4263,7 +4263,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*ParticipantInfo); i { case 0: return &v.state @@ -4275,7 +4275,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*Encryption); i { case 0: return &v.state @@ -4287,7 +4287,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*SimulcastCodecInfo); i { case 0: return &v.state @@ -4299,7 +4299,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*TrackInfo); i { case 0: return &v.state @@ -4311,7 +4311,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*VideoLayer); i { case 0: return &v.state @@ -4323,7 +4323,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*DataPacket); i { case 0: return &v.state @@ -4335,7 +4335,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*ActiveSpeakerUpdate); i { case 0: return &v.state @@ -4347,7 +4347,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*SpeakerInfo); i { case 0: return &v.state @@ -4359,7 +4359,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*UserPacket); i { case 0: return &v.state @@ -4371,7 +4371,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[13].Exporter = func(v any, i int) any { switch v := v.(*SipDTMF); i { case 0: return &v.state @@ -4383,7 +4383,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*Transcription); i { case 0: return &v.state @@ -4395,7 +4395,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[15].Exporter = func(v any, i int) any { switch v := v.(*TranscriptionSegment); i { case 0: return &v.state @@ -4407,7 +4407,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[16].Exporter = func(v any, i int) any { switch v := v.(*ParticipantTracks); i { case 0: return &v.state @@ -4419,7 +4419,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[17].Exporter = func(v any, i int) any { switch v := v.(*ServerInfo); i { case 0: return &v.state @@ -4431,7 +4431,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[18].Exporter = func(v any, i int) any { switch v := v.(*ClientInfo); i { case 0: return &v.state @@ -4443,7 +4443,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[19].Exporter = func(v any, i int) any { switch v := v.(*ClientConfiguration); i { case 0: return &v.state @@ -4455,7 +4455,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[20].Exporter = func(v any, i int) any { switch v := v.(*VideoConfiguration); i { case 0: return &v.state @@ -4467,7 +4467,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[21].Exporter = func(v any, i int) any { switch v := v.(*DisabledCodecs); i { case 0: return &v.state @@ -4479,7 +4479,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[22].Exporter = func(v any, i int) any { switch v := v.(*RTPDrift); i { case 0: return &v.state @@ -4491,7 +4491,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[23].Exporter = func(v any, i int) any { switch v := v.(*RTPStats); i { case 0: return &v.state @@ -4503,7 +4503,7 @@ func file_livekit_models_proto_init() { return nil } } - file_livekit_models_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_livekit_models_proto_msgTypes[24].Exporter = func(v any, i int) any { switch v := v.(*TimedVersion); i { case 0: return &v.state @@ -4516,13 +4516,13 @@ func file_livekit_models_proto_init() { } } } - file_livekit_models_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_livekit_models_proto_msgTypes[9].OneofWrappers = []any{ (*DataPacket_User)(nil), (*DataPacket_Speaker)(nil), (*DataPacket_SipDtmf)(nil), (*DataPacket_Transcription)(nil), } - file_livekit_models_proto_msgTypes[12].OneofWrappers = []interface{}{} + file_livekit_models_proto_msgTypes[12].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/livekit/livekit_room.pb.go b/livekit/livekit_room.pb.go index 9d625089..7fe32042 100644 --- a/livekit/livekit_room.pb.go +++ b/livekit/livekit_room.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: livekit_room.proto package livekit @@ -1548,7 +1548,7 @@ func file_livekit_room_proto_rawDescGZIP() []byte { } var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 21) -var file_livekit_room_proto_goTypes = []interface{}{ +var file_livekit_room_proto_goTypes = []any{ (*CreateRoomRequest)(nil), // 0: livekit.CreateRoomRequest (*RoomEgress)(nil), // 1: livekit.RoomEgress (*RoomAgent)(nil), // 2: livekit.RoomAgent @@ -1635,7 +1635,7 @@ func file_livekit_room_proto_init() { file_livekit_egress_proto_init() file_livekit_agent_proto_init() if !protoimpl.UnsafeEnabled { - file_livekit_room_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*CreateRoomRequest); i { case 0: return &v.state @@ -1647,7 +1647,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*RoomEgress); i { case 0: return &v.state @@ -1659,7 +1659,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*RoomAgent); i { case 0: return &v.state @@ -1671,7 +1671,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*ListRoomsRequest); i { case 0: return &v.state @@ -1683,7 +1683,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*ListRoomsResponse); i { case 0: return &v.state @@ -1695,7 +1695,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*DeleteRoomRequest); i { case 0: return &v.state @@ -1707,7 +1707,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*DeleteRoomResponse); i { case 0: return &v.state @@ -1719,7 +1719,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*ListParticipantsRequest); i { case 0: return &v.state @@ -1731,7 +1731,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*ListParticipantsResponse); i { case 0: return &v.state @@ -1743,7 +1743,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*RoomParticipantIdentity); i { case 0: return &v.state @@ -1755,7 +1755,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*RemoveParticipantResponse); i { case 0: return &v.state @@ -1767,7 +1767,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*MuteRoomTrackRequest); i { case 0: return &v.state @@ -1779,7 +1779,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*MuteRoomTrackResponse); i { case 0: return &v.state @@ -1791,7 +1791,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[13].Exporter = func(v any, i int) any { switch v := v.(*UpdateParticipantRequest); i { case 0: return &v.state @@ -1803,7 +1803,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*UpdateSubscriptionsRequest); i { case 0: return &v.state @@ -1815,7 +1815,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[15].Exporter = func(v any, i int) any { switch v := v.(*UpdateSubscriptionsResponse); i { case 0: return &v.state @@ -1827,7 +1827,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[16].Exporter = func(v any, i int) any { switch v := v.(*SendDataRequest); i { case 0: return &v.state @@ -1839,7 +1839,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[17].Exporter = func(v any, i int) any { switch v := v.(*SendDataResponse); i { case 0: return &v.state @@ -1851,7 +1851,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[18].Exporter = func(v any, i int) any { switch v := v.(*UpdateRoomMetadataRequest); i { case 0: return &v.state @@ -1863,7 +1863,7 @@ func file_livekit_room_proto_init() { return nil } } - file_livekit_room_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_livekit_room_proto_msgTypes[19].Exporter = func(v any, i int) any { switch v := v.(*RoomConfiguration); i { case 0: return &v.state @@ -1876,7 +1876,7 @@ func file_livekit_room_proto_init() { } } } - file_livekit_room_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_livekit_room_proto_msgTypes[16].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/livekit/livekit_rtc.pb.go b/livekit/livekit_rtc.pb.go index cab60de5..eb6c6321 100644 --- a/livekit/livekit_rtc.pb.go +++ b/livekit/livekit_rtc.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: livekit_rtc.proto package livekit @@ -4179,7 +4179,7 @@ func file_livekit_rtc_proto_rawDescGZIP() []byte { var file_livekit_rtc_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_livekit_rtc_proto_msgTypes = make([]protoimpl.MessageInfo, 42) -var file_livekit_rtc_proto_goTypes = []interface{}{ +var file_livekit_rtc_proto_goTypes = []any{ (SignalTarget)(0), // 0: livekit.SignalTarget (StreamState)(0), // 1: livekit.StreamState (CandidateProtocol)(0), // 2: livekit.CandidateProtocol @@ -4339,7 +4339,7 @@ func file_livekit_rtc_proto_init() { } file_livekit_models_proto_init() if !protoimpl.UnsafeEnabled { - file_livekit_rtc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*SignalRequest); i { case 0: return &v.state @@ -4351,7 +4351,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*SignalResponse); i { case 0: return &v.state @@ -4363,7 +4363,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*SimulcastCodec); i { case 0: return &v.state @@ -4375,7 +4375,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*AddTrackRequest); i { case 0: return &v.state @@ -4387,7 +4387,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*TrickleRequest); i { case 0: return &v.state @@ -4399,7 +4399,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*MuteTrackRequest); i { case 0: return &v.state @@ -4411,7 +4411,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*JoinResponse); i { case 0: return &v.state @@ -4423,7 +4423,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*ReconnectResponse); i { case 0: return &v.state @@ -4435,7 +4435,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*TrackPublishedResponse); i { case 0: return &v.state @@ -4447,7 +4447,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*TrackUnpublishedResponse); i { case 0: return &v.state @@ -4459,7 +4459,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*SessionDescription); i { case 0: return &v.state @@ -4471,7 +4471,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*ParticipantUpdate); i { case 0: return &v.state @@ -4483,7 +4483,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*UpdateSubscription); i { case 0: return &v.state @@ -4495,7 +4495,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[13].Exporter = func(v any, i int) any { switch v := v.(*UpdateTrackSettings); i { case 0: return &v.state @@ -4507,7 +4507,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*UpdateLocalAudioTrack); i { case 0: return &v.state @@ -4519,7 +4519,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[15].Exporter = func(v any, i int) any { switch v := v.(*UpdateLocalVideoTrack); i { case 0: return &v.state @@ -4531,7 +4531,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[16].Exporter = func(v any, i int) any { switch v := v.(*LeaveRequest); i { case 0: return &v.state @@ -4543,7 +4543,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[17].Exporter = func(v any, i int) any { switch v := v.(*UpdateVideoLayers); i { case 0: return &v.state @@ -4555,7 +4555,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[18].Exporter = func(v any, i int) any { switch v := v.(*UpdateParticipantMetadata); i { case 0: return &v.state @@ -4567,7 +4567,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[19].Exporter = func(v any, i int) any { switch v := v.(*ICEServer); i { case 0: return &v.state @@ -4579,7 +4579,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[20].Exporter = func(v any, i int) any { switch v := v.(*SpeakersChanged); i { case 0: return &v.state @@ -4591,7 +4591,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[21].Exporter = func(v any, i int) any { switch v := v.(*RoomUpdate); i { case 0: return &v.state @@ -4603,7 +4603,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[22].Exporter = func(v any, i int) any { switch v := v.(*ConnectionQualityInfo); i { case 0: return &v.state @@ -4615,7 +4615,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[23].Exporter = func(v any, i int) any { switch v := v.(*ConnectionQualityUpdate); i { case 0: return &v.state @@ -4627,7 +4627,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[24].Exporter = func(v any, i int) any { switch v := v.(*StreamStateInfo); i { case 0: return &v.state @@ -4639,7 +4639,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[25].Exporter = func(v any, i int) any { switch v := v.(*StreamStateUpdate); i { case 0: return &v.state @@ -4651,7 +4651,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[26].Exporter = func(v any, i int) any { switch v := v.(*SubscribedQuality); i { case 0: return &v.state @@ -4663,7 +4663,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[27].Exporter = func(v any, i int) any { switch v := v.(*SubscribedCodec); i { case 0: return &v.state @@ -4675,7 +4675,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[28].Exporter = func(v any, i int) any { switch v := v.(*SubscribedQualityUpdate); i { case 0: return &v.state @@ -4687,7 +4687,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[29].Exporter = func(v any, i int) any { switch v := v.(*TrackPermission); i { case 0: return &v.state @@ -4699,7 +4699,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[30].Exporter = func(v any, i int) any { switch v := v.(*SubscriptionPermission); i { case 0: return &v.state @@ -4711,7 +4711,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[31].Exporter = func(v any, i int) any { switch v := v.(*SubscriptionPermissionUpdate); i { case 0: return &v.state @@ -4723,7 +4723,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[32].Exporter = func(v any, i int) any { switch v := v.(*SyncState); i { case 0: return &v.state @@ -4735,7 +4735,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[33].Exporter = func(v any, i int) any { switch v := v.(*DataChannelInfo); i { case 0: return &v.state @@ -4747,7 +4747,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[34].Exporter = func(v any, i int) any { switch v := v.(*SimulateScenario); i { case 0: return &v.state @@ -4759,7 +4759,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[35].Exporter = func(v any, i int) any { switch v := v.(*Ping); i { case 0: return &v.state @@ -4771,7 +4771,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[36].Exporter = func(v any, i int) any { switch v := v.(*Pong); i { case 0: return &v.state @@ -4783,7 +4783,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[37].Exporter = func(v any, i int) any { switch v := v.(*RegionSettings); i { case 0: return &v.state @@ -4795,7 +4795,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[38].Exporter = func(v any, i int) any { switch v := v.(*RegionInfo); i { case 0: return &v.state @@ -4807,7 +4807,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[39].Exporter = func(v any, i int) any { switch v := v.(*SubscriptionResponse); i { case 0: return &v.state @@ -4819,7 +4819,7 @@ func file_livekit_rtc_proto_init() { return nil } } - file_livekit_rtc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_livekit_rtc_proto_msgTypes[40].Exporter = func(v any, i int) any { switch v := v.(*ErrorResponse); i { case 0: return &v.state @@ -4832,7 +4832,7 @@ func file_livekit_rtc_proto_init() { } } } - file_livekit_rtc_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_livekit_rtc_proto_msgTypes[0].OneofWrappers = []any{ (*SignalRequest_Offer)(nil), (*SignalRequest_Answer)(nil), (*SignalRequest_Trickle)(nil), @@ -4851,7 +4851,7 @@ func file_livekit_rtc_proto_init() { (*SignalRequest_UpdateAudioTrack)(nil), (*SignalRequest_UpdateVideoTrack)(nil), } - file_livekit_rtc_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_livekit_rtc_proto_msgTypes[1].OneofWrappers = []any{ (*SignalResponse_Join)(nil), (*SignalResponse_Answer)(nil), (*SignalResponse_Offer)(nil), @@ -4874,7 +4874,7 @@ func file_livekit_rtc_proto_init() { (*SignalResponse_SubscriptionResponse)(nil), (*SignalResponse_ErrorResponse)(nil), } - file_livekit_rtc_proto_msgTypes[34].OneofWrappers = []interface{}{ + file_livekit_rtc_proto_msgTypes[34].OneofWrappers = []any{ (*SimulateScenario_SpeakerUpdate)(nil), (*SimulateScenario_NodeFailure)(nil), (*SimulateScenario_Migration)(nil), diff --git a/livekit/livekit_sip.pb.go b/livekit/livekit_sip.pb.go index aa6892cf..b73b6ec8 100644 --- a/livekit/livekit_sip.pb.go +++ b/livekit/livekit_sip.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: livekit_sip.proto package livekit @@ -2184,7 +2184,7 @@ func file_livekit_sip_proto_rawDescGZIP() []byte { var file_livekit_sip_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_livekit_sip_proto_msgTypes = make([]protoimpl.MessageInfo, 26) -var file_livekit_sip_proto_goTypes = []interface{}{ +var file_livekit_sip_proto_goTypes = []any{ (SIPTransport)(0), // 0: livekit.SIPTransport (SIPTrunkInfo_TrunkKind)(0), // 1: livekit.SIPTrunkInfo.TrunkKind (*CreateSIPTrunkRequest)(nil), // 2: livekit.CreateSIPTrunkRequest @@ -2266,7 +2266,7 @@ func file_livekit_sip_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_livekit_sip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*CreateSIPTrunkRequest); i { case 0: return &v.state @@ -2278,7 +2278,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*SIPTrunkInfo); i { case 0: return &v.state @@ -2290,7 +2290,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*CreateSIPInboundTrunkRequest); i { case 0: return &v.state @@ -2302,7 +2302,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*SIPInboundTrunkInfo); i { case 0: return &v.state @@ -2314,7 +2314,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*CreateSIPOutboundTrunkRequest); i { case 0: return &v.state @@ -2326,7 +2326,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*SIPOutboundTrunkInfo); i { case 0: return &v.state @@ -2338,7 +2338,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*ListSIPTrunkRequest); i { case 0: return &v.state @@ -2350,7 +2350,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*ListSIPTrunkResponse); i { case 0: return &v.state @@ -2362,7 +2362,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*ListSIPInboundTrunkRequest); i { case 0: return &v.state @@ -2374,7 +2374,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*ListSIPInboundTrunkResponse); i { case 0: return &v.state @@ -2386,7 +2386,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*ListSIPOutboundTrunkRequest); i { case 0: return &v.state @@ -2398,7 +2398,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*ListSIPOutboundTrunkResponse); i { case 0: return &v.state @@ -2410,7 +2410,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*DeleteSIPTrunkRequest); i { case 0: return &v.state @@ -2422,7 +2422,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[13].Exporter = func(v any, i int) any { switch v := v.(*SIPDispatchRuleDirect); i { case 0: return &v.state @@ -2434,7 +2434,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*SIPDispatchRuleIndividual); i { case 0: return &v.state @@ -2446,7 +2446,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[15].Exporter = func(v any, i int) any { switch v := v.(*SIPDispatchRule); i { case 0: return &v.state @@ -2458,7 +2458,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[16].Exporter = func(v any, i int) any { switch v := v.(*CreateSIPDispatchRuleRequest); i { case 0: return &v.state @@ -2470,7 +2470,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[17].Exporter = func(v any, i int) any { switch v := v.(*SIPDispatchRuleInfo); i { case 0: return &v.state @@ -2482,7 +2482,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[18].Exporter = func(v any, i int) any { switch v := v.(*ListSIPDispatchRuleRequest); i { case 0: return &v.state @@ -2494,7 +2494,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[19].Exporter = func(v any, i int) any { switch v := v.(*ListSIPDispatchRuleResponse); i { case 0: return &v.state @@ -2506,7 +2506,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[20].Exporter = func(v any, i int) any { switch v := v.(*DeleteSIPDispatchRuleRequest); i { case 0: return &v.state @@ -2518,7 +2518,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[21].Exporter = func(v any, i int) any { switch v := v.(*CreateSIPParticipantRequest); i { case 0: return &v.state @@ -2530,7 +2530,7 @@ func file_livekit_sip_proto_init() { return nil } } - file_livekit_sip_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_livekit_sip_proto_msgTypes[22].Exporter = func(v any, i int) any { switch v := v.(*SIPParticipantInfo); i { case 0: return &v.state @@ -2543,7 +2543,7 @@ func file_livekit_sip_proto_init() { } } } - file_livekit_sip_proto_msgTypes[15].OneofWrappers = []interface{}{ + file_livekit_sip_proto_msgTypes[15].OneofWrappers = []any{ (*SIPDispatchRule_DispatchRuleDirect)(nil), (*SIPDispatchRule_DispatchRuleIndividual)(nil), } diff --git a/livekit/livekit_webhook.pb.go b/livekit/livekit_webhook.pb.go index 4c5b12f4..b4f0f0f4 100644 --- a/livekit/livekit_webhook.pb.go +++ b/livekit/livekit_webhook.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: livekit_webhook.proto package livekit @@ -207,7 +207,7 @@ func file_livekit_webhook_proto_rawDescGZIP() []byte { } var file_livekit_webhook_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_livekit_webhook_proto_goTypes = []interface{}{ +var file_livekit_webhook_proto_goTypes = []any{ (*WebhookEvent)(nil), // 0: livekit.WebhookEvent (*Room)(nil), // 1: livekit.Room (*ParticipantInfo)(nil), // 2: livekit.ParticipantInfo @@ -237,7 +237,7 @@ func file_livekit_webhook_proto_init() { file_livekit_egress_proto_init() file_livekit_ingress_proto_init() if !protoimpl.UnsafeEnabled { - file_livekit_webhook_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_livekit_webhook_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*WebhookEvent); i { case 0: return &v.state diff --git a/rpc/agent.pb.go b/rpc/agent.pb.go index 9b0c79db..92df6f6b 100644 --- a/rpc/agent.pb.go +++ b/rpc/agent.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: rpc/agent.proto package rpc @@ -199,7 +199,7 @@ func file_rpc_agent_proto_rawDescGZIP() []byte { } var file_rpc_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_rpc_agent_proto_goTypes = []interface{}{ +var file_rpc_agent_proto_goTypes = []any{ (*CheckEnabledRequest)(nil), // 0: rpc.CheckEnabledRequest (*CheckEnabledResponse)(nil), // 1: rpc.CheckEnabledResponse (*livekit.Job)(nil), // 2: livekit.Job @@ -225,7 +225,7 @@ func file_rpc_agent_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_rpc_agent_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_rpc_agent_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*CheckEnabledRequest); i { case 0: return &v.state @@ -237,7 +237,7 @@ func file_rpc_agent_proto_init() { return nil } } - file_rpc_agent_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_rpc_agent_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*CheckEnabledResponse); i { case 0: return &v.state diff --git a/rpc/analytics.pb.go b/rpc/analytics.pb.go index cd981476..185473e7 100644 --- a/rpc/analytics.pb.go +++ b/rpc/analytics.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: rpc/analytics.proto package rpc @@ -64,7 +64,7 @@ var file_rpc_analytics_proto_rawDesc = []byte{ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } -var file_rpc_analytics_proto_goTypes = []interface{}{ +var file_rpc_analytics_proto_goTypes = []any{ (*livekit.AnalyticsStats)(nil), // 0: livekit.AnalyticsStats (*livekit.AnalyticsEvents)(nil), // 1: livekit.AnalyticsEvents (*livekit.AnalyticsNodeRooms)(nil), // 2: livekit.AnalyticsNodeRooms diff --git a/rpc/analytics_grpc.pb.go b/rpc/analytics_grpc.pb.go index 03f2d565..ac9fe3c6 100644 --- a/rpc/analytics_grpc.pb.go +++ b/rpc/analytics_grpc.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v5.27.0 +// - protoc-gen-go-grpc v1.4.0 +// - protoc v4.23.4 // source: rpc/analytics.proto package rpc @@ -31,8 +31,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.62.0 or later. +const _ = grpc.SupportPackageIsVersion8 const ( AnalyticsRecorderService_IngestStats_FullMethodName = "/livekit.AnalyticsRecorderService/IngestStats" @@ -58,11 +58,12 @@ func NewAnalyticsRecorderServiceClient(cc grpc.ClientConnInterface) AnalyticsRec } func (c *analyticsRecorderServiceClient) IngestStats(ctx context.Context, opts ...grpc.CallOption) (AnalyticsRecorderService_IngestStatsClient, error) { - stream, err := c.cc.NewStream(ctx, &AnalyticsRecorderService_ServiceDesc.Streams[0], AnalyticsRecorderService_IngestStats_FullMethodName, opts...) + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &AnalyticsRecorderService_ServiceDesc.Streams[0], AnalyticsRecorderService_IngestStats_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &analyticsRecorderServiceIngestStatsClient{stream} + x := &analyticsRecorderServiceIngestStatsClient{ClientStream: stream} return x, nil } @@ -92,11 +93,12 @@ func (x *analyticsRecorderServiceIngestStatsClient) CloseAndRecv() (*emptypb.Emp } func (c *analyticsRecorderServiceClient) IngestEvents(ctx context.Context, opts ...grpc.CallOption) (AnalyticsRecorderService_IngestEventsClient, error) { - stream, err := c.cc.NewStream(ctx, &AnalyticsRecorderService_ServiceDesc.Streams[1], AnalyticsRecorderService_IngestEvents_FullMethodName, opts...) + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &AnalyticsRecorderService_ServiceDesc.Streams[1], AnalyticsRecorderService_IngestEvents_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &analyticsRecorderServiceIngestEventsClient{stream} + x := &analyticsRecorderServiceIngestEventsClient{ClientStream: stream} return x, nil } @@ -126,11 +128,12 @@ func (x *analyticsRecorderServiceIngestEventsClient) CloseAndRecv() (*emptypb.Em } func (c *analyticsRecorderServiceClient) IngestNodeRoomStates(ctx context.Context, opts ...grpc.CallOption) (AnalyticsRecorderService_IngestNodeRoomStatesClient, error) { - stream, err := c.cc.NewStream(ctx, &AnalyticsRecorderService_ServiceDesc.Streams[2], AnalyticsRecorderService_IngestNodeRoomStates_FullMethodName, opts...) + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &AnalyticsRecorderService_ServiceDesc.Streams[2], AnalyticsRecorderService_IngestNodeRoomStates_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &analyticsRecorderServiceIngestNodeRoomStatesClient{stream} + x := &analyticsRecorderServiceIngestNodeRoomStatesClient{ClientStream: stream} return x, nil } @@ -197,7 +200,7 @@ func RegisterAnalyticsRecorderServiceServer(s grpc.ServiceRegistrar, srv Analyti } func _AnalyticsRecorderService_IngestStats_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(AnalyticsRecorderServiceServer).IngestStats(&analyticsRecorderServiceIngestStatsServer{stream}) + return srv.(AnalyticsRecorderServiceServer).IngestStats(&analyticsRecorderServiceIngestStatsServer{ServerStream: stream}) } type AnalyticsRecorderService_IngestStatsServer interface { @@ -223,7 +226,7 @@ func (x *analyticsRecorderServiceIngestStatsServer) Recv() (*livekit.AnalyticsSt } func _AnalyticsRecorderService_IngestEvents_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(AnalyticsRecorderServiceServer).IngestEvents(&analyticsRecorderServiceIngestEventsServer{stream}) + return srv.(AnalyticsRecorderServiceServer).IngestEvents(&analyticsRecorderServiceIngestEventsServer{ServerStream: stream}) } type AnalyticsRecorderService_IngestEventsServer interface { @@ -249,7 +252,7 @@ func (x *analyticsRecorderServiceIngestEventsServer) Recv() (*livekit.AnalyticsE } func _AnalyticsRecorderService_IngestNodeRoomStates_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(AnalyticsRecorderServiceServer).IngestNodeRoomStates(&analyticsRecorderServiceIngestNodeRoomStatesServer{stream}) + return srv.(AnalyticsRecorderServiceServer).IngestNodeRoomStates(&analyticsRecorderServiceIngestNodeRoomStatesServer{ServerStream: stream}) } type AnalyticsRecorderService_IngestNodeRoomStatesServer interface { diff --git a/rpc/egress.pb.go b/rpc/egress.pb.go index 4647693b..be81e73b 100644 --- a/rpc/egress.pb.go +++ b/rpc/egress.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: rpc/egress.proto package rpc @@ -361,7 +361,7 @@ func file_rpc_egress_proto_rawDescGZIP() []byte { } var file_rpc_egress_proto_msgTypes = make([]protoimpl.MessageInfo, 3) -var file_rpc_egress_proto_goTypes = []interface{}{ +var file_rpc_egress_proto_goTypes = []any{ (*StartEgressRequest)(nil), // 0: rpc.StartEgressRequest (*ListActiveEgressRequest)(nil), // 1: rpc.ListActiveEgressRequest (*ListActiveEgressResponse)(nil), // 2: rpc.ListActiveEgressResponse @@ -401,7 +401,7 @@ func file_rpc_egress_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_rpc_egress_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_rpc_egress_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*StartEgressRequest); i { case 0: return &v.state @@ -413,7 +413,7 @@ func file_rpc_egress_proto_init() { return nil } } - file_rpc_egress_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_rpc_egress_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*ListActiveEgressRequest); i { case 0: return &v.state @@ -425,7 +425,7 @@ func file_rpc_egress_proto_init() { return nil } } - file_rpc_egress_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_rpc_egress_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*ListActiveEgressResponse); i { case 0: return &v.state @@ -438,7 +438,7 @@ func file_rpc_egress_proto_init() { } } } - file_rpc_egress_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_rpc_egress_proto_msgTypes[0].OneofWrappers = []any{ (*StartEgressRequest_RoomComposite)(nil), (*StartEgressRequest_Web)(nil), (*StartEgressRequest_Participant)(nil), diff --git a/rpc/ingress.pb.go b/rpc/ingress.pb.go index 504e6edc..aced1803 100644 --- a/rpc/ingress.pb.go +++ b/rpc/ingress.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: rpc/ingress.proto package rpc @@ -614,7 +614,7 @@ func file_rpc_ingress_proto_rawDescGZIP() []byte { } var file_rpc_ingress_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_rpc_ingress_proto_goTypes = []interface{}{ +var file_rpc_ingress_proto_goTypes = []any{ (*ListActiveIngressRequest)(nil), // 0: rpc.ListActiveIngressRequest (*ListActiveIngressResponse)(nil), // 1: rpc.ListActiveIngressResponse (*DeleteWHIPResourceRequest)(nil), // 2: rpc.DeleteWHIPResourceRequest @@ -662,7 +662,7 @@ func file_rpc_ingress_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_rpc_ingress_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_rpc_ingress_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*ListActiveIngressRequest); i { case 0: return &v.state @@ -674,7 +674,7 @@ func file_rpc_ingress_proto_init() { return nil } } - file_rpc_ingress_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_rpc_ingress_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*ListActiveIngressResponse); i { case 0: return &v.state @@ -686,7 +686,7 @@ func file_rpc_ingress_proto_init() { return nil } } - file_rpc_ingress_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_rpc_ingress_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*DeleteWHIPResourceRequest); i { case 0: return &v.state @@ -698,7 +698,7 @@ func file_rpc_ingress_proto_init() { return nil } } - file_rpc_ingress_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_rpc_ingress_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*ICERestartWHIPResourceRequest); i { case 0: return &v.state @@ -710,7 +710,7 @@ func file_rpc_ingress_proto_init() { return nil } } - file_rpc_ingress_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_rpc_ingress_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*ICERestartWHIPResourceResponse); i { case 0: return &v.state @@ -722,7 +722,7 @@ func file_rpc_ingress_proto_init() { return nil } } - file_rpc_ingress_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_rpc_ingress_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*StartIngressRequest); i { case 0: return &v.state @@ -734,7 +734,7 @@ func file_rpc_ingress_proto_init() { return nil } } - file_rpc_ingress_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_rpc_ingress_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*IngressSession); i { case 0: return &v.state @@ -746,7 +746,7 @@ func file_rpc_ingress_proto_init() { return nil } } - file_rpc_ingress_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_rpc_ingress_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*KillIngressSessionRequest); i { case 0: return &v.state diff --git a/rpc/io.pb.go b/rpc/io.pb.go index d29756a5..f143253c 100644 --- a/rpc/io.pb.go +++ b/rpc/io.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: rpc/io.proto package rpc @@ -1008,7 +1008,7 @@ func file_rpc_io_proto_rawDescGZIP() []byte { var file_rpc_io_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_rpc_io_proto_msgTypes = make([]protoimpl.MessageInfo, 12) -var file_rpc_io_proto_goTypes = []interface{}{ +var file_rpc_io_proto_goTypes = []any{ (SIPDispatchResult)(0), // 0: rpc.SIPDispatchResult (*GetEgressRequest)(nil), // 1: rpc.GetEgressRequest (*UpdateMetricsRequest)(nil), // 2: rpc.UpdateMetricsRequest @@ -1070,7 +1070,7 @@ func file_rpc_io_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_rpc_io_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_rpc_io_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*GetEgressRequest); i { case 0: return &v.state @@ -1082,7 +1082,7 @@ func file_rpc_io_proto_init() { return nil } } - file_rpc_io_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_rpc_io_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*UpdateMetricsRequest); i { case 0: return &v.state @@ -1094,7 +1094,7 @@ func file_rpc_io_proto_init() { return nil } } - file_rpc_io_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_rpc_io_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*GetIngressInfoRequest); i { case 0: return &v.state @@ -1106,7 +1106,7 @@ func file_rpc_io_proto_init() { return nil } } - file_rpc_io_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_rpc_io_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*GetIngressInfoResponse); i { case 0: return &v.state @@ -1118,7 +1118,7 @@ func file_rpc_io_proto_init() { return nil } } - file_rpc_io_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_rpc_io_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*UpdateIngressStateRequest); i { case 0: return &v.state @@ -1130,7 +1130,7 @@ func file_rpc_io_proto_init() { return nil } } - file_rpc_io_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_rpc_io_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*GetSIPTrunkAuthenticationRequest); i { case 0: return &v.state @@ -1142,7 +1142,7 @@ func file_rpc_io_proto_init() { return nil } } - file_rpc_io_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_rpc_io_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*GetSIPTrunkAuthenticationResponse); i { case 0: return &v.state @@ -1154,7 +1154,7 @@ func file_rpc_io_proto_init() { return nil } } - file_rpc_io_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_rpc_io_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*EvaluateSIPDispatchRulesRequest); i { case 0: return &v.state @@ -1166,7 +1166,7 @@ func file_rpc_io_proto_init() { return nil } } - file_rpc_io_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_rpc_io_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*EvaluateSIPDispatchRulesResponse); i { case 0: return &v.state diff --git a/rpc/keepalive.pb.go b/rpc/keepalive.pb.go index aa92ae81..5023a3e7 100644 --- a/rpc/keepalive.pb.go +++ b/rpc/keepalive.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: rpc/keepalive.proto package rpc @@ -114,7 +114,7 @@ func file_rpc_keepalive_proto_rawDescGZIP() []byte { } var file_rpc_keepalive_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_rpc_keepalive_proto_goTypes = []interface{}{ +var file_rpc_keepalive_proto_goTypes = []any{ (*KeepalivePing)(nil), // 0: rpc.KeepalivePing } var file_rpc_keepalive_proto_depIdxs = []int32{ @@ -133,7 +133,7 @@ func file_rpc_keepalive_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_rpc_keepalive_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_rpc_keepalive_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*KeepalivePing); i { case 0: return &v.state diff --git a/rpc/participant.pb.go b/rpc/participant.pb.go index e5ca581c..1daa1fb4 100644 --- a/rpc/participant.pb.go +++ b/rpc/participant.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: rpc/participant.proto package rpc @@ -81,7 +81,7 @@ var file_rpc_participant_proto_rawDesc = []byte{ 0x6c, 0x2f, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } -var file_rpc_participant_proto_goTypes = []interface{}{ +var file_rpc_participant_proto_goTypes = []any{ (*livekit.RoomParticipantIdentity)(nil), // 0: livekit.RoomParticipantIdentity (*livekit.MuteRoomTrackRequest)(nil), // 1: livekit.MuteRoomTrackRequest (*livekit.UpdateParticipantRequest)(nil), // 2: livekit.UpdateParticipantRequest diff --git a/rpc/room.pb.go b/rpc/room.pb.go index 37da8a68..7ea2be17 100644 --- a/rpc/room.pb.go +++ b/rpc/room.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: rpc/room.proto package rpc @@ -66,7 +66,7 @@ var file_rpc_room_proto_rawDesc = []byte{ 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } -var file_rpc_room_proto_goTypes = []interface{}{ +var file_rpc_room_proto_goTypes = []any{ (*livekit.DeleteRoomRequest)(nil), // 0: livekit.DeleteRoomRequest (*livekit.SendDataRequest)(nil), // 1: livekit.SendDataRequest (*livekit.UpdateRoomMetadataRequest)(nil), // 2: livekit.UpdateRoomMetadataRequest diff --git a/rpc/signal.pb.go b/rpc/signal.pb.go index 3ab60800..acde1bdf 100644 --- a/rpc/signal.pb.go +++ b/rpc/signal.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: rpc/signal.proto package rpc @@ -221,7 +221,7 @@ func file_rpc_signal_proto_rawDescGZIP() []byte { } var file_rpc_signal_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_rpc_signal_proto_goTypes = []interface{}{ +var file_rpc_signal_proto_goTypes = []any{ (*RelaySignalRequest)(nil), // 0: rpc.RelaySignalRequest (*RelaySignalResponse)(nil), // 1: rpc.RelaySignalResponse (*livekit.StartSession)(nil), // 2: livekit.StartSession @@ -247,7 +247,7 @@ func file_rpc_signal_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_rpc_signal_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_rpc_signal_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*RelaySignalRequest); i { case 0: return &v.state @@ -259,7 +259,7 @@ func file_rpc_signal_proto_init() { return nil } } - file_rpc_signal_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_rpc_signal_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*RelaySignalResponse); i { case 0: return &v.state diff --git a/rpc/sip.pb.go b/rpc/sip.pb.go index 9a33f254..2680753a 100644 --- a/rpc/sip.pb.go +++ b/rpc/sip.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 -// protoc v5.27.0 +// protoc-gen-go v1.34.2 +// protoc v4.23.4 // source: rpc/sip.proto package rpc @@ -363,7 +363,7 @@ func file_rpc_sip_proto_rawDescGZIP() []byte { } var file_rpc_sip_proto_msgTypes = make([]protoimpl.MessageInfo, 3) -var file_rpc_sip_proto_goTypes = []interface{}{ +var file_rpc_sip_proto_goTypes = []any{ (*InternalCreateSIPParticipantRequest)(nil), // 0: rpc.InternalCreateSIPParticipantRequest (*InternalCreateSIPParticipantResponse)(nil), // 1: rpc.InternalCreateSIPParticipantResponse nil, // 2: rpc.InternalCreateSIPParticipantRequest.ParticipantAttributesEntry @@ -387,7 +387,7 @@ func file_rpc_sip_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_rpc_sip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_rpc_sip_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*InternalCreateSIPParticipantRequest); i { case 0: return &v.state @@ -399,7 +399,7 @@ func file_rpc_sip_proto_init() { return nil } } - file_rpc_sip_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_rpc_sip_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*InternalCreateSIPParticipantResponse); i { case 0: return &v.state