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

package provider

const SchemaVersion = 1

const (
	EventWebhookReceived                 = "provider.webhook.received"
	EventWebhookNormalized               = "provider.webhook.normalized"
	EventWorkItemSynced                  = "provider.work_item.synced"
	EventWorkItemDriftDetected           = "provider.work_item.drift_detected"
	EventCommentSynced                   = "provider.comment.synced"
	EventRelationshipSynced              = "provider.relationship.synced"
	EventSyncCursorAdvanced              = "provider.sync_cursor.advanced"
	EventAccountRuntimeStateChanged      = "provider.account_runtime_state.changed"
	EventLimitSnapshotRecorded           = "provider.limit_snapshot.recorded"
	EventOperationCompleted              = "provider.operation.completed"
	EventOperationFailed                 = "provider.operation.failed"
	EventRepositoryBootstrapRequired     = "provider.repository.bootstrap_required"
	EventRepositoryAdoptionRequired      = "provider.repository.adoption_required"
	EventRepositoryCreated               = "provider.repository.created"
	EventRepositoryBootstrapCompleted    = "provider.repository.bootstrap_completed"
	EventRepositoryAdoptionPRCreated     = "provider.repository.adoption_pr_created"
	EventRepositoryAdoptionScanCompleted = "provider.repository.adoption_scan_completed"
	EventRepositoryBootstrapMerged       = "provider.repository.bootstrap_merged"
	EventRepositoryAdoptionMerged        = "provider.repository.adoption_merged"
	EventRepositoryChanged               = "provider.repository.changed"
)

const (
	AggregateAccountRuntimeState    = "account_runtime_state"
	AggregateComment                = "comment"
	AggregateLimitSnapshot          = "limit_snapshot"
	AggregateProviderEvent          = "provider_event"
	AggregateProviderOperation      = "provider_operation"
	AggregateRelationship           = "relationship"
	AggregateRepository             = "repository"
	AggregateRepositoryAdoptionScan = "repository_adoption_scan"
	AggregateRepositoryChangeSignal = "repository_change_signal"
	AggregateRepositoryMergeSignal  = "repository_merge_signal"
	AggregateSyncCursor             = "sync_cursor"
	AggregateWebhookEvent           = "webhook_event"
	AggregateWorkItem               = "work_item"
)

// Payload is the generated common payload envelope for domain events.
type Payload struct {
	AdoptionPRRef                    string `json:"adoption_pr_ref,omitempty"`
	BaseBranch                       string `json:"base_branch,omitempty"`
	BootstrapMode                    string `json:"bootstrap_mode,omitempty"`
	ChangeFingerprint                string `json:"change_fingerprint,omitempty"`
	ChangedPathCount                 int64  `json:"changed_path_count,omitempty"`
	CheckedArtifactDigest            string `json:"checked_artifact_digest,omitempty"`
	CheckedArtifactRef               string `json:"checked_artifact_ref,omitempty"`
	CheckedArtifactVersion           string `json:"checked_artifact_version,omitempty"`
	CheckedContentHash               string `json:"checked_content_hash,omitempty"`
	CheckedSourcePath                string `json:"checked_source_path,omitempty"`
	CheckedValidatedPayloadJSON      string `json:"checked_validated_payload_json,omitempty"`
	CheckedWatermarkJSON             string `json:"checked_watermark_json,omitempty"`
	CommentProjectionID              string `json:"comment_projection_id,omitempty"`
	DefaultBranch                    string `json:"default_branch,omitempty"`
	DeliveryID                       string `json:"delivery_id,omitempty"`
	DeployRelevantChanged            bool   `json:"deploy_relevant_changed,omitempty"`
	DriftStatus                      string `json:"drift_status,omitempty"`
	ErrorCode                        string `json:"error_code,omitempty"`
	EventName                        string `json:"event_name,omitempty"`
	ExternalAccountID                string `json:"external_account_id,omitempty"`
	FileCount                        int64  `json:"file_count,omitempty"`
	HeadBranch                       string `json:"head_branch,omitempty"`
	HeadSHA                          string `json:"head_sha,omitempty"`
	Kind                             string `json:"kind,omitempty"`
	LimitClass                       string `json:"limit_class,omitempty"`
	LimitSnapshotID                  string `json:"limit_snapshot_id,omitempty"`
	MarkerCount                      int64  `json:"marker_count,omitempty"`
	MergeCommitSHA                   string `json:"merge_commit_sha,omitempty"`
	MergedAt                         string `json:"merged_at,omitempty"`
	Number                           int64  `json:"number,omitempty"`
	ObservedAt                       string `json:"observed_at,omitempty"`
	OperationType                    string `json:"operation_type,omitempty"`
	PathDigest                       string `json:"path_digest,omitempty"`
	PathSummaryStatus                string `json:"path_summary_status,omitempty"`
	ProjectID                        string `json:"project_id,omitempty"`
	ProviderAccountRuntimeStateID    string `json:"provider_account_runtime_state_id,omitempty"`
	ProviderCommentID                string `json:"provider_comment_id,omitempty"`
	ProviderEventID                  string `json:"provider_event_id,omitempty"`
	ProviderOperationID              string `json:"provider_operation_id,omitempty"`
	ProviderRepositoryID             string `json:"provider_repository_id,omitempty"`
	ProviderSlug                     string `json:"provider_slug,omitempty"`
	ProviderWorkItemID               string `json:"provider_work_item_id,omitempty"`
	PullRequestProviderID            string `json:"pull_request_provider_id,omitempty"`
	PullRequestURL                   string `json:"pull_request_url,omitempty"`
	RelatedProviderOperationRef      string `json:"related_provider_operation_ref,omitempty"`
	RelationshipID                   string `json:"relationship_id,omitempty"`
	RelationshipType                 string `json:"relationship_type,omitempty"`
	RepositoryAdoptionScanSnapshotID string `json:"repository_adoption_scan_snapshot_id,omitempty"`
	RepositoryChangeSignalID         string `json:"repository_change_signal_id,omitempty"`
	RepositoryFullName               string `json:"repository_full_name,omitempty"`
	RepositoryID                     string `json:"repository_id,omitempty"`
	RepositoryMergeSignalID          string `json:"repository_merge_signal_id,omitempty"`
	RequestedRef                     string `json:"requested_ref,omitempty"`
	ResultRef                        string `json:"result_ref,omitempty"`
	ReviewState                      string `json:"review_state,omitempty"`
	ScannedRef                       string `json:"scanned_ref,omitempty"`
	ScopeRef                         string `json:"scope_ref,omitempty"`
	ScopeType                        string `json:"scope_type,omitempty"`
	ServicesPolicyChanged            bool   `json:"services_policy_changed,omitempty"`
	SignalKey                        string `json:"signal_key,omitempty"`
	SignalKind                       string `json:"signal_kind,omitempty"`
	SnapshotDigest                   string `json:"snapshot_digest,omitempty"`
	Source                           string `json:"source,omitempty"`
	SourceRef                        string `json:"source_ref,omitempty"`
	Status                           string `json:"status,omitempty"`
	SyncCursorID                     string `json:"sync_cursor_id,omitempty"`
	TreeTruncated                    bool   `json:"tree_truncated,omitempty"`
	Version                          int64  `json:"version,omitempty"`
	WarningCount                     int64  `json:"warning_count,omitempty"`
	WatermarkDigest                  string `json:"watermark_digest,omitempty"`
	WatermarkStatus                  string `json:"watermark_status,omitempty"`
	WebhookEventID                   string `json:"webhook_event_id,omitempty"`
	WorkItemProjectionID             string `json:"work_item_projection_id,omitempty"`
}
