// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        (unknown)
// source: runtime/v1/mutations.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 MutationBatchMode int32

const (
	MutationBatchMode_MUTATION_BATCH_MODE_UNSPECIFIED MutationBatchMode = 0
	MutationBatchMode_MUTATION_BATCH_MODE_INDEPENDENT MutationBatchMode = 1
	MutationBatchMode_MUTATION_BATCH_MODE_ATOMIC      MutationBatchMode = 2
)

// Enum value maps for MutationBatchMode.
var (
	MutationBatchMode_name = map[int32]string{
		0: "MUTATION_BATCH_MODE_UNSPECIFIED",
		1: "MUTATION_BATCH_MODE_INDEPENDENT",
		2: "MUTATION_BATCH_MODE_ATOMIC",
	}
	MutationBatchMode_value = map[string]int32{
		"MUTATION_BATCH_MODE_UNSPECIFIED": 0,
		"MUTATION_BATCH_MODE_INDEPENDENT": 1,
		"MUTATION_BATCH_MODE_ATOMIC":      2,
	}
)

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

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

func (MutationBatchMode) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_mutations_proto_enumTypes[0].Descriptor()
}

func (MutationBatchMode) Type() protoreflect.EnumType {
	return &file_runtime_v1_mutations_proto_enumTypes[0]
}

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

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

// Identifies the public mutation family whose Catalog-authored policy Runtime
// interprets. It is independent of transaction grouping. UNSPECIFIED exists
// only for N-1 compatibility and must be evaluated conservatively.
type MutationUseCase int32

const (
	MutationUseCase_MUTATION_USE_CASE_UNSPECIFIED   MutationUseCase = 0
	MutationUseCase_MUTATION_USE_CASE_SINGLE_RECORD MutationUseCase = 1
	MutationUseCase_MUTATION_USE_CASE_COLLECTION    MutationUseCase = 2
)

// Enum value maps for MutationUseCase.
var (
	MutationUseCase_name = map[int32]string{
		0: "MUTATION_USE_CASE_UNSPECIFIED",
		1: "MUTATION_USE_CASE_SINGLE_RECORD",
		2: "MUTATION_USE_CASE_COLLECTION",
	}
	MutationUseCase_value = map[string]int32{
		"MUTATION_USE_CASE_UNSPECIFIED":   0,
		"MUTATION_USE_CASE_SINGLE_RECORD": 1,
		"MUTATION_USE_CASE_COLLECTION":    2,
	}
)

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

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

func (MutationUseCase) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_mutations_proto_enumTypes[1].Descriptor()
}

func (MutationUseCase) Type() protoreflect.EnumType {
	return &file_runtime_v1_mutations_proto_enumTypes[1]
}

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

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

type MutationOperationKind int32

const (
	MutationOperationKind_MUTATION_OPERATION_KIND_UNSPECIFIED MutationOperationKind = 0
	MutationOperationKind_MUTATION_OPERATION_KIND_CREATE      MutationOperationKind = 1
	MutationOperationKind_MUTATION_OPERATION_KIND_UPDATE      MutationOperationKind = 2
	MutationOperationKind_MUTATION_OPERATION_KIND_DELETE      MutationOperationKind = 3
	MutationOperationKind_MUTATION_OPERATION_KIND_UPSERT      MutationOperationKind = 4
)

// Enum value maps for MutationOperationKind.
var (
	MutationOperationKind_name = map[int32]string{
		0: "MUTATION_OPERATION_KIND_UNSPECIFIED",
		1: "MUTATION_OPERATION_KIND_CREATE",
		2: "MUTATION_OPERATION_KIND_UPDATE",
		3: "MUTATION_OPERATION_KIND_DELETE",
		4: "MUTATION_OPERATION_KIND_UPSERT",
	}
	MutationOperationKind_value = map[string]int32{
		"MUTATION_OPERATION_KIND_UNSPECIFIED": 0,
		"MUTATION_OPERATION_KIND_CREATE":      1,
		"MUTATION_OPERATION_KIND_UPDATE":      2,
		"MUTATION_OPERATION_KIND_DELETE":      3,
		"MUTATION_OPERATION_KIND_UPSERT":      4,
	}
)

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

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

func (MutationOperationKind) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_mutations_proto_enumTypes[2].Descriptor()
}

func (MutationOperationKind) Type() protoreflect.EnumType {
	return &file_runtime_v1_mutations_proto_enumTypes[2]
}

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

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

type MutationValueKind int32

const (
	MutationValueKind_MUTATION_VALUE_KIND_UNSPECIFIED MutationValueKind = 0
	MutationValueKind_MUTATION_VALUE_KIND_STRING      MutationValueKind = 1
	MutationValueKind_MUTATION_VALUE_KIND_BOOLEAN     MutationValueKind = 2
	MutationValueKind_MUTATION_VALUE_KIND_INTEGER     MutationValueKind = 3
	MutationValueKind_MUTATION_VALUE_KIND_DECIMAL     MutationValueKind = 4
	MutationValueKind_MUTATION_VALUE_KIND_DATE        MutationValueKind = 5
	MutationValueKind_MUTATION_VALUE_KIND_DATETIME    MutationValueKind = 6
	MutationValueKind_MUTATION_VALUE_KIND_REFERENCE   MutationValueKind = 7
	MutationValueKind_MUTATION_VALUE_KIND_NULL        MutationValueKind = 8
	// Lossless caller JSON carriers. Runtime resolves their Catalog field type.
	MutationValueKind_MUTATION_VALUE_KIND_NUMBER MutationValueKind = 9
	MutationValueKind_MUTATION_VALUE_KIND_JSON   MutationValueKind = 10
)

// Enum value maps for MutationValueKind.
var (
	MutationValueKind_name = map[int32]string{
		0:  "MUTATION_VALUE_KIND_UNSPECIFIED",
		1:  "MUTATION_VALUE_KIND_STRING",
		2:  "MUTATION_VALUE_KIND_BOOLEAN",
		3:  "MUTATION_VALUE_KIND_INTEGER",
		4:  "MUTATION_VALUE_KIND_DECIMAL",
		5:  "MUTATION_VALUE_KIND_DATE",
		6:  "MUTATION_VALUE_KIND_DATETIME",
		7:  "MUTATION_VALUE_KIND_REFERENCE",
		8:  "MUTATION_VALUE_KIND_NULL",
		9:  "MUTATION_VALUE_KIND_NUMBER",
		10: "MUTATION_VALUE_KIND_JSON",
	}
	MutationValueKind_value = map[string]int32{
		"MUTATION_VALUE_KIND_UNSPECIFIED": 0,
		"MUTATION_VALUE_KIND_STRING":      1,
		"MUTATION_VALUE_KIND_BOOLEAN":     2,
		"MUTATION_VALUE_KIND_INTEGER":     3,
		"MUTATION_VALUE_KIND_DECIMAL":     4,
		"MUTATION_VALUE_KIND_DATE":        5,
		"MUTATION_VALUE_KIND_DATETIME":    6,
		"MUTATION_VALUE_KIND_REFERENCE":   7,
		"MUTATION_VALUE_KIND_NULL":        8,
		"MUTATION_VALUE_KIND_NUMBER":      9,
		"MUTATION_VALUE_KIND_JSON":        10,
	}
)

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

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

func (MutationValueKind) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_mutations_proto_enumTypes[3].Descriptor()
}

func (MutationValueKind) Type() protoreflect.EnumType {
	return &file_runtime_v1_mutations_proto_enumTypes[3]
}

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

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

type MutationErrorKind int32

const (
	MutationErrorKind_MUTATION_ERROR_KIND_UNSPECIFIED                  MutationErrorKind = 0
	MutationErrorKind_MUTATION_ERROR_KIND_PROCESSING_HALTED            MutationErrorKind = 1
	MutationErrorKind_MUTATION_ERROR_KIND_ATOMIC_OPERATION_ROLLED_BACK MutationErrorKind = 2
	MutationErrorKind_MUTATION_ERROR_KIND_INTERNAL                     MutationErrorKind = 3
	MutationErrorKind_MUTATION_ERROR_KIND_INVALID_FIELD_FOR_WRITE      MutationErrorKind = 4
	MutationErrorKind_MUTATION_ERROR_KIND_CUSTOM_VALIDATION            MutationErrorKind = 5
	MutationErrorKind_MUTATION_ERROR_KIND_INVALID_REFERENCE            MutationErrorKind = 6
	MutationErrorKind_MUTATION_ERROR_KIND_FIELD_INTEGRITY              MutationErrorKind = 7
	MutationErrorKind_MUTATION_ERROR_KIND_INVALID_OPERATION            MutationErrorKind = 8
	MutationErrorKind_MUTATION_ERROR_KIND_INVALID_FIELD                MutationErrorKind = 9
	MutationErrorKind_MUTATION_ERROR_KIND_MISSING_OR_DENIED            MutationErrorKind = 10
	MutationErrorKind_MUTATION_ERROR_KIND_MALFORMED_IDENTIFIER         MutationErrorKind = 11
	MutationErrorKind_MUTATION_ERROR_KIND_INVALID_IDENTIFIER           MutationErrorKind = 12
	MutationErrorKind_MUTATION_ERROR_KIND_AUTOMATION                   MutationErrorKind = 13
	// Object CRUD or field-write denial for this operation. Record existence
	// and RLS denial remain masked together as MISSING_OR_DENIED.
	MutationErrorKind_MUTATION_ERROR_KIND_ACCESS_DENIED MutationErrorKind = 14
	// Catalog-authored mutation policy denied this operation.
	MutationErrorKind_MUTATION_ERROR_KIND_POLICY_DENIED MutationErrorKind = 15
	// Canonical Catalog fields missing from a create caller obligation.
	MutationErrorKind_MUTATION_ERROR_KIND_REQUIRED_FIELD_MISSING MutationErrorKind = 16
	// The operation names an object absent from the one request-bound Catalog
	// revision. This is a command preflight cause, not record-existence masking.
	MutationErrorKind_MUTATION_ERROR_KIND_OBJECT_NOT_FOUND MutationErrorKind = 17
)

// Enum value maps for MutationErrorKind.
var (
	MutationErrorKind_name = map[int32]string{
		0:  "MUTATION_ERROR_KIND_UNSPECIFIED",
		1:  "MUTATION_ERROR_KIND_PROCESSING_HALTED",
		2:  "MUTATION_ERROR_KIND_ATOMIC_OPERATION_ROLLED_BACK",
		3:  "MUTATION_ERROR_KIND_INTERNAL",
		4:  "MUTATION_ERROR_KIND_INVALID_FIELD_FOR_WRITE",
		5:  "MUTATION_ERROR_KIND_CUSTOM_VALIDATION",
		6:  "MUTATION_ERROR_KIND_INVALID_REFERENCE",
		7:  "MUTATION_ERROR_KIND_FIELD_INTEGRITY",
		8:  "MUTATION_ERROR_KIND_INVALID_OPERATION",
		9:  "MUTATION_ERROR_KIND_INVALID_FIELD",
		10: "MUTATION_ERROR_KIND_MISSING_OR_DENIED",
		11: "MUTATION_ERROR_KIND_MALFORMED_IDENTIFIER",
		12: "MUTATION_ERROR_KIND_INVALID_IDENTIFIER",
		13: "MUTATION_ERROR_KIND_AUTOMATION",
		14: "MUTATION_ERROR_KIND_ACCESS_DENIED",
		15: "MUTATION_ERROR_KIND_POLICY_DENIED",
		16: "MUTATION_ERROR_KIND_REQUIRED_FIELD_MISSING",
		17: "MUTATION_ERROR_KIND_OBJECT_NOT_FOUND",
	}
	MutationErrorKind_value = map[string]int32{
		"MUTATION_ERROR_KIND_UNSPECIFIED":                  0,
		"MUTATION_ERROR_KIND_PROCESSING_HALTED":            1,
		"MUTATION_ERROR_KIND_ATOMIC_OPERATION_ROLLED_BACK": 2,
		"MUTATION_ERROR_KIND_INTERNAL":                     3,
		"MUTATION_ERROR_KIND_INVALID_FIELD_FOR_WRITE":      4,
		"MUTATION_ERROR_KIND_CUSTOM_VALIDATION":            5,
		"MUTATION_ERROR_KIND_INVALID_REFERENCE":            6,
		"MUTATION_ERROR_KIND_FIELD_INTEGRITY":              7,
		"MUTATION_ERROR_KIND_INVALID_OPERATION":            8,
		"MUTATION_ERROR_KIND_INVALID_FIELD":                9,
		"MUTATION_ERROR_KIND_MISSING_OR_DENIED":            10,
		"MUTATION_ERROR_KIND_MALFORMED_IDENTIFIER":         11,
		"MUTATION_ERROR_KIND_INVALID_IDENTIFIER":           12,
		"MUTATION_ERROR_KIND_AUTOMATION":                   13,
		"MUTATION_ERROR_KIND_ACCESS_DENIED":                14,
		"MUTATION_ERROR_KIND_POLICY_DENIED":                15,
		"MUTATION_ERROR_KIND_REQUIRED_FIELD_MISSING":       16,
		"MUTATION_ERROR_KIND_OBJECT_NOT_FOUND":             17,
	}
)

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

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

func (MutationErrorKind) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_mutations_proto_enumTypes[4].Descriptor()
}

func (MutationErrorKind) Type() protoreflect.EnumType {
	return &file_runtime_v1_mutations_proto_enumTypes[4]
}

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

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

type MutationCommandState int32

const (
	MutationCommandState_MUTATION_COMMAND_STATE_UNSPECIFIED MutationCommandState = 0
	MutationCommandState_MUTATION_COMMAND_STATE_ACCEPTED    MutationCommandState = 1
	MutationCommandState_MUTATION_COMMAND_STATE_EXECUTING   MutationCommandState = 2
	MutationCommandState_MUTATION_COMMAND_STATE_COMPLETED   MutationCommandState = 3
)

// Enum value maps for MutationCommandState.
var (
	MutationCommandState_name = map[int32]string{
		0: "MUTATION_COMMAND_STATE_UNSPECIFIED",
		1: "MUTATION_COMMAND_STATE_ACCEPTED",
		2: "MUTATION_COMMAND_STATE_EXECUTING",
		3: "MUTATION_COMMAND_STATE_COMPLETED",
	}
	MutationCommandState_value = map[string]int32{
		"MUTATION_COMMAND_STATE_UNSPECIFIED": 0,
		"MUTATION_COMMAND_STATE_ACCEPTED":    1,
		"MUTATION_COMMAND_STATE_EXECUTING":   2,
		"MUTATION_COMMAND_STATE_COMPLETED":   3,
	}
)

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

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

func (MutationCommandState) Descriptor() protoreflect.EnumDescriptor {
	return file_runtime_v1_mutations_proto_enumTypes[5].Descriptor()
}

func (MutationCommandState) Type() protoreflect.EnumType {
	return &file_runtime_v1_mutations_proto_enumTypes[5]
}

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

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

type MutationCommandHeader struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	EncodedCommandBytes uint64                 `protobuf:"varint,2,opt,name=encoded_command_bytes,json=encodedCommandBytes,proto3" json:"encoded_command_bytes,omitempty"`
	EncodedSha256       []byte                 `protobuf:"bytes,3,opt,name=encoded_sha256,json=encodedSha256,proto3" json:"encoded_sha256,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*MutationCommandHeader) ProtoMessage() {}

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

func (x *MutationCommandHeader) GetEncodedCommandBytes() uint64 {
	if x != nil {
		return x.EncodedCommandBytes
	}
	return 0
}

func (x *MutationCommandHeader) GetEncodedSha256() []byte {
	if x != nil {
		return x.EncodedSha256
	}
	return nil
}

type MutationCommandChunk struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          []byte                 `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MutationCommandChunk) ProtoMessage() {}

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

func (x *MutationCommandChunk) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

type MutateRecordsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Frame:
	//
	//	*MutateRecordsRequest_Header
	//	*MutateRecordsRequest_Chunk
	Frame         isMutateRecordsRequest_Frame `protobuf_oneof:"frame"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MutateRecordsRequest) ProtoMessage() {}

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

func (x *MutateRecordsRequest) GetFrame() isMutateRecordsRequest_Frame {
	if x != nil {
		return x.Frame
	}
	return nil
}

func (x *MutateRecordsRequest) GetHeader() *MutationCommandHeader {
	if x != nil {
		if x, ok := x.Frame.(*MutateRecordsRequest_Header); ok {
			return x.Header
		}
	}
	return nil
}

func (x *MutateRecordsRequest) GetChunk() *MutationCommandChunk {
	if x != nil {
		if x, ok := x.Frame.(*MutateRecordsRequest_Chunk); ok {
			return x.Chunk
		}
	}
	return nil
}

type isMutateRecordsRequest_Frame interface {
	isMutateRecordsRequest_Frame()
}

type MutateRecordsRequest_Header struct {
	Header *MutationCommandHeader `protobuf:"bytes,1,opt,name=header,proto3,oneof"`
}

type MutateRecordsRequest_Chunk struct {
	Chunk *MutationCommandChunk `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"`
}

func (*MutateRecordsRequest_Header) isMutateRecordsRequest_Frame() {}

func (*MutateRecordsRequest_Chunk) isMutateRecordsRequest_Frame() {}

type MutationDecimalValue struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Coefficient   string                 `protobuf:"bytes,1,opt,name=coefficient,proto3" json:"coefficient,omitempty"`
	Scale         uint32                 `protobuf:"varint,2,opt,name=scale,proto3" json:"scale,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MutationDecimalValue) ProtoMessage() {}

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

func (x *MutationDecimalValue) GetCoefficient() string {
	if x != nil {
		return x.Coefficient
	}
	return ""
}

func (x *MutationDecimalValue) GetScale() uint32 {
	if x != nil {
		return x.Scale
	}
	return 0
}

type MutationDateValue struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CalendarDate  string                 `protobuf:"bytes,1,opt,name=calendar_date,json=calendarDate,proto3" json:"calendar_date,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MutationDateValue) ProtoMessage() {}

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

func (x *MutationDateValue) GetCalendarDate() string {
	if x != nil {
		return x.CalendarDate
	}
	return ""
}

type MutationDateTimeValue struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UtcRfc3339    string                 `protobuf:"bytes,1,opt,name=utc_rfc3339,json=utcRfc3339,proto3" json:"utc_rfc3339,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MutationDateTimeValue) ProtoMessage() {}

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

func (x *MutationDateTimeValue) GetUtcRfc3339() string {
	if x != nil {
		return x.UtcRfc3339
	}
	return ""
}

type MutationReferenceValue struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Identifier    string                 `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MutationReferenceValue) ProtoMessage() {}

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

func (x *MutationReferenceValue) GetIdentifier() string {
	if x != nil {
		return x.Identifier
	}
	return ""
}

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

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

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

func (*MutationNullValue) ProtoMessage() {}

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

// Exactly one value arm is present. Null is explicit. An omitted field has no
// MutationFieldValue entry. Pointer-preserving semantic mapping distinguishes
// false, zero, and the empty string from omission.
type MutationFieldValue struct {
	state        protoimpl.MessageState `protogen:"open.v1"`
	Name         string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	DeclaredKind MutationValueKind      `protobuf:"varint,2,opt,name=declared_kind,json=declaredKind,proto3,enum=nexuscrm.runtime.v1.MutationValueKind" json:"declared_kind,omitempty"`
	// Types that are valid to be assigned to Value:
	//
	//	*MutationFieldValue_StringValue
	//	*MutationFieldValue_BooleanValue
	//	*MutationFieldValue_IntegerValue
	//	*MutationFieldValue_DecimalValue
	//	*MutationFieldValue_DateValue
	//	*MutationFieldValue_DatetimeValue
	//	*MutationFieldValue_ReferenceValue
	//	*MutationFieldValue_NullValue
	//	*MutationFieldValue_NumberValue
	//	*MutationFieldValue_CanonicalJsonValue
	Value         isMutationFieldValue_Value `protobuf_oneof:"value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MutationFieldValue) ProtoMessage() {}

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

func (x *MutationFieldValue) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *MutationFieldValue) GetDeclaredKind() MutationValueKind {
	if x != nil {
		return x.DeclaredKind
	}
	return MutationValueKind_MUTATION_VALUE_KIND_UNSPECIFIED
}

func (x *MutationFieldValue) GetValue() isMutationFieldValue_Value {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *MutationFieldValue) GetStringValue() string {
	if x != nil {
		if x, ok := x.Value.(*MutationFieldValue_StringValue); ok {
			return x.StringValue
		}
	}
	return ""
}

func (x *MutationFieldValue) GetBooleanValue() bool {
	if x != nil {
		if x, ok := x.Value.(*MutationFieldValue_BooleanValue); ok {
			return x.BooleanValue
		}
	}
	return false
}

func (x *MutationFieldValue) GetIntegerValue() int64 {
	if x != nil {
		if x, ok := x.Value.(*MutationFieldValue_IntegerValue); ok {
			return x.IntegerValue
		}
	}
	return 0
}

func (x *MutationFieldValue) GetDecimalValue() *MutationDecimalValue {
	if x != nil {
		if x, ok := x.Value.(*MutationFieldValue_DecimalValue); ok {
			return x.DecimalValue
		}
	}
	return nil
}

func (x *MutationFieldValue) GetDateValue() *MutationDateValue {
	if x != nil {
		if x, ok := x.Value.(*MutationFieldValue_DateValue); ok {
			return x.DateValue
		}
	}
	return nil
}

func (x *MutationFieldValue) GetDatetimeValue() *MutationDateTimeValue {
	if x != nil {
		if x, ok := x.Value.(*MutationFieldValue_DatetimeValue); ok {
			return x.DatetimeValue
		}
	}
	return nil
}

func (x *MutationFieldValue) GetReferenceValue() *MutationReferenceValue {
	if x != nil {
		if x, ok := x.Value.(*MutationFieldValue_ReferenceValue); ok {
			return x.ReferenceValue
		}
	}
	return nil
}

func (x *MutationFieldValue) GetNullValue() *MutationNullValue {
	if x != nil {
		if x, ok := x.Value.(*MutationFieldValue_NullValue); ok {
			return x.NullValue
		}
	}
	return nil
}

func (x *MutationFieldValue) GetNumberValue() string {
	if x != nil {
		if x, ok := x.Value.(*MutationFieldValue_NumberValue); ok {
			return x.NumberValue
		}
	}
	return ""
}

func (x *MutationFieldValue) GetCanonicalJsonValue() string {
	if x != nil {
		if x, ok := x.Value.(*MutationFieldValue_CanonicalJsonValue); ok {
			return x.CanonicalJsonValue
		}
	}
	return ""
}

type isMutationFieldValue_Value interface {
	isMutationFieldValue_Value()
}

type MutationFieldValue_StringValue struct {
	StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"`
}

type MutationFieldValue_BooleanValue struct {
	BooleanValue bool `protobuf:"varint,4,opt,name=boolean_value,json=booleanValue,proto3,oneof"`
}

type MutationFieldValue_IntegerValue struct {
	IntegerValue int64 `protobuf:"zigzag64,5,opt,name=integer_value,json=integerValue,proto3,oneof"`
}

type MutationFieldValue_DecimalValue struct {
	DecimalValue *MutationDecimalValue `protobuf:"bytes,6,opt,name=decimal_value,json=decimalValue,proto3,oneof"`
}

type MutationFieldValue_DateValue struct {
	DateValue *MutationDateValue `protobuf:"bytes,7,opt,name=date_value,json=dateValue,proto3,oneof"`
}

type MutationFieldValue_DatetimeValue struct {
	DatetimeValue *MutationDateTimeValue `protobuf:"bytes,8,opt,name=datetime_value,json=datetimeValue,proto3,oneof"`
}

type MutationFieldValue_ReferenceValue struct {
	ReferenceValue *MutationReferenceValue `protobuf:"bytes,9,opt,name=reference_value,json=referenceValue,proto3,oneof"`
}

type MutationFieldValue_NullValue struct {
	NullValue *MutationNullValue `protobuf:"bytes,10,opt,name=null_value,json=nullValue,proto3,oneof"`
}

type MutationFieldValue_NumberValue struct {
	// Exact JSON number lexical text; never reconstructed from float64.
	NumberValue string `protobuf:"bytes,11,opt,name=number_value,json=numberValue,proto3,oneof"`
}

type MutationFieldValue_CanonicalJsonValue struct {
	// Canonical JSON object or array.
	CanonicalJsonValue string `protobuf:"bytes,12,opt,name=canonical_json_value,json=canonicalJsonValue,proto3,oneof"`
}

func (*MutationFieldValue_StringValue) isMutationFieldValue_Value() {}

func (*MutationFieldValue_BooleanValue) isMutationFieldValue_Value() {}

func (*MutationFieldValue_IntegerValue) isMutationFieldValue_Value() {}

func (*MutationFieldValue_DecimalValue) isMutationFieldValue_Value() {}

func (*MutationFieldValue_DateValue) isMutationFieldValue_Value() {}

func (*MutationFieldValue_DatetimeValue) isMutationFieldValue_Value() {}

func (*MutationFieldValue_ReferenceValue) isMutationFieldValue_Value() {}

func (*MutationFieldValue_NullValue) isMutationFieldValue_Value() {}

func (*MutationFieldValue_NumberValue) isMutationFieldValue_Value() {}

func (*MutationFieldValue_CanonicalJsonValue) isMutationFieldValue_Value() {}

type MutationOperation struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	Kind     MutationOperationKind  `protobuf:"varint,1,opt,name=kind,proto3,enum=nexuscrm.runtime.v1.MutationOperationKind" json:"kind,omitempty"`
	ObjectId string                 `protobuf:"bytes,2,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
	RecordId string                 `protobuf:"bytes,3,opt,name=record_id,json=recordId,proto3" json:"record_id,omitempty"`
	// Canonical ascending bytewise UTF-8 field-name order on the wire.
	Fields           []*MutationFieldValue     `protobuf:"bytes,4,rep,name=fields,proto3" json:"fields,omitempty"`
	ExternalIdentity *MutationExternalIdentity `protobuf:"bytes,5,opt,name=external_identity,json=externalIdentity,proto3" json:"external_identity,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*MutationOperation) ProtoMessage() {}

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

func (x *MutationOperation) GetKind() MutationOperationKind {
	if x != nil {
		return x.Kind
	}
	return MutationOperationKind_MUTATION_OPERATION_KIND_UNSPECIFIED
}

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

func (x *MutationOperation) GetRecordId() string {
	if x != nil {
		return x.RecordId
	}
	return ""
}

func (x *MutationOperation) GetFields() []*MutationFieldValue {
	if x != nil {
		return x.Fields
	}
	return nil
}

func (x *MutationOperation) GetExternalIdentity() *MutationExternalIdentity {
	if x != nil {
		return x.ExternalIdentity
	}
	return nil
}

// MutationExternalIdentity is present only for UPSERT. Runtime resolves and
// validates the field against the same request-bound Catalog view as object
// shape and write permissions; L1 cannot supply a parallel metadata decision.
type MutationExternalIdentity struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FieldId       string                 `protobuf:"bytes,1,opt,name=field_id,json=fieldId,proto3" json:"field_id,omitempty"`
	Value         string                 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MutationExternalIdentity) ProtoMessage() {}

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

func (x *MutationExternalIdentity) GetFieldId() string {
	if x != nil {
		return x.FieldId
	}
	return ""
}

func (x *MutationExternalIdentity) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

// MutationCommand is the typed inner message carried by MutateRecordsRequest.
// The encoded byte digest in the header protects reassembly only. Runtime
// computes idempotency over the canonical semantic command after decoding.
type MutationCommand struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	CommandId          string                 `protobuf:"bytes,1,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	BatchMode          MutationBatchMode      `protobuf:"varint,2,opt,name=batch_mode,json=batchMode,proto3,enum=nexuscrm.runtime.v1.MutationBatchMode" json:"batch_mode,omitempty"`
	Operations         []*MutationOperation   `protobuf:"bytes,3,rep,name=operations,proto3" json:"operations,omitempty"`
	MinCatalogRevision *uint64                `protobuf:"varint,4,opt,name=min_catalog_revision,json=minCatalogRevision,proto3,oneof" json:"min_catalog_revision,omitempty"`
	UseCase            MutationUseCase        `protobuf:"varint,5,opt,name=use_case,json=useCase,proto3,enum=nexuscrm.runtime.v1.MutationUseCase" json:"use_case,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*MutationCommand) ProtoMessage() {}

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

func (x *MutationCommand) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

func (x *MutationCommand) GetBatchMode() MutationBatchMode {
	if x != nil {
		return x.BatchMode
	}
	return MutationBatchMode_MUTATION_BATCH_MODE_UNSPECIFIED
}

func (x *MutationCommand) GetOperations() []*MutationOperation {
	if x != nil {
		return x.Operations
	}
	return nil
}

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

func (x *MutationCommand) GetUseCase() MutationUseCase {
	if x != nil {
		return x.UseCase
	}
	return MutationUseCase_MUTATION_USE_CASE_UNSPECIFIED
}

type MutationOperationError struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Kind  MutationErrorKind      `protobuf:"varint,1,opt,name=kind,proto3,enum=nexuscrm.runtime.v1.MutationErrorKind" json:"kind,omitempty"`
	// Catalog-authored caller-visible ValidationRule text. Legal only with
	// CUSTOM_VALIDATION; this is not a general internal error channel.
	AuthoredMessage string `protobuf:"bytes,2,opt,name=authored_message,json=authoredMessage,proto3" json:"authored_message,omitempty"`
	// Canonical unique ascending bytewise UTF-8 field-name order.
	Fields []string `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,omitempty"`
	// Neutral metadata authority proving that direct create must be replaced by
	// one of the named action capabilities. L1 owns route and text projection.
	CreateFromSourceGuard *MutationCreateFromSourceGuard `protobuf:"bytes,5,opt,name=create_from_source_guard,json=createFromSourceGuard,proto3" json:"create_from_source_guard,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *MutationOperationError) Reset() {
	*x = MutationOperationError{}
	mi := &file_runtime_v1_mutations_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MutationOperationError) ProtoMessage() {}

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

func (x *MutationOperationError) GetKind() MutationErrorKind {
	if x != nil {
		return x.Kind
	}
	return MutationErrorKind_MUTATION_ERROR_KIND_UNSPECIFIED
}

func (x *MutationOperationError) GetAuthoredMessage() string {
	if x != nil {
		return x.AuthoredMessage
	}
	return ""
}

func (x *MutationOperationError) GetFields() []string {
	if x != nil {
		return x.Fields
	}
	return nil
}

func (x *MutationOperationError) GetCreateFromSourceGuard() *MutationCreateFromSourceGuard {
	if x != nil {
		return x.CreateFromSourceGuard
	}
	return nil
}

type MutationCreateFromSourceGuard struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	ObjectId string                 `protobuf:"bytes,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
	// Canonical unique ascending bytewise UTF-8 action-identifier order.
	ActionIds     []string `protobuf:"bytes,2,rep,name=action_ids,json=actionIds,proto3" json:"action_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MutationCreateFromSourceGuard) Reset() {
	*x = MutationCreateFromSourceGuard{}
	mi := &file_runtime_v1_mutations_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MutationCreateFromSourceGuard) ProtoMessage() {}

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

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

func (x *MutationCreateFromSourceGuard) GetActionIds() []string {
	if x != nil {
		return x.ActionIds
	}
	return nil
}

type MutationOperationResult struct {
	state         protoimpl.MessageState    `protogen:"open.v1"`
	Index         uint32                    `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
	Kind          MutationOperationKind     `protobuf:"varint,2,opt,name=kind,proto3,enum=nexuscrm.runtime.v1.MutationOperationKind" json:"kind,omitempty"`
	RecordId      string                    `protobuf:"bytes,3,opt,name=record_id,json=recordId,proto3" json:"record_id,omitempty"`
	Success       bool                      `protobuf:"varint,4,opt,name=success,proto3" json:"success,omitempty"`
	Created       *bool                     `protobuf:"varint,5,opt,name=created,proto3,oneof" json:"created,omitempty"`
	Errors        []*MutationOperationError `protobuf:"bytes,6,rep,name=errors,proto3" json:"errors,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MutationOperationResult) Reset() {
	*x = MutationOperationResult{}
	mi := &file_runtime_v1_mutations_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MutationOperationResult) ProtoMessage() {}

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

func (x *MutationOperationResult) GetIndex() uint32 {
	if x != nil {
		return x.Index
	}
	return 0
}

func (x *MutationOperationResult) GetKind() MutationOperationKind {
	if x != nil {
		return x.Kind
	}
	return MutationOperationKind_MUTATION_OPERATION_KIND_UNSPECIFIED
}

func (x *MutationOperationResult) GetRecordId() string {
	if x != nil {
		return x.RecordId
	}
	return ""
}

func (x *MutationOperationResult) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *MutationOperationResult) GetCreated() bool {
	if x != nil && x.Created != nil {
		return *x.Created
	}
	return false
}

func (x *MutationOperationResult) GetErrors() []*MutationOperationError {
	if x != nil {
		return x.Errors
	}
	return nil
}

type MutateRecordsResponse struct {
	state     protoimpl.MessageState `protogen:"open.v1"`
	CommandId string                 `protobuf:"bytes,1,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	// Exactly one position-correlated result per submitted operation.
	Results             []*MutationOperationResult `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"`
	Receipts            *v1.ConsistencyReceipts    `protobuf:"bytes,3,opt,name=receipts,proto3" json:"receipts,omitempty"`
	OutcomeExpiresAtUtc string                     `protobuf:"bytes,4,opt,name=outcome_expires_at_utc,json=outcomeExpiresAtUtc,proto3" json:"outcome_expires_at_utc,omitempty"`
	// SHA-256 of the canonical semantic command. This is a derived content
	// binding, not a second command identity.
	SemanticSha256 []byte `protobuf:"bytes,5,opt,name=semantic_sha256,json=semanticSha256,proto3" json:"semantic_sha256,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *MutateRecordsResponse) Reset() {
	*x = MutateRecordsResponse{}
	mi := &file_runtime_v1_mutations_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MutateRecordsResponse) ProtoMessage() {}

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

func (x *MutateRecordsResponse) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

func (x *MutateRecordsResponse) GetResults() []*MutationOperationResult {
	if x != nil {
		return x.Results
	}
	return nil
}

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

func (x *MutateRecordsResponse) GetOutcomeExpiresAtUtc() string {
	if x != nil {
		return x.OutcomeExpiresAtUtc
	}
	return ""
}

func (x *MutateRecordsResponse) GetSemanticSha256() []byte {
	if x != nil {
		return x.SemanticSha256
	}
	return nil
}

type GetMutationStatusRequest struct {
	state     protoimpl.MessageState `protogen:"open.v1"`
	CommandId string                 `protobuf:"bytes,1,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	// Derived from the original accepted command. Runtime compares it with the
	// durable binding before returning any state; mismatch is masked as MISSING.
	SemanticSha256 []byte `protobuf:"bytes,2,opt,name=semantic_sha256,json=semanticSha256,proto3" json:"semantic_sha256,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GetMutationStatusRequest) Reset() {
	*x = GetMutationStatusRequest{}
	mi := &file_runtime_v1_mutations_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetMutationStatusRequest) ProtoMessage() {}

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

func (x *GetMutationStatusRequest) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

func (x *GetMutationStatusRequest) GetSemanticSha256() []byte {
	if x != nil {
		return x.SemanticSha256
	}
	return nil
}

type GetMutationStatusResponse struct {
	state     protoimpl.MessageState `protogen:"open.v1"`
	CommandId string                 `protobuf:"bytes,1,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	State     MutationCommandState   `protobuf:"varint,2,opt,name=state,proto3,enum=nexuscrm.runtime.v1.MutationCommandState" json:"state,omitempty"`
	// Empty before COMPLETED; complete and position-correlated at COMPLETED.
	Results []*MutationOperationResult `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"`
	// Absent before COMPLETED.
	Receipts *v1.ConsistencyReceipts `protobuf:"bytes,4,opt,name=receipts,proto3" json:"receipts,omitempty"`
	// Empty before COMPLETED. Unknown or expired commands return MISSING.
	OutcomeExpiresAtUtc string `protobuf:"bytes,5,opt,name=outcome_expires_at_utc,json=outcomeExpiresAtUtc,proto3" json:"outcome_expires_at_utc,omitempty"`
	// Present in every state and equal to the request binding.
	SemanticSha256 []byte `protobuf:"bytes,6,opt,name=semantic_sha256,json=semanticSha256,proto3" json:"semantic_sha256,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GetMutationStatusResponse) Reset() {
	*x = GetMutationStatusResponse{}
	mi := &file_runtime_v1_mutations_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetMutationStatusResponse) ProtoMessage() {}

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

func (x *GetMutationStatusResponse) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

func (x *GetMutationStatusResponse) GetState() MutationCommandState {
	if x != nil {
		return x.State
	}
	return MutationCommandState_MUTATION_COMMAND_STATE_UNSPECIFIED
}

func (x *GetMutationStatusResponse) GetResults() []*MutationOperationResult {
	if x != nil {
		return x.Results
	}
	return nil
}

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

func (x *GetMutationStatusResponse) GetOutcomeExpiresAtUtc() string {
	if x != nil {
		return x.OutcomeExpiresAtUtc
	}
	return ""
}

func (x *GetMutationStatusResponse) GetSemanticSha256() []byte {
	if x != nil {
		return x.SemanticSha256
	}
	return nil
}

var File_runtime_v1_mutations_proto protoreflect.FileDescriptor

const file_runtime_v1_mutations_proto_rawDesc = "" +
	"\n" +
	"\x1aruntime/v1/mutations.proto\x12\x13nexuscrm.runtime.v1\x1a\x16common/v1/common.proto\"\x84\x01\n" +
	"\x15MutationCommandHeader\x122\n" +
	"\x15encoded_command_bytes\x18\x02 \x01(\x04R\x13encodedCommandBytes\x12%\n" +
	"\x0eencoded_sha256\x18\x03 \x01(\fR\rencodedSha256J\x04\b\x01\x10\x02R\n" +
	"command_id\"*\n" +
	"\x14MutationCommandChunk\x12\x12\n" +
	"\x04data\x18\x01 \x01(\fR\x04data\"\xa8\x01\n" +
	"\x14MutateRecordsRequest\x12D\n" +
	"\x06header\x18\x01 \x01(\v2*.nexuscrm.runtime.v1.MutationCommandHeaderH\x00R\x06header\x12A\n" +
	"\x05chunk\x18\x02 \x01(\v2).nexuscrm.runtime.v1.MutationCommandChunkH\x00R\x05chunkB\a\n" +
	"\x05frame\"N\n" +
	"\x14MutationDecimalValue\x12 \n" +
	"\vcoefficient\x18\x01 \x01(\tR\vcoefficient\x12\x14\n" +
	"\x05scale\x18\x02 \x01(\rR\x05scale\"8\n" +
	"\x11MutationDateValue\x12#\n" +
	"\rcalendar_date\x18\x01 \x01(\tR\fcalendarDate\"8\n" +
	"\x15MutationDateTimeValue\x12\x1f\n" +
	"\vutc_rfc3339\x18\x01 \x01(\tR\n" +
	"utcRfc3339\"8\n" +
	"\x16MutationReferenceValue\x12\x1e\n" +
	"\n" +
	"identifier\x18\x01 \x01(\tR\n" +
	"identifier\"\x13\n" +
	"\x11MutationNullValue\"\xdb\x05\n" +
	"\x12MutationFieldValue\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12K\n" +
	"\rdeclared_kind\x18\x02 \x01(\x0e2&.nexuscrm.runtime.v1.MutationValueKindR\fdeclaredKind\x12#\n" +
	"\fstring_value\x18\x03 \x01(\tH\x00R\vstringValue\x12%\n" +
	"\rboolean_value\x18\x04 \x01(\bH\x00R\fbooleanValue\x12%\n" +
	"\rinteger_value\x18\x05 \x01(\x12H\x00R\fintegerValue\x12P\n" +
	"\rdecimal_value\x18\x06 \x01(\v2).nexuscrm.runtime.v1.MutationDecimalValueH\x00R\fdecimalValue\x12G\n" +
	"\n" +
	"date_value\x18\a \x01(\v2&.nexuscrm.runtime.v1.MutationDateValueH\x00R\tdateValue\x12S\n" +
	"\x0edatetime_value\x18\b \x01(\v2*.nexuscrm.runtime.v1.MutationDateTimeValueH\x00R\rdatetimeValue\x12V\n" +
	"\x0freference_value\x18\t \x01(\v2+.nexuscrm.runtime.v1.MutationReferenceValueH\x00R\x0ereferenceValue\x12G\n" +
	"\n" +
	"null_value\x18\n" +
	" \x01(\v2&.nexuscrm.runtime.v1.MutationNullValueH\x00R\tnullValue\x12#\n" +
	"\fnumber_value\x18\v \x01(\tH\x00R\vnumberValue\x122\n" +
	"\x14canonical_json_value\x18\f \x01(\tH\x00R\x12canonicalJsonValueB\a\n" +
	"\x05value\"\xaa\x02\n" +
	"\x11MutationOperation\x12>\n" +
	"\x04kind\x18\x01 \x01(\x0e2*.nexuscrm.runtime.v1.MutationOperationKindR\x04kind\x12\x1b\n" +
	"\tobject_id\x18\x02 \x01(\tR\bobjectId\x12\x1b\n" +
	"\trecord_id\x18\x03 \x01(\tR\brecordId\x12?\n" +
	"\x06fields\x18\x04 \x03(\v2'.nexuscrm.runtime.v1.MutationFieldValueR\x06fields\x12Z\n" +
	"\x11external_identity\x18\x05 \x01(\v2-.nexuscrm.runtime.v1.MutationExternalIdentityR\x10externalIdentity\"K\n" +
	"\x18MutationExternalIdentity\x12\x19\n" +
	"\bfield_id\x18\x01 \x01(\tR\afieldId\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value\"\xd0\x02\n" +
	"\x0fMutationCommand\x12\x1d\n" +
	"\n" +
	"command_id\x18\x01 \x01(\tR\tcommandId\x12E\n" +
	"\n" +
	"batch_mode\x18\x02 \x01(\x0e2&.nexuscrm.runtime.v1.MutationBatchModeR\tbatchMode\x12F\n" +
	"\n" +
	"operations\x18\x03 \x03(\v2&.nexuscrm.runtime.v1.MutationOperationR\n" +
	"operations\x125\n" +
	"\x14min_catalog_revision\x18\x04 \x01(\x04H\x00R\x12minCatalogRevision\x88\x01\x01\x12?\n" +
	"\buse_case\x18\x05 \x01(\x0e2$.nexuscrm.runtime.v1.MutationUseCaseR\auseCaseB\x17\n" +
	"\x15_min_catalog_revision\"\x99\x02\n" +
	"\x16MutationOperationError\x12:\n" +
	"\x04kind\x18\x01 \x01(\x0e2&.nexuscrm.runtime.v1.MutationErrorKindR\x04kind\x12)\n" +
	"\x10authored_message\x18\x02 \x01(\tR\x0fauthoredMessage\x12\x16\n" +
	"\x06fields\x18\x03 \x03(\tR\x06fields\x12k\n" +
	"\x18create_from_source_guard\x18\x05 \x01(\v22.nexuscrm.runtime.v1.MutationCreateFromSourceGuardR\x15createFromSourceGuardJ\x04\b\x04\x10\x05R\rauthored_code\"[\n" +
	"\x1dMutationCreateFromSourceGuard\x12\x1b\n" +
	"\tobject_id\x18\x01 \x01(\tR\bobjectId\x12\x1d\n" +
	"\n" +
	"action_ids\x18\x02 \x03(\tR\tactionIds\"\x96\x02\n" +
	"\x17MutationOperationResult\x12\x14\n" +
	"\x05index\x18\x01 \x01(\rR\x05index\x12>\n" +
	"\x04kind\x18\x02 \x01(\x0e2*.nexuscrm.runtime.v1.MutationOperationKindR\x04kind\x12\x1b\n" +
	"\trecord_id\x18\x03 \x01(\tR\brecordId\x12\x18\n" +
	"\asuccess\x18\x04 \x01(\bR\asuccess\x12\x1d\n" +
	"\acreated\x18\x05 \x01(\bH\x00R\acreated\x88\x01\x01\x12C\n" +
	"\x06errors\x18\x06 \x03(\v2+.nexuscrm.runtime.v1.MutationOperationErrorR\x06errorsB\n" +
	"\n" +
	"\b_created\"\xa1\x02\n" +
	"\x15MutateRecordsResponse\x12\x1d\n" +
	"\n" +
	"command_id\x18\x01 \x01(\tR\tcommandId\x12F\n" +
	"\aresults\x18\x02 \x03(\v2,.nexuscrm.runtime.v1.MutationOperationResultR\aresults\x12C\n" +
	"\breceipts\x18\x03 \x01(\v2'.nexuscrm.common.v1.ConsistencyReceiptsR\breceipts\x123\n" +
	"\x16outcome_expires_at_utc\x18\x04 \x01(\tR\x13outcomeExpiresAtUtc\x12'\n" +
	"\x0fsemantic_sha256\x18\x05 \x01(\fR\x0esemanticSha256\"b\n" +
	"\x18GetMutationStatusRequest\x12\x1d\n" +
	"\n" +
	"command_id\x18\x01 \x01(\tR\tcommandId\x12'\n" +
	"\x0fsemantic_sha256\x18\x02 \x01(\fR\x0esemanticSha256\"\xe6\x02\n" +
	"\x19GetMutationStatusResponse\x12\x1d\n" +
	"\n" +
	"command_id\x18\x01 \x01(\tR\tcommandId\x12?\n" +
	"\x05state\x18\x02 \x01(\x0e2).nexuscrm.runtime.v1.MutationCommandStateR\x05state\x12F\n" +
	"\aresults\x18\x03 \x03(\v2,.nexuscrm.runtime.v1.MutationOperationResultR\aresults\x12C\n" +
	"\breceipts\x18\x04 \x01(\v2'.nexuscrm.common.v1.ConsistencyReceiptsR\breceipts\x123\n" +
	"\x16outcome_expires_at_utc\x18\x05 \x01(\tR\x13outcomeExpiresAtUtc\x12'\n" +
	"\x0fsemantic_sha256\x18\x06 \x01(\fR\x0esemanticSha256*}\n" +
	"\x11MutationBatchMode\x12#\n" +
	"\x1fMUTATION_BATCH_MODE_UNSPECIFIED\x10\x00\x12#\n" +
	"\x1fMUTATION_BATCH_MODE_INDEPENDENT\x10\x01\x12\x1e\n" +
	"\x1aMUTATION_BATCH_MODE_ATOMIC\x10\x02*{\n" +
	"\x0fMutationUseCase\x12!\n" +
	"\x1dMUTATION_USE_CASE_UNSPECIFIED\x10\x00\x12#\n" +
	"\x1fMUTATION_USE_CASE_SINGLE_RECORD\x10\x01\x12 \n" +
	"\x1cMUTATION_USE_CASE_COLLECTION\x10\x02*\xd0\x01\n" +
	"\x15MutationOperationKind\x12'\n" +
	"#MUTATION_OPERATION_KIND_UNSPECIFIED\x10\x00\x12\"\n" +
	"\x1eMUTATION_OPERATION_KIND_CREATE\x10\x01\x12\"\n" +
	"\x1eMUTATION_OPERATION_KIND_UPDATE\x10\x02\x12\"\n" +
	"\x1eMUTATION_OPERATION_KIND_DELETE\x10\x03\x12\"\n" +
	"\x1eMUTATION_OPERATION_KIND_UPSERT\x10\x04*\xfa\x02\n" +
	"\x11MutationValueKind\x12#\n" +
	"\x1fMUTATION_VALUE_KIND_UNSPECIFIED\x10\x00\x12\x1e\n" +
	"\x1aMUTATION_VALUE_KIND_STRING\x10\x01\x12\x1f\n" +
	"\x1bMUTATION_VALUE_KIND_BOOLEAN\x10\x02\x12\x1f\n" +
	"\x1bMUTATION_VALUE_KIND_INTEGER\x10\x03\x12\x1f\n" +
	"\x1bMUTATION_VALUE_KIND_DECIMAL\x10\x04\x12\x1c\n" +
	"\x18MUTATION_VALUE_KIND_DATE\x10\x05\x12 \n" +
	"\x1cMUTATION_VALUE_KIND_DATETIME\x10\x06\x12!\n" +
	"\x1dMUTATION_VALUE_KIND_REFERENCE\x10\a\x12\x1c\n" +
	"\x18MUTATION_VALUE_KIND_NULL\x10\b\x12\x1e\n" +
	"\x1aMUTATION_VALUE_KIND_NUMBER\x10\t\x12\x1c\n" +
	"\x18MUTATION_VALUE_KIND_JSON\x10\n" +
	"*\x8e\x06\n" +
	"\x11MutationErrorKind\x12#\n" +
	"\x1fMUTATION_ERROR_KIND_UNSPECIFIED\x10\x00\x12)\n" +
	"%MUTATION_ERROR_KIND_PROCESSING_HALTED\x10\x01\x124\n" +
	"0MUTATION_ERROR_KIND_ATOMIC_OPERATION_ROLLED_BACK\x10\x02\x12 \n" +
	"\x1cMUTATION_ERROR_KIND_INTERNAL\x10\x03\x12/\n" +
	"+MUTATION_ERROR_KIND_INVALID_FIELD_FOR_WRITE\x10\x04\x12)\n" +
	"%MUTATION_ERROR_KIND_CUSTOM_VALIDATION\x10\x05\x12)\n" +
	"%MUTATION_ERROR_KIND_INVALID_REFERENCE\x10\x06\x12'\n" +
	"#MUTATION_ERROR_KIND_FIELD_INTEGRITY\x10\a\x12)\n" +
	"%MUTATION_ERROR_KIND_INVALID_OPERATION\x10\b\x12%\n" +
	"!MUTATION_ERROR_KIND_INVALID_FIELD\x10\t\x12)\n" +
	"%MUTATION_ERROR_KIND_MISSING_OR_DENIED\x10\n" +
	"\x12,\n" +
	"(MUTATION_ERROR_KIND_MALFORMED_IDENTIFIER\x10\v\x12*\n" +
	"&MUTATION_ERROR_KIND_INVALID_IDENTIFIER\x10\f\x12\"\n" +
	"\x1eMUTATION_ERROR_KIND_AUTOMATION\x10\r\x12%\n" +
	"!MUTATION_ERROR_KIND_ACCESS_DENIED\x10\x0e\x12%\n" +
	"!MUTATION_ERROR_KIND_POLICY_DENIED\x10\x0f\x12.\n" +
	"*MUTATION_ERROR_KIND_REQUIRED_FIELD_MISSING\x10\x10\x12(\n" +
	"$MUTATION_ERROR_KIND_OBJECT_NOT_FOUND\x10\x11*\xaf\x01\n" +
	"\x14MutationCommandState\x12&\n" +
	"\"MUTATION_COMMAND_STATE_UNSPECIFIED\x10\x00\x12#\n" +
	"\x1fMUTATION_COMMAND_STATE_ACCEPTED\x10\x01\x12$\n" +
	" MUTATION_COMMAND_STATE_EXECUTING\x10\x02\x12$\n" +
	" MUTATION_COMMAND_STATE_COMPLETED\x10\x032\xf6\x01\n" +
	"\x16RecordMutationsService\x12h\n" +
	"\rMutateRecords\x12).nexuscrm.runtime.v1.MutateRecordsRequest\x1a*.nexuscrm.runtime.v1.MutateRecordsResponse(\x01\x12r\n" +
	"\x11GetMutationStatus\x12-.nexuscrm.runtime.v1.GetMutationStatusRequest\x1a..nexuscrm.runtime.v1.GetMutationStatusResponseBKZIgithub.com/pingcap-inc/nexuscrm-contract/wire-go/gen/runtime/v1;runtimev1b\x06proto3"

var (
	file_runtime_v1_mutations_proto_rawDescOnce sync.Once
	file_runtime_v1_mutations_proto_rawDescData []byte
)

func file_runtime_v1_mutations_proto_rawDescGZIP() []byte {
	file_runtime_v1_mutations_proto_rawDescOnce.Do(func() {
		file_runtime_v1_mutations_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_runtime_v1_mutations_proto_rawDesc), len(file_runtime_v1_mutations_proto_rawDesc)))
	})
	return file_runtime_v1_mutations_proto_rawDescData
}

var file_runtime_v1_mutations_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
var file_runtime_v1_mutations_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_runtime_v1_mutations_proto_goTypes = []any{
	(MutationBatchMode)(0),                // 0: nexuscrm.runtime.v1.MutationBatchMode
	(MutationUseCase)(0),                  // 1: nexuscrm.runtime.v1.MutationUseCase
	(MutationOperationKind)(0),            // 2: nexuscrm.runtime.v1.MutationOperationKind
	(MutationValueKind)(0),                // 3: nexuscrm.runtime.v1.MutationValueKind
	(MutationErrorKind)(0),                // 4: nexuscrm.runtime.v1.MutationErrorKind
	(MutationCommandState)(0),             // 5: nexuscrm.runtime.v1.MutationCommandState
	(*MutationCommandHeader)(nil),         // 6: nexuscrm.runtime.v1.MutationCommandHeader
	(*MutationCommandChunk)(nil),          // 7: nexuscrm.runtime.v1.MutationCommandChunk
	(*MutateRecordsRequest)(nil),          // 8: nexuscrm.runtime.v1.MutateRecordsRequest
	(*MutationDecimalValue)(nil),          // 9: nexuscrm.runtime.v1.MutationDecimalValue
	(*MutationDateValue)(nil),             // 10: nexuscrm.runtime.v1.MutationDateValue
	(*MutationDateTimeValue)(nil),         // 11: nexuscrm.runtime.v1.MutationDateTimeValue
	(*MutationReferenceValue)(nil),        // 12: nexuscrm.runtime.v1.MutationReferenceValue
	(*MutationNullValue)(nil),             // 13: nexuscrm.runtime.v1.MutationNullValue
	(*MutationFieldValue)(nil),            // 14: nexuscrm.runtime.v1.MutationFieldValue
	(*MutationOperation)(nil),             // 15: nexuscrm.runtime.v1.MutationOperation
	(*MutationExternalIdentity)(nil),      // 16: nexuscrm.runtime.v1.MutationExternalIdentity
	(*MutationCommand)(nil),               // 17: nexuscrm.runtime.v1.MutationCommand
	(*MutationOperationError)(nil),        // 18: nexuscrm.runtime.v1.MutationOperationError
	(*MutationCreateFromSourceGuard)(nil), // 19: nexuscrm.runtime.v1.MutationCreateFromSourceGuard
	(*MutationOperationResult)(nil),       // 20: nexuscrm.runtime.v1.MutationOperationResult
	(*MutateRecordsResponse)(nil),         // 21: nexuscrm.runtime.v1.MutateRecordsResponse
	(*GetMutationStatusRequest)(nil),      // 22: nexuscrm.runtime.v1.GetMutationStatusRequest
	(*GetMutationStatusResponse)(nil),     // 23: nexuscrm.runtime.v1.GetMutationStatusResponse
	(*v1.ConsistencyReceipts)(nil),        // 24: nexuscrm.common.v1.ConsistencyReceipts
}
var file_runtime_v1_mutations_proto_depIdxs = []int32{
	6,  // 0: nexuscrm.runtime.v1.MutateRecordsRequest.header:type_name -> nexuscrm.runtime.v1.MutationCommandHeader
	7,  // 1: nexuscrm.runtime.v1.MutateRecordsRequest.chunk:type_name -> nexuscrm.runtime.v1.MutationCommandChunk
	3,  // 2: nexuscrm.runtime.v1.MutationFieldValue.declared_kind:type_name -> nexuscrm.runtime.v1.MutationValueKind
	9,  // 3: nexuscrm.runtime.v1.MutationFieldValue.decimal_value:type_name -> nexuscrm.runtime.v1.MutationDecimalValue
	10, // 4: nexuscrm.runtime.v1.MutationFieldValue.date_value:type_name -> nexuscrm.runtime.v1.MutationDateValue
	11, // 5: nexuscrm.runtime.v1.MutationFieldValue.datetime_value:type_name -> nexuscrm.runtime.v1.MutationDateTimeValue
	12, // 6: nexuscrm.runtime.v1.MutationFieldValue.reference_value:type_name -> nexuscrm.runtime.v1.MutationReferenceValue
	13, // 7: nexuscrm.runtime.v1.MutationFieldValue.null_value:type_name -> nexuscrm.runtime.v1.MutationNullValue
	2,  // 8: nexuscrm.runtime.v1.MutationOperation.kind:type_name -> nexuscrm.runtime.v1.MutationOperationKind
	14, // 9: nexuscrm.runtime.v1.MutationOperation.fields:type_name -> nexuscrm.runtime.v1.MutationFieldValue
	16, // 10: nexuscrm.runtime.v1.MutationOperation.external_identity:type_name -> nexuscrm.runtime.v1.MutationExternalIdentity
	0,  // 11: nexuscrm.runtime.v1.MutationCommand.batch_mode:type_name -> nexuscrm.runtime.v1.MutationBatchMode
	15, // 12: nexuscrm.runtime.v1.MutationCommand.operations:type_name -> nexuscrm.runtime.v1.MutationOperation
	1,  // 13: nexuscrm.runtime.v1.MutationCommand.use_case:type_name -> nexuscrm.runtime.v1.MutationUseCase
	4,  // 14: nexuscrm.runtime.v1.MutationOperationError.kind:type_name -> nexuscrm.runtime.v1.MutationErrorKind
	19, // 15: nexuscrm.runtime.v1.MutationOperationError.create_from_source_guard:type_name -> nexuscrm.runtime.v1.MutationCreateFromSourceGuard
	2,  // 16: nexuscrm.runtime.v1.MutationOperationResult.kind:type_name -> nexuscrm.runtime.v1.MutationOperationKind
	18, // 17: nexuscrm.runtime.v1.MutationOperationResult.errors:type_name -> nexuscrm.runtime.v1.MutationOperationError
	20, // 18: nexuscrm.runtime.v1.MutateRecordsResponse.results:type_name -> nexuscrm.runtime.v1.MutationOperationResult
	24, // 19: nexuscrm.runtime.v1.MutateRecordsResponse.receipts:type_name -> nexuscrm.common.v1.ConsistencyReceipts
	5,  // 20: nexuscrm.runtime.v1.GetMutationStatusResponse.state:type_name -> nexuscrm.runtime.v1.MutationCommandState
	20, // 21: nexuscrm.runtime.v1.GetMutationStatusResponse.results:type_name -> nexuscrm.runtime.v1.MutationOperationResult
	24, // 22: nexuscrm.runtime.v1.GetMutationStatusResponse.receipts:type_name -> nexuscrm.common.v1.ConsistencyReceipts
	8,  // 23: nexuscrm.runtime.v1.RecordMutationsService.MutateRecords:input_type -> nexuscrm.runtime.v1.MutateRecordsRequest
	22, // 24: nexuscrm.runtime.v1.RecordMutationsService.GetMutationStatus:input_type -> nexuscrm.runtime.v1.GetMutationStatusRequest
	21, // 25: nexuscrm.runtime.v1.RecordMutationsService.MutateRecords:output_type -> nexuscrm.runtime.v1.MutateRecordsResponse
	23, // 26: nexuscrm.runtime.v1.RecordMutationsService.GetMutationStatus:output_type -> nexuscrm.runtime.v1.GetMutationStatusResponse
	25, // [25:27] is the sub-list for method output_type
	23, // [23:25] is the sub-list for method input_type
	23, // [23:23] is the sub-list for extension type_name
	23, // [23:23] is the sub-list for extension extendee
	0,  // [0:23] is the sub-list for field type_name
}

func init() { file_runtime_v1_mutations_proto_init() }
func file_runtime_v1_mutations_proto_init() {
	if File_runtime_v1_mutations_proto != nil {
		return
	}
	file_runtime_v1_mutations_proto_msgTypes[2].OneofWrappers = []any{
		(*MutateRecordsRequest_Header)(nil),
		(*MutateRecordsRequest_Chunk)(nil),
	}
	file_runtime_v1_mutations_proto_msgTypes[8].OneofWrappers = []any{
		(*MutationFieldValue_StringValue)(nil),
		(*MutationFieldValue_BooleanValue)(nil),
		(*MutationFieldValue_IntegerValue)(nil),
		(*MutationFieldValue_DecimalValue)(nil),
		(*MutationFieldValue_DateValue)(nil),
		(*MutationFieldValue_DatetimeValue)(nil),
		(*MutationFieldValue_ReferenceValue)(nil),
		(*MutationFieldValue_NullValue)(nil),
		(*MutationFieldValue_NumberValue)(nil),
		(*MutationFieldValue_CanonicalJsonValue)(nil),
	}
	file_runtime_v1_mutations_proto_msgTypes[11].OneofWrappers = []any{}
	file_runtime_v1_mutations_proto_msgTypes[14].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_runtime_v1_mutations_proto_rawDesc), len(file_runtime_v1_mutations_proto_rawDesc)),
			NumEnums:      6,
			NumMessages:   18,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_runtime_v1_mutations_proto_goTypes,
		DependencyIndexes: file_runtime_v1_mutations_proto_depIdxs,
		EnumInfos:         file_runtime_v1_mutations_proto_enumTypes,
		MessageInfos:      file_runtime_v1_mutations_proto_msgTypes,
	}.Build()
	File_runtime_v1_mutations_proto = out.File
	file_runtime_v1_mutations_proto_goTypes = nil
	file_runtime_v1_mutations_proto_depIdxs = nil
}
