From 6e69549a57df05ca0d325878b2f05220f4cd83e9 Mon Sep 17 00:00:00 2001 From: Ryan Gaus Date: Mon, 22 Sep 2025 16:55:45 -0400 Subject: [PATCH 1/7] feat: add TokenSourceRequest / TokenSourceResponse --- protobufs/livekit_room.proto | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/protobufs/livekit_room.proto b/protobufs/livekit_room.proto index eddb17d78..ede65c7b9 100644 --- a/protobufs/livekit_room.proto +++ b/protobufs/livekit_room.proto @@ -247,6 +247,33 @@ message RoomConfiguration { // NEXT_ID: 12 } +message TokenSourceRequest { + // The name of the room being requested when generating credentials + optional string room_name = 1; + + // The name of the participant being requested for this client when generating credentials + optional string participant_name = 2; + + // The identity of the participant being requested for this client when generating credentials + optional string participant_identity = 3; + + // Any participant metadata being included along with the credentials generation operation + optional string participant_metadata = 4; + + // Any participant attributes being included along with the credentials generation operation + map participant_attributes = 5; + + // A RoomConfiguration object can be passed to request extra parameters should be included when + // generating connection credentials - dispatching agents, defining egress settings, etc + // More info: https://docs.livekit.io/home/get-started/authentication/#room-configuration + optional RoomConfiguration room_config = 6; +} + +message TokenSourceResponse { + string server_url = 1; + string participant_token = 2; +} + message ForwardParticipantRequest { // room to forward participant from string room = 1; From 597f885122841dc697f03146857865652052f5a0 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 20:57:20 +0000 Subject: [PATCH 2/7] generated protobuf --- livekit/livekit_room.pb.go | 339 +++++++++++++++++++++++++--------- livekit/livekit_room.twirp.go | 200 ++++++++++---------- 2 files changed, 361 insertions(+), 178 deletions(-) diff --git a/livekit/livekit_room.pb.go b/livekit/livekit_room.pb.go index 5f6ca0215..7f6d5cb92 100644 --- a/livekit/livekit_room.pb.go +++ b/livekit/livekit_room.pb.go @@ -1272,6 +1272,150 @@ func (x *RoomConfiguration) GetAgents() []*RoomAgentDispatch { return nil } +type TokenSourceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The name of the room being requested when generating credentials + RoomName *string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3,oneof" json:"room_name,omitempty"` + // The name of the participant being requested for this client when generating credentials + ParticipantName *string `protobuf:"bytes,2,opt,name=participant_name,json=participantName,proto3,oneof" json:"participant_name,omitempty"` + // The identity of the participant being requested for this client when generating credentials + ParticipantIdentity *string `protobuf:"bytes,3,opt,name=participant_identity,json=participantIdentity,proto3,oneof" json:"participant_identity,omitempty"` + // Any participant metadata being included along with the credentials generation operation + ParticipantMetadata *string `protobuf:"bytes,4,opt,name=participant_metadata,json=participantMetadata,proto3,oneof" json:"participant_metadata,omitempty"` + // Any participant attributes being included along with the credentials generation operation + ParticipantAttributes map[string]string `protobuf:"bytes,5,rep,name=participant_attributes,json=participantAttributes,proto3" json:"participant_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // A RoomConfiguration object can be passed to request extra parameters should be included when + // generating connection credentials - dispatching agents, defining egress settings, etc + // More info: https://docs.livekit.io/home/get-started/authentication/#room-configuration + RoomConfig *RoomConfiguration `protobuf:"bytes,6,opt,name=room_config,json=roomConfig,proto3,oneof" json:"room_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TokenSourceRequest) Reset() { + *x = TokenSourceRequest{} + mi := &file_livekit_room_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TokenSourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenSourceRequest) ProtoMessage() {} + +func (x *TokenSourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_livekit_room_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TokenSourceRequest.ProtoReflect.Descriptor instead. +func (*TokenSourceRequest) Descriptor() ([]byte, []int) { + return file_livekit_room_proto_rawDescGZIP(), []int{20} +} + +func (x *TokenSourceRequest) GetRoomName() string { + if x != nil && x.RoomName != nil { + return *x.RoomName + } + return "" +} + +func (x *TokenSourceRequest) GetParticipantName() string { + if x != nil && x.ParticipantName != nil { + return *x.ParticipantName + } + return "" +} + +func (x *TokenSourceRequest) GetParticipantIdentity() string { + if x != nil && x.ParticipantIdentity != nil { + return *x.ParticipantIdentity + } + return "" +} + +func (x *TokenSourceRequest) GetParticipantMetadata() string { + if x != nil && x.ParticipantMetadata != nil { + return *x.ParticipantMetadata + } + return "" +} + +func (x *TokenSourceRequest) GetParticipantAttributes() map[string]string { + if x != nil { + return x.ParticipantAttributes + } + return nil +} + +func (x *TokenSourceRequest) GetRoomConfig() *RoomConfiguration { + if x != nil { + return x.RoomConfig + } + return nil +} + +type TokenSourceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + ServerUrl string `protobuf:"bytes,1,opt,name=server_url,json=serverUrl,proto3" json:"server_url,omitempty"` + ParticipantToken string `protobuf:"bytes,2,opt,name=participant_token,json=participantToken,proto3" json:"participant_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TokenSourceResponse) Reset() { + *x = TokenSourceResponse{} + mi := &file_livekit_room_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TokenSourceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenSourceResponse) ProtoMessage() {} + +func (x *TokenSourceResponse) ProtoReflect() protoreflect.Message { + mi := &file_livekit_room_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TokenSourceResponse.ProtoReflect.Descriptor instead. +func (*TokenSourceResponse) Descriptor() ([]byte, []int) { + return file_livekit_room_proto_rawDescGZIP(), []int{21} +} + +func (x *TokenSourceResponse) GetServerUrl() string { + if x != nil { + return x.ServerUrl + } + return "" +} + +func (x *TokenSourceResponse) GetParticipantToken() string { + if x != nil { + return x.ParticipantToken + } + return "" +} + type ForwardParticipantRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // room to forward participant from @@ -1286,7 +1430,7 @@ type ForwardParticipantRequest struct { func (x *ForwardParticipantRequest) Reset() { *x = ForwardParticipantRequest{} - mi := &file_livekit_room_proto_msgTypes[20] + mi := &file_livekit_room_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1298,7 +1442,7 @@ func (x *ForwardParticipantRequest) String() string { func (*ForwardParticipantRequest) ProtoMessage() {} func (x *ForwardParticipantRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[20] + mi := &file_livekit_room_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1311,7 +1455,7 @@ func (x *ForwardParticipantRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ForwardParticipantRequest.ProtoReflect.Descriptor instead. func (*ForwardParticipantRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{20} + return file_livekit_room_proto_rawDescGZIP(), []int{22} } func (x *ForwardParticipantRequest) GetRoom() string { @@ -1343,7 +1487,7 @@ type ForwardParticipantResponse struct { func (x *ForwardParticipantResponse) Reset() { *x = ForwardParticipantResponse{} - mi := &file_livekit_room_proto_msgTypes[21] + mi := &file_livekit_room_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1355,7 +1499,7 @@ func (x *ForwardParticipantResponse) String() string { func (*ForwardParticipantResponse) ProtoMessage() {} func (x *ForwardParticipantResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[21] + mi := &file_livekit_room_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1368,7 +1512,7 @@ func (x *ForwardParticipantResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ForwardParticipantResponse.ProtoReflect.Descriptor instead. func (*ForwardParticipantResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{21} + return file_livekit_room_proto_rawDescGZIP(), []int{23} } type MoveParticipantRequest struct { @@ -1385,7 +1529,7 @@ type MoveParticipantRequest struct { func (x *MoveParticipantRequest) Reset() { *x = MoveParticipantRequest{} - mi := &file_livekit_room_proto_msgTypes[22] + mi := &file_livekit_room_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1397,7 +1541,7 @@ func (x *MoveParticipantRequest) String() string { func (*MoveParticipantRequest) ProtoMessage() {} func (x *MoveParticipantRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[22] + mi := &file_livekit_room_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1410,7 +1554,7 @@ func (x *MoveParticipantRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveParticipantRequest.ProtoReflect.Descriptor instead. func (*MoveParticipantRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{22} + return file_livekit_room_proto_rawDescGZIP(), []int{24} } func (x *MoveParticipantRequest) GetRoom() string { @@ -1442,7 +1586,7 @@ type MoveParticipantResponse struct { func (x *MoveParticipantResponse) Reset() { *x = MoveParticipantResponse{} - mi := &file_livekit_room_proto_msgTypes[23] + mi := &file_livekit_room_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1454,7 +1598,7 @@ func (x *MoveParticipantResponse) String() string { func (*MoveParticipantResponse) ProtoMessage() {} func (x *MoveParticipantResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[23] + mi := &file_livekit_room_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1467,7 +1611,7 @@ func (x *MoveParticipantResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveParticipantResponse.ProtoReflect.Descriptor instead. func (*MoveParticipantResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{23} + return file_livekit_room_proto_rawDescGZIP(), []int{25} } type PerformRpcRequest struct { @@ -1483,7 +1627,7 @@ type PerformRpcRequest struct { func (x *PerformRpcRequest) Reset() { *x = PerformRpcRequest{} - mi := &file_livekit_room_proto_msgTypes[24] + mi := &file_livekit_room_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1495,7 +1639,7 @@ func (x *PerformRpcRequest) String() string { func (*PerformRpcRequest) ProtoMessage() {} func (x *PerformRpcRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[24] + mi := &file_livekit_room_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1508,7 +1652,7 @@ func (x *PerformRpcRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PerformRpcRequest.ProtoReflect.Descriptor instead. func (*PerformRpcRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{24} + return file_livekit_room_proto_rawDescGZIP(), []int{26} } func (x *PerformRpcRequest) GetRoom() string { @@ -1555,7 +1699,7 @@ type PerformRpcResponse struct { func (x *PerformRpcResponse) Reset() { *x = PerformRpcResponse{} - mi := &file_livekit_room_proto_msgTypes[25] + mi := &file_livekit_room_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1567,7 +1711,7 @@ func (x *PerformRpcResponse) String() string { func (*PerformRpcResponse) ProtoMessage() {} func (x *PerformRpcResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[25] + mi := &file_livekit_room_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1580,7 +1724,7 @@ func (x *PerformRpcResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PerformRpcResponse.ProtoReflect.Descriptor instead. func (*PerformRpcResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{25} + return file_livekit_room_proto_rawDescGZIP(), []int{27} } func (x *PerformRpcResponse) GetPayload() string { @@ -1688,7 +1832,28 @@ const file_livekit_room_proto_rawDesc = "" + "\x11max_playout_delay\x18\b \x01(\rR\x0fmaxPlayoutDelay\x12!\n" + "\fsync_streams\x18\t \x01(\bR\vsyncStreams\x122\n" + "\x06agents\x18\n" + - " \x03(\v2\x1a.livekit.RoomAgentDispatchR\x06agents\"v\n" + + " \x03(\v2\x1a.livekit.RoomAgentDispatchR\x06agents\"\xb6\x04\n" + + "\x12TokenSourceRequest\x12 \n" + + "\troom_name\x18\x01 \x01(\tH\x00R\broomName\x88\x01\x01\x12.\n" + + "\x10participant_name\x18\x02 \x01(\tH\x01R\x0fparticipantName\x88\x01\x01\x126\n" + + "\x14participant_identity\x18\x03 \x01(\tH\x02R\x13participantIdentity\x88\x01\x01\x126\n" + + "\x14participant_metadata\x18\x04 \x01(\tH\x03R\x13participantMetadata\x88\x01\x01\x12m\n" + + "\x16participant_attributes\x18\x05 \x03(\v26.livekit.TokenSourceRequest.ParticipantAttributesEntryR\x15participantAttributes\x12@\n" + + "\vroom_config\x18\x06 \x01(\v2\x1a.livekit.RoomConfigurationH\x04R\n" + + "roomConfig\x88\x01\x01\x1aH\n" + + "\x1aParticipantAttributesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\f\n" + + "\n" + + "_room_nameB\x13\n" + + "\x11_participant_nameB\x17\n" + + "\x15_participant_identityB\x17\n" + + "\x15_participant_metadataB\x0e\n" + + "\f_room_config\"a\n" + + "\x13TokenSourceResponse\x12\x1d\n" + + "\n" + + "server_url\x18\x01 \x01(\tR\tserverUrl\x12+\n" + + "\x11participant_token\x18\x02 \x01(\tR\x10participantToken\"v\n" + "\x19ForwardParticipantRequest\x12\x12\n" + "\x04room\x18\x01 \x01(\tR\x04room\x12\x1a\n" + "\bidentity\x18\x02 \x01(\tR\bidentity\x12)\n" + @@ -1738,7 +1903,7 @@ func file_livekit_room_proto_rawDescGZIP() []byte { return file_livekit_room_proto_rawDescData } -var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 27) +var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 30) var file_livekit_room_proto_goTypes = []any{ (*CreateRoomRequest)(nil), // 0: livekit.CreateRoomRequest (*RoomEgress)(nil), // 1: livekit.RoomEgress @@ -1760,73 +1925,78 @@ var file_livekit_room_proto_goTypes = []any{ (*SendDataResponse)(nil), // 17: livekit.SendDataResponse (*UpdateRoomMetadataRequest)(nil), // 18: livekit.UpdateRoomMetadataRequest (*RoomConfiguration)(nil), // 19: livekit.RoomConfiguration - (*ForwardParticipantRequest)(nil), // 20: livekit.ForwardParticipantRequest - (*ForwardParticipantResponse)(nil), // 21: livekit.ForwardParticipantResponse - (*MoveParticipantRequest)(nil), // 22: livekit.MoveParticipantRequest - (*MoveParticipantResponse)(nil), // 23: livekit.MoveParticipantResponse - (*PerformRpcRequest)(nil), // 24: livekit.PerformRpcRequest - (*PerformRpcResponse)(nil), // 25: livekit.PerformRpcResponse - nil, // 26: livekit.UpdateParticipantRequest.AttributesEntry - (*RoomAgentDispatch)(nil), // 27: livekit.RoomAgentDispatch - (*RoomCompositeEgressRequest)(nil), // 28: livekit.RoomCompositeEgressRequest - (*AutoParticipantEgress)(nil), // 29: livekit.AutoParticipantEgress - (*AutoTrackEgress)(nil), // 30: livekit.AutoTrackEgress - (*Room)(nil), // 31: livekit.Room - (*ParticipantInfo)(nil), // 32: livekit.ParticipantInfo - (*TrackInfo)(nil), // 33: livekit.TrackInfo - (*ParticipantPermission)(nil), // 34: livekit.ParticipantPermission - (*ParticipantTracks)(nil), // 35: livekit.ParticipantTracks - (DataPacket_Kind)(0), // 36: livekit.DataPacket.Kind + (*TokenSourceRequest)(nil), // 20: livekit.TokenSourceRequest + (*TokenSourceResponse)(nil), // 21: livekit.TokenSourceResponse + (*ForwardParticipantRequest)(nil), // 22: livekit.ForwardParticipantRequest + (*ForwardParticipantResponse)(nil), // 23: livekit.ForwardParticipantResponse + (*MoveParticipantRequest)(nil), // 24: livekit.MoveParticipantRequest + (*MoveParticipantResponse)(nil), // 25: livekit.MoveParticipantResponse + (*PerformRpcRequest)(nil), // 26: livekit.PerformRpcRequest + (*PerformRpcResponse)(nil), // 27: livekit.PerformRpcResponse + nil, // 28: livekit.UpdateParticipantRequest.AttributesEntry + nil, // 29: livekit.TokenSourceRequest.ParticipantAttributesEntry + (*RoomAgentDispatch)(nil), // 30: livekit.RoomAgentDispatch + (*RoomCompositeEgressRequest)(nil), // 31: livekit.RoomCompositeEgressRequest + (*AutoParticipantEgress)(nil), // 32: livekit.AutoParticipantEgress + (*AutoTrackEgress)(nil), // 33: livekit.AutoTrackEgress + (*Room)(nil), // 34: livekit.Room + (*ParticipantInfo)(nil), // 35: livekit.ParticipantInfo + (*TrackInfo)(nil), // 36: livekit.TrackInfo + (*ParticipantPermission)(nil), // 37: livekit.ParticipantPermission + (*ParticipantTracks)(nil), // 38: livekit.ParticipantTracks + (DataPacket_Kind)(0), // 39: livekit.DataPacket.Kind } var file_livekit_room_proto_depIdxs = []int32{ 1, // 0: livekit.CreateRoomRequest.egress:type_name -> livekit.RoomEgress - 27, // 1: livekit.CreateRoomRequest.agents:type_name -> livekit.RoomAgentDispatch - 28, // 2: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest - 29, // 3: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress - 30, // 4: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress - 27, // 5: livekit.RoomAgent.dispatches:type_name -> livekit.RoomAgentDispatch - 31, // 6: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room - 32, // 7: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo - 33, // 8: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo - 34, // 9: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission - 26, // 10: livekit.UpdateParticipantRequest.attributes:type_name -> livekit.UpdateParticipantRequest.AttributesEntry - 35, // 11: livekit.UpdateSubscriptionsRequest.participant_tracks:type_name -> livekit.ParticipantTracks - 36, // 12: livekit.SendDataRequest.kind:type_name -> livekit.DataPacket.Kind + 30, // 1: livekit.CreateRoomRequest.agents:type_name -> livekit.RoomAgentDispatch + 31, // 2: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest + 32, // 3: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress + 33, // 4: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress + 30, // 5: livekit.RoomAgent.dispatches:type_name -> livekit.RoomAgentDispatch + 34, // 6: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room + 35, // 7: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo + 36, // 8: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo + 37, // 9: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission + 28, // 10: livekit.UpdateParticipantRequest.attributes:type_name -> livekit.UpdateParticipantRequest.AttributesEntry + 38, // 11: livekit.UpdateSubscriptionsRequest.participant_tracks:type_name -> livekit.ParticipantTracks + 39, // 12: livekit.SendDataRequest.kind:type_name -> livekit.DataPacket.Kind 1, // 13: livekit.RoomConfiguration.egress:type_name -> livekit.RoomEgress - 27, // 14: livekit.RoomConfiguration.agents:type_name -> livekit.RoomAgentDispatch - 0, // 15: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest - 3, // 16: livekit.RoomService.ListRooms:input_type -> livekit.ListRoomsRequest - 5, // 17: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest - 7, // 18: livekit.RoomService.ListParticipants:input_type -> livekit.ListParticipantsRequest - 9, // 19: livekit.RoomService.GetParticipant:input_type -> livekit.RoomParticipantIdentity - 9, // 20: livekit.RoomService.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity - 11, // 21: livekit.RoomService.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest - 13, // 22: livekit.RoomService.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest - 14, // 23: livekit.RoomService.UpdateSubscriptions:input_type -> livekit.UpdateSubscriptionsRequest - 16, // 24: livekit.RoomService.SendData:input_type -> livekit.SendDataRequest - 18, // 25: livekit.RoomService.UpdateRoomMetadata:input_type -> livekit.UpdateRoomMetadataRequest - 20, // 26: livekit.RoomService.ForwardParticipant:input_type -> livekit.ForwardParticipantRequest - 22, // 27: livekit.RoomService.MoveParticipant:input_type -> livekit.MoveParticipantRequest - 24, // 28: livekit.RoomService.PerformRpc:input_type -> livekit.PerformRpcRequest - 31, // 29: livekit.RoomService.CreateRoom:output_type -> livekit.Room - 4, // 30: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse - 6, // 31: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse - 8, // 32: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse - 32, // 33: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo - 10, // 34: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse - 12, // 35: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse - 32, // 36: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo - 15, // 37: livekit.RoomService.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse - 17, // 38: livekit.RoomService.SendData:output_type -> livekit.SendDataResponse - 31, // 39: livekit.RoomService.UpdateRoomMetadata:output_type -> livekit.Room - 21, // 40: livekit.RoomService.ForwardParticipant:output_type -> livekit.ForwardParticipantResponse - 23, // 41: livekit.RoomService.MoveParticipant:output_type -> livekit.MoveParticipantResponse - 25, // 42: livekit.RoomService.PerformRpc:output_type -> livekit.PerformRpcResponse - 29, // [29:43] is the sub-list for method output_type - 15, // [15:29] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 30, // 14: livekit.RoomConfiguration.agents:type_name -> livekit.RoomAgentDispatch + 29, // 15: livekit.TokenSourceRequest.participant_attributes:type_name -> livekit.TokenSourceRequest.ParticipantAttributesEntry + 19, // 16: livekit.TokenSourceRequest.room_config:type_name -> livekit.RoomConfiguration + 0, // 17: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest + 3, // 18: livekit.RoomService.ListRooms:input_type -> livekit.ListRoomsRequest + 5, // 19: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest + 7, // 20: livekit.RoomService.ListParticipants:input_type -> livekit.ListParticipantsRequest + 9, // 21: livekit.RoomService.GetParticipant:input_type -> livekit.RoomParticipantIdentity + 9, // 22: livekit.RoomService.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity + 11, // 23: livekit.RoomService.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest + 13, // 24: livekit.RoomService.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest + 14, // 25: livekit.RoomService.UpdateSubscriptions:input_type -> livekit.UpdateSubscriptionsRequest + 16, // 26: livekit.RoomService.SendData:input_type -> livekit.SendDataRequest + 18, // 27: livekit.RoomService.UpdateRoomMetadata:input_type -> livekit.UpdateRoomMetadataRequest + 22, // 28: livekit.RoomService.ForwardParticipant:input_type -> livekit.ForwardParticipantRequest + 24, // 29: livekit.RoomService.MoveParticipant:input_type -> livekit.MoveParticipantRequest + 26, // 30: livekit.RoomService.PerformRpc:input_type -> livekit.PerformRpcRequest + 34, // 31: livekit.RoomService.CreateRoom:output_type -> livekit.Room + 4, // 32: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse + 6, // 33: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse + 8, // 34: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse + 35, // 35: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo + 10, // 36: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse + 12, // 37: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse + 35, // 38: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo + 15, // 39: livekit.RoomService.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse + 17, // 40: livekit.RoomService.SendData:output_type -> livekit.SendDataResponse + 34, // 41: livekit.RoomService.UpdateRoomMetadata:output_type -> livekit.Room + 23, // 42: livekit.RoomService.ForwardParticipant:output_type -> livekit.ForwardParticipantResponse + 25, // 43: livekit.RoomService.MoveParticipant:output_type -> livekit.MoveParticipantResponse + 27, // 44: livekit.RoomService.PerformRpc:output_type -> livekit.PerformRpcResponse + 31, // [31:45] is the sub-list for method output_type + 17, // [17:31] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_livekit_room_proto_init() } @@ -1838,13 +2008,14 @@ func file_livekit_room_proto_init() { file_livekit_egress_proto_init() file_livekit_agent_dispatch_proto_init() file_livekit_room_proto_msgTypes[16].OneofWrappers = []any{} + file_livekit_room_proto_msgTypes[20].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_livekit_room_proto_rawDesc), len(file_livekit_room_proto_rawDesc)), NumEnums: 0, - NumMessages: 27, + NumMessages: 30, NumExtensions: 0, NumServices: 1, }, diff --git a/livekit/livekit_room.twirp.go b/livekit/livekit_room.twirp.go index 7c2035ea0..e4f42114e 100644 --- a/livekit/livekit_room.twirp.go +++ b/livekit/livekit_room.twirp.go @@ -4167,98 +4167,110 @@ func (s *roomServiceServer) PathPrefix() string { } var twirpFileDescriptor3 = []byte{ - // 1478 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xeb, 0x6e, 0xdb, 0xc6, - 0x12, 0x3e, 0x94, 0x2d, 0x59, 0x1a, 0xf9, 0xa6, 0xb5, 0x13, 0xd3, 0x74, 0x2e, 0x0e, 0x7d, 0x0e, - 0x8e, 0x73, 0x72, 0xa2, 0x34, 0x2a, 0x8a, 0x04, 0x46, 0x6f, 0x76, 0xec, 0xa4, 0x46, 0x62, 0x40, - 0xa5, 0x53, 0xf4, 0x02, 0x14, 0x2c, 0x25, 0x6e, 0xec, 0x85, 0xc5, 0x4b, 0xb9, 0x2b, 0x37, 0x7a, - 0x83, 0x3c, 0x44, 0x9f, 0xa0, 0x6f, 0x50, 0xa0, 0x8f, 0xd0, 0x9f, 0x7d, 0x82, 0xfe, 0xec, 0x3b, - 0x14, 0x28, 0xf6, 0x42, 0x72, 0x29, 0x51, 0x4a, 0x1a, 0xb4, 0x40, 0xff, 0x71, 0x67, 0xbe, 0x9d, - 0x9d, 0x99, 0x9d, 0x99, 0xfd, 0x24, 0x40, 0x03, 0x72, 0x89, 0x2f, 0x08, 0x73, 0x93, 0x28, 0x0a, - 0xda, 0x71, 0x12, 0xb1, 0x08, 0x2d, 0x28, 0x99, 0xb5, 0x9e, 0x2a, 0x83, 0xc8, 0xc7, 0x03, 0x2a, - 0xd5, 0xb9, 0x14, 0x9f, 0x25, 0x98, 0xa6, 0xd2, 0x6b, 0xa9, 0xd4, 0x3b, 0xc3, 0x21, 0x73, 0x7d, - 0x42, 0x63, 0x8f, 0xf5, 0xcf, 0xa5, 0xd6, 0xfe, 0x7d, 0x0e, 0x5a, 0x8f, 0x12, 0xec, 0x31, 0xec, - 0x44, 0x51, 0xe0, 0xe0, 0x6f, 0x87, 0x98, 0x32, 0x84, 0x60, 0x3e, 0xf4, 0x02, 0x6c, 0x1a, 0xdb, - 0xc6, 0x6e, 0xc3, 0x11, 0xdf, 0xe8, 0x26, 0x34, 0xb9, 0x2b, 0x6e, 0x9c, 0x60, 0x8a, 0x99, 0xb9, - 0x28, 0x54, 0xc0, 0x45, 0x5d, 0x21, 0x41, 0x3b, 0xb0, 0x84, 0x83, 0x98, 0x8d, 0x5c, 0x46, 0x02, - 0x1c, 0x0d, 0x99, 0x59, 0xd9, 0x36, 0x76, 0x97, 0x9c, 0x45, 0x21, 0x7c, 0x2e, 0x65, 0xe8, 0x0e, - 0xb4, 0x7c, 0x1c, 0x7b, 0x09, 0x1b, 0x26, 0x38, 0x03, 0x82, 0x00, 0xae, 0x66, 0x8a, 0x14, 0x7c, - 0x1b, 0x56, 0x03, 0xef, 0xa5, 0xcb, 0xa5, 0xa4, 0x4f, 0x62, 0x2f, 0x64, 0xd4, 0x9c, 0x13, 0xd8, - 0x95, 0xc0, 0x7b, 0xd9, 0xd5, 0xc4, 0x68, 0x03, 0x16, 0xc2, 0xc8, 0xc7, 0x2e, 0xf1, 0xcd, 0x79, - 0xe1, 0x59, 0x8d, 0x2f, 0x8f, 0x7d, 0x64, 0x41, 0x3d, 0xc0, 0xcc, 0xf3, 0x3d, 0xe6, 0x99, 0x55, - 0xa1, 0xc9, 0xd6, 0xe8, 0x0e, 0xd4, 0x64, 0xaa, 0xcc, 0xda, 0xb6, 0xb1, 0xdb, 0xec, 0xac, 0xb5, - 0x55, 0xae, 0xda, 0x3c, 0x19, 0x47, 0x42, 0xe5, 0x28, 0x08, 0xfa, 0x1f, 0xb4, 0x02, 0x12, 0xba, - 0xf1, 0xc0, 0x1b, 0x45, 0x43, 0xe6, 0xfa, 0x78, 0xe0, 0x8d, 0xcc, 0x05, 0xe5, 0x0d, 0x09, 0xbb, - 0x52, 0x7e, 0xc8, 0xc5, 0x02, 0xcb, 0x1d, 0x2f, 0x60, 0xeb, 0xb9, 0xe7, 0x3a, 0xf6, 0x16, 0x2c, - 0xd2, 0x51, 0xd8, 0x77, 0x29, 0x4b, 0xb0, 0x17, 0x50, 0xb3, 0xb1, 0x6d, 0xec, 0xd6, 0x9d, 0x26, - 0x97, 0x9d, 0x4a, 0x11, 0xfa, 0x0f, 0x2c, 0x27, 0x98, 0x1b, 0x73, 0x71, 0xe8, 0xf5, 0x06, 0xd8, - 0x37, 0x97, 0x04, 0x68, 0x49, 0x4a, 0x8f, 0xa4, 0x10, 0x75, 0xa0, 0x26, 0xee, 0x98, 0x9a, 0xcb, - 0xdb, 0x73, 0xbb, 0xcd, 0x8e, 0x55, 0x08, 0x67, 0x9f, 0xab, 0x0e, 0xd5, 0xed, 0x3b, 0x0a, 0x69, - 0xff, 0x68, 0x00, 0xe4, 0xc1, 0xa2, 0x07, 0x30, 0xcf, 0x6f, 0x54, 0x5c, 0x7c, 0xb3, 0xb3, 0x53, - 0x30, 0xf0, 0x28, 0x0a, 0xe2, 0x88, 0x12, 0x86, 0x55, 0x62, 0x64, 0xad, 0x38, 0x62, 0x03, 0xfa, - 0x18, 0x9a, 0xda, 0x35, 0x89, 0x5b, 0x6a, 0x76, 0x6e, 0x64, 0xfb, 0xf7, 0x87, 0x2c, 0xd2, 0xee, - 0x4b, 0x59, 0xd0, 0xb7, 0xa0, 0x77, 0xa0, 0xc6, 0x12, 0xaf, 0x7f, 0x41, 0x45, 0xdd, 0x34, 0x3b, - 0x66, 0x61, 0xf3, 0x73, 0xae, 0x4a, 0x6f, 0x44, 0xe2, 0xec, 0x27, 0xd0, 0xc8, 0x02, 0x43, 0x7b, - 0x00, 0x69, 0x69, 0x63, 0x6a, 0x1a, 0xaf, 0x4d, 0x80, 0x86, 0xb6, 0x77, 0x61, 0xf5, 0x19, 0xa1, - 0x8c, 0x83, 0xd2, 0xb0, 0xd0, 0x3a, 0x54, 0x79, 0xd9, 0x4b, 0x53, 0x0d, 0x47, 0x2e, 0xec, 0x87, - 0xd0, 0xd2, 0x90, 0x34, 0x8e, 0x42, 0x8a, 0xd1, 0x0e, 0x54, 0x79, 0x0e, 0xd2, 0x53, 0x97, 0x0a, - 0xa7, 0x3a, 0x52, 0x67, 0xff, 0x17, 0x5a, 0x87, 0x78, 0x80, 0x27, 0xfa, 0x2c, 0x4b, 0x77, 0x43, - 0x66, 0xd2, 0x5e, 0x07, 0xa4, 0x03, 0xe5, 0x19, 0xf6, 0x5d, 0xd8, 0xe0, 0x07, 0xeb, 0x35, 0x3f, - 0xcb, 0xc8, 0x17, 0x60, 0x4e, 0xc2, 0x95, 0xbb, 0xef, 0xc3, 0x62, 0xa1, 0xa3, 0xa4, 0xd7, 0x79, - 0xba, 0xb5, 0x4d, 0xc7, 0xe1, 0x8b, 0xc8, 0x29, 0xa0, 0xed, 0x63, 0xd8, 0xe0, 0x8e, 0xe9, 0x20, - 0x1f, 0x87, 0x8c, 0xb0, 0x51, 0x99, 0x23, 0xbc, 0xfd, 0x88, 0xd2, 0x8b, 0x7b, 0x6d, 0x38, 0xd9, - 0xda, 0xde, 0x82, 0x4d, 0x07, 0x07, 0xd1, 0x25, 0xd6, 0x8c, 0x65, 0x01, 0x8f, 0x60, 0xfd, 0x64, - 0x28, 0x93, 0x20, 0xee, 0x7e, 0x46, 0xb4, 0xb3, 0x0e, 0x41, 0x5b, 0xd0, 0x10, 0xe5, 0xe2, 0x52, - 0xe2, 0x8b, 0xb2, 0x6c, 0x38, 0x75, 0x21, 0x38, 0x25, 0x3e, 0xbf, 0xe4, 0x60, 0xc8, 0xb0, 0x9c, - 0x19, 0x75, 0x47, 0x2e, 0xec, 0x7d, 0xb8, 0x32, 0x76, 0xb4, 0xca, 0xdc, 0x2e, 0x54, 0xc5, 0x56, - 0xd5, 0x1e, 0x28, 0x4b, 0x99, 0x80, 0x89, 0x64, 0x49, 0x80, 0xfd, 0x73, 0x05, 0xcc, 0xcf, 0x62, - 0xdf, 0x63, 0xc5, 0xd8, 0xde, 0x2e, 0x04, 0x7d, 0x84, 0xcd, 0x8d, 0x8d, 0xb0, 0x0f, 0x01, 0x62, - 0x9c, 0x04, 0x84, 0x52, 0x12, 0x85, 0x22, 0x0c, 0xbd, 0xed, 0xb4, 0xc3, 0xbb, 0x19, 0xca, 0xd1, - 0x76, 0x64, 0x93, 0xbe, 0xaa, 0x4d, 0xfa, 0x4f, 0x01, 0x3c, 0xc6, 0x12, 0xd2, 0x1b, 0x32, 0xcc, - 0x47, 0x23, 0x2f, 0x8f, 0xfb, 0x99, 0xcd, 0x69, 0x61, 0xb5, 0xf7, 0xb3, 0x3d, 0x47, 0x21, 0x4b, - 0x46, 0x8e, 0x66, 0xc4, 0xfa, 0x00, 0x56, 0xc6, 0xd4, 0x68, 0x15, 0xe6, 0x2e, 0xf0, 0x48, 0x25, - 0x81, 0x7f, 0xf2, 0xdb, 0xb8, 0xf4, 0x06, 0x43, 0xac, 0x12, 0x20, 0x17, 0x7b, 0x95, 0x87, 0x86, - 0xfd, 0x8b, 0x01, 0x96, 0x3c, 0xf7, 0x74, 0xd8, 0xa3, 0xfd, 0x84, 0xc4, 0x8c, 0x44, 0x21, 0x7d, - 0xdb, 0x84, 0x5e, 0x07, 0xc8, 0x6a, 0x82, 0xbf, 0x28, 0xbc, 0xc1, 0x1b, 0x69, 0x51, 0x50, 0x74, - 0x0d, 0x1a, 0x54, 0x1e, 0xd3, 0xc3, 0xaa, 0x32, 0x72, 0x01, 0x3a, 0x06, 0xa4, 0x35, 0x84, 0xab, - 0x66, 0x56, 0x75, 0x6c, 0xe0, 0x68, 0xf9, 0x11, 0xc5, 0x41, 0x9d, 0x56, 0x3c, 0x2e, 0xb2, 0xaf, - 0xc3, 0x56, 0x69, 0x54, 0xaa, 0x05, 0x5e, 0x55, 0x60, 0xe5, 0x14, 0x87, 0xfe, 0xa1, 0xc7, 0xbc, - 0x59, 0xa1, 0x22, 0x98, 0x17, 0xb5, 0xc1, 0xc3, 0x5c, 0x74, 0xc4, 0x37, 0xfa, 0x3f, 0xcc, 0x5f, - 0x90, 0x50, 0x56, 0xfc, 0xb2, 0xd6, 0xdc, 0xdc, 0x56, 0xd7, 0xeb, 0x5f, 0x60, 0xd6, 0x7e, 0x4a, - 0x42, 0xdf, 0x11, 0x28, 0x74, 0x17, 0x56, 0x7d, 0x4c, 0x19, 0x09, 0x3d, 0xee, 0x81, 0x4c, 0xcb, - 0x3c, 0x4f, 0xcb, 0x41, 0xc5, 0x34, 0x9c, 0x15, 0x4d, 0x27, 0x12, 0xf4, 0x1e, 0x5c, 0xd5, 0xe1, - 0x2a, 0xaf, 0x44, 0x15, 0x4b, 0xc3, 0xb9, 0xa2, 0x69, 0x8f, 0x33, 0x25, 0xda, 0x84, 0x2a, 0x8b, - 0x62, 0xd2, 0x97, 0xc5, 0xf6, 0xc9, 0xbf, 0x1c, 0xb9, 0x7c, 0x65, 0x18, 0x62, 0xda, 0x46, 0x61, - 0x1f, 0x8b, 0x07, 0x75, 0xd1, 0x91, 0x8b, 0x83, 0x3a, 0xd4, 0x5c, 0x01, 0xb1, 0x11, 0xac, 0xe6, - 0x99, 0x50, 0xe9, 0x79, 0x0a, 0x9b, 0x32, 0x7b, 0xbc, 0x51, 0x4f, 0x54, 0x43, 0xbc, 0xa6, 0x24, - 0xb2, 0x3e, 0xaa, 0x14, 0xfb, 0xc8, 0xfe, 0x7e, 0x0e, 0x5a, 0xf2, 0x91, 0x0b, 0x5f, 0x90, 0xb3, - 0x61, 0x22, 0x7c, 0x2f, 0xe5, 0x41, 0x6f, 0x4f, 0x73, 0xe6, 0xfe, 0x04, 0xcd, 0x99, 0x2f, 0xa7, - 0x39, 0x7a, 0x08, 0xcd, 0xa9, 0x6c, 0xa6, 0xfa, 0x8f, 0x66, 0x33, 0x39, 0x4d, 0x81, 0x37, 0xa6, - 0x29, 0x97, 0xb0, 0xf9, 0x38, 0x4a, 0xbe, 0xf3, 0x12, 0xff, 0x2f, 0x98, 0xa7, 0xb7, 0x8b, 0xd5, - 0x2e, 0xf6, 0xca, 0xb9, 0xaa, 0x57, 0x3a, 0x77, 0xc6, 0xbe, 0x06, 0x56, 0xd9, 0xb9, 0xaa, 0x02, - 0x29, 0x5c, 0x3d, 0x19, 0x7f, 0xbe, 0xfe, 0x76, 0x97, 0x36, 0x61, 0xe3, 0x64, 0xca, 0x9b, 0xf9, - 0x93, 0x01, 0xad, 0x2e, 0x4e, 0x5e, 0x44, 0x49, 0xe0, 0xc4, 0xfd, 0x59, 0xbe, 0xdc, 0x87, 0xf5, - 0x92, 0x0e, 0x4e, 0xfd, 0x5a, 0x9b, 0xec, 0xdf, 0x11, 0xba, 0x0a, 0xb5, 0x00, 0xb3, 0xf3, 0x28, - 0x7d, 0x45, 0xd5, 0x0a, 0x99, 0xb0, 0x10, 0x7b, 0xa3, 0x41, 0xe4, 0xa5, 0xcc, 0x3b, 0x5d, 0xa2, - 0x36, 0xac, 0x25, 0xca, 0xb5, 0xb4, 0x07, 0xdc, 0x40, 0x56, 0xe7, 0x92, 0xd3, 0x4a, 0x55, 0xaa, - 0x0b, 0x4e, 0xa8, 0xdd, 0x06, 0xa4, 0x7b, 0xaf, 0x1e, 0x5d, 0xcd, 0xbe, 0x51, 0xb0, 0xdf, 0xf9, - 0xb5, 0x0e, 0x4d, 0x9e, 0x92, 0x53, 0x9c, 0x5c, 0x92, 0x3e, 0x46, 0x0f, 0x00, 0xf2, 0x9f, 0x32, - 0x28, 0x2f, 0xab, 0x89, 0xdf, 0x37, 0x56, 0x91, 0xa2, 0xa1, 0x03, 0x68, 0x64, 0xac, 0x0e, 0x6d, - 0x66, 0xba, 0x71, 0x4e, 0x68, 0x59, 0x65, 0x2a, 0xe5, 0xe6, 0x11, 0x40, 0x4e, 0xdb, 0xb4, 0xc3, - 0x27, 0x48, 0x9f, 0xb5, 0x55, 0xaa, 0x53, 0x66, 0x3e, 0x97, 0x54, 0xb4, 0xd0, 0xf4, 0xdb, 0x85, - 0x63, 0x4b, 0x28, 0xa0, 0x75, 0x6b, 0x06, 0x42, 0x19, 0x7e, 0x06, 0xcb, 0x4f, 0xb0, 0xae, 0xd2, - 0xcc, 0x4e, 0x21, 0x74, 0xd6, 0x54, 0x4e, 0x88, 0xbe, 0x84, 0xd6, 0x04, 0x75, 0x7b, 0x03, 0x83, - 0x76, 0x8e, 0x98, 0x46, 0xfc, 0xd0, 0x29, 0x20, 0xce, 0xbe, 0xba, 0xc3, 0xde, 0x80, 0xd0, 0x73, - 0xec, 0x8b, 0xb7, 0x12, 0x5d, 0xcf, 0x76, 0x96, 0xb1, 0x42, 0xeb, 0xc6, 0x34, 0xb5, 0x32, 0xda, - 0x85, 0xd6, 0x04, 0x6f, 0x41, 0xb7, 0x5e, 0xcb, 0x69, 0x66, 0x64, 0xe0, 0x1b, 0x58, 0x2b, 0x79, - 0xbb, 0xd1, 0xce, 0x98, 0xcd, 0x32, 0xbe, 0x62, 0xfd, 0x7b, 0x36, 0x48, 0xf9, 0xfc, 0x11, 0xd4, - 0xd3, 0x37, 0x0f, 0xe5, 0x7e, 0x8c, 0x11, 0x02, 0x6b, 0xb3, 0x44, 0xa3, 0x0c, 0x3c, 0x01, 0x34, - 0xf9, 0x40, 0x22, 0x7b, 0xec, 0xf0, 0x92, 0xd7, 0x73, 0xbc, 0x3f, 0xbe, 0x06, 0x34, 0x39, 0x05, - 0x35, 0x43, 0x53, 0x47, 0xb3, 0xb5, 0x33, 0x13, 0xa3, 0xfc, 0x7c, 0x0e, 0x2b, 0x63, 0x13, 0x0d, - 0xdd, 0xcc, 0xef, 0xb3, 0x74, 0xc0, 0x5a, 0xdb, 0xd3, 0x01, 0x79, 0x43, 0xe6, 0xd3, 0x44, 0x6b, - 0xc8, 0x89, 0x01, 0xa9, 0x35, 0xe4, 0xe4, 0xf8, 0x39, 0x78, 0xfc, 0xd5, 0xce, 0x19, 0x61, 0xe7, - 0xc3, 0x5e, 0xbb, 0x1f, 0x05, 0xf7, 0x14, 0xf0, 0x9e, 0xf8, 0xf3, 0xa4, 0x1f, 0x0d, 0x52, 0xc1, - 0x0f, 0x95, 0xa5, 0x67, 0xe4, 0x12, 0x3f, 0xe5, 0x36, 0xb8, 0xea, 0xb7, 0xca, 0xb2, 0x5a, 0xef, - 0xed, 0x09, 0x41, 0xaf, 0x26, 0xb6, 0xbc, 0xfb, 0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3e, 0x42, - 0x47, 0xc4, 0xd8, 0x11, 0x00, 0x00, + // 1679 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x69, 0x6e, 0xdb, 0xc6, + 0x17, 0x0f, 0xb5, 0x59, 0x7a, 0x92, 0x17, 0x8d, 0x37, 0x9a, 0x8e, 0x13, 0x85, 0xfe, 0xff, 0x51, + 0xa7, 0x69, 0x94, 0xc6, 0x45, 0x93, 0xc0, 0xe8, 0x66, 0xc5, 0x4e, 0x6c, 0x24, 0x2e, 0x54, 0xda, + 0x41, 0x17, 0xa0, 0x60, 0x69, 0x71, 0x62, 0x13, 0x16, 0x97, 0x92, 0x23, 0x37, 0xba, 0x41, 0x0e, + 0xd1, 0x13, 0xf4, 0x00, 0x05, 0x0a, 0xf4, 0x08, 0xfd, 0xd8, 0x13, 0xf4, 0x63, 0xef, 0x50, 0xa0, + 0x98, 0x85, 0xe4, 0x50, 0xa2, 0x94, 0x05, 0x2d, 0xd0, 0x6f, 0xe2, 0x7b, 0xbf, 0x79, 0xf3, 0xf6, + 0x79, 0x4f, 0x80, 0xfa, 0xce, 0x25, 0xbe, 0x70, 0x88, 0x19, 0xfa, 0xbe, 0xdb, 0x0e, 0x42, 0x9f, + 0xf8, 0x68, 0x46, 0xd0, 0xb4, 0xa5, 0x98, 0xe9, 0xfa, 0x36, 0xee, 0x47, 0x9c, 0x9d, 0x52, 0xf1, + 0x59, 0x88, 0xa3, 0x98, 0x7a, 0x35, 0xa6, 0x5a, 0x67, 0xd8, 0x23, 0xa6, 0xed, 0x44, 0x81, 0x45, + 0x7a, 0xe7, 0x9c, 0xab, 0xff, 0x55, 0x84, 0xe6, 0xc3, 0x10, 0x5b, 0x04, 0x1b, 0xbe, 0xef, 0x1a, + 0xf8, 0xfb, 0x01, 0x8e, 0x08, 0x42, 0x50, 0xf2, 0x2c, 0x17, 0xab, 0x4a, 0x4b, 0xd9, 0xaa, 0x19, + 0xec, 0x37, 0xba, 0x0e, 0x75, 0xaa, 0x8a, 0x19, 0x84, 0x38, 0xc2, 0x44, 0x6d, 0x30, 0x16, 0x50, + 0x52, 0x97, 0x51, 0xd0, 0x26, 0xcc, 0x62, 0x37, 0x20, 0x43, 0x93, 0x38, 0x2e, 0xf6, 0x07, 0x44, + 0x2d, 0xb4, 0x94, 0xad, 0x59, 0xa3, 0xc1, 0x88, 0x27, 0x9c, 0x86, 0x6e, 0x41, 0xd3, 0xc6, 0x81, + 0x15, 0x92, 0x41, 0x88, 0x13, 0x20, 0x30, 0xe0, 0x42, 0xc2, 0x88, 0xc1, 0x37, 0x61, 0xc1, 0xb5, + 0x5e, 0x98, 0x94, 0xea, 0xf4, 0x9c, 0xc0, 0xf2, 0x48, 0xa4, 0x16, 0x19, 0x76, 0xde, 0xb5, 0x5e, + 0x74, 0x25, 0x32, 0x5a, 0x85, 0x19, 0xcf, 0xb7, 0xb1, 0xe9, 0xd8, 0x6a, 0x89, 0x69, 0x56, 0xa1, + 0x9f, 0x87, 0x36, 0xd2, 0xa0, 0xea, 0x62, 0x62, 0xd9, 0x16, 0xb1, 0xd4, 0x32, 0xe3, 0x24, 0xdf, + 0xe8, 0x16, 0x54, 0xb8, 0xab, 0xd4, 0x4a, 0x4b, 0xd9, 0xaa, 0x6f, 0x2f, 0xb6, 0x85, 0xaf, 0xda, + 0xd4, 0x19, 0xfb, 0x8c, 0x65, 0x08, 0x08, 0x7a, 0x17, 0x9a, 0xae, 0xe3, 0x99, 0x41, 0xdf, 0x1a, + 0xfa, 0x03, 0x62, 0xda, 0xb8, 0x6f, 0x0d, 0xd5, 0x19, 0xa1, 0x8d, 0xe3, 0x75, 0x39, 0x7d, 0x8f, + 0x92, 0x19, 0x96, 0x2a, 0x9e, 0xc1, 0x56, 0x53, 0xcd, 0x65, 0xec, 0x0d, 0x68, 0x44, 0x43, 0xaf, + 0x67, 0x46, 0x24, 0xc4, 0x96, 0x1b, 0xa9, 0xb5, 0x96, 0xb2, 0x55, 0x35, 0xea, 0x94, 0x76, 0xcc, + 0x49, 0xe8, 0xff, 0x30, 0x17, 0x62, 0x2a, 0xcc, 0xc4, 0x9e, 0x75, 0xda, 0xc7, 0xb6, 0x3a, 0xcb, + 0x40, 0xb3, 0x9c, 0xba, 0xcf, 0x89, 0x68, 0x1b, 0x2a, 0x2c, 0xc6, 0x91, 0x3a, 0xd7, 0x2a, 0x6e, + 0xd5, 0xb7, 0xb5, 0x8c, 0x39, 0xbb, 0x94, 0xb5, 0x27, 0xa2, 0x6f, 0x08, 0xa4, 0xfe, 0x8b, 0x02, + 0x90, 0x1a, 0x8b, 0xee, 0x43, 0x89, 0x46, 0x94, 0x05, 0xbe, 0xbe, 0xbd, 0x99, 0x11, 0xf0, 0xd0, + 0x77, 0x03, 0x3f, 0x72, 0x08, 0x16, 0x8e, 0xe1, 0xb9, 0x62, 0xb0, 0x03, 0xe8, 0x33, 0xa8, 0x4b, + 0x61, 0x62, 0x51, 0xaa, 0x6f, 0x5f, 0x4b, 0xce, 0xef, 0x0e, 0x88, 0x2f, 0xc5, 0x4b, 0x48, 0x90, + 0x8f, 0xa0, 0xf7, 0xa1, 0x42, 0x42, 0xab, 0x77, 0x11, 0xb1, 0xbc, 0xa9, 0x6f, 0xab, 0x99, 0xc3, + 0x27, 0x94, 0x15, 0x47, 0x84, 0xe3, 0xf4, 0xc7, 0x50, 0x4b, 0x0c, 0x43, 0x3b, 0x00, 0x71, 0x6a, + 0xe3, 0x48, 0x55, 0x5e, 0xe9, 0x00, 0x09, 0xad, 0x6f, 0xc1, 0xc2, 0x53, 0x27, 0x22, 0x14, 0x14, + 0x9b, 0x85, 0x96, 0xa0, 0x4c, 0xd3, 0x9e, 0x8b, 0xaa, 0x19, 0xfc, 0x43, 0x7f, 0x00, 0x4d, 0x09, + 0x19, 0x05, 0xbe, 0x17, 0x61, 0xb4, 0x09, 0x65, 0xea, 0x83, 0xf8, 0xd6, 0xd9, 0xcc, 0xad, 0x06, + 0xe7, 0xe9, 0xef, 0x40, 0x73, 0x0f, 0xf7, 0xf1, 0x58, 0x9d, 0x25, 0xee, 0xae, 0x71, 0x4f, 0xea, + 0x4b, 0x80, 0x64, 0x20, 0xbf, 0x43, 0xbf, 0x0d, 0xab, 0xf4, 0x62, 0x39, 0xe7, 0xa7, 0x09, 0xf9, + 0x0a, 0xd4, 0x71, 0xb8, 0x50, 0xf7, 0x23, 0x68, 0x64, 0x2a, 0x8a, 0x6b, 0x9d, 0xba, 0x5b, 0x3a, + 0x74, 0xe8, 0x3d, 0xf7, 0x8d, 0x0c, 0x5a, 0x3f, 0x84, 0x55, 0xaa, 0x98, 0x0c, 0xb2, 0xb1, 0x47, + 0x1c, 0x32, 0xcc, 0x53, 0x84, 0x96, 0x9f, 0x23, 0xf8, 0x2c, 0xae, 0x35, 0x23, 0xf9, 0xd6, 0xd7, + 0x61, 0xcd, 0xc0, 0xae, 0x7f, 0x89, 0x25, 0x61, 0x89, 0xc1, 0x43, 0x58, 0x3a, 0x1a, 0x70, 0x27, + 0xb0, 0xd8, 0x4f, 0xb1, 0x76, 0xda, 0x25, 0x68, 0x1d, 0x6a, 0x2c, 0x5d, 0xcc, 0xc8, 0xb1, 0x59, + 0x5a, 0xd6, 0x8c, 0x2a, 0x23, 0x1c, 0x3b, 0x36, 0x0d, 0xb2, 0x3b, 0x20, 0x98, 0xf7, 0x8c, 0xaa, + 0xc1, 0x3f, 0xf4, 0x5d, 0x58, 0x1e, 0xb9, 0x5a, 0x78, 0x6e, 0x0b, 0xca, 0xec, 0xa8, 0x28, 0x0f, + 0x94, 0xb8, 0x8c, 0xc1, 0x98, 0xb3, 0x38, 0x40, 0xff, 0xad, 0x00, 0xea, 0xb3, 0xc0, 0xb6, 0x48, + 0xd6, 0xb6, 0xb7, 0x33, 0x41, 0x6e, 0x61, 0xc5, 0x91, 0x16, 0xf6, 0x09, 0x40, 0x80, 0x43, 0xd7, + 0x89, 0x22, 0xc7, 0xf7, 0x98, 0x19, 0x72, 0xd9, 0x49, 0x97, 0x77, 0x13, 0x94, 0x21, 0x9d, 0x48, + 0x3a, 0x7d, 0x59, 0xea, 0xf4, 0x5f, 0x00, 0x58, 0x84, 0x84, 0xce, 0xe9, 0x80, 0x60, 0xda, 0x1a, + 0x69, 0x7a, 0xdc, 0x4d, 0x64, 0x4e, 0x32, 0xab, 0xbd, 0x9b, 0x9c, 0xd9, 0xf7, 0x48, 0x38, 0x34, + 0x24, 0x21, 0xda, 0xc7, 0x30, 0x3f, 0xc2, 0x46, 0x0b, 0x50, 0xbc, 0xc0, 0x43, 0xe1, 0x04, 0xfa, + 0x93, 0x46, 0xe3, 0xd2, 0xea, 0x0f, 0xb0, 0x70, 0x00, 0xff, 0xd8, 0x29, 0x3c, 0x50, 0xf4, 0xdf, + 0x15, 0xd0, 0xf8, 0xbd, 0xc7, 0x83, 0xd3, 0xa8, 0x17, 0x3a, 0x01, 0x71, 0x7c, 0x2f, 0x7a, 0x5b, + 0x87, 0x6e, 0x00, 0x24, 0x39, 0x41, 0x5f, 0x14, 0x5a, 0xe0, 0xb5, 0x38, 0x29, 0x22, 0x74, 0x15, + 0x6a, 0x11, 0xbf, 0xe6, 0x14, 0x8b, 0xcc, 0x48, 0x09, 0xe8, 0x10, 0x90, 0x54, 0x10, 0xa6, 0xe8, + 0x59, 0xe5, 0x91, 0x86, 0x23, 0xf9, 0x87, 0x25, 0x47, 0x64, 0x34, 0x83, 0x51, 0x92, 0xbe, 0x01, + 0xeb, 0xb9, 0x56, 0x89, 0x12, 0x78, 0x59, 0x80, 0xf9, 0x63, 0xec, 0xd9, 0x7b, 0x16, 0xb1, 0xa6, + 0x99, 0x8a, 0xa0, 0xc4, 0x72, 0x83, 0x9a, 0xd9, 0x30, 0xd8, 0x6f, 0xf4, 0x1e, 0x94, 0x2e, 0x1c, + 0x8f, 0x67, 0xfc, 0x9c, 0x54, 0xdc, 0x54, 0x56, 0xd7, 0xea, 0x5d, 0x60, 0xd2, 0x7e, 0xe2, 0x78, + 0xb6, 0xc1, 0x50, 0xe8, 0x36, 0x2c, 0xd8, 0x38, 0x22, 0x8e, 0x67, 0x51, 0x0d, 0xb8, 0x5b, 0x4a, + 0xd4, 0x2d, 0x9d, 0x82, 0xaa, 0x18, 0xf3, 0x12, 0x8f, 0x39, 0xe8, 0x43, 0x58, 0x91, 0xe1, 0xc2, + 0xaf, 0x8e, 0x48, 0x96, 0x9a, 0xb1, 0x2c, 0x71, 0x0f, 0x13, 0x26, 0x5a, 0x83, 0x32, 0xf1, 0x03, + 0xa7, 0xc7, 0x93, 0xed, 0xe0, 0x8a, 0xc1, 0x3f, 0x5f, 0x2a, 0x0a, 0xeb, 0xb6, 0xbe, 0xd7, 0xc3, + 0xec, 0x41, 0x6d, 0x18, 0xfc, 0xa3, 0x53, 0x85, 0x8a, 0xc9, 0x20, 0x3a, 0x82, 0x85, 0xd4, 0x13, + 0xc2, 0x3d, 0x4f, 0x60, 0x8d, 0x7b, 0x8f, 0x16, 0xea, 0x91, 0x28, 0x88, 0x57, 0xa4, 0x44, 0x52, + 0x47, 0x85, 0x6c, 0x1d, 0xe9, 0x3f, 0x16, 0xa1, 0xc9, 0x1f, 0x39, 0xef, 0xb9, 0x73, 0x36, 0x08, + 0x99, 0xee, 0xb9, 0x73, 0xd0, 0xdb, 0x8f, 0x39, 0xc5, 0x37, 0x18, 0x73, 0x4a, 0xf9, 0x63, 0x8e, + 0x6c, 0x42, 0x7d, 0xe2, 0x34, 0x53, 0xfe, 0x4f, 0x4f, 0x33, 0xe9, 0x98, 0x02, 0xaf, 0x3d, 0xa6, + 0xfc, 0x5c, 0x02, 0x74, 0xe2, 0x5f, 0x60, 0xef, 0xd8, 0x1f, 0x84, 0x3d, 0x1c, 0x47, 0xb9, 0x05, + 0x35, 0x36, 0x93, 0xa6, 0x41, 0x3a, 0xb8, 0x62, 0x54, 0x29, 0xe9, 0x73, 0xcb, 0xc5, 0x34, 0xb1, + 0xda, 0xb0, 0x20, 0x57, 0x2b, 0x03, 0xb2, 0xd8, 0x1f, 0x28, 0xc6, 0xbc, 0xc4, 0x89, 0xf1, 0xf7, + 0x60, 0x49, 0xc6, 0x27, 0x2d, 0x84, 0xf5, 0xdd, 0x83, 0x82, 0xb1, 0x18, 0x8c, 0x3f, 0x7c, 0x39, + 0xe7, 0x92, 0x20, 0xb1, 0x61, 0xf4, 0xa0, 0x98, 0x39, 0x17, 0xe7, 0x2a, 0x3d, 0xe7, 0xc2, 0x8a, + 0x7c, 0x4e, 0xea, 0xbb, 0xbc, 0xa3, 0xdc, 0x4b, 0xdf, 0x98, 0x31, 0xf3, 0xe5, 0x26, 0x33, 0xda, + 0x7c, 0x97, 0x83, 0x3c, 0x1e, 0x1d, 0xd3, 0x98, 0xc3, 0x7a, 0x2c, 0xcd, 0xc5, 0xd8, 0xab, 0x8d, + 0x8c, 0x79, 0x52, 0x05, 0x1c, 0x94, 0xf8, 0x88, 0xcf, 0x89, 0x2f, 0x15, 0x45, 0x3b, 0x00, 0x6d, + 0xf2, 0xb5, 0x6f, 0xd2, 0xd4, 0x3b, 0x0d, 0x00, 0x33, 0x89, 0x5e, 0x67, 0x11, 0x9a, 0xe6, 0x68, + 0xa4, 0x3a, 0xab, 0xb0, 0x6c, 0xe6, 0x85, 0x63, 0x8c, 0x11, 0xfb, 0xbb, 0x33, 0x07, 0x0d, 0x53, + 0xb2, 0x50, 0xb7, 0x60, 0x31, 0xe3, 0x38, 0xf1, 0x92, 0x6f, 0x00, 0x44, 0x38, 0xbc, 0xc4, 0xa1, + 0x39, 0x08, 0xfb, 0x42, 0xdd, 0x1a, 0xa7, 0x3c, 0x0b, 0xfb, 0xb4, 0x7c, 0x33, 0x3d, 0x9e, 0x4a, + 0x10, 0x06, 0xc8, 0xe9, 0xc4, 0x24, 0xeb, 0x97, 0xb0, 0xf6, 0xc8, 0x0f, 0x7f, 0xb0, 0x42, 0xfb, + 0x1f, 0x78, 0xeb, 0x6f, 0x66, 0x3b, 0x31, 0x3b, 0xcb, 0xdf, 0x7c, 0xb9, 0x0b, 0xd3, 0x38, 0xe9, + 0x57, 0x41, 0xcb, 0xbb, 0x57, 0x74, 0xc7, 0x08, 0x56, 0x8e, 0x46, 0x47, 0xab, 0x7f, 0x5d, 0xa5, + 0x35, 0x58, 0x3d, 0x9a, 0x30, 0xcf, 0xfd, 0xaa, 0x40, 0xb3, 0x8b, 0xc3, 0xe7, 0x7e, 0xe8, 0x1a, + 0x41, 0x6f, 0x9a, 0x2e, 0x77, 0x61, 0x29, 0xe7, 0x75, 0x89, 0xf5, 0x5a, 0x1c, 0x7f, 0x5b, 0x86, + 0x68, 0x05, 0x2a, 0x2e, 0x26, 0xe7, 0x7e, 0x3c, 0xe1, 0x89, 0x2f, 0xa4, 0xc2, 0x4c, 0x60, 0x0d, + 0xfb, 0xbe, 0x15, 0x6f, 0x85, 0xf1, 0x27, 0x6a, 0xc3, 0x62, 0x28, 0x54, 0x8b, 0xfb, 0xb3, 0xe9, + 0xf2, 0xce, 0x39, 0x6b, 0x34, 0x63, 0x96, 0xe8, 0xd0, 0x47, 0x91, 0xde, 0x06, 0x24, 0x6b, 0x2f, + 0xd2, 0x48, 0x92, 0xaf, 0x64, 0xe4, 0x6f, 0xff, 0x51, 0x85, 0x3a, 0x75, 0xc9, 0x31, 0x0e, 0x2f, + 0x9d, 0x1e, 0x46, 0xf7, 0x01, 0xd2, 0x35, 0x1b, 0xa5, 0x15, 0x37, 0xb6, 0x7b, 0x6b, 0xd9, 0xf5, + 0x01, 0x75, 0xa0, 0x96, 0x6c, 0x1c, 0x68, 0x2d, 0xe1, 0x8d, 0xee, 0x2b, 0x9a, 0x96, 0xc7, 0x12, + 0x6a, 0xee, 0x03, 0xa4, 0x2b, 0x85, 0x74, 0xf9, 0xd8, 0x42, 0xa2, 0xad, 0xe7, 0xf2, 0x84, 0x98, + 0x2f, 0xf9, 0x9a, 0x94, 0x79, 0x90, 0x5a, 0x99, 0x6b, 0x73, 0xd6, 0x13, 0xed, 0xc6, 0x14, 0x84, + 0x10, 0xfc, 0x14, 0xe6, 0x1e, 0x63, 0x99, 0x25, 0x89, 0x9d, 0xb0, 0x6c, 0x68, 0x13, 0xf7, 0x15, + 0xf4, 0x35, 0x34, 0xc7, 0xd6, 0x8a, 0xd7, 0x10, 0xa8, 0xa7, 0x88, 0x49, 0x4b, 0x09, 0x3a, 0x06, + 0x44, 0x37, 0x83, 0xee, 0xe0, 0xb4, 0xef, 0x44, 0xe7, 0xd8, 0x66, 0x73, 0x1c, 0xda, 0x48, 0x4e, + 0xe6, 0x6d, 0x2c, 0xda, 0xb5, 0x49, 0x6c, 0x21, 0xb4, 0x0b, 0xcd, 0xb1, 0x99, 0x1a, 0xdd, 0x78, + 0xe5, 0xbc, 0x3d, 0xc5, 0x03, 0xdf, 0xc1, 0x62, 0xce, 0x5c, 0x89, 0x36, 0x47, 0x64, 0xe6, 0xcd, + 0xd2, 0xda, 0xff, 0xa6, 0x83, 0x84, 0xce, 0x9f, 0x42, 0x35, 0x9e, 0xc7, 0x50, 0xaa, 0xc7, 0xc8, + 0xb0, 0xaa, 0xad, 0xe5, 0x70, 0x84, 0x80, 0xc7, 0x80, 0xc6, 0x87, 0x37, 0xa4, 0x8f, 0x5c, 0x9e, + 0x33, 0xd9, 0x8d, 0xd6, 0xc7, 0xb7, 0x80, 0xc6, 0xbb, 0xa0, 0x24, 0x68, 0x62, 0x6b, 0xd6, 0x36, + 0xa7, 0x62, 0x84, 0x9e, 0x27, 0x30, 0x3f, 0xd2, 0xd1, 0xd0, 0xf5, 0x34, 0x9e, 0xb9, 0x0d, 0x56, + 0x6b, 0x4d, 0x06, 0xa4, 0x05, 0x99, 0x76, 0x13, 0xa9, 0x20, 0xc7, 0x1a, 0xa4, 0x54, 0x90, 0xe3, + 0xed, 0xa7, 0xf3, 0xe8, 0x9b, 0xcd, 0x33, 0x87, 0x9c, 0x0f, 0x4e, 0xdb, 0x3d, 0xdf, 0xbd, 0x23, + 0x80, 0x77, 0xd8, 0x1f, 0x7b, 0x3d, 0xbf, 0x1f, 0x13, 0x7e, 0x2a, 0xcc, 0x3e, 0x75, 0x2e, 0xf1, + 0x13, 0x2a, 0x83, 0xb2, 0xfe, 0x2c, 0xcc, 0x89, 0xef, 0x9d, 0x1d, 0x46, 0x38, 0xad, 0xb0, 0x23, + 0x1f, 0xfc, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x87, 0x7c, 0x2e, 0xae, 0x74, 0x14, 0x00, 0x00, } From bd3014d0c8b8b614d3fe5654ed40da7f29ab17df Mon Sep 17 00:00:00 2001 From: Ryan Gaus Date: Mon, 22 Sep 2025 17:06:04 -0400 Subject: [PATCH 3/7] feat: add changeset --- .changeset/slick-facts-shine.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/slick-facts-shine.md diff --git a/.changeset/slick-facts-shine.md b/.changeset/slick-facts-shine.md new file mode 100644 index 000000000..d42fa1206 --- /dev/null +++ b/.changeset/slick-facts-shine.md @@ -0,0 +1,5 @@ +--- +"@livekit/protocol": patch +--- + +Add new TokenSourceRequest / TokenSourceResponse message types From 65fdbfc8c160d0c382157cc9b83755261b14df58 Mon Sep 17 00:00:00 2001 From: Ryan Gaus Date: Tue, 23 Sep 2025 10:04:37 -0400 Subject: [PATCH 4/7] refactor: move TokenSourceRequest / TokenSourceResponse to new proto file --- magefile.go | 1 + protobufs/livekit_room.proto | 27 --------------- protobufs/livekit_token_source.proto | 49 ++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 27 deletions(-) create mode 100644 protobufs/livekit_token_source.proto diff --git a/magefile.go b/magefile.go index bd43baf37..f2a1f5238 100644 --- a/magefile.go +++ b/magefile.go @@ -59,6 +59,7 @@ func Proto() error { "livekit_rtc.proto", "livekit_webhook.proto", "livekit_metrics.proto", + "livekit_token_source.proto", } grpcProtoFiles := []string{ "infra/link.proto", diff --git a/protobufs/livekit_room.proto b/protobufs/livekit_room.proto index ede65c7b9..eddb17d78 100644 --- a/protobufs/livekit_room.proto +++ b/protobufs/livekit_room.proto @@ -247,33 +247,6 @@ message RoomConfiguration { // NEXT_ID: 12 } -message TokenSourceRequest { - // The name of the room being requested when generating credentials - optional string room_name = 1; - - // The name of the participant being requested for this client when generating credentials - optional string participant_name = 2; - - // The identity of the participant being requested for this client when generating credentials - optional string participant_identity = 3; - - // Any participant metadata being included along with the credentials generation operation - optional string participant_metadata = 4; - - // Any participant attributes being included along with the credentials generation operation - map participant_attributes = 5; - - // A RoomConfiguration object can be passed to request extra parameters should be included when - // generating connection credentials - dispatching agents, defining egress settings, etc - // More info: https://docs.livekit.io/home/get-started/authentication/#room-configuration - optional RoomConfiguration room_config = 6; -} - -message TokenSourceResponse { - string server_url = 1; - string participant_token = 2; -} - message ForwardParticipantRequest { // room to forward participant from string room = 1; diff --git a/protobufs/livekit_token_source.proto b/protobufs/livekit_token_source.proto new file mode 100644 index 000000000..4f9882e76 --- /dev/null +++ b/protobufs/livekit_token_source.proto @@ -0,0 +1,49 @@ +// Copyright 2025 LiveKit, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package livekit; +option go_package = "github.com/livekit/protocol/livekit"; +option csharp_namespace = "LiveKit.Proto"; +option ruby_package = "LiveKit::Proto"; + +import "livekit_room.proto"; + +message TokenSourceRequest { + // The name of the room being requested when generating credentials + optional string room_name = 1; + + // The name of the participant being requested for this client when generating credentials + optional string participant_name = 2; + + // The identity of the participant being requested for this client when generating credentials + optional string participant_identity = 3; + + // Any participant metadata being included along with the credentials generation operation + optional string participant_metadata = 4; + + // Any participant attributes being included along with the credentials generation operation + map participant_attributes = 5; + + // A RoomConfiguration object can be passed to request extra parameters should be included when + // generating connection credentials - dispatching agents, defining egress settings, etc + // More info: https://docs.livekit.io/home/get-started/authentication/#room-configuration + optional RoomConfiguration room_config = 6; +} + +message TokenSourceResponse { + string server_url = 1; + string participant_token = 2; +} From 871e1e71999364dec24e8b760ad83ec835c541d2 Mon Sep 17 00:00:00 2001 From: Ryan Gaus Date: Tue, 23 Sep 2025 10:05:35 -0400 Subject: [PATCH 5/7] Revert "generated protobuf" This reverts commit 597f885122841dc697f03146857865652052f5a0. --- livekit/livekit_room.pb.go | 339 +++++++++------------------------- livekit/livekit_room.twirp.go | 200 ++++++++++---------- 2 files changed, 178 insertions(+), 361 deletions(-) diff --git a/livekit/livekit_room.pb.go b/livekit/livekit_room.pb.go index 7f6d5cb92..5f6ca0215 100644 --- a/livekit/livekit_room.pb.go +++ b/livekit/livekit_room.pb.go @@ -1272,150 +1272,6 @@ func (x *RoomConfiguration) GetAgents() []*RoomAgentDispatch { return nil } -type TokenSourceRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - // The name of the room being requested when generating credentials - RoomName *string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3,oneof" json:"room_name,omitempty"` - // The name of the participant being requested for this client when generating credentials - ParticipantName *string `protobuf:"bytes,2,opt,name=participant_name,json=participantName,proto3,oneof" json:"participant_name,omitempty"` - // The identity of the participant being requested for this client when generating credentials - ParticipantIdentity *string `protobuf:"bytes,3,opt,name=participant_identity,json=participantIdentity,proto3,oneof" json:"participant_identity,omitempty"` - // Any participant metadata being included along with the credentials generation operation - ParticipantMetadata *string `protobuf:"bytes,4,opt,name=participant_metadata,json=participantMetadata,proto3,oneof" json:"participant_metadata,omitempty"` - // Any participant attributes being included along with the credentials generation operation - ParticipantAttributes map[string]string `protobuf:"bytes,5,rep,name=participant_attributes,json=participantAttributes,proto3" json:"participant_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - // A RoomConfiguration object can be passed to request extra parameters should be included when - // generating connection credentials - dispatching agents, defining egress settings, etc - // More info: https://docs.livekit.io/home/get-started/authentication/#room-configuration - RoomConfig *RoomConfiguration `protobuf:"bytes,6,opt,name=room_config,json=roomConfig,proto3,oneof" json:"room_config,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *TokenSourceRequest) Reset() { - *x = TokenSourceRequest{} - mi := &file_livekit_room_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TokenSourceRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TokenSourceRequest) ProtoMessage() {} - -func (x *TokenSourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[20] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TokenSourceRequest.ProtoReflect.Descriptor instead. -func (*TokenSourceRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{20} -} - -func (x *TokenSourceRequest) GetRoomName() string { - if x != nil && x.RoomName != nil { - return *x.RoomName - } - return "" -} - -func (x *TokenSourceRequest) GetParticipantName() string { - if x != nil && x.ParticipantName != nil { - return *x.ParticipantName - } - return "" -} - -func (x *TokenSourceRequest) GetParticipantIdentity() string { - if x != nil && x.ParticipantIdentity != nil { - return *x.ParticipantIdentity - } - return "" -} - -func (x *TokenSourceRequest) GetParticipantMetadata() string { - if x != nil && x.ParticipantMetadata != nil { - return *x.ParticipantMetadata - } - return "" -} - -func (x *TokenSourceRequest) GetParticipantAttributes() map[string]string { - if x != nil { - return x.ParticipantAttributes - } - return nil -} - -func (x *TokenSourceRequest) GetRoomConfig() *RoomConfiguration { - if x != nil { - return x.RoomConfig - } - return nil -} - -type TokenSourceResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - ServerUrl string `protobuf:"bytes,1,opt,name=server_url,json=serverUrl,proto3" json:"server_url,omitempty"` - ParticipantToken string `protobuf:"bytes,2,opt,name=participant_token,json=participantToken,proto3" json:"participant_token,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *TokenSourceResponse) Reset() { - *x = TokenSourceResponse{} - mi := &file_livekit_room_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *TokenSourceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TokenSourceResponse) ProtoMessage() {} - -func (x *TokenSourceResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[21] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TokenSourceResponse.ProtoReflect.Descriptor instead. -func (*TokenSourceResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{21} -} - -func (x *TokenSourceResponse) GetServerUrl() string { - if x != nil { - return x.ServerUrl - } - return "" -} - -func (x *TokenSourceResponse) GetParticipantToken() string { - if x != nil { - return x.ParticipantToken - } - return "" -} - type ForwardParticipantRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // room to forward participant from @@ -1430,7 +1286,7 @@ type ForwardParticipantRequest struct { func (x *ForwardParticipantRequest) Reset() { *x = ForwardParticipantRequest{} - mi := &file_livekit_room_proto_msgTypes[22] + mi := &file_livekit_room_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1442,7 +1298,7 @@ func (x *ForwardParticipantRequest) String() string { func (*ForwardParticipantRequest) ProtoMessage() {} func (x *ForwardParticipantRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[22] + mi := &file_livekit_room_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1455,7 +1311,7 @@ func (x *ForwardParticipantRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ForwardParticipantRequest.ProtoReflect.Descriptor instead. func (*ForwardParticipantRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{22} + return file_livekit_room_proto_rawDescGZIP(), []int{20} } func (x *ForwardParticipantRequest) GetRoom() string { @@ -1487,7 +1343,7 @@ type ForwardParticipantResponse struct { func (x *ForwardParticipantResponse) Reset() { *x = ForwardParticipantResponse{} - mi := &file_livekit_room_proto_msgTypes[23] + mi := &file_livekit_room_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1499,7 +1355,7 @@ func (x *ForwardParticipantResponse) String() string { func (*ForwardParticipantResponse) ProtoMessage() {} func (x *ForwardParticipantResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[23] + mi := &file_livekit_room_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1512,7 +1368,7 @@ func (x *ForwardParticipantResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ForwardParticipantResponse.ProtoReflect.Descriptor instead. func (*ForwardParticipantResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{23} + return file_livekit_room_proto_rawDescGZIP(), []int{21} } type MoveParticipantRequest struct { @@ -1529,7 +1385,7 @@ type MoveParticipantRequest struct { func (x *MoveParticipantRequest) Reset() { *x = MoveParticipantRequest{} - mi := &file_livekit_room_proto_msgTypes[24] + mi := &file_livekit_room_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1541,7 +1397,7 @@ func (x *MoveParticipantRequest) String() string { func (*MoveParticipantRequest) ProtoMessage() {} func (x *MoveParticipantRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[24] + mi := &file_livekit_room_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1554,7 +1410,7 @@ func (x *MoveParticipantRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveParticipantRequest.ProtoReflect.Descriptor instead. func (*MoveParticipantRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{24} + return file_livekit_room_proto_rawDescGZIP(), []int{22} } func (x *MoveParticipantRequest) GetRoom() string { @@ -1586,7 +1442,7 @@ type MoveParticipantResponse struct { func (x *MoveParticipantResponse) Reset() { *x = MoveParticipantResponse{} - mi := &file_livekit_room_proto_msgTypes[25] + mi := &file_livekit_room_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1598,7 +1454,7 @@ func (x *MoveParticipantResponse) String() string { func (*MoveParticipantResponse) ProtoMessage() {} func (x *MoveParticipantResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[25] + mi := &file_livekit_room_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1611,7 +1467,7 @@ func (x *MoveParticipantResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveParticipantResponse.ProtoReflect.Descriptor instead. func (*MoveParticipantResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{25} + return file_livekit_room_proto_rawDescGZIP(), []int{23} } type PerformRpcRequest struct { @@ -1627,7 +1483,7 @@ type PerformRpcRequest struct { func (x *PerformRpcRequest) Reset() { *x = PerformRpcRequest{} - mi := &file_livekit_room_proto_msgTypes[26] + mi := &file_livekit_room_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1639,7 +1495,7 @@ func (x *PerformRpcRequest) String() string { func (*PerformRpcRequest) ProtoMessage() {} func (x *PerformRpcRequest) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[26] + mi := &file_livekit_room_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1652,7 +1508,7 @@ func (x *PerformRpcRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PerformRpcRequest.ProtoReflect.Descriptor instead. func (*PerformRpcRequest) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{26} + return file_livekit_room_proto_rawDescGZIP(), []int{24} } func (x *PerformRpcRequest) GetRoom() string { @@ -1699,7 +1555,7 @@ type PerformRpcResponse struct { func (x *PerformRpcResponse) Reset() { *x = PerformRpcResponse{} - mi := &file_livekit_room_proto_msgTypes[27] + mi := &file_livekit_room_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1711,7 +1567,7 @@ func (x *PerformRpcResponse) String() string { func (*PerformRpcResponse) ProtoMessage() {} func (x *PerformRpcResponse) ProtoReflect() protoreflect.Message { - mi := &file_livekit_room_proto_msgTypes[27] + mi := &file_livekit_room_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1724,7 +1580,7 @@ func (x *PerformRpcResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PerformRpcResponse.ProtoReflect.Descriptor instead. func (*PerformRpcResponse) Descriptor() ([]byte, []int) { - return file_livekit_room_proto_rawDescGZIP(), []int{27} + return file_livekit_room_proto_rawDescGZIP(), []int{25} } func (x *PerformRpcResponse) GetPayload() string { @@ -1832,28 +1688,7 @@ const file_livekit_room_proto_rawDesc = "" + "\x11max_playout_delay\x18\b \x01(\rR\x0fmaxPlayoutDelay\x12!\n" + "\fsync_streams\x18\t \x01(\bR\vsyncStreams\x122\n" + "\x06agents\x18\n" + - " \x03(\v2\x1a.livekit.RoomAgentDispatchR\x06agents\"\xb6\x04\n" + - "\x12TokenSourceRequest\x12 \n" + - "\troom_name\x18\x01 \x01(\tH\x00R\broomName\x88\x01\x01\x12.\n" + - "\x10participant_name\x18\x02 \x01(\tH\x01R\x0fparticipantName\x88\x01\x01\x126\n" + - "\x14participant_identity\x18\x03 \x01(\tH\x02R\x13participantIdentity\x88\x01\x01\x126\n" + - "\x14participant_metadata\x18\x04 \x01(\tH\x03R\x13participantMetadata\x88\x01\x01\x12m\n" + - "\x16participant_attributes\x18\x05 \x03(\v26.livekit.TokenSourceRequest.ParticipantAttributesEntryR\x15participantAttributes\x12@\n" + - "\vroom_config\x18\x06 \x01(\v2\x1a.livekit.RoomConfigurationH\x04R\n" + - "roomConfig\x88\x01\x01\x1aH\n" + - "\x1aParticipantAttributesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\f\n" + - "\n" + - "_room_nameB\x13\n" + - "\x11_participant_nameB\x17\n" + - "\x15_participant_identityB\x17\n" + - "\x15_participant_metadataB\x0e\n" + - "\f_room_config\"a\n" + - "\x13TokenSourceResponse\x12\x1d\n" + - "\n" + - "server_url\x18\x01 \x01(\tR\tserverUrl\x12+\n" + - "\x11participant_token\x18\x02 \x01(\tR\x10participantToken\"v\n" + + " \x03(\v2\x1a.livekit.RoomAgentDispatchR\x06agents\"v\n" + "\x19ForwardParticipantRequest\x12\x12\n" + "\x04room\x18\x01 \x01(\tR\x04room\x12\x1a\n" + "\bidentity\x18\x02 \x01(\tR\bidentity\x12)\n" + @@ -1903,7 +1738,7 @@ func file_livekit_room_proto_rawDescGZIP() []byte { return file_livekit_room_proto_rawDescData } -var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 27) var file_livekit_room_proto_goTypes = []any{ (*CreateRoomRequest)(nil), // 0: livekit.CreateRoomRequest (*RoomEgress)(nil), // 1: livekit.RoomEgress @@ -1925,78 +1760,73 @@ var file_livekit_room_proto_goTypes = []any{ (*SendDataResponse)(nil), // 17: livekit.SendDataResponse (*UpdateRoomMetadataRequest)(nil), // 18: livekit.UpdateRoomMetadataRequest (*RoomConfiguration)(nil), // 19: livekit.RoomConfiguration - (*TokenSourceRequest)(nil), // 20: livekit.TokenSourceRequest - (*TokenSourceResponse)(nil), // 21: livekit.TokenSourceResponse - (*ForwardParticipantRequest)(nil), // 22: livekit.ForwardParticipantRequest - (*ForwardParticipantResponse)(nil), // 23: livekit.ForwardParticipantResponse - (*MoveParticipantRequest)(nil), // 24: livekit.MoveParticipantRequest - (*MoveParticipantResponse)(nil), // 25: livekit.MoveParticipantResponse - (*PerformRpcRequest)(nil), // 26: livekit.PerformRpcRequest - (*PerformRpcResponse)(nil), // 27: livekit.PerformRpcResponse - nil, // 28: livekit.UpdateParticipantRequest.AttributesEntry - nil, // 29: livekit.TokenSourceRequest.ParticipantAttributesEntry - (*RoomAgentDispatch)(nil), // 30: livekit.RoomAgentDispatch - (*RoomCompositeEgressRequest)(nil), // 31: livekit.RoomCompositeEgressRequest - (*AutoParticipantEgress)(nil), // 32: livekit.AutoParticipantEgress - (*AutoTrackEgress)(nil), // 33: livekit.AutoTrackEgress - (*Room)(nil), // 34: livekit.Room - (*ParticipantInfo)(nil), // 35: livekit.ParticipantInfo - (*TrackInfo)(nil), // 36: livekit.TrackInfo - (*ParticipantPermission)(nil), // 37: livekit.ParticipantPermission - (*ParticipantTracks)(nil), // 38: livekit.ParticipantTracks - (DataPacket_Kind)(0), // 39: livekit.DataPacket.Kind + (*ForwardParticipantRequest)(nil), // 20: livekit.ForwardParticipantRequest + (*ForwardParticipantResponse)(nil), // 21: livekit.ForwardParticipantResponse + (*MoveParticipantRequest)(nil), // 22: livekit.MoveParticipantRequest + (*MoveParticipantResponse)(nil), // 23: livekit.MoveParticipantResponse + (*PerformRpcRequest)(nil), // 24: livekit.PerformRpcRequest + (*PerformRpcResponse)(nil), // 25: livekit.PerformRpcResponse + nil, // 26: livekit.UpdateParticipantRequest.AttributesEntry + (*RoomAgentDispatch)(nil), // 27: livekit.RoomAgentDispatch + (*RoomCompositeEgressRequest)(nil), // 28: livekit.RoomCompositeEgressRequest + (*AutoParticipantEgress)(nil), // 29: livekit.AutoParticipantEgress + (*AutoTrackEgress)(nil), // 30: livekit.AutoTrackEgress + (*Room)(nil), // 31: livekit.Room + (*ParticipantInfo)(nil), // 32: livekit.ParticipantInfo + (*TrackInfo)(nil), // 33: livekit.TrackInfo + (*ParticipantPermission)(nil), // 34: livekit.ParticipantPermission + (*ParticipantTracks)(nil), // 35: livekit.ParticipantTracks + (DataPacket_Kind)(0), // 36: livekit.DataPacket.Kind } var file_livekit_room_proto_depIdxs = []int32{ 1, // 0: livekit.CreateRoomRequest.egress:type_name -> livekit.RoomEgress - 30, // 1: livekit.CreateRoomRequest.agents:type_name -> livekit.RoomAgentDispatch - 31, // 2: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest - 32, // 3: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress - 33, // 4: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress - 30, // 5: livekit.RoomAgent.dispatches:type_name -> livekit.RoomAgentDispatch - 34, // 6: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room - 35, // 7: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo - 36, // 8: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo - 37, // 9: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission - 28, // 10: livekit.UpdateParticipantRequest.attributes:type_name -> livekit.UpdateParticipantRequest.AttributesEntry - 38, // 11: livekit.UpdateSubscriptionsRequest.participant_tracks:type_name -> livekit.ParticipantTracks - 39, // 12: livekit.SendDataRequest.kind:type_name -> livekit.DataPacket.Kind + 27, // 1: livekit.CreateRoomRequest.agents:type_name -> livekit.RoomAgentDispatch + 28, // 2: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest + 29, // 3: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress + 30, // 4: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress + 27, // 5: livekit.RoomAgent.dispatches:type_name -> livekit.RoomAgentDispatch + 31, // 6: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room + 32, // 7: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo + 33, // 8: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo + 34, // 9: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission + 26, // 10: livekit.UpdateParticipantRequest.attributes:type_name -> livekit.UpdateParticipantRequest.AttributesEntry + 35, // 11: livekit.UpdateSubscriptionsRequest.participant_tracks:type_name -> livekit.ParticipantTracks + 36, // 12: livekit.SendDataRequest.kind:type_name -> livekit.DataPacket.Kind 1, // 13: livekit.RoomConfiguration.egress:type_name -> livekit.RoomEgress - 30, // 14: livekit.RoomConfiguration.agents:type_name -> livekit.RoomAgentDispatch - 29, // 15: livekit.TokenSourceRequest.participant_attributes:type_name -> livekit.TokenSourceRequest.ParticipantAttributesEntry - 19, // 16: livekit.TokenSourceRequest.room_config:type_name -> livekit.RoomConfiguration - 0, // 17: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest - 3, // 18: livekit.RoomService.ListRooms:input_type -> livekit.ListRoomsRequest - 5, // 19: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest - 7, // 20: livekit.RoomService.ListParticipants:input_type -> livekit.ListParticipantsRequest - 9, // 21: livekit.RoomService.GetParticipant:input_type -> livekit.RoomParticipantIdentity - 9, // 22: livekit.RoomService.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity - 11, // 23: livekit.RoomService.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest - 13, // 24: livekit.RoomService.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest - 14, // 25: livekit.RoomService.UpdateSubscriptions:input_type -> livekit.UpdateSubscriptionsRequest - 16, // 26: livekit.RoomService.SendData:input_type -> livekit.SendDataRequest - 18, // 27: livekit.RoomService.UpdateRoomMetadata:input_type -> livekit.UpdateRoomMetadataRequest - 22, // 28: livekit.RoomService.ForwardParticipant:input_type -> livekit.ForwardParticipantRequest - 24, // 29: livekit.RoomService.MoveParticipant:input_type -> livekit.MoveParticipantRequest - 26, // 30: livekit.RoomService.PerformRpc:input_type -> livekit.PerformRpcRequest - 34, // 31: livekit.RoomService.CreateRoom:output_type -> livekit.Room - 4, // 32: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse - 6, // 33: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse - 8, // 34: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse - 35, // 35: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo - 10, // 36: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse - 12, // 37: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse - 35, // 38: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo - 15, // 39: livekit.RoomService.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse - 17, // 40: livekit.RoomService.SendData:output_type -> livekit.SendDataResponse - 34, // 41: livekit.RoomService.UpdateRoomMetadata:output_type -> livekit.Room - 23, // 42: livekit.RoomService.ForwardParticipant:output_type -> livekit.ForwardParticipantResponse - 25, // 43: livekit.RoomService.MoveParticipant:output_type -> livekit.MoveParticipantResponse - 27, // 44: livekit.RoomService.PerformRpc:output_type -> livekit.PerformRpcResponse - 31, // [31:45] is the sub-list for method output_type - 17, // [17:31] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 17, // [17:17] is the sub-list for extension extendee - 0, // [0:17] is the sub-list for field type_name + 27, // 14: livekit.RoomConfiguration.agents:type_name -> livekit.RoomAgentDispatch + 0, // 15: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest + 3, // 16: livekit.RoomService.ListRooms:input_type -> livekit.ListRoomsRequest + 5, // 17: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest + 7, // 18: livekit.RoomService.ListParticipants:input_type -> livekit.ListParticipantsRequest + 9, // 19: livekit.RoomService.GetParticipant:input_type -> livekit.RoomParticipantIdentity + 9, // 20: livekit.RoomService.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity + 11, // 21: livekit.RoomService.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest + 13, // 22: livekit.RoomService.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest + 14, // 23: livekit.RoomService.UpdateSubscriptions:input_type -> livekit.UpdateSubscriptionsRequest + 16, // 24: livekit.RoomService.SendData:input_type -> livekit.SendDataRequest + 18, // 25: livekit.RoomService.UpdateRoomMetadata:input_type -> livekit.UpdateRoomMetadataRequest + 20, // 26: livekit.RoomService.ForwardParticipant:input_type -> livekit.ForwardParticipantRequest + 22, // 27: livekit.RoomService.MoveParticipant:input_type -> livekit.MoveParticipantRequest + 24, // 28: livekit.RoomService.PerformRpc:input_type -> livekit.PerformRpcRequest + 31, // 29: livekit.RoomService.CreateRoom:output_type -> livekit.Room + 4, // 30: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse + 6, // 31: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse + 8, // 32: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse + 32, // 33: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo + 10, // 34: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse + 12, // 35: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse + 32, // 36: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo + 15, // 37: livekit.RoomService.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse + 17, // 38: livekit.RoomService.SendData:output_type -> livekit.SendDataResponse + 31, // 39: livekit.RoomService.UpdateRoomMetadata:output_type -> livekit.Room + 21, // 40: livekit.RoomService.ForwardParticipant:output_type -> livekit.ForwardParticipantResponse + 23, // 41: livekit.RoomService.MoveParticipant:output_type -> livekit.MoveParticipantResponse + 25, // 42: livekit.RoomService.PerformRpc:output_type -> livekit.PerformRpcResponse + 29, // [29:43] is the sub-list for method output_type + 15, // [15:29] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_livekit_room_proto_init() } @@ -2008,14 +1838,13 @@ func file_livekit_room_proto_init() { file_livekit_egress_proto_init() file_livekit_agent_dispatch_proto_init() file_livekit_room_proto_msgTypes[16].OneofWrappers = []any{} - file_livekit_room_proto_msgTypes[20].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_livekit_room_proto_rawDesc), len(file_livekit_room_proto_rawDesc)), NumEnums: 0, - NumMessages: 30, + NumMessages: 27, NumExtensions: 0, NumServices: 1, }, diff --git a/livekit/livekit_room.twirp.go b/livekit/livekit_room.twirp.go index e4f42114e..7c2035ea0 100644 --- a/livekit/livekit_room.twirp.go +++ b/livekit/livekit_room.twirp.go @@ -4167,110 +4167,98 @@ func (s *roomServiceServer) PathPrefix() string { } var twirpFileDescriptor3 = []byte{ - // 1679 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x69, 0x6e, 0xdb, 0xc6, - 0x17, 0x0f, 0xb5, 0x59, 0x7a, 0x92, 0x17, 0x8d, 0x37, 0x9a, 0x8e, 0x13, 0x85, 0xfe, 0xff, 0x51, - 0xa7, 0x69, 0x94, 0xc6, 0x45, 0x93, 0xc0, 0xe8, 0x66, 0xc5, 0x4e, 0x6c, 0x24, 0x2e, 0x54, 0xda, - 0x41, 0x17, 0xa0, 0x60, 0x69, 0x71, 0x62, 0x13, 0x16, 0x97, 0x92, 0x23, 0x37, 0xba, 0x41, 0x0e, - 0xd1, 0x13, 0xf4, 0x00, 0x05, 0x0a, 0xf4, 0x08, 0xfd, 0xd8, 0x13, 0xf4, 0x63, 0xef, 0x50, 0xa0, - 0x98, 0x85, 0xe4, 0x50, 0xa2, 0x94, 0x05, 0x2d, 0xd0, 0x6f, 0xe2, 0x7b, 0xbf, 0x79, 0xf3, 0xf6, - 0x79, 0x4f, 0x80, 0xfa, 0xce, 0x25, 0xbe, 0x70, 0x88, 0x19, 0xfa, 0xbe, 0xdb, 0x0e, 0x42, 0x9f, - 0xf8, 0x68, 0x46, 0xd0, 0xb4, 0xa5, 0x98, 0xe9, 0xfa, 0x36, 0xee, 0x47, 0x9c, 0x9d, 0x52, 0xf1, - 0x59, 0x88, 0xa3, 0x98, 0x7a, 0x35, 0xa6, 0x5a, 0x67, 0xd8, 0x23, 0xa6, 0xed, 0x44, 0x81, 0x45, - 0x7a, 0xe7, 0x9c, 0xab, 0xff, 0x55, 0x84, 0xe6, 0xc3, 0x10, 0x5b, 0x04, 0x1b, 0xbe, 0xef, 0x1a, - 0xf8, 0xfb, 0x01, 0x8e, 0x08, 0x42, 0x50, 0xf2, 0x2c, 0x17, 0xab, 0x4a, 0x4b, 0xd9, 0xaa, 0x19, - 0xec, 0x37, 0xba, 0x0e, 0x75, 0xaa, 0x8a, 0x19, 0x84, 0x38, 0xc2, 0x44, 0x6d, 0x30, 0x16, 0x50, - 0x52, 0x97, 0x51, 0xd0, 0x26, 0xcc, 0x62, 0x37, 0x20, 0x43, 0x93, 0x38, 0x2e, 0xf6, 0x07, 0x44, - 0x2d, 0xb4, 0x94, 0xad, 0x59, 0xa3, 0xc1, 0x88, 0x27, 0x9c, 0x86, 0x6e, 0x41, 0xd3, 0xc6, 0x81, - 0x15, 0x92, 0x41, 0x88, 0x13, 0x20, 0x30, 0xe0, 0x42, 0xc2, 0x88, 0xc1, 0x37, 0x61, 0xc1, 0xb5, - 0x5e, 0x98, 0x94, 0xea, 0xf4, 0x9c, 0xc0, 0xf2, 0x48, 0xa4, 0x16, 0x19, 0x76, 0xde, 0xb5, 0x5e, - 0x74, 0x25, 0x32, 0x5a, 0x85, 0x19, 0xcf, 0xb7, 0xb1, 0xe9, 0xd8, 0x6a, 0x89, 0x69, 0x56, 0xa1, - 0x9f, 0x87, 0x36, 0xd2, 0xa0, 0xea, 0x62, 0x62, 0xd9, 0x16, 0xb1, 0xd4, 0x32, 0xe3, 0x24, 0xdf, - 0xe8, 0x16, 0x54, 0xb8, 0xab, 0xd4, 0x4a, 0x4b, 0xd9, 0xaa, 0x6f, 0x2f, 0xb6, 0x85, 0xaf, 0xda, - 0xd4, 0x19, 0xfb, 0x8c, 0x65, 0x08, 0x08, 0x7a, 0x17, 0x9a, 0xae, 0xe3, 0x99, 0x41, 0xdf, 0x1a, - 0xfa, 0x03, 0x62, 0xda, 0xb8, 0x6f, 0x0d, 0xd5, 0x19, 0xa1, 0x8d, 0xe3, 0x75, 0x39, 0x7d, 0x8f, - 0x92, 0x19, 0x96, 0x2a, 0x9e, 0xc1, 0x56, 0x53, 0xcd, 0x65, 0xec, 0x0d, 0x68, 0x44, 0x43, 0xaf, - 0x67, 0x46, 0x24, 0xc4, 0x96, 0x1b, 0xa9, 0xb5, 0x96, 0xb2, 0x55, 0x35, 0xea, 0x94, 0x76, 0xcc, - 0x49, 0xe8, 0xff, 0x30, 0x17, 0x62, 0x2a, 0xcc, 0xc4, 0x9e, 0x75, 0xda, 0xc7, 0xb6, 0x3a, 0xcb, - 0x40, 0xb3, 0x9c, 0xba, 0xcf, 0x89, 0x68, 0x1b, 0x2a, 0x2c, 0xc6, 0x91, 0x3a, 0xd7, 0x2a, 0x6e, - 0xd5, 0xb7, 0xb5, 0x8c, 0x39, 0xbb, 0x94, 0xb5, 0x27, 0xa2, 0x6f, 0x08, 0xa4, 0xfe, 0x8b, 0x02, - 0x90, 0x1a, 0x8b, 0xee, 0x43, 0x89, 0x46, 0x94, 0x05, 0xbe, 0xbe, 0xbd, 0x99, 0x11, 0xf0, 0xd0, - 0x77, 0x03, 0x3f, 0x72, 0x08, 0x16, 0x8e, 0xe1, 0xb9, 0x62, 0xb0, 0x03, 0xe8, 0x33, 0xa8, 0x4b, - 0x61, 0x62, 0x51, 0xaa, 0x6f, 0x5f, 0x4b, 0xce, 0xef, 0x0e, 0x88, 0x2f, 0xc5, 0x4b, 0x48, 0x90, - 0x8f, 0xa0, 0xf7, 0xa1, 0x42, 0x42, 0xab, 0x77, 0x11, 0xb1, 0xbc, 0xa9, 0x6f, 0xab, 0x99, 0xc3, - 0x27, 0x94, 0x15, 0x47, 0x84, 0xe3, 0xf4, 0xc7, 0x50, 0x4b, 0x0c, 0x43, 0x3b, 0x00, 0x71, 0x6a, - 0xe3, 0x48, 0x55, 0x5e, 0xe9, 0x00, 0x09, 0xad, 0x6f, 0xc1, 0xc2, 0x53, 0x27, 0x22, 0x14, 0x14, - 0x9b, 0x85, 0x96, 0xa0, 0x4c, 0xd3, 0x9e, 0x8b, 0xaa, 0x19, 0xfc, 0x43, 0x7f, 0x00, 0x4d, 0x09, - 0x19, 0x05, 0xbe, 0x17, 0x61, 0xb4, 0x09, 0x65, 0xea, 0x83, 0xf8, 0xd6, 0xd9, 0xcc, 0xad, 0x06, - 0xe7, 0xe9, 0xef, 0x40, 0x73, 0x0f, 0xf7, 0xf1, 0x58, 0x9d, 0x25, 0xee, 0xae, 0x71, 0x4f, 0xea, - 0x4b, 0x80, 0x64, 0x20, 0xbf, 0x43, 0xbf, 0x0d, 0xab, 0xf4, 0x62, 0x39, 0xe7, 0xa7, 0x09, 0xf9, - 0x0a, 0xd4, 0x71, 0xb8, 0x50, 0xf7, 0x23, 0x68, 0x64, 0x2a, 0x8a, 0x6b, 0x9d, 0xba, 0x5b, 0x3a, - 0x74, 0xe8, 0x3d, 0xf7, 0x8d, 0x0c, 0x5a, 0x3f, 0x84, 0x55, 0xaa, 0x98, 0x0c, 0xb2, 0xb1, 0x47, - 0x1c, 0x32, 0xcc, 0x53, 0x84, 0x96, 0x9f, 0x23, 0xf8, 0x2c, 0xae, 0x35, 0x23, 0xf9, 0xd6, 0xd7, - 0x61, 0xcd, 0xc0, 0xae, 0x7f, 0x89, 0x25, 0x61, 0x89, 0xc1, 0x43, 0x58, 0x3a, 0x1a, 0x70, 0x27, - 0xb0, 0xd8, 0x4f, 0xb1, 0x76, 0xda, 0x25, 0x68, 0x1d, 0x6a, 0x2c, 0x5d, 0xcc, 0xc8, 0xb1, 0x59, - 0x5a, 0xd6, 0x8c, 0x2a, 0x23, 0x1c, 0x3b, 0x36, 0x0d, 0xb2, 0x3b, 0x20, 0x98, 0xf7, 0x8c, 0xaa, - 0xc1, 0x3f, 0xf4, 0x5d, 0x58, 0x1e, 0xb9, 0x5a, 0x78, 0x6e, 0x0b, 0xca, 0xec, 0xa8, 0x28, 0x0f, - 0x94, 0xb8, 0x8c, 0xc1, 0x98, 0xb3, 0x38, 0x40, 0xff, 0xad, 0x00, 0xea, 0xb3, 0xc0, 0xb6, 0x48, - 0xd6, 0xb6, 0xb7, 0x33, 0x41, 0x6e, 0x61, 0xc5, 0x91, 0x16, 0xf6, 0x09, 0x40, 0x80, 0x43, 0xd7, - 0x89, 0x22, 0xc7, 0xf7, 0x98, 0x19, 0x72, 0xd9, 0x49, 0x97, 0x77, 0x13, 0x94, 0x21, 0x9d, 0x48, - 0x3a, 0x7d, 0x59, 0xea, 0xf4, 0x5f, 0x00, 0x58, 0x84, 0x84, 0xce, 0xe9, 0x80, 0x60, 0xda, 0x1a, - 0x69, 0x7a, 0xdc, 0x4d, 0x64, 0x4e, 0x32, 0xab, 0xbd, 0x9b, 0x9c, 0xd9, 0xf7, 0x48, 0x38, 0x34, - 0x24, 0x21, 0xda, 0xc7, 0x30, 0x3f, 0xc2, 0x46, 0x0b, 0x50, 0xbc, 0xc0, 0x43, 0xe1, 0x04, 0xfa, - 0x93, 0x46, 0xe3, 0xd2, 0xea, 0x0f, 0xb0, 0x70, 0x00, 0xff, 0xd8, 0x29, 0x3c, 0x50, 0xf4, 0xdf, - 0x15, 0xd0, 0xf8, 0xbd, 0xc7, 0x83, 0xd3, 0xa8, 0x17, 0x3a, 0x01, 0x71, 0x7c, 0x2f, 0x7a, 0x5b, - 0x87, 0x6e, 0x00, 0x24, 0x39, 0x41, 0x5f, 0x14, 0x5a, 0xe0, 0xb5, 0x38, 0x29, 0x22, 0x74, 0x15, - 0x6a, 0x11, 0xbf, 0xe6, 0x14, 0x8b, 0xcc, 0x48, 0x09, 0xe8, 0x10, 0x90, 0x54, 0x10, 0xa6, 0xe8, - 0x59, 0xe5, 0x91, 0x86, 0x23, 0xf9, 0x87, 0x25, 0x47, 0x64, 0x34, 0x83, 0x51, 0x92, 0xbe, 0x01, - 0xeb, 0xb9, 0x56, 0x89, 0x12, 0x78, 0x59, 0x80, 0xf9, 0x63, 0xec, 0xd9, 0x7b, 0x16, 0xb1, 0xa6, - 0x99, 0x8a, 0xa0, 0xc4, 0x72, 0x83, 0x9a, 0xd9, 0x30, 0xd8, 0x6f, 0xf4, 0x1e, 0x94, 0x2e, 0x1c, - 0x8f, 0x67, 0xfc, 0x9c, 0x54, 0xdc, 0x54, 0x56, 0xd7, 0xea, 0x5d, 0x60, 0xd2, 0x7e, 0xe2, 0x78, - 0xb6, 0xc1, 0x50, 0xe8, 0x36, 0x2c, 0xd8, 0x38, 0x22, 0x8e, 0x67, 0x51, 0x0d, 0xb8, 0x5b, 0x4a, - 0xd4, 0x2d, 0x9d, 0x82, 0xaa, 0x18, 0xf3, 0x12, 0x8f, 0x39, 0xe8, 0x43, 0x58, 0x91, 0xe1, 0xc2, - 0xaf, 0x8e, 0x48, 0x96, 0x9a, 0xb1, 0x2c, 0x71, 0x0f, 0x13, 0x26, 0x5a, 0x83, 0x32, 0xf1, 0x03, - 0xa7, 0xc7, 0x93, 0xed, 0xe0, 0x8a, 0xc1, 0x3f, 0x5f, 0x2a, 0x0a, 0xeb, 0xb6, 0xbe, 0xd7, 0xc3, - 0xec, 0x41, 0x6d, 0x18, 0xfc, 0xa3, 0x53, 0x85, 0x8a, 0xc9, 0x20, 0x3a, 0x82, 0x85, 0xd4, 0x13, - 0xc2, 0x3d, 0x4f, 0x60, 0x8d, 0x7b, 0x8f, 0x16, 0xea, 0x91, 0x28, 0x88, 0x57, 0xa4, 0x44, 0x52, - 0x47, 0x85, 0x6c, 0x1d, 0xe9, 0x3f, 0x16, 0xa1, 0xc9, 0x1f, 0x39, 0xef, 0xb9, 0x73, 0x36, 0x08, - 0x99, 0xee, 0xb9, 0x73, 0xd0, 0xdb, 0x8f, 0x39, 0xc5, 0x37, 0x18, 0x73, 0x4a, 0xf9, 0x63, 0x8e, - 0x6c, 0x42, 0x7d, 0xe2, 0x34, 0x53, 0xfe, 0x4f, 0x4f, 0x33, 0xe9, 0x98, 0x02, 0xaf, 0x3d, 0xa6, - 0xfc, 0x5c, 0x02, 0x74, 0xe2, 0x5f, 0x60, 0xef, 0xd8, 0x1f, 0x84, 0x3d, 0x1c, 0x47, 0xb9, 0x05, - 0x35, 0x36, 0x93, 0xa6, 0x41, 0x3a, 0xb8, 0x62, 0x54, 0x29, 0xe9, 0x73, 0xcb, 0xc5, 0x34, 0xb1, - 0xda, 0xb0, 0x20, 0x57, 0x2b, 0x03, 0xb2, 0xd8, 0x1f, 0x28, 0xc6, 0xbc, 0xc4, 0x89, 0xf1, 0xf7, - 0x60, 0x49, 0xc6, 0x27, 0x2d, 0x84, 0xf5, 0xdd, 0x83, 0x82, 0xb1, 0x18, 0x8c, 0x3f, 0x7c, 0x39, - 0xe7, 0x92, 0x20, 0xb1, 0x61, 0xf4, 0xa0, 0x98, 0x39, 0x17, 0xe7, 0x2a, 0x3d, 0xe7, 0xc2, 0x8a, - 0x7c, 0x4e, 0xea, 0xbb, 0xbc, 0xa3, 0xdc, 0x4b, 0xdf, 0x98, 0x31, 0xf3, 0xe5, 0x26, 0x33, 0xda, - 0x7c, 0x97, 0x83, 0x3c, 0x1e, 0x1d, 0xd3, 0x98, 0xc3, 0x7a, 0x2c, 0xcd, 0xc5, 0xd8, 0xab, 0x8d, - 0x8c, 0x79, 0x52, 0x05, 0x1c, 0x94, 0xf8, 0x88, 0xcf, 0x89, 0x2f, 0x15, 0x45, 0x3b, 0x00, 0x6d, - 0xf2, 0xb5, 0x6f, 0xd2, 0xd4, 0x3b, 0x0d, 0x00, 0x33, 0x89, 0x5e, 0x67, 0x11, 0x9a, 0xe6, 0x68, - 0xa4, 0x3a, 0xab, 0xb0, 0x6c, 0xe6, 0x85, 0x63, 0x8c, 0x11, 0xfb, 0xbb, 0x33, 0x07, 0x0d, 0x53, - 0xb2, 0x50, 0xb7, 0x60, 0x31, 0xe3, 0x38, 0xf1, 0x92, 0x6f, 0x00, 0x44, 0x38, 0xbc, 0xc4, 0xa1, - 0x39, 0x08, 0xfb, 0x42, 0xdd, 0x1a, 0xa7, 0x3c, 0x0b, 0xfb, 0xb4, 0x7c, 0x33, 0x3d, 0x9e, 0x4a, - 0x10, 0x06, 0xc8, 0xe9, 0xc4, 0x24, 0xeb, 0x97, 0xb0, 0xf6, 0xc8, 0x0f, 0x7f, 0xb0, 0x42, 0xfb, - 0x1f, 0x78, 0xeb, 0x6f, 0x66, 0x3b, 0x31, 0x3b, 0xcb, 0xdf, 0x7c, 0xb9, 0x0b, 0xd3, 0x38, 0xe9, - 0x57, 0x41, 0xcb, 0xbb, 0x57, 0x74, 0xc7, 0x08, 0x56, 0x8e, 0x46, 0x47, 0xab, 0x7f, 0x5d, 0xa5, - 0x35, 0x58, 0x3d, 0x9a, 0x30, 0xcf, 0xfd, 0xaa, 0x40, 0xb3, 0x8b, 0xc3, 0xe7, 0x7e, 0xe8, 0x1a, - 0x41, 0x6f, 0x9a, 0x2e, 0x77, 0x61, 0x29, 0xe7, 0x75, 0x89, 0xf5, 0x5a, 0x1c, 0x7f, 0x5b, 0x86, - 0x68, 0x05, 0x2a, 0x2e, 0x26, 0xe7, 0x7e, 0x3c, 0xe1, 0x89, 0x2f, 0xa4, 0xc2, 0x4c, 0x60, 0x0d, - 0xfb, 0xbe, 0x15, 0x6f, 0x85, 0xf1, 0x27, 0x6a, 0xc3, 0x62, 0x28, 0x54, 0x8b, 0xfb, 0xb3, 0xe9, - 0xf2, 0xce, 0x39, 0x6b, 0x34, 0x63, 0x96, 0xe8, 0xd0, 0x47, 0x91, 0xde, 0x06, 0x24, 0x6b, 0x2f, - 0xd2, 0x48, 0x92, 0xaf, 0x64, 0xe4, 0x6f, 0xff, 0x51, 0x85, 0x3a, 0x75, 0xc9, 0x31, 0x0e, 0x2f, - 0x9d, 0x1e, 0x46, 0xf7, 0x01, 0xd2, 0x35, 0x1b, 0xa5, 0x15, 0x37, 0xb6, 0x7b, 0x6b, 0xd9, 0xf5, - 0x01, 0x75, 0xa0, 0x96, 0x6c, 0x1c, 0x68, 0x2d, 0xe1, 0x8d, 0xee, 0x2b, 0x9a, 0x96, 0xc7, 0x12, - 0x6a, 0xee, 0x03, 0xa4, 0x2b, 0x85, 0x74, 0xf9, 0xd8, 0x42, 0xa2, 0xad, 0xe7, 0xf2, 0x84, 0x98, - 0x2f, 0xf9, 0x9a, 0x94, 0x79, 0x90, 0x5a, 0x99, 0x6b, 0x73, 0xd6, 0x13, 0xed, 0xc6, 0x14, 0x84, - 0x10, 0xfc, 0x14, 0xe6, 0x1e, 0x63, 0x99, 0x25, 0x89, 0x9d, 0xb0, 0x6c, 0x68, 0x13, 0xf7, 0x15, - 0xf4, 0x35, 0x34, 0xc7, 0xd6, 0x8a, 0xd7, 0x10, 0xa8, 0xa7, 0x88, 0x49, 0x4b, 0x09, 0x3a, 0x06, - 0x44, 0x37, 0x83, 0xee, 0xe0, 0xb4, 0xef, 0x44, 0xe7, 0xd8, 0x66, 0x73, 0x1c, 0xda, 0x48, 0x4e, - 0xe6, 0x6d, 0x2c, 0xda, 0xb5, 0x49, 0x6c, 0x21, 0xb4, 0x0b, 0xcd, 0xb1, 0x99, 0x1a, 0xdd, 0x78, - 0xe5, 0xbc, 0x3d, 0xc5, 0x03, 0xdf, 0xc1, 0x62, 0xce, 0x5c, 0x89, 0x36, 0x47, 0x64, 0xe6, 0xcd, - 0xd2, 0xda, 0xff, 0xa6, 0x83, 0x84, 0xce, 0x9f, 0x42, 0x35, 0x9e, 0xc7, 0x50, 0xaa, 0xc7, 0xc8, - 0xb0, 0xaa, 0xad, 0xe5, 0x70, 0x84, 0x80, 0xc7, 0x80, 0xc6, 0x87, 0x37, 0xa4, 0x8f, 0x5c, 0x9e, - 0x33, 0xd9, 0x8d, 0xd6, 0xc7, 0xb7, 0x80, 0xc6, 0xbb, 0xa0, 0x24, 0x68, 0x62, 0x6b, 0xd6, 0x36, - 0xa7, 0x62, 0x84, 0x9e, 0x27, 0x30, 0x3f, 0xd2, 0xd1, 0xd0, 0xf5, 0x34, 0x9e, 0xb9, 0x0d, 0x56, - 0x6b, 0x4d, 0x06, 0xa4, 0x05, 0x99, 0x76, 0x13, 0xa9, 0x20, 0xc7, 0x1a, 0xa4, 0x54, 0x90, 0xe3, - 0xed, 0xa7, 0xf3, 0xe8, 0x9b, 0xcd, 0x33, 0x87, 0x9c, 0x0f, 0x4e, 0xdb, 0x3d, 0xdf, 0xbd, 0x23, - 0x80, 0x77, 0xd8, 0x1f, 0x7b, 0x3d, 0xbf, 0x1f, 0x13, 0x7e, 0x2a, 0xcc, 0x3e, 0x75, 0x2e, 0xf1, - 0x13, 0x2a, 0x83, 0xb2, 0xfe, 0x2c, 0xcc, 0x89, 0xef, 0x9d, 0x1d, 0x46, 0x38, 0xad, 0xb0, 0x23, - 0x1f, 0xfc, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x87, 0x7c, 0x2e, 0xae, 0x74, 0x14, 0x00, 0x00, + // 1478 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xeb, 0x6e, 0xdb, 0xc6, + 0x12, 0x3e, 0x94, 0x2d, 0x59, 0x1a, 0xf9, 0xa6, 0xb5, 0x13, 0xd3, 0x74, 0x2e, 0x0e, 0x7d, 0x0e, + 0x8e, 0x73, 0x72, 0xa2, 0x34, 0x2a, 0x8a, 0x04, 0x46, 0x6f, 0x76, 0xec, 0xa4, 0x46, 0x62, 0x40, + 0xa5, 0x53, 0xf4, 0x02, 0x14, 0x2c, 0x25, 0x6e, 0xec, 0x85, 0xc5, 0x4b, 0xb9, 0x2b, 0x37, 0x7a, + 0x83, 0x3c, 0x44, 0x9f, 0xa0, 0x6f, 0x50, 0xa0, 0x8f, 0xd0, 0x9f, 0x7d, 0x82, 0xfe, 0xec, 0x3b, + 0x14, 0x28, 0xf6, 0x42, 0x72, 0x29, 0x51, 0x4a, 0x1a, 0xb4, 0x40, 0xff, 0x71, 0x67, 0xbe, 0x9d, + 0x9d, 0x99, 0x9d, 0x99, 0xfd, 0x24, 0x40, 0x03, 0x72, 0x89, 0x2f, 0x08, 0x73, 0x93, 0x28, 0x0a, + 0xda, 0x71, 0x12, 0xb1, 0x08, 0x2d, 0x28, 0x99, 0xb5, 0x9e, 0x2a, 0x83, 0xc8, 0xc7, 0x03, 0x2a, + 0xd5, 0xb9, 0x14, 0x9f, 0x25, 0x98, 0xa6, 0xd2, 0x6b, 0xa9, 0xd4, 0x3b, 0xc3, 0x21, 0x73, 0x7d, + 0x42, 0x63, 0x8f, 0xf5, 0xcf, 0xa5, 0xd6, 0xfe, 0x7d, 0x0e, 0x5a, 0x8f, 0x12, 0xec, 0x31, 0xec, + 0x44, 0x51, 0xe0, 0xe0, 0x6f, 0x87, 0x98, 0x32, 0x84, 0x60, 0x3e, 0xf4, 0x02, 0x6c, 0x1a, 0xdb, + 0xc6, 0x6e, 0xc3, 0x11, 0xdf, 0xe8, 0x26, 0x34, 0xb9, 0x2b, 0x6e, 0x9c, 0x60, 0x8a, 0x99, 0xb9, + 0x28, 0x54, 0xc0, 0x45, 0x5d, 0x21, 0x41, 0x3b, 0xb0, 0x84, 0x83, 0x98, 0x8d, 0x5c, 0x46, 0x02, + 0x1c, 0x0d, 0x99, 0x59, 0xd9, 0x36, 0x76, 0x97, 0x9c, 0x45, 0x21, 0x7c, 0x2e, 0x65, 0xe8, 0x0e, + 0xb4, 0x7c, 0x1c, 0x7b, 0x09, 0x1b, 0x26, 0x38, 0x03, 0x82, 0x00, 0xae, 0x66, 0x8a, 0x14, 0x7c, + 0x1b, 0x56, 0x03, 0xef, 0xa5, 0xcb, 0xa5, 0xa4, 0x4f, 0x62, 0x2f, 0x64, 0xd4, 0x9c, 0x13, 0xd8, + 0x95, 0xc0, 0x7b, 0xd9, 0xd5, 0xc4, 0x68, 0x03, 0x16, 0xc2, 0xc8, 0xc7, 0x2e, 0xf1, 0xcd, 0x79, + 0xe1, 0x59, 0x8d, 0x2f, 0x8f, 0x7d, 0x64, 0x41, 0x3d, 0xc0, 0xcc, 0xf3, 0x3d, 0xe6, 0x99, 0x55, + 0xa1, 0xc9, 0xd6, 0xe8, 0x0e, 0xd4, 0x64, 0xaa, 0xcc, 0xda, 0xb6, 0xb1, 0xdb, 0xec, 0xac, 0xb5, + 0x55, 0xae, 0xda, 0x3c, 0x19, 0x47, 0x42, 0xe5, 0x28, 0x08, 0xfa, 0x1f, 0xb4, 0x02, 0x12, 0xba, + 0xf1, 0xc0, 0x1b, 0x45, 0x43, 0xe6, 0xfa, 0x78, 0xe0, 0x8d, 0xcc, 0x05, 0xe5, 0x0d, 0x09, 0xbb, + 0x52, 0x7e, 0xc8, 0xc5, 0x02, 0xcb, 0x1d, 0x2f, 0x60, 0xeb, 0xb9, 0xe7, 0x3a, 0xf6, 0x16, 0x2c, + 0xd2, 0x51, 0xd8, 0x77, 0x29, 0x4b, 0xb0, 0x17, 0x50, 0xb3, 0xb1, 0x6d, 0xec, 0xd6, 0x9d, 0x26, + 0x97, 0x9d, 0x4a, 0x11, 0xfa, 0x0f, 0x2c, 0x27, 0x98, 0x1b, 0x73, 0x71, 0xe8, 0xf5, 0x06, 0xd8, + 0x37, 0x97, 0x04, 0x68, 0x49, 0x4a, 0x8f, 0xa4, 0x10, 0x75, 0xa0, 0x26, 0xee, 0x98, 0x9a, 0xcb, + 0xdb, 0x73, 0xbb, 0xcd, 0x8e, 0x55, 0x08, 0x67, 0x9f, 0xab, 0x0e, 0xd5, 0xed, 0x3b, 0x0a, 0x69, + 0xff, 0x68, 0x00, 0xe4, 0xc1, 0xa2, 0x07, 0x30, 0xcf, 0x6f, 0x54, 0x5c, 0x7c, 0xb3, 0xb3, 0x53, + 0x30, 0xf0, 0x28, 0x0a, 0xe2, 0x88, 0x12, 0x86, 0x55, 0x62, 0x64, 0xad, 0x38, 0x62, 0x03, 0xfa, + 0x18, 0x9a, 0xda, 0x35, 0x89, 0x5b, 0x6a, 0x76, 0x6e, 0x64, 0xfb, 0xf7, 0x87, 0x2c, 0xd2, 0xee, + 0x4b, 0x59, 0xd0, 0xb7, 0xa0, 0x77, 0xa0, 0xc6, 0x12, 0xaf, 0x7f, 0x41, 0x45, 0xdd, 0x34, 0x3b, + 0x66, 0x61, 0xf3, 0x73, 0xae, 0x4a, 0x6f, 0x44, 0xe2, 0xec, 0x27, 0xd0, 0xc8, 0x02, 0x43, 0x7b, + 0x00, 0x69, 0x69, 0x63, 0x6a, 0x1a, 0xaf, 0x4d, 0x80, 0x86, 0xb6, 0x77, 0x61, 0xf5, 0x19, 0xa1, + 0x8c, 0x83, 0xd2, 0xb0, 0xd0, 0x3a, 0x54, 0x79, 0xd9, 0x4b, 0x53, 0x0d, 0x47, 0x2e, 0xec, 0x87, + 0xd0, 0xd2, 0x90, 0x34, 0x8e, 0x42, 0x8a, 0xd1, 0x0e, 0x54, 0x79, 0x0e, 0xd2, 0x53, 0x97, 0x0a, + 0xa7, 0x3a, 0x52, 0x67, 0xff, 0x17, 0x5a, 0x87, 0x78, 0x80, 0x27, 0xfa, 0x2c, 0x4b, 0x77, 0x43, + 0x66, 0xd2, 0x5e, 0x07, 0xa4, 0x03, 0xe5, 0x19, 0xf6, 0x5d, 0xd8, 0xe0, 0x07, 0xeb, 0x35, 0x3f, + 0xcb, 0xc8, 0x17, 0x60, 0x4e, 0xc2, 0x95, 0xbb, 0xef, 0xc3, 0x62, 0xa1, 0xa3, 0xa4, 0xd7, 0x79, + 0xba, 0xb5, 0x4d, 0xc7, 0xe1, 0x8b, 0xc8, 0x29, 0xa0, 0xed, 0x63, 0xd8, 0xe0, 0x8e, 0xe9, 0x20, + 0x1f, 0x87, 0x8c, 0xb0, 0x51, 0x99, 0x23, 0xbc, 0xfd, 0x88, 0xd2, 0x8b, 0x7b, 0x6d, 0x38, 0xd9, + 0xda, 0xde, 0x82, 0x4d, 0x07, 0x07, 0xd1, 0x25, 0xd6, 0x8c, 0x65, 0x01, 0x8f, 0x60, 0xfd, 0x64, + 0x28, 0x93, 0x20, 0xee, 0x7e, 0x46, 0xb4, 0xb3, 0x0e, 0x41, 0x5b, 0xd0, 0x10, 0xe5, 0xe2, 0x52, + 0xe2, 0x8b, 0xb2, 0x6c, 0x38, 0x75, 0x21, 0x38, 0x25, 0x3e, 0xbf, 0xe4, 0x60, 0xc8, 0xb0, 0x9c, + 0x19, 0x75, 0x47, 0x2e, 0xec, 0x7d, 0xb8, 0x32, 0x76, 0xb4, 0xca, 0xdc, 0x2e, 0x54, 0xc5, 0x56, + 0xd5, 0x1e, 0x28, 0x4b, 0x99, 0x80, 0x89, 0x64, 0x49, 0x80, 0xfd, 0x73, 0x05, 0xcc, 0xcf, 0x62, + 0xdf, 0x63, 0xc5, 0xd8, 0xde, 0x2e, 0x04, 0x7d, 0x84, 0xcd, 0x8d, 0x8d, 0xb0, 0x0f, 0x01, 0x62, + 0x9c, 0x04, 0x84, 0x52, 0x12, 0x85, 0x22, 0x0c, 0xbd, 0xed, 0xb4, 0xc3, 0xbb, 0x19, 0xca, 0xd1, + 0x76, 0x64, 0x93, 0xbe, 0xaa, 0x4d, 0xfa, 0x4f, 0x01, 0x3c, 0xc6, 0x12, 0xd2, 0x1b, 0x32, 0xcc, + 0x47, 0x23, 0x2f, 0x8f, 0xfb, 0x99, 0xcd, 0x69, 0x61, 0xb5, 0xf7, 0xb3, 0x3d, 0x47, 0x21, 0x4b, + 0x46, 0x8e, 0x66, 0xc4, 0xfa, 0x00, 0x56, 0xc6, 0xd4, 0x68, 0x15, 0xe6, 0x2e, 0xf0, 0x48, 0x25, + 0x81, 0x7f, 0xf2, 0xdb, 0xb8, 0xf4, 0x06, 0x43, 0xac, 0x12, 0x20, 0x17, 0x7b, 0x95, 0x87, 0x86, + 0xfd, 0x8b, 0x01, 0x96, 0x3c, 0xf7, 0x74, 0xd8, 0xa3, 0xfd, 0x84, 0xc4, 0x8c, 0x44, 0x21, 0x7d, + 0xdb, 0x84, 0x5e, 0x07, 0xc8, 0x6a, 0x82, 0xbf, 0x28, 0xbc, 0xc1, 0x1b, 0x69, 0x51, 0x50, 0x74, + 0x0d, 0x1a, 0x54, 0x1e, 0xd3, 0xc3, 0xaa, 0x32, 0x72, 0x01, 0x3a, 0x06, 0xa4, 0x35, 0x84, 0xab, + 0x66, 0x56, 0x75, 0x6c, 0xe0, 0x68, 0xf9, 0x11, 0xc5, 0x41, 0x9d, 0x56, 0x3c, 0x2e, 0xb2, 0xaf, + 0xc3, 0x56, 0x69, 0x54, 0xaa, 0x05, 0x5e, 0x55, 0x60, 0xe5, 0x14, 0x87, 0xfe, 0xa1, 0xc7, 0xbc, + 0x59, 0xa1, 0x22, 0x98, 0x17, 0xb5, 0xc1, 0xc3, 0x5c, 0x74, 0xc4, 0x37, 0xfa, 0x3f, 0xcc, 0x5f, + 0x90, 0x50, 0x56, 0xfc, 0xb2, 0xd6, 0xdc, 0xdc, 0x56, 0xd7, 0xeb, 0x5f, 0x60, 0xd6, 0x7e, 0x4a, + 0x42, 0xdf, 0x11, 0x28, 0x74, 0x17, 0x56, 0x7d, 0x4c, 0x19, 0x09, 0x3d, 0xee, 0x81, 0x4c, 0xcb, + 0x3c, 0x4f, 0xcb, 0x41, 0xc5, 0x34, 0x9c, 0x15, 0x4d, 0x27, 0x12, 0xf4, 0x1e, 0x5c, 0xd5, 0xe1, + 0x2a, 0xaf, 0x44, 0x15, 0x4b, 0xc3, 0xb9, 0xa2, 0x69, 0x8f, 0x33, 0x25, 0xda, 0x84, 0x2a, 0x8b, + 0x62, 0xd2, 0x97, 0xc5, 0xf6, 0xc9, 0xbf, 0x1c, 0xb9, 0x7c, 0x65, 0x18, 0x62, 0xda, 0x46, 0x61, + 0x1f, 0x8b, 0x07, 0x75, 0xd1, 0x91, 0x8b, 0x83, 0x3a, 0xd4, 0x5c, 0x01, 0xb1, 0x11, 0xac, 0xe6, + 0x99, 0x50, 0xe9, 0x79, 0x0a, 0x9b, 0x32, 0x7b, 0xbc, 0x51, 0x4f, 0x54, 0x43, 0xbc, 0xa6, 0x24, + 0xb2, 0x3e, 0xaa, 0x14, 0xfb, 0xc8, 0xfe, 0x7e, 0x0e, 0x5a, 0xf2, 0x91, 0x0b, 0x5f, 0x90, 0xb3, + 0x61, 0x22, 0x7c, 0x2f, 0xe5, 0x41, 0x6f, 0x4f, 0x73, 0xe6, 0xfe, 0x04, 0xcd, 0x99, 0x2f, 0xa7, + 0x39, 0x7a, 0x08, 0xcd, 0xa9, 0x6c, 0xa6, 0xfa, 0x8f, 0x66, 0x33, 0x39, 0x4d, 0x81, 0x37, 0xa6, + 0x29, 0x97, 0xb0, 0xf9, 0x38, 0x4a, 0xbe, 0xf3, 0x12, 0xff, 0x2f, 0x98, 0xa7, 0xb7, 0x8b, 0xd5, + 0x2e, 0xf6, 0xca, 0xb9, 0xaa, 0x57, 0x3a, 0x77, 0xc6, 0xbe, 0x06, 0x56, 0xd9, 0xb9, 0xaa, 0x02, + 0x29, 0x5c, 0x3d, 0x19, 0x7f, 0xbe, 0xfe, 0x76, 0x97, 0x36, 0x61, 0xe3, 0x64, 0xca, 0x9b, 0xf9, + 0x93, 0x01, 0xad, 0x2e, 0x4e, 0x5e, 0x44, 0x49, 0xe0, 0xc4, 0xfd, 0x59, 0xbe, 0xdc, 0x87, 0xf5, + 0x92, 0x0e, 0x4e, 0xfd, 0x5a, 0x9b, 0xec, 0xdf, 0x11, 0xba, 0x0a, 0xb5, 0x00, 0xb3, 0xf3, 0x28, + 0x7d, 0x45, 0xd5, 0x0a, 0x99, 0xb0, 0x10, 0x7b, 0xa3, 0x41, 0xe4, 0xa5, 0xcc, 0x3b, 0x5d, 0xa2, + 0x36, 0xac, 0x25, 0xca, 0xb5, 0xb4, 0x07, 0xdc, 0x40, 0x56, 0xe7, 0x92, 0xd3, 0x4a, 0x55, 0xaa, + 0x0b, 0x4e, 0xa8, 0xdd, 0x06, 0xa4, 0x7b, 0xaf, 0x1e, 0x5d, 0xcd, 0xbe, 0x51, 0xb0, 0xdf, 0xf9, + 0xb5, 0x0e, 0x4d, 0x9e, 0x92, 0x53, 0x9c, 0x5c, 0x92, 0x3e, 0x46, 0x0f, 0x00, 0xf2, 0x9f, 0x32, + 0x28, 0x2f, 0xab, 0x89, 0xdf, 0x37, 0x56, 0x91, 0xa2, 0xa1, 0x03, 0x68, 0x64, 0xac, 0x0e, 0x6d, + 0x66, 0xba, 0x71, 0x4e, 0x68, 0x59, 0x65, 0x2a, 0xe5, 0xe6, 0x11, 0x40, 0x4e, 0xdb, 0xb4, 0xc3, + 0x27, 0x48, 0x9f, 0xb5, 0x55, 0xaa, 0x53, 0x66, 0x3e, 0x97, 0x54, 0xb4, 0xd0, 0xf4, 0xdb, 0x85, + 0x63, 0x4b, 0x28, 0xa0, 0x75, 0x6b, 0x06, 0x42, 0x19, 0x7e, 0x06, 0xcb, 0x4f, 0xb0, 0xae, 0xd2, + 0xcc, 0x4e, 0x21, 0x74, 0xd6, 0x54, 0x4e, 0x88, 0xbe, 0x84, 0xd6, 0x04, 0x75, 0x7b, 0x03, 0x83, + 0x76, 0x8e, 0x98, 0x46, 0xfc, 0xd0, 0x29, 0x20, 0xce, 0xbe, 0xba, 0xc3, 0xde, 0x80, 0xd0, 0x73, + 0xec, 0x8b, 0xb7, 0x12, 0x5d, 0xcf, 0x76, 0x96, 0xb1, 0x42, 0xeb, 0xc6, 0x34, 0xb5, 0x32, 0xda, + 0x85, 0xd6, 0x04, 0x6f, 0x41, 0xb7, 0x5e, 0xcb, 0x69, 0x66, 0x64, 0xe0, 0x1b, 0x58, 0x2b, 0x79, + 0xbb, 0xd1, 0xce, 0x98, 0xcd, 0x32, 0xbe, 0x62, 0xfd, 0x7b, 0x36, 0x48, 0xf9, 0xfc, 0x11, 0xd4, + 0xd3, 0x37, 0x0f, 0xe5, 0x7e, 0x8c, 0x11, 0x02, 0x6b, 0xb3, 0x44, 0xa3, 0x0c, 0x3c, 0x01, 0x34, + 0xf9, 0x40, 0x22, 0x7b, 0xec, 0xf0, 0x92, 0xd7, 0x73, 0xbc, 0x3f, 0xbe, 0x06, 0x34, 0x39, 0x05, + 0x35, 0x43, 0x53, 0x47, 0xb3, 0xb5, 0x33, 0x13, 0xa3, 0xfc, 0x7c, 0x0e, 0x2b, 0x63, 0x13, 0x0d, + 0xdd, 0xcc, 0xef, 0xb3, 0x74, 0xc0, 0x5a, 0xdb, 0xd3, 0x01, 0x79, 0x43, 0xe6, 0xd3, 0x44, 0x6b, + 0xc8, 0x89, 0x01, 0xa9, 0x35, 0xe4, 0xe4, 0xf8, 0x39, 0x78, 0xfc, 0xd5, 0xce, 0x19, 0x61, 0xe7, + 0xc3, 0x5e, 0xbb, 0x1f, 0x05, 0xf7, 0x14, 0xf0, 0x9e, 0xf8, 0xf3, 0xa4, 0x1f, 0x0d, 0x52, 0xc1, + 0x0f, 0x95, 0xa5, 0x67, 0xe4, 0x12, 0x3f, 0xe5, 0x36, 0xb8, 0xea, 0xb7, 0xca, 0xb2, 0x5a, 0xef, + 0xed, 0x09, 0x41, 0xaf, 0x26, 0xb6, 0xbc, 0xfb, 0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3e, 0x42, + 0x47, 0xc4, 0xd8, 0x11, 0x00, 0x00, } From 285d770d9f1d52ae2fb97ae69c7adc3c265db00c Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 23 Sep 2025 14:06:28 +0000 Subject: [PATCH 6/7] generated protobuf --- livekit/livekit_token_source.pb.go | 262 +++++++++++++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 livekit/livekit_token_source.pb.go diff --git a/livekit/livekit_token_source.pb.go b/livekit/livekit_token_source.pb.go new file mode 100644 index 000000000..42f6eb8af --- /dev/null +++ b/livekit/livekit_token_source.pb.go @@ -0,0 +1,262 @@ +// Copyright 2025 LiveKit, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.9 +// protoc v4.23.4 +// source: livekit_token_source.proto + +package livekit + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type TokenSourceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The name of the room being requested when generating credentials + RoomName *string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3,oneof" json:"room_name,omitempty"` + // The name of the participant being requested for this client when generating credentials + ParticipantName *string `protobuf:"bytes,2,opt,name=participant_name,json=participantName,proto3,oneof" json:"participant_name,omitempty"` + // The identity of the participant being requested for this client when generating credentials + ParticipantIdentity *string `protobuf:"bytes,3,opt,name=participant_identity,json=participantIdentity,proto3,oneof" json:"participant_identity,omitempty"` + // Any participant metadata being included along with the credentials generation operation + ParticipantMetadata *string `protobuf:"bytes,4,opt,name=participant_metadata,json=participantMetadata,proto3,oneof" json:"participant_metadata,omitempty"` + // Any participant attributes being included along with the credentials generation operation + ParticipantAttributes map[string]string `protobuf:"bytes,5,rep,name=participant_attributes,json=participantAttributes,proto3" json:"participant_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // A RoomConfiguration object can be passed to request extra parameters should be included when + // generating connection credentials - dispatching agents, defining egress settings, etc + // More info: https://docs.livekit.io/home/get-started/authentication/#room-configuration + RoomConfig *RoomConfiguration `protobuf:"bytes,6,opt,name=room_config,json=roomConfig,proto3,oneof" json:"room_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TokenSourceRequest) Reset() { + *x = TokenSourceRequest{} + mi := &file_livekit_token_source_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TokenSourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenSourceRequest) ProtoMessage() {} + +func (x *TokenSourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_livekit_token_source_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TokenSourceRequest.ProtoReflect.Descriptor instead. +func (*TokenSourceRequest) Descriptor() ([]byte, []int) { + return file_livekit_token_source_proto_rawDescGZIP(), []int{0} +} + +func (x *TokenSourceRequest) GetRoomName() string { + if x != nil && x.RoomName != nil { + return *x.RoomName + } + return "" +} + +func (x *TokenSourceRequest) GetParticipantName() string { + if x != nil && x.ParticipantName != nil { + return *x.ParticipantName + } + return "" +} + +func (x *TokenSourceRequest) GetParticipantIdentity() string { + if x != nil && x.ParticipantIdentity != nil { + return *x.ParticipantIdentity + } + return "" +} + +func (x *TokenSourceRequest) GetParticipantMetadata() string { + if x != nil && x.ParticipantMetadata != nil { + return *x.ParticipantMetadata + } + return "" +} + +func (x *TokenSourceRequest) GetParticipantAttributes() map[string]string { + if x != nil { + return x.ParticipantAttributes + } + return nil +} + +func (x *TokenSourceRequest) GetRoomConfig() *RoomConfiguration { + if x != nil { + return x.RoomConfig + } + return nil +} + +type TokenSourceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + ServerUrl string `protobuf:"bytes,1,opt,name=server_url,json=serverUrl,proto3" json:"server_url,omitempty"` + ParticipantToken string `protobuf:"bytes,2,opt,name=participant_token,json=participantToken,proto3" json:"participant_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TokenSourceResponse) Reset() { + *x = TokenSourceResponse{} + mi := &file_livekit_token_source_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TokenSourceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenSourceResponse) ProtoMessage() {} + +func (x *TokenSourceResponse) ProtoReflect() protoreflect.Message { + mi := &file_livekit_token_source_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TokenSourceResponse.ProtoReflect.Descriptor instead. +func (*TokenSourceResponse) Descriptor() ([]byte, []int) { + return file_livekit_token_source_proto_rawDescGZIP(), []int{1} +} + +func (x *TokenSourceResponse) GetServerUrl() string { + if x != nil { + return x.ServerUrl + } + return "" +} + +func (x *TokenSourceResponse) GetParticipantToken() string { + if x != nil { + return x.ParticipantToken + } + return "" +} + +var File_livekit_token_source_proto protoreflect.FileDescriptor + +const file_livekit_token_source_proto_rawDesc = "" + + "\n" + + "\x1alivekit_token_source.proto\x12\alivekit\x1a\x12livekit_room.proto\"\xb6\x04\n" + + "\x12TokenSourceRequest\x12 \n" + + "\troom_name\x18\x01 \x01(\tH\x00R\broomName\x88\x01\x01\x12.\n" + + "\x10participant_name\x18\x02 \x01(\tH\x01R\x0fparticipantName\x88\x01\x01\x126\n" + + "\x14participant_identity\x18\x03 \x01(\tH\x02R\x13participantIdentity\x88\x01\x01\x126\n" + + "\x14participant_metadata\x18\x04 \x01(\tH\x03R\x13participantMetadata\x88\x01\x01\x12m\n" + + "\x16participant_attributes\x18\x05 \x03(\v26.livekit.TokenSourceRequest.ParticipantAttributesEntryR\x15participantAttributes\x12@\n" + + "\vroom_config\x18\x06 \x01(\v2\x1a.livekit.RoomConfigurationH\x04R\n" + + "roomConfig\x88\x01\x01\x1aH\n" + + "\x1aParticipantAttributesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\f\n" + + "\n" + + "_room_nameB\x13\n" + + "\x11_participant_nameB\x17\n" + + "\x15_participant_identityB\x17\n" + + "\x15_participant_metadataB\x0e\n" + + "\f_room_config\"a\n" + + "\x13TokenSourceResponse\x12\x1d\n" + + "\n" + + "server_url\x18\x01 \x01(\tR\tserverUrl\x12+\n" + + "\x11participant_token\x18\x02 \x01(\tR\x10participantTokenBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" + +var ( + file_livekit_token_source_proto_rawDescOnce sync.Once + file_livekit_token_source_proto_rawDescData []byte +) + +func file_livekit_token_source_proto_rawDescGZIP() []byte { + file_livekit_token_source_proto_rawDescOnce.Do(func() { + file_livekit_token_source_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_livekit_token_source_proto_rawDesc), len(file_livekit_token_source_proto_rawDesc))) + }) + return file_livekit_token_source_proto_rawDescData +} + +var file_livekit_token_source_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_livekit_token_source_proto_goTypes = []any{ + (*TokenSourceRequest)(nil), // 0: livekit.TokenSourceRequest + (*TokenSourceResponse)(nil), // 1: livekit.TokenSourceResponse + nil, // 2: livekit.TokenSourceRequest.ParticipantAttributesEntry + (*RoomConfiguration)(nil), // 3: livekit.RoomConfiguration +} +var file_livekit_token_source_proto_depIdxs = []int32{ + 2, // 0: livekit.TokenSourceRequest.participant_attributes:type_name -> livekit.TokenSourceRequest.ParticipantAttributesEntry + 3, // 1: livekit.TokenSourceRequest.room_config:type_name -> livekit.RoomConfiguration + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_livekit_token_source_proto_init() } +func file_livekit_token_source_proto_init() { + if File_livekit_token_source_proto != nil { + return + } + file_livekit_room_proto_init() + file_livekit_token_source_proto_msgTypes[0].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_livekit_token_source_proto_rawDesc), len(file_livekit_token_source_proto_rawDesc)), + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_livekit_token_source_proto_goTypes, + DependencyIndexes: file_livekit_token_source_proto_depIdxs, + MessageInfos: file_livekit_token_source_proto_msgTypes, + }.Build() + File_livekit_token_source_proto = out.File + file_livekit_token_source_proto_goTypes = nil + file_livekit_token_source_proto_depIdxs = nil +} From bfc05fffec4985de948c6cfda981276acdbc7aff Mon Sep 17 00:00:00 2001 From: Ryan Gaus Date: Tue, 23 Sep 2025 10:59:15 -0400 Subject: [PATCH 7/7] feat: add livekit token source file to javascript package --- packages/javascript/src/index.d.ts | 1 + packages/javascript/src/index.js | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/javascript/src/index.d.ts b/packages/javascript/src/index.d.ts index 094183bb0..b1d2d8232 100644 --- a/packages/javascript/src/index.d.ts +++ b/packages/javascript/src/index.d.ts @@ -8,5 +8,6 @@ export * from "./gen/livekit_models_pb.js"; export * from "./gen/livekit_room_pb.js"; export * from "./gen/livekit_rtc_pb.js"; export * from "./gen/livekit_sip_pb.js"; +export * from "./gen/livekit_token_source.js"; export * from "./gen/livekit_webhook_pb.js"; export * from "./gen/version.js"; diff --git a/packages/javascript/src/index.js b/packages/javascript/src/index.js index 4c20c1414..fa83fe9a7 100644 --- a/packages/javascript/src/index.js +++ b/packages/javascript/src/index.js @@ -9,5 +9,6 @@ export * from "./gen/livekit_models_pb.js"; export * from "./gen/livekit_room_pb.js"; export * from "./gen/livekit_rtc_pb.js"; export * from "./gen/livekit_sip_pb.js"; +export * from "./gen/livekit_token_source.js"; export * from "./gen/livekit_webhook_pb.js"; export * from "./gen/version.js";