// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel // protoc v4.22.0 // source: support.proto package main import ( proto "github.com/golang/protobuf/proto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" timestamppb "google.golang.org/protobuf/types/known/timestamppb" 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) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 type Void int32 const ( Void_VOID Void = 0 ) // Enum value maps for Void. var ( Void_name = map[int32]string{ 0: "VOID", } Void_value = map[string]int32{ "VOID": 0, } ) func (x Void) Enum() *Void { p := new(Void) *p = x return p } func (x Void) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Void) Descriptor() protoreflect.EnumDescriptor { return file_support_proto_enumTypes[0].Descriptor() } func (Void) Type() protoreflect.EnumType { return &file_support_proto_enumTypes[0] } func (x Void) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Void.Descriptor instead. func (Void) EnumDescriptor() ([]byte, []int) { return file_support_proto_rawDescGZIP(), []int{0} } type ChatCustomerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Req: // // *ChatCustomerRequest_Init // *ChatCustomerRequest_Msg // *ChatCustomerRequest_HangUp Req isChatCustomerRequest_Req `protobuf_oneof:"req"` } func (x *ChatCustomerRequest) Reset() { *x = ChatCustomerRequest{} if protoimpl.UnsafeEnabled { mi := &file_support_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatCustomerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatCustomerRequest) ProtoMessage() {} func (x *ChatCustomerRequest) ProtoReflect() protoreflect.Message { mi := &file_support_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 ChatCustomerRequest.ProtoReflect.Descriptor instead. func (*ChatCustomerRequest) Descriptor() ([]byte, []int) { return file_support_proto_rawDescGZIP(), []int{0} } func (m *ChatCustomerRequest) GetReq() isChatCustomerRequest_Req { if m != nil { return m.Req } return nil } func (x *ChatCustomerRequest) GetInit() *InitiateChat { if x, ok := x.GetReq().(*ChatCustomerRequest_Init); ok { return x.Init } return nil } func (x *ChatCustomerRequest) GetMsg() string { if x, ok := x.GetReq().(*ChatCustomerRequest_Msg); ok { return x.Msg } return "" } func (x *ChatCustomerRequest) GetHangUp() Void { if x, ok := x.GetReq().(*ChatCustomerRequest_HangUp); ok { return x.HangUp } return Void_VOID } type isChatCustomerRequest_Req interface { isChatCustomerRequest_Req() } type ChatCustomerRequest_Init struct { // init is used when a chat stream is not part of a // chat session. This is a stream's initial state, as well as // the state after a "hang_up" request is sent. This creates // a new state session or resumes an existing one. Init *InitiateChat `protobuf:"bytes,1,opt,name=init,proto3,oneof"` } type ChatCustomerRequest_Msg struct { // msg is used to send the customer's messages to support // agents. Msg string `protobuf:"bytes,2,opt,name=msg,proto3,oneof"` } type ChatCustomerRequest_HangUp struct { // hang_up is used to terminate a chat session. If a stream // is broken, but the session was not terminated, the client // may initiate a new stream and use init to resume that // session. Sessions are not terminated unless done so // explicitly via sending this kind of request on the stream. HangUp Void `protobuf:"varint,3,opt,name=hang_up,json=hangUp,proto3,enum=Void,oneof"` } func (*ChatCustomerRequest_Init) isChatCustomerRequest_Req() {} func (*ChatCustomerRequest_Msg) isChatCustomerRequest_Req() {} func (*ChatCustomerRequest_HangUp) isChatCustomerRequest_Req() {} type InitiateChat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ResumeSessionId string `protobuf:"bytes,1,opt,name=resume_session_id,json=resumeSessionId,proto3" json:"resume_session_id,omitempty"` } func (x *InitiateChat) Reset() { *x = InitiateChat{} if protoimpl.UnsafeEnabled { mi := &file_support_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InitiateChat) String() string { return protoimpl.X.MessageStringOf(x) } func (*InitiateChat) ProtoMessage() {} func (x *InitiateChat) ProtoReflect() protoreflect.Message { mi := &file_support_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InitiateChat.ProtoReflect.Descriptor instead. func (*InitiateChat) Descriptor() ([]byte, []int) { return file_support_proto_rawDescGZIP(), []int{1} } func (x *InitiateChat) GetResumeSessionId() string { if x != nil { return x.ResumeSessionId } return "" } type AgentMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AgentName string `protobuf:"bytes,1,opt,name=agent_name,json=agentName,proto3" json:"agent_name,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` } func (x *AgentMessage) Reset() { *x = AgentMessage{} if protoimpl.UnsafeEnabled { mi := &file_support_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AgentMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*AgentMessage) ProtoMessage() {} func (x *AgentMessage) ProtoReflect() protoreflect.Message { mi := &file_support_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AgentMessage.ProtoReflect.Descriptor instead. func (*AgentMessage) Descriptor() ([]byte, []int) { return file_support_proto_rawDescGZIP(), []int{2} } func (x *AgentMessage) GetAgentName() string { if x != nil { return x.AgentName } return "" } func (x *AgentMessage) GetMsg() string { if x != nil { return x.Msg } return "" } type ChatCustomerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Resp: // // *ChatCustomerResponse_Session // *ChatCustomerResponse_Msg Resp isChatCustomerResponse_Resp `protobuf_oneof:"resp"` } func (x *ChatCustomerResponse) Reset() { *x = ChatCustomerResponse{} if protoimpl.UnsafeEnabled { mi := &file_support_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatCustomerResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatCustomerResponse) ProtoMessage() {} func (x *ChatCustomerResponse) ProtoReflect() protoreflect.Message { mi := &file_support_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChatCustomerResponse.ProtoReflect.Descriptor instead. func (*ChatCustomerResponse) Descriptor() ([]byte, []int) { return file_support_proto_rawDescGZIP(), []int{3} } func (m *ChatCustomerResponse) GetResp() isChatCustomerResponse_Resp { if m != nil { return m.Resp } return nil } func (x *ChatCustomerResponse) GetSession() *Session { if x, ok := x.GetResp().(*ChatCustomerResponse_Session); ok { return x.Session } return nil } func (x *ChatCustomerResponse) GetMsg() *AgentMessage { if x, ok := x.GetResp().(*ChatCustomerResponse_Msg); ok { return x.Msg } return nil } type isChatCustomerResponse_Resp interface { isChatCustomerResponse_Resp() } type ChatCustomerResponse_Session struct { // session is sent from the server when the stream is connected // to a chat session. This happens after an init request is sent // and the stream is connected to either a new or resumed session. Session *Session `protobuf:"bytes,1,opt,name=session,proto3,oneof"` } type ChatCustomerResponse_Msg struct { // msg is sent from the server to convey agents' messages to the // customer. Msg *AgentMessage `protobuf:"bytes,2,opt,name=msg,proto3,oneof"` } func (*ChatCustomerResponse_Session) isChatCustomerResponse_Resp() {} func (*ChatCustomerResponse_Msg) isChatCustomerResponse_Resp() {} type ChatAgentRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Req: // // *ChatAgentRequest_Accept // *ChatAgentRequest_Msg // *ChatAgentRequest_LeaveSession Req isChatAgentRequest_Req `protobuf_oneof:"req"` } func (x *ChatAgentRequest) Reset() { *x = ChatAgentRequest{} if protoimpl.UnsafeEnabled { mi := &file_support_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatAgentRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatAgentRequest) ProtoMessage() {} func (x *ChatAgentRequest) ProtoReflect() protoreflect.Message { mi := &file_support_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChatAgentRequest.ProtoReflect.Descriptor instead. func (*ChatAgentRequest) Descriptor() ([]byte, []int) { return file_support_proto_rawDescGZIP(), []int{4} } func (m *ChatAgentRequest) GetReq() isChatAgentRequest_Req { if m != nil { return m.Req } return nil } func (x *ChatAgentRequest) GetAccept() *AcceptChat { if x, ok := x.GetReq().(*ChatAgentRequest_Accept); ok { return x.Accept } return nil } func (x *ChatAgentRequest) GetMsg() string { if x, ok := x.GetReq().(*ChatAgentRequest_Msg); ok { return x.Msg } return "" } func (x *ChatAgentRequest) GetLeaveSession() Void { if x, ok := x.GetReq().(*ChatAgentRequest_LeaveSession); ok { return x.LeaveSession } return Void_VOID } type isChatAgentRequest_Req interface { isChatAgentRequest_Req() } type ChatAgentRequest_Accept struct { // accept is used when an agent wants to join a customer chat // session. It can be used to connect to a specific session (by // ID), or to just accept the session for which the customer has // been waiting the longest (e.g. poll a FIFO queue of sessions // awaiting a support agent). It is possible for multiple agents // to be connected to the same chat session. Accept *AcceptChat `protobuf:"bytes,1,opt,name=accept,proto3,oneof"` } type ChatAgentRequest_Msg struct { // msg is used to send a message to the customer. It will also be // delivered to any other connected support agents. Msg string `protobuf:"bytes,2,opt,name=msg,proto3,oneof"` } type ChatAgentRequest_LeaveSession struct { // leave_session allows an agent to exit a chat session. They can // always re-enter later by sending an accept message for that // session ID. LeaveSession Void `protobuf:"varint,3,opt,name=leave_session,json=leaveSession,proto3,enum=Void,oneof"` } func (*ChatAgentRequest_Accept) isChatAgentRequest_Req() {} func (*ChatAgentRequest_Msg) isChatAgentRequest_Req() {} func (*ChatAgentRequest_LeaveSession) isChatAgentRequest_Req() {} type AcceptChat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` } func (x *AcceptChat) Reset() { *x = AcceptChat{} if protoimpl.UnsafeEnabled { mi := &file_support_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AcceptChat) String() string { return protoimpl.X.MessageStringOf(x) } func (*AcceptChat) ProtoMessage() {} func (x *AcceptChat) ProtoReflect() protoreflect.Message { mi := &file_support_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AcceptChat.ProtoReflect.Descriptor instead. func (*AcceptChat) Descriptor() ([]byte, []int) { return file_support_proto_rawDescGZIP(), []int{5} } func (x *AcceptChat) GetSessionId() string { if x != nil { return x.SessionId } return "" } type ChatEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Date *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"` // Types that are assignable to Entry: // // *ChatEntry_CustomerMsg // *ChatEntry_AgentMsg Entry isChatEntry_Entry `protobuf_oneof:"entry"` } func (x *ChatEntry) Reset() { *x = ChatEntry{} if protoimpl.UnsafeEnabled { mi := &file_support_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatEntry) ProtoMessage() {} func (x *ChatEntry) ProtoReflect() protoreflect.Message { mi := &file_support_proto_msgTypes[6] 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 ChatEntry.ProtoReflect.Descriptor instead. func (*ChatEntry) Descriptor() ([]byte, []int) { return file_support_proto_rawDescGZIP(), []int{6} } func (x *ChatEntry) GetDate() *timestamppb.Timestamp { if x != nil { return x.Date } return nil } func (m *ChatEntry) GetEntry() isChatEntry_Entry { if m != nil { return m.Entry } return nil } func (x *ChatEntry) GetCustomerMsg() string { if x, ok := x.GetEntry().(*ChatEntry_CustomerMsg); ok { return x.CustomerMsg } return "" } func (x *ChatEntry) GetAgentMsg() *AgentMessage { if x, ok := x.GetEntry().(*ChatEntry_AgentMsg); ok { return x.AgentMsg } return nil } type isChatEntry_Entry interface { isChatEntry_Entry() } type ChatEntry_CustomerMsg struct { CustomerMsg string `protobuf:"bytes,2,opt,name=customer_msg,json=customerMsg,proto3,oneof"` } type ChatEntry_AgentMsg struct { AgentMsg *AgentMessage `protobuf:"bytes,3,opt,name=agent_msg,json=agentMsg,proto3,oneof"` } func (*ChatEntry_CustomerMsg) isChatEntry_Entry() {} func (*ChatEntry_AgentMsg) isChatEntry_Entry() {} type ChatAgentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Resp: // // *ChatAgentResponse_AcceptedSession // *ChatAgentResponse_Msg // *ChatAgentResponse_SessionEnded Resp isChatAgentResponse_Resp `protobuf_oneof:"resp"` } func (x *ChatAgentResponse) Reset() { *x = ChatAgentResponse{} if protoimpl.UnsafeEnabled { mi := &file_support_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChatAgentResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChatAgentResponse) ProtoMessage() {} func (x *ChatAgentResponse) ProtoReflect() protoreflect.Message { mi := &file_support_proto_msgTypes[7] 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 ChatAgentResponse.ProtoReflect.Descriptor instead. func (*ChatAgentResponse) Descriptor() ([]byte, []int) { return file_support_proto_rawDescGZIP(), []int{7} } func (m *ChatAgentResponse) GetResp() isChatAgentResponse_Resp { if m != nil { return m.Resp } return nil } func (x *ChatAgentResponse) GetAcceptedSession() *Session { if x, ok := x.GetResp().(*ChatAgentResponse_AcceptedSession); ok { return x.AcceptedSession } return nil } func (x *ChatAgentResponse) GetMsg() *ChatEntry { if x, ok := x.GetResp().(*ChatAgentResponse_Msg); ok { return x.Msg } return nil } func (x *ChatAgentResponse) GetSessionEnded() Void { if x, ok := x.GetResp().(*ChatAgentResponse_SessionEnded); ok { return x.SessionEnded } return Void_VOID } type isChatAgentResponse_Resp interface { isChatAgentResponse_Resp() } type ChatAgentResponse_AcceptedSession struct { // accepted_session provides the detail of a chat session. The server // sends this message after the agent has accepted a chat session. AcceptedSession *Session `protobuf:"bytes,1,opt,name=accepted_session,json=acceptedSession,proto3,oneof"` } type ChatAgentResponse_Msg struct { // msg is sent by the server when the customer, or another support // agent, sends a message in stream's current session. Msg *ChatEntry `protobuf:"bytes,2,opt,name=msg,proto3,oneof"` } type ChatAgentResponse_SessionEnded struct { // session_ended notifies the support agent that their currently // connected chat session has been terminated by the customer. SessionEnded Void `protobuf:"varint,3,opt,name=session_ended,json=sessionEnded,proto3,enum=Void,oneof"` } func (*ChatAgentResponse_AcceptedSession) isChatAgentResponse_Resp() {} func (*ChatAgentResponse_Msg) isChatAgentResponse_Resp() {} func (*ChatAgentResponse_SessionEnded) isChatAgentResponse_Resp() {} type Session struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` CustomerName string `protobuf:"bytes,2,opt,name=customer_name,json=customerName,proto3" json:"customer_name,omitempty"` History []*ChatEntry `protobuf:"bytes,3,rep,name=history,proto3" json:"history,omitempty"` } func (x *Session) Reset() { *x = Session{} if protoimpl.UnsafeEnabled { mi := &file_support_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Session) String() string { return protoimpl.X.MessageStringOf(x) } func (*Session) ProtoMessage() {} func (x *Session) ProtoReflect() protoreflect.Message { mi := &file_support_proto_msgTypes[8] 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 Session.ProtoReflect.Descriptor instead. func (*Session) Descriptor() ([]byte, []int) { return file_support_proto_rawDescGZIP(), []int{8} } func (x *Session) GetSessionId() string { if x != nil { return x.SessionId } return "" } func (x *Session) GetCustomerName() string { if x != nil { return x.CustomerName } return "" } func (x *Session) GetHistory() []*ChatEntry { if x != nil { return x.History } return nil } var File_support_proto protoreflect.FileDescriptor var file_support_proto_rawDesc = []byte{ 0x0a, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x48, 0x00, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x61, 0x6e, 0x67, 0x5f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x05, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x67, 0x55, 0x70, 0x42, 0x05, 0x0a, 0x03, 0x72, 0x65, 0x71, 0x22, 0x3a, 0x0a, 0x0c, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x67, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x42, 0x06, 0x0a, 0x04, 0x72, 0x65, 0x73, 0x70, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x43, 0x68, 0x61, 0x74, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x2c, 0x0a, 0x0d, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x05, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x72, 0x65, 0x71, 0x22, 0x2b, 0x0a, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xa0, 0x01, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x05, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x72, 0x65, 0x73, 0x70, 0x22, 0x73, 0x0a, 0x07, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2a, 0x10, 0x0a, 0x04, 0x56, 0x6f, 0x69, 0x64, 0x12, 0x08, 0x0a, 0x04, 0x56, 0x4f, 0x49, 0x44, 0x10, 0x00, 0x32, 0x82, 0x01, 0x0a, 0x07, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x36, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x11, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_support_proto_rawDescOnce sync.Once file_support_proto_rawDescData = file_support_proto_rawDesc ) func file_support_proto_rawDescGZIP() []byte { file_support_proto_rawDescOnce.Do(func() { file_support_proto_rawDescData = protoimpl.X.CompressGZIP(file_support_proto_rawDescData) }) return file_support_proto_rawDescData } var file_support_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_support_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_support_proto_goTypes = []interface{}{ (Void)(0), // 0: Void (*ChatCustomerRequest)(nil), // 1: ChatCustomerRequest (*InitiateChat)(nil), // 2: InitiateChat (*AgentMessage)(nil), // 3: AgentMessage (*ChatCustomerResponse)(nil), // 4: ChatCustomerResponse (*ChatAgentRequest)(nil), // 5: ChatAgentRequest (*AcceptChat)(nil), // 6: AcceptChat (*ChatEntry)(nil), // 7: ChatEntry (*ChatAgentResponse)(nil), // 8: ChatAgentResponse (*Session)(nil), // 9: Session (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp } var file_support_proto_depIdxs = []int32{ 2, // 0: ChatCustomerRequest.init:type_name -> InitiateChat 0, // 1: ChatCustomerRequest.hang_up:type_name -> Void 9, // 2: ChatCustomerResponse.session:type_name -> Session 3, // 3: ChatCustomerResponse.msg:type_name -> AgentMessage 6, // 4: ChatAgentRequest.accept:type_name -> AcceptChat 0, // 5: ChatAgentRequest.leave_session:type_name -> Void 10, // 6: ChatEntry.date:type_name -> google.protobuf.Timestamp 3, // 7: ChatEntry.agent_msg:type_name -> AgentMessage 9, // 8: ChatAgentResponse.accepted_session:type_name -> Session 7, // 9: ChatAgentResponse.msg:type_name -> ChatEntry 0, // 10: ChatAgentResponse.session_ended:type_name -> Void 7, // 11: Session.history:type_name -> ChatEntry 1, // 12: Support.ChatCustomer:input_type -> ChatCustomerRequest 5, // 13: Support.ChatAgent:input_type -> ChatAgentRequest 4, // 14: Support.ChatCustomer:output_type -> ChatCustomerResponse 8, // 15: Support.ChatAgent:output_type -> ChatAgentResponse 14, // [14:16] is the sub-list for method output_type 12, // [12:14] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name 12, // [12:12] is the sub-list for extension extendee 0, // [0:12] is the sub-list for field type_name } func init() { file_support_proto_init() } func file_support_proto_init() { if File_support_proto != nil { return } if !protoimpl.UnsafeEnabled { file_support_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatCustomerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_support_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InitiateChat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_support_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AgentMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_support_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatCustomerResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_support_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatAgentRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_support_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AcceptChat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_support_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatEntry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_support_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChatAgentResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_support_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Session); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_support_proto_msgTypes[0].OneofWrappers = []interface{}{ (*ChatCustomerRequest_Init)(nil), (*ChatCustomerRequest_Msg)(nil), (*ChatCustomerRequest_HangUp)(nil), } file_support_proto_msgTypes[3].OneofWrappers = []interface{}{ (*ChatCustomerResponse_Session)(nil), (*ChatCustomerResponse_Msg)(nil), } file_support_proto_msgTypes[4].OneofWrappers = []interface{}{ (*ChatAgentRequest_Accept)(nil), (*ChatAgentRequest_Msg)(nil), (*ChatAgentRequest_LeaveSession)(nil), } file_support_proto_msgTypes[6].OneofWrappers = []interface{}{ (*ChatEntry_CustomerMsg)(nil), (*ChatEntry_AgentMsg)(nil), } file_support_proto_msgTypes[7].OneofWrappers = []interface{}{ (*ChatAgentResponse_AcceptedSession)(nil), (*ChatAgentResponse_Msg)(nil), (*ChatAgentResponse_SessionEnded)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_support_proto_rawDesc, NumEnums: 1, NumMessages: 9, NumExtensions: 0, NumServices: 1, }, GoTypes: file_support_proto_goTypes, DependencyIndexes: file_support_proto_depIdxs, EnumInfos: file_support_proto_enumTypes, MessageInfos: file_support_proto_msgTypes, }.Build() File_support_proto = out.File file_support_proto_rawDesc = nil file_support_proto_goTypes = nil file_support_proto_depIdxs = nil }