diff --git a/.changeset/mighty-steaks-invite.md b/.changeset/mighty-steaks-invite.md new file mode 100644 index 000000000..fffcd7546 --- /dev/null +++ b/.changeset/mighty-steaks-invite.md @@ -0,0 +1,12 @@ +--- +"github.com/livekit/protocol": patch +--- + +Integrate feedback on the agents protocol: + +- Rename JobDescription to AgentDispatch +- Remove participant_identity entry in the dispatch +- Deprecate namespace +- Add an agent_name field to specify what agent workers a job should be dispatched to + +Also allow setting a room configuration in the token. diff --git a/auth/grants.go b/auth/grants.go index 2796a276b..6a8a43308 100644 --- a/auth/grants.go +++ b/auth/grants.go @@ -33,6 +33,8 @@ type VideoGrant struct { RoomAdmin bool `json:"roomAdmin,omitempty"` RoomJoin bool `json:"roomJoin,omitempty"` Room string `json:"room,omitempty"` + // Name of the room configuration to apply to the room if created + RoomConfiguration string `json:"room_configuration,omitempty"` // permissions within a room, if none of the permissions are set explicitly // it will be granted with all publish and subscribe permissions diff --git a/livekit/livekit_agent.pb.go b/livekit/livekit_agent.pb.go index 2a36c4ad3..20f7b60c9 100644 --- a/livekit/livekit_agent.pb.go +++ b/livekit/livekit_agent.pb.go @@ -178,20 +178,18 @@ func (JobStatus) EnumDescriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{2} } -type CreateAgentJobDefinitionRequest struct { +type CreateAgentDispatchRequest 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 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"` + AgentName string `protobuf:"bytes,1,opt,name=agent_name,json=agentName,proto3" json:"agent_name,omitempty"` + Room string `protobuf:"bytes,2,opt,name=room,proto3" json:"room,omitempty"` + Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *CreateAgentJobDefinitionRequest) Reset() { - *x = CreateAgentJobDefinitionRequest{} +func (x *CreateAgentDispatchRequest) Reset() { + *x = CreateAgentDispatchRequest{} if protoimpl.UnsafeEnabled { mi := &file_livekit_agent_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -199,13 +197,13 @@ func (x *CreateAgentJobDefinitionRequest) Reset() { } } -func (x *CreateAgentJobDefinitionRequest) String() string { +func (x *CreateAgentDispatchRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateAgentJobDefinitionRequest) ProtoMessage() {} +func (*CreateAgentDispatchRequest) ProtoMessage() {} -func (x *CreateAgentJobDefinitionRequest) ProtoReflect() protoreflect.Message { +func (x *CreateAgentDispatchRequest) ProtoReflect() protoreflect.Message { mi := &file_livekit_agent_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -217,56 +215,43 @@ func (x *CreateAgentJobDefinitionRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateAgentJobDefinitionRequest.ProtoReflect.Descriptor instead. -func (*CreateAgentJobDefinitionRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateAgentDispatchRequest.ProtoReflect.Descriptor instead. +func (*CreateAgentDispatchRequest) Descriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{0} } -func (x *CreateAgentJobDefinitionRequest) GetType() JobType { +func (x *CreateAgentDispatchRequest) GetAgentName() string { if x != nil { - return x.Type - } - return JobType_JT_ROOM -} - -func (x *CreateAgentJobDefinitionRequest) GetRoom() string { - if x != nil { - return x.Room + return x.AgentName } return "" } -func (x *CreateAgentJobDefinitionRequest) GetParticipantIdentity() []string { +func (x *CreateAgentDispatchRequest) GetRoom() string { if x != nil { - return x.ParticipantIdentity - } - return nil -} - -func (x *CreateAgentJobDefinitionRequest) GetNamespace() string { - if x != nil { - return x.Namespace + return x.Room } return "" } -func (x *CreateAgentJobDefinitionRequest) GetMetadata() string { +func (x *CreateAgentDispatchRequest) GetMetadata() string { if x != nil { return x.Metadata } return "" } -type DeleteAgentJobDefinitionRequest struct { +type RoomAgentDispatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobDefinitionId string `protobuf:"bytes,1,opt,name=job_definition_id,json=jobDefinitionId,proto3" json:"job_definition_id,omitempty"` + AgentName string `protobuf:"bytes,1,opt,name=agent_name,json=agentName,proto3" json:"agent_name,omitempty"` + Metadata string `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *DeleteAgentJobDefinitionRequest) Reset() { - *x = DeleteAgentJobDefinitionRequest{} +func (x *RoomAgentDispatch) Reset() { + *x = RoomAgentDispatch{} if protoimpl.UnsafeEnabled { mi := &file_livekit_agent_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -274,13 +259,13 @@ func (x *DeleteAgentJobDefinitionRequest) Reset() { } } -func (x *DeleteAgentJobDefinitionRequest) String() string { +func (x *RoomAgentDispatch) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteAgentJobDefinitionRequest) ProtoMessage() {} +func (*RoomAgentDispatch) ProtoMessage() {} -func (x *DeleteAgentJobDefinitionRequest) ProtoReflect() protoreflect.Message { +func (x *RoomAgentDispatch) ProtoReflect() protoreflect.Message { mi := &file_livekit_agent_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -292,29 +277,35 @@ func (x *DeleteAgentJobDefinitionRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteAgentJobDefinitionRequest.ProtoReflect.Descriptor instead. -func (*DeleteAgentJobDefinitionRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use RoomAgentDispatch.ProtoReflect.Descriptor instead. +func (*RoomAgentDispatch) Descriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{1} } -func (x *DeleteAgentJobDefinitionRequest) GetJobDefinitionId() string { +func (x *RoomAgentDispatch) GetAgentName() string { if x != nil { - return x.JobDefinitionId + return x.AgentName } return "" } -type ListAgentJobDefinitionsRequesst struct { +func (x *RoomAgentDispatch) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +type DeleteAgentDispatchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - 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. + DispatchId string `protobuf:"bytes,1,opt,name=dispatch_id,json=dispatchId,proto3" json:"dispatch_id,omitempty"` } -func (x *ListAgentJobDefinitionsRequesst) Reset() { - *x = ListAgentJobDefinitionsRequesst{} +func (x *DeleteAgentDispatchRequest) Reset() { + *x = DeleteAgentDispatchRequest{} if protoimpl.UnsafeEnabled { mi := &file_livekit_agent_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -322,13 +313,13 @@ func (x *ListAgentJobDefinitionsRequesst) Reset() { } } -func (x *ListAgentJobDefinitionsRequesst) String() string { +func (x *DeleteAgentDispatchRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAgentJobDefinitionsRequesst) ProtoMessage() {} +func (*DeleteAgentDispatchRequest) ProtoMessage() {} -func (x *ListAgentJobDefinitionsRequesst) ProtoReflect() protoreflect.Message { +func (x *DeleteAgentDispatchRequest) ProtoReflect() protoreflect.Message { mi := &file_livekit_agent_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -340,35 +331,29 @@ func (x *ListAgentJobDefinitionsRequesst) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAgentJobDefinitionsRequesst.ProtoReflect.Descriptor instead. -func (*ListAgentJobDefinitionsRequesst) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteAgentDispatchRequest.ProtoReflect.Descriptor instead. +func (*DeleteAgentDispatchRequest) Descriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{2} } -func (x *ListAgentJobDefinitionsRequesst) GetJobDefinitionId() string { - if x != nil { - return x.JobDefinitionId - } - return "" -} - -func (x *ListAgentJobDefinitionsRequesst) GetRoom() string { +func (x *DeleteAgentDispatchRequest) GetDispatchId() string { if x != nil { - return x.Room + return x.DispatchId } return "" } -type ListAgentJobDefinitionsResponse struct { +type ListAgentDispatchRequesst struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobDefinitions []*JobDefinition `protobuf:"bytes,1,rep,name=job_definitions,json=jobDefinitions,proto3" json:"job_definitions,omitempty"` + DispatchId string `protobuf:"bytes,1,opt,name=dispatch_id,json=dispatchId,proto3" json:"dispatch_id,omitempty"` // if set, only the dispatch 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 *ListAgentJobDefinitionsResponse) Reset() { - *x = ListAgentJobDefinitionsResponse{} +func (x *ListAgentDispatchRequesst) Reset() { + *x = ListAgentDispatchRequesst{} if protoimpl.UnsafeEnabled { mi := &file_livekit_agent_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -376,13 +361,13 @@ func (x *ListAgentJobDefinitionsResponse) Reset() { } } -func (x *ListAgentJobDefinitionsResponse) String() string { +func (x *ListAgentDispatchRequesst) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListAgentJobDefinitionsResponse) ProtoMessage() {} +func (*ListAgentDispatchRequesst) ProtoMessage() {} -func (x *ListAgentJobDefinitionsResponse) ProtoReflect() protoreflect.Message { +func (x *ListAgentDispatchRequesst) ProtoReflect() protoreflect.Message { mi := &file_livekit_agent_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -394,34 +379,35 @@ func (x *ListAgentJobDefinitionsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListAgentJobDefinitionsResponse.ProtoReflect.Descriptor instead. -func (*ListAgentJobDefinitionsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListAgentDispatchRequesst.ProtoReflect.Descriptor instead. +func (*ListAgentDispatchRequesst) Descriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{3} } -func (x *ListAgentJobDefinitionsResponse) GetJobDefinitions() []*JobDefinition { +func (x *ListAgentDispatchRequesst) GetDispatchId() string { if x != nil { - return x.JobDefinitions + return x.DispatchId } - return nil + return "" } -type JobDefinition struct { +func (x *ListAgentDispatchRequesst) GetRoom() string { + if x != nil { + return x.Room + } + return "" +} + +type ListAgentDispatchResponse 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"` + AgentDispatches []*AgentDispatch `protobuf:"bytes,1,rep,name=agent_dispatches,json=agentDispatches,proto3" json:"agent_dispatches,omitempty"` } -func (x *JobDefinition) Reset() { - *x = JobDefinition{} +func (x *ListAgentDispatchResponse) Reset() { + *x = ListAgentDispatchResponse{} if protoimpl.UnsafeEnabled { mi := &file_livekit_agent_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -429,13 +415,13 @@ func (x *JobDefinition) Reset() { } } -func (x *JobDefinition) String() string { +func (x *ListAgentDispatchResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*JobDefinition) ProtoMessage() {} +func (*ListAgentDispatchResponse) ProtoMessage() {} -func (x *JobDefinition) ProtoReflect() protoreflect.Message { +func (x *ListAgentDispatchResponse) ProtoReflect() protoreflect.Message { mi := &file_livekit_agent_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -447,89 +433,126 @@ func (x *JobDefinition) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use JobDefinition.ProtoReflect.Descriptor instead. -func (*JobDefinition) Descriptor() ([]byte, []int) { +// Deprecated: Use ListAgentDispatchResponse.ProtoReflect.Descriptor instead. +func (*ListAgentDispatchResponse) Descriptor() ([]byte, []int) { return file_livekit_agent_proto_rawDescGZIP(), []int{4} } -func (x *JobDefinition) GetId() string { +func (x *ListAgentDispatchResponse) GetAgentDispatches() []*AgentDispatch { if x != nil { - return x.Id + return x.AgentDispatches } - return "" + return nil } -func (x *JobDefinition) GetType() JobType { - if x != nil { - return x.Type +type AgentDispatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AgentName string `protobuf:"bytes,2,opt,name=agent_name,json=agentName,proto3" json:"agent_name,omitempty"` + Room string `protobuf:"bytes,3,opt,name=room,proto3" json:"room,omitempty"` + Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + State *AgentDispatchState `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` +} + +func (x *AgentDispatch) Reset() { + *x = AgentDispatch{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_agent_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return JobType_JT_ROOM } -func (x *JobDefinition) GetRoom() string { +func (x *AgentDispatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentDispatch) ProtoMessage() {} + +func (x *AgentDispatch) 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 AgentDispatch.ProtoReflect.Descriptor instead. +func (*AgentDispatch) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{5} +} + +func (x *AgentDispatch) GetId() string { if x != nil { - return x.Room + return x.Id } return "" } -func (x *JobDefinition) GetParticipantIdentity() []string { +func (x *AgentDispatch) GetAgentName() string { if x != nil { - return x.ParticipantIdentity + return x.AgentName } - return nil + return "" } -func (x *JobDefinition) GetNamespace() string { +func (x *AgentDispatch) GetRoom() string { if x != nil { - return x.Namespace + return x.Room } return "" } -func (x *JobDefinition) GetMetadata() string { +func (x *AgentDispatch) GetMetadata() string { if x != nil { return x.Metadata } return "" } -func (x *JobDefinition) GetState() *JobDefinitionState { +func (x *AgentDispatch) GetState() *AgentDispatchState { if x != nil { return x.State } return nil } -type JobDefinitionState struct { +type AgentDispatchState 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. + // For dispatches of tyoe JT_ROOM, there will be at most 1 job. + // For dispatches of type JT_PUBLISHER, there will be 1 per publisher. 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{} +func (x *AgentDispatchState) Reset() { + *x = AgentDispatchState{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[5] + mi := &file_livekit_agent_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *JobDefinitionState) String() string { +func (x *AgentDispatchState) String() string { return protoimpl.X.MessageStringOf(x) } -func (*JobDefinitionState) ProtoMessage() {} +func (*AgentDispatchState) ProtoMessage() {} -func (x *JobDefinitionState) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[5] +func (x *AgentDispatchState) ProtoReflect() protoreflect.Message { + mi := &file_livekit_agent_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -540,26 +563,26 @@ func (x *JobDefinitionState) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use JobDefinitionState.ProtoReflect.Descriptor instead. -func (*JobDefinitionState) Descriptor() ([]byte, []int) { - return file_livekit_agent_proto_rawDescGZIP(), []int{5} +// Deprecated: Use AgentDispatchState.ProtoReflect.Descriptor instead. +func (*AgentDispatchState) Descriptor() ([]byte, []int) { + return file_livekit_agent_proto_rawDescGZIP(), []int{6} } -func (x *JobDefinitionState) GetJobs() []*Job { +func (x *AgentDispatchState) GetJobs() []*Job { if x != nil { return x.Jobs } return nil } -func (x *JobDefinitionState) GetCreatedAt() int64 { +func (x *AgentDispatchState) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } -func (x *JobDefinitionState) GetDeletedAt() int64 { +func (x *AgentDispatchState) GetDeletedAt() int64 { if x != nil { return x.DeletedAt } @@ -575,15 +598,17 @@ type Job struct { 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"` - State *JobState `protobuf:"bytes,7,opt,name=state,proto3" json:"state,omitempty"` + // Deprecated: Marked as deprecated in livekit_agent.proto. + Namespace string `protobuf:"bytes,5,opt,name=namespace,proto3" json:"namespace,omitempty"` + Metadata string `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + AgentName string `protobuf:"bytes,7,opt,name=agent_name,json=agentName,proto3" json:"agent_name,omitempty"` + State *JobState `protobuf:"bytes,8,opt,name=state,proto3" json:"state,omitempty"` } func (x *Job) Reset() { *x = Job{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[6] + mi := &file_livekit_agent_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -596,7 +621,7 @@ func (x *Job) String() string { func (*Job) ProtoMessage() {} func (x *Job) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[6] + mi := &file_livekit_agent_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -609,7 +634,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{6} + return file_livekit_agent_proto_rawDescGZIP(), []int{7} } func (x *Job) GetId() string { @@ -640,6 +665,7 @@ func (x *Job) GetParticipant() *ParticipantInfo { return nil } +// Deprecated: Marked as deprecated in livekit_agent.proto. func (x *Job) GetNamespace() string { if x != nil { return x.Namespace @@ -654,6 +680,13 @@ func (x *Job) GetMetadata() string { return "" } +func (x *Job) GetAgentName() string { + if x != nil { + return x.AgentName + } + return "" +} + func (x *Job) GetState() *JobState { if x != nil { return x.State @@ -676,7 +709,7 @@ type JobState struct { func (x *JobState) Reset() { *x = JobState{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[7] + mi := &file_livekit_agent_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -689,7 +722,7 @@ func (x *JobState) String() string { func (*JobState) ProtoMessage() {} func (x *JobState) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[7] + mi := &file_livekit_agent_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -702,7 +735,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{7} + return file_livekit_agent_proto_rawDescGZIP(), []int{8} } func (x *JobState) GetStatus() JobStatus { @@ -761,7 +794,7 @@ type WorkerMessage struct { func (x *WorkerMessage) Reset() { *x = WorkerMessage{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[8] + mi := &file_livekit_agent_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -774,7 +807,7 @@ func (x *WorkerMessage) String() string { func (*WorkerMessage) ProtoMessage() {} func (x *WorkerMessage) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[8] + mi := &file_livekit_agent_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -787,7 +820,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{8} + return file_livekit_agent_proto_rawDescGZIP(), []int{9} } func (m *WorkerMessage) GetMessage() isWorkerMessage_Message { @@ -915,7 +948,7 @@ type ServerMessage struct { func (x *ServerMessage) Reset() { *x = ServerMessage{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[9] + mi := &file_livekit_agent_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -928,7 +961,7 @@ func (x *ServerMessage) String() string { func (*ServerMessage) ProtoMessage() {} func (x *ServerMessage) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[9] + mi := &file_livekit_agent_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -941,7 +974,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{9} + return file_livekit_agent_proto_rawDescGZIP(), []int{10} } func (m *ServerMessage) GetMessage() isServerMessage_Message { @@ -1035,7 +1068,7 @@ type SimulateJobRequest struct { func (x *SimulateJobRequest) Reset() { *x = SimulateJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[10] + mi := &file_livekit_agent_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1048,7 +1081,7 @@ func (x *SimulateJobRequest) String() string { func (*SimulateJobRequest) ProtoMessage() {} func (x *SimulateJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[10] + mi := &file_livekit_agent_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1061,7 +1094,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{10} + return file_livekit_agent_proto_rawDescGZIP(), []int{11} } func (x *SimulateJobRequest) GetType() JobType { @@ -1096,7 +1129,7 @@ type WorkerPing struct { func (x *WorkerPing) Reset() { *x = WorkerPing{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[11] + mi := &file_livekit_agent_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1109,7 +1142,7 @@ func (x *WorkerPing) String() string { func (*WorkerPing) ProtoMessage() {} func (x *WorkerPing) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[11] + mi := &file_livekit_agent_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1122,7 +1155,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{11} + return file_livekit_agent_proto_rawDescGZIP(), []int{12} } func (x *WorkerPing) GetTimestamp() int64 { @@ -1144,7 +1177,7 @@ type WorkerPong struct { func (x *WorkerPong) Reset() { *x = WorkerPong{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[12] + mi := &file_livekit_agent_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1157,7 +1190,7 @@ func (x *WorkerPong) String() string { func (*WorkerPong) ProtoMessage() {} func (x *WorkerPong) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[12] + mi := &file_livekit_agent_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1170,7 +1203,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{12} + return file_livekit_agent_proto_rawDescGZIP(), []int{13} } func (x *WorkerPong) GetLastTimestamp() int64 { @@ -1192,7 +1225,8 @@ type RegisterWorkerRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type JobType `protobuf:"varint,1,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` + Type JobType `protobuf:"varint,1,opt,name=type,proto3,enum=livekit.JobType" json:"type,omitempty"` + AgentName string `protobuf:"bytes,8,opt,name=agent_name,json=agentName,proto3" json:"agent_name,omitempty"` // string worker_id = 2; Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` @@ -1204,7 +1238,7 @@ type RegisterWorkerRequest struct { func (x *RegisterWorkerRequest) Reset() { *x = RegisterWorkerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[13] + mi := &file_livekit_agent_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1217,7 +1251,7 @@ func (x *RegisterWorkerRequest) String() string { func (*RegisterWorkerRequest) ProtoMessage() {} func (x *RegisterWorkerRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[13] + mi := &file_livekit_agent_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1230,7 +1264,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{13} + return file_livekit_agent_proto_rawDescGZIP(), []int{14} } func (x *RegisterWorkerRequest) GetType() JobType { @@ -1240,6 +1274,13 @@ func (x *RegisterWorkerRequest) GetType() JobType { return JobType_JT_ROOM } +func (x *RegisterWorkerRequest) GetAgentName() string { + if x != nil { + return x.AgentName + } + return "" +} + func (x *RegisterWorkerRequest) GetVersion() string { if x != nil { return x.Version @@ -1287,7 +1328,7 @@ type RegisterWorkerResponse struct { func (x *RegisterWorkerResponse) Reset() { *x = RegisterWorkerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1300,7 +1341,7 @@ func (x *RegisterWorkerResponse) String() string { func (*RegisterWorkerResponse) ProtoMessage() {} func (x *RegisterWorkerResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[14] + mi := &file_livekit_agent_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1313,7 +1354,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{14} + return file_livekit_agent_proto_rawDescGZIP(), []int{15} } func (x *RegisterWorkerResponse) GetWorkerId() string { @@ -1342,7 +1383,7 @@ type MigrateJobRequest struct { func (x *MigrateJobRequest) Reset() { *x = MigrateJobRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1355,7 +1396,7 @@ func (x *MigrateJobRequest) String() string { func (*MigrateJobRequest) ProtoMessage() {} func (x *MigrateJobRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[15] + mi := &file_livekit_agent_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1368,7 +1409,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{15} + return file_livekit_agent_proto_rawDescGZIP(), []int{16} } func (x *MigrateJobRequest) GetJobIds() []string { @@ -1392,7 +1433,7 @@ type AvailabilityRequest struct { func (x *AvailabilityRequest) Reset() { *x = AvailabilityRequest{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[16] + mi := &file_livekit_agent_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1405,7 +1446,7 @@ func (x *AvailabilityRequest) String() string { func (*AvailabilityRequest) ProtoMessage() {} func (x *AvailabilityRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[16] + mi := &file_livekit_agent_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1418,7 +1459,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{16} + return file_livekit_agent_proto_rawDescGZIP(), []int{17} } func (x *AvailabilityRequest) GetJob() *Job { @@ -1451,7 +1492,7 @@ type AvailabilityResponse struct { func (x *AvailabilityResponse) Reset() { *x = AvailabilityResponse{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[17] + mi := &file_livekit_agent_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1464,7 +1505,7 @@ func (x *AvailabilityResponse) String() string { func (*AvailabilityResponse) ProtoMessage() {} func (x *AvailabilityResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[17] + mi := &file_livekit_agent_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1477,7 +1518,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{17} + return file_livekit_agent_proto_rawDescGZIP(), []int{18} } func (x *AvailabilityResponse) GetJobId() string { @@ -1537,7 +1578,7 @@ type UpdateJobStatus struct { func (x *UpdateJobStatus) Reset() { *x = UpdateJobStatus{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[18] + mi := &file_livekit_agent_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1550,7 +1591,7 @@ func (x *UpdateJobStatus) String() string { func (*UpdateJobStatus) ProtoMessage() {} func (x *UpdateJobStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[18] + mi := &file_livekit_agent_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1563,7 +1604,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{18} + return file_livekit_agent_proto_rawDescGZIP(), []int{19} } func (x *UpdateJobStatus) GetJobId() string { @@ -1601,7 +1642,7 @@ type UpdateWorkerStatus struct { func (x *UpdateWorkerStatus) Reset() { *x = UpdateWorkerStatus{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[19] + mi := &file_livekit_agent_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1614,7 +1655,7 @@ func (x *UpdateWorkerStatus) String() string { func (*UpdateWorkerStatus) ProtoMessage() {} func (x *UpdateWorkerStatus) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[19] + mi := &file_livekit_agent_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1627,7 +1668,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{19} + return file_livekit_agent_proto_rawDescGZIP(), []int{20} } func (x *UpdateWorkerStatus) GetStatus() WorkerStatus { @@ -1664,7 +1705,7 @@ type JobAssignment struct { func (x *JobAssignment) Reset() { *x = JobAssignment{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[20] + mi := &file_livekit_agent_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1677,7 +1718,7 @@ func (x *JobAssignment) String() string { func (*JobAssignment) ProtoMessage() {} func (x *JobAssignment) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[20] + mi := &file_livekit_agent_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1690,7 +1731,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{20} + return file_livekit_agent_proto_rawDescGZIP(), []int{21} } func (x *JobAssignment) GetJob() *Job { @@ -1725,7 +1766,7 @@ type JobTermination struct { func (x *JobTermination) Reset() { *x = JobTermination{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_agent_proto_msgTypes[21] + mi := &file_livekit_agent_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1738,7 +1779,7 @@ func (x *JobTermination) String() string { func (*JobTermination) ProtoMessage() {} func (x *JobTermination) ProtoReflect() protoreflect.Message { - mi := &file_livekit_agent_proto_msgTypes[21] + mi := &file_livekit_agent_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1751,7 +1792,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{21} + return file_livekit_agent_proto_rawDescGZIP(), []int{22} } func (x *JobTermination) GetJobId() string { @@ -1767,262 +1808,254 @@ 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, 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, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x72, 0x6f, 0x6f, 0x6d, 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, 0x22, 0x4e, 0x0a, 0x11, 0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, + 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 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, 0x3d, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, + 0x22, 0x50, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, + 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 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, 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, 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, 0x2c, - 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, - 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, - 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, + 0x6f, 0x6d, 0x22, 0x5e, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, + 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x41, 0x0a, 0x10, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x0f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x74, 0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, + 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 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, 0xb5, 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, 0x20, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x02, 0x18, 0x01, 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, 0x1d, 0x0a, 0x0a, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 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, - 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, + 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, 0xb1, 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, 0x1d, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4e, + 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, 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, 0x2c, 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 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, 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, 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, 0x84, 0x02, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, + 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, + 0x70, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4d, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, + 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, + 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, + 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x56, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x70, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, + 0x61, 0x74, 0x63, 0x68, 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 ( @@ -2038,82 +2071,81 @@ 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_msgTypes = make([]protoimpl.MessageInfo, 23) var file_livekit_agent_proto_goTypes = []any{ - (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 + (JobType)(0), // 0: livekit.JobType + (WorkerStatus)(0), // 1: livekit.WorkerStatus + (JobStatus)(0), // 2: livekit.JobStatus + (*CreateAgentDispatchRequest)(nil), // 3: livekit.CreateAgentDispatchRequest + (*RoomAgentDispatch)(nil), // 4: livekit.RoomAgentDispatch + (*DeleteAgentDispatchRequest)(nil), // 5: livekit.DeleteAgentDispatchRequest + (*ListAgentDispatchRequesst)(nil), // 6: livekit.ListAgentDispatchRequesst + (*ListAgentDispatchResponse)(nil), // 7: livekit.ListAgentDispatchResponse + (*AgentDispatch)(nil), // 8: livekit.AgentDispatch + (*AgentDispatchState)(nil), // 9: livekit.AgentDispatchState + (*Job)(nil), // 10: livekit.Job + (*JobState)(nil), // 11: livekit.JobState + (*WorkerMessage)(nil), // 12: livekit.WorkerMessage + (*ServerMessage)(nil), // 13: livekit.ServerMessage + (*SimulateJobRequest)(nil), // 14: livekit.SimulateJobRequest + (*WorkerPing)(nil), // 15: livekit.WorkerPing + (*WorkerPong)(nil), // 16: livekit.WorkerPong + (*RegisterWorkerRequest)(nil), // 17: livekit.RegisterWorkerRequest + (*RegisterWorkerResponse)(nil), // 18: livekit.RegisterWorkerResponse + (*MigrateJobRequest)(nil), // 19: livekit.MigrateJobRequest + (*AvailabilityRequest)(nil), // 20: livekit.AvailabilityRequest + (*AvailabilityResponse)(nil), // 21: livekit.AvailabilityResponse + (*UpdateJobStatus)(nil), // 22: livekit.UpdateJobStatus + (*UpdateWorkerStatus)(nil), // 23: livekit.UpdateWorkerStatus + (*JobAssignment)(nil), // 24: livekit.JobAssignment + (*JobTermination)(nil), // 25: livekit.JobTermination + (*Room)(nil), // 26: livekit.Room + (*ParticipantInfo)(nil), // 27: livekit.ParticipantInfo + (*ParticipantPermission)(nil), // 28: livekit.ParticipantPermission + (*ServerInfo)(nil), // 29: livekit.ServerInfo } var file_livekit_agent_proto_depIdxs = []int32{ - 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 + 8, // 0: livekit.ListAgentDispatchResponse.agent_dispatches:type_name -> livekit.AgentDispatch + 9, // 1: livekit.AgentDispatch.state:type_name -> livekit.AgentDispatchState + 10, // 2: livekit.AgentDispatchState.jobs:type_name -> livekit.Job + 0, // 3: livekit.Job.type:type_name -> livekit.JobType + 26, // 4: livekit.Job.room:type_name -> livekit.Room + 27, // 5: livekit.Job.participant:type_name -> livekit.ParticipantInfo + 11, // 6: livekit.Job.state:type_name -> livekit.JobState + 2, // 7: livekit.JobState.status:type_name -> livekit.JobStatus + 17, // 8: livekit.WorkerMessage.register:type_name -> livekit.RegisterWorkerRequest + 21, // 9: livekit.WorkerMessage.availability:type_name -> livekit.AvailabilityResponse + 23, // 10: livekit.WorkerMessage.update_worker:type_name -> livekit.UpdateWorkerStatus + 22, // 11: livekit.WorkerMessage.update_job:type_name -> livekit.UpdateJobStatus + 15, // 12: livekit.WorkerMessage.ping:type_name -> livekit.WorkerPing + 14, // 13: livekit.WorkerMessage.simulate_job:type_name -> livekit.SimulateJobRequest + 19, // 14: livekit.WorkerMessage.migrate_job:type_name -> livekit.MigrateJobRequest + 18, // 15: livekit.ServerMessage.register:type_name -> livekit.RegisterWorkerResponse + 20, // 16: livekit.ServerMessage.availability:type_name -> livekit.AvailabilityRequest + 24, // 17: livekit.ServerMessage.assignment:type_name -> livekit.JobAssignment + 25, // 18: livekit.ServerMessage.termination:type_name -> livekit.JobTermination + 16, // 19: livekit.ServerMessage.pong:type_name -> livekit.WorkerPong + 0, // 20: livekit.SimulateJobRequest.type:type_name -> livekit.JobType + 26, // 21: livekit.SimulateJobRequest.room:type_name -> livekit.Room + 27, // 22: livekit.SimulateJobRequest.participant:type_name -> livekit.ParticipantInfo + 0, // 23: livekit.RegisterWorkerRequest.type:type_name -> livekit.JobType + 28, // 24: livekit.RegisterWorkerRequest.allowed_permissions:type_name -> livekit.ParticipantPermission + 29, // 25: livekit.RegisterWorkerResponse.server_info:type_name -> livekit.ServerInfo + 10, // 26: livekit.AvailabilityRequest.job:type_name -> livekit.Job + 2, // 27: livekit.UpdateJobStatus.status:type_name -> livekit.JobStatus + 1, // 28: livekit.UpdateWorkerStatus.status:type_name -> livekit.WorkerStatus + 10, // 29: livekit.JobAssignment.job:type_name -> livekit.Job + 3, // 30: livekit.AgentService.CreateDispatch:input_type -> livekit.CreateAgentDispatchRequest + 5, // 31: livekit.AgentService.DeleteDispatch:input_type -> livekit.DeleteAgentDispatchRequest + 6, // 32: livekit.AgentService.ListDispatch:input_type -> livekit.ListAgentDispatchRequesst + 8, // 33: livekit.AgentService.CreateDispatch:output_type -> livekit.AgentDispatch + 8, // 34: livekit.AgentService.DeleteDispatch:output_type -> livekit.AgentDispatch + 7, // 35: livekit.AgentService.ListDispatch:output_type -> livekit.ListAgentDispatchResponse + 33, // [33:36] is the sub-list for method output_type + 30, // [30:33] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name } func init() { file_livekit_agent_proto_init() } @@ -2124,7 +2156,7 @@ func file_livekit_agent_proto_init() { file_livekit_models_proto_init() if !protoimpl.UnsafeEnabled { file_livekit_agent_proto_msgTypes[0].Exporter = func(v any, i int) any { - switch v := v.(*CreateAgentJobDefinitionRequest); i { + switch v := v.(*CreateAgentDispatchRequest); i { case 0: return &v.state case 1: @@ -2136,7 +2168,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[1].Exporter = func(v any, i int) any { - switch v := v.(*DeleteAgentJobDefinitionRequest); i { + switch v := v.(*RoomAgentDispatch); i { case 0: return &v.state case 1: @@ -2148,7 +2180,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[2].Exporter = func(v any, i int) any { - switch v := v.(*ListAgentJobDefinitionsRequesst); i { + switch v := v.(*DeleteAgentDispatchRequest); i { case 0: return &v.state case 1: @@ -2160,7 +2192,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[3].Exporter = func(v any, i int) any { - switch v := v.(*ListAgentJobDefinitionsResponse); i { + switch v := v.(*ListAgentDispatchRequesst); i { case 0: return &v.state case 1: @@ -2172,7 +2204,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[4].Exporter = func(v any, i int) any { - switch v := v.(*JobDefinition); i { + switch v := v.(*ListAgentDispatchResponse); i { case 0: return &v.state case 1: @@ -2184,7 +2216,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*JobDefinitionState); i { + switch v := v.(*AgentDispatch); i { case 0: return &v.state case 1: @@ -2196,7 +2228,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[6].Exporter = func(v any, i int) any { - switch v := v.(*Job); i { + switch v := v.(*AgentDispatchState); i { case 0: return &v.state case 1: @@ -2208,7 +2240,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[7].Exporter = func(v any, i int) any { - switch v := v.(*JobState); i { + switch v := v.(*Job); i { case 0: return &v.state case 1: @@ -2220,7 +2252,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*WorkerMessage); i { + switch v := v.(*JobState); i { case 0: return &v.state case 1: @@ -2232,7 +2264,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*ServerMessage); i { + switch v := v.(*WorkerMessage); i { case 0: return &v.state case 1: @@ -2244,7 +2276,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[10].Exporter = func(v any, i int) any { - switch v := v.(*SimulateJobRequest); i { + switch v := v.(*ServerMessage); i { case 0: return &v.state case 1: @@ -2256,7 +2288,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[11].Exporter = func(v any, i int) any { - switch v := v.(*WorkerPing); i { + switch v := v.(*SimulateJobRequest); i { case 0: return &v.state case 1: @@ -2268,7 +2300,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[12].Exporter = func(v any, i int) any { - switch v := v.(*WorkerPong); i { + switch v := v.(*WorkerPing); i { case 0: return &v.state case 1: @@ -2280,7 +2312,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[13].Exporter = func(v any, i int) any { - switch v := v.(*RegisterWorkerRequest); i { + switch v := v.(*WorkerPong); i { case 0: return &v.state case 1: @@ -2292,7 +2324,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[14].Exporter = func(v any, i int) any { - switch v := v.(*RegisterWorkerResponse); i { + switch v := v.(*RegisterWorkerRequest); i { case 0: return &v.state case 1: @@ -2304,7 +2336,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[15].Exporter = func(v any, i int) any { - switch v := v.(*MigrateJobRequest); i { + switch v := v.(*RegisterWorkerResponse); i { case 0: return &v.state case 1: @@ -2316,7 +2348,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[16].Exporter = func(v any, i int) any { - switch v := v.(*AvailabilityRequest); i { + switch v := v.(*MigrateJobRequest); i { case 0: return &v.state case 1: @@ -2328,7 +2360,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[17].Exporter = func(v any, i int) any { - switch v := v.(*AvailabilityResponse); i { + switch v := v.(*AvailabilityRequest); i { case 0: return &v.state case 1: @@ -2340,7 +2372,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[18].Exporter = func(v any, i int) any { - switch v := v.(*UpdateJobStatus); i { + switch v := v.(*AvailabilityResponse); i { case 0: return &v.state case 1: @@ -2352,7 +2384,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[19].Exporter = func(v any, i int) any { - switch v := v.(*UpdateWorkerStatus); i { + switch v := v.(*UpdateJobStatus); i { case 0: return &v.state case 1: @@ -2364,7 +2396,7 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[20].Exporter = func(v any, i int) any { - switch v := v.(*JobAssignment); i { + switch v := v.(*UpdateWorkerStatus); i { case 0: return &v.state case 1: @@ -2376,6 +2408,18 @@ func file_livekit_agent_proto_init() { } } file_livekit_agent_proto_msgTypes[21].Exporter = func(v any, i int) any { + 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[22].Exporter = func(v any, i int) any { switch v := v.(*JobTermination); i { case 0: return &v.state @@ -2388,8 +2432,8 @@ func file_livekit_agent_proto_init() { } } } - file_livekit_agent_proto_msgTypes[6].OneofWrappers = []any{} - file_livekit_agent_proto_msgTypes[8].OneofWrappers = []any{ + file_livekit_agent_proto_msgTypes[7].OneofWrappers = []any{} + file_livekit_agent_proto_msgTypes[9].OneofWrappers = []any{ (*WorkerMessage_Register)(nil), (*WorkerMessage_Availability)(nil), (*WorkerMessage_UpdateWorker)(nil), @@ -2398,23 +2442,23 @@ func file_livekit_agent_proto_init() { (*WorkerMessage_SimulateJob)(nil), (*WorkerMessage_MigrateJob)(nil), } - file_livekit_agent_proto_msgTypes[9].OneofWrappers = []any{ + file_livekit_agent_proto_msgTypes[10].OneofWrappers = []any{ (*ServerMessage_Register)(nil), (*ServerMessage_Availability)(nil), (*ServerMessage_Assignment)(nil), (*ServerMessage_Termination)(nil), (*ServerMessage_Pong)(nil), } - file_livekit_agent_proto_msgTypes[13].OneofWrappers = []any{} - file_livekit_agent_proto_msgTypes[19].OneofWrappers = []any{} + file_livekit_agent_proto_msgTypes[14].OneofWrappers = []any{} file_livekit_agent_proto_msgTypes[20].OneofWrappers = []any{} + file_livekit_agent_proto_msgTypes[21].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_livekit_agent_proto_rawDesc, NumEnums: 3, - NumMessages: 22, + NumMessages: 23, NumExtensions: 0, NumServices: 1, }, diff --git a/livekit/livekit_agent_grpc.pb.go b/livekit/livekit_agent_grpc.pb.go index 0076469f9..cebcde815 100644 --- a/livekit/livekit_agent_grpc.pb.go +++ b/livekit/livekit_agent_grpc.pb.go @@ -33,18 +33,18 @@ import ( const _ = grpc.SupportPackageIsVersion8 const ( - AgentService_CreateAgentJobDefinition_FullMethodName = "/livekit.AgentService/CreateAgentJobDefinition" - AgentService_DeleteAgentJobDefinition_FullMethodName = "/livekit.AgentService/DeleteAgentJobDefinition" - AgentService_ListAgentJobDefinitions_FullMethodName = "/livekit.AgentService/ListAgentJobDefinitions" + AgentService_CreateDispatch_FullMethodName = "/livekit.AgentService/CreateDispatch" + AgentService_DeleteDispatch_FullMethodName = "/livekit.AgentService/DeleteDispatch" + AgentService_ListDispatch_FullMethodName = "/livekit.AgentService/ListDispatch" ) // 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) + CreateDispatch(ctx context.Context, in *CreateAgentDispatchRequest, opts ...grpc.CallOption) (*AgentDispatch, error) + DeleteDispatch(ctx context.Context, in *DeleteAgentDispatchRequest, opts ...grpc.CallOption) (*AgentDispatch, error) + ListDispatch(ctx context.Context, in *ListAgentDispatchRequesst, opts ...grpc.CallOption) (*ListAgentDispatchResponse, error) } type agentServiceClient struct { @@ -55,30 +55,30 @@ func NewAgentServiceClient(cc grpc.ClientConnInterface) AgentServiceClient { return &agentServiceClient{cc} } -func (c *agentServiceClient) CreateAgentJobDefinition(ctx context.Context, in *CreateAgentJobDefinitionRequest, opts ...grpc.CallOption) (*JobDefinition, error) { +func (c *agentServiceClient) CreateDispatch(ctx context.Context, in *CreateAgentDispatchRequest, opts ...grpc.CallOption) (*AgentDispatch, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(JobDefinition) - err := c.cc.Invoke(ctx, AgentService_CreateAgentJobDefinition_FullMethodName, in, out, cOpts...) + out := new(AgentDispatch) + err := c.cc.Invoke(ctx, AgentService_CreateDispatch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *agentServiceClient) DeleteAgentJobDefinition(ctx context.Context, in *DeleteAgentJobDefinitionRequest, opts ...grpc.CallOption) (*JobDefinition, error) { +func (c *agentServiceClient) DeleteDispatch(ctx context.Context, in *DeleteAgentDispatchRequest, opts ...grpc.CallOption) (*AgentDispatch, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(JobDefinition) - err := c.cc.Invoke(ctx, AgentService_DeleteAgentJobDefinition_FullMethodName, in, out, cOpts...) + out := new(AgentDispatch) + err := c.cc.Invoke(ctx, AgentService_DeleteDispatch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *agentServiceClient) ListAgentJobDefinitions(ctx context.Context, in *ListAgentJobDefinitionsRequesst, opts ...grpc.CallOption) (*ListAgentJobDefinitionsResponse, error) { +func (c *agentServiceClient) ListDispatch(ctx context.Context, in *ListAgentDispatchRequesst, opts ...grpc.CallOption) (*ListAgentDispatchResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(ListAgentJobDefinitionsResponse) - err := c.cc.Invoke(ctx, AgentService_ListAgentJobDefinitions_FullMethodName, in, out, cOpts...) + out := new(ListAgentDispatchResponse) + err := c.cc.Invoke(ctx, AgentService_ListDispatch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -89,9 +89,9 @@ func (c *agentServiceClient) ListAgentJobDefinitions(ctx context.Context, in *Li // 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) + CreateDispatch(context.Context, *CreateAgentDispatchRequest) (*AgentDispatch, error) + DeleteDispatch(context.Context, *DeleteAgentDispatchRequest) (*AgentDispatch, error) + ListDispatch(context.Context, *ListAgentDispatchRequesst) (*ListAgentDispatchResponse, error) mustEmbedUnimplementedAgentServiceServer() } @@ -99,14 +99,14 @@ type AgentServiceServer interface { type UnimplementedAgentServiceServer struct { } -func (UnimplementedAgentServiceServer) CreateAgentJobDefinition(context.Context, *CreateAgentJobDefinitionRequest) (*JobDefinition, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateAgentJobDefinition not implemented") +func (UnimplementedAgentServiceServer) CreateDispatch(context.Context, *CreateAgentDispatchRequest) (*AgentDispatch, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateDispatch not implemented") } -func (UnimplementedAgentServiceServer) DeleteAgentJobDefinition(context.Context, *DeleteAgentJobDefinitionRequest) (*JobDefinition, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteAgentJobDefinition not implemented") +func (UnimplementedAgentServiceServer) DeleteDispatch(context.Context, *DeleteAgentDispatchRequest) (*AgentDispatch, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteDispatch not implemented") } -func (UnimplementedAgentServiceServer) ListAgentJobDefinitions(context.Context, *ListAgentJobDefinitionsRequesst) (*ListAgentJobDefinitionsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListAgentJobDefinitions not implemented") +func (UnimplementedAgentServiceServer) ListDispatch(context.Context, *ListAgentDispatchRequesst) (*ListAgentDispatchResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDispatch not implemented") } func (UnimplementedAgentServiceServer) mustEmbedUnimplementedAgentServiceServer() {} @@ -121,56 +121,56 @@ 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) +func _AgentService_CreateDispatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateAgentDispatchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(AgentServiceServer).CreateAgentJobDefinition(ctx, in) + return srv.(AgentServiceServer).CreateDispatch(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AgentService_CreateAgentJobDefinition_FullMethodName, + FullMethod: AgentService_CreateDispatch_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AgentServiceServer).CreateAgentJobDefinition(ctx, req.(*CreateAgentJobDefinitionRequest)) + return srv.(AgentServiceServer).CreateDispatch(ctx, req.(*CreateAgentDispatchRequest)) } 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) +func _AgentService_DeleteDispatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteAgentDispatchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(AgentServiceServer).DeleteAgentJobDefinition(ctx, in) + return srv.(AgentServiceServer).DeleteDispatch(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AgentService_DeleteAgentJobDefinition_FullMethodName, + FullMethod: AgentService_DeleteDispatch_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AgentServiceServer).DeleteAgentJobDefinition(ctx, req.(*DeleteAgentJobDefinitionRequest)) + return srv.(AgentServiceServer).DeleteDispatch(ctx, req.(*DeleteAgentDispatchRequest)) } 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) +func _AgentService_ListDispatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListAgentDispatchRequesst) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(AgentServiceServer).ListAgentJobDefinitions(ctx, in) + return srv.(AgentServiceServer).ListDispatch(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AgentService_ListAgentJobDefinitions_FullMethodName, + FullMethod: AgentService_ListDispatch_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AgentServiceServer).ListAgentJobDefinitions(ctx, req.(*ListAgentJobDefinitionsRequesst)) + return srv.(AgentServiceServer).ListDispatch(ctx, req.(*ListAgentDispatchRequesst)) } return interceptor(ctx, in, info, handler) } @@ -183,16 +183,16 @@ var AgentService_ServiceDesc = grpc.ServiceDesc{ HandlerType: (*AgentServiceServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "CreateAgentJobDefinition", - Handler: _AgentService_CreateAgentJobDefinition_Handler, + MethodName: "CreateDispatch", + Handler: _AgentService_CreateDispatch_Handler, }, { - MethodName: "DeleteAgentJobDefinition", - Handler: _AgentService_DeleteAgentJobDefinition_Handler, + MethodName: "DeleteDispatch", + Handler: _AgentService_DeleteDispatch_Handler, }, { - MethodName: "ListAgentJobDefinitions", - Handler: _AgentService_ListAgentJobDefinitions_Handler, + MethodName: "ListDispatch", + Handler: _AgentService_ListDispatch_Handler, }, }, Streams: []grpc.StreamDesc{}, diff --git a/livekit/livekit_internal.pb.go b/livekit/livekit_internal.pb.go index f47f4f61f..4d104179d 100644 --- a/livekit/livekit_internal.pb.go +++ b/livekit/livekit_internal.pb.go @@ -884,11 +884,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"` - 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"` + 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"` + AgentDispatches []*RoomAgentDispatch `protobuf:"bytes,5,rep,name=agent_dispatches,json=agentDispatches,proto3" json:"agent_dispatches,omitempty"` + SyncStreams bool `protobuf:"varint,4,opt,name=sync_streams,json=syncStreams,proto3" json:"sync_streams,omitempty"` } func (x *RoomInternal) Reset() { @@ -944,9 +944,9 @@ func (x *RoomInternal) GetPlayoutDelay() *PlayoutDelay { return nil } -func (x *RoomInternal) GetAgents() []*CreateAgentJobDefinitionRequest { +func (x *RoomInternal) GetAgentDispatches() []*RoomAgentDispatch { if x != nil { - return x.Agents + return x.AgentDispatches } return nil } @@ -1219,7 +1219,7 @@ var file_livekit_internal_proto_rawDesc = []byte{ 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, + 0xc0, 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, @@ -1232,42 +1232,42 @@ var file_livekit_internal_proto_rawDesc = []byte{ 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, + 0x6f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x45, 0x0a, 0x10, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, + 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0f, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 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 ( @@ -1285,20 +1285,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 = []any{ - (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 + (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 + (*RoomAgentDispatch)(nil), // 13: livekit.RoomAgentDispatch } var file_livekit_internal_proto_depIdxs = []int32{ 4, // 0: livekit.Node.stats:type_name -> livekit.NodeStats @@ -1309,7 +1309,7 @@ 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 - 13, // 8: livekit.RoomInternal.agents:type_name -> livekit.CreateAgentJobDefinitionRequest + 13, // 8: livekit.RoomInternal.agent_dispatches:type_name -> livekit.RoomAgentDispatch 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 diff --git a/livekit/livekit_room.pb.go b/livekit/livekit_room.pb.go index 7fe320423..0a6362f98 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 []*CreateAgentJobDefinitionRequest `protobuf:"bytes,1,rep,name=agents,proto3" json:"agents,omitempty"` + Dispatches []*RoomAgentDispatch `protobuf:"bytes,1,rep,name=dispatches,proto3" json:"dispatches,omitempty"` } func (x *RoomAgent) Reset() { @@ -284,9 +284,9 @@ func (*RoomAgent) Descriptor() ([]byte, []int) { return file_livekit_room_proto_rawDescGZIP(), []int{2} } -func (x *RoomAgent) GetAgents() []*CreateAgentJobDefinitionRequest { +func (x *RoomAgent) GetDispatches() []*RoomAgentDispatch { if x != nil { - return x.Agents + return x.Dispatches } return nil } @@ -1349,190 +1349,190 @@ 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, 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, + 0x73, 0x52, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22, 0x47, 0x0a, 0x09, 0x52, 0x6f, 0x6f, + 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, + 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, + 0x65, 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, 0xcc, 0x02, 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, 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, 0xcc, 0x02, 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, 0x12, 0x51, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 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, 0x2e, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 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, 0x22, 0xd4, 0x01, 0x0a, 0x1a, 0x55, 0x70, + 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, 0x12, 0x51, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 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, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 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, 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, 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, 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, - 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, + 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, 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, } var ( @@ -1549,37 +1549,37 @@ func file_livekit_room_proto_rawDescGZIP() []byte { var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_livekit_room_proto_goTypes = []any{ - (*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 - nil, // 20: livekit.UpdateParticipantRequest.AttributesEntry - (*RoomCompositeEgressRequest)(nil), // 21: livekit.RoomCompositeEgressRequest - (*AutoParticipantEgress)(nil), // 22: livekit.AutoParticipantEgress - (*AutoTrackEgress)(nil), // 23: livekit.AutoTrackEgress - (*CreateAgentJobDefinitionRequest)(nil), // 24: livekit.CreateAgentJobDefinitionRequest - (*Room)(nil), // 25: livekit.Room - (*ParticipantInfo)(nil), // 26: livekit.ParticipantInfo - (*TrackInfo)(nil), // 27: livekit.TrackInfo - (*ParticipantPermission)(nil), // 28: livekit.ParticipantPermission - (*ParticipantTracks)(nil), // 29: livekit.ParticipantTracks - (DataPacket_Kind)(0), // 30: 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 + nil, // 20: livekit.UpdateParticipantRequest.AttributesEntry + (*RoomCompositeEgressRequest)(nil), // 21: livekit.RoomCompositeEgressRequest + (*AutoParticipantEgress)(nil), // 22: livekit.AutoParticipantEgress + (*AutoTrackEgress)(nil), // 23: livekit.AutoTrackEgress + (*RoomAgentDispatch)(nil), // 24: livekit.RoomAgentDispatch + (*Room)(nil), // 25: livekit.Room + (*ParticipantInfo)(nil), // 26: livekit.ParticipantInfo + (*TrackInfo)(nil), // 27: livekit.TrackInfo + (*ParticipantPermission)(nil), // 28: livekit.ParticipantPermission + (*ParticipantTracks)(nil), // 29: livekit.ParticipantTracks + (DataPacket_Kind)(0), // 30: livekit.DataPacket.Kind } var file_livekit_room_proto_depIdxs = []int32{ 1, // 0: livekit.CreateRoomRequest.egress:type_name -> livekit.RoomEgress @@ -1587,7 +1587,7 @@ var file_livekit_room_proto_depIdxs = []int32{ 21, // 2: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest 22, // 3: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress 23, // 4: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress - 24, // 5: livekit.RoomAgent.agents:type_name -> livekit.CreateAgentJobDefinitionRequest + 24, // 5: livekit.RoomAgent.dispatches:type_name -> livekit.RoomAgentDispatch 25, // 6: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room 26, // 7: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo 27, // 8: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo diff --git a/livekit/livekit_room.twirp.go b/livekit/livekit_room.twirp.go index 9262cfc80..fef82752a 100644 --- a/livekit/livekit_room.twirp.go +++ b/livekit/livekit_room.twirp.go @@ -3322,84 +3322,84 @@ func (s *roomServiceServer) PathPrefix() string { } var twirpFileDescriptor2 = []byte{ - // 1261 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x5b, 0x73, 0xdb, 0x44, - 0x14, 0x46, 0xbe, 0xd5, 0x3a, 0x4e, 0x1a, 0x7b, 0x9b, 0x52, 0x45, 0x21, 0xc5, 0x51, 0x98, 0xc1, - 0x50, 0xea, 0x82, 0x19, 0xa6, 0x9d, 0x0c, 0x97, 0x26, 0x4d, 0x28, 0x21, 0x09, 0x63, 0xe4, 0x32, - 0x5c, 0x5e, 0x8c, 0x6c, 0x6d, 0xd2, 0x9d, 0x58, 0x17, 0xa4, 0x55, 0xa6, 0xfe, 0x07, 0xfc, 0x16, - 0xfe, 0x01, 0xff, 0xa1, 0x8f, 0xfc, 0x06, 0x1e, 0x78, 0xe4, 0x81, 0x67, 0x66, 0x2f, 0x96, 0x56, - 0xb6, 0xe2, 0xd2, 0x3c, 0xf1, 0xe6, 0x3d, 0xe7, 0x3b, 0x67, 0xcf, 0xf9, 0x74, 0x2e, 0x6b, 0x40, - 0x13, 0x72, 0x89, 0x2f, 0x08, 0x1d, 0x46, 0x41, 0xe0, 0x75, 0xc3, 0x28, 0xa0, 0x01, 0xba, 0x21, - 0x65, 0xe6, 0xfa, 0x4c, 0xe9, 0x05, 0x2e, 0x9e, 0xc4, 0x42, 0x9d, 0x49, 0xf1, 0x79, 0x84, 0xe3, - 0x99, 0xf4, 0xd6, 0x4c, 0xea, 0x9c, 0x63, 0x9f, 0x0a, 0xa1, 0xf5, 0xb2, 0x0c, 0xad, 0x27, 0x11, - 0x76, 0x28, 0xb6, 0x83, 0xc0, 0xb3, 0xf1, 0x2f, 0x09, 0x8e, 0x29, 0x42, 0x50, 0xf1, 0x1d, 0x0f, - 0x1b, 0x5a, 0x5b, 0xeb, 0xe8, 0x36, 0xff, 0x8d, 0xde, 0x86, 0xc6, 0x38, 0xf0, 0xcf, 0xc8, 0xf9, - 0x90, 0xab, 0x56, 0xb8, 0x0a, 0x84, 0xe8, 0x1b, 0x06, 0xd8, 0x81, 0x55, 0xec, 0x85, 0x74, 0x3a, - 0xa4, 0xc4, 0xc3, 0x41, 0x42, 0x8d, 0x52, 0x5b, 0xeb, 0xac, 0xda, 0x2b, 0x5c, 0xf8, 0x4c, 0xc8, - 0xd0, 0x3d, 0x68, 0xb9, 0x38, 0x74, 0x22, 0x9a, 0x44, 0x38, 0x05, 0x02, 0x07, 0x36, 0x53, 0xc5, - 0x0c, 0xfc, 0x1e, 0x34, 0x3d, 0xe7, 0xc5, 0x90, 0x49, 0xc9, 0x98, 0x84, 0x8e, 0x4f, 0x63, 0xa3, - 0xcc, 0xb1, 0x6b, 0x9e, 0xf3, 0xa2, 0xaf, 0x88, 0xd1, 0x1d, 0xb8, 0xe1, 0x07, 0x2e, 0x1e, 0x12, - 0xd7, 0xa8, 0xf0, 0xc8, 0x6a, 0xec, 0x78, 0xe4, 0x22, 0x13, 0xea, 0x1e, 0xa6, 0x8e, 0xeb, 0x50, - 0xc7, 0xa8, 0x72, 0x4d, 0x7a, 0x46, 0xf7, 0xa0, 0x26, 0x18, 0x32, 0x6a, 0x6d, 0xad, 0xd3, 0xe8, - 0xdd, 0xea, 0x4a, 0x8a, 0xba, 0x8c, 0x8c, 0x43, 0xae, 0xb2, 0x25, 0x04, 0x75, 0xa0, 0xca, 0x89, - 0x33, 0x1a, 0x1c, 0x8b, 0x72, 0xd8, 0x3d, 0xa6, 0xb1, 0x05, 0x00, 0xbd, 0x0f, 0x2d, 0x8f, 0xf8, - 0xc3, 0x70, 0xe2, 0x4c, 0x83, 0x84, 0x0e, 0x5d, 0x3c, 0x71, 0xa6, 0xc6, 0x0d, 0x19, 0x37, 0xf1, - 0xfb, 0x42, 0x7e, 0xc0, 0xc4, 0x1c, 0xcb, 0x52, 0xcc, 0x61, 0xeb, 0x59, 0x8e, 0x2a, 0x76, 0x1b, - 0x56, 0xe2, 0xa9, 0x3f, 0x1e, 0xc6, 0x34, 0xc2, 0x8e, 0x17, 0x1b, 0x7a, 0x5b, 0xeb, 0xd4, 0xed, - 0x06, 0x93, 0x0d, 0x84, 0xc8, 0xfa, 0x5d, 0x03, 0xc8, 0x62, 0x47, 0x0f, 0xa1, 0xc2, 0xaa, 0x86, - 0x7f, 0xc7, 0x46, 0x6f, 0x27, 0x17, 0xf2, 0x93, 0xc0, 0x0b, 0x83, 0x98, 0x50, 0x2c, 0xf3, 0x14, - 0x9f, 0xde, 0xe6, 0x06, 0xe8, 0x31, 0x34, 0x14, 0xd6, 0x39, 0xe9, 0x8d, 0xde, 0xdd, 0xd4, 0x7e, - 0x2f, 0xa1, 0x81, 0x42, 0xbf, 0xf4, 0xa0, 0x9a, 0xa0, 0x0f, 0xa1, 0x46, 0x23, 0x67, 0x7c, 0x11, - 0xf3, 0x32, 0x68, 0xf4, 0x8c, 0x9c, 0xf1, 0x33, 0xa6, 0x9a, 0x11, 0x2c, 0x70, 0xd6, 0x29, 0xe8, - 0x29, 0x95, 0xe8, 0x31, 0xd4, 0x38, 0x99, 0xb1, 0xa1, 0xb5, 0xcb, 0x9d, 0x46, 0xaf, 0x93, 0x9a, - 0x8b, 0x6a, 0xe5, 0xa8, 0xaf, 0x83, 0xd1, 0x01, 0x3e, 0x23, 0x3e, 0xa1, 0x24, 0xf0, 0x67, 0x09, - 0x48, 0x3b, 0xab, 0x03, 0xcd, 0x13, 0x12, 0x53, 0xe6, 0x72, 0x96, 0x1c, 0x5a, 0x87, 0x2a, 0x2b, - 0x5e, 0xe1, 0x54, 0xb7, 0xc5, 0xc1, 0x7a, 0x04, 0x2d, 0x05, 0x19, 0x87, 0x81, 0x1f, 0xb3, 0x6a, - 0xae, 0x32, 0x26, 0x66, 0xf7, 0xaf, 0xe6, 0xb8, 0xb3, 0x85, 0xce, 0x7a, 0x17, 0x5a, 0x07, 0x78, - 0x82, 0x17, 0x9a, 0x27, 0x25, 0x5d, 0x17, 0x7c, 0x5a, 0xeb, 0x80, 0x54, 0xa0, 0xb8, 0xc3, 0xba, - 0x0f, 0x77, 0xd8, 0xc5, 0x6a, 0x21, 0x2f, 0x73, 0xf2, 0x03, 0x18, 0x8b, 0x70, 0x19, 0xee, 0xa7, - 0xb0, 0x92, 0x6b, 0x13, 0x11, 0x75, 0x46, 0xba, 0x62, 0x74, 0xe4, 0x9f, 0x05, 0x76, 0x0e, 0x6d, - 0x1d, 0xc1, 0x1d, 0x16, 0x98, 0x0a, 0x72, 0xb1, 0x4f, 0x09, 0x9d, 0x16, 0x05, 0xc2, 0x7a, 0x8a, - 0x48, 0x3d, 0xff, 0xba, 0xba, 0x9d, 0x9e, 0xad, 0x4d, 0xd8, 0xb0, 0xb1, 0x17, 0x5c, 0x62, 0xc5, - 0x59, 0x9a, 0xf0, 0x14, 0xd6, 0x4f, 0x13, 0x41, 0x02, 0xaf, 0x80, 0x25, 0xd9, 0x2e, 0xbb, 0x04, - 0x6d, 0x82, 0xce, 0x8b, 0x66, 0x18, 0x13, 0x97, 0x17, 0xa7, 0x6e, 0xd7, 0xb9, 0x60, 0x40, 0x5c, - 0xf6, 0x91, 0xbd, 0x84, 0x62, 0x31, 0x08, 0xea, 0xb6, 0x38, 0x58, 0x7b, 0x70, 0x7b, 0xee, 0x6a, - 0xc9, 0x5c, 0x07, 0xaa, 0xdc, 0x54, 0x36, 0x49, 0xd6, 0xd7, 0x1c, 0xc6, 0xc9, 0x12, 0x00, 0xeb, - 0x65, 0x09, 0x8c, 0xef, 0x42, 0xd7, 0xa1, 0xf9, 0xdc, 0xae, 0x97, 0x82, 0x3a, 0x97, 0xca, 0x73, - 0x73, 0xe9, 0x73, 0x80, 0x10, 0x47, 0x1e, 0x89, 0x63, 0x12, 0xf8, 0x3c, 0x0d, 0xb5, 0xf9, 0x94, - 0xcb, 0xfb, 0x29, 0xca, 0x56, 0x2c, 0xd2, 0xf1, 0x5d, 0x55, 0xc6, 0xf7, 0xb7, 0x00, 0x0e, 0xa5, - 0x11, 0x19, 0x25, 0x14, 0xb3, 0x79, 0xc7, 0xca, 0xe3, 0xa3, 0xd4, 0xe7, 0x55, 0x69, 0x75, 0xf7, - 0x52, 0x9b, 0x43, 0x9f, 0x46, 0x53, 0x5b, 0x71, 0x62, 0x7e, 0x06, 0x6b, 0x73, 0x6a, 0xd4, 0x84, - 0xf2, 0x05, 0x9e, 0x4a, 0x12, 0xd8, 0x4f, 0xf6, 0x35, 0x2e, 0x9d, 0x49, 0x82, 0x25, 0x01, 0xe2, - 0xb0, 0x5b, 0x7a, 0xa4, 0x59, 0x7f, 0x68, 0x60, 0x8a, 0x7b, 0x07, 0xc9, 0x28, 0x1e, 0x47, 0x24, - 0x64, 0x6d, 0x1c, 0x5f, 0x97, 0xd0, 0x2d, 0x80, 0xb4, 0x26, 0xd8, 0x9a, 0x60, 0x0d, 0xae, 0xcf, - 0x8a, 0x22, 0x46, 0x6f, 0x81, 0x1e, 0x8b, 0x6b, 0x46, 0x58, 0x56, 0x46, 0x26, 0x40, 0x47, 0x80, - 0x94, 0x86, 0x18, 0xca, 0xc9, 0x55, 0xe5, 0x2c, 0x99, 0x45, 0xcc, 0xf3, 0xe2, 0x88, 0xed, 0x56, - 0x38, 0x2f, 0xb2, 0xb6, 0x60, 0xb3, 0x30, 0x2b, 0xd9, 0x02, 0x7f, 0x6b, 0xb0, 0x36, 0xc0, 0xbe, - 0x7b, 0xe0, 0x50, 0x67, 0x59, 0xaa, 0x08, 0x2a, 0xbc, 0x36, 0x58, 0x9a, 0x2b, 0x36, 0xff, 0x8d, - 0x3e, 0x80, 0xca, 0x05, 0xf1, 0x45, 0xc5, 0xdf, 0x54, 0x9a, 0x9b, 0xf9, 0xea, 0x3b, 0xe3, 0x0b, - 0x4c, 0xbb, 0xc7, 0xc4, 0x77, 0x6d, 0x8e, 0x42, 0xf7, 0xa1, 0xe9, 0xe2, 0x98, 0x12, 0xdf, 0x61, - 0x11, 0x08, 0x5a, 0x2a, 0x8c, 0x96, 0xfd, 0x92, 0xa1, 0xd9, 0x6b, 0x8a, 0x8e, 0x13, 0xf4, 0x09, - 0xbc, 0xa9, 0xc2, 0x25, 0xaf, 0x44, 0x16, 0x8b, 0x6e, 0xdf, 0x56, 0xb4, 0x47, 0xa9, 0x12, 0x6d, - 0x40, 0x95, 0x06, 0x21, 0x19, 0x8b, 0x62, 0xfb, 0xea, 0x0d, 0x5b, 0x1c, 0x7f, 0xd5, 0xb4, 0xfd, - 0x3a, 0xd4, 0x86, 0xfc, 0x60, 0x21, 0x68, 0x66, 0x39, 0x4b, 0x22, 0x8e, 0x61, 0x43, 0xf0, 0xc4, - 0x5a, 0xf2, 0x54, 0x96, 0xfe, 0x2b, 0x3e, 0x7e, 0xda, 0x31, 0xa5, 0x7c, 0xc7, 0x58, 0xff, 0x94, - 0xa0, 0x25, 0x96, 0x1a, 0x7b, 0x8e, 0x24, 0x11, 0x8f, 0xb2, 0xf0, 0x19, 0x73, 0xfd, 0x57, 0x4a, - 0xf9, 0x35, 0x5e, 0x29, 0x95, 0xe2, 0x57, 0x4a, 0xf6, 0xe0, 0xa8, 0xbe, 0xc6, 0x83, 0xa3, 0xf6, - 0xff, 0x7d, 0x70, 0xf4, 0xfe, 0xac, 0x41, 0x83, 0xc5, 0x33, 0xc0, 0xd1, 0x25, 0x19, 0x63, 0xf4, - 0x10, 0x20, 0x7b, 0x4e, 0x22, 0x73, 0x6e, 0x6b, 0x2b, 0x6b, 0xd2, 0xcc, 0x6f, 0x54, 0xb4, 0x0f, - 0x7a, 0xba, 0x84, 0xd1, 0x46, 0xaa, 0x9b, 0x5f, 0xe1, 0xa6, 0x59, 0xa4, 0x92, 0xa3, 0xfc, 0x10, - 0x20, 0xdb, 0xb2, 0xca, 0xe5, 0x0b, 0x3b, 0xda, 0xdc, 0x2c, 0xd4, 0x49, 0x37, 0xdf, 0x8b, 0x97, - 0x43, 0xee, 0xcb, 0xb5, 0x73, 0xd7, 0x16, 0x6c, 0x6c, 0x73, 0x7b, 0x09, 0x42, 0x3a, 0x3e, 0x81, - 0x9b, 0x4f, 0xb1, 0xaa, 0x52, 0xdc, 0x5e, 0xb1, 0x7f, 0xcd, 0x2b, 0x57, 0x38, 0xfa, 0x11, 0x5a, - 0x0b, 0x9b, 0xf6, 0x3f, 0x38, 0xb4, 0x32, 0xc4, 0x55, 0x7b, 0x1a, 0x0d, 0x00, 0xb1, 0x65, 0xd9, - 0x4f, 0x46, 0x13, 0x12, 0x3f, 0xc7, 0x2e, 0x1f, 0x6d, 0x68, 0x2b, 0xb5, 0x2c, 0x5a, 0xe2, 0xe6, - 0xdd, 0xab, 0xd4, 0xd2, 0x69, 0x1f, 0x5a, 0x0b, 0x6b, 0x06, 0x6d, 0xbf, 0x72, 0x05, 0x2d, 0x61, - 0xe0, 0x67, 0xb8, 0x55, 0x30, 0x6a, 0xd1, 0xce, 0x9c, 0xcf, 0xa2, 0xf5, 0x62, 0xbe, 0xb3, 0x1c, - 0x24, 0x63, 0xfe, 0x02, 0xea, 0xb3, 0xc1, 0x85, 0xb2, 0x38, 0xe6, 0xe6, 0xb7, 0xb9, 0x51, 0xa0, - 0x91, 0x0e, 0x9e, 0x02, 0x5a, 0x9c, 0x72, 0xc8, 0x9a, 0xbb, 0xbc, 0x60, 0x04, 0xce, 0xf5, 0xc7, - 0xfe, 0x97, 0x3f, 0xed, 0x9c, 0x13, 0xfa, 0x3c, 0x19, 0x75, 0xc7, 0x81, 0xf7, 0x40, 0xaa, 0x1e, - 0xf0, 0x3f, 0x71, 0xe3, 0x60, 0x32, 0x13, 0xfc, 0x56, 0x5a, 0x3d, 0x21, 0x97, 0xf8, 0x98, 0x91, - 0xc5, 0x54, 0x7f, 0x95, 0x6e, 0xca, 0xf3, 0xee, 0x2e, 0x17, 0x8c, 0x6a, 0xdc, 0xe4, 0xe3, 0x7f, - 0x03, 0x00, 0x00, 0xff, 0xff, 0x2b, 0xb8, 0x49, 0x86, 0x57, 0x0e, 0x00, 0x00, + // 1252 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xdb, 0x72, 0xdb, 0x44, + 0x18, 0x46, 0x8e, 0xed, 0x5a, 0xbf, 0x93, 0x26, 0xde, 0xa6, 0x54, 0x51, 0x68, 0x49, 0x15, 0x66, + 0x30, 0x94, 0xa6, 0x60, 0x86, 0x69, 0x27, 0xc3, 0x29, 0x69, 0x4a, 0xc9, 0xb4, 0x65, 0xcc, 0xba, + 0x0c, 0x87, 0x1b, 0x23, 0x5b, 0xdb, 0x74, 0x27, 0xd6, 0x01, 0xed, 0x2a, 0x53, 0xbf, 0x01, 0xcf, + 0xc2, 0x1b, 0xf0, 0x0e, 0xbd, 0xe4, 0x19, 0xb8, 0xe0, 0x92, 0x0b, 0xae, 0x99, 0x3d, 0x58, 0x5a, + 0xd9, 0x8a, 0x4b, 0x73, 0xc5, 0x9d, 0xf7, 0xff, 0xbf, 0xfd, 0x0f, 0x9f, 0xfe, 0xc3, 0x1a, 0xd0, + 0x84, 0x9e, 0x91, 0x53, 0xca, 0x87, 0x69, 0x1c, 0x87, 0x7b, 0x49, 0x1a, 0xf3, 0x18, 0x5d, 0xd2, + 0x32, 0x77, 0x73, 0xa6, 0x0c, 0xe3, 0x80, 0x4c, 0x98, 0x52, 0x17, 0x52, 0x72, 0x92, 0x12, 0x36, + 0x93, 0x5e, 0x99, 0x49, 0xfd, 0x13, 0x12, 0x71, 0x25, 0xf4, 0x5e, 0xae, 0x40, 0xe7, 0x7e, 0x4a, + 0x7c, 0x4e, 0x70, 0x1c, 0x87, 0x98, 0xfc, 0x92, 0x11, 0xc6, 0x11, 0x82, 0x7a, 0xe4, 0x87, 0xc4, + 0xb1, 0x76, 0xac, 0xae, 0x8d, 0xe5, 0x6f, 0xf4, 0x36, 0xb4, 0xc7, 0x71, 0xf4, 0x8c, 0x9e, 0x0c, + 0xa5, 0x6a, 0x55, 0xaa, 0x40, 0x89, 0xbe, 0x11, 0x80, 0x5d, 0x58, 0x23, 0x61, 0xc2, 0xa7, 0x43, + 0x4e, 0x43, 0x12, 0x67, 0xdc, 0xa9, 0xed, 0x58, 0xdd, 0x35, 0xbc, 0x2a, 0x85, 0x4f, 0x95, 0x0c, + 0xdd, 0x82, 0x4e, 0x40, 0x12, 0x3f, 0xe5, 0x59, 0x4a, 0x72, 0x20, 0x48, 0xe0, 0x46, 0xae, 0x98, + 0x81, 0xdf, 0x83, 0x8d, 0xd0, 0x7f, 0x31, 0x14, 0x52, 0x3a, 0xa6, 0x89, 0x1f, 0x71, 0xe6, 0xac, + 0x48, 0xec, 0x7a, 0xe8, 0xbf, 0xe8, 0x1b, 0x62, 0x74, 0x0d, 0x2e, 0x45, 0x71, 0x40, 0x86, 0x34, + 0x70, 0xea, 0x32, 0xb2, 0xa6, 0x38, 0x1e, 0x07, 0xc8, 0x85, 0x56, 0x48, 0xb8, 0x1f, 0xf8, 0xdc, + 0x77, 0x1a, 0x52, 0x93, 0x9f, 0xd1, 0x2d, 0x68, 0x2a, 0x86, 0x9c, 0xe6, 0x8e, 0xd5, 0x6d, 0xf7, + 0xae, 0xec, 0x69, 0x8a, 0xf6, 0x04, 0x19, 0x0f, 0xa4, 0x0a, 0x6b, 0x08, 0xea, 0x42, 0x43, 0x12, + 0xe7, 0xb4, 0x25, 0x16, 0x95, 0xb0, 0x07, 0x42, 0x83, 0x15, 0x00, 0xbd, 0x0f, 0x9d, 0x90, 0x46, + 0xc3, 0x64, 0xe2, 0x4f, 0xe3, 0x8c, 0x0f, 0x03, 0x32, 0xf1, 0xa7, 0xce, 0x25, 0x1d, 0x37, 0x8d, + 0xfa, 0x4a, 0x7e, 0x24, 0xc4, 0x12, 0x2b, 0x52, 0x2c, 0x61, 0x5b, 0x45, 0x8e, 0x26, 0xf6, 0x26, + 0xac, 0xb2, 0x69, 0x34, 0x1e, 0x32, 0x9e, 0x12, 0x3f, 0x64, 0x8e, 0xbd, 0x63, 0x75, 0x5b, 0xb8, + 0x2d, 0x64, 0x03, 0x25, 0xf2, 0x7e, 0xb7, 0x00, 0x8a, 0xd8, 0xd1, 0x5d, 0xa8, 0x8b, 0xaa, 0x91, + 0xdf, 0xb1, 0xdd, 0xdb, 0x2d, 0x85, 0x7c, 0x3f, 0x0e, 0x93, 0x98, 0x51, 0x4e, 0x74, 0x9e, 0xea, + 0xd3, 0x63, 0x79, 0x01, 0x7d, 0x09, 0x6d, 0x83, 0x75, 0x49, 0x7a, 0xbb, 0x77, 0x23, 0xbf, 0x7f, + 0x90, 0xf1, 0xd8, 0xa0, 0x5f, 0x5b, 0x30, 0xaf, 0xa0, 0x0f, 0xa1, 0xc9, 0x53, 0x7f, 0x7c, 0xca, + 0x64, 0x19, 0xb4, 0x7b, 0x4e, 0xe9, 0xf2, 0x53, 0xa1, 0x9a, 0x11, 0xac, 0x70, 0xde, 0x43, 0xb0, + 0x73, 0x2a, 0xd1, 0x3e, 0x40, 0x40, 0x59, 0xe2, 0xf3, 0xf1, 0x73, 0xc2, 0x1c, 0x6b, 0x67, 0xa5, + 0xdb, 0xee, 0xb9, 0x8b, 0x94, 0x1f, 0x69, 0x0c, 0x36, 0xd0, 0x5e, 0x17, 0x36, 0x1e, 0x53, 0xc6, + 0x05, 0x68, 0x96, 0x16, 0xda, 0x84, 0x86, 0x28, 0x5b, 0x65, 0xca, 0xc6, 0xea, 0xe0, 0xdd, 0x83, + 0x8e, 0x81, 0x64, 0x49, 0x1c, 0x31, 0x51, 0xc7, 0x0d, 0xc1, 0xc1, 0xcc, 0xeb, 0x5a, 0xc9, 0x2b, + 0x56, 0x3a, 0xef, 0x5d, 0xe8, 0x1c, 0x91, 0x09, 0x59, 0x68, 0x9b, 0x9c, 0x6e, 0x5b, 0x31, 0xe9, + 0x6d, 0x02, 0x32, 0x81, 0xca, 0x87, 0x77, 0x1b, 0xae, 0x09, 0xc7, 0x66, 0x09, 0x2f, 0x33, 0xf2, + 0x03, 0x38, 0x8b, 0x70, 0x1d, 0xee, 0xa7, 0xb0, 0x5a, 0x6a, 0x10, 0x15, 0x75, 0x41, 0xb7, 0x71, + 0xe9, 0x38, 0x7a, 0x16, 0xe3, 0x12, 0xda, 0x3b, 0x86, 0x6b, 0x22, 0x30, 0x13, 0x14, 0x90, 0x88, + 0x53, 0x3e, 0xad, 0x0a, 0x44, 0x74, 0x13, 0xd5, 0x7a, 0xf9, 0x5d, 0x6d, 0x9c, 0x9f, 0xbd, 0x6d, + 0xd8, 0xc2, 0x24, 0x8c, 0xcf, 0x88, 0x61, 0x2c, 0x4f, 0x78, 0x0a, 0x9b, 0x4f, 0x32, 0x45, 0x82, + 0xfc, 0xf6, 0x4b, 0xb2, 0x5d, 0xe6, 0x04, 0x6d, 0x83, 0x2d, 0xcb, 0x65, 0xc8, 0x68, 0x20, 0xcb, + 0xd2, 0xc6, 0x2d, 0x29, 0x18, 0xd0, 0x40, 0x7c, 0xe4, 0x30, 0xe3, 0x44, 0x8d, 0x80, 0x16, 0x56, + 0x07, 0xef, 0x00, 0xae, 0xce, 0xb9, 0xd6, 0xcc, 0x75, 0xa1, 0x21, 0xaf, 0xea, 0xf6, 0x28, 0x3a, + 0x5a, 0xc2, 0x24, 0x59, 0x0a, 0xe0, 0xbd, 0xac, 0x81, 0xf3, 0x5d, 0x12, 0xf8, 0xbc, 0x9c, 0xdb, + 0xc5, 0x52, 0x30, 0x27, 0xd2, 0xca, 0xdc, 0x44, 0xfa, 0x1c, 0x20, 0x21, 0x69, 0x48, 0x19, 0xa3, + 0x71, 0x24, 0xd3, 0x30, 0xdb, 0xce, 0x70, 0xde, 0xcf, 0x51, 0xd8, 0xb8, 0x91, 0x0f, 0xee, 0x86, + 0x31, 0xb8, 0xbf, 0x05, 0xf0, 0x39, 0x4f, 0xe9, 0x28, 0xe3, 0x44, 0x4c, 0x3a, 0x51, 0x1e, 0x1f, + 0xe5, 0x36, 0xcf, 0x4b, 0x6b, 0xef, 0x20, 0xbf, 0xf3, 0x20, 0xe2, 0xe9, 0x14, 0x1b, 0x46, 0xdc, + 0xcf, 0x60, 0x7d, 0x4e, 0x8d, 0x36, 0x60, 0xe5, 0x94, 0x4c, 0x35, 0x09, 0xe2, 0xa7, 0xf8, 0x1a, + 0x67, 0xfe, 0x24, 0x23, 0x9a, 0x00, 0x75, 0xd8, 0xaf, 0xdd, 0xb3, 0xbc, 0x3f, 0x2c, 0x70, 0x95, + 0xdf, 0x41, 0x36, 0x62, 0xe3, 0x94, 0x26, 0x9c, 0xc6, 0x11, 0xbb, 0x28, 0xa1, 0xd7, 0x01, 0xf2, + 0x9a, 0x10, 0x0b, 0x42, 0x34, 0xb8, 0x3d, 0x2b, 0x0a, 0x86, 0xde, 0x02, 0x9b, 0x29, 0x37, 0x23, + 0xa2, 0x2b, 0xa3, 0x10, 0xa0, 0x63, 0x40, 0x46, 0x43, 0x0c, 0xf5, 0xcc, 0x6a, 0xcc, 0x0d, 0x1c, + 0x83, 0x1f, 0x59, 0x1c, 0x0c, 0x77, 0x92, 0x79, 0x91, 0x77, 0x1d, 0xb6, 0x2b, 0xb3, 0xd2, 0x2d, + 0xf0, 0xb7, 0x05, 0xeb, 0x03, 0x12, 0x05, 0x47, 0x3e, 0xf7, 0x97, 0xa5, 0x8a, 0xa0, 0x2e, 0x6b, + 0x43, 0xa4, 0xb9, 0x8a, 0xe5, 0x6f, 0xf4, 0x01, 0xd4, 0x4f, 0x69, 0xa4, 0x2a, 0xfe, 0xb2, 0xd1, + 0xdc, 0xc2, 0x56, 0xdf, 0x1f, 0x9f, 0x12, 0xbe, 0xf7, 0x88, 0x46, 0x01, 0x96, 0x28, 0x74, 0x1b, + 0x36, 0x02, 0xc2, 0x38, 0x8d, 0x7c, 0x11, 0x81, 0xa2, 0xa5, 0x2e, 0x68, 0x39, 0xac, 0x39, 0x16, + 0x5e, 0x37, 0x74, 0x92, 0xa0, 0x4f, 0xe0, 0x4d, 0x13, 0xae, 0x79, 0xa5, 0xba, 0x58, 0x6c, 0x7c, + 0xd5, 0xd0, 0x1e, 0xe7, 0x4a, 0xb4, 0x05, 0x0d, 0x1e, 0x27, 0x74, 0xac, 0x8a, 0xed, 0xeb, 0x37, + 0xb0, 0x3a, 0xfe, 0x6a, 0x59, 0x87, 0x2d, 0x68, 0x0e, 0xe5, 0xc1, 0x43, 0xb0, 0x51, 0xe4, 0xac, + 0x89, 0x78, 0x04, 0x5b, 0x8a, 0x27, 0xd1, 0x92, 0x4f, 0x74, 0xe9, 0xbf, 0xe2, 0xe3, 0xe7, 0x1d, + 0x53, 0x2b, 0x77, 0x8c, 0xf7, 0x4f, 0x0d, 0x3a, 0x6a, 0x9d, 0x89, 0x87, 0x48, 0x96, 0xca, 0x28, + 0x2b, 0x1f, 0x30, 0x17, 0x7f, 0x9f, 0xac, 0xbc, 0xc6, 0xfb, 0xa4, 0x5e, 0xfd, 0x3e, 0x29, 0x9e, + 0x1a, 0x8d, 0xd7, 0x78, 0x6a, 0x34, 0xff, 0xbf, 0x4f, 0x8d, 0xde, 0x9f, 0x4d, 0x68, 0x8b, 0x78, + 0x06, 0x24, 0x3d, 0xa3, 0x63, 0x82, 0xee, 0x02, 0x14, 0x0f, 0x49, 0x54, 0xb4, 0xce, 0xc2, 0xeb, + 0xd2, 0x2d, 0x6f, 0x54, 0x74, 0x08, 0x76, 0xbe, 0x84, 0xd1, 0x56, 0xae, 0x9b, 0x5f, 0xe1, 0xae, + 0x5b, 0xa5, 0xd2, 0xa3, 0xfc, 0x01, 0x40, 0xb1, 0x65, 0x0d, 0xe7, 0x0b, 0x3b, 0xda, 0xdd, 0xae, + 0xd4, 0x69, 0x33, 0xdf, 0xab, 0x97, 0x43, 0xe9, 0xcb, 0xed, 0x94, 0xdc, 0x56, 0x6c, 0x6c, 0xf7, + 0xe6, 0x12, 0x84, 0x36, 0xfc, 0x18, 0x2e, 0x3f, 0x24, 0xa6, 0xca, 0x30, 0x7b, 0xce, 0xfe, 0x75, + 0xcf, 0x5d, 0xe1, 0xe8, 0x47, 0xe8, 0x2c, 0x6c, 0xda, 0xff, 0x60, 0xd0, 0x2b, 0x10, 0xe7, 0xed, + 0x69, 0x34, 0x00, 0x24, 0x96, 0x65, 0x3f, 0x1b, 0x4d, 0x28, 0x7b, 0x4e, 0x02, 0x39, 0xda, 0xd0, + 0xf5, 0xfc, 0x66, 0xd5, 0x12, 0x77, 0x6f, 0x9c, 0xa7, 0xd6, 0x46, 0xfb, 0xd0, 0x59, 0x58, 0x33, + 0xe8, 0xe6, 0x2b, 0x57, 0xd0, 0x12, 0x06, 0x7e, 0x86, 0x2b, 0x15, 0xa3, 0x16, 0xed, 0xce, 0xd9, + 0xac, 0x5a, 0x2f, 0xee, 0x3b, 0xcb, 0x41, 0x3a, 0xe6, 0x2f, 0xa0, 0x35, 0x1b, 0x5c, 0xa8, 0x88, + 0x63, 0x6e, 0x7e, 0xbb, 0x5b, 0x15, 0x1a, 0x6d, 0xe0, 0x21, 0xa0, 0xc5, 0x29, 0x87, 0xbc, 0x39, + 0xe7, 0x15, 0x23, 0x70, 0xae, 0x3f, 0x0e, 0xbf, 0xfa, 0x69, 0xf7, 0x84, 0xf2, 0xe7, 0xd9, 0x68, + 0x6f, 0x1c, 0x87, 0x77, 0xb4, 0xea, 0x8e, 0xfc, 0xfb, 0x36, 0x8e, 0x27, 0x33, 0xc1, 0x6f, 0xb5, + 0xb5, 0xc7, 0xf4, 0x8c, 0x3c, 0x12, 0x64, 0x09, 0xd5, 0x5f, 0xb5, 0xcb, 0xfa, 0xbc, 0xbf, 0x2f, + 0x05, 0xa3, 0xa6, 0xbc, 0xf2, 0xf1, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x77, 0x54, 0x06, 0x37, + 0x51, 0x0e, 0x00, 0x00, } diff --git a/livekit/types_test.go b/livekit/types_test.go index 0768383fc..28b23a323 100644 --- a/livekit/types_test.go +++ b/livekit/types_test.go @@ -38,14 +38,10 @@ b: func TestUnmarshallRoomAgent(t *testing.T) { y := ` a: - agents: - - type: 0 - room: test room - - type: 1 - participant_identity: - - id1 - - id2 - namespace: nm + dispatches: + - {} + - agent_name: ag + metadata: mm ` obj := make(map[string]*RoomAgent) @@ -55,12 +51,7 @@ a: 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]) + require.Equal(t, len(re.Dispatches), 2) + require.Equal(t, "ag", re.Dispatches[1].AgentName) + require.Equal(t, "mm", re.Dispatches[1].Metadata) } diff --git a/protobufs/livekit_agent.proto b/protobufs/livekit_agent.proto index 5d59f417e..6ad5369cf 100644 --- a/protobufs/livekit_agent.proto +++ b/protobufs/livekit_agent.proto @@ -22,45 +22,46 @@ option ruby_package = "LiveKit::Proto"; import "livekit_models.proto"; service AgentService { - rpc CreateAgentJobDefinition(CreateAgentJobDefinitionRequest) returns (JobDefinition); - rpc DeleteAgentJobDefinition(DeleteAgentJobDefinitionRequest) returns (JobDefinition); - rpc ListAgentJobDefinitions(ListAgentJobDefinitionsRequesst) returns (ListAgentJobDefinitionsResponse); + rpc CreateDispatch(CreateAgentDispatchRequest) returns (AgentDispatch); + rpc DeleteDispatch(DeleteAgentDispatchRequest) returns (AgentDispatch); + rpc ListDispatch(ListAgentDispatchRequesst) returns (ListAgentDispatchResponse); } -message CreateAgentJobDefinitionRequest { - JobType type = 1; +message CreateAgentDispatchRequest { + string agent_name = 1; string room = 2; - repeated string participant_identity = 3; - string namespace = 4; - string metadata = 5; + string metadata = 3; +} + +message RoomAgentDispatch { + string agent_name = 1; + string metadata = 2; } -message DeleteAgentJobDefinitionRequest { - string job_definition_id = 1; +message DeleteAgentDispatchRequest { + string dispatch_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 ListAgentDispatchRequesst { + string dispatch_id = 1; // if set, only the dispatch 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 ListAgentDispatchResponse { + repeated AgentDispatch agent_dispatches = 1; } -message JobDefinition { +message AgentDispatch { string id = 1; - JobType type = 2; + string agent_name = 2; string room = 3; - repeated string participant_identity = 4; - string namespace = 5; - string metadata = 6; - JobDefinitionState state = 7; + string metadata = 4; + AgentDispatchState state = 5; } -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. +message AgentDispatchState { + // For dispatches of tyoe JT_ROOM, there will be at most 1 job. + // For dispatches of type JT_PUBLISHER, there will be 1 per publisher. repeated Job jobs = 1; int64 created_at = 2; int64 deleted_at = 3; @@ -71,9 +72,10 @@ message Job { JobType type = 2; Room room = 3; optional ParticipantInfo participant = 4; - string namespace = 5; + string namespace = 5 [deprecated = true]; string metadata = 6; - JobState state = 7; + string agent_name = 7; + JobState state = 8; } message JobState { @@ -150,6 +152,7 @@ message WorkerPong { message RegisterWorkerRequest { JobType type = 1; + string agent_name = 8; //string worker_id = 2; string version = 3; string name = 4; diff --git a/protobufs/livekit_internal.proto b/protobufs/livekit_internal.proto index 1de1e8fa6..02f0c87e0 100644 --- a/protobufs/livekit_internal.proto +++ b/protobufs/livekit_internal.proto @@ -142,7 +142,7 @@ message RoomInternal { AutoTrackEgress track_egress = 1; AutoParticipantEgress participant_egress = 2; PlayoutDelay playout_delay = 3; - repeated CreateAgentJobDefinitionRequest agents = 5; + repeated RoomAgentDispatch agent_dispatches = 5; bool sync_streams = 4; } diff --git a/protobufs/livekit_room.proto b/protobufs/livekit_room.proto index cc063700b..8ecd3a05f 100644 --- a/protobufs/livekit_room.proto +++ b/protobufs/livekit_room.proto @@ -98,7 +98,7 @@ message RoomEgress { } message RoomAgent { - repeated CreateAgentJobDefinitionRequest agents = 1; + repeated RoomAgentDispatch dispatches = 1; } diff --git a/protobufs/rpc/agent.proto b/protobufs/rpc/agent.proto index 3d127dbcc..855388f5c 100644 --- a/protobufs/rpc/agent.proto +++ b/protobufs/rpc/agent.proto @@ -52,8 +52,8 @@ service AgentInternal { message CheckEnabledRequest{} message CheckEnabledResponse { - bool room_enabled = 1 [deprecated = true]; - bool publisher_enabled = 2 [deprecated = true]; + bool room_enabled = 1; + bool publisher_enabled = 2; repeated string namespaces = 3 [deprecated = true]; - + repeated string agent_names = 4; } diff --git a/rpc/agent.pb.go b/rpc/agent.pb.go index 92df6f6b5..cb19e90a6 100644 --- a/rpc/agent.pb.go +++ b/rpc/agent.pb.go @@ -80,12 +80,11 @@ type CheckEnabledResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 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. + 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"` // Deprecated: Marked as deprecated in rpc/agent.proto. Namespaces []string `protobuf:"bytes,3,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + AgentNames []string `protobuf:"bytes,4,rep,name=agent_names,json=agentNames,proto3" json:"agent_names,omitempty"` } func (x *CheckEnabledResponse) Reset() { @@ -120,7 +119,6 @@ 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 @@ -128,7 +126,6 @@ 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 @@ -144,6 +141,13 @@ func (x *CheckEnabledResponse) GetNamespaces() []string { return nil } +func (x *CheckEnabledResponse) GetAgentNames() []string { + if x != nil { + return x.AgentNames + } + return nil +} + var File_rpc_agent_proto protoreflect.FileDescriptor var file_rpc_agent_proto_rawDesc = []byte{ @@ -153,37 +157,38 @@ 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, 0x92, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xab, 0x01, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, - 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, + 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, 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, 0x12, 0x1f, 0x0a, 0x0b, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 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 abc92cf7f..5f3fd38d7 100644 --- a/rpc/agent.psrpc.go +++ b/rpc/agent.psrpc.go @@ -154,28 +154,29 @@ func (s *agentInternalServer) Kill() { } var psrpcFileDescriptor0 = []byte{ - // 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, + // 381 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xcf, 0xaa, 0xd3, 0x40, + 0x14, 0xc6, 0x99, 0xf4, 0x22, 0xb9, 0x73, 0x7b, 0x31, 0x77, 0x6a, 0x25, 0x46, 0xa4, 0x6d, 0x56, + 0x05, 0x61, 0x22, 0xfa, 0x02, 0xb5, 0xd2, 0x85, 0x05, 0x5d, 0x04, 0x44, 0x70, 0x13, 0x32, 0xd3, + 0x63, 0x12, 0x9b, 0xcc, 0x8c, 0x33, 0x13, 0xa1, 0x8f, 0xd0, 0x77, 0xf0, 0x0d, 0xdc, 0xf5, 0x09, + 0x25, 0x7f, 0x1a, 0x2a, 0xd4, 0xbb, 0x3c, 0xbf, 0xf3, 0xe5, 0x9c, 0xef, 0xe4, 0x1b, 0xfc, 0x54, + 0x2b, 0x1e, 0xa5, 0x19, 0x08, 0x4b, 0x95, 0x96, 0x56, 0x92, 0x91, 0x56, 0x3c, 0x78, 0x99, 0x49, + 0x99, 0x95, 0x10, 0xb5, 0x88, 0xd5, 0xdf, 0x23, 0xa8, 0x94, 0x3d, 0x74, 0x8a, 0xe0, 0x5e, 0x2a, + 0x5b, 0x48, 0x61, 0xfa, 0x72, 0x52, 0x16, 0xbf, 0x60, 0x5f, 0xd8, 0xe4, 0x62, 0x4a, 0x38, 0xc5, + 0x93, 0x0f, 0x39, 0xf0, 0xfd, 0x46, 0xa4, 0xac, 0x84, 0x5d, 0x0c, 0x3f, 0x6b, 0x30, 0x36, 0xfc, + 0x83, 0xf0, 0xb3, 0x7f, 0xb9, 0x51, 0x52, 0x18, 0x20, 0x0b, 0x3c, 0xd6, 0x52, 0x56, 0x09, 0x74, + 0xdc, 0x47, 0x73, 0xb4, 0x74, 0xe3, 0xbb, 0x86, 0xf5, 0x52, 0xf2, 0x1a, 0x3f, 0xa8, 0x9a, 0x95, + 0x85, 0xc9, 0x41, 0x0f, 0x3a, 0xa7, 0xd5, 0x79, 0x43, 0xe3, 0x2c, 0x0e, 0x31, 0x16, 0x69, 0x05, + 0x46, 0xa5, 0x1c, 0x8c, 0x3f, 0x9a, 0x8f, 0x96, 0xb7, 0x6b, 0xc7, 0x47, 0xf1, 0x05, 0x25, 0x33, + 0x7c, 0xd7, 0x5a, 0x4e, 0x5a, 0xe6, 0xdf, 0x34, 0xa2, 0x18, 0xb7, 0xe8, 0x73, 0x43, 0xde, 0xfe, + 0x76, 0xf0, 0xfd, 0xfb, 0xa6, 0xfc, 0x28, 0x2c, 0x68, 0x91, 0x96, 0xe4, 0x13, 0x1e, 0x5f, 0xda, + 0x27, 0x3e, 0xd5, 0x8a, 0xd3, 0x2b, 0x97, 0x06, 0x2f, 0xae, 0x74, 0xba, 0x5b, 0x43, 0xf7, 0x74, + 0x44, 0x37, 0x2b, 0x67, 0x89, 0xc8, 0x17, 0x8c, 0xb7, 0x92, 0xf5, 0x9f, 0x90, 0x31, 0xed, 0xff, + 0x24, 0xdd, 0x4a, 0x16, 0x3c, 0xa7, 0x5d, 0x06, 0xf4, 0x9c, 0x01, 0xdd, 0x34, 0x19, 0x84, 0x8b, + 0xd3, 0x11, 0xbd, 0xf2, 0x50, 0x30, 0x25, 0xb7, 0xc3, 0x2d, 0xc4, 0xfd, 0x21, 0x59, 0x62, 0x0f, + 0x0a, 0x56, 0xe8, 0x0d, 0x22, 0x80, 0xbd, 0xaf, 0x52, 0xef, 0x41, 0xc7, 0x90, 0x15, 0xc6, 0x82, + 0x86, 0x1d, 0xf9, 0xcf, 0xb8, 0xc7, 0xd7, 0xb8, 0xc8, 0x43, 0xc1, 0x84, 0x3c, 0xe4, 0xa9, 0xd8, + 0x95, 0xa0, 0x93, 0x61, 0x61, 0xe3, 0x7e, 0xbd, 0xf8, 0x36, 0xcb, 0x0a, 0x9b, 0xd7, 0x8c, 0x72, + 0x59, 0x45, 0xbd, 0xf7, 0xee, 0xc9, 0x70, 0x59, 0x46, 0x5a, 0x71, 0xf6, 0xa4, 0xad, 0xde, 0xfd, + 0x0d, 0x00, 0x00, 0xff, 0xff, 0xed, 0x55, 0x2d, 0xe5, 0x66, 0x02, 0x00, 0x00, }