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

package governance

const SchemaVersion = 1

const (
	EventPolicyVersionActivated                        = "governance.policy.version_activated"
	EventRiskAssessmentRequested                       = "governance.risk_assessment.requested"
	EventRiskAssessmentCompleted                       = "governance.risk_assessment.completed"
	EventRiskAssessmentChanged                         = "governance.risk_assessment.changed"
	EventReviewSignalRecorded                          = "governance.review_signal.recorded"
	EventBlockingSignalRecorded                        = "governance.blocking_signal.recorded"
	EventBlockingSignalResolved                        = "governance.blocking_signal.resolved"
	EventGateRequested                                 = "governance.gate.requested"
	EventGateResolved                                  = "governance.gate.resolved"
	EventGateCancelled                                 = "governance.gate.cancelled"
	EventGateExpired                                   = "governance.gate.expired"
	EventReleaseDecisionPackageBuilt                   = "governance.release_decision_package.built"
	EventReleaseDecisionPackageRuntimeEvidenceRecorded = "governance.release_decision_package.runtime_evidence_recorded"
	EventReleaseDecisionPackageAgentEvidenceRecorded   = "governance.release_decision_package.agent_evidence_recorded"
	EventReleaseDecisionRequested                      = "governance.release_decision.requested"
	EventReleaseDecisionResolved                       = "governance.release_decision.resolved"
	EventReleaseSafetyStateChanged                     = "governance.release_safety_state.changed"
)

const (
	AggregateBlockingSignal         = "blocking_signal"
	AggregateGate                   = "gate"
	AggregateReleaseDecision        = "release_decision"
	AggregateReleaseDecisionPackage = "release_decision_package"
	AggregateReleaseSafetyState     = "release_safety_state"
	AggregateReviewSignal           = "review_signal"
	AggregateRiskAssessment         = "risk_assessment"
	AggregateRiskProfile            = "risk_profile"
)

// Payload is the generated common payload envelope for domain events.
type Payload struct {
	ActorRef                   string `json:"actor_ref,omitempty"`
	AgentAcceptanceRef         string `json:"agent_acceptance_ref,omitempty"`
	AgentHumanGateRef          string `json:"agent_human_gate_ref,omitempty"`
	AgentRunRef                string `json:"agent_run_ref,omitempty"`
	AgentSessionRef            string `json:"agent_session_ref,omitempty"`
	AgentStageRef              string `json:"agent_stage_ref,omitempty"`
	BlockingSignalID           string `json:"blocking_signal_id,omitempty"`
	DecisionActorRef           string `json:"decision_actor_ref,omitempty"`
	DecisionPolicyRef          string `json:"decision_policy_ref,omitempty"`
	EffectiveRiskClass         string `json:"effective_risk_class,omitempty"`
	GateDecisionID             string `json:"gate_decision_id,omitempty"`
	GatePolicyCount            int64  `json:"gate_policy_count,omitempty"`
	GatePolicyID               string `json:"gate_policy_id,omitempty"`
	GateRequestID              string `json:"gate_request_id,omitempty"`
	IdempotencyKey             string `json:"idempotency_key,omitempty"`
	InitialRiskClass           string `json:"initial_risk_class,omitempty"`
	InteractionDecisionRef     string `json:"interaction_decision_ref,omitempty"`
	InteractionDeliveryRef     string `json:"interaction_delivery_ref,omitempty"`
	InteractionRequestRef      string `json:"interaction_request_ref,omitempty"`
	Outcome                    string `json:"outcome,omitempty"`
	PreviousEffectiveRiskClass string `json:"previous_effective_risk_class,omitempty"`
	PreviousStatus             string `json:"previous_status,omitempty"`
	ProfileVersion             int64  `json:"profile_version,omitempty"`
	ProjectRef                 string `json:"project_ref,omitempty"`
	ProviderPullRequestRef     string `json:"provider_pull_request_ref,omitempty"`
	ProviderWorkItemRef        string `json:"provider_work_item_ref,omitempty"`
	ReasonCode                 string `json:"reason_code,omitempty"`
	ReleaseCandidateRef        string `json:"release_candidate_ref,omitempty"`
	ReleaseDecisionID          string `json:"release_decision_id,omitempty"`
	ReleaseDecisionPackageID   string `json:"release_decision_package_id,omitempty"`
	ReleaseSafetyStateID       string `json:"release_safety_state_id,omitempty"`
	RepositoryRef              string `json:"repository_ref,omitempty"`
	RequestID                  string `json:"request_id,omitempty"`
	RequiredGateCount          int64  `json:"required_gate_count,omitempty"`
	ReviewSignalID             string `json:"review_signal_id,omitempty"`
	RiskAssessmentID           string `json:"risk_assessment_id,omitempty"`
	RiskFactorCount            int64  `json:"risk_factor_count,omitempty"`
	RiskProfileID              string `json:"risk_profile_id,omitempty"`
	RiskRuleCount              int64  `json:"risk_rule_count,omitempty"`
	RuntimeJobRef              string `json:"runtime_job_ref,omitempty"`
	SafeSummary                string `json:"safe_summary,omitempty"`
	SourceRef                  string `json:"source_ref,omitempty"`
	Status                     string `json:"status,omitempty"`
	TargetRef                  string `json:"target_ref,omitempty"`
	TargetType                 string `json:"target_type,omitempty"`
	Version                    int64  `json:"version,omitempty"`
}
