// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        (unknown)
// source: runtime/v1/session.proto

package runtimev1

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type SessionAuthenticationMethod int32

const (
	SessionAuthenticationMethod_SESSION_AUTHENTICATION_METHOD_UNSPECIFIED        SessionAuthenticationMethod = 0
	SessionAuthenticationMethod_SESSION_AUTHENTICATION_METHOD_PASSWORD           SessionAuthenticationMethod = 1
	SessionAuthenticationMethod_SESSION_AUTHENTICATION_METHOD_FEDERATED_ID_TOKEN SessionAuthenticationMethod = 2
)

// Enum value maps for SessionAuthenticationMethod.
var (
	SessionAuthenticationMethod_name = map[int32]string{
		0: "SESSION_AUTHENTICATION_METHOD_UNSPECIFIED",
		1: "SESSION_AUTHENTICATION_METHOD_PASSWORD",
		2: "SESSION_AUTHENTICATION_METHOD_FEDERATED_ID_TOKEN",
	}
	SessionAuthenticationMethod_value = map[string]int32{
		"SESSION_AUTHENTICATION_METHOD_UNSPECIFIED":        0,
		"SESSION_AUTHENTICATION_METHOD_PASSWORD":           1,
		"SESSION_AUTHENTICATION_METHOD_FEDERATED_ID_TOKEN": 2,
	}
)

func (x SessionAuthenticationMethod) Enum() *SessionAuthenticationMethod {
	p := new(SessionAuthenticationMethod)
	*p = x
	return p
}

func (x SessionAuthenticationMethod) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SessionAuthenticationMethod) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_session_proto_enumTypes[0].Descriptor()
}

func (SessionAuthenticationMethod) Type() protoreflect.EnumType {
	return &file_runtime_v1_session_proto_enumTypes[0]
}

func (x SessionAuthenticationMethod) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SessionAuthenticationMethod.Descriptor instead.
func (SessionAuthenticationMethod) EnumDescriptor() ([]byte, []int) {
	return file_runtime_v1_session_proto_rawDescGZIP(), []int{0}
}

type CreateSessionRequest struct {
	state               protoimpl.MessageState      `protogen:"open.v1"`
	AppInstallationId   string                      `protobuf:"bytes,1,opt,name=app_installation_id,json=appInstallationId,proto3" json:"app_installation_id,omitempty"`
	Method              SessionAuthenticationMethod `protobuf:"varint,2,opt,name=method,proto3,enum=nexuscrm.runtime.v1.SessionAuthenticationMethod" json:"method,omitempty"`
	ApplicationClientId string                      `protobuf:"bytes,3,opt,name=application_client_id,json=applicationClientId,proto3" json:"application_client_id,omitempty"`
	RequestedScope      string                      `protobuf:"bytes,4,opt,name=requested_scope,json=requestedScope,proto3" json:"requested_scope,omitempty"`
	FederatedProviderId string                      `protobuf:"bytes,5,opt,name=federated_provider_id,json=federatedProviderId,proto3" json:"federated_provider_id,omitempty"`
	SourceAddress       string                      `protobuf:"bytes,6,opt,name=source_address,json=sourceAddress,proto3" json:"source_address,omitempty"`
	UserAgent           string                      `protobuf:"bytes,7,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
	IssueControlProof   bool                        `protobuf:"varint,8,opt,name=issue_control_proof,json=issueControlProof,proto3" json:"issue_control_proof,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *CreateSessionRequest) Reset() {
	*x = CreateSessionRequest{}
	mi := &file_runtime_v1_session_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateSessionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateSessionRequest) ProtoMessage() {}

func (x *CreateSessionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_session_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateSessionRequest.ProtoReflect.Descriptor instead.
func (*CreateSessionRequest) Descriptor() ([]byte, []int) {
	return file_runtime_v1_session_proto_rawDescGZIP(), []int{0}
}

func (x *CreateSessionRequest) GetAppInstallationId() string {
	if x != nil {
		return x.AppInstallationId
	}
	return ""
}

func (x *CreateSessionRequest) GetMethod() SessionAuthenticationMethod {
	if x != nil {
		return x.Method
	}
	return SessionAuthenticationMethod_SESSION_AUTHENTICATION_METHOD_UNSPECIFIED
}

func (x *CreateSessionRequest) GetApplicationClientId() string {
	if x != nil {
		return x.ApplicationClientId
	}
	return ""
}

func (x *CreateSessionRequest) GetRequestedScope() string {
	if x != nil {
		return x.RequestedScope
	}
	return ""
}

func (x *CreateSessionRequest) GetFederatedProviderId() string {
	if x != nil {
		return x.FederatedProviderId
	}
	return ""
}

func (x *CreateSessionRequest) GetSourceAddress() string {
	if x != nil {
		return x.SourceAddress
	}
	return ""
}

func (x *CreateSessionRequest) GetUserAgent() string {
	if x != nil {
		return x.UserAgent
	}
	return ""
}

func (x *CreateSessionRequest) GetIssueControlProof() bool {
	if x != nil {
		return x.IssueControlProof
	}
	return false
}

type SessionPrincipal struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PrincipalId   string                 `protobuf:"bytes,1,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"`
	DisplayName   string                 `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	Email         string                 `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	ProfileId     string                 `protobuf:"bytes,4,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"`
	RoleId        string                 `protobuf:"bytes,5,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SessionPrincipal) Reset() {
	*x = SessionPrincipal{}
	mi := &file_runtime_v1_session_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SessionPrincipal) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionPrincipal) ProtoMessage() {}

func (x *SessionPrincipal) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_session_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionPrincipal.ProtoReflect.Descriptor instead.
func (*SessionPrincipal) Descriptor() ([]byte, []int) {
	return file_runtime_v1_session_proto_rawDescGZIP(), []int{1}
}

func (x *SessionPrincipal) GetPrincipalId() string {
	if x != nil {
		return x.PrincipalId
	}
	return ""
}

func (x *SessionPrincipal) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *SessionPrincipal) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *SessionPrincipal) GetProfileId() string {
	if x != nil {
		return x.ProfileId
	}
	return ""
}

func (x *SessionPrincipal) GetRoleId() string {
	if x != nil {
		return x.RoleId
	}
	return ""
}

type SessionView struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Principal           *SessionPrincipal      `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ExpiresAtUnixSecond int64                  `protobuf:"varint,2,opt,name=expires_at_unix_second,json=expiresAtUnixSecond,proto3" json:"expires_at_unix_second,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *SessionView) Reset() {
	*x = SessionView{}
	mi := &file_runtime_v1_session_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SessionView) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionView) ProtoMessage() {}

func (x *SessionView) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_session_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionView.ProtoReflect.Descriptor instead.
func (*SessionView) Descriptor() ([]byte, []int) {
	return file_runtime_v1_session_proto_rawDescGZIP(), []int{2}
}

func (x *SessionView) GetPrincipal() *SessionPrincipal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *SessionView) GetExpiresAtUnixSecond() int64 {
	if x != nil {
		return x.ExpiresAtUnixSecond
	}
	return 0
}

type CreateSessionResponse struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Session            *SessionView           `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	AccessTokenIssued  bool                   `protobuf:"varint,2,opt,name=access_token_issued,json=accessTokenIssued,proto3" json:"access_token_issued,omitempty"`
	ControlProofIssued bool                   `protobuf:"varint,3,opt,name=control_proof_issued,json=controlProofIssued,proto3" json:"control_proof_issued,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *CreateSessionResponse) Reset() {
	*x = CreateSessionResponse{}
	mi := &file_runtime_v1_session_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateSessionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateSessionResponse) ProtoMessage() {}

func (x *CreateSessionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_session_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateSessionResponse.ProtoReflect.Descriptor instead.
func (*CreateSessionResponse) Descriptor() ([]byte, []int) {
	return file_runtime_v1_session_proto_rawDescGZIP(), []int{3}
}

func (x *CreateSessionResponse) GetSession() *SessionView {
	if x != nil {
		return x.Session
	}
	return nil
}

func (x *CreateSessionResponse) GetAccessTokenIssued() bool {
	if x != nil {
		return x.AccessTokenIssued
	}
	return false
}

func (x *CreateSessionResponse) GetControlProofIssued() bool {
	if x != nil {
		return x.ControlProofIssued
	}
	return false
}

type SessionDocumentLinkRoute struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Link          string                 `protobuf:"bytes,1,opt,name=link,proto3" json:"link,omitempty"`
	Method        string                 `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"`
	Path          string                 `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SessionDocumentLinkRoute) Reset() {
	*x = SessionDocumentLinkRoute{}
	mi := &file_runtime_v1_session_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SessionDocumentLinkRoute) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionDocumentLinkRoute) ProtoMessage() {}

func (x *SessionDocumentLinkRoute) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_session_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionDocumentLinkRoute.ProtoReflect.Descriptor instead.
func (*SessionDocumentLinkRoute) Descriptor() ([]byte, []int) {
	return file_runtime_v1_session_proto_rawDescGZIP(), []int{4}
}

func (x *SessionDocumentLinkRoute) GetLink() string {
	if x != nil {
		return x.Link
	}
	return ""
}

func (x *SessionDocumentLinkRoute) GetMethod() string {
	if x != nil {
		return x.Method
	}
	return ""
}

func (x *SessionDocumentLinkRoute) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

type SessionDocumentPolicyRequest struct {
	state             protoimpl.MessageState      `protogen:"open.v1"`
	RouteFamilyPrefix string                      `protobuf:"bytes,1,opt,name=route_family_prefix,json=routeFamilyPrefix,proto3" json:"route_family_prefix,omitempty"`
	LinkRoutes        []*SessionDocumentLinkRoute `protobuf:"bytes,2,rep,name=link_routes,json=linkRoutes,proto3" json:"link_routes,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *SessionDocumentPolicyRequest) Reset() {
	*x = SessionDocumentPolicyRequest{}
	mi := &file_runtime_v1_session_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SessionDocumentPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionDocumentPolicyRequest) ProtoMessage() {}

func (x *SessionDocumentPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_session_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionDocumentPolicyRequest.ProtoReflect.Descriptor instead.
func (*SessionDocumentPolicyRequest) Descriptor() ([]byte, []int) {
	return file_runtime_v1_session_proto_rawDescGZIP(), []int{5}
}

func (x *SessionDocumentPolicyRequest) GetRouteFamilyPrefix() string {
	if x != nil {
		return x.RouteFamilyPrefix
	}
	return ""
}

func (x *SessionDocumentPolicyRequest) GetLinkRoutes() []*SessionDocumentLinkRoute {
	if x != nil {
		return x.LinkRoutes
	}
	return nil
}

type SessionDocumentPolicy struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Restricted    bool                   `protobuf:"varint,1,opt,name=restricted,proto3" json:"restricted,omitempty"`
	AllowedLinks  []string               `protobuf:"bytes,2,rep,name=allowed_links,json=allowedLinks,proto3" json:"allowed_links,omitempty"`
	HourlyLimit   int64                  `protobuf:"varint,3,opt,name=hourly_limit,json=hourlyLimit,proto3" json:"hourly_limit,omitempty"`
	DailyLimit    int64                  `protobuf:"varint,4,opt,name=daily_limit,json=dailyLimit,proto3" json:"daily_limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SessionDocumentPolicy) Reset() {
	*x = SessionDocumentPolicy{}
	mi := &file_runtime_v1_session_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SessionDocumentPolicy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionDocumentPolicy) ProtoMessage() {}

func (x *SessionDocumentPolicy) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_session_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionDocumentPolicy.ProtoReflect.Descriptor instead.
func (*SessionDocumentPolicy) Descriptor() ([]byte, []int) {
	return file_runtime_v1_session_proto_rawDescGZIP(), []int{6}
}

func (x *SessionDocumentPolicy) GetRestricted() bool {
	if x != nil {
		return x.Restricted
	}
	return false
}

func (x *SessionDocumentPolicy) GetAllowedLinks() []string {
	if x != nil {
		return x.AllowedLinks
	}
	return nil
}

func (x *SessionDocumentPolicy) GetHourlyLimit() int64 {
	if x != nil {
		return x.HourlyLimit
	}
	return 0
}

func (x *SessionDocumentPolicy) GetDailyLimit() int64 {
	if x != nil {
		return x.DailyLimit
	}
	return 0
}

type ReadSessionRequest struct {
	state             protoimpl.MessageState        `protogen:"open.v1"`
	DocumentPolicy    *SessionDocumentPolicyRequest `protobuf:"bytes,4,opt,name=document_policy,json=documentPolicy,proto3" json:"document_policy,omitempty"`
	AppInstallationId string                        `protobuf:"bytes,1,opt,name=app_installation_id,json=appInstallationId,proto3" json:"app_installation_id,omitempty"`
	AllowRenewal      bool                          `protobuf:"varint,2,opt,name=allow_renewal,json=allowRenewal,proto3" json:"allow_renewal,omitempty"`
	UseControlProof   bool                          `protobuf:"varint,3,opt,name=use_control_proof,json=useControlProof,proto3" json:"use_control_proof,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *ReadSessionRequest) Reset() {
	*x = ReadSessionRequest{}
	mi := &file_runtime_v1_session_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadSessionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadSessionRequest) ProtoMessage() {}

func (x *ReadSessionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_session_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadSessionRequest.ProtoReflect.Descriptor instead.
func (*ReadSessionRequest) Descriptor() ([]byte, []int) {
	return file_runtime_v1_session_proto_rawDescGZIP(), []int{7}
}

func (x *ReadSessionRequest) GetDocumentPolicy() *SessionDocumentPolicyRequest {
	if x != nil {
		return x.DocumentPolicy
	}
	return nil
}

func (x *ReadSessionRequest) GetAppInstallationId() string {
	if x != nil {
		return x.AppInstallationId
	}
	return ""
}

func (x *ReadSessionRequest) GetAllowRenewal() bool {
	if x != nil {
		return x.AllowRenewal
	}
	return false
}

func (x *ReadSessionRequest) GetUseControlProof() bool {
	if x != nil {
		return x.UseControlProof
	}
	return false
}

type ReadSessionResponse struct {
	state                           protoimpl.MessageState `protogen:"open.v1"`
	DocumentPolicy                  *SessionDocumentPolicy `protobuf:"bytes,4,opt,name=document_policy,json=documentPolicy,proto3" json:"document_policy,omitempty"`
	Session                         *SessionView           `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	ReplacementAccessTokenIssued    bool                   `protobuf:"varint,2,opt,name=replacement_access_token_issued,json=replacementAccessTokenIssued,proto3" json:"replacement_access_token_issued,omitempty"`
	ControlProofExpiresAtUnixSecond int64                  `protobuf:"varint,3,opt,name=control_proof_expires_at_unix_second,json=controlProofExpiresAtUnixSecond,proto3" json:"control_proof_expires_at_unix_second,omitempty"`
	unknownFields                   protoimpl.UnknownFields
	sizeCache                       protoimpl.SizeCache
}

func (x *ReadSessionResponse) Reset() {
	*x = ReadSessionResponse{}
	mi := &file_runtime_v1_session_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadSessionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadSessionResponse) ProtoMessage() {}

func (x *ReadSessionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_session_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadSessionResponse.ProtoReflect.Descriptor instead.
func (*ReadSessionResponse) Descriptor() ([]byte, []int) {
	return file_runtime_v1_session_proto_rawDescGZIP(), []int{8}
}

func (x *ReadSessionResponse) GetDocumentPolicy() *SessionDocumentPolicy {
	if x != nil {
		return x.DocumentPolicy
	}
	return nil
}

func (x *ReadSessionResponse) GetSession() *SessionView {
	if x != nil {
		return x.Session
	}
	return nil
}

func (x *ReadSessionResponse) GetReplacementAccessTokenIssued() bool {
	if x != nil {
		return x.ReplacementAccessTokenIssued
	}
	return false
}

func (x *ReadSessionResponse) GetControlProofExpiresAtUnixSecond() int64 {
	if x != nil {
		return x.ControlProofExpiresAtUnixSecond
	}
	return 0
}

type RevokeSessionRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	AppInstallationId string                 `protobuf:"bytes,1,opt,name=app_installation_id,json=appInstallationId,proto3" json:"app_installation_id,omitempty"`
	UseControlProof   bool                   `protobuf:"varint,2,opt,name=use_control_proof,json=useControlProof,proto3" json:"use_control_proof,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *RevokeSessionRequest) Reset() {
	*x = RevokeSessionRequest{}
	mi := &file_runtime_v1_session_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RevokeSessionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RevokeSessionRequest) ProtoMessage() {}

func (x *RevokeSessionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_session_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RevokeSessionRequest.ProtoReflect.Descriptor instead.
func (*RevokeSessionRequest) Descriptor() ([]byte, []int) {
	return file_runtime_v1_session_proto_rawDescGZIP(), []int{9}
}

func (x *RevokeSessionRequest) GetAppInstallationId() string {
	if x != nil {
		return x.AppInstallationId
	}
	return ""
}

func (x *RevokeSessionRequest) GetUseControlProof() bool {
	if x != nil {
		return x.UseControlProof
	}
	return false
}

type RevokeSessionResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RevokeSessionResponse) Reset() {
	*x = RevokeSessionResponse{}
	mi := &file_runtime_v1_session_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RevokeSessionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RevokeSessionResponse) ProtoMessage() {}

func (x *RevokeSessionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_session_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RevokeSessionResponse.ProtoReflect.Descriptor instead.
func (*RevokeSessionResponse) Descriptor() ([]byte, []int) {
	return file_runtime_v1_session_proto_rawDescGZIP(), []int{10}
}

var File_runtime_v1_session_proto protoreflect.FileDescriptor

const file_runtime_v1_session_proto_rawDesc = "" +
	"\n" +
	"\x18runtime/v1/session.proto\x12\x13nexuscrm.runtime.v1\"\x97\x03\n" +
	"\x14CreateSessionRequest\x12.\n" +
	"\x13app_installation_id\x18\x01 \x01(\tR\x11appInstallationId\x12H\n" +
	"\x06method\x18\x02 \x01(\x0e20.nexuscrm.runtime.v1.SessionAuthenticationMethodR\x06method\x122\n" +
	"\x15application_client_id\x18\x03 \x01(\tR\x13applicationClientId\x12'\n" +
	"\x0frequested_scope\x18\x04 \x01(\tR\x0erequestedScope\x122\n" +
	"\x15federated_provider_id\x18\x05 \x01(\tR\x13federatedProviderId\x12%\n" +
	"\x0esource_address\x18\x06 \x01(\tR\rsourceAddress\x12\x1d\n" +
	"\n" +
	"user_agent\x18\a \x01(\tR\tuserAgent\x12.\n" +
	"\x13issue_control_proof\x18\b \x01(\bR\x11issueControlProof\"\xa6\x01\n" +
	"\x10SessionPrincipal\x12!\n" +
	"\fprincipal_id\x18\x01 \x01(\tR\vprincipalId\x12!\n" +
	"\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x14\n" +
	"\x05email\x18\x03 \x01(\tR\x05email\x12\x1d\n" +
	"\n" +
	"profile_id\x18\x04 \x01(\tR\tprofileId\x12\x17\n" +
	"\arole_id\x18\x05 \x01(\tR\x06roleId\"\x87\x01\n" +
	"\vSessionView\x12C\n" +
	"\tprincipal\x18\x01 \x01(\v2%.nexuscrm.runtime.v1.SessionPrincipalR\tprincipal\x123\n" +
	"\x16expires_at_unix_second\x18\x02 \x01(\x03R\x13expiresAtUnixSecond\"\xb5\x01\n" +
	"\x15CreateSessionResponse\x12:\n" +
	"\asession\x18\x01 \x01(\v2 .nexuscrm.runtime.v1.SessionViewR\asession\x12.\n" +
	"\x13access_token_issued\x18\x02 \x01(\bR\x11accessTokenIssued\x120\n" +
	"\x14control_proof_issued\x18\x03 \x01(\bR\x12controlProofIssued\"Z\n" +
	"\x18SessionDocumentLinkRoute\x12\x12\n" +
	"\x04link\x18\x01 \x01(\tR\x04link\x12\x16\n" +
	"\x06method\x18\x02 \x01(\tR\x06method\x12\x12\n" +
	"\x04path\x18\x03 \x01(\tR\x04path\"\x9e\x01\n" +
	"\x1cSessionDocumentPolicyRequest\x12.\n" +
	"\x13route_family_prefix\x18\x01 \x01(\tR\x11routeFamilyPrefix\x12N\n" +
	"\vlink_routes\x18\x02 \x03(\v2-.nexuscrm.runtime.v1.SessionDocumentLinkRouteR\n" +
	"linkRoutes\"\xa0\x01\n" +
	"\x15SessionDocumentPolicy\x12\x1e\n" +
	"\n" +
	"restricted\x18\x01 \x01(\bR\n" +
	"restricted\x12#\n" +
	"\rallowed_links\x18\x02 \x03(\tR\fallowedLinks\x12!\n" +
	"\fhourly_limit\x18\x03 \x01(\x03R\vhourlyLimit\x12\x1f\n" +
	"\vdaily_limit\x18\x04 \x01(\x03R\n" +
	"dailyLimit\"\xf1\x01\n" +
	"\x12ReadSessionRequest\x12Z\n" +
	"\x0fdocument_policy\x18\x04 \x01(\v21.nexuscrm.runtime.v1.SessionDocumentPolicyRequestR\x0edocumentPolicy\x12.\n" +
	"\x13app_installation_id\x18\x01 \x01(\tR\x11appInstallationId\x12#\n" +
	"\rallow_renewal\x18\x02 \x01(\bR\fallowRenewal\x12*\n" +
	"\x11use_control_proof\x18\x03 \x01(\bR\x0fuseControlProof\"\xbc\x02\n" +
	"\x13ReadSessionResponse\x12S\n" +
	"\x0fdocument_policy\x18\x04 \x01(\v2*.nexuscrm.runtime.v1.SessionDocumentPolicyR\x0edocumentPolicy\x12:\n" +
	"\asession\x18\x01 \x01(\v2 .nexuscrm.runtime.v1.SessionViewR\asession\x12E\n" +
	"\x1freplacement_access_token_issued\x18\x02 \x01(\bR\x1creplacementAccessTokenIssued\x12M\n" +
	"$control_proof_expires_at_unix_second\x18\x03 \x01(\x03R\x1fcontrolProofExpiresAtUnixSecond\"r\n" +
	"\x14RevokeSessionRequest\x12.\n" +
	"\x13app_installation_id\x18\x01 \x01(\tR\x11appInstallationId\x12*\n" +
	"\x11use_control_proof\x18\x02 \x01(\bR\x0fuseControlProof\"\x17\n" +
	"\x15RevokeSessionResponse*\xae\x01\n" +
	"\x1bSessionAuthenticationMethod\x12-\n" +
	")SESSION_AUTHENTICATION_METHOD_UNSPECIFIED\x10\x00\x12*\n" +
	"&SESSION_AUTHENTICATION_METHOD_PASSWORD\x10\x01\x124\n" +
	"0SESSION_AUTHENTICATION_METHOD_FEDERATED_ID_TOKEN\x10\x022\xcb\x02\n" +
	"\x17SessionLifecycleService\x12f\n" +
	"\rCreateSession\x12).nexuscrm.runtime.v1.CreateSessionRequest\x1a*.nexuscrm.runtime.v1.CreateSessionResponse\x12`\n" +
	"\vReadSession\x12'.nexuscrm.runtime.v1.ReadSessionRequest\x1a(.nexuscrm.runtime.v1.ReadSessionResponse\x12f\n" +
	"\rRevokeSession\x12).nexuscrm.runtime.v1.RevokeSessionRequest\x1a*.nexuscrm.runtime.v1.RevokeSessionResponseBKZIgithub.com/pingcap-inc/nexuscrm-contract/wire-go/gen/runtime/v1;runtimev1b\x06proto3"

var (
	file_runtime_v1_session_proto_rawDescOnce sync.Once
	file_runtime_v1_session_proto_rawDescData []byte
)

func file_runtime_v1_session_proto_rawDescGZIP() []byte {
	file_runtime_v1_session_proto_rawDescOnce.Do(func() {
		file_runtime_v1_session_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_runtime_v1_session_proto_rawDesc), len(file_runtime_v1_session_proto_rawDesc)))
	})
	return file_runtime_v1_session_proto_rawDescData
}

var file_runtime_v1_session_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_runtime_v1_session_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_runtime_v1_session_proto_goTypes = []any{
	(SessionAuthenticationMethod)(0),     // 0: nexuscrm.runtime.v1.SessionAuthenticationMethod
	(*CreateSessionRequest)(nil),         // 1: nexuscrm.runtime.v1.CreateSessionRequest
	(*SessionPrincipal)(nil),             // 2: nexuscrm.runtime.v1.SessionPrincipal
	(*SessionView)(nil),                  // 3: nexuscrm.runtime.v1.SessionView
	(*CreateSessionResponse)(nil),        // 4: nexuscrm.runtime.v1.CreateSessionResponse
	(*SessionDocumentLinkRoute)(nil),     // 5: nexuscrm.runtime.v1.SessionDocumentLinkRoute
	(*SessionDocumentPolicyRequest)(nil), // 6: nexuscrm.runtime.v1.SessionDocumentPolicyRequest
	(*SessionDocumentPolicy)(nil),        // 7: nexuscrm.runtime.v1.SessionDocumentPolicy
	(*ReadSessionRequest)(nil),           // 8: nexuscrm.runtime.v1.ReadSessionRequest
	(*ReadSessionResponse)(nil),          // 9: nexuscrm.runtime.v1.ReadSessionResponse
	(*RevokeSessionRequest)(nil),         // 10: nexuscrm.runtime.v1.RevokeSessionRequest
	(*RevokeSessionResponse)(nil),        // 11: nexuscrm.runtime.v1.RevokeSessionResponse
}
var file_runtime_v1_session_proto_depIdxs = []int32{
	0,  // 0: nexuscrm.runtime.v1.CreateSessionRequest.method:type_name -> nexuscrm.runtime.v1.SessionAuthenticationMethod
	2,  // 1: nexuscrm.runtime.v1.SessionView.principal:type_name -> nexuscrm.runtime.v1.SessionPrincipal
	3,  // 2: nexuscrm.runtime.v1.CreateSessionResponse.session:type_name -> nexuscrm.runtime.v1.SessionView
	5,  // 3: nexuscrm.runtime.v1.SessionDocumentPolicyRequest.link_routes:type_name -> nexuscrm.runtime.v1.SessionDocumentLinkRoute
	6,  // 4: nexuscrm.runtime.v1.ReadSessionRequest.document_policy:type_name -> nexuscrm.runtime.v1.SessionDocumentPolicyRequest
	7,  // 5: nexuscrm.runtime.v1.ReadSessionResponse.document_policy:type_name -> nexuscrm.runtime.v1.SessionDocumentPolicy
	3,  // 6: nexuscrm.runtime.v1.ReadSessionResponse.session:type_name -> nexuscrm.runtime.v1.SessionView
	1,  // 7: nexuscrm.runtime.v1.SessionLifecycleService.CreateSession:input_type -> nexuscrm.runtime.v1.CreateSessionRequest
	8,  // 8: nexuscrm.runtime.v1.SessionLifecycleService.ReadSession:input_type -> nexuscrm.runtime.v1.ReadSessionRequest
	10, // 9: nexuscrm.runtime.v1.SessionLifecycleService.RevokeSession:input_type -> nexuscrm.runtime.v1.RevokeSessionRequest
	4,  // 10: nexuscrm.runtime.v1.SessionLifecycleService.CreateSession:output_type -> nexuscrm.runtime.v1.CreateSessionResponse
	9,  // 11: nexuscrm.runtime.v1.SessionLifecycleService.ReadSession:output_type -> nexuscrm.runtime.v1.ReadSessionResponse
	11, // 12: nexuscrm.runtime.v1.SessionLifecycleService.RevokeSession:output_type -> nexuscrm.runtime.v1.RevokeSessionResponse
	10, // [10:13] is the sub-list for method output_type
	7,  // [7:10] is the sub-list for method input_type
	7,  // [7:7] is the sub-list for extension type_name
	7,  // [7:7] is the sub-list for extension extendee
	0,  // [0:7] is the sub-list for field type_name
}

func init() { file_runtime_v1_session_proto_init() }
func file_runtime_v1_session_proto_init() {
	if File_runtime_v1_session_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_runtime_v1_session_proto_rawDesc), len(file_runtime_v1_session_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   11,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_runtime_v1_session_proto_goTypes,
		DependencyIndexes: file_runtime_v1_session_proto_depIdxs,
		EnumInfos:         file_runtime_v1_session_proto_enumTypes,
		MessageInfos:      file_runtime_v1_session_proto_msgTypes,
	}.Build()
	File_runtime_v1_session_proto = out.File
	file_runtime_v1_session_proto_goTypes = nil
	file_runtime_v1_session_proto_depIdxs = nil
}
