// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v3.21.12
// source: kodex/interactions/v1/interaction_hub.proto

package interactionsv1

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

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

// InteractionScopeType classifies scope ownership.
type InteractionScopeType int32

const (
	InteractionScopeType_INTERACTION_SCOPE_TYPE_UNSPECIFIED  InteractionScopeType = 0
	InteractionScopeType_INTERACTION_SCOPE_TYPE_PLATFORM     InteractionScopeType = 1
	InteractionScopeType_INTERACTION_SCOPE_TYPE_ORGANIZATION InteractionScopeType = 2
	InteractionScopeType_INTERACTION_SCOPE_TYPE_PROJECT      InteractionScopeType = 3
	InteractionScopeType_INTERACTION_SCOPE_TYPE_REPOSITORY   InteractionScopeType = 4
	InteractionScopeType_INTERACTION_SCOPE_TYPE_SERVICE      InteractionScopeType = 5
)

// Enum value maps for InteractionScopeType.
var (
	InteractionScopeType_name = map[int32]string{
		0: "INTERACTION_SCOPE_TYPE_UNSPECIFIED",
		1: "INTERACTION_SCOPE_TYPE_PLATFORM",
		2: "INTERACTION_SCOPE_TYPE_ORGANIZATION",
		3: "INTERACTION_SCOPE_TYPE_PROJECT",
		4: "INTERACTION_SCOPE_TYPE_REPOSITORY",
		5: "INTERACTION_SCOPE_TYPE_SERVICE",
	}
	InteractionScopeType_value = map[string]int32{
		"INTERACTION_SCOPE_TYPE_UNSPECIFIED":  0,
		"INTERACTION_SCOPE_TYPE_PLATFORM":     1,
		"INTERACTION_SCOPE_TYPE_ORGANIZATION": 2,
		"INTERACTION_SCOPE_TYPE_PROJECT":      3,
		"INTERACTION_SCOPE_TYPE_REPOSITORY":   4,
		"INTERACTION_SCOPE_TYPE_SERVICE":      5,
	}
)

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

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

func (InteractionScopeType) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[0].Descriptor()
}

func (InteractionScopeType) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[0]
}

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

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

// ConversationThreadKind classifies thread purpose.
type ConversationThreadKind int32

const (
	ConversationThreadKind_CONVERSATION_THREAD_KIND_UNSPECIFIED    ConversationThreadKind = 0
	ConversationThreadKind_CONVERSATION_THREAD_KIND_USER_DIALOG    ConversationThreadKind = 1
	ConversationThreadKind_CONVERSATION_THREAD_KIND_OWNER_FEEDBACK ConversationThreadKind = 2
	ConversationThreadKind_CONVERSATION_THREAD_KIND_APPROVAL       ConversationThreadKind = 3
	ConversationThreadKind_CONVERSATION_THREAD_KIND_HUMAN_GATE     ConversationThreadKind = 4
	ConversationThreadKind_CONVERSATION_THREAD_KIND_NOTIFICATION   ConversationThreadKind = 5
	ConversationThreadKind_CONVERSATION_THREAD_KIND_OPS            ConversationThreadKind = 6
)

// Enum value maps for ConversationThreadKind.
var (
	ConversationThreadKind_name = map[int32]string{
		0: "CONVERSATION_THREAD_KIND_UNSPECIFIED",
		1: "CONVERSATION_THREAD_KIND_USER_DIALOG",
		2: "CONVERSATION_THREAD_KIND_OWNER_FEEDBACK",
		3: "CONVERSATION_THREAD_KIND_APPROVAL",
		4: "CONVERSATION_THREAD_KIND_HUMAN_GATE",
		5: "CONVERSATION_THREAD_KIND_NOTIFICATION",
		6: "CONVERSATION_THREAD_KIND_OPS",
	}
	ConversationThreadKind_value = map[string]int32{
		"CONVERSATION_THREAD_KIND_UNSPECIFIED":    0,
		"CONVERSATION_THREAD_KIND_USER_DIALOG":    1,
		"CONVERSATION_THREAD_KIND_OWNER_FEEDBACK": 2,
		"CONVERSATION_THREAD_KIND_APPROVAL":       3,
		"CONVERSATION_THREAD_KIND_HUMAN_GATE":     4,
		"CONVERSATION_THREAD_KIND_NOTIFICATION":   5,
		"CONVERSATION_THREAD_KIND_OPS":            6,
	}
)

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

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

func (ConversationThreadKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[1].Descriptor()
}

func (ConversationThreadKind) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[1]
}

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

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

type ConversationThreadStatus int32

const (
	ConversationThreadStatus_CONVERSATION_THREAD_STATUS_UNSPECIFIED ConversationThreadStatus = 0
	ConversationThreadStatus_CONVERSATION_THREAD_STATUS_OPEN        ConversationThreadStatus = 1
	ConversationThreadStatus_CONVERSATION_THREAD_STATUS_WAITING     ConversationThreadStatus = 2
	ConversationThreadStatus_CONVERSATION_THREAD_STATUS_CLOSED      ConversationThreadStatus = 3
	ConversationThreadStatus_CONVERSATION_THREAD_STATUS_ARCHIVED    ConversationThreadStatus = 4
)

// Enum value maps for ConversationThreadStatus.
var (
	ConversationThreadStatus_name = map[int32]string{
		0: "CONVERSATION_THREAD_STATUS_UNSPECIFIED",
		1: "CONVERSATION_THREAD_STATUS_OPEN",
		2: "CONVERSATION_THREAD_STATUS_WAITING",
		3: "CONVERSATION_THREAD_STATUS_CLOSED",
		4: "CONVERSATION_THREAD_STATUS_ARCHIVED",
	}
	ConversationThreadStatus_value = map[string]int32{
		"CONVERSATION_THREAD_STATUS_UNSPECIFIED": 0,
		"CONVERSATION_THREAD_STATUS_OPEN":        1,
		"CONVERSATION_THREAD_STATUS_WAITING":     2,
		"CONVERSATION_THREAD_STATUS_CLOSED":      3,
		"CONVERSATION_THREAD_STATUS_ARCHIVED":    4,
	}
)

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

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

func (ConversationThreadStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[2].Descriptor()
}

func (ConversationThreadStatus) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[2]
}

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

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

type ConversationSourceKind int32

const (
	ConversationSourceKind_CONVERSATION_SOURCE_KIND_UNSPECIFIED     ConversationSourceKind = 0
	ConversationSourceKind_CONVERSATION_SOURCE_KIND_WEB_CONSOLE     ConversationSourceKind = 1
	ConversationSourceKind_CONVERSATION_SOURCE_KIND_VOICE           ConversationSourceKind = 2
	ConversationSourceKind_CONVERSATION_SOURCE_KIND_MCP             ConversationSourceKind = 3
	ConversationSourceKind_CONVERSATION_SOURCE_KIND_PROVIDER        ConversationSourceKind = 4
	ConversationSourceKind_CONVERSATION_SOURCE_KIND_CHANNEL_PACKAGE ConversationSourceKind = 5
	ConversationSourceKind_CONVERSATION_SOURCE_KIND_CODEX_HOOK      ConversationSourceKind = 6
	ConversationSourceKind_CONVERSATION_SOURCE_KIND_SYSTEM          ConversationSourceKind = 7
	ConversationSourceKind_CONVERSATION_SOURCE_KIND_SERVICE         ConversationSourceKind = 8
)

// Enum value maps for ConversationSourceKind.
var (
	ConversationSourceKind_name = map[int32]string{
		0: "CONVERSATION_SOURCE_KIND_UNSPECIFIED",
		1: "CONVERSATION_SOURCE_KIND_WEB_CONSOLE",
		2: "CONVERSATION_SOURCE_KIND_VOICE",
		3: "CONVERSATION_SOURCE_KIND_MCP",
		4: "CONVERSATION_SOURCE_KIND_PROVIDER",
		5: "CONVERSATION_SOURCE_KIND_CHANNEL_PACKAGE",
		6: "CONVERSATION_SOURCE_KIND_CODEX_HOOK",
		7: "CONVERSATION_SOURCE_KIND_SYSTEM",
		8: "CONVERSATION_SOURCE_KIND_SERVICE",
	}
	ConversationSourceKind_value = map[string]int32{
		"CONVERSATION_SOURCE_KIND_UNSPECIFIED":     0,
		"CONVERSATION_SOURCE_KIND_WEB_CONSOLE":     1,
		"CONVERSATION_SOURCE_KIND_VOICE":           2,
		"CONVERSATION_SOURCE_KIND_MCP":             3,
		"CONVERSATION_SOURCE_KIND_PROVIDER":        4,
		"CONVERSATION_SOURCE_KIND_CHANNEL_PACKAGE": 5,
		"CONVERSATION_SOURCE_KIND_CODEX_HOOK":      6,
		"CONVERSATION_SOURCE_KIND_SYSTEM":          7,
		"CONVERSATION_SOURCE_KIND_SERVICE":         8,
	}
)

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

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

func (ConversationSourceKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[3].Descriptor()
}

func (ConversationSourceKind) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[3]
}

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

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

type ConversationMessageKind int32

const (
	ConversationMessageKind_CONVERSATION_MESSAGE_KIND_UNSPECIFIED      ConversationMessageKind = 0
	ConversationMessageKind_CONVERSATION_MESSAGE_KIND_USER_TEXT        ConversationMessageKind = 1
	ConversationMessageKind_CONVERSATION_MESSAGE_KIND_VOICE_TRANSCRIPT ConversationMessageKind = 2
	ConversationMessageKind_CONVERSATION_MESSAGE_KIND_AGENT_TEXT       ConversationMessageKind = 3
	ConversationMessageKind_CONVERSATION_MESSAGE_KIND_SYSTEM_NOTICE    ConversationMessageKind = 4
	ConversationMessageKind_CONVERSATION_MESSAGE_KIND_RESPONSE_SUMMARY ConversationMessageKind = 5
	ConversationMessageKind_CONVERSATION_MESSAGE_KIND_CALLBACK_SUMMARY ConversationMessageKind = 6
)

// Enum value maps for ConversationMessageKind.
var (
	ConversationMessageKind_name = map[int32]string{
		0: "CONVERSATION_MESSAGE_KIND_UNSPECIFIED",
		1: "CONVERSATION_MESSAGE_KIND_USER_TEXT",
		2: "CONVERSATION_MESSAGE_KIND_VOICE_TRANSCRIPT",
		3: "CONVERSATION_MESSAGE_KIND_AGENT_TEXT",
		4: "CONVERSATION_MESSAGE_KIND_SYSTEM_NOTICE",
		5: "CONVERSATION_MESSAGE_KIND_RESPONSE_SUMMARY",
		6: "CONVERSATION_MESSAGE_KIND_CALLBACK_SUMMARY",
	}
	ConversationMessageKind_value = map[string]int32{
		"CONVERSATION_MESSAGE_KIND_UNSPECIFIED":      0,
		"CONVERSATION_MESSAGE_KIND_USER_TEXT":        1,
		"CONVERSATION_MESSAGE_KIND_VOICE_TRANSCRIPT": 2,
		"CONVERSATION_MESSAGE_KIND_AGENT_TEXT":       3,
		"CONVERSATION_MESSAGE_KIND_SYSTEM_NOTICE":    4,
		"CONVERSATION_MESSAGE_KIND_RESPONSE_SUMMARY": 5,
		"CONVERSATION_MESSAGE_KIND_CALLBACK_SUMMARY": 6,
	}
)

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

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

func (ConversationMessageKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[4].Descriptor()
}

func (ConversationMessageKind) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[4]
}

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

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

type SourceOwnerKind int32

const (
	SourceOwnerKind_SOURCE_OWNER_KIND_UNSPECIFIED        SourceOwnerKind = 0
	SourceOwnerKind_SOURCE_OWNER_KIND_AGENT_MANAGER      SourceOwnerKind = 1
	SourceOwnerKind_SOURCE_OWNER_KIND_SLOT_AGENT         SourceOwnerKind = 2
	SourceOwnerKind_SOURCE_OWNER_KIND_GOVERNANCE_MANAGER SourceOwnerKind = 3
	SourceOwnerKind_SOURCE_OWNER_KIND_PROVIDER_HUB       SourceOwnerKind = 4
	SourceOwnerKind_SOURCE_OWNER_KIND_OPERATIONS_HUB     SourceOwnerKind = 5
	SourceOwnerKind_SOURCE_OWNER_KIND_USER               SourceOwnerKind = 6
	SourceOwnerKind_SOURCE_OWNER_KIND_SYSTEM             SourceOwnerKind = 7
)

// Enum value maps for SourceOwnerKind.
var (
	SourceOwnerKind_name = map[int32]string{
		0: "SOURCE_OWNER_KIND_UNSPECIFIED",
		1: "SOURCE_OWNER_KIND_AGENT_MANAGER",
		2: "SOURCE_OWNER_KIND_SLOT_AGENT",
		3: "SOURCE_OWNER_KIND_GOVERNANCE_MANAGER",
		4: "SOURCE_OWNER_KIND_PROVIDER_HUB",
		5: "SOURCE_OWNER_KIND_OPERATIONS_HUB",
		6: "SOURCE_OWNER_KIND_USER",
		7: "SOURCE_OWNER_KIND_SYSTEM",
	}
	SourceOwnerKind_value = map[string]int32{
		"SOURCE_OWNER_KIND_UNSPECIFIED":        0,
		"SOURCE_OWNER_KIND_AGENT_MANAGER":      1,
		"SOURCE_OWNER_KIND_SLOT_AGENT":         2,
		"SOURCE_OWNER_KIND_GOVERNANCE_MANAGER": 3,
		"SOURCE_OWNER_KIND_PROVIDER_HUB":       4,
		"SOURCE_OWNER_KIND_OPERATIONS_HUB":     5,
		"SOURCE_OWNER_KIND_USER":               6,
		"SOURCE_OWNER_KIND_SYSTEM":             7,
	}
)

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

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

func (SourceOwnerKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[5].Descriptor()
}

func (SourceOwnerKind) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[5]
}

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

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

type DecisionOwnerKind int32

const (
	DecisionOwnerKind_DECISION_OWNER_KIND_UNSPECIFIED        DecisionOwnerKind = 0
	DecisionOwnerKind_DECISION_OWNER_KIND_AGENT_MANAGER      DecisionOwnerKind = 1
	DecisionOwnerKind_DECISION_OWNER_KIND_GOVERNANCE_MANAGER DecisionOwnerKind = 2
	DecisionOwnerKind_DECISION_OWNER_KIND_PROVIDER_HUB       DecisionOwnerKind = 3
	DecisionOwnerKind_DECISION_OWNER_KIND_OPERATIONS_HUB     DecisionOwnerKind = 4
	DecisionOwnerKind_DECISION_OWNER_KIND_SYSTEM             DecisionOwnerKind = 5
)

// Enum value maps for DecisionOwnerKind.
var (
	DecisionOwnerKind_name = map[int32]string{
		0: "DECISION_OWNER_KIND_UNSPECIFIED",
		1: "DECISION_OWNER_KIND_AGENT_MANAGER",
		2: "DECISION_OWNER_KIND_GOVERNANCE_MANAGER",
		3: "DECISION_OWNER_KIND_PROVIDER_HUB",
		4: "DECISION_OWNER_KIND_OPERATIONS_HUB",
		5: "DECISION_OWNER_KIND_SYSTEM",
	}
	DecisionOwnerKind_value = map[string]int32{
		"DECISION_OWNER_KIND_UNSPECIFIED":        0,
		"DECISION_OWNER_KIND_AGENT_MANAGER":      1,
		"DECISION_OWNER_KIND_GOVERNANCE_MANAGER": 2,
		"DECISION_OWNER_KIND_PROVIDER_HUB":       3,
		"DECISION_OWNER_KIND_OPERATIONS_HUB":     4,
		"DECISION_OWNER_KIND_SYSTEM":             5,
	}
)

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

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

func (DecisionOwnerKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[6].Descriptor()
}

func (DecisionOwnerKind) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[6]
}

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

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

type IngressKind int32

const (
	IngressKind_INGRESS_KIND_UNSPECIFIED IngressKind = 0
	IngressKind_INGRESS_KIND_DIRECT_GRPC IngressKind = 1
	IngressKind_INGRESS_KIND_MCP         IngressKind = 2
	IngressKind_INGRESS_KIND_CODEX_HOOK  IngressKind = 3
	IngressKind_INGRESS_KIND_GATEWAY     IngressKind = 4
	IngressKind_INGRESS_KIND_SYSTEM      IngressKind = 5
	IngressKind_INGRESS_KIND_SERVICE     IngressKind = 6
)

// Enum value maps for IngressKind.
var (
	IngressKind_name = map[int32]string{
		0: "INGRESS_KIND_UNSPECIFIED",
		1: "INGRESS_KIND_DIRECT_GRPC",
		2: "INGRESS_KIND_MCP",
		3: "INGRESS_KIND_CODEX_HOOK",
		4: "INGRESS_KIND_GATEWAY",
		5: "INGRESS_KIND_SYSTEM",
		6: "INGRESS_KIND_SERVICE",
	}
	IngressKind_value = map[string]int32{
		"INGRESS_KIND_UNSPECIFIED": 0,
		"INGRESS_KIND_DIRECT_GRPC": 1,
		"INGRESS_KIND_MCP":         2,
		"INGRESS_KIND_CODEX_HOOK":  3,
		"INGRESS_KIND_GATEWAY":     4,
		"INGRESS_KIND_SYSTEM":      5,
		"INGRESS_KIND_SERVICE":     6,
	}
)

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

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

func (IngressKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[7].Descriptor()
}

func (IngressKind) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[7]
}

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

// Deprecated: Use IngressKind.Descriptor instead.
func (IngressKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{7}
}

type InteractionRequestKind int32

const (
	InteractionRequestKind_INTERACTION_REQUEST_KIND_UNSPECIFIED InteractionRequestKind = 0
	InteractionRequestKind_INTERACTION_REQUEST_KIND_FEEDBACK    InteractionRequestKind = 1
	InteractionRequestKind_INTERACTION_REQUEST_KIND_APPROVAL    InteractionRequestKind = 2
	InteractionRequestKind_INTERACTION_REQUEST_KIND_HUMAN_GATE  InteractionRequestKind = 3
)

// Enum value maps for InteractionRequestKind.
var (
	InteractionRequestKind_name = map[int32]string{
		0: "INTERACTION_REQUEST_KIND_UNSPECIFIED",
		1: "INTERACTION_REQUEST_KIND_FEEDBACK",
		2: "INTERACTION_REQUEST_KIND_APPROVAL",
		3: "INTERACTION_REQUEST_KIND_HUMAN_GATE",
	}
	InteractionRequestKind_value = map[string]int32{
		"INTERACTION_REQUEST_KIND_UNSPECIFIED": 0,
		"INTERACTION_REQUEST_KIND_FEEDBACK":    1,
		"INTERACTION_REQUEST_KIND_APPROVAL":    2,
		"INTERACTION_REQUEST_KIND_HUMAN_GATE":  3,
	}
)

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

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

func (InteractionRequestKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[8].Descriptor()
}

func (InteractionRequestKind) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[8]
}

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

// Deprecated: Use InteractionRequestKind.Descriptor instead.
func (InteractionRequestKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{8}
}

type InteractionRiskClass int32

const (
	InteractionRiskClass_INTERACTION_RISK_CLASS_UNSPECIFIED InteractionRiskClass = 0
	InteractionRiskClass_INTERACTION_RISK_CLASS_LOW         InteractionRiskClass = 1
	InteractionRiskClass_INTERACTION_RISK_CLASS_MEDIUM      InteractionRiskClass = 2
	InteractionRiskClass_INTERACTION_RISK_CLASS_HIGH        InteractionRiskClass = 3
	InteractionRiskClass_INTERACTION_RISK_CLASS_CRITICAL    InteractionRiskClass = 4
)

// Enum value maps for InteractionRiskClass.
var (
	InteractionRiskClass_name = map[int32]string{
		0: "INTERACTION_RISK_CLASS_UNSPECIFIED",
		1: "INTERACTION_RISK_CLASS_LOW",
		2: "INTERACTION_RISK_CLASS_MEDIUM",
		3: "INTERACTION_RISK_CLASS_HIGH",
		4: "INTERACTION_RISK_CLASS_CRITICAL",
	}
	InteractionRiskClass_value = map[string]int32{
		"INTERACTION_RISK_CLASS_UNSPECIFIED": 0,
		"INTERACTION_RISK_CLASS_LOW":         1,
		"INTERACTION_RISK_CLASS_MEDIUM":      2,
		"INTERACTION_RISK_CLASS_HIGH":        3,
		"INTERACTION_RISK_CLASS_CRITICAL":    4,
	}
)

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

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

func (InteractionRiskClass) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[9].Descriptor()
}

func (InteractionRiskClass) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[9]
}

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

// Deprecated: Use InteractionRiskClass.Descriptor instead.
func (InteractionRiskClass) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{9}
}

type InteractionRequestStatus int32

const (
	InteractionRequestStatus_INTERACTION_REQUEST_STATUS_UNSPECIFIED InteractionRequestStatus = 0
	InteractionRequestStatus_INTERACTION_REQUEST_STATUS_CREATED     InteractionRequestStatus = 1
	InteractionRequestStatus_INTERACTION_REQUEST_STATUS_ROUTED      InteractionRequestStatus = 2
	InteractionRequestStatus_INTERACTION_REQUEST_STATUS_WAITING     InteractionRequestStatus = 3
	InteractionRequestStatus_INTERACTION_REQUEST_STATUS_ANSWERED    InteractionRequestStatus = 4
	InteractionRequestStatus_INTERACTION_REQUEST_STATUS_EXPIRED     InteractionRequestStatus = 5
	InteractionRequestStatus_INTERACTION_REQUEST_STATUS_CANCELLED   InteractionRequestStatus = 6
	InteractionRequestStatus_INTERACTION_REQUEST_STATUS_FAILED      InteractionRequestStatus = 7
)

// Enum value maps for InteractionRequestStatus.
var (
	InteractionRequestStatus_name = map[int32]string{
		0: "INTERACTION_REQUEST_STATUS_UNSPECIFIED",
		1: "INTERACTION_REQUEST_STATUS_CREATED",
		2: "INTERACTION_REQUEST_STATUS_ROUTED",
		3: "INTERACTION_REQUEST_STATUS_WAITING",
		4: "INTERACTION_REQUEST_STATUS_ANSWERED",
		5: "INTERACTION_REQUEST_STATUS_EXPIRED",
		6: "INTERACTION_REQUEST_STATUS_CANCELLED",
		7: "INTERACTION_REQUEST_STATUS_FAILED",
	}
	InteractionRequestStatus_value = map[string]int32{
		"INTERACTION_REQUEST_STATUS_UNSPECIFIED": 0,
		"INTERACTION_REQUEST_STATUS_CREATED":     1,
		"INTERACTION_REQUEST_STATUS_ROUTED":      2,
		"INTERACTION_REQUEST_STATUS_WAITING":     3,
		"INTERACTION_REQUEST_STATUS_ANSWERED":    4,
		"INTERACTION_REQUEST_STATUS_EXPIRED":     5,
		"INTERACTION_REQUEST_STATUS_CANCELLED":   6,
		"INTERACTION_REQUEST_STATUS_FAILED":      7,
	}
)

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

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

func (InteractionRequestStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[10].Descriptor()
}

func (InteractionRequestStatus) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[10]
}

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

// Deprecated: Use InteractionRequestStatus.Descriptor instead.
func (InteractionRequestStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{10}
}

type InteractionResponseAction int32

const (
	InteractionResponseAction_INTERACTION_RESPONSE_ACTION_UNSPECIFIED     InteractionResponseAction = 0
	InteractionResponseAction_INTERACTION_RESPONSE_ACTION_ANSWER          InteractionResponseAction = 1
	InteractionResponseAction_INTERACTION_RESPONSE_ACTION_APPROVE         InteractionResponseAction = 2
	InteractionResponseAction_INTERACTION_RESPONSE_ACTION_REJECT          InteractionResponseAction = 3
	InteractionResponseAction_INTERACTION_RESPONSE_ACTION_DEFER           InteractionResponseAction = 4
	InteractionResponseAction_INTERACTION_RESPONSE_ACTION_ACKNOWLEDGE     InteractionResponseAction = 5
	InteractionResponseAction_INTERACTION_RESPONSE_ACTION_CUSTOM          InteractionResponseAction = 6
	InteractionResponseAction_INTERACTION_RESPONSE_ACTION_REQUEST_CHANGES InteractionResponseAction = 7
)

// Enum value maps for InteractionResponseAction.
var (
	InteractionResponseAction_name = map[int32]string{
		0: "INTERACTION_RESPONSE_ACTION_UNSPECIFIED",
		1: "INTERACTION_RESPONSE_ACTION_ANSWER",
		2: "INTERACTION_RESPONSE_ACTION_APPROVE",
		3: "INTERACTION_RESPONSE_ACTION_REJECT",
		4: "INTERACTION_RESPONSE_ACTION_DEFER",
		5: "INTERACTION_RESPONSE_ACTION_ACKNOWLEDGE",
		6: "INTERACTION_RESPONSE_ACTION_CUSTOM",
		7: "INTERACTION_RESPONSE_ACTION_REQUEST_CHANGES",
	}
	InteractionResponseAction_value = map[string]int32{
		"INTERACTION_RESPONSE_ACTION_UNSPECIFIED":     0,
		"INTERACTION_RESPONSE_ACTION_ANSWER":          1,
		"INTERACTION_RESPONSE_ACTION_APPROVE":         2,
		"INTERACTION_RESPONSE_ACTION_REJECT":          3,
		"INTERACTION_RESPONSE_ACTION_DEFER":           4,
		"INTERACTION_RESPONSE_ACTION_ACKNOWLEDGE":     5,
		"INTERACTION_RESPONSE_ACTION_CUSTOM":          6,
		"INTERACTION_RESPONSE_ACTION_REQUEST_CHANGES": 7,
	}
)

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

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

func (InteractionResponseAction) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[11].Descriptor()
}

func (InteractionResponseAction) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[11]
}

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

// Deprecated: Use InteractionResponseAction.Descriptor instead.
func (InteractionResponseAction) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{11}
}

type InteractionResponseSourceKind int32

const (
	InteractionResponseSourceKind_INTERACTION_RESPONSE_SOURCE_KIND_UNSPECIFIED      InteractionResponseSourceKind = 0
	InteractionResponseSourceKind_INTERACTION_RESPONSE_SOURCE_KIND_WEB_CONSOLE      InteractionResponseSourceKind = 1
	InteractionResponseSourceKind_INTERACTION_RESPONSE_SOURCE_KIND_MCP              InteractionResponseSourceKind = 2
	InteractionResponseSourceKind_INTERACTION_RESPONSE_SOURCE_KIND_CHANNEL_CALLBACK InteractionResponseSourceKind = 3
	InteractionResponseSourceKind_INTERACTION_RESPONSE_SOURCE_KIND_SYSTEM           InteractionResponseSourceKind = 4
	InteractionResponseSourceKind_INTERACTION_RESPONSE_SOURCE_KIND_SERVICE          InteractionResponseSourceKind = 5
)

// Enum value maps for InteractionResponseSourceKind.
var (
	InteractionResponseSourceKind_name = map[int32]string{
		0: "INTERACTION_RESPONSE_SOURCE_KIND_UNSPECIFIED",
		1: "INTERACTION_RESPONSE_SOURCE_KIND_WEB_CONSOLE",
		2: "INTERACTION_RESPONSE_SOURCE_KIND_MCP",
		3: "INTERACTION_RESPONSE_SOURCE_KIND_CHANNEL_CALLBACK",
		4: "INTERACTION_RESPONSE_SOURCE_KIND_SYSTEM",
		5: "INTERACTION_RESPONSE_SOURCE_KIND_SERVICE",
	}
	InteractionResponseSourceKind_value = map[string]int32{
		"INTERACTION_RESPONSE_SOURCE_KIND_UNSPECIFIED":      0,
		"INTERACTION_RESPONSE_SOURCE_KIND_WEB_CONSOLE":      1,
		"INTERACTION_RESPONSE_SOURCE_KIND_MCP":              2,
		"INTERACTION_RESPONSE_SOURCE_KIND_CHANNEL_CALLBACK": 3,
		"INTERACTION_RESPONSE_SOURCE_KIND_SYSTEM":           4,
		"INTERACTION_RESPONSE_SOURCE_KIND_SERVICE":          5,
	}
)

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

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

func (InteractionResponseSourceKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[12].Descriptor()
}

func (InteractionResponseSourceKind) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[12]
}

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

// Deprecated: Use InteractionResponseSourceKind.Descriptor instead.
func (InteractionResponseSourceKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{12}
}

type NotificationKind int32

const (
	NotificationKind_NOTIFICATION_KIND_UNSPECIFIED       NotificationKind = 0
	NotificationKind_NOTIFICATION_KIND_STATUS            NotificationKind = 1
	NotificationKind_NOTIFICATION_KIND_REMINDER          NotificationKind = 2
	NotificationKind_NOTIFICATION_KIND_ERROR             NotificationKind = 3
	NotificationKind_NOTIFICATION_KIND_ATTENTION         NotificationKind = 4
	NotificationKind_NOTIFICATION_KIND_DECISION_REQUIRED NotificationKind = 5
	NotificationKind_NOTIFICATION_KIND_OPS               NotificationKind = 6
)

// Enum value maps for NotificationKind.
var (
	NotificationKind_name = map[int32]string{
		0: "NOTIFICATION_KIND_UNSPECIFIED",
		1: "NOTIFICATION_KIND_STATUS",
		2: "NOTIFICATION_KIND_REMINDER",
		3: "NOTIFICATION_KIND_ERROR",
		4: "NOTIFICATION_KIND_ATTENTION",
		5: "NOTIFICATION_KIND_DECISION_REQUIRED",
		6: "NOTIFICATION_KIND_OPS",
	}
	NotificationKind_value = map[string]int32{
		"NOTIFICATION_KIND_UNSPECIFIED":       0,
		"NOTIFICATION_KIND_STATUS":            1,
		"NOTIFICATION_KIND_REMINDER":          2,
		"NOTIFICATION_KIND_ERROR":             3,
		"NOTIFICATION_KIND_ATTENTION":         4,
		"NOTIFICATION_KIND_DECISION_REQUIRED": 5,
		"NOTIFICATION_KIND_OPS":               6,
	}
)

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

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

func (NotificationKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[13].Descriptor()
}

func (NotificationKind) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[13]
}

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

// Deprecated: Use NotificationKind.Descriptor instead.
func (NotificationKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{13}
}

type NotificationPriority int32

const (
	NotificationPriority_NOTIFICATION_PRIORITY_UNSPECIFIED NotificationPriority = 0
	NotificationPriority_NOTIFICATION_PRIORITY_LOW         NotificationPriority = 1
	NotificationPriority_NOTIFICATION_PRIORITY_NORMAL      NotificationPriority = 2
	NotificationPriority_NOTIFICATION_PRIORITY_HIGH        NotificationPriority = 3
	NotificationPriority_NOTIFICATION_PRIORITY_URGENT      NotificationPriority = 4
)

// Enum value maps for NotificationPriority.
var (
	NotificationPriority_name = map[int32]string{
		0: "NOTIFICATION_PRIORITY_UNSPECIFIED",
		1: "NOTIFICATION_PRIORITY_LOW",
		2: "NOTIFICATION_PRIORITY_NORMAL",
		3: "NOTIFICATION_PRIORITY_HIGH",
		4: "NOTIFICATION_PRIORITY_URGENT",
	}
	NotificationPriority_value = map[string]int32{
		"NOTIFICATION_PRIORITY_UNSPECIFIED": 0,
		"NOTIFICATION_PRIORITY_LOW":         1,
		"NOTIFICATION_PRIORITY_NORMAL":      2,
		"NOTIFICATION_PRIORITY_HIGH":        3,
		"NOTIFICATION_PRIORITY_URGENT":      4,
	}
)

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

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

func (NotificationPriority) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[14].Descriptor()
}

func (NotificationPriority) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[14]
}

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

// Deprecated: Use NotificationPriority.Descriptor instead.
func (NotificationPriority) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{14}
}

type NotificationStatus int32

const (
	NotificationStatus_NOTIFICATION_STATUS_UNSPECIFIED  NotificationStatus = 0
	NotificationStatus_NOTIFICATION_STATUS_CREATED      NotificationStatus = 1
	NotificationStatus_NOTIFICATION_STATUS_QUEUED       NotificationStatus = 2
	NotificationStatus_NOTIFICATION_STATUS_DELIVERED    NotificationStatus = 3
	NotificationStatus_NOTIFICATION_STATUS_ACKNOWLEDGED NotificationStatus = 4
	NotificationStatus_NOTIFICATION_STATUS_EXPIRED      NotificationStatus = 5
	NotificationStatus_NOTIFICATION_STATUS_FAILED       NotificationStatus = 6
)

// Enum value maps for NotificationStatus.
var (
	NotificationStatus_name = map[int32]string{
		0: "NOTIFICATION_STATUS_UNSPECIFIED",
		1: "NOTIFICATION_STATUS_CREATED",
		2: "NOTIFICATION_STATUS_QUEUED",
		3: "NOTIFICATION_STATUS_DELIVERED",
		4: "NOTIFICATION_STATUS_ACKNOWLEDGED",
		5: "NOTIFICATION_STATUS_EXPIRED",
		6: "NOTIFICATION_STATUS_FAILED",
	}
	NotificationStatus_value = map[string]int32{
		"NOTIFICATION_STATUS_UNSPECIFIED":  0,
		"NOTIFICATION_STATUS_CREATED":      1,
		"NOTIFICATION_STATUS_QUEUED":       2,
		"NOTIFICATION_STATUS_DELIVERED":    3,
		"NOTIFICATION_STATUS_ACKNOWLEDGED": 4,
		"NOTIFICATION_STATUS_EXPIRED":      5,
		"NOTIFICATION_STATUS_FAILED":       6,
	}
)

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

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

func (NotificationStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[15].Descriptor()
}

func (NotificationStatus) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[15]
}

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

// Deprecated: Use NotificationStatus.Descriptor instead.
func (NotificationStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{15}
}

type SubscriptionStatus int32

const (
	SubscriptionStatus_SUBSCRIPTION_STATUS_UNSPECIFIED SubscriptionStatus = 0
	SubscriptionStatus_SUBSCRIPTION_STATUS_ACTIVE      SubscriptionStatus = 1
	SubscriptionStatus_SUBSCRIPTION_STATUS_PAUSED      SubscriptionStatus = 2
	SubscriptionStatus_SUBSCRIPTION_STATUS_DISABLED    SubscriptionStatus = 3
)

// Enum value maps for SubscriptionStatus.
var (
	SubscriptionStatus_name = map[int32]string{
		0: "SUBSCRIPTION_STATUS_UNSPECIFIED",
		1: "SUBSCRIPTION_STATUS_ACTIVE",
		2: "SUBSCRIPTION_STATUS_PAUSED",
		3: "SUBSCRIPTION_STATUS_DISABLED",
	}
	SubscriptionStatus_value = map[string]int32{
		"SUBSCRIPTION_STATUS_UNSPECIFIED": 0,
		"SUBSCRIPTION_STATUS_ACTIVE":      1,
		"SUBSCRIPTION_STATUS_PAUSED":      2,
		"SUBSCRIPTION_STATUS_DISABLED":    3,
	}
)

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

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

func (SubscriptionStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[16].Descriptor()
}

func (SubscriptionStatus) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[16]
}

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

// Deprecated: Use SubscriptionStatus.Descriptor instead.
func (SubscriptionStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{16}
}

type DeliverySurfaceKind int32

const (
	DeliverySurfaceKind_DELIVERY_SURFACE_KIND_UNSPECIFIED      DeliverySurfaceKind = 0
	DeliverySurfaceKind_DELIVERY_SURFACE_KIND_WEB_CONSOLE      DeliverySurfaceKind = 1
	DeliverySurfaceKind_DELIVERY_SURFACE_KIND_VOICE            DeliverySurfaceKind = 2
	DeliverySurfaceKind_DELIVERY_SURFACE_KIND_PROVIDER_SURFACE DeliverySurfaceKind = 3
	DeliverySurfaceKind_DELIVERY_SURFACE_KIND_CHANNEL_PACKAGE  DeliverySurfaceKind = 4
	DeliverySurfaceKind_DELIVERY_SURFACE_KIND_SYSTEM           DeliverySurfaceKind = 5
)

// Enum value maps for DeliverySurfaceKind.
var (
	DeliverySurfaceKind_name = map[int32]string{
		0: "DELIVERY_SURFACE_KIND_UNSPECIFIED",
		1: "DELIVERY_SURFACE_KIND_WEB_CONSOLE",
		2: "DELIVERY_SURFACE_KIND_VOICE",
		3: "DELIVERY_SURFACE_KIND_PROVIDER_SURFACE",
		4: "DELIVERY_SURFACE_KIND_CHANNEL_PACKAGE",
		5: "DELIVERY_SURFACE_KIND_SYSTEM",
	}
	DeliverySurfaceKind_value = map[string]int32{
		"DELIVERY_SURFACE_KIND_UNSPECIFIED":      0,
		"DELIVERY_SURFACE_KIND_WEB_CONSOLE":      1,
		"DELIVERY_SURFACE_KIND_VOICE":            2,
		"DELIVERY_SURFACE_KIND_PROVIDER_SURFACE": 3,
		"DELIVERY_SURFACE_KIND_CHANNEL_PACKAGE":  4,
		"DELIVERY_SURFACE_KIND_SYSTEM":           5,
	}
)

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

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

func (DeliverySurfaceKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[17].Descriptor()
}

func (DeliverySurfaceKind) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[17]
}

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

// Deprecated: Use DeliverySurfaceKind.Descriptor instead.
func (DeliverySurfaceKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{17}
}

type DeliveryRouteStatus int32

const (
	DeliveryRouteStatus_DELIVERY_ROUTE_STATUS_UNSPECIFIED DeliveryRouteStatus = 0
	DeliveryRouteStatus_DELIVERY_ROUTE_STATUS_ACTIVE      DeliveryRouteStatus = 1
	DeliveryRouteStatus_DELIVERY_ROUTE_STATUS_PAUSED      DeliveryRouteStatus = 2
	DeliveryRouteStatus_DELIVERY_ROUTE_STATUS_DISABLED    DeliveryRouteStatus = 3
)

// Enum value maps for DeliveryRouteStatus.
var (
	DeliveryRouteStatus_name = map[int32]string{
		0: "DELIVERY_ROUTE_STATUS_UNSPECIFIED",
		1: "DELIVERY_ROUTE_STATUS_ACTIVE",
		2: "DELIVERY_ROUTE_STATUS_PAUSED",
		3: "DELIVERY_ROUTE_STATUS_DISABLED",
	}
	DeliveryRouteStatus_value = map[string]int32{
		"DELIVERY_ROUTE_STATUS_UNSPECIFIED": 0,
		"DELIVERY_ROUTE_STATUS_ACTIVE":      1,
		"DELIVERY_ROUTE_STATUS_PAUSED":      2,
		"DELIVERY_ROUTE_STATUS_DISABLED":    3,
	}
)

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

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

func (DeliveryRouteStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[18].Descriptor()
}

func (DeliveryRouteStatus) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[18]
}

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

// Deprecated: Use DeliveryRouteStatus.Descriptor instead.
func (DeliveryRouteStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{18}
}

type DeliveryKind int32

const (
	DeliveryKind_DELIVERY_KIND_UNSPECIFIED  DeliveryKind = 0
	DeliveryKind_DELIVERY_KIND_FEEDBACK     DeliveryKind = 1
	DeliveryKind_DELIVERY_KIND_APPROVAL     DeliveryKind = 2
	DeliveryKind_DELIVERY_KIND_HUMAN_GATE   DeliveryKind = 3
	DeliveryKind_DELIVERY_KIND_NOTIFICATION DeliveryKind = 4
)

// Enum value maps for DeliveryKind.
var (
	DeliveryKind_name = map[int32]string{
		0: "DELIVERY_KIND_UNSPECIFIED",
		1: "DELIVERY_KIND_FEEDBACK",
		2: "DELIVERY_KIND_APPROVAL",
		3: "DELIVERY_KIND_HUMAN_GATE",
		4: "DELIVERY_KIND_NOTIFICATION",
	}
	DeliveryKind_value = map[string]int32{
		"DELIVERY_KIND_UNSPECIFIED":  0,
		"DELIVERY_KIND_FEEDBACK":     1,
		"DELIVERY_KIND_APPROVAL":     2,
		"DELIVERY_KIND_HUMAN_GATE":   3,
		"DELIVERY_KIND_NOTIFICATION": 4,
	}
)

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

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

func (DeliveryKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[19].Descriptor()
}

func (DeliveryKind) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[19]
}

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

// Deprecated: Use DeliveryKind.Descriptor instead.
func (DeliveryKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{19}
}

type DeliveryAttemptStatus int32

const (
	DeliveryAttemptStatus_DELIVERY_ATTEMPT_STATUS_UNSPECIFIED DeliveryAttemptStatus = 0
	DeliveryAttemptStatus_DELIVERY_ATTEMPT_STATUS_QUEUED      DeliveryAttemptStatus = 1
	DeliveryAttemptStatus_DELIVERY_ATTEMPT_STATUS_SENT        DeliveryAttemptStatus = 2
	DeliveryAttemptStatus_DELIVERY_ATTEMPT_STATUS_ACCEPTED    DeliveryAttemptStatus = 3
	DeliveryAttemptStatus_DELIVERY_ATTEMPT_STATUS_DELIVERED   DeliveryAttemptStatus = 4
	DeliveryAttemptStatus_DELIVERY_ATTEMPT_STATUS_FAILED      DeliveryAttemptStatus = 5
	DeliveryAttemptStatus_DELIVERY_ATTEMPT_STATUS_CANCELLED   DeliveryAttemptStatus = 6
	DeliveryAttemptStatus_DELIVERY_ATTEMPT_STATUS_EXPIRED     DeliveryAttemptStatus = 7
)

// Enum value maps for DeliveryAttemptStatus.
var (
	DeliveryAttemptStatus_name = map[int32]string{
		0: "DELIVERY_ATTEMPT_STATUS_UNSPECIFIED",
		1: "DELIVERY_ATTEMPT_STATUS_QUEUED",
		2: "DELIVERY_ATTEMPT_STATUS_SENT",
		3: "DELIVERY_ATTEMPT_STATUS_ACCEPTED",
		4: "DELIVERY_ATTEMPT_STATUS_DELIVERED",
		5: "DELIVERY_ATTEMPT_STATUS_FAILED",
		6: "DELIVERY_ATTEMPT_STATUS_CANCELLED",
		7: "DELIVERY_ATTEMPT_STATUS_EXPIRED",
	}
	DeliveryAttemptStatus_value = map[string]int32{
		"DELIVERY_ATTEMPT_STATUS_UNSPECIFIED": 0,
		"DELIVERY_ATTEMPT_STATUS_QUEUED":      1,
		"DELIVERY_ATTEMPT_STATUS_SENT":        2,
		"DELIVERY_ATTEMPT_STATUS_ACCEPTED":    3,
		"DELIVERY_ATTEMPT_STATUS_DELIVERED":   4,
		"DELIVERY_ATTEMPT_STATUS_FAILED":      5,
		"DELIVERY_ATTEMPT_STATUS_CANCELLED":   6,
		"DELIVERY_ATTEMPT_STATUS_EXPIRED":     7,
	}
)

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

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

func (DeliveryAttemptStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[20].Descriptor()
}

func (DeliveryAttemptStatus) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[20]
}

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

// Deprecated: Use DeliveryAttemptStatus.Descriptor instead.
func (DeliveryAttemptStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{20}
}

type DeliveryErrorClass int32

const (
	DeliveryErrorClass_DELIVERY_ERROR_CLASS_UNSPECIFIED  DeliveryErrorClass = 0
	DeliveryErrorClass_DELIVERY_ERROR_CLASS_TEMPORARY    DeliveryErrorClass = 1
	DeliveryErrorClass_DELIVERY_ERROR_CLASS_PERMANENT    DeliveryErrorClass = 2
	DeliveryErrorClass_DELIVERY_ERROR_CLASS_AUTH         DeliveryErrorClass = 3
	DeliveryErrorClass_DELIVERY_ERROR_CLASS_RATE_LIMITED DeliveryErrorClass = 4
	DeliveryErrorClass_DELIVERY_ERROR_CLASS_POLICY       DeliveryErrorClass = 5
)

// Enum value maps for DeliveryErrorClass.
var (
	DeliveryErrorClass_name = map[int32]string{
		0: "DELIVERY_ERROR_CLASS_UNSPECIFIED",
		1: "DELIVERY_ERROR_CLASS_TEMPORARY",
		2: "DELIVERY_ERROR_CLASS_PERMANENT",
		3: "DELIVERY_ERROR_CLASS_AUTH",
		4: "DELIVERY_ERROR_CLASS_RATE_LIMITED",
		5: "DELIVERY_ERROR_CLASS_POLICY",
	}
	DeliveryErrorClass_value = map[string]int32{
		"DELIVERY_ERROR_CLASS_UNSPECIFIED":  0,
		"DELIVERY_ERROR_CLASS_TEMPORARY":    1,
		"DELIVERY_ERROR_CLASS_PERMANENT":    2,
		"DELIVERY_ERROR_CLASS_AUTH":         3,
		"DELIVERY_ERROR_CLASS_RATE_LIMITED": 4,
		"DELIVERY_ERROR_CLASS_POLICY":       5,
	}
)

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

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

func (DeliveryErrorClass) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[21].Descriptor()
}

func (DeliveryErrorClass) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[21]
}

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

// Deprecated: Use DeliveryErrorClass.Descriptor instead.
func (DeliveryErrorClass) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{21}
}

type ChannelDeliveryResultStatus int32

const (
	ChannelDeliveryResultStatus_CHANNEL_DELIVERY_RESULT_STATUS_UNSPECIFIED ChannelDeliveryResultStatus = 0
	ChannelDeliveryResultStatus_CHANNEL_DELIVERY_RESULT_STATUS_ACCEPTED    ChannelDeliveryResultStatus = 1
	ChannelDeliveryResultStatus_CHANNEL_DELIVERY_RESULT_STATUS_DEFERRED    ChannelDeliveryResultStatus = 2
	ChannelDeliveryResultStatus_CHANNEL_DELIVERY_RESULT_STATUS_REJECTED    ChannelDeliveryResultStatus = 3
	ChannelDeliveryResultStatus_CHANNEL_DELIVERY_RESULT_STATUS_FAILED      ChannelDeliveryResultStatus = 4
	ChannelDeliveryResultStatus_CHANNEL_DELIVERY_RESULT_STATUS_DELIVERED   ChannelDeliveryResultStatus = 5
	ChannelDeliveryResultStatus_CHANNEL_DELIVERY_RESULT_STATUS_EXPIRED     ChannelDeliveryResultStatus = 6
)

// Enum value maps for ChannelDeliveryResultStatus.
var (
	ChannelDeliveryResultStatus_name = map[int32]string{
		0: "CHANNEL_DELIVERY_RESULT_STATUS_UNSPECIFIED",
		1: "CHANNEL_DELIVERY_RESULT_STATUS_ACCEPTED",
		2: "CHANNEL_DELIVERY_RESULT_STATUS_DEFERRED",
		3: "CHANNEL_DELIVERY_RESULT_STATUS_REJECTED",
		4: "CHANNEL_DELIVERY_RESULT_STATUS_FAILED",
		5: "CHANNEL_DELIVERY_RESULT_STATUS_DELIVERED",
		6: "CHANNEL_DELIVERY_RESULT_STATUS_EXPIRED",
	}
	ChannelDeliveryResultStatus_value = map[string]int32{
		"CHANNEL_DELIVERY_RESULT_STATUS_UNSPECIFIED": 0,
		"CHANNEL_DELIVERY_RESULT_STATUS_ACCEPTED":    1,
		"CHANNEL_DELIVERY_RESULT_STATUS_DEFERRED":    2,
		"CHANNEL_DELIVERY_RESULT_STATUS_REJECTED":    3,
		"CHANNEL_DELIVERY_RESULT_STATUS_FAILED":      4,
		"CHANNEL_DELIVERY_RESULT_STATUS_DELIVERED":   5,
		"CHANNEL_DELIVERY_RESULT_STATUS_EXPIRED":     6,
	}
)

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

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

func (ChannelDeliveryResultStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[22].Descriptor()
}

func (ChannelDeliveryResultStatus) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[22]
}

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

// Deprecated: Use ChannelDeliveryResultStatus.Descriptor instead.
func (ChannelDeliveryResultStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{22}
}

type CallbackSignatureStatus int32

const (
	CallbackSignatureStatus_CALLBACK_SIGNATURE_STATUS_UNSPECIFIED            CallbackSignatureStatus = 0
	CallbackSignatureStatus_CALLBACK_SIGNATURE_STATUS_VERIFIED               CallbackSignatureStatus = 1
	CallbackSignatureStatus_CALLBACK_SIGNATURE_STATUS_TRUSTED_INTERNAL       CallbackSignatureStatus = 2
	CallbackSignatureStatus_CALLBACK_SIGNATURE_STATUS_REJECTED_BEFORE_DOMAIN CallbackSignatureStatus = 3
)

// Enum value maps for CallbackSignatureStatus.
var (
	CallbackSignatureStatus_name = map[int32]string{
		0: "CALLBACK_SIGNATURE_STATUS_UNSPECIFIED",
		1: "CALLBACK_SIGNATURE_STATUS_VERIFIED",
		2: "CALLBACK_SIGNATURE_STATUS_TRUSTED_INTERNAL",
		3: "CALLBACK_SIGNATURE_STATUS_REJECTED_BEFORE_DOMAIN",
	}
	CallbackSignatureStatus_value = map[string]int32{
		"CALLBACK_SIGNATURE_STATUS_UNSPECIFIED":            0,
		"CALLBACK_SIGNATURE_STATUS_VERIFIED":               1,
		"CALLBACK_SIGNATURE_STATUS_TRUSTED_INTERNAL":       2,
		"CALLBACK_SIGNATURE_STATUS_REJECTED_BEFORE_DOMAIN": 3,
	}
)

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

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

func (CallbackSignatureStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[23].Descriptor()
}

func (CallbackSignatureStatus) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[23]
}

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

// Deprecated: Use CallbackSignatureStatus.Descriptor instead.
func (CallbackSignatureStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{23}
}

type CallbackProcessingStatus int32

const (
	CallbackProcessingStatus_CALLBACK_PROCESSING_STATUS_UNSPECIFIED CallbackProcessingStatus = 0
	CallbackProcessingStatus_CALLBACK_PROCESSING_STATUS_ACCEPTED    CallbackProcessingStatus = 1
	CallbackProcessingStatus_CALLBACK_PROCESSING_STATUS_DUPLICATE   CallbackProcessingStatus = 2
	CallbackProcessingStatus_CALLBACK_PROCESSING_STATUS_REJECTED    CallbackProcessingStatus = 3
	CallbackProcessingStatus_CALLBACK_PROCESSING_STATUS_FAILED      CallbackProcessingStatus = 4
)

// Enum value maps for CallbackProcessingStatus.
var (
	CallbackProcessingStatus_name = map[int32]string{
		0: "CALLBACK_PROCESSING_STATUS_UNSPECIFIED",
		1: "CALLBACK_PROCESSING_STATUS_ACCEPTED",
		2: "CALLBACK_PROCESSING_STATUS_DUPLICATE",
		3: "CALLBACK_PROCESSING_STATUS_REJECTED",
		4: "CALLBACK_PROCESSING_STATUS_FAILED",
	}
	CallbackProcessingStatus_value = map[string]int32{
		"CALLBACK_PROCESSING_STATUS_UNSPECIFIED": 0,
		"CALLBACK_PROCESSING_STATUS_ACCEPTED":    1,
		"CALLBACK_PROCESSING_STATUS_DUPLICATE":   2,
		"CALLBACK_PROCESSING_STATUS_REJECTED":    3,
		"CALLBACK_PROCESSING_STATUS_FAILED":      4,
	}
)

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

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

func (CallbackProcessingStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_interactions_v1_interaction_hub_proto_enumTypes[24].Descriptor()
}

func (CallbackProcessingStatus) Type() protoreflect.EnumType {
	return &file_kodex_interactions_v1_interaction_hub_proto_enumTypes[24]
}

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

// Deprecated: Use CallbackProcessingStatus.Descriptor instead.
func (CallbackProcessingStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP(), []int{24}
}

// CommandMeta is required for every mutating command.
type CommandMeta struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// command_id is a unique command identifier. Either command_id or idempotency_key is required.
	CommandId *string `protobuf:"bytes,1,opt,name=command_id,json=commandId,proto3,oneof" json:"command_id,omitempty"`
	// idempotency_key is an idempotency key scoped by operation and actor.
	IdempotencyKey *string `protobuf:"bytes,2,opt,name=idempotency_key,json=idempotencyKey,proto3,oneof" json:"idempotency_key,omitempty"`
	// expected_version is present only for existing aggregate mutations.
	ExpectedVersion *int64 `protobuf:"varint,3,opt,name=expected_version,json=expectedVersion,proto3,oneof" json:"expected_version,omitempty"`
	// actor is the authenticated caller.
	Actor *Actor `protobuf:"bytes,4,opt,name=actor,proto3" json:"actor,omitempty"`
	// reason is a machine or operator reason for audit and domain events.
	Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
	// request_id links the command to logs, traces and audit.
	RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// request_context carries safe request metadata; no tokens, secrets, email or names.
	RequestContext *RequestContext `protobuf:"bytes,7,opt,name=request_context,json=requestContext,proto3" json:"request_context,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*CommandMeta) ProtoMessage() {}

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

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

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

func (x *CommandMeta) GetExpectedVersion() int64 {
	if x != nil && x.ExpectedVersion != nil {
		return *x.ExpectedVersion
	}
	return 0
}

func (x *CommandMeta) GetActor() *Actor {
	if x != nil {
		return x.Actor
	}
	return nil
}

func (x *CommandMeta) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *CommandMeta) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *CommandMeta) GetRequestContext() *RequestContext {
	if x != nil {
		return x.RequestContext
	}
	return nil
}

// QueryMeta carries safe metadata for authoritative reads.
type QueryMeta struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// actor is the authenticated caller.
	Actor *Actor `protobuf:"bytes,1,opt,name=actor,proto3" json:"actor,omitempty"`
	// request_id links the read to logs and traces.
	RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// request_context carries safe request metadata.
	RequestContext *RequestContext `protobuf:"bytes,3,opt,name=request_context,json=requestContext,proto3" json:"request_context,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*QueryMeta) ProtoMessage() {}

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

func (x *QueryMeta) GetActor() *Actor {
	if x != nil {
		return x.Actor
	}
	return nil
}

func (x *QueryMeta) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *QueryMeta) GetRequestContext() *RequestContext {
	if x != nil {
		return x.RequestContext
	}
	return nil
}

// RequestContext is safe request metadata used for audit and diagnostics.
type RequestContext struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// source identifies caller surface, for example staff-gateway, platform-mcp-server or service.
	Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
	// trace_id links platform traces.
	TraceId *string `protobuf:"bytes,2,opt,name=trace_id,json=traceId,proto3,oneof" json:"trace_id,omitempty"`
	// session_id links a user session when available.
	SessionId *string `protobuf:"bytes,3,opt,name=session_id,json=sessionId,proto3,oneof" json:"session_id,omitempty"`
	// client_ip_hash is an optional hashed client address.
	ClientIpHash  *string `protobuf:"bytes,4,opt,name=client_ip_hash,json=clientIpHash,proto3,oneof" json:"client_ip_hash,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RequestContext) ProtoMessage() {}

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

func (x *RequestContext) GetSource() string {
	if x != nil {
		return x.Source
	}
	return ""
}

func (x *RequestContext) GetTraceId() string {
	if x != nil && x.TraceId != nil {
		return *x.TraceId
	}
	return ""
}

func (x *RequestContext) GetSessionId() string {
	if x != nil && x.SessionId != nil {
		return *x.SessionId
	}
	return ""
}

func (x *RequestContext) GetClientIpHash() string {
	if x != nil && x.ClientIpHash != nil {
		return *x.ClientIpHash
	}
	return ""
}

// Actor identifies a user, service, agent or external account.
type Actor struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// type is a subject type such as user, service, agent or external_account.
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// id is the subject identifier in its owner domain.
	Id            string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Actor) ProtoMessage() {}

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

func (x *Actor) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *Actor) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// PageRequest limits list responses.
type PageRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// page_size is the maximum item count requested by caller.
	PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// page_token is an opaque continuation token returned by a previous call.
	PageToken     *string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3,oneof" json:"page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PageRequest) ProtoMessage() {}

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

func (x *PageRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *PageRequest) GetPageToken() string {
	if x != nil && x.PageToken != nil {
		return *x.PageToken
	}
	return ""
}

// PageResponse describes list continuation state.
type PageResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// next_page_token is empty when there are no more items.
	NextPageToken *string `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken,proto3,oneof" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PageResponse) ProtoMessage() {}

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

func (x *PageResponse) GetNextPageToken() string {
	if x != nil && x.NextPageToken != nil {
		return *x.NextPageToken
	}
	return ""
}

// ScopeRef identifies the platform scope for an interaction.
type ScopeRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// type classifies the scope.
	Type InteractionScopeType `protobuf:"varint,1,opt,name=type,proto3,enum=kodex.interactions.v1.InteractionScopeType" json:"type,omitempty"`
	// ref is an external scope identifier owned by another domain.
	Ref           string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ScopeRef) ProtoMessage() {}

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

func (x *ScopeRef) GetType() InteractionScopeType {
	if x != nil {
		return x.Type
	}
	return InteractionScopeType_INTERACTION_SCOPE_TYPE_UNSPECIFIED
}

func (x *ScopeRef) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

// ObjectRef points to object storage without embedding object content.
type ObjectRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// object_uri points to S3-compatible object storage.
	ObjectUri string `protobuf:"bytes,1,opt,name=object_uri,json=objectUri,proto3" json:"object_uri,omitempty"`
	// object_digest is a digest used for integrity checks.
	ObjectDigest string `protobuf:"bytes,2,opt,name=object_digest,json=objectDigest,proto3" json:"object_digest,omitempty"`
	// object_size_bytes is optional object size for limits and retention.
	ObjectSizeBytes *int64 `protobuf:"varint,3,opt,name=object_size_bytes,json=objectSizeBytes,proto3,oneof" json:"object_size_bytes,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*ObjectRef) ProtoMessage() {}

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

func (x *ObjectRef) GetObjectUri() string {
	if x != nil {
		return x.ObjectUri
	}
	return ""
}

func (x *ObjectRef) GetObjectDigest() string {
	if x != nil {
		return x.ObjectDigest
	}
	return ""
}

func (x *ObjectRef) GetObjectSizeBytes() int64 {
	if x != nil && x.ObjectSizeBytes != nil {
		return *x.ObjectSizeBytes
	}
	return 0
}

// ExternalRef points to another domain aggregate without creating ownership.
type ExternalRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ref_kind classifies the referenced object, for example agent_run or provider_operation.
	RefKind string `protobuf:"bytes,1,opt,name=ref_kind,json=refKind,proto3" json:"ref_kind,omitempty"`
	// ref is the owner-domain identifier.
	Ref           string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ExternalRef) ProtoMessage() {}

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

func (x *ExternalRef) GetRefKind() string {
	if x != nil {
		return x.RefKind
	}
	return ""
}

func (x *ExternalRef) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

// ActorRef is a safe target, recipient or response actor reference.
type ActorRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ref_kind classifies the actor reference, for example user, group, role or service.
	RefKind string `protobuf:"bytes,1,opt,name=ref_kind,json=refKind,proto3" json:"ref_kind,omitempty"`
	// ref is the owner-domain identifier.
	Ref           string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ActorRef) ProtoMessage() {}

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

func (x *ActorRef) GetRefKind() string {
	if x != nil {
		return x.RefKind
	}
	return ""
}

func (x *ActorRef) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

// SourceOwnerRef identifies the business owner of the scenario that requested interaction.
type SourceOwnerRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// kind identifies the owner service or scenario.
	Kind SourceOwnerKind `protobuf:"varint,1,opt,name=kind,proto3,enum=kodex.interactions.v1.SourceOwnerKind" json:"kind,omitempty"`
	// ref points to the owner-domain aggregate, for example run, gate request or provider operation.
	Ref           *string `protobuf:"bytes,2,opt,name=ref,proto3,oneof" json:"ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SourceOwnerRef) ProtoMessage() {}

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

func (x *SourceOwnerRef) GetKind() SourceOwnerKind {
	if x != nil {
		return x.Kind
	}
	return SourceOwnerKind_SOURCE_OWNER_KIND_UNSPECIFIED
}

func (x *SourceOwnerRef) GetRef() string {
	if x != nil && x.Ref != nil {
		return *x.Ref
	}
	return ""
}

// IngressRef identifies the transport or ingress path that carried the command.
type IngressRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// kind identifies the ingress route.
	Kind IngressKind `protobuf:"varint,1,opt,name=kind,proto3,enum=kodex.interactions.v1.IngressKind" json:"kind,omitempty"`
	// ref points to the ingress command, hook event or gateway request when available.
	Ref           *string `protobuf:"bytes,2,opt,name=ref,proto3,oneof" json:"ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*IngressRef) ProtoMessage() {}

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

func (x *IngressRef) GetKind() IngressKind {
	if x != nil {
		return x.Kind
	}
	return IngressKind_INGRESS_KIND_UNSPECIFIED
}

func (x *IngressRef) GetRef() string {
	if x != nil && x.Ref != nil {
		return *x.Ref
	}
	return ""
}

// DecisionOwnerRef identifies the service that owns the business decision.
type DecisionOwnerRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// owner_kind is the service that validates and records the final business decision.
	OwnerKind DecisionOwnerKind `protobuf:"varint,1,opt,name=owner_kind,json=ownerKind,proto3,enum=kodex.interactions.v1.DecisionOwnerKind" json:"owner_kind,omitempty"`
	// owner_request_ref points to the owner-domain request or gate record.
	OwnerRequestRef string `protobuf:"bytes,2,opt,name=owner_request_ref,json=ownerRequestRef,proto3" json:"owner_request_ref,omitempty"`
	// owner_decision_ref points to a final owner-domain decision when it already exists.
	OwnerDecisionRef *string `protobuf:"bytes,3,opt,name=owner_decision_ref,json=ownerDecisionRef,proto3,oneof" json:"owner_decision_ref,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*DecisionOwnerRef) ProtoMessage() {}

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

func (x *DecisionOwnerRef) GetOwnerKind() DecisionOwnerKind {
	if x != nil {
		return x.OwnerKind
	}
	return DecisionOwnerKind_DECISION_OWNER_KIND_UNSPECIFIED
}

func (x *DecisionOwnerRef) GetOwnerRequestRef() string {
	if x != nil {
		return x.OwnerRequestRef
	}
	return ""
}

func (x *DecisionOwnerRef) GetOwnerDecisionRef() string {
	if x != nil && x.OwnerDecisionRef != nil {
		return *x.OwnerDecisionRef
	}
	return ""
}

// InteractionAction describes an action a human can choose in an interaction.
type InteractionAction struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// action_key is a stable action key such as answer, approve, reject, defer or acknowledge.
	ActionKey string `protobuf:"bytes,1,opt,name=action_key,json=actionKey,proto3" json:"action_key,omitempty"`
	// label_template_ref points to a localized label template.
	LabelTemplateRef *string `protobuf:"bytes,2,opt,name=label_template_ref,json=labelTemplateRef,proto3,oneof" json:"label_template_ref,omitempty"`
	// is_terminal tells whether this action resolves the interaction request lifecycle.
	IsTerminal    bool `protobuf:"varint,3,opt,name=is_terminal,json=isTerminal,proto3" json:"is_terminal,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*InteractionAction) ProtoMessage() {}

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

func (x *InteractionAction) GetActionKey() string {
	if x != nil {
		return x.ActionKey
	}
	return ""
}

func (x *InteractionAction) GetLabelTemplateRef() string {
	if x != nil && x.LabelTemplateRef != nil {
		return *x.LabelTemplateRef
	}
	return ""
}

func (x *InteractionAction) GetIsTerminal() bool {
	if x != nil {
		return x.IsTerminal
	}
	return false
}

// ConversationThread stores platform-owned conversation lifecycle.
type ConversationThread struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the thread identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// scope is the thread scope.
	Scope *ScopeRef `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	// thread_kind classifies the thread.
	ThreadKind ConversationThreadKind `protobuf:"varint,3,opt,name=thread_kind,json=threadKind,proto3,enum=kodex.interactions.v1.ConversationThreadKind" json:"thread_kind,omitempty"`
	// primary_actor_ref is the actor that initiated or owns the thread when known.
	PrimaryActorRef *string `protobuf:"bytes,4,opt,name=primary_actor_ref,json=primaryActorRef,proto3,oneof" json:"primary_actor_ref,omitempty"`
	// source_kind identifies the surface or service that opened the thread.
	SourceKind ConversationSourceKind `protobuf:"varint,5,opt,name=source_kind,json=sourceKind,proto3,enum=kodex.interactions.v1.ConversationSourceKind" json:"source_kind,omitempty"`
	// source_ref is an optional safe source reference.
	SourceRef *string `protobuf:"bytes,6,opt,name=source_ref,json=sourceRef,proto3,oneof" json:"source_ref,omitempty"`
	// status is the current thread lifecycle state.
	Status ConversationThreadStatus `protobuf:"varint,7,opt,name=status,proto3,enum=kodex.interactions.v1.ConversationThreadStatus" json:"status,omitempty"`
	// latest_message_id points to the latest message when one exists.
	LatestMessageId *string `protobuf:"bytes,8,opt,name=latest_message_id,json=latestMessageId,proto3,oneof" json:"latest_message_id,omitempty"`
	// correlation_id links the thread to neighboring context and traces.
	CorrelationId string `protobuf:"bytes,9,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	// retention_class selects the message and attachment retention policy.
	RetentionClass string `protobuf:"bytes,10,opt,name=retention_class,json=retentionClass,proto3" json:"retention_class,omitempty"`
	// version is used for optimistic concurrency.
	Version int64 `protobuf:"varint,11,opt,name=version,proto3" json:"version,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp.
	UpdatedAt string `protobuf:"bytes,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// closed_at is set when the thread becomes terminal.
	ClosedAt      *string `protobuf:"bytes,14,opt,name=closed_at,json=closedAt,proto3,oneof" json:"closed_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ConversationThread) ProtoMessage() {}

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

func (x *ConversationThread) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ConversationThread) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *ConversationThread) GetThreadKind() ConversationThreadKind {
	if x != nil {
		return x.ThreadKind
	}
	return ConversationThreadKind_CONVERSATION_THREAD_KIND_UNSPECIFIED
}

func (x *ConversationThread) GetPrimaryActorRef() string {
	if x != nil && x.PrimaryActorRef != nil {
		return *x.PrimaryActorRef
	}
	return ""
}

func (x *ConversationThread) GetSourceKind() ConversationSourceKind {
	if x != nil {
		return x.SourceKind
	}
	return ConversationSourceKind_CONVERSATION_SOURCE_KIND_UNSPECIFIED
}

func (x *ConversationThread) GetSourceRef() string {
	if x != nil && x.SourceRef != nil {
		return *x.SourceRef
	}
	return ""
}

func (x *ConversationThread) GetStatus() ConversationThreadStatus {
	if x != nil {
		return x.Status
	}
	return ConversationThreadStatus_CONVERSATION_THREAD_STATUS_UNSPECIFIED
}

func (x *ConversationThread) GetLatestMessageId() string {
	if x != nil && x.LatestMessageId != nil {
		return *x.LatestMessageId
	}
	return ""
}

func (x *ConversationThread) GetCorrelationId() string {
	if x != nil {
		return x.CorrelationId
	}
	return ""
}

func (x *ConversationThread) GetRetentionClass() string {
	if x != nil {
		return x.RetentionClass
	}
	return ""
}

func (x *ConversationThread) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

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

func (x *ConversationThread) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *ConversationThread) GetClosedAt() string {
	if x != nil && x.ClosedAt != nil {
		return *x.ClosedAt
	}
	return ""
}

// ConversationMessage stores a safe message summary in a thread.
type ConversationMessage struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the message identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// thread_id is the owning thread.
	ThreadId string `protobuf:"bytes,2,opt,name=thread_id,json=threadId,proto3" json:"thread_id,omitempty"`
	// message_kind classifies the message.
	MessageKind ConversationMessageKind `protobuf:"varint,3,opt,name=message_kind,json=messageKind,proto3,enum=kodex.interactions.v1.ConversationMessageKind" json:"message_kind,omitempty"`
	// author_ref is a safe actor, agent, service or channel package reference.
	AuthorRef string `protobuf:"bytes,4,opt,name=author_ref,json=authorRef,proto3" json:"author_ref,omitempty"`
	// body_summary is a bounded safe summary.
	BodySummary *string `protobuf:"bytes,5,opt,name=body_summary,json=bodySummary,proto3,oneof" json:"body_summary,omitempty"`
	// body_object points to full text or attachments after policy-controlled storage.
	BodyObject *ObjectRef `protobuf:"bytes,6,opt,name=body_object,json=bodyObject,proto3,oneof" json:"body_object,omitempty"`
	// body_digest is the digest of the full body when stored outside PostgreSQL.
	BodyDigest *string `protobuf:"bytes,7,opt,name=body_digest,json=bodyDigest,proto3,oneof" json:"body_digest,omitempty"`
	// locale is a BCP 47 locale code when known.
	Locale *string `protobuf:"bytes,8,opt,name=locale,proto3,oneof" json:"locale,omitempty"`
	// safe_metadata carries small non-secret diagnostic keys.
	SafeMetadata map[string]string `protobuf:"bytes,9,rep,name=safe_metadata,json=safeMetadata,proto3" json:"safe_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// created_at is an RFC3339 timestamp.
	CreatedAt     string `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ConversationMessage) ProtoMessage() {}

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

func (x *ConversationMessage) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ConversationMessage) GetThreadId() string {
	if x != nil {
		return x.ThreadId
	}
	return ""
}

func (x *ConversationMessage) GetMessageKind() ConversationMessageKind {
	if x != nil {
		return x.MessageKind
	}
	return ConversationMessageKind_CONVERSATION_MESSAGE_KIND_UNSPECIFIED
}

func (x *ConversationMessage) GetAuthorRef() string {
	if x != nil {
		return x.AuthorRef
	}
	return ""
}

func (x *ConversationMessage) GetBodySummary() string {
	if x != nil && x.BodySummary != nil {
		return *x.BodySummary
	}
	return ""
}

func (x *ConversationMessage) GetBodyObject() *ObjectRef {
	if x != nil {
		return x.BodyObject
	}
	return nil
}

func (x *ConversationMessage) GetBodyDigest() string {
	if x != nil && x.BodyDigest != nil {
		return *x.BodyDigest
	}
	return ""
}

func (x *ConversationMessage) GetLocale() string {
	if x != nil && x.Locale != nil {
		return *x.Locale
	}
	return ""
}

func (x *ConversationMessage) GetSafeMetadata() map[string]string {
	if x != nil {
		return x.SafeMetadata
	}
	return nil
}

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

// InteractionRequest stores the delivery/request lifecycle for feedback,
// approval and Human gate interactions. It does not own the final governance,
// agent-manager or provider decision state.
type InteractionRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the request identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// request_kind classifies the request.
	RequestKind InteractionRequestKind `protobuf:"varint,2,opt,name=request_kind,json=requestKind,proto3,enum=kodex.interactions.v1.InteractionRequestKind" json:"request_kind,omitempty"`
	// scope is the request scope.
	Scope *ScopeRef `protobuf:"bytes,3,opt,name=scope,proto3" json:"scope,omitempty"`
	// thread_id links an optional conversation thread.
	ThreadId *string `protobuf:"bytes,4,opt,name=thread_id,json=threadId,proto3,oneof" json:"thread_id,omitempty"`
	// source_owner identifies the business owner that asked for the interaction.
	SourceOwner *SourceOwnerRef `protobuf:"bytes,5,opt,name=source_owner,json=sourceOwner,proto3" json:"source_owner,omitempty"`
	// ingress identifies the transport route that carried the command.
	Ingress *IngressRef `protobuf:"bytes,6,opt,name=ingress,proto3" json:"ingress,omitempty"`
	// decision_owner identifies the service that owns the resulting business decision.
	DecisionOwner *DecisionOwnerRef `protobuf:"bytes,7,opt,name=decision_owner,json=decisionOwner,proto3,oneof" json:"decision_owner,omitempty"`
	// target_refs are safe refs for users, groups or roles that may respond.
	TargetRefs []*ActorRef `protobuf:"bytes,8,rep,name=target_refs,json=targetRefs,proto3" json:"target_refs,omitempty"`
	// context_refs point to run, session, provider, runtime, package or incident context.
	ContextRefs []*ExternalRef `protobuf:"bytes,9,rep,name=context_refs,json=contextRefs,proto3" json:"context_refs,omitempty"`
	// prompt_summary is a bounded safe request text.
	PromptSummary string `protobuf:"bytes,10,opt,name=prompt_summary,json=promptSummary,proto3" json:"prompt_summary,omitempty"`
	// prompt_object points to full evidence or prompt content after sanitization.
	PromptObject *ObjectRef `protobuf:"bytes,11,opt,name=prompt_object,json=promptObject,proto3,oneof" json:"prompt_object,omitempty"`
	// allowed_actions lists actions the interaction lifecycle can accept.
	AllowedActions []*InteractionAction `protobuf:"bytes,12,rep,name=allowed_actions,json=allowedActions,proto3" json:"allowed_actions,omitempty"`
	// risk_class is a safe classification copied from the owner context when relevant.
	RiskClass InteractionRiskClass `protobuf:"varint,13,opt,name=risk_class,json=riskClass,proto3,enum=kodex.interactions.v1.InteractionRiskClass" json:"risk_class,omitempty"`
	// status is the interaction request lifecycle status.
	Status InteractionRequestStatus `protobuf:"varint,14,opt,name=status,proto3,enum=kodex.interactions.v1.InteractionRequestStatus" json:"status,omitempty"`
	// deadline_at is an RFC3339 timestamp when the request expires.
	DeadlineAt *string `protobuf:"bytes,15,opt,name=deadline_at,json=deadlineAt,proto3,oneof" json:"deadline_at,omitempty"`
	// reminder_policy_ref points to policy data owned by interaction-hub or governance.
	ReminderPolicyRef *string `protobuf:"bytes,16,opt,name=reminder_policy_ref,json=reminderPolicyRef,proto3,oneof" json:"reminder_policy_ref,omitempty"`
	// version is used for optimistic concurrency.
	Version int64 `protobuf:"varint,17,opt,name=version,proto3" json:"version,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,18,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp.
	UpdatedAt string `protobuf:"bytes,19,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// resolved_at is set when the request reaches a terminal state.
	ResolvedAt    *string `protobuf:"bytes,20,opt,name=resolved_at,json=resolvedAt,proto3,oneof" json:"resolved_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*InteractionRequest) ProtoMessage() {}

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

func (x *InteractionRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *InteractionRequest) GetRequestKind() InteractionRequestKind {
	if x != nil {
		return x.RequestKind
	}
	return InteractionRequestKind_INTERACTION_REQUEST_KIND_UNSPECIFIED
}

func (x *InteractionRequest) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *InteractionRequest) GetThreadId() string {
	if x != nil && x.ThreadId != nil {
		return *x.ThreadId
	}
	return ""
}

func (x *InteractionRequest) GetSourceOwner() *SourceOwnerRef {
	if x != nil {
		return x.SourceOwner
	}
	return nil
}

func (x *InteractionRequest) GetIngress() *IngressRef {
	if x != nil {
		return x.Ingress
	}
	return nil
}

func (x *InteractionRequest) GetDecisionOwner() *DecisionOwnerRef {
	if x != nil {
		return x.DecisionOwner
	}
	return nil
}

func (x *InteractionRequest) GetTargetRefs() []*ActorRef {
	if x != nil {
		return x.TargetRefs
	}
	return nil
}

func (x *InteractionRequest) GetContextRefs() []*ExternalRef {
	if x != nil {
		return x.ContextRefs
	}
	return nil
}

func (x *InteractionRequest) GetPromptSummary() string {
	if x != nil {
		return x.PromptSummary
	}
	return ""
}

func (x *InteractionRequest) GetPromptObject() *ObjectRef {
	if x != nil {
		return x.PromptObject
	}
	return nil
}

func (x *InteractionRequest) GetAllowedActions() []*InteractionAction {
	if x != nil {
		return x.AllowedActions
	}
	return nil
}

func (x *InteractionRequest) GetRiskClass() InteractionRiskClass {
	if x != nil {
		return x.RiskClass
	}
	return InteractionRiskClass_INTERACTION_RISK_CLASS_UNSPECIFIED
}

func (x *InteractionRequest) GetStatus() InteractionRequestStatus {
	if x != nil {
		return x.Status
	}
	return InteractionRequestStatus_INTERACTION_REQUEST_STATUS_UNSPECIFIED
}

func (x *InteractionRequest) GetDeadlineAt() string {
	if x != nil && x.DeadlineAt != nil {
		return *x.DeadlineAt
	}
	return ""
}

func (x *InteractionRequest) GetReminderPolicyRef() string {
	if x != nil && x.ReminderPolicyRef != nil {
		return *x.ReminderPolicyRef
	}
	return ""
}

func (x *InteractionRequest) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

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

func (x *InteractionRequest) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *InteractionRequest) GetResolvedAt() string {
	if x != nil && x.ResolvedAt != nil {
		return *x.ResolvedAt
	}
	return ""
}

// InteractionResponse records a human response captured by interaction-hub. The
// owner service decides whether and how this response changes its own state.
type InteractionResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the response identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// request_id is the interaction request being answered.
	RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// response_action is the normalized human action.
	ResponseAction InteractionResponseAction `protobuf:"varint,3,opt,name=response_action,json=responseAction,proto3,enum=kodex.interactions.v1.InteractionResponseAction" json:"response_action,omitempty"`
	// responded_by_actor_ref is the verified platform actor or external subject.
	RespondedByActorRef string `protobuf:"bytes,4,opt,name=responded_by_actor_ref,json=respondedByActorRef,proto3" json:"responded_by_actor_ref,omitempty"`
	// response_summary is a bounded safe answer summary.
	ResponseSummary *string `protobuf:"bytes,5,opt,name=response_summary,json=responseSummary,proto3,oneof" json:"response_summary,omitempty"`
	// response_object points to full response content after sanitization.
	ResponseObject *ObjectRef `protobuf:"bytes,6,opt,name=response_object,json=responseObject,proto3,oneof" json:"response_object,omitempty"`
	// source_kind identifies where the response came from.
	SourceKind InteractionResponseSourceKind `protobuf:"varint,7,opt,name=source_kind,json=sourceKind,proto3,enum=kodex.interactions.v1.InteractionResponseSourceKind" json:"source_kind,omitempty"`
	// source_ref points to callback, message or command record when available.
	SourceRef *string `protobuf:"bytes,8,opt,name=source_ref,json=sourceRef,proto3,oneof" json:"source_ref,omitempty"`
	// owner_decision_ref points to the final owner-domain decision if already recorded.
	OwnerDecisionRef *string `protobuf:"bytes,9,opt,name=owner_decision_ref,json=ownerDecisionRef,proto3,oneof" json:"owner_decision_ref,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt     string `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*InteractionResponse) ProtoMessage() {}

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

func (x *InteractionResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *InteractionResponse) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *InteractionResponse) GetResponseAction() InteractionResponseAction {
	if x != nil {
		return x.ResponseAction
	}
	return InteractionResponseAction_INTERACTION_RESPONSE_ACTION_UNSPECIFIED
}

func (x *InteractionResponse) GetRespondedByActorRef() string {
	if x != nil {
		return x.RespondedByActorRef
	}
	return ""
}

func (x *InteractionResponse) GetResponseSummary() string {
	if x != nil && x.ResponseSummary != nil {
		return *x.ResponseSummary
	}
	return ""
}

func (x *InteractionResponse) GetResponseObject() *ObjectRef {
	if x != nil {
		return x.ResponseObject
	}
	return nil
}

func (x *InteractionResponse) GetSourceKind() InteractionResponseSourceKind {
	if x != nil {
		return x.SourceKind
	}
	return InteractionResponseSourceKind_INTERACTION_RESPONSE_SOURCE_KIND_UNSPECIFIED
}

func (x *InteractionResponse) GetSourceRef() string {
	if x != nil && x.SourceRef != nil {
		return *x.SourceRef
	}
	return ""
}

func (x *InteractionResponse) GetOwnerDecisionRef() string {
	if x != nil && x.OwnerDecisionRef != nil {
		return *x.OwnerDecisionRef
	}
	return ""
}

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

// Notification stores one-way notification or reminder lifecycle.
type Notification struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the notification identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// scope is the notification scope.
	Scope *ScopeRef `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	// notification_kind classifies the notification.
	NotificationKind NotificationKind `protobuf:"varint,3,opt,name=notification_kind,json=notificationKind,proto3,enum=kodex.interactions.v1.NotificationKind" json:"notification_kind,omitempty"`
	// request_id points to an interaction request when the notification is a reminder.
	RequestId *string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"`
	// subscription_id points to the subscription that created the notification.
	SubscriptionId *string `protobuf:"bytes,5,opt,name=subscription_id,json=subscriptionId,proto3,oneof" json:"subscription_id,omitempty"`
	// recipient_refs are safe refs for users, groups or roles.
	RecipientRefs []*ActorRef `protobuf:"bytes,6,rep,name=recipient_refs,json=recipientRefs,proto3" json:"recipient_refs,omitempty"`
	// message_template_ref points to a localized message template.
	MessageTemplateRef string `protobuf:"bytes,7,opt,name=message_template_ref,json=messageTemplateRef,proto3" json:"message_template_ref,omitempty"`
	// message_summary is a bounded safe summary.
	MessageSummary string `protobuf:"bytes,8,opt,name=message_summary,json=messageSummary,proto3" json:"message_summary,omitempty"`
	// priority classifies urgency.
	Priority NotificationPriority `protobuf:"varint,9,opt,name=priority,proto3,enum=kodex.interactions.v1.NotificationPriority" json:"priority,omitempty"`
	// status is the notification lifecycle status.
	Status NotificationStatus `protobuf:"varint,10,opt,name=status,proto3,enum=kodex.interactions.v1.NotificationStatus" json:"status,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp.
	UpdatedAt string `protobuf:"bytes,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// expires_at is an RFC3339 timestamp when notification is no longer useful.
	ExpiresAt *string `protobuf:"bytes,13,opt,name=expires_at,json=expiresAt,proto3,oneof" json:"expires_at,omitempty"`
	// source_owner identifies the business owner that requested the notification.
	SourceOwner *SourceOwnerRef `protobuf:"bytes,14,opt,name=source_owner,json=sourceOwner,proto3" json:"source_owner,omitempty"`
	// ingress identifies the route that carried the notification command.
	Ingress *IngressRef `protobuf:"bytes,15,opt,name=ingress,proto3" json:"ingress,omitempty"`
	// context_refs point to neighboring domain context without copying state.
	ContextRefs []*ExternalRef `protobuf:"bytes,16,rep,name=context_refs,json=contextRefs,proto3" json:"context_refs,omitempty"`
	// channel_hint_refs are generic channel/package/surface refs, not vendor-specific state.
	ChannelHintRefs []*ExternalRef `protobuf:"bytes,17,rep,name=channel_hint_refs,json=channelHintRefs,proto3" json:"channel_hint_refs,omitempty"`
	// notification_policy_ref points to notification policy without embedding policy JSON.
	NotificationPolicyRef *string `protobuf:"bytes,18,opt,name=notification_policy_ref,json=notificationPolicyRef,proto3,oneof" json:"notification_policy_ref,omitempty"`
	// message_title is a bounded safe display title.
	MessageTitle *string `protobuf:"bytes,19,opt,name=message_title,json=messageTitle,proto3,oneof" json:"message_title,omitempty"`
	// body_preview is a bounded safe body preview; raw transcripts/artifacts are not stored here.
	BodyPreview   *string `protobuf:"bytes,20,opt,name=body_preview,json=bodyPreview,proto3,oneof" json:"body_preview,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Notification) Reset() {
	*x = Notification{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Notification) ProtoMessage() {}

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

func (x *Notification) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Notification) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *Notification) GetNotificationKind() NotificationKind {
	if x != nil {
		return x.NotificationKind
	}
	return NotificationKind_NOTIFICATION_KIND_UNSPECIFIED
}

func (x *Notification) GetRequestId() string {
	if x != nil && x.RequestId != nil {
		return *x.RequestId
	}
	return ""
}

func (x *Notification) GetSubscriptionId() string {
	if x != nil && x.SubscriptionId != nil {
		return *x.SubscriptionId
	}
	return ""
}

func (x *Notification) GetRecipientRefs() []*ActorRef {
	if x != nil {
		return x.RecipientRefs
	}
	return nil
}

func (x *Notification) GetMessageTemplateRef() string {
	if x != nil {
		return x.MessageTemplateRef
	}
	return ""
}

func (x *Notification) GetMessageSummary() string {
	if x != nil {
		return x.MessageSummary
	}
	return ""
}

func (x *Notification) GetPriority() NotificationPriority {
	if x != nil {
		return x.Priority
	}
	return NotificationPriority_NOTIFICATION_PRIORITY_UNSPECIFIED
}

func (x *Notification) GetStatus() NotificationStatus {
	if x != nil {
		return x.Status
	}
	return NotificationStatus_NOTIFICATION_STATUS_UNSPECIFIED
}

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

func (x *Notification) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *Notification) GetExpiresAt() string {
	if x != nil && x.ExpiresAt != nil {
		return *x.ExpiresAt
	}
	return ""
}

func (x *Notification) GetSourceOwner() *SourceOwnerRef {
	if x != nil {
		return x.SourceOwner
	}
	return nil
}

func (x *Notification) GetIngress() *IngressRef {
	if x != nil {
		return x.Ingress
	}
	return nil
}

func (x *Notification) GetContextRefs() []*ExternalRef {
	if x != nil {
		return x.ContextRefs
	}
	return nil
}

func (x *Notification) GetChannelHintRefs() []*ExternalRef {
	if x != nil {
		return x.ChannelHintRefs
	}
	return nil
}

func (x *Notification) GetNotificationPolicyRef() string {
	if x != nil && x.NotificationPolicyRef != nil {
		return *x.NotificationPolicyRef
	}
	return ""
}

func (x *Notification) GetMessageTitle() string {
	if x != nil && x.MessageTitle != nil {
		return *x.MessageTitle
	}
	return ""
}

func (x *Notification) GetBodyPreview() string {
	if x != nil && x.BodyPreview != nil {
		return *x.BodyPreview
	}
	return ""
}

// Subscription stores canonical notification delivery preferences for a subscriber.
type Subscription struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the subscription identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// scope is the subscription scope.
	Scope *ScopeRef `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	// subscriber_ref points to actor, group, role or service principal.
	SubscriberRef *ActorRef `protobuf:"bytes,3,opt,name=subscriber_ref,json=subscriberRef,proto3" json:"subscriber_ref,omitempty"`
	// event_filter_json is bounded policy data without secrets.
	EventFilterJson string `protobuf:"bytes,4,opt,name=event_filter_json,json=eventFilterJson,proto3" json:"event_filter_json,omitempty"`
	// delivery_preferences_json describes generic surfaces and fallback policy, not concrete vendor state.
	DeliveryPreferencesJson string `protobuf:"bytes,5,opt,name=delivery_preferences_json,json=deliveryPreferencesJson,proto3" json:"delivery_preferences_json,omitempty"`
	// status is the subscription lifecycle status.
	Status SubscriptionStatus `protobuf:"varint,6,opt,name=status,proto3,enum=kodex.interactions.v1.SubscriptionStatus" json:"status,omitempty"`
	// version is used for optimistic concurrency.
	Version int64 `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp.
	UpdatedAt string `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// source_owner identifies the business owner that manages this subscription.
	SourceOwner *SourceOwnerRef `protobuf:"bytes,10,opt,name=source_owner,json=sourceOwner,proto3,oneof" json:"source_owner,omitempty"`
	// channel_hint_refs are generic channel/package/surface refs, not vendor-specific state.
	ChannelHintRefs []*ExternalRef `protobuf:"bytes,11,rep,name=channel_hint_refs,json=channelHintRefs,proto3" json:"channel_hint_refs,omitempty"`
	// subscription_policy_ref points to subscription policy without embedding policy JSON.
	SubscriptionPolicyRef *string `protobuf:"bytes,12,opt,name=subscription_policy_ref,json=subscriptionPolicyRef,proto3,oneof" json:"subscription_policy_ref,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *Subscription) Reset() {
	*x = Subscription{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Subscription) ProtoMessage() {}

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

func (x *Subscription) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Subscription) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *Subscription) GetSubscriberRef() *ActorRef {
	if x != nil {
		return x.SubscriberRef
	}
	return nil
}

func (x *Subscription) GetEventFilterJson() string {
	if x != nil {
		return x.EventFilterJson
	}
	return ""
}

func (x *Subscription) GetDeliveryPreferencesJson() string {
	if x != nil {
		return x.DeliveryPreferencesJson
	}
	return ""
}

func (x *Subscription) GetStatus() SubscriptionStatus {
	if x != nil {
		return x.Status
	}
	return SubscriptionStatus_SUBSCRIPTION_STATUS_UNSPECIFIED
}

func (x *Subscription) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

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

func (x *Subscription) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *Subscription) GetSourceOwner() *SourceOwnerRef {
	if x != nil {
		return x.SourceOwner
	}
	return nil
}

func (x *Subscription) GetChannelHintRefs() []*ExternalRef {
	if x != nil {
		return x.ChannelHintRefs
	}
	return nil
}

func (x *Subscription) GetSubscriptionPolicyRef() string {
	if x != nil && x.SubscriptionPolicyRef != nil {
		return *x.SubscriptionPolicyRef
	}
	return ""
}

// DeliveryRoute stores a selected generic route without owning package installation.
type DeliveryRoute struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the route identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// scope is the route scope.
	Scope *ScopeRef `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	// surface_kind identifies a generic delivery surface.
	SurfaceKind DeliverySurfaceKind `protobuf:"varint,3,opt,name=surface_kind,json=surfaceKind,proto3,enum=kodex.interactions.v1.DeliverySurfaceKind" json:"surface_kind,omitempty"`
	// channel_capability_ref points to package-hub channel capability when relevant.
	ChannelCapabilityRef *string `protobuf:"bytes,4,opt,name=channel_capability_ref,json=channelCapabilityRef,proto3,oneof" json:"channel_capability_ref,omitempty"`
	// package_installation_ref points to package-hub installation state when relevant.
	PackageInstallationRef *string `protobuf:"bytes,5,opt,name=package_installation_ref,json=packageInstallationRef,proto3,oneof" json:"package_installation_ref,omitempty"`
	// routing_policy_ref points to route policy without embedding secrets.
	RoutingPolicyRef *string `protobuf:"bytes,6,opt,name=routing_policy_ref,json=routingPolicyRef,proto3,oneof" json:"routing_policy_ref,omitempty"`
	// status is the route lifecycle status.
	Status DeliveryRouteStatus `protobuf:"varint,7,opt,name=status,proto3,enum=kodex.interactions.v1.DeliveryRouteStatus" json:"status,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp.
	UpdatedAt string `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// package_version_ref points to the selected package version without owning package truth.
	PackageVersionRef *string `protobuf:"bytes,10,opt,name=package_version_ref,json=packageVersionRef,proto3,oneof" json:"package_version_ref,omitempty"`
	// callback_route_ref points to a gateway-owned callback route when configured.
	CallbackRouteRef *string `protobuf:"bytes,11,opt,name=callback_route_ref,json=callbackRouteRef,proto3,oneof" json:"callback_route_ref,omitempty"`
	// runtime_ref points to the package-owned runtime boundary, not a Kubernetes workload.
	RuntimeRef    *string `protobuf:"bytes,12,opt,name=runtime_ref,json=runtimeRef,proto3,oneof" json:"runtime_ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeliveryRoute) Reset() {
	*x = DeliveryRoute{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeliveryRoute) ProtoMessage() {}

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

func (x *DeliveryRoute) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *DeliveryRoute) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *DeliveryRoute) GetSurfaceKind() DeliverySurfaceKind {
	if x != nil {
		return x.SurfaceKind
	}
	return DeliverySurfaceKind_DELIVERY_SURFACE_KIND_UNSPECIFIED
}

func (x *DeliveryRoute) GetChannelCapabilityRef() string {
	if x != nil && x.ChannelCapabilityRef != nil {
		return *x.ChannelCapabilityRef
	}
	return ""
}

func (x *DeliveryRoute) GetPackageInstallationRef() string {
	if x != nil && x.PackageInstallationRef != nil {
		return *x.PackageInstallationRef
	}
	return ""
}

func (x *DeliveryRoute) GetRoutingPolicyRef() string {
	if x != nil && x.RoutingPolicyRef != nil {
		return *x.RoutingPolicyRef
	}
	return ""
}

func (x *DeliveryRoute) GetStatus() DeliveryRouteStatus {
	if x != nil {
		return x.Status
	}
	return DeliveryRouteStatus_DELIVERY_ROUTE_STATUS_UNSPECIFIED
}

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

func (x *DeliveryRoute) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *DeliveryRoute) GetPackageVersionRef() string {
	if x != nil && x.PackageVersionRef != nil {
		return *x.PackageVersionRef
	}
	return ""
}

func (x *DeliveryRoute) GetCallbackRouteRef() string {
	if x != nil && x.CallbackRouteRef != nil {
		return *x.CallbackRouteRef
	}
	return ""
}

func (x *DeliveryRoute) GetRuntimeRef() string {
	if x != nil && x.RuntimeRef != nil {
		return *x.RuntimeRef
	}
	return ""
}

// DeliveryTarget identifies whether delivery belongs to a request or notification.
type DeliveryTarget struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Target:
	//
	//	*DeliveryTarget_RequestId
	//	*DeliveryTarget_NotificationId
	Target        isDeliveryTarget_Target `protobuf_oneof:"target"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeliveryTarget) Reset() {
	*x = DeliveryTarget{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeliveryTarget) ProtoMessage() {}

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

func (x *DeliveryTarget) GetTarget() isDeliveryTarget_Target {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *DeliveryTarget) GetRequestId() string {
	if x != nil {
		if x, ok := x.Target.(*DeliveryTarget_RequestId); ok {
			return x.RequestId
		}
	}
	return ""
}

func (x *DeliveryTarget) GetNotificationId() string {
	if x != nil {
		if x, ok := x.Target.(*DeliveryTarget_NotificationId); ok {
			return x.NotificationId
		}
	}
	return ""
}

type isDeliveryTarget_Target interface {
	isDeliveryTarget_Target()
}

type DeliveryTarget_RequestId struct {
	// request_id is set for feedback, approval and Human gate delivery.
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3,oneof"`
}

type DeliveryTarget_NotificationId struct {
	// notification_id is set for one-way notification or reminder delivery.
	NotificationId string `protobuf:"bytes,2,opt,name=notification_id,json=notificationId,proto3,oneof"`
}

func (*DeliveryTarget_RequestId) isDeliveryTarget_Target() {}

func (*DeliveryTarget_NotificationId) isDeliveryTarget_Target() {}

// DeliveryAttempt stores one attempt to deliver a request or notification.
type DeliveryAttempt struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the delivery attempt identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// target identifies the request or notification being delivered.
	Target *DeliveryTarget `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
	// route_id is the selected route.
	RouteId string `protobuf:"bytes,3,opt,name=route_id,json=routeId,proto3" json:"route_id,omitempty"`
	// delivery_id is the idempotency key passed to the channel contract.
	DeliveryId string `protobuf:"bytes,4,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"`
	// delivery_kind classifies payload semantics.
	DeliveryKind DeliveryKind `protobuf:"varint,5,opt,name=delivery_kind,json=deliveryKind,proto3,enum=kodex.interactions.v1.DeliveryKind" json:"delivery_kind,omitempty"`
	// status is the delivery lifecycle status.
	Status DeliveryAttemptStatus `protobuf:"varint,6,opt,name=status,proto3,enum=kodex.interactions.v1.DeliveryAttemptStatus" json:"status,omitempty"`
	// channel_message_ref is a safe channel message reference when available.
	ChannelMessageRef *string `protobuf:"bytes,7,opt,name=channel_message_ref,json=channelMessageRef,proto3,oneof" json:"channel_message_ref,omitempty"`
	// attempt_number is the retry attempt number.
	AttemptNumber int32 `protobuf:"varint,8,opt,name=attempt_number,json=attemptNumber,proto3" json:"attempt_number,omitempty"`
	// next_retry_at is an RFC3339 timestamp for retry.
	NextRetryAt *string `protobuf:"bytes,9,opt,name=next_retry_at,json=nextRetryAt,proto3,oneof" json:"next_retry_at,omitempty"`
	// error_code is a short safe error code.
	ErrorCode *string `protobuf:"bytes,10,opt,name=error_code,json=errorCode,proto3,oneof" json:"error_code,omitempty"`
	// error_class classifies retry behavior.
	ErrorClass DeliveryErrorClass `protobuf:"varint,11,opt,name=error_class,json=errorClass,proto3,enum=kodex.interactions.v1.DeliveryErrorClass" json:"error_class,omitempty"`
	// payload_digest is the digest of the normalized delivery command.
	PayloadDigest string `protobuf:"bytes,12,opt,name=payload_digest,json=payloadDigest,proto3" json:"payload_digest,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp.
	UpdatedAt string `protobuf:"bytes,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// sent_at is an RFC3339 timestamp when the command left interaction-hub.
	SentAt *string `protobuf:"bytes,15,opt,name=sent_at,json=sentAt,proto3,oneof" json:"sent_at,omitempty"`
	// channel_capability_ref is the selected package channel capability snapshot.
	ChannelCapabilityRef *string `protobuf:"bytes,16,opt,name=channel_capability_ref,json=channelCapabilityRef,proto3,oneof" json:"channel_capability_ref,omitempty"`
	// package_installation_ref is the selected package installation snapshot.
	PackageInstallationRef *string `protobuf:"bytes,17,opt,name=package_installation_ref,json=packageInstallationRef,proto3,oneof" json:"package_installation_ref,omitempty"`
	// package_version_ref is the selected package version snapshot.
	PackageVersionRef *string `protobuf:"bytes,18,opt,name=package_version_ref,json=packageVersionRef,proto3,oneof" json:"package_version_ref,omitempty"`
	// delivery_command_ref identifies the safe command envelope prepared for runtime.
	DeliveryCommandRef *string `protobuf:"bytes,19,opt,name=delivery_command_ref,json=deliveryCommandRef,proto3,oneof" json:"delivery_command_ref,omitempty"`
	// callback_ref is the opaque callback matching reference in the command envelope.
	CallbackRef *string `protobuf:"bytes,20,opt,name=callback_ref,json=callbackRef,proto3,oneof" json:"callback_ref,omitempty"`
	// callback_route_ref points to a gateway-owned callback route when configured.
	CallbackRouteRef *string `protobuf:"bytes,21,opt,name=callback_route_ref,json=callbackRouteRef,proto3,oneof" json:"callback_route_ref,omitempty"`
	// runtime_ref points to the package-owned runtime boundary, not a Kubernetes workload.
	RuntimeRef *string `protobuf:"bytes,22,opt,name=runtime_ref,json=runtimeRef,proto3,oneof" json:"runtime_ref,omitempty"`
	// runtime_job_ref is a safe runtime job ref reported by runtime when available.
	RuntimeJobRef *string `protobuf:"bytes,23,opt,name=runtime_job_ref,json=runtimeJobRef,proto3,oneof" json:"runtime_job_ref,omitempty"`
	// routing_policy_ref is the selected route policy snapshot.
	RoutingPolicyRef *string `protobuf:"bytes,24,opt,name=routing_policy_ref,json=routingPolicyRef,proto3,oneof" json:"routing_policy_ref,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *DeliveryAttempt) Reset() {
	*x = DeliveryAttempt{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeliveryAttempt) ProtoMessage() {}

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

func (x *DeliveryAttempt) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *DeliveryAttempt) GetTarget() *DeliveryTarget {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *DeliveryAttempt) GetRouteId() string {
	if x != nil {
		return x.RouteId
	}
	return ""
}

func (x *DeliveryAttempt) GetDeliveryId() string {
	if x != nil {
		return x.DeliveryId
	}
	return ""
}

func (x *DeliveryAttempt) GetDeliveryKind() DeliveryKind {
	if x != nil {
		return x.DeliveryKind
	}
	return DeliveryKind_DELIVERY_KIND_UNSPECIFIED
}

func (x *DeliveryAttempt) GetStatus() DeliveryAttemptStatus {
	if x != nil {
		return x.Status
	}
	return DeliveryAttemptStatus_DELIVERY_ATTEMPT_STATUS_UNSPECIFIED
}

func (x *DeliveryAttempt) GetChannelMessageRef() string {
	if x != nil && x.ChannelMessageRef != nil {
		return *x.ChannelMessageRef
	}
	return ""
}

func (x *DeliveryAttempt) GetAttemptNumber() int32 {
	if x != nil {
		return x.AttemptNumber
	}
	return 0
}

func (x *DeliveryAttempt) GetNextRetryAt() string {
	if x != nil && x.NextRetryAt != nil {
		return *x.NextRetryAt
	}
	return ""
}

func (x *DeliveryAttempt) GetErrorCode() string {
	if x != nil && x.ErrorCode != nil {
		return *x.ErrorCode
	}
	return ""
}

func (x *DeliveryAttempt) GetErrorClass() DeliveryErrorClass {
	if x != nil {
		return x.ErrorClass
	}
	return DeliveryErrorClass_DELIVERY_ERROR_CLASS_UNSPECIFIED
}

func (x *DeliveryAttempt) GetPayloadDigest() string {
	if x != nil {
		return x.PayloadDigest
	}
	return ""
}

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

func (x *DeliveryAttempt) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *DeliveryAttempt) GetSentAt() string {
	if x != nil && x.SentAt != nil {
		return *x.SentAt
	}
	return ""
}

func (x *DeliveryAttempt) GetChannelCapabilityRef() string {
	if x != nil && x.ChannelCapabilityRef != nil {
		return *x.ChannelCapabilityRef
	}
	return ""
}

func (x *DeliveryAttempt) GetPackageInstallationRef() string {
	if x != nil && x.PackageInstallationRef != nil {
		return *x.PackageInstallationRef
	}
	return ""
}

func (x *DeliveryAttempt) GetPackageVersionRef() string {
	if x != nil && x.PackageVersionRef != nil {
		return *x.PackageVersionRef
	}
	return ""
}

func (x *DeliveryAttempt) GetDeliveryCommandRef() string {
	if x != nil && x.DeliveryCommandRef != nil {
		return *x.DeliveryCommandRef
	}
	return ""
}

func (x *DeliveryAttempt) GetCallbackRef() string {
	if x != nil && x.CallbackRef != nil {
		return *x.CallbackRef
	}
	return ""
}

func (x *DeliveryAttempt) GetCallbackRouteRef() string {
	if x != nil && x.CallbackRouteRef != nil {
		return *x.CallbackRouteRef
	}
	return ""
}

func (x *DeliveryAttempt) GetRuntimeRef() string {
	if x != nil && x.RuntimeRef != nil {
		return *x.RuntimeRef
	}
	return ""
}

func (x *DeliveryAttempt) GetRuntimeJobRef() string {
	if x != nil && x.RuntimeJobRef != nil {
		return *x.RuntimeJobRef
	}
	return ""
}

func (x *DeliveryAttempt) GetRoutingPolicyRef() string {
	if x != nil && x.RoutingPolicyRef != nil {
		return *x.RoutingPolicyRef
	}
	return ""
}

// ChannelCallback stores a safe normalized callback record.
type ChannelCallback struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the callback record identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// callback_id is the idempotency key received from the gateway.
	CallbackId string `protobuf:"bytes,2,opt,name=callback_id,json=callbackId,proto3" json:"callback_id,omitempty"`
	// delivery_attempt_id links the matched delivery attempt when known.
	DeliveryAttemptId *string `protobuf:"bytes,3,opt,name=delivery_attempt_id,json=deliveryAttemptId,proto3,oneof" json:"delivery_attempt_id,omitempty"`
	// request_id links the matched request when known.
	RequestId *string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"`
	// source_route_id links the matched route when known.
	SourceRouteId *string `protobuf:"bytes,5,opt,name=source_route_id,json=sourceRouteId,proto3,oneof" json:"source_route_id,omitempty"`
	// actor_ref is the verified actor or external subject.
	ActorRef *string `protobuf:"bytes,6,opt,name=actor_ref,json=actorRef,proto3,oneof" json:"actor_ref,omitempty"`
	// action is the action key selected by the actor.
	Action *string `protobuf:"bytes,7,opt,name=action,proto3,oneof" json:"action,omitempty"`
	// callback_summary is a bounded safe callback summary.
	CallbackSummary *string `protobuf:"bytes,8,opt,name=callback_summary,json=callbackSummary,proto3,oneof" json:"callback_summary,omitempty"`
	// callback_object points to the full sanitized callback payload or attachments.
	CallbackObject *ObjectRef `protobuf:"bytes,9,opt,name=callback_object,json=callbackObject,proto3,oneof" json:"callback_object,omitempty"`
	// signature_status describes gateway verification without raw signature data.
	SignatureStatus CallbackSignatureStatus `protobuf:"varint,10,opt,name=signature_status,json=signatureStatus,proto3,enum=kodex.interactions.v1.CallbackSignatureStatus" json:"signature_status,omitempty"`
	// processing_status describes domain processing.
	ProcessingStatus CallbackProcessingStatus `protobuf:"varint,11,opt,name=processing_status,json=processingStatus,proto3,enum=kodex.interactions.v1.CallbackProcessingStatus" json:"processing_status,omitempty"`
	// error_code is a short safe processing error.
	ErrorCode *string `protobuf:"bytes,12,opt,name=error_code,json=errorCode,proto3,oneof" json:"error_code,omitempty"`
	// received_at is an RFC3339 timestamp from the gateway.
	ReceivedAt string `protobuf:"bytes,13,opt,name=received_at,json=receivedAt,proto3" json:"received_at,omitempty"`
	// created_at is an RFC3339 timestamp when the callback was stored.
	CreatedAt string `protobuf:"bytes,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// delivery_id is the safe delivery id from the callback envelope when present.
	DeliveryId *string `protobuf:"bytes,15,opt,name=delivery_id,json=deliveryId,proto3,oneof" json:"delivery_id,omitempty"`
	// callback_route_ref points to a gateway-owned callback route when present.
	CallbackRouteRef *string `protobuf:"bytes,16,opt,name=callback_route_ref,json=callbackRouteRef,proto3,oneof" json:"callback_route_ref,omitempty"`
	// gateway_ref is a safe gateway request reference.
	GatewayRef *string `protobuf:"bytes,17,opt,name=gateway_ref,json=gatewayRef,proto3,oneof" json:"gateway_ref,omitempty"`
	// correlation_id links this callback to traces and owner context.
	CorrelationId *string `protobuf:"bytes,18,opt,name=correlation_id,json=correlationId,proto3,oneof" json:"correlation_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChannelCallback) Reset() {
	*x = ChannelCallback{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChannelCallback) ProtoMessage() {}

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

func (x *ChannelCallback) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ChannelCallback) GetCallbackId() string {
	if x != nil {
		return x.CallbackId
	}
	return ""
}

func (x *ChannelCallback) GetDeliveryAttemptId() string {
	if x != nil && x.DeliveryAttemptId != nil {
		return *x.DeliveryAttemptId
	}
	return ""
}

func (x *ChannelCallback) GetRequestId() string {
	if x != nil && x.RequestId != nil {
		return *x.RequestId
	}
	return ""
}

func (x *ChannelCallback) GetSourceRouteId() string {
	if x != nil && x.SourceRouteId != nil {
		return *x.SourceRouteId
	}
	return ""
}

func (x *ChannelCallback) GetActorRef() string {
	if x != nil && x.ActorRef != nil {
		return *x.ActorRef
	}
	return ""
}

func (x *ChannelCallback) GetAction() string {
	if x != nil && x.Action != nil {
		return *x.Action
	}
	return ""
}

func (x *ChannelCallback) GetCallbackSummary() string {
	if x != nil && x.CallbackSummary != nil {
		return *x.CallbackSummary
	}
	return ""
}

func (x *ChannelCallback) GetCallbackObject() *ObjectRef {
	if x != nil {
		return x.CallbackObject
	}
	return nil
}

func (x *ChannelCallback) GetSignatureStatus() CallbackSignatureStatus {
	if x != nil {
		return x.SignatureStatus
	}
	return CallbackSignatureStatus_CALLBACK_SIGNATURE_STATUS_UNSPECIFIED
}

func (x *ChannelCallback) GetProcessingStatus() CallbackProcessingStatus {
	if x != nil {
		return x.ProcessingStatus
	}
	return CallbackProcessingStatus_CALLBACK_PROCESSING_STATUS_UNSPECIFIED
}

func (x *ChannelCallback) GetErrorCode() string {
	if x != nil && x.ErrorCode != nil {
		return *x.ErrorCode
	}
	return ""
}

func (x *ChannelCallback) GetReceivedAt() string {
	if x != nil {
		return x.ReceivedAt
	}
	return ""
}

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

func (x *ChannelCallback) GetDeliveryId() string {
	if x != nil && x.DeliveryId != nil {
		return *x.DeliveryId
	}
	return ""
}

func (x *ChannelCallback) GetCallbackRouteRef() string {
	if x != nil && x.CallbackRouteRef != nil {
		return *x.CallbackRouteRef
	}
	return ""
}

func (x *ChannelCallback) GetGatewayRef() string {
	if x != nil && x.GatewayRef != nil {
		return *x.GatewayRef
	}
	return ""
}

func (x *ChannelCallback) GetCorrelationId() string {
	if x != nil && x.CorrelationId != nil {
		return *x.CorrelationId
	}
	return ""
}

// ChannelDeliveryCommand is the stable DTO sent through the runtime boundary to
// a package-owned channel workload. It carries no channel secrets or raw payloads.
type ChannelDeliveryCommand struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// contract_version is the channel delivery contract version, for example interaction.channel.v1.
	ContractVersion string `protobuf:"bytes,1,opt,name=contract_version,json=contractVersion,proto3" json:"contract_version,omitempty"`
	// delivery_id is the idempotency key for the channel package workload.
	DeliveryId string `protobuf:"bytes,2,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"`
	// target identifies the request or notification.
	Target *DeliveryTarget `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
	// delivery_kind classifies payload semantics.
	DeliveryKind DeliveryKind `protobuf:"varint,4,opt,name=delivery_kind,json=deliveryKind,proto3,enum=kodex.interactions.v1.DeliveryKind" json:"delivery_kind,omitempty"`
	// scope is the interaction scope.
	Scope *ScopeRef `protobuf:"bytes,5,opt,name=scope,proto3" json:"scope,omitempty"`
	// recipient_refs are safe refs for target users, groups or roles.
	RecipientRefs []*ActorRef `protobuf:"bytes,6,rep,name=recipient_refs,json=recipientRefs,proto3" json:"recipient_refs,omitempty"`
	// message_template_ref points to a localized template when available.
	MessageTemplateRef *string `protobuf:"bytes,7,opt,name=message_template_ref,json=messageTemplateRef,proto3,oneof" json:"message_template_ref,omitempty"`
	// message_summary is a bounded safe summary.
	MessageSummary string `protobuf:"bytes,8,opt,name=message_summary,json=messageSummary,proto3" json:"message_summary,omitempty"`
	// actions are allowed callback actions.
	Actions []*InteractionAction `protobuf:"bytes,9,rep,name=actions,proto3" json:"actions,omitempty"`
	// callback_ref is the opaque reference used to match callbacks.
	CallbackRef string `protobuf:"bytes,10,opt,name=callback_ref,json=callbackRef,proto3" json:"callback_ref,omitempty"`
	// correlation_id links this delivery to traces and owner context.
	CorrelationId string `protobuf:"bytes,11,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	// expires_at is an RFC3339 timestamp for the delivery attempt.
	ExpiresAt *string `protobuf:"bytes,12,opt,name=expires_at,json=expiresAt,proto3,oneof" json:"expires_at,omitempty"`
	// context_refs point to neighboring domain context without copying state.
	ContextRefs []*ExternalRef `protobuf:"bytes,13,rep,name=context_refs,json=contextRefs,proto3" json:"context_refs,omitempty"`
	// route_id is the selected delivery route.
	RouteId string `protobuf:"bytes,14,opt,name=route_id,json=routeId,proto3" json:"route_id,omitempty"`
	// channel_capability_ref points to the package channel capability.
	ChannelCapabilityRef *string `protobuf:"bytes,15,opt,name=channel_capability_ref,json=channelCapabilityRef,proto3,oneof" json:"channel_capability_ref,omitempty"`
	// package_installation_ref points to package-hub installation state.
	PackageInstallationRef *string `protobuf:"bytes,16,opt,name=package_installation_ref,json=packageInstallationRef,proto3,oneof" json:"package_installation_ref,omitempty"`
	// package_version_ref points to selected package version state.
	PackageVersionRef *string `protobuf:"bytes,17,opt,name=package_version_ref,json=packageVersionRef,proto3,oneof" json:"package_version_ref,omitempty"`
	// delivery_command_ref identifies this safe runtime command envelope.
	DeliveryCommandRef string `protobuf:"bytes,18,opt,name=delivery_command_ref,json=deliveryCommandRef,proto3" json:"delivery_command_ref,omitempty"`
	// callback_route_ref points to a gateway-owned callback route when configured.
	CallbackRouteRef *string `protobuf:"bytes,19,opt,name=callback_route_ref,json=callbackRouteRef,proto3,oneof" json:"callback_route_ref,omitempty"`
	// runtime_ref points to the package-owned runtime boundary, not a Kubernetes workload.
	RuntimeRef *string `protobuf:"bytes,20,opt,name=runtime_ref,json=runtimeRef,proto3,oneof" json:"runtime_ref,omitempty"`
	// routing_policy_ref is the selected routing policy reference.
	RoutingPolicyRef *string `protobuf:"bytes,21,opt,name=routing_policy_ref,json=routingPolicyRef,proto3,oneof" json:"routing_policy_ref,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ChannelDeliveryCommand) Reset() {
	*x = ChannelDeliveryCommand{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChannelDeliveryCommand) ProtoMessage() {}

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

func (x *ChannelDeliveryCommand) GetContractVersion() string {
	if x != nil {
		return x.ContractVersion
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetDeliveryId() string {
	if x != nil {
		return x.DeliveryId
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetTarget() *DeliveryTarget {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *ChannelDeliveryCommand) GetDeliveryKind() DeliveryKind {
	if x != nil {
		return x.DeliveryKind
	}
	return DeliveryKind_DELIVERY_KIND_UNSPECIFIED
}

func (x *ChannelDeliveryCommand) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *ChannelDeliveryCommand) GetRecipientRefs() []*ActorRef {
	if x != nil {
		return x.RecipientRefs
	}
	return nil
}

func (x *ChannelDeliveryCommand) GetMessageTemplateRef() string {
	if x != nil && x.MessageTemplateRef != nil {
		return *x.MessageTemplateRef
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetMessageSummary() string {
	if x != nil {
		return x.MessageSummary
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetActions() []*InteractionAction {
	if x != nil {
		return x.Actions
	}
	return nil
}

func (x *ChannelDeliveryCommand) GetCallbackRef() string {
	if x != nil {
		return x.CallbackRef
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetCorrelationId() string {
	if x != nil {
		return x.CorrelationId
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetExpiresAt() string {
	if x != nil && x.ExpiresAt != nil {
		return *x.ExpiresAt
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetContextRefs() []*ExternalRef {
	if x != nil {
		return x.ContextRefs
	}
	return nil
}

func (x *ChannelDeliveryCommand) GetRouteId() string {
	if x != nil {
		return x.RouteId
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetChannelCapabilityRef() string {
	if x != nil && x.ChannelCapabilityRef != nil {
		return *x.ChannelCapabilityRef
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetPackageInstallationRef() string {
	if x != nil && x.PackageInstallationRef != nil {
		return *x.PackageInstallationRef
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetPackageVersionRef() string {
	if x != nil && x.PackageVersionRef != nil {
		return *x.PackageVersionRef
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetDeliveryCommandRef() string {
	if x != nil {
		return x.DeliveryCommandRef
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetCallbackRouteRef() string {
	if x != nil && x.CallbackRouteRef != nil {
		return *x.CallbackRouteRef
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetRuntimeRef() string {
	if x != nil && x.RuntimeRef != nil {
		return *x.RuntimeRef
	}
	return ""
}

func (x *ChannelDeliveryCommand) GetRoutingPolicyRef() string {
	if x != nil && x.RoutingPolicyRef != nil {
		return *x.RoutingPolicyRef
	}
	return ""
}

// ChannelDeliveryResult is the safe result returned from runtime or channel package workload.
type ChannelDeliveryResult struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// contract_version is the channel delivery contract version.
	ContractVersion string `protobuf:"bytes,1,opt,name=contract_version,json=contractVersion,proto3" json:"contract_version,omitempty"`
	// delivery_id identifies the attempted delivery.
	DeliveryId string `protobuf:"bytes,2,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"`
	// result_status describes channel package acceptance or failure.
	ResultStatus ChannelDeliveryResultStatus `protobuf:"varint,3,opt,name=result_status,json=resultStatus,proto3,enum=kodex.interactions.v1.ChannelDeliveryResultStatus" json:"result_status,omitempty"`
	// channel_message_ref is a safe external message reference when available.
	ChannelMessageRef *string `protobuf:"bytes,4,opt,name=channel_message_ref,json=channelMessageRef,proto3,oneof" json:"channel_message_ref,omitempty"`
	// error_code is a short safe error code.
	ErrorCode *string `protobuf:"bytes,5,opt,name=error_code,json=errorCode,proto3,oneof" json:"error_code,omitempty"`
	// error_class classifies retry behavior.
	ErrorClass DeliveryErrorClass `protobuf:"varint,6,opt,name=error_class,json=errorClass,proto3,enum=kodex.interactions.v1.DeliveryErrorClass" json:"error_class,omitempty"`
	// retry_after is an RFC3339 timestamp or duration token chosen by the channel package.
	RetryAfter *string `protobuf:"bytes,7,opt,name=retry_after,json=retryAfter,proto3,oneof" json:"retry_after,omitempty"`
	// occurred_at is an RFC3339 timestamp.
	OccurredAt string `protobuf:"bytes,8,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"`
	// delivery_command_ref identifies the safe command envelope this result belongs to.
	DeliveryCommandRef *string `protobuf:"bytes,9,opt,name=delivery_command_ref,json=deliveryCommandRef,proto3,oneof" json:"delivery_command_ref,omitempty"`
	// runtime_ref points to the package-owned runtime boundary that produced the result.
	RuntimeRef *string `protobuf:"bytes,10,opt,name=runtime_ref,json=runtimeRef,proto3,oneof" json:"runtime_ref,omitempty"`
	// runtime_job_ref is a safe runtime job reference when available.
	RuntimeJobRef *string `protobuf:"bytes,11,opt,name=runtime_job_ref,json=runtimeJobRef,proto3,oneof" json:"runtime_job_ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChannelDeliveryResult) Reset() {
	*x = ChannelDeliveryResult{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChannelDeliveryResult) ProtoMessage() {}

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

func (x *ChannelDeliveryResult) GetContractVersion() string {
	if x != nil {
		return x.ContractVersion
	}
	return ""
}

func (x *ChannelDeliveryResult) GetDeliveryId() string {
	if x != nil {
		return x.DeliveryId
	}
	return ""
}

func (x *ChannelDeliveryResult) GetResultStatus() ChannelDeliveryResultStatus {
	if x != nil {
		return x.ResultStatus
	}
	return ChannelDeliveryResultStatus_CHANNEL_DELIVERY_RESULT_STATUS_UNSPECIFIED
}

func (x *ChannelDeliveryResult) GetChannelMessageRef() string {
	if x != nil && x.ChannelMessageRef != nil {
		return *x.ChannelMessageRef
	}
	return ""
}

func (x *ChannelDeliveryResult) GetErrorCode() string {
	if x != nil && x.ErrorCode != nil {
		return *x.ErrorCode
	}
	return ""
}

func (x *ChannelDeliveryResult) GetErrorClass() DeliveryErrorClass {
	if x != nil {
		return x.ErrorClass
	}
	return DeliveryErrorClass_DELIVERY_ERROR_CLASS_UNSPECIFIED
}

func (x *ChannelDeliveryResult) GetRetryAfter() string {
	if x != nil && x.RetryAfter != nil {
		return *x.RetryAfter
	}
	return ""
}

func (x *ChannelDeliveryResult) GetOccurredAt() string {
	if x != nil {
		return x.OccurredAt
	}
	return ""
}

func (x *ChannelDeliveryResult) GetDeliveryCommandRef() string {
	if x != nil && x.DeliveryCommandRef != nil {
		return *x.DeliveryCommandRef
	}
	return ""
}

func (x *ChannelDeliveryResult) GetRuntimeRef() string {
	if x != nil && x.RuntimeRef != nil {
		return *x.RuntimeRef
	}
	return ""
}

func (x *ChannelDeliveryResult) GetRuntimeJobRef() string {
	if x != nil && x.RuntimeJobRef != nil {
		return *x.RuntimeJobRef
	}
	return ""
}

// ChannelCallbackEnvelope is the safe callback DTO passed from a gateway to the domain.
type ChannelCallbackEnvelope struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// contract_version is the channel callback contract version.
	ContractVersion string `protobuf:"bytes,1,opt,name=contract_version,json=contractVersion,proto3" json:"contract_version,omitempty"`
	// callback_id is the idempotency key for callback processing.
	CallbackId string `protobuf:"bytes,2,opt,name=callback_id,json=callbackId,proto3" json:"callback_id,omitempty"`
	// delivery_id links the callback to a delivery attempt when available.
	DeliveryId *string `protobuf:"bytes,3,opt,name=delivery_id,json=deliveryId,proto3,oneof" json:"delivery_id,omitempty"`
	// request_ref points to the interaction request when available.
	RequestRef *string `protobuf:"bytes,4,opt,name=request_ref,json=requestRef,proto3,oneof" json:"request_ref,omitempty"`
	// actor_ref is the verified gateway actor or external subject.
	ActorRef *string `protobuf:"bytes,5,opt,name=actor_ref,json=actorRef,proto3,oneof" json:"actor_ref,omitempty"`
	// action is the action key selected by the actor.
	Action string `protobuf:"bytes,6,opt,name=action,proto3" json:"action,omitempty"`
	// answer_summary is a bounded safe answer summary.
	AnswerSummary *string `protobuf:"bytes,7,opt,name=answer_summary,json=answerSummary,proto3,oneof" json:"answer_summary,omitempty"`
	// answer_object points to full sanitized answer or attachments.
	AnswerObject *ObjectRef `protobuf:"bytes,8,opt,name=answer_object,json=answerObject,proto3,oneof" json:"answer_object,omitempty"`
	// signature_status describes gateway verification without raw signature data.
	SignatureStatus CallbackSignatureStatus `protobuf:"varint,9,opt,name=signature_status,json=signatureStatus,proto3,enum=kodex.interactions.v1.CallbackSignatureStatus" json:"signature_status,omitempty"`
	// gateway_ref is a safe gateway request reference.
	GatewayRef *string `protobuf:"bytes,10,opt,name=gateway_ref,json=gatewayRef,proto3,oneof" json:"gateway_ref,omitempty"`
	// received_at is an RFC3339 timestamp from the gateway.
	ReceivedAt string `protobuf:"bytes,11,opt,name=received_at,json=receivedAt,proto3" json:"received_at,omitempty"`
	// correlation_id links this callback to traces and owner context.
	CorrelationId string `protobuf:"bytes,12,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChannelCallbackEnvelope) Reset() {
	*x = ChannelCallbackEnvelope{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChannelCallbackEnvelope) ProtoMessage() {}

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

func (x *ChannelCallbackEnvelope) GetContractVersion() string {
	if x != nil {
		return x.ContractVersion
	}
	return ""
}

func (x *ChannelCallbackEnvelope) GetCallbackId() string {
	if x != nil {
		return x.CallbackId
	}
	return ""
}

func (x *ChannelCallbackEnvelope) GetDeliveryId() string {
	if x != nil && x.DeliveryId != nil {
		return *x.DeliveryId
	}
	return ""
}

func (x *ChannelCallbackEnvelope) GetRequestRef() string {
	if x != nil && x.RequestRef != nil {
		return *x.RequestRef
	}
	return ""
}

func (x *ChannelCallbackEnvelope) GetActorRef() string {
	if x != nil && x.ActorRef != nil {
		return *x.ActorRef
	}
	return ""
}

func (x *ChannelCallbackEnvelope) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *ChannelCallbackEnvelope) GetAnswerSummary() string {
	if x != nil && x.AnswerSummary != nil {
		return *x.AnswerSummary
	}
	return ""
}

func (x *ChannelCallbackEnvelope) GetAnswerObject() *ObjectRef {
	if x != nil {
		return x.AnswerObject
	}
	return nil
}

func (x *ChannelCallbackEnvelope) GetSignatureStatus() CallbackSignatureStatus {
	if x != nil {
		return x.SignatureStatus
	}
	return CallbackSignatureStatus_CALLBACK_SIGNATURE_STATUS_UNSPECIFIED
}

func (x *ChannelCallbackEnvelope) GetGatewayRef() string {
	if x != nil && x.GatewayRef != nil {
		return *x.GatewayRef
	}
	return ""
}

func (x *ChannelCallbackEnvelope) GetReceivedAt() string {
	if x != nil {
		return x.ReceivedAt
	}
	return ""
}

func (x *ChannelCallbackEnvelope) GetCorrelationId() string {
	if x != nil {
		return x.CorrelationId
	}
	return ""
}

type CreateConversationThreadRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Meta            *CommandMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Scope           *ScopeRef              `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	ThreadKind      ConversationThreadKind `protobuf:"varint,3,opt,name=thread_kind,json=threadKind,proto3,enum=kodex.interactions.v1.ConversationThreadKind" json:"thread_kind,omitempty"`
	PrimaryActorRef *string                `protobuf:"bytes,4,opt,name=primary_actor_ref,json=primaryActorRef,proto3,oneof" json:"primary_actor_ref,omitempty"`
	SourceKind      ConversationSourceKind `protobuf:"varint,5,opt,name=source_kind,json=sourceKind,proto3,enum=kodex.interactions.v1.ConversationSourceKind" json:"source_kind,omitempty"`
	SourceRef       *string                `protobuf:"bytes,6,opt,name=source_ref,json=sourceRef,proto3,oneof" json:"source_ref,omitempty"`
	CorrelationId   string                 `protobuf:"bytes,7,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	RetentionClass  string                 `protobuf:"bytes,8,opt,name=retention_class,json=retentionClass,proto3" json:"retention_class,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *CreateConversationThreadRequest) Reset() {
	*x = CreateConversationThreadRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreateConversationThreadRequest) ProtoMessage() {}

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

func (x *CreateConversationThreadRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *CreateConversationThreadRequest) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *CreateConversationThreadRequest) GetThreadKind() ConversationThreadKind {
	if x != nil {
		return x.ThreadKind
	}
	return ConversationThreadKind_CONVERSATION_THREAD_KIND_UNSPECIFIED
}

func (x *CreateConversationThreadRequest) GetPrimaryActorRef() string {
	if x != nil && x.PrimaryActorRef != nil {
		return *x.PrimaryActorRef
	}
	return ""
}

func (x *CreateConversationThreadRequest) GetSourceKind() ConversationSourceKind {
	if x != nil {
		return x.SourceKind
	}
	return ConversationSourceKind_CONVERSATION_SOURCE_KIND_UNSPECIFIED
}

func (x *CreateConversationThreadRequest) GetSourceRef() string {
	if x != nil && x.SourceRef != nil {
		return *x.SourceRef
	}
	return ""
}

func (x *CreateConversationThreadRequest) GetCorrelationId() string {
	if x != nil {
		return x.CorrelationId
	}
	return ""
}

func (x *CreateConversationThreadRequest) GetRetentionClass() string {
	if x != nil {
		return x.RetentionClass
	}
	return ""
}

type RecordConversationMessageRequest struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	Meta          *CommandMeta            `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	ThreadId      string                  `protobuf:"bytes,2,opt,name=thread_id,json=threadId,proto3" json:"thread_id,omitempty"`
	MessageKind   ConversationMessageKind `protobuf:"varint,3,opt,name=message_kind,json=messageKind,proto3,enum=kodex.interactions.v1.ConversationMessageKind" json:"message_kind,omitempty"`
	AuthorRef     string                  `protobuf:"bytes,4,opt,name=author_ref,json=authorRef,proto3" json:"author_ref,omitempty"`
	BodySummary   *string                 `protobuf:"bytes,5,opt,name=body_summary,json=bodySummary,proto3,oneof" json:"body_summary,omitempty"`
	BodyObject    *ObjectRef              `protobuf:"bytes,6,opt,name=body_object,json=bodyObject,proto3,oneof" json:"body_object,omitempty"`
	BodyDigest    *string                 `protobuf:"bytes,7,opt,name=body_digest,json=bodyDigest,proto3,oneof" json:"body_digest,omitempty"`
	Locale        *string                 `protobuf:"bytes,8,opt,name=locale,proto3,oneof" json:"locale,omitempty"`
	SafeMetadata  map[string]string       `protobuf:"bytes,9,rep,name=safe_metadata,json=safeMetadata,proto3" json:"safe_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RecordConversationMessageRequest) Reset() {
	*x = RecordConversationMessageRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RecordConversationMessageRequest) ProtoMessage() {}

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

func (x *RecordConversationMessageRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *RecordConversationMessageRequest) GetThreadId() string {
	if x != nil {
		return x.ThreadId
	}
	return ""
}

func (x *RecordConversationMessageRequest) GetMessageKind() ConversationMessageKind {
	if x != nil {
		return x.MessageKind
	}
	return ConversationMessageKind_CONVERSATION_MESSAGE_KIND_UNSPECIFIED
}

func (x *RecordConversationMessageRequest) GetAuthorRef() string {
	if x != nil {
		return x.AuthorRef
	}
	return ""
}

func (x *RecordConversationMessageRequest) GetBodySummary() string {
	if x != nil && x.BodySummary != nil {
		return *x.BodySummary
	}
	return ""
}

func (x *RecordConversationMessageRequest) GetBodyObject() *ObjectRef {
	if x != nil {
		return x.BodyObject
	}
	return nil
}

func (x *RecordConversationMessageRequest) GetBodyDigest() string {
	if x != nil && x.BodyDigest != nil {
		return *x.BodyDigest
	}
	return ""
}

func (x *RecordConversationMessageRequest) GetLocale() string {
	if x != nil && x.Locale != nil {
		return *x.Locale
	}
	return ""
}

func (x *RecordConversationMessageRequest) GetSafeMetadata() map[string]string {
	if x != nil {
		return x.SafeMetadata
	}
	return nil
}

type GetConversationThreadRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *QueryMeta             `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	ThreadId      string                 `protobuf:"bytes,2,opt,name=thread_id,json=threadId,proto3" json:"thread_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetConversationThreadRequest) Reset() {
	*x = GetConversationThreadRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetConversationThreadRequest) ProtoMessage() {}

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

func (x *GetConversationThreadRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetConversationThreadRequest) GetThreadId() string {
	if x != nil {
		return x.ThreadId
	}
	return ""
}

type ListConversationMessagesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *QueryMeta             `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	ThreadId      string                 `protobuf:"bytes,2,opt,name=thread_id,json=threadId,proto3" json:"thread_id,omitempty"`
	Page          *PageRequest           `protobuf:"bytes,3,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListConversationMessagesRequest) Reset() {
	*x = ListConversationMessagesRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListConversationMessagesRequest) ProtoMessage() {}

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

func (x *ListConversationMessagesRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListConversationMessagesRequest) GetThreadId() string {
	if x != nil {
		return x.ThreadId
	}
	return ""
}

func (x *ListConversationMessagesRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

type InteractionRequestDraft struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Scope             *ScopeRef              `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"`
	ThreadId          *string                `protobuf:"bytes,2,opt,name=thread_id,json=threadId,proto3,oneof" json:"thread_id,omitempty"`
	SourceOwner       *SourceOwnerRef        `protobuf:"bytes,3,opt,name=source_owner,json=sourceOwner,proto3" json:"source_owner,omitempty"`
	Ingress           *IngressRef            `protobuf:"bytes,4,opt,name=ingress,proto3" json:"ingress,omitempty"`
	DecisionOwner     *DecisionOwnerRef      `protobuf:"bytes,5,opt,name=decision_owner,json=decisionOwner,proto3,oneof" json:"decision_owner,omitempty"`
	TargetRefs        []*ActorRef            `protobuf:"bytes,6,rep,name=target_refs,json=targetRefs,proto3" json:"target_refs,omitempty"`
	ContextRefs       []*ExternalRef         `protobuf:"bytes,7,rep,name=context_refs,json=contextRefs,proto3" json:"context_refs,omitempty"`
	PromptSummary     string                 `protobuf:"bytes,8,opt,name=prompt_summary,json=promptSummary,proto3" json:"prompt_summary,omitempty"`
	PromptObject      *ObjectRef             `protobuf:"bytes,9,opt,name=prompt_object,json=promptObject,proto3,oneof" json:"prompt_object,omitempty"`
	AllowedActions    []*InteractionAction   `protobuf:"bytes,10,rep,name=allowed_actions,json=allowedActions,proto3" json:"allowed_actions,omitempty"`
	RiskClass         InteractionRiskClass   `protobuf:"varint,11,opt,name=risk_class,json=riskClass,proto3,enum=kodex.interactions.v1.InteractionRiskClass" json:"risk_class,omitempty"`
	DeadlineAt        *string                `protobuf:"bytes,12,opt,name=deadline_at,json=deadlineAt,proto3,oneof" json:"deadline_at,omitempty"`
	ReminderPolicyRef *string                `protobuf:"bytes,13,opt,name=reminder_policy_ref,json=reminderPolicyRef,proto3,oneof" json:"reminder_policy_ref,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *InteractionRequestDraft) Reset() {
	*x = InteractionRequestDraft{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*InteractionRequestDraft) ProtoMessage() {}

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

func (x *InteractionRequestDraft) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *InteractionRequestDraft) GetThreadId() string {
	if x != nil && x.ThreadId != nil {
		return *x.ThreadId
	}
	return ""
}

func (x *InteractionRequestDraft) GetSourceOwner() *SourceOwnerRef {
	if x != nil {
		return x.SourceOwner
	}
	return nil
}

func (x *InteractionRequestDraft) GetIngress() *IngressRef {
	if x != nil {
		return x.Ingress
	}
	return nil
}

func (x *InteractionRequestDraft) GetDecisionOwner() *DecisionOwnerRef {
	if x != nil {
		return x.DecisionOwner
	}
	return nil
}

func (x *InteractionRequestDraft) GetTargetRefs() []*ActorRef {
	if x != nil {
		return x.TargetRefs
	}
	return nil
}

func (x *InteractionRequestDraft) GetContextRefs() []*ExternalRef {
	if x != nil {
		return x.ContextRefs
	}
	return nil
}

func (x *InteractionRequestDraft) GetPromptSummary() string {
	if x != nil {
		return x.PromptSummary
	}
	return ""
}

func (x *InteractionRequestDraft) GetPromptObject() *ObjectRef {
	if x != nil {
		return x.PromptObject
	}
	return nil
}

func (x *InteractionRequestDraft) GetAllowedActions() []*InteractionAction {
	if x != nil {
		return x.AllowedActions
	}
	return nil
}

func (x *InteractionRequestDraft) GetRiskClass() InteractionRiskClass {
	if x != nil {
		return x.RiskClass
	}
	return InteractionRiskClass_INTERACTION_RISK_CLASS_UNSPECIFIED
}

func (x *InteractionRequestDraft) GetDeadlineAt() string {
	if x != nil && x.DeadlineAt != nil {
		return *x.DeadlineAt
	}
	return ""
}

func (x *InteractionRequestDraft) GetReminderPolicyRef() string {
	if x != nil && x.ReminderPolicyRef != nil {
		return *x.ReminderPolicyRef
	}
	return ""
}

type RequestFeedbackRequest struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Meta          *CommandMeta             `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Request       *InteractionRequestDraft `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RequestFeedbackRequest) Reset() {
	*x = RequestFeedbackRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RequestFeedbackRequest) ProtoMessage() {}

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

func (x *RequestFeedbackRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *RequestFeedbackRequest) GetRequest() *InteractionRequestDraft {
	if x != nil {
		return x.Request
	}
	return nil
}

type RequestApprovalRequest struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Meta          *CommandMeta             `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Request       *InteractionRequestDraft `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RequestApprovalRequest) Reset() {
	*x = RequestApprovalRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RequestApprovalRequest) ProtoMessage() {}

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

func (x *RequestApprovalRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *RequestApprovalRequest) GetRequest() *InteractionRequestDraft {
	if x != nil {
		return x.Request
	}
	return nil
}

type RequestHumanGateRequest struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Meta          *CommandMeta             `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Request       *InteractionRequestDraft `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RequestHumanGateRequest) Reset() {
	*x = RequestHumanGateRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RequestHumanGateRequest) ProtoMessage() {}

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

func (x *RequestHumanGateRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *RequestHumanGateRequest) GetRequest() *InteractionRequestDraft {
	if x != nil {
		return x.Request
	}
	return nil
}

type RecordInteractionResponseRequest struct {
	state               protoimpl.MessageState        `protogen:"open.v1"`
	Meta                *CommandMeta                  `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	RequestId           string                        `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	ResponseAction      InteractionResponseAction     `protobuf:"varint,3,opt,name=response_action,json=responseAction,proto3,enum=kodex.interactions.v1.InteractionResponseAction" json:"response_action,omitempty"`
	RespondedByActorRef string                        `protobuf:"bytes,4,opt,name=responded_by_actor_ref,json=respondedByActorRef,proto3" json:"responded_by_actor_ref,omitempty"`
	ResponseSummary     *string                       `protobuf:"bytes,5,opt,name=response_summary,json=responseSummary,proto3,oneof" json:"response_summary,omitempty"`
	ResponseObject      *ObjectRef                    `protobuf:"bytes,6,opt,name=response_object,json=responseObject,proto3,oneof" json:"response_object,omitempty"`
	SourceKind          InteractionResponseSourceKind `protobuf:"varint,7,opt,name=source_kind,json=sourceKind,proto3,enum=kodex.interactions.v1.InteractionResponseSourceKind" json:"source_kind,omitempty"`
	SourceRef           *string                       `protobuf:"bytes,8,opt,name=source_ref,json=sourceRef,proto3,oneof" json:"source_ref,omitempty"`
	OwnerDecisionRef    *string                       `protobuf:"bytes,9,opt,name=owner_decision_ref,json=ownerDecisionRef,proto3,oneof" json:"owner_decision_ref,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *RecordInteractionResponseRequest) Reset() {
	*x = RecordInteractionResponseRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RecordInteractionResponseRequest) ProtoMessage() {}

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

func (x *RecordInteractionResponseRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *RecordInteractionResponseRequest) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *RecordInteractionResponseRequest) GetResponseAction() InteractionResponseAction {
	if x != nil {
		return x.ResponseAction
	}
	return InteractionResponseAction_INTERACTION_RESPONSE_ACTION_UNSPECIFIED
}

func (x *RecordInteractionResponseRequest) GetRespondedByActorRef() string {
	if x != nil {
		return x.RespondedByActorRef
	}
	return ""
}

func (x *RecordInteractionResponseRequest) GetResponseSummary() string {
	if x != nil && x.ResponseSummary != nil {
		return *x.ResponseSummary
	}
	return ""
}

func (x *RecordInteractionResponseRequest) GetResponseObject() *ObjectRef {
	if x != nil {
		return x.ResponseObject
	}
	return nil
}

func (x *RecordInteractionResponseRequest) GetSourceKind() InteractionResponseSourceKind {
	if x != nil {
		return x.SourceKind
	}
	return InteractionResponseSourceKind_INTERACTION_RESPONSE_SOURCE_KIND_UNSPECIFIED
}

func (x *RecordInteractionResponseRequest) GetSourceRef() string {
	if x != nil && x.SourceRef != nil {
		return *x.SourceRef
	}
	return ""
}

func (x *RecordInteractionResponseRequest) GetOwnerDecisionRef() string {
	if x != nil && x.OwnerDecisionRef != nil {
		return *x.OwnerDecisionRef
	}
	return ""
}

type CancelInteractionRequestRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *CommandMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	RequestId     string                 `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CancelInteractionRequestRequest) Reset() {
	*x = CancelInteractionRequestRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CancelInteractionRequestRequest) ProtoMessage() {}

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

func (x *CancelInteractionRequestRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *CancelInteractionRequestRequest) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

type ExpireInteractionRequestsRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *CommandMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Scope          *ScopeRef              `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	DeadlineBefore *string                `protobuf:"bytes,3,opt,name=deadline_before,json=deadlineBefore,proto3,oneof" json:"deadline_before,omitempty"`
	Limit          int32                  `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ExpireInteractionRequestsRequest) Reset() {
	*x = ExpireInteractionRequestsRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ExpireInteractionRequestsRequest) ProtoMessage() {}

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

func (x *ExpireInteractionRequestsRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ExpireInteractionRequestsRequest) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *ExpireInteractionRequestsRequest) GetDeadlineBefore() string {
	if x != nil && x.DeadlineBefore != nil {
		return *x.DeadlineBefore
	}
	return ""
}

func (x *ExpireInteractionRequestsRequest) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

type GetInteractionRequestRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *QueryMeta             `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	RequestId     string                 `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetInteractionRequestRequest) Reset() {
	*x = GetInteractionRequestRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetInteractionRequestRequest) ProtoMessage() {}

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

func (x *GetInteractionRequestRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetInteractionRequestRequest) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

type ListInteractionRequestsRequest struct {
	state           protoimpl.MessageState    `protogen:"open.v1"`
	Meta            *QueryMeta                `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Scope           *ScopeRef                 `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	RequestKind     *InteractionRequestKind   `protobuf:"varint,3,opt,name=request_kind,json=requestKind,proto3,enum=kodex.interactions.v1.InteractionRequestKind,oneof" json:"request_kind,omitempty"`
	Status          *InteractionRequestStatus `protobuf:"varint,4,opt,name=status,proto3,enum=kodex.interactions.v1.InteractionRequestStatus,oneof" json:"status,omitempty"`
	SourceOwnerKind *SourceOwnerKind          `protobuf:"varint,5,opt,name=source_owner_kind,json=sourceOwnerKind,proto3,enum=kodex.interactions.v1.SourceOwnerKind,oneof" json:"source_owner_kind,omitempty"`
	SourceOwnerRef  *string                   `protobuf:"bytes,6,opt,name=source_owner_ref,json=sourceOwnerRef,proto3,oneof" json:"source_owner_ref,omitempty"`
	DeadlineBefore  *string                   `protobuf:"bytes,7,opt,name=deadline_before,json=deadlineBefore,proto3,oneof" json:"deadline_before,omitempty"`
	Page            *PageRequest              `protobuf:"bytes,8,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ListInteractionRequestsRequest) Reset() {
	*x = ListInteractionRequestsRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListInteractionRequestsRequest) ProtoMessage() {}

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

func (x *ListInteractionRequestsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListInteractionRequestsRequest) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *ListInteractionRequestsRequest) GetRequestKind() InteractionRequestKind {
	if x != nil && x.RequestKind != nil {
		return *x.RequestKind
	}
	return InteractionRequestKind_INTERACTION_REQUEST_KIND_UNSPECIFIED
}

func (x *ListInteractionRequestsRequest) GetStatus() InteractionRequestStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return InteractionRequestStatus_INTERACTION_REQUEST_STATUS_UNSPECIFIED
}

func (x *ListInteractionRequestsRequest) GetSourceOwnerKind() SourceOwnerKind {
	if x != nil && x.SourceOwnerKind != nil {
		return *x.SourceOwnerKind
	}
	return SourceOwnerKind_SOURCE_OWNER_KIND_UNSPECIFIED
}

func (x *ListInteractionRequestsRequest) GetSourceOwnerRef() string {
	if x != nil && x.SourceOwnerRef != nil {
		return *x.SourceOwnerRef
	}
	return ""
}

func (x *ListInteractionRequestsRequest) GetDeadlineBefore() string {
	if x != nil && x.DeadlineBefore != nil {
		return *x.DeadlineBefore
	}
	return ""
}

func (x *ListInteractionRequestsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

type ListOwnerInboxItemsRequest struct {
	state              protoimpl.MessageState     `protogen:"open.v1"`
	Meta               *QueryMeta                 `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Scope              *ScopeRef                  `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	RequestKinds       []InteractionRequestKind   `protobuf:"varint,3,rep,packed,name=request_kinds,json=requestKinds,proto3,enum=kodex.interactions.v1.InteractionRequestKind" json:"request_kinds,omitempty"`
	Statuses           []InteractionRequestStatus `protobuf:"varint,4,rep,packed,name=statuses,proto3,enum=kodex.interactions.v1.InteractionRequestStatus" json:"statuses,omitempty"`
	SourceOwnerKind    *SourceOwnerKind           `protobuf:"varint,5,opt,name=source_owner_kind,json=sourceOwnerKind,proto3,enum=kodex.interactions.v1.SourceOwnerKind,oneof" json:"source_owner_kind,omitempty"`
	SourceOwnerRef     *string                    `protobuf:"bytes,6,opt,name=source_owner_ref,json=sourceOwnerRef,proto3,oneof" json:"source_owner_ref,omitempty"`
	AssigneeRef        *ActorRef                  `protobuf:"bytes,7,opt,name=assignee_ref,json=assigneeRef,proto3" json:"assignee_ref,omitempty"`
	ActorRef           *string                    `protobuf:"bytes,8,opt,name=actor_ref,json=actorRef,proto3,oneof" json:"actor_ref,omitempty"`
	CorrelationRef     *ExternalRef               `protobuf:"bytes,9,opt,name=correlation_ref,json=correlationRef,proto3" json:"correlation_ref,omitempty"`
	CorrelationId      *string                    `protobuf:"bytes,10,opt,name=correlation_id,json=correlationId,proto3,oneof" json:"correlation_id,omitempty"`
	IncludeDiagnostics bool                       `protobuf:"varint,11,opt,name=include_diagnostics,json=includeDiagnostics,proto3" json:"include_diagnostics,omitempty"`
	Page               *PageRequest               `protobuf:"bytes,12,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ListOwnerInboxItemsRequest) Reset() {
	*x = ListOwnerInboxItemsRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListOwnerInboxItemsRequest) ProtoMessage() {}

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

func (x *ListOwnerInboxItemsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListOwnerInboxItemsRequest) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *ListOwnerInboxItemsRequest) GetRequestKinds() []InteractionRequestKind {
	if x != nil {
		return x.RequestKinds
	}
	return nil
}

func (x *ListOwnerInboxItemsRequest) GetStatuses() []InteractionRequestStatus {
	if x != nil {
		return x.Statuses
	}
	return nil
}

func (x *ListOwnerInboxItemsRequest) GetSourceOwnerKind() SourceOwnerKind {
	if x != nil && x.SourceOwnerKind != nil {
		return *x.SourceOwnerKind
	}
	return SourceOwnerKind_SOURCE_OWNER_KIND_UNSPECIFIED
}

func (x *ListOwnerInboxItemsRequest) GetSourceOwnerRef() string {
	if x != nil && x.SourceOwnerRef != nil {
		return *x.SourceOwnerRef
	}
	return ""
}

func (x *ListOwnerInboxItemsRequest) GetAssigneeRef() *ActorRef {
	if x != nil {
		return x.AssigneeRef
	}
	return nil
}

func (x *ListOwnerInboxItemsRequest) GetActorRef() string {
	if x != nil && x.ActorRef != nil {
		return *x.ActorRef
	}
	return ""
}

func (x *ListOwnerInboxItemsRequest) GetCorrelationRef() *ExternalRef {
	if x != nil {
		return x.CorrelationRef
	}
	return nil
}

func (x *ListOwnerInboxItemsRequest) GetCorrelationId() string {
	if x != nil && x.CorrelationId != nil {
		return *x.CorrelationId
	}
	return ""
}

func (x *ListOwnerInboxItemsRequest) GetIncludeDiagnostics() bool {
	if x != nil {
		return x.IncludeDiagnostics
	}
	return false
}

func (x *ListOwnerInboxItemsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

type GetOwnerInboxItemRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Meta               *QueryMeta             `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	RequestId          string                 `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	Scope              *ScopeRef              `protobuf:"bytes,3,opt,name=scope,proto3" json:"scope,omitempty"`
	AssigneeRef        *ActorRef              `protobuf:"bytes,4,opt,name=assignee_ref,json=assigneeRef,proto3" json:"assignee_ref,omitempty"`
	IncludeDiagnostics bool                   `protobuf:"varint,5,opt,name=include_diagnostics,json=includeDiagnostics,proto3" json:"include_diagnostics,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *GetOwnerInboxItemRequest) Reset() {
	*x = GetOwnerInboxItemRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetOwnerInboxItemRequest) ProtoMessage() {}

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

func (x *GetOwnerInboxItemRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetOwnerInboxItemRequest) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *GetOwnerInboxItemRequest) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *GetOwnerInboxItemRequest) GetAssigneeRef() *ActorRef {
	if x != nil {
		return x.AssigneeRef
	}
	return nil
}

func (x *GetOwnerInboxItemRequest) GetIncludeDiagnostics() bool {
	if x != nil {
		return x.IncludeDiagnostics
	}
	return false
}

type RequestNotificationRequest struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	Meta                  *CommandMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Scope                 *ScopeRef              `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	NotificationKind      NotificationKind       `protobuf:"varint,3,opt,name=notification_kind,json=notificationKind,proto3,enum=kodex.interactions.v1.NotificationKind" json:"notification_kind,omitempty"`
	RequestId             *string                `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"`
	SubscriptionId        *string                `protobuf:"bytes,5,opt,name=subscription_id,json=subscriptionId,proto3,oneof" json:"subscription_id,omitempty"`
	RecipientRefs         []*ActorRef            `protobuf:"bytes,6,rep,name=recipient_refs,json=recipientRefs,proto3" json:"recipient_refs,omitempty"`
	MessageTemplateRef    string                 `protobuf:"bytes,7,opt,name=message_template_ref,json=messageTemplateRef,proto3" json:"message_template_ref,omitempty"`
	MessageSummary        string                 `protobuf:"bytes,8,opt,name=message_summary,json=messageSummary,proto3" json:"message_summary,omitempty"`
	Priority              NotificationPriority   `protobuf:"varint,9,opt,name=priority,proto3,enum=kodex.interactions.v1.NotificationPriority" json:"priority,omitempty"`
	ExpiresAt             *string                `protobuf:"bytes,10,opt,name=expires_at,json=expiresAt,proto3,oneof" json:"expires_at,omitempty"`
	SourceOwner           *SourceOwnerRef        `protobuf:"bytes,11,opt,name=source_owner,json=sourceOwner,proto3" json:"source_owner,omitempty"`
	Ingress               *IngressRef            `protobuf:"bytes,12,opt,name=ingress,proto3" json:"ingress,omitempty"`
	ContextRefs           []*ExternalRef         `protobuf:"bytes,13,rep,name=context_refs,json=contextRefs,proto3" json:"context_refs,omitempty"`
	ChannelHintRefs       []*ExternalRef         `protobuf:"bytes,14,rep,name=channel_hint_refs,json=channelHintRefs,proto3" json:"channel_hint_refs,omitempty"`
	NotificationPolicyRef *string                `protobuf:"bytes,15,opt,name=notification_policy_ref,json=notificationPolicyRef,proto3,oneof" json:"notification_policy_ref,omitempty"`
	MessageTitle          *string                `protobuf:"bytes,16,opt,name=message_title,json=messageTitle,proto3,oneof" json:"message_title,omitempty"`
	BodyPreview           *string                `protobuf:"bytes,17,opt,name=body_preview,json=bodyPreview,proto3,oneof" json:"body_preview,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *RequestNotificationRequest) Reset() {
	*x = RequestNotificationRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RequestNotificationRequest) ProtoMessage() {}

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

func (x *RequestNotificationRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *RequestNotificationRequest) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *RequestNotificationRequest) GetNotificationKind() NotificationKind {
	if x != nil {
		return x.NotificationKind
	}
	return NotificationKind_NOTIFICATION_KIND_UNSPECIFIED
}

func (x *RequestNotificationRequest) GetRequestId() string {
	if x != nil && x.RequestId != nil {
		return *x.RequestId
	}
	return ""
}

func (x *RequestNotificationRequest) GetSubscriptionId() string {
	if x != nil && x.SubscriptionId != nil {
		return *x.SubscriptionId
	}
	return ""
}

func (x *RequestNotificationRequest) GetRecipientRefs() []*ActorRef {
	if x != nil {
		return x.RecipientRefs
	}
	return nil
}

func (x *RequestNotificationRequest) GetMessageTemplateRef() string {
	if x != nil {
		return x.MessageTemplateRef
	}
	return ""
}

func (x *RequestNotificationRequest) GetMessageSummary() string {
	if x != nil {
		return x.MessageSummary
	}
	return ""
}

func (x *RequestNotificationRequest) GetPriority() NotificationPriority {
	if x != nil {
		return x.Priority
	}
	return NotificationPriority_NOTIFICATION_PRIORITY_UNSPECIFIED
}

func (x *RequestNotificationRequest) GetExpiresAt() string {
	if x != nil && x.ExpiresAt != nil {
		return *x.ExpiresAt
	}
	return ""
}

func (x *RequestNotificationRequest) GetSourceOwner() *SourceOwnerRef {
	if x != nil {
		return x.SourceOwner
	}
	return nil
}

func (x *RequestNotificationRequest) GetIngress() *IngressRef {
	if x != nil {
		return x.Ingress
	}
	return nil
}

func (x *RequestNotificationRequest) GetContextRefs() []*ExternalRef {
	if x != nil {
		return x.ContextRefs
	}
	return nil
}

func (x *RequestNotificationRequest) GetChannelHintRefs() []*ExternalRef {
	if x != nil {
		return x.ChannelHintRefs
	}
	return nil
}

func (x *RequestNotificationRequest) GetNotificationPolicyRef() string {
	if x != nil && x.NotificationPolicyRef != nil {
		return *x.NotificationPolicyRef
	}
	return ""
}

func (x *RequestNotificationRequest) GetMessageTitle() string {
	if x != nil && x.MessageTitle != nil {
		return *x.MessageTitle
	}
	return ""
}

func (x *RequestNotificationRequest) GetBodyPreview() string {
	if x != nil && x.BodyPreview != nil {
		return *x.BodyPreview
	}
	return ""
}

type UpsertSubscriptionRequest struct {
	state                   protoimpl.MessageState `protogen:"open.v1"`
	Meta                    *CommandMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	SubscriptionId          *string                `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3,oneof" json:"subscription_id,omitempty"`
	Scope                   *ScopeRef              `protobuf:"bytes,3,opt,name=scope,proto3" json:"scope,omitempty"`
	SubscriberRef           *ActorRef              `protobuf:"bytes,4,opt,name=subscriber_ref,json=subscriberRef,proto3" json:"subscriber_ref,omitempty"`
	EventFilterJson         string                 `protobuf:"bytes,5,opt,name=event_filter_json,json=eventFilterJson,proto3" json:"event_filter_json,omitempty"`
	DeliveryPreferencesJson string                 `protobuf:"bytes,6,opt,name=delivery_preferences_json,json=deliveryPreferencesJson,proto3" json:"delivery_preferences_json,omitempty"`
	Status                  SubscriptionStatus     `protobuf:"varint,7,opt,name=status,proto3,enum=kodex.interactions.v1.SubscriptionStatus" json:"status,omitempty"`
	SourceOwner             *SourceOwnerRef        `protobuf:"bytes,8,opt,name=source_owner,json=sourceOwner,proto3,oneof" json:"source_owner,omitempty"`
	ChannelHintRefs         []*ExternalRef         `protobuf:"bytes,9,rep,name=channel_hint_refs,json=channelHintRefs,proto3" json:"channel_hint_refs,omitempty"`
	SubscriptionPolicyRef   *string                `protobuf:"bytes,10,opt,name=subscription_policy_ref,json=subscriptionPolicyRef,proto3,oneof" json:"subscription_policy_ref,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *UpsertSubscriptionRequest) Reset() {
	*x = UpsertSubscriptionRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertSubscriptionRequest) ProtoMessage() {}

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

func (x *UpsertSubscriptionRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *UpsertSubscriptionRequest) GetSubscriptionId() string {
	if x != nil && x.SubscriptionId != nil {
		return *x.SubscriptionId
	}
	return ""
}

func (x *UpsertSubscriptionRequest) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *UpsertSubscriptionRequest) GetSubscriberRef() *ActorRef {
	if x != nil {
		return x.SubscriberRef
	}
	return nil
}

func (x *UpsertSubscriptionRequest) GetEventFilterJson() string {
	if x != nil {
		return x.EventFilterJson
	}
	return ""
}

func (x *UpsertSubscriptionRequest) GetDeliveryPreferencesJson() string {
	if x != nil {
		return x.DeliveryPreferencesJson
	}
	return ""
}

func (x *UpsertSubscriptionRequest) GetStatus() SubscriptionStatus {
	if x != nil {
		return x.Status
	}
	return SubscriptionStatus_SUBSCRIPTION_STATUS_UNSPECIFIED
}

func (x *UpsertSubscriptionRequest) GetSourceOwner() *SourceOwnerRef {
	if x != nil {
		return x.SourceOwner
	}
	return nil
}

func (x *UpsertSubscriptionRequest) GetChannelHintRefs() []*ExternalRef {
	if x != nil {
		return x.ChannelHintRefs
	}
	return nil
}

func (x *UpsertSubscriptionRequest) GetSubscriptionPolicyRef() string {
	if x != nil && x.SubscriptionPolicyRef != nil {
		return *x.SubscriptionPolicyRef
	}
	return ""
}

type DisableSubscriptionRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *CommandMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	SubscriptionId string                 `protobuf:"bytes,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *DisableSubscriptionRequest) Reset() {
	*x = DisableSubscriptionRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DisableSubscriptionRequest) ProtoMessage() {}

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

func (x *DisableSubscriptionRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *DisableSubscriptionRequest) GetSubscriptionId() string {
	if x != nil {
		return x.SubscriptionId
	}
	return ""
}

type ListSubscriptionsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *QueryMeta             `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Scope         *ScopeRef              `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	SubscriberRef *string                `protobuf:"bytes,3,opt,name=subscriber_ref,json=subscriberRef,proto3,oneof" json:"subscriber_ref,omitempty"`
	Status        *SubscriptionStatus    `protobuf:"varint,4,opt,name=status,proto3,enum=kodex.interactions.v1.SubscriptionStatus,oneof" json:"status,omitempty"`
	Page          *PageRequest           `protobuf:"bytes,5,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSubscriptionsRequest) Reset() {
	*x = ListSubscriptionsRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListSubscriptionsRequest) ProtoMessage() {}

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

func (x *ListSubscriptionsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListSubscriptionsRequest) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *ListSubscriptionsRequest) GetSubscriberRef() string {
	if x != nil && x.SubscriberRef != nil {
		return *x.SubscriberRef
	}
	return ""
}

func (x *ListSubscriptionsRequest) GetStatus() SubscriptionStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return SubscriptionStatus_SUBSCRIPTION_STATUS_UNSPECIFIED
}

func (x *ListSubscriptionsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

type PlanDeliveryRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *CommandMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Target        *DeliveryTarget        `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
	RouteId       *string                `protobuf:"bytes,3,opt,name=route_id,json=routeId,proto3,oneof" json:"route_id,omitempty"`
	CorrelationId *string                `protobuf:"bytes,4,opt,name=correlation_id,json=correlationId,proto3,oneof" json:"correlation_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PlanDeliveryRequest) Reset() {
	*x = PlanDeliveryRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PlanDeliveryRequest) ProtoMessage() {}

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

func (x *PlanDeliveryRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *PlanDeliveryRequest) GetTarget() *DeliveryTarget {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *PlanDeliveryRequest) GetRouteId() string {
	if x != nil && x.RouteId != nil {
		return *x.RouteId
	}
	return ""
}

func (x *PlanDeliveryRequest) GetCorrelationId() string {
	if x != nil && x.CorrelationId != nil {
		return *x.CorrelationId
	}
	return ""
}

type RecordDeliveryResultRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *CommandMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Result        *ChannelDeliveryResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RecordDeliveryResultRequest) Reset() {
	*x = RecordDeliveryResultRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RecordDeliveryResultRequest) ProtoMessage() {}

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

func (x *RecordDeliveryResultRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *RecordDeliveryResultRequest) GetResult() *ChannelDeliveryResult {
	if x != nil {
		return x.Result
	}
	return nil
}

type RecordChannelCallbackRequest struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Meta          *CommandMeta             `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Callback      *ChannelCallbackEnvelope `protobuf:"bytes,2,opt,name=callback,proto3" json:"callback,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RecordChannelCallbackRequest) Reset() {
	*x = RecordChannelCallbackRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RecordChannelCallbackRequest) ProtoMessage() {}

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

func (x *RecordChannelCallbackRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *RecordChannelCallbackRequest) GetCallback() *ChannelCallbackEnvelope {
	if x != nil {
		return x.Callback
	}
	return nil
}

type GetDeliveryStatusRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *QueryMeta             `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Target        *DeliveryTarget        `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
	DeliveryId    *string                `protobuf:"bytes,3,opt,name=delivery_id,json=deliveryId,proto3,oneof" json:"delivery_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetDeliveryStatusRequest) Reset() {
	*x = GetDeliveryStatusRequest{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetDeliveryStatusRequest) ProtoMessage() {}

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

func (x *GetDeliveryStatusRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetDeliveryStatusRequest) GetTarget() *DeliveryTarget {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *GetDeliveryStatusRequest) GetDeliveryId() string {
	if x != nil && x.DeliveryId != nil {
		return *x.DeliveryId
	}
	return ""
}

type ConversationThreadResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Thread        *ConversationThread    `protobuf:"bytes,1,opt,name=thread,proto3" json:"thread,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ConversationThreadResponse) Reset() {
	*x = ConversationThreadResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ConversationThreadResponse) ProtoMessage() {}

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

func (x *ConversationThreadResponse) GetThread() *ConversationThread {
	if x != nil {
		return x.Thread
	}
	return nil
}

type ConversationMessageResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Message       *ConversationMessage   `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ConversationMessageResponse) Reset() {
	*x = ConversationMessageResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ConversationMessageResponse) ProtoMessage() {}

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

func (x *ConversationMessageResponse) GetMessage() *ConversationMessage {
	if x != nil {
		return x.Message
	}
	return nil
}

type ListConversationMessagesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Messages      []*ConversationMessage `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	Page          *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListConversationMessagesResponse) Reset() {
	*x = ListConversationMessagesResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListConversationMessagesResponse) ProtoMessage() {}

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

func (x *ListConversationMessagesResponse) GetMessages() []*ConversationMessage {
	if x != nil {
		return x.Messages
	}
	return nil
}

func (x *ListConversationMessagesResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type InteractionRequestResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Request       *InteractionRequest    `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InteractionRequestResponse) Reset() {
	*x = InteractionRequestResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[53]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*InteractionRequestResponse) ProtoMessage() {}

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

func (x *InteractionRequestResponse) GetRequest() *InteractionRequest {
	if x != nil {
		return x.Request
	}
	return nil
}

type InteractionResponseResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Request       *InteractionRequest    `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
	Response      *InteractionResponse   `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InteractionResponseResponse) Reset() {
	*x = InteractionResponseResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[54]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*InteractionResponseResponse) ProtoMessage() {}

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

func (x *InteractionResponseResponse) GetRequest() *InteractionRequest {
	if x != nil {
		return x.Request
	}
	return nil
}

func (x *InteractionResponseResponse) GetResponse() *InteractionResponse {
	if x != nil {
		return x.Response
	}
	return nil
}

type ExpireInteractionRequestsResponse struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	ExpiredRequestIds []string               `protobuf:"bytes,1,rep,name=expired_request_ids,json=expiredRequestIds,proto3" json:"expired_request_ids,omitempty"`
	ExpiredCount      int32                  `protobuf:"varint,2,opt,name=expired_count,json=expiredCount,proto3" json:"expired_count,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *ExpireInteractionRequestsResponse) Reset() {
	*x = ExpireInteractionRequestsResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ExpireInteractionRequestsResponse) ProtoMessage() {}

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

func (x *ExpireInteractionRequestsResponse) GetExpiredRequestIds() []string {
	if x != nil {
		return x.ExpiredRequestIds
	}
	return nil
}

func (x *ExpireInteractionRequestsResponse) GetExpiredCount() int32 {
	if x != nil {
		return x.ExpiredCount
	}
	return 0
}

type ListInteractionRequestsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Requests      []*InteractionRequest  `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
	Page          *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListInteractionRequestsResponse) Reset() {
	*x = ListInteractionRequestsResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListInteractionRequestsResponse) ProtoMessage() {}

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

func (x *ListInteractionRequestsResponse) GetRequests() []*InteractionRequest {
	if x != nil {
		return x.Requests
	}
	return nil
}

func (x *ListInteractionRequestsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type OwnerInboxItem struct {
	state             protoimpl.MessageState     `protogen:"open.v1"`
	RequestId         string                     `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	RequestKind       InteractionRequestKind     `protobuf:"varint,2,opt,name=request_kind,json=requestKind,proto3,enum=kodex.interactions.v1.InteractionRequestKind" json:"request_kind,omitempty"`
	RequestStatus     InteractionRequestStatus   `protobuf:"varint,3,opt,name=request_status,json=requestStatus,proto3,enum=kodex.interactions.v1.InteractionRequestStatus" json:"request_status,omitempty"`
	Scope             *ScopeRef                  `protobuf:"bytes,4,opt,name=scope,proto3" json:"scope,omitempty"`
	Requester         *SourceOwnerRef            `protobuf:"bytes,5,opt,name=requester,proto3" json:"requester,omitempty"`
	DecisionOwner     *DecisionOwnerRef          `protobuf:"bytes,6,opt,name=decision_owner,json=decisionOwner,proto3,oneof" json:"decision_owner,omitempty"`
	AssigneeRefs      []*ActorRef                `protobuf:"bytes,7,rep,name=assignee_refs,json=assigneeRefs,proto3" json:"assignee_refs,omitempty"`
	ContextRefs       []*ExternalRef             `protobuf:"bytes,8,rep,name=context_refs,json=contextRefs,proto3" json:"context_refs,omitempty"`
	Title             string                     `protobuf:"bytes,9,opt,name=title,proto3" json:"title,omitempty"`
	Summary           string                     `protobuf:"bytes,10,opt,name=summary,proto3" json:"summary,omitempty"`
	DeadlineAt        *string                    `protobuf:"bytes,11,opt,name=deadline_at,json=deadlineAt,proto3,oneof" json:"deadline_at,omitempty"`
	ReminderPolicyRef *string                    `protobuf:"bytes,12,opt,name=reminder_policy_ref,json=reminderPolicyRef,proto3,oneof" json:"reminder_policy_ref,omitempty"`
	DeliverySummary   *OwnerInboxDeliverySummary `protobuf:"bytes,13,opt,name=delivery_summary,json=deliverySummary,proto3" json:"delivery_summary,omitempty"`
	LatestCallback    *OwnerInboxCallbackSummary `protobuf:"bytes,14,opt,name=latest_callback,json=latestCallback,proto3,oneof" json:"latest_callback,omitempty"`
	LatestResponse    *OwnerInboxResponseSummary `protobuf:"bytes,15,opt,name=latest_response,json=latestResponse,proto3,oneof" json:"latest_response,omitempty"`
	CreatedAt         string                     `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt         string                     `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	ResolvedAt        *string                    `protobuf:"bytes,18,opt,name=resolved_at,json=resolvedAt,proto3,oneof" json:"resolved_at,omitempty"`
	Version           int64                      `protobuf:"varint,19,opt,name=version,proto3" json:"version,omitempty"`
	AllowedActions    []*InteractionAction       `protobuf:"bytes,20,rep,name=allowed_actions,json=allowedActions,proto3" json:"allowed_actions,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *OwnerInboxItem) Reset() {
	*x = OwnerInboxItem{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[57]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*OwnerInboxItem) ProtoMessage() {}

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

func (x *OwnerInboxItem) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *OwnerInboxItem) GetRequestKind() InteractionRequestKind {
	if x != nil {
		return x.RequestKind
	}
	return InteractionRequestKind_INTERACTION_REQUEST_KIND_UNSPECIFIED
}

func (x *OwnerInboxItem) GetRequestStatus() InteractionRequestStatus {
	if x != nil {
		return x.RequestStatus
	}
	return InteractionRequestStatus_INTERACTION_REQUEST_STATUS_UNSPECIFIED
}

func (x *OwnerInboxItem) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *OwnerInboxItem) GetRequester() *SourceOwnerRef {
	if x != nil {
		return x.Requester
	}
	return nil
}

func (x *OwnerInboxItem) GetDecisionOwner() *DecisionOwnerRef {
	if x != nil {
		return x.DecisionOwner
	}
	return nil
}

func (x *OwnerInboxItem) GetAssigneeRefs() []*ActorRef {
	if x != nil {
		return x.AssigneeRefs
	}
	return nil
}

func (x *OwnerInboxItem) GetContextRefs() []*ExternalRef {
	if x != nil {
		return x.ContextRefs
	}
	return nil
}

func (x *OwnerInboxItem) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *OwnerInboxItem) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *OwnerInboxItem) GetDeadlineAt() string {
	if x != nil && x.DeadlineAt != nil {
		return *x.DeadlineAt
	}
	return ""
}

func (x *OwnerInboxItem) GetReminderPolicyRef() string {
	if x != nil && x.ReminderPolicyRef != nil {
		return *x.ReminderPolicyRef
	}
	return ""
}

func (x *OwnerInboxItem) GetDeliverySummary() *OwnerInboxDeliverySummary {
	if x != nil {
		return x.DeliverySummary
	}
	return nil
}

func (x *OwnerInboxItem) GetLatestCallback() *OwnerInboxCallbackSummary {
	if x != nil {
		return x.LatestCallback
	}
	return nil
}

func (x *OwnerInboxItem) GetLatestResponse() *OwnerInboxResponseSummary {
	if x != nil {
		return x.LatestResponse
	}
	return nil
}

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

func (x *OwnerInboxItem) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *OwnerInboxItem) GetResolvedAt() string {
	if x != nil && x.ResolvedAt != nil {
		return *x.ResolvedAt
	}
	return ""
}

func (x *OwnerInboxItem) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *OwnerInboxItem) GetAllowedActions() []*InteractionAction {
	if x != nil {
		return x.AllowedActions
	}
	return nil
}

type OwnerInboxDeliverySummary struct {
	state                   protoimpl.MessageState `protogen:"open.v1"`
	AttemptCount            int32                  `protobuf:"varint,1,opt,name=attempt_count,json=attemptCount,proto3" json:"attempt_count,omitempty"`
	LatestDeliveryAttemptId *string                `protobuf:"bytes,2,opt,name=latest_delivery_attempt_id,json=latestDeliveryAttemptId,proto3,oneof" json:"latest_delivery_attempt_id,omitempty"`
	LatestDeliveryId        *string                `protobuf:"bytes,3,opt,name=latest_delivery_id,json=latestDeliveryId,proto3,oneof" json:"latest_delivery_id,omitempty"`
	LatestStatus            DeliveryAttemptStatus  `protobuf:"varint,4,opt,name=latest_status,json=latestStatus,proto3,enum=kodex.interactions.v1.DeliveryAttemptStatus" json:"latest_status,omitempty"`
	LatestErrorCode         *string                `protobuf:"bytes,5,opt,name=latest_error_code,json=latestErrorCode,proto3,oneof" json:"latest_error_code,omitempty"`
	LatestErrorClass        DeliveryErrorClass     `protobuf:"varint,6,opt,name=latest_error_class,json=latestErrorClass,proto3,enum=kodex.interactions.v1.DeliveryErrorClass" json:"latest_error_class,omitempty"`
	NextRetryAt             *string                `protobuf:"bytes,7,opt,name=next_retry_at,json=nextRetryAt,proto3,oneof" json:"next_retry_at,omitempty"`
	LatestUpdatedAt         *string                `protobuf:"bytes,8,opt,name=latest_updated_at,json=latestUpdatedAt,proto3,oneof" json:"latest_updated_at,omitempty"`
	RouteId                 *string                `protobuf:"bytes,9,opt,name=route_id,json=routeId,proto3,oneof" json:"route_id,omitempty"`
	ChannelMessageRef       *string                `protobuf:"bytes,10,opt,name=channel_message_ref,json=channelMessageRef,proto3,oneof" json:"channel_message_ref,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *OwnerInboxDeliverySummary) Reset() {
	*x = OwnerInboxDeliverySummary{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*OwnerInboxDeliverySummary) ProtoMessage() {}

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

func (x *OwnerInboxDeliverySummary) GetAttemptCount() int32 {
	if x != nil {
		return x.AttemptCount
	}
	return 0
}

func (x *OwnerInboxDeliverySummary) GetLatestDeliveryAttemptId() string {
	if x != nil && x.LatestDeliveryAttemptId != nil {
		return *x.LatestDeliveryAttemptId
	}
	return ""
}

func (x *OwnerInboxDeliverySummary) GetLatestDeliveryId() string {
	if x != nil && x.LatestDeliveryId != nil {
		return *x.LatestDeliveryId
	}
	return ""
}

func (x *OwnerInboxDeliverySummary) GetLatestStatus() DeliveryAttemptStatus {
	if x != nil {
		return x.LatestStatus
	}
	return DeliveryAttemptStatus_DELIVERY_ATTEMPT_STATUS_UNSPECIFIED
}

func (x *OwnerInboxDeliverySummary) GetLatestErrorCode() string {
	if x != nil && x.LatestErrorCode != nil {
		return *x.LatestErrorCode
	}
	return ""
}

func (x *OwnerInboxDeliverySummary) GetLatestErrorClass() DeliveryErrorClass {
	if x != nil {
		return x.LatestErrorClass
	}
	return DeliveryErrorClass_DELIVERY_ERROR_CLASS_UNSPECIFIED
}

func (x *OwnerInboxDeliverySummary) GetNextRetryAt() string {
	if x != nil && x.NextRetryAt != nil {
		return *x.NextRetryAt
	}
	return ""
}

func (x *OwnerInboxDeliverySummary) GetLatestUpdatedAt() string {
	if x != nil && x.LatestUpdatedAt != nil {
		return *x.LatestUpdatedAt
	}
	return ""
}

func (x *OwnerInboxDeliverySummary) GetRouteId() string {
	if x != nil && x.RouteId != nil {
		return *x.RouteId
	}
	return ""
}

func (x *OwnerInboxDeliverySummary) GetChannelMessageRef() string {
	if x != nil && x.ChannelMessageRef != nil {
		return *x.ChannelMessageRef
	}
	return ""
}

type OwnerInboxCallbackSummary struct {
	state            protoimpl.MessageState   `protogen:"open.v1"`
	CallbackRef      string                   `protobuf:"bytes,1,opt,name=callback_ref,json=callbackRef,proto3" json:"callback_ref,omitempty"`
	CallbackId       string                   `protobuf:"bytes,2,opt,name=callback_id,json=callbackId,proto3" json:"callback_id,omitempty"`
	DeliveryId       *string                  `protobuf:"bytes,3,opt,name=delivery_id,json=deliveryId,proto3,oneof" json:"delivery_id,omitempty"`
	SignatureStatus  CallbackSignatureStatus  `protobuf:"varint,4,opt,name=signature_status,json=signatureStatus,proto3,enum=kodex.interactions.v1.CallbackSignatureStatus" json:"signature_status,omitempty"`
	ProcessingStatus CallbackProcessingStatus `protobuf:"varint,5,opt,name=processing_status,json=processingStatus,proto3,enum=kodex.interactions.v1.CallbackProcessingStatus" json:"processing_status,omitempty"`
	ActorRef         *string                  `protobuf:"bytes,6,opt,name=actor_ref,json=actorRef,proto3,oneof" json:"actor_ref,omitempty"`
	Action           *string                  `protobuf:"bytes,7,opt,name=action,proto3,oneof" json:"action,omitempty"`
	ErrorCode        *string                  `protobuf:"bytes,8,opt,name=error_code,json=errorCode,proto3,oneof" json:"error_code,omitempty"`
	ReceivedAt       string                   `protobuf:"bytes,9,opt,name=received_at,json=receivedAt,proto3" json:"received_at,omitempty"`
	GatewayRef       *string                  `protobuf:"bytes,10,opt,name=gateway_ref,json=gatewayRef,proto3,oneof" json:"gateway_ref,omitempty"`
	CorrelationId    *string                  `protobuf:"bytes,11,opt,name=correlation_id,json=correlationId,proto3,oneof" json:"correlation_id,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *OwnerInboxCallbackSummary) Reset() {
	*x = OwnerInboxCallbackSummary{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*OwnerInboxCallbackSummary) ProtoMessage() {}

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

func (x *OwnerInboxCallbackSummary) GetCallbackRef() string {
	if x != nil {
		return x.CallbackRef
	}
	return ""
}

func (x *OwnerInboxCallbackSummary) GetCallbackId() string {
	if x != nil {
		return x.CallbackId
	}
	return ""
}

func (x *OwnerInboxCallbackSummary) GetDeliveryId() string {
	if x != nil && x.DeliveryId != nil {
		return *x.DeliveryId
	}
	return ""
}

func (x *OwnerInboxCallbackSummary) GetSignatureStatus() CallbackSignatureStatus {
	if x != nil {
		return x.SignatureStatus
	}
	return CallbackSignatureStatus_CALLBACK_SIGNATURE_STATUS_UNSPECIFIED
}

func (x *OwnerInboxCallbackSummary) GetProcessingStatus() CallbackProcessingStatus {
	if x != nil {
		return x.ProcessingStatus
	}
	return CallbackProcessingStatus_CALLBACK_PROCESSING_STATUS_UNSPECIFIED
}

func (x *OwnerInboxCallbackSummary) GetActorRef() string {
	if x != nil && x.ActorRef != nil {
		return *x.ActorRef
	}
	return ""
}

func (x *OwnerInboxCallbackSummary) GetAction() string {
	if x != nil && x.Action != nil {
		return *x.Action
	}
	return ""
}

func (x *OwnerInboxCallbackSummary) GetErrorCode() string {
	if x != nil && x.ErrorCode != nil {
		return *x.ErrorCode
	}
	return ""
}

func (x *OwnerInboxCallbackSummary) GetReceivedAt() string {
	if x != nil {
		return x.ReceivedAt
	}
	return ""
}

func (x *OwnerInboxCallbackSummary) GetGatewayRef() string {
	if x != nil && x.GatewayRef != nil {
		return *x.GatewayRef
	}
	return ""
}

func (x *OwnerInboxCallbackSummary) GetCorrelationId() string {
	if x != nil && x.CorrelationId != nil {
		return *x.CorrelationId
	}
	return ""
}

type OwnerInboxResponseSummary struct {
	state               protoimpl.MessageState        `protogen:"open.v1"`
	ResponseId          string                        `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
	ResponseAction      InteractionResponseAction     `protobuf:"varint,2,opt,name=response_action,json=responseAction,proto3,enum=kodex.interactions.v1.InteractionResponseAction" json:"response_action,omitempty"`
	RespondedByActorRef string                        `protobuf:"bytes,3,opt,name=responded_by_actor_ref,json=respondedByActorRef,proto3" json:"responded_by_actor_ref,omitempty"`
	SourceKind          InteractionResponseSourceKind `protobuf:"varint,4,opt,name=source_kind,json=sourceKind,proto3,enum=kodex.interactions.v1.InteractionResponseSourceKind" json:"source_kind,omitempty"`
	SourceRef           *string                       `protobuf:"bytes,5,opt,name=source_ref,json=sourceRef,proto3,oneof" json:"source_ref,omitempty"`
	OwnerDecisionRef    *string                       `protobuf:"bytes,6,opt,name=owner_decision_ref,json=ownerDecisionRef,proto3,oneof" json:"owner_decision_ref,omitempty"`
	CreatedAt           string                        `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// response_summary is a bounded safe summary, not raw callback or transcript payload.
	ResponseSummary *string `protobuf:"bytes,8,opt,name=response_summary,json=responseSummary,proto3,oneof" json:"response_summary,omitempty"`
	// response_summary_digest lets consumers compare replayed summaries without copying text.
	ResponseSummaryDigest *string `protobuf:"bytes,9,opt,name=response_summary_digest,json=responseSummaryDigest,proto3,oneof" json:"response_summary_digest,omitempty"`
	// response_object points to sanitized full content when policy stored it outside PostgreSQL.
	ResponseObject *ObjectRef `protobuf:"bytes,10,opt,name=response_object,json=responseObject,proto3,oneof" json:"response_object,omitempty"`
	// interaction_response_ref is the stable ref passed to owner services.
	InteractionResponseRef *string `protobuf:"bytes,11,opt,name=interaction_response_ref,json=interactionResponseRef,proto3,oneof" json:"interaction_response_ref,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *OwnerInboxResponseSummary) Reset() {
	*x = OwnerInboxResponseSummary{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*OwnerInboxResponseSummary) ProtoMessage() {}

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

func (x *OwnerInboxResponseSummary) GetResponseId() string {
	if x != nil {
		return x.ResponseId
	}
	return ""
}

func (x *OwnerInboxResponseSummary) GetResponseAction() InteractionResponseAction {
	if x != nil {
		return x.ResponseAction
	}
	return InteractionResponseAction_INTERACTION_RESPONSE_ACTION_UNSPECIFIED
}

func (x *OwnerInboxResponseSummary) GetRespondedByActorRef() string {
	if x != nil {
		return x.RespondedByActorRef
	}
	return ""
}

func (x *OwnerInboxResponseSummary) GetSourceKind() InteractionResponseSourceKind {
	if x != nil {
		return x.SourceKind
	}
	return InteractionResponseSourceKind_INTERACTION_RESPONSE_SOURCE_KIND_UNSPECIFIED
}

func (x *OwnerInboxResponseSummary) GetSourceRef() string {
	if x != nil && x.SourceRef != nil {
		return *x.SourceRef
	}
	return ""
}

func (x *OwnerInboxResponseSummary) GetOwnerDecisionRef() string {
	if x != nil && x.OwnerDecisionRef != nil {
		return *x.OwnerDecisionRef
	}
	return ""
}

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

func (x *OwnerInboxResponseSummary) GetResponseSummary() string {
	if x != nil && x.ResponseSummary != nil {
		return *x.ResponseSummary
	}
	return ""
}

func (x *OwnerInboxResponseSummary) GetResponseSummaryDigest() string {
	if x != nil && x.ResponseSummaryDigest != nil {
		return *x.ResponseSummaryDigest
	}
	return ""
}

func (x *OwnerInboxResponseSummary) GetResponseObject() *ObjectRef {
	if x != nil {
		return x.ResponseObject
	}
	return nil
}

func (x *OwnerInboxResponseSummary) GetInteractionResponseRef() string {
	if x != nil && x.InteractionResponseRef != nil {
		return *x.InteractionResponseRef
	}
	return ""
}

type ListOwnerInboxItemsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*OwnerInboxItem      `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	Page          *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListOwnerInboxItemsResponse) Reset() {
	*x = ListOwnerInboxItemsResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListOwnerInboxItemsResponse) ProtoMessage() {}

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

func (x *ListOwnerInboxItemsResponse) GetItems() []*OwnerInboxItem {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *ListOwnerInboxItemsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type OwnerInboxItemResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Item          *OwnerInboxItem        `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OwnerInboxItemResponse) Reset() {
	*x = OwnerInboxItemResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*OwnerInboxItemResponse) ProtoMessage() {}

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

func (x *OwnerInboxItemResponse) GetItem() *OwnerInboxItem {
	if x != nil {
		return x.Item
	}
	return nil
}

type NotificationResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Notification  *Notification          `protobuf:"bytes,1,opt,name=notification,proto3" json:"notification,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NotificationResponse) Reset() {
	*x = NotificationResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NotificationResponse) ProtoMessage() {}

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

func (x *NotificationResponse) GetNotification() *Notification {
	if x != nil {
		return x.Notification
	}
	return nil
}

type SubscriptionResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Subscription  *Subscription          `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SubscriptionResponse) Reset() {
	*x = SubscriptionResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[64]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SubscriptionResponse) ProtoMessage() {}

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

func (x *SubscriptionResponse) GetSubscription() *Subscription {
	if x != nil {
		return x.Subscription
	}
	return nil
}

type ListSubscriptionsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Subscriptions []*Subscription        `protobuf:"bytes,1,rep,name=subscriptions,proto3" json:"subscriptions,omitempty"`
	Page          *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSubscriptionsResponse) Reset() {
	*x = ListSubscriptionsResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListSubscriptionsResponse) ProtoMessage() {}

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

func (x *ListSubscriptionsResponse) GetSubscriptions() []*Subscription {
	if x != nil {
		return x.Subscriptions
	}
	return nil
}

func (x *ListSubscriptionsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type DeliveryAttemptResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	DeliveryAttempt *DeliveryAttempt       `protobuf:"bytes,1,opt,name=delivery_attempt,json=deliveryAttempt,proto3" json:"delivery_attempt,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *DeliveryAttemptResponse) Reset() {
	*x = DeliveryAttemptResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeliveryAttemptResponse) ProtoMessage() {}

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

func (x *DeliveryAttemptResponse) GetDeliveryAttempt() *DeliveryAttempt {
	if x != nil {
		return x.DeliveryAttempt
	}
	return nil
}

type ChannelCallbackResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Callback      *ChannelCallback       `protobuf:"bytes,1,opt,name=callback,proto3" json:"callback,omitempty"`
	Response      *InteractionResponse   `protobuf:"bytes,2,opt,name=response,proto3,oneof" json:"response,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChannelCallbackResponse) Reset() {
	*x = ChannelCallbackResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[67]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChannelCallbackResponse) ProtoMessage() {}

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

func (x *ChannelCallbackResponse) GetCallback() *ChannelCallback {
	if x != nil {
		return x.Callback
	}
	return nil
}

func (x *ChannelCallbackResponse) GetResponse() *InteractionResponse {
	if x != nil {
		return x.Response
	}
	return nil
}

type DeliveryStatusResponse struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Request          *InteractionRequest    `protobuf:"bytes,1,opt,name=request,proto3,oneof" json:"request,omitempty"`
	Notification     *Notification          `protobuf:"bytes,2,opt,name=notification,proto3,oneof" json:"notification,omitempty"`
	DeliveryAttempts []*DeliveryAttempt     `protobuf:"bytes,3,rep,name=delivery_attempts,json=deliveryAttempts,proto3" json:"delivery_attempts,omitempty"`
	LatestCallback   *ChannelCallback       `protobuf:"bytes,4,opt,name=latest_callback,json=latestCallback,proto3,oneof" json:"latest_callback,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *DeliveryStatusResponse) Reset() {
	*x = DeliveryStatusResponse{}
	mi := &file_kodex_interactions_v1_interaction_hub_proto_msgTypes[68]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeliveryStatusResponse) ProtoMessage() {}

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

func (x *DeliveryStatusResponse) GetRequest() *InteractionRequest {
	if x != nil {
		return x.Request
	}
	return nil
}

func (x *DeliveryStatusResponse) GetNotification() *Notification {
	if x != nil {
		return x.Notification
	}
	return nil
}

func (x *DeliveryStatusResponse) GetDeliveryAttempts() []*DeliveryAttempt {
	if x != nil {
		return x.DeliveryAttempts
	}
	return nil
}

func (x *DeliveryStatusResponse) GetLatestCallback() *ChannelCallback {
	if x != nil {
		return x.LatestCallback
	}
	return nil
}

var File_kodex_interactions_v1_interaction_hub_proto protoreflect.FileDescriptor

const file_kodex_interactions_v1_interaction_hub_proto_rawDesc = "" +
	"\n" +
	"+kodex/interactions/v1/interaction_hub.proto\x12\x15kodex.interactions.v1\"\x82\x03\n" +
	"\vCommandMeta\x12\"\n" +
	"\n" +
	"command_id\x18\x01 \x01(\tH\x00R\tcommandId\x88\x01\x01\x12,\n" +
	"\x0fidempotency_key\x18\x02 \x01(\tH\x01R\x0eidempotencyKey\x88\x01\x01\x12.\n" +
	"\x10expected_version\x18\x03 \x01(\x03H\x02R\x0fexpectedVersion\x88\x01\x01\x122\n" +
	"\x05actor\x18\x04 \x01(\v2\x1c.kodex.interactions.v1.ActorR\x05actor\x12\x16\n" +
	"\x06reason\x18\x05 \x01(\tR\x06reason\x12\x1d\n" +
	"\n" +
	"request_id\x18\x06 \x01(\tR\trequestId\x12N\n" +
	"\x0frequest_context\x18\a \x01(\v2%.kodex.interactions.v1.RequestContextR\x0erequestContextB\r\n" +
	"\v_command_idB\x12\n" +
	"\x10_idempotency_keyB\x13\n" +
	"\x11_expected_version\"\xae\x01\n" +
	"\tQueryMeta\x122\n" +
	"\x05actor\x18\x01 \x01(\v2\x1c.kodex.interactions.v1.ActorR\x05actor\x12\x1d\n" +
	"\n" +
	"request_id\x18\x02 \x01(\tR\trequestId\x12N\n" +
	"\x0frequest_context\x18\x03 \x01(\v2%.kodex.interactions.v1.RequestContextR\x0erequestContext\"\xc6\x01\n" +
	"\x0eRequestContext\x12\x16\n" +
	"\x06source\x18\x01 \x01(\tR\x06source\x12\x1e\n" +
	"\btrace_id\x18\x02 \x01(\tH\x00R\atraceId\x88\x01\x01\x12\"\n" +
	"\n" +
	"session_id\x18\x03 \x01(\tH\x01R\tsessionId\x88\x01\x01\x12)\n" +
	"\x0eclient_ip_hash\x18\x04 \x01(\tH\x02R\fclientIpHash\x88\x01\x01B\v\n" +
	"\t_trace_idB\r\n" +
	"\v_session_idB\x11\n" +
	"\x0f_client_ip_hash\"+\n" +
	"\x05Actor\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\"]\n" +
	"\vPageRequest\x12\x1b\n" +
	"\tpage_size\x18\x01 \x01(\x05R\bpageSize\x12\"\n" +
	"\n" +
	"page_token\x18\x02 \x01(\tH\x00R\tpageToken\x88\x01\x01B\r\n" +
	"\v_page_token\"O\n" +
	"\fPageResponse\x12+\n" +
	"\x0fnext_page_token\x18\x01 \x01(\tH\x00R\rnextPageToken\x88\x01\x01B\x12\n" +
	"\x10_next_page_token\"]\n" +
	"\bScopeRef\x12?\n" +
	"\x04type\x18\x01 \x01(\x0e2+.kodex.interactions.v1.InteractionScopeTypeR\x04type\x12\x10\n" +
	"\x03ref\x18\x02 \x01(\tR\x03ref\"\x96\x01\n" +
	"\tObjectRef\x12\x1d\n" +
	"\n" +
	"object_uri\x18\x01 \x01(\tR\tobjectUri\x12#\n" +
	"\robject_digest\x18\x02 \x01(\tR\fobjectDigest\x12/\n" +
	"\x11object_size_bytes\x18\x03 \x01(\x03H\x00R\x0fobjectSizeBytes\x88\x01\x01B\x14\n" +
	"\x12_object_size_bytes\":\n" +
	"\vExternalRef\x12\x19\n" +
	"\bref_kind\x18\x01 \x01(\tR\arefKind\x12\x10\n" +
	"\x03ref\x18\x02 \x01(\tR\x03ref\"7\n" +
	"\bActorRef\x12\x19\n" +
	"\bref_kind\x18\x01 \x01(\tR\arefKind\x12\x10\n" +
	"\x03ref\x18\x02 \x01(\tR\x03ref\"k\n" +
	"\x0eSourceOwnerRef\x12:\n" +
	"\x04kind\x18\x01 \x01(\x0e2&.kodex.interactions.v1.SourceOwnerKindR\x04kind\x12\x15\n" +
	"\x03ref\x18\x02 \x01(\tH\x00R\x03ref\x88\x01\x01B\x06\n" +
	"\x04_ref\"c\n" +
	"\n" +
	"IngressRef\x126\n" +
	"\x04kind\x18\x01 \x01(\x0e2\".kodex.interactions.v1.IngressKindR\x04kind\x12\x15\n" +
	"\x03ref\x18\x02 \x01(\tH\x00R\x03ref\x88\x01\x01B\x06\n" +
	"\x04_ref\"\xd1\x01\n" +
	"\x10DecisionOwnerRef\x12G\n" +
	"\n" +
	"owner_kind\x18\x01 \x01(\x0e2(.kodex.interactions.v1.DecisionOwnerKindR\townerKind\x12*\n" +
	"\x11owner_request_ref\x18\x02 \x01(\tR\x0fownerRequestRef\x121\n" +
	"\x12owner_decision_ref\x18\x03 \x01(\tH\x00R\x10ownerDecisionRef\x88\x01\x01B\x15\n" +
	"\x13_owner_decision_ref\"\x9d\x01\n" +
	"\x11InteractionAction\x12\x1d\n" +
	"\n" +
	"action_key\x18\x01 \x01(\tR\tactionKey\x121\n" +
	"\x12label_template_ref\x18\x02 \x01(\tH\x00R\x10labelTemplateRef\x88\x01\x01\x12\x1f\n" +
	"\vis_terminal\x18\x03 \x01(\bR\n" +
	"isTerminalB\x15\n" +
	"\x13_label_template_ref\"\xdd\x05\n" +
	"\x12ConversationThread\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x125\n" +
	"\x05scope\x18\x02 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12N\n" +
	"\vthread_kind\x18\x03 \x01(\x0e2-.kodex.interactions.v1.ConversationThreadKindR\n" +
	"threadKind\x12/\n" +
	"\x11primary_actor_ref\x18\x04 \x01(\tH\x00R\x0fprimaryActorRef\x88\x01\x01\x12N\n" +
	"\vsource_kind\x18\x05 \x01(\x0e2-.kodex.interactions.v1.ConversationSourceKindR\n" +
	"sourceKind\x12\"\n" +
	"\n" +
	"source_ref\x18\x06 \x01(\tH\x01R\tsourceRef\x88\x01\x01\x12G\n" +
	"\x06status\x18\a \x01(\x0e2/.kodex.interactions.v1.ConversationThreadStatusR\x06status\x12/\n" +
	"\x11latest_message_id\x18\b \x01(\tH\x02R\x0flatestMessageId\x88\x01\x01\x12%\n" +
	"\x0ecorrelation_id\x18\t \x01(\tR\rcorrelationId\x12'\n" +
	"\x0fretention_class\x18\n" +
	" \x01(\tR\x0eretentionClass\x12\x18\n" +
	"\aversion\x18\v \x01(\x03R\aversion\x12\x1d\n" +
	"\n" +
	"created_at\x18\f \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\r \x01(\tR\tupdatedAt\x12 \n" +
	"\tclosed_at\x18\x0e \x01(\tH\x03R\bclosedAt\x88\x01\x01B\x14\n" +
	"\x12_primary_actor_refB\r\n" +
	"\v_source_refB\x14\n" +
	"\x12_latest_message_idB\f\n" +
	"\n" +
	"_closed_at\"\xe6\x04\n" +
	"\x13ConversationMessage\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" +
	"\tthread_id\x18\x02 \x01(\tR\bthreadId\x12Q\n" +
	"\fmessage_kind\x18\x03 \x01(\x0e2..kodex.interactions.v1.ConversationMessageKindR\vmessageKind\x12\x1d\n" +
	"\n" +
	"author_ref\x18\x04 \x01(\tR\tauthorRef\x12&\n" +
	"\fbody_summary\x18\x05 \x01(\tH\x00R\vbodySummary\x88\x01\x01\x12F\n" +
	"\vbody_object\x18\x06 \x01(\v2 .kodex.interactions.v1.ObjectRefH\x01R\n" +
	"bodyObject\x88\x01\x01\x12$\n" +
	"\vbody_digest\x18\a \x01(\tH\x02R\n" +
	"bodyDigest\x88\x01\x01\x12\x1b\n" +
	"\x06locale\x18\b \x01(\tH\x03R\x06locale\x88\x01\x01\x12a\n" +
	"\rsafe_metadata\x18\t \x03(\v2<.kodex.interactions.v1.ConversationMessage.SafeMetadataEntryR\fsafeMetadata\x12\x1d\n" +
	"\n" +
	"created_at\x18\n" +
	" \x01(\tR\tcreatedAt\x1a?\n" +
	"\x11SafeMetadataEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x0f\n" +
	"\r_body_summaryB\x0e\n" +
	"\f_body_objectB\x0e\n" +
	"\f_body_digestB\t\n" +
	"\a_locale\"\xd3\t\n" +
	"\x12InteractionRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12P\n" +
	"\frequest_kind\x18\x02 \x01(\x0e2-.kodex.interactions.v1.InteractionRequestKindR\vrequestKind\x125\n" +
	"\x05scope\x18\x03 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12 \n" +
	"\tthread_id\x18\x04 \x01(\tH\x00R\bthreadId\x88\x01\x01\x12H\n" +
	"\fsource_owner\x18\x05 \x01(\v2%.kodex.interactions.v1.SourceOwnerRefR\vsourceOwner\x12;\n" +
	"\aingress\x18\x06 \x01(\v2!.kodex.interactions.v1.IngressRefR\aingress\x12S\n" +
	"\x0edecision_owner\x18\a \x01(\v2'.kodex.interactions.v1.DecisionOwnerRefH\x01R\rdecisionOwner\x88\x01\x01\x12@\n" +
	"\vtarget_refs\x18\b \x03(\v2\x1f.kodex.interactions.v1.ActorRefR\n" +
	"targetRefs\x12E\n" +
	"\fcontext_refs\x18\t \x03(\v2\".kodex.interactions.v1.ExternalRefR\vcontextRefs\x12%\n" +
	"\x0eprompt_summary\x18\n" +
	" \x01(\tR\rpromptSummary\x12J\n" +
	"\rprompt_object\x18\v \x01(\v2 .kodex.interactions.v1.ObjectRefH\x02R\fpromptObject\x88\x01\x01\x12Q\n" +
	"\x0fallowed_actions\x18\f \x03(\v2(.kodex.interactions.v1.InteractionActionR\x0eallowedActions\x12J\n" +
	"\n" +
	"risk_class\x18\r \x01(\x0e2+.kodex.interactions.v1.InteractionRiskClassR\triskClass\x12G\n" +
	"\x06status\x18\x0e \x01(\x0e2/.kodex.interactions.v1.InteractionRequestStatusR\x06status\x12$\n" +
	"\vdeadline_at\x18\x0f \x01(\tH\x03R\n" +
	"deadlineAt\x88\x01\x01\x123\n" +
	"\x13reminder_policy_ref\x18\x10 \x01(\tH\x04R\x11reminderPolicyRef\x88\x01\x01\x12\x18\n" +
	"\aversion\x18\x11 \x01(\x03R\aversion\x12\x1d\n" +
	"\n" +
	"created_at\x18\x12 \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\x13 \x01(\tR\tupdatedAt\x12$\n" +
	"\vresolved_at\x18\x14 \x01(\tH\x05R\n" +
	"resolvedAt\x88\x01\x01B\f\n" +
	"\n" +
	"_thread_idB\x11\n" +
	"\x0f_decision_ownerB\x10\n" +
	"\x0e_prompt_objectB\x0e\n" +
	"\f_deadline_atB\x16\n" +
	"\x14_reminder_policy_refB\x0e\n" +
	"\f_resolved_at\"\xf0\x04\n" +
	"\x13InteractionResponse\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n" +
	"\n" +
	"request_id\x18\x02 \x01(\tR\trequestId\x12Y\n" +
	"\x0fresponse_action\x18\x03 \x01(\x0e20.kodex.interactions.v1.InteractionResponseActionR\x0eresponseAction\x123\n" +
	"\x16responded_by_actor_ref\x18\x04 \x01(\tR\x13respondedByActorRef\x12.\n" +
	"\x10response_summary\x18\x05 \x01(\tH\x00R\x0fresponseSummary\x88\x01\x01\x12N\n" +
	"\x0fresponse_object\x18\x06 \x01(\v2 .kodex.interactions.v1.ObjectRefH\x01R\x0eresponseObject\x88\x01\x01\x12U\n" +
	"\vsource_kind\x18\a \x01(\x0e24.kodex.interactions.v1.InteractionResponseSourceKindR\n" +
	"sourceKind\x12\"\n" +
	"\n" +
	"source_ref\x18\b \x01(\tH\x02R\tsourceRef\x88\x01\x01\x121\n" +
	"\x12owner_decision_ref\x18\t \x01(\tH\x03R\x10ownerDecisionRef\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"created_at\x18\n" +
	" \x01(\tR\tcreatedAtB\x13\n" +
	"\x11_response_summaryB\x12\n" +
	"\x10_response_objectB\r\n" +
	"\v_source_refB\x15\n" +
	"\x13_owner_decision_ref\"\xac\t\n" +
	"\fNotification\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x125\n" +
	"\x05scope\x18\x02 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12T\n" +
	"\x11notification_kind\x18\x03 \x01(\x0e2'.kodex.interactions.v1.NotificationKindR\x10notificationKind\x12\"\n" +
	"\n" +
	"request_id\x18\x04 \x01(\tH\x00R\trequestId\x88\x01\x01\x12,\n" +
	"\x0fsubscription_id\x18\x05 \x01(\tH\x01R\x0esubscriptionId\x88\x01\x01\x12F\n" +
	"\x0erecipient_refs\x18\x06 \x03(\v2\x1f.kodex.interactions.v1.ActorRefR\rrecipientRefs\x120\n" +
	"\x14message_template_ref\x18\a \x01(\tR\x12messageTemplateRef\x12'\n" +
	"\x0fmessage_summary\x18\b \x01(\tR\x0emessageSummary\x12G\n" +
	"\bpriority\x18\t \x01(\x0e2+.kodex.interactions.v1.NotificationPriorityR\bpriority\x12A\n" +
	"\x06status\x18\n" +
	" \x01(\x0e2).kodex.interactions.v1.NotificationStatusR\x06status\x12\x1d\n" +
	"\n" +
	"created_at\x18\v \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\f \x01(\tR\tupdatedAt\x12\"\n" +
	"\n" +
	"expires_at\x18\r \x01(\tH\x02R\texpiresAt\x88\x01\x01\x12H\n" +
	"\fsource_owner\x18\x0e \x01(\v2%.kodex.interactions.v1.SourceOwnerRefR\vsourceOwner\x12;\n" +
	"\aingress\x18\x0f \x01(\v2!.kodex.interactions.v1.IngressRefR\aingress\x12E\n" +
	"\fcontext_refs\x18\x10 \x03(\v2\".kodex.interactions.v1.ExternalRefR\vcontextRefs\x12N\n" +
	"\x11channel_hint_refs\x18\x11 \x03(\v2\".kodex.interactions.v1.ExternalRefR\x0fchannelHintRefs\x12;\n" +
	"\x17notification_policy_ref\x18\x12 \x01(\tH\x03R\x15notificationPolicyRef\x88\x01\x01\x12(\n" +
	"\rmessage_title\x18\x13 \x01(\tH\x04R\fmessageTitle\x88\x01\x01\x12&\n" +
	"\fbody_preview\x18\x14 \x01(\tH\x05R\vbodyPreview\x88\x01\x01B\r\n" +
	"\v_request_idB\x12\n" +
	"\x10_subscription_idB\r\n" +
	"\v_expires_atB\x1a\n" +
	"\x18_notification_policy_refB\x10\n" +
	"\x0e_message_titleB\x0f\n" +
	"\r_body_preview\"\xa9\x05\n" +
	"\fSubscription\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x125\n" +
	"\x05scope\x18\x02 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12F\n" +
	"\x0esubscriber_ref\x18\x03 \x01(\v2\x1f.kodex.interactions.v1.ActorRefR\rsubscriberRef\x12*\n" +
	"\x11event_filter_json\x18\x04 \x01(\tR\x0feventFilterJson\x12:\n" +
	"\x19delivery_preferences_json\x18\x05 \x01(\tR\x17deliveryPreferencesJson\x12A\n" +
	"\x06status\x18\x06 \x01(\x0e2).kodex.interactions.v1.SubscriptionStatusR\x06status\x12\x18\n" +
	"\aversion\x18\a \x01(\x03R\aversion\x12\x1d\n" +
	"\n" +
	"created_at\x18\b \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\t \x01(\tR\tupdatedAt\x12M\n" +
	"\fsource_owner\x18\n" +
	" \x01(\v2%.kodex.interactions.v1.SourceOwnerRefH\x00R\vsourceOwner\x88\x01\x01\x12N\n" +
	"\x11channel_hint_refs\x18\v \x03(\v2\".kodex.interactions.v1.ExternalRefR\x0fchannelHintRefs\x12;\n" +
	"\x17subscription_policy_ref\x18\f \x01(\tH\x01R\x15subscriptionPolicyRef\x88\x01\x01B\x0f\n" +
	"\r_source_ownerB\x1a\n" +
	"\x18_subscription_policy_ref\"\xf0\x05\n" +
	"\rDeliveryRoute\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x125\n" +
	"\x05scope\x18\x02 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12M\n" +
	"\fsurface_kind\x18\x03 \x01(\x0e2*.kodex.interactions.v1.DeliverySurfaceKindR\vsurfaceKind\x129\n" +
	"\x16channel_capability_ref\x18\x04 \x01(\tH\x00R\x14channelCapabilityRef\x88\x01\x01\x12=\n" +
	"\x18package_installation_ref\x18\x05 \x01(\tH\x01R\x16packageInstallationRef\x88\x01\x01\x121\n" +
	"\x12routing_policy_ref\x18\x06 \x01(\tH\x02R\x10routingPolicyRef\x88\x01\x01\x12B\n" +
	"\x06status\x18\a \x01(\x0e2*.kodex.interactions.v1.DeliveryRouteStatusR\x06status\x12\x1d\n" +
	"\n" +
	"created_at\x18\b \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\t \x01(\tR\tupdatedAt\x123\n" +
	"\x13package_version_ref\x18\n" +
	" \x01(\tH\x03R\x11packageVersionRef\x88\x01\x01\x121\n" +
	"\x12callback_route_ref\x18\v \x01(\tH\x04R\x10callbackRouteRef\x88\x01\x01\x12$\n" +
	"\vruntime_ref\x18\f \x01(\tH\x05R\n" +
	"runtimeRef\x88\x01\x01B\x19\n" +
	"\x17_channel_capability_refB\x1b\n" +
	"\x19_package_installation_refB\x15\n" +
	"\x13_routing_policy_refB\x16\n" +
	"\x14_package_version_refB\x15\n" +
	"\x13_callback_route_refB\x0e\n" +
	"\f_runtime_ref\"f\n" +
	"\x0eDeliveryTarget\x12\x1f\n" +
	"\n" +
	"request_id\x18\x01 \x01(\tH\x00R\trequestId\x12)\n" +
	"\x0fnotification_id\x18\x02 \x01(\tH\x00R\x0enotificationIdB\b\n" +
	"\x06target\"\xfc\n" +
	"\n" +
	"\x0fDeliveryAttempt\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12=\n" +
	"\x06target\x18\x02 \x01(\v2%.kodex.interactions.v1.DeliveryTargetR\x06target\x12\x19\n" +
	"\broute_id\x18\x03 \x01(\tR\arouteId\x12\x1f\n" +
	"\vdelivery_id\x18\x04 \x01(\tR\n" +
	"deliveryId\x12H\n" +
	"\rdelivery_kind\x18\x05 \x01(\x0e2#.kodex.interactions.v1.DeliveryKindR\fdeliveryKind\x12D\n" +
	"\x06status\x18\x06 \x01(\x0e2,.kodex.interactions.v1.DeliveryAttemptStatusR\x06status\x123\n" +
	"\x13channel_message_ref\x18\a \x01(\tH\x00R\x11channelMessageRef\x88\x01\x01\x12%\n" +
	"\x0eattempt_number\x18\b \x01(\x05R\rattemptNumber\x12'\n" +
	"\rnext_retry_at\x18\t \x01(\tH\x01R\vnextRetryAt\x88\x01\x01\x12\"\n" +
	"\n" +
	"error_code\x18\n" +
	" \x01(\tH\x02R\terrorCode\x88\x01\x01\x12J\n" +
	"\verror_class\x18\v \x01(\x0e2).kodex.interactions.v1.DeliveryErrorClassR\n" +
	"errorClass\x12%\n" +
	"\x0epayload_digest\x18\f \x01(\tR\rpayloadDigest\x12\x1d\n" +
	"\n" +
	"created_at\x18\r \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\x0e \x01(\tR\tupdatedAt\x12\x1c\n" +
	"\asent_at\x18\x0f \x01(\tH\x03R\x06sentAt\x88\x01\x01\x129\n" +
	"\x16channel_capability_ref\x18\x10 \x01(\tH\x04R\x14channelCapabilityRef\x88\x01\x01\x12=\n" +
	"\x18package_installation_ref\x18\x11 \x01(\tH\x05R\x16packageInstallationRef\x88\x01\x01\x123\n" +
	"\x13package_version_ref\x18\x12 \x01(\tH\x06R\x11packageVersionRef\x88\x01\x01\x125\n" +
	"\x14delivery_command_ref\x18\x13 \x01(\tH\aR\x12deliveryCommandRef\x88\x01\x01\x12&\n" +
	"\fcallback_ref\x18\x14 \x01(\tH\bR\vcallbackRef\x88\x01\x01\x121\n" +
	"\x12callback_route_ref\x18\x15 \x01(\tH\tR\x10callbackRouteRef\x88\x01\x01\x12$\n" +
	"\vruntime_ref\x18\x16 \x01(\tH\n" +
	"R\n" +
	"runtimeRef\x88\x01\x01\x12+\n" +
	"\x0fruntime_job_ref\x18\x17 \x01(\tH\vR\rruntimeJobRef\x88\x01\x01\x121\n" +
	"\x12routing_policy_ref\x18\x18 \x01(\tH\fR\x10routingPolicyRef\x88\x01\x01B\x16\n" +
	"\x14_channel_message_refB\x10\n" +
	"\x0e_next_retry_atB\r\n" +
	"\v_error_codeB\n" +
	"\n" +
	"\b_sent_atB\x19\n" +
	"\x17_channel_capability_refB\x1b\n" +
	"\x19_package_installation_refB\x16\n" +
	"\x14_package_version_refB\x17\n" +
	"\x15_delivery_command_refB\x0f\n" +
	"\r_callback_refB\x15\n" +
	"\x13_callback_route_refB\x0e\n" +
	"\f_runtime_refB\x12\n" +
	"\x10_runtime_job_refB\x15\n" +
	"\x13_routing_policy_ref\"\xa5\b\n" +
	"\x0fChannelCallback\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" +
	"\vcallback_id\x18\x02 \x01(\tR\n" +
	"callbackId\x123\n" +
	"\x13delivery_attempt_id\x18\x03 \x01(\tH\x00R\x11deliveryAttemptId\x88\x01\x01\x12\"\n" +
	"\n" +
	"request_id\x18\x04 \x01(\tH\x01R\trequestId\x88\x01\x01\x12+\n" +
	"\x0fsource_route_id\x18\x05 \x01(\tH\x02R\rsourceRouteId\x88\x01\x01\x12 \n" +
	"\tactor_ref\x18\x06 \x01(\tH\x03R\bactorRef\x88\x01\x01\x12\x1b\n" +
	"\x06action\x18\a \x01(\tH\x04R\x06action\x88\x01\x01\x12.\n" +
	"\x10callback_summary\x18\b \x01(\tH\x05R\x0fcallbackSummary\x88\x01\x01\x12N\n" +
	"\x0fcallback_object\x18\t \x01(\v2 .kodex.interactions.v1.ObjectRefH\x06R\x0ecallbackObject\x88\x01\x01\x12Y\n" +
	"\x10signature_status\x18\n" +
	" \x01(\x0e2..kodex.interactions.v1.CallbackSignatureStatusR\x0fsignatureStatus\x12\\\n" +
	"\x11processing_status\x18\v \x01(\x0e2/.kodex.interactions.v1.CallbackProcessingStatusR\x10processingStatus\x12\"\n" +
	"\n" +
	"error_code\x18\f \x01(\tH\aR\terrorCode\x88\x01\x01\x12\x1f\n" +
	"\vreceived_at\x18\r \x01(\tR\n" +
	"receivedAt\x12\x1d\n" +
	"\n" +
	"created_at\x18\x0e \x01(\tR\tcreatedAt\x12$\n" +
	"\vdelivery_id\x18\x0f \x01(\tH\bR\n" +
	"deliveryId\x88\x01\x01\x121\n" +
	"\x12callback_route_ref\x18\x10 \x01(\tH\tR\x10callbackRouteRef\x88\x01\x01\x12$\n" +
	"\vgateway_ref\x18\x11 \x01(\tH\n" +
	"R\n" +
	"gatewayRef\x88\x01\x01\x12*\n" +
	"\x0ecorrelation_id\x18\x12 \x01(\tH\vR\rcorrelationId\x88\x01\x01B\x16\n" +
	"\x14_delivery_attempt_idB\r\n" +
	"\v_request_idB\x12\n" +
	"\x10_source_route_idB\f\n" +
	"\n" +
	"_actor_refB\t\n" +
	"\a_actionB\x13\n" +
	"\x11_callback_summaryB\x12\n" +
	"\x10_callback_objectB\r\n" +
	"\v_error_codeB\x0e\n" +
	"\f_delivery_idB\x15\n" +
	"\x13_callback_route_refB\x0e\n" +
	"\f_gateway_refB\x11\n" +
	"\x0f_correlation_id\"\x83\n" +
	"\n" +
	"\x16ChannelDeliveryCommand\x12)\n" +
	"\x10contract_version\x18\x01 \x01(\tR\x0fcontractVersion\x12\x1f\n" +
	"\vdelivery_id\x18\x02 \x01(\tR\n" +
	"deliveryId\x12=\n" +
	"\x06target\x18\x03 \x01(\v2%.kodex.interactions.v1.DeliveryTargetR\x06target\x12H\n" +
	"\rdelivery_kind\x18\x04 \x01(\x0e2#.kodex.interactions.v1.DeliveryKindR\fdeliveryKind\x125\n" +
	"\x05scope\x18\x05 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12F\n" +
	"\x0erecipient_refs\x18\x06 \x03(\v2\x1f.kodex.interactions.v1.ActorRefR\rrecipientRefs\x125\n" +
	"\x14message_template_ref\x18\a \x01(\tH\x00R\x12messageTemplateRef\x88\x01\x01\x12'\n" +
	"\x0fmessage_summary\x18\b \x01(\tR\x0emessageSummary\x12B\n" +
	"\aactions\x18\t \x03(\v2(.kodex.interactions.v1.InteractionActionR\aactions\x12!\n" +
	"\fcallback_ref\x18\n" +
	" \x01(\tR\vcallbackRef\x12%\n" +
	"\x0ecorrelation_id\x18\v \x01(\tR\rcorrelationId\x12\"\n" +
	"\n" +
	"expires_at\x18\f \x01(\tH\x01R\texpiresAt\x88\x01\x01\x12E\n" +
	"\fcontext_refs\x18\r \x03(\v2\".kodex.interactions.v1.ExternalRefR\vcontextRefs\x12\x19\n" +
	"\broute_id\x18\x0e \x01(\tR\arouteId\x129\n" +
	"\x16channel_capability_ref\x18\x0f \x01(\tH\x02R\x14channelCapabilityRef\x88\x01\x01\x12=\n" +
	"\x18package_installation_ref\x18\x10 \x01(\tH\x03R\x16packageInstallationRef\x88\x01\x01\x123\n" +
	"\x13package_version_ref\x18\x11 \x01(\tH\x04R\x11packageVersionRef\x88\x01\x01\x120\n" +
	"\x14delivery_command_ref\x18\x12 \x01(\tR\x12deliveryCommandRef\x121\n" +
	"\x12callback_route_ref\x18\x13 \x01(\tH\x05R\x10callbackRouteRef\x88\x01\x01\x12$\n" +
	"\vruntime_ref\x18\x14 \x01(\tH\x06R\n" +
	"runtimeRef\x88\x01\x01\x121\n" +
	"\x12routing_policy_ref\x18\x15 \x01(\tH\aR\x10routingPolicyRef\x88\x01\x01B\x17\n" +
	"\x15_message_template_refB\r\n" +
	"\v_expires_atB\x19\n" +
	"\x17_channel_capability_refB\x1b\n" +
	"\x19_package_installation_refB\x16\n" +
	"\x14_package_version_refB\x15\n" +
	"\x13_callback_route_refB\x0e\n" +
	"\f_runtime_refB\x15\n" +
	"\x13_routing_policy_ref\"\xa6\x05\n" +
	"\x15ChannelDeliveryResult\x12)\n" +
	"\x10contract_version\x18\x01 \x01(\tR\x0fcontractVersion\x12\x1f\n" +
	"\vdelivery_id\x18\x02 \x01(\tR\n" +
	"deliveryId\x12W\n" +
	"\rresult_status\x18\x03 \x01(\x0e22.kodex.interactions.v1.ChannelDeliveryResultStatusR\fresultStatus\x123\n" +
	"\x13channel_message_ref\x18\x04 \x01(\tH\x00R\x11channelMessageRef\x88\x01\x01\x12\"\n" +
	"\n" +
	"error_code\x18\x05 \x01(\tH\x01R\terrorCode\x88\x01\x01\x12J\n" +
	"\verror_class\x18\x06 \x01(\x0e2).kodex.interactions.v1.DeliveryErrorClassR\n" +
	"errorClass\x12$\n" +
	"\vretry_after\x18\a \x01(\tH\x02R\n" +
	"retryAfter\x88\x01\x01\x12\x1f\n" +
	"\voccurred_at\x18\b \x01(\tR\n" +
	"occurredAt\x125\n" +
	"\x14delivery_command_ref\x18\t \x01(\tH\x03R\x12deliveryCommandRef\x88\x01\x01\x12$\n" +
	"\vruntime_ref\x18\n" +
	" \x01(\tH\x04R\n" +
	"runtimeRef\x88\x01\x01\x12+\n" +
	"\x0fruntime_job_ref\x18\v \x01(\tH\x05R\rruntimeJobRef\x88\x01\x01B\x16\n" +
	"\x14_channel_message_refB\r\n" +
	"\v_error_codeB\x0e\n" +
	"\f_retry_afterB\x17\n" +
	"\x15_delivery_command_refB\x0e\n" +
	"\f_runtime_refB\x12\n" +
	"\x10_runtime_job_ref\"\x8f\x05\n" +
	"\x17ChannelCallbackEnvelope\x12)\n" +
	"\x10contract_version\x18\x01 \x01(\tR\x0fcontractVersion\x12\x1f\n" +
	"\vcallback_id\x18\x02 \x01(\tR\n" +
	"callbackId\x12$\n" +
	"\vdelivery_id\x18\x03 \x01(\tH\x00R\n" +
	"deliveryId\x88\x01\x01\x12$\n" +
	"\vrequest_ref\x18\x04 \x01(\tH\x01R\n" +
	"requestRef\x88\x01\x01\x12 \n" +
	"\tactor_ref\x18\x05 \x01(\tH\x02R\bactorRef\x88\x01\x01\x12\x16\n" +
	"\x06action\x18\x06 \x01(\tR\x06action\x12*\n" +
	"\x0eanswer_summary\x18\a \x01(\tH\x03R\ranswerSummary\x88\x01\x01\x12J\n" +
	"\ranswer_object\x18\b \x01(\v2 .kodex.interactions.v1.ObjectRefH\x04R\fanswerObject\x88\x01\x01\x12Y\n" +
	"\x10signature_status\x18\t \x01(\x0e2..kodex.interactions.v1.CallbackSignatureStatusR\x0fsignatureStatus\x12$\n" +
	"\vgateway_ref\x18\n" +
	" \x01(\tH\x05R\n" +
	"gatewayRef\x88\x01\x01\x12\x1f\n" +
	"\vreceived_at\x18\v \x01(\tR\n" +
	"receivedAt\x12%\n" +
	"\x0ecorrelation_id\x18\f \x01(\tR\rcorrelationIdB\x0e\n" +
	"\f_delivery_idB\x0e\n" +
	"\f_request_refB\f\n" +
	"\n" +
	"_actor_refB\x11\n" +
	"\x0f_answer_summaryB\x10\n" +
	"\x0e_answer_objectB\x0e\n" +
	"\f_gateway_ref\"\xfa\x03\n" +
	"\x1fCreateConversationThreadRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x125\n" +
	"\x05scope\x18\x02 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12N\n" +
	"\vthread_kind\x18\x03 \x01(\x0e2-.kodex.interactions.v1.ConversationThreadKindR\n" +
	"threadKind\x12/\n" +
	"\x11primary_actor_ref\x18\x04 \x01(\tH\x00R\x0fprimaryActorRef\x88\x01\x01\x12N\n" +
	"\vsource_kind\x18\x05 \x01(\x0e2-.kodex.interactions.v1.ConversationSourceKindR\n" +
	"sourceKind\x12\"\n" +
	"\n" +
	"source_ref\x18\x06 \x01(\tH\x01R\tsourceRef\x88\x01\x01\x12%\n" +
	"\x0ecorrelation_id\x18\a \x01(\tR\rcorrelationId\x12'\n" +
	"\x0fretention_class\x18\b \x01(\tR\x0eretentionClassB\x14\n" +
	"\x12_primary_actor_refB\r\n" +
	"\v_source_ref\"\x89\x05\n" +
	" RecordConversationMessageRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x12\x1b\n" +
	"\tthread_id\x18\x02 \x01(\tR\bthreadId\x12Q\n" +
	"\fmessage_kind\x18\x03 \x01(\x0e2..kodex.interactions.v1.ConversationMessageKindR\vmessageKind\x12\x1d\n" +
	"\n" +
	"author_ref\x18\x04 \x01(\tR\tauthorRef\x12&\n" +
	"\fbody_summary\x18\x05 \x01(\tH\x00R\vbodySummary\x88\x01\x01\x12F\n" +
	"\vbody_object\x18\x06 \x01(\v2 .kodex.interactions.v1.ObjectRefH\x01R\n" +
	"bodyObject\x88\x01\x01\x12$\n" +
	"\vbody_digest\x18\a \x01(\tH\x02R\n" +
	"bodyDigest\x88\x01\x01\x12\x1b\n" +
	"\x06locale\x18\b \x01(\tH\x03R\x06locale\x88\x01\x01\x12n\n" +
	"\rsafe_metadata\x18\t \x03(\v2I.kodex.interactions.v1.RecordConversationMessageRequest.SafeMetadataEntryR\fsafeMetadata\x1a?\n" +
	"\x11SafeMetadataEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x0f\n" +
	"\r_body_summaryB\x0e\n" +
	"\f_body_objectB\x0e\n" +
	"\f_body_digestB\t\n" +
	"\a_locale\"q\n" +
	"\x1cGetConversationThreadRequest\x124\n" +
	"\x04meta\x18\x01 \x01(\v2 .kodex.interactions.v1.QueryMetaR\x04meta\x12\x1b\n" +
	"\tthread_id\x18\x02 \x01(\tR\bthreadId\"\xac\x01\n" +
	"\x1fListConversationMessagesRequest\x124\n" +
	"\x04meta\x18\x01 \x01(\v2 .kodex.interactions.v1.QueryMetaR\x04meta\x12\x1b\n" +
	"\tthread_id\x18\x02 \x01(\tR\bthreadId\x126\n" +
	"\x04page\x18\x03 \x01(\v2\".kodex.interactions.v1.PageRequestR\x04page\"\x9f\a\n" +
	"\x17InteractionRequestDraft\x125\n" +
	"\x05scope\x18\x01 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12 \n" +
	"\tthread_id\x18\x02 \x01(\tH\x00R\bthreadId\x88\x01\x01\x12H\n" +
	"\fsource_owner\x18\x03 \x01(\v2%.kodex.interactions.v1.SourceOwnerRefR\vsourceOwner\x12;\n" +
	"\aingress\x18\x04 \x01(\v2!.kodex.interactions.v1.IngressRefR\aingress\x12S\n" +
	"\x0edecision_owner\x18\x05 \x01(\v2'.kodex.interactions.v1.DecisionOwnerRefH\x01R\rdecisionOwner\x88\x01\x01\x12@\n" +
	"\vtarget_refs\x18\x06 \x03(\v2\x1f.kodex.interactions.v1.ActorRefR\n" +
	"targetRefs\x12E\n" +
	"\fcontext_refs\x18\a \x03(\v2\".kodex.interactions.v1.ExternalRefR\vcontextRefs\x12%\n" +
	"\x0eprompt_summary\x18\b \x01(\tR\rpromptSummary\x12J\n" +
	"\rprompt_object\x18\t \x01(\v2 .kodex.interactions.v1.ObjectRefH\x02R\fpromptObject\x88\x01\x01\x12Q\n" +
	"\x0fallowed_actions\x18\n" +
	" \x03(\v2(.kodex.interactions.v1.InteractionActionR\x0eallowedActions\x12J\n" +
	"\n" +
	"risk_class\x18\v \x01(\x0e2+.kodex.interactions.v1.InteractionRiskClassR\triskClass\x12$\n" +
	"\vdeadline_at\x18\f \x01(\tH\x03R\n" +
	"deadlineAt\x88\x01\x01\x123\n" +
	"\x13reminder_policy_ref\x18\r \x01(\tH\x04R\x11reminderPolicyRef\x88\x01\x01B\f\n" +
	"\n" +
	"_thread_idB\x11\n" +
	"\x0f_decision_ownerB\x10\n" +
	"\x0e_prompt_objectB\x0e\n" +
	"\f_deadline_atB\x16\n" +
	"\x14_reminder_policy_ref\"\x9a\x01\n" +
	"\x16RequestFeedbackRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x12H\n" +
	"\arequest\x18\x02 \x01(\v2..kodex.interactions.v1.InteractionRequestDraftR\arequest\"\x9a\x01\n" +
	"\x16RequestApprovalRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x12H\n" +
	"\arequest\x18\x02 \x01(\v2..kodex.interactions.v1.InteractionRequestDraftR\arequest\"\x9b\x01\n" +
	"\x17RequestHumanGateRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x12H\n" +
	"\arequest\x18\x02 \x01(\v2..kodex.interactions.v1.InteractionRequestDraftR\arequest\"\x86\x05\n" +
	" RecordInteractionResponseRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x12\x1d\n" +
	"\n" +
	"request_id\x18\x02 \x01(\tR\trequestId\x12Y\n" +
	"\x0fresponse_action\x18\x03 \x01(\x0e20.kodex.interactions.v1.InteractionResponseActionR\x0eresponseAction\x123\n" +
	"\x16responded_by_actor_ref\x18\x04 \x01(\tR\x13respondedByActorRef\x12.\n" +
	"\x10response_summary\x18\x05 \x01(\tH\x00R\x0fresponseSummary\x88\x01\x01\x12N\n" +
	"\x0fresponse_object\x18\x06 \x01(\v2 .kodex.interactions.v1.ObjectRefH\x01R\x0eresponseObject\x88\x01\x01\x12U\n" +
	"\vsource_kind\x18\a \x01(\x0e24.kodex.interactions.v1.InteractionResponseSourceKindR\n" +
	"sourceKind\x12\"\n" +
	"\n" +
	"source_ref\x18\b \x01(\tH\x02R\tsourceRef\x88\x01\x01\x121\n" +
	"\x12owner_decision_ref\x18\t \x01(\tH\x03R\x10ownerDecisionRef\x88\x01\x01B\x13\n" +
	"\x11_response_summaryB\x12\n" +
	"\x10_response_objectB\r\n" +
	"\v_source_refB\x15\n" +
	"\x13_owner_decision_ref\"x\n" +
	"\x1fCancelInteractionRequestRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x12\x1d\n" +
	"\n" +
	"request_id\x18\x02 \x01(\tR\trequestId\"\xe9\x01\n" +
	" ExpireInteractionRequestsRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x125\n" +
	"\x05scope\x18\x02 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12,\n" +
	"\x0fdeadline_before\x18\x03 \x01(\tH\x00R\x0edeadlineBefore\x88\x01\x01\x12\x14\n" +
	"\x05limit\x18\x04 \x01(\x05R\x05limitB\x12\n" +
	"\x10_deadline_before\"s\n" +
	"\x1cGetInteractionRequestRequest\x124\n" +
	"\x04meta\x18\x01 \x01(\v2 .kodex.interactions.v1.QueryMetaR\x04meta\x12\x1d\n" +
	"\n" +
	"request_id\x18\x02 \x01(\tR\trequestId\"\xfb\x04\n" +
	"\x1eListInteractionRequestsRequest\x124\n" +
	"\x04meta\x18\x01 \x01(\v2 .kodex.interactions.v1.QueryMetaR\x04meta\x125\n" +
	"\x05scope\x18\x02 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12U\n" +
	"\frequest_kind\x18\x03 \x01(\x0e2-.kodex.interactions.v1.InteractionRequestKindH\x00R\vrequestKind\x88\x01\x01\x12L\n" +
	"\x06status\x18\x04 \x01(\x0e2/.kodex.interactions.v1.InteractionRequestStatusH\x01R\x06status\x88\x01\x01\x12W\n" +
	"\x11source_owner_kind\x18\x05 \x01(\x0e2&.kodex.interactions.v1.SourceOwnerKindH\x02R\x0fsourceOwnerKind\x88\x01\x01\x12-\n" +
	"\x10source_owner_ref\x18\x06 \x01(\tH\x03R\x0esourceOwnerRef\x88\x01\x01\x12,\n" +
	"\x0fdeadline_before\x18\a \x01(\tH\x04R\x0edeadlineBefore\x88\x01\x01\x126\n" +
	"\x04page\x18\b \x01(\v2\".kodex.interactions.v1.PageRequestR\x04pageB\x0f\n" +
	"\r_request_kindB\t\n" +
	"\a_statusB\x14\n" +
	"\x12_source_owner_kindB\x13\n" +
	"\x11_source_owner_refB\x12\n" +
	"\x10_deadline_before\"\xc6\x06\n" +
	"\x1aListOwnerInboxItemsRequest\x124\n" +
	"\x04meta\x18\x01 \x01(\v2 .kodex.interactions.v1.QueryMetaR\x04meta\x125\n" +
	"\x05scope\x18\x02 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12R\n" +
	"\rrequest_kinds\x18\x03 \x03(\x0e2-.kodex.interactions.v1.InteractionRequestKindR\frequestKinds\x12K\n" +
	"\bstatuses\x18\x04 \x03(\x0e2/.kodex.interactions.v1.InteractionRequestStatusR\bstatuses\x12W\n" +
	"\x11source_owner_kind\x18\x05 \x01(\x0e2&.kodex.interactions.v1.SourceOwnerKindH\x00R\x0fsourceOwnerKind\x88\x01\x01\x12-\n" +
	"\x10source_owner_ref\x18\x06 \x01(\tH\x01R\x0esourceOwnerRef\x88\x01\x01\x12B\n" +
	"\fassignee_ref\x18\a \x01(\v2\x1f.kodex.interactions.v1.ActorRefR\vassigneeRef\x12 \n" +
	"\tactor_ref\x18\b \x01(\tH\x02R\bactorRef\x88\x01\x01\x12K\n" +
	"\x0fcorrelation_ref\x18\t \x01(\v2\".kodex.interactions.v1.ExternalRefR\x0ecorrelationRef\x12*\n" +
	"\x0ecorrelation_id\x18\n" +
	" \x01(\tH\x03R\rcorrelationId\x88\x01\x01\x12/\n" +
	"\x13include_diagnostics\x18\v \x01(\bR\x12includeDiagnostics\x126\n" +
	"\x04page\x18\f \x01(\v2\".kodex.interactions.v1.PageRequestR\x04pageB\x14\n" +
	"\x12_source_owner_kindB\x13\n" +
	"\x11_source_owner_refB\f\n" +
	"\n" +
	"_actor_refB\x11\n" +
	"\x0f_correlation_id\"\x9b\x02\n" +
	"\x18GetOwnerInboxItemRequest\x124\n" +
	"\x04meta\x18\x01 \x01(\v2 .kodex.interactions.v1.QueryMetaR\x04meta\x12\x1d\n" +
	"\n" +
	"request_id\x18\x02 \x01(\tR\trequestId\x125\n" +
	"\x05scope\x18\x03 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12B\n" +
	"\fassignee_ref\x18\x04 \x01(\v2\x1f.kodex.interactions.v1.ActorRefR\vassigneeRef\x12/\n" +
	"\x13include_diagnostics\x18\x05 \x01(\bR\x12includeDiagnostics\"\xe1\b\n" +
	"\x1aRequestNotificationRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x125\n" +
	"\x05scope\x18\x02 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12T\n" +
	"\x11notification_kind\x18\x03 \x01(\x0e2'.kodex.interactions.v1.NotificationKindR\x10notificationKind\x12\"\n" +
	"\n" +
	"request_id\x18\x04 \x01(\tH\x00R\trequestId\x88\x01\x01\x12,\n" +
	"\x0fsubscription_id\x18\x05 \x01(\tH\x01R\x0esubscriptionId\x88\x01\x01\x12F\n" +
	"\x0erecipient_refs\x18\x06 \x03(\v2\x1f.kodex.interactions.v1.ActorRefR\rrecipientRefs\x120\n" +
	"\x14message_template_ref\x18\a \x01(\tR\x12messageTemplateRef\x12'\n" +
	"\x0fmessage_summary\x18\b \x01(\tR\x0emessageSummary\x12G\n" +
	"\bpriority\x18\t \x01(\x0e2+.kodex.interactions.v1.NotificationPriorityR\bpriority\x12\"\n" +
	"\n" +
	"expires_at\x18\n" +
	" \x01(\tH\x02R\texpiresAt\x88\x01\x01\x12H\n" +
	"\fsource_owner\x18\v \x01(\v2%.kodex.interactions.v1.SourceOwnerRefR\vsourceOwner\x12;\n" +
	"\aingress\x18\f \x01(\v2!.kodex.interactions.v1.IngressRefR\aingress\x12E\n" +
	"\fcontext_refs\x18\r \x03(\v2\".kodex.interactions.v1.ExternalRefR\vcontextRefs\x12N\n" +
	"\x11channel_hint_refs\x18\x0e \x03(\v2\".kodex.interactions.v1.ExternalRefR\x0fchannelHintRefs\x12;\n" +
	"\x17notification_policy_ref\x18\x0f \x01(\tH\x03R\x15notificationPolicyRef\x88\x01\x01\x12(\n" +
	"\rmessage_title\x18\x10 \x01(\tH\x04R\fmessageTitle\x88\x01\x01\x12&\n" +
	"\fbody_preview\x18\x11 \x01(\tH\x05R\vbodyPreview\x88\x01\x01B\r\n" +
	"\v_request_idB\x12\n" +
	"\x10_subscription_idB\r\n" +
	"\v_expires_atB\x1a\n" +
	"\x18_notification_policy_refB\x10\n" +
	"\x0e_message_titleB\x0f\n" +
	"\r_body_preview\"\xc8\x05\n" +
	"\x19UpsertSubscriptionRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x12,\n" +
	"\x0fsubscription_id\x18\x02 \x01(\tH\x00R\x0esubscriptionId\x88\x01\x01\x125\n" +
	"\x05scope\x18\x03 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12F\n" +
	"\x0esubscriber_ref\x18\x04 \x01(\v2\x1f.kodex.interactions.v1.ActorRefR\rsubscriberRef\x12*\n" +
	"\x11event_filter_json\x18\x05 \x01(\tR\x0feventFilterJson\x12:\n" +
	"\x19delivery_preferences_json\x18\x06 \x01(\tR\x17deliveryPreferencesJson\x12A\n" +
	"\x06status\x18\a \x01(\x0e2).kodex.interactions.v1.SubscriptionStatusR\x06status\x12M\n" +
	"\fsource_owner\x18\b \x01(\v2%.kodex.interactions.v1.SourceOwnerRefH\x01R\vsourceOwner\x88\x01\x01\x12N\n" +
	"\x11channel_hint_refs\x18\t \x03(\v2\".kodex.interactions.v1.ExternalRefR\x0fchannelHintRefs\x12;\n" +
	"\x17subscription_policy_ref\x18\n" +
	" \x01(\tH\x02R\x15subscriptionPolicyRef\x88\x01\x01B\x12\n" +
	"\x10_subscription_idB\x0f\n" +
	"\r_source_ownerB\x1a\n" +
	"\x18_subscription_policy_ref\"}\n" +
	"\x1aDisableSubscriptionRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x12'\n" +
	"\x0fsubscription_id\x18\x02 \x01(\tR\x0esubscriptionId\"\xd1\x02\n" +
	"\x18ListSubscriptionsRequest\x124\n" +
	"\x04meta\x18\x01 \x01(\v2 .kodex.interactions.v1.QueryMetaR\x04meta\x125\n" +
	"\x05scope\x18\x02 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12*\n" +
	"\x0esubscriber_ref\x18\x03 \x01(\tH\x00R\rsubscriberRef\x88\x01\x01\x12F\n" +
	"\x06status\x18\x04 \x01(\x0e2).kodex.interactions.v1.SubscriptionStatusH\x01R\x06status\x88\x01\x01\x126\n" +
	"\x04page\x18\x05 \x01(\v2\".kodex.interactions.v1.PageRequestR\x04pageB\x11\n" +
	"\x0f_subscriber_refB\t\n" +
	"\a_status\"\xf8\x01\n" +
	"\x13PlanDeliveryRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x12=\n" +
	"\x06target\x18\x02 \x01(\v2%.kodex.interactions.v1.DeliveryTargetR\x06target\x12\x1e\n" +
	"\broute_id\x18\x03 \x01(\tH\x00R\arouteId\x88\x01\x01\x12*\n" +
	"\x0ecorrelation_id\x18\x04 \x01(\tH\x01R\rcorrelationId\x88\x01\x01B\v\n" +
	"\t_route_idB\x11\n" +
	"\x0f_correlation_id\"\x9b\x01\n" +
	"\x1bRecordDeliveryResultRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x12D\n" +
	"\x06result\x18\x02 \x01(\v2,.kodex.interactions.v1.ChannelDeliveryResultR\x06result\"\xa2\x01\n" +
	"\x1cRecordChannelCallbackRequest\x126\n" +
	"\x04meta\x18\x01 \x01(\v2\".kodex.interactions.v1.CommandMetaR\x04meta\x12J\n" +
	"\bcallback\x18\x02 \x01(\v2..kodex.interactions.v1.ChannelCallbackEnvelopeR\bcallback\"\xc5\x01\n" +
	"\x18GetDeliveryStatusRequest\x124\n" +
	"\x04meta\x18\x01 \x01(\v2 .kodex.interactions.v1.QueryMetaR\x04meta\x12=\n" +
	"\x06target\x18\x02 \x01(\v2%.kodex.interactions.v1.DeliveryTargetR\x06target\x12$\n" +
	"\vdelivery_id\x18\x03 \x01(\tH\x00R\n" +
	"deliveryId\x88\x01\x01B\x0e\n" +
	"\f_delivery_id\"_\n" +
	"\x1aConversationThreadResponse\x12A\n" +
	"\x06thread\x18\x01 \x01(\v2).kodex.interactions.v1.ConversationThreadR\x06thread\"c\n" +
	"\x1bConversationMessageResponse\x12D\n" +
	"\amessage\x18\x01 \x01(\v2*.kodex.interactions.v1.ConversationMessageR\amessage\"\xa3\x01\n" +
	" ListConversationMessagesResponse\x12F\n" +
	"\bmessages\x18\x01 \x03(\v2*.kodex.interactions.v1.ConversationMessageR\bmessages\x127\n" +
	"\x04page\x18\x02 \x01(\v2#.kodex.interactions.v1.PageResponseR\x04page\"a\n" +
	"\x1aInteractionRequestResponse\x12C\n" +
	"\arequest\x18\x01 \x01(\v2).kodex.interactions.v1.InteractionRequestR\arequest\"\xaa\x01\n" +
	"\x1bInteractionResponseResponse\x12C\n" +
	"\arequest\x18\x01 \x01(\v2).kodex.interactions.v1.InteractionRequestR\arequest\x12F\n" +
	"\bresponse\x18\x02 \x01(\v2*.kodex.interactions.v1.InteractionResponseR\bresponse\"x\n" +
	"!ExpireInteractionRequestsResponse\x12.\n" +
	"\x13expired_request_ids\x18\x01 \x03(\tR\x11expiredRequestIds\x12#\n" +
	"\rexpired_count\x18\x02 \x01(\x05R\fexpiredCount\"\xa1\x01\n" +
	"\x1fListInteractionRequestsResponse\x12E\n" +
	"\brequests\x18\x01 \x03(\v2).kodex.interactions.v1.InteractionRequestR\brequests\x127\n" +
	"\x04page\x18\x02 \x01(\v2#.kodex.interactions.v1.PageResponseR\x04page\"\xa3\n" +
	"\n" +
	"\x0eOwnerInboxItem\x12\x1d\n" +
	"\n" +
	"request_id\x18\x01 \x01(\tR\trequestId\x12P\n" +
	"\frequest_kind\x18\x02 \x01(\x0e2-.kodex.interactions.v1.InteractionRequestKindR\vrequestKind\x12V\n" +
	"\x0erequest_status\x18\x03 \x01(\x0e2/.kodex.interactions.v1.InteractionRequestStatusR\rrequestStatus\x125\n" +
	"\x05scope\x18\x04 \x01(\v2\x1f.kodex.interactions.v1.ScopeRefR\x05scope\x12C\n" +
	"\trequester\x18\x05 \x01(\v2%.kodex.interactions.v1.SourceOwnerRefR\trequester\x12S\n" +
	"\x0edecision_owner\x18\x06 \x01(\v2'.kodex.interactions.v1.DecisionOwnerRefH\x00R\rdecisionOwner\x88\x01\x01\x12D\n" +
	"\rassignee_refs\x18\a \x03(\v2\x1f.kodex.interactions.v1.ActorRefR\fassigneeRefs\x12E\n" +
	"\fcontext_refs\x18\b \x03(\v2\".kodex.interactions.v1.ExternalRefR\vcontextRefs\x12\x14\n" +
	"\x05title\x18\t \x01(\tR\x05title\x12\x18\n" +
	"\asummary\x18\n" +
	" \x01(\tR\asummary\x12$\n" +
	"\vdeadline_at\x18\v \x01(\tH\x01R\n" +
	"deadlineAt\x88\x01\x01\x123\n" +
	"\x13reminder_policy_ref\x18\f \x01(\tH\x02R\x11reminderPolicyRef\x88\x01\x01\x12[\n" +
	"\x10delivery_summary\x18\r \x01(\v20.kodex.interactions.v1.OwnerInboxDeliverySummaryR\x0fdeliverySummary\x12^\n" +
	"\x0flatest_callback\x18\x0e \x01(\v20.kodex.interactions.v1.OwnerInboxCallbackSummaryH\x03R\x0elatestCallback\x88\x01\x01\x12^\n" +
	"\x0flatest_response\x18\x0f \x01(\v20.kodex.interactions.v1.OwnerInboxResponseSummaryH\x04R\x0elatestResponse\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"created_at\x18\x10 \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\x11 \x01(\tR\tupdatedAt\x12$\n" +
	"\vresolved_at\x18\x12 \x01(\tH\x05R\n" +
	"resolvedAt\x88\x01\x01\x12\x18\n" +
	"\aversion\x18\x13 \x01(\x03R\aversion\x12Q\n" +
	"\x0fallowed_actions\x18\x14 \x03(\v2(.kodex.interactions.v1.InteractionActionR\x0eallowedActionsB\x11\n" +
	"\x0f_decision_ownerB\x0e\n" +
	"\f_deadline_atB\x16\n" +
	"\x14_reminder_policy_refB\x12\n" +
	"\x10_latest_callbackB\x12\n" +
	"\x10_latest_responseB\x0e\n" +
	"\f_resolved_at\"\xda\x05\n" +
	"\x19OwnerInboxDeliverySummary\x12#\n" +
	"\rattempt_count\x18\x01 \x01(\x05R\fattemptCount\x12@\n" +
	"\x1alatest_delivery_attempt_id\x18\x02 \x01(\tH\x00R\x17latestDeliveryAttemptId\x88\x01\x01\x121\n" +
	"\x12latest_delivery_id\x18\x03 \x01(\tH\x01R\x10latestDeliveryId\x88\x01\x01\x12Q\n" +
	"\rlatest_status\x18\x04 \x01(\x0e2,.kodex.interactions.v1.DeliveryAttemptStatusR\flatestStatus\x12/\n" +
	"\x11latest_error_code\x18\x05 \x01(\tH\x02R\x0flatestErrorCode\x88\x01\x01\x12W\n" +
	"\x12latest_error_class\x18\x06 \x01(\x0e2).kodex.interactions.v1.DeliveryErrorClassR\x10latestErrorClass\x12'\n" +
	"\rnext_retry_at\x18\a \x01(\tH\x03R\vnextRetryAt\x88\x01\x01\x12/\n" +
	"\x11latest_updated_at\x18\b \x01(\tH\x04R\x0flatestUpdatedAt\x88\x01\x01\x12\x1e\n" +
	"\broute_id\x18\t \x01(\tH\x05R\arouteId\x88\x01\x01\x123\n" +
	"\x13channel_message_ref\x18\n" +
	" \x01(\tH\x06R\x11channelMessageRef\x88\x01\x01B\x1d\n" +
	"\x1b_latest_delivery_attempt_idB\x15\n" +
	"\x13_latest_delivery_idB\x14\n" +
	"\x12_latest_error_codeB\x10\n" +
	"\x0e_next_retry_atB\x14\n" +
	"\x12_latest_updated_atB\v\n" +
	"\t_route_idB\x16\n" +
	"\x14_channel_message_ref\"\xef\x04\n" +
	"\x19OwnerInboxCallbackSummary\x12!\n" +
	"\fcallback_ref\x18\x01 \x01(\tR\vcallbackRef\x12\x1f\n" +
	"\vcallback_id\x18\x02 \x01(\tR\n" +
	"callbackId\x12$\n" +
	"\vdelivery_id\x18\x03 \x01(\tH\x00R\n" +
	"deliveryId\x88\x01\x01\x12Y\n" +
	"\x10signature_status\x18\x04 \x01(\x0e2..kodex.interactions.v1.CallbackSignatureStatusR\x0fsignatureStatus\x12\\\n" +
	"\x11processing_status\x18\x05 \x01(\x0e2/.kodex.interactions.v1.CallbackProcessingStatusR\x10processingStatus\x12 \n" +
	"\tactor_ref\x18\x06 \x01(\tH\x01R\bactorRef\x88\x01\x01\x12\x1b\n" +
	"\x06action\x18\a \x01(\tH\x02R\x06action\x88\x01\x01\x12\"\n" +
	"\n" +
	"error_code\x18\b \x01(\tH\x03R\terrorCode\x88\x01\x01\x12\x1f\n" +
	"\vreceived_at\x18\t \x01(\tR\n" +
	"receivedAt\x12$\n" +
	"\vgateway_ref\x18\n" +
	" \x01(\tH\x04R\n" +
	"gatewayRef\x88\x01\x01\x12*\n" +
	"\x0ecorrelation_id\x18\v \x01(\tH\x05R\rcorrelationId\x88\x01\x01B\x0e\n" +
	"\f_delivery_idB\f\n" +
	"\n" +
	"_actor_refB\t\n" +
	"\a_actionB\r\n" +
	"\v_error_codeB\x0e\n" +
	"\f_gateway_refB\x11\n" +
	"\x0f_correlation_id\"\x9d\x06\n" +
	"\x19OwnerInboxResponseSummary\x12\x1f\n" +
	"\vresponse_id\x18\x01 \x01(\tR\n" +
	"responseId\x12Y\n" +
	"\x0fresponse_action\x18\x02 \x01(\x0e20.kodex.interactions.v1.InteractionResponseActionR\x0eresponseAction\x123\n" +
	"\x16responded_by_actor_ref\x18\x03 \x01(\tR\x13respondedByActorRef\x12U\n" +
	"\vsource_kind\x18\x04 \x01(\x0e24.kodex.interactions.v1.InteractionResponseSourceKindR\n" +
	"sourceKind\x12\"\n" +
	"\n" +
	"source_ref\x18\x05 \x01(\tH\x00R\tsourceRef\x88\x01\x01\x121\n" +
	"\x12owner_decision_ref\x18\x06 \x01(\tH\x01R\x10ownerDecisionRef\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"created_at\x18\a \x01(\tR\tcreatedAt\x12.\n" +
	"\x10response_summary\x18\b \x01(\tH\x02R\x0fresponseSummary\x88\x01\x01\x12;\n" +
	"\x17response_summary_digest\x18\t \x01(\tH\x03R\x15responseSummaryDigest\x88\x01\x01\x12N\n" +
	"\x0fresponse_object\x18\n" +
	" \x01(\v2 .kodex.interactions.v1.ObjectRefH\x04R\x0eresponseObject\x88\x01\x01\x12=\n" +
	"\x18interaction_response_ref\x18\v \x01(\tH\x05R\x16interactionResponseRef\x88\x01\x01B\r\n" +
	"\v_source_refB\x15\n" +
	"\x13_owner_decision_refB\x13\n" +
	"\x11_response_summaryB\x1a\n" +
	"\x18_response_summary_digestB\x12\n" +
	"\x10_response_objectB\x1b\n" +
	"\x19_interaction_response_ref\"\x93\x01\n" +
	"\x1bListOwnerInboxItemsResponse\x12;\n" +
	"\x05items\x18\x01 \x03(\v2%.kodex.interactions.v1.OwnerInboxItemR\x05items\x127\n" +
	"\x04page\x18\x02 \x01(\v2#.kodex.interactions.v1.PageResponseR\x04page\"S\n" +
	"\x16OwnerInboxItemResponse\x129\n" +
	"\x04item\x18\x01 \x01(\v2%.kodex.interactions.v1.OwnerInboxItemR\x04item\"_\n" +
	"\x14NotificationResponse\x12G\n" +
	"\fnotification\x18\x01 \x01(\v2#.kodex.interactions.v1.NotificationR\fnotification\"_\n" +
	"\x14SubscriptionResponse\x12G\n" +
	"\fsubscription\x18\x01 \x01(\v2#.kodex.interactions.v1.SubscriptionR\fsubscription\"\x9f\x01\n" +
	"\x19ListSubscriptionsResponse\x12I\n" +
	"\rsubscriptions\x18\x01 \x03(\v2#.kodex.interactions.v1.SubscriptionR\rsubscriptions\x127\n" +
	"\x04page\x18\x02 \x01(\v2#.kodex.interactions.v1.PageResponseR\x04page\"l\n" +
	"\x17DeliveryAttemptResponse\x12Q\n" +
	"\x10delivery_attempt\x18\x01 \x01(\v2&.kodex.interactions.v1.DeliveryAttemptR\x0fdeliveryAttempt\"\xb7\x01\n" +
	"\x17ChannelCallbackResponse\x12B\n" +
	"\bcallback\x18\x01 \x01(\v2&.kodex.interactions.v1.ChannelCallbackR\bcallback\x12K\n" +
	"\bresponse\x18\x02 \x01(\v2*.kodex.interactions.v1.InteractionResponseH\x00R\bresponse\x88\x01\x01B\v\n" +
	"\t_response\"\x8c\x03\n" +
	"\x16DeliveryStatusResponse\x12H\n" +
	"\arequest\x18\x01 \x01(\v2).kodex.interactions.v1.InteractionRequestH\x00R\arequest\x88\x01\x01\x12L\n" +
	"\fnotification\x18\x02 \x01(\v2#.kodex.interactions.v1.NotificationH\x01R\fnotification\x88\x01\x01\x12S\n" +
	"\x11delivery_attempts\x18\x03 \x03(\v2&.kodex.interactions.v1.DeliveryAttemptR\x10deliveryAttempts\x12T\n" +
	"\x0flatest_callback\x18\x04 \x01(\v2&.kodex.interactions.v1.ChannelCallbackH\x02R\x0elatestCallback\x88\x01\x01B\n" +
	"\n" +
	"\b_requestB\x0f\n" +
	"\r_notificationB\x12\n" +
	"\x10_latest_callback*\xfb\x01\n" +
	"\x14InteractionScopeType\x12&\n" +
	"\"INTERACTION_SCOPE_TYPE_UNSPECIFIED\x10\x00\x12#\n" +
	"\x1fINTERACTION_SCOPE_TYPE_PLATFORM\x10\x01\x12'\n" +
	"#INTERACTION_SCOPE_TYPE_ORGANIZATION\x10\x02\x12\"\n" +
	"\x1eINTERACTION_SCOPE_TYPE_PROJECT\x10\x03\x12%\n" +
	"!INTERACTION_SCOPE_TYPE_REPOSITORY\x10\x04\x12\"\n" +
	"\x1eINTERACTION_SCOPE_TYPE_SERVICE\x10\x05*\xb6\x02\n" +
	"\x16ConversationThreadKind\x12(\n" +
	"$CONVERSATION_THREAD_KIND_UNSPECIFIED\x10\x00\x12(\n" +
	"$CONVERSATION_THREAD_KIND_USER_DIALOG\x10\x01\x12+\n" +
	"'CONVERSATION_THREAD_KIND_OWNER_FEEDBACK\x10\x02\x12%\n" +
	"!CONVERSATION_THREAD_KIND_APPROVAL\x10\x03\x12'\n" +
	"#CONVERSATION_THREAD_KIND_HUMAN_GATE\x10\x04\x12)\n" +
	"%CONVERSATION_THREAD_KIND_NOTIFICATION\x10\x05\x12 \n" +
	"\x1cCONVERSATION_THREAD_KIND_OPS\x10\x06*\xe3\x01\n" +
	"\x18ConversationThreadStatus\x12*\n" +
	"&CONVERSATION_THREAD_STATUS_UNSPECIFIED\x10\x00\x12#\n" +
	"\x1fCONVERSATION_THREAD_STATUS_OPEN\x10\x01\x12&\n" +
	"\"CONVERSATION_THREAD_STATUS_WAITING\x10\x02\x12%\n" +
	"!CONVERSATION_THREAD_STATUS_CLOSED\x10\x03\x12'\n" +
	"#CONVERSATION_THREAD_STATUS_ARCHIVED\x10\x04*\xfb\x02\n" +
	"\x16ConversationSourceKind\x12(\n" +
	"$CONVERSATION_SOURCE_KIND_UNSPECIFIED\x10\x00\x12(\n" +
	"$CONVERSATION_SOURCE_KIND_WEB_CONSOLE\x10\x01\x12\"\n" +
	"\x1eCONVERSATION_SOURCE_KIND_VOICE\x10\x02\x12 \n" +
	"\x1cCONVERSATION_SOURCE_KIND_MCP\x10\x03\x12%\n" +
	"!CONVERSATION_SOURCE_KIND_PROVIDER\x10\x04\x12,\n" +
	"(CONVERSATION_SOURCE_KIND_CHANNEL_PACKAGE\x10\x05\x12'\n" +
	"#CONVERSATION_SOURCE_KIND_CODEX_HOOK\x10\x06\x12#\n" +
	"\x1fCONVERSATION_SOURCE_KIND_SYSTEM\x10\a\x12$\n" +
	" CONVERSATION_SOURCE_KIND_SERVICE\x10\b*\xd4\x02\n" +
	"\x17ConversationMessageKind\x12)\n" +
	"%CONVERSATION_MESSAGE_KIND_UNSPECIFIED\x10\x00\x12'\n" +
	"#CONVERSATION_MESSAGE_KIND_USER_TEXT\x10\x01\x12.\n" +
	"*CONVERSATION_MESSAGE_KIND_VOICE_TRANSCRIPT\x10\x02\x12(\n" +
	"$CONVERSATION_MESSAGE_KIND_AGENT_TEXT\x10\x03\x12+\n" +
	"'CONVERSATION_MESSAGE_KIND_SYSTEM_NOTICE\x10\x04\x12.\n" +
	"*CONVERSATION_MESSAGE_KIND_RESPONSE_SUMMARY\x10\x05\x12.\n" +
	"*CONVERSATION_MESSAGE_KIND_CALLBACK_SUMMARY\x10\x06*\xa9\x02\n" +
	"\x0fSourceOwnerKind\x12!\n" +
	"\x1dSOURCE_OWNER_KIND_UNSPECIFIED\x10\x00\x12#\n" +
	"\x1fSOURCE_OWNER_KIND_AGENT_MANAGER\x10\x01\x12 \n" +
	"\x1cSOURCE_OWNER_KIND_SLOT_AGENT\x10\x02\x12(\n" +
	"$SOURCE_OWNER_KIND_GOVERNANCE_MANAGER\x10\x03\x12\"\n" +
	"\x1eSOURCE_OWNER_KIND_PROVIDER_HUB\x10\x04\x12$\n" +
	" SOURCE_OWNER_KIND_OPERATIONS_HUB\x10\x05\x12\x1a\n" +
	"\x16SOURCE_OWNER_KIND_USER\x10\x06\x12\x1c\n" +
	"\x18SOURCE_OWNER_KIND_SYSTEM\x10\a*\xf9\x01\n" +
	"\x11DecisionOwnerKind\x12#\n" +
	"\x1fDECISION_OWNER_KIND_UNSPECIFIED\x10\x00\x12%\n" +
	"!DECISION_OWNER_KIND_AGENT_MANAGER\x10\x01\x12*\n" +
	"&DECISION_OWNER_KIND_GOVERNANCE_MANAGER\x10\x02\x12$\n" +
	" DECISION_OWNER_KIND_PROVIDER_HUB\x10\x03\x12&\n" +
	"\"DECISION_OWNER_KIND_OPERATIONS_HUB\x10\x04\x12\x1e\n" +
	"\x1aDECISION_OWNER_KIND_SYSTEM\x10\x05*\xc9\x01\n" +
	"\vIngressKind\x12\x1c\n" +
	"\x18INGRESS_KIND_UNSPECIFIED\x10\x00\x12\x1c\n" +
	"\x18INGRESS_KIND_DIRECT_GRPC\x10\x01\x12\x14\n" +
	"\x10INGRESS_KIND_MCP\x10\x02\x12\x1b\n" +
	"\x17INGRESS_KIND_CODEX_HOOK\x10\x03\x12\x18\n" +
	"\x14INGRESS_KIND_GATEWAY\x10\x04\x12\x17\n" +
	"\x13INGRESS_KIND_SYSTEM\x10\x05\x12\x18\n" +
	"\x14INGRESS_KIND_SERVICE\x10\x06*\xb9\x01\n" +
	"\x16InteractionRequestKind\x12(\n" +
	"$INTERACTION_REQUEST_KIND_UNSPECIFIED\x10\x00\x12%\n" +
	"!INTERACTION_REQUEST_KIND_FEEDBACK\x10\x01\x12%\n" +
	"!INTERACTION_REQUEST_KIND_APPROVAL\x10\x02\x12'\n" +
	"#INTERACTION_REQUEST_KIND_HUMAN_GATE\x10\x03*\xc7\x01\n" +
	"\x14InteractionRiskClass\x12&\n" +
	"\"INTERACTION_RISK_CLASS_UNSPECIFIED\x10\x00\x12\x1e\n" +
	"\x1aINTERACTION_RISK_CLASS_LOW\x10\x01\x12!\n" +
	"\x1dINTERACTION_RISK_CLASS_MEDIUM\x10\x02\x12\x1f\n" +
	"\x1bINTERACTION_RISK_CLASS_HIGH\x10\x03\x12#\n" +
	"\x1fINTERACTION_RISK_CLASS_CRITICAL\x10\x04*\xdf\x02\n" +
	"\x18InteractionRequestStatus\x12*\n" +
	"&INTERACTION_REQUEST_STATUS_UNSPECIFIED\x10\x00\x12&\n" +
	"\"INTERACTION_REQUEST_STATUS_CREATED\x10\x01\x12%\n" +
	"!INTERACTION_REQUEST_STATUS_ROUTED\x10\x02\x12&\n" +
	"\"INTERACTION_REQUEST_STATUS_WAITING\x10\x03\x12'\n" +
	"#INTERACTION_REQUEST_STATUS_ANSWERED\x10\x04\x12&\n" +
	"\"INTERACTION_REQUEST_STATUS_EXPIRED\x10\x05\x12(\n" +
	"$INTERACTION_REQUEST_STATUS_CANCELLED\x10\x06\x12%\n" +
	"!INTERACTION_REQUEST_STATUS_FAILED\x10\a*\xee\x02\n" +
	"\x19InteractionResponseAction\x12+\n" +
	"'INTERACTION_RESPONSE_ACTION_UNSPECIFIED\x10\x00\x12&\n" +
	"\"INTERACTION_RESPONSE_ACTION_ANSWER\x10\x01\x12'\n" +
	"#INTERACTION_RESPONSE_ACTION_APPROVE\x10\x02\x12&\n" +
	"\"INTERACTION_RESPONSE_ACTION_REJECT\x10\x03\x12%\n" +
	"!INTERACTION_RESPONSE_ACTION_DEFER\x10\x04\x12+\n" +
	"'INTERACTION_RESPONSE_ACTION_ACKNOWLEDGE\x10\x05\x12&\n" +
	"\"INTERACTION_RESPONSE_ACTION_CUSTOM\x10\x06\x12/\n" +
	"+INTERACTION_RESPONSE_ACTION_REQUEST_CHANGES\x10\a*\xbf\x02\n" +
	"\x1dInteractionResponseSourceKind\x120\n" +
	",INTERACTION_RESPONSE_SOURCE_KIND_UNSPECIFIED\x10\x00\x120\n" +
	",INTERACTION_RESPONSE_SOURCE_KIND_WEB_CONSOLE\x10\x01\x12(\n" +
	"$INTERACTION_RESPONSE_SOURCE_KIND_MCP\x10\x02\x125\n" +
	"1INTERACTION_RESPONSE_SOURCE_KIND_CHANNEL_CALLBACK\x10\x03\x12+\n" +
	"'INTERACTION_RESPONSE_SOURCE_KIND_SYSTEM\x10\x04\x12,\n" +
	"(INTERACTION_RESPONSE_SOURCE_KIND_SERVICE\x10\x05*\xf5\x01\n" +
	"\x10NotificationKind\x12!\n" +
	"\x1dNOTIFICATION_KIND_UNSPECIFIED\x10\x00\x12\x1c\n" +
	"\x18NOTIFICATION_KIND_STATUS\x10\x01\x12\x1e\n" +
	"\x1aNOTIFICATION_KIND_REMINDER\x10\x02\x12\x1b\n" +
	"\x17NOTIFICATION_KIND_ERROR\x10\x03\x12\x1f\n" +
	"\x1bNOTIFICATION_KIND_ATTENTION\x10\x04\x12'\n" +
	"#NOTIFICATION_KIND_DECISION_REQUIRED\x10\x05\x12\x19\n" +
	"\x15NOTIFICATION_KIND_OPS\x10\x06*\xc0\x01\n" +
	"\x14NotificationPriority\x12%\n" +
	"!NOTIFICATION_PRIORITY_UNSPECIFIED\x10\x00\x12\x1d\n" +
	"\x19NOTIFICATION_PRIORITY_LOW\x10\x01\x12 \n" +
	"\x1cNOTIFICATION_PRIORITY_NORMAL\x10\x02\x12\x1e\n" +
	"\x1aNOTIFICATION_PRIORITY_HIGH\x10\x03\x12 \n" +
	"\x1cNOTIFICATION_PRIORITY_URGENT\x10\x04*\x84\x02\n" +
	"\x12NotificationStatus\x12#\n" +
	"\x1fNOTIFICATION_STATUS_UNSPECIFIED\x10\x00\x12\x1f\n" +
	"\x1bNOTIFICATION_STATUS_CREATED\x10\x01\x12\x1e\n" +
	"\x1aNOTIFICATION_STATUS_QUEUED\x10\x02\x12!\n" +
	"\x1dNOTIFICATION_STATUS_DELIVERED\x10\x03\x12$\n" +
	" NOTIFICATION_STATUS_ACKNOWLEDGED\x10\x04\x12\x1f\n" +
	"\x1bNOTIFICATION_STATUS_EXPIRED\x10\x05\x12\x1e\n" +
	"\x1aNOTIFICATION_STATUS_FAILED\x10\x06*\x9b\x01\n" +
	"\x12SubscriptionStatus\x12#\n" +
	"\x1fSUBSCRIPTION_STATUS_UNSPECIFIED\x10\x00\x12\x1e\n" +
	"\x1aSUBSCRIPTION_STATUS_ACTIVE\x10\x01\x12\x1e\n" +
	"\x1aSUBSCRIPTION_STATUS_PAUSED\x10\x02\x12 \n" +
	"\x1cSUBSCRIPTION_STATUS_DISABLED\x10\x03*\xfd\x01\n" +
	"\x13DeliverySurfaceKind\x12%\n" +
	"!DELIVERY_SURFACE_KIND_UNSPECIFIED\x10\x00\x12%\n" +
	"!DELIVERY_SURFACE_KIND_WEB_CONSOLE\x10\x01\x12\x1f\n" +
	"\x1bDELIVERY_SURFACE_KIND_VOICE\x10\x02\x12*\n" +
	"&DELIVERY_SURFACE_KIND_PROVIDER_SURFACE\x10\x03\x12)\n" +
	"%DELIVERY_SURFACE_KIND_CHANNEL_PACKAGE\x10\x04\x12 \n" +
	"\x1cDELIVERY_SURFACE_KIND_SYSTEM\x10\x05*\xa4\x01\n" +
	"\x13DeliveryRouteStatus\x12%\n" +
	"!DELIVERY_ROUTE_STATUS_UNSPECIFIED\x10\x00\x12 \n" +
	"\x1cDELIVERY_ROUTE_STATUS_ACTIVE\x10\x01\x12 \n" +
	"\x1cDELIVERY_ROUTE_STATUS_PAUSED\x10\x02\x12\"\n" +
	"\x1eDELIVERY_ROUTE_STATUS_DISABLED\x10\x03*\xa3\x01\n" +
	"\fDeliveryKind\x12\x1d\n" +
	"\x19DELIVERY_KIND_UNSPECIFIED\x10\x00\x12\x1a\n" +
	"\x16DELIVERY_KIND_FEEDBACK\x10\x01\x12\x1a\n" +
	"\x16DELIVERY_KIND_APPROVAL\x10\x02\x12\x1c\n" +
	"\x18DELIVERY_KIND_HUMAN_GATE\x10\x03\x12\x1e\n" +
	"\x1aDELIVERY_KIND_NOTIFICATION\x10\x04*\xc3\x02\n" +
	"\x15DeliveryAttemptStatus\x12'\n" +
	"#DELIVERY_ATTEMPT_STATUS_UNSPECIFIED\x10\x00\x12\"\n" +
	"\x1eDELIVERY_ATTEMPT_STATUS_QUEUED\x10\x01\x12 \n" +
	"\x1cDELIVERY_ATTEMPT_STATUS_SENT\x10\x02\x12$\n" +
	" DELIVERY_ATTEMPT_STATUS_ACCEPTED\x10\x03\x12%\n" +
	"!DELIVERY_ATTEMPT_STATUS_DELIVERED\x10\x04\x12\"\n" +
	"\x1eDELIVERY_ATTEMPT_STATUS_FAILED\x10\x05\x12%\n" +
	"!DELIVERY_ATTEMPT_STATUS_CANCELLED\x10\x06\x12#\n" +
	"\x1fDELIVERY_ATTEMPT_STATUS_EXPIRED\x10\a*\xe9\x01\n" +
	"\x12DeliveryErrorClass\x12$\n" +
	" DELIVERY_ERROR_CLASS_UNSPECIFIED\x10\x00\x12\"\n" +
	"\x1eDELIVERY_ERROR_CLASS_TEMPORARY\x10\x01\x12\"\n" +
	"\x1eDELIVERY_ERROR_CLASS_PERMANENT\x10\x02\x12\x1d\n" +
	"\x19DELIVERY_ERROR_CLASS_AUTH\x10\x03\x12%\n" +
	"!DELIVERY_ERROR_CLASS_RATE_LIMITED\x10\x04\x12\x1f\n" +
	"\x1bDELIVERY_ERROR_CLASS_POLICY\x10\x05*\xd9\x02\n" +
	"\x1bChannelDeliveryResultStatus\x12.\n" +
	"*CHANNEL_DELIVERY_RESULT_STATUS_UNSPECIFIED\x10\x00\x12+\n" +
	"'CHANNEL_DELIVERY_RESULT_STATUS_ACCEPTED\x10\x01\x12+\n" +
	"'CHANNEL_DELIVERY_RESULT_STATUS_DEFERRED\x10\x02\x12+\n" +
	"'CHANNEL_DELIVERY_RESULT_STATUS_REJECTED\x10\x03\x12)\n" +
	"%CHANNEL_DELIVERY_RESULT_STATUS_FAILED\x10\x04\x12,\n" +
	"(CHANNEL_DELIVERY_RESULT_STATUS_DELIVERED\x10\x05\x12*\n" +
	"&CHANNEL_DELIVERY_RESULT_STATUS_EXPIRED\x10\x06*\xd2\x01\n" +
	"\x17CallbackSignatureStatus\x12)\n" +
	"%CALLBACK_SIGNATURE_STATUS_UNSPECIFIED\x10\x00\x12&\n" +
	"\"CALLBACK_SIGNATURE_STATUS_VERIFIED\x10\x01\x12.\n" +
	"*CALLBACK_SIGNATURE_STATUS_TRUSTED_INTERNAL\x10\x02\x124\n" +
	"0CALLBACK_SIGNATURE_STATUS_REJECTED_BEFORE_DOMAIN\x10\x03*\xe9\x01\n" +
	"\x18CallbackProcessingStatus\x12*\n" +
	"&CALLBACK_PROCESSING_STATUS_UNSPECIFIED\x10\x00\x12'\n" +
	"#CALLBACK_PROCESSING_STATUS_ACCEPTED\x10\x01\x12(\n" +
	"$CALLBACK_PROCESSING_STATUS_DUPLICATE\x10\x02\x12'\n" +
	"#CALLBACK_PROCESSING_STATUS_REJECTED\x10\x03\x12%\n" +
	"!CALLBACK_PROCESSING_STATUS_FAILED\x10\x042\xf3\x15\n" +
	"\x15InteractionHubService\x12\x85\x01\n" +
	"\x18CreateConversationThread\x126.kodex.interactions.v1.CreateConversationThreadRequest\x1a1.kodex.interactions.v1.ConversationThreadResponse\x12\x88\x01\n" +
	"\x19RecordConversationMessage\x127.kodex.interactions.v1.RecordConversationMessageRequest\x1a2.kodex.interactions.v1.ConversationMessageResponse\x12\x7f\n" +
	"\x15GetConversationThread\x123.kodex.interactions.v1.GetConversationThreadRequest\x1a1.kodex.interactions.v1.ConversationThreadResponse\x12\x8b\x01\n" +
	"\x18ListConversationMessages\x126.kodex.interactions.v1.ListConversationMessagesRequest\x1a7.kodex.interactions.v1.ListConversationMessagesResponse\x12s\n" +
	"\x0fRequestFeedback\x12-.kodex.interactions.v1.RequestFeedbackRequest\x1a1.kodex.interactions.v1.InteractionRequestResponse\x12s\n" +
	"\x0fRequestApproval\x12-.kodex.interactions.v1.RequestApprovalRequest\x1a1.kodex.interactions.v1.InteractionRequestResponse\x12u\n" +
	"\x10RequestHumanGate\x12..kodex.interactions.v1.RequestHumanGateRequest\x1a1.kodex.interactions.v1.InteractionRequestResponse\x12\x88\x01\n" +
	"\x19RecordInteractionResponse\x127.kodex.interactions.v1.RecordInteractionResponseRequest\x1a2.kodex.interactions.v1.InteractionResponseResponse\x12\x85\x01\n" +
	"\x18CancelInteractionRequest\x126.kodex.interactions.v1.CancelInteractionRequestRequest\x1a1.kodex.interactions.v1.InteractionRequestResponse\x12\x8e\x01\n" +
	"\x19ExpireInteractionRequests\x127.kodex.interactions.v1.ExpireInteractionRequestsRequest\x1a8.kodex.interactions.v1.ExpireInteractionRequestsResponse\x12\x7f\n" +
	"\x15GetInteractionRequest\x123.kodex.interactions.v1.GetInteractionRequestRequest\x1a1.kodex.interactions.v1.InteractionRequestResponse\x12\x88\x01\n" +
	"\x17ListInteractionRequests\x125.kodex.interactions.v1.ListInteractionRequestsRequest\x1a6.kodex.interactions.v1.ListInteractionRequestsResponse\x12|\n" +
	"\x13ListOwnerInboxItems\x121.kodex.interactions.v1.ListOwnerInboxItemsRequest\x1a2.kodex.interactions.v1.ListOwnerInboxItemsResponse\x12s\n" +
	"\x11GetOwnerInboxItem\x12/.kodex.interactions.v1.GetOwnerInboxItemRequest\x1a-.kodex.interactions.v1.OwnerInboxItemResponse\x12u\n" +
	"\x13RequestNotification\x121.kodex.interactions.v1.RequestNotificationRequest\x1a+.kodex.interactions.v1.NotificationResponse\x12s\n" +
	"\x12UpsertSubscription\x120.kodex.interactions.v1.UpsertSubscriptionRequest\x1a+.kodex.interactions.v1.SubscriptionResponse\x12u\n" +
	"\x13DisableSubscription\x121.kodex.interactions.v1.DisableSubscriptionRequest\x1a+.kodex.interactions.v1.SubscriptionResponse\x12v\n" +
	"\x11ListSubscriptions\x12/.kodex.interactions.v1.ListSubscriptionsRequest\x1a0.kodex.interactions.v1.ListSubscriptionsResponse\x12j\n" +
	"\fPlanDelivery\x12*.kodex.interactions.v1.PlanDeliveryRequest\x1a..kodex.interactions.v1.DeliveryAttemptResponse\x12z\n" +
	"\x14RecordDeliveryResult\x122.kodex.interactions.v1.RecordDeliveryResultRequest\x1a..kodex.interactions.v1.DeliveryAttemptResponse\x12|\n" +
	"\x15RecordChannelCallback\x123.kodex.interactions.v1.RecordChannelCallbackRequest\x1a..kodex.interactions.v1.ChannelCallbackResponse\x12s\n" +
	"\x11GetDeliveryStatus\x12/.kodex.interactions.v1.GetDeliveryStatusRequest\x1a-.kodex.interactions.v1.DeliveryStatusResponseBNZLgithub.com/codex-k8s/kodex/proto/gen/go/kodex/interactions/v1;interactionsv1b\x06proto3"

var (
	file_kodex_interactions_v1_interaction_hub_proto_rawDescOnce sync.Once
	file_kodex_interactions_v1_interaction_hub_proto_rawDescData []byte
)

func file_kodex_interactions_v1_interaction_hub_proto_rawDescGZIP() []byte {
	file_kodex_interactions_v1_interaction_hub_proto_rawDescOnce.Do(func() {
		file_kodex_interactions_v1_interaction_hub_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_kodex_interactions_v1_interaction_hub_proto_rawDesc), len(file_kodex_interactions_v1_interaction_hub_proto_rawDesc)))
	})
	return file_kodex_interactions_v1_interaction_hub_proto_rawDescData
}

var file_kodex_interactions_v1_interaction_hub_proto_enumTypes = make([]protoimpl.EnumInfo, 25)
var file_kodex_interactions_v1_interaction_hub_proto_msgTypes = make([]protoimpl.MessageInfo, 71)
var file_kodex_interactions_v1_interaction_hub_proto_goTypes = []any{
	(InteractionScopeType)(0),                 // 0: kodex.interactions.v1.InteractionScopeType
	(ConversationThreadKind)(0),               // 1: kodex.interactions.v1.ConversationThreadKind
	(ConversationThreadStatus)(0),             // 2: kodex.interactions.v1.ConversationThreadStatus
	(ConversationSourceKind)(0),               // 3: kodex.interactions.v1.ConversationSourceKind
	(ConversationMessageKind)(0),              // 4: kodex.interactions.v1.ConversationMessageKind
	(SourceOwnerKind)(0),                      // 5: kodex.interactions.v1.SourceOwnerKind
	(DecisionOwnerKind)(0),                    // 6: kodex.interactions.v1.DecisionOwnerKind
	(IngressKind)(0),                          // 7: kodex.interactions.v1.IngressKind
	(InteractionRequestKind)(0),               // 8: kodex.interactions.v1.InteractionRequestKind
	(InteractionRiskClass)(0),                 // 9: kodex.interactions.v1.InteractionRiskClass
	(InteractionRequestStatus)(0),             // 10: kodex.interactions.v1.InteractionRequestStatus
	(InteractionResponseAction)(0),            // 11: kodex.interactions.v1.InteractionResponseAction
	(InteractionResponseSourceKind)(0),        // 12: kodex.interactions.v1.InteractionResponseSourceKind
	(NotificationKind)(0),                     // 13: kodex.interactions.v1.NotificationKind
	(NotificationPriority)(0),                 // 14: kodex.interactions.v1.NotificationPriority
	(NotificationStatus)(0),                   // 15: kodex.interactions.v1.NotificationStatus
	(SubscriptionStatus)(0),                   // 16: kodex.interactions.v1.SubscriptionStatus
	(DeliverySurfaceKind)(0),                  // 17: kodex.interactions.v1.DeliverySurfaceKind
	(DeliveryRouteStatus)(0),                  // 18: kodex.interactions.v1.DeliveryRouteStatus
	(DeliveryKind)(0),                         // 19: kodex.interactions.v1.DeliveryKind
	(DeliveryAttemptStatus)(0),                // 20: kodex.interactions.v1.DeliveryAttemptStatus
	(DeliveryErrorClass)(0),                   // 21: kodex.interactions.v1.DeliveryErrorClass
	(ChannelDeliveryResultStatus)(0),          // 22: kodex.interactions.v1.ChannelDeliveryResultStatus
	(CallbackSignatureStatus)(0),              // 23: kodex.interactions.v1.CallbackSignatureStatus
	(CallbackProcessingStatus)(0),             // 24: kodex.interactions.v1.CallbackProcessingStatus
	(*CommandMeta)(nil),                       // 25: kodex.interactions.v1.CommandMeta
	(*QueryMeta)(nil),                         // 26: kodex.interactions.v1.QueryMeta
	(*RequestContext)(nil),                    // 27: kodex.interactions.v1.RequestContext
	(*Actor)(nil),                             // 28: kodex.interactions.v1.Actor
	(*PageRequest)(nil),                       // 29: kodex.interactions.v1.PageRequest
	(*PageResponse)(nil),                      // 30: kodex.interactions.v1.PageResponse
	(*ScopeRef)(nil),                          // 31: kodex.interactions.v1.ScopeRef
	(*ObjectRef)(nil),                         // 32: kodex.interactions.v1.ObjectRef
	(*ExternalRef)(nil),                       // 33: kodex.interactions.v1.ExternalRef
	(*ActorRef)(nil),                          // 34: kodex.interactions.v1.ActorRef
	(*SourceOwnerRef)(nil),                    // 35: kodex.interactions.v1.SourceOwnerRef
	(*IngressRef)(nil),                        // 36: kodex.interactions.v1.IngressRef
	(*DecisionOwnerRef)(nil),                  // 37: kodex.interactions.v1.DecisionOwnerRef
	(*InteractionAction)(nil),                 // 38: kodex.interactions.v1.InteractionAction
	(*ConversationThread)(nil),                // 39: kodex.interactions.v1.ConversationThread
	(*ConversationMessage)(nil),               // 40: kodex.interactions.v1.ConversationMessage
	(*InteractionRequest)(nil),                // 41: kodex.interactions.v1.InteractionRequest
	(*InteractionResponse)(nil),               // 42: kodex.interactions.v1.InteractionResponse
	(*Notification)(nil),                      // 43: kodex.interactions.v1.Notification
	(*Subscription)(nil),                      // 44: kodex.interactions.v1.Subscription
	(*DeliveryRoute)(nil),                     // 45: kodex.interactions.v1.DeliveryRoute
	(*DeliveryTarget)(nil),                    // 46: kodex.interactions.v1.DeliveryTarget
	(*DeliveryAttempt)(nil),                   // 47: kodex.interactions.v1.DeliveryAttempt
	(*ChannelCallback)(nil),                   // 48: kodex.interactions.v1.ChannelCallback
	(*ChannelDeliveryCommand)(nil),            // 49: kodex.interactions.v1.ChannelDeliveryCommand
	(*ChannelDeliveryResult)(nil),             // 50: kodex.interactions.v1.ChannelDeliveryResult
	(*ChannelCallbackEnvelope)(nil),           // 51: kodex.interactions.v1.ChannelCallbackEnvelope
	(*CreateConversationThreadRequest)(nil),   // 52: kodex.interactions.v1.CreateConversationThreadRequest
	(*RecordConversationMessageRequest)(nil),  // 53: kodex.interactions.v1.RecordConversationMessageRequest
	(*GetConversationThreadRequest)(nil),      // 54: kodex.interactions.v1.GetConversationThreadRequest
	(*ListConversationMessagesRequest)(nil),   // 55: kodex.interactions.v1.ListConversationMessagesRequest
	(*InteractionRequestDraft)(nil),           // 56: kodex.interactions.v1.InteractionRequestDraft
	(*RequestFeedbackRequest)(nil),            // 57: kodex.interactions.v1.RequestFeedbackRequest
	(*RequestApprovalRequest)(nil),            // 58: kodex.interactions.v1.RequestApprovalRequest
	(*RequestHumanGateRequest)(nil),           // 59: kodex.interactions.v1.RequestHumanGateRequest
	(*RecordInteractionResponseRequest)(nil),  // 60: kodex.interactions.v1.RecordInteractionResponseRequest
	(*CancelInteractionRequestRequest)(nil),   // 61: kodex.interactions.v1.CancelInteractionRequestRequest
	(*ExpireInteractionRequestsRequest)(nil),  // 62: kodex.interactions.v1.ExpireInteractionRequestsRequest
	(*GetInteractionRequestRequest)(nil),      // 63: kodex.interactions.v1.GetInteractionRequestRequest
	(*ListInteractionRequestsRequest)(nil),    // 64: kodex.interactions.v1.ListInteractionRequestsRequest
	(*ListOwnerInboxItemsRequest)(nil),        // 65: kodex.interactions.v1.ListOwnerInboxItemsRequest
	(*GetOwnerInboxItemRequest)(nil),          // 66: kodex.interactions.v1.GetOwnerInboxItemRequest
	(*RequestNotificationRequest)(nil),        // 67: kodex.interactions.v1.RequestNotificationRequest
	(*UpsertSubscriptionRequest)(nil),         // 68: kodex.interactions.v1.UpsertSubscriptionRequest
	(*DisableSubscriptionRequest)(nil),        // 69: kodex.interactions.v1.DisableSubscriptionRequest
	(*ListSubscriptionsRequest)(nil),          // 70: kodex.interactions.v1.ListSubscriptionsRequest
	(*PlanDeliveryRequest)(nil),               // 71: kodex.interactions.v1.PlanDeliveryRequest
	(*RecordDeliveryResultRequest)(nil),       // 72: kodex.interactions.v1.RecordDeliveryResultRequest
	(*RecordChannelCallbackRequest)(nil),      // 73: kodex.interactions.v1.RecordChannelCallbackRequest
	(*GetDeliveryStatusRequest)(nil),          // 74: kodex.interactions.v1.GetDeliveryStatusRequest
	(*ConversationThreadResponse)(nil),        // 75: kodex.interactions.v1.ConversationThreadResponse
	(*ConversationMessageResponse)(nil),       // 76: kodex.interactions.v1.ConversationMessageResponse
	(*ListConversationMessagesResponse)(nil),  // 77: kodex.interactions.v1.ListConversationMessagesResponse
	(*InteractionRequestResponse)(nil),        // 78: kodex.interactions.v1.InteractionRequestResponse
	(*InteractionResponseResponse)(nil),       // 79: kodex.interactions.v1.InteractionResponseResponse
	(*ExpireInteractionRequestsResponse)(nil), // 80: kodex.interactions.v1.ExpireInteractionRequestsResponse
	(*ListInteractionRequestsResponse)(nil),   // 81: kodex.interactions.v1.ListInteractionRequestsResponse
	(*OwnerInboxItem)(nil),                    // 82: kodex.interactions.v1.OwnerInboxItem
	(*OwnerInboxDeliverySummary)(nil),         // 83: kodex.interactions.v1.OwnerInboxDeliverySummary
	(*OwnerInboxCallbackSummary)(nil),         // 84: kodex.interactions.v1.OwnerInboxCallbackSummary
	(*OwnerInboxResponseSummary)(nil),         // 85: kodex.interactions.v1.OwnerInboxResponseSummary
	(*ListOwnerInboxItemsResponse)(nil),       // 86: kodex.interactions.v1.ListOwnerInboxItemsResponse
	(*OwnerInboxItemResponse)(nil),            // 87: kodex.interactions.v1.OwnerInboxItemResponse
	(*NotificationResponse)(nil),              // 88: kodex.interactions.v1.NotificationResponse
	(*SubscriptionResponse)(nil),              // 89: kodex.interactions.v1.SubscriptionResponse
	(*ListSubscriptionsResponse)(nil),         // 90: kodex.interactions.v1.ListSubscriptionsResponse
	(*DeliveryAttemptResponse)(nil),           // 91: kodex.interactions.v1.DeliveryAttemptResponse
	(*ChannelCallbackResponse)(nil),           // 92: kodex.interactions.v1.ChannelCallbackResponse
	(*DeliveryStatusResponse)(nil),            // 93: kodex.interactions.v1.DeliveryStatusResponse
	nil,                                       // 94: kodex.interactions.v1.ConversationMessage.SafeMetadataEntry
	nil,                                       // 95: kodex.interactions.v1.RecordConversationMessageRequest.SafeMetadataEntry
}
var file_kodex_interactions_v1_interaction_hub_proto_depIdxs = []int32{
	28,  // 0: kodex.interactions.v1.CommandMeta.actor:type_name -> kodex.interactions.v1.Actor
	27,  // 1: kodex.interactions.v1.CommandMeta.request_context:type_name -> kodex.interactions.v1.RequestContext
	28,  // 2: kodex.interactions.v1.QueryMeta.actor:type_name -> kodex.interactions.v1.Actor
	27,  // 3: kodex.interactions.v1.QueryMeta.request_context:type_name -> kodex.interactions.v1.RequestContext
	0,   // 4: kodex.interactions.v1.ScopeRef.type:type_name -> kodex.interactions.v1.InteractionScopeType
	5,   // 5: kodex.interactions.v1.SourceOwnerRef.kind:type_name -> kodex.interactions.v1.SourceOwnerKind
	7,   // 6: kodex.interactions.v1.IngressRef.kind:type_name -> kodex.interactions.v1.IngressKind
	6,   // 7: kodex.interactions.v1.DecisionOwnerRef.owner_kind:type_name -> kodex.interactions.v1.DecisionOwnerKind
	31,  // 8: kodex.interactions.v1.ConversationThread.scope:type_name -> kodex.interactions.v1.ScopeRef
	1,   // 9: kodex.interactions.v1.ConversationThread.thread_kind:type_name -> kodex.interactions.v1.ConversationThreadKind
	3,   // 10: kodex.interactions.v1.ConversationThread.source_kind:type_name -> kodex.interactions.v1.ConversationSourceKind
	2,   // 11: kodex.interactions.v1.ConversationThread.status:type_name -> kodex.interactions.v1.ConversationThreadStatus
	4,   // 12: kodex.interactions.v1.ConversationMessage.message_kind:type_name -> kodex.interactions.v1.ConversationMessageKind
	32,  // 13: kodex.interactions.v1.ConversationMessage.body_object:type_name -> kodex.interactions.v1.ObjectRef
	94,  // 14: kodex.interactions.v1.ConversationMessage.safe_metadata:type_name -> kodex.interactions.v1.ConversationMessage.SafeMetadataEntry
	8,   // 15: kodex.interactions.v1.InteractionRequest.request_kind:type_name -> kodex.interactions.v1.InteractionRequestKind
	31,  // 16: kodex.interactions.v1.InteractionRequest.scope:type_name -> kodex.interactions.v1.ScopeRef
	35,  // 17: kodex.interactions.v1.InteractionRequest.source_owner:type_name -> kodex.interactions.v1.SourceOwnerRef
	36,  // 18: kodex.interactions.v1.InteractionRequest.ingress:type_name -> kodex.interactions.v1.IngressRef
	37,  // 19: kodex.interactions.v1.InteractionRequest.decision_owner:type_name -> kodex.interactions.v1.DecisionOwnerRef
	34,  // 20: kodex.interactions.v1.InteractionRequest.target_refs:type_name -> kodex.interactions.v1.ActorRef
	33,  // 21: kodex.interactions.v1.InteractionRequest.context_refs:type_name -> kodex.interactions.v1.ExternalRef
	32,  // 22: kodex.interactions.v1.InteractionRequest.prompt_object:type_name -> kodex.interactions.v1.ObjectRef
	38,  // 23: kodex.interactions.v1.InteractionRequest.allowed_actions:type_name -> kodex.interactions.v1.InteractionAction
	9,   // 24: kodex.interactions.v1.InteractionRequest.risk_class:type_name -> kodex.interactions.v1.InteractionRiskClass
	10,  // 25: kodex.interactions.v1.InteractionRequest.status:type_name -> kodex.interactions.v1.InteractionRequestStatus
	11,  // 26: kodex.interactions.v1.InteractionResponse.response_action:type_name -> kodex.interactions.v1.InteractionResponseAction
	32,  // 27: kodex.interactions.v1.InteractionResponse.response_object:type_name -> kodex.interactions.v1.ObjectRef
	12,  // 28: kodex.interactions.v1.InteractionResponse.source_kind:type_name -> kodex.interactions.v1.InteractionResponseSourceKind
	31,  // 29: kodex.interactions.v1.Notification.scope:type_name -> kodex.interactions.v1.ScopeRef
	13,  // 30: kodex.interactions.v1.Notification.notification_kind:type_name -> kodex.interactions.v1.NotificationKind
	34,  // 31: kodex.interactions.v1.Notification.recipient_refs:type_name -> kodex.interactions.v1.ActorRef
	14,  // 32: kodex.interactions.v1.Notification.priority:type_name -> kodex.interactions.v1.NotificationPriority
	15,  // 33: kodex.interactions.v1.Notification.status:type_name -> kodex.interactions.v1.NotificationStatus
	35,  // 34: kodex.interactions.v1.Notification.source_owner:type_name -> kodex.interactions.v1.SourceOwnerRef
	36,  // 35: kodex.interactions.v1.Notification.ingress:type_name -> kodex.interactions.v1.IngressRef
	33,  // 36: kodex.interactions.v1.Notification.context_refs:type_name -> kodex.interactions.v1.ExternalRef
	33,  // 37: kodex.interactions.v1.Notification.channel_hint_refs:type_name -> kodex.interactions.v1.ExternalRef
	31,  // 38: kodex.interactions.v1.Subscription.scope:type_name -> kodex.interactions.v1.ScopeRef
	34,  // 39: kodex.interactions.v1.Subscription.subscriber_ref:type_name -> kodex.interactions.v1.ActorRef
	16,  // 40: kodex.interactions.v1.Subscription.status:type_name -> kodex.interactions.v1.SubscriptionStatus
	35,  // 41: kodex.interactions.v1.Subscription.source_owner:type_name -> kodex.interactions.v1.SourceOwnerRef
	33,  // 42: kodex.interactions.v1.Subscription.channel_hint_refs:type_name -> kodex.interactions.v1.ExternalRef
	31,  // 43: kodex.interactions.v1.DeliveryRoute.scope:type_name -> kodex.interactions.v1.ScopeRef
	17,  // 44: kodex.interactions.v1.DeliveryRoute.surface_kind:type_name -> kodex.interactions.v1.DeliverySurfaceKind
	18,  // 45: kodex.interactions.v1.DeliveryRoute.status:type_name -> kodex.interactions.v1.DeliveryRouteStatus
	46,  // 46: kodex.interactions.v1.DeliveryAttempt.target:type_name -> kodex.interactions.v1.DeliveryTarget
	19,  // 47: kodex.interactions.v1.DeliveryAttempt.delivery_kind:type_name -> kodex.interactions.v1.DeliveryKind
	20,  // 48: kodex.interactions.v1.DeliveryAttempt.status:type_name -> kodex.interactions.v1.DeliveryAttemptStatus
	21,  // 49: kodex.interactions.v1.DeliveryAttempt.error_class:type_name -> kodex.interactions.v1.DeliveryErrorClass
	32,  // 50: kodex.interactions.v1.ChannelCallback.callback_object:type_name -> kodex.interactions.v1.ObjectRef
	23,  // 51: kodex.interactions.v1.ChannelCallback.signature_status:type_name -> kodex.interactions.v1.CallbackSignatureStatus
	24,  // 52: kodex.interactions.v1.ChannelCallback.processing_status:type_name -> kodex.interactions.v1.CallbackProcessingStatus
	46,  // 53: kodex.interactions.v1.ChannelDeliveryCommand.target:type_name -> kodex.interactions.v1.DeliveryTarget
	19,  // 54: kodex.interactions.v1.ChannelDeliveryCommand.delivery_kind:type_name -> kodex.interactions.v1.DeliveryKind
	31,  // 55: kodex.interactions.v1.ChannelDeliveryCommand.scope:type_name -> kodex.interactions.v1.ScopeRef
	34,  // 56: kodex.interactions.v1.ChannelDeliveryCommand.recipient_refs:type_name -> kodex.interactions.v1.ActorRef
	38,  // 57: kodex.interactions.v1.ChannelDeliveryCommand.actions:type_name -> kodex.interactions.v1.InteractionAction
	33,  // 58: kodex.interactions.v1.ChannelDeliveryCommand.context_refs:type_name -> kodex.interactions.v1.ExternalRef
	22,  // 59: kodex.interactions.v1.ChannelDeliveryResult.result_status:type_name -> kodex.interactions.v1.ChannelDeliveryResultStatus
	21,  // 60: kodex.interactions.v1.ChannelDeliveryResult.error_class:type_name -> kodex.interactions.v1.DeliveryErrorClass
	32,  // 61: kodex.interactions.v1.ChannelCallbackEnvelope.answer_object:type_name -> kodex.interactions.v1.ObjectRef
	23,  // 62: kodex.interactions.v1.ChannelCallbackEnvelope.signature_status:type_name -> kodex.interactions.v1.CallbackSignatureStatus
	25,  // 63: kodex.interactions.v1.CreateConversationThreadRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	31,  // 64: kodex.interactions.v1.CreateConversationThreadRequest.scope:type_name -> kodex.interactions.v1.ScopeRef
	1,   // 65: kodex.interactions.v1.CreateConversationThreadRequest.thread_kind:type_name -> kodex.interactions.v1.ConversationThreadKind
	3,   // 66: kodex.interactions.v1.CreateConversationThreadRequest.source_kind:type_name -> kodex.interactions.v1.ConversationSourceKind
	25,  // 67: kodex.interactions.v1.RecordConversationMessageRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	4,   // 68: kodex.interactions.v1.RecordConversationMessageRequest.message_kind:type_name -> kodex.interactions.v1.ConversationMessageKind
	32,  // 69: kodex.interactions.v1.RecordConversationMessageRequest.body_object:type_name -> kodex.interactions.v1.ObjectRef
	95,  // 70: kodex.interactions.v1.RecordConversationMessageRequest.safe_metadata:type_name -> kodex.interactions.v1.RecordConversationMessageRequest.SafeMetadataEntry
	26,  // 71: kodex.interactions.v1.GetConversationThreadRequest.meta:type_name -> kodex.interactions.v1.QueryMeta
	26,  // 72: kodex.interactions.v1.ListConversationMessagesRequest.meta:type_name -> kodex.interactions.v1.QueryMeta
	29,  // 73: kodex.interactions.v1.ListConversationMessagesRequest.page:type_name -> kodex.interactions.v1.PageRequest
	31,  // 74: kodex.interactions.v1.InteractionRequestDraft.scope:type_name -> kodex.interactions.v1.ScopeRef
	35,  // 75: kodex.interactions.v1.InteractionRequestDraft.source_owner:type_name -> kodex.interactions.v1.SourceOwnerRef
	36,  // 76: kodex.interactions.v1.InteractionRequestDraft.ingress:type_name -> kodex.interactions.v1.IngressRef
	37,  // 77: kodex.interactions.v1.InteractionRequestDraft.decision_owner:type_name -> kodex.interactions.v1.DecisionOwnerRef
	34,  // 78: kodex.interactions.v1.InteractionRequestDraft.target_refs:type_name -> kodex.interactions.v1.ActorRef
	33,  // 79: kodex.interactions.v1.InteractionRequestDraft.context_refs:type_name -> kodex.interactions.v1.ExternalRef
	32,  // 80: kodex.interactions.v1.InteractionRequestDraft.prompt_object:type_name -> kodex.interactions.v1.ObjectRef
	38,  // 81: kodex.interactions.v1.InteractionRequestDraft.allowed_actions:type_name -> kodex.interactions.v1.InteractionAction
	9,   // 82: kodex.interactions.v1.InteractionRequestDraft.risk_class:type_name -> kodex.interactions.v1.InteractionRiskClass
	25,  // 83: kodex.interactions.v1.RequestFeedbackRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	56,  // 84: kodex.interactions.v1.RequestFeedbackRequest.request:type_name -> kodex.interactions.v1.InteractionRequestDraft
	25,  // 85: kodex.interactions.v1.RequestApprovalRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	56,  // 86: kodex.interactions.v1.RequestApprovalRequest.request:type_name -> kodex.interactions.v1.InteractionRequestDraft
	25,  // 87: kodex.interactions.v1.RequestHumanGateRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	56,  // 88: kodex.interactions.v1.RequestHumanGateRequest.request:type_name -> kodex.interactions.v1.InteractionRequestDraft
	25,  // 89: kodex.interactions.v1.RecordInteractionResponseRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	11,  // 90: kodex.interactions.v1.RecordInteractionResponseRequest.response_action:type_name -> kodex.interactions.v1.InteractionResponseAction
	32,  // 91: kodex.interactions.v1.RecordInteractionResponseRequest.response_object:type_name -> kodex.interactions.v1.ObjectRef
	12,  // 92: kodex.interactions.v1.RecordInteractionResponseRequest.source_kind:type_name -> kodex.interactions.v1.InteractionResponseSourceKind
	25,  // 93: kodex.interactions.v1.CancelInteractionRequestRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	25,  // 94: kodex.interactions.v1.ExpireInteractionRequestsRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	31,  // 95: kodex.interactions.v1.ExpireInteractionRequestsRequest.scope:type_name -> kodex.interactions.v1.ScopeRef
	26,  // 96: kodex.interactions.v1.GetInteractionRequestRequest.meta:type_name -> kodex.interactions.v1.QueryMeta
	26,  // 97: kodex.interactions.v1.ListInteractionRequestsRequest.meta:type_name -> kodex.interactions.v1.QueryMeta
	31,  // 98: kodex.interactions.v1.ListInteractionRequestsRequest.scope:type_name -> kodex.interactions.v1.ScopeRef
	8,   // 99: kodex.interactions.v1.ListInteractionRequestsRequest.request_kind:type_name -> kodex.interactions.v1.InteractionRequestKind
	10,  // 100: kodex.interactions.v1.ListInteractionRequestsRequest.status:type_name -> kodex.interactions.v1.InteractionRequestStatus
	5,   // 101: kodex.interactions.v1.ListInteractionRequestsRequest.source_owner_kind:type_name -> kodex.interactions.v1.SourceOwnerKind
	29,  // 102: kodex.interactions.v1.ListInteractionRequestsRequest.page:type_name -> kodex.interactions.v1.PageRequest
	26,  // 103: kodex.interactions.v1.ListOwnerInboxItemsRequest.meta:type_name -> kodex.interactions.v1.QueryMeta
	31,  // 104: kodex.interactions.v1.ListOwnerInboxItemsRequest.scope:type_name -> kodex.interactions.v1.ScopeRef
	8,   // 105: kodex.interactions.v1.ListOwnerInboxItemsRequest.request_kinds:type_name -> kodex.interactions.v1.InteractionRequestKind
	10,  // 106: kodex.interactions.v1.ListOwnerInboxItemsRequest.statuses:type_name -> kodex.interactions.v1.InteractionRequestStatus
	5,   // 107: kodex.interactions.v1.ListOwnerInboxItemsRequest.source_owner_kind:type_name -> kodex.interactions.v1.SourceOwnerKind
	34,  // 108: kodex.interactions.v1.ListOwnerInboxItemsRequest.assignee_ref:type_name -> kodex.interactions.v1.ActorRef
	33,  // 109: kodex.interactions.v1.ListOwnerInboxItemsRequest.correlation_ref:type_name -> kodex.interactions.v1.ExternalRef
	29,  // 110: kodex.interactions.v1.ListOwnerInboxItemsRequest.page:type_name -> kodex.interactions.v1.PageRequest
	26,  // 111: kodex.interactions.v1.GetOwnerInboxItemRequest.meta:type_name -> kodex.interactions.v1.QueryMeta
	31,  // 112: kodex.interactions.v1.GetOwnerInboxItemRequest.scope:type_name -> kodex.interactions.v1.ScopeRef
	34,  // 113: kodex.interactions.v1.GetOwnerInboxItemRequest.assignee_ref:type_name -> kodex.interactions.v1.ActorRef
	25,  // 114: kodex.interactions.v1.RequestNotificationRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	31,  // 115: kodex.interactions.v1.RequestNotificationRequest.scope:type_name -> kodex.interactions.v1.ScopeRef
	13,  // 116: kodex.interactions.v1.RequestNotificationRequest.notification_kind:type_name -> kodex.interactions.v1.NotificationKind
	34,  // 117: kodex.interactions.v1.RequestNotificationRequest.recipient_refs:type_name -> kodex.interactions.v1.ActorRef
	14,  // 118: kodex.interactions.v1.RequestNotificationRequest.priority:type_name -> kodex.interactions.v1.NotificationPriority
	35,  // 119: kodex.interactions.v1.RequestNotificationRequest.source_owner:type_name -> kodex.interactions.v1.SourceOwnerRef
	36,  // 120: kodex.interactions.v1.RequestNotificationRequest.ingress:type_name -> kodex.interactions.v1.IngressRef
	33,  // 121: kodex.interactions.v1.RequestNotificationRequest.context_refs:type_name -> kodex.interactions.v1.ExternalRef
	33,  // 122: kodex.interactions.v1.RequestNotificationRequest.channel_hint_refs:type_name -> kodex.interactions.v1.ExternalRef
	25,  // 123: kodex.interactions.v1.UpsertSubscriptionRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	31,  // 124: kodex.interactions.v1.UpsertSubscriptionRequest.scope:type_name -> kodex.interactions.v1.ScopeRef
	34,  // 125: kodex.interactions.v1.UpsertSubscriptionRequest.subscriber_ref:type_name -> kodex.interactions.v1.ActorRef
	16,  // 126: kodex.interactions.v1.UpsertSubscriptionRequest.status:type_name -> kodex.interactions.v1.SubscriptionStatus
	35,  // 127: kodex.interactions.v1.UpsertSubscriptionRequest.source_owner:type_name -> kodex.interactions.v1.SourceOwnerRef
	33,  // 128: kodex.interactions.v1.UpsertSubscriptionRequest.channel_hint_refs:type_name -> kodex.interactions.v1.ExternalRef
	25,  // 129: kodex.interactions.v1.DisableSubscriptionRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	26,  // 130: kodex.interactions.v1.ListSubscriptionsRequest.meta:type_name -> kodex.interactions.v1.QueryMeta
	31,  // 131: kodex.interactions.v1.ListSubscriptionsRequest.scope:type_name -> kodex.interactions.v1.ScopeRef
	16,  // 132: kodex.interactions.v1.ListSubscriptionsRequest.status:type_name -> kodex.interactions.v1.SubscriptionStatus
	29,  // 133: kodex.interactions.v1.ListSubscriptionsRequest.page:type_name -> kodex.interactions.v1.PageRequest
	25,  // 134: kodex.interactions.v1.PlanDeliveryRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	46,  // 135: kodex.interactions.v1.PlanDeliveryRequest.target:type_name -> kodex.interactions.v1.DeliveryTarget
	25,  // 136: kodex.interactions.v1.RecordDeliveryResultRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	50,  // 137: kodex.interactions.v1.RecordDeliveryResultRequest.result:type_name -> kodex.interactions.v1.ChannelDeliveryResult
	25,  // 138: kodex.interactions.v1.RecordChannelCallbackRequest.meta:type_name -> kodex.interactions.v1.CommandMeta
	51,  // 139: kodex.interactions.v1.RecordChannelCallbackRequest.callback:type_name -> kodex.interactions.v1.ChannelCallbackEnvelope
	26,  // 140: kodex.interactions.v1.GetDeliveryStatusRequest.meta:type_name -> kodex.interactions.v1.QueryMeta
	46,  // 141: kodex.interactions.v1.GetDeliveryStatusRequest.target:type_name -> kodex.interactions.v1.DeliveryTarget
	39,  // 142: kodex.interactions.v1.ConversationThreadResponse.thread:type_name -> kodex.interactions.v1.ConversationThread
	40,  // 143: kodex.interactions.v1.ConversationMessageResponse.message:type_name -> kodex.interactions.v1.ConversationMessage
	40,  // 144: kodex.interactions.v1.ListConversationMessagesResponse.messages:type_name -> kodex.interactions.v1.ConversationMessage
	30,  // 145: kodex.interactions.v1.ListConversationMessagesResponse.page:type_name -> kodex.interactions.v1.PageResponse
	41,  // 146: kodex.interactions.v1.InteractionRequestResponse.request:type_name -> kodex.interactions.v1.InteractionRequest
	41,  // 147: kodex.interactions.v1.InteractionResponseResponse.request:type_name -> kodex.interactions.v1.InteractionRequest
	42,  // 148: kodex.interactions.v1.InteractionResponseResponse.response:type_name -> kodex.interactions.v1.InteractionResponse
	41,  // 149: kodex.interactions.v1.ListInteractionRequestsResponse.requests:type_name -> kodex.interactions.v1.InteractionRequest
	30,  // 150: kodex.interactions.v1.ListInteractionRequestsResponse.page:type_name -> kodex.interactions.v1.PageResponse
	8,   // 151: kodex.interactions.v1.OwnerInboxItem.request_kind:type_name -> kodex.interactions.v1.InteractionRequestKind
	10,  // 152: kodex.interactions.v1.OwnerInboxItem.request_status:type_name -> kodex.interactions.v1.InteractionRequestStatus
	31,  // 153: kodex.interactions.v1.OwnerInboxItem.scope:type_name -> kodex.interactions.v1.ScopeRef
	35,  // 154: kodex.interactions.v1.OwnerInboxItem.requester:type_name -> kodex.interactions.v1.SourceOwnerRef
	37,  // 155: kodex.interactions.v1.OwnerInboxItem.decision_owner:type_name -> kodex.interactions.v1.DecisionOwnerRef
	34,  // 156: kodex.interactions.v1.OwnerInboxItem.assignee_refs:type_name -> kodex.interactions.v1.ActorRef
	33,  // 157: kodex.interactions.v1.OwnerInboxItem.context_refs:type_name -> kodex.interactions.v1.ExternalRef
	83,  // 158: kodex.interactions.v1.OwnerInboxItem.delivery_summary:type_name -> kodex.interactions.v1.OwnerInboxDeliverySummary
	84,  // 159: kodex.interactions.v1.OwnerInboxItem.latest_callback:type_name -> kodex.interactions.v1.OwnerInboxCallbackSummary
	85,  // 160: kodex.interactions.v1.OwnerInboxItem.latest_response:type_name -> kodex.interactions.v1.OwnerInboxResponseSummary
	38,  // 161: kodex.interactions.v1.OwnerInboxItem.allowed_actions:type_name -> kodex.interactions.v1.InteractionAction
	20,  // 162: kodex.interactions.v1.OwnerInboxDeliverySummary.latest_status:type_name -> kodex.interactions.v1.DeliveryAttemptStatus
	21,  // 163: kodex.interactions.v1.OwnerInboxDeliverySummary.latest_error_class:type_name -> kodex.interactions.v1.DeliveryErrorClass
	23,  // 164: kodex.interactions.v1.OwnerInboxCallbackSummary.signature_status:type_name -> kodex.interactions.v1.CallbackSignatureStatus
	24,  // 165: kodex.interactions.v1.OwnerInboxCallbackSummary.processing_status:type_name -> kodex.interactions.v1.CallbackProcessingStatus
	11,  // 166: kodex.interactions.v1.OwnerInboxResponseSummary.response_action:type_name -> kodex.interactions.v1.InteractionResponseAction
	12,  // 167: kodex.interactions.v1.OwnerInboxResponseSummary.source_kind:type_name -> kodex.interactions.v1.InteractionResponseSourceKind
	32,  // 168: kodex.interactions.v1.OwnerInboxResponseSummary.response_object:type_name -> kodex.interactions.v1.ObjectRef
	82,  // 169: kodex.interactions.v1.ListOwnerInboxItemsResponse.items:type_name -> kodex.interactions.v1.OwnerInboxItem
	30,  // 170: kodex.interactions.v1.ListOwnerInboxItemsResponse.page:type_name -> kodex.interactions.v1.PageResponse
	82,  // 171: kodex.interactions.v1.OwnerInboxItemResponse.item:type_name -> kodex.interactions.v1.OwnerInboxItem
	43,  // 172: kodex.interactions.v1.NotificationResponse.notification:type_name -> kodex.interactions.v1.Notification
	44,  // 173: kodex.interactions.v1.SubscriptionResponse.subscription:type_name -> kodex.interactions.v1.Subscription
	44,  // 174: kodex.interactions.v1.ListSubscriptionsResponse.subscriptions:type_name -> kodex.interactions.v1.Subscription
	30,  // 175: kodex.interactions.v1.ListSubscriptionsResponse.page:type_name -> kodex.interactions.v1.PageResponse
	47,  // 176: kodex.interactions.v1.DeliveryAttemptResponse.delivery_attempt:type_name -> kodex.interactions.v1.DeliveryAttempt
	48,  // 177: kodex.interactions.v1.ChannelCallbackResponse.callback:type_name -> kodex.interactions.v1.ChannelCallback
	42,  // 178: kodex.interactions.v1.ChannelCallbackResponse.response:type_name -> kodex.interactions.v1.InteractionResponse
	41,  // 179: kodex.interactions.v1.DeliveryStatusResponse.request:type_name -> kodex.interactions.v1.InteractionRequest
	43,  // 180: kodex.interactions.v1.DeliveryStatusResponse.notification:type_name -> kodex.interactions.v1.Notification
	47,  // 181: kodex.interactions.v1.DeliveryStatusResponse.delivery_attempts:type_name -> kodex.interactions.v1.DeliveryAttempt
	48,  // 182: kodex.interactions.v1.DeliveryStatusResponse.latest_callback:type_name -> kodex.interactions.v1.ChannelCallback
	52,  // 183: kodex.interactions.v1.InteractionHubService.CreateConversationThread:input_type -> kodex.interactions.v1.CreateConversationThreadRequest
	53,  // 184: kodex.interactions.v1.InteractionHubService.RecordConversationMessage:input_type -> kodex.interactions.v1.RecordConversationMessageRequest
	54,  // 185: kodex.interactions.v1.InteractionHubService.GetConversationThread:input_type -> kodex.interactions.v1.GetConversationThreadRequest
	55,  // 186: kodex.interactions.v1.InteractionHubService.ListConversationMessages:input_type -> kodex.interactions.v1.ListConversationMessagesRequest
	57,  // 187: kodex.interactions.v1.InteractionHubService.RequestFeedback:input_type -> kodex.interactions.v1.RequestFeedbackRequest
	58,  // 188: kodex.interactions.v1.InteractionHubService.RequestApproval:input_type -> kodex.interactions.v1.RequestApprovalRequest
	59,  // 189: kodex.interactions.v1.InteractionHubService.RequestHumanGate:input_type -> kodex.interactions.v1.RequestHumanGateRequest
	60,  // 190: kodex.interactions.v1.InteractionHubService.RecordInteractionResponse:input_type -> kodex.interactions.v1.RecordInteractionResponseRequest
	61,  // 191: kodex.interactions.v1.InteractionHubService.CancelInteractionRequest:input_type -> kodex.interactions.v1.CancelInteractionRequestRequest
	62,  // 192: kodex.interactions.v1.InteractionHubService.ExpireInteractionRequests:input_type -> kodex.interactions.v1.ExpireInteractionRequestsRequest
	63,  // 193: kodex.interactions.v1.InteractionHubService.GetInteractionRequest:input_type -> kodex.interactions.v1.GetInteractionRequestRequest
	64,  // 194: kodex.interactions.v1.InteractionHubService.ListInteractionRequests:input_type -> kodex.interactions.v1.ListInteractionRequestsRequest
	65,  // 195: kodex.interactions.v1.InteractionHubService.ListOwnerInboxItems:input_type -> kodex.interactions.v1.ListOwnerInboxItemsRequest
	66,  // 196: kodex.interactions.v1.InteractionHubService.GetOwnerInboxItem:input_type -> kodex.interactions.v1.GetOwnerInboxItemRequest
	67,  // 197: kodex.interactions.v1.InteractionHubService.RequestNotification:input_type -> kodex.interactions.v1.RequestNotificationRequest
	68,  // 198: kodex.interactions.v1.InteractionHubService.UpsertSubscription:input_type -> kodex.interactions.v1.UpsertSubscriptionRequest
	69,  // 199: kodex.interactions.v1.InteractionHubService.DisableSubscription:input_type -> kodex.interactions.v1.DisableSubscriptionRequest
	70,  // 200: kodex.interactions.v1.InteractionHubService.ListSubscriptions:input_type -> kodex.interactions.v1.ListSubscriptionsRequest
	71,  // 201: kodex.interactions.v1.InteractionHubService.PlanDelivery:input_type -> kodex.interactions.v1.PlanDeliveryRequest
	72,  // 202: kodex.interactions.v1.InteractionHubService.RecordDeliveryResult:input_type -> kodex.interactions.v1.RecordDeliveryResultRequest
	73,  // 203: kodex.interactions.v1.InteractionHubService.RecordChannelCallback:input_type -> kodex.interactions.v1.RecordChannelCallbackRequest
	74,  // 204: kodex.interactions.v1.InteractionHubService.GetDeliveryStatus:input_type -> kodex.interactions.v1.GetDeliveryStatusRequest
	75,  // 205: kodex.interactions.v1.InteractionHubService.CreateConversationThread:output_type -> kodex.interactions.v1.ConversationThreadResponse
	76,  // 206: kodex.interactions.v1.InteractionHubService.RecordConversationMessage:output_type -> kodex.interactions.v1.ConversationMessageResponse
	75,  // 207: kodex.interactions.v1.InteractionHubService.GetConversationThread:output_type -> kodex.interactions.v1.ConversationThreadResponse
	77,  // 208: kodex.interactions.v1.InteractionHubService.ListConversationMessages:output_type -> kodex.interactions.v1.ListConversationMessagesResponse
	78,  // 209: kodex.interactions.v1.InteractionHubService.RequestFeedback:output_type -> kodex.interactions.v1.InteractionRequestResponse
	78,  // 210: kodex.interactions.v1.InteractionHubService.RequestApproval:output_type -> kodex.interactions.v1.InteractionRequestResponse
	78,  // 211: kodex.interactions.v1.InteractionHubService.RequestHumanGate:output_type -> kodex.interactions.v1.InteractionRequestResponse
	79,  // 212: kodex.interactions.v1.InteractionHubService.RecordInteractionResponse:output_type -> kodex.interactions.v1.InteractionResponseResponse
	78,  // 213: kodex.interactions.v1.InteractionHubService.CancelInteractionRequest:output_type -> kodex.interactions.v1.InteractionRequestResponse
	80,  // 214: kodex.interactions.v1.InteractionHubService.ExpireInteractionRequests:output_type -> kodex.interactions.v1.ExpireInteractionRequestsResponse
	78,  // 215: kodex.interactions.v1.InteractionHubService.GetInteractionRequest:output_type -> kodex.interactions.v1.InteractionRequestResponse
	81,  // 216: kodex.interactions.v1.InteractionHubService.ListInteractionRequests:output_type -> kodex.interactions.v1.ListInteractionRequestsResponse
	86,  // 217: kodex.interactions.v1.InteractionHubService.ListOwnerInboxItems:output_type -> kodex.interactions.v1.ListOwnerInboxItemsResponse
	87,  // 218: kodex.interactions.v1.InteractionHubService.GetOwnerInboxItem:output_type -> kodex.interactions.v1.OwnerInboxItemResponse
	88,  // 219: kodex.interactions.v1.InteractionHubService.RequestNotification:output_type -> kodex.interactions.v1.NotificationResponse
	89,  // 220: kodex.interactions.v1.InteractionHubService.UpsertSubscription:output_type -> kodex.interactions.v1.SubscriptionResponse
	89,  // 221: kodex.interactions.v1.InteractionHubService.DisableSubscription:output_type -> kodex.interactions.v1.SubscriptionResponse
	90,  // 222: kodex.interactions.v1.InteractionHubService.ListSubscriptions:output_type -> kodex.interactions.v1.ListSubscriptionsResponse
	91,  // 223: kodex.interactions.v1.InteractionHubService.PlanDelivery:output_type -> kodex.interactions.v1.DeliveryAttemptResponse
	91,  // 224: kodex.interactions.v1.InteractionHubService.RecordDeliveryResult:output_type -> kodex.interactions.v1.DeliveryAttemptResponse
	92,  // 225: kodex.interactions.v1.InteractionHubService.RecordChannelCallback:output_type -> kodex.interactions.v1.ChannelCallbackResponse
	93,  // 226: kodex.interactions.v1.InteractionHubService.GetDeliveryStatus:output_type -> kodex.interactions.v1.DeliveryStatusResponse
	205, // [205:227] is the sub-list for method output_type
	183, // [183:205] is the sub-list for method input_type
	183, // [183:183] is the sub-list for extension type_name
	183, // [183:183] is the sub-list for extension extendee
	0,   // [0:183] is the sub-list for field type_name
}

func init() { file_kodex_interactions_v1_interaction_hub_proto_init() }
func file_kodex_interactions_v1_interaction_hub_proto_init() {
	if File_kodex_interactions_v1_interaction_hub_proto != nil {
		return
	}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[0].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[2].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[4].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[5].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[7].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[10].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[11].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[12].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[13].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[14].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[15].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[16].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[17].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[18].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[19].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[20].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[21].OneofWrappers = []any{
		(*DeliveryTarget_RequestId)(nil),
		(*DeliveryTarget_NotificationId)(nil),
	}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[22].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[23].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[24].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[25].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[26].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[27].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[28].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[31].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[35].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[37].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[39].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[40].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[42].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[43].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[45].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[46].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[49].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[57].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[58].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[59].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[60].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[67].OneofWrappers = []any{}
	file_kodex_interactions_v1_interaction_hub_proto_msgTypes[68].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_kodex_interactions_v1_interaction_hub_proto_rawDesc), len(file_kodex_interactions_v1_interaction_hub_proto_rawDesc)),
			NumEnums:      25,
			NumMessages:   71,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_kodex_interactions_v1_interaction_hub_proto_goTypes,
		DependencyIndexes: file_kodex_interactions_v1_interaction_hub_proto_depIdxs,
		EnumInfos:         file_kodex_interactions_v1_interaction_hub_proto_enumTypes,
		MessageInfos:      file_kodex_interactions_v1_interaction_hub_proto_msgTypes,
	}.Build()
	File_kodex_interactions_v1_interaction_hub_proto = out.File
	file_kodex_interactions_v1_interaction_hub_proto_goTypes = nil
	file_kodex_interactions_v1_interaction_hub_proto_depIdxs = nil
}
