diff --git a/.docker/Dockerfile b/.docker/Dockerfile index fc61e2a..caf40ed 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -15,13 +15,11 @@ ADD .docker/install-protoc-gen-validate.sh /tmp/ RUN chmod +x /tmp/install-protoc-gen-validate.sh RUN /tmp/install-protoc-gen-validate.sh -ADD .docker/requirements.txt /tmp/requirements.txt -RUN pip --default-timeout=100 install -r /tmp/requirements.txt - RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@latest RUN go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest ENV PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/go/bin" -RUN echo $TARGETOS $TARGETARCH +ADD .docker/requirements.txt /tmp/requirements.txt +RUN pip --default-timeout=100 install -r /tmp/requirements.txt #ENTRYPOINT ["/usr/local/bin/protoc"] \ No newline at end of file diff --git a/Makefile b/Makefile index 97fed3b..03af252 100644 --- a/Makefile +++ b/Makefile @@ -31,8 +31,9 @@ generate: clean python go build submodules --python_out=python/naas_models \ --go_out=go \ --validate_out="lang=go:go" \ - space.proto registry.proto iam.proto aimodel.proto chat.proto credit.proto secret.proto workspace.proto validate.proto - cd python/naas_models && sed -i.bak 's/import validate_pb2/import naas_models.validate_pb2/g' *.py && rm *.bak + space.proto registry.proto iam.proto aimodel.proto chat.proto credit.proto secret.proto workspace.proto validate.proto common.proto + cd python/naas_models && sed -i.bak 's/import validate_pb2/import naas_models.validate_pb2/g' *.py && rm *.bak + cd python/naas_models/pydantic && sed -i.bak 's/..common_p2p/naas_models.pydantic.common_p2p/g' *.py && rm *.bak bash: $(d) /bin/bash \ No newline at end of file diff --git a/go/github.com/envoyproxy/protoc-gen-validate/validate/validate.pb.go b/go/github.com/envoyproxy/protoc-gen-validate/validate/validate.pb.go index 5c56e7c..57ffa86 100644 --- a/go/github.com/envoyproxy/protoc-gen-validate/validate/validate.pb.go +++ b/go/github.com/envoyproxy/protoc-gen-validate/validate/validate.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v3.19.5 // source: validate.proto diff --git a/go/github.com/jupyter-naas/naas-models/go/aimodel/aimodel.pb.go b/go/github.com/jupyter-naas/naas-models/go/aimodel/aimodel.pb.go index c175ca4..c480389 100644 --- a/go/github.com/jupyter-naas/naas-models/go/aimodel/aimodel.pb.go +++ b/go/github.com/jupyter-naas/naas-models/go/aimodel/aimodel.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v3.19.5 // source: aimodel.proto diff --git a/go/github.com/jupyter-naas/naas-models/go/chat/chat.pb.go b/go/github.com/jupyter-naas/naas-models/go/chat/chat.pb.go index 4ee9d81..e38c42d 100644 --- a/go/github.com/jupyter-naas/naas-models/go/chat/chat.pb.go +++ b/go/github.com/jupyter-naas/naas-models/go/chat/chat.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v3.19.5 // source: chat.proto @@ -8,6 +8,7 @@ package chat import ( _ "github.com/envoyproxy/protoc-gen-validate/validate" + common "github.com/jupyter-naas/naas-models/go/common" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" _ "google.golang.org/protobuf/types/known/structpb" @@ -77,28 +78,31 @@ func (MessageType) EnumDescriptor() ([]byte, []int) { type MessageError int32 const ( - MessageError_MESSAGE_NO_ERROR MessageError = 0 - MessageError_MESSAGE_ALREADY_EXISTS MessageError = 1 - MessageError_MESSAGE_NOT_FOUND MessageError = 2 - MessageError_MESSAGE_NOT_UPDATED MessageError = 3 - MessageError_MESSAGE_NOT_AUTHORIZED MessageError = 4 + MessageError_MESSAGE_NO_ERROR MessageError = 0 + MessageError_MESSAGE_ALREADY_EXISTS MessageError = 1 + MessageError_MESSAGE_NOT_FOUND MessageError = 2 + MessageError_MESSAGE_NOT_UPDATED MessageError = 3 + MessageError_MESSAGE_NOT_AUTHORIZED MessageError = 4 + MessageError_MESSAGE_INTERNAL_SERVER_ERROR MessageError = 1000 ) // Enum value maps for MessageError. var ( MessageError_name = map[int32]string{ - 0: "MESSAGE_NO_ERROR", - 1: "MESSAGE_ALREADY_EXISTS", - 2: "MESSAGE_NOT_FOUND", - 3: "MESSAGE_NOT_UPDATED", - 4: "MESSAGE_NOT_AUTHORIZED", + 0: "MESSAGE_NO_ERROR", + 1: "MESSAGE_ALREADY_EXISTS", + 2: "MESSAGE_NOT_FOUND", + 3: "MESSAGE_NOT_UPDATED", + 4: "MESSAGE_NOT_AUTHORIZED", + 1000: "MESSAGE_INTERNAL_SERVER_ERROR", } MessageError_value = map[string]int32{ - "MESSAGE_NO_ERROR": 0, - "MESSAGE_ALREADY_EXISTS": 1, - "MESSAGE_NOT_FOUND": 2, - "MESSAGE_NOT_UPDATED": 3, - "MESSAGE_NOT_AUTHORIZED": 4, + "MESSAGE_NO_ERROR": 0, + "MESSAGE_ALREADY_EXISTS": 1, + "MESSAGE_NOT_FOUND": 2, + "MESSAGE_NOT_UPDATED": 3, + "MESSAGE_NOT_AUTHORIZED": 4, + "MESSAGE_INTERNAL_SERVER_ERROR": 1000, } ) @@ -190,20 +194,22 @@ const ( ChatError_CHAT_AIMODEL_NOT_FOUND ChatError = 6 ChatError_CHAT_OUT_OF_CREDIT ChatError = 7 ChatError_CHAT_CONTEXT_LENGTH_EXCEEDED ChatError = 8 + ChatError_CHAT_INTERNAL_SERVER_ERROR ChatError = 1000 ) // Enum value maps for ChatError. var ( ChatError_name = map[int32]string{ - 0: "CHAT_NO_ERROR", - 1: "CHAT_ALREADY_EXISTS", - 2: "CHAT_NOT_FOUND", - 3: "CHAT_NOT_UPDATED", - 4: "CHAT_NOT_AUTHORIZED", - 5: "CHAT_COMPLETION_ADAPTOR_DOES_NOT_EXISTS", - 6: "CHAT_AIMODEL_NOT_FOUND", - 7: "CHAT_OUT_OF_CREDIT", - 8: "CHAT_CONTEXT_LENGTH_EXCEEDED", + 0: "CHAT_NO_ERROR", + 1: "CHAT_ALREADY_EXISTS", + 2: "CHAT_NOT_FOUND", + 3: "CHAT_NOT_UPDATED", + 4: "CHAT_NOT_AUTHORIZED", + 5: "CHAT_COMPLETION_ADAPTOR_DOES_NOT_EXISTS", + 6: "CHAT_AIMODEL_NOT_FOUND", + 7: "CHAT_OUT_OF_CREDIT", + 8: "CHAT_CONTEXT_LENGTH_EXCEEDED", + 1000: "CHAT_INTERNAL_SERVER_ERROR", } ChatError_value = map[string]int32{ "CHAT_NO_ERROR": 0, @@ -215,6 +221,7 @@ var ( "CHAT_AIMODEL_NOT_FOUND": 6, "CHAT_OUT_OF_CREDIT": 7, "CHAT_CONTEXT_LENGTH_EXCEEDED": 8, + "CHAT_INTERNAL_SERVER_ERROR": 1000, } ) @@ -987,6 +994,85 @@ func (x *Chat) GetStarredAt() string { return "" } +type ChatUpdate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` + IsGroup *bool `protobuf:"varint,2,opt,name=is_group,json=isGroup,proto3,oneof" json:"is_group,omitempty"` + IsPersonalAssistant *bool `protobuf:"varint,3,opt,name=is_personal_assistant,json=isPersonalAssistant,proto3,oneof" json:"is_personal_assistant,omitempty"` + StarredAt *string `protobuf:"bytes,4,opt,name=starred_at,json=starredAt,proto3,oneof" json:"starred_at,omitempty"` + FieldMask *common.FieldMask `protobuf:"bytes,100,opt,name=field_mask,json=fieldMask,proto3,oneof" json:"field_mask,omitempty"` +} + +func (x *ChatUpdate) Reset() { + *x = ChatUpdate{} + if protoimpl.UnsafeEnabled { + mi := &file_chat_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChatUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatUpdate) ProtoMessage() {} + +func (x *ChatUpdate) ProtoReflect() protoreflect.Message { + mi := &file_chat_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatUpdate.ProtoReflect.Descriptor instead. +func (*ChatUpdate) Descriptor() ([]byte, []int) { + return file_chat_proto_rawDescGZIP(), []int{10} +} + +func (x *ChatUpdate) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *ChatUpdate) GetIsGroup() bool { + if x != nil && x.IsGroup != nil { + return *x.IsGroup + } + return false +} + +func (x *ChatUpdate) GetIsPersonalAssistant() bool { + if x != nil && x.IsPersonalAssistant != nil { + return *x.IsPersonalAssistant + } + return false +} + +func (x *ChatUpdate) GetStarredAt() string { + if x != nil && x.StarredAt != nil { + return *x.StarredAt + } + return "" +} + +func (x *ChatUpdate) GetFieldMask() *common.FieldMask { + if x != nil { + return x.FieldMask + } + return nil +} + type ChatMessages struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -998,7 +1084,7 @@ type ChatMessages struct { func (x *ChatMessages) Reset() { *x = ChatMessages{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[10] + mi := &file_chat_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1011,7 +1097,7 @@ func (x *ChatMessages) String() string { func (*ChatMessages) ProtoMessage() {} func (x *ChatMessages) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[10] + mi := &file_chat_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1024,7 +1110,7 @@ func (x *ChatMessages) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatMessages.ProtoReflect.Descriptor instead. func (*ChatMessages) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{10} + return file_chat_proto_rawDescGZIP(), []int{11} } func (x *ChatMessages) GetMessages() map[int32]*Messages { @@ -1048,7 +1134,7 @@ type ChatResponseError struct { func (x *ChatResponseError) Reset() { *x = ChatResponseError{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[11] + mi := &file_chat_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1061,7 +1147,7 @@ func (x *ChatResponseError) String() string { func (*ChatResponseError) ProtoMessage() {} func (x *ChatResponseError) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[11] + mi := &file_chat_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1074,7 +1160,7 @@ func (x *ChatResponseError) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatResponseError.ProtoReflect.Descriptor instead. func (*ChatResponseError) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{11} + return file_chat_proto_rawDescGZIP(), []int{12} } func (x *ChatResponseError) GetCode() ChatError { @@ -1117,7 +1203,7 @@ type ChatCreationRequest struct { func (x *ChatCreationRequest) Reset() { *x = ChatCreationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[12] + mi := &file_chat_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1130,7 +1216,7 @@ func (x *ChatCreationRequest) String() string { func (*ChatCreationRequest) ProtoMessage() {} func (x *ChatCreationRequest) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[12] + mi := &file_chat_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1143,7 +1229,7 @@ func (x *ChatCreationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatCreationRequest.ProtoReflect.Descriptor instead. func (*ChatCreationRequest) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{12} + return file_chat_proto_rawDescGZIP(), []int{13} } func (x *ChatCreationRequest) GetName() string { @@ -1172,7 +1258,7 @@ type ChatCreationResponse struct { func (x *ChatCreationResponse) Reset() { *x = ChatCreationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[13] + mi := &file_chat_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1185,7 +1271,7 @@ func (x *ChatCreationResponse) String() string { func (*ChatCreationResponse) ProtoMessage() {} func (x *ChatCreationResponse) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[13] + mi := &file_chat_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1198,7 +1284,7 @@ func (x *ChatCreationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatCreationResponse.ProtoReflect.Descriptor instead. func (*ChatCreationResponse) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{13} + return file_chat_proto_rawDescGZIP(), []int{14} } func (x *ChatCreationResponse) GetChat() *Chat { @@ -1226,7 +1312,7 @@ type ChatGetRequest struct { func (x *ChatGetRequest) Reset() { *x = ChatGetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[14] + mi := &file_chat_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1239,7 +1325,7 @@ func (x *ChatGetRequest) String() string { func (*ChatGetRequest) ProtoMessage() {} func (x *ChatGetRequest) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[14] + mi := &file_chat_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1252,7 +1338,7 @@ func (x *ChatGetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatGetRequest.ProtoReflect.Descriptor instead. func (*ChatGetRequest) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{14} + return file_chat_proto_rawDescGZIP(), []int{15} } func (x *ChatGetRequest) GetId() int32 { @@ -1274,7 +1360,7 @@ type ChatGetResponse struct { func (x *ChatGetResponse) Reset() { *x = ChatGetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[15] + mi := &file_chat_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1287,7 +1373,7 @@ func (x *ChatGetResponse) String() string { func (*ChatGetResponse) ProtoMessage() {} func (x *ChatGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[15] + mi := &file_chat_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1300,7 +1386,7 @@ func (x *ChatGetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatGetResponse.ProtoReflect.Descriptor instead. func (*ChatGetResponse) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{15} + return file_chat_proto_rawDescGZIP(), []int{16} } func (x *ChatGetResponse) GetChat() *Chat { @@ -1328,7 +1414,7 @@ type ChatMessageGetRequest struct { func (x *ChatMessageGetRequest) Reset() { *x = ChatMessageGetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[16] + mi := &file_chat_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1341,7 +1427,7 @@ func (x *ChatMessageGetRequest) String() string { func (*ChatMessageGetRequest) ProtoMessage() {} func (x *ChatMessageGetRequest) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[16] + mi := &file_chat_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1354,7 +1440,7 @@ func (x *ChatMessageGetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatMessageGetRequest.ProtoReflect.Descriptor instead. func (*ChatMessageGetRequest) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{16} + return file_chat_proto_rawDescGZIP(), []int{17} } func (x *ChatMessageGetRequest) GetId() int32 { @@ -1376,7 +1462,7 @@ type ChatMessageGetResponse struct { func (x *ChatMessageGetResponse) Reset() { *x = ChatMessageGetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[17] + mi := &file_chat_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1389,7 +1475,7 @@ func (x *ChatMessageGetResponse) String() string { func (*ChatMessageGetResponse) ProtoMessage() {} func (x *ChatMessageGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[17] + mi := &file_chat_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1402,7 +1488,7 @@ func (x *ChatMessageGetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatMessageGetResponse.ProtoReflect.Descriptor instead. func (*ChatMessageGetResponse) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{17} + return file_chat_proto_rawDescGZIP(), []int{18} } func (x *ChatMessageGetResponse) GetError() *ChatResponseError { @@ -1430,7 +1516,7 @@ type ChatDeletionRequest struct { func (x *ChatDeletionRequest) Reset() { *x = ChatDeletionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[18] + mi := &file_chat_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1443,7 +1529,7 @@ func (x *ChatDeletionRequest) String() string { func (*ChatDeletionRequest) ProtoMessage() {} func (x *ChatDeletionRequest) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[18] + mi := &file_chat_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1456,7 +1542,7 @@ func (x *ChatDeletionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatDeletionRequest.ProtoReflect.Descriptor instead. func (*ChatDeletionRequest) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{18} + return file_chat_proto_rawDescGZIP(), []int{19} } func (x *ChatDeletionRequest) GetId() int64 { @@ -1477,7 +1563,7 @@ type ChatDeletionResponse struct { func (x *ChatDeletionResponse) Reset() { *x = ChatDeletionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[19] + mi := &file_chat_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1490,7 +1576,7 @@ func (x *ChatDeletionResponse) String() string { func (*ChatDeletionResponse) ProtoMessage() {} func (x *ChatDeletionResponse) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[19] + mi := &file_chat_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1503,7 +1589,7 @@ func (x *ChatDeletionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatDeletionResponse.ProtoReflect.Descriptor instead. func (*ChatDeletionResponse) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{19} + return file_chat_proto_rawDescGZIP(), []int{20} } func (x *ChatDeletionResponse) GetError() *ChatResponseError { @@ -1518,14 +1604,14 @@ type ChatUpdateRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id *int64 `protobuf:"varint,1,opt,name=id,proto3,oneof" json:"id,omitempty"` - Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` + Id *int64 `protobuf:"varint,1,opt,name=id,proto3,oneof" json:"id,omitempty"` + ChatUpdate *ChatUpdate `protobuf:"bytes,2,opt,name=chat_update,json=chatUpdate,proto3,oneof" json:"chat_update,omitempty"` } func (x *ChatUpdateRequest) Reset() { *x = ChatUpdateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[20] + mi := &file_chat_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1538,7 +1624,7 @@ func (x *ChatUpdateRequest) String() string { func (*ChatUpdateRequest) ProtoMessage() {} func (x *ChatUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[20] + mi := &file_chat_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1551,7 +1637,7 @@ func (x *ChatUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatUpdateRequest.ProtoReflect.Descriptor instead. func (*ChatUpdateRequest) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{20} + return file_chat_proto_rawDescGZIP(), []int{21} } func (x *ChatUpdateRequest) GetId() int64 { @@ -1561,11 +1647,11 @@ func (x *ChatUpdateRequest) GetId() int64 { return 0 } -func (x *ChatUpdateRequest) GetName() string { - if x != nil && x.Name != nil { - return *x.Name +func (x *ChatUpdateRequest) GetChatUpdate() *ChatUpdate { + if x != nil { + return x.ChatUpdate } - return "" + return nil } type ChatUpdateResponse struct { @@ -1580,7 +1666,7 @@ type ChatUpdateResponse struct { func (x *ChatUpdateResponse) Reset() { *x = ChatUpdateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[21] + mi := &file_chat_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1593,7 +1679,7 @@ func (x *ChatUpdateResponse) String() string { func (*ChatUpdateResponse) ProtoMessage() {} func (x *ChatUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[21] + mi := &file_chat_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1606,7 +1692,7 @@ func (x *ChatUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatUpdateResponse.ProtoReflect.Descriptor instead. func (*ChatUpdateResponse) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{21} + return file_chat_proto_rawDescGZIP(), []int{22} } func (x *ChatUpdateResponse) GetChat() *Chat { @@ -1635,7 +1721,7 @@ type ChatListRequest struct { func (x *ChatListRequest) Reset() { *x = ChatListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[22] + mi := &file_chat_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1648,7 +1734,7 @@ func (x *ChatListRequest) String() string { func (*ChatListRequest) ProtoMessage() {} func (x *ChatListRequest) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[22] + mi := &file_chat_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1661,7 +1747,7 @@ func (x *ChatListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatListRequest.ProtoReflect.Descriptor instead. func (*ChatListRequest) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{22} + return file_chat_proto_rawDescGZIP(), []int{23} } func (x *ChatListRequest) GetPageSize() int32 { @@ -1690,7 +1776,7 @@ type ChatListResponse struct { func (x *ChatListResponse) Reset() { *x = ChatListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[23] + mi := &file_chat_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1703,7 +1789,7 @@ func (x *ChatListResponse) String() string { func (*ChatListResponse) ProtoMessage() {} func (x *ChatListResponse) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[23] + mi := &file_chat_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1716,7 +1802,7 @@ func (x *ChatListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatListResponse.ProtoReflect.Descriptor instead. func (*ChatListResponse) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{23} + return file_chat_proto_rawDescGZIP(), []int{24} } func (x *ChatListResponse) GetChat() []*Chat { @@ -1745,7 +1831,7 @@ type ChatStarRequest struct { func (x *ChatStarRequest) Reset() { *x = ChatStarRequest{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[24] + mi := &file_chat_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1758,7 +1844,7 @@ func (x *ChatStarRequest) String() string { func (*ChatStarRequest) ProtoMessage() {} func (x *ChatStarRequest) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[24] + mi := &file_chat_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1771,7 +1857,7 @@ func (x *ChatStarRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatStarRequest.ProtoReflect.Descriptor instead. func (*ChatStarRequest) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{24} + return file_chat_proto_rawDescGZIP(), []int{25} } func (x *ChatStarRequest) GetId() int32 { @@ -1800,7 +1886,7 @@ type ChatStarResponse struct { func (x *ChatStarResponse) Reset() { *x = ChatStarResponse{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[25] + mi := &file_chat_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1813,7 +1899,7 @@ func (x *ChatStarResponse) String() string { func (*ChatStarResponse) ProtoMessage() {} func (x *ChatStarResponse) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[25] + mi := &file_chat_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1826,7 +1912,7 @@ func (x *ChatStarResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatStarResponse.ProtoReflect.Descriptor instead. func (*ChatStarResponse) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{25} + return file_chat_proto_rawDescGZIP(), []int{26} } func (x *ChatStarResponse) GetChat() *Chat { @@ -1859,7 +1945,7 @@ type CompletionResponse struct { func (x *CompletionResponse) Reset() { *x = CompletionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[26] + mi := &file_chat_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1872,7 +1958,7 @@ func (x *CompletionResponse) String() string { func (*CompletionResponse) ProtoMessage() {} func (x *CompletionResponse) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[26] + mi := &file_chat_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1885,7 +1971,7 @@ func (x *CompletionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CompletionResponse.ProtoReflect.Descriptor instead. func (*CompletionResponse) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{26} + return file_chat_proto_rawDescGZIP(), []int{27} } func (x *CompletionResponse) GetMessages() []*Message { @@ -1943,7 +2029,7 @@ type BasePayload struct { func (x *BasePayload) Reset() { *x = BasePayload{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[27] + mi := &file_chat_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1956,7 +2042,7 @@ func (x *BasePayload) String() string { func (*BasePayload) ProtoMessage() {} func (x *BasePayload) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[27] + mi := &file_chat_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1969,7 +2055,7 @@ func (x *BasePayload) ProtoReflect() protoreflect.Message { // Deprecated: Use BasePayload.ProtoReflect.Descriptor instead. func (*BasePayload) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{27} + return file_chat_proto_rawDescGZIP(), []int{28} } func (x *BasePayload) GetName() string { @@ -2006,7 +2092,7 @@ type ChatCompletionRequest struct { func (x *ChatCompletionRequest) Reset() { *x = ChatCompletionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[28] + mi := &file_chat_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2019,7 +2105,7 @@ func (x *ChatCompletionRequest) String() string { func (*ChatCompletionRequest) ProtoMessage() {} func (x *ChatCompletionRequest) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[28] + mi := &file_chat_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2032,7 +2118,7 @@ func (x *ChatCompletionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatCompletionRequest.ProtoReflect.Descriptor instead. func (*ChatCompletionRequest) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{28} + return file_chat_proto_rawDescGZIP(), []int{29} } func (x *ChatCompletionRequest) GetId() int32 { @@ -2067,7 +2153,7 @@ type ChatStopCompletionRequest struct { func (x *ChatStopCompletionRequest) Reset() { *x = ChatStopCompletionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[29] + mi := &file_chat_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2080,7 +2166,7 @@ func (x *ChatStopCompletionRequest) String() string { func (*ChatStopCompletionRequest) ProtoMessage() {} func (x *ChatStopCompletionRequest) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[29] + mi := &file_chat_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2093,7 +2179,7 @@ func (x *ChatStopCompletionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatStopCompletionRequest.ProtoReflect.Descriptor instead. func (*ChatStopCompletionRequest) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{29} + return file_chat_proto_rawDescGZIP(), []int{30} } func (x *ChatStopCompletionRequest) GetId() int32 { @@ -2114,7 +2200,7 @@ type ChatStopCompletionResponse struct { func (x *ChatStopCompletionResponse) Reset() { *x = ChatStopCompletionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[30] + mi := &file_chat_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2127,7 +2213,7 @@ func (x *ChatStopCompletionResponse) String() string { func (*ChatStopCompletionResponse) ProtoMessage() {} func (x *ChatStopCompletionResponse) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[30] + mi := &file_chat_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2140,7 +2226,7 @@ func (x *ChatStopCompletionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatStopCompletionResponse.ProtoReflect.Descriptor instead. func (*ChatStopCompletionResponse) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{30} + return file_chat_proto_rawDescGZIP(), []int{31} } func (x *ChatStopCompletionResponse) GetError() *ChatResponseError { @@ -2162,7 +2248,7 @@ type ChatCompletionResponse struct { func (x *ChatCompletionResponse) Reset() { *x = ChatCompletionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_chat_proto_msgTypes[31] + mi := &file_chat_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2175,7 +2261,7 @@ func (x *ChatCompletionResponse) String() string { func (*ChatCompletionResponse) ProtoMessage() {} func (x *ChatCompletionResponse) ProtoReflect() protoreflect.Message { - mi := &file_chat_proto_msgTypes[31] + mi := &file_chat_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2188,7 +2274,7 @@ func (x *ChatCompletionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatCompletionResponse.ProtoReflect.Descriptor instead. func (*ChatCompletionResponse) Descriptor() ([]byte, []int) { - return file_chat_proto_rawDescGZIP(), []int{31} + return file_chat_proto_rawDescGZIP(), []int{32} } func (x *ChatCompletionResponse) GetCompletion() *CompletionResponse { @@ -2211,85 +2297,195 @@ var file_chat_proto_rawDesc = []byte{ 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x68, 0x61, 0x74, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0xc7, 0x01, 0x0a, 0x14, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x04, 0x63, - 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xdf, 0x05, 0x0a, 0x07, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x48, 0x02, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x06, 0x63, 0x68, 0x61, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x08, 0x66, 0x72, 0x6f, - 0x6d, 0x55, 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, - 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x48, 0x06, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x10, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x48, 0x07, 0x52, - 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x11, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x48, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x1f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0a, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, - 0x12, 0x2c, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x48, 0x0b, - 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, - 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x0c, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x2e, 0x0a, 0x0b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x48, 0x0d, - 0x52, 0x0a, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x42, + 0x1a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, + 0x01, 0x0a, 0x14, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xdf, 0x05, 0x0a, 0x07, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, + 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x48, 0x02, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x06, 0x63, 0x68, 0x61, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x55, + 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, + 0x72, 0x03, 0xd0, 0x01, 0x01, 0x48, 0x06, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x48, 0x07, 0x52, 0x0f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x11, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x48, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0a, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x2c, + 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x48, 0x0b, 0x52, 0x09, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0c, + 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, + 0x0b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x48, 0x0d, 0x52, 0x0a, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x22, 0x35, 0x0a, 0x08, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x22, 0x5f, 0x0a, 0x16, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x22, 0x35, 0x0a, 0x08, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x68, 0x61, - 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x22, 0x5f, 0x0a, 0x16, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x52, 0x0a, 0x17, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, - 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xcc, 0x01, 0x0a, 0x19, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x6f, 0x6e, 0x22, 0x52, 0x0a, 0x17, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x63, + 0x68, 0x61, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xcc, 0x01, 0x0a, 0x19, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1b, + 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa5, 0x02, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x02, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x06, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xfa, 0x42, 0x17, + 0x72, 0x15, 0x32, 0x10, 0x5e, 0x28, 0x4c, 0x49, 0x4b, 0x45, 0x7c, 0x44, 0x49, 0x53, 0x4c, 0x49, + 0x4b, 0x45, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x48, 0x04, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xd7, 0x01, + 0x0a, 0x1c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, + 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0e, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x37, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x1a, 0xfa, 0x42, 0x17, 0x72, 0x15, 0x32, 0x10, 0x5e, 0x28, 0x4c, 0x49, 0x4b, 0x45, 0x7c, + 0x44, 0x49, 0x53, 0x4c, 0x49, 0x4b, 0x45, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x48, 0x02, 0x52, 0x06, + 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xb9, 0x01, 0x0a, 0x1d, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x48, 0x01, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x22, 0x87, 0x03, 0x0a, 0x04, 0x43, 0x68, 0x61, 0x74, 0x12, 0x13, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x1e, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x05, 0x52, 0x07, 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, + 0x12, 0x37, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x06, 0x52, 0x13, 0x69, 0x73, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x73, 0x73, + 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x73, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x22, 0xa7, 0x02, + 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x07, 0x69, 0x73, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x13, 0x69, 0x73, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, + 0x61, 0x6c, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x35, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x04, 0x52, 0x09, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, + 0x18, 0x0a, 0x16, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0x99, 0x01, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x61, + 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x4b, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xc1, 0x01, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, + 0x68, 0x61, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, @@ -2298,306 +2494,223 @@ var file_chat_proto_rawDesc = []byte{ 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa5, 0x02, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, - 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, - 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, - 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xfa, - 0x42, 0x17, 0x72, 0x15, 0x32, 0x10, 0x5e, 0x28, 0x4c, 0x49, 0x4b, 0x45, 0x7c, 0x44, 0x49, 0x53, - 0x4c, 0x49, 0x4b, 0x45, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x48, 0x04, 0x52, 0x06, 0x72, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, - 0xd7, 0x01, 0x0a, 0x1c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, - 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x37, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x1a, 0xfa, 0x42, 0x17, 0x72, 0x15, 0x32, 0x10, 0x5e, 0x28, 0x4c, 0x49, 0x4b, - 0x45, 0x7c, 0x44, 0x49, 0x53, 0x4c, 0x49, 0x4b, 0x45, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x48, 0x02, - 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xb9, 0x01, 0x0a, 0x1d, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x68, 0x61, - 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x48, 0x01, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x87, 0x03, 0x0a, 0x04, 0x43, 0x68, 0x61, 0x74, 0x12, 0x13, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, - 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x07, 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x88, - 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, - 0x6c, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x06, 0x52, 0x13, 0x69, 0x73, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, - 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x07, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x73, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x22, - 0x99, 0x01, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x12, 0x3c, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x4b, - 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc1, 0x01, 0x0a, 0x11, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x12, 0x28, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, - 0x8a, 0x01, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x37, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, - 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x01, 0x52, 0x13, 0x69, 0x73, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x73, 0x73, - 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, - 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x22, 0x82, 0x01, 0x0a, - 0x14, 0x43, 0x68, 0x61, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x48, - 0x00, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, - 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x48, 0x01, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x22, 0x2c, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x22, - 0x7d, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0a, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x48, 0x00, 0x52, 0x04, - 0x63, 0x68, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, - 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, - 0x01, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x63, 0x68, 0x61, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x33, - 0x0a, 0x15, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, - 0x5f, 0x69, 0x64, 0x22, 0x98, 0x01, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x31, - 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x22, 0x54, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x51, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x74, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x43, - 0x68, 0x61, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0a, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x48, 0x00, 0x52, 0x04, 0x63, - 0x68, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x01, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, - 0x68, 0x61, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x77, 0x0a, - 0x0f, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x70, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x68, - 0x61, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, - 0x43, 0x68, 0x61, 0x74, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, - 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4f, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x74, - 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, - 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x22, 0x73, 0x0a, 0x10, 0x43, 0x68, 0x61, - 0x74, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x70, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x13, 0x69, 0x73, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x69, + 0x73, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x73, + 0x74, 0x61, 0x6e, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x74, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x48, 0x00, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x28, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x48, 0x01, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x63, 0x68, 0x61, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xef, - 0x02, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x12, 0x26, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x01, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0f, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x53, 0x74, 0x65, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x48, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, - 0x73, 0x74, 0x65, 0x70, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x22, 0x76, 0x0a, 0x0b, 0x42, 0x61, 0x73, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, - 0x1b, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x15, 0x43, 0x68, 0x61, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x37, 0x0a, 0x19, 0x43, 0x68, 0x61, 0x74, 0x53, 0x74, - 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x22, - 0x5a, 0x0a, 0x1a, 0x43, 0x68, 0x61, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, - 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, - 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa4, 0x01, 0x0a, 0x16, - 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, - 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x01, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x2a, 0x3b, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, - 0x41, 0x49, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x55, 0x4d, 0x41, 0x4e, 0x10, 0x03, 0x2a, - 0x8c, 0x01, 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, - 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, - 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x45, 0x53, - 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, - 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, - 0x54, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x04, 0x2a, 0x3a, - 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, - 0x07, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x02, 0x2a, 0xfd, 0x01, 0x0a, 0x09, 0x43, - 0x68, 0x61, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48, 0x41, 0x54, - 0x5f, 0x4e, 0x4f, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x43, - 0x48, 0x41, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, - 0x54, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x48, 0x41, 0x54, - 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x17, - 0x0a, 0x13, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x4f, - 0x52, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x43, 0x48, 0x41, 0x54, 0x5f, - 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x41, 0x50, 0x54, - 0x4f, 0x52, 0x5f, 0x44, 0x4f, 0x45, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, - 0x54, 0x53, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x41, 0x49, 0x4d, - 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x06, - 0x12, 0x16, 0x0a, 0x12, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, - 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x54, - 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x5f, - 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x08, 0x32, 0xfa, 0x02, 0x0a, 0x0b, 0x43, - 0x68, 0x61, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1a, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x34, 0x0a, - 0x03, 0x47, 0x65, 0x74, 0x12, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x68, 0x61, - 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x63, 0x68, - 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x06, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, - 0x61, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x3d, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, - 0x2e, 0x43, 0x68, 0x61, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x37, - 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x12, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, - 0x61, 0x74, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, 0x75, 0x70, 0x79, 0x74, 0x65, 0x72, 0x2d, 0x6e, 0x61, - 0x61, 0x73, 0x2f, 0x6e, 0x61, 0x61, 0x73, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, - 0x6f, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x01, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x01, 0x52, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x0a, 0x0e, 0x43, 0x68, 0x61, + 0x74, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x22, 0x7d, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x74, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x68, + 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, + 0x43, 0x68, 0x61, 0x74, 0x48, 0x00, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x01, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x33, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x02, 0x69, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x22, 0x98, 0x01, 0x0a, 0x16, + 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, + 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x48, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x22, 0x54, 0x0a, 0x14, 0x43, 0x68, 0x61, + 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, + 0x77, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x0b, 0x63, 0x68, 0x61, + 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x48, 0x01, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x88, 0x01, + 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x68, 0x61, + 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x43, 0x68, 0x61, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x23, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, + 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x48, 0x00, 0x52, 0x04, 0x63, 0x68, 0x61, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x01, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x68, 0x61, + 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x77, 0x0a, 0x0f, 0x43, + 0x68, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x0b, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x22, 0x70, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, + 0x61, 0x74, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, + 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4f, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x74, 0x53, 0x74, + 0x61, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, + 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x04, + 0x73, 0x74, 0x61, 0x72, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x22, 0x73, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x74, 0x53, + 0x74, 0x61, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x63, + 0x68, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x63, 0x68, 0x61, 0x74, + 0x2e, 0x43, 0x68, 0x61, 0x74, 0x48, 0x00, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x28, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, + 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, + 0x01, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, + 0x68, 0x61, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xef, 0x02, 0x0a, + 0x12, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x26, + 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, + 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0f, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, + 0x65, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x04, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x13, + 0x0a, 0x11, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, + 0x65, 0x70, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x76, + 0x0a, 0x0b, 0x42, 0x61, 0x73, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x17, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, + 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x74, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x02, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x37, 0x0a, 0x19, 0x43, 0x68, 0x61, 0x74, 0x53, 0x74, 0x6f, 0x70, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, + 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x22, 0x5a, 0x0a, + 0x1a, 0x43, 0x68, 0x61, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, + 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa4, 0x01, 0x0a, 0x16, 0x43, 0x68, + 0x61, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x01, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x2a, 0x3b, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, + 0x0a, 0x06, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x41, 0x49, + 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x55, 0x4d, 0x41, 0x4e, 0x10, 0x03, 0x2a, 0xb0, 0x01, + 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, + 0x0a, 0x10, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x01, + 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1d, + 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, + 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xe8, 0x07, + 0x2a, 0x3a, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, + 0x0b, 0x0a, 0x07, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x02, 0x2a, 0x9e, 0x02, 0x0a, + 0x09, 0x43, 0x68, 0x61, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48, + 0x41, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x17, 0x0a, + 0x13, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, + 0x49, 0x53, 0x54, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4e, + 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x48, + 0x41, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x55, 0x54, + 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x41, + 0x50, 0x54, 0x4f, 0x52, 0x5f, 0x44, 0x4f, 0x45, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, + 0x49, 0x53, 0x54, 0x53, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x41, + 0x49, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, + 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, + 0x46, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, + 0x41, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, + 0x48, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1a, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, + 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xe8, 0x07, 0x32, 0xfa, 0x02, + 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, + 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, + 0x68, 0x61, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x34, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, + 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, + 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, + 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x41, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x63, 0x68, 0x61, 0x74, + 0x2e, 0x43, 0x68, 0x61, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x17, 0x2e, 0x63, + 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x37, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x12, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x74, + 0x2e, 0x43, 0x68, 0x61, 0x74, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x53, 0x74, 0x61, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, 0x75, 0x70, 0x79, 0x74, 0x65, 0x72, + 0x2d, 0x6e, 0x61, 0x61, 0x73, 0x2f, 0x6e, 0x61, 0x61, 0x73, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -2613,7 +2726,7 @@ func file_chat_proto_rawDescGZIP() []byte { } var file_chat_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_chat_proto_msgTypes = make([]protoimpl.MessageInfo, 33) +var file_chat_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_chat_proto_goTypes = []interface{}{ (MessageType)(0), // 0: chat.MessageType (MessageError)(0), // 1: chat.MessageError @@ -2629,29 +2742,31 @@ var file_chat_proto_goTypes = []interface{}{ (*MessageRatingCreationRequest)(nil), // 11: chat.MessageRatingCreationRequest (*MessageRatingCreationResponse)(nil), // 12: chat.MessageRatingCreationResponse (*Chat)(nil), // 13: chat.Chat - (*ChatMessages)(nil), // 14: chat.ChatMessages - (*ChatResponseError)(nil), // 15: chat.ChatResponseError - (*ChatCreationRequest)(nil), // 16: chat.ChatCreationRequest - (*ChatCreationResponse)(nil), // 17: chat.ChatCreationResponse - (*ChatGetRequest)(nil), // 18: chat.ChatGetRequest - (*ChatGetResponse)(nil), // 19: chat.ChatGetResponse - (*ChatMessageGetRequest)(nil), // 20: chat.ChatMessageGetRequest - (*ChatMessageGetResponse)(nil), // 21: chat.ChatMessageGetResponse - (*ChatDeletionRequest)(nil), // 22: chat.ChatDeletionRequest - (*ChatDeletionResponse)(nil), // 23: chat.ChatDeletionResponse - (*ChatUpdateRequest)(nil), // 24: chat.ChatUpdateRequest - (*ChatUpdateResponse)(nil), // 25: chat.ChatUpdateResponse - (*ChatListRequest)(nil), // 26: chat.ChatListRequest - (*ChatListResponse)(nil), // 27: chat.ChatListResponse - (*ChatStarRequest)(nil), // 28: chat.ChatStarRequest - (*ChatStarResponse)(nil), // 29: chat.ChatStarResponse - (*CompletionResponse)(nil), // 30: chat.CompletionResponse - (*BasePayload)(nil), // 31: chat.BasePayload - (*ChatCompletionRequest)(nil), // 32: chat.ChatCompletionRequest - (*ChatStopCompletionRequest)(nil), // 33: chat.ChatStopCompletionRequest - (*ChatStopCompletionResponse)(nil), // 34: chat.ChatStopCompletionResponse - (*ChatCompletionResponse)(nil), // 35: chat.ChatCompletionResponse - nil, // 36: chat.ChatMessages.MessagesEntry + (*ChatUpdate)(nil), // 14: chat.ChatUpdate + (*ChatMessages)(nil), // 15: chat.ChatMessages + (*ChatResponseError)(nil), // 16: chat.ChatResponseError + (*ChatCreationRequest)(nil), // 17: chat.ChatCreationRequest + (*ChatCreationResponse)(nil), // 18: chat.ChatCreationResponse + (*ChatGetRequest)(nil), // 19: chat.ChatGetRequest + (*ChatGetResponse)(nil), // 20: chat.ChatGetResponse + (*ChatMessageGetRequest)(nil), // 21: chat.ChatMessageGetRequest + (*ChatMessageGetResponse)(nil), // 22: chat.ChatMessageGetResponse + (*ChatDeletionRequest)(nil), // 23: chat.ChatDeletionRequest + (*ChatDeletionResponse)(nil), // 24: chat.ChatDeletionResponse + (*ChatUpdateRequest)(nil), // 25: chat.ChatUpdateRequest + (*ChatUpdateResponse)(nil), // 26: chat.ChatUpdateResponse + (*ChatListRequest)(nil), // 27: chat.ChatListRequest + (*ChatListResponse)(nil), // 28: chat.ChatListResponse + (*ChatStarRequest)(nil), // 29: chat.ChatStarRequest + (*ChatStarResponse)(nil), // 30: chat.ChatStarResponse + (*CompletionResponse)(nil), // 31: chat.CompletionResponse + (*BasePayload)(nil), // 32: chat.BasePayload + (*ChatCompletionRequest)(nil), // 33: chat.ChatCompletionRequest + (*ChatStopCompletionRequest)(nil), // 34: chat.ChatStopCompletionRequest + (*ChatStopCompletionResponse)(nil), // 35: chat.ChatStopCompletionResponse + (*ChatCompletionResponse)(nil), // 36: chat.ChatCompletionResponse + nil, // 37: chat.ChatMessages.MessagesEntry + (*common.FieldMask)(nil), // 38: common.FieldMask } var file_chat_proto_depIdxs = []int32{ 1, // 0: chat.MessageResponseError.code:type_name -> chat.MessageError @@ -2661,44 +2776,46 @@ var file_chat_proto_depIdxs = []int32{ 1, // 4: chat.MessageRatinResponseError.code:type_name -> chat.MessageError 9, // 5: chat.MessageRatingCreationResponse.error:type_name -> chat.MessageRatinResponseError 10, // 6: chat.MessageRatingCreationResponse.message_rating:type_name -> chat.MessageRating - 36, // 7: chat.ChatMessages.messages:type_name -> chat.ChatMessages.MessagesEntry - 3, // 8: chat.ChatResponseError.code:type_name -> chat.ChatError - 13, // 9: chat.ChatCreationResponse.chat:type_name -> chat.Chat - 15, // 10: chat.ChatCreationResponse.error:type_name -> chat.ChatResponseError - 13, // 11: chat.ChatGetResponse.chat:type_name -> chat.Chat - 15, // 12: chat.ChatGetResponse.error:type_name -> chat.ChatResponseError - 15, // 13: chat.ChatMessageGetResponse.error:type_name -> chat.ChatResponseError - 14, // 14: chat.ChatMessageGetResponse.messages:type_name -> chat.ChatMessages - 15, // 15: chat.ChatDeletionResponse.error:type_name -> chat.ChatResponseError - 13, // 16: chat.ChatUpdateResponse.chat:type_name -> chat.Chat - 15, // 17: chat.ChatUpdateResponse.error:type_name -> chat.ChatResponseError - 13, // 18: chat.ChatListResponse.chat:type_name -> chat.Chat - 15, // 19: chat.ChatListResponse.error:type_name -> chat.ChatResponseError - 13, // 20: chat.ChatStarResponse.chat:type_name -> chat.Chat - 3, // 21: chat.ChatStarResponse.code:type_name -> chat.ChatError - 5, // 22: chat.CompletionResponse.messages:type_name -> chat.Message - 2, // 23: chat.CompletionResponse.status:type_name -> chat.CompletionStatus - 15, // 24: chat.ChatStopCompletionResponse.error:type_name -> chat.ChatResponseError - 30, // 25: chat.ChatCompletionResponse.completion:type_name -> chat.CompletionResponse - 15, // 26: chat.ChatCompletionResponse.error:type_name -> chat.ChatResponseError - 6, // 27: chat.ChatMessages.MessagesEntry.value:type_name -> chat.Messages - 16, // 28: chat.ChatService.Create:input_type -> chat.ChatCreationRequest - 18, // 29: chat.ChatService.Get:input_type -> chat.ChatGetRequest - 26, // 30: chat.ChatService.List:input_type -> chat.ChatListRequest - 22, // 31: chat.ChatService.Delete:input_type -> chat.ChatDeletionRequest - 24, // 32: chat.ChatService.Update:input_type -> chat.ChatUpdateRequest - 28, // 33: chat.ChatService.Star:input_type -> chat.ChatStarRequest - 17, // 34: chat.ChatService.Create:output_type -> chat.ChatCreationResponse - 19, // 35: chat.ChatService.Get:output_type -> chat.ChatGetResponse - 27, // 36: chat.ChatService.List:output_type -> chat.ChatListResponse - 23, // 37: chat.ChatService.Delete:output_type -> chat.ChatDeletionResponse - 25, // 38: chat.ChatService.Update:output_type -> chat.ChatUpdateResponse - 29, // 39: chat.ChatService.Star:output_type -> chat.ChatStarResponse - 34, // [34:40] is the sub-list for method output_type - 28, // [28:34] is the sub-list for method input_type - 28, // [28:28] is the sub-list for extension type_name - 28, // [28:28] is the sub-list for extension extendee - 0, // [0:28] is the sub-list for field type_name + 38, // 7: chat.ChatUpdate.field_mask:type_name -> common.FieldMask + 37, // 8: chat.ChatMessages.messages:type_name -> chat.ChatMessages.MessagesEntry + 3, // 9: chat.ChatResponseError.code:type_name -> chat.ChatError + 13, // 10: chat.ChatCreationResponse.chat:type_name -> chat.Chat + 16, // 11: chat.ChatCreationResponse.error:type_name -> chat.ChatResponseError + 13, // 12: chat.ChatGetResponse.chat:type_name -> chat.Chat + 16, // 13: chat.ChatGetResponse.error:type_name -> chat.ChatResponseError + 16, // 14: chat.ChatMessageGetResponse.error:type_name -> chat.ChatResponseError + 15, // 15: chat.ChatMessageGetResponse.messages:type_name -> chat.ChatMessages + 16, // 16: chat.ChatDeletionResponse.error:type_name -> chat.ChatResponseError + 14, // 17: chat.ChatUpdateRequest.chat_update:type_name -> chat.ChatUpdate + 13, // 18: chat.ChatUpdateResponse.chat:type_name -> chat.Chat + 16, // 19: chat.ChatUpdateResponse.error:type_name -> chat.ChatResponseError + 13, // 20: chat.ChatListResponse.chat:type_name -> chat.Chat + 16, // 21: chat.ChatListResponse.error:type_name -> chat.ChatResponseError + 13, // 22: chat.ChatStarResponse.chat:type_name -> chat.Chat + 3, // 23: chat.ChatStarResponse.code:type_name -> chat.ChatError + 5, // 24: chat.CompletionResponse.messages:type_name -> chat.Message + 2, // 25: chat.CompletionResponse.status:type_name -> chat.CompletionStatus + 16, // 26: chat.ChatStopCompletionResponse.error:type_name -> chat.ChatResponseError + 31, // 27: chat.ChatCompletionResponse.completion:type_name -> chat.CompletionResponse + 16, // 28: chat.ChatCompletionResponse.error:type_name -> chat.ChatResponseError + 6, // 29: chat.ChatMessages.MessagesEntry.value:type_name -> chat.Messages + 17, // 30: chat.ChatService.Create:input_type -> chat.ChatCreationRequest + 19, // 31: chat.ChatService.Get:input_type -> chat.ChatGetRequest + 27, // 32: chat.ChatService.List:input_type -> chat.ChatListRequest + 23, // 33: chat.ChatService.Delete:input_type -> chat.ChatDeletionRequest + 25, // 34: chat.ChatService.Update:input_type -> chat.ChatUpdateRequest + 29, // 35: chat.ChatService.Star:input_type -> chat.ChatStarRequest + 18, // 36: chat.ChatService.Create:output_type -> chat.ChatCreationResponse + 20, // 37: chat.ChatService.Get:output_type -> chat.ChatGetResponse + 28, // 38: chat.ChatService.List:output_type -> chat.ChatListResponse + 24, // 39: chat.ChatService.Delete:output_type -> chat.ChatDeletionResponse + 26, // 40: chat.ChatService.Update:output_type -> chat.ChatUpdateResponse + 30, // 41: chat.ChatService.Star:output_type -> chat.ChatStarResponse + 36, // [36:42] is the sub-list for method output_type + 30, // [30:36] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name } func init() { file_chat_proto_init() } @@ -2828,7 +2945,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatMessages); i { + switch v := v.(*ChatUpdate); i { case 0: return &v.state case 1: @@ -2840,7 +2957,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatResponseError); i { + switch v := v.(*ChatMessages); i { case 0: return &v.state case 1: @@ -2852,7 +2969,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatCreationRequest); i { + switch v := v.(*ChatResponseError); i { case 0: return &v.state case 1: @@ -2864,7 +2981,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatCreationResponse); i { + switch v := v.(*ChatCreationRequest); i { case 0: return &v.state case 1: @@ -2876,7 +2993,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatGetRequest); i { + switch v := v.(*ChatCreationResponse); i { case 0: return &v.state case 1: @@ -2888,7 +3005,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatGetResponse); i { + switch v := v.(*ChatGetRequest); i { case 0: return &v.state case 1: @@ -2900,7 +3017,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatMessageGetRequest); i { + switch v := v.(*ChatGetResponse); i { case 0: return &v.state case 1: @@ -2912,7 +3029,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatMessageGetResponse); i { + switch v := v.(*ChatMessageGetRequest); i { case 0: return &v.state case 1: @@ -2924,7 +3041,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatDeletionRequest); i { + switch v := v.(*ChatMessageGetResponse); i { case 0: return &v.state case 1: @@ -2936,7 +3053,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatDeletionResponse); i { + switch v := v.(*ChatDeletionRequest); i { case 0: return &v.state case 1: @@ -2948,7 +3065,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatUpdateRequest); i { + switch v := v.(*ChatDeletionResponse); i { case 0: return &v.state case 1: @@ -2960,7 +3077,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatUpdateResponse); i { + switch v := v.(*ChatUpdateRequest); i { case 0: return &v.state case 1: @@ -2972,7 +3089,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatListRequest); i { + switch v := v.(*ChatUpdateResponse); i { case 0: return &v.state case 1: @@ -2984,7 +3101,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatListResponse); i { + switch v := v.(*ChatListRequest); i { case 0: return &v.state case 1: @@ -2996,7 +3113,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatStarRequest); i { + switch v := v.(*ChatListResponse); i { case 0: return &v.state case 1: @@ -3008,7 +3125,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatStarResponse); i { + switch v := v.(*ChatStarRequest); i { case 0: return &v.state case 1: @@ -3020,7 +3137,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompletionResponse); i { + switch v := v.(*ChatStarResponse); i { case 0: return &v.state case 1: @@ -3032,7 +3149,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BasePayload); i { + switch v := v.(*CompletionResponse); i { case 0: return &v.state case 1: @@ -3044,7 +3161,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatCompletionRequest); i { + switch v := v.(*BasePayload); i { case 0: return &v.state case 1: @@ -3056,7 +3173,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatStopCompletionRequest); i { + switch v := v.(*ChatCompletionRequest); i { case 0: return &v.state case 1: @@ -3068,7 +3185,7 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatStopCompletionResponse); i { + switch v := v.(*ChatStopCompletionRequest); i { case 0: return &v.state case 1: @@ -3080,6 +3197,18 @@ func file_chat_proto_init() { } } file_chat_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChatStopCompletionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_chat_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatCompletionResponse); i { case 0: return &v.state @@ -3101,7 +3230,7 @@ func file_chat_proto_init() { file_chat_proto_msgTypes[7].OneofWrappers = []interface{}{} file_chat_proto_msgTypes[8].OneofWrappers = []interface{}{} file_chat_proto_msgTypes[9].OneofWrappers = []interface{}{} - file_chat_proto_msgTypes[11].OneofWrappers = []interface{}{} + file_chat_proto_msgTypes[10].OneofWrappers = []interface{}{} file_chat_proto_msgTypes[12].OneofWrappers = []interface{}{} file_chat_proto_msgTypes[13].OneofWrappers = []interface{}{} file_chat_proto_msgTypes[14].OneofWrappers = []interface{}{} @@ -3122,13 +3251,14 @@ func file_chat_proto_init() { file_chat_proto_msgTypes[29].OneofWrappers = []interface{}{} file_chat_proto_msgTypes[30].OneofWrappers = []interface{}{} file_chat_proto_msgTypes[31].OneofWrappers = []interface{}{} + file_chat_proto_msgTypes[32].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_chat_proto_rawDesc, NumEnums: 4, - NumMessages: 33, + NumMessages: 34, NumExtensions: 0, NumServices: 1, }, diff --git a/go/github.com/jupyter-naas/naas-models/go/chat/chat.pb.validate.go b/go/github.com/jupyter-naas/naas-models/go/chat/chat.pb.validate.go index 484255e..5ba3a45 100644 --- a/go/github.com/jupyter-naas/naas-models/go/chat/chat.pb.validate.go +++ b/go/github.com/jupyter-naas/naas-models/go/chat/chat.pb.validate.go @@ -1354,6 +1354,154 @@ var _ interface { ErrorName() string } = ChatValidationError{} +// Validate checks the field values on ChatUpdate with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *ChatUpdate) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ChatUpdate with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in ChatUpdateMultiError, or +// nil if none found. +func (m *ChatUpdate) ValidateAll() error { + return m.validate(true) +} + +func (m *ChatUpdate) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if m.Name != nil { + // no validation rules for Name + } + + if m.IsGroup != nil { + // no validation rules for IsGroup + } + + if m.IsPersonalAssistant != nil { + // no validation rules for IsPersonalAssistant + } + + if m.StarredAt != nil { + // no validation rules for StarredAt + } + + if m.FieldMask != nil { + + if all { + switch v := interface{}(m.GetFieldMask()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ChatUpdateValidationError{ + field: "FieldMask", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ChatUpdateValidationError{ + field: "FieldMask", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetFieldMask()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ChatUpdateValidationError{ + field: "FieldMask", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return ChatUpdateMultiError(errors) + } + + return nil +} + +// ChatUpdateMultiError is an error wrapping multiple validation errors +// returned by ChatUpdate.ValidateAll() if the designated constraints aren't met. +type ChatUpdateMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ChatUpdateMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ChatUpdateMultiError) AllErrors() []error { return m } + +// ChatUpdateValidationError is the validation error returned by +// ChatUpdate.Validate if the designated constraints aren't met. +type ChatUpdateValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ChatUpdateValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ChatUpdateValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ChatUpdateValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ChatUpdateValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ChatUpdateValidationError) ErrorName() string { return "ChatUpdateValidationError" } + +// Error satisfies the builtin error interface +func (e ChatUpdateValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sChatUpdate.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ChatUpdateValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ChatUpdateValidationError{} + // Validate checks the field values on ChatMessages with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. @@ -2706,8 +2854,37 @@ func (m *ChatUpdateRequest) validate(all bool) error { // no validation rules for Id } - if m.Name != nil { - // no validation rules for Name + if m.ChatUpdate != nil { + + if all { + switch v := interface{}(m.GetChatUpdate()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ChatUpdateRequestValidationError{ + field: "ChatUpdate", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ChatUpdateRequestValidationError{ + field: "ChatUpdate", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetChatUpdate()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ChatUpdateRequestValidationError{ + field: "ChatUpdate", + reason: "embedded message failed validation", + cause: err, + } + } + } + } if len(errors) > 0 { diff --git a/go/github.com/jupyter-naas/naas-models/go/common/common.pb.go b/go/github.com/jupyter-naas/naas-models/go/common/common.pb.go new file mode 100644 index 0000000..3e23dc1 --- /dev/null +++ b/go/github.com/jupyter-naas/naas-models/go/common/common.pb.go @@ -0,0 +1,147 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v3.19.5 +// source: common.proto + +package common + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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 FieldMask struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The set of field mask paths. + Paths []string `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"` +} + +func (x *FieldMask) Reset() { + *x = FieldMask{} + if protoimpl.UnsafeEnabled { + mi := &file_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FieldMask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldMask) ProtoMessage() {} + +func (x *FieldMask) ProtoReflect() protoreflect.Message { + mi := &file_common_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FieldMask.ProtoReflect.Descriptor instead. +func (*FieldMask) Descriptor() ([]byte, []int) { + return file_common_proto_rawDescGZIP(), []int{0} +} + +func (x *FieldMask) GetPaths() []string { + if x != nil { + return x.Paths + } + return nil +} + +var File_common_proto protoreflect.FileDescriptor + +var file_common_proto_rawDesc = []byte{ + 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x1a, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2b, 0x0a, 0x09, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x12, 0x1e, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x05, 0x70, 0x61, + 0x74, 0x68, 0x73, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x6a, 0x75, 0x70, 0x79, 0x74, 0x65, 0x72, 0x2d, 0x6e, 0x61, 0x61, 0x73, 0x2f, 0x6e, + 0x61, 0x61, 0x73, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_common_proto_rawDescOnce sync.Once + file_common_proto_rawDescData = file_common_proto_rawDesc +) + +func file_common_proto_rawDescGZIP() []byte { + file_common_proto_rawDescOnce.Do(func() { + file_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_proto_rawDescData) + }) + return file_common_proto_rawDescData +} + +var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_common_proto_goTypes = []interface{}{ + (*FieldMask)(nil), // 0: common.FieldMask +} +var file_common_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_common_proto_init() } +func file_common_proto_init() { + if File_common_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldMask); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_common_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_common_proto_goTypes, + DependencyIndexes: file_common_proto_depIdxs, + MessageInfos: file_common_proto_msgTypes, + }.Build() + File_common_proto = out.File + file_common_proto_rawDesc = nil + file_common_proto_goTypes = nil + file_common_proto_depIdxs = nil +} diff --git a/go/github.com/jupyter-naas/naas-models/go/common/common.pb.validate.go b/go/github.com/jupyter-naas/naas-models/go/common/common.pb.validate.go new file mode 100644 index 0000000..80c5f55 --- /dev/null +++ b/go/github.com/jupyter-naas/naas-models/go/common/common.pb.validate.go @@ -0,0 +1,146 @@ +// Code generated by protoc-gen-validate. DO NOT EDIT. +// source: common.proto + +package common + +import ( + "bytes" + "errors" + "fmt" + "net" + "net/mail" + "net/url" + "regexp" + "sort" + "strings" + "time" + "unicode/utf8" + + "google.golang.org/protobuf/types/known/anypb" +) + +// ensure the imports are used +var ( + _ = bytes.MinRead + _ = errors.New("") + _ = fmt.Print + _ = utf8.UTFMax + _ = (*regexp.Regexp)(nil) + _ = (*strings.Reader)(nil) + _ = net.IPv4len + _ = time.Duration(0) + _ = (*url.URL)(nil) + _ = (*mail.Address)(nil) + _ = anypb.Any{} + _ = sort.Sort +) + +// Validate checks the field values on FieldMask with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *FieldMask) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on FieldMask with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in FieldMaskMultiError, or nil +// if none found. +func (m *FieldMask) ValidateAll() error { + return m.validate(true) +} + +func (m *FieldMask) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(m.GetPaths()) < 1 { + err := FieldMaskValidationError{ + field: "Paths", + reason: "value must contain at least 1 item(s)", + } + if !all { + return err + } + errors = append(errors, err) + } + + if len(errors) > 0 { + return FieldMaskMultiError(errors) + } + + return nil +} + +// FieldMaskMultiError is an error wrapping multiple validation errors returned +// by FieldMask.ValidateAll() if the designated constraints aren't met. +type FieldMaskMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m FieldMaskMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m FieldMaskMultiError) AllErrors() []error { return m } + +// FieldMaskValidationError is the validation error returned by +// FieldMask.Validate if the designated constraints aren't met. +type FieldMaskValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e FieldMaskValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e FieldMaskValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e FieldMaskValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e FieldMaskValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e FieldMaskValidationError) ErrorName() string { return "FieldMaskValidationError" } + +// Error satisfies the builtin error interface +func (e FieldMaskValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sFieldMask.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = FieldMaskValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = FieldMaskValidationError{} diff --git a/go/github.com/jupyter-naas/naas-models/go/credit/credit.pb.go b/go/github.com/jupyter-naas/naas-models/go/credit/credit.pb.go index 6214350..74f06a7 100644 --- a/go/github.com/jupyter-naas/naas-models/go/credit/credit.pb.go +++ b/go/github.com/jupyter-naas/naas-models/go/credit/credit.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v3.19.5 // source: credit.proto diff --git a/go/github.com/jupyter-naas/naas-models/go/iam/iam.pb.go b/go/github.com/jupyter-naas/naas-models/go/iam/iam.pb.go index 3034751..1a1c7af 100644 --- a/go/github.com/jupyter-naas/naas-models/go/iam/iam.pb.go +++ b/go/github.com/jupyter-naas/naas-models/go/iam/iam.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v3.19.5 // source: iam.proto diff --git a/go/github.com/jupyter-naas/naas-models/go/registry/registry.pb.go b/go/github.com/jupyter-naas/naas-models/go/registry/registry.pb.go index 29bb78c..902f16d 100644 --- a/go/github.com/jupyter-naas/naas-models/go/registry/registry.pb.go +++ b/go/github.com/jupyter-naas/naas-models/go/registry/registry.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v3.19.5 // source: registry.proto diff --git a/go/github.com/jupyter-naas/naas-models/go/secrets/secret.pb.go b/go/github.com/jupyter-naas/naas-models/go/secrets/secret.pb.go index 333333f..ef786b7 100644 --- a/go/github.com/jupyter-naas/naas-models/go/secrets/secret.pb.go +++ b/go/github.com/jupyter-naas/naas-models/go/secrets/secret.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v3.19.5 // source: secret.proto diff --git a/go/github.com/jupyter-naas/naas-models/go/space/space.pb.go b/go/github.com/jupyter-naas/naas-models/go/space/space.pb.go index 1d7c308..23876e9 100644 --- a/go/github.com/jupyter-naas/naas-models/go/space/space.pb.go +++ b/go/github.com/jupyter-naas/naas-models/go/space/space.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v3.19.5 // source: space.proto diff --git a/go/github.com/jupyter-naas/naas-models/go/workspace/workspace.pb.go b/go/github.com/jupyter-naas/naas-models/go/workspace/workspace.pb.go index 86f510c..f85fad8 100644 --- a/go/github.com/jupyter-naas/naas-models/go/workspace/workspace.pb.go +++ b/go/github.com/jupyter-naas/naas-models/go/workspace/workspace.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.33.0 // protoc v3.19.5 // source: workspace.proto diff --git a/protos/chat.proto b/protos/chat.proto index 135f886..eb23744 100644 --- a/protos/chat.proto +++ b/protos/chat.proto @@ -4,7 +4,10 @@ package chat; option go_package = "github.com/jupyter-naas/naas-models/go/chat"; + import "google/protobuf/struct.proto"; + +import "common.proto"; import "validate.proto"; // Message @@ -22,6 +25,8 @@ enum MessageError { MESSAGE_NOT_FOUND = 2; MESSAGE_NOT_UPDATED = 3; MESSAGE_NOT_AUTHORIZED = 4; + + MESSAGE_INTERNAL_SERVER_ERROR = 1000; } enum CompletionStatus { @@ -120,6 +125,15 @@ message Chat { optional string starred_at = 8; } +message ChatUpdate { + optional string name = 1; + optional bool is_group = 2; + optional bool is_personal_assistant = 3; + optional string starred_at = 4; + + optional common.FieldMask field_mask = 100; +} + message ChatMessages { map messages = 1; } @@ -134,6 +148,8 @@ enum ChatError { CHAT_AIMODEL_NOT_FOUND = 6; CHAT_OUT_OF_CREDIT = 7; CHAT_CONTEXT_LENGTH_EXCEEDED = 8; + + CHAT_INTERNAL_SERVER_ERROR = 1000; } message ChatResponseError { @@ -189,7 +205,7 @@ message ChatDeletionResponse { message ChatUpdateRequest { optional int64 id = 1; - optional string name = 2; + optional ChatUpdate chat_update = 2; } message ChatUpdateResponse { diff --git a/protos/common.proto b/protos/common.proto new file mode 100644 index 0000000..dd96019 --- /dev/null +++ b/protos/common.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; + +package common; +import "validate.proto"; + +option go_package = "github.com/jupyter-naas/naas-models/go/common"; + +message FieldMask { + // The set of field mask paths. + repeated string paths = 1 [(validate.rules).repeated = {min_items: 1}]; +} \ No newline at end of file diff --git a/python/naas_models/chat_pb2.py b/python/naas_models/chat_pb2.py index 1b5be1d..6e9f8b9 100644 --- a/python/naas_models/chat_pb2.py +++ b/python/naas_models/chat_pb2.py @@ -14,10 +14,11 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +import common_pb2 as common__pb2 import naas_models.validate_pb2 as validate__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nchat.proto\x12\x04\x63hat\x1a\x1cgoogle/protobuf/struct.proto\x1a\x0evalidate.proto\"\xa8\x01\n\x14MessageResponseError\x12%\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x12.chat.MessageErrorH\x00\x88\x01\x01\x12\x13\n\x06status\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06reason\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07message\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x07\n\x05_codeB\t\n\x07_statusB\t\n\x07_reasonB\n\n\x08_message\"\xd4\x04\n\x07Message\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x07version\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12!\n\ncreated_at\x18\x03 \x01(\tB\x08\xfa\x42\x05r\x03\xd0\x01\x01H\x02\x88\x01\x01\x12\x14\n\x07\x63hat_id\x18\x04 \x01(\x05H\x03\x88\x01\x01\x12\x16\n\tfrom_user\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12\x14\n\x07message\x18\x06 \x01(\tH\x05\x88\x01\x01\x12#\n\x0cmessage_type\x18\x07 \x01(\tB\x08\xfa\x42\x05r\x03\xd0\x01\x01H\x06\x88\x01\x01\x12\'\n\x10message_language\x18\x08 \x01(\tB\x08\xfa\x42\x05r\x03\xd0\x01\x01H\x07\x88\x01\x01\x12\x15\n\x08model_id\x18\t \x01(\tH\x08\x88\x01\x01\x12$\n\x04type\x18\n \x01(\x0e\x32\x11.chat.MessageTypeH\t\x88\x01\x01\x12\x15\n\x08metadata\x18\x0b \x01(\tH\n\x88\x01\x01\x12!\n\ndeleted_at\x18\x0c \x01(\tB\x08\xfa\x42\x05r\x03\xd0\x01\x01H\x0b\x88\x01\x01\x12\x15\n\x08selected\x18\r \x01(\x08H\x0c\x88\x01\x01\x12\"\n\x0b\x61rchived_at\x18\x0e \x01(\tB\x08\xfa\x42\x05r\x03\xd0\x01\x01H\r\x88\x01\x01\x42\x05\n\x03_idB\n\n\x08_versionB\r\n\x0b_created_atB\n\n\x08_chat_idB\x0c\n\n_from_userB\n\n\x08_messageB\x0f\n\r_message_typeB\x13\n\x11_message_languageB\x0b\n\t_model_idB\x07\n\x05_typeB\x0b\n\t_metadataB\r\n\x0b_deleted_atB\x0b\n\t_selectedB\x0e\n\x0c_archived_at\"+\n\x08Messages\x12\x1f\n\x08messages\x18\x01 \x03(\x0b\x32\r.chat.Message\"R\n\x16MessageDeletionRequest\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x07version\x18\x02 \x01(\x05H\x01\x88\x01\x01\x42\x05\n\x03_idB\n\n\x08_version\"K\n\x17MessageDeletionResponse\x12&\n\x05\x65rror\x18\x01 \x01(\x0e\x32\x12.chat.MessageErrorH\x00\x88\x01\x01\x42\x08\n\x06_error\"\xad\x01\n\x19MessageRatinResponseError\x12%\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x12.chat.MessageErrorH\x00\x88\x01\x01\x12\x13\n\x06status\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06reason\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07message\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x07\n\x05_codeB\t\n\x07_statusB\t\n\x07_reasonB\n\n\x08_message\"\xef\x01\n\rMessageRating\x12\x17\n\nmessage_id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x07user_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0fmessage_version\x18\x03 \x01(\x05H\x02\x88\x01\x01\x12\x17\n\ncreated_at\x18\x04 \x01(\tH\x03\x88\x01\x01\x12/\n\x06rating\x18\x05 \x01(\tB\x1a\xfa\x42\x17r\x15\x32\x10^(LIKE|DISLIKE)$\xd0\x01\x00H\x04\x88\x01\x01\x42\r\n\x0b_message_idB\n\n\x08_user_idB\x12\n\x10_message_versionB\r\n\x0b_created_atB\t\n\x07_rating\"\xb4\x01\n\x1cMessageRatingCreationRequest\x12\x17\n\nmessage_id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x1c\n\x0fmessage_version\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12/\n\x06rating\x18\x03 \x01(\tB\x1a\xfa\x42\x17r\x15\x32\x10^(LIKE|DISLIKE)$\xd0\x01\x00H\x02\x88\x01\x01\x42\r\n\x0b_message_idB\x12\n\x10_message_versionB\t\n\x07_rating\"\xa3\x01\n\x1dMessageRatingCreationResponse\x12\x33\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x1f.chat.MessageRatinResponseErrorH\x00\x88\x01\x01\x12\x30\n\x0emessage_rating\x18\x02 \x01(\x0b\x32\x13.chat.MessageRatingH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x11\n\x0f_message_rating\"\xb6\x02\n\x04\x43hat\x12\x0f\n\x02id\x18\x01 \x01(\x03H\x00\x88\x01\x01\x12\x17\n\ncreated_at\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07user_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x17\n\ndeleted_at\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x15\n\x08is_group\x18\x06 \x01(\x08H\x05\x88\x01\x01\x12\"\n\x15is_personal_assistant\x18\x07 \x01(\x08H\x06\x88\x01\x01\x12\x17\n\nstarred_at\x18\x08 \x01(\tH\x07\x88\x01\x01\x42\x05\n\x03_idB\r\n\x0b_created_atB\n\n\x08_user_idB\x07\n\x05_nameB\r\n\x0b_deleted_atB\x0b\n\t_is_groupB\x18\n\x16_is_personal_assistantB\r\n\x0b_starred_at\"\x83\x01\n\x0c\x43hatMessages\x12\x32\n\x08messages\x18\x01 \x03(\x0b\x32 .chat.ChatMessages.MessagesEntry\x1a?\n\rMessagesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.chat.Messages:\x02\x38\x01\"\xa2\x01\n\x11\x43hatResponseError\x12\"\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x0f.chat.ChatErrorH\x00\x88\x01\x01\x12\x13\n\x06status\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06reason\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07message\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x07\n\x05_codeB\t\n\x07_statusB\t\n\x07_reasonB\n\n\x08_message\"o\n\x13\x43hatCreationRequest\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\"\n\x15is_personal_assistant\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x07\n\x05_nameB\x18\n\x16_is_personal_assistant\"u\n\x14\x43hatCreationResponse\x12\x1d\n\x04\x63hat\x18\x01 \x01(\x0b\x32\n.chat.ChatH\x00\x88\x01\x01\x12+\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x01\x88\x01\x01\x42\x07\n\x05_chatB\x08\n\x06_error\"(\n\x0e\x43hatGetRequest\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\x05\n\x03_id\"p\n\x0f\x43hatGetResponse\x12\x1d\n\x04\x63hat\x18\x01 \x01(\x0b\x32\n.chat.ChatH\x00\x88\x01\x01\x12+\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x01\x88\x01\x01\x42\x07\n\x05_chatB\x08\n\x06_error\"/\n\x15\x43hatMessageGetRequest\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\x05\n\x03_id\"\x87\x01\n\x16\x43hatMessageGetResponse\x12+\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x00\x88\x01\x01\x12)\n\x08messages\x18\x02 \x01(\x0b\x32\x12.chat.ChatMessagesH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x0b\n\t_messages\"-\n\x13\x43hatDeletionRequest\x12\x0f\n\x02id\x18\x01 \x01(\x03H\x00\x88\x01\x01\x42\x05\n\x03_id\"M\n\x14\x43hatDeletionResponse\x12+\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x00\x88\x01\x01\x42\x08\n\x06_error\"G\n\x11\x43hatUpdateRequest\x12\x0f\n\x02id\x18\x01 \x01(\x03H\x00\x88\x01\x01\x12\x11\n\x04name\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_name\"s\n\x12\x43hatUpdateResponse\x12\x1d\n\x04\x63hat\x18\x01 \x01(\x0b\x32\n.chat.ChatH\x00\x88\x01\x01\x12+\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x01\x88\x01\x01\x42\x07\n\x05_chatB\x08\n\x06_error\"a\n\x0f\x43hatListRequest\x12\x16\n\tpage_size\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x18\n\x0bpage_number\x18\x02 \x01(\x05H\x01\x88\x01\x01\x42\x0c\n\n_page_sizeB\x0e\n\x0c_page_number\"c\n\x10\x43hatListResponse\x12\x18\n\x04\x63hat\x18\x01 \x03(\x0b\x32\n.chat.Chat\x12+\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x00\x88\x01\x01\x42\x08\n\x06_error\"E\n\x0f\x43hatStarRequest\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x11\n\x04star\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_star\"g\n\x10\x43hatStarResponse\x12\x1d\n\x04\x63hat\x18\x01 \x01(\x0b\x32\n.chat.ChatH\x00\x88\x01\x01\x12\"\n\x04\x63ode\x18\x02 \x01(\x0e\x32\x0f.chat.ChatErrorH\x01\x88\x01\x01\x42\x07\n\x05_chatB\x07\n\x05_code\"\xa5\x02\n\x12\x43ompletionResponse\x12\x1f\n\x08messages\x18\x01 \x03(\x0b\x32\r.chat.Message\x12\x19\n\x0cinput_tokens\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12\x1a\n\routput_tokens\x18\x03 \x01(\x05H\x01\x88\x01\x01\x12\x1d\n\x10image_resolution\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0bimage_steps\x18\x05 \x01(\x05H\x03\x88\x01\x01\x12+\n\x06status\x18\x06 \x01(\x0e\x32\x16.chat.CompletionStatusH\x04\x88\x01\x01\x42\x0f\n\r_input_tokensB\x10\n\x0e_output_tokensB\x13\n\x11_image_resolutionB\x0e\n\x0c_image_stepsB\t\n\x07_status\"c\n\x0b\x42\x61sePayload\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x03url\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06prompt\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_nameB\x06\n\x04_urlB\t\n\x07_prompt\"u\n\x15\x43hatCompletionRequest\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x15\n\x08model_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07payload\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x05\n\x03_idB\x0b\n\t_model_idB\n\n\x08_payload\"3\n\x19\x43hatStopCompletionRequest\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\x05\n\x03_id\"S\n\x1a\x43hatStopCompletionResponse\x12+\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x00\x88\x01\x01\x42\x08\n\x06_error\"\x91\x01\n\x16\x43hatCompletionResponse\x12\x31\n\ncompletion\x18\x01 \x01(\x0b\x32\x18.chat.CompletionResponseH\x00\x88\x01\x01\x12+\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x01\x88\x01\x01\x42\r\n\x0b_completionB\x08\n\x06_error*;\n\x0bMessageType\x12\r\n\tUNDEFINED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x06\n\x02\x41I\x10\x02\x12\t\n\x05HUMAN\x10\x03*\x8c\x01\n\x0cMessageError\x12\x14\n\x10MESSAGE_NO_ERROR\x10\x00\x12\x1a\n\x16MESSAGE_ALREADY_EXISTS\x10\x01\x12\x15\n\x11MESSAGE_NOT_FOUND\x10\x02\x12\x17\n\x13MESSAGE_NOT_UPDATED\x10\x03\x12\x1a\n\x16MESSAGE_NOT_AUTHORIZED\x10\x04*:\n\x10\x43ompletionStatus\x12\r\n\tCOMPLETED\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0b\n\x07TIMEOUT\x10\x02*\xfd\x01\n\tChatError\x12\x11\n\rCHAT_NO_ERROR\x10\x00\x12\x17\n\x13\x43HAT_ALREADY_EXISTS\x10\x01\x12\x12\n\x0e\x43HAT_NOT_FOUND\x10\x02\x12\x14\n\x10\x43HAT_NOT_UPDATED\x10\x03\x12\x17\n\x13\x43HAT_NOT_AUTHORIZED\x10\x04\x12+\n\'CHAT_COMPLETION_ADAPTOR_DOES_NOT_EXISTS\x10\x05\x12\x1a\n\x16\x43HAT_AIMODEL_NOT_FOUND\x10\x06\x12\x16\n\x12\x43HAT_OUT_OF_CREDIT\x10\x07\x12 \n\x1c\x43HAT_CONTEXT_LENGTH_EXCEEDED\x10\x08\x32\xfa\x02\n\x0b\x43hatService\x12\x41\n\x06\x43reate\x12\x19.chat.ChatCreationRequest\x1a\x1a.chat.ChatCreationResponse\"\x00\x12\x34\n\x03Get\x12\x14.chat.ChatGetRequest\x1a\x15.chat.ChatGetResponse\"\x00\x12\x37\n\x04List\x12\x15.chat.ChatListRequest\x1a\x16.chat.ChatListResponse\"\x00\x12\x41\n\x06\x44\x65lete\x12\x19.chat.ChatDeletionRequest\x1a\x1a.chat.ChatDeletionResponse\"\x00\x12=\n\x06Update\x12\x17.chat.ChatUpdateRequest\x1a\x18.chat.ChatUpdateResponse\"\x00\x12\x37\n\x04Star\x12\x15.chat.ChatStarRequest\x1a\x16.chat.ChatStarResponse\"\x00\x42-Z+github.com/jupyter-naas/naas-models/go/chatb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nchat.proto\x12\x04\x63hat\x1a\x1cgoogle/protobuf/struct.proto\x1a\x0c\x63ommon.proto\x1a\x0evalidate.proto\"\xa8\x01\n\x14MessageResponseError\x12%\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x12.chat.MessageErrorH\x00\x88\x01\x01\x12\x13\n\x06status\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06reason\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07message\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x07\n\x05_codeB\t\n\x07_statusB\t\n\x07_reasonB\n\n\x08_message\"\xd4\x04\n\x07Message\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x07version\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12!\n\ncreated_at\x18\x03 \x01(\tB\x08\xfa\x42\x05r\x03\xd0\x01\x01H\x02\x88\x01\x01\x12\x14\n\x07\x63hat_id\x18\x04 \x01(\x05H\x03\x88\x01\x01\x12\x16\n\tfrom_user\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12\x14\n\x07message\x18\x06 \x01(\tH\x05\x88\x01\x01\x12#\n\x0cmessage_type\x18\x07 \x01(\tB\x08\xfa\x42\x05r\x03\xd0\x01\x01H\x06\x88\x01\x01\x12\'\n\x10message_language\x18\x08 \x01(\tB\x08\xfa\x42\x05r\x03\xd0\x01\x01H\x07\x88\x01\x01\x12\x15\n\x08model_id\x18\t \x01(\tH\x08\x88\x01\x01\x12$\n\x04type\x18\n \x01(\x0e\x32\x11.chat.MessageTypeH\t\x88\x01\x01\x12\x15\n\x08metadata\x18\x0b \x01(\tH\n\x88\x01\x01\x12!\n\ndeleted_at\x18\x0c \x01(\tB\x08\xfa\x42\x05r\x03\xd0\x01\x01H\x0b\x88\x01\x01\x12\x15\n\x08selected\x18\r \x01(\x08H\x0c\x88\x01\x01\x12\"\n\x0b\x61rchived_at\x18\x0e \x01(\tB\x08\xfa\x42\x05r\x03\xd0\x01\x01H\r\x88\x01\x01\x42\x05\n\x03_idB\n\n\x08_versionB\r\n\x0b_created_atB\n\n\x08_chat_idB\x0c\n\n_from_userB\n\n\x08_messageB\x0f\n\r_message_typeB\x13\n\x11_message_languageB\x0b\n\t_model_idB\x07\n\x05_typeB\x0b\n\t_metadataB\r\n\x0b_deleted_atB\x0b\n\t_selectedB\x0e\n\x0c_archived_at\"+\n\x08Messages\x12\x1f\n\x08messages\x18\x01 \x03(\x0b\x32\r.chat.Message\"R\n\x16MessageDeletionRequest\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x07version\x18\x02 \x01(\x05H\x01\x88\x01\x01\x42\x05\n\x03_idB\n\n\x08_version\"K\n\x17MessageDeletionResponse\x12&\n\x05\x65rror\x18\x01 \x01(\x0e\x32\x12.chat.MessageErrorH\x00\x88\x01\x01\x42\x08\n\x06_error\"\xad\x01\n\x19MessageRatinResponseError\x12%\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x12.chat.MessageErrorH\x00\x88\x01\x01\x12\x13\n\x06status\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06reason\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07message\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x07\n\x05_codeB\t\n\x07_statusB\t\n\x07_reasonB\n\n\x08_message\"\xef\x01\n\rMessageRating\x12\x17\n\nmessage_id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x07user_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0fmessage_version\x18\x03 \x01(\x05H\x02\x88\x01\x01\x12\x17\n\ncreated_at\x18\x04 \x01(\tH\x03\x88\x01\x01\x12/\n\x06rating\x18\x05 \x01(\tB\x1a\xfa\x42\x17r\x15\x32\x10^(LIKE|DISLIKE)$\xd0\x01\x00H\x04\x88\x01\x01\x42\r\n\x0b_message_idB\n\n\x08_user_idB\x12\n\x10_message_versionB\r\n\x0b_created_atB\t\n\x07_rating\"\xb4\x01\n\x1cMessageRatingCreationRequest\x12\x17\n\nmessage_id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x1c\n\x0fmessage_version\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12/\n\x06rating\x18\x03 \x01(\tB\x1a\xfa\x42\x17r\x15\x32\x10^(LIKE|DISLIKE)$\xd0\x01\x00H\x02\x88\x01\x01\x42\r\n\x0b_message_idB\x12\n\x10_message_versionB\t\n\x07_rating\"\xa3\x01\n\x1dMessageRatingCreationResponse\x12\x33\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x1f.chat.MessageRatinResponseErrorH\x00\x88\x01\x01\x12\x30\n\x0emessage_rating\x18\x02 \x01(\x0b\x32\x13.chat.MessageRatingH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x11\n\x0f_message_rating\"\xb6\x02\n\x04\x43hat\x12\x0f\n\x02id\x18\x01 \x01(\x03H\x00\x88\x01\x01\x12\x17\n\ncreated_at\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07user_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x17\n\ndeleted_at\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x15\n\x08is_group\x18\x06 \x01(\x08H\x05\x88\x01\x01\x12\"\n\x15is_personal_assistant\x18\x07 \x01(\x08H\x06\x88\x01\x01\x12\x17\n\nstarred_at\x18\x08 \x01(\tH\x07\x88\x01\x01\x42\x05\n\x03_idB\r\n\x0b_created_atB\n\n\x08_user_idB\x07\n\x05_nameB\r\n\x0b_deleted_atB\x0b\n\t_is_groupB\x18\n\x16_is_personal_assistantB\r\n\x0b_starred_at\"\xed\x01\n\nChatUpdate\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08is_group\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\"\n\x15is_personal_assistant\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x17\n\nstarred_at\x18\x04 \x01(\tH\x03\x88\x01\x01\x12*\n\nfield_mask\x18\x64 \x01(\x0b\x32\x11.common.FieldMaskH\x04\x88\x01\x01\x42\x07\n\x05_nameB\x0b\n\t_is_groupB\x18\n\x16_is_personal_assistantB\r\n\x0b_starred_atB\r\n\x0b_field_mask\"\x83\x01\n\x0c\x43hatMessages\x12\x32\n\x08messages\x18\x01 \x03(\x0b\x32 .chat.ChatMessages.MessagesEntry\x1a?\n\rMessagesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.chat.Messages:\x02\x38\x01\"\xa2\x01\n\x11\x43hatResponseError\x12\"\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x0f.chat.ChatErrorH\x00\x88\x01\x01\x12\x13\n\x06status\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06reason\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07message\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x07\n\x05_codeB\t\n\x07_statusB\t\n\x07_reasonB\n\n\x08_message\"o\n\x13\x43hatCreationRequest\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\"\n\x15is_personal_assistant\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x07\n\x05_nameB\x18\n\x16_is_personal_assistant\"u\n\x14\x43hatCreationResponse\x12\x1d\n\x04\x63hat\x18\x01 \x01(\x0b\x32\n.chat.ChatH\x00\x88\x01\x01\x12+\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x01\x88\x01\x01\x42\x07\n\x05_chatB\x08\n\x06_error\"(\n\x0e\x43hatGetRequest\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\x05\n\x03_id\"p\n\x0f\x43hatGetResponse\x12\x1d\n\x04\x63hat\x18\x01 \x01(\x0b\x32\n.chat.ChatH\x00\x88\x01\x01\x12+\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x01\x88\x01\x01\x42\x07\n\x05_chatB\x08\n\x06_error\"/\n\x15\x43hatMessageGetRequest\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\x05\n\x03_id\"\x87\x01\n\x16\x43hatMessageGetResponse\x12+\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x00\x88\x01\x01\x12)\n\x08messages\x18\x02 \x01(\x0b\x32\x12.chat.ChatMessagesH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x0b\n\t_messages\"-\n\x13\x43hatDeletionRequest\x12\x0f\n\x02id\x18\x01 \x01(\x03H\x00\x88\x01\x01\x42\x05\n\x03_id\"M\n\x14\x43hatDeletionResponse\x12+\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x00\x88\x01\x01\x42\x08\n\x06_error\"g\n\x11\x43hatUpdateRequest\x12\x0f\n\x02id\x18\x01 \x01(\x03H\x00\x88\x01\x01\x12*\n\x0b\x63hat_update\x18\x02 \x01(\x0b\x32\x10.chat.ChatUpdateH\x01\x88\x01\x01\x42\x05\n\x03_idB\x0e\n\x0c_chat_update\"s\n\x12\x43hatUpdateResponse\x12\x1d\n\x04\x63hat\x18\x01 \x01(\x0b\x32\n.chat.ChatH\x00\x88\x01\x01\x12+\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x01\x88\x01\x01\x42\x07\n\x05_chatB\x08\n\x06_error\"a\n\x0f\x43hatListRequest\x12\x16\n\tpage_size\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x18\n\x0bpage_number\x18\x02 \x01(\x05H\x01\x88\x01\x01\x42\x0c\n\n_page_sizeB\x0e\n\x0c_page_number\"c\n\x10\x43hatListResponse\x12\x18\n\x04\x63hat\x18\x01 \x03(\x0b\x32\n.chat.Chat\x12+\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x00\x88\x01\x01\x42\x08\n\x06_error\"E\n\x0f\x43hatStarRequest\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x11\n\x04star\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_star\"g\n\x10\x43hatStarResponse\x12\x1d\n\x04\x63hat\x18\x01 \x01(\x0b\x32\n.chat.ChatH\x00\x88\x01\x01\x12\"\n\x04\x63ode\x18\x02 \x01(\x0e\x32\x0f.chat.ChatErrorH\x01\x88\x01\x01\x42\x07\n\x05_chatB\x07\n\x05_code\"\xa5\x02\n\x12\x43ompletionResponse\x12\x1f\n\x08messages\x18\x01 \x03(\x0b\x32\r.chat.Message\x12\x19\n\x0cinput_tokens\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12\x1a\n\routput_tokens\x18\x03 \x01(\x05H\x01\x88\x01\x01\x12\x1d\n\x10image_resolution\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0bimage_steps\x18\x05 \x01(\x05H\x03\x88\x01\x01\x12+\n\x06status\x18\x06 \x01(\x0e\x32\x16.chat.CompletionStatusH\x04\x88\x01\x01\x42\x0f\n\r_input_tokensB\x10\n\x0e_output_tokensB\x13\n\x11_image_resolutionB\x0e\n\x0c_image_stepsB\t\n\x07_status\"c\n\x0b\x42\x61sePayload\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x03url\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06prompt\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_nameB\x06\n\x04_urlB\t\n\x07_prompt\"u\n\x15\x43hatCompletionRequest\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x15\n\x08model_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07payload\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x05\n\x03_idB\x0b\n\t_model_idB\n\n\x08_payload\"3\n\x19\x43hatStopCompletionRequest\x12\x0f\n\x02id\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\x05\n\x03_id\"S\n\x1a\x43hatStopCompletionResponse\x12+\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x00\x88\x01\x01\x42\x08\n\x06_error\"\x91\x01\n\x16\x43hatCompletionResponse\x12\x31\n\ncompletion\x18\x01 \x01(\x0b\x32\x18.chat.CompletionResponseH\x00\x88\x01\x01\x12+\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x17.chat.ChatResponseErrorH\x01\x88\x01\x01\x42\r\n\x0b_completionB\x08\n\x06_error*;\n\x0bMessageType\x12\r\n\tUNDEFINED\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x06\n\x02\x41I\x10\x02\x12\t\n\x05HUMAN\x10\x03*\xb0\x01\n\x0cMessageError\x12\x14\n\x10MESSAGE_NO_ERROR\x10\x00\x12\x1a\n\x16MESSAGE_ALREADY_EXISTS\x10\x01\x12\x15\n\x11MESSAGE_NOT_FOUND\x10\x02\x12\x17\n\x13MESSAGE_NOT_UPDATED\x10\x03\x12\x1a\n\x16MESSAGE_NOT_AUTHORIZED\x10\x04\x12\"\n\x1dMESSAGE_INTERNAL_SERVER_ERROR\x10\xe8\x07*:\n\x10\x43ompletionStatus\x12\r\n\tCOMPLETED\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0b\n\x07TIMEOUT\x10\x02*\x9e\x02\n\tChatError\x12\x11\n\rCHAT_NO_ERROR\x10\x00\x12\x17\n\x13\x43HAT_ALREADY_EXISTS\x10\x01\x12\x12\n\x0e\x43HAT_NOT_FOUND\x10\x02\x12\x14\n\x10\x43HAT_NOT_UPDATED\x10\x03\x12\x17\n\x13\x43HAT_NOT_AUTHORIZED\x10\x04\x12+\n\'CHAT_COMPLETION_ADAPTOR_DOES_NOT_EXISTS\x10\x05\x12\x1a\n\x16\x43HAT_AIMODEL_NOT_FOUND\x10\x06\x12\x16\n\x12\x43HAT_OUT_OF_CREDIT\x10\x07\x12 \n\x1c\x43HAT_CONTEXT_LENGTH_EXCEEDED\x10\x08\x12\x1f\n\x1a\x43HAT_INTERNAL_SERVER_ERROR\x10\xe8\x07\x32\xfa\x02\n\x0b\x43hatService\x12\x41\n\x06\x43reate\x12\x19.chat.ChatCreationRequest\x1a\x1a.chat.ChatCreationResponse\"\x00\x12\x34\n\x03Get\x12\x14.chat.ChatGetRequest\x1a\x15.chat.ChatGetResponse\"\x00\x12\x37\n\x04List\x12\x15.chat.ChatListRequest\x1a\x16.chat.ChatListResponse\"\x00\x12\x41\n\x06\x44\x65lete\x12\x19.chat.ChatDeletionRequest\x1a\x1a.chat.ChatDeletionResponse\"\x00\x12=\n\x06Update\x12\x17.chat.ChatUpdateRequest\x1a\x18.chat.ChatUpdateResponse\"\x00\x12\x37\n\x04Star\x12\x15.chat.ChatStarRequest\x1a\x16.chat.ChatStarResponse\"\x00\x42-Z+github.com/jupyter-naas/naas-models/go/chatb\x06proto3') _MESSAGETYPE = DESCRIPTOR.enum_types_by_name['MessageType'] MessageType = enum_type_wrapper.EnumTypeWrapper(_MESSAGETYPE) @@ -36,6 +37,7 @@ MESSAGE_NOT_FOUND = 2 MESSAGE_NOT_UPDATED = 3 MESSAGE_NOT_AUTHORIZED = 4 +MESSAGE_INTERNAL_SERVER_ERROR = 1000 COMPLETED = 0 FAILED = 1 TIMEOUT = 2 @@ -48,6 +50,7 @@ CHAT_AIMODEL_NOT_FOUND = 6 CHAT_OUT_OF_CREDIT = 7 CHAT_CONTEXT_LENGTH_EXCEEDED = 8 +CHAT_INTERNAL_SERVER_ERROR = 1000 _MESSAGERESPONSEERROR = DESCRIPTOR.message_types_by_name['MessageResponseError'] @@ -60,6 +63,7 @@ _MESSAGERATINGCREATIONREQUEST = DESCRIPTOR.message_types_by_name['MessageRatingCreationRequest'] _MESSAGERATINGCREATIONRESPONSE = DESCRIPTOR.message_types_by_name['MessageRatingCreationResponse'] _CHAT = DESCRIPTOR.message_types_by_name['Chat'] +_CHATUPDATE = DESCRIPTOR.message_types_by_name['ChatUpdate'] _CHATMESSAGES = DESCRIPTOR.message_types_by_name['ChatMessages'] _CHATMESSAGES_MESSAGESENTRY = _CHATMESSAGES.nested_types_by_name['MessagesEntry'] _CHATRESPONSEERROR = DESCRIPTOR.message_types_by_name['ChatResponseError'] @@ -153,6 +157,13 @@ }) _sym_db.RegisterMessage(Chat) +ChatUpdate = _reflection.GeneratedProtocolMessageType('ChatUpdate', (_message.Message,), { + 'DESCRIPTOR' : _CHATUPDATE, + '__module__' : 'chat_pb2' + # @@protoc_insertion_point(class_scope:chat.ChatUpdate) + }) +_sym_db.RegisterMessage(ChatUpdate) + ChatMessages = _reflection.GeneratedProtocolMessageType('ChatMessages', (_message.Message,), { 'MessagesEntry' : _reflection.GeneratedProtocolMessageType('MessagesEntry', (_message.Message,), { @@ -336,80 +347,82 @@ _MESSAGERATINGCREATIONREQUEST.fields_by_name['rating']._serialized_options = b'\372B\027r\0252\020^(LIKE|DISLIKE)$\320\001\000' _CHATMESSAGES_MESSAGESENTRY._options = None _CHATMESSAGES_MESSAGESENTRY._serialized_options = b'8\001' - _MESSAGETYPE._serialized_start=4490 - _MESSAGETYPE._serialized_end=4549 - _MESSAGEERROR._serialized_start=4552 - _MESSAGEERROR._serialized_end=4692 - _COMPLETIONSTATUS._serialized_start=4694 - _COMPLETIONSTATUS._serialized_end=4752 - _CHATERROR._serialized_start=4755 - _CHATERROR._serialized_end=5008 - _MESSAGERESPONSEERROR._serialized_start=67 - _MESSAGERESPONSEERROR._serialized_end=235 - _MESSAGE._serialized_start=238 - _MESSAGE._serialized_end=834 - _MESSAGES._serialized_start=836 - _MESSAGES._serialized_end=879 - _MESSAGEDELETIONREQUEST._serialized_start=881 - _MESSAGEDELETIONREQUEST._serialized_end=963 - _MESSAGEDELETIONRESPONSE._serialized_start=965 - _MESSAGEDELETIONRESPONSE._serialized_end=1040 - _MESSAGERATINRESPONSEERROR._serialized_start=1043 - _MESSAGERATINRESPONSEERROR._serialized_end=1216 - _MESSAGERATING._serialized_start=1219 - _MESSAGERATING._serialized_end=1458 - _MESSAGERATINGCREATIONREQUEST._serialized_start=1461 - _MESSAGERATINGCREATIONREQUEST._serialized_end=1641 - _MESSAGERATINGCREATIONRESPONSE._serialized_start=1644 - _MESSAGERATINGCREATIONRESPONSE._serialized_end=1807 - _CHAT._serialized_start=1810 - _CHAT._serialized_end=2120 - _CHATMESSAGES._serialized_start=2123 - _CHATMESSAGES._serialized_end=2254 - _CHATMESSAGES_MESSAGESENTRY._serialized_start=2191 - _CHATMESSAGES_MESSAGESENTRY._serialized_end=2254 - _CHATRESPONSEERROR._serialized_start=2257 - _CHATRESPONSEERROR._serialized_end=2419 - _CHATCREATIONREQUEST._serialized_start=2421 - _CHATCREATIONREQUEST._serialized_end=2532 - _CHATCREATIONRESPONSE._serialized_start=2534 - _CHATCREATIONRESPONSE._serialized_end=2651 - _CHATGETREQUEST._serialized_start=2653 - _CHATGETREQUEST._serialized_end=2693 - _CHATGETRESPONSE._serialized_start=2695 - _CHATGETRESPONSE._serialized_end=2807 - _CHATMESSAGEGETREQUEST._serialized_start=2809 - _CHATMESSAGEGETREQUEST._serialized_end=2856 - _CHATMESSAGEGETRESPONSE._serialized_start=2859 - _CHATMESSAGEGETRESPONSE._serialized_end=2994 - _CHATDELETIONREQUEST._serialized_start=2996 - _CHATDELETIONREQUEST._serialized_end=3041 - _CHATDELETIONRESPONSE._serialized_start=3043 - _CHATDELETIONRESPONSE._serialized_end=3120 - _CHATUPDATEREQUEST._serialized_start=3122 - _CHATUPDATEREQUEST._serialized_end=3193 - _CHATUPDATERESPONSE._serialized_start=3195 - _CHATUPDATERESPONSE._serialized_end=3310 - _CHATLISTREQUEST._serialized_start=3312 - _CHATLISTREQUEST._serialized_end=3409 - _CHATLISTRESPONSE._serialized_start=3411 - _CHATLISTRESPONSE._serialized_end=3510 - _CHATSTARREQUEST._serialized_start=3512 - _CHATSTARREQUEST._serialized_end=3581 - _CHATSTARRESPONSE._serialized_start=3583 - _CHATSTARRESPONSE._serialized_end=3686 - _COMPLETIONRESPONSE._serialized_start=3689 - _COMPLETIONRESPONSE._serialized_end=3982 - _BASEPAYLOAD._serialized_start=3984 - _BASEPAYLOAD._serialized_end=4083 - _CHATCOMPLETIONREQUEST._serialized_start=4085 - _CHATCOMPLETIONREQUEST._serialized_end=4202 - _CHATSTOPCOMPLETIONREQUEST._serialized_start=4204 - _CHATSTOPCOMPLETIONREQUEST._serialized_end=4255 - _CHATSTOPCOMPLETIONRESPONSE._serialized_start=4257 - _CHATSTOPCOMPLETIONRESPONSE._serialized_end=4340 - _CHATCOMPLETIONRESPONSE._serialized_start=4343 - _CHATCOMPLETIONRESPONSE._serialized_end=4488 - _CHATSERVICE._serialized_start=5011 - _CHATSERVICE._serialized_end=5389 + _MESSAGETYPE._serialized_start=4776 + _MESSAGETYPE._serialized_end=4835 + _MESSAGEERROR._serialized_start=4838 + _MESSAGEERROR._serialized_end=5014 + _COMPLETIONSTATUS._serialized_start=5016 + _COMPLETIONSTATUS._serialized_end=5074 + _CHATERROR._serialized_start=5077 + _CHATERROR._serialized_end=5363 + _MESSAGERESPONSEERROR._serialized_start=81 + _MESSAGERESPONSEERROR._serialized_end=249 + _MESSAGE._serialized_start=252 + _MESSAGE._serialized_end=848 + _MESSAGES._serialized_start=850 + _MESSAGES._serialized_end=893 + _MESSAGEDELETIONREQUEST._serialized_start=895 + _MESSAGEDELETIONREQUEST._serialized_end=977 + _MESSAGEDELETIONRESPONSE._serialized_start=979 + _MESSAGEDELETIONRESPONSE._serialized_end=1054 + _MESSAGERATINRESPONSEERROR._serialized_start=1057 + _MESSAGERATINRESPONSEERROR._serialized_end=1230 + _MESSAGERATING._serialized_start=1233 + _MESSAGERATING._serialized_end=1472 + _MESSAGERATINGCREATIONREQUEST._serialized_start=1475 + _MESSAGERATINGCREATIONREQUEST._serialized_end=1655 + _MESSAGERATINGCREATIONRESPONSE._serialized_start=1658 + _MESSAGERATINGCREATIONRESPONSE._serialized_end=1821 + _CHAT._serialized_start=1824 + _CHAT._serialized_end=2134 + _CHATUPDATE._serialized_start=2137 + _CHATUPDATE._serialized_end=2374 + _CHATMESSAGES._serialized_start=2377 + _CHATMESSAGES._serialized_end=2508 + _CHATMESSAGES_MESSAGESENTRY._serialized_start=2445 + _CHATMESSAGES_MESSAGESENTRY._serialized_end=2508 + _CHATRESPONSEERROR._serialized_start=2511 + _CHATRESPONSEERROR._serialized_end=2673 + _CHATCREATIONREQUEST._serialized_start=2675 + _CHATCREATIONREQUEST._serialized_end=2786 + _CHATCREATIONRESPONSE._serialized_start=2788 + _CHATCREATIONRESPONSE._serialized_end=2905 + _CHATGETREQUEST._serialized_start=2907 + _CHATGETREQUEST._serialized_end=2947 + _CHATGETRESPONSE._serialized_start=2949 + _CHATGETRESPONSE._serialized_end=3061 + _CHATMESSAGEGETREQUEST._serialized_start=3063 + _CHATMESSAGEGETREQUEST._serialized_end=3110 + _CHATMESSAGEGETRESPONSE._serialized_start=3113 + _CHATMESSAGEGETRESPONSE._serialized_end=3248 + _CHATDELETIONREQUEST._serialized_start=3250 + _CHATDELETIONREQUEST._serialized_end=3295 + _CHATDELETIONRESPONSE._serialized_start=3297 + _CHATDELETIONRESPONSE._serialized_end=3374 + _CHATUPDATEREQUEST._serialized_start=3376 + _CHATUPDATEREQUEST._serialized_end=3479 + _CHATUPDATERESPONSE._serialized_start=3481 + _CHATUPDATERESPONSE._serialized_end=3596 + _CHATLISTREQUEST._serialized_start=3598 + _CHATLISTREQUEST._serialized_end=3695 + _CHATLISTRESPONSE._serialized_start=3697 + _CHATLISTRESPONSE._serialized_end=3796 + _CHATSTARREQUEST._serialized_start=3798 + _CHATSTARREQUEST._serialized_end=3867 + _CHATSTARRESPONSE._serialized_start=3869 + _CHATSTARRESPONSE._serialized_end=3972 + _COMPLETIONRESPONSE._serialized_start=3975 + _COMPLETIONRESPONSE._serialized_end=4268 + _BASEPAYLOAD._serialized_start=4270 + _BASEPAYLOAD._serialized_end=4369 + _CHATCOMPLETIONREQUEST._serialized_start=4371 + _CHATCOMPLETIONREQUEST._serialized_end=4488 + _CHATSTOPCOMPLETIONREQUEST._serialized_start=4490 + _CHATSTOPCOMPLETIONREQUEST._serialized_end=4541 + _CHATSTOPCOMPLETIONRESPONSE._serialized_start=4543 + _CHATSTOPCOMPLETIONRESPONSE._serialized_end=4626 + _CHATCOMPLETIONRESPONSE._serialized_start=4629 + _CHATCOMPLETIONRESPONSE._serialized_end=4774 + _CHATSERVICE._serialized_start=5366 + _CHATSERVICE._serialized_end=5744 # @@protoc_insertion_point(module_scope) diff --git a/python/naas_models/common_pb2.py b/python/naas_models/common_pb2.py new file mode 100644 index 0000000..facfe79 --- /dev/null +++ b/python/naas_models/common_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: common.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +import naas_models.validate_pb2 as validate__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x63ommon.proto\x12\x06\x63ommon\x1a\x0evalidate.proto\"$\n\tFieldMask\x12\x17\n\x05paths\x18\x01 \x03(\tB\x08\xfa\x42\x05\x92\x01\x02\x08\x01\x42/Z-github.com/jupyter-naas/naas-models/go/commonb\x06proto3') + + + +_FIELDMASK = DESCRIPTOR.message_types_by_name['FieldMask'] +FieldMask = _reflection.GeneratedProtocolMessageType('FieldMask', (_message.Message,), { + 'DESCRIPTOR' : _FIELDMASK, + '__module__' : 'common_pb2' + # @@protoc_insertion_point(class_scope:common.FieldMask) + }) +_sym_db.RegisterMessage(FieldMask) + +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z-github.com/jupyter-naas/naas-models/go/common' + _FIELDMASK.fields_by_name['paths']._options = None + _FIELDMASK.fields_by_name['paths']._serialized_options = b'\372B\005\222\001\002\010\001' + _FIELDMASK._serialized_start=40 + _FIELDMASK._serialized_end=76 +# @@protoc_insertion_point(module_scope) diff --git a/python/naas_models/pydantic/chat_p2p.py b/python/naas_models/pydantic/chat_p2p.py index c457e2f..eef32e4 100644 --- a/python/naas_models/pydantic/chat_p2p.py +++ b/python/naas_models/pydantic/chat_p2p.py @@ -2,6 +2,7 @@ # gen by protobuf_to_pydantic(https://github.com/so1n/protobuf_to_pydantic) # type: ignore +from naas_models.pydantic.common_p2p import FieldMask from enum import IntEnum from google.protobuf.message import Message # type: ignore from protobuf_to_pydantic.customer_validator import check_one_of @@ -25,6 +26,7 @@ class MessageError(IntEnum): MESSAGE_NOT_FOUND = 2 MESSAGE_NOT_UPDATED = 3 MESSAGE_NOT_AUTHORIZED = 4 + MESSAGE_INTERNAL_SERVER_ERROR = 1000 class CompletionStatus(IntEnum): @@ -43,6 +45,7 @@ class ChatError(IntEnum): CHAT_AIMODEL_NOT_FOUND = 6 CHAT_OUT_OF_CREDIT = 7 CHAT_CONTEXT_LENGTH_EXCEEDED = 8 + CHAT_INTERNAL_SERVER_ERROR = 1000 @@ -178,6 +181,20 @@ class Chat(BaseModel): +class ChatUpdate(BaseModel): + + _one_of_dict = {"ChatUpdate._field_mask": {"fields": {"field_mask"}}, "ChatUpdate._is_group": {"fields": {"is_group"}}, "ChatUpdate._is_personal_assistant": {"fields": {"is_personal_assistant"}}, "ChatUpdate._name": {"fields": {"name"}}, "ChatUpdate._starred_at": {"fields": {"starred_at"}}} + _check_one_of = root_validator(pre=True, allow_reuse=True)(check_one_of) + + name: str = FieldInfo(default="") + is_group: bool = FieldInfo(default=False) + is_personal_assistant: bool = FieldInfo(default=False) + starred_at: str = FieldInfo(default="") + field_mask: FieldMask = FieldInfo() + + + + class ChatMessages(BaseModel): messages: typing.Dict[int, Messages] = FieldInfo(default_factory=dict) @@ -284,11 +301,11 @@ class ChatDeletionResponse(BaseModel): class ChatUpdateRequest(BaseModel): - _one_of_dict = {"ChatUpdateRequest._id": {"fields": {"id"}}, "ChatUpdateRequest._name": {"fields": {"name"}}} + _one_of_dict = {"ChatUpdateRequest._chat_update": {"fields": {"chat_update"}}, "ChatUpdateRequest._id": {"fields": {"id"}}} _check_one_of = root_validator(pre=True, allow_reuse=True)(check_one_of) id: int = FieldInfo(default=0) - name: str = FieldInfo(default="") + chat_update: ChatUpdate = FieldInfo() diff --git a/python/naas_models/pydantic/common_p2p.py b/python/naas_models/pydantic/common_p2p.py new file mode 100644 index 0000000..fb802bc --- /dev/null +++ b/python/naas_models/pydantic/common_p2p.py @@ -0,0 +1,18 @@ +# This is an automatically generated file, please do not change +# gen by protobuf_to_pydantic(https://github.com/so1n/protobuf_to_pydantic) +# type: ignore + +from google.protobuf.message import Message # type: ignore +from pydantic import BaseModel +from pydantic.fields import FieldInfo +import typing + + + + + +class FieldMask(BaseModel): + + paths: typing.List[str] = FieldInfo(default_factory=list, min_items=1) + +