// Code generated by cmd/asyncapi-event-contracts from specs/asyncapi/interaction-hub.v1.yaml; DO NOT EDIT.

package interaction

const SchemaVersion = 1

const (
	EventThreadCreated           = "interaction.thread.created"
	EventMessageRecorded         = "interaction.message.recorded"
	EventFeedbackRequested       = "interaction.feedback.requested"
	EventApprovalRequested       = "interaction.approval.requested"
	EventHumanGateRequested      = "interaction.human_gate.requested"
	EventNotificationRequested   = "interaction.notification.requested"
	EventSubscriptionUpdated     = "interaction.subscription.updated"
	EventDeliveryRequested       = "interaction.delivery.requested"
	EventDeliveryAccepted        = "interaction.delivery.accepted"
	EventDeliveryDelivered       = "interaction.delivery.delivered"
	EventDeliveryFailed          = "interaction.delivery.failed"
	EventDeliveryExpired         = "interaction.delivery.expired"
	EventCallbackReceived        = "interaction.callback.received"
	EventRequestResponseRecorded = "interaction.request.response_recorded"
	EventRequestExpired          = "interaction.request.expired"
	EventRequestCancelled        = "interaction.request.cancelled"
)

const (
	AggregateCallback     = "callback"
	AggregateDelivery     = "delivery"
	AggregateMessage      = "message"
	AggregateNotification = "notification"
	AggregateRequest      = "request"
	AggregateSubscription = "subscription"
	AggregateThread       = "thread"
)

// Payload is the generated common payload envelope for domain events.
type Payload struct {
	ActorRef                 string `json:"actor_ref,omitempty"`
	AgentRunRef              string `json:"agent_run_ref,omitempty"`
	AgentSessionRef          string `json:"agent_session_ref,omitempty"`
	AgentStageRef            string `json:"agent_stage_ref,omitempty"`
	AttemptNumber            int64  `json:"attempt_number,omitempty"`
	CallbackID               string `json:"callback_id,omitempty"`
	CallbackRef              string `json:"callback_ref,omitempty"`
	CallbackRouteRef         string `json:"callback_route_ref,omitempty"`
	CancelledByRef           string `json:"cancelled_by_ref,omitempty"`
	ChannelCapabilityRef     string `json:"channel_capability_ref,omitempty"`
	ChannelMessageRef        string `json:"channel_message_ref,omitempty"`
	CommandID                string `json:"command_id,omitempty"`
	CorrelationID            string `json:"correlation_id,omitempty"`
	DeadlineAt               string `json:"deadline_at,omitempty"`
	DecisionOwnerKind        string `json:"decision_owner_kind,omitempty"`
	DeliveryAttemptID        string `json:"delivery_attempt_id,omitempty"`
	DeliveryCommandRef       string `json:"delivery_command_ref,omitempty"`
	DeliveryID               string `json:"delivery_id,omitempty"`
	ErrorClass               string `json:"error_class,omitempty"`
	ErrorCode                string `json:"error_code,omitempty"`
	GatewayRef               string `json:"gateway_ref,omitempty"`
	GovernanceGateRequestRef string `json:"governance_gate_request_ref,omitempty"`
	IdempotencyKeyDigest     string `json:"idempotency_key_digest,omitempty"`
	IngressKind              string `json:"ingress_kind,omitempty"`
	InteractionRequestRef    string `json:"interaction_request_ref,omitempty"`
	InteractionResponseRef   string `json:"interaction_response_ref,omitempty"`
	MessageID                string `json:"message_id,omitempty"`
	NextRetryAt              string `json:"next_retry_at,omitempty"`
	NotificationID           string `json:"notification_id,omitempty"`
	NotificationKind         string `json:"notification_kind,omitempty"`
	OwnerDecisionRef         string `json:"owner_decision_ref,omitempty"`
	OwnerRequestRef          string `json:"owner_request_ref,omitempty"`
	OwnerService             string `json:"owner_service,omitempty"`
	PackageInstallationRef   string `json:"package_installation_ref,omitempty"`
	PackageVersionRef        string `json:"package_version_ref,omitempty"`
	Priority                 string `json:"priority,omitempty"`
	ProcessingStatus         string `json:"processing_status,omitempty"`
	ProviderOperationRef     string `json:"provider_operation_ref,omitempty"`
	ProviderWorkItemRef      string `json:"provider_work_item_ref,omitempty"`
	RequestID                string `json:"request_id,omitempty"`
	RequestKind              string `json:"request_kind,omitempty"`
	RequestResolvedAt        string `json:"request_resolved_at,omitempty"`
	ResponseAction           string `json:"response_action,omitempty"`
	ResponseID               string `json:"response_id,omitempty"`
	ResponseObjectDigest     string `json:"response_object_digest,omitempty"`
	ResponseObjectRef        string `json:"response_object_ref,omitempty"`
	ResponseObjectSizeBytes  int64  `json:"response_object_size_bytes,omitempty"`
	ResponseOutcome          string `json:"response_outcome,omitempty"`
	ResponseRecordedAt       string `json:"response_recorded_at,omitempty"`
	ResponseSourceRef        string `json:"response_source_ref,omitempty"`
	ResponseSummaryDigest    string `json:"response_summary_digest,omitempty"`
	RiskClass                string `json:"risk_class,omitempty"`
	RouteID                  string `json:"route_id,omitempty"`
	RoutingPolicyRef         string `json:"routing_policy_ref,omitempty"`
	RuntimeJobRef            string `json:"runtime_job_ref,omitempty"`
	RuntimeRef               string `json:"runtime_ref,omitempty"`
	ScopeRef                 string `json:"scope_ref,omitempty"`
	ScopeType                string `json:"scope_type,omitempty"`
	SourceKind               string `json:"source_kind,omitempty"`
	SourceOwnerKind          string `json:"source_owner_kind,omitempty"`
	SourceOwnerRef           string `json:"source_owner_ref,omitempty"`
	Status                   string `json:"status,omitempty"`
	SubscriberRef            string `json:"subscriber_ref,omitempty"`
	SubscriptionID           string `json:"subscription_id,omitempty"`
	ThreadID                 string `json:"thread_id,omitempty"`
	Version                  int64  `json:"version,omitempty"`
}
