Adding multiple statuses in ListPhoneNumbersRequest (#1261)

* Adding multiple statuses in ListPhoneNumbersRequest
Adding optional keywords to the right fields and cleaning up commenting

* fix syntax error

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Nishad
2025-10-17 14:07:56 +05:30
committed by GitHub
parent e2cdc9c47b
commit a0c8a9e7be
3 changed files with 195 additions and 170 deletions
+82 -64
View File
@@ -131,10 +131,10 @@ func (PhoneNumberType) EnumDescriptor() ([]byte, []int) {
// SearchPhoneNumbersRequest - Request to search available phone numbers
type SearchPhoneNumbersRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
CountryCode string `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"` // Optional: Filter by country code (e.g., "US", "CA")
AreaCode string `protobuf:"bytes,2,opt,name=area_code,json=areaCode,proto3" json:"area_code,omitempty"` // Optional: Filter by area code (e.g., "415")
Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` // Optional: Maximum number of results (default: 50)
PageToken *TokenPagination `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // Optional: Token for pagination (empty for first page)
CountryCode string `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"` // Filter by country code (e.g., "US", "CA")
AreaCode *string `protobuf:"bytes,2,opt,name=area_code,json=areaCode,proto3,oneof" json:"area_code,omitempty"` // Filter by area code (e.g., "415")
Limit *int32 `protobuf:"varint,3,opt,name=limit,proto3,oneof" json:"limit,omitempty"` // Maximum number of results (default: 50)
PageToken *TokenPagination `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3,oneof" json:"page_token,omitempty"` // Token for pagination (empty for first page)
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -177,15 +177,15 @@ func (x *SearchPhoneNumbersRequest) GetCountryCode() string {
}
func (x *SearchPhoneNumbersRequest) GetAreaCode() string {
if x != nil {
return x.AreaCode
if x != nil && x.AreaCode != nil {
return *x.AreaCode
}
return ""
}
func (x *SearchPhoneNumbersRequest) GetLimit() int32 {
if x != nil {
return x.Limit
if x != nil && x.Limit != nil {
return *x.Limit
}
return 0
}
@@ -253,8 +253,8 @@ func (x *SearchPhoneNumbersResponse) GetNextPageToken() *TokenPagination {
// PurchasePhoneNumberRequest - Request to purchase phone numbers
type PurchasePhoneNumberRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
PhoneNumbers []string `protobuf:"bytes,1,rep,name=phone_numbers,json=phoneNumbers,proto3" json:"phone_numbers,omitempty"` // Phone numbers to purchase (e.g., ["+1234567890", "+1234567891"])
SipDispatchRuleId string `protobuf:"bytes,2,opt,name=sip_dispatch_rule_id,json=sipDispatchRuleId,proto3" json:"sip_dispatch_rule_id,omitempty"` // Optional: SIP dispatch rule ID to apply to all purchased numbers
PhoneNumbers []string `protobuf:"bytes,1,rep,name=phone_numbers,json=phoneNumbers,proto3" json:"phone_numbers,omitempty"` // Phone numbers to purchase (e.g., ["+1234567890", "+1234567891"])
SipDispatchRuleId *string `protobuf:"bytes,2,opt,name=sip_dispatch_rule_id,json=sipDispatchRuleId,proto3,oneof" json:"sip_dispatch_rule_id,omitempty"` // SIP dispatch rule ID to apply to all purchased numbers
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -297,8 +297,8 @@ func (x *PurchasePhoneNumberRequest) GetPhoneNumbers() []string {
}
func (x *PurchasePhoneNumberRequest) GetSipDispatchRuleId() string {
if x != nil {
return x.SipDispatchRuleId
if x != nil && x.SipDispatchRuleId != nil {
return *x.SipDispatchRuleId
}
return ""
}
@@ -351,10 +351,10 @@ func (x *PurchasePhoneNumberResponse) GetPhoneNumbers() []*PhoneNumber {
// ListPhoneNumbersRequest - Request to list phone numbers
type ListPhoneNumbersRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` // Optional: Maximum number of results (default: 50)
Status PhoneNumberStatus `protobuf:"varint,2,opt,name=status,proto3,enum=livekit.PhoneNumberStatus" json:"status,omitempty"` // Optional: Filter by status (active, pending, released)
PageToken *TokenPagination `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // Optional: Token for pagination (empty for first page)
SipDispatchRuleId string `protobuf:"bytes,4,opt,name=sip_dispatch_rule_id,json=sipDispatchRuleId,proto3" json:"sip_dispatch_rule_id,omitempty"` // Optional: Filter by SIP dispatch rule ID
Limit *int32 `protobuf:"varint,1,opt,name=limit,proto3,oneof" json:"limit,omitempty"` // Maximum number of results (default: 50)
Statuses []PhoneNumberStatus `protobuf:"varint,2,rep,packed,name=statuses,proto3,enum=livekit.PhoneNumberStatus" json:"statuses,omitempty"` // Filter by statuses (active, pending, released)
PageToken *TokenPagination `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3,oneof" json:"page_token,omitempty"` // Token for pagination (empty for first page)
SipDispatchRuleId *string `protobuf:"bytes,4,opt,name=sip_dispatch_rule_id,json=sipDispatchRuleId,proto3,oneof" json:"sip_dispatch_rule_id,omitempty"` // Filter by SIP dispatch rule ID
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -390,17 +390,17 @@ func (*ListPhoneNumbersRequest) Descriptor() ([]byte, []int) {
}
func (x *ListPhoneNumbersRequest) GetLimit() int32 {
if x != nil {
return x.Limit
if x != nil && x.Limit != nil {
return *x.Limit
}
return 0
}
func (x *ListPhoneNumbersRequest) GetStatus() PhoneNumberStatus {
func (x *ListPhoneNumbersRequest) GetStatuses() []PhoneNumberStatus {
if x != nil {
return x.Status
return x.Statuses
}
return PhoneNumberStatus_PHONE_NUMBER_STATUS_UNSPECIFIED
return nil
}
func (x *ListPhoneNumbersRequest) GetPageToken() *TokenPagination {
@@ -411,8 +411,8 @@ func (x *ListPhoneNumbersRequest) GetPageToken() *TokenPagination {
}
func (x *ListPhoneNumbersRequest) GetSipDispatchRuleId() string {
if x != nil {
return x.SipDispatchRuleId
if x != nil && x.SipDispatchRuleId != nil {
return *x.SipDispatchRuleId
}
return ""
}
@@ -481,8 +481,8 @@ func (x *ListPhoneNumbersResponse) GetTotalCount() int32 {
// GetPhoneNumberRequest - Request to get a phone number
type GetPhoneNumberRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Optional: Use phone number ID for direct lookup
PhoneNumber string `protobuf:"bytes,2,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"` // Optional: Use phone number string for lookup
Id *string `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` // Use phone number ID for direct lookup
PhoneNumber *string `protobuf:"bytes,2,opt,name=phone_number,json=phoneNumber,proto3,oneof" json:"phone_number,omitempty"` // Use phone number string for lookup
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -518,15 +518,15 @@ func (*GetPhoneNumberRequest) Descriptor() ([]byte, []int) {
}
func (x *GetPhoneNumberRequest) GetId() string {
if x != nil {
return x.Id
if x != nil && x.Id != nil {
return *x.Id
}
return ""
}
func (x *GetPhoneNumberRequest) GetPhoneNumber() string {
if x != nil {
return x.PhoneNumber
if x != nil && x.PhoneNumber != nil {
return *x.PhoneNumber
}
return ""
}
@@ -579,9 +579,9 @@ func (x *GetPhoneNumberResponse) GetPhoneNumber() *PhoneNumber {
// UpdatePhoneNumberRequest - Request to update a phone number
type UpdatePhoneNumberRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Optional: Use phone number ID for direct lookup
PhoneNumber string `protobuf:"bytes,2,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"` // Optional: Use phone number string for lookup
SipDispatchRuleId string `protobuf:"bytes,3,opt,name=sip_dispatch_rule_id,json=sipDispatchRuleId,proto3" json:"sip_dispatch_rule_id,omitempty"` // Optional: SIP dispatch rule ID to assign to the phone number
Id *string `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` // Use phone number ID for direct lookup
PhoneNumber *string `protobuf:"bytes,2,opt,name=phone_number,json=phoneNumber,proto3,oneof" json:"phone_number,omitempty"` // Use phone number string for lookup
SipDispatchRuleId *string `protobuf:"bytes,3,opt,name=sip_dispatch_rule_id,json=sipDispatchRuleId,proto3,oneof" json:"sip_dispatch_rule_id,omitempty"` // SIP dispatch rule ID to assign to the phone number
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -617,22 +617,22 @@ func (*UpdatePhoneNumberRequest) Descriptor() ([]byte, []int) {
}
func (x *UpdatePhoneNumberRequest) GetId() string {
if x != nil {
return x.Id
if x != nil && x.Id != nil {
return *x.Id
}
return ""
}
func (x *UpdatePhoneNumberRequest) GetPhoneNumber() string {
if x != nil {
return x.PhoneNumber
if x != nil && x.PhoneNumber != nil {
return *x.PhoneNumber
}
return ""
}
func (x *UpdatePhoneNumberRequest) GetSipDispatchRuleId() string {
if x != nil {
return x.SipDispatchRuleId
if x != nil && x.SipDispatchRuleId != nil {
return *x.SipDispatchRuleId
}
return ""
}
@@ -685,8 +685,8 @@ func (x *UpdatePhoneNumberResponse) GetPhoneNumber() *PhoneNumber {
// ReleasePhoneNumbersRequest - Request to release phone numbers
type ReleasePhoneNumbersRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` // Optional: Use phone number IDs for direct lookup
PhoneNumbers []string `protobuf:"bytes,2,rep,name=phone_numbers,json=phoneNumbers,proto3" json:"phone_numbers,omitempty"` // Optional: Use phone number strings for lookup
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` // Use phone number IDs for direct lookup
PhoneNumbers []string `protobuf:"bytes,2,rep,name=phone_numbers,json=phoneNumbers,proto3" json:"phone_numbers,omitempty"` // Use phone number strings for lookup
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -933,41 +933,54 @@ var File_livekit_phone_number_proto protoreflect.FileDescriptor
const file_livekit_phone_number_proto_rawDesc = "" +
"\n" +
"\x1alivekit_phone_number.proto\x12\alivekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14livekit_models.proto\"\xaa\x01\n" +
"\x1alivekit_phone_number.proto\x12\alivekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14livekit_models.proto\"\xe0\x01\n" +
"\x19SearchPhoneNumbersRequest\x12!\n" +
"\fcountry_code\x18\x01 \x01(\tR\vcountryCode\x12\x1b\n" +
"\tarea_code\x18\x02 \x01(\tR\bareaCode\x12\x14\n" +
"\x05limit\x18\x03 \x01(\x05R\x05limit\x127\n" +
"\fcountry_code\x18\x01 \x01(\tR\vcountryCode\x12 \n" +
"\tarea_code\x18\x02 \x01(\tH\x00R\bareaCode\x88\x01\x01\x12\x19\n" +
"\x05limit\x18\x03 \x01(\x05H\x01R\x05limit\x88\x01\x01\x12<\n" +
"\n" +
"page_token\x18\x04 \x01(\v2\x18.livekit.TokenPaginationR\tpageToken\"\x8a\x01\n" +
"page_token\x18\x04 \x01(\v2\x18.livekit.TokenPaginationH\x02R\tpageToken\x88\x01\x01B\f\n" +
"\n" +
"_area_codeB\b\n" +
"\x06_limitB\r\n" +
"\v_page_token\"\x8a\x01\n" +
"\x1aSearchPhoneNumbersResponse\x12*\n" +
"\x05items\x18\x01 \x03(\v2\x14.livekit.PhoneNumberR\x05items\x12@\n" +
"\x0fnext_page_token\x18\x02 \x01(\v2\x18.livekit.TokenPaginationR\rnextPageToken\"r\n" +
"\x0fnext_page_token\x18\x02 \x01(\v2\x18.livekit.TokenPaginationR\rnextPageToken\"\x90\x01\n" +
"\x1aPurchasePhoneNumberRequest\x12#\n" +
"\rphone_numbers\x18\x01 \x03(\tR\fphoneNumbers\x12/\n" +
"\x14sip_dispatch_rule_id\x18\x02 \x01(\tR\x11sipDispatchRuleId\"X\n" +
"\rphone_numbers\x18\x01 \x03(\tR\fphoneNumbers\x124\n" +
"\x14sip_dispatch_rule_id\x18\x02 \x01(\tH\x00R\x11sipDispatchRuleId\x88\x01\x01B\x17\n" +
"\x15_sip_dispatch_rule_id\"X\n" +
"\x1bPurchasePhoneNumberResponse\x129\n" +
"\rphone_numbers\x18\x01 \x03(\v2\x14.livekit.PhoneNumberR\fphoneNumbers\"\xcd\x01\n" +
"\x17ListPhoneNumbersRequest\x12\x14\n" +
"\x05limit\x18\x01 \x01(\x05R\x05limit\x122\n" +
"\x06status\x18\x02 \x01(\x0e2\x1a.livekit.PhoneNumberStatusR\x06status\x127\n" +
"\rphone_numbers\x18\x01 \x03(\v2\x14.livekit.PhoneNumberR\fphoneNumbers\"\x92\x02\n" +
"\x17ListPhoneNumbersRequest\x12\x19\n" +
"\x05limit\x18\x01 \x01(\x05H\x00R\x05limit\x88\x01\x01\x126\n" +
"\bstatuses\x18\x02 \x03(\x0e2\x1a.livekit.PhoneNumberStatusR\bstatuses\x12<\n" +
"\n" +
"page_token\x18\x03 \x01(\v2\x18.livekit.TokenPaginationR\tpageToken\x12/\n" +
"\x14sip_dispatch_rule_id\x18\x04 \x01(\tR\x11sipDispatchRuleId\"\xa9\x01\n" +
"page_token\x18\x03 \x01(\v2\x18.livekit.TokenPaginationH\x01R\tpageToken\x88\x01\x01\x124\n" +
"\x14sip_dispatch_rule_id\x18\x04 \x01(\tH\x02R\x11sipDispatchRuleId\x88\x01\x01B\b\n" +
"\x06_limitB\r\n" +
"\v_page_tokenB\x17\n" +
"\x15_sip_dispatch_rule_id\"\xa9\x01\n" +
"\x18ListPhoneNumbersResponse\x12*\n" +
"\x05items\x18\x01 \x03(\v2\x14.livekit.PhoneNumberR\x05items\x12@\n" +
"\x0fnext_page_token\x18\x02 \x01(\v2\x18.livekit.TokenPaginationR\rnextPageToken\x12\x1f\n" +
"\vtotal_count\x18\x03 \x01(\x05R\n" +
"totalCount\"J\n" +
"\x15GetPhoneNumberRequest\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12!\n" +
"\fphone_number\x18\x02 \x01(\tR\vphoneNumber\"Q\n" +
"totalCount\"l\n" +
"\x15GetPhoneNumberRequest\x12\x13\n" +
"\x02id\x18\x01 \x01(\tH\x00R\x02id\x88\x01\x01\x12&\n" +
"\fphone_number\x18\x02 \x01(\tH\x01R\vphoneNumber\x88\x01\x01B\x05\n" +
"\x03_idB\x0f\n" +
"\r_phone_number\"Q\n" +
"\x16GetPhoneNumberResponse\x127\n" +
"\fphone_number\x18\x01 \x01(\v2\x14.livekit.PhoneNumberR\vphoneNumber\"~\n" +
"\x18UpdatePhoneNumberRequest\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12!\n" +
"\fphone_number\x18\x02 \x01(\tR\vphoneNumber\x12/\n" +
"\x14sip_dispatch_rule_id\x18\x03 \x01(\tR\x11sipDispatchRuleId\"T\n" +
"\fphone_number\x18\x01 \x01(\v2\x14.livekit.PhoneNumberR\vphoneNumber\"\xbe\x01\n" +
"\x18UpdatePhoneNumberRequest\x12\x13\n" +
"\x02id\x18\x01 \x01(\tH\x00R\x02id\x88\x01\x01\x12&\n" +
"\fphone_number\x18\x02 \x01(\tH\x01R\vphoneNumber\x88\x01\x01\x124\n" +
"\x14sip_dispatch_rule_id\x18\x03 \x01(\tH\x02R\x11sipDispatchRuleId\x88\x01\x01B\x05\n" +
"\x03_idB\x0f\n" +
"\r_phone_numberB\x17\n" +
"\x15_sip_dispatch_rule_id\"T\n" +
"\x19UpdatePhoneNumberResponse\x127\n" +
"\fphone_number\x18\x01 \x01(\v2\x14.livekit.PhoneNumberR\vphoneNumber\"S\n" +
"\x1aReleasePhoneNumbersRequest\x12\x10\n" +
@@ -1054,7 +1067,7 @@ var file_livekit_phone_number_proto_depIdxs = []int32{
14, // 1: livekit.SearchPhoneNumbersResponse.items:type_name -> livekit.PhoneNumber
15, // 2: livekit.SearchPhoneNumbersResponse.next_page_token:type_name -> livekit.TokenPagination
14, // 3: livekit.PurchasePhoneNumberResponse.phone_numbers:type_name -> livekit.PhoneNumber
0, // 4: livekit.ListPhoneNumbersRequest.status:type_name -> livekit.PhoneNumberStatus
0, // 4: livekit.ListPhoneNumbersRequest.statuses:type_name -> livekit.PhoneNumberStatus
15, // 5: livekit.ListPhoneNumbersRequest.page_token:type_name -> livekit.TokenPagination
14, // 6: livekit.ListPhoneNumbersResponse.items:type_name -> livekit.PhoneNumber
15, // 7: livekit.ListPhoneNumbersResponse.next_page_token:type_name -> livekit.TokenPagination
@@ -1091,6 +1104,11 @@ func file_livekit_phone_number_proto_init() {
return
}
file_livekit_models_proto_init()
file_livekit_phone_number_proto_msgTypes[0].OneofWrappers = []any{}
file_livekit_phone_number_proto_msgTypes[2].OneofWrappers = []any{}
file_livekit_phone_number_proto_msgTypes[4].OneofWrappers = []any{}
file_livekit_phone_number_proto_msgTypes[6].OneofWrappers = []any{}
file_livekit_phone_number_proto_msgTypes[8].OneofWrappers = []any{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
+73 -66
View File
@@ -1919,70 +1919,77 @@ func (s *phoneNumberServiceServer) PathPrefix() string {
}
var twirpFileDescriptor6 = []byte{
// 1032 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0xdd, 0x6e, 0xe3, 0x44,
0x14, 0xae, 0x93, 0xa6, 0xdb, 0x1c, 0xf7, 0x27, 0x1d, 0xca, 0xae, 0xeb, 0x6c, 0x37, 0x59, 0x17,
0xa4, 0xa8, 0x17, 0xa9, 0x08, 0x88, 0x55, 0xc5, 0x0d, 0x69, 0xea, 0x2e, 0x81, 0x6c, 0x12, 0x9c,
0x04, 0x58, 0x84, 0x64, 0x4d, 0xec, 0xd9, 0x64, 0xb4, 0x8e, 0x6d, 0xec, 0xf1, 0x8a, 0xde, 0x70,
0xc7, 0x0d, 0xe2, 0x0d, 0x78, 0x02, 0x78, 0x15, 0xc4, 0x3b, 0x21, 0xff, 0xc4, 0xeb, 0xc4, 0x76,
0xb2, 0x12, 0x48, 0xdc, 0xd9, 0xe7, 0x7c, 0xe7, 0xcc, 0x37, 0xe7, 0x77, 0x40, 0x34, 0xe8, 0x1b,
0xf2, 0x9a, 0x32, 0xd5, 0x9e, 0x5b, 0x26, 0x51, 0x4d, 0x6f, 0x31, 0x25, 0x4e, 0xd3, 0x76, 0x2c,
0x66, 0xa1, 0x07, 0x91, 0x4e, 0xac, 0xcd, 0x2c, 0x6b, 0x66, 0x90, 0xab, 0x40, 0x3c, 0xf5, 0x5e,
0x5d, 0x31, 0xba, 0x20, 0x2e, 0xc3, 0x0b, 0x3b, 0x44, 0x8a, 0xa7, 0x4b, 0x2f, 0x0b, 0x4b, 0x27,
0x86, 0x1b, 0x4a, 0xa5, 0x3f, 0x39, 0x38, 0x1b, 0x11, 0xec, 0x68, 0xf3, 0xa1, 0xef, 0xbc, 0x1f,
0xf8, 0x76, 0x15, 0xf2, 0xa3, 0x47, 0x5c, 0x86, 0x9e, 0xc2, 0x81, 0x66, 0x79, 0x26, 0x73, 0xee,
0x55, 0xcd, 0xd2, 0x89, 0xc0, 0xd5, 0xb9, 0x46, 0x59, 0xe1, 0x23, 0x59, 0xc7, 0xd2, 0x09, 0xaa,
0x42, 0x19, 0x3b, 0x04, 0x87, 0xfa, 0x42, 0xa0, 0xdf, 0xf7, 0x05, 0x81, 0xf2, 0x14, 0x4a, 0x06,
0x5d, 0x50, 0x26, 0x14, 0xeb, 0x5c, 0xa3, 0xa4, 0x84, 0x3f, 0xe8, 0x19, 0x80, 0x8d, 0x67, 0x44,
0x65, 0xd6, 0x6b, 0x62, 0x0a, 0xbb, 0x75, 0xae, 0xc1, 0xb7, 0x84, 0x66, 0x44, 0xaf, 0x39, 0xf6,
0xa5, 0x43, 0x3c, 0xa3, 0x26, 0x66, 0xd4, 0x32, 0x95, 0xb2, 0x8f, 0x0d, 0x84, 0xd2, 0xaf, 0x1c,
0x88, 0x59, 0x64, 0x5d, 0xdb, 0x32, 0x5d, 0x82, 0x2e, 0xa1, 0x44, 0x19, 0x59, 0xb8, 0x02, 0x57,
0x2f, 0x36, 0xf8, 0xd6, 0x69, 0xec, 0x32, 0x81, 0x56, 0x42, 0x08, 0xfa, 0x1c, 0x8e, 0x4d, 0xf2,
0x13, 0x53, 0x13, 0x44, 0x0a, 0x5b, 0x88, 0x1c, 0xfa, 0x06, 0xc3, 0x98, 0x8c, 0x03, 0xe2, 0xd0,
0x73, 0xb4, 0x39, 0x76, 0x49, 0xd2, 0x7f, 0x14, 0xb9, 0x0b, 0x38, 0x4c, 0x66, 0x2b, 0xe4, 0x54,
0x56, 0x0e, 0xec, 0x04, 0x71, 0x74, 0x05, 0xa7, 0x2e, 0xb5, 0x55, 0x9d, 0xba, 0x36, 0x66, 0xda,
0x5c, 0x75, 0x3c, 0x83, 0xa8, 0x54, 0x8f, 0xc2, 0x78, 0xe2, 0x52, 0xfb, 0x36, 0x52, 0x29, 0x9e,
0x41, 0xba, 0xba, 0xf4, 0x1d, 0x54, 0x33, 0xcf, 0x8c, 0x02, 0x70, 0x9d, 0x75, 0x68, 0x5e, 0x20,
0x56, 0xa8, 0x48, 0x7f, 0x73, 0xf0, 0xa8, 0x47, 0x5d, 0x96, 0x55, 0x05, 0x71, 0x16, 0xb9, 0x64,
0x16, 0x5b, 0xb0, 0xe7, 0x32, 0xcc, 0x3c, 0x37, 0xa0, 0x7b, 0xd4, 0x12, 0xb3, 0x4e, 0x19, 0x05,
0x08, 0x25, 0x42, 0xae, 0x65, 0xbe, 0xf8, 0xce, 0x99, 0xcf, 0x8d, 0xd4, 0x6e, 0x5e, 0xa4, 0xfe,
0xe0, 0x40, 0x48, 0xdf, 0xe7, 0xff, 0x28, 0x14, 0x54, 0x03, 0x9e, 0x59, 0x0c, 0x1b, 0x6a, 0xd0,
0x36, 0x51, 0x2b, 0x40, 0x20, 0xea, 0xf8, 0x12, 0xe9, 0x4b, 0x78, 0xff, 0x39, 0x61, 0x19, 0x45,
0x74, 0x04, 0x05, 0xaa, 0x47, 0x4d, 0x57, 0xa0, 0xba, 0xdf, 0x8e, 0xc9, 0xfc, 0x46, 0x75, 0xc2,
0x27, 0x12, 0x29, 0x7d, 0x0d, 0x0f, 0xd7, 0x7d, 0x45, 0x97, 0x7e, 0xb6, 0x66, 0xcc, 0x05, 0xb7,
0xc8, 0xbe, 0xfb, 0x8a, 0xcb, 0x9f, 0x41, 0x98, 0xd8, 0x3a, 0x66, 0xe4, 0x3f, 0x61, 0x98, 0x9b,
0xca, 0x62, 0x5e, 0x2a, 0xc7, 0x70, 0x96, 0x71, 0xfe, 0xbf, 0xbd, 0xd5, 0x08, 0x44, 0x85, 0x18,
0x64, 0xb5, 0x93, 0xe2, 0x92, 0xaf, 0x40, 0x91, 0xea, 0xcb, 0xa6, 0xf5, 0x3f, 0xd3, 0x0d, 0x5d,
0x48, 0x37, 0xb4, 0x74, 0x0e, 0xd5, 0x4c, 0xa7, 0x21, 0x59, 0xe9, 0x97, 0x12, 0xf0, 0x09, 0x45,
0x2a, 0x7a, 0x35, 0xe0, 0xc9, 0x47, 0x9f, 0x7e, 0xa2, 0xbe, 0xb2, 0x9c, 0x05, 0x66, 0x51, 0xf0,
0xc0, 0x17, 0xdd, 0x05, 0x92, 0xd4, 0x3c, 0x2e, 0x6e, 0x99, 0xc7, 0xbb, 0x6b, 0xf3, 0xf8, 0x1a,
0xf8, 0x90, 0xbe, 0xca, 0xee, 0x6d, 0x22, 0x94, 0x82, 0xc6, 0x15, 0xb2, 0x82, 0x35, 0xbe, 0xb7,
0x89, 0x02, 0x66, 0xfc, 0x8d, 0x44, 0xd8, 0x37, 0x2c, 0x0d, 0x1b, 0x94, 0xdd, 0x0b, 0x7b, 0xa1,
0xdb, 0xe5, 0x3f, 0x7a, 0x08, 0x7b, 0x0e, 0x99, 0x51, 0xcb, 0x14, 0x1e, 0x04, 0x9a, 0xe8, 0x0f,
0x9d, 0x03, 0xb8, 0x36, 0x5e, 0xa8, 0xae, 0x66, 0x39, 0x44, 0xd8, 0xaf, 0x73, 0x0d, 0x4e, 0x29,
0xfb, 0x92, 0x91, 0x2f, 0x40, 0xd7, 0x00, 0x9a, 0x43, 0x30, 0x23, 0xba, 0x8a, 0x99, 0x50, 0x0e,
0x32, 0x27, 0x36, 0xc3, 0x3d, 0xd6, 0x5c, 0xee, 0xb1, 0xe6, 0x78, 0xb9, 0xc7, 0x94, 0x72, 0x84,
0x6e, 0x33, 0xdf, 0xd4, 0x0b, 0x6a, 0x22, 0x30, 0x85, 0xed, 0xa6, 0x11, 0xba, 0xcd, 0x90, 0x04,
0x07, 0x1a, 0xb6, 0xf1, 0x94, 0x1a, 0x94, 0x51, 0xe2, 0x0a, 0x7c, 0x98, 0xc7, 0xa4, 0x2c, 0x31,
0xdb, 0x0e, 0xde, 0x79, 0xb6, 0x7d, 0x06, 0x3c, 0x76, 0x5d, 0x3a, 0x33, 0x43, 0x4e, 0x87, 0x5b,
0x39, 0xc1, 0x12, 0xde, 0x66, 0xbe, 0xb1, 0x13, 0x16, 0x4e, 0x60, 0x7c, 0xb4, 0xdd, 0x78, 0x09,
0x6f, 0xb3, 0xdc, 0x8e, 0x3a, 0xce, 0xe9, 0xa8, 0xcb, 0xdf, 0x39, 0x38, 0x49, 0x5d, 0x04, 0x5d,
0x40, 0x6d, 0xf8, 0xc5, 0xa0, 0x2f, 0xab, 0xfd, 0xc9, 0x8b, 0x1b, 0x59, 0x51, 0x47, 0xe3, 0xf6,
0x78, 0x32, 0x52, 0x27, 0xfd, 0xd1, 0x50, 0xee, 0x74, 0xef, 0xba, 0xf2, 0x6d, 0x65, 0x07, 0x3d,
0x01, 0x31, 0x0b, 0xd4, 0xee, 0x8c, 0xbb, 0xdf, 0xc8, 0x15, 0x0e, 0xd5, 0xa0, 0x9a, 0xa5, 0x1f,
0xca, 0xfd, 0xdb, 0x6e, 0xff, 0x79, 0xa5, 0x80, 0xea, 0xf0, 0x38, 0x0b, 0xa0, 0xc8, 0x3d, 0xb9,
0x3d, 0x92, 0x6f, 0x2b, 0xc5, 0xcb, 0xdf, 0x38, 0x38, 0x5e, 0xab, 0x44, 0x74, 0x0e, 0x67, 0x2b,
0x56, 0xe3, 0x97, 0x43, 0x59, 0x9d, 0xf4, 0xbf, 0xea, 0x0f, 0xbe, 0xed, 0x57, 0x76, 0xd0, 0x63,
0x10, 0xd2, 0xea, 0x17, 0x83, 0x9b, 0x6e, 0xcf, 0xe7, 0x54, 0x85, 0x47, 0x69, 0x6d, 0x6f, 0xd0,
0x69, 0xf7, 0x2a, 0x85, 0x14, 0xe1, 0x40, 0x39, 0x1e, 0xf4, 0x7a, 0xea, 0x9d, 0x22, 0xcb, 0x95,
0x62, 0xeb, 0xaf, 0x5d, 0x40, 0xc9, 0x60, 0x11, 0xe7, 0x0d, 0xd5, 0x08, 0x52, 0x01, 0xa5, 0x9f,
0x22, 0x48, 0x8a, 0x0b, 0x25, 0xf7, 0x51, 0x25, 0x5e, 0x6c, 0xc4, 0x44, 0xa3, 0x62, 0x07, 0x4d,
0xe1, 0xbd, 0x8c, 0x5d, 0x8f, 0xde, 0x5a, 0xe7, 0xbf, 0x3e, 0xc4, 0x0f, 0x36, 0x83, 0xe2, 0x33,
0x5e, 0x42, 0x65, 0x7d, 0x49, 0xa2, 0x7a, 0x6c, 0x9b, 0xf3, 0x1e, 0x10, 0x9f, 0x6e, 0x40, 0xc4,
0xae, 0x47, 0x70, 0xb4, 0xba, 0x88, 0xd0, 0x93, 0xd8, 0x2c, 0x73, 0xdb, 0x89, 0xb5, 0x5c, 0x7d,
0xec, 0xf4, 0x07, 0x38, 0x49, 0xad, 0x02, 0xf4, 0x96, 0x4e, 0xde, 0x9a, 0x12, 0xa5, 0x4d, 0x90,
0x64, 0xc4, 0x33, 0xa6, 0x77, 0x22, 0xe2, 0xf9, 0x0b, 0x23, 0x11, 0xf1, 0x4d, 0x0b, 0x60, 0xe7,
0xe6, 0xc3, 0xef, 0x2f, 0x66, 0x94, 0xcd, 0xbd, 0x69, 0x53, 0xb3, 0x16, 0x57, 0x91, 0x4d, 0xf8,
0x68, 0xd7, 0x2c, 0x63, 0x29, 0x98, 0xee, 0x05, 0x92, 0x8f, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff,
0x87, 0x94, 0x0e, 0xf4, 0xfb, 0x0b, 0x00, 0x00,
// 1148 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xdd, 0x6e, 0xe3, 0x44,
0x14, 0xce, 0x24, 0x9b, 0x6e, 0x73, 0x92, 0xb6, 0xd9, 0xd9, 0xee, 0xd6, 0x75, 0xb7, 0xdb, 0xac,
0x0b, 0x28, 0xea, 0x45, 0x2a, 0xca, 0x6a, 0x51, 0x05, 0x17, 0x24, 0xad, 0xbb, 0x8d, 0xc8, 0xa6,
0xc1, 0x49, 0x81, 0x45, 0x48, 0x23, 0xc7, 0x9e, 0x4d, 0x47, 0xeb, 0xd8, 0xc6, 0x9e, 0xac, 0xe8,
0x03, 0x20, 0xad, 0x10, 0x17, 0x88, 0x5b, 0x9e, 0x80, 0x97, 0xe0, 0x05, 0x78, 0x09, 0x1e, 0x05,
0x79, 0xec, 0xb8, 0x4e, 0x6d, 0xa7, 0x17, 0x20, 0x71, 0x17, 0x9f, 0xbf, 0xf9, 0xe6, 0x9b, 0x6f,
0xce, 0x99, 0x80, 0x6c, 0xb1, 0x77, 0xf4, 0x2d, 0xe3, 0xc4, 0xbd, 0x72, 0x6c, 0x4a, 0xec, 0xd9,
0x74, 0x4c, 0xbd, 0x96, 0xeb, 0x39, 0xdc, 0xc1, 0xf7, 0x23, 0x9f, 0xbc, 0x37, 0x71, 0x9c, 0x89,
0x45, 0x0f, 0x85, 0x79, 0x3c, 0x7b, 0x73, 0xc8, 0xd9, 0x94, 0xfa, 0x5c, 0x9f, 0xba, 0x61, 0xa4,
0xbc, 0x39, 0xaf, 0x32, 0x75, 0x4c, 0x6a, 0xf9, 0xa1, 0x55, 0xf9, 0x1b, 0xc1, 0xf6, 0x90, 0xea,
0x9e, 0x71, 0x35, 0x08, 0x8a, 0xf7, 0x45, 0x6d, 0x5f, 0xa3, 0x3f, 0xcc, 0xa8, 0xcf, 0xf1, 0x33,
0xa8, 0x19, 0xce, 0xcc, 0xe6, 0xde, 0x35, 0x31, 0x1c, 0x93, 0x4a, 0xa8, 0x81, 0x9a, 0x15, 0xad,
0x1a, 0xd9, 0x4e, 0x1c, 0x93, 0xe2, 0x06, 0x54, 0x74, 0x8f, 0xea, 0xa1, 0xbf, 0x18, 0xf8, 0xcf,
0x0b, 0xda, 0x6a, 0x60, 0x0a, 0xdc, 0xef, 0x11, 0xc2, 0xdb, 0x50, 0xb6, 0xd8, 0x94, 0x71, 0xa9,
0xd4, 0x40, 0xcd, 0xf2, 0x39, 0xd2, 0xc2, 0xcf, 0xc0, 0xf5, 0x39, 0x80, 0xab, 0x4f, 0x28, 0xe1,
0xce, 0x5b, 0x6a, 0x4b, 0xf7, 0x1a, 0xa8, 0x59, 0x3d, 0x92, 0x5a, 0x11, 0xd0, 0xd6, 0x28, 0xb0,
0x0e, 0xf4, 0x09, 0xb3, 0x75, 0xce, 0x1c, 0xfb, 0xbc, 0xa8, 0x55, 0x82, 0x68, 0x61, 0x7e, 0x8f,
0x50, 0xa7, 0x06, 0x40, 0xe2, 0xb5, 0x3b, 0xab, 0xb0, 0x42, 0x44, 0xe1, 0xce, 0x1a, 0x54, 0xc9,
0x4d, 0x59, 0xe5, 0x67, 0x04, 0x72, 0xd6, 0x16, 0x7d, 0xd7, 0xb1, 0x7d, 0x8a, 0x0f, 0xa0, 0xcc,
0x38, 0x9d, 0xfa, 0x12, 0x6a, 0x94, 0x9a, 0xd5, 0xa3, 0xcd, 0x78, 0xf9, 0x44, 0xb4, 0x16, 0x86,
0xe0, 0x2f, 0x60, 0xc3, 0xa6, 0x3f, 0xf2, 0x44, 0x75, 0xb1, 0xe5, 0x25, 0xa0, 0xb5, 0xb5, 0x20,
0x61, 0x30, 0x87, 0xad, 0xfc, 0x8a, 0x40, 0x1e, 0xcc, 0x3c, 0xe3, 0x4a, 0xf7, 0x69, 0x72, 0x81,
0x88, 0xf0, 0x7d, 0x58, 0x4b, 0x1e, 0x72, 0x08, 0xaa, 0xa2, 0xd5, 0xdc, 0x04, 0x72, 0xfc, 0x1c,
0x36, 0x7d, 0xe6, 0x12, 0x93, 0xf9, 0xae, 0xce, 0x8d, 0x2b, 0xe2, 0xcd, 0x2c, 0x4a, 0x98, 0x19,
0xb3, 0xff, 0xc0, 0x67, 0xee, 0x69, 0xe4, 0xd4, 0x66, 0x16, 0xed, 0x9a, 0x01, 0x5b, 0x5b, 0xf0,
0x88, 0x64, 0xa5, 0x29, 0xdf, 0xc2, 0x4e, 0x26, 0xa2, 0x88, 0x9f, 0xe3, 0x2c, 0x48, 0x79, 0x3c,
0x2d, 0x00, 0x55, 0x7e, 0x2b, 0xc2, 0x56, 0x8f, 0xf9, 0x3c, 0x4b, 0x5a, 0xb1, 0x2a, 0x90, 0x50,
0x45, 0x21, 0xa1, 0x8a, 0x17, 0xb0, 0xea, 0x73, 0x9d, 0xcf, 0x7c, 0xea, 0x4b, 0xc5, 0x46, 0xa9,
0xb9, 0x7e, 0x24, 0x67, 0x2d, 0x36, 0x14, 0x31, 0x5a, 0x1c, 0x7b, 0x4b, 0x4d, 0xa5, 0x3b, 0xd4,
0x84, 0x16, 0xd5, 0x94, 0xcb, 0xea, 0x3d, 0xc1, 0x6a, 0x31, 0x87, 0xd5, 0x3c, 0xd5, 0xe5, 0xd3,
0xfd, 0x07, 0x02, 0x29, 0x4d, 0xca, 0xff, 0x21, 0x46, 0xbc, 0x07, 0x55, 0xee, 0x70, 0xdd, 0x22,
0xe2, 0x42, 0x87, 0xf7, 0x53, 0x03, 0x61, 0x3a, 0x09, 0x2c, 0x8a, 0x05, 0x8f, 0x5e, 0x52, 0x9e,
0xa1, 0xd3, 0x87, 0x50, 0x64, 0x66, 0xd8, 0x0e, 0xce, 0x0b, 0x5a, 0x91, 0x05, 0x5c, 0xe0, 0x8f,
0xa0, 0x96, 0x54, 0x4a, 0xa4, 0x47, 0xa4, 0x55, 0x13, 0xa2, 0x08, 0x38, 0x2b, 0x43, 0x89, 0x30,
0xb3, 0xb3, 0x01, 0x6b, 0x0b, 0x1d, 0x4d, 0xf9, 0x0a, 0x1e, 0xdf, 0x5e, 0x2d, 0xa2, 0xe5, 0xd3,
0x5b, 0x95, 0x91, 0xd8, 0x67, 0x36, 0x3b, 0xc9, 0xd5, 0x94, 0x3f, 0x11, 0x48, 0x97, 0xae, 0xa9,
0x73, 0xfa, 0x1f, 0x6f, 0x22, 0x57, 0x2e, 0xa5, 0xa5, 0x72, 0xc9, 0xd9, 0x7a, 0xbe, 0x5a, 0x46,
0xb0, 0x9d, 0x81, 0xff, 0xdf, 0xd2, 0x32, 0x04, 0x59, 0xa3, 0x16, 0x5d, 0xbc, 0xf1, 0xf1, 0xd5,
0xac, 0x43, 0x89, 0x99, 0xf3, 0xd6, 0x13, 0xfc, 0x4c, 0xb7, 0xa5, 0x62, 0xba, 0x2d, 0x29, 0xbb,
0xb0, 0x93, 0x59, 0x34, 0x04, 0xab, 0xfc, 0x54, 0x86, 0x6a, 0xc2, 0x81, 0xd7, 0x6f, 0xd8, 0x0f,
0xb8, 0x0f, 0xc4, 0x48, 0x3f, 0x7e, 0xf1, 0x9c, 0xbc, 0x71, 0xbc, 0xa9, 0xce, 0x43, 0xde, 0x35,
0x08, 0x4c, 0x67, 0xc2, 0x92, 0x1a, 0x46, 0xa5, 0xf4, 0x30, 0xda, 0x49, 0x0e, 0x23, 0x71, 0x71,
0x6f, 0x46, 0x11, 0x3e, 0x86, 0x6a, 0x08, 0x9f, 0xf0, 0x6b, 0x97, 0x4a, 0xe5, 0x06, 0x6a, 0xae,
0x27, 0xee, 0x4a, 0x02, 0xdb, 0xe8, 0xda, 0xa5, 0x1a, 0xd8, 0xf1, 0x6f, 0x2c, 0xc3, 0xaa, 0xe5,
0x18, 0xba, 0xc5, 0xf8, 0xb5, 0xb4, 0x12, 0x96, 0x9d, 0x7f, 0xe3, 0xc7, 0xb0, 0xe2, 0xd1, 0x09,
0x73, 0x6c, 0xe9, 0xbe, 0xf0, 0x44, 0x5f, 0x78, 0x17, 0xc0, 0x77, 0xf5, 0x29, 0xf1, 0x0d, 0xc7,
0xa3, 0xd2, 0x6a, 0x03, 0x35, 0x91, 0x56, 0x09, 0x2c, 0xc3, 0xc0, 0x80, 0x8f, 0x01, 0x0c, 0x8f,
0xea, 0x9c, 0x9a, 0x44, 0xe7, 0x52, 0x45, 0x9c, 0x9c, 0xdc, 0x0a, 0x87, 0x78, 0x6b, 0x3e, 0xc4,
0x5b, 0xa3, 0xf9, 0x10, 0xd7, 0x2a, 0x51, 0x74, 0x9b, 0x07, 0xa9, 0x33, 0xa1, 0x09, 0x91, 0x0a,
0x77, 0xa7, 0x46, 0xd1, 0x6d, 0x8e, 0x15, 0xa8, 0x19, 0xba, 0xab, 0x8f, 0x99, 0xc5, 0x38, 0xa3,
0xbe, 0x54, 0x0d, 0xcf, 0x31, 0x69, 0xc3, 0x47, 0xb0, 0x12, 0xb6, 0x54, 0xa9, 0x26, 0x28, 0x5a,
0xd6, 0x7c, 0xa3, 0x48, 0xfc, 0x19, 0x54, 0x75, 0xdf, 0x67, 0x13, 0x3b, 0xc4, 0xb4, 0x76, 0x27,
0x26, 0x98, 0x87, 0xb7, 0x79, 0x90, 0xec, 0x85, 0xc2, 0x11, 0xc9, 0xeb, 0x77, 0x27, 0xcf, 0xc3,
0xdb, 0x1c, 0x1f, 0xe6, 0xdc, 0xc3, 0x0d, 0x71, 0x18, 0xe9, 0x5b, 0x78, 0xf0, 0x3b, 0x82, 0x07,
0xa9, 0x8d, 0xe0, 0x7d, 0xd8, 0x1b, 0x9c, 0x5f, 0xf4, 0x55, 0xd2, 0xbf, 0x7c, 0xd5, 0x51, 0x35,
0x32, 0x1c, 0xb5, 0x47, 0x97, 0x43, 0x72, 0xd9, 0x1f, 0x0e, 0xd4, 0x93, 0xee, 0x59, 0x57, 0x3d,
0xad, 0x17, 0xf0, 0x53, 0x90, 0xb3, 0x82, 0xda, 0x27, 0xa3, 0xee, 0xd7, 0x6a, 0x1d, 0xe1, 0x3d,
0xd8, 0xc9, 0xf2, 0x0f, 0xd4, 0xfe, 0x69, 0xb7, 0xff, 0xb2, 0x5e, 0xc4, 0x0d, 0x78, 0x92, 0x15,
0xa0, 0xa9, 0x3d, 0xb5, 0x3d, 0x54, 0x4f, 0xeb, 0xa5, 0x83, 0x5f, 0x10, 0x6c, 0xdc, 0x52, 0x22,
0xde, 0x85, 0xed, 0x85, 0xac, 0xd1, 0xeb, 0x81, 0x4a, 0x2e, 0xfb, 0x5f, 0xf6, 0x2f, 0xbe, 0xe9,
0xd7, 0x0b, 0xf8, 0x09, 0x48, 0x69, 0xf7, 0xab, 0x8b, 0x4e, 0xb7, 0x17, 0x60, 0xda, 0x81, 0xad,
0xb4, 0xb7, 0x77, 0x71, 0xd2, 0xee, 0xd5, 0x8b, 0x29, 0xc0, 0xc2, 0x39, 0xba, 0xe8, 0xf5, 0xc8,
0x99, 0xa6, 0xaa, 0xf5, 0xd2, 0xd1, 0x5f, 0xf7, 0x00, 0x27, 0xc9, 0xa2, 0xde, 0x3b, 0x66, 0x50,
0x4c, 0x00, 0xa7, 0x5f, 0x54, 0x58, 0x89, 0x85, 0x92, 0xfb, 0xa2, 0x94, 0xf7, 0x97, 0xc6, 0x44,
0xad, 0xa2, 0x80, 0xc7, 0xf0, 0x30, 0xe3, 0x4d, 0x82, 0x6f, 0xb2, 0xf3, 0xdf, 0x50, 0xf2, 0x07,
0xcb, 0x83, 0xe2, 0x35, 0x5e, 0x43, 0xfd, 0xf6, 0x1c, 0xc6, 0x8d, 0x38, 0x37, 0xe7, 0xdd, 0x22,
0x3f, 0x5b, 0x12, 0x11, 0x97, 0x1e, 0xc2, 0xfa, 0xe2, 0x24, 0xc3, 0x4f, 0xe3, 0xb4, 0xcc, 0x81,
0x2a, 0xef, 0xe5, 0xfa, 0xe3, 0xa2, 0xdf, 0xc3, 0x83, 0xd4, 0x28, 0xc0, 0x37, 0x70, 0xf2, 0xc6,
0x9c, 0xac, 0x2c, 0x0b, 0x49, 0x32, 0x9e, 0xd1, 0xbd, 0x13, 0x8c, 0xe7, 0x0f, 0x8c, 0x04, 0xe3,
0xcb, 0x06, 0x40, 0xa1, 0xf3, 0xe1, 0x77, 0xfb, 0x13, 0xc6, 0xaf, 0x66, 0xe3, 0x96, 0xe1, 0x4c,
0x0f, 0xa3, 0x9c, 0xf0, 0x1f, 0x8b, 0xe1, 0x58, 0x73, 0xc3, 0x78, 0x45, 0x58, 0x3e, 0xf9, 0x27,
0x00, 0x00, 0xff, 0xff, 0xdb, 0x0c, 0x75, 0x75, 0xf8, 0x0c, 0x00, 0x00,
}
+40 -40
View File
@@ -53,71 +53,71 @@ service PhoneNumberService {
// SearchPhoneNumbersRequest - Request to search available phone numbers
message SearchPhoneNumbersRequest {
string country_code = 1; // Optional: Filter by country code (e.g., "US", "CA")
string area_code = 2; // Optional: Filter by area code (e.g., "415")
int32 limit = 3; // Optional: Maximum number of results (default: 50)
TokenPagination page_token = 4; // Optional: Token for pagination (empty for first page)
string country_code = 1; // Filter by country code (e.g., "US", "CA")
optional string area_code = 2; // Filter by area code (e.g., "415")
optional int32 limit = 3; // Maximum number of results (default: 50)
optional TokenPagination page_token = 4; // Token for pagination (empty for first page)
}
// SearchPhoneNumbersResponse - Response containing available phone numbers
message SearchPhoneNumbersResponse {
repeated PhoneNumber items = 1; // List of available phone numbers
TokenPagination next_page_token = 2; // Token for next page (empty if no more pages)
repeated PhoneNumber items = 1; // List of available phone numbers
TokenPagination next_page_token = 2; // Token for next page (empty if no more pages)
}
// PurchasePhoneNumberRequest - Request to purchase phone numbers
message PurchasePhoneNumberRequest {
repeated string phone_numbers = 1; // Phone numbers to purchase (e.g., ["+1234567890", "+1234567891"])
string sip_dispatch_rule_id = 2; // Optional: SIP dispatch rule ID to apply to all purchased numbers
repeated string phone_numbers = 1; // Phone numbers to purchase (e.g., ["+1234567890", "+1234567891"])
optional string sip_dispatch_rule_id = 2; // SIP dispatch rule ID to apply to all purchased numbers
}
// PurchasePhoneNumberResponse - Response containing the purchased phone numbers
message PurchasePhoneNumberResponse {
repeated PhoneNumber phone_numbers = 1; // Details of the purchased phone numbers
repeated PhoneNumber phone_numbers = 1; // Details of the purchased phone numbers
}
// ListPhoneNumbersRequest - Request to list phone numbers
message ListPhoneNumbersRequest {
int32 limit = 1; // Optional: Maximum number of results (default: 50)
PhoneNumberStatus status = 2; // Optional: Filter by status (active, pending, released)
TokenPagination page_token = 3; // Optional: Token for pagination (empty for first page)
string sip_dispatch_rule_id = 4; // Optional: Filter by SIP dispatch rule ID
optional int32 limit = 1; // Maximum number of results (default: 50)
repeated PhoneNumberStatus statuses = 2; // Filter by statuses (active, pending, released)
optional TokenPagination page_token = 3; // Token for pagination (empty for first page)
optional string sip_dispatch_rule_id = 4; // Filter by SIP dispatch rule ID
}
// ListPhoneNumbersResponse - Response containing phone numbers
message ListPhoneNumbersResponse {
repeated PhoneNumber items = 1; // List of phone numbers
TokenPagination next_page_token = 2; // Token for next page (empty if no more pages)
int32 total_count = 3; // Total number of phone numbers
repeated PhoneNumber items = 1; // List of phone numbers
TokenPagination next_page_token = 2; // Token for next page (empty if no more pages)
int32 total_count = 3; // Total number of phone numbers
}
// GetPhoneNumberRequest - Request to get a phone number
message GetPhoneNumberRequest {
string id = 1; // Optional: Use phone number ID for direct lookup
string phone_number = 2; // Optional: Use phone number string for lookup
optional string id = 1; // Use phone number ID for direct lookup
optional string phone_number = 2; // Use phone number string for lookup
}
// GetPhoneNumberResponse - Response containing the phone number
message GetPhoneNumberResponse {
PhoneNumber phone_number = 1; // The phone number details
PhoneNumber phone_number = 1; // The phone number details
}
// UpdatePhoneNumberRequest - Request to update a phone number
message UpdatePhoneNumberRequest {
string id = 1; // Optional: Use phone number ID for direct lookup
string phone_number = 2; // Optional: Use phone number string for lookup
string sip_dispatch_rule_id = 3; // Optional: SIP dispatch rule ID to assign to the phone number
optional string id = 1; // Use phone number ID for direct lookup
optional string phone_number = 2; // Use phone number string for lookup
optional string sip_dispatch_rule_id = 3; // SIP dispatch rule ID to assign to the phone number
}
// UpdatePhoneNumberResponse - Response containing the updated phone number
message UpdatePhoneNumberResponse {
PhoneNumber phone_number = 1; // The updated phone number details
PhoneNumber phone_number = 1; // The updated phone number details
}
// ReleasePhoneNumbersRequest - Request to release phone numbers
message ReleasePhoneNumbersRequest {
repeated string ids = 1; // Optional: Use phone number IDs for direct lookup
repeated string phone_numbers = 2; // Optional: Use phone number strings for lookup
repeated string ids = 1; // Use phone number IDs for direct lookup
repeated string phone_numbers = 2; // Use phone number strings for lookup
}
// ReleasePhoneNumbersResponse - Response for releasing phone numbers
@@ -127,19 +127,19 @@ message ReleasePhoneNumbersResponse {
// PhoneNumber - Unified phone number type for inventory and purchased numbers
message PhoneNumber {
string id = 1; // Unique identifier
string e164_format = 2; // Phone number in E.164 format (e.g., "+14155552671")
string country_code = 3; // Country code (e.g., "US")
string area_code = 4; // Area code (e.g., "415")
PhoneNumberType number_type = 5; // Number type (mobile, local, toll-free, unknown)
string locality = 6; // City/locality (e.g., "San Francisco")
string region = 7; // State/region (e.g., "CA")
double spam_score = 8; // Spam score for fraud detection
google.protobuf.Timestamp created_at = 9; // Creation timestamp
google.protobuf.Timestamp updated_at = 10; // Last update timestamp
repeated string capabilities = 11; // Available capabilities (e.g., "voice", "sms")
PhoneNumberStatus status = 12; // Current status
google.protobuf.Timestamp assigned_at = 13; // Assignment timestamp
google.protobuf.Timestamp released_at = 14; // Release timestamp (if applicable)
string sip_dispatch_rule_id = 15; // Associated SIP dispatch rule ID
string id = 1; // Unique identifier
string e164_format = 2; // Phone number in E.164 format (e.g., "+14155552671")
string country_code = 3; // Country code (e.g., "US")
string area_code = 4; // Area code (e.g., "415")
PhoneNumberType number_type = 5; // Number type (mobile, local, toll-free, unknown)
string locality = 6; // City/locality (e.g., "San Francisco")
string region = 7; // State/region (e.g., "CA")
double spam_score = 8; // Spam score for fraud detection
google.protobuf.Timestamp created_at = 9; // Creation timestamp
google.protobuf.Timestamp updated_at = 10; // Last update timestamp
repeated string capabilities = 11; // Available capabilities (e.g., "voice", "sms")
PhoneNumberStatus status = 12; // Current status
google.protobuf.Timestamp assigned_at = 13; // Assignment timestamp
google.protobuf.Timestamp released_at = 14; // Release timestamp (if applicable)
string sip_dispatch_rule_id = 15; // Associated SIP dispatch rule ID
}