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

package runtimev1

import (
	v1 "github.com/pingcap-inc/nexuscrm-contract/wire-go/gen/common/v1"
	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 ApprovalOperation int32

const (
	ApprovalOperation_APPROVAL_OPERATION_UNSPECIFIED ApprovalOperation = 0
	ApprovalOperation_APPROVAL_OPERATION_SUBMIT      ApprovalOperation = 1
	ApprovalOperation_APPROVAL_OPERATION_APPROVE     ApprovalOperation = 2
	ApprovalOperation_APPROVAL_OPERATION_REJECT      ApprovalOperation = 3
	ApprovalOperation_APPROVAL_OPERATION_RECALL      ApprovalOperation = 4
	ApprovalOperation_APPROVAL_OPERATION_REASSIGN    ApprovalOperation = 5
)

// Enum value maps for ApprovalOperation.
var (
	ApprovalOperation_name = map[int32]string{
		0: "APPROVAL_OPERATION_UNSPECIFIED",
		1: "APPROVAL_OPERATION_SUBMIT",
		2: "APPROVAL_OPERATION_APPROVE",
		3: "APPROVAL_OPERATION_REJECT",
		4: "APPROVAL_OPERATION_RECALL",
		5: "APPROVAL_OPERATION_REASSIGN",
	}
	ApprovalOperation_value = map[string]int32{
		"APPROVAL_OPERATION_UNSPECIFIED": 0,
		"APPROVAL_OPERATION_SUBMIT":      1,
		"APPROVAL_OPERATION_APPROVE":     2,
		"APPROVAL_OPERATION_REJECT":      3,
		"APPROVAL_OPERATION_RECALL":      4,
		"APPROVAL_OPERATION_REASSIGN":    5,
	}
)

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

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

func (ApprovalOperation) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_approvals_proto_enumTypes[0].Descriptor()
}

func (ApprovalOperation) Type() protoreflect.EnumType {
	return &file_runtime_v1_approvals_proto_enumTypes[0]
}

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

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

type ApprovalInstanceState int32

const (
	ApprovalInstanceState_APPROVAL_INSTANCE_STATE_UNSPECIFIED ApprovalInstanceState = 0
	ApprovalInstanceState_APPROVAL_INSTANCE_STATE_PENDING     ApprovalInstanceState = 1
	ApprovalInstanceState_APPROVAL_INSTANCE_STATE_APPROVED    ApprovalInstanceState = 2
	ApprovalInstanceState_APPROVAL_INSTANCE_STATE_REJECTED    ApprovalInstanceState = 3
	ApprovalInstanceState_APPROVAL_INSTANCE_STATE_WITHDRAWN   ApprovalInstanceState = 4
)

// Enum value maps for ApprovalInstanceState.
var (
	ApprovalInstanceState_name = map[int32]string{
		0: "APPROVAL_INSTANCE_STATE_UNSPECIFIED",
		1: "APPROVAL_INSTANCE_STATE_PENDING",
		2: "APPROVAL_INSTANCE_STATE_APPROVED",
		3: "APPROVAL_INSTANCE_STATE_REJECTED",
		4: "APPROVAL_INSTANCE_STATE_WITHDRAWN",
	}
	ApprovalInstanceState_value = map[string]int32{
		"APPROVAL_INSTANCE_STATE_UNSPECIFIED": 0,
		"APPROVAL_INSTANCE_STATE_PENDING":     1,
		"APPROVAL_INSTANCE_STATE_APPROVED":    2,
		"APPROVAL_INSTANCE_STATE_REJECTED":    3,
		"APPROVAL_INSTANCE_STATE_WITHDRAWN":   4,
	}
)

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

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

func (ApprovalInstanceState) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_approvals_proto_enumTypes[1].Descriptor()
}

func (ApprovalInstanceState) Type() protoreflect.EnumType {
	return &file_runtime_v1_approvals_proto_enumTypes[1]
}

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

// Deprecated: Use ApprovalInstanceState.Descriptor instead.
func (ApprovalInstanceState) EnumDescriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{1}
}

type ApprovalActionFailureKind int32

const (
	ApprovalActionFailureKind_APPROVAL_ACTION_FAILURE_KIND_UNSPECIFIED ApprovalActionFailureKind = 0
	ApprovalActionFailureKind_APPROVAL_ACTION_FAILURE_KIND_ALERT       ApprovalActionFailureKind = 1
	ApprovalActionFailureKind_APPROVAL_ACTION_FAILURE_KIND_FLOW        ApprovalActionFailureKind = 2
	ApprovalActionFailureKind_APPROVAL_ACTION_FAILURE_KIND_UNSUPPORTED ApprovalActionFailureKind = 3
)

// Enum value maps for ApprovalActionFailureKind.
var (
	ApprovalActionFailureKind_name = map[int32]string{
		0: "APPROVAL_ACTION_FAILURE_KIND_UNSPECIFIED",
		1: "APPROVAL_ACTION_FAILURE_KIND_ALERT",
		2: "APPROVAL_ACTION_FAILURE_KIND_FLOW",
		3: "APPROVAL_ACTION_FAILURE_KIND_UNSUPPORTED",
	}
	ApprovalActionFailureKind_value = map[string]int32{
		"APPROVAL_ACTION_FAILURE_KIND_UNSPECIFIED": 0,
		"APPROVAL_ACTION_FAILURE_KIND_ALERT":       1,
		"APPROVAL_ACTION_FAILURE_KIND_FLOW":        2,
		"APPROVAL_ACTION_FAILURE_KIND_UNSUPPORTED": 3,
	}
)

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

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

func (ApprovalActionFailureKind) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_approvals_proto_enumTypes[2].Descriptor()
}

func (ApprovalActionFailureKind) Type() protoreflect.EnumType {
	return &file_runtime_v1_approvals_proto_enumTypes[2]
}

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

// Deprecated: Use ApprovalActionFailureKind.Descriptor instead.
func (ApprovalActionFailureKind) EnumDescriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{2}
}

type ApprovalActionFailureReason int32

const (
	ApprovalActionFailureReason_APPROVAL_ACTION_FAILURE_REASON_UNSPECIFIED        ApprovalActionFailureReason = 0
	ApprovalActionFailureReason_APPROVAL_ACTION_FAILURE_REASON_UNAVAILABLE        ApprovalActionFailureReason = 1
	ApprovalActionFailureReason_APPROVAL_ACTION_FAILURE_REASON_INVALID_BINDING    ApprovalActionFailureReason = 2
	ApprovalActionFailureReason_APPROVAL_ACTION_FAILURE_REASON_UNSAFE_DEFINITION  ApprovalActionFailureReason = 3
	ApprovalActionFailureReason_APPROVAL_ACTION_FAILURE_REASON_EXECUTION_FAILED   ApprovalActionFailureReason = 4
	ApprovalActionFailureReason_APPROVAL_ACTION_FAILURE_REASON_UNSUPPORTED_ACTION ApprovalActionFailureReason = 5
)

// Enum value maps for ApprovalActionFailureReason.
var (
	ApprovalActionFailureReason_name = map[int32]string{
		0: "APPROVAL_ACTION_FAILURE_REASON_UNSPECIFIED",
		1: "APPROVAL_ACTION_FAILURE_REASON_UNAVAILABLE",
		2: "APPROVAL_ACTION_FAILURE_REASON_INVALID_BINDING",
		3: "APPROVAL_ACTION_FAILURE_REASON_UNSAFE_DEFINITION",
		4: "APPROVAL_ACTION_FAILURE_REASON_EXECUTION_FAILED",
		5: "APPROVAL_ACTION_FAILURE_REASON_UNSUPPORTED_ACTION",
	}
	ApprovalActionFailureReason_value = map[string]int32{
		"APPROVAL_ACTION_FAILURE_REASON_UNSPECIFIED":        0,
		"APPROVAL_ACTION_FAILURE_REASON_UNAVAILABLE":        1,
		"APPROVAL_ACTION_FAILURE_REASON_INVALID_BINDING":    2,
		"APPROVAL_ACTION_FAILURE_REASON_UNSAFE_DEFINITION":  3,
		"APPROVAL_ACTION_FAILURE_REASON_EXECUTION_FAILED":   4,
		"APPROVAL_ACTION_FAILURE_REASON_UNSUPPORTED_ACTION": 5,
	}
)

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

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

func (ApprovalActionFailureReason) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_approvals_proto_enumTypes[3].Descriptor()
}

func (ApprovalActionFailureReason) Type() protoreflect.EnumType {
	return &file_runtime_v1_approvals_proto_enumTypes[3]
}

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

// Deprecated: Use ApprovalActionFailureReason.Descriptor instead.
func (ApprovalActionFailureReason) EnumDescriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{3}
}

type ApprovalSubmitRejectionReason int32

const (
	ApprovalSubmitRejectionReason_APPROVAL_SUBMIT_REJECTION_REASON_UNSPECIFIED              ApprovalSubmitRejectionReason = 0
	ApprovalSubmitRejectionReason_APPROVAL_SUBMIT_REJECTION_REASON_NO_ACTIVE_PROCESS        ApprovalSubmitRejectionReason = 1
	ApprovalSubmitRejectionReason_APPROVAL_SUBMIT_REJECTION_REASON_ENTRY_CRITERIA_NOT_MET   ApprovalSubmitRejectionReason = 2
	ApprovalSubmitRejectionReason_APPROVAL_SUBMIT_REJECTION_REASON_RECORD_VALIDATION_FAILED ApprovalSubmitRejectionReason = 3
)

// Enum value maps for ApprovalSubmitRejectionReason.
var (
	ApprovalSubmitRejectionReason_name = map[int32]string{
		0: "APPROVAL_SUBMIT_REJECTION_REASON_UNSPECIFIED",
		1: "APPROVAL_SUBMIT_REJECTION_REASON_NO_ACTIVE_PROCESS",
		2: "APPROVAL_SUBMIT_REJECTION_REASON_ENTRY_CRITERIA_NOT_MET",
		3: "APPROVAL_SUBMIT_REJECTION_REASON_RECORD_VALIDATION_FAILED",
	}
	ApprovalSubmitRejectionReason_value = map[string]int32{
		"APPROVAL_SUBMIT_REJECTION_REASON_UNSPECIFIED":              0,
		"APPROVAL_SUBMIT_REJECTION_REASON_NO_ACTIVE_PROCESS":        1,
		"APPROVAL_SUBMIT_REJECTION_REASON_ENTRY_CRITERIA_NOT_MET":   2,
		"APPROVAL_SUBMIT_REJECTION_REASON_RECORD_VALIDATION_FAILED": 3,
	}
)

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

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

func (ApprovalSubmitRejectionReason) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_approvals_proto_enumTypes[4].Descriptor()
}

func (ApprovalSubmitRejectionReason) Type() protoreflect.EnumType {
	return &file_runtime_v1_approvals_proto_enumTypes[4]
}

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

// Deprecated: Use ApprovalSubmitRejectionReason.Descriptor instead.
func (ApprovalSubmitRejectionReason) EnumDescriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{4}
}

type ApprovalReadKind int32

const (
	ApprovalReadKind_APPROVAL_READ_KIND_UNSPECIFIED             ApprovalReadKind = 0
	ApprovalReadKind_APPROVAL_READ_KIND_PENDING_FOR_CALLER      ApprovalReadKind = 1
	ApprovalReadKind_APPROVAL_READ_KIND_LATEST_FOR_RECORD       ApprovalReadKind = 2
	ApprovalReadKind_APPROVAL_READ_KIND_STEP_DISPLAY_FOR_RECORD ApprovalReadKind = 3
)

// Enum value maps for ApprovalReadKind.
var (
	ApprovalReadKind_name = map[int32]string{
		0: "APPROVAL_READ_KIND_UNSPECIFIED",
		1: "APPROVAL_READ_KIND_PENDING_FOR_CALLER",
		2: "APPROVAL_READ_KIND_LATEST_FOR_RECORD",
		3: "APPROVAL_READ_KIND_STEP_DISPLAY_FOR_RECORD",
	}
	ApprovalReadKind_value = map[string]int32{
		"APPROVAL_READ_KIND_UNSPECIFIED":             0,
		"APPROVAL_READ_KIND_PENDING_FOR_CALLER":      1,
		"APPROVAL_READ_KIND_LATEST_FOR_RECORD":       2,
		"APPROVAL_READ_KIND_STEP_DISPLAY_FOR_RECORD": 3,
	}
)

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

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

func (ApprovalReadKind) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_approvals_proto_enumTypes[5].Descriptor()
}

func (ApprovalReadKind) Type() protoreflect.EnumType {
	return &file_runtime_v1_approvals_proto_enumTypes[5]
}

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

// Deprecated: Use ApprovalReadKind.Descriptor instead.
func (ApprovalReadKind) EnumDescriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{5}
}

type ApprovalStepNoMatchBehavior int32

const (
	ApprovalStepNoMatchBehavior_APPROVAL_STEP_NO_MATCH_BEHAVIOR_UNSPECIFIED ApprovalStepNoMatchBehavior = 0
	ApprovalStepNoMatchBehavior_APPROVAL_STEP_NO_MATCH_BEHAVIOR_NEXT_STEP   ApprovalStepNoMatchBehavior = 1
	ApprovalStepNoMatchBehavior_APPROVAL_STEP_NO_MATCH_BEHAVIOR_APPROVE     ApprovalStepNoMatchBehavior = 2
	ApprovalStepNoMatchBehavior_APPROVAL_STEP_NO_MATCH_BEHAVIOR_REJECT      ApprovalStepNoMatchBehavior = 3
)

// Enum value maps for ApprovalStepNoMatchBehavior.
var (
	ApprovalStepNoMatchBehavior_name = map[int32]string{
		0: "APPROVAL_STEP_NO_MATCH_BEHAVIOR_UNSPECIFIED",
		1: "APPROVAL_STEP_NO_MATCH_BEHAVIOR_NEXT_STEP",
		2: "APPROVAL_STEP_NO_MATCH_BEHAVIOR_APPROVE",
		3: "APPROVAL_STEP_NO_MATCH_BEHAVIOR_REJECT",
	}
	ApprovalStepNoMatchBehavior_value = map[string]int32{
		"APPROVAL_STEP_NO_MATCH_BEHAVIOR_UNSPECIFIED": 0,
		"APPROVAL_STEP_NO_MATCH_BEHAVIOR_NEXT_STEP":   1,
		"APPROVAL_STEP_NO_MATCH_BEHAVIOR_APPROVE":     2,
		"APPROVAL_STEP_NO_MATCH_BEHAVIOR_REJECT":      3,
	}
)

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

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

func (ApprovalStepNoMatchBehavior) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_approvals_proto_enumTypes[6].Descriptor()
}

func (ApprovalStepNoMatchBehavior) Type() protoreflect.EnumType {
	return &file_runtime_v1_approvals_proto_enumTypes[6]
}

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

// Deprecated: Use ApprovalStepNoMatchBehavior.Descriptor instead.
func (ApprovalStepNoMatchBehavior) EnumDescriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{6}
}

type ExecuteApprovalRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Operation          ApprovalOperation      `protobuf:"varint,1,opt,name=operation,proto3,enum=nexuscrm.runtime.v1.ApprovalOperation" json:"operation,omitempty"`
	IdempotencyKey     string                 `protobuf:"bytes,2,opt,name=idempotency_key,json=idempotencyKey,proto3" json:"idempotency_key,omitempty"`
	ObjectId           string                 `protobuf:"bytes,3,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
	TargetRecordId     string                 `protobuf:"bytes,4,opt,name=target_record_id,json=targetRecordId,proto3" json:"target_record_id,omitempty"`
	WorkItemId         string                 `protobuf:"bytes,5,opt,name=work_item_id,json=workItemId,proto3" json:"work_item_id,omitempty"`
	Comments           string                 `protobuf:"bytes,6,opt,name=comments,proto3" json:"comments,omitempty"`
	NextActorId        string                 `protobuf:"bytes,7,opt,name=next_actor_id,json=nextActorId,proto3" json:"next_actor_id,omitempty"`
	SkipEntryCriteria  bool                   `protobuf:"varint,8,opt,name=skip_entry_criteria,json=skipEntryCriteria,proto3" json:"skip_entry_criteria,omitempty"`
	MinCatalogRevision *uint64                `protobuf:"varint,9,opt,name=min_catalog_revision,json=minCatalogRevision,proto3,oneof" json:"min_catalog_revision,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*ExecuteApprovalRequest) ProtoMessage() {}

func (x *ExecuteApprovalRequest) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_approvals_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 ExecuteApprovalRequest.ProtoReflect.Descriptor instead.
func (*ExecuteApprovalRequest) Descriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{0}
}

func (x *ExecuteApprovalRequest) GetOperation() ApprovalOperation {
	if x != nil {
		return x.Operation
	}
	return ApprovalOperation_APPROVAL_OPERATION_UNSPECIFIED
}

func (x *ExecuteApprovalRequest) GetIdempotencyKey() string {
	if x != nil {
		return x.IdempotencyKey
	}
	return ""
}

func (x *ExecuteApprovalRequest) GetObjectId() string {
	if x != nil {
		return x.ObjectId
	}
	return ""
}

func (x *ExecuteApprovalRequest) GetTargetRecordId() string {
	if x != nil {
		return x.TargetRecordId
	}
	return ""
}

func (x *ExecuteApprovalRequest) GetWorkItemId() string {
	if x != nil {
		return x.WorkItemId
	}
	return ""
}

func (x *ExecuteApprovalRequest) GetComments() string {
	if x != nil {
		return x.Comments
	}
	return ""
}

func (x *ExecuteApprovalRequest) GetNextActorId() string {
	if x != nil {
		return x.NextActorId
	}
	return ""
}

func (x *ExecuteApprovalRequest) GetSkipEntryCriteria() bool {
	if x != nil {
		return x.SkipEntryCriteria
	}
	return false
}

func (x *ExecuteApprovalRequest) GetMinCatalogRevision() uint64 {
	if x != nil && x.MinCatalogRevision != nil {
		return *x.MinCatalogRevision
	}
	return 0
}

type ApprovalWorkItemAssignment struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	WorkItemId    string                 `protobuf:"bytes,1,opt,name=work_item_id,json=workItemId,proto3" json:"work_item_id,omitempty"`
	ActorId       string                 `protobuf:"bytes,2,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ApprovalWorkItemAssignment) ProtoMessage() {}

func (x *ApprovalWorkItemAssignment) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_approvals_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 ApprovalWorkItemAssignment.ProtoReflect.Descriptor instead.
func (*ApprovalWorkItemAssignment) Descriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{1}
}

func (x *ApprovalWorkItemAssignment) GetWorkItemId() string {
	if x != nil {
		return x.WorkItemId
	}
	return ""
}

func (x *ApprovalWorkItemAssignment) GetActorId() string {
	if x != nil {
		return x.ActorId
	}
	return ""
}

type ApprovalActionFailure struct {
	state         protoimpl.MessageState      `protogen:"open.v1"`
	ActionRef     string                      `protobuf:"bytes,1,opt,name=action_ref,json=actionRef,proto3" json:"action_ref,omitempty"`
	Kind          ApprovalActionFailureKind   `protobuf:"varint,2,opt,name=kind,proto3,enum=nexuscrm.runtime.v1.ApprovalActionFailureKind" json:"kind,omitempty"`
	Reason        ApprovalActionFailureReason `protobuf:"varint,3,opt,name=reason,proto3,enum=nexuscrm.runtime.v1.ApprovalActionFailureReason" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ApprovalActionFailure) ProtoMessage() {}

func (x *ApprovalActionFailure) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_approvals_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 ApprovalActionFailure.ProtoReflect.Descriptor instead.
func (*ApprovalActionFailure) Descriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{2}
}

func (x *ApprovalActionFailure) GetActionRef() string {
	if x != nil {
		return x.ActionRef
	}
	return ""
}

func (x *ApprovalActionFailure) GetKind() ApprovalActionFailureKind {
	if x != nil {
		return x.Kind
	}
	return ApprovalActionFailureKind_APPROVAL_ACTION_FAILURE_KIND_UNSPECIFIED
}

func (x *ApprovalActionFailure) GetReason() ApprovalActionFailureReason {
	if x != nil {
		return x.Reason
	}
	return ApprovalActionFailureReason_APPROVAL_ACTION_FAILURE_REASON_UNSPECIFIED
}

// ApprovalValidationIssue carries only metadata-authored, caller-visible rule
// details. Runtime must never construct these fields from arbitrary error text.
type ApprovalValidationIssue struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RuleName      string                 `protobuf:"bytes,1,opt,name=rule_name,json=ruleName,proto3" json:"rule_name,omitempty"`
	Field         string                 `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"`
	Message       string                 `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ApprovalValidationIssue) ProtoMessage() {}

func (x *ApprovalValidationIssue) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_approvals_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 ApprovalValidationIssue.ProtoReflect.Descriptor instead.
func (*ApprovalValidationIssue) Descriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{3}
}

func (x *ApprovalValidationIssue) GetRuleName() string {
	if x != nil {
		return x.RuleName
	}
	return ""
}

func (x *ApprovalValidationIssue) GetField() string {
	if x != nil {
		return x.Field
	}
	return ""
}

func (x *ApprovalValidationIssue) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

type ApprovalSubmitRejection struct {
	state            protoimpl.MessageState        `protogen:"open.v1"`
	Reason           ApprovalSubmitRejectionReason `protobuf:"varint,1,opt,name=reason,proto3,enum=nexuscrm.runtime.v1.ApprovalSubmitRejectionReason" json:"reason,omitempty"`
	ValidationIssues []*ApprovalValidationIssue    `protobuf:"bytes,2,rep,name=validation_issues,json=validationIssues,proto3" json:"validation_issues,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*ApprovalSubmitRejection) ProtoMessage() {}

func (x *ApprovalSubmitRejection) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_approvals_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 ApprovalSubmitRejection.ProtoReflect.Descriptor instead.
func (*ApprovalSubmitRejection) Descriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{4}
}

func (x *ApprovalSubmitRejection) GetReason() ApprovalSubmitRejectionReason {
	if x != nil {
		return x.Reason
	}
	return ApprovalSubmitRejectionReason_APPROVAL_SUBMIT_REJECTION_REASON_UNSPECIFIED
}

func (x *ApprovalSubmitRejection) GetValidationIssues() []*ApprovalValidationIssue {
	if x != nil {
		return x.ValidationIssues
	}
	return nil
}

type ExecuteApprovalResponse struct {
	state            protoimpl.MessageState        `protogen:"open.v1"`
	ExecutionId      string                        `protobuf:"bytes,1,opt,name=execution_id,json=executionId,proto3" json:"execution_id,omitempty"`
	InstanceId       string                        `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
	TargetRecordId   string                        `protobuf:"bytes,3,opt,name=target_record_id,json=targetRecordId,proto3" json:"target_record_id,omitempty"`
	SourceWorkItemId string                        `protobuf:"bytes,4,opt,name=source_work_item_id,json=sourceWorkItemId,proto3" json:"source_work_item_id,omitempty"`
	State            ApprovalInstanceState         `protobuf:"varint,5,opt,name=state,proto3,enum=nexuscrm.runtime.v1.ApprovalInstanceState" json:"state,omitempty"`
	PendingWorkItems []*ApprovalWorkItemAssignment `protobuf:"bytes,6,rep,name=pending_work_items,json=pendingWorkItems,proto3" json:"pending_work_items,omitempty"`
	ActionFailures   []*ApprovalActionFailure      `protobuf:"bytes,7,rep,name=action_failures,json=actionFailures,proto3" json:"action_failures,omitempty"`
	Receipts         *v1.ConsistencyReceipts       `protobuf:"bytes,8,opt,name=receipts,proto3" json:"receipts,omitempty"`
	// Trusted principal that authorized this execution. Optional for N-1
	// Runtime responses; never supplied by the caller as an actor selector.
	ActingPrincipalId string `protobuf:"bytes,9,opt,name=acting_principal_id,json=actingPrincipalId,proto3" json:"acting_principal_id,omitempty"`
	// Present only when Submit was evaluated without creating an instance.
	SubmitRejection *ApprovalSubmitRejection `protobuf:"bytes,10,opt,name=submit_rejection,json=submitRejection,proto3" json:"submit_rejection,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*ExecuteApprovalResponse) ProtoMessage() {}

func (x *ExecuteApprovalResponse) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_approvals_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 ExecuteApprovalResponse.ProtoReflect.Descriptor instead.
func (*ExecuteApprovalResponse) Descriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{5}
}

func (x *ExecuteApprovalResponse) GetExecutionId() string {
	if x != nil {
		return x.ExecutionId
	}
	return ""
}

func (x *ExecuteApprovalResponse) GetInstanceId() string {
	if x != nil {
		return x.InstanceId
	}
	return ""
}

func (x *ExecuteApprovalResponse) GetTargetRecordId() string {
	if x != nil {
		return x.TargetRecordId
	}
	return ""
}

func (x *ExecuteApprovalResponse) GetSourceWorkItemId() string {
	if x != nil {
		return x.SourceWorkItemId
	}
	return ""
}

func (x *ExecuteApprovalResponse) GetState() ApprovalInstanceState {
	if x != nil {
		return x.State
	}
	return ApprovalInstanceState_APPROVAL_INSTANCE_STATE_UNSPECIFIED
}

func (x *ExecuteApprovalResponse) GetPendingWorkItems() []*ApprovalWorkItemAssignment {
	if x != nil {
		return x.PendingWorkItems
	}
	return nil
}

func (x *ExecuteApprovalResponse) GetActionFailures() []*ApprovalActionFailure {
	if x != nil {
		return x.ActionFailures
	}
	return nil
}

func (x *ExecuteApprovalResponse) GetReceipts() *v1.ConsistencyReceipts {
	if x != nil {
		return x.Receipts
	}
	return nil
}

func (x *ExecuteApprovalResponse) GetActingPrincipalId() string {
	if x != nil {
		return x.ActingPrincipalId
	}
	return ""
}

func (x *ExecuteApprovalResponse) GetSubmitRejection() *ApprovalSubmitRejection {
	if x != nil {
		return x.SubmitRejection
	}
	return nil
}

type ReadApprovalRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Kind               ApprovalReadKind       `protobuf:"varint,1,opt,name=kind,proto3,enum=nexuscrm.runtime.v1.ApprovalReadKind" json:"kind,omitempty"`
	TargetRecordId     string                 `protobuf:"bytes,2,opt,name=target_record_id,json=targetRecordId,proto3" json:"target_record_id,omitempty"`
	MinCatalogRevision *uint64                `protobuf:"varint,3,opt,name=min_catalog_revision,json=minCatalogRevision,proto3,oneof" json:"min_catalog_revision,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*ReadApprovalRequest) ProtoMessage() {}

func (x *ReadApprovalRequest) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_approvals_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 ReadApprovalRequest.ProtoReflect.Descriptor instead.
func (*ReadApprovalRequest) Descriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{6}
}

func (x *ReadApprovalRequest) GetKind() ApprovalReadKind {
	if x != nil {
		return x.Kind
	}
	return ApprovalReadKind_APPROVAL_READ_KIND_UNSPECIFIED
}

func (x *ReadApprovalRequest) GetTargetRecordId() string {
	if x != nil {
		return x.TargetRecordId
	}
	return ""
}

func (x *ReadApprovalRequest) GetMinCatalogRevision() uint64 {
	if x != nil && x.MinCatalogRevision != nil {
		return *x.MinCatalogRevision
	}
	return 0
}

type ApprovalPendingItem struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	WorkItemId      string                 `protobuf:"bytes,1,opt,name=work_item_id,json=workItemId,proto3" json:"work_item_id,omitempty"`
	InstanceId      string                 `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
	DefinitionId    string                 `protobuf:"bytes,3,opt,name=definition_id,json=definitionId,proto3" json:"definition_id,omitempty"`
	TargetRecordId  string                 `protobuf:"bytes,4,opt,name=target_record_id,json=targetRecordId,proto3" json:"target_record_id,omitempty"`
	ObjectId        string                 `protobuf:"bytes,5,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
	SubmittedById   string                 `protobuf:"bytes,6,opt,name=submitted_by_id,json=submittedById,proto3" json:"submitted_by_id,omitempty"`
	SubmittedByName string                 `protobuf:"bytes,7,opt,name=submitted_by_name,json=submittedByName,proto3" json:"submitted_by_name,omitempty"`
	SubmittedAt     string                 `protobuf:"bytes,8,opt,name=submitted_at,json=submittedAt,proto3" json:"submitted_at,omitempty"`
	ActorId         string                 `protobuf:"bytes,9,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	OriginalActorId string                 `protobuf:"bytes,10,opt,name=original_actor_id,json=originalActorId,proto3" json:"original_actor_id,omitempty"`
	Comments        string                 `protobuf:"bytes,11,opt,name=comments,proto3" json:"comments,omitempty"`
	RecordName      string                 `protobuf:"bytes,12,opt,name=record_name,json=recordName,proto3" json:"record_name,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*ApprovalPendingItem) ProtoMessage() {}

func (x *ApprovalPendingItem) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_approvals_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 ApprovalPendingItem.ProtoReflect.Descriptor instead.
func (*ApprovalPendingItem) Descriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{7}
}

func (x *ApprovalPendingItem) GetWorkItemId() string {
	if x != nil {
		return x.WorkItemId
	}
	return ""
}

func (x *ApprovalPendingItem) GetInstanceId() string {
	if x != nil {
		return x.InstanceId
	}
	return ""
}

func (x *ApprovalPendingItem) GetDefinitionId() string {
	if x != nil {
		return x.DefinitionId
	}
	return ""
}

func (x *ApprovalPendingItem) GetTargetRecordId() string {
	if x != nil {
		return x.TargetRecordId
	}
	return ""
}

func (x *ApprovalPendingItem) GetObjectId() string {
	if x != nil {
		return x.ObjectId
	}
	return ""
}

func (x *ApprovalPendingItem) GetSubmittedById() string {
	if x != nil {
		return x.SubmittedById
	}
	return ""
}

func (x *ApprovalPendingItem) GetSubmittedByName() string {
	if x != nil {
		return x.SubmittedByName
	}
	return ""
}

func (x *ApprovalPendingItem) GetSubmittedAt() string {
	if x != nil {
		return x.SubmittedAt
	}
	return ""
}

func (x *ApprovalPendingItem) GetActorId() string {
	if x != nil {
		return x.ActorId
	}
	return ""
}

func (x *ApprovalPendingItem) GetOriginalActorId() string {
	if x != nil {
		return x.OriginalActorId
	}
	return ""
}

func (x *ApprovalPendingItem) GetComments() string {
	if x != nil {
		return x.Comments
	}
	return ""
}

func (x *ApprovalPendingItem) GetRecordName() string {
	if x != nil {
		return x.RecordName
	}
	return ""
}

type ApprovalPendingWorkItem struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	WorkItemId        string                 `protobuf:"bytes,1,opt,name=work_item_id,json=workItemId,proto3" json:"work_item_id,omitempty"`
	ActorId           string                 `protobuf:"bytes,2,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	ActorName         string                 `protobuf:"bytes,3,opt,name=actor_name,json=actorName,proto3" json:"actor_name,omitempty"`
	OriginalActorId   string                 `protobuf:"bytes,4,opt,name=original_actor_id,json=originalActorId,proto3" json:"original_actor_id,omitempty"`
	OriginalActorName string                 `protobuf:"bytes,5,opt,name=original_actor_name,json=originalActorName,proto3" json:"original_actor_name,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*ApprovalPendingWorkItem) ProtoMessage() {}

func (x *ApprovalPendingWorkItem) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_approvals_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 ApprovalPendingWorkItem.ProtoReflect.Descriptor instead.
func (*ApprovalPendingWorkItem) Descriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{8}
}

func (x *ApprovalPendingWorkItem) GetWorkItemId() string {
	if x != nil {
		return x.WorkItemId
	}
	return ""
}

func (x *ApprovalPendingWorkItem) GetActorId() string {
	if x != nil {
		return x.ActorId
	}
	return ""
}

func (x *ApprovalPendingWorkItem) GetActorName() string {
	if x != nil {
		return x.ActorName
	}
	return ""
}

func (x *ApprovalPendingWorkItem) GetOriginalActorId() string {
	if x != nil {
		return x.OriginalActorId
	}
	return ""
}

func (x *ApprovalPendingWorkItem) GetOriginalActorName() string {
	if x != nil {
		return x.OriginalActorName
	}
	return ""
}

type ApprovalInstanceSummary struct {
	state            protoimpl.MessageState     `protogen:"open.v1"`
	InstanceId       string                     `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
	DefinitionId     string                     `protobuf:"bytes,2,opt,name=definition_id,json=definitionId,proto3" json:"definition_id,omitempty"`
	TargetRecordId   string                     `protobuf:"bytes,3,opt,name=target_record_id,json=targetRecordId,proto3" json:"target_record_id,omitempty"`
	State            ApprovalInstanceState      `protobuf:"varint,4,opt,name=state,proto3,enum=nexuscrm.runtime.v1.ApprovalInstanceState" json:"state,omitempty"`
	SubmittedById    string                     `protobuf:"bytes,5,opt,name=submitted_by_id,json=submittedById,proto3" json:"submitted_by_id,omitempty"`
	SubmittedByName  string                     `protobuf:"bytes,6,opt,name=submitted_by_name,json=submittedByName,proto3" json:"submitted_by_name,omitempty"`
	CreatedAt        string                     `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	CompletedAt      string                     `protobuf:"bytes,8,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"`
	PendingWorkItems []*ApprovalPendingWorkItem `protobuf:"bytes,9,rep,name=pending_work_items,json=pendingWorkItems,proto3" json:"pending_work_items,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*ApprovalInstanceSummary) ProtoMessage() {}

func (x *ApprovalInstanceSummary) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_approvals_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 ApprovalInstanceSummary.ProtoReflect.Descriptor instead.
func (*ApprovalInstanceSummary) Descriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{9}
}

func (x *ApprovalInstanceSummary) GetInstanceId() string {
	if x != nil {
		return x.InstanceId
	}
	return ""
}

func (x *ApprovalInstanceSummary) GetDefinitionId() string {
	if x != nil {
		return x.DefinitionId
	}
	return ""
}

func (x *ApprovalInstanceSummary) GetTargetRecordId() string {
	if x != nil {
		return x.TargetRecordId
	}
	return ""
}

func (x *ApprovalInstanceSummary) GetState() ApprovalInstanceState {
	if x != nil {
		return x.State
	}
	return ApprovalInstanceState_APPROVAL_INSTANCE_STATE_UNSPECIFIED
}

func (x *ApprovalInstanceSummary) GetSubmittedById() string {
	if x != nil {
		return x.SubmittedById
	}
	return ""
}

func (x *ApprovalInstanceSummary) GetSubmittedByName() string {
	if x != nil {
		return x.SubmittedByName
	}
	return ""
}

func (x *ApprovalInstanceSummary) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *ApprovalInstanceSummary) GetCompletedAt() string {
	if x != nil {
		return x.CompletedAt
	}
	return ""
}

func (x *ApprovalInstanceSummary) GetPendingWorkItems() []*ApprovalPendingWorkItem {
	if x != nil {
		return x.PendingWorkItems
	}
	return nil
}

type ApprovalStepDisplay struct {
	state           protoimpl.MessageState      `protogen:"open.v1"`
	StepId          string                      `protobuf:"bytes,1,opt,name=step_id,json=stepId,proto3" json:"step_id,omitempty"`
	StepOrder       uint32                      `protobuf:"varint,2,opt,name=step_order,json=stepOrder,proto3" json:"step_order,omitempty"`
	StepName        string                      `protobuf:"bytes,3,opt,name=step_name,json=stepName,proto3" json:"step_name,omitempty"`
	StepLabel       string                      `protobuf:"bytes,4,opt,name=step_label,json=stepLabel,proto3" json:"step_label,omitempty"`
	HasCriteria     bool                        `protobuf:"varint,5,opt,name=has_criteria,json=hasCriteria,proto3" json:"has_criteria,omitempty"`
	NoMatchBehavior ApprovalStepNoMatchBehavior `protobuf:"varint,6,opt,name=no_match_behavior,json=noMatchBehavior,proto3,enum=nexuscrm.runtime.v1.ApprovalStepNoMatchBehavior" json:"no_match_behavior,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*ApprovalStepDisplay) ProtoMessage() {}

func (x *ApprovalStepDisplay) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_approvals_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 ApprovalStepDisplay.ProtoReflect.Descriptor instead.
func (*ApprovalStepDisplay) Descriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{10}
}

func (x *ApprovalStepDisplay) GetStepId() string {
	if x != nil {
		return x.StepId
	}
	return ""
}

func (x *ApprovalStepDisplay) GetStepOrder() uint32 {
	if x != nil {
		return x.StepOrder
	}
	return 0
}

func (x *ApprovalStepDisplay) GetStepName() string {
	if x != nil {
		return x.StepName
	}
	return ""
}

func (x *ApprovalStepDisplay) GetStepLabel() string {
	if x != nil {
		return x.StepLabel
	}
	return ""
}

func (x *ApprovalStepDisplay) GetHasCriteria() bool {
	if x != nil {
		return x.HasCriteria
	}
	return false
}

func (x *ApprovalStepDisplay) GetNoMatchBehavior() ApprovalStepNoMatchBehavior {
	if x != nil {
		return x.NoMatchBehavior
	}
	return ApprovalStepNoMatchBehavior_APPROVAL_STEP_NO_MATCH_BEHAVIOR_UNSPECIFIED
}

type ReadApprovalResponse struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Pending       []*ApprovalPendingItem   `protobuf:"bytes,1,rep,name=pending,proto3" json:"pending,omitempty"`
	Latest        *ApprovalInstanceSummary `protobuf:"bytes,2,opt,name=latest,proto3" json:"latest,omitempty"`
	Steps         []*ApprovalStepDisplay   `protobuf:"bytes,3,rep,name=steps,proto3" json:"steps,omitempty"`
	Receipts      *v1.ConsistencyReceipts  `protobuf:"bytes,4,opt,name=receipts,proto3" json:"receipts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReadApprovalResponse) Reset() {
	*x = ReadApprovalResponse{}
	mi := &file_runtime_v1_approvals_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ReadApprovalResponse) ProtoMessage() {}

func (x *ReadApprovalResponse) ProtoReflect() protoreflect.Message {
	mi := &file_runtime_v1_approvals_proto_msgTypes[11]
	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 ReadApprovalResponse.ProtoReflect.Descriptor instead.
func (*ReadApprovalResponse) Descriptor() ([]byte, []int) {
	return file_runtime_v1_approvals_proto_rawDescGZIP(), []int{11}
}

func (x *ReadApprovalResponse) GetPending() []*ApprovalPendingItem {
	if x != nil {
		return x.Pending
	}
	return nil
}

func (x *ReadApprovalResponse) GetLatest() *ApprovalInstanceSummary {
	if x != nil {
		return x.Latest
	}
	return nil
}

func (x *ReadApprovalResponse) GetSteps() []*ApprovalStepDisplay {
	if x != nil {
		return x.Steps
	}
	return nil
}

func (x *ReadApprovalResponse) GetReceipts() *v1.ConsistencyReceipts {
	if x != nil {
		return x.Receipts
	}
	return nil
}

var File_runtime_v1_approvals_proto protoreflect.FileDescriptor

const file_runtime_v1_approvals_proto_rawDesc = "" +
	"\n" +
	"\x1aruntime/v1/approvals.proto\x12\x13nexuscrm.runtime.v1\x1a\x16common/v1/common.proto\"\xb0\x03\n" +
	"\x16ExecuteApprovalRequest\x12D\n" +
	"\toperation\x18\x01 \x01(\x0e2&.nexuscrm.runtime.v1.ApprovalOperationR\toperation\x12'\n" +
	"\x0fidempotency_key\x18\x02 \x01(\tR\x0eidempotencyKey\x12\x1b\n" +
	"\tobject_id\x18\x03 \x01(\tR\bobjectId\x12(\n" +
	"\x10target_record_id\x18\x04 \x01(\tR\x0etargetRecordId\x12 \n" +
	"\fwork_item_id\x18\x05 \x01(\tR\n" +
	"workItemId\x12\x1a\n" +
	"\bcomments\x18\x06 \x01(\tR\bcomments\x12\"\n" +
	"\rnext_actor_id\x18\a \x01(\tR\vnextActorId\x12.\n" +
	"\x13skip_entry_criteria\x18\b \x01(\bR\x11skipEntryCriteria\x125\n" +
	"\x14min_catalog_revision\x18\t \x01(\x04H\x00R\x12minCatalogRevision\x88\x01\x01B\x17\n" +
	"\x15_min_catalog_revision\"Y\n" +
	"\x1aApprovalWorkItemAssignment\x12 \n" +
	"\fwork_item_id\x18\x01 \x01(\tR\n" +
	"workItemId\x12\x19\n" +
	"\bactor_id\x18\x02 \x01(\tR\aactorId\"\xc4\x01\n" +
	"\x15ApprovalActionFailure\x12\x1d\n" +
	"\n" +
	"action_ref\x18\x01 \x01(\tR\tactionRef\x12B\n" +
	"\x04kind\x18\x02 \x01(\x0e2..nexuscrm.runtime.v1.ApprovalActionFailureKindR\x04kind\x12H\n" +
	"\x06reason\x18\x03 \x01(\x0e20.nexuscrm.runtime.v1.ApprovalActionFailureReasonR\x06reason\"f\n" +
	"\x17ApprovalValidationIssue\x12\x1b\n" +
	"\trule_name\x18\x01 \x01(\tR\bruleName\x12\x14\n" +
	"\x05field\x18\x02 \x01(\tR\x05field\x12\x18\n" +
	"\amessage\x18\x03 \x01(\tR\amessage\"\xc0\x01\n" +
	"\x17ApprovalSubmitRejection\x12J\n" +
	"\x06reason\x18\x01 \x01(\x0e22.nexuscrm.runtime.v1.ApprovalSubmitRejectionReasonR\x06reason\x12Y\n" +
	"\x11validation_issues\x18\x02 \x03(\v2,.nexuscrm.runtime.v1.ApprovalValidationIssueR\x10validationIssues\"\xfa\x04\n" +
	"\x17ExecuteApprovalResponse\x12!\n" +
	"\fexecution_id\x18\x01 \x01(\tR\vexecutionId\x12\x1f\n" +
	"\vinstance_id\x18\x02 \x01(\tR\n" +
	"instanceId\x12(\n" +
	"\x10target_record_id\x18\x03 \x01(\tR\x0etargetRecordId\x12-\n" +
	"\x13source_work_item_id\x18\x04 \x01(\tR\x10sourceWorkItemId\x12@\n" +
	"\x05state\x18\x05 \x01(\x0e2*.nexuscrm.runtime.v1.ApprovalInstanceStateR\x05state\x12]\n" +
	"\x12pending_work_items\x18\x06 \x03(\v2/.nexuscrm.runtime.v1.ApprovalWorkItemAssignmentR\x10pendingWorkItems\x12S\n" +
	"\x0faction_failures\x18\a \x03(\v2*.nexuscrm.runtime.v1.ApprovalActionFailureR\x0eactionFailures\x12C\n" +
	"\breceipts\x18\b \x01(\v2'.nexuscrm.common.v1.ConsistencyReceiptsR\breceipts\x12.\n" +
	"\x13acting_principal_id\x18\t \x01(\tR\x11actingPrincipalId\x12W\n" +
	"\x10submit_rejection\x18\n" +
	" \x01(\v2,.nexuscrm.runtime.v1.ApprovalSubmitRejectionR\x0fsubmitRejection\"\xca\x01\n" +
	"\x13ReadApprovalRequest\x129\n" +
	"\x04kind\x18\x01 \x01(\x0e2%.nexuscrm.runtime.v1.ApprovalReadKindR\x04kind\x12(\n" +
	"\x10target_record_id\x18\x02 \x01(\tR\x0etargetRecordId\x125\n" +
	"\x14min_catalog_revision\x18\x03 \x01(\x04H\x00R\x12minCatalogRevision\x88\x01\x01B\x17\n" +
	"\x15_min_catalog_revision\"\xbf\x03\n" +
	"\x13ApprovalPendingItem\x12 \n" +
	"\fwork_item_id\x18\x01 \x01(\tR\n" +
	"workItemId\x12\x1f\n" +
	"\vinstance_id\x18\x02 \x01(\tR\n" +
	"instanceId\x12#\n" +
	"\rdefinition_id\x18\x03 \x01(\tR\fdefinitionId\x12(\n" +
	"\x10target_record_id\x18\x04 \x01(\tR\x0etargetRecordId\x12\x1b\n" +
	"\tobject_id\x18\x05 \x01(\tR\bobjectId\x12&\n" +
	"\x0fsubmitted_by_id\x18\x06 \x01(\tR\rsubmittedById\x12*\n" +
	"\x11submitted_by_name\x18\a \x01(\tR\x0fsubmittedByName\x12!\n" +
	"\fsubmitted_at\x18\b \x01(\tR\vsubmittedAt\x12\x19\n" +
	"\bactor_id\x18\t \x01(\tR\aactorId\x12*\n" +
	"\x11original_actor_id\x18\n" +
	" \x01(\tR\x0foriginalActorId\x12\x1a\n" +
	"\bcomments\x18\v \x01(\tR\bcomments\x12\x1f\n" +
	"\vrecord_name\x18\f \x01(\tR\n" +
	"recordName\"\xd1\x01\n" +
	"\x17ApprovalPendingWorkItem\x12 \n" +
	"\fwork_item_id\x18\x01 \x01(\tR\n" +
	"workItemId\x12\x19\n" +
	"\bactor_id\x18\x02 \x01(\tR\aactorId\x12\x1d\n" +
	"\n" +
	"actor_name\x18\x03 \x01(\tR\tactorName\x12*\n" +
	"\x11original_actor_id\x18\x04 \x01(\tR\x0foriginalActorId\x12.\n" +
	"\x13original_actor_name\x18\x05 \x01(\tR\x11originalActorName\"\xbd\x03\n" +
	"\x17ApprovalInstanceSummary\x12\x1f\n" +
	"\vinstance_id\x18\x01 \x01(\tR\n" +
	"instanceId\x12#\n" +
	"\rdefinition_id\x18\x02 \x01(\tR\fdefinitionId\x12(\n" +
	"\x10target_record_id\x18\x03 \x01(\tR\x0etargetRecordId\x12@\n" +
	"\x05state\x18\x04 \x01(\x0e2*.nexuscrm.runtime.v1.ApprovalInstanceStateR\x05state\x12&\n" +
	"\x0fsubmitted_by_id\x18\x05 \x01(\tR\rsubmittedById\x12*\n" +
	"\x11submitted_by_name\x18\x06 \x01(\tR\x0fsubmittedByName\x12\x1d\n" +
	"\n" +
	"created_at\x18\a \x01(\tR\tcreatedAt\x12!\n" +
	"\fcompleted_at\x18\b \x01(\tR\vcompletedAt\x12Z\n" +
	"\x12pending_work_items\x18\t \x03(\v2,.nexuscrm.runtime.v1.ApprovalPendingWorkItemR\x10pendingWorkItems\"\x8a\x02\n" +
	"\x13ApprovalStepDisplay\x12\x17\n" +
	"\astep_id\x18\x01 \x01(\tR\x06stepId\x12\x1d\n" +
	"\n" +
	"step_order\x18\x02 \x01(\rR\tstepOrder\x12\x1b\n" +
	"\tstep_name\x18\x03 \x01(\tR\bstepName\x12\x1d\n" +
	"\n" +
	"step_label\x18\x04 \x01(\tR\tstepLabel\x12!\n" +
	"\fhas_criteria\x18\x05 \x01(\bR\vhasCriteria\x12\\\n" +
	"\x11no_match_behavior\x18\x06 \x01(\x0e20.nexuscrm.runtime.v1.ApprovalStepNoMatchBehaviorR\x0fnoMatchBehavior\"\xa5\x02\n" +
	"\x14ReadApprovalResponse\x12B\n" +
	"\apending\x18\x01 \x03(\v2(.nexuscrm.runtime.v1.ApprovalPendingItemR\apending\x12D\n" +
	"\x06latest\x18\x02 \x01(\v2,.nexuscrm.runtime.v1.ApprovalInstanceSummaryR\x06latest\x12>\n" +
	"\x05steps\x18\x03 \x03(\v2(.nexuscrm.runtime.v1.ApprovalStepDisplayR\x05steps\x12C\n" +
	"\breceipts\x18\x04 \x01(\v2'.nexuscrm.common.v1.ConsistencyReceiptsR\breceipts*\xd5\x01\n" +
	"\x11ApprovalOperation\x12\"\n" +
	"\x1eAPPROVAL_OPERATION_UNSPECIFIED\x10\x00\x12\x1d\n" +
	"\x19APPROVAL_OPERATION_SUBMIT\x10\x01\x12\x1e\n" +
	"\x1aAPPROVAL_OPERATION_APPROVE\x10\x02\x12\x1d\n" +
	"\x19APPROVAL_OPERATION_REJECT\x10\x03\x12\x1d\n" +
	"\x19APPROVAL_OPERATION_RECALL\x10\x04\x12\x1f\n" +
	"\x1bAPPROVAL_OPERATION_REASSIGN\x10\x05*\xd8\x01\n" +
	"\x15ApprovalInstanceState\x12'\n" +
	"#APPROVAL_INSTANCE_STATE_UNSPECIFIED\x10\x00\x12#\n" +
	"\x1fAPPROVAL_INSTANCE_STATE_PENDING\x10\x01\x12$\n" +
	" APPROVAL_INSTANCE_STATE_APPROVED\x10\x02\x12$\n" +
	" APPROVAL_INSTANCE_STATE_REJECTED\x10\x03\x12%\n" +
	"!APPROVAL_INSTANCE_STATE_WITHDRAWN\x10\x04*\xc6\x01\n" +
	"\x19ApprovalActionFailureKind\x12,\n" +
	"(APPROVAL_ACTION_FAILURE_KIND_UNSPECIFIED\x10\x00\x12&\n" +
	"\"APPROVAL_ACTION_FAILURE_KIND_ALERT\x10\x01\x12%\n" +
	"!APPROVAL_ACTION_FAILURE_KIND_FLOW\x10\x02\x12,\n" +
	"(APPROVAL_ACTION_FAILURE_KIND_UNSUPPORTED\x10\x03*\xd3\x02\n" +
	"\x1bApprovalActionFailureReason\x12.\n" +
	"*APPROVAL_ACTION_FAILURE_REASON_UNSPECIFIED\x10\x00\x12.\n" +
	"*APPROVAL_ACTION_FAILURE_REASON_UNAVAILABLE\x10\x01\x122\n" +
	".APPROVAL_ACTION_FAILURE_REASON_INVALID_BINDING\x10\x02\x124\n" +
	"0APPROVAL_ACTION_FAILURE_REASON_UNSAFE_DEFINITION\x10\x03\x123\n" +
	"/APPROVAL_ACTION_FAILURE_REASON_EXECUTION_FAILED\x10\x04\x125\n" +
	"1APPROVAL_ACTION_FAILURE_REASON_UNSUPPORTED_ACTION\x10\x05*\x85\x02\n" +
	"\x1dApprovalSubmitRejectionReason\x120\n" +
	",APPROVAL_SUBMIT_REJECTION_REASON_UNSPECIFIED\x10\x00\x126\n" +
	"2APPROVAL_SUBMIT_REJECTION_REASON_NO_ACTIVE_PROCESS\x10\x01\x12;\n" +
	"7APPROVAL_SUBMIT_REJECTION_REASON_ENTRY_CRITERIA_NOT_MET\x10\x02\x12=\n" +
	"9APPROVAL_SUBMIT_REJECTION_REASON_RECORD_VALIDATION_FAILED\x10\x03*\xbb\x01\n" +
	"\x10ApprovalReadKind\x12\"\n" +
	"\x1eAPPROVAL_READ_KIND_UNSPECIFIED\x10\x00\x12)\n" +
	"%APPROVAL_READ_KIND_PENDING_FOR_CALLER\x10\x01\x12(\n" +
	"$APPROVAL_READ_KIND_LATEST_FOR_RECORD\x10\x02\x12.\n" +
	"*APPROVAL_READ_KIND_STEP_DISPLAY_FOR_RECORD\x10\x03*\xd6\x01\n" +
	"\x1bApprovalStepNoMatchBehavior\x12/\n" +
	"+APPROVAL_STEP_NO_MATCH_BEHAVIOR_UNSPECIFIED\x10\x00\x12-\n" +
	")APPROVAL_STEP_NO_MATCH_BEHAVIOR_NEXT_STEP\x10\x01\x12+\n" +
	"'APPROVAL_STEP_NO_MATCH_BEHAVIOR_APPROVE\x10\x02\x12*\n" +
	"&APPROVAL_STEP_NO_MATCH_BEHAVIOR_REJECT\x10\x032\xe4\x01\n" +
	"\x0fApprovalService\x12l\n" +
	"\x0fExecuteApproval\x12+.nexuscrm.runtime.v1.ExecuteApprovalRequest\x1a,.nexuscrm.runtime.v1.ExecuteApprovalResponse\x12c\n" +
	"\fReadApproval\x12(.nexuscrm.runtime.v1.ReadApprovalRequest\x1a).nexuscrm.runtime.v1.ReadApprovalResponseBKZIgithub.com/pingcap-inc/nexuscrm-contract/wire-go/gen/runtime/v1;runtimev1b\x06proto3"

var (
	file_runtime_v1_approvals_proto_rawDescOnce sync.Once
	file_runtime_v1_approvals_proto_rawDescData []byte
)

func file_runtime_v1_approvals_proto_rawDescGZIP() []byte {
	file_runtime_v1_approvals_proto_rawDescOnce.Do(func() {
		file_runtime_v1_approvals_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_runtime_v1_approvals_proto_rawDesc), len(file_runtime_v1_approvals_proto_rawDesc)))
	})
	return file_runtime_v1_approvals_proto_rawDescData
}

var file_runtime_v1_approvals_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
var file_runtime_v1_approvals_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_runtime_v1_approvals_proto_goTypes = []any{
	(ApprovalOperation)(0),             // 0: nexuscrm.runtime.v1.ApprovalOperation
	(ApprovalInstanceState)(0),         // 1: nexuscrm.runtime.v1.ApprovalInstanceState
	(ApprovalActionFailureKind)(0),     // 2: nexuscrm.runtime.v1.ApprovalActionFailureKind
	(ApprovalActionFailureReason)(0),   // 3: nexuscrm.runtime.v1.ApprovalActionFailureReason
	(ApprovalSubmitRejectionReason)(0), // 4: nexuscrm.runtime.v1.ApprovalSubmitRejectionReason
	(ApprovalReadKind)(0),              // 5: nexuscrm.runtime.v1.ApprovalReadKind
	(ApprovalStepNoMatchBehavior)(0),   // 6: nexuscrm.runtime.v1.ApprovalStepNoMatchBehavior
	(*ExecuteApprovalRequest)(nil),     // 7: nexuscrm.runtime.v1.ExecuteApprovalRequest
	(*ApprovalWorkItemAssignment)(nil), // 8: nexuscrm.runtime.v1.ApprovalWorkItemAssignment
	(*ApprovalActionFailure)(nil),      // 9: nexuscrm.runtime.v1.ApprovalActionFailure
	(*ApprovalValidationIssue)(nil),    // 10: nexuscrm.runtime.v1.ApprovalValidationIssue
	(*ApprovalSubmitRejection)(nil),    // 11: nexuscrm.runtime.v1.ApprovalSubmitRejection
	(*ExecuteApprovalResponse)(nil),    // 12: nexuscrm.runtime.v1.ExecuteApprovalResponse
	(*ReadApprovalRequest)(nil),        // 13: nexuscrm.runtime.v1.ReadApprovalRequest
	(*ApprovalPendingItem)(nil),        // 14: nexuscrm.runtime.v1.ApprovalPendingItem
	(*ApprovalPendingWorkItem)(nil),    // 15: nexuscrm.runtime.v1.ApprovalPendingWorkItem
	(*ApprovalInstanceSummary)(nil),    // 16: nexuscrm.runtime.v1.ApprovalInstanceSummary
	(*ApprovalStepDisplay)(nil),        // 17: nexuscrm.runtime.v1.ApprovalStepDisplay
	(*ReadApprovalResponse)(nil),       // 18: nexuscrm.runtime.v1.ReadApprovalResponse
	(*v1.ConsistencyReceipts)(nil),     // 19: nexuscrm.common.v1.ConsistencyReceipts
}
var file_runtime_v1_approvals_proto_depIdxs = []int32{
	0,  // 0: nexuscrm.runtime.v1.ExecuteApprovalRequest.operation:type_name -> nexuscrm.runtime.v1.ApprovalOperation
	2,  // 1: nexuscrm.runtime.v1.ApprovalActionFailure.kind:type_name -> nexuscrm.runtime.v1.ApprovalActionFailureKind
	3,  // 2: nexuscrm.runtime.v1.ApprovalActionFailure.reason:type_name -> nexuscrm.runtime.v1.ApprovalActionFailureReason
	4,  // 3: nexuscrm.runtime.v1.ApprovalSubmitRejection.reason:type_name -> nexuscrm.runtime.v1.ApprovalSubmitRejectionReason
	10, // 4: nexuscrm.runtime.v1.ApprovalSubmitRejection.validation_issues:type_name -> nexuscrm.runtime.v1.ApprovalValidationIssue
	1,  // 5: nexuscrm.runtime.v1.ExecuteApprovalResponse.state:type_name -> nexuscrm.runtime.v1.ApprovalInstanceState
	8,  // 6: nexuscrm.runtime.v1.ExecuteApprovalResponse.pending_work_items:type_name -> nexuscrm.runtime.v1.ApprovalWorkItemAssignment
	9,  // 7: nexuscrm.runtime.v1.ExecuteApprovalResponse.action_failures:type_name -> nexuscrm.runtime.v1.ApprovalActionFailure
	19, // 8: nexuscrm.runtime.v1.ExecuteApprovalResponse.receipts:type_name -> nexuscrm.common.v1.ConsistencyReceipts
	11, // 9: nexuscrm.runtime.v1.ExecuteApprovalResponse.submit_rejection:type_name -> nexuscrm.runtime.v1.ApprovalSubmitRejection
	5,  // 10: nexuscrm.runtime.v1.ReadApprovalRequest.kind:type_name -> nexuscrm.runtime.v1.ApprovalReadKind
	1,  // 11: nexuscrm.runtime.v1.ApprovalInstanceSummary.state:type_name -> nexuscrm.runtime.v1.ApprovalInstanceState
	15, // 12: nexuscrm.runtime.v1.ApprovalInstanceSummary.pending_work_items:type_name -> nexuscrm.runtime.v1.ApprovalPendingWorkItem
	6,  // 13: nexuscrm.runtime.v1.ApprovalStepDisplay.no_match_behavior:type_name -> nexuscrm.runtime.v1.ApprovalStepNoMatchBehavior
	14, // 14: nexuscrm.runtime.v1.ReadApprovalResponse.pending:type_name -> nexuscrm.runtime.v1.ApprovalPendingItem
	16, // 15: nexuscrm.runtime.v1.ReadApprovalResponse.latest:type_name -> nexuscrm.runtime.v1.ApprovalInstanceSummary
	17, // 16: nexuscrm.runtime.v1.ReadApprovalResponse.steps:type_name -> nexuscrm.runtime.v1.ApprovalStepDisplay
	19, // 17: nexuscrm.runtime.v1.ReadApprovalResponse.receipts:type_name -> nexuscrm.common.v1.ConsistencyReceipts
	7,  // 18: nexuscrm.runtime.v1.ApprovalService.ExecuteApproval:input_type -> nexuscrm.runtime.v1.ExecuteApprovalRequest
	13, // 19: nexuscrm.runtime.v1.ApprovalService.ReadApproval:input_type -> nexuscrm.runtime.v1.ReadApprovalRequest
	12, // 20: nexuscrm.runtime.v1.ApprovalService.ExecuteApproval:output_type -> nexuscrm.runtime.v1.ExecuteApprovalResponse
	18, // 21: nexuscrm.runtime.v1.ApprovalService.ReadApproval:output_type -> nexuscrm.runtime.v1.ReadApprovalResponse
	20, // [20:22] is the sub-list for method output_type
	18, // [18:20] is the sub-list for method input_type
	18, // [18:18] is the sub-list for extension type_name
	18, // [18:18] is the sub-list for extension extendee
	0,  // [0:18] is the sub-list for field type_name
}

func init() { file_runtime_v1_approvals_proto_init() }
func file_runtime_v1_approvals_proto_init() {
	if File_runtime_v1_approvals_proto != nil {
		return
	}
	file_runtime_v1_approvals_proto_msgTypes[0].OneofWrappers = []any{}
	file_runtime_v1_approvals_proto_msgTypes[6].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_runtime_v1_approvals_proto_rawDesc), len(file_runtime_v1_approvals_proto_rawDesc)),
			NumEnums:      7,
			NumMessages:   12,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_runtime_v1_approvals_proto_goTypes,
		DependencyIndexes: file_runtime_v1_approvals_proto_depIdxs,
		EnumInfos:         file_runtime_v1_approvals_proto_enumTypes,
		MessageInfos:      file_runtime_v1_approvals_proto_msgTypes,
	}.Build()
	File_runtime_v1_approvals_proto = out.File
	file_runtime_v1_approvals_proto_goTypes = nil
	file_runtime_v1_approvals_proto_depIdxs = nil
}
