//go:build go1.22

// Package generated provides primitives to interact with the openapi HTTP API.
//
// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.0 DO NOT EDIT.
package generated

import (
	"context"
	"encoding/json"
	"fmt"
	"net/http"
	"time"

	"github.com/oapi-codegen/runtime"
	strictnethttp "github.com/oapi-codegen/runtime/strictmiddleware/nethttp"
	openapi_types "github.com/oapi-codegen/runtime/types"
)

// Defines values for ApprovalRequestApprovalMode.
const (
	ApprovalRequestApprovalModeDelegated ApprovalRequestApprovalMode = "delegated"
	ApprovalRequestApprovalModeNone      ApprovalRequestApprovalMode = "none"
	ApprovalRequestApprovalModeOwner     ApprovalRequestApprovalMode = "owner"
)

// Defines values for DiscussionCreatePayloadParentEntityKind.
const (
	DiscussionCreatePayloadParentEntityKindAgent       DiscussionCreatePayloadParentEntityKind = "agent"
	DiscussionCreatePayloadParentEntityKindDiscussion  DiscussionCreatePayloadParentEntityKind = "discussion"
	DiscussionCreatePayloadParentEntityKindPullRequest DiscussionCreatePayloadParentEntityKind = "pull_request"
	DiscussionCreatePayloadParentEntityKindWorkItem    DiscussionCreatePayloadParentEntityKind = "work_item"
)

// Defines values for DiscussionFormalizePayloadSourceEntityKind.
const (
	DiscussionFormalizePayloadSourceEntityKindAgent       DiscussionFormalizePayloadSourceEntityKind = "agent"
	DiscussionFormalizePayloadSourceEntityKindDiscussion  DiscussionFormalizePayloadSourceEntityKind = "discussion"
	DiscussionFormalizePayloadSourceEntityKindPullRequest DiscussionFormalizePayloadSourceEntityKind = "pull_request"
	DiscussionFormalizePayloadSourceEntityKindWorkItem    DiscussionFormalizePayloadSourceEntityKind = "work_item"
)

// Defines values for ErrorResponseCode.
const (
	ErrorResponseCodeCanceled           ErrorResponseCode = "canceled"
	ErrorResponseCodeConflict           ErrorResponseCode = "conflict"
	ErrorResponseCodeDeadlineExceeded   ErrorResponseCode = "deadline_exceeded"
	ErrorResponseCodeFailedPrecondition ErrorResponseCode = "failed_precondition"
	ErrorResponseCodeForbidden          ErrorResponseCode = "forbidden"
	ErrorResponseCodeInternal           ErrorResponseCode = "internal"
	ErrorResponseCodeInvalidArgument    ErrorResponseCode = "invalid_argument"
	ErrorResponseCodeNotFound           ErrorResponseCode = "not_found"
	ErrorResponseCodeResourceExhausted  ErrorResponseCode = "resource_exhausted"
	ErrorResponseCodeUnauthorized       ErrorResponseCode = "unauthorized"
	ErrorResponseCodeUnavailable        ErrorResponseCode = "unavailable"
)

// Defines values for GitHubRateLimitManualActionKind.
const (
	RequeuePlatformOperation GitHubRateLimitManualActionKind = "requeue_platform_operation"
	ResumeAgentSession       GitHubRateLimitManualActionKind = "resume_agent_session"
	RetryAfterOperatorReview GitHubRateLimitManualActionKind = "retry_after_operator_review"
)

// Defines values for GitHubRateLimitRecoveryHintHintKind.
const (
	GitHubRateLimitRecoveryHintHintKindExponentialBackoff GitHubRateLimitRecoveryHintHintKind = "exponential_backoff"
	GitHubRateLimitRecoveryHintHintKindManualOnly         GitHubRateLimitRecoveryHintHintKind = "manual_only"
	GitHubRateLimitRecoveryHintHintKindRateLimitReset     GitHubRateLimitRecoveryHintHintKind = "rate_limit_reset"
	GitHubRateLimitRecoveryHintHintKindRetryAfter         GitHubRateLimitRecoveryHintHintKind = "retry_after"
)

// Defines values for GitHubRateLimitRecoveryHintSourceHeaders.
const (
	GitHubRateLimitRecoveryHintSourceHeadersProviderUncertain GitHubRateLimitRecoveryHintSourceHeaders = "provider_uncertain"
	GitHubRateLimitRecoveryHintSourceHeadersResetAt           GitHubRateLimitRecoveryHintSourceHeaders = "reset_at"
	GitHubRateLimitRecoveryHintSourceHeadersRetryAfter        GitHubRateLimitRecoveryHintSourceHeaders = "retry_after"
)

// Defines values for GitHubRateLimitWaitItemConfidence.
const (
	Conservative      GitHubRateLimitWaitItemConfidence = "conservative"
	Deterministic     GitHubRateLimitWaitItemConfidence = "deterministic"
	ProviderUncertain GitHubRateLimitWaitItemConfidence = "provider_uncertain"
)

// Defines values for GitHubRateLimitWaitItemContourKind.
const (
	GitHubRateLimitWaitItemContourKindAgentBotToken GitHubRateLimitWaitItemContourKind = "agent_bot_token"
	GitHubRateLimitWaitItemContourKindPlatformPat   GitHubRateLimitWaitItemContourKind = "platform_pat"
)

// Defines values for GitHubRateLimitWaitItemLimitKind.
const (
	GitHubRateLimitWaitItemLimitKindPrimary   GitHubRateLimitWaitItemLimitKind = "primary"
	GitHubRateLimitWaitItemLimitKindSecondary GitHubRateLimitWaitItemLimitKind = "secondary"
)

// Defines values for GitHubRateLimitWaitItemOperationClass.
const (
	AgentGithubCall        GitHubRateLimitWaitItemOperationClass = "agent_github_call"
	IssueLabelTransition   GitHubRateLimitWaitItemOperationClass = "issue_label_transition"
	RepositoryProviderCall GitHubRateLimitWaitItemOperationClass = "repository_provider_call"
	RunStatusComment       GitHubRateLimitWaitItemOperationClass = "run_status_comment"
)

// Defines values for GitHubRateLimitWaitItemState.
const (
	GitHubRateLimitWaitItemStateAutoResumeInProgress GitHubRateLimitWaitItemState = "auto_resume_in_progress"
	GitHubRateLimitWaitItemStateAutoResumeScheduled  GitHubRateLimitWaitItemState = "auto_resume_scheduled"
	GitHubRateLimitWaitItemStateCancelled            GitHubRateLimitWaitItemState = "cancelled"
	GitHubRateLimitWaitItemStateManualActionRequired GitHubRateLimitWaitItemState = "manual_action_required"
	GitHubRateLimitWaitItemStateOpen                 GitHubRateLimitWaitItemState = "open"
	GitHubRateLimitWaitItemStateResolved             GitHubRateLimitWaitItemState = "resolved"
)

// Defines values for ImportDocsetRequestLocale.
const (
	ImportDocsetRequestLocaleEn ImportDocsetRequestLocale = "en"
	ImportDocsetRequestLocaleRu ImportDocsetRequestLocale = "ru"
)

// Defines values for IngestGitHubWebhookResponseStatus.
const (
	IngestGitHubWebhookResponseStatusAccepted  IngestGitHubWebhookResponseStatus = "accepted"
	IngestGitHubWebhookResponseStatusDuplicate IngestGitHubWebhookResponseStatus = "duplicate"
	IngestGitHubWebhookResponseStatusIgnored   IngestGitHubWebhookResponseStatus = "ignored"
)

// Defines values for InteractionCallbackEnvelopeCallbackKind.
const (
	DeliveryReceipt  InteractionCallbackEnvelopeCallbackKind = "delivery_receipt"
	FreeTextReceived InteractionCallbackEnvelopeCallbackKind = "free_text_received"
	OptionSelected   InteractionCallbackEnvelopeCallbackKind = "option_selected"
	TransportFailure InteractionCallbackEnvelopeCallbackKind = "transport_failure"
)

// Defines values for InteractionCallbackEnvelopeDeliveryStatus.
const (
	InteractionCallbackEnvelopeDeliveryStatusAccepted  InteractionCallbackEnvelopeDeliveryStatus = "accepted"
	InteractionCallbackEnvelopeDeliveryStatusDelivered InteractionCallbackEnvelopeDeliveryStatus = "delivered"
	InteractionCallbackEnvelopeDeliveryStatusFailed    InteractionCallbackEnvelopeDeliveryStatus = "failed"
)

// Defines values for InteractionCallbackEnvelopeSchemaVersion.
const (
	TelegramInteractionV1 InteractionCallbackEnvelopeSchemaVersion = "telegram-interaction-v1"
)

// Defines values for InteractionCallbackOutcomeClassification.
const (
	InteractionCallbackOutcomeClassificationApplied   InteractionCallbackOutcomeClassification = "applied"
	InteractionCallbackOutcomeClassificationDuplicate InteractionCallbackOutcomeClassification = "duplicate"
	InteractionCallbackOutcomeClassificationExpired   InteractionCallbackOutcomeClassification = "expired"
	InteractionCallbackOutcomeClassificationInvalid   InteractionCallbackOutcomeClassification = "invalid"
	InteractionCallbackOutcomeClassificationStale     InteractionCallbackOutcomeClassification = "stale"
)

// Defines values for InteractionCallbackOutcomeContinuationAction.
const (
	InteractionCallbackOutcomeContinuationActionEditMessage    InteractionCallbackOutcomeContinuationAction = "edit_message"
	InteractionCallbackOutcomeContinuationActionManualFallback InteractionCallbackOutcomeContinuationAction = "manual_fallback"
	InteractionCallbackOutcomeContinuationActionNone           InteractionCallbackOutcomeContinuationAction = "none"
	InteractionCallbackOutcomeContinuationActionSendFollowUp   InteractionCallbackOutcomeContinuationAction = "send_follow_up"
)

// Defines values for MCPApprovalCallbackRequestDecision.
const (
	MCPApprovalCallbackRequestDecisionApplied  MCPApprovalCallbackRequestDecision = "applied"
	MCPApprovalCallbackRequestDecisionApproved MCPApprovalCallbackRequestDecision = "approved"
	MCPApprovalCallbackRequestDecisionDenied   MCPApprovalCallbackRequestDecision = "denied"
	MCPApprovalCallbackRequestDecisionExpired  MCPApprovalCallbackRequestDecision = "expired"
	MCPApprovalCallbackRequestDecisionFailed   MCPApprovalCallbackRequestDecision = "failed"
)

// Defines values for MissionControlActivityEntryNodeKind.
const (
	MissionControlActivityEntryNodeKindDiscussion  MissionControlActivityEntryNodeKind = "discussion"
	MissionControlActivityEntryNodeKindPullRequest MissionControlActivityEntryNodeKind = "pull_request"
	MissionControlActivityEntryNodeKindRun         MissionControlActivityEntryNodeKind = "run"
	MissionControlActivityEntryNodeKindWorkItem    MissionControlActivityEntryNodeKind = "work_item"
)

// Defines values for MissionControlActivityEntrySourceKind.
const (
	MissionControlActivityEntrySourceKindCommand  MissionControlActivityEntrySourceKind = "command"
	MissionControlActivityEntrySourceKindPlatform MissionControlActivityEntrySourceKind = "platform"
	MissionControlActivityEntrySourceKindProvider MissionControlActivityEntrySourceKind = "provider"
)

// Defines values for MissionControlAllowedActionActionKind.
const (
	MissionControlAllowedActionActionKindCommandRetrySync     MissionControlAllowedActionActionKind = "command.retry_sync"
	MissionControlAllowedActionActionKindDiscussionCreate     MissionControlAllowedActionActionKind = "discussion.create"
	MissionControlAllowedActionActionKindDiscussionFormalize  MissionControlAllowedActionActionKind = "discussion.formalize"
	MissionControlAllowedActionActionKindStageNextStepExecute MissionControlAllowedActionActionKind = "stage.next_step.execute"
	MissionControlAllowedActionActionKindWorkItemCreate       MissionControlAllowedActionActionKind = "work_item.create"
)

// Defines values for MissionControlAllowedActionApprovalRequirement.
const (
	MissionControlAllowedActionApprovalRequirementNone        MissionControlAllowedActionApprovalRequirement = "none"
	MissionControlAllowedActionApprovalRequirementOwnerReview MissionControlAllowedActionApprovalRequirement = "owner_review"
)

// Defines values for MissionControlAllowedActionPresentation.
const (
	MissionControlAllowedActionPresentationDanger    MissionControlAllowedActionPresentation = "danger"
	MissionControlAllowedActionPresentationLink      MissionControlAllowedActionPresentation = "link"
	MissionControlAllowedActionPresentationPrimary   MissionControlAllowedActionPresentation = "primary"
	MissionControlAllowedActionPresentationSecondary MissionControlAllowedActionPresentation = "secondary"
)

// Defines values for MissionControlCommandApprovalApprovalState.
const (
	MissionControlCommandApprovalApprovalStateApproved    MissionControlCommandApprovalApprovalState = "approved"
	MissionControlCommandApprovalApprovalStateDenied      MissionControlCommandApprovalApprovalState = "denied"
	MissionControlCommandApprovalApprovalStateExpired     MissionControlCommandApprovalApprovalState = "expired"
	MissionControlCommandApprovalApprovalStateNotRequired MissionControlCommandApprovalApprovalState = "not_required"
	MissionControlCommandApprovalApprovalStatePending     MissionControlCommandApprovalApprovalState = "pending"
)

// Defines values for MissionControlCommandStateCommandKind.
const (
	MissionControlCommandStateCommandKindCommandRetrySync     MissionControlCommandStateCommandKind = "command.retry_sync"
	MissionControlCommandStateCommandKindDiscussionCreate     MissionControlCommandStateCommandKind = "discussion.create"
	MissionControlCommandStateCommandKindDiscussionFormalize  MissionControlCommandStateCommandKind = "discussion.formalize"
	MissionControlCommandStateCommandKindStageNextStepExecute MissionControlCommandStateCommandKind = "stage.next_step.execute"
	MissionControlCommandStateCommandKindWorkItemCreate       MissionControlCommandStateCommandKind = "work_item.create"
)

// Defines values for MissionControlCommandStateFailureReason.
const (
	ApprovalDenied  MissionControlCommandStateFailureReason = "approval_denied"
	ApprovalExpired MissionControlCommandStateFailureReason = "approval_expired"
	DuplicateIntent MissionControlCommandStateFailureReason = "duplicate_intent"
	PolicyDenied    MissionControlCommandStateFailureReason = "policy_denied"
	ProjectionStale MissionControlCommandStateFailureReason = "projection_stale"
	ProviderError   MissionControlCommandStateFailureReason = "provider_error"
	Timeout         MissionControlCommandStateFailureReason = "timeout"
	Unknown         MissionControlCommandStateFailureReason = "unknown"
)

// Defines values for MissionControlCommandStateStatus.
const (
	MissionControlCommandStateStatusAccepted        MissionControlCommandStateStatus = "accepted"
	MissionControlCommandStateStatusBlocked         MissionControlCommandStateStatus = "blocked"
	MissionControlCommandStateStatusCancelled       MissionControlCommandStateStatus = "cancelled"
	MissionControlCommandStateStatusFailed          MissionControlCommandStateStatus = "failed"
	MissionControlCommandStateStatusPendingApproval MissionControlCommandStateStatus = "pending_approval"
	MissionControlCommandStateStatusPendingSync     MissionControlCommandStateStatus = "pending_sync"
	MissionControlCommandStateStatusQueued          MissionControlCommandStateStatus = "queued"
	MissionControlCommandStateStatusReconciled      MissionControlCommandStateStatus = "reconciled"
)

// Defines values for MissionControlConnectedRealtimePayloadSnapshotFreshnessStatus.
const (
	MissionControlConnectedRealtimePayloadSnapshotFreshnessStatusDegraded MissionControlConnectedRealtimePayloadSnapshotFreshnessStatus = "degraded"
	MissionControlConnectedRealtimePayloadSnapshotFreshnessStatusFresh    MissionControlConnectedRealtimePayloadSnapshotFreshnessStatus = "fresh"
	MissionControlConnectedRealtimePayloadSnapshotFreshnessStatusStale    MissionControlConnectedRealtimePayloadSnapshotFreshnessStatus = "stale"
)

// Defines values for MissionControlContinuityGapExpectedNodeKind.
const (
	MissionControlContinuityGapExpectedNodeKindDiscussion  MissionControlContinuityGapExpectedNodeKind = "discussion"
	MissionControlContinuityGapExpectedNodeKindPullRequest MissionControlContinuityGapExpectedNodeKind = "pull_request"
	MissionControlContinuityGapExpectedNodeKindRun         MissionControlContinuityGapExpectedNodeKind = "run"
	MissionControlContinuityGapExpectedNodeKindWorkItem    MissionControlContinuityGapExpectedNodeKind = "work_item"
)

// Defines values for MissionControlContinuityGapGapKind.
const (
	MissionControlContinuityGapGapKindMissingFollowUpIssue MissionControlContinuityGapGapKind = "missing_follow_up_issue"
	MissionControlContinuityGapGapKindMissingPullRequest   MissionControlContinuityGapGapKind = "missing_pull_request"
	MissionControlContinuityGapGapKindMissingRun           MissionControlContinuityGapGapKind = "missing_run"
	MissionControlContinuityGapGapKindOrphanNode           MissionControlContinuityGapGapKind = "orphan_node"
	MissionControlContinuityGapGapKindProviderOutOfScope   MissionControlContinuityGapGapKind = "provider_out_of_scope"
	MissionControlContinuityGapGapKindProviderStale        MissionControlContinuityGapGapKind = "provider_stale"
)

// Defines values for MissionControlContinuityGapSeverity.
const (
	MissionControlContinuityGapSeverityBlocking MissionControlContinuityGapSeverity = "blocking"
	MissionControlContinuityGapSeverityInfo     MissionControlContinuityGapSeverity = "info"
	MissionControlContinuityGapSeverityWarning  MissionControlContinuityGapSeverity = "warning"
)

// Defines values for MissionControlContinuityGapStatus.
const (
	Deferred MissionControlContinuityGapStatus = "deferred"
	Open     MissionControlContinuityGapStatus = "open"
	Resolved MissionControlContinuityGapStatus = "resolved"
)

// Defines values for MissionControlContinuityGapSubjectNodeKind.
const (
	MissionControlContinuityGapSubjectNodeKindDiscussion  MissionControlContinuityGapSubjectNodeKind = "discussion"
	MissionControlContinuityGapSubjectNodeKindPullRequest MissionControlContinuityGapSubjectNodeKind = "pull_request"
	MissionControlContinuityGapSubjectNodeKindRun         MissionControlContinuityGapSubjectNodeKind = "run"
	MissionControlContinuityGapSubjectNodeKindWorkItem    MissionControlContinuityGapSubjectNodeKind = "work_item"
)

// Defines values for MissionControlDashboardSnapshotFreshnessStatus.
const (
	MissionControlDashboardSnapshotFreshnessStatusDegraded MissionControlDashboardSnapshotFreshnessStatus = "degraded"
	MissionControlDashboardSnapshotFreshnessStatusFresh    MissionControlDashboardSnapshotFreshnessStatus = "fresh"
	MissionControlDashboardSnapshotFreshnessStatusStale    MissionControlDashboardSnapshotFreshnessStatus = "stale"
)

// Defines values for MissionControlDashboardSnapshotViewMode.
const (
	MissionControlDashboardSnapshotViewModeBoard MissionControlDashboardSnapshotViewMode = "board"
	MissionControlDashboardSnapshotViewModeList  MissionControlDashboardSnapshotViewMode = "list"
)

// Defines values for MissionControlDiscussionCreateCommandRequestCommandKind.
const (
	DiscussionCreate MissionControlDiscussionCreateCommandRequestCommandKind = "discussion.create"
)

// Defines values for MissionControlDiscussionCreateCommandRequestTargetEntityKind.
const (
	MissionControlDiscussionCreateCommandRequestTargetEntityKindAgent       MissionControlDiscussionCreateCommandRequestTargetEntityKind = "agent"
	MissionControlDiscussionCreateCommandRequestTargetEntityKindDiscussion  MissionControlDiscussionCreateCommandRequestTargetEntityKind = "discussion"
	MissionControlDiscussionCreateCommandRequestTargetEntityKindPullRequest MissionControlDiscussionCreateCommandRequestTargetEntityKind = "pull_request"
	MissionControlDiscussionCreateCommandRequestTargetEntityKindWorkItem    MissionControlDiscussionCreateCommandRequestTargetEntityKind = "work_item"
)

// Defines values for MissionControlDiscussionFormalizeCommandRequestCommandKind.
const (
	DiscussionFormalize MissionControlDiscussionFormalizeCommandRequestCommandKind = "discussion.formalize"
)

// Defines values for MissionControlDiscussionFormalizeCommandRequestTargetEntityKind.
const (
	MissionControlDiscussionFormalizeCommandRequestTargetEntityKindAgent       MissionControlDiscussionFormalizeCommandRequestTargetEntityKind = "agent"
	MissionControlDiscussionFormalizeCommandRequestTargetEntityKindDiscussion  MissionControlDiscussionFormalizeCommandRequestTargetEntityKind = "discussion"
	MissionControlDiscussionFormalizeCommandRequestTargetEntityKindPullRequest MissionControlDiscussionFormalizeCommandRequestTargetEntityKind = "pull_request"
	MissionControlDiscussionFormalizeCommandRequestTargetEntityKindWorkItem    MissionControlDiscussionFormalizeCommandRequestTargetEntityKind = "work_item"
)

// Defines values for MissionControlEdgeEdgeKind.
const (
	MissionControlEdgeEdgeKindBlockedBy           MissionControlEdgeEdgeKind = "blocked_by"
	MissionControlEdgeEdgeKindContinuesWith       MissionControlEdgeEdgeKind = "continues_with"
	MissionControlEdgeEdgeKindFormalizedFrom      MissionControlEdgeEdgeKind = "formalized_from"
	MissionControlEdgeEdgeKindProducedPullRequest MissionControlEdgeEdgeKind = "produced_pull_request"
	MissionControlEdgeEdgeKindRelatedTo           MissionControlEdgeEdgeKind = "related_to"
	MissionControlEdgeEdgeKindSpawnedRun          MissionControlEdgeEdgeKind = "spawned_run"
	MissionControlEdgeEdgeKindTrackedByCommand    MissionControlEdgeEdgeKind = "tracked_by_command"
)

// Defines values for MissionControlEdgeSourceNodeKind.
const (
	MissionControlEdgeSourceNodeKindDiscussion  MissionControlEdgeSourceNodeKind = "discussion"
	MissionControlEdgeSourceNodeKindPullRequest MissionControlEdgeSourceNodeKind = "pull_request"
	MissionControlEdgeSourceNodeKindRun         MissionControlEdgeSourceNodeKind = "run"
	MissionControlEdgeSourceNodeKindWorkItem    MissionControlEdgeSourceNodeKind = "work_item"
)

// Defines values for MissionControlEdgeSourceOfTruth.
const (
	MissionControlEdgeSourceOfTruthCommand  MissionControlEdgeSourceOfTruth = "command"
	MissionControlEdgeSourceOfTruthPlatform MissionControlEdgeSourceOfTruth = "platform"
	MissionControlEdgeSourceOfTruthProvider MissionControlEdgeSourceOfTruth = "provider"
)

// Defines values for MissionControlEdgeTargetNodeKind.
const (
	MissionControlEdgeTargetNodeKindDiscussion  MissionControlEdgeTargetNodeKind = "discussion"
	MissionControlEdgeTargetNodeKindPullRequest MissionControlEdgeTargetNodeKind = "pull_request"
	MissionControlEdgeTargetNodeKindRun         MissionControlEdgeTargetNodeKind = "run"
	MissionControlEdgeTargetNodeKindWorkItem    MissionControlEdgeTargetNodeKind = "work_item"
)

// Defines values for MissionControlEdgeVisibilityTier.
const (
	MissionControlEdgeVisibilityTierPrimary         MissionControlEdgeVisibilityTier = "primary"
	MissionControlEdgeVisibilityTierSecondaryDimmed MissionControlEdgeVisibilityTier = "secondary_dimmed"
)

// Defines values for MissionControlEntityCardBadges.
const (
	MissionControlEntityCardBadgesBlocked        MissionControlEntityCardBadges = "blocked"
	MissionControlEntityCardBadgesOwnerReview    MissionControlEntityCardBadges = "owner_review"
	MissionControlEntityCardBadgesRealtimeStale  MissionControlEntityCardBadges = "realtime_stale"
	MissionControlEntityCardBadgesVoiceCandidate MissionControlEntityCardBadges = "voice_candidate"
	MissionControlEntityCardBadgesWaitingMcp     MissionControlEntityCardBadges = "waiting_mcp"
)

// Defines values for MissionControlEntityCardEntityKind.
const (
	MissionControlEntityCardEntityKindAgent       MissionControlEntityCardEntityKind = "agent"
	MissionControlEntityCardEntityKindDiscussion  MissionControlEntityCardEntityKind = "discussion"
	MissionControlEntityCardEntityKindPullRequest MissionControlEntityCardEntityKind = "pull_request"
	MissionControlEntityCardEntityKindWorkItem    MissionControlEntityCardEntityKind = "work_item"
)

// Defines values for MissionControlEntityCardState.
const (
	MissionControlEntityCardStateBlocked               MissionControlEntityCardState = "blocked"
	MissionControlEntityCardStateRecentCriticalUpdates MissionControlEntityCardState = "recent_critical_updates"
	MissionControlEntityCardStateReview                MissionControlEntityCardState = "review"
	MissionControlEntityCardStateWaiting               MissionControlEntityCardState = "waiting"
	MissionControlEntityCardStateWorking               MissionControlEntityCardState = "working"
)

// Defines values for MissionControlEntityCardSyncStatus.
const (
	MissionControlEntityCardSyncStatusDegraded    MissionControlEntityCardSyncStatus = "degraded"
	MissionControlEntityCardSyncStatusFailed      MissionControlEntityCardSyncStatus = "failed"
	MissionControlEntityCardSyncStatusPendingSync MissionControlEntityCardSyncStatus = "pending_sync"
	MissionControlEntityCardSyncStatusSynced      MissionControlEntityCardSyncStatus = "synced"
)

// Defines values for MissionControlEntityRefEntityKind.
const (
	MissionControlEntityRefEntityKindAgent       MissionControlEntityRefEntityKind = "agent"
	MissionControlEntityRefEntityKindDiscussion  MissionControlEntityRefEntityKind = "discussion"
	MissionControlEntityRefEntityKindPullRequest MissionControlEntityRefEntityKind = "pull_request"
	MissionControlEntityRefEntityKindWorkItem    MissionControlEntityRefEntityKind = "work_item"
)

// Defines values for MissionControlLaunchPreviewApprovalRequirement.
const (
	MissionControlLaunchPreviewApprovalRequirementNone        MissionControlLaunchPreviewApprovalRequirement = "none"
	MissionControlLaunchPreviewApprovalRequirementOwnerReview MissionControlLaunchPreviewApprovalRequirement = "owner_review"
)

// Defines values for MissionControlLaunchPreviewRequestNodeKind.
const (
	MissionControlLaunchPreviewRequestNodeKindDiscussion  MissionControlLaunchPreviewRequestNodeKind = "discussion"
	MissionControlLaunchPreviewRequestNodeKindPullRequest MissionControlLaunchPreviewRequestNodeKind = "pull_request"
	MissionControlLaunchPreviewRequestNodeKindRun         MissionControlLaunchPreviewRequestNodeKind = "run"
	MissionControlLaunchPreviewRequestNodeKindWorkItem    MissionControlLaunchPreviewRequestNodeKind = "work_item"
)

// Defines values for MissionControlLaunchPreviewRequestThreadKind.
const (
	MissionControlLaunchPreviewRequestThreadKindIssue       MissionControlLaunchPreviewRequestThreadKind = "issue"
	MissionControlLaunchPreviewRequestThreadKindPullRequest MissionControlLaunchPreviewRequestThreadKind = "pull_request"
)

// Defines values for MissionControlLaunchSurfaceActionKind.
const (
	InspectRunContext       MissionControlLaunchSurfaceActionKind = "inspect_run_context"
	OpenLinkedFollowUpIssue MissionControlLaunchSurfaceActionKind = "open_linked_follow_up_issue"
	OpenLinkedPullRequest   MissionControlLaunchSurfaceActionKind = "open_linked_pull_request"
	OpenProviderContext     MissionControlLaunchSurfaceActionKind = "open_provider_context"
	PreviewNextStage        MissionControlLaunchSurfaceActionKind = "preview_next_stage"
)

// Defines values for MissionControlLaunchSurfaceApprovalRequirement.
const (
	MissionControlLaunchSurfaceApprovalRequirementNone        MissionControlLaunchSurfaceApprovalRequirement = "none"
	MissionControlLaunchSurfaceApprovalRequirementOwnerReview MissionControlLaunchSurfaceApprovalRequirement = "owner_review"
)

// Defines values for MissionControlLaunchSurfacePresentation.
const (
	MissionControlLaunchSurfacePresentationLink      MissionControlLaunchSurfacePresentation = "link"
	MissionControlLaunchSurfacePresentationPrimary   MissionControlLaunchSurfacePresentation = "primary"
	MissionControlLaunchSurfacePresentationSecondary MissionControlLaunchSurfacePresentation = "secondary"
)

// Defines values for MissionControlNodeActiveState.
const (
	MissionControlNodeActiveStateArchived              MissionControlNodeActiveState = "archived"
	MissionControlNodeActiveStateBlocked               MissionControlNodeActiveState = "blocked"
	MissionControlNodeActiveStateRecentCriticalUpdates MissionControlNodeActiveState = "recent_critical_updates"
	MissionControlNodeActiveStateReview                MissionControlNodeActiveState = "review"
	MissionControlNodeActiveStateWaiting               MissionControlNodeActiveState = "waiting"
	MissionControlNodeActiveStateWorking               MissionControlNodeActiveState = "working"
)

// Defines values for MissionControlNodeBadges.
const (
	MissionControlNodeBadgesContinuityGap       MissionControlNodeBadges = "continuity_gap"
	MissionControlNodeBadgesProviderStale       MissionControlNodeBadges = "provider_stale"
	MissionControlNodeBadgesRecentClosedContext MissionControlNodeBadges = "recent_closed_context"
	MissionControlNodeBadgesReviewRequired      MissionControlNodeBadges = "review_required"
	MissionControlNodeBadgesWaitingMcp          MissionControlNodeBadges = "waiting_mcp"
)

// Defines values for MissionControlNodeContinuityStatus.
const (
	MissionControlNodeContinuityStatusComplete             MissionControlNodeContinuityStatus = "complete"
	MissionControlNodeContinuityStatusMissingFollowUpIssue MissionControlNodeContinuityStatus = "missing_follow_up_issue"
	MissionControlNodeContinuityStatusMissingPullRequest   MissionControlNodeContinuityStatus = "missing_pull_request"
	MissionControlNodeContinuityStatusMissingRun           MissionControlNodeContinuityStatus = "missing_run"
	MissionControlNodeContinuityStatusOutOfScope           MissionControlNodeContinuityStatus = "out_of_scope"
	MissionControlNodeContinuityStatusStaleProvider        MissionControlNodeContinuityStatus = "stale_provider"
)

// Defines values for MissionControlNodeCoverageClass.
const (
	MissionControlNodeCoverageClassOpenPrimary         MissionControlNodeCoverageClass = "open_primary"
	MissionControlNodeCoverageClassOutOfScope          MissionControlNodeCoverageClass = "out_of_scope"
	MissionControlNodeCoverageClassRecentClosedContext MissionControlNodeCoverageClass = "recent_closed_context"
)

// Defines values for MissionControlNodeNodeKind.
const (
	MissionControlNodeNodeKindDiscussion  MissionControlNodeNodeKind = "discussion"
	MissionControlNodeNodeKindPullRequest MissionControlNodeNodeKind = "pull_request"
	MissionControlNodeNodeKindRun         MissionControlNodeNodeKind = "run"
	MissionControlNodeNodeKindWorkItem    MissionControlNodeNodeKind = "work_item"
)

// Defines values for MissionControlNodeVisibilityTier.
const (
	Primary         MissionControlNodeVisibilityTier = "primary"
	SecondaryDimmed MissionControlNodeVisibilityTier = "secondary_dimmed"
)

// Defines values for MissionControlNodeRefNodeKind.
const (
	MissionControlNodeRefNodeKindDiscussion  MissionControlNodeRefNodeKind = "discussion"
	MissionControlNodeRefNodeKindPullRequest MissionControlNodeRefNodeKind = "pull_request"
	MissionControlNodeRefNodeKindRun         MissionControlNodeRefNodeKind = "run"
	MissionControlNodeRefNodeKindWorkItem    MissionControlNodeRefNodeKind = "work_item"
)

// Defines values for MissionControlProviderDeepLinkActionKind.
const (
	ProviderMerge        MissionControlProviderDeepLinkActionKind = "provider.merge"
	ProviderOpenIssue    MissionControlProviderDeepLinkActionKind = "provider.open_issue"
	ProviderOpenPr       MissionControlProviderDeepLinkActionKind = "provider.open_pr"
	ProviderReplyComment MissionControlProviderDeepLinkActionKind = "provider.reply_comment"
	ProviderReview       MissionControlProviderDeepLinkActionKind = "provider.review"
)

// Defines values for MissionControlProviderDeepLinkReason.
const (
	NotInMvpInlineScope MissionControlProviderDeepLinkReason = "not_in_mvp_inline_scope"
	ProviderPolicy      MissionControlProviderDeepLinkReason = "provider_policy"
	RequiresHumanReview MissionControlProviderDeepLinkReason = "requires_human_review"
	UnsafeWhenDegraded  MissionControlProviderDeepLinkReason = "unsafe_when_degraded"
)

// Defines values for MissionControlProviderReferenceProvider.
const (
	MissionControlProviderReferenceProviderGithub   MissionControlProviderReferenceProvider = "github"
	MissionControlProviderReferenceProviderPlatform MissionControlProviderReferenceProvider = "platform"
)

// Defines values for MissionControlRealtimeEnvelopeEventKind.
const (
	MissionControlRealtimeEnvelopeEventKindConnected      MissionControlRealtimeEnvelopeEventKind = "connected"
	MissionControlRealtimeEnvelopeEventKindDegraded       MissionControlRealtimeEnvelopeEventKind = "degraded"
	MissionControlRealtimeEnvelopeEventKindDelta          MissionControlRealtimeEnvelopeEventKind = "delta"
	MissionControlRealtimeEnvelopeEventKindError          MissionControlRealtimeEnvelopeEventKind = "error"
	MissionControlRealtimeEnvelopeEventKindHeartbeat      MissionControlRealtimeEnvelopeEventKind = "heartbeat"
	MissionControlRealtimeEnvelopeEventKindInvalidate     MissionControlRealtimeEnvelopeEventKind = "invalidate"
	MissionControlRealtimeEnvelopeEventKindResyncRequired MissionControlRealtimeEnvelopeEventKind = "resync_required"
	MissionControlRealtimeEnvelopeEventKindStale          MissionControlRealtimeEnvelopeEventKind = "stale"
)

// Defines values for MissionControlRelationDirection.
const (
	Bidirectional MissionControlRelationDirection = "bidirectional"
	Inbound       MissionControlRelationDirection = "inbound"
	Outbound      MissionControlRelationDirection = "outbound"
)

// Defines values for MissionControlRelationRelationKind.
const (
	MissionControlRelationRelationKindAssignedTo       MissionControlRelationRelationKind = "assigned_to"
	MissionControlRelationRelationKindBlockedBy        MissionControlRelationRelationKind = "blocked_by"
	MissionControlRelationRelationKindBlocks           MissionControlRelationRelationKind = "blocks"
	MissionControlRelationRelationKindFormalizedFrom   MissionControlRelationRelationKind = "formalized_from"
	MissionControlRelationRelationKindLinkedTo         MissionControlRelationRelationKind = "linked_to"
	MissionControlRelationRelationKindOwnedBy          MissionControlRelationRelationKind = "owned_by"
	MissionControlRelationRelationKindTrackedByCommand MissionControlRelationRelationKind = "tracked_by_command"
)

// Defines values for MissionControlRelationSourceEntityKind.
const (
	MissionControlRelationSourceEntityKindAgent       MissionControlRelationSourceEntityKind = "agent"
	MissionControlRelationSourceEntityKindDiscussion  MissionControlRelationSourceEntityKind = "discussion"
	MissionControlRelationSourceEntityKindPullRequest MissionControlRelationSourceEntityKind = "pull_request"
	MissionControlRelationSourceEntityKindWorkItem    MissionControlRelationSourceEntityKind = "work_item"
)

// Defines values for MissionControlRelationSourceKind.
const (
	MissionControlRelationSourceKindCommand        MissionControlRelationSourceKind = "command"
	MissionControlRelationSourceKindPlatform       MissionControlRelationSourceKind = "platform"
	MissionControlRelationSourceKindProvider       MissionControlRelationSourceKind = "provider"
	MissionControlRelationSourceKindVoiceCandidate MissionControlRelationSourceKind = "voice_candidate"
)

// Defines values for MissionControlRelationTargetEntityKind.
const (
	MissionControlRelationTargetEntityKindAgent       MissionControlRelationTargetEntityKind = "agent"
	MissionControlRelationTargetEntityKindDiscussion  MissionControlRelationTargetEntityKind = "discussion"
	MissionControlRelationTargetEntityKindPullRequest MissionControlRelationTargetEntityKind = "pull_request"
	MissionControlRelationTargetEntityKindWorkItem    MissionControlRelationTargetEntityKind = "work_item"
)

// Defines values for MissionControlRetrySyncCommandRequestCommandKind.
const (
	CommandRetrySync MissionControlRetrySyncCommandRequestCommandKind = "command.retry_sync"
)

// Defines values for MissionControlRetrySyncCommandRequestTargetEntityKind.
const (
	MissionControlRetrySyncCommandRequestTargetEntityKindAgent       MissionControlRetrySyncCommandRequestTargetEntityKind = "agent"
	MissionControlRetrySyncCommandRequestTargetEntityKindDiscussion  MissionControlRetrySyncCommandRequestTargetEntityKind = "discussion"
	MissionControlRetrySyncCommandRequestTargetEntityKindPullRequest MissionControlRetrySyncCommandRequestTargetEntityKind = "pull_request"
	MissionControlRetrySyncCommandRequestTargetEntityKindWorkItem    MissionControlRetrySyncCommandRequestTargetEntityKind = "work_item"
)

// Defines values for MissionControlRootGroupRootNodeKind.
const (
	MissionControlRootGroupRootNodeKindDiscussion  MissionControlRootGroupRootNodeKind = "discussion"
	MissionControlRootGroupRootNodeKindPullRequest MissionControlRootGroupRootNodeKind = "pull_request"
	MissionControlRootGroupRootNodeKindRun         MissionControlRootGroupRootNodeKind = "run"
	MissionControlRootGroupRootNodeKindWorkItem    MissionControlRootGroupRootNodeKind = "work_item"
)

// Defines values for MissionControlStageNextStepCommandRequestCommandKind.
const (
	StageNextStepExecute MissionControlStageNextStepCommandRequestCommandKind = "stage.next_step.execute"
)

// Defines values for MissionControlStageNextStepCommandRequestTargetEntityKind.
const (
	MissionControlStageNextStepCommandRequestTargetEntityKindAgent       MissionControlStageNextStepCommandRequestTargetEntityKind = "agent"
	MissionControlStageNextStepCommandRequestTargetEntityKindDiscussion  MissionControlStageNextStepCommandRequestTargetEntityKind = "discussion"
	MissionControlStageNextStepCommandRequestTargetEntityKindPullRequest MissionControlStageNextStepCommandRequestTargetEntityKind = "pull_request"
	MissionControlStageNextStepCommandRequestTargetEntityKindWorkItem    MissionControlStageNextStepCommandRequestTargetEntityKind = "work_item"
)

// Defines values for MissionControlStageNextStepPayloadApprovalRequirement.
const (
	MissionControlStageNextStepPayloadApprovalRequirementNone        MissionControlStageNextStepPayloadApprovalRequirement = "none"
	MissionControlStageNextStepPayloadApprovalRequirementOwnerReview MissionControlStageNextStepPayloadApprovalRequirement = "owner_review"
)

// Defines values for MissionControlStageNextStepTemplateApprovalRequirement.
const (
	MissionControlStageNextStepTemplateApprovalRequirementNone        MissionControlStageNextStepTemplateApprovalRequirement = "none"
	MissionControlStageNextStepTemplateApprovalRequirementOwnerReview MissionControlStageNextStepTemplateApprovalRequirement = "owner_review"
)

// Defines values for MissionControlStageNextStepTemplateThreadKind.
const (
	MissionControlStageNextStepTemplateThreadKindIssue       MissionControlStageNextStepTemplateThreadKind = "issue"
	MissionControlStageNextStepTemplateThreadKindPullRequest MissionControlStageNextStepTemplateThreadKind = "pull_request"
)

// Defines values for MissionControlTimelineEntryEntityKind.
const (
	MissionControlTimelineEntryEntityKindAgent       MissionControlTimelineEntryEntityKind = "agent"
	MissionControlTimelineEntryEntityKindDiscussion  MissionControlTimelineEntryEntityKind = "discussion"
	MissionControlTimelineEntryEntityKindPullRequest MissionControlTimelineEntryEntityKind = "pull_request"
	MissionControlTimelineEntryEntityKindWorkItem    MissionControlTimelineEntryEntityKind = "work_item"
)

// Defines values for MissionControlTimelineEntrySourceKind.
const (
	Command        MissionControlTimelineEntrySourceKind = "command"
	Platform       MissionControlTimelineEntrySourceKind = "platform"
	Provider       MissionControlTimelineEntrySourceKind = "provider"
	VoiceCandidate MissionControlTimelineEntrySourceKind = "voice_candidate"
)

// Defines values for MissionControlWorkItemCreateCommandRequestCommandKind.
const (
	WorkItemCreate MissionControlWorkItemCreateCommandRequestCommandKind = "work_item.create"
)

// Defines values for MissionControlWorkItemCreateCommandRequestTargetEntityKind.
const (
	MissionControlWorkItemCreateCommandRequestTargetEntityKindAgent       MissionControlWorkItemCreateCommandRequestTargetEntityKind = "agent"
	MissionControlWorkItemCreateCommandRequestTargetEntityKindDiscussion  MissionControlWorkItemCreateCommandRequestTargetEntityKind = "discussion"
	MissionControlWorkItemCreateCommandRequestTargetEntityKindPullRequest MissionControlWorkItemCreateCommandRequestTargetEntityKind = "pull_request"
	MissionControlWorkItemCreateCommandRequestTargetEntityKindWorkItem    MissionControlWorkItemCreateCommandRequestTargetEntityKind = "work_item"
)

// Defines values for MissionControlWorkspaceFiltersAssignmentScope.
const (
	AssignedToMeOrUnassigned MissionControlWorkspaceFiltersAssignmentScope = "assigned_to_me_or_unassigned"
)

// Defines values for MissionControlWorkspaceFiltersOpenScope.
const (
	OpenOnly MissionControlWorkspaceFiltersOpenScope = "open_only"
)

// Defines values for MissionControlWorkspaceFiltersStatePreset.
const (
	MissionControlWorkspaceFiltersStatePresetAllActive             MissionControlWorkspaceFiltersStatePreset = "all_active"
	MissionControlWorkspaceFiltersStatePresetBlocked               MissionControlWorkspaceFiltersStatePreset = "blocked"
	MissionControlWorkspaceFiltersStatePresetRecentCriticalUpdates MissionControlWorkspaceFiltersStatePreset = "recent_critical_updates"
	MissionControlWorkspaceFiltersStatePresetReview                MissionControlWorkspaceFiltersStatePreset = "review"
	MissionControlWorkspaceFiltersStatePresetWaiting               MissionControlWorkspaceFiltersStatePreset = "waiting"
	MissionControlWorkspaceFiltersStatePresetWorking               MissionControlWorkspaceFiltersStatePreset = "working"
)

// Defines values for MissionControlWorkspaceSnapshotViewMode.
const (
	MissionControlWorkspaceSnapshotViewModeGraph MissionControlWorkspaceSnapshotViewMode = "graph"
	MissionControlWorkspaceSnapshotViewModeList  MissionControlWorkspaceSnapshotViewMode = "list"
)

// Defines values for MissionControlWorkspaceWatermarkStatus.
const (
	Degraded   MissionControlWorkspaceWatermarkStatus = "degraded"
	Fresh      MissionControlWorkspaceWatermarkStatus = "fresh"
	OutOfScope MissionControlWorkspaceWatermarkStatus = "out_of_scope"
	Stale      MissionControlWorkspaceWatermarkStatus = "stale"
)

// Defines values for MissionControlWorkspaceWatermarkWatermarkKind.
const (
	GraphProjection   MissionControlWorkspaceWatermarkWatermarkKind = "graph_projection"
	LaunchPolicy      MissionControlWorkspaceWatermarkWatermarkKind = "launch_policy"
	ProviderCoverage  MissionControlWorkspaceWatermarkWatermarkKind = "provider_coverage"
	ProviderFreshness MissionControlWorkspaceWatermarkWatermarkKind = "provider_freshness"
)

// Defines values for ProjectMemberRole.
const (
	ProjectMemberRoleAdmin     ProjectMemberRole = "admin"
	ProjectMemberRoleRead      ProjectMemberRole = "read"
	ProjectMemberRoleReadWrite ProjectMemberRole = "read_write"
)

// Defines values for RepositoryBindingRole.
const (
	RepositoryBindingRoleDocs         RepositoryBindingRole = "docs"
	RepositoryBindingRoleMixed        RepositoryBindingRole = "mixed"
	RepositoryBindingRoleOrchestrator RepositoryBindingRole = "orchestrator"
	RepositoryBindingRoleService      RepositoryBindingRole = "service"
)

// Defines values for ResolveApprovalDecisionRequestDecision.
const (
	ResolveApprovalDecisionRequestDecisionApproved ResolveApprovalDecisionRequestDecision = "approved"
	ResolveApprovalDecisionRequestDecisionDenied   ResolveApprovalDecisionRequestDecision = "denied"
	ResolveApprovalDecisionRequestDecisionExpired  ResolveApprovalDecisionRequestDecision = "expired"
	ResolveApprovalDecisionRequestDecisionFailed   ResolveApprovalDecisionRequestDecision = "failed"
)

// Defines values for ResolveApprovalDecisionResponseApprovalState.
const (
	ResolveApprovalDecisionResponseApprovalStateApplied   ResolveApprovalDecisionResponseApprovalState = "applied"
	ResolveApprovalDecisionResponseApprovalStateApproved  ResolveApprovalDecisionResponseApprovalState = "approved"
	ResolveApprovalDecisionResponseApprovalStateDenied    ResolveApprovalDecisionResponseApprovalState = "denied"
	ResolveApprovalDecisionResponseApprovalStateExpired   ResolveApprovalDecisionResponseApprovalState = "expired"
	ResolveApprovalDecisionResponseApprovalStateFailed    ResolveApprovalDecisionResponseApprovalState = "failed"
	ResolveApprovalDecisionResponseApprovalStateRequested ResolveApprovalDecisionResponseApprovalState = "requested"
)

// Defines values for RetrySyncPayloadExpectedStatus.
const (
	RetrySyncPayloadExpectedStatusAccepted        RetrySyncPayloadExpectedStatus = "accepted"
	RetrySyncPayloadExpectedStatusBlocked         RetrySyncPayloadExpectedStatus = "blocked"
	RetrySyncPayloadExpectedStatusCancelled       RetrySyncPayloadExpectedStatus = "cancelled"
	RetrySyncPayloadExpectedStatusFailed          RetrySyncPayloadExpectedStatus = "failed"
	RetrySyncPayloadExpectedStatusPendingApproval RetrySyncPayloadExpectedStatus = "pending_approval"
	RetrySyncPayloadExpectedStatusPendingSync     RetrySyncPayloadExpectedStatus = "pending_sync"
	RetrySyncPayloadExpectedStatusQueued          RetrySyncPayloadExpectedStatus = "queued"
	RetrySyncPayloadExpectedStatusReconciled      RetrySyncPayloadExpectedStatus = "reconciled"
)

// Defines values for RunActionResponseAction.
const (
	RunActionResponseActionCancel RunActionResponseAction = "cancel"
)

// Defines values for RunActionResponseCurrentStatus.
const (
	RunActionResponseCurrentStatusCanceled            RunActionResponseCurrentStatus = "canceled"
	RunActionResponseCurrentStatusFailed              RunActionResponseCurrentStatus = "failed"
	RunActionResponseCurrentStatusPending             RunActionResponseCurrentStatus = "pending"
	RunActionResponseCurrentStatusRunning             RunActionResponseCurrentStatus = "running"
	RunActionResponseCurrentStatusSucceeded           RunActionResponseCurrentStatus = "succeeded"
	RunActionResponseCurrentStatusWaitingBackpressure RunActionResponseCurrentStatus = "waiting_backpressure"
)

// Defines values for RunActionResponsePreviousStatus.
const (
	RunActionResponsePreviousStatusCanceled            RunActionResponsePreviousStatus = "canceled"
	RunActionResponsePreviousStatusFailed              RunActionResponsePreviousStatus = "failed"
	RunActionResponsePreviousStatusPending             RunActionResponsePreviousStatus = "pending"
	RunActionResponsePreviousStatusRunning             RunActionResponsePreviousStatus = "running"
	RunActionResponsePreviousStatusSucceeded           RunActionResponsePreviousStatus = "succeeded"
	RunActionResponsePreviousStatusWaitingBackpressure RunActionResponsePreviousStatus = "waiting_backpressure"
)

// Defines values for RunRealtimeMessageType.
const (
	RunRealtimeMessageTypeError                    RunRealtimeMessageType = "error"
	RunRealtimeMessageTypeEvents                   RunRealtimeMessageType = "events"
	RunRealtimeMessageTypeLogs                     RunRealtimeMessageType = "logs"
	RunRealtimeMessageTypeRun                      RunRealtimeMessageType = "run"
	RunRealtimeMessageTypeSnapshot                 RunRealtimeMessageType = "snapshot"
	RunRealtimeMessageTypeWaitEntered              RunRealtimeMessageType = "wait_entered"
	RunRealtimeMessageTypeWaitManualActionRequired RunRealtimeMessageType = "wait_manual_action_required"
	RunRealtimeMessageTypeWaitResolved             RunRealtimeMessageType = "wait_resolved"
	RunRealtimeMessageTypeWaitUpdated              RunRealtimeMessageType = "wait_updated"
)

// Defines values for RunWaitProjectionCommentMirrorState.
const (
	NotAttempted RunWaitProjectionCommentMirrorState = "not_attempted"
	PendingRetry RunWaitProjectionCommentMirrorState = "pending_retry"
	Synced       RunWaitProjectionCommentMirrorState = "synced"
)

// Defines values for RunWaitResolutionContourKind.
const (
	RunWaitResolutionContourKindAgentBotToken RunWaitResolutionContourKind = "agent_bot_token"
	RunWaitResolutionContourKindPlatformPat   RunWaitResolutionContourKind = "platform_pat"
)

// Defines values for RunWaitResolutionResolutionKind.
const (
	AutoResumed      RunWaitResolutionResolutionKind = "auto_resumed"
	Cancelled        RunWaitResolutionResolutionKind = "cancelled"
	ManuallyResolved RunWaitResolutionResolutionKind = "manually_resolved"
)

// Defines values for RuntimeDeployTaskStatus.
const (
	RuntimeDeployTaskStatusCanceled  RuntimeDeployTaskStatus = "canceled"
	RuntimeDeployTaskStatusFailed    RuntimeDeployTaskStatus = "failed"
	RuntimeDeployTaskStatusPending   RuntimeDeployTaskStatus = "pending"
	RuntimeDeployTaskStatusRunning   RuntimeDeployTaskStatus = "running"
	RuntimeDeployTaskStatusSucceeded RuntimeDeployTaskStatus = "succeeded"
)

// Defines values for RuntimeDeployTaskTerminalStatusSource.
const (
	Operator RuntimeDeployTaskTerminalStatusSource = "operator"
	System   RuntimeDeployTaskTerminalStatusSource = "system"
	Worker   RuntimeDeployTaskTerminalStatusSource = "worker"
)

// Defines values for RuntimeDeployTaskActionResponseAction.
const (
	RuntimeDeployTaskActionResponseActionCancel RuntimeDeployTaskActionResponseAction = "cancel"
	RuntimeDeployTaskActionResponseActionStop   RuntimeDeployTaskActionResponseAction = "stop"
)

// Defines values for RuntimeDeployTaskActionResponseCurrentStatus.
const (
	RuntimeDeployTaskActionResponseCurrentStatusCanceled  RuntimeDeployTaskActionResponseCurrentStatus = "canceled"
	RuntimeDeployTaskActionResponseCurrentStatusFailed    RuntimeDeployTaskActionResponseCurrentStatus = "failed"
	RuntimeDeployTaskActionResponseCurrentStatusPending   RuntimeDeployTaskActionResponseCurrentStatus = "pending"
	RuntimeDeployTaskActionResponseCurrentStatusRunning   RuntimeDeployTaskActionResponseCurrentStatus = "running"
	RuntimeDeployTaskActionResponseCurrentStatusSucceeded RuntimeDeployTaskActionResponseCurrentStatus = "succeeded"
)

// Defines values for RuntimeDeployTaskActionResponsePreviousStatus.
const (
	RuntimeDeployTaskActionResponsePreviousStatusCanceled  RuntimeDeployTaskActionResponsePreviousStatus = "canceled"
	RuntimeDeployTaskActionResponsePreviousStatusFailed    RuntimeDeployTaskActionResponsePreviousStatus = "failed"
	RuntimeDeployTaskActionResponsePreviousStatusPending   RuntimeDeployTaskActionResponsePreviousStatus = "pending"
	RuntimeDeployTaskActionResponsePreviousStatusRunning   RuntimeDeployTaskActionResponsePreviousStatus = "running"
	RuntimeDeployTaskActionResponsePreviousStatusSucceeded RuntimeDeployTaskActionResponsePreviousStatus = "succeeded"
)

// Defines values for RuntimeDeployTaskListItemStatus.
const (
	RuntimeDeployTaskListItemStatusCanceled  RuntimeDeployTaskListItemStatus = "canceled"
	RuntimeDeployTaskListItemStatusFailed    RuntimeDeployTaskListItemStatus = "failed"
	RuntimeDeployTaskListItemStatusPending   RuntimeDeployTaskListItemStatus = "pending"
	RuntimeDeployTaskListItemStatusRunning   RuntimeDeployTaskListItemStatus = "running"
	RuntimeDeployTaskListItemStatusSucceeded RuntimeDeployTaskListItemStatus = "succeeded"
)

// Defines values for RuntimeDeployTaskLogLevel.
const (
	RuntimeDeployTaskLogLevelError RuntimeDeployTaskLogLevel = "error"
	RuntimeDeployTaskLogLevelInfo  RuntimeDeployTaskLogLevel = "info"
	RuntimeDeployTaskLogLevelWarn  RuntimeDeployTaskLogLevel = "warn"
)

// Defines values for RuntimeErrorLevel.
const (
	RuntimeErrorLevelCritical RuntimeErrorLevel = "critical"
	RuntimeErrorLevelError    RuntimeErrorLevel = "error"
	RuntimeErrorLevelWarning  RuntimeErrorLevel = "warning"
)

// Defines values for UpsertProjectMemberRequestRole.
const (
	UpsertProjectMemberRequestRoleAdmin     UpsertProjectMemberRequestRole = "admin"
	UpsertProjectMemberRequestRoleRead      UpsertProjectMemberRequestRole = "read"
	UpsertProjectMemberRequestRoleReadWrite UpsertProjectMemberRequestRole = "read_write"
)

// Defines values for UpsertProjectRepositoryRequestRole.
const (
	UpsertProjectRepositoryRequestRoleDocs         UpsertProjectRepositoryRequestRole = "docs"
	UpsertProjectRepositoryRequestRoleMixed        UpsertProjectRepositoryRequestRole = "mixed"
	UpsertProjectRepositoryRequestRoleOrchestrator UpsertProjectRepositoryRequestRole = "orchestrator"
	UpsertProjectRepositoryRequestRoleService      UpsertProjectRepositoryRequestRole = "service"
)

// Defines values for MissionControlActiveFilter.
const (
	MissionControlActiveFilterAllActive             MissionControlActiveFilter = "all_active"
	MissionControlActiveFilterBlocked               MissionControlActiveFilter = "blocked"
	MissionControlActiveFilterRecentCriticalUpdates MissionControlActiveFilter = "recent_critical_updates"
	MissionControlActiveFilterReview                MissionControlActiveFilter = "review"
	MissionControlActiveFilterWaiting               MissionControlActiveFilter = "waiting"
	MissionControlActiveFilterWorking               MissionControlActiveFilter = "working"
)

// Defines values for MissionControlEntityKind.
const (
	MissionControlEntityKindAgent       MissionControlEntityKind = "agent"
	MissionControlEntityKindDiscussion  MissionControlEntityKind = "discussion"
	MissionControlEntityKindPullRequest MissionControlEntityKind = "pull_request"
	MissionControlEntityKindWorkItem    MissionControlEntityKind = "work_item"
)

// Defines values for MissionControlNodeKind.
const (
	MissionControlNodeKindDiscussion  MissionControlNodeKind = "discussion"
	MissionControlNodeKindPullRequest MissionControlNodeKind = "pull_request"
	MissionControlNodeKindRun         MissionControlNodeKind = "run"
	MissionControlNodeKindWorkItem    MissionControlNodeKind = "work_item"
)

// Defines values for MissionControlViewMode.
const (
	MissionControlViewModeBoard MissionControlViewMode = "board"
	MissionControlViewModeList  MissionControlViewMode = "list"
)

// Defines values for MissionControlWorkspaceStatePreset.
const (
	MissionControlWorkspaceStatePresetAllActive             MissionControlWorkspaceStatePreset = "all_active"
	MissionControlWorkspaceStatePresetBlocked               MissionControlWorkspaceStatePreset = "blocked"
	MissionControlWorkspaceStatePresetRecentCriticalUpdates MissionControlWorkspaceStatePreset = "recent_critical_updates"
	MissionControlWorkspaceStatePresetReview                MissionControlWorkspaceStatePreset = "review"
	MissionControlWorkspaceStatePresetWaiting               MissionControlWorkspaceStatePreset = "waiting"
	MissionControlWorkspaceStatePresetWorking               MissionControlWorkspaceStatePreset = "working"
)

// Defines values for MissionControlWorkspaceViewMode.
const (
	MissionControlWorkspaceViewModeGraph MissionControlWorkspaceViewMode = "graph"
	MissionControlWorkspaceViewModeList  MissionControlWorkspaceViewMode = "list"
)

// Defines values for ListDocsetGroupsParamsLocale.
const (
	ListDocsetGroupsParamsLocaleEn ListDocsetGroupsParamsLocale = "en"
	ListDocsetGroupsParamsLocaleRu ListDocsetGroupsParamsLocale = "ru"
)

// Defines values for GetMissionControlNodeParamsNodeKind.
const (
	GetMissionControlNodeParamsNodeKindDiscussion  GetMissionControlNodeParamsNodeKind = "discussion"
	GetMissionControlNodeParamsNodeKindPullRequest GetMissionControlNodeParamsNodeKind = "pull_request"
	GetMissionControlNodeParamsNodeKindRun         GetMissionControlNodeParamsNodeKind = "run"
	GetMissionControlNodeParamsNodeKindWorkItem    GetMissionControlNodeParamsNodeKind = "work_item"
)

// Defines values for ListMissionControlNodeActivityParamsNodeKind.
const (
	ListMissionControlNodeActivityParamsNodeKindDiscussion  ListMissionControlNodeActivityParamsNodeKind = "discussion"
	ListMissionControlNodeActivityParamsNodeKindPullRequest ListMissionControlNodeActivityParamsNodeKind = "pull_request"
	ListMissionControlNodeActivityParamsNodeKindRun         ListMissionControlNodeActivityParamsNodeKind = "run"
	ListMissionControlNodeActivityParamsNodeKindWorkItem    ListMissionControlNodeActivityParamsNodeKind = "work_item"
)

// Defines values for GetMissionControlWorkspaceParamsViewMode.
const (
	Graph GetMissionControlWorkspaceParamsViewMode = "graph"
	List  GetMissionControlWorkspaceParamsViewMode = "list"
)

// Defines values for GetMissionControlWorkspaceParamsStatePreset.
const (
	AllActive             GetMissionControlWorkspaceParamsStatePreset = "all_active"
	Blocked               GetMissionControlWorkspaceParamsStatePreset = "blocked"
	RecentCriticalUpdates GetMissionControlWorkspaceParamsStatePreset = "recent_critical_updates"
	Review                GetMissionControlWorkspaceParamsStatePreset = "review"
	Waiting               GetMissionControlWorkspaceParamsStatePreset = "waiting"
	Working               GetMissionControlWorkspaceParamsStatePreset = "working"
)

// Defines values for RuntimeDeployTasksRealtimeParamsStatus.
const (
	Canceled  RuntimeDeployTasksRealtimeParamsStatus = "canceled"
	Failed    RuntimeDeployTasksRealtimeParamsStatus = "failed"
	Pending   RuntimeDeployTasksRealtimeParamsStatus = "pending"
	Running   RuntimeDeployTasksRealtimeParamsStatus = "running"
	Succeeded RuntimeDeployTasksRealtimeParamsStatus = "succeeded"
)

// Defines values for ListRuntimeErrorsParamsState.
const (
	Active ListRuntimeErrorsParamsState = "active"
	All    ListRuntimeErrorsParamsState = "all"
	Viewed ListRuntimeErrorsParamsState = "viewed"
)

// Defines values for ListRuntimeErrorsParamsLevel.
const (
	Critical ListRuntimeErrorsParamsLevel = "critical"
	Error    ListRuntimeErrorsParamsLevel = "error"
	Warning  ListRuntimeErrorsParamsLevel = "warning"
)

// AgentDetailsPayload defines model for AgentDetailsPayload.
type AgentDetailsPayload struct {
	ActiveRunId       *string    `json:"active_run_id"`
	AgentKey          string     `json:"agent_key"`
	LastHeartbeatAt   *time.Time `json:"last_heartbeat_at"`
	LastRunRepository *string    `json:"last_run_repository"`
	RunStatus         *string    `json:"run_status"`
	RuntimeMode       *string    `json:"runtime_mode"`
	WaitingReason     *string    `json:"waiting_reason"`
}

// ApprovalRequest defines model for ApprovalRequest.
type ApprovalRequest struct {
	Action        string                      `json:"action"`
	ApprovalMode  ApprovalRequestApprovalMode `json:"approval_mode"`
	CorrelationId string                      `json:"correlation_id"`
	CreatedAt     time.Time                   `json:"created_at"`
	Id            int64                       `json:"id"`
	IssueNumber   *int32                      `json:"issue_number"`
	PrNumber      *int32                      `json:"pr_number"`
	ProjectId     *string                     `json:"project_id"`
	ProjectName   *string                     `json:"project_name"`
	ProjectSlug   *string                     `json:"project_slug"`
	RequestedBy   string                      `json:"requested_by"`
	RunId         *string                     `json:"run_id"`
	ToolName      string                      `json:"tool_name"`
	TriggerLabel  *string                     `json:"trigger_label"`
}

// ApprovalRequestApprovalMode defines model for ApprovalRequest.ApprovalMode.
type ApprovalRequestApprovalMode string

// ApprovalRequestItemsResponse defines model for ApprovalRequestItemsResponse.
type ApprovalRequestItemsResponse struct {
	Items []ApprovalRequest `json:"items"`
}

// CreateUserRequest defines model for CreateUserRequest.
type CreateUserRequest struct {
	Email           openapi_types.Email `json:"email"`
	IsPlatformAdmin bool                `json:"is_platform_admin"`
}

// DiscussionCreatePayload defines model for DiscussionCreatePayload.
type DiscussionCreatePayload struct {
	BodyMarkdown         *string                                  `json:"body_markdown"`
	ParentEntityKind     *DiscussionCreatePayloadParentEntityKind `json:"parent_entity_kind"`
	ParentEntityPublicId *string                                  `json:"parent_entity_public_id"`
	Title                string                                   `json:"title"`
}

// DiscussionCreatePayloadParentEntityKind defines model for DiscussionCreatePayload.ParentEntityKind.
type DiscussionCreatePayloadParentEntityKind string

// DiscussionDetailsPayload defines model for DiscussionDetailsPayload.
type DiscussionDetailsPayload struct {
	Author               *string `json:"author"`
	DiscussionKind       string  `json:"discussion_kind"`
	FormalizationTarget  *string `json:"formalization_target"`
	LatestCommentExcerpt *string `json:"latest_comment_excerpt"`
	ParticipantCount     *int32  `json:"participant_count,omitempty"`
	Status               *string `json:"status"`
}

// DiscussionFormalizePayload defines model for DiscussionFormalizePayload.
type DiscussionFormalizePayload struct {
	BodyMarkdown         *string                                    `json:"body_markdown"`
	FormalizedKind       string                                     `json:"formalized_kind"`
	SourceEntityKind     DiscussionFormalizePayloadSourceEntityKind `json:"source_entity_kind"`
	SourceEntityPublicId string                                     `json:"source_entity_public_id"`
	Title                string                                     `json:"title"`
}

// DiscussionFormalizePayloadSourceEntityKind defines model for DiscussionFormalizePayload.SourceEntityKind.
type DiscussionFormalizePayloadSourceEntityKind string

// DocsetGroup defines model for DocsetGroup.
type DocsetGroup struct {
	DefaultSelected bool   `json:"default_selected"`
	Description     string `json:"description"`
	Id              string `json:"id"`
	Title           string `json:"title"`
}

// DocsetGroupItemsResponse defines model for DocsetGroupItemsResponse.
type DocsetGroupItemsResponse struct {
	Groups []DocsetGroup `json:"groups"`
}

// ErrorResponse defines model for ErrorResponse.
type ErrorResponse struct {
	Code    ErrorResponseCode `json:"code"`
	Field   *string           `json:"field,omitempty"`
	Message string            `json:"message"`
}

// ErrorResponseCode defines model for ErrorResponse.Code.
type ErrorResponseCode string

// FlowEvent defines model for FlowEvent.
type FlowEvent struct {
	CorrelationId string    `json:"correlation_id"`
	CreatedAt     time.Time `json:"created_at"`
	EventType     string    `json:"event_type"`
	PayloadJson   string    `json:"payload_json"`
}

// FlowEventItemsResponse defines model for FlowEventItemsResponse.
type FlowEventItemsResponse struct {
	Items []FlowEvent `json:"items"`
}

// GitHubRateLimitManualAction defines model for GitHubRateLimitManualAction.
type GitHubRateLimitManualAction struct {
	DetailsMarkdown    string                          `json:"details_markdown"`
	Kind               GitHubRateLimitManualActionKind `json:"kind"`
	SuggestedNotBefore *time.Time                      `json:"suggested_not_before"`
	Summary            string                          `json:"summary"`
}

// GitHubRateLimitManualActionKind defines model for GitHubRateLimitManualAction.Kind.
type GitHubRateLimitManualActionKind string

// GitHubRateLimitRecoveryHint defines model for GitHubRateLimitRecoveryHint.
type GitHubRateLimitRecoveryHint struct {
	DetailsMarkdown string                                   `json:"details_markdown"`
	HintKind        GitHubRateLimitRecoveryHintHintKind      `json:"hint_kind"`
	ResumeNotBefore *time.Time                               `json:"resume_not_before"`
	SourceHeaders   GitHubRateLimitRecoveryHintSourceHeaders `json:"source_headers"`
}

// GitHubRateLimitRecoveryHintHintKind defines model for GitHubRateLimitRecoveryHint.HintKind.
type GitHubRateLimitRecoveryHintHintKind string

// GitHubRateLimitRecoveryHintSourceHeaders defines model for GitHubRateLimitRecoveryHint.SourceHeaders.
type GitHubRateLimitRecoveryHintSourceHeaders string

// GitHubRateLimitWaitItem defines model for GitHubRateLimitWaitItem.
type GitHubRateLimitWaitItem struct {
	AttemptsUsed    int32                                 `json:"attempts_used"`
	Confidence      GitHubRateLimitWaitItemConfidence     `json:"confidence"`
	ContourKind     GitHubRateLimitWaitItemContourKind    `json:"contour_kind"`
	EnteredAt       time.Time                             `json:"entered_at"`
	LimitKind       GitHubRateLimitWaitItemLimitKind      `json:"limit_kind"`
	ManualAction    *GitHubRateLimitManualAction          `json:"manual_action,omitempty"`
	MaxAttempts     int32                                 `json:"max_attempts"`
	OperationClass  GitHubRateLimitWaitItemOperationClass `json:"operation_class"`
	RecoveryHint    GitHubRateLimitRecoveryHint           `json:"recovery_hint"`
	ResumeNotBefore *time.Time                            `json:"resume_not_before"`
	State           GitHubRateLimitWaitItemState          `json:"state"`
	WaitId          string                                `json:"wait_id"`
}

// GitHubRateLimitWaitItemConfidence defines model for GitHubRateLimitWaitItem.Confidence.
type GitHubRateLimitWaitItemConfidence string

// GitHubRateLimitWaitItemContourKind defines model for GitHubRateLimitWaitItem.ContourKind.
type GitHubRateLimitWaitItemContourKind string

// GitHubRateLimitWaitItemLimitKind defines model for GitHubRateLimitWaitItem.LimitKind.
type GitHubRateLimitWaitItemLimitKind string

// GitHubRateLimitWaitItemOperationClass defines model for GitHubRateLimitWaitItem.OperationClass.
type GitHubRateLimitWaitItemOperationClass string

// GitHubRateLimitWaitItemState defines model for GitHubRateLimitWaitItem.State.
type GitHubRateLimitWaitItemState string

// ImportDocsetRequest defines model for ImportDocsetRequest.
type ImportDocsetRequest struct {
	DocsetRef    string                    `json:"docset_ref"`
	GroupIds     []string                  `json:"group_ids"`
	Locale       ImportDocsetRequestLocale `json:"locale"`
	RepositoryId string                    `json:"repository_id"`
}

// ImportDocsetRequestLocale defines model for ImportDocsetRequest.Locale.
type ImportDocsetRequestLocale string

// ImportDocsetResponse defines model for ImportDocsetResponse.
type ImportDocsetResponse struct {
	Branch             string `json:"branch"`
	FilesTotal         int    `json:"files_total"`
	PrNumber           int    `json:"pr_number"`
	PrUrl              string `json:"pr_url"`
	RepositoryFullName string `json:"repository_full_name"`
}

// IngestGitHubWebhookResponse defines model for IngestGitHubWebhookResponse.
type IngestGitHubWebhookResponse struct {
	CorrelationId string                            `json:"correlation_id"`
	Duplicate     bool                              `json:"duplicate"`
	RunId         *string                           `json:"run_id,omitempty"`
	Status        IngestGitHubWebhookResponseStatus `json:"status"`
}

// IngestGitHubWebhookResponseStatus defines model for IngestGitHubWebhookResponse.Status.
type IngestGitHubWebhookResponseStatus string

// InteractionCallbackEnvelope defines model for InteractionCallbackEnvelope.
type InteractionCallbackEnvelope struct {
	AdapterEventId string                                     `json:"adapter_event_id"`
	CallbackHandle *string                                    `json:"callback_handle"`
	CallbackKind   InteractionCallbackEnvelopeCallbackKind    `json:"callback_kind"`
	DeliveryId     *string                                    `json:"delivery_id"`
	DeliveryStatus *InteractionCallbackEnvelopeDeliveryStatus `json:"delivery_status"`
	Error          *InteractionCallbackError                  `json:"error,omitempty"`

	// FreeText User free-text answer. Contract limit: at most 8192 UTF-8 bytes; larger payloads are classified as invalid and do not resume the run.
	FreeText                *string                                  `json:"free_text"`
	InteractionId           string                                   `json:"interaction_id"`
	OccurredAt              time.Time                                `json:"occurred_at"`
	ProviderCallbackQueryId *string                                  `json:"provider_callback_query_id"`
	ProviderMessageRef      *InteractionProviderMessageRef           `json:"provider_message_ref,omitempty"`
	ProviderUpdateId        *string                                  `json:"provider_update_id"`
	ResponderRef            *string                                  `json:"responder_ref"`
	SchemaVersion           InteractionCallbackEnvelopeSchemaVersion `json:"schema_version"`
}

// InteractionCallbackEnvelopeCallbackKind defines model for InteractionCallbackEnvelope.CallbackKind.
type InteractionCallbackEnvelopeCallbackKind string

// InteractionCallbackEnvelopeDeliveryStatus defines model for InteractionCallbackEnvelope.DeliveryStatus.
type InteractionCallbackEnvelopeDeliveryStatus string

// InteractionCallbackEnvelopeSchemaVersion defines model for InteractionCallbackEnvelope.SchemaVersion.
type InteractionCallbackEnvelopeSchemaVersion string

// InteractionCallbackError defines model for InteractionCallbackError.
type InteractionCallbackError struct {
	Code      string  `json:"code"`
	Message   *string `json:"message,omitempty"`
	Retryable bool    `json:"retryable"`
}

// InteractionCallbackOutcome defines model for InteractionCallbackOutcome.
type InteractionCallbackOutcome struct {
	Accepted           bool                                          `json:"accepted"`
	Classification     InteractionCallbackOutcomeClassification      `json:"classification"`
	ContinuationAction *InteractionCallbackOutcomeContinuationAction `json:"continuation_action"`
	InteractionState   string                                        `json:"interaction_state"`
	Message            *string                                       `json:"message"`
	ResumeRequired     bool                                          `json:"resume_required"`
}

// InteractionCallbackOutcomeClassification defines model for InteractionCallbackOutcome.Classification.
type InteractionCallbackOutcomeClassification string

// InteractionCallbackOutcomeContinuationAction defines model for InteractionCallbackOutcome.ContinuationAction.
type InteractionCallbackOutcomeContinuationAction string

// InteractionProviderMessageRef defines model for InteractionProviderMessageRef.
type InteractionProviderMessageRef struct {
	ChatRef         *string    `json:"chat_ref"`
	InlineMessageId *string    `json:"inline_message_id"`
	MessageId       *string    `json:"message_id"`
	SentAt          *time.Time `json:"sent_at"`
}

// LearningFeedback defines model for LearningFeedback.
type LearningFeedback struct {
	CreatedAt    time.Time `json:"created_at"`
	Explanation  string    `json:"explanation"`
	FilePath     *string   `json:"file_path"`
	Id           int64     `json:"id"`
	Kind         string    `json:"kind"`
	Line         *int32    `json:"line"`
	PrNumber     *int32    `json:"pr_number"`
	RepositoryId *string   `json:"repository_id"`
	RunId        string    `json:"run_id"`
}

// LearningFeedbackItemsResponse defines model for LearningFeedbackItemsResponse.
type LearningFeedbackItemsResponse struct {
	Items []LearningFeedback `json:"items"`
}

// MCPApprovalCallbackRequest defines model for MCPApprovalCallbackRequest.
type MCPApprovalCallbackRequest struct {
	ActorId           *string                            `json:"actor_id"`
	ApprovalRequestId int64                              `json:"approval_request_id"`
	Decision          MCPApprovalCallbackRequestDecision `json:"decision"`
	Reason            *string                            `json:"reason"`
}

// MCPApprovalCallbackRequestDecision defines model for MCPApprovalCallbackRequest.Decision.
type MCPApprovalCallbackRequestDecision string

// MeResponse defines model for MeResponse.
type MeResponse struct {
	User MeUser `json:"user"`
}

// MeUser defines model for MeUser.
type MeUser struct {
	Email           string `json:"email"`
	GithubLogin     string `json:"github_login"`
	Id              string `json:"id"`
	IsPlatformAdmin bool   `json:"is_platform_admin"`
	IsPlatformOwner bool   `json:"is_platform_owner"`
}

// MissionControlActivityEntry defines model for MissionControlActivityEntry.
type MissionControlActivityEntry struct {
	BodyMarkdown *string                               `json:"body_markdown"`
	EntryId      string                                `json:"entry_id"`
	IsReadOnly   bool                                  `json:"is_read_only"`
	NodeKind     MissionControlActivityEntryNodeKind   `json:"node_kind"`
	NodePublicId string                                `json:"node_public_id"`
	OccurredAt   time.Time                             `json:"occurred_at"`
	ProviderUrl  *string                               `json:"provider_url"`
	SourceKind   MissionControlActivityEntrySourceKind `json:"source_kind"`
	SourceRef    string                                `json:"source_ref"`
	Summary      string                                `json:"summary"`
}

// MissionControlActivityEntryNodeKind defines model for MissionControlActivityEntry.NodeKind.
type MissionControlActivityEntryNodeKind string

// MissionControlActivityEntrySourceKind defines model for MissionControlActivityEntry.SourceKind.
type MissionControlActivityEntrySourceKind string

// MissionControlAllowedAction defines model for MissionControlAllowedAction.
type MissionControlAllowedAction struct {
	ActionKind          MissionControlAllowedActionActionKind          `json:"action_kind"`
	AllowedWhenDegraded bool                                           `json:"allowed_when_degraded"`
	ApprovalRequirement MissionControlAllowedActionApprovalRequirement `json:"approval_requirement"`
	BlockedReason       *string                                        `json:"blocked_reason"`
	Presentation        MissionControlAllowedActionPresentation        `json:"presentation"`
}

// MissionControlAllowedActionActionKind defines model for MissionControlAllowedAction.ActionKind.
type MissionControlAllowedActionActionKind string

// MissionControlAllowedActionApprovalRequirement defines model for MissionControlAllowedAction.ApprovalRequirement.
type MissionControlAllowedActionApprovalRequirement string

// MissionControlAllowedActionPresentation defines model for MissionControlAllowedAction.Presentation.
type MissionControlAllowedActionPresentation string

// MissionControlCommandApproval defines model for MissionControlCommandApproval.
type MissionControlCommandApproval struct {
	ApprovalRequestId *string                                    `json:"approval_request_id"`
	ApprovalState     MissionControlCommandApprovalApprovalState `json:"approval_state"`
	ApproverActorId   *string                                    `json:"approver_actor_id"`
	DecidedAt         *time.Time                                 `json:"decided_at"`
	RequestedAt       *time.Time                                 `json:"requested_at"`
}

// MissionControlCommandApprovalApprovalState defines model for MissionControlCommandApproval.ApprovalState.
type MissionControlCommandApprovalApprovalState string

// MissionControlCommandRequest defines model for MissionControlCommandRequest.
type MissionControlCommandRequest struct {
	union json.RawMessage
}

// MissionControlCommandState defines model for MissionControlCommandState.
type MissionControlCommandState struct {
	Approval            *MissionControlCommandApproval           `json:"approval,omitempty"`
	BlockingReason      *string                                  `json:"blocking_reason"`
	BusinessIntentKey   string                                   `json:"business_intent_key"`
	CommandId           string                                   `json:"command_id"`
	CommandKind         MissionControlCommandStateCommandKind    `json:"command_kind"`
	CorrelationId       string                                   `json:"correlation_id"`
	EntityRefs          []MissionControlEntityRef                `json:"entity_refs"`
	FailureReason       *MissionControlCommandStateFailureReason `json:"failure_reason"`
	ProviderDeliveryIds []string                                 `json:"provider_delivery_ids"`
	ReconciledAt        *time.Time                               `json:"reconciled_at"`
	Status              MissionControlCommandStateStatus         `json:"status"`
	StatusMessage       *string                                  `json:"status_message"`
	UpdatedAt           time.Time                                `json:"updated_at"`
}

// MissionControlCommandStateCommandKind defines model for MissionControlCommandState.CommandKind.
type MissionControlCommandStateCommandKind string

// MissionControlCommandStateFailureReason defines model for MissionControlCommandState.FailureReason.
type MissionControlCommandStateFailureReason string

// MissionControlCommandStateStatus defines model for MissionControlCommandState.Status.
type MissionControlCommandStateStatus string

// MissionControlConnectedRealtimePayload defines model for MissionControlConnectedRealtimePayload.
type MissionControlConnectedRealtimePayload struct {
	ServerCursor            string                                                        `json:"server_cursor"`
	SnapshotFreshnessStatus MissionControlConnectedRealtimePayloadSnapshotFreshnessStatus `json:"snapshot_freshness_status"`
}

// MissionControlConnectedRealtimePayloadSnapshotFreshnessStatus defines model for MissionControlConnectedRealtimePayload.SnapshotFreshnessStatus.
type MissionControlConnectedRealtimePayloadSnapshotFreshnessStatus string

// MissionControlContinuityGap defines model for MissionControlContinuityGap.
type MissionControlContinuityGap struct {
	DetectedAt          time.Time                                    `json:"detected_at"`
	ExpectedNodeKind    *MissionControlContinuityGapExpectedNodeKind `json:"expected_node_kind"`
	ExpectedStageLabel  *string                                      `json:"expected_stage_label"`
	GapId               int64                                        `json:"gap_id"`
	GapKind             MissionControlContinuityGapGapKind           `json:"gap_kind"`
	ResolutionHint      *string                                      `json:"resolution_hint"`
	ResolvedAt          *time.Time                                   `json:"resolved_at"`
	Severity            MissionControlContinuityGapSeverity          `json:"severity"`
	Status              MissionControlContinuityGapStatus            `json:"status"`
	SubjectNodeKind     MissionControlContinuityGapSubjectNodeKind   `json:"subject_node_kind"`
	SubjectNodePublicId string                                       `json:"subject_node_public_id"`
}

// MissionControlContinuityGapExpectedNodeKind defines model for MissionControlContinuityGap.ExpectedNodeKind.
type MissionControlContinuityGapExpectedNodeKind string

// MissionControlContinuityGapGapKind defines model for MissionControlContinuityGap.GapKind.
type MissionControlContinuityGapGapKind string

// MissionControlContinuityGapSeverity defines model for MissionControlContinuityGap.Severity.
type MissionControlContinuityGapSeverity string

// MissionControlContinuityGapStatus defines model for MissionControlContinuityGap.Status.
type MissionControlContinuityGapStatus string

// MissionControlContinuityGapSubjectNodeKind defines model for MissionControlContinuityGap.SubjectNodeKind.
type MissionControlContinuityGapSubjectNodeKind string

// MissionControlDashboardSnapshot defines model for MissionControlDashboardSnapshot.
type MissionControlDashboardSnapshot struct {
	Entities            []MissionControlEntityCard                     `json:"entities"`
	FreshnessStatus     MissionControlDashboardSnapshotFreshnessStatus `json:"freshness_status"`
	GeneratedAt         time.Time                                      `json:"generated_at"`
	NextPageCursor      *string                                        `json:"next_page_cursor"`
	RealtimeResumeToken string                                         `json:"realtime_resume_token"`
	Relations           []MissionControlRelation                       `json:"relations"`
	SnapshotId          string                                         `json:"snapshot_id"`
	StaleAfter          time.Time                                      `json:"stale_after"`
	Summary             MissionControlDashboardSummary                 `json:"summary"`
	ViewMode            MissionControlDashboardSnapshotViewMode        `json:"view_mode"`
}

// MissionControlDashboardSnapshotFreshnessStatus defines model for MissionControlDashboardSnapshot.FreshnessStatus.
type MissionControlDashboardSnapshotFreshnessStatus string

// MissionControlDashboardSnapshotViewMode defines model for MissionControlDashboardSnapshot.ViewMode.
type MissionControlDashboardSnapshotViewMode string

// MissionControlDashboardSummary defines model for MissionControlDashboardSummary.
type MissionControlDashboardSummary struct {
	BlockedCount               int32 `json:"blocked_count"`
	RecentCriticalUpdatesCount int32 `json:"recent_critical_updates_count"`
	ReviewCount                int32 `json:"review_count"`
	TotalEntities              int32 `json:"total_entities"`
	WaitingCount               int32 `json:"waiting_count"`
	WorkingCount               int32 `json:"working_count"`
}

// MissionControlDegradedRealtimePayload defines model for MissionControlDegradedRealtimePayload.
type MissionControlDegradedRealtimePayload struct {
	AffectedCapabilities []string `json:"affected_capabilities"`
	FallbackMode         string   `json:"fallback_mode"`
	Reason               string   `json:"reason"`
}

// MissionControlDeltaRealtimePayload defines model for MissionControlDeltaRealtimePayload.
type MissionControlDeltaRealtimePayload struct {
	ChangedCommandIds    []string                      `json:"changed_command_ids"`
	DeltaEntities        []MissionControlEntityCard    `json:"delta_entities"`
	DeltaRelations       []MissionControlRelation      `json:"delta_relations"`
	DeltaTimelineEntries []MissionControlTimelineEntry `json:"delta_timeline_entries"`
}

// MissionControlDiscussionCreateCommandRequest defines model for MissionControlDiscussionCreateCommandRequest.
type MissionControlDiscussionCreateCommandRequest struct {
	BusinessIntentKey         string                                                        `json:"business_intent_key"`
	CommandKind               MissionControlDiscussionCreateCommandRequestCommandKind       `json:"command_kind"`
	ExpectedProjectionVersion *int64                                                        `json:"expected_projection_version,omitempty"`
	Payload                   DiscussionCreatePayload                                       `json:"payload"`
	ProjectId                 string                                                        `json:"project_id"`
	TargetEntityKind          *MissionControlDiscussionCreateCommandRequestTargetEntityKind `json:"target_entity_kind"`
	TargetEntityPublicId      *string                                                       `json:"target_entity_public_id"`
}

// MissionControlDiscussionCreateCommandRequestCommandKind defines model for MissionControlDiscussionCreateCommandRequest.CommandKind.
type MissionControlDiscussionCreateCommandRequestCommandKind string

// MissionControlDiscussionCreateCommandRequestTargetEntityKind defines model for MissionControlDiscussionCreateCommandRequest.TargetEntityKind.
type MissionControlDiscussionCreateCommandRequestTargetEntityKind string

// MissionControlDiscussionFormalizeCommandRequest defines model for MissionControlDiscussionFormalizeCommandRequest.
type MissionControlDiscussionFormalizeCommandRequest struct {
	BusinessIntentKey         string                                                           `json:"business_intent_key"`
	CommandKind               MissionControlDiscussionFormalizeCommandRequestCommandKind       `json:"command_kind"`
	ExpectedProjectionVersion *int64                                                           `json:"expected_projection_version,omitempty"`
	Payload                   DiscussionFormalizePayload                                       `json:"payload"`
	ProjectId                 string                                                           `json:"project_id"`
	TargetEntityKind          *MissionControlDiscussionFormalizeCommandRequestTargetEntityKind `json:"target_entity_kind"`
	TargetEntityPublicId      *string                                                          `json:"target_entity_public_id"`
}

// MissionControlDiscussionFormalizeCommandRequestCommandKind defines model for MissionControlDiscussionFormalizeCommandRequest.CommandKind.
type MissionControlDiscussionFormalizeCommandRequestCommandKind string

// MissionControlDiscussionFormalizeCommandRequestTargetEntityKind defines model for MissionControlDiscussionFormalizeCommandRequest.TargetEntityKind.
type MissionControlDiscussionFormalizeCommandRequestTargetEntityKind string

// MissionControlDiscussionNodeDetails defines model for MissionControlDiscussionNodeDetails.
type MissionControlDiscussionNodeDetails struct {
	Author                  string                  `json:"author"`
	DiscussionKind          string                  `json:"discussion_kind"`
	FormalizationTargetRefs []MissionControlNodeRef `json:"formalization_target_refs"`
	LatestCommentExcerpt    string                  `json:"latest_comment_excerpt"`
	ParticipantCount        int32                   `json:"participant_count"`
	Status                  string                  `json:"status"`
}

// MissionControlEdge defines model for MissionControlEdge.
type MissionControlEdge struct {
	EdgeKind           MissionControlEdgeEdgeKind       `json:"edge_kind"`
	IsPrimaryPath      bool                             `json:"is_primary_path"`
	SourceNodeKind     MissionControlEdgeSourceNodeKind `json:"source_node_kind"`
	SourceNodePublicId string                           `json:"source_node_public_id"`
	SourceOfTruth      MissionControlEdgeSourceOfTruth  `json:"source_of_truth"`
	TargetNodeKind     MissionControlEdgeTargetNodeKind `json:"target_node_kind"`
	TargetNodePublicId string                           `json:"target_node_public_id"`
	VisibilityTier     MissionControlEdgeVisibilityTier `json:"visibility_tier"`
}

// MissionControlEdgeEdgeKind defines model for MissionControlEdge.EdgeKind.
type MissionControlEdgeEdgeKind string

// MissionControlEdgeSourceNodeKind defines model for MissionControlEdge.SourceNodeKind.
type MissionControlEdgeSourceNodeKind string

// MissionControlEdgeSourceOfTruth defines model for MissionControlEdge.SourceOfTruth.
type MissionControlEdgeSourceOfTruth string

// MissionControlEdgeTargetNodeKind defines model for MissionControlEdge.TargetNodeKind.
type MissionControlEdgeTargetNodeKind string

// MissionControlEdgeVisibilityTier defines model for MissionControlEdge.VisibilityTier.
type MissionControlEdgeVisibilityTier string

// MissionControlEntityCard defines model for MissionControlEntityCard.
type MissionControlEntityCard struct {
	Badges            []MissionControlEntityCardBadges   `json:"badges"`
	EntityKind        MissionControlEntityCardEntityKind `json:"entity_kind"`
	EntityPublicId    string                             `json:"entity_public_id"`
	LastTimelineAt    *time.Time                         `json:"last_timeline_at"`
	PrimaryActor      *MissionControlPrimaryActor        `json:"primary_actor,omitempty"`
	ProjectionVersion int64                              `json:"projection_version"`
	ProviderReference MissionControlProviderReference    `json:"provider_reference"`
	RelationCount     int32                              `json:"relation_count"`
	State             MissionControlEntityCardState      `json:"state"`
	SyncStatus        MissionControlEntityCardSyncStatus `json:"sync_status"`
	Title             string                             `json:"title"`
}

// MissionControlEntityCardBadges defines model for MissionControlEntityCard.Badges.
type MissionControlEntityCardBadges string

// MissionControlEntityCardEntityKind defines model for MissionControlEntityCard.EntityKind.
type MissionControlEntityCardEntityKind string

// MissionControlEntityCardState defines model for MissionControlEntityCard.State.
type MissionControlEntityCardState string

// MissionControlEntityCardSyncStatus defines model for MissionControlEntityCard.SyncStatus.
type MissionControlEntityCardSyncStatus string

// MissionControlEntityDetails defines model for MissionControlEntityDetails.
type MissionControlEntityDetails struct {
	AllowedActions    []MissionControlAllowedAction      `json:"allowed_actions"`
	DetailPayload     MissionControlEntityDetailsPayload `json:"detail_payload"`
	Entity            MissionControlEntityCard           `json:"entity"`
	ProviderDeepLinks []MissionControlProviderDeepLink   `json:"provider_deep_links"`
	Relations         []MissionControlRelation           `json:"relations"`
	TimelinePreview   []MissionControlTimelineEntry      `json:"timeline_preview"`
}

// MissionControlEntityDetailsPayload defines model for MissionControlEntityDetailsPayload.
type MissionControlEntityDetailsPayload struct {
	union json.RawMessage
}

// MissionControlEntityRef defines model for MissionControlEntityRef.
type MissionControlEntityRef struct {
	EntityKind     MissionControlEntityRefEntityKind `json:"entity_kind"`
	EntityPublicId string                            `json:"entity_public_id"`
}

// MissionControlEntityRefEntityKind defines model for MissionControlEntityRef.EntityKind.
type MissionControlEntityRefEntityKind string

// MissionControlErrorRealtimePayload defines model for MissionControlErrorRealtimePayload.
type MissionControlErrorRealtimePayload struct {
	Code      string `json:"code"`
	Message   string `json:"message"`
	Retryable bool   `json:"retryable"`
}

// MissionControlHeartbeatRealtimePayload defines model for MissionControlHeartbeatRealtimePayload.
type MissionControlHeartbeatRealtimePayload struct {
	ServerTime time.Time `json:"server_time"`
	SnapshotId string    `json:"snapshot_id"`
}

// MissionControlInvalidateRealtimePayload defines model for MissionControlInvalidateRealtimePayload.
type MissionControlInvalidateRealtimePayload struct {
	AffectedEntityRefs []MissionControlEntityRef `json:"affected_entity_refs"`
	Reason             string                    `json:"reason"`
	RefreshScope       string                    `json:"refresh_scope"`
}

// MissionControlLaunchPreview defines model for MissionControlLaunchPreview.
type MissionControlLaunchPreview struct {
	ApprovalRequirement MissionControlLaunchPreviewApprovalRequirement `json:"approval_requirement"`
	BlockingReason      *string                                        `json:"blocking_reason"`
	ContinuityEffect    MissionControlLaunchPreviewContinuityEffect    `json:"continuity_effect"`
	LabelDiff           MissionControlLaunchPreviewLabelDiff           `json:"label_diff"`
	PreviewId           string                                         `json:"preview_id"`
}

// MissionControlLaunchPreviewApprovalRequirement defines model for MissionControlLaunchPreview.ApprovalRequirement.
type MissionControlLaunchPreviewApprovalRequirement string

// MissionControlLaunchPreviewContinuityEffect defines model for MissionControlLaunchPreviewContinuityEffect.
type MissionControlLaunchPreviewContinuityEffect struct {
	ProviderRedirects []string                `json:"provider_redirects"`
	RemainingGapIds   []int64                 `json:"remaining_gap_ids"`
	ResolvedGapIds    []int64                 `json:"resolved_gap_ids"`
	ResultingNodeRefs []MissionControlNodeRef `json:"resulting_node_refs"`
}

// MissionControlLaunchPreviewLabelDiff defines model for MissionControlLaunchPreviewLabelDiff.
type MissionControlLaunchPreviewLabelDiff struct {
	AddedLabels   []string `json:"added_labels"`
	FinalLabels   []string `json:"final_labels"`
	RemovedLabels []string `json:"removed_labels"`
}

// MissionControlLaunchPreviewRequest defines model for MissionControlLaunchPreviewRequest.
type MissionControlLaunchPreviewRequest struct {
	ExpectedProjectionVersion *int64                                       `json:"expected_projection_version,omitempty"`
	NodeKind                  MissionControlLaunchPreviewRequestNodeKind   `json:"node_kind"`
	NodePublicId              string                                       `json:"node_public_id"`
	RemovedLabels             *[]string                                    `json:"removed_labels,omitempty"`
	TargetLabel               string                                       `json:"target_label"`
	ThreadKind                MissionControlLaunchPreviewRequestThreadKind `json:"thread_kind"`
	ThreadNumber              int32                                        `json:"thread_number"`
}

// MissionControlLaunchPreviewRequestNodeKind defines model for MissionControlLaunchPreviewRequest.NodeKind.
type MissionControlLaunchPreviewRequestNodeKind string

// MissionControlLaunchPreviewRequestThreadKind defines model for MissionControlLaunchPreviewRequest.ThreadKind.
type MissionControlLaunchPreviewRequestThreadKind string

// MissionControlLaunchSurface defines model for MissionControlLaunchSurface.
type MissionControlLaunchSurface struct {
	ActionKind          MissionControlLaunchSurfaceActionKind          `json:"action_kind"`
	ApprovalRequirement MissionControlLaunchSurfaceApprovalRequirement `json:"approval_requirement"`
	BlockedReason       *string                                        `json:"blocked_reason"`
	CommandTemplate     *MissionControlStageNextStepTemplate           `json:"command_template,omitempty"`
	Presentation        MissionControlLaunchSurfacePresentation        `json:"presentation"`
}

// MissionControlLaunchSurfaceActionKind defines model for MissionControlLaunchSurface.ActionKind.
type MissionControlLaunchSurfaceActionKind string

// MissionControlLaunchSurfaceApprovalRequirement defines model for MissionControlLaunchSurface.ApprovalRequirement.
type MissionControlLaunchSurfaceApprovalRequirement string

// MissionControlLaunchSurfacePresentation defines model for MissionControlLaunchSurface.Presentation.
type MissionControlLaunchSurfacePresentation string

// MissionControlNode defines model for MissionControlNode.
type MissionControlNode struct {
	ActiveState       MissionControlNodeActiveState      `json:"active_state"`
	Badges            []MissionControlNodeBadges         `json:"badges"`
	ColumnIndex       int32                              `json:"column_index"`
	ContinuityStatus  MissionControlNodeContinuityStatus `json:"continuity_status"`
	CoverageClass     MissionControlNodeCoverageClass    `json:"coverage_class"`
	HasBlockingGap    bool                               `json:"has_blocking_gap"`
	LastActivityAt    *time.Time                         `json:"last_activity_at"`
	NodeKind          MissionControlNodeNodeKind         `json:"node_kind"`
	NodePublicId      string                             `json:"node_public_id"`
	ProjectionVersion int64                              `json:"projection_version"`
	ProviderReference *MissionControlProviderReference   `json:"provider_reference,omitempty"`
	RootNodePublicId  string                             `json:"root_node_public_id"`
	Title             string                             `json:"title"`
	VisibilityTier    MissionControlNodeVisibilityTier   `json:"visibility_tier"`
}

// MissionControlNodeActiveState defines model for MissionControlNode.ActiveState.
type MissionControlNodeActiveState string

// MissionControlNodeBadges defines model for MissionControlNode.Badges.
type MissionControlNodeBadges string

// MissionControlNodeContinuityStatus defines model for MissionControlNode.ContinuityStatus.
type MissionControlNodeContinuityStatus string

// MissionControlNodeCoverageClass defines model for MissionControlNode.CoverageClass.
type MissionControlNodeCoverageClass string

// MissionControlNodeNodeKind defines model for MissionControlNode.NodeKind.
type MissionControlNodeNodeKind string

// MissionControlNodeVisibilityTier defines model for MissionControlNode.VisibilityTier.
type MissionControlNodeVisibilityTier string

// MissionControlNodeActivityItemsResponse defines model for MissionControlNodeActivityItemsResponse.
type MissionControlNodeActivityItemsResponse struct {
	Items      []MissionControlActivityEntry `json:"items"`
	NextCursor *string                       `json:"next_cursor"`
}

// MissionControlNodeDetails defines model for MissionControlNodeDetails.
type MissionControlNodeDetails struct {
	ActivityPreview   []MissionControlActivityEntry      `json:"activity_preview"`
	AdjacentEdges     []MissionControlEdge               `json:"adjacent_edges"`
	AdjacentNodes     []MissionControlNode               `json:"adjacent_nodes"`
	ContinuityGaps    []MissionControlContinuityGap      `json:"continuity_gaps"`
	DetailPayload     MissionControlNodeDetailsPayload   `json:"detail_payload"`
	LaunchSurfaces    []MissionControlLaunchSurface      `json:"launch_surfaces"`
	Node              MissionControlNode                 `json:"node"`
	NodeWatermarks    []MissionControlWorkspaceWatermark `json:"node_watermarks"`
	ProviderDeepLinks []MissionControlProviderDeepLink   `json:"provider_deep_links"`
}

// MissionControlNodeDetailsPayload defines model for MissionControlNodeDetailsPayload.
type MissionControlNodeDetailsPayload struct {
	union json.RawMessage
}

// MissionControlNodeRef defines model for MissionControlNodeRef.
type MissionControlNodeRef struct {
	NodeKind     MissionControlNodeRefNodeKind `json:"node_kind"`
	NodePublicId string                        `json:"node_public_id"`
}

// MissionControlNodeRefNodeKind defines model for MissionControlNodeRef.NodeKind.
type MissionControlNodeRefNodeKind string

// MissionControlPrimaryActor defines model for MissionControlPrimaryActor.
type MissionControlPrimaryActor struct {
	ActorId     string `json:"actor_id"`
	ActorType   string `json:"actor_type"`
	DisplayName string `json:"display_name"`
}

// MissionControlProviderDeepLink defines model for MissionControlProviderDeepLink.
type MissionControlProviderDeepLink struct {
	ActionKind MissionControlProviderDeepLinkActionKind `json:"action_kind"`
	Reason     MissionControlProviderDeepLinkReason     `json:"reason"`
	Url        string                                   `json:"url"`
}

// MissionControlProviderDeepLinkActionKind defines model for MissionControlProviderDeepLink.ActionKind.
type MissionControlProviderDeepLinkActionKind string

// MissionControlProviderDeepLinkReason defines model for MissionControlProviderDeepLink.Reason.
type MissionControlProviderDeepLinkReason string

// MissionControlProviderReference defines model for MissionControlProviderReference.
type MissionControlProviderReference struct {
	ExternalId string                                  `json:"external_id"`
	Provider   MissionControlProviderReferenceProvider `json:"provider"`
	Url        *string                                 `json:"url"`
}

// MissionControlProviderReferenceProvider defines model for MissionControlProviderReference.Provider.
type MissionControlProviderReferenceProvider string

// MissionControlPullRequestNodeDetails defines model for MissionControlPullRequestNodeDetails.
type MissionControlPullRequestNodeDetails struct {
	BranchBase         string                  `json:"branch_base"`
	BranchHead         string                  `json:"branch_head"`
	ChecksSummary      string                  `json:"checks_summary"`
	LinkedIssueRefs    []MissionControlNodeRef `json:"linked_issue_refs"`
	LinkedRunRef       *MissionControlNodeRef  `json:"linked_run_ref,omitempty"`
	MergeState         string                  `json:"merge_state"`
	PullRequestNumber  int64                   `json:"pull_request_number"`
	RepositoryFullName string                  `json:"repository_full_name"`
	ReviewDecision     string                  `json:"review_decision"`
}

// MissionControlRealtimeEnvelope defines model for MissionControlRealtimeEnvelope.
type MissionControlRealtimeEnvelope struct {
	EventKind   MissionControlRealtimeEnvelopeEventKind `json:"event_kind"`
	OccurredAt  time.Time                               `json:"occurred_at"`
	Payload     MissionControlRealtimePayload           `json:"payload"`
	ResumeToken string                                  `json:"resume_token"`
	SnapshotId  string                                  `json:"snapshot_id"`
}

// MissionControlRealtimeEnvelopeEventKind defines model for MissionControlRealtimeEnvelope.EventKind.
type MissionControlRealtimeEnvelopeEventKind string

// MissionControlRealtimePayload defines model for MissionControlRealtimePayload.
type MissionControlRealtimePayload struct {
	union json.RawMessage
}

// MissionControlRelation defines model for MissionControlRelation.
type MissionControlRelation struct {
	Direction            MissionControlRelationDirection        `json:"direction"`
	RelationKind         MissionControlRelationRelationKind     `json:"relation_kind"`
	SourceEntityKind     MissionControlRelationSourceEntityKind `json:"source_entity_kind"`
	SourceEntityPublicId string                                 `json:"source_entity_public_id"`
	SourceKind           MissionControlRelationSourceKind       `json:"source_kind"`
	TargetEntityKind     MissionControlRelationTargetEntityKind `json:"target_entity_kind"`
	TargetEntityPublicId string                                 `json:"target_entity_public_id"`
}

// MissionControlRelationDirection defines model for MissionControlRelation.Direction.
type MissionControlRelationDirection string

// MissionControlRelationRelationKind defines model for MissionControlRelation.RelationKind.
type MissionControlRelationRelationKind string

// MissionControlRelationSourceEntityKind defines model for MissionControlRelation.SourceEntityKind.
type MissionControlRelationSourceEntityKind string

// MissionControlRelationSourceKind defines model for MissionControlRelation.SourceKind.
type MissionControlRelationSourceKind string

// MissionControlRelationTargetEntityKind defines model for MissionControlRelation.TargetEntityKind.
type MissionControlRelationTargetEntityKind string

// MissionControlResyncRequiredRealtimePayload defines model for MissionControlResyncRequiredRealtimePayload.
type MissionControlResyncRequiredRealtimePayload struct {
	DroppedEventCount  int32  `json:"dropped_event_count"`
	Reason             string `json:"reason"`
	RequiredSnapshotId string `json:"required_snapshot_id"`
}

// MissionControlRetrySyncCommandRequest defines model for MissionControlRetrySyncCommandRequest.
type MissionControlRetrySyncCommandRequest struct {
	BusinessIntentKey         string                                                 `json:"business_intent_key"`
	CommandKind               MissionControlRetrySyncCommandRequestCommandKind       `json:"command_kind"`
	ExpectedProjectionVersion *int64                                                 `json:"expected_projection_version,omitempty"`
	Payload                   RetrySyncPayload                                       `json:"payload"`
	ProjectId                 string                                                 `json:"project_id"`
	TargetEntityKind          *MissionControlRetrySyncCommandRequestTargetEntityKind `json:"target_entity_kind"`
	TargetEntityPublicId      *string                                                `json:"target_entity_public_id"`
}

// MissionControlRetrySyncCommandRequestCommandKind defines model for MissionControlRetrySyncCommandRequest.CommandKind.
type MissionControlRetrySyncCommandRequestCommandKind string

// MissionControlRetrySyncCommandRequestTargetEntityKind defines model for MissionControlRetrySyncCommandRequest.TargetEntityKind.
type MissionControlRetrySyncCommandRequestTargetEntityKind string

// MissionControlRootGroup defines model for MissionControlRootGroup.
type MissionControlRootGroup struct {
	HasBlockingGap   bool                                `json:"has_blocking_gap"`
	LatestActivityAt *time.Time                          `json:"latest_activity_at"`
	NodeRefs         []MissionControlNodeRef             `json:"node_refs"`
	RootNodeKind     MissionControlRootGroupRootNodeKind `json:"root_node_kind"`
	RootNodePublicId string                              `json:"root_node_public_id"`
	RootTitle        string                              `json:"root_title"`
}

// MissionControlRootGroupRootNodeKind defines model for MissionControlRootGroup.RootNodeKind.
type MissionControlRootGroupRootNodeKind string

// MissionControlRunNodeDetails defines model for MissionControlRunNodeDetails.
type MissionControlRunNodeDetails struct {
	AgentKey              string                  `json:"agent_key"`
	BuildRef              string                  `json:"build_ref"`
	CandidateNamespace    string                  `json:"candidate_namespace"`
	FinishedAt            *time.Time              `json:"finished_at"`
	LinkedPullRequestRefs []MissionControlNodeRef `json:"linked_pull_request_refs"`
	ProducedIssueRefs     []MissionControlNodeRef `json:"produced_issue_refs"`
	RunId                 string                  `json:"run_id"`
	RunStatus             string                  `json:"run_status"`
	RuntimeMode           string                  `json:"runtime_mode"`
	StartedAt             *time.Time              `json:"started_at"`
	TriggerLabel          string                  `json:"trigger_label"`
}

// MissionControlStageNextStepCommandRequest defines model for MissionControlStageNextStepCommandRequest.
type MissionControlStageNextStepCommandRequest struct {
	BusinessIntentKey         string                                                     `json:"business_intent_key"`
	CommandKind               MissionControlStageNextStepCommandRequestCommandKind       `json:"command_kind"`
	ExpectedProjectionVersion *int64                                                     `json:"expected_projection_version,omitempty"`
	Payload                   MissionControlStageNextStepPayload                         `json:"payload"`
	ProjectId                 string                                                     `json:"project_id"`
	TargetEntityKind          *MissionControlStageNextStepCommandRequestTargetEntityKind `json:"target_entity_kind"`
	TargetEntityPublicId      *string                                                    `json:"target_entity_public_id"`
}

// MissionControlStageNextStepCommandRequestCommandKind defines model for MissionControlStageNextStepCommandRequest.CommandKind.
type MissionControlStageNextStepCommandRequestCommandKind string

// MissionControlStageNextStepCommandRequestTargetEntityKind defines model for MissionControlStageNextStepCommandRequest.TargetEntityKind.
type MissionControlStageNextStepCommandRequestTargetEntityKind string

// MissionControlStageNextStepPayload defines model for MissionControlStageNextStepPayload.
type MissionControlStageNextStepPayload struct {
	ApprovalRequirement *MissionControlStageNextStepPayloadApprovalRequirement `json:"approval_requirement"`
	DisplayVariant      *string                                                `json:"display_variant"`
	RemovedLabels       *[]string                                              `json:"removed_labels,omitempty"`
	TargetLabel         string                                                 `json:"target_label"`
	ThreadKind          string                                                 `json:"thread_kind"`
	ThreadNumber        int32                                                  `json:"thread_number"`
}

// MissionControlStageNextStepPayloadApprovalRequirement defines model for MissionControlStageNextStepPayload.ApprovalRequirement.
type MissionControlStageNextStepPayloadApprovalRequirement string

// MissionControlStageNextStepTemplate defines model for MissionControlStageNextStepTemplate.
type MissionControlStageNextStepTemplate struct {
	ApprovalRequirement MissionControlStageNextStepTemplateApprovalRequirement `json:"approval_requirement"`
	DisplayVariant      *string                                                `json:"display_variant"`
	ExpectedGapIds      []int64                                                `json:"expected_gap_ids"`
	RemovedLabels       []string                                               `json:"removed_labels"`
	TargetLabel         string                                                 `json:"target_label"`
	ThreadKind          MissionControlStageNextStepTemplateThreadKind          `json:"thread_kind"`
	ThreadNumber        int32                                                  `json:"thread_number"`
}

// MissionControlStageNextStepTemplateApprovalRequirement defines model for MissionControlStageNextStepTemplate.ApprovalRequirement.
type MissionControlStageNextStepTemplateApprovalRequirement string

// MissionControlStageNextStepTemplateThreadKind defines model for MissionControlStageNextStepTemplate.ThreadKind.
type MissionControlStageNextStepTemplateThreadKind string

// MissionControlStaleRealtimePayload defines model for MissionControlStaleRealtimePayload.
type MissionControlStaleRealtimePayload struct {
	Reason           string    `json:"reason"`
	StaleSince       time.Time `json:"stale_since"`
	SuggestedRefresh string    `json:"suggested_refresh"`
}

// MissionControlTimelineEntry defines model for MissionControlTimelineEntry.
type MissionControlTimelineEntry struct {
	BodyMarkdown   *string                               `json:"body_markdown"`
	CommandId      *string                               `json:"command_id"`
	EntityKind     MissionControlTimelineEntryEntityKind `json:"entity_kind"`
	EntityPublicId string                                `json:"entity_public_id"`
	EntryId        string                                `json:"entry_id"`
	IsReadOnly     bool                                  `json:"is_read_only"`
	OccurredAt     time.Time                             `json:"occurred_at"`
	ProviderUrl    *string                               `json:"provider_url"`
	SourceKind     MissionControlTimelineEntrySourceKind `json:"source_kind"`
	SourceRef      string                                `json:"source_ref"`
	Summary        string                                `json:"summary"`
}

// MissionControlTimelineEntryEntityKind defines model for MissionControlTimelineEntry.EntityKind.
type MissionControlTimelineEntryEntityKind string

// MissionControlTimelineEntrySourceKind defines model for MissionControlTimelineEntry.SourceKind.
type MissionControlTimelineEntrySourceKind string

// MissionControlTimelineItemsResponse defines model for MissionControlTimelineItemsResponse.
type MissionControlTimelineItemsResponse struct {
	Items      []MissionControlTimelineEntry `json:"items"`
	NextCursor *string                       `json:"next_cursor"`
}

// MissionControlWorkItemCreateCommandRequest defines model for MissionControlWorkItemCreateCommandRequest.
type MissionControlWorkItemCreateCommandRequest struct {
	BusinessIntentKey         string                                                      `json:"business_intent_key"`
	CommandKind               MissionControlWorkItemCreateCommandRequestCommandKind       `json:"command_kind"`
	ExpectedProjectionVersion *int64                                                      `json:"expected_projection_version,omitempty"`
	Payload                   WorkItemCreatePayload                                       `json:"payload"`
	ProjectId                 string                                                      `json:"project_id"`
	TargetEntityKind          *MissionControlWorkItemCreateCommandRequestTargetEntityKind `json:"target_entity_kind"`
	TargetEntityPublicId      *string                                                     `json:"target_entity_public_id"`
}

// MissionControlWorkItemCreateCommandRequestCommandKind defines model for MissionControlWorkItemCreateCommandRequest.CommandKind.
type MissionControlWorkItemCreateCommandRequestCommandKind string

// MissionControlWorkItemCreateCommandRequestTargetEntityKind defines model for MissionControlWorkItemCreateCommandRequest.TargetEntityKind.
type MissionControlWorkItemCreateCommandRequestTargetEntityKind string

// MissionControlWorkItemNodeDetails defines model for MissionControlWorkItemNodeDetails.
type MissionControlWorkItemNodeDetails struct {
	Assignees          []string                `json:"assignees"`
	IssueNumber        int64                   `json:"issue_number"`
	Labels             []string                `json:"labels"`
	LastProviderSyncAt *time.Time              `json:"last_provider_sync_at"`
	LinkedFollowUpRefs []MissionControlNodeRef `json:"linked_follow_up_refs"`
	LinkedRunRefs      []MissionControlNodeRef `json:"linked_run_refs"`
	RepositoryFullName string                  `json:"repository_full_name"`
	StageLabel         string                  `json:"stage_label"`
}

// MissionControlWorkspaceFilters defines model for MissionControlWorkspaceFilters.
type MissionControlWorkspaceFilters struct {
	AssignmentScope MissionControlWorkspaceFiltersAssignmentScope `json:"assignment_scope"`
	OpenScope       MissionControlWorkspaceFiltersOpenScope       `json:"open_scope"`
	Search          *string                                       `json:"search"`
	StatePreset     MissionControlWorkspaceFiltersStatePreset     `json:"state_preset"`
}

// MissionControlWorkspaceFiltersAssignmentScope defines model for MissionControlWorkspaceFilters.AssignmentScope.
type MissionControlWorkspaceFiltersAssignmentScope string

// MissionControlWorkspaceFiltersOpenScope defines model for MissionControlWorkspaceFilters.OpenScope.
type MissionControlWorkspaceFiltersOpenScope string

// MissionControlWorkspaceFiltersStatePreset defines model for MissionControlWorkspaceFilters.StatePreset.
type MissionControlWorkspaceFiltersStatePreset string

// MissionControlWorkspaceSnapshot defines model for MissionControlWorkspaceSnapshot.
type MissionControlWorkspaceSnapshot struct {
	Edges               []MissionControlEdge                    `json:"edges"`
	EffectiveFilters    MissionControlWorkspaceFilters          `json:"effective_filters"`
	GeneratedAt         time.Time                               `json:"generated_at"`
	NextRootCursor      *string                                 `json:"next_root_cursor"`
	Nodes               []MissionControlNode                    `json:"nodes"`
	ResumeToken         string                                  `json:"resume_token"`
	RootGroups          []MissionControlRootGroup               `json:"root_groups"`
	SnapshotId          string                                  `json:"snapshot_id"`
	Summary             MissionControlWorkspaceSummary          `json:"summary"`
	ViewMode            MissionControlWorkspaceSnapshotViewMode `json:"view_mode"`
	WorkspaceWatermarks []MissionControlWorkspaceWatermark      `json:"workspace_watermarks"`
}

// MissionControlWorkspaceSnapshotViewMode defines model for MissionControlWorkspaceSnapshot.ViewMode.
type MissionControlWorkspaceSnapshotViewMode string

// MissionControlWorkspaceSummary defines model for MissionControlWorkspaceSummary.
type MissionControlWorkspaceSummary struct {
	BlockedCount               int32 `json:"blocked_count"`
	BlockingGapCount           int32 `json:"blocking_gap_count"`
	NodeCount                  int32 `json:"node_count"`
	RecentClosedContextCount   int32 `json:"recent_closed_context_count"`
	RecentCriticalUpdatesCount int32 `json:"recent_critical_updates_count"`
	ReviewCount                int32 `json:"review_count"`
	RootCount                  int32 `json:"root_count"`
	WaitingCount               int32 `json:"waiting_count"`
	WarningGapCount            int32 `json:"warning_gap_count"`
	WorkingCount               int32 `json:"working_count"`
}

// MissionControlWorkspaceWatermark defines model for MissionControlWorkspaceWatermark.
type MissionControlWorkspaceWatermark struct {
	ObservedAt      time.Time                                     `json:"observed_at"`
	Status          MissionControlWorkspaceWatermarkStatus        `json:"status"`
	Summary         string                                        `json:"summary"`
	WatermarkKind   MissionControlWorkspaceWatermarkWatermarkKind `json:"watermark_kind"`
	WindowEndedAt   *time.Time                                    `json:"window_ended_at"`
	WindowStartedAt *time.Time                                    `json:"window_started_at"`
}

// MissionControlWorkspaceWatermarkStatus defines model for MissionControlWorkspaceWatermark.Status.
type MissionControlWorkspaceWatermarkStatus string

// MissionControlWorkspaceWatermarkWatermarkKind defines model for MissionControlWorkspaceWatermark.WatermarkKind.
type MissionControlWorkspaceWatermarkWatermarkKind string

// NextStepActionRequest defines model for NextStepActionRequest.
type NextStepActionRequest struct {
	ActionKind         string `json:"action_kind"`
	IssueNumber        *int32 `json:"issue_number"`
	PullRequestNumber  *int32 `json:"pull_request_number"`
	RepositoryFullName string `json:"repository_full_name"`
	TargetLabel        string `json:"target_label"`
}

// NextStepActionResponse defines model for NextStepActionResponse.
type NextStepActionResponse struct {
	AddedLabels        []string `json:"added_labels"`
	FinalLabels        []string `json:"final_labels"`
	RemovedLabels      []string `json:"removed_labels"`
	RepositoryFullName string   `json:"repository_full_name"`
	ThreadKind         string   `json:"thread_kind"`
	ThreadNumber       int32    `json:"thread_number"`
	ThreadUrl          *string  `json:"thread_url"`
}

// PreflightCheckResult defines model for PreflightCheckResult.
type PreflightCheckResult struct {
	Details *string `json:"details"`
	Name    string  `json:"name"`
	Status  string  `json:"status"`
}

// Project defines model for Project.
type Project struct {
	Id   string `json:"id"`
	Name string `json:"name"`
	Role string `json:"role"`
	Slug string `json:"slug"`
}

// ProjectGitHubTokens defines model for ProjectGitHubTokens.
type ProjectGitHubTokens struct {
	BotEmail         *string `json:"bot_email"`
	BotUsername      *string `json:"bot_username"`
	HasBotToken      bool    `json:"has_bot_token"`
	HasPlatformToken bool    `json:"has_platform_token"`
	ProjectId        string  `json:"project_id"`
}

// ProjectItemsResponse defines model for ProjectItemsResponse.
type ProjectItemsResponse struct {
	Items []Project `json:"items"`
}

// ProjectMember defines model for ProjectMember.
type ProjectMember struct {
	Email                string            `json:"email"`
	LearningModeOverride *bool             `json:"learning_mode_override"`
	ProjectId            string            `json:"project_id"`
	Role                 ProjectMemberRole `json:"role"`
	UserId               string            `json:"user_id"`
}

// ProjectMemberRole defines model for ProjectMember.Role.
type ProjectMemberRole string

// ProjectMemberItemsResponse defines model for ProjectMemberItemsResponse.
type ProjectMemberItemsResponse struct {
	Items []ProjectMember `json:"items"`
}

// PullRequestDetailsPayload defines model for PullRequestDetailsPayload.
type PullRequestDetailsPayload struct {
	BranchBase         *string   `json:"branch_base"`
	BranchHead         *string   `json:"branch_head"`
	ChecksSummary      *string   `json:"checks_summary"`
	LastRunId          *string   `json:"last_run_id"`
	LastStatus         *string   `json:"last_status"`
	LinkedIssueRefs    *[]string `json:"linked_issue_refs,omitempty"`
	MergeState         *string   `json:"merge_state"`
	PullRequestNumber  int64     `json:"pull_request_number"`
	PullRequestUrl     *string   `json:"pull_request_url"`
	RepositoryFullName *string   `json:"repository_full_name,omitempty"`
	ReviewDecision     *string   `json:"review_decision"`
}

// RepositoryBinding defines model for RepositoryBinding.
type RepositoryBinding struct {
	Alias              string                `json:"alias"`
	BotEmail           *string               `json:"bot_email"`
	BotUsername        *string               `json:"bot_username"`
	DefaultRef         string                `json:"default_ref"`
	DocsRootPath       *string               `json:"docs_root_path"`
	ExternalId         int64                 `json:"external_id"`
	Id                 string                `json:"id"`
	Name               string                `json:"name"`
	Owner              string                `json:"owner"`
	PreflightUpdatedAt *string               `json:"preflight_updated_at"`
	ProjectId          string                `json:"project_id"`
	Provider           string                `json:"provider"`
	Role               RepositoryBindingRole `json:"role"`
	ServicesYamlPath   string                `json:"services_yaml_path"`
}

// RepositoryBindingRole defines model for RepositoryBinding.Role.
type RepositoryBindingRole string

// RepositoryBindingItemsResponse defines model for RepositoryBindingItemsResponse.
type RepositoryBindingItemsResponse struct {
	Items []RepositoryBinding `json:"items"`
}

// ResolveApprovalDecisionRequest defines model for ResolveApprovalDecisionRequest.
type ResolveApprovalDecisionRequest struct {
	Decision ResolveApprovalDecisionRequestDecision `json:"decision"`
	Reason   *string                                `json:"reason"`
}

// ResolveApprovalDecisionRequestDecision defines model for ResolveApprovalDecisionRequest.Decision.
type ResolveApprovalDecisionRequestDecision string

// ResolveApprovalDecisionResponse defines model for ResolveApprovalDecisionResponse.
type ResolveApprovalDecisionResponse struct {
	Action        string                                       `json:"action"`
	ApprovalState ResolveApprovalDecisionResponseApprovalState `json:"approval_state"`
	CorrelationId string                                       `json:"correlation_id"`
	Id            int64                                        `json:"id"`
	RunId         *string                                      `json:"run_id"`
	ToolName      string                                       `json:"tool_name"`
}

// ResolveApprovalDecisionResponseApprovalState defines model for ResolveApprovalDecisionResponse.ApprovalState.
type ResolveApprovalDecisionResponseApprovalState string

// RetrySyncPayload defines model for RetrySyncPayload.
type RetrySyncPayload struct {
	CommandId      string                          `json:"command_id"`
	ExpectedStatus *RetrySyncPayloadExpectedStatus `json:"expected_status"`
	RetryReason    *string                         `json:"retry_reason"`
}

// RetrySyncPayloadExpectedStatus defines model for RetrySyncPayload.ExpectedStatus.
type RetrySyncPayloadExpectedStatus string

// Run defines model for Run.
type Run struct {
	AgentKey        *string            `json:"agent_key"`
	CorrelationId   string             `json:"correlation_id"`
	CreatedAt       time.Time          `json:"created_at"`
	FinishedAt      *time.Time         `json:"finished_at"`
	Id              string             `json:"id"`
	IssueNumber     *int32             `json:"issue_number"`
	IssueUrl        *string            `json:"issue_url"`
	JobExists       *bool              `json:"job_exists,omitempty"`
	JobName         *string            `json:"job_name"`
	JobNamespace    *string            `json:"job_namespace"`
	LastHeartbeatAt *time.Time         `json:"last_heartbeat_at"`
	Namespace       *string            `json:"namespace"`
	NamespaceExists *bool              `json:"namespace_exists,omitempty"`
	PrNumber        *int32             `json:"pr_number"`
	PrUrl           *string            `json:"pr_url"`
	ProjectId       *string            `json:"project_id"`
	ProjectName     string             `json:"project_name"`
	ProjectSlug     string             `json:"project_slug"`
	StartedAt       *time.Time         `json:"started_at"`
	Status          string             `json:"status"`
	TriggerKind     *string            `json:"trigger_kind"`
	TriggerLabel    *string            `json:"trigger_label"`
	WaitProjection  *RunWaitProjection `json:"wait_projection,omitempty"`
	WaitReason      *string            `json:"wait_reason"`
	WaitSince       *time.Time         `json:"wait_since"`
	WaitState       *string            `json:"wait_state"`
}

// RunActionRequest defines model for RunActionRequest.
type RunActionRequest struct {
	Reason *string `json:"reason"`
}

// RunActionResponse defines model for RunActionResponse.
type RunActionResponse struct {
	Action                       RunActionResponseAction         `json:"action"`
	AlreadyTerminal              bool                            `json:"already_terminal"`
	CanceledGithubWaits          int32                           `json:"canceled_github_waits"`
	CommentUrl                   *string                         `json:"comment_url"`
	CurrentStatus                RunActionResponseCurrentStatus  `json:"current_status"`
	JobStopped                   bool                            `json:"job_stopped"`
	PreviousStatus               RunActionResponsePreviousStatus `json:"previous_status"`
	RunId                        string                          `json:"run_id"`
	RuntimeDeployCancelRequested bool                            `json:"runtime_deploy_cancel_requested"`
}

// RunActionResponseAction defines model for RunActionResponse.Action.
type RunActionResponseAction string

// RunActionResponseCurrentStatus defines model for RunActionResponse.CurrentStatus.
type RunActionResponseCurrentStatus string

// RunActionResponsePreviousStatus defines model for RunActionResponse.PreviousStatus.
type RunActionResponsePreviousStatus string

// RunItemsResponse defines model for RunItemsResponse.
type RunItemsResponse struct {
	Items []Run `json:"items"`
}

// RunLogs defines model for RunLogs.
type RunLogs struct {
	RunId        string     `json:"run_id"`
	SnapshotJson string     `json:"snapshot_json"`
	Status       string     `json:"status"`
	TailLines    []string   `json:"tail_lines"`
	UpdatedAt    *time.Time `json:"updated_at"`
}

// RunNamespaceCleanupResponse defines model for RunNamespaceCleanupResponse.
type RunNamespaceCleanupResponse struct {
	AlreadyDeleted bool    `json:"already_deleted"`
	CommentUrl     *string `json:"comment_url"`
	Deleted        bool    `json:"deleted"`
	Namespace      string  `json:"namespace"`
	RunId          string  `json:"run_id"`
}

// RunRealtimeMessage defines model for RunRealtimeMessage.
type RunRealtimeMessage struct {
	Events           *[]FlowEvent              `json:"events,omitempty"`
	Logs             *RunLogs                  `json:"logs,omitempty"`
	Message          *string                   `json:"message"`
	Run              *Run                      `json:"run,omitempty"`
	SentAt           time.Time                 `json:"sent_at"`
	Type             RunRealtimeMessageType    `json:"type"`
	WaitManualAction *RunWaitManualActionEvent `json:"wait_manual_action,omitempty"`
	WaitProjection   *RunWaitProjection        `json:"wait_projection,omitempty"`
	WaitResolution   *RunWaitResolution        `json:"wait_resolution,omitempty"`
}

// RunRealtimeMessageType defines model for RunRealtimeMessage.Type.
type RunRealtimeMessageType string

// RunRepositoryPreflightResponse defines model for RunRepositoryPreflightResponse.
type RunRepositoryPreflightResponse struct {
	Checks       []PreflightCheckResult `json:"checks"`
	FinishedAt   string                 `json:"finished_at"`
	ReportJson   string                 `json:"report_json"`
	RepositoryId string                 `json:"repository_id"`
	Status       string                 `json:"status"`
}

// RunWaitManualActionEvent defines model for RunWaitManualActionEvent.
type RunWaitManualActionEvent struct {
	ManualAction GitHubRateLimitManualAction `json:"manual_action"`
	UpdatedAt    time.Time                   `json:"updated_at"`
	WaitId       string                      `json:"wait_id"`
}

// RunWaitProjection defines model for RunWaitProjection.
type RunWaitProjection struct {
	CommentMirrorState RunWaitProjectionCommentMirrorState `json:"comment_mirror_state"`
	DominantWait       GitHubRateLimitWaitItem             `json:"dominant_wait"`
	RelatedWaits       []GitHubRateLimitWaitItem           `json:"related_waits"`
	WaitReason         string                              `json:"wait_reason"`
	WaitState          string                              `json:"wait_state"`
}

// RunWaitProjectionCommentMirrorState defines model for RunWaitProjection.CommentMirrorState.
type RunWaitProjectionCommentMirrorState string

// RunWaitResolution defines model for RunWaitResolution.
type RunWaitResolution struct {
	ContourKind    RunWaitResolutionContourKind    `json:"contour_kind"`
	ResolutionKind RunWaitResolutionResolutionKind `json:"resolution_kind"`
	ResolvedAt     time.Time                       `json:"resolved_at"`
	WaitId         string                          `json:"wait_id"`
}

// RunWaitResolutionContourKind defines model for RunWaitResolution.ContourKind.
type RunWaitResolutionContourKind string

// RunWaitResolutionResolutionKind defines model for RunWaitResolution.ResolutionKind.
type RunWaitResolutionResolutionKind string

// RuntimeDeployTask defines model for RuntimeDeployTask.
type RuntimeDeployTask struct {
	Attempts             int32                                  `json:"attempts"`
	BuildRef             string                                 `json:"build_ref"`
	CancelReason         *string                                `json:"cancel_reason"`
	CancelRequestedAt    *time.Time                             `json:"cancel_requested_at"`
	CancelRequestedBy    *string                                `json:"cancel_requested_by"`
	CreatedAt            *time.Time                             `json:"created_at"`
	DeployOnly           bool                                   `json:"deploy_only"`
	FinishedAt           *time.Time                             `json:"finished_at"`
	LastError            *string                                `json:"last_error"`
	LeaseOwner           *string                                `json:"lease_owner"`
	LeaseUntil           *time.Time                             `json:"lease_until"`
	Logs                 []RuntimeDeployTaskLog                 `json:"logs"`
	Namespace            string                                 `json:"namespace"`
	RepositoryFullName   string                                 `json:"repository_full_name"`
	ResultNamespace      *string                                `json:"result_namespace"`
	ResultTargetEnv      *string                                `json:"result_target_env"`
	RunId                string                                 `json:"run_id"`
	RuntimeMode          string                                 `json:"runtime_mode"`
	ServicesYamlPath     string                                 `json:"services_yaml_path"`
	SlotNo               int32                                  `json:"slot_no"`
	StartedAt            *time.Time                             `json:"started_at"`
	Status               RuntimeDeployTaskStatus                `json:"status"`
	StopReason           *string                                `json:"stop_reason"`
	StopRequestedAt      *time.Time                             `json:"stop_requested_at"`
	StopRequestedBy      *string                                `json:"stop_requested_by"`
	TargetEnv            string                                 `json:"target_env"`
	TerminalEventSeq     *int64                                 `json:"terminal_event_seq,omitempty"`
	TerminalStatusSource *RuntimeDeployTaskTerminalStatusSource `json:"terminal_status_source"`
	UpdatedAt            *time.Time                             `json:"updated_at"`
}

// RuntimeDeployTaskStatus defines model for RuntimeDeployTask.Status.
type RuntimeDeployTaskStatus string

// RuntimeDeployTaskTerminalStatusSource defines model for RuntimeDeployTask.TerminalStatusSource.
type RuntimeDeployTaskTerminalStatusSource string

// RuntimeDeployTaskActionRequest defines model for RuntimeDeployTaskActionRequest.
type RuntimeDeployTaskActionRequest struct {
	// Force Must be true for destructive stop requests; ignored by cancel.
	Force  *bool   `json:"force,omitempty"`
	Reason *string `json:"reason"`
}

// RuntimeDeployTaskActionResponse defines model for RuntimeDeployTaskActionResponse.
type RuntimeDeployTaskActionResponse struct {
	Action          RuntimeDeployTaskActionResponseAction         `json:"action"`
	AlreadyTerminal bool                                          `json:"already_terminal"`
	CurrentStatus   RuntimeDeployTaskActionResponseCurrentStatus  `json:"current_status"`
	PreviousStatus  RuntimeDeployTaskActionResponsePreviousStatus `json:"previous_status"`
	RunId           string                                        `json:"run_id"`
}

// RuntimeDeployTaskActionResponseAction defines model for RuntimeDeployTaskActionResponse.Action.
type RuntimeDeployTaskActionResponseAction string

// RuntimeDeployTaskActionResponseCurrentStatus defines model for RuntimeDeployTaskActionResponse.CurrentStatus.
type RuntimeDeployTaskActionResponseCurrentStatus string

// RuntimeDeployTaskActionResponsePreviousStatus defines model for RuntimeDeployTaskActionResponse.PreviousStatus.
type RuntimeDeployTaskActionResponsePreviousStatus string

// RuntimeDeployTaskItemsResponse defines model for RuntimeDeployTaskItemsResponse.
type RuntimeDeployTaskItemsResponse struct {
	Items []RuntimeDeployTaskListItem `json:"items"`
}

// RuntimeDeployTaskListItem defines model for RuntimeDeployTaskListItem.
type RuntimeDeployTaskListItem struct {
	BuildRef           string                          `json:"build_ref"`
	CreatedAt          *time.Time                      `json:"created_at"`
	Namespace          string                          `json:"namespace"`
	RepositoryFullName string                          `json:"repository_full_name"`
	ResultNamespace    *string                         `json:"result_namespace"`
	ResultTargetEnv    *string                         `json:"result_target_env"`
	RunId              string                          `json:"run_id"`
	RuntimeMode        string                          `json:"runtime_mode"`
	Status             RuntimeDeployTaskListItemStatus `json:"status"`
	TargetEnv          string                          `json:"target_env"`
	UpdatedAt          *time.Time                      `json:"updated_at"`
}

// RuntimeDeployTaskListItemStatus defines model for RuntimeDeployTaskListItem.Status.
type RuntimeDeployTaskListItemStatus string

// RuntimeDeployTaskLog defines model for RuntimeDeployTaskLog.
type RuntimeDeployTaskLog struct {
	CreatedAt *time.Time                `json:"created_at"`
	Level     RuntimeDeployTaskLogLevel `json:"level"`
	Message   string                    `json:"message"`
	Stage     string                    `json:"stage"`
}

// RuntimeDeployTaskLogLevel defines model for RuntimeDeployTaskLog.Level.
type RuntimeDeployTaskLogLevel string

// RuntimeError defines model for RuntimeError.
type RuntimeError struct {
	CorrelationId *string           `json:"correlation_id"`
	CreatedAt     time.Time         `json:"created_at"`
	DetailsJson   string            `json:"details_json"`
	Id            string            `json:"id"`
	JobName       *string           `json:"job_name"`
	Level         RuntimeErrorLevel `json:"level"`
	Message       string            `json:"message"`
	Namespace     *string           `json:"namespace"`
	ProjectId     *string           `json:"project_id"`
	RunId         *string           `json:"run_id"`
	Source        string            `json:"source"`
	StackTrace    *string           `json:"stack_trace"`
	ViewedAt      *time.Time        `json:"viewed_at"`
	ViewedBy      *string           `json:"viewed_by"`
}

// RuntimeErrorLevel defines model for RuntimeError.Level.
type RuntimeErrorLevel string

// RuntimeErrorItemsResponse defines model for RuntimeErrorItemsResponse.
type RuntimeErrorItemsResponse struct {
	Items []RuntimeError `json:"items"`
}

// SetProjectMemberLearningModeRequest defines model for SetProjectMemberLearningModeRequest.
type SetProjectMemberLearningModeRequest struct {
	Enabled *bool `json:"enabled"`
}

// SyncDocsetRequest defines model for SyncDocsetRequest.
type SyncDocsetRequest struct {
	DocsetRef    string `json:"docset_ref"`
	RepositoryId string `json:"repository_id"`
}

// SyncDocsetResponse defines model for SyncDocsetResponse.
type SyncDocsetResponse struct {
	Branch             string `json:"branch"`
	FilesDrift         int    `json:"files_drift"`
	FilesUpdated       int    `json:"files_updated"`
	PrNumber           int    `json:"pr_number"`
	PrUrl              string `json:"pr_url"`
	RepositoryFullName string `json:"repository_full_name"`
}

// SystemSetting defines model for SystemSetting.
type SystemSetting struct {
	BooleanValue        bool       `json:"boolean_value"`
	DefaultBooleanValue bool       `json:"default_boolean_value"`
	Key                 string     `json:"key"`
	ReloadSemantics     string     `json:"reload_semantics"`
	Section             string     `json:"section"`
	Source              string     `json:"source"`
	UpdatedAt           *time.Time `json:"updated_at"`
	UpdatedByEmail      *string    `json:"updated_by_email"`
	UpdatedByUserId     *string    `json:"updated_by_user_id"`
	ValueKind           string     `json:"value_kind"`
	Version             int64      `json:"version"`
	Visibility          string     `json:"visibility"`
}

// SystemSettingItemsResponse defines model for SystemSettingItemsResponse.
type SystemSettingItemsResponse struct {
	Items []SystemSetting `json:"items"`
}

// UpdateSystemSettingBooleanRequest defines model for UpdateSystemSettingBooleanRequest.
type UpdateSystemSettingBooleanRequest struct {
	BooleanValue bool `json:"boolean_value"`
}

// UpsertProjectGitHubTokensRequest defines model for UpsertProjectGitHubTokensRequest.
type UpsertProjectGitHubTokensRequest struct {
	BotEmail      *string `json:"bot_email"`
	BotToken      *string `json:"bot_token"`
	BotUsername   *string `json:"bot_username"`
	PlatformToken *string `json:"platform_token"`
}

// UpsertProjectMemberRequest defines model for UpsertProjectMemberRequest.
type UpsertProjectMemberRequest struct {
	Email  *openapi_types.Email            `json:"email,omitempty"`
	Role   *UpsertProjectMemberRequestRole `json:"role,omitempty"`
	UserId *string                         `json:"user_id,omitempty"`
	union  json.RawMessage
}

// UpsertProjectMemberRequestRole defines model for UpsertProjectMemberRequest.Role.
type UpsertProjectMemberRequestRole string

// UpsertProjectMemberRequest0 defines model for .
type UpsertProjectMemberRequest0 = interface{}

// UpsertProjectMemberRequest1 defines model for .
type UpsertProjectMemberRequest1 = interface{}

// UpsertProjectRepositoryRequest defines model for UpsertProjectRepositoryRequest.
type UpsertProjectRepositoryRequest struct {
	Alias            *string                             `json:"alias,omitempty"`
	DefaultRef       *string                             `json:"default_ref,omitempty"`
	DocsRootPath     *string                             `json:"docs_root_path,omitempty"`
	Name             string                              `json:"name"`
	Owner            string                              `json:"owner"`
	Provider         string                              `json:"provider"`
	Role             *UpsertProjectRepositoryRequestRole `json:"role,omitempty"`
	ServicesYamlPath string                              `json:"services_yaml_path"`
	Token            string                              `json:"token"`
}

// UpsertProjectRepositoryRequestRole defines model for UpsertProjectRepositoryRequest.Role.
type UpsertProjectRepositoryRequestRole string

// UpsertProjectRequest defines model for UpsertProjectRequest.
type UpsertProjectRequest struct {
	Name string `json:"name"`
	Slug string `json:"slug"`
}

// UpsertRepositoryBotParamsRequest defines model for UpsertRepositoryBotParamsRequest.
type UpsertRepositoryBotParamsRequest struct {
	BotEmail    *string `json:"bot_email"`
	BotToken    *string `json:"bot_token"`
	BotUsername *string `json:"bot_username"`
}

// User defines model for User.
type User struct {
	Email           string  `json:"email"`
	GithubLogin     *string `json:"github_login"`
	GithubUserId    *int64  `json:"github_user_id"`
	Id              string  `json:"id"`
	IsPlatformAdmin bool    `json:"is_platform_admin"`
	IsPlatformOwner bool    `json:"is_platform_owner"`
}

// UserItemsResponse defines model for UserItemsResponse.
type UserItemsResponse struct {
	Items []User `json:"items"`
}

// WorkItemCreatePayload defines model for WorkItemCreatePayload.
type WorkItemCreatePayload struct {
	BodyMarkdown      *string                    `json:"body_markdown"`
	InitialLabels     *[]string                  `json:"initial_labels,omitempty"`
	RelatedEntityRefs *[]MissionControlEntityRef `json:"related_entity_refs,omitempty"`
	Title             string                     `json:"title"`
}

// WorkItemDetailsPayload defines model for WorkItemDetailsPayload.
type WorkItemDetailsPayload struct {
	Assignees          *[]string  `json:"assignees,omitempty"`
	IssueNumber        int64      `json:"issue_number"`
	IssueUrl           *string    `json:"issue_url"`
	Labels             *[]string  `json:"labels,omitempty"`
	LastProviderSyncAt *time.Time `json:"last_provider_sync_at"`
	LastRunId          *string    `json:"last_run_id"`
	LastStatus         *string    `json:"last_status"`
	Owner              *string    `json:"owner"`
	RepositoryFullName *string    `json:"repository_full_name,omitempty"`
	StageLabel         *string    `json:"stage_label"`
	TriggerKind        *string    `json:"trigger_kind"`
	WorkItemType       *string    `json:"work_item_type"`
}

// AgentKeyFilter defines model for AgentKeyFilter.
type AgentKeyFilter = string

// ApprovalRequestID defines model for ApprovalRequestID.
type ApprovalRequestID = int64

// IncludeLogs defines model for IncludeLogs.
type IncludeLogs = bool

// IncludePayload defines model for IncludePayload.
type IncludePayload = bool

// IncludeSnapshot defines model for IncludeSnapshot.
type IncludeSnapshot = bool

// Limit defines model for Limit.
type Limit = int

// MCPCallbackToken defines model for MCPCallbackToken.
type MCPCallbackToken = string

// MissionControlActiveFilter defines model for MissionControlActiveFilter.
type MissionControlActiveFilter string

// MissionControlCommandID defines model for MissionControlCommandID.
type MissionControlCommandID = string

// MissionControlCorrelationID defines model for MissionControlCorrelationID.
type MissionControlCorrelationID = string

// MissionControlCursor defines model for MissionControlCursor.
type MissionControlCursor = string

// MissionControlEntityKind defines model for MissionControlEntityKind.
type MissionControlEntityKind string

// MissionControlEntityPublicID defines model for MissionControlEntityPublicID.
type MissionControlEntityPublicID = string

// MissionControlIdempotencyKey defines model for MissionControlIdempotencyKey.
type MissionControlIdempotencyKey = string

// MissionControlNodeKind defines model for MissionControlNodeKind.
type MissionControlNodeKind string

// MissionControlNodePublicID defines model for MissionControlNodePublicID.
type MissionControlNodePublicID = string

// MissionControlResumeToken defines model for MissionControlResumeToken.
type MissionControlResumeToken = string

// MissionControlRootLimit defines model for MissionControlRootLimit.
type MissionControlRootLimit = int

// MissionControlSearch defines model for MissionControlSearch.
type MissionControlSearch = string

// MissionControlViewMode defines model for MissionControlViewMode.
type MissionControlViewMode string

// MissionControlWorkspaceStatePreset defines model for MissionControlWorkspaceStatePreset.
type MissionControlWorkspaceStatePreset string

// MissionControlWorkspaceViewMode defines model for MissionControlWorkspaceViewMode.
type MissionControlWorkspaceViewMode string

// Page defines model for Page.
type Page = int

// PageSize defines model for PageSize.
type PageSize = int

// ProjectID defines model for ProjectID.
type ProjectID = string

// RunID defines model for RunID.
type RunID = string

// RunStatusFilter defines model for RunStatusFilter.
type RunStatusFilter = string

// RuntimeErrorID defines model for RuntimeErrorID.
type RuntimeErrorID = string

// SettingKey defines model for SettingKey.
type SettingKey = string

// TailLines defines model for TailLines.
type TailLines = int

// TriggerKindFilter defines model for TriggerKindFilter.
type TriggerKindFilter = string

// UserID defines model for UserID.
type UserID = string

// WaitStateFilter defines model for WaitStateFilter.
type WaitStateFilter = string

// BadRequest defines model for BadRequest.
type BadRequest = ErrorResponse

// Conflict defines model for Conflict.
type Conflict = ErrorResponse

// Forbidden defines model for Forbidden.
type Forbidden = ErrorResponse

// Internal defines model for Internal.
type Internal = ErrorResponse

// NotFound defines model for NotFound.
type NotFound = ErrorResponse

// TooManyRequests defines model for TooManyRequests.
type TooManyRequests = ErrorResponse

// Unauthorized defines model for Unauthorized.
type Unauthorized = ErrorResponse

// CallbackGithubParams defines parameters for CallbackGithub.
type CallbackGithubParams struct {
	State string `form:"state" json:"state"`
	Code  string `form:"code" json:"code"`
}

// McpApproverCallbackParams defines parameters for McpApproverCallback.
type McpApproverCallbackParams struct {
	// XCodexMCPToken Callback bearer token. Authorization: Bearer ... is also accepted.
	XCodexMCPToken *MCPCallbackToken `json:"X-Codex-MCP-Token,omitempty"`
}

// McpExecutorCallbackParams defines parameters for McpExecutorCallback.
type McpExecutorCallbackParams struct {
	// XCodexMCPToken Callback bearer token. Authorization: Bearer ... is also accepted.
	XCodexMCPToken *MCPCallbackToken `json:"X-Codex-MCP-Token,omitempty"`
}

// McpInteractionCallbackParams defines parameters for McpInteractionCallback.
type McpInteractionCallbackParams struct {
	// XCodexMCPToken Callback bearer token. Authorization: Bearer ... is also accepted.
	XCodexMCPToken *MCPCallbackToken `json:"X-Codex-MCP-Token,omitempty"`
}

// ListPendingApprovalsParams defines parameters for ListPendingApprovals.
type ListPendingApprovalsParams struct {
	Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
}

// ListDocsetGroupsParams defines parameters for ListDocsetGroups.
type ListDocsetGroupsParams struct {
	DocsetRef *string                       `form:"docset_ref,omitempty" json:"docset_ref,omitempty"`
	Locale    *ListDocsetGroupsParamsLocale `form:"locale,omitempty" json:"locale,omitempty"`
}

// ListDocsetGroupsParamsLocale defines parameters for ListDocsetGroups.
type ListDocsetGroupsParamsLocale string

// SubmitMissionControlCommandParams defines parameters for SubmitMissionControlCommand.
type SubmitMissionControlCommandParams struct {
	IdempotencyKey MissionControlIdempotencyKey `json:"Idempotency-Key"`
	XCorrelationID *MissionControlCorrelationID `json:"X-Correlation-ID,omitempty"`
}

// GetMissionControlNodeParamsNodeKind defines parameters for GetMissionControlNode.
type GetMissionControlNodeParamsNodeKind string

// ListMissionControlNodeActivityParams defines parameters for ListMissionControlNodeActivity.
type ListMissionControlNodeActivityParams struct {
	Cursor *MissionControlCursor `form:"cursor,omitempty" json:"cursor,omitempty"`
	Limit  *Limit                `form:"limit,omitempty" json:"limit,omitempty"`
}

// ListMissionControlNodeActivityParamsNodeKind defines parameters for ListMissionControlNodeActivity.
type ListMissionControlNodeActivityParamsNodeKind string

// MissionControlRealtimeParams defines parameters for MissionControlRealtime.
type MissionControlRealtimeParams struct {
	ResumeToken MissionControlResumeToken `form:"resume_token" json:"resume_token"`
}

// GetMissionControlWorkspaceParams defines parameters for GetMissionControlWorkspace.
type GetMissionControlWorkspaceParams struct {
	ViewMode    *GetMissionControlWorkspaceParamsViewMode    `form:"view_mode,omitempty" json:"view_mode,omitempty"`
	StatePreset *GetMissionControlWorkspaceParamsStatePreset `form:"state_preset,omitempty" json:"state_preset,omitempty"`
	Search      *MissionControlSearch                        `form:"search,omitempty" json:"search,omitempty"`
	Cursor      *MissionControlCursor                        `form:"cursor,omitempty" json:"cursor,omitempty"`
	RootLimit   *MissionControlRootLimit                     `form:"root_limit,omitempty" json:"root_limit,omitempty"`
}

// GetMissionControlWorkspaceParamsViewMode defines parameters for GetMissionControlWorkspace.
type GetMissionControlWorkspaceParamsViewMode string

// GetMissionControlWorkspaceParamsStatePreset defines parameters for GetMissionControlWorkspace.
type GetMissionControlWorkspaceParamsStatePreset string

// ListProjectsParams defines parameters for ListProjects.
type ListProjectsParams struct {
	Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
}

// ListProjectMembersParams defines parameters for ListProjectMembers.
type ListProjectMembersParams struct {
	Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
}

// ListProjectRepositoriesParams defines parameters for ListProjectRepositories.
type ListProjectRepositoriesParams struct {
	Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
}

// RunsRealtimeParams defines parameters for RunsRealtime.
type RunsRealtimeParams struct {
	Page     *Page     `form:"page,omitempty" json:"page,omitempty"`
	PageSize *PageSize `form:"page_size,omitempty" json:"page_size,omitempty"`
}

// ListRunWaitsParams defines parameters for ListRunWaits.
type ListRunWaitsParams struct {
	Limit       *Limit             `form:"limit,omitempty" json:"limit,omitempty"`
	TriggerKind *TriggerKindFilter `form:"trigger_kind,omitempty" json:"trigger_kind,omitempty"`
	Status      *RunStatusFilter   `form:"status,omitempty" json:"status,omitempty"`
	AgentKey    *AgentKeyFilter    `form:"agent_key,omitempty" json:"agent_key,omitempty"`
	WaitState   *WaitStateFilter   `form:"wait_state,omitempty" json:"wait_state,omitempty"`
}

// ListRunEventsParams defines parameters for ListRunEvents.
type ListRunEventsParams struct {
	Limit          *Limit          `form:"limit,omitempty" json:"limit,omitempty"`
	IncludePayload *IncludePayload `form:"include_payload,omitempty" json:"include_payload,omitempty"`
}

// ListRunLearningFeedbackParams defines parameters for ListRunLearningFeedback.
type ListRunLearningFeedbackParams struct {
	Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
}

// GetRunLogsParams defines parameters for GetRunLogs.
type GetRunLogsParams struct {
	TailLines       *TailLines       `form:"tail_lines,omitempty" json:"tail_lines,omitempty"`
	IncludeSnapshot *IncludeSnapshot `form:"include_snapshot,omitempty" json:"include_snapshot,omitempty"`
}

// RunRealtimeParams defines parameters for RunRealtime.
type RunRealtimeParams struct {
	Limit       *Limit       `form:"limit,omitempty" json:"limit,omitempty"`
	TailLines   *TailLines   `form:"tail_lines,omitempty" json:"tail_lines,omitempty"`
	IncludeLogs *IncludeLogs `form:"include_logs,omitempty" json:"include_logs,omitempty"`
}

// RuntimeDeployTasksRealtimeParams defines parameters for RuntimeDeployTasksRealtime.
type RuntimeDeployTasksRealtimeParams struct {
	Page      *Page                                   `form:"page,omitempty" json:"page,omitempty"`
	PageSize  *PageSize                               `form:"page_size,omitempty" json:"page_size,omitempty"`
	Status    *RuntimeDeployTasksRealtimeParamsStatus `form:"status,omitempty" json:"status,omitempty"`
	TargetEnv *string                                 `form:"target_env,omitempty" json:"target_env,omitempty"`
}

// RuntimeDeployTasksRealtimeParamsStatus defines parameters for RuntimeDeployTasksRealtime.
type RuntimeDeployTasksRealtimeParamsStatus string

// ListRuntimeErrorsParams defines parameters for ListRuntimeErrors.
type ListRuntimeErrorsParams struct {
	Limit         *Limit                        `form:"limit,omitempty" json:"limit,omitempty"`
	State         *ListRuntimeErrorsParamsState `form:"state,omitempty" json:"state,omitempty"`
	Level         *ListRuntimeErrorsParamsLevel `form:"level,omitempty" json:"level,omitempty"`
	Source        *string                       `form:"source,omitempty" json:"source,omitempty"`
	RunId         *string                       `form:"run_id,omitempty" json:"run_id,omitempty"`
	CorrelationId *string                       `form:"correlation_id,omitempty" json:"correlation_id,omitempty"`
}

// ListRuntimeErrorsParamsState defines parameters for ListRuntimeErrors.
type ListRuntimeErrorsParamsState string

// ListRuntimeErrorsParamsLevel defines parameters for ListRuntimeErrors.
type ListRuntimeErrorsParamsLevel string

// ListUsersParams defines parameters for ListUsers.
type ListUsersParams struct {
	Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
}

// IngestGithubWebhookJSONBody defines parameters for IngestGithubWebhook.
type IngestGithubWebhookJSONBody map[string]interface{}

// IngestGithubWebhookParams defines parameters for IngestGithubWebhook.
type IngestGithubWebhookParams struct {
	XGitHubEvent     string `json:"X-GitHub-Event"`
	XGitHubDelivery  string `json:"X-GitHub-Delivery"`
	XHubSignature256 string `json:"X-Hub-Signature-256"`
}

// McpApproverCallbackJSONRequestBody defines body for McpApproverCallback for application/json ContentType.
type McpApproverCallbackJSONRequestBody = MCPApprovalCallbackRequest

// McpExecutorCallbackJSONRequestBody defines body for McpExecutorCallback for application/json ContentType.
type McpExecutorCallbackJSONRequestBody = MCPApprovalCallbackRequest

// McpInteractionCallbackJSONRequestBody defines body for McpInteractionCallback for application/json ContentType.
type McpInteractionCallbackJSONRequestBody = InteractionCallbackEnvelope

// ResolveApprovalDecisionJSONRequestBody defines body for ResolveApprovalDecision for application/json ContentType.
type ResolveApprovalDecisionJSONRequestBody = ResolveApprovalDecisionRequest

// ExecuteNextStepActionJSONRequestBody defines body for ExecuteNextStepAction for application/json ContentType.
type ExecuteNextStepActionJSONRequestBody = NextStepActionRequest

// PreviewNextStepActionJSONRequestBody defines body for PreviewNextStepAction for application/json ContentType.
type PreviewNextStepActionJSONRequestBody = NextStepActionRequest

// SubmitMissionControlCommandJSONRequestBody defines body for SubmitMissionControlCommand for application/json ContentType.
type SubmitMissionControlCommandJSONRequestBody = MissionControlCommandRequest

// PreviewMissionControlLaunchJSONRequestBody defines body for PreviewMissionControlLaunch for application/json ContentType.
type PreviewMissionControlLaunchJSONRequestBody = MissionControlLaunchPreviewRequest

// UpsertProjectJSONRequestBody defines body for UpsertProject for application/json ContentType.
type UpsertProjectJSONRequestBody = UpsertProjectRequest

// ImportDocsetJSONRequestBody defines body for ImportDocset for application/json ContentType.
type ImportDocsetJSONRequestBody = ImportDocsetRequest

// SyncDocsetJSONRequestBody defines body for SyncDocset for application/json ContentType.
type SyncDocsetJSONRequestBody = SyncDocsetRequest

// UpsertProjectGitHubTokensJSONRequestBody defines body for UpsertProjectGitHubTokens for application/json ContentType.
type UpsertProjectGitHubTokensJSONRequestBody = UpsertProjectGitHubTokensRequest

// UpsertProjectMemberJSONRequestBody defines body for UpsertProjectMember for application/json ContentType.
type UpsertProjectMemberJSONRequestBody = UpsertProjectMemberRequest

// SetProjectMemberLearningModeOverrideJSONRequestBody defines body for SetProjectMemberLearningModeOverride for application/json ContentType.
type SetProjectMemberLearningModeOverrideJSONRequestBody = SetProjectMemberLearningModeRequest

// UpsertProjectRepositoryJSONRequestBody defines body for UpsertProjectRepository for application/json ContentType.
type UpsertProjectRepositoryJSONRequestBody = UpsertProjectRepositoryRequest

// UpsertRepositoryBotParamsJSONRequestBody defines body for UpsertRepositoryBotParams for application/json ContentType.
type UpsertRepositoryBotParamsJSONRequestBody = UpsertRepositoryBotParamsRequest

// CancelRunJSONRequestBody defines body for CancelRun for application/json ContentType.
type CancelRunJSONRequestBody = RunActionRequest

// CancelRuntimeDeployTaskJSONRequestBody defines body for CancelRuntimeDeployTask for application/json ContentType.
type CancelRuntimeDeployTaskJSONRequestBody = RuntimeDeployTaskActionRequest

// StopRuntimeDeployTaskJSONRequestBody defines body for StopRuntimeDeployTask for application/json ContentType.
type StopRuntimeDeployTaskJSONRequestBody = RuntimeDeployTaskActionRequest

// UpdateSystemSettingBooleanJSONRequestBody defines body for UpdateSystemSettingBoolean for application/json ContentType.
type UpdateSystemSettingBooleanJSONRequestBody = UpdateSystemSettingBooleanRequest

// CreateUserJSONRequestBody defines body for CreateUser for application/json ContentType.
type CreateUserJSONRequestBody = CreateUserRequest

// IngestGithubWebhookJSONRequestBody defines body for IngestGithubWebhook for application/json ContentType.
type IngestGithubWebhookJSONRequestBody IngestGithubWebhookJSONBody

// AsMissionControlDiscussionCreateCommandRequest returns the union data inside the MissionControlCommandRequest as a MissionControlDiscussionCreateCommandRequest
func (t MissionControlCommandRequest) AsMissionControlDiscussionCreateCommandRequest() (MissionControlDiscussionCreateCommandRequest, error) {
	var body MissionControlDiscussionCreateCommandRequest
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlDiscussionCreateCommandRequest overwrites any union data inside the MissionControlCommandRequest as the provided MissionControlDiscussionCreateCommandRequest
func (t *MissionControlCommandRequest) FromMissionControlDiscussionCreateCommandRequest(v MissionControlDiscussionCreateCommandRequest) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlDiscussionCreateCommandRequest performs a merge with any union data inside the MissionControlCommandRequest, using the provided MissionControlDiscussionCreateCommandRequest
func (t *MissionControlCommandRequest) MergeMissionControlDiscussionCreateCommandRequest(v MissionControlDiscussionCreateCommandRequest) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlWorkItemCreateCommandRequest returns the union data inside the MissionControlCommandRequest as a MissionControlWorkItemCreateCommandRequest
func (t MissionControlCommandRequest) AsMissionControlWorkItemCreateCommandRequest() (MissionControlWorkItemCreateCommandRequest, error) {
	var body MissionControlWorkItemCreateCommandRequest
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlWorkItemCreateCommandRequest overwrites any union data inside the MissionControlCommandRequest as the provided MissionControlWorkItemCreateCommandRequest
func (t *MissionControlCommandRequest) FromMissionControlWorkItemCreateCommandRequest(v MissionControlWorkItemCreateCommandRequest) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlWorkItemCreateCommandRequest performs a merge with any union data inside the MissionControlCommandRequest, using the provided MissionControlWorkItemCreateCommandRequest
func (t *MissionControlCommandRequest) MergeMissionControlWorkItemCreateCommandRequest(v MissionControlWorkItemCreateCommandRequest) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlDiscussionFormalizeCommandRequest returns the union data inside the MissionControlCommandRequest as a MissionControlDiscussionFormalizeCommandRequest
func (t MissionControlCommandRequest) AsMissionControlDiscussionFormalizeCommandRequest() (MissionControlDiscussionFormalizeCommandRequest, error) {
	var body MissionControlDiscussionFormalizeCommandRequest
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlDiscussionFormalizeCommandRequest overwrites any union data inside the MissionControlCommandRequest as the provided MissionControlDiscussionFormalizeCommandRequest
func (t *MissionControlCommandRequest) FromMissionControlDiscussionFormalizeCommandRequest(v MissionControlDiscussionFormalizeCommandRequest) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlDiscussionFormalizeCommandRequest performs a merge with any union data inside the MissionControlCommandRequest, using the provided MissionControlDiscussionFormalizeCommandRequest
func (t *MissionControlCommandRequest) MergeMissionControlDiscussionFormalizeCommandRequest(v MissionControlDiscussionFormalizeCommandRequest) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlStageNextStepCommandRequest returns the union data inside the MissionControlCommandRequest as a MissionControlStageNextStepCommandRequest
func (t MissionControlCommandRequest) AsMissionControlStageNextStepCommandRequest() (MissionControlStageNextStepCommandRequest, error) {
	var body MissionControlStageNextStepCommandRequest
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlStageNextStepCommandRequest overwrites any union data inside the MissionControlCommandRequest as the provided MissionControlStageNextStepCommandRequest
func (t *MissionControlCommandRequest) FromMissionControlStageNextStepCommandRequest(v MissionControlStageNextStepCommandRequest) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlStageNextStepCommandRequest performs a merge with any union data inside the MissionControlCommandRequest, using the provided MissionControlStageNextStepCommandRequest
func (t *MissionControlCommandRequest) MergeMissionControlStageNextStepCommandRequest(v MissionControlStageNextStepCommandRequest) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlRetrySyncCommandRequest returns the union data inside the MissionControlCommandRequest as a MissionControlRetrySyncCommandRequest
func (t MissionControlCommandRequest) AsMissionControlRetrySyncCommandRequest() (MissionControlRetrySyncCommandRequest, error) {
	var body MissionControlRetrySyncCommandRequest
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlRetrySyncCommandRequest overwrites any union data inside the MissionControlCommandRequest as the provided MissionControlRetrySyncCommandRequest
func (t *MissionControlCommandRequest) FromMissionControlRetrySyncCommandRequest(v MissionControlRetrySyncCommandRequest) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlRetrySyncCommandRequest performs a merge with any union data inside the MissionControlCommandRequest, using the provided MissionControlRetrySyncCommandRequest
func (t *MissionControlCommandRequest) MergeMissionControlRetrySyncCommandRequest(v MissionControlRetrySyncCommandRequest) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

func (t MissionControlCommandRequest) MarshalJSON() ([]byte, error) {
	b, err := t.union.MarshalJSON()
	return b, err
}

func (t *MissionControlCommandRequest) UnmarshalJSON(b []byte) error {
	err := t.union.UnmarshalJSON(b)
	return err
}

// AsWorkItemDetailsPayload returns the union data inside the MissionControlEntityDetailsPayload as a WorkItemDetailsPayload
func (t MissionControlEntityDetailsPayload) AsWorkItemDetailsPayload() (WorkItemDetailsPayload, error) {
	var body WorkItemDetailsPayload
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromWorkItemDetailsPayload overwrites any union data inside the MissionControlEntityDetailsPayload as the provided WorkItemDetailsPayload
func (t *MissionControlEntityDetailsPayload) FromWorkItemDetailsPayload(v WorkItemDetailsPayload) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeWorkItemDetailsPayload performs a merge with any union data inside the MissionControlEntityDetailsPayload, using the provided WorkItemDetailsPayload
func (t *MissionControlEntityDetailsPayload) MergeWorkItemDetailsPayload(v WorkItemDetailsPayload) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsDiscussionDetailsPayload returns the union data inside the MissionControlEntityDetailsPayload as a DiscussionDetailsPayload
func (t MissionControlEntityDetailsPayload) AsDiscussionDetailsPayload() (DiscussionDetailsPayload, error) {
	var body DiscussionDetailsPayload
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromDiscussionDetailsPayload overwrites any union data inside the MissionControlEntityDetailsPayload as the provided DiscussionDetailsPayload
func (t *MissionControlEntityDetailsPayload) FromDiscussionDetailsPayload(v DiscussionDetailsPayload) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeDiscussionDetailsPayload performs a merge with any union data inside the MissionControlEntityDetailsPayload, using the provided DiscussionDetailsPayload
func (t *MissionControlEntityDetailsPayload) MergeDiscussionDetailsPayload(v DiscussionDetailsPayload) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsPullRequestDetailsPayload returns the union data inside the MissionControlEntityDetailsPayload as a PullRequestDetailsPayload
func (t MissionControlEntityDetailsPayload) AsPullRequestDetailsPayload() (PullRequestDetailsPayload, error) {
	var body PullRequestDetailsPayload
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromPullRequestDetailsPayload overwrites any union data inside the MissionControlEntityDetailsPayload as the provided PullRequestDetailsPayload
func (t *MissionControlEntityDetailsPayload) FromPullRequestDetailsPayload(v PullRequestDetailsPayload) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergePullRequestDetailsPayload performs a merge with any union data inside the MissionControlEntityDetailsPayload, using the provided PullRequestDetailsPayload
func (t *MissionControlEntityDetailsPayload) MergePullRequestDetailsPayload(v PullRequestDetailsPayload) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsAgentDetailsPayload returns the union data inside the MissionControlEntityDetailsPayload as a AgentDetailsPayload
func (t MissionControlEntityDetailsPayload) AsAgentDetailsPayload() (AgentDetailsPayload, error) {
	var body AgentDetailsPayload
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromAgentDetailsPayload overwrites any union data inside the MissionControlEntityDetailsPayload as the provided AgentDetailsPayload
func (t *MissionControlEntityDetailsPayload) FromAgentDetailsPayload(v AgentDetailsPayload) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeAgentDetailsPayload performs a merge with any union data inside the MissionControlEntityDetailsPayload, using the provided AgentDetailsPayload
func (t *MissionControlEntityDetailsPayload) MergeAgentDetailsPayload(v AgentDetailsPayload) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

func (t MissionControlEntityDetailsPayload) MarshalJSON() ([]byte, error) {
	b, err := t.union.MarshalJSON()
	return b, err
}

func (t *MissionControlEntityDetailsPayload) UnmarshalJSON(b []byte) error {
	err := t.union.UnmarshalJSON(b)
	return err
}

// AsMissionControlDiscussionNodeDetails returns the union data inside the MissionControlNodeDetailsPayload as a MissionControlDiscussionNodeDetails
func (t MissionControlNodeDetailsPayload) AsMissionControlDiscussionNodeDetails() (MissionControlDiscussionNodeDetails, error) {
	var body MissionControlDiscussionNodeDetails
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlDiscussionNodeDetails overwrites any union data inside the MissionControlNodeDetailsPayload as the provided MissionControlDiscussionNodeDetails
func (t *MissionControlNodeDetailsPayload) FromMissionControlDiscussionNodeDetails(v MissionControlDiscussionNodeDetails) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlDiscussionNodeDetails performs a merge with any union data inside the MissionControlNodeDetailsPayload, using the provided MissionControlDiscussionNodeDetails
func (t *MissionControlNodeDetailsPayload) MergeMissionControlDiscussionNodeDetails(v MissionControlDiscussionNodeDetails) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlWorkItemNodeDetails returns the union data inside the MissionControlNodeDetailsPayload as a MissionControlWorkItemNodeDetails
func (t MissionControlNodeDetailsPayload) AsMissionControlWorkItemNodeDetails() (MissionControlWorkItemNodeDetails, error) {
	var body MissionControlWorkItemNodeDetails
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlWorkItemNodeDetails overwrites any union data inside the MissionControlNodeDetailsPayload as the provided MissionControlWorkItemNodeDetails
func (t *MissionControlNodeDetailsPayload) FromMissionControlWorkItemNodeDetails(v MissionControlWorkItemNodeDetails) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlWorkItemNodeDetails performs a merge with any union data inside the MissionControlNodeDetailsPayload, using the provided MissionControlWorkItemNodeDetails
func (t *MissionControlNodeDetailsPayload) MergeMissionControlWorkItemNodeDetails(v MissionControlWorkItemNodeDetails) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlRunNodeDetails returns the union data inside the MissionControlNodeDetailsPayload as a MissionControlRunNodeDetails
func (t MissionControlNodeDetailsPayload) AsMissionControlRunNodeDetails() (MissionControlRunNodeDetails, error) {
	var body MissionControlRunNodeDetails
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlRunNodeDetails overwrites any union data inside the MissionControlNodeDetailsPayload as the provided MissionControlRunNodeDetails
func (t *MissionControlNodeDetailsPayload) FromMissionControlRunNodeDetails(v MissionControlRunNodeDetails) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlRunNodeDetails performs a merge with any union data inside the MissionControlNodeDetailsPayload, using the provided MissionControlRunNodeDetails
func (t *MissionControlNodeDetailsPayload) MergeMissionControlRunNodeDetails(v MissionControlRunNodeDetails) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlPullRequestNodeDetails returns the union data inside the MissionControlNodeDetailsPayload as a MissionControlPullRequestNodeDetails
func (t MissionControlNodeDetailsPayload) AsMissionControlPullRequestNodeDetails() (MissionControlPullRequestNodeDetails, error) {
	var body MissionControlPullRequestNodeDetails
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlPullRequestNodeDetails overwrites any union data inside the MissionControlNodeDetailsPayload as the provided MissionControlPullRequestNodeDetails
func (t *MissionControlNodeDetailsPayload) FromMissionControlPullRequestNodeDetails(v MissionControlPullRequestNodeDetails) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlPullRequestNodeDetails performs a merge with any union data inside the MissionControlNodeDetailsPayload, using the provided MissionControlPullRequestNodeDetails
func (t *MissionControlNodeDetailsPayload) MergeMissionControlPullRequestNodeDetails(v MissionControlPullRequestNodeDetails) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

func (t MissionControlNodeDetailsPayload) MarshalJSON() ([]byte, error) {
	b, err := t.union.MarshalJSON()
	return b, err
}

func (t *MissionControlNodeDetailsPayload) UnmarshalJSON(b []byte) error {
	err := t.union.UnmarshalJSON(b)
	return err
}

// AsMissionControlConnectedRealtimePayload returns the union data inside the MissionControlRealtimePayload as a MissionControlConnectedRealtimePayload
func (t MissionControlRealtimePayload) AsMissionControlConnectedRealtimePayload() (MissionControlConnectedRealtimePayload, error) {
	var body MissionControlConnectedRealtimePayload
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlConnectedRealtimePayload overwrites any union data inside the MissionControlRealtimePayload as the provided MissionControlConnectedRealtimePayload
func (t *MissionControlRealtimePayload) FromMissionControlConnectedRealtimePayload(v MissionControlConnectedRealtimePayload) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlConnectedRealtimePayload performs a merge with any union data inside the MissionControlRealtimePayload, using the provided MissionControlConnectedRealtimePayload
func (t *MissionControlRealtimePayload) MergeMissionControlConnectedRealtimePayload(v MissionControlConnectedRealtimePayload) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlDeltaRealtimePayload returns the union data inside the MissionControlRealtimePayload as a MissionControlDeltaRealtimePayload
func (t MissionControlRealtimePayload) AsMissionControlDeltaRealtimePayload() (MissionControlDeltaRealtimePayload, error) {
	var body MissionControlDeltaRealtimePayload
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlDeltaRealtimePayload overwrites any union data inside the MissionControlRealtimePayload as the provided MissionControlDeltaRealtimePayload
func (t *MissionControlRealtimePayload) FromMissionControlDeltaRealtimePayload(v MissionControlDeltaRealtimePayload) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlDeltaRealtimePayload performs a merge with any union data inside the MissionControlRealtimePayload, using the provided MissionControlDeltaRealtimePayload
func (t *MissionControlRealtimePayload) MergeMissionControlDeltaRealtimePayload(v MissionControlDeltaRealtimePayload) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlInvalidateRealtimePayload returns the union data inside the MissionControlRealtimePayload as a MissionControlInvalidateRealtimePayload
func (t MissionControlRealtimePayload) AsMissionControlInvalidateRealtimePayload() (MissionControlInvalidateRealtimePayload, error) {
	var body MissionControlInvalidateRealtimePayload
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlInvalidateRealtimePayload overwrites any union data inside the MissionControlRealtimePayload as the provided MissionControlInvalidateRealtimePayload
func (t *MissionControlRealtimePayload) FromMissionControlInvalidateRealtimePayload(v MissionControlInvalidateRealtimePayload) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlInvalidateRealtimePayload performs a merge with any union data inside the MissionControlRealtimePayload, using the provided MissionControlInvalidateRealtimePayload
func (t *MissionControlRealtimePayload) MergeMissionControlInvalidateRealtimePayload(v MissionControlInvalidateRealtimePayload) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlStaleRealtimePayload returns the union data inside the MissionControlRealtimePayload as a MissionControlStaleRealtimePayload
func (t MissionControlRealtimePayload) AsMissionControlStaleRealtimePayload() (MissionControlStaleRealtimePayload, error) {
	var body MissionControlStaleRealtimePayload
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlStaleRealtimePayload overwrites any union data inside the MissionControlRealtimePayload as the provided MissionControlStaleRealtimePayload
func (t *MissionControlRealtimePayload) FromMissionControlStaleRealtimePayload(v MissionControlStaleRealtimePayload) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlStaleRealtimePayload performs a merge with any union data inside the MissionControlRealtimePayload, using the provided MissionControlStaleRealtimePayload
func (t *MissionControlRealtimePayload) MergeMissionControlStaleRealtimePayload(v MissionControlStaleRealtimePayload) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlDegradedRealtimePayload returns the union data inside the MissionControlRealtimePayload as a MissionControlDegradedRealtimePayload
func (t MissionControlRealtimePayload) AsMissionControlDegradedRealtimePayload() (MissionControlDegradedRealtimePayload, error) {
	var body MissionControlDegradedRealtimePayload
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlDegradedRealtimePayload overwrites any union data inside the MissionControlRealtimePayload as the provided MissionControlDegradedRealtimePayload
func (t *MissionControlRealtimePayload) FromMissionControlDegradedRealtimePayload(v MissionControlDegradedRealtimePayload) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlDegradedRealtimePayload performs a merge with any union data inside the MissionControlRealtimePayload, using the provided MissionControlDegradedRealtimePayload
func (t *MissionControlRealtimePayload) MergeMissionControlDegradedRealtimePayload(v MissionControlDegradedRealtimePayload) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlResyncRequiredRealtimePayload returns the union data inside the MissionControlRealtimePayload as a MissionControlResyncRequiredRealtimePayload
func (t MissionControlRealtimePayload) AsMissionControlResyncRequiredRealtimePayload() (MissionControlResyncRequiredRealtimePayload, error) {
	var body MissionControlResyncRequiredRealtimePayload
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlResyncRequiredRealtimePayload overwrites any union data inside the MissionControlRealtimePayload as the provided MissionControlResyncRequiredRealtimePayload
func (t *MissionControlRealtimePayload) FromMissionControlResyncRequiredRealtimePayload(v MissionControlResyncRequiredRealtimePayload) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlResyncRequiredRealtimePayload performs a merge with any union data inside the MissionControlRealtimePayload, using the provided MissionControlResyncRequiredRealtimePayload
func (t *MissionControlRealtimePayload) MergeMissionControlResyncRequiredRealtimePayload(v MissionControlResyncRequiredRealtimePayload) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlHeartbeatRealtimePayload returns the union data inside the MissionControlRealtimePayload as a MissionControlHeartbeatRealtimePayload
func (t MissionControlRealtimePayload) AsMissionControlHeartbeatRealtimePayload() (MissionControlHeartbeatRealtimePayload, error) {
	var body MissionControlHeartbeatRealtimePayload
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlHeartbeatRealtimePayload overwrites any union data inside the MissionControlRealtimePayload as the provided MissionControlHeartbeatRealtimePayload
func (t *MissionControlRealtimePayload) FromMissionControlHeartbeatRealtimePayload(v MissionControlHeartbeatRealtimePayload) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlHeartbeatRealtimePayload performs a merge with any union data inside the MissionControlRealtimePayload, using the provided MissionControlHeartbeatRealtimePayload
func (t *MissionControlRealtimePayload) MergeMissionControlHeartbeatRealtimePayload(v MissionControlHeartbeatRealtimePayload) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsMissionControlErrorRealtimePayload returns the union data inside the MissionControlRealtimePayload as a MissionControlErrorRealtimePayload
func (t MissionControlRealtimePayload) AsMissionControlErrorRealtimePayload() (MissionControlErrorRealtimePayload, error) {
	var body MissionControlErrorRealtimePayload
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromMissionControlErrorRealtimePayload overwrites any union data inside the MissionControlRealtimePayload as the provided MissionControlErrorRealtimePayload
func (t *MissionControlRealtimePayload) FromMissionControlErrorRealtimePayload(v MissionControlErrorRealtimePayload) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeMissionControlErrorRealtimePayload performs a merge with any union data inside the MissionControlRealtimePayload, using the provided MissionControlErrorRealtimePayload
func (t *MissionControlRealtimePayload) MergeMissionControlErrorRealtimePayload(v MissionControlErrorRealtimePayload) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

func (t MissionControlRealtimePayload) MarshalJSON() ([]byte, error) {
	b, err := t.union.MarshalJSON()
	return b, err
}

func (t *MissionControlRealtimePayload) UnmarshalJSON(b []byte) error {
	err := t.union.UnmarshalJSON(b)
	return err
}

// AsUpsertProjectMemberRequest0 returns the union data inside the UpsertProjectMemberRequest as a UpsertProjectMemberRequest0
func (t UpsertProjectMemberRequest) AsUpsertProjectMemberRequest0() (UpsertProjectMemberRequest0, error) {
	var body UpsertProjectMemberRequest0
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromUpsertProjectMemberRequest0 overwrites any union data inside the UpsertProjectMemberRequest as the provided UpsertProjectMemberRequest0
func (t *UpsertProjectMemberRequest) FromUpsertProjectMemberRequest0(v UpsertProjectMemberRequest0) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeUpsertProjectMemberRequest0 performs a merge with any union data inside the UpsertProjectMemberRequest, using the provided UpsertProjectMemberRequest0
func (t *UpsertProjectMemberRequest) MergeUpsertProjectMemberRequest0(v UpsertProjectMemberRequest0) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

// AsUpsertProjectMemberRequest1 returns the union data inside the UpsertProjectMemberRequest as a UpsertProjectMemberRequest1
func (t UpsertProjectMemberRequest) AsUpsertProjectMemberRequest1() (UpsertProjectMemberRequest1, error) {
	var body UpsertProjectMemberRequest1
	err := json.Unmarshal(t.union, &body)
	return body, err
}

// FromUpsertProjectMemberRequest1 overwrites any union data inside the UpsertProjectMemberRequest as the provided UpsertProjectMemberRequest1
func (t *UpsertProjectMemberRequest) FromUpsertProjectMemberRequest1(v UpsertProjectMemberRequest1) error {
	b, err := json.Marshal(v)
	t.union = b
	return err
}

// MergeUpsertProjectMemberRequest1 performs a merge with any union data inside the UpsertProjectMemberRequest, using the provided UpsertProjectMemberRequest1
func (t *UpsertProjectMemberRequest) MergeUpsertProjectMemberRequest1(v UpsertProjectMemberRequest1) error {
	b, err := json.Marshal(v)
	if err != nil {
		return err
	}

	merged, err := runtime.JSONMerge(t.union, b)
	t.union = merged
	return err
}

func (t UpsertProjectMemberRequest) MarshalJSON() ([]byte, error) {
	b, err := t.union.MarshalJSON()
	if err != nil {
		return nil, err
	}
	object := make(map[string]json.RawMessage)
	if t.union != nil {
		err = json.Unmarshal(b, &object)
		if err != nil {
			return nil, err
		}
	}

	if t.Email != nil {
		object["email"], err = json.Marshal(t.Email)
		if err != nil {
			return nil, fmt.Errorf("error marshaling 'email': %w", err)
		}
	}

	if t.Role != nil {
		object["role"], err = json.Marshal(t.Role)
		if err != nil {
			return nil, fmt.Errorf("error marshaling 'role': %w", err)
		}
	}

	if t.UserId != nil {
		object["user_id"], err = json.Marshal(t.UserId)
		if err != nil {
			return nil, fmt.Errorf("error marshaling 'user_id': %w", err)
		}
	}
	b, err = json.Marshal(object)
	return b, err
}

func (t *UpsertProjectMemberRequest) UnmarshalJSON(b []byte) error {
	err := t.union.UnmarshalJSON(b)
	if err != nil {
		return err
	}
	object := make(map[string]json.RawMessage)
	err = json.Unmarshal(b, &object)
	if err != nil {
		return err
	}

	if raw, found := object["email"]; found {
		err = json.Unmarshal(raw, &t.Email)
		if err != nil {
			return fmt.Errorf("error reading 'email': %w", err)
		}
	}

	if raw, found := object["role"]; found {
		err = json.Unmarshal(raw, &t.Role)
		if err != nil {
			return fmt.Errorf("error reading 'role': %w", err)
		}
	}

	if raw, found := object["user_id"]; found {
		err = json.Unmarshal(raw, &t.UserId)
		if err != nil {
			return fmt.Errorf("error reading 'user_id': %w", err)
		}
	}

	return err
}

// ServerInterface represents all server handlers.
type ServerInterface interface {
	// Complete GitHub OAuth callback and set auth cookie
	// (GET /api/v1/auth/github/callback)
	CallbackGithub(w http.ResponseWriter, r *http.Request, params CallbackGithubParams)
	// Start GitHub OAuth login
	// (GET /api/v1/auth/github/login)
	LoginGithub(w http.ResponseWriter, r *http.Request)
	// Logout current staff user
	// (POST /api/v1/auth/logout)
	Logout(w http.ResponseWriter, r *http.Request)
	// Get current authenticated staff principal
	// (GET /api/v1/auth/me)
	GetMe(w http.ResponseWriter, r *http.Request)
	// Resolve one MCP approval request from external approver callback
	// (POST /api/v1/mcp/approver/callback)
	McpApproverCallback(w http.ResponseWriter, r *http.Request, params McpApproverCallbackParams)
	// Resolve one MCP approval request from external executor callback
	// (POST /api/v1/mcp/executor/callback)
	McpExecutorCallback(w http.ResponseWriter, r *http.Request, params McpExecutorCallbackParams)
	// Apply one built-in MCP user interaction callback
	// (POST /api/v1/mcp/interactions/callback)
	McpInteractionCallback(w http.ResponseWriter, r *http.Request, params McpInteractionCallbackParams)
	// List pending approval requests
	// (GET /api/v1/staff/approvals)
	ListPendingApprovals(w http.ResponseWriter, r *http.Request, params ListPendingApprovalsParams)
	// Resolve one approval request (approve/deny/expire/fail)
	// (POST /api/v1/staff/approvals/{approval_request_id}/decision)
	ResolveApprovalDecision(w http.ResponseWriter, r *http.Request, approvalRequestId ApprovalRequestID)
	// List docset groups (manifest v1)
	// (GET /api/v1/staff/docset/groups)
	ListDocsetGroups(w http.ResponseWriter, r *http.Request, params ListDocsetGroupsParams)
	// Execute one GitHub next-step action
	// (POST /api/v1/staff/github/next-step-actions/execute)
	ExecuteNextStepAction(w http.ResponseWriter, r *http.Request)
	// Preview one GitHub next-step action
	// (POST /api/v1/staff/github/next-step-actions/preview)
	PreviewNextStepAction(w http.ResponseWriter, r *http.Request)
	// Submit Mission Control command
	// (POST /api/v1/staff/mission-control/commands)
	SubmitMissionControlCommand(w http.ResponseWriter, r *http.Request, params SubmitMissionControlCommandParams)
	// Get Mission Control command status
	// (GET /api/v1/staff/mission-control/commands/{command_id})
	GetMissionControlCommand(w http.ResponseWriter, r *http.Request, commandId MissionControlCommandID)
	// Preview Mission Control launch
	// (POST /api/v1/staff/mission-control/launch-preview)
	PreviewMissionControlLaunch(w http.ResponseWriter, r *http.Request)
	// Get Mission Control node details
	// (GET /api/v1/staff/mission-control/nodes/{node_kind}/{node_public_id})
	GetMissionControlNode(w http.ResponseWriter, r *http.Request, nodeKind GetMissionControlNodeParamsNodeKind, nodePublicId MissionControlNodePublicID)
	// List Mission Control node activity
	// (GET /api/v1/staff/mission-control/nodes/{node_kind}/{node_public_id}/activity)
	ListMissionControlNodeActivity(w http.ResponseWriter, r *http.Request, nodeKind ListMissionControlNodeActivityParamsNodeKind, nodePublicId MissionControlNodePublicID, params ListMissionControlNodeActivityParams)
	// Open Mission Control realtime stream (WebSocket upgrade)
	// (GET /api/v1/staff/mission-control/realtime)
	MissionControlRealtime(w http.ResponseWriter, r *http.Request, params MissionControlRealtimeParams)
	// Get Mission Control workspace snapshot
	// (GET /api/v1/staff/mission-control/workspace)
	GetMissionControlWorkspace(w http.ResponseWriter, r *http.Request, params GetMissionControlWorkspaceParams)
	// List projects
	// (GET /api/v1/staff/projects)
	ListProjects(w http.ResponseWriter, r *http.Request, params ListProjectsParams)
	// Create or update a project by slug
	// (POST /api/v1/staff/projects)
	UpsertProject(w http.ResponseWriter, r *http.Request)
	// Delete project by id
	// (DELETE /api/v1/staff/projects/{project_id})
	DeleteProject(w http.ResponseWriter, r *http.Request, projectId ProjectID)
	// Get project by id
	// (GET /api/v1/staff/projects/{project_id})
	GetProject(w http.ResponseWriter, r *http.Request, projectId ProjectID)
	// Import docset into project repository (PR-based)
	// (POST /api/v1/staff/projects/{project_id}/docset/import)
	ImportDocset(w http.ResponseWriter, r *http.Request, projectId ProjectID)
	// Safe sync docset into project repository (PR-based)
	// (POST /api/v1/staff/projects/{project_id}/docset/sync)
	SyncDocset(w http.ResponseWriter, r *http.Request, projectId ProjectID)
	// Get project-scoped GitHub tokens status
	// (GET /api/v1/staff/projects/{project_id}/github-tokens)
	GetProjectGitHubTokens(w http.ResponseWriter, r *http.Request, projectId ProjectID)
	// Upsert project-scoped GitHub tokens
	// (PUT /api/v1/staff/projects/{project_id}/github-tokens)
	UpsertProjectGitHubTokens(w http.ResponseWriter, r *http.Request, projectId ProjectID)
	// List project members
	// (GET /api/v1/staff/projects/{project_id}/members)
	ListProjectMembers(w http.ResponseWriter, r *http.Request, projectId ProjectID, params ListProjectMembersParams)
	// Add or update project member
	// (POST /api/v1/staff/projects/{project_id}/members)
	UpsertProjectMember(w http.ResponseWriter, r *http.Request, projectId ProjectID)
	// Delete project member
	// (DELETE /api/v1/staff/projects/{project_id}/members/{user_id})
	DeleteProjectMember(w http.ResponseWriter, r *http.Request, projectId ProjectID, userId UserID)
	// Set project member learning mode override
	// (PUT /api/v1/staff/projects/{project_id}/members/{user_id}/learning-mode)
	SetProjectMemberLearningModeOverride(w http.ResponseWriter, r *http.Request, projectId ProjectID, userId UserID)
	// List project repositories
	// (GET /api/v1/staff/projects/{project_id}/repositories)
	ListProjectRepositories(w http.ResponseWriter, r *http.Request, projectId ProjectID, params ListProjectRepositoriesParams)
	// Add or update project repository binding
	// (POST /api/v1/staff/projects/{project_id}/repositories)
	UpsertProjectRepository(w http.ResponseWriter, r *http.Request, projectId ProjectID)
	// Delete project repository binding
	// (DELETE /api/v1/staff/projects/{project_id}/repositories/{repository_id})
	DeleteProjectRepository(w http.ResponseWriter, r *http.Request, projectId ProjectID, repositoryId string)
	// Update repository bot parameters (token/login/email)
	// (PUT /api/v1/staff/projects/{project_id}/repositories/{repository_id}/bot-params)
	UpsertRepositoryBotParams(w http.ResponseWriter, r *http.Request, projectId ProjectID, repositoryId string)
	// Run repository onboarding preflight
	// (POST /api/v1/staff/projects/{project_id}/repositories/{repository_id}/preflight)
	RunRepositoryPreflight(w http.ResponseWriter, r *http.Request, projectId ProjectID, repositoryId string)
	// Open realtime runs list stream (WebSocket upgrade)
	// (GET /api/v1/staff/runs/realtime)
	RunsRealtime(w http.ResponseWriter, r *http.Request, params RunsRealtimeParams)
	// List wait queue runs
	// (GET /api/v1/staff/runs/waits)
	ListRunWaits(w http.ResponseWriter, r *http.Request, params ListRunWaitsParams)
	// Get run by id
	// (GET /api/v1/staff/runs/{run_id})
	GetRun(w http.ResponseWriter, r *http.Request, runId RunID)
	// Cancel run and stop active runtime artifacts
	// (POST /api/v1/staff/runs/{run_id}/cancel)
	CancelRun(w http.ResponseWriter, r *http.Request, runId RunID)
	// List run flow events
	// (GET /api/v1/staff/runs/{run_id}/events)
	ListRunEvents(w http.ResponseWriter, r *http.Request, runId RunID, params ListRunEventsParams)
	// List run learning feedback
	// (GET /api/v1/staff/runs/{run_id}/learning-feedback)
	ListRunLearningFeedback(w http.ResponseWriter, r *http.Request, runId RunID, params ListRunLearningFeedbackParams)
	// Get run logs snapshot with tail lines
	// (GET /api/v1/staff/runs/{run_id}/logs)
	GetRunLogs(w http.ResponseWriter, r *http.Request, runId RunID, params GetRunLogsParams)
	// Force delete run namespace
	// (DELETE /api/v1/staff/runs/{run_id}/namespace)
	DeleteRunNamespace(w http.ResponseWriter, r *http.Request, runId RunID)
	// Open realtime run stream (WebSocket upgrade)
	// (GET /api/v1/staff/runs/{run_id}/realtime)
	RunRealtime(w http.ResponseWriter, r *http.Request, runId RunID, params RunRealtimeParams)
	// Open realtime runtime deploy tasks list stream (WebSocket upgrade)
	// (GET /api/v1/staff/runtime-deploy/tasks/realtime)
	RuntimeDeployTasksRealtime(w http.ResponseWriter, r *http.Request, params RuntimeDeployTasksRealtimeParams)
	// Get runtime deploy task details
	// (GET /api/v1/staff/runtime-deploy/tasks/{run_id})
	GetRuntimeDeployTask(w http.ResponseWriter, r *http.Request, runId RunID)
	// Cancel runtime deploy task
	// (POST /api/v1/staff/runtime-deploy/tasks/{run_id}/cancel)
	CancelRuntimeDeployTask(w http.ResponseWriter, r *http.Request, runId RunID)
	// Stop runtime deploy task
	// (POST /api/v1/staff/runtime-deploy/tasks/{run_id}/stop)
	StopRuntimeDeployTask(w http.ResponseWriter, r *http.Request, runId RunID)
	// List runtime error journal entries
	// (GET /api/v1/staff/runtime-errors)
	ListRuntimeErrors(w http.ResponseWriter, r *http.Request, params ListRuntimeErrorsParams)
	// Mark runtime error as viewed
	// (POST /api/v1/staff/runtime-errors/{runtime_error_id}/viewed)
	MarkRuntimeErrorViewed(w http.ResponseWriter, r *http.Request, runtimeErrorId RuntimeErrorID)
	// List platform system settings
	// (GET /api/v1/staff/system-settings)
	ListSystemSettings(w http.ResponseWriter, r *http.Request)
	// Open system settings realtime stream (WebSocket upgrade)
	// (GET /api/v1/staff/system-settings/realtime)
	SystemSettingsRealtime(w http.ResponseWriter, r *http.Request)
	// Get platform system setting by key
	// (GET /api/v1/staff/system-settings/{setting_key})
	GetSystemSetting(w http.ResponseWriter, r *http.Request, settingKey SettingKey)
	// Update boolean platform system setting
	// (PUT /api/v1/staff/system-settings/{setting_key})
	UpdateSystemSettingBoolean(w http.ResponseWriter, r *http.Request, settingKey SettingKey)
	// Reset platform system setting to catalog default
	// (POST /api/v1/staff/system-settings/{setting_key}/reset)
	ResetSystemSetting(w http.ResponseWriter, r *http.Request, settingKey SettingKey)
	// List users
	// (GET /api/v1/staff/users)
	ListUsers(w http.ResponseWriter, r *http.Request, params ListUsersParams)
	// Create allowed user
	// (POST /api/v1/staff/users)
	CreateUser(w http.ResponseWriter, r *http.Request)
	// Delete user
	// (DELETE /api/v1/staff/users/{user_id})
	DeleteUser(w http.ResponseWriter, r *http.Request, userId UserID)
	// Ingest GitHub webhook delivery
	// (POST /api/v1/webhooks/github)
	IngestGithubWebhook(w http.ResponseWriter, r *http.Request, params IngestGithubWebhookParams)
}

// ServerInterfaceWrapper converts contexts to parameters.
type ServerInterfaceWrapper struct {
	Handler            ServerInterface
	HandlerMiddlewares []MiddlewareFunc
	ErrorHandlerFunc   func(w http.ResponseWriter, r *http.Request, err error)
}

type MiddlewareFunc func(http.Handler) http.Handler

// CallbackGithub operation middleware
func (siw *ServerInterfaceWrapper) CallbackGithub(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params CallbackGithubParams

	// ------------- Required query parameter "state" -------------

	if paramValue := r.URL.Query().Get("state"); paramValue != "" {

	} else {
		siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "state"})
		return
	}

	err = runtime.BindQueryParameter("form", true, true, "state", r.URL.Query(), &params.State)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "state", Err: err})
		return
	}

	// ------------- Required query parameter "code" -------------

	if paramValue := r.URL.Query().Get("code"); paramValue != "" {

	} else {
		siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "code"})
		return
	}

	err = runtime.BindQueryParameter("form", true, true, "code", r.URL.Query(), &params.Code)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "code", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.CallbackGithub(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// LoginGithub operation middleware
func (siw *ServerInterfaceWrapper) LoginGithub(w http.ResponseWriter, r *http.Request) {

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.LoginGithub(w, r)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// Logout operation middleware
func (siw *ServerInterfaceWrapper) Logout(w http.ResponseWriter, r *http.Request) {

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.Logout(w, r)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// GetMe operation middleware
func (siw *ServerInterfaceWrapper) GetMe(w http.ResponseWriter, r *http.Request) {

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.GetMe(w, r)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// McpApproverCallback operation middleware
func (siw *ServerInterfaceWrapper) McpApproverCallback(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params McpApproverCallbackParams

	headers := r.Header

	// ------------- Optional header parameter "X-Codex-MCP-Token" -------------
	if valueList, found := headers[http.CanonicalHeaderKey("X-Codex-MCP-Token")]; found {
		var XCodexMCPToken MCPCallbackToken
		n := len(valueList)
		if n != 1 {
			siw.ErrorHandlerFunc(w, r, &TooManyValuesForParamError{ParamName: "X-Codex-MCP-Token", Count: n})
			return
		}

		err = runtime.BindStyledParameterWithOptions("simple", "X-Codex-MCP-Token", valueList[0], &XCodexMCPToken, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: false})
		if err != nil {
			siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "X-Codex-MCP-Token", Err: err})
			return
		}

		params.XCodexMCPToken = &XCodexMCPToken

	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.McpApproverCallback(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// McpExecutorCallback operation middleware
func (siw *ServerInterfaceWrapper) McpExecutorCallback(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params McpExecutorCallbackParams

	headers := r.Header

	// ------------- Optional header parameter "X-Codex-MCP-Token" -------------
	if valueList, found := headers[http.CanonicalHeaderKey("X-Codex-MCP-Token")]; found {
		var XCodexMCPToken MCPCallbackToken
		n := len(valueList)
		if n != 1 {
			siw.ErrorHandlerFunc(w, r, &TooManyValuesForParamError{ParamName: "X-Codex-MCP-Token", Count: n})
			return
		}

		err = runtime.BindStyledParameterWithOptions("simple", "X-Codex-MCP-Token", valueList[0], &XCodexMCPToken, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: false})
		if err != nil {
			siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "X-Codex-MCP-Token", Err: err})
			return
		}

		params.XCodexMCPToken = &XCodexMCPToken

	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.McpExecutorCallback(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// McpInteractionCallback operation middleware
func (siw *ServerInterfaceWrapper) McpInteractionCallback(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params McpInteractionCallbackParams

	headers := r.Header

	// ------------- Optional header parameter "X-Codex-MCP-Token" -------------
	if valueList, found := headers[http.CanonicalHeaderKey("X-Codex-MCP-Token")]; found {
		var XCodexMCPToken MCPCallbackToken
		n := len(valueList)
		if n != 1 {
			siw.ErrorHandlerFunc(w, r, &TooManyValuesForParamError{ParamName: "X-Codex-MCP-Token", Count: n})
			return
		}

		err = runtime.BindStyledParameterWithOptions("simple", "X-Codex-MCP-Token", valueList[0], &XCodexMCPToken, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: false})
		if err != nil {
			siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "X-Codex-MCP-Token", Err: err})
			return
		}

		params.XCodexMCPToken = &XCodexMCPToken

	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.McpInteractionCallback(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ListPendingApprovals operation middleware
func (siw *ServerInterfaceWrapper) ListPendingApprovals(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params ListPendingApprovalsParams

	// ------------- Optional query parameter "limit" -------------

	err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ListPendingApprovals(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ResolveApprovalDecision operation middleware
func (siw *ServerInterfaceWrapper) ResolveApprovalDecision(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "approval_request_id" -------------
	var approvalRequestId ApprovalRequestID

	err = runtime.BindStyledParameterWithOptions("simple", "approval_request_id", r.PathValue("approval_request_id"), &approvalRequestId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "approval_request_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ResolveApprovalDecision(w, r, approvalRequestId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ListDocsetGroups operation middleware
func (siw *ServerInterfaceWrapper) ListDocsetGroups(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params ListDocsetGroupsParams

	// ------------- Optional query parameter "docset_ref" -------------

	err = runtime.BindQueryParameter("form", true, false, "docset_ref", r.URL.Query(), &params.DocsetRef)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "docset_ref", Err: err})
		return
	}

	// ------------- Optional query parameter "locale" -------------

	err = runtime.BindQueryParameter("form", true, false, "locale", r.URL.Query(), &params.Locale)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "locale", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ListDocsetGroups(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ExecuteNextStepAction operation middleware
func (siw *ServerInterfaceWrapper) ExecuteNextStepAction(w http.ResponseWriter, r *http.Request) {

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ExecuteNextStepAction(w, r)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// PreviewNextStepAction operation middleware
func (siw *ServerInterfaceWrapper) PreviewNextStepAction(w http.ResponseWriter, r *http.Request) {

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.PreviewNextStepAction(w, r)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// SubmitMissionControlCommand operation middleware
func (siw *ServerInterfaceWrapper) SubmitMissionControlCommand(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params SubmitMissionControlCommandParams

	headers := r.Header

	// ------------- Required header parameter "Idempotency-Key" -------------
	if valueList, found := headers[http.CanonicalHeaderKey("Idempotency-Key")]; found {
		var IdempotencyKey MissionControlIdempotencyKey
		n := len(valueList)
		if n != 1 {
			siw.ErrorHandlerFunc(w, r, &TooManyValuesForParamError{ParamName: "Idempotency-Key", Count: n})
			return
		}

		err = runtime.BindStyledParameterWithOptions("simple", "Idempotency-Key", valueList[0], &IdempotencyKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: true})
		if err != nil {
			siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "Idempotency-Key", Err: err})
			return
		}

		params.IdempotencyKey = IdempotencyKey

	} else {
		err := fmt.Errorf("Header parameter Idempotency-Key is required, but not found")
		siw.ErrorHandlerFunc(w, r, &RequiredHeaderError{ParamName: "Idempotency-Key", Err: err})
		return
	}

	// ------------- Optional header parameter "X-Correlation-ID" -------------
	if valueList, found := headers[http.CanonicalHeaderKey("X-Correlation-ID")]; found {
		var XCorrelationID MissionControlCorrelationID
		n := len(valueList)
		if n != 1 {
			siw.ErrorHandlerFunc(w, r, &TooManyValuesForParamError{ParamName: "X-Correlation-ID", Count: n})
			return
		}

		err = runtime.BindStyledParameterWithOptions("simple", "X-Correlation-ID", valueList[0], &XCorrelationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: false})
		if err != nil {
			siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "X-Correlation-ID", Err: err})
			return
		}

		params.XCorrelationID = &XCorrelationID

	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.SubmitMissionControlCommand(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// GetMissionControlCommand operation middleware
func (siw *ServerInterfaceWrapper) GetMissionControlCommand(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "command_id" -------------
	var commandId MissionControlCommandID

	err = runtime.BindStyledParameterWithOptions("simple", "command_id", r.PathValue("command_id"), &commandId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "command_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.GetMissionControlCommand(w, r, commandId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// PreviewMissionControlLaunch operation middleware
func (siw *ServerInterfaceWrapper) PreviewMissionControlLaunch(w http.ResponseWriter, r *http.Request) {

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.PreviewMissionControlLaunch(w, r)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// GetMissionControlNode operation middleware
func (siw *ServerInterfaceWrapper) GetMissionControlNode(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "node_kind" -------------
	var nodeKind GetMissionControlNodeParamsNodeKind

	err = runtime.BindStyledParameterWithOptions("simple", "node_kind", r.PathValue("node_kind"), &nodeKind, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "node_kind", Err: err})
		return
	}

	// ------------- Path parameter "node_public_id" -------------
	var nodePublicId MissionControlNodePublicID

	err = runtime.BindStyledParameterWithOptions("simple", "node_public_id", r.PathValue("node_public_id"), &nodePublicId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "node_public_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.GetMissionControlNode(w, r, nodeKind, nodePublicId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ListMissionControlNodeActivity operation middleware
func (siw *ServerInterfaceWrapper) ListMissionControlNodeActivity(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "node_kind" -------------
	var nodeKind ListMissionControlNodeActivityParamsNodeKind

	err = runtime.BindStyledParameterWithOptions("simple", "node_kind", r.PathValue("node_kind"), &nodeKind, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "node_kind", Err: err})
		return
	}

	// ------------- Path parameter "node_public_id" -------------
	var nodePublicId MissionControlNodePublicID

	err = runtime.BindStyledParameterWithOptions("simple", "node_public_id", r.PathValue("node_public_id"), &nodePublicId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "node_public_id", Err: err})
		return
	}

	// Parameter object where we will unmarshal all parameters from the context
	var params ListMissionControlNodeActivityParams

	// ------------- Optional query parameter "cursor" -------------

	err = runtime.BindQueryParameter("form", true, false, "cursor", r.URL.Query(), &params.Cursor)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cursor", Err: err})
		return
	}

	// ------------- Optional query parameter "limit" -------------

	err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ListMissionControlNodeActivity(w, r, nodeKind, nodePublicId, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// MissionControlRealtime operation middleware
func (siw *ServerInterfaceWrapper) MissionControlRealtime(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params MissionControlRealtimeParams

	// ------------- Required query parameter "resume_token" -------------

	if paramValue := r.URL.Query().Get("resume_token"); paramValue != "" {

	} else {
		siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "resume_token"})
		return
	}

	err = runtime.BindQueryParameter("form", true, true, "resume_token", r.URL.Query(), &params.ResumeToken)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "resume_token", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.MissionControlRealtime(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// GetMissionControlWorkspace operation middleware
func (siw *ServerInterfaceWrapper) GetMissionControlWorkspace(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params GetMissionControlWorkspaceParams

	// ------------- Optional query parameter "view_mode" -------------

	err = runtime.BindQueryParameter("form", true, false, "view_mode", r.URL.Query(), &params.ViewMode)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "view_mode", Err: err})
		return
	}

	// ------------- Optional query parameter "state_preset" -------------

	err = runtime.BindQueryParameter("form", true, false, "state_preset", r.URL.Query(), &params.StatePreset)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "state_preset", Err: err})
		return
	}

	// ------------- Optional query parameter "search" -------------

	err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), &params.Search)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err})
		return
	}

	// ------------- Optional query parameter "cursor" -------------

	err = runtime.BindQueryParameter("form", true, false, "cursor", r.URL.Query(), &params.Cursor)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cursor", Err: err})
		return
	}

	// ------------- Optional query parameter "root_limit" -------------

	err = runtime.BindQueryParameter("form", true, false, "root_limit", r.URL.Query(), &params.RootLimit)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "root_limit", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.GetMissionControlWorkspace(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ListProjects operation middleware
func (siw *ServerInterfaceWrapper) ListProjects(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params ListProjectsParams

	// ------------- Optional query parameter "limit" -------------

	err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ListProjects(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// UpsertProject operation middleware
func (siw *ServerInterfaceWrapper) UpsertProject(w http.ResponseWriter, r *http.Request) {

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.UpsertProject(w, r)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// DeleteProject operation middleware
func (siw *ServerInterfaceWrapper) DeleteProject(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.DeleteProject(w, r, projectId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// GetProject operation middleware
func (siw *ServerInterfaceWrapper) GetProject(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.GetProject(w, r, projectId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ImportDocset operation middleware
func (siw *ServerInterfaceWrapper) ImportDocset(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ImportDocset(w, r, projectId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// SyncDocset operation middleware
func (siw *ServerInterfaceWrapper) SyncDocset(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.SyncDocset(w, r, projectId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// GetProjectGitHubTokens operation middleware
func (siw *ServerInterfaceWrapper) GetProjectGitHubTokens(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.GetProjectGitHubTokens(w, r, projectId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// UpsertProjectGitHubTokens operation middleware
func (siw *ServerInterfaceWrapper) UpsertProjectGitHubTokens(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.UpsertProjectGitHubTokens(w, r, projectId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ListProjectMembers operation middleware
func (siw *ServerInterfaceWrapper) ListProjectMembers(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	// Parameter object where we will unmarshal all parameters from the context
	var params ListProjectMembersParams

	// ------------- Optional query parameter "limit" -------------

	err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ListProjectMembers(w, r, projectId, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// UpsertProjectMember operation middleware
func (siw *ServerInterfaceWrapper) UpsertProjectMember(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.UpsertProjectMember(w, r, projectId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// DeleteProjectMember operation middleware
func (siw *ServerInterfaceWrapper) DeleteProjectMember(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	// ------------- Path parameter "user_id" -------------
	var userId UserID

	err = runtime.BindStyledParameterWithOptions("simple", "user_id", r.PathValue("user_id"), &userId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "user_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.DeleteProjectMember(w, r, projectId, userId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// SetProjectMemberLearningModeOverride operation middleware
func (siw *ServerInterfaceWrapper) SetProjectMemberLearningModeOverride(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	// ------------- Path parameter "user_id" -------------
	var userId UserID

	err = runtime.BindStyledParameterWithOptions("simple", "user_id", r.PathValue("user_id"), &userId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "user_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.SetProjectMemberLearningModeOverride(w, r, projectId, userId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ListProjectRepositories operation middleware
func (siw *ServerInterfaceWrapper) ListProjectRepositories(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	// Parameter object where we will unmarshal all parameters from the context
	var params ListProjectRepositoriesParams

	// ------------- Optional query parameter "limit" -------------

	err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ListProjectRepositories(w, r, projectId, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// UpsertProjectRepository operation middleware
func (siw *ServerInterfaceWrapper) UpsertProjectRepository(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.UpsertProjectRepository(w, r, projectId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// DeleteProjectRepository operation middleware
func (siw *ServerInterfaceWrapper) DeleteProjectRepository(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	// ------------- Path parameter "repository_id" -------------
	var repositoryId string

	err = runtime.BindStyledParameterWithOptions("simple", "repository_id", r.PathValue("repository_id"), &repositoryId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "repository_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.DeleteProjectRepository(w, r, projectId, repositoryId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// UpsertRepositoryBotParams operation middleware
func (siw *ServerInterfaceWrapper) UpsertRepositoryBotParams(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	// ------------- Path parameter "repository_id" -------------
	var repositoryId string

	err = runtime.BindStyledParameterWithOptions("simple", "repository_id", r.PathValue("repository_id"), &repositoryId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "repository_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.UpsertRepositoryBotParams(w, r, projectId, repositoryId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// RunRepositoryPreflight operation middleware
func (siw *ServerInterfaceWrapper) RunRepositoryPreflight(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "project_id" -------------
	var projectId ProjectID

	err = runtime.BindStyledParameterWithOptions("simple", "project_id", r.PathValue("project_id"), &projectId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
		return
	}

	// ------------- Path parameter "repository_id" -------------
	var repositoryId string

	err = runtime.BindStyledParameterWithOptions("simple", "repository_id", r.PathValue("repository_id"), &repositoryId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "repository_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.RunRepositoryPreflight(w, r, projectId, repositoryId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// RunsRealtime operation middleware
func (siw *ServerInterfaceWrapper) RunsRealtime(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params RunsRealtimeParams

	// ------------- Optional query parameter "page" -------------

	err = runtime.BindQueryParameter("form", true, false, "page", r.URL.Query(), &params.Page)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err})
		return
	}

	// ------------- Optional query parameter "page_size" -------------

	err = runtime.BindQueryParameter("form", true, false, "page_size", r.URL.Query(), &params.PageSize)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page_size", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.RunsRealtime(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ListRunWaits operation middleware
func (siw *ServerInterfaceWrapper) ListRunWaits(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params ListRunWaitsParams

	// ------------- Optional query parameter "limit" -------------

	err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
		return
	}

	// ------------- Optional query parameter "trigger_kind" -------------

	err = runtime.BindQueryParameter("form", true, false, "trigger_kind", r.URL.Query(), &params.TriggerKind)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "trigger_kind", Err: err})
		return
	}

	// ------------- Optional query parameter "status" -------------

	err = runtime.BindQueryParameter("form", true, false, "status", r.URL.Query(), &params.Status)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err})
		return
	}

	// ------------- Optional query parameter "agent_key" -------------

	err = runtime.BindQueryParameter("form", true, false, "agent_key", r.URL.Query(), &params.AgentKey)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "agent_key", Err: err})
		return
	}

	// ------------- Optional query parameter "wait_state" -------------

	err = runtime.BindQueryParameter("form", true, false, "wait_state", r.URL.Query(), &params.WaitState)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "wait_state", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ListRunWaits(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// GetRun operation middleware
func (siw *ServerInterfaceWrapper) GetRun(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "run_id" -------------
	var runId RunID

	err = runtime.BindStyledParameterWithOptions("simple", "run_id", r.PathValue("run_id"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "run_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.GetRun(w, r, runId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// CancelRun operation middleware
func (siw *ServerInterfaceWrapper) CancelRun(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "run_id" -------------
	var runId RunID

	err = runtime.BindStyledParameterWithOptions("simple", "run_id", r.PathValue("run_id"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "run_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.CancelRun(w, r, runId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ListRunEvents operation middleware
func (siw *ServerInterfaceWrapper) ListRunEvents(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "run_id" -------------
	var runId RunID

	err = runtime.BindStyledParameterWithOptions("simple", "run_id", r.PathValue("run_id"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "run_id", Err: err})
		return
	}

	// Parameter object where we will unmarshal all parameters from the context
	var params ListRunEventsParams

	// ------------- Optional query parameter "limit" -------------

	err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
		return
	}

	// ------------- Optional query parameter "include_payload" -------------

	err = runtime.BindQueryParameter("form", true, false, "include_payload", r.URL.Query(), &params.IncludePayload)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "include_payload", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ListRunEvents(w, r, runId, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ListRunLearningFeedback operation middleware
func (siw *ServerInterfaceWrapper) ListRunLearningFeedback(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "run_id" -------------
	var runId RunID

	err = runtime.BindStyledParameterWithOptions("simple", "run_id", r.PathValue("run_id"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "run_id", Err: err})
		return
	}

	// Parameter object where we will unmarshal all parameters from the context
	var params ListRunLearningFeedbackParams

	// ------------- Optional query parameter "limit" -------------

	err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ListRunLearningFeedback(w, r, runId, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// GetRunLogs operation middleware
func (siw *ServerInterfaceWrapper) GetRunLogs(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "run_id" -------------
	var runId RunID

	err = runtime.BindStyledParameterWithOptions("simple", "run_id", r.PathValue("run_id"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "run_id", Err: err})
		return
	}

	// Parameter object where we will unmarshal all parameters from the context
	var params GetRunLogsParams

	// ------------- Optional query parameter "tail_lines" -------------

	err = runtime.BindQueryParameter("form", true, false, "tail_lines", r.URL.Query(), &params.TailLines)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "tail_lines", Err: err})
		return
	}

	// ------------- Optional query parameter "include_snapshot" -------------

	err = runtime.BindQueryParameter("form", true, false, "include_snapshot", r.URL.Query(), &params.IncludeSnapshot)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "include_snapshot", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.GetRunLogs(w, r, runId, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// DeleteRunNamespace operation middleware
func (siw *ServerInterfaceWrapper) DeleteRunNamespace(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "run_id" -------------
	var runId RunID

	err = runtime.BindStyledParameterWithOptions("simple", "run_id", r.PathValue("run_id"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "run_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.DeleteRunNamespace(w, r, runId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// RunRealtime operation middleware
func (siw *ServerInterfaceWrapper) RunRealtime(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "run_id" -------------
	var runId RunID

	err = runtime.BindStyledParameterWithOptions("simple", "run_id", r.PathValue("run_id"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "run_id", Err: err})
		return
	}

	// Parameter object where we will unmarshal all parameters from the context
	var params RunRealtimeParams

	// ------------- Optional query parameter "limit" -------------

	err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
		return
	}

	// ------------- Optional query parameter "tail_lines" -------------

	err = runtime.BindQueryParameter("form", true, false, "tail_lines", r.URL.Query(), &params.TailLines)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "tail_lines", Err: err})
		return
	}

	// ------------- Optional query parameter "include_logs" -------------

	err = runtime.BindQueryParameter("form", true, false, "include_logs", r.URL.Query(), &params.IncludeLogs)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "include_logs", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.RunRealtime(w, r, runId, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// RuntimeDeployTasksRealtime operation middleware
func (siw *ServerInterfaceWrapper) RuntimeDeployTasksRealtime(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params RuntimeDeployTasksRealtimeParams

	// ------------- Optional query parameter "page" -------------

	err = runtime.BindQueryParameter("form", true, false, "page", r.URL.Query(), &params.Page)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err})
		return
	}

	// ------------- Optional query parameter "page_size" -------------

	err = runtime.BindQueryParameter("form", true, false, "page_size", r.URL.Query(), &params.PageSize)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page_size", Err: err})
		return
	}

	// ------------- Optional query parameter "status" -------------

	err = runtime.BindQueryParameter("form", true, false, "status", r.URL.Query(), &params.Status)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err})
		return
	}

	// ------------- Optional query parameter "target_env" -------------

	err = runtime.BindQueryParameter("form", true, false, "target_env", r.URL.Query(), &params.TargetEnv)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "target_env", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.RuntimeDeployTasksRealtime(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// GetRuntimeDeployTask operation middleware
func (siw *ServerInterfaceWrapper) GetRuntimeDeployTask(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "run_id" -------------
	var runId RunID

	err = runtime.BindStyledParameterWithOptions("simple", "run_id", r.PathValue("run_id"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "run_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.GetRuntimeDeployTask(w, r, runId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// CancelRuntimeDeployTask operation middleware
func (siw *ServerInterfaceWrapper) CancelRuntimeDeployTask(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "run_id" -------------
	var runId RunID

	err = runtime.BindStyledParameterWithOptions("simple", "run_id", r.PathValue("run_id"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "run_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.CancelRuntimeDeployTask(w, r, runId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// StopRuntimeDeployTask operation middleware
func (siw *ServerInterfaceWrapper) StopRuntimeDeployTask(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "run_id" -------------
	var runId RunID

	err = runtime.BindStyledParameterWithOptions("simple", "run_id", r.PathValue("run_id"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "run_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.StopRuntimeDeployTask(w, r, runId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ListRuntimeErrors operation middleware
func (siw *ServerInterfaceWrapper) ListRuntimeErrors(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params ListRuntimeErrorsParams

	// ------------- Optional query parameter "limit" -------------

	err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
		return
	}

	// ------------- Optional query parameter "state" -------------

	err = runtime.BindQueryParameter("form", true, false, "state", r.URL.Query(), &params.State)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "state", Err: err})
		return
	}

	// ------------- Optional query parameter "level" -------------

	err = runtime.BindQueryParameter("form", true, false, "level", r.URL.Query(), &params.Level)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "level", Err: err})
		return
	}

	// ------------- Optional query parameter "source" -------------

	err = runtime.BindQueryParameter("form", true, false, "source", r.URL.Query(), &params.Source)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "source", Err: err})
		return
	}

	// ------------- Optional query parameter "run_id" -------------

	err = runtime.BindQueryParameter("form", true, false, "run_id", r.URL.Query(), &params.RunId)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "run_id", Err: err})
		return
	}

	// ------------- Optional query parameter "correlation_id" -------------

	err = runtime.BindQueryParameter("form", true, false, "correlation_id", r.URL.Query(), &params.CorrelationId)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "correlation_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ListRuntimeErrors(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// MarkRuntimeErrorViewed operation middleware
func (siw *ServerInterfaceWrapper) MarkRuntimeErrorViewed(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "runtime_error_id" -------------
	var runtimeErrorId RuntimeErrorID

	err = runtime.BindStyledParameterWithOptions("simple", "runtime_error_id", r.PathValue("runtime_error_id"), &runtimeErrorId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "runtime_error_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.MarkRuntimeErrorViewed(w, r, runtimeErrorId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ListSystemSettings operation middleware
func (siw *ServerInterfaceWrapper) ListSystemSettings(w http.ResponseWriter, r *http.Request) {

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ListSystemSettings(w, r)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// SystemSettingsRealtime operation middleware
func (siw *ServerInterfaceWrapper) SystemSettingsRealtime(w http.ResponseWriter, r *http.Request) {

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.SystemSettingsRealtime(w, r)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// GetSystemSetting operation middleware
func (siw *ServerInterfaceWrapper) GetSystemSetting(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "setting_key" -------------
	var settingKey SettingKey

	err = runtime.BindStyledParameterWithOptions("simple", "setting_key", r.PathValue("setting_key"), &settingKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "setting_key", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.GetSystemSetting(w, r, settingKey)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// UpdateSystemSettingBoolean operation middleware
func (siw *ServerInterfaceWrapper) UpdateSystemSettingBoolean(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "setting_key" -------------
	var settingKey SettingKey

	err = runtime.BindStyledParameterWithOptions("simple", "setting_key", r.PathValue("setting_key"), &settingKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "setting_key", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.UpdateSystemSettingBoolean(w, r, settingKey)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ResetSystemSetting operation middleware
func (siw *ServerInterfaceWrapper) ResetSystemSetting(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "setting_key" -------------
	var settingKey SettingKey

	err = runtime.BindStyledParameterWithOptions("simple", "setting_key", r.PathValue("setting_key"), &settingKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "setting_key", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ResetSystemSetting(w, r, settingKey)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// ListUsers operation middleware
func (siw *ServerInterfaceWrapper) ListUsers(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params ListUsersParams

	// ------------- Optional query parameter "limit" -------------

	err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), &params.Limit)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.ListUsers(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// CreateUser operation middleware
func (siw *ServerInterfaceWrapper) CreateUser(w http.ResponseWriter, r *http.Request) {

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.CreateUser(w, r)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// DeleteUser operation middleware
func (siw *ServerInterfaceWrapper) DeleteUser(w http.ResponseWriter, r *http.Request) {

	var err error

	// ------------- Path parameter "user_id" -------------
	var userId UserID

	err = runtime.BindStyledParameterWithOptions("simple", "user_id", r.PathValue("user_id"), &userId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true})
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "user_id", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.DeleteUser(w, r, userId)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

// IngestGithubWebhook operation middleware
func (siw *ServerInterfaceWrapper) IngestGithubWebhook(w http.ResponseWriter, r *http.Request) {

	var err error

	// Parameter object where we will unmarshal all parameters from the context
	var params IngestGithubWebhookParams

	headers := r.Header

	// ------------- Required header parameter "X-GitHub-Event" -------------
	if valueList, found := headers[http.CanonicalHeaderKey("X-GitHub-Event")]; found {
		var XGitHubEvent string
		n := len(valueList)
		if n != 1 {
			siw.ErrorHandlerFunc(w, r, &TooManyValuesForParamError{ParamName: "X-GitHub-Event", Count: n})
			return
		}

		err = runtime.BindStyledParameterWithOptions("simple", "X-GitHub-Event", valueList[0], &XGitHubEvent, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: true})
		if err != nil {
			siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "X-GitHub-Event", Err: err})
			return
		}

		params.XGitHubEvent = XGitHubEvent

	} else {
		err := fmt.Errorf("Header parameter X-GitHub-Event is required, but not found")
		siw.ErrorHandlerFunc(w, r, &RequiredHeaderError{ParamName: "X-GitHub-Event", Err: err})
		return
	}

	// ------------- Required header parameter "X-GitHub-Delivery" -------------
	if valueList, found := headers[http.CanonicalHeaderKey("X-GitHub-Delivery")]; found {
		var XGitHubDelivery string
		n := len(valueList)
		if n != 1 {
			siw.ErrorHandlerFunc(w, r, &TooManyValuesForParamError{ParamName: "X-GitHub-Delivery", Count: n})
			return
		}

		err = runtime.BindStyledParameterWithOptions("simple", "X-GitHub-Delivery", valueList[0], &XGitHubDelivery, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: true})
		if err != nil {
			siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "X-GitHub-Delivery", Err: err})
			return
		}

		params.XGitHubDelivery = XGitHubDelivery

	} else {
		err := fmt.Errorf("Header parameter X-GitHub-Delivery is required, but not found")
		siw.ErrorHandlerFunc(w, r, &RequiredHeaderError{ParamName: "X-GitHub-Delivery", Err: err})
		return
	}

	// ------------- Required header parameter "X-Hub-Signature-256" -------------
	if valueList, found := headers[http.CanonicalHeaderKey("X-Hub-Signature-256")]; found {
		var XHubSignature256 string
		n := len(valueList)
		if n != 1 {
			siw.ErrorHandlerFunc(w, r, &TooManyValuesForParamError{ParamName: "X-Hub-Signature-256", Count: n})
			return
		}

		err = runtime.BindStyledParameterWithOptions("simple", "X-Hub-Signature-256", valueList[0], &XHubSignature256, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationHeader, Explode: false, Required: true})
		if err != nil {
			siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "X-Hub-Signature-256", Err: err})
			return
		}

		params.XHubSignature256 = XHubSignature256

	} else {
		err := fmt.Errorf("Header parameter X-Hub-Signature-256 is required, but not found")
		siw.ErrorHandlerFunc(w, r, &RequiredHeaderError{ParamName: "X-Hub-Signature-256", Err: err})
		return
	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.IngestGithubWebhook(w, r, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r)
}

type UnescapedCookieParamError struct {
	ParamName string
	Err       error
}

func (e *UnescapedCookieParamError) Error() string {
	return fmt.Sprintf("error unescaping cookie parameter '%s'", e.ParamName)
}

func (e *UnescapedCookieParamError) Unwrap() error {
	return e.Err
}

type UnmarshalingParamError struct {
	ParamName string
	Err       error
}

func (e *UnmarshalingParamError) Error() string {
	return fmt.Sprintf("Error unmarshaling parameter %s as JSON: %s", e.ParamName, e.Err.Error())
}

func (e *UnmarshalingParamError) Unwrap() error {
	return e.Err
}

type RequiredParamError struct {
	ParamName string
}

func (e *RequiredParamError) Error() string {
	return fmt.Sprintf("Query argument %s is required, but not found", e.ParamName)
}

type RequiredHeaderError struct {
	ParamName string
	Err       error
}

func (e *RequiredHeaderError) Error() string {
	return fmt.Sprintf("Header parameter %s is required, but not found", e.ParamName)
}

func (e *RequiredHeaderError) Unwrap() error {
	return e.Err
}

type InvalidParamFormatError struct {
	ParamName string
	Err       error
}

func (e *InvalidParamFormatError) Error() string {
	return fmt.Sprintf("Invalid format for parameter %s: %s", e.ParamName, e.Err.Error())
}

func (e *InvalidParamFormatError) Unwrap() error {
	return e.Err
}

type TooManyValuesForParamError struct {
	ParamName string
	Count     int
}

func (e *TooManyValuesForParamError) Error() string {
	return fmt.Sprintf("Expected one value for %s, got %d", e.ParamName, e.Count)
}

// Handler creates http.Handler with routing matching OpenAPI spec.
func Handler(si ServerInterface) http.Handler {
	return HandlerWithOptions(si, StdHTTPServerOptions{})
}

// ServeMux is an abstraction of http.ServeMux.
type ServeMux interface {
	HandleFunc(pattern string, handler func(http.ResponseWriter, *http.Request))
	ServeHTTP(w http.ResponseWriter, r *http.Request)
}

type StdHTTPServerOptions struct {
	BaseURL          string
	BaseRouter       ServeMux
	Middlewares      []MiddlewareFunc
	ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}

// HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.
func HandlerFromMux(si ServerInterface, m ServeMux) http.Handler {
	return HandlerWithOptions(si, StdHTTPServerOptions{
		BaseRouter: m,
	})
}

func HandlerFromMuxWithBaseURL(si ServerInterface, m ServeMux, baseURL string) http.Handler {
	return HandlerWithOptions(si, StdHTTPServerOptions{
		BaseURL:    baseURL,
		BaseRouter: m,
	})
}

// HandlerWithOptions creates http.Handler with additional options
func HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.Handler {
	m := options.BaseRouter

	if m == nil {
		m = http.NewServeMux()
	}
	if options.ErrorHandlerFunc == nil {
		options.ErrorHandlerFunc = func(w http.ResponseWriter, r *http.Request, err error) {
			http.Error(w, err.Error(), http.StatusBadRequest)
		}
	}

	wrapper := ServerInterfaceWrapper{
		Handler:            si,
		HandlerMiddlewares: options.Middlewares,
		ErrorHandlerFunc:   options.ErrorHandlerFunc,
	}

	m.HandleFunc("GET "+options.BaseURL+"/api/v1/auth/github/callback", wrapper.CallbackGithub)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/auth/github/login", wrapper.LoginGithub)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/auth/logout", wrapper.Logout)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/auth/me", wrapper.GetMe)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/mcp/approver/callback", wrapper.McpApproverCallback)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/mcp/executor/callback", wrapper.McpExecutorCallback)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/mcp/interactions/callback", wrapper.McpInteractionCallback)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/approvals", wrapper.ListPendingApprovals)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/approvals/{approval_request_id}/decision", wrapper.ResolveApprovalDecision)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/docset/groups", wrapper.ListDocsetGroups)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/github/next-step-actions/execute", wrapper.ExecuteNextStepAction)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/github/next-step-actions/preview", wrapper.PreviewNextStepAction)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/mission-control/commands", wrapper.SubmitMissionControlCommand)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/mission-control/commands/{command_id}", wrapper.GetMissionControlCommand)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/mission-control/launch-preview", wrapper.PreviewMissionControlLaunch)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/mission-control/nodes/{node_kind}/{node_public_id}", wrapper.GetMissionControlNode)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/mission-control/nodes/{node_kind}/{node_public_id}/activity", wrapper.ListMissionControlNodeActivity)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/mission-control/realtime", wrapper.MissionControlRealtime)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/mission-control/workspace", wrapper.GetMissionControlWorkspace)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/projects", wrapper.ListProjects)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/projects", wrapper.UpsertProject)
	m.HandleFunc("DELETE "+options.BaseURL+"/api/v1/staff/projects/{project_id}", wrapper.DeleteProject)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/projects/{project_id}", wrapper.GetProject)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/projects/{project_id}/docset/import", wrapper.ImportDocset)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/projects/{project_id}/docset/sync", wrapper.SyncDocset)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/projects/{project_id}/github-tokens", wrapper.GetProjectGitHubTokens)
	m.HandleFunc("PUT "+options.BaseURL+"/api/v1/staff/projects/{project_id}/github-tokens", wrapper.UpsertProjectGitHubTokens)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/projects/{project_id}/members", wrapper.ListProjectMembers)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/projects/{project_id}/members", wrapper.UpsertProjectMember)
	m.HandleFunc("DELETE "+options.BaseURL+"/api/v1/staff/projects/{project_id}/members/{user_id}", wrapper.DeleteProjectMember)
	m.HandleFunc("PUT "+options.BaseURL+"/api/v1/staff/projects/{project_id}/members/{user_id}/learning-mode", wrapper.SetProjectMemberLearningModeOverride)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/projects/{project_id}/repositories", wrapper.ListProjectRepositories)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/projects/{project_id}/repositories", wrapper.UpsertProjectRepository)
	m.HandleFunc("DELETE "+options.BaseURL+"/api/v1/staff/projects/{project_id}/repositories/{repository_id}", wrapper.DeleteProjectRepository)
	m.HandleFunc("PUT "+options.BaseURL+"/api/v1/staff/projects/{project_id}/repositories/{repository_id}/bot-params", wrapper.UpsertRepositoryBotParams)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/projects/{project_id}/repositories/{repository_id}/preflight", wrapper.RunRepositoryPreflight)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/runs/realtime", wrapper.RunsRealtime)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/runs/waits", wrapper.ListRunWaits)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/runs/{run_id}", wrapper.GetRun)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/runs/{run_id}/cancel", wrapper.CancelRun)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/runs/{run_id}/events", wrapper.ListRunEvents)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/runs/{run_id}/learning-feedback", wrapper.ListRunLearningFeedback)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/runs/{run_id}/logs", wrapper.GetRunLogs)
	m.HandleFunc("DELETE "+options.BaseURL+"/api/v1/staff/runs/{run_id}/namespace", wrapper.DeleteRunNamespace)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/runs/{run_id}/realtime", wrapper.RunRealtime)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/runtime-deploy/tasks/realtime", wrapper.RuntimeDeployTasksRealtime)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/runtime-deploy/tasks/{run_id}", wrapper.GetRuntimeDeployTask)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/runtime-deploy/tasks/{run_id}/cancel", wrapper.CancelRuntimeDeployTask)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/runtime-deploy/tasks/{run_id}/stop", wrapper.StopRuntimeDeployTask)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/runtime-errors", wrapper.ListRuntimeErrors)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/runtime-errors/{runtime_error_id}/viewed", wrapper.MarkRuntimeErrorViewed)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/system-settings", wrapper.ListSystemSettings)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/system-settings/realtime", wrapper.SystemSettingsRealtime)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/system-settings/{setting_key}", wrapper.GetSystemSetting)
	m.HandleFunc("PUT "+options.BaseURL+"/api/v1/staff/system-settings/{setting_key}", wrapper.UpdateSystemSettingBoolean)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/system-settings/{setting_key}/reset", wrapper.ResetSystemSetting)
	m.HandleFunc("GET "+options.BaseURL+"/api/v1/staff/users", wrapper.ListUsers)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/staff/users", wrapper.CreateUser)
	m.HandleFunc("DELETE "+options.BaseURL+"/api/v1/staff/users/{user_id}", wrapper.DeleteUser)
	m.HandleFunc("POST "+options.BaseURL+"/api/v1/webhooks/github", wrapper.IngestGithubWebhook)

	return m
}

type BadRequestJSONResponse ErrorResponse

type ConflictJSONResponse ErrorResponse

type ForbiddenJSONResponse ErrorResponse

type InternalJSONResponse ErrorResponse

type NotFoundJSONResponse ErrorResponse

type TooManyRequestsJSONResponse ErrorResponse

type UnauthorizedJSONResponse ErrorResponse

type CallbackGithubRequestObject struct {
	Params CallbackGithubParams
}

type CallbackGithubResponseObject interface {
	VisitCallbackGithubResponse(w http.ResponseWriter) error
}

type CallbackGithub302Response struct {
}

func (response CallbackGithub302Response) VisitCallbackGithubResponse(w http.ResponseWriter) error {
	w.WriteHeader(302)
	return nil
}

type CallbackGithub400JSONResponse struct{ BadRequestJSONResponse }

func (response CallbackGithub400JSONResponse) VisitCallbackGithubResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type CallbackGithub401JSONResponse struct{ UnauthorizedJSONResponse }

func (response CallbackGithub401JSONResponse) VisitCallbackGithubResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type CallbackGithub500JSONResponse struct{ InternalJSONResponse }

func (response CallbackGithub500JSONResponse) VisitCallbackGithubResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(500)

	return json.NewEncoder(w).Encode(response)
}

type LoginGithubRequestObject struct {
}

type LoginGithubResponseObject interface {
	VisitLoginGithubResponse(w http.ResponseWriter) error
}

type LoginGithub302Response struct {
}

func (response LoginGithub302Response) VisitLoginGithubResponse(w http.ResponseWriter) error {
	w.WriteHeader(302)
	return nil
}

type LoginGithub500JSONResponse struct{ InternalJSONResponse }

func (response LoginGithub500JSONResponse) VisitLoginGithubResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(500)

	return json.NewEncoder(w).Encode(response)
}

type LogoutRequestObject struct {
}

type LogoutResponseObject interface {
	VisitLogoutResponse(w http.ResponseWriter) error
}

type Logout204Response struct {
}

func (response Logout204Response) VisitLogoutResponse(w http.ResponseWriter) error {
	w.WriteHeader(204)
	return nil
}

type Logout401JSONResponse struct{ UnauthorizedJSONResponse }

func (response Logout401JSONResponse) VisitLogoutResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type GetMeRequestObject struct {
}

type GetMeResponseObject interface {
	VisitGetMeResponse(w http.ResponseWriter) error
}

type GetMe200JSONResponse MeResponse

func (response GetMe200JSONResponse) VisitGetMeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type GetMe401JSONResponse struct{ UnauthorizedJSONResponse }

func (response GetMe401JSONResponse) VisitGetMeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type McpApproverCallbackRequestObject struct {
	Params McpApproverCallbackParams
	Body   *McpApproverCallbackJSONRequestBody
}

type McpApproverCallbackResponseObject interface {
	VisitMcpApproverCallbackResponse(w http.ResponseWriter) error
}

type McpApproverCallback200JSONResponse ResolveApprovalDecisionResponse

func (response McpApproverCallback200JSONResponse) VisitMcpApproverCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type McpApproverCallback400JSONResponse struct{ BadRequestJSONResponse }

func (response McpApproverCallback400JSONResponse) VisitMcpApproverCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type McpApproverCallback401JSONResponse struct{ UnauthorizedJSONResponse }

func (response McpApproverCallback401JSONResponse) VisitMcpApproverCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type McpApproverCallback500JSONResponse struct{ InternalJSONResponse }

func (response McpApproverCallback500JSONResponse) VisitMcpApproverCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(500)

	return json.NewEncoder(w).Encode(response)
}

type McpExecutorCallbackRequestObject struct {
	Params McpExecutorCallbackParams
	Body   *McpExecutorCallbackJSONRequestBody
}

type McpExecutorCallbackResponseObject interface {
	VisitMcpExecutorCallbackResponse(w http.ResponseWriter) error
}

type McpExecutorCallback200JSONResponse ResolveApprovalDecisionResponse

func (response McpExecutorCallback200JSONResponse) VisitMcpExecutorCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type McpExecutorCallback400JSONResponse struct{ BadRequestJSONResponse }

func (response McpExecutorCallback400JSONResponse) VisitMcpExecutorCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type McpExecutorCallback401JSONResponse struct{ UnauthorizedJSONResponse }

func (response McpExecutorCallback401JSONResponse) VisitMcpExecutorCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type McpExecutorCallback500JSONResponse struct{ InternalJSONResponse }

func (response McpExecutorCallback500JSONResponse) VisitMcpExecutorCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(500)

	return json.NewEncoder(w).Encode(response)
}

type McpInteractionCallbackRequestObject struct {
	Params McpInteractionCallbackParams
	Body   *McpInteractionCallbackJSONRequestBody
}

type McpInteractionCallbackResponseObject interface {
	VisitMcpInteractionCallbackResponse(w http.ResponseWriter) error
}

type McpInteractionCallback200JSONResponse InteractionCallbackOutcome

func (response McpInteractionCallback200JSONResponse) VisitMcpInteractionCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type McpInteractionCallback400JSONResponse struct{ BadRequestJSONResponse }

func (response McpInteractionCallback400JSONResponse) VisitMcpInteractionCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type McpInteractionCallback401JSONResponse struct{ UnauthorizedJSONResponse }

func (response McpInteractionCallback401JSONResponse) VisitMcpInteractionCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type McpInteractionCallback404JSONResponse struct{ NotFoundJSONResponse }

func (response McpInteractionCallback404JSONResponse) VisitMcpInteractionCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type McpInteractionCallback429JSONResponse struct{ TooManyRequestsJSONResponse }

func (response McpInteractionCallback429JSONResponse) VisitMcpInteractionCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(429)

	return json.NewEncoder(w).Encode(response)
}

type McpInteractionCallback500JSONResponse struct{ InternalJSONResponse }

func (response McpInteractionCallback500JSONResponse) VisitMcpInteractionCallbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(500)

	return json.NewEncoder(w).Encode(response)
}

type ListPendingApprovalsRequestObject struct {
	Params ListPendingApprovalsParams
}

type ListPendingApprovalsResponseObject interface {
	VisitListPendingApprovalsResponse(w http.ResponseWriter) error
}

type ListPendingApprovals200JSONResponse ApprovalRequestItemsResponse

func (response ListPendingApprovals200JSONResponse) VisitListPendingApprovalsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ListPendingApprovals400JSONResponse struct{ BadRequestJSONResponse }

func (response ListPendingApprovals400JSONResponse) VisitListPendingApprovalsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ListPendingApprovals401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ListPendingApprovals401JSONResponse) VisitListPendingApprovalsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type ListPendingApprovals403JSONResponse struct{ ForbiddenJSONResponse }

func (response ListPendingApprovals403JSONResponse) VisitListPendingApprovalsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type ResolveApprovalDecisionRequestObject struct {
	ApprovalRequestId ApprovalRequestID `json:"approval_request_id"`
	Body              *ResolveApprovalDecisionJSONRequestBody
}

type ResolveApprovalDecisionResponseObject interface {
	VisitResolveApprovalDecisionResponse(w http.ResponseWriter) error
}

type ResolveApprovalDecision200JSONResponse ResolveApprovalDecisionResponse

func (response ResolveApprovalDecision200JSONResponse) VisitResolveApprovalDecisionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ResolveApprovalDecision400JSONResponse struct{ BadRequestJSONResponse }

func (response ResolveApprovalDecision400JSONResponse) VisitResolveApprovalDecisionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ResolveApprovalDecision401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ResolveApprovalDecision401JSONResponse) VisitResolveApprovalDecisionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type ResolveApprovalDecision403JSONResponse struct{ ForbiddenJSONResponse }

func (response ResolveApprovalDecision403JSONResponse) VisitResolveApprovalDecisionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type ResolveApprovalDecision404JSONResponse struct{ NotFoundJSONResponse }

func (response ResolveApprovalDecision404JSONResponse) VisitResolveApprovalDecisionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type ListDocsetGroupsRequestObject struct {
	Params ListDocsetGroupsParams
}

type ListDocsetGroupsResponseObject interface {
	VisitListDocsetGroupsResponse(w http.ResponseWriter) error
}

type ListDocsetGroups200JSONResponse DocsetGroupItemsResponse

func (response ListDocsetGroups200JSONResponse) VisitListDocsetGroupsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ListDocsetGroups400JSONResponse struct{ BadRequestJSONResponse }

func (response ListDocsetGroups400JSONResponse) VisitListDocsetGroupsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ListDocsetGroups401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ListDocsetGroups401JSONResponse) VisitListDocsetGroupsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type ListDocsetGroups403JSONResponse struct{ ForbiddenJSONResponse }

func (response ListDocsetGroups403JSONResponse) VisitListDocsetGroupsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type ExecuteNextStepActionRequestObject struct {
	Body *ExecuteNextStepActionJSONRequestBody
}

type ExecuteNextStepActionResponseObject interface {
	VisitExecuteNextStepActionResponse(w http.ResponseWriter) error
}

type ExecuteNextStepAction200JSONResponse NextStepActionResponse

func (response ExecuteNextStepAction200JSONResponse) VisitExecuteNextStepActionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ExecuteNextStepAction400JSONResponse struct{ BadRequestJSONResponse }

func (response ExecuteNextStepAction400JSONResponse) VisitExecuteNextStepActionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ExecuteNextStepAction401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ExecuteNextStepAction401JSONResponse) VisitExecuteNextStepActionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type ExecuteNextStepAction403JSONResponse struct{ ForbiddenJSONResponse }

func (response ExecuteNextStepAction403JSONResponse) VisitExecuteNextStepActionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type PreviewNextStepActionRequestObject struct {
	Body *PreviewNextStepActionJSONRequestBody
}

type PreviewNextStepActionResponseObject interface {
	VisitPreviewNextStepActionResponse(w http.ResponseWriter) error
}

type PreviewNextStepAction200JSONResponse NextStepActionResponse

func (response PreviewNextStepAction200JSONResponse) VisitPreviewNextStepActionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type PreviewNextStepAction400JSONResponse struct{ BadRequestJSONResponse }

func (response PreviewNextStepAction400JSONResponse) VisitPreviewNextStepActionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type PreviewNextStepAction401JSONResponse struct{ UnauthorizedJSONResponse }

func (response PreviewNextStepAction401JSONResponse) VisitPreviewNextStepActionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type PreviewNextStepAction403JSONResponse struct{ ForbiddenJSONResponse }

func (response PreviewNextStepAction403JSONResponse) VisitPreviewNextStepActionResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type SubmitMissionControlCommandRequestObject struct {
	Params SubmitMissionControlCommandParams
	Body   *SubmitMissionControlCommandJSONRequestBody
}

type SubmitMissionControlCommandResponseObject interface {
	VisitSubmitMissionControlCommandResponse(w http.ResponseWriter) error
}

type SubmitMissionControlCommand200JSONResponse MissionControlCommandState

func (response SubmitMissionControlCommand200JSONResponse) VisitSubmitMissionControlCommandResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type SubmitMissionControlCommand400JSONResponse struct{ BadRequestJSONResponse }

func (response SubmitMissionControlCommand400JSONResponse) VisitSubmitMissionControlCommandResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type SubmitMissionControlCommand401JSONResponse struct{ UnauthorizedJSONResponse }

func (response SubmitMissionControlCommand401JSONResponse) VisitSubmitMissionControlCommandResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type SubmitMissionControlCommand403JSONResponse struct{ ForbiddenJSONResponse }

func (response SubmitMissionControlCommand403JSONResponse) VisitSubmitMissionControlCommandResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type SubmitMissionControlCommand404JSONResponse struct{ NotFoundJSONResponse }

func (response SubmitMissionControlCommand404JSONResponse) VisitSubmitMissionControlCommandResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type SubmitMissionControlCommand409JSONResponse struct{ ConflictJSONResponse }

func (response SubmitMissionControlCommand409JSONResponse) VisitSubmitMissionControlCommandResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(409)

	return json.NewEncoder(w).Encode(response)
}

type SubmitMissionControlCommand429JSONResponse struct{ TooManyRequestsJSONResponse }

func (response SubmitMissionControlCommand429JSONResponse) VisitSubmitMissionControlCommandResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(429)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlCommandRequestObject struct {
	CommandId MissionControlCommandID `json:"command_id"`
}

type GetMissionControlCommandResponseObject interface {
	VisitGetMissionControlCommandResponse(w http.ResponseWriter) error
}

type GetMissionControlCommand200JSONResponse MissionControlCommandState

func (response GetMissionControlCommand200JSONResponse) VisitGetMissionControlCommandResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlCommand400JSONResponse struct{ BadRequestJSONResponse }

func (response GetMissionControlCommand400JSONResponse) VisitGetMissionControlCommandResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlCommand401JSONResponse struct{ UnauthorizedJSONResponse }

func (response GetMissionControlCommand401JSONResponse) VisitGetMissionControlCommandResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlCommand403JSONResponse struct{ ForbiddenJSONResponse }

func (response GetMissionControlCommand403JSONResponse) VisitGetMissionControlCommandResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlCommand404JSONResponse struct{ NotFoundJSONResponse }

func (response GetMissionControlCommand404JSONResponse) VisitGetMissionControlCommandResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type PreviewMissionControlLaunchRequestObject struct {
	Body *PreviewMissionControlLaunchJSONRequestBody
}

type PreviewMissionControlLaunchResponseObject interface {
	VisitPreviewMissionControlLaunchResponse(w http.ResponseWriter) error
}

type PreviewMissionControlLaunch200JSONResponse MissionControlLaunchPreview

func (response PreviewMissionControlLaunch200JSONResponse) VisitPreviewMissionControlLaunchResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type PreviewMissionControlLaunch400JSONResponse struct{ BadRequestJSONResponse }

func (response PreviewMissionControlLaunch400JSONResponse) VisitPreviewMissionControlLaunchResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type PreviewMissionControlLaunch401JSONResponse struct{ UnauthorizedJSONResponse }

func (response PreviewMissionControlLaunch401JSONResponse) VisitPreviewMissionControlLaunchResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type PreviewMissionControlLaunch403JSONResponse struct{ ForbiddenJSONResponse }

func (response PreviewMissionControlLaunch403JSONResponse) VisitPreviewMissionControlLaunchResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type PreviewMissionControlLaunch404JSONResponse struct{ NotFoundJSONResponse }

func (response PreviewMissionControlLaunch404JSONResponse) VisitPreviewMissionControlLaunchResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type PreviewMissionControlLaunch409JSONResponse struct{ ConflictJSONResponse }

func (response PreviewMissionControlLaunch409JSONResponse) VisitPreviewMissionControlLaunchResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(409)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlNodeRequestObject struct {
	NodeKind     GetMissionControlNodeParamsNodeKind `json:"node_kind"`
	NodePublicId MissionControlNodePublicID          `json:"node_public_id"`
}

type GetMissionControlNodeResponseObject interface {
	VisitGetMissionControlNodeResponse(w http.ResponseWriter) error
}

type GetMissionControlNode200JSONResponse MissionControlNodeDetails

func (response GetMissionControlNode200JSONResponse) VisitGetMissionControlNodeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlNode400JSONResponse struct{ BadRequestJSONResponse }

func (response GetMissionControlNode400JSONResponse) VisitGetMissionControlNodeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlNode401JSONResponse struct{ UnauthorizedJSONResponse }

func (response GetMissionControlNode401JSONResponse) VisitGetMissionControlNodeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlNode403JSONResponse struct{ ForbiddenJSONResponse }

func (response GetMissionControlNode403JSONResponse) VisitGetMissionControlNodeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlNode404JSONResponse struct{ NotFoundJSONResponse }

func (response GetMissionControlNode404JSONResponse) VisitGetMissionControlNodeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlNode409JSONResponse struct{ ConflictJSONResponse }

func (response GetMissionControlNode409JSONResponse) VisitGetMissionControlNodeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(409)

	return json.NewEncoder(w).Encode(response)
}

type ListMissionControlNodeActivityRequestObject struct {
	NodeKind     ListMissionControlNodeActivityParamsNodeKind `json:"node_kind"`
	NodePublicId MissionControlNodePublicID                   `json:"node_public_id"`
	Params       ListMissionControlNodeActivityParams
}

type ListMissionControlNodeActivityResponseObject interface {
	VisitListMissionControlNodeActivityResponse(w http.ResponseWriter) error
}

type ListMissionControlNodeActivity200JSONResponse MissionControlNodeActivityItemsResponse

func (response ListMissionControlNodeActivity200JSONResponse) VisitListMissionControlNodeActivityResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ListMissionControlNodeActivity400JSONResponse struct{ BadRequestJSONResponse }

func (response ListMissionControlNodeActivity400JSONResponse) VisitListMissionControlNodeActivityResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ListMissionControlNodeActivity401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ListMissionControlNodeActivity401JSONResponse) VisitListMissionControlNodeActivityResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type ListMissionControlNodeActivity403JSONResponse struct{ ForbiddenJSONResponse }

func (response ListMissionControlNodeActivity403JSONResponse) VisitListMissionControlNodeActivityResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type ListMissionControlNodeActivity404JSONResponse struct{ NotFoundJSONResponse }

func (response ListMissionControlNodeActivity404JSONResponse) VisitListMissionControlNodeActivityResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type ListMissionControlNodeActivity409JSONResponse struct{ ConflictJSONResponse }

func (response ListMissionControlNodeActivity409JSONResponse) VisitListMissionControlNodeActivityResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(409)

	return json.NewEncoder(w).Encode(response)
}

type MissionControlRealtimeRequestObject struct {
	Params MissionControlRealtimeParams
}

type MissionControlRealtimeResponseObject interface {
	VisitMissionControlRealtimeResponse(w http.ResponseWriter) error
}

type MissionControlRealtime200Response struct {
}

func (response MissionControlRealtime200Response) VisitMissionControlRealtimeResponse(w http.ResponseWriter) error {
	w.WriteHeader(200)
	return nil
}

type MissionControlRealtime400JSONResponse struct{ BadRequestJSONResponse }

func (response MissionControlRealtime400JSONResponse) VisitMissionControlRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type MissionControlRealtime401JSONResponse struct{ UnauthorizedJSONResponse }

func (response MissionControlRealtime401JSONResponse) VisitMissionControlRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type MissionControlRealtime403JSONResponse struct{ ForbiddenJSONResponse }

func (response MissionControlRealtime403JSONResponse) VisitMissionControlRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type MissionControlRealtime409JSONResponse struct{ ConflictJSONResponse }

func (response MissionControlRealtime409JSONResponse) VisitMissionControlRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(409)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlWorkspaceRequestObject struct {
	Params GetMissionControlWorkspaceParams
}

type GetMissionControlWorkspaceResponseObject interface {
	VisitGetMissionControlWorkspaceResponse(w http.ResponseWriter) error
}

type GetMissionControlWorkspace200JSONResponse MissionControlWorkspaceSnapshot

func (response GetMissionControlWorkspace200JSONResponse) VisitGetMissionControlWorkspaceResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlWorkspace400JSONResponse struct{ BadRequestJSONResponse }

func (response GetMissionControlWorkspace400JSONResponse) VisitGetMissionControlWorkspaceResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlWorkspace401JSONResponse struct{ UnauthorizedJSONResponse }

func (response GetMissionControlWorkspace401JSONResponse) VisitGetMissionControlWorkspaceResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlWorkspace403JSONResponse struct{ ForbiddenJSONResponse }

func (response GetMissionControlWorkspace403JSONResponse) VisitGetMissionControlWorkspaceResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type GetMissionControlWorkspace409JSONResponse struct{ ConflictJSONResponse }

func (response GetMissionControlWorkspace409JSONResponse) VisitGetMissionControlWorkspaceResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(409)

	return json.NewEncoder(w).Encode(response)
}

type ListProjectsRequestObject struct {
	Params ListProjectsParams
}

type ListProjectsResponseObject interface {
	VisitListProjectsResponse(w http.ResponseWriter) error
}

type ListProjects200JSONResponse ProjectItemsResponse

func (response ListProjects200JSONResponse) VisitListProjectsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ListProjects400JSONResponse struct{ BadRequestJSONResponse }

func (response ListProjects400JSONResponse) VisitListProjectsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ListProjects401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ListProjects401JSONResponse) VisitListProjectsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProjectRequestObject struct {
	Body *UpsertProjectJSONRequestBody
}

type UpsertProjectResponseObject interface {
	VisitUpsertProjectResponse(w http.ResponseWriter) error
}

type UpsertProject201JSONResponse Project

func (response UpsertProject201JSONResponse) VisitUpsertProjectResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(201)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProject400JSONResponse struct{ BadRequestJSONResponse }

func (response UpsertProject400JSONResponse) VisitUpsertProjectResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProject401JSONResponse struct{ UnauthorizedJSONResponse }

func (response UpsertProject401JSONResponse) VisitUpsertProjectResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProject403JSONResponse struct{ ForbiddenJSONResponse }

func (response UpsertProject403JSONResponse) VisitUpsertProjectResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProject500JSONResponse struct{ InternalJSONResponse }

func (response UpsertProject500JSONResponse) VisitUpsertProjectResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(500)

	return json.NewEncoder(w).Encode(response)
}

type DeleteProjectRequestObject struct {
	ProjectId ProjectID `json:"project_id"`
}

type DeleteProjectResponseObject interface {
	VisitDeleteProjectResponse(w http.ResponseWriter) error
}

type DeleteProject204Response struct {
}

func (response DeleteProject204Response) VisitDeleteProjectResponse(w http.ResponseWriter) error {
	w.WriteHeader(204)
	return nil
}

type DeleteProject400JSONResponse struct{ BadRequestJSONResponse }

func (response DeleteProject400JSONResponse) VisitDeleteProjectResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type DeleteProject401JSONResponse struct{ UnauthorizedJSONResponse }

func (response DeleteProject401JSONResponse) VisitDeleteProjectResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type DeleteProject403JSONResponse struct{ ForbiddenJSONResponse }

func (response DeleteProject403JSONResponse) VisitDeleteProjectResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type GetProjectRequestObject struct {
	ProjectId ProjectID `json:"project_id"`
}

type GetProjectResponseObject interface {
	VisitGetProjectResponse(w http.ResponseWriter) error
}

type GetProject200JSONResponse Project

func (response GetProject200JSONResponse) VisitGetProjectResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type GetProject400JSONResponse struct{ BadRequestJSONResponse }

func (response GetProject400JSONResponse) VisitGetProjectResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type GetProject401JSONResponse struct{ UnauthorizedJSONResponse }

func (response GetProject401JSONResponse) VisitGetProjectResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type GetProject404JSONResponse struct{ NotFoundJSONResponse }

func (response GetProject404JSONResponse) VisitGetProjectResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type ImportDocsetRequestObject struct {
	ProjectId ProjectID `json:"project_id"`
	Body      *ImportDocsetJSONRequestBody
}

type ImportDocsetResponseObject interface {
	VisitImportDocsetResponse(w http.ResponseWriter) error
}

type ImportDocset200JSONResponse ImportDocsetResponse

func (response ImportDocset200JSONResponse) VisitImportDocsetResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ImportDocset400JSONResponse struct{ BadRequestJSONResponse }

func (response ImportDocset400JSONResponse) VisitImportDocsetResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ImportDocset401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ImportDocset401JSONResponse) VisitImportDocsetResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type ImportDocset403JSONResponse struct{ ForbiddenJSONResponse }

func (response ImportDocset403JSONResponse) VisitImportDocsetResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type SyncDocsetRequestObject struct {
	ProjectId ProjectID `json:"project_id"`
	Body      *SyncDocsetJSONRequestBody
}

type SyncDocsetResponseObject interface {
	VisitSyncDocsetResponse(w http.ResponseWriter) error
}

type SyncDocset200JSONResponse SyncDocsetResponse

func (response SyncDocset200JSONResponse) VisitSyncDocsetResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type SyncDocset400JSONResponse struct{ BadRequestJSONResponse }

func (response SyncDocset400JSONResponse) VisitSyncDocsetResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type SyncDocset401JSONResponse struct{ UnauthorizedJSONResponse }

func (response SyncDocset401JSONResponse) VisitSyncDocsetResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type SyncDocset403JSONResponse struct{ ForbiddenJSONResponse }

func (response SyncDocset403JSONResponse) VisitSyncDocsetResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type GetProjectGitHubTokensRequestObject struct {
	ProjectId ProjectID `json:"project_id"`
}

type GetProjectGitHubTokensResponseObject interface {
	VisitGetProjectGitHubTokensResponse(w http.ResponseWriter) error
}

type GetProjectGitHubTokens200JSONResponse ProjectGitHubTokens

func (response GetProjectGitHubTokens200JSONResponse) VisitGetProjectGitHubTokensResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type GetProjectGitHubTokens400JSONResponse struct{ BadRequestJSONResponse }

func (response GetProjectGitHubTokens400JSONResponse) VisitGetProjectGitHubTokensResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type GetProjectGitHubTokens401JSONResponse struct{ UnauthorizedJSONResponse }

func (response GetProjectGitHubTokens401JSONResponse) VisitGetProjectGitHubTokensResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type GetProjectGitHubTokens403JSONResponse struct{ ForbiddenJSONResponse }

func (response GetProjectGitHubTokens403JSONResponse) VisitGetProjectGitHubTokensResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProjectGitHubTokensRequestObject struct {
	ProjectId ProjectID `json:"project_id"`
	Body      *UpsertProjectGitHubTokensJSONRequestBody
}

type UpsertProjectGitHubTokensResponseObject interface {
	VisitUpsertProjectGitHubTokensResponse(w http.ResponseWriter) error
}

type UpsertProjectGitHubTokens204Response struct {
}

func (response UpsertProjectGitHubTokens204Response) VisitUpsertProjectGitHubTokensResponse(w http.ResponseWriter) error {
	w.WriteHeader(204)
	return nil
}

type UpsertProjectGitHubTokens400JSONResponse struct{ BadRequestJSONResponse }

func (response UpsertProjectGitHubTokens400JSONResponse) VisitUpsertProjectGitHubTokensResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProjectGitHubTokens401JSONResponse struct{ UnauthorizedJSONResponse }

func (response UpsertProjectGitHubTokens401JSONResponse) VisitUpsertProjectGitHubTokensResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProjectGitHubTokens403JSONResponse struct{ ForbiddenJSONResponse }

func (response UpsertProjectGitHubTokens403JSONResponse) VisitUpsertProjectGitHubTokensResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type ListProjectMembersRequestObject struct {
	ProjectId ProjectID `json:"project_id"`
	Params    ListProjectMembersParams
}

type ListProjectMembersResponseObject interface {
	VisitListProjectMembersResponse(w http.ResponseWriter) error
}

type ListProjectMembers200JSONResponse ProjectMemberItemsResponse

func (response ListProjectMembers200JSONResponse) VisitListProjectMembersResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ListProjectMembers400JSONResponse struct{ BadRequestJSONResponse }

func (response ListProjectMembers400JSONResponse) VisitListProjectMembersResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ListProjectMembers401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ListProjectMembers401JSONResponse) VisitListProjectMembersResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProjectMemberRequestObject struct {
	ProjectId ProjectID `json:"project_id"`
	Body      *UpsertProjectMemberJSONRequestBody
}

type UpsertProjectMemberResponseObject interface {
	VisitUpsertProjectMemberResponse(w http.ResponseWriter) error
}

type UpsertProjectMember204Response struct {
}

func (response UpsertProjectMember204Response) VisitUpsertProjectMemberResponse(w http.ResponseWriter) error {
	w.WriteHeader(204)
	return nil
}

type UpsertProjectMember400JSONResponse struct{ BadRequestJSONResponse }

func (response UpsertProjectMember400JSONResponse) VisitUpsertProjectMemberResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProjectMember401JSONResponse struct{ UnauthorizedJSONResponse }

func (response UpsertProjectMember401JSONResponse) VisitUpsertProjectMemberResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProjectMember403JSONResponse struct{ ForbiddenJSONResponse }

func (response UpsertProjectMember403JSONResponse) VisitUpsertProjectMemberResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type DeleteProjectMemberRequestObject struct {
	ProjectId ProjectID `json:"project_id"`
	UserId    UserID    `json:"user_id"`
}

type DeleteProjectMemberResponseObject interface {
	VisitDeleteProjectMemberResponse(w http.ResponseWriter) error
}

type DeleteProjectMember204Response struct {
}

func (response DeleteProjectMember204Response) VisitDeleteProjectMemberResponse(w http.ResponseWriter) error {
	w.WriteHeader(204)
	return nil
}

type DeleteProjectMember400JSONResponse struct{ BadRequestJSONResponse }

func (response DeleteProjectMember400JSONResponse) VisitDeleteProjectMemberResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type DeleteProjectMember401JSONResponse struct{ UnauthorizedJSONResponse }

func (response DeleteProjectMember401JSONResponse) VisitDeleteProjectMemberResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type DeleteProjectMember403JSONResponse struct{ ForbiddenJSONResponse }

func (response DeleteProjectMember403JSONResponse) VisitDeleteProjectMemberResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type SetProjectMemberLearningModeOverrideRequestObject struct {
	ProjectId ProjectID `json:"project_id"`
	UserId    UserID    `json:"user_id"`
	Body      *SetProjectMemberLearningModeOverrideJSONRequestBody
}

type SetProjectMemberLearningModeOverrideResponseObject interface {
	VisitSetProjectMemberLearningModeOverrideResponse(w http.ResponseWriter) error
}

type SetProjectMemberLearningModeOverride204Response struct {
}

func (response SetProjectMemberLearningModeOverride204Response) VisitSetProjectMemberLearningModeOverrideResponse(w http.ResponseWriter) error {
	w.WriteHeader(204)
	return nil
}

type SetProjectMemberLearningModeOverride400JSONResponse struct{ BadRequestJSONResponse }

func (response SetProjectMemberLearningModeOverride400JSONResponse) VisitSetProjectMemberLearningModeOverrideResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type SetProjectMemberLearningModeOverride401JSONResponse struct{ UnauthorizedJSONResponse }

func (response SetProjectMemberLearningModeOverride401JSONResponse) VisitSetProjectMemberLearningModeOverrideResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type SetProjectMemberLearningModeOverride403JSONResponse struct{ ForbiddenJSONResponse }

func (response SetProjectMemberLearningModeOverride403JSONResponse) VisitSetProjectMemberLearningModeOverrideResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type ListProjectRepositoriesRequestObject struct {
	ProjectId ProjectID `json:"project_id"`
	Params    ListProjectRepositoriesParams
}

type ListProjectRepositoriesResponseObject interface {
	VisitListProjectRepositoriesResponse(w http.ResponseWriter) error
}

type ListProjectRepositories200JSONResponse RepositoryBindingItemsResponse

func (response ListProjectRepositories200JSONResponse) VisitListProjectRepositoriesResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ListProjectRepositories400JSONResponse struct{ BadRequestJSONResponse }

func (response ListProjectRepositories400JSONResponse) VisitListProjectRepositoriesResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ListProjectRepositories401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ListProjectRepositories401JSONResponse) VisitListProjectRepositoriesResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProjectRepositoryRequestObject struct {
	ProjectId ProjectID `json:"project_id"`
	Body      *UpsertProjectRepositoryJSONRequestBody
}

type UpsertProjectRepositoryResponseObject interface {
	VisitUpsertProjectRepositoryResponse(w http.ResponseWriter) error
}

type UpsertProjectRepository201JSONResponse RepositoryBinding

func (response UpsertProjectRepository201JSONResponse) VisitUpsertProjectRepositoryResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(201)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProjectRepository400JSONResponse struct{ BadRequestJSONResponse }

func (response UpsertProjectRepository400JSONResponse) VisitUpsertProjectRepositoryResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProjectRepository401JSONResponse struct{ UnauthorizedJSONResponse }

func (response UpsertProjectRepository401JSONResponse) VisitUpsertProjectRepositoryResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type UpsertProjectRepository403JSONResponse struct{ ForbiddenJSONResponse }

func (response UpsertProjectRepository403JSONResponse) VisitUpsertProjectRepositoryResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type DeleteProjectRepositoryRequestObject struct {
	ProjectId    ProjectID `json:"project_id"`
	RepositoryId string    `json:"repository_id"`
}

type DeleteProjectRepositoryResponseObject interface {
	VisitDeleteProjectRepositoryResponse(w http.ResponseWriter) error
}

type DeleteProjectRepository204Response struct {
}

func (response DeleteProjectRepository204Response) VisitDeleteProjectRepositoryResponse(w http.ResponseWriter) error {
	w.WriteHeader(204)
	return nil
}

type DeleteProjectRepository400JSONResponse struct{ BadRequestJSONResponse }

func (response DeleteProjectRepository400JSONResponse) VisitDeleteProjectRepositoryResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type DeleteProjectRepository401JSONResponse struct{ UnauthorizedJSONResponse }

func (response DeleteProjectRepository401JSONResponse) VisitDeleteProjectRepositoryResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type DeleteProjectRepository403JSONResponse struct{ ForbiddenJSONResponse }

func (response DeleteProjectRepository403JSONResponse) VisitDeleteProjectRepositoryResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type UpsertRepositoryBotParamsRequestObject struct {
	ProjectId    ProjectID `json:"project_id"`
	RepositoryId string    `json:"repository_id"`
	Body         *UpsertRepositoryBotParamsJSONRequestBody
}

type UpsertRepositoryBotParamsResponseObject interface {
	VisitUpsertRepositoryBotParamsResponse(w http.ResponseWriter) error
}

type UpsertRepositoryBotParams204Response struct {
}

func (response UpsertRepositoryBotParams204Response) VisitUpsertRepositoryBotParamsResponse(w http.ResponseWriter) error {
	w.WriteHeader(204)
	return nil
}

type UpsertRepositoryBotParams400JSONResponse struct{ BadRequestJSONResponse }

func (response UpsertRepositoryBotParams400JSONResponse) VisitUpsertRepositoryBotParamsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type UpsertRepositoryBotParams401JSONResponse struct{ UnauthorizedJSONResponse }

func (response UpsertRepositoryBotParams401JSONResponse) VisitUpsertRepositoryBotParamsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type UpsertRepositoryBotParams403JSONResponse struct{ ForbiddenJSONResponse }

func (response UpsertRepositoryBotParams403JSONResponse) VisitUpsertRepositoryBotParamsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type RunRepositoryPreflightRequestObject struct {
	ProjectId    ProjectID `json:"project_id"`
	RepositoryId string    `json:"repository_id"`
}

type RunRepositoryPreflightResponseObject interface {
	VisitRunRepositoryPreflightResponse(w http.ResponseWriter) error
}

type RunRepositoryPreflight200JSONResponse RunRepositoryPreflightResponse

func (response RunRepositoryPreflight200JSONResponse) VisitRunRepositoryPreflightResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type RunRepositoryPreflight400JSONResponse struct{ BadRequestJSONResponse }

func (response RunRepositoryPreflight400JSONResponse) VisitRunRepositoryPreflightResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type RunRepositoryPreflight401JSONResponse struct{ UnauthorizedJSONResponse }

func (response RunRepositoryPreflight401JSONResponse) VisitRunRepositoryPreflightResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type RunRepositoryPreflight403JSONResponse struct{ ForbiddenJSONResponse }

func (response RunRepositoryPreflight403JSONResponse) VisitRunRepositoryPreflightResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type RunsRealtimeRequestObject struct {
	Params RunsRealtimeParams
}

type RunsRealtimeResponseObject interface {
	VisitRunsRealtimeResponse(w http.ResponseWriter) error
}

type RunsRealtime200Response struct {
}

func (response RunsRealtime200Response) VisitRunsRealtimeResponse(w http.ResponseWriter) error {
	w.WriteHeader(200)
	return nil
}

type RunsRealtime400JSONResponse struct{ BadRequestJSONResponse }

func (response RunsRealtime400JSONResponse) VisitRunsRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type RunsRealtime401JSONResponse struct{ UnauthorizedJSONResponse }

func (response RunsRealtime401JSONResponse) VisitRunsRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type ListRunWaitsRequestObject struct {
	Params ListRunWaitsParams
}

type ListRunWaitsResponseObject interface {
	VisitListRunWaitsResponse(w http.ResponseWriter) error
}

type ListRunWaits200JSONResponse RunItemsResponse

func (response ListRunWaits200JSONResponse) VisitListRunWaitsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ListRunWaits400JSONResponse struct{ BadRequestJSONResponse }

func (response ListRunWaits400JSONResponse) VisitListRunWaitsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ListRunWaits401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ListRunWaits401JSONResponse) VisitListRunWaitsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type GetRunRequestObject struct {
	RunId RunID `json:"run_id"`
}

type GetRunResponseObject interface {
	VisitGetRunResponse(w http.ResponseWriter) error
}

type GetRun200JSONResponse Run

func (response GetRun200JSONResponse) VisitGetRunResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type GetRun400JSONResponse struct{ BadRequestJSONResponse }

func (response GetRun400JSONResponse) VisitGetRunResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type GetRun401JSONResponse struct{ UnauthorizedJSONResponse }

func (response GetRun401JSONResponse) VisitGetRunResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type GetRun404JSONResponse struct{ NotFoundJSONResponse }

func (response GetRun404JSONResponse) VisitGetRunResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type CancelRunRequestObject struct {
	RunId RunID `json:"run_id"`
	Body  *CancelRunJSONRequestBody
}

type CancelRunResponseObject interface {
	VisitCancelRunResponse(w http.ResponseWriter) error
}

type CancelRun200JSONResponse RunActionResponse

func (response CancelRun200JSONResponse) VisitCancelRunResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type CancelRun400JSONResponse struct{ BadRequestJSONResponse }

func (response CancelRun400JSONResponse) VisitCancelRunResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type CancelRun401JSONResponse struct{ UnauthorizedJSONResponse }

func (response CancelRun401JSONResponse) VisitCancelRunResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type CancelRun403JSONResponse struct{ ForbiddenJSONResponse }

func (response CancelRun403JSONResponse) VisitCancelRunResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type CancelRun404JSONResponse struct{ NotFoundJSONResponse }

func (response CancelRun404JSONResponse) VisitCancelRunResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type CancelRun409JSONResponse struct{ ConflictJSONResponse }

func (response CancelRun409JSONResponse) VisitCancelRunResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(409)

	return json.NewEncoder(w).Encode(response)
}

type ListRunEventsRequestObject struct {
	RunId  RunID `json:"run_id"`
	Params ListRunEventsParams
}

type ListRunEventsResponseObject interface {
	VisitListRunEventsResponse(w http.ResponseWriter) error
}

type ListRunEvents200JSONResponse FlowEventItemsResponse

func (response ListRunEvents200JSONResponse) VisitListRunEventsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ListRunEvents400JSONResponse struct{ BadRequestJSONResponse }

func (response ListRunEvents400JSONResponse) VisitListRunEventsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ListRunEvents401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ListRunEvents401JSONResponse) VisitListRunEventsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type ListRunLearningFeedbackRequestObject struct {
	RunId  RunID `json:"run_id"`
	Params ListRunLearningFeedbackParams
}

type ListRunLearningFeedbackResponseObject interface {
	VisitListRunLearningFeedbackResponse(w http.ResponseWriter) error
}

type ListRunLearningFeedback200JSONResponse LearningFeedbackItemsResponse

func (response ListRunLearningFeedback200JSONResponse) VisitListRunLearningFeedbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ListRunLearningFeedback400JSONResponse struct{ BadRequestJSONResponse }

func (response ListRunLearningFeedback400JSONResponse) VisitListRunLearningFeedbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ListRunLearningFeedback401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ListRunLearningFeedback401JSONResponse) VisitListRunLearningFeedbackResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type GetRunLogsRequestObject struct {
	RunId  RunID `json:"run_id"`
	Params GetRunLogsParams
}

type GetRunLogsResponseObject interface {
	VisitGetRunLogsResponse(w http.ResponseWriter) error
}

type GetRunLogs200JSONResponse RunLogs

func (response GetRunLogs200JSONResponse) VisitGetRunLogsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type GetRunLogs400JSONResponse struct{ BadRequestJSONResponse }

func (response GetRunLogs400JSONResponse) VisitGetRunLogsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type GetRunLogs401JSONResponse struct{ UnauthorizedJSONResponse }

func (response GetRunLogs401JSONResponse) VisitGetRunLogsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type GetRunLogs404JSONResponse struct{ NotFoundJSONResponse }

func (response GetRunLogs404JSONResponse) VisitGetRunLogsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type DeleteRunNamespaceRequestObject struct {
	RunId RunID `json:"run_id"`
}

type DeleteRunNamespaceResponseObject interface {
	VisitDeleteRunNamespaceResponse(w http.ResponseWriter) error
}

type DeleteRunNamespace200JSONResponse RunNamespaceCleanupResponse

func (response DeleteRunNamespace200JSONResponse) VisitDeleteRunNamespaceResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type DeleteRunNamespace400JSONResponse struct{ BadRequestJSONResponse }

func (response DeleteRunNamespace400JSONResponse) VisitDeleteRunNamespaceResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type DeleteRunNamespace401JSONResponse struct{ UnauthorizedJSONResponse }

func (response DeleteRunNamespace401JSONResponse) VisitDeleteRunNamespaceResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type DeleteRunNamespace403JSONResponse struct{ ForbiddenJSONResponse }

func (response DeleteRunNamespace403JSONResponse) VisitDeleteRunNamespaceResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type RunRealtimeRequestObject struct {
	RunId  RunID `json:"run_id"`
	Params RunRealtimeParams
}

type RunRealtimeResponseObject interface {
	VisitRunRealtimeResponse(w http.ResponseWriter) error
}

type RunRealtime200JSONResponse RunRealtimeMessage

func (response RunRealtime200JSONResponse) VisitRunRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type RunRealtime400JSONResponse struct{ BadRequestJSONResponse }

func (response RunRealtime400JSONResponse) VisitRunRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type RunRealtime401JSONResponse struct{ UnauthorizedJSONResponse }

func (response RunRealtime401JSONResponse) VisitRunRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type RuntimeDeployTasksRealtimeRequestObject struct {
	Params RuntimeDeployTasksRealtimeParams
}

type RuntimeDeployTasksRealtimeResponseObject interface {
	VisitRuntimeDeployTasksRealtimeResponse(w http.ResponseWriter) error
}

type RuntimeDeployTasksRealtime200Response struct {
}

func (response RuntimeDeployTasksRealtime200Response) VisitRuntimeDeployTasksRealtimeResponse(w http.ResponseWriter) error {
	w.WriteHeader(200)
	return nil
}

type RuntimeDeployTasksRealtime400JSONResponse struct{ BadRequestJSONResponse }

func (response RuntimeDeployTasksRealtime400JSONResponse) VisitRuntimeDeployTasksRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type RuntimeDeployTasksRealtime401JSONResponse struct{ UnauthorizedJSONResponse }

func (response RuntimeDeployTasksRealtime401JSONResponse) VisitRuntimeDeployTasksRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type RuntimeDeployTasksRealtime403JSONResponse struct{ ForbiddenJSONResponse }

func (response RuntimeDeployTasksRealtime403JSONResponse) VisitRuntimeDeployTasksRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type GetRuntimeDeployTaskRequestObject struct {
	RunId RunID `json:"run_id"`
}

type GetRuntimeDeployTaskResponseObject interface {
	VisitGetRuntimeDeployTaskResponse(w http.ResponseWriter) error
}

type GetRuntimeDeployTask200JSONResponse RuntimeDeployTask

func (response GetRuntimeDeployTask200JSONResponse) VisitGetRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type GetRuntimeDeployTask400JSONResponse struct{ BadRequestJSONResponse }

func (response GetRuntimeDeployTask400JSONResponse) VisitGetRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type GetRuntimeDeployTask401JSONResponse struct{ UnauthorizedJSONResponse }

func (response GetRuntimeDeployTask401JSONResponse) VisitGetRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type GetRuntimeDeployTask403JSONResponse struct{ ForbiddenJSONResponse }

func (response GetRuntimeDeployTask403JSONResponse) VisitGetRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type GetRuntimeDeployTask404JSONResponse struct{ NotFoundJSONResponse }

func (response GetRuntimeDeployTask404JSONResponse) VisitGetRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type CancelRuntimeDeployTaskRequestObject struct {
	RunId RunID `json:"run_id"`
	Body  *CancelRuntimeDeployTaskJSONRequestBody
}

type CancelRuntimeDeployTaskResponseObject interface {
	VisitCancelRuntimeDeployTaskResponse(w http.ResponseWriter) error
}

type CancelRuntimeDeployTask200JSONResponse RuntimeDeployTaskActionResponse

func (response CancelRuntimeDeployTask200JSONResponse) VisitCancelRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type CancelRuntimeDeployTask400JSONResponse struct{ BadRequestJSONResponse }

func (response CancelRuntimeDeployTask400JSONResponse) VisitCancelRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type CancelRuntimeDeployTask401JSONResponse struct{ UnauthorizedJSONResponse }

func (response CancelRuntimeDeployTask401JSONResponse) VisitCancelRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type CancelRuntimeDeployTask403JSONResponse struct{ ForbiddenJSONResponse }

func (response CancelRuntimeDeployTask403JSONResponse) VisitCancelRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type CancelRuntimeDeployTask404JSONResponse struct{ NotFoundJSONResponse }

func (response CancelRuntimeDeployTask404JSONResponse) VisitCancelRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type CancelRuntimeDeployTask409JSONResponse struct{ ConflictJSONResponse }

func (response CancelRuntimeDeployTask409JSONResponse) VisitCancelRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(409)

	return json.NewEncoder(w).Encode(response)
}

type StopRuntimeDeployTaskRequestObject struct {
	RunId RunID `json:"run_id"`
	Body  *StopRuntimeDeployTaskJSONRequestBody
}

type StopRuntimeDeployTaskResponseObject interface {
	VisitStopRuntimeDeployTaskResponse(w http.ResponseWriter) error
}

type StopRuntimeDeployTask200JSONResponse RuntimeDeployTaskActionResponse

func (response StopRuntimeDeployTask200JSONResponse) VisitStopRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type StopRuntimeDeployTask400JSONResponse struct{ BadRequestJSONResponse }

func (response StopRuntimeDeployTask400JSONResponse) VisitStopRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type StopRuntimeDeployTask401JSONResponse struct{ UnauthorizedJSONResponse }

func (response StopRuntimeDeployTask401JSONResponse) VisitStopRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type StopRuntimeDeployTask403JSONResponse struct{ ForbiddenJSONResponse }

func (response StopRuntimeDeployTask403JSONResponse) VisitStopRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type StopRuntimeDeployTask404JSONResponse struct{ NotFoundJSONResponse }

func (response StopRuntimeDeployTask404JSONResponse) VisitStopRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type StopRuntimeDeployTask409JSONResponse struct{ ConflictJSONResponse }

func (response StopRuntimeDeployTask409JSONResponse) VisitStopRuntimeDeployTaskResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(409)

	return json.NewEncoder(w).Encode(response)
}

type ListRuntimeErrorsRequestObject struct {
	Params ListRuntimeErrorsParams
}

type ListRuntimeErrorsResponseObject interface {
	VisitListRuntimeErrorsResponse(w http.ResponseWriter) error
}

type ListRuntimeErrors200JSONResponse RuntimeErrorItemsResponse

func (response ListRuntimeErrors200JSONResponse) VisitListRuntimeErrorsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ListRuntimeErrors400JSONResponse struct{ BadRequestJSONResponse }

func (response ListRuntimeErrors400JSONResponse) VisitListRuntimeErrorsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ListRuntimeErrors401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ListRuntimeErrors401JSONResponse) VisitListRuntimeErrorsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type ListRuntimeErrors403JSONResponse struct{ ForbiddenJSONResponse }

func (response ListRuntimeErrors403JSONResponse) VisitListRuntimeErrorsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type MarkRuntimeErrorViewedRequestObject struct {
	RuntimeErrorId RuntimeErrorID `json:"runtime_error_id"`
}

type MarkRuntimeErrorViewedResponseObject interface {
	VisitMarkRuntimeErrorViewedResponse(w http.ResponseWriter) error
}

type MarkRuntimeErrorViewed200JSONResponse RuntimeError

func (response MarkRuntimeErrorViewed200JSONResponse) VisitMarkRuntimeErrorViewedResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type MarkRuntimeErrorViewed400JSONResponse struct{ BadRequestJSONResponse }

func (response MarkRuntimeErrorViewed400JSONResponse) VisitMarkRuntimeErrorViewedResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type MarkRuntimeErrorViewed401JSONResponse struct{ UnauthorizedJSONResponse }

func (response MarkRuntimeErrorViewed401JSONResponse) VisitMarkRuntimeErrorViewedResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type MarkRuntimeErrorViewed403JSONResponse struct{ ForbiddenJSONResponse }

func (response MarkRuntimeErrorViewed403JSONResponse) VisitMarkRuntimeErrorViewedResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type MarkRuntimeErrorViewed404JSONResponse struct{ NotFoundJSONResponse }

func (response MarkRuntimeErrorViewed404JSONResponse) VisitMarkRuntimeErrorViewedResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type ListSystemSettingsRequestObject struct {
}

type ListSystemSettingsResponseObject interface {
	VisitListSystemSettingsResponse(w http.ResponseWriter) error
}

type ListSystemSettings200JSONResponse SystemSettingItemsResponse

func (response ListSystemSettings200JSONResponse) VisitListSystemSettingsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ListSystemSettings401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ListSystemSettings401JSONResponse) VisitListSystemSettingsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type ListSystemSettings403JSONResponse struct{ ForbiddenJSONResponse }

func (response ListSystemSettings403JSONResponse) VisitListSystemSettingsResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type SystemSettingsRealtimeRequestObject struct {
}

type SystemSettingsRealtimeResponseObject interface {
	VisitSystemSettingsRealtimeResponse(w http.ResponseWriter) error
}

type SystemSettingsRealtime200Response struct {
}

func (response SystemSettingsRealtime200Response) VisitSystemSettingsRealtimeResponse(w http.ResponseWriter) error {
	w.WriteHeader(200)
	return nil
}

type SystemSettingsRealtime401JSONResponse struct{ UnauthorizedJSONResponse }

func (response SystemSettingsRealtime401JSONResponse) VisitSystemSettingsRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type SystemSettingsRealtime403JSONResponse struct{ ForbiddenJSONResponse }

func (response SystemSettingsRealtime403JSONResponse) VisitSystemSettingsRealtimeResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type GetSystemSettingRequestObject struct {
	SettingKey SettingKey `json:"setting_key"`
}

type GetSystemSettingResponseObject interface {
	VisitGetSystemSettingResponse(w http.ResponseWriter) error
}

type GetSystemSetting200JSONResponse SystemSetting

func (response GetSystemSetting200JSONResponse) VisitGetSystemSettingResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type GetSystemSetting400JSONResponse struct{ BadRequestJSONResponse }

func (response GetSystemSetting400JSONResponse) VisitGetSystemSettingResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type GetSystemSetting401JSONResponse struct{ UnauthorizedJSONResponse }

func (response GetSystemSetting401JSONResponse) VisitGetSystemSettingResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type GetSystemSetting403JSONResponse struct{ ForbiddenJSONResponse }

func (response GetSystemSetting403JSONResponse) VisitGetSystemSettingResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type GetSystemSetting404JSONResponse struct{ NotFoundJSONResponse }

func (response GetSystemSetting404JSONResponse) VisitGetSystemSettingResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type UpdateSystemSettingBooleanRequestObject struct {
	SettingKey SettingKey `json:"setting_key"`
	Body       *UpdateSystemSettingBooleanJSONRequestBody
}

type UpdateSystemSettingBooleanResponseObject interface {
	VisitUpdateSystemSettingBooleanResponse(w http.ResponseWriter) error
}

type UpdateSystemSettingBoolean200JSONResponse SystemSetting

func (response UpdateSystemSettingBoolean200JSONResponse) VisitUpdateSystemSettingBooleanResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type UpdateSystemSettingBoolean400JSONResponse struct{ BadRequestJSONResponse }

func (response UpdateSystemSettingBoolean400JSONResponse) VisitUpdateSystemSettingBooleanResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type UpdateSystemSettingBoolean401JSONResponse struct{ UnauthorizedJSONResponse }

func (response UpdateSystemSettingBoolean401JSONResponse) VisitUpdateSystemSettingBooleanResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type UpdateSystemSettingBoolean403JSONResponse struct{ ForbiddenJSONResponse }

func (response UpdateSystemSettingBoolean403JSONResponse) VisitUpdateSystemSettingBooleanResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type UpdateSystemSettingBoolean404JSONResponse struct{ NotFoundJSONResponse }

func (response UpdateSystemSettingBoolean404JSONResponse) VisitUpdateSystemSettingBooleanResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type ResetSystemSettingRequestObject struct {
	SettingKey SettingKey `json:"setting_key"`
}

type ResetSystemSettingResponseObject interface {
	VisitResetSystemSettingResponse(w http.ResponseWriter) error
}

type ResetSystemSetting200JSONResponse SystemSetting

func (response ResetSystemSetting200JSONResponse) VisitResetSystemSettingResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ResetSystemSetting400JSONResponse struct{ BadRequestJSONResponse }

func (response ResetSystemSetting400JSONResponse) VisitResetSystemSettingResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ResetSystemSetting401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ResetSystemSetting401JSONResponse) VisitResetSystemSettingResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type ResetSystemSetting403JSONResponse struct{ ForbiddenJSONResponse }

func (response ResetSystemSetting403JSONResponse) VisitResetSystemSettingResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type ResetSystemSetting404JSONResponse struct{ NotFoundJSONResponse }

func (response ResetSystemSetting404JSONResponse) VisitResetSystemSettingResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(404)

	return json.NewEncoder(w).Encode(response)
}

type ListUsersRequestObject struct {
	Params ListUsersParams
}

type ListUsersResponseObject interface {
	VisitListUsersResponse(w http.ResponseWriter) error
}

type ListUsers200JSONResponse UserItemsResponse

func (response ListUsers200JSONResponse) VisitListUsersResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type ListUsers400JSONResponse struct{ BadRequestJSONResponse }

func (response ListUsers400JSONResponse) VisitListUsersResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type ListUsers401JSONResponse struct{ UnauthorizedJSONResponse }

func (response ListUsers401JSONResponse) VisitListUsersResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type CreateUserRequestObject struct {
	Body *CreateUserJSONRequestBody
}

type CreateUserResponseObject interface {
	VisitCreateUserResponse(w http.ResponseWriter) error
}

type CreateUser201JSONResponse User

func (response CreateUser201JSONResponse) VisitCreateUserResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(201)

	return json.NewEncoder(w).Encode(response)
}

type CreateUser400JSONResponse struct{ BadRequestJSONResponse }

func (response CreateUser400JSONResponse) VisitCreateUserResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type CreateUser401JSONResponse struct{ UnauthorizedJSONResponse }

func (response CreateUser401JSONResponse) VisitCreateUserResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type CreateUser403JSONResponse struct{ ForbiddenJSONResponse }

func (response CreateUser403JSONResponse) VisitCreateUserResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type DeleteUserRequestObject struct {
	UserId UserID `json:"user_id"`
}

type DeleteUserResponseObject interface {
	VisitDeleteUserResponse(w http.ResponseWriter) error
}

type DeleteUser204Response struct {
}

func (response DeleteUser204Response) VisitDeleteUserResponse(w http.ResponseWriter) error {
	w.WriteHeader(204)
	return nil
}

type DeleteUser400JSONResponse struct{ BadRequestJSONResponse }

func (response DeleteUser400JSONResponse) VisitDeleteUserResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type DeleteUser401JSONResponse struct{ UnauthorizedJSONResponse }

func (response DeleteUser401JSONResponse) VisitDeleteUserResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type DeleteUser403JSONResponse struct{ ForbiddenJSONResponse }

func (response DeleteUser403JSONResponse) VisitDeleteUserResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(403)

	return json.NewEncoder(w).Encode(response)
}

type IngestGithubWebhookRequestObject struct {
	Params IngestGithubWebhookParams
	Body   *IngestGithubWebhookJSONRequestBody
}

type IngestGithubWebhookResponseObject interface {
	VisitIngestGithubWebhookResponse(w http.ResponseWriter) error
}

type IngestGithubWebhook200JSONResponse IngestGitHubWebhookResponse

func (response IngestGithubWebhook200JSONResponse) VisitIngestGithubWebhookResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(200)

	return json.NewEncoder(w).Encode(response)
}

type IngestGithubWebhook202JSONResponse IngestGitHubWebhookResponse

func (response IngestGithubWebhook202JSONResponse) VisitIngestGithubWebhookResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(202)

	return json.NewEncoder(w).Encode(response)
}

type IngestGithubWebhook400JSONResponse struct{ BadRequestJSONResponse }

func (response IngestGithubWebhook400JSONResponse) VisitIngestGithubWebhookResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(400)

	return json.NewEncoder(w).Encode(response)
}

type IngestGithubWebhook401JSONResponse struct{ UnauthorizedJSONResponse }

func (response IngestGithubWebhook401JSONResponse) VisitIngestGithubWebhookResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(401)

	return json.NewEncoder(w).Encode(response)
}

type IngestGithubWebhook500JSONResponse struct{ InternalJSONResponse }

func (response IngestGithubWebhook500JSONResponse) VisitIngestGithubWebhookResponse(w http.ResponseWriter) error {
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(500)

	return json.NewEncoder(w).Encode(response)
}

// StrictServerInterface represents all server handlers.
type StrictServerInterface interface {
	// Complete GitHub OAuth callback and set auth cookie
	// (GET /api/v1/auth/github/callback)
	CallbackGithub(ctx context.Context, request CallbackGithubRequestObject) (CallbackGithubResponseObject, error)
	// Start GitHub OAuth login
	// (GET /api/v1/auth/github/login)
	LoginGithub(ctx context.Context, request LoginGithubRequestObject) (LoginGithubResponseObject, error)
	// Logout current staff user
	// (POST /api/v1/auth/logout)
	Logout(ctx context.Context, request LogoutRequestObject) (LogoutResponseObject, error)
	// Get current authenticated staff principal
	// (GET /api/v1/auth/me)
	GetMe(ctx context.Context, request GetMeRequestObject) (GetMeResponseObject, error)
	// Resolve one MCP approval request from external approver callback
	// (POST /api/v1/mcp/approver/callback)
	McpApproverCallback(ctx context.Context, request McpApproverCallbackRequestObject) (McpApproverCallbackResponseObject, error)
	// Resolve one MCP approval request from external executor callback
	// (POST /api/v1/mcp/executor/callback)
	McpExecutorCallback(ctx context.Context, request McpExecutorCallbackRequestObject) (McpExecutorCallbackResponseObject, error)
	// Apply one built-in MCP user interaction callback
	// (POST /api/v1/mcp/interactions/callback)
	McpInteractionCallback(ctx context.Context, request McpInteractionCallbackRequestObject) (McpInteractionCallbackResponseObject, error)
	// List pending approval requests
	// (GET /api/v1/staff/approvals)
	ListPendingApprovals(ctx context.Context, request ListPendingApprovalsRequestObject) (ListPendingApprovalsResponseObject, error)
	// Resolve one approval request (approve/deny/expire/fail)
	// (POST /api/v1/staff/approvals/{approval_request_id}/decision)
	ResolveApprovalDecision(ctx context.Context, request ResolveApprovalDecisionRequestObject) (ResolveApprovalDecisionResponseObject, error)
	// List docset groups (manifest v1)
	// (GET /api/v1/staff/docset/groups)
	ListDocsetGroups(ctx context.Context, request ListDocsetGroupsRequestObject) (ListDocsetGroupsResponseObject, error)
	// Execute one GitHub next-step action
	// (POST /api/v1/staff/github/next-step-actions/execute)
	ExecuteNextStepAction(ctx context.Context, request ExecuteNextStepActionRequestObject) (ExecuteNextStepActionResponseObject, error)
	// Preview one GitHub next-step action
	// (POST /api/v1/staff/github/next-step-actions/preview)
	PreviewNextStepAction(ctx context.Context, request PreviewNextStepActionRequestObject) (PreviewNextStepActionResponseObject, error)
	// Submit Mission Control command
	// (POST /api/v1/staff/mission-control/commands)
	SubmitMissionControlCommand(ctx context.Context, request SubmitMissionControlCommandRequestObject) (SubmitMissionControlCommandResponseObject, error)
	// Get Mission Control command status
	// (GET /api/v1/staff/mission-control/commands/{command_id})
	GetMissionControlCommand(ctx context.Context, request GetMissionControlCommandRequestObject) (GetMissionControlCommandResponseObject, error)
	// Preview Mission Control launch
	// (POST /api/v1/staff/mission-control/launch-preview)
	PreviewMissionControlLaunch(ctx context.Context, request PreviewMissionControlLaunchRequestObject) (PreviewMissionControlLaunchResponseObject, error)
	// Get Mission Control node details
	// (GET /api/v1/staff/mission-control/nodes/{node_kind}/{node_public_id})
	GetMissionControlNode(ctx context.Context, request GetMissionControlNodeRequestObject) (GetMissionControlNodeResponseObject, error)
	// List Mission Control node activity
	// (GET /api/v1/staff/mission-control/nodes/{node_kind}/{node_public_id}/activity)
	ListMissionControlNodeActivity(ctx context.Context, request ListMissionControlNodeActivityRequestObject) (ListMissionControlNodeActivityResponseObject, error)
	// Open Mission Control realtime stream (WebSocket upgrade)
	// (GET /api/v1/staff/mission-control/realtime)
	MissionControlRealtime(ctx context.Context, request MissionControlRealtimeRequestObject) (MissionControlRealtimeResponseObject, error)
	// Get Mission Control workspace snapshot
	// (GET /api/v1/staff/mission-control/workspace)
	GetMissionControlWorkspace(ctx context.Context, request GetMissionControlWorkspaceRequestObject) (GetMissionControlWorkspaceResponseObject, error)
	// List projects
	// (GET /api/v1/staff/projects)
	ListProjects(ctx context.Context, request ListProjectsRequestObject) (ListProjectsResponseObject, error)
	// Create or update a project by slug
	// (POST /api/v1/staff/projects)
	UpsertProject(ctx context.Context, request UpsertProjectRequestObject) (UpsertProjectResponseObject, error)
	// Delete project by id
	// (DELETE /api/v1/staff/projects/{project_id})
	DeleteProject(ctx context.Context, request DeleteProjectRequestObject) (DeleteProjectResponseObject, error)
	// Get project by id
	// (GET /api/v1/staff/projects/{project_id})
	GetProject(ctx context.Context, request GetProjectRequestObject) (GetProjectResponseObject, error)
	// Import docset into project repository (PR-based)
	// (POST /api/v1/staff/projects/{project_id}/docset/import)
	ImportDocset(ctx context.Context, request ImportDocsetRequestObject) (ImportDocsetResponseObject, error)
	// Safe sync docset into project repository (PR-based)
	// (POST /api/v1/staff/projects/{project_id}/docset/sync)
	SyncDocset(ctx context.Context, request SyncDocsetRequestObject) (SyncDocsetResponseObject, error)
	// Get project-scoped GitHub tokens status
	// (GET /api/v1/staff/projects/{project_id}/github-tokens)
	GetProjectGitHubTokens(ctx context.Context, request GetProjectGitHubTokensRequestObject) (GetProjectGitHubTokensResponseObject, error)
	// Upsert project-scoped GitHub tokens
	// (PUT /api/v1/staff/projects/{project_id}/github-tokens)
	UpsertProjectGitHubTokens(ctx context.Context, request UpsertProjectGitHubTokensRequestObject) (UpsertProjectGitHubTokensResponseObject, error)
	// List project members
	// (GET /api/v1/staff/projects/{project_id}/members)
	ListProjectMembers(ctx context.Context, request ListProjectMembersRequestObject) (ListProjectMembersResponseObject, error)
	// Add or update project member
	// (POST /api/v1/staff/projects/{project_id}/members)
	UpsertProjectMember(ctx context.Context, request UpsertProjectMemberRequestObject) (UpsertProjectMemberResponseObject, error)
	// Delete project member
	// (DELETE /api/v1/staff/projects/{project_id}/members/{user_id})
	DeleteProjectMember(ctx context.Context, request DeleteProjectMemberRequestObject) (DeleteProjectMemberResponseObject, error)
	// Set project member learning mode override
	// (PUT /api/v1/staff/projects/{project_id}/members/{user_id}/learning-mode)
	SetProjectMemberLearningModeOverride(ctx context.Context, request SetProjectMemberLearningModeOverrideRequestObject) (SetProjectMemberLearningModeOverrideResponseObject, error)
	// List project repositories
	// (GET /api/v1/staff/projects/{project_id}/repositories)
	ListProjectRepositories(ctx context.Context, request ListProjectRepositoriesRequestObject) (ListProjectRepositoriesResponseObject, error)
	// Add or update project repository binding
	// (POST /api/v1/staff/projects/{project_id}/repositories)
	UpsertProjectRepository(ctx context.Context, request UpsertProjectRepositoryRequestObject) (UpsertProjectRepositoryResponseObject, error)
	// Delete project repository binding
	// (DELETE /api/v1/staff/projects/{project_id}/repositories/{repository_id})
	DeleteProjectRepository(ctx context.Context, request DeleteProjectRepositoryRequestObject) (DeleteProjectRepositoryResponseObject, error)
	// Update repository bot parameters (token/login/email)
	// (PUT /api/v1/staff/projects/{project_id}/repositories/{repository_id}/bot-params)
	UpsertRepositoryBotParams(ctx context.Context, request UpsertRepositoryBotParamsRequestObject) (UpsertRepositoryBotParamsResponseObject, error)
	// Run repository onboarding preflight
	// (POST /api/v1/staff/projects/{project_id}/repositories/{repository_id}/preflight)
	RunRepositoryPreflight(ctx context.Context, request RunRepositoryPreflightRequestObject) (RunRepositoryPreflightResponseObject, error)
	// Open realtime runs list stream (WebSocket upgrade)
	// (GET /api/v1/staff/runs/realtime)
	RunsRealtime(ctx context.Context, request RunsRealtimeRequestObject) (RunsRealtimeResponseObject, error)
	// List wait queue runs
	// (GET /api/v1/staff/runs/waits)
	ListRunWaits(ctx context.Context, request ListRunWaitsRequestObject) (ListRunWaitsResponseObject, error)
	// Get run by id
	// (GET /api/v1/staff/runs/{run_id})
	GetRun(ctx context.Context, request GetRunRequestObject) (GetRunResponseObject, error)
	// Cancel run and stop active runtime artifacts
	// (POST /api/v1/staff/runs/{run_id}/cancel)
	CancelRun(ctx context.Context, request CancelRunRequestObject) (CancelRunResponseObject, error)
	// List run flow events
	// (GET /api/v1/staff/runs/{run_id}/events)
	ListRunEvents(ctx context.Context, request ListRunEventsRequestObject) (ListRunEventsResponseObject, error)
	// List run learning feedback
	// (GET /api/v1/staff/runs/{run_id}/learning-feedback)
	ListRunLearningFeedback(ctx context.Context, request ListRunLearningFeedbackRequestObject) (ListRunLearningFeedbackResponseObject, error)
	// Get run logs snapshot with tail lines
	// (GET /api/v1/staff/runs/{run_id}/logs)
	GetRunLogs(ctx context.Context, request GetRunLogsRequestObject) (GetRunLogsResponseObject, error)
	// Force delete run namespace
	// (DELETE /api/v1/staff/runs/{run_id}/namespace)
	DeleteRunNamespace(ctx context.Context, request DeleteRunNamespaceRequestObject) (DeleteRunNamespaceResponseObject, error)
	// Open realtime run stream (WebSocket upgrade)
	// (GET /api/v1/staff/runs/{run_id}/realtime)
	RunRealtime(ctx context.Context, request RunRealtimeRequestObject) (RunRealtimeResponseObject, error)
	// Open realtime runtime deploy tasks list stream (WebSocket upgrade)
	// (GET /api/v1/staff/runtime-deploy/tasks/realtime)
	RuntimeDeployTasksRealtime(ctx context.Context, request RuntimeDeployTasksRealtimeRequestObject) (RuntimeDeployTasksRealtimeResponseObject, error)
	// Get runtime deploy task details
	// (GET /api/v1/staff/runtime-deploy/tasks/{run_id})
	GetRuntimeDeployTask(ctx context.Context, request GetRuntimeDeployTaskRequestObject) (GetRuntimeDeployTaskResponseObject, error)
	// Cancel runtime deploy task
	// (POST /api/v1/staff/runtime-deploy/tasks/{run_id}/cancel)
	CancelRuntimeDeployTask(ctx context.Context, request CancelRuntimeDeployTaskRequestObject) (CancelRuntimeDeployTaskResponseObject, error)
	// Stop runtime deploy task
	// (POST /api/v1/staff/runtime-deploy/tasks/{run_id}/stop)
	StopRuntimeDeployTask(ctx context.Context, request StopRuntimeDeployTaskRequestObject) (StopRuntimeDeployTaskResponseObject, error)
	// List runtime error journal entries
	// (GET /api/v1/staff/runtime-errors)
	ListRuntimeErrors(ctx context.Context, request ListRuntimeErrorsRequestObject) (ListRuntimeErrorsResponseObject, error)
	// Mark runtime error as viewed
	// (POST /api/v1/staff/runtime-errors/{runtime_error_id}/viewed)
	MarkRuntimeErrorViewed(ctx context.Context, request MarkRuntimeErrorViewedRequestObject) (MarkRuntimeErrorViewedResponseObject, error)
	// List platform system settings
	// (GET /api/v1/staff/system-settings)
	ListSystemSettings(ctx context.Context, request ListSystemSettingsRequestObject) (ListSystemSettingsResponseObject, error)
	// Open system settings realtime stream (WebSocket upgrade)
	// (GET /api/v1/staff/system-settings/realtime)
	SystemSettingsRealtime(ctx context.Context, request SystemSettingsRealtimeRequestObject) (SystemSettingsRealtimeResponseObject, error)
	// Get platform system setting by key
	// (GET /api/v1/staff/system-settings/{setting_key})
	GetSystemSetting(ctx context.Context, request GetSystemSettingRequestObject) (GetSystemSettingResponseObject, error)
	// Update boolean platform system setting
	// (PUT /api/v1/staff/system-settings/{setting_key})
	UpdateSystemSettingBoolean(ctx context.Context, request UpdateSystemSettingBooleanRequestObject) (UpdateSystemSettingBooleanResponseObject, error)
	// Reset platform system setting to catalog default
	// (POST /api/v1/staff/system-settings/{setting_key}/reset)
	ResetSystemSetting(ctx context.Context, request ResetSystemSettingRequestObject) (ResetSystemSettingResponseObject, error)
	// List users
	// (GET /api/v1/staff/users)
	ListUsers(ctx context.Context, request ListUsersRequestObject) (ListUsersResponseObject, error)
	// Create allowed user
	// (POST /api/v1/staff/users)
	CreateUser(ctx context.Context, request CreateUserRequestObject) (CreateUserResponseObject, error)
	// Delete user
	// (DELETE /api/v1/staff/users/{user_id})
	DeleteUser(ctx context.Context, request DeleteUserRequestObject) (DeleteUserResponseObject, error)
	// Ingest GitHub webhook delivery
	// (POST /api/v1/webhooks/github)
	IngestGithubWebhook(ctx context.Context, request IngestGithubWebhookRequestObject) (IngestGithubWebhookResponseObject, error)
}

type StrictHandlerFunc = strictnethttp.StrictHTTPHandlerFunc
type StrictMiddlewareFunc = strictnethttp.StrictHTTPMiddlewareFunc

type StrictHTTPServerOptions struct {
	RequestErrorHandlerFunc  func(w http.ResponseWriter, r *http.Request, err error)
	ResponseErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}

func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface {
	return &strictHandler{ssi: ssi, middlewares: middlewares, options: StrictHTTPServerOptions{
		RequestErrorHandlerFunc: func(w http.ResponseWriter, r *http.Request, err error) {
			http.Error(w, err.Error(), http.StatusBadRequest)
		},
		ResponseErrorHandlerFunc: func(w http.ResponseWriter, r *http.Request, err error) {
			http.Error(w, err.Error(), http.StatusInternalServerError)
		},
	}}
}

func NewStrictHandlerWithOptions(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc, options StrictHTTPServerOptions) ServerInterface {
	return &strictHandler{ssi: ssi, middlewares: middlewares, options: options}
}

type strictHandler struct {
	ssi         StrictServerInterface
	middlewares []StrictMiddlewareFunc
	options     StrictHTTPServerOptions
}

// CallbackGithub operation middleware
func (sh *strictHandler) CallbackGithub(w http.ResponseWriter, r *http.Request, params CallbackGithubParams) {
	var request CallbackGithubRequestObject

	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.CallbackGithub(ctx, request.(CallbackGithubRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "CallbackGithub")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(CallbackGithubResponseObject); ok {
		if err := validResponse.VisitCallbackGithubResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// LoginGithub operation middleware
func (sh *strictHandler) LoginGithub(w http.ResponseWriter, r *http.Request) {
	var request LoginGithubRequestObject

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.LoginGithub(ctx, request.(LoginGithubRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "LoginGithub")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(LoginGithubResponseObject); ok {
		if err := validResponse.VisitLoginGithubResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// Logout operation middleware
func (sh *strictHandler) Logout(w http.ResponseWriter, r *http.Request) {
	var request LogoutRequestObject

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.Logout(ctx, request.(LogoutRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "Logout")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(LogoutResponseObject); ok {
		if err := validResponse.VisitLogoutResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// GetMe operation middleware
func (sh *strictHandler) GetMe(w http.ResponseWriter, r *http.Request) {
	var request GetMeRequestObject

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.GetMe(ctx, request.(GetMeRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "GetMe")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(GetMeResponseObject); ok {
		if err := validResponse.VisitGetMeResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// McpApproverCallback operation middleware
func (sh *strictHandler) McpApproverCallback(w http.ResponseWriter, r *http.Request, params McpApproverCallbackParams) {
	var request McpApproverCallbackRequestObject

	request.Params = params

	var body McpApproverCallbackJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.McpApproverCallback(ctx, request.(McpApproverCallbackRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "McpApproverCallback")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(McpApproverCallbackResponseObject); ok {
		if err := validResponse.VisitMcpApproverCallbackResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// McpExecutorCallback operation middleware
func (sh *strictHandler) McpExecutorCallback(w http.ResponseWriter, r *http.Request, params McpExecutorCallbackParams) {
	var request McpExecutorCallbackRequestObject

	request.Params = params

	var body McpExecutorCallbackJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.McpExecutorCallback(ctx, request.(McpExecutorCallbackRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "McpExecutorCallback")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(McpExecutorCallbackResponseObject); ok {
		if err := validResponse.VisitMcpExecutorCallbackResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// McpInteractionCallback operation middleware
func (sh *strictHandler) McpInteractionCallback(w http.ResponseWriter, r *http.Request, params McpInteractionCallbackParams) {
	var request McpInteractionCallbackRequestObject

	request.Params = params

	var body McpInteractionCallbackJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.McpInteractionCallback(ctx, request.(McpInteractionCallbackRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "McpInteractionCallback")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(McpInteractionCallbackResponseObject); ok {
		if err := validResponse.VisitMcpInteractionCallbackResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ListPendingApprovals operation middleware
func (sh *strictHandler) ListPendingApprovals(w http.ResponseWriter, r *http.Request, params ListPendingApprovalsParams) {
	var request ListPendingApprovalsRequestObject

	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ListPendingApprovals(ctx, request.(ListPendingApprovalsRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ListPendingApprovals")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ListPendingApprovalsResponseObject); ok {
		if err := validResponse.VisitListPendingApprovalsResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ResolveApprovalDecision operation middleware
func (sh *strictHandler) ResolveApprovalDecision(w http.ResponseWriter, r *http.Request, approvalRequestId ApprovalRequestID) {
	var request ResolveApprovalDecisionRequestObject

	request.ApprovalRequestId = approvalRequestId

	var body ResolveApprovalDecisionJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ResolveApprovalDecision(ctx, request.(ResolveApprovalDecisionRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ResolveApprovalDecision")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ResolveApprovalDecisionResponseObject); ok {
		if err := validResponse.VisitResolveApprovalDecisionResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ListDocsetGroups operation middleware
func (sh *strictHandler) ListDocsetGroups(w http.ResponseWriter, r *http.Request, params ListDocsetGroupsParams) {
	var request ListDocsetGroupsRequestObject

	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ListDocsetGroups(ctx, request.(ListDocsetGroupsRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ListDocsetGroups")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ListDocsetGroupsResponseObject); ok {
		if err := validResponse.VisitListDocsetGroupsResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ExecuteNextStepAction operation middleware
func (sh *strictHandler) ExecuteNextStepAction(w http.ResponseWriter, r *http.Request) {
	var request ExecuteNextStepActionRequestObject

	var body ExecuteNextStepActionJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ExecuteNextStepAction(ctx, request.(ExecuteNextStepActionRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ExecuteNextStepAction")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ExecuteNextStepActionResponseObject); ok {
		if err := validResponse.VisitExecuteNextStepActionResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// PreviewNextStepAction operation middleware
func (sh *strictHandler) PreviewNextStepAction(w http.ResponseWriter, r *http.Request) {
	var request PreviewNextStepActionRequestObject

	var body PreviewNextStepActionJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.PreviewNextStepAction(ctx, request.(PreviewNextStepActionRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "PreviewNextStepAction")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(PreviewNextStepActionResponseObject); ok {
		if err := validResponse.VisitPreviewNextStepActionResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// SubmitMissionControlCommand operation middleware
func (sh *strictHandler) SubmitMissionControlCommand(w http.ResponseWriter, r *http.Request, params SubmitMissionControlCommandParams) {
	var request SubmitMissionControlCommandRequestObject

	request.Params = params

	var body SubmitMissionControlCommandJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.SubmitMissionControlCommand(ctx, request.(SubmitMissionControlCommandRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "SubmitMissionControlCommand")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(SubmitMissionControlCommandResponseObject); ok {
		if err := validResponse.VisitSubmitMissionControlCommandResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// GetMissionControlCommand operation middleware
func (sh *strictHandler) GetMissionControlCommand(w http.ResponseWriter, r *http.Request, commandId MissionControlCommandID) {
	var request GetMissionControlCommandRequestObject

	request.CommandId = commandId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.GetMissionControlCommand(ctx, request.(GetMissionControlCommandRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "GetMissionControlCommand")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(GetMissionControlCommandResponseObject); ok {
		if err := validResponse.VisitGetMissionControlCommandResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// PreviewMissionControlLaunch operation middleware
func (sh *strictHandler) PreviewMissionControlLaunch(w http.ResponseWriter, r *http.Request) {
	var request PreviewMissionControlLaunchRequestObject

	var body PreviewMissionControlLaunchJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.PreviewMissionControlLaunch(ctx, request.(PreviewMissionControlLaunchRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "PreviewMissionControlLaunch")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(PreviewMissionControlLaunchResponseObject); ok {
		if err := validResponse.VisitPreviewMissionControlLaunchResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// GetMissionControlNode operation middleware
func (sh *strictHandler) GetMissionControlNode(w http.ResponseWriter, r *http.Request, nodeKind GetMissionControlNodeParamsNodeKind, nodePublicId MissionControlNodePublicID) {
	var request GetMissionControlNodeRequestObject

	request.NodeKind = nodeKind
	request.NodePublicId = nodePublicId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.GetMissionControlNode(ctx, request.(GetMissionControlNodeRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "GetMissionControlNode")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(GetMissionControlNodeResponseObject); ok {
		if err := validResponse.VisitGetMissionControlNodeResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ListMissionControlNodeActivity operation middleware
func (sh *strictHandler) ListMissionControlNodeActivity(w http.ResponseWriter, r *http.Request, nodeKind ListMissionControlNodeActivityParamsNodeKind, nodePublicId MissionControlNodePublicID, params ListMissionControlNodeActivityParams) {
	var request ListMissionControlNodeActivityRequestObject

	request.NodeKind = nodeKind
	request.NodePublicId = nodePublicId
	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ListMissionControlNodeActivity(ctx, request.(ListMissionControlNodeActivityRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ListMissionControlNodeActivity")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ListMissionControlNodeActivityResponseObject); ok {
		if err := validResponse.VisitListMissionControlNodeActivityResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// MissionControlRealtime operation middleware
func (sh *strictHandler) MissionControlRealtime(w http.ResponseWriter, r *http.Request, params MissionControlRealtimeParams) {
	var request MissionControlRealtimeRequestObject

	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.MissionControlRealtime(ctx, request.(MissionControlRealtimeRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "MissionControlRealtime")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(MissionControlRealtimeResponseObject); ok {
		if err := validResponse.VisitMissionControlRealtimeResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// GetMissionControlWorkspace operation middleware
func (sh *strictHandler) GetMissionControlWorkspace(w http.ResponseWriter, r *http.Request, params GetMissionControlWorkspaceParams) {
	var request GetMissionControlWorkspaceRequestObject

	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.GetMissionControlWorkspace(ctx, request.(GetMissionControlWorkspaceRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "GetMissionControlWorkspace")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(GetMissionControlWorkspaceResponseObject); ok {
		if err := validResponse.VisitGetMissionControlWorkspaceResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ListProjects operation middleware
func (sh *strictHandler) ListProjects(w http.ResponseWriter, r *http.Request, params ListProjectsParams) {
	var request ListProjectsRequestObject

	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ListProjects(ctx, request.(ListProjectsRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ListProjects")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ListProjectsResponseObject); ok {
		if err := validResponse.VisitListProjectsResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// UpsertProject operation middleware
func (sh *strictHandler) UpsertProject(w http.ResponseWriter, r *http.Request) {
	var request UpsertProjectRequestObject

	var body UpsertProjectJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.UpsertProject(ctx, request.(UpsertProjectRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "UpsertProject")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(UpsertProjectResponseObject); ok {
		if err := validResponse.VisitUpsertProjectResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// DeleteProject operation middleware
func (sh *strictHandler) DeleteProject(w http.ResponseWriter, r *http.Request, projectId ProjectID) {
	var request DeleteProjectRequestObject

	request.ProjectId = projectId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.DeleteProject(ctx, request.(DeleteProjectRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "DeleteProject")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(DeleteProjectResponseObject); ok {
		if err := validResponse.VisitDeleteProjectResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// GetProject operation middleware
func (sh *strictHandler) GetProject(w http.ResponseWriter, r *http.Request, projectId ProjectID) {
	var request GetProjectRequestObject

	request.ProjectId = projectId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.GetProject(ctx, request.(GetProjectRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "GetProject")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(GetProjectResponseObject); ok {
		if err := validResponse.VisitGetProjectResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ImportDocset operation middleware
func (sh *strictHandler) ImportDocset(w http.ResponseWriter, r *http.Request, projectId ProjectID) {
	var request ImportDocsetRequestObject

	request.ProjectId = projectId

	var body ImportDocsetJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ImportDocset(ctx, request.(ImportDocsetRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ImportDocset")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ImportDocsetResponseObject); ok {
		if err := validResponse.VisitImportDocsetResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// SyncDocset operation middleware
func (sh *strictHandler) SyncDocset(w http.ResponseWriter, r *http.Request, projectId ProjectID) {
	var request SyncDocsetRequestObject

	request.ProjectId = projectId

	var body SyncDocsetJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.SyncDocset(ctx, request.(SyncDocsetRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "SyncDocset")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(SyncDocsetResponseObject); ok {
		if err := validResponse.VisitSyncDocsetResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// GetProjectGitHubTokens operation middleware
func (sh *strictHandler) GetProjectGitHubTokens(w http.ResponseWriter, r *http.Request, projectId ProjectID) {
	var request GetProjectGitHubTokensRequestObject

	request.ProjectId = projectId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.GetProjectGitHubTokens(ctx, request.(GetProjectGitHubTokensRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "GetProjectGitHubTokens")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(GetProjectGitHubTokensResponseObject); ok {
		if err := validResponse.VisitGetProjectGitHubTokensResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// UpsertProjectGitHubTokens operation middleware
func (sh *strictHandler) UpsertProjectGitHubTokens(w http.ResponseWriter, r *http.Request, projectId ProjectID) {
	var request UpsertProjectGitHubTokensRequestObject

	request.ProjectId = projectId

	var body UpsertProjectGitHubTokensJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.UpsertProjectGitHubTokens(ctx, request.(UpsertProjectGitHubTokensRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "UpsertProjectGitHubTokens")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(UpsertProjectGitHubTokensResponseObject); ok {
		if err := validResponse.VisitUpsertProjectGitHubTokensResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ListProjectMembers operation middleware
func (sh *strictHandler) ListProjectMembers(w http.ResponseWriter, r *http.Request, projectId ProjectID, params ListProjectMembersParams) {
	var request ListProjectMembersRequestObject

	request.ProjectId = projectId
	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ListProjectMembers(ctx, request.(ListProjectMembersRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ListProjectMembers")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ListProjectMembersResponseObject); ok {
		if err := validResponse.VisitListProjectMembersResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// UpsertProjectMember operation middleware
func (sh *strictHandler) UpsertProjectMember(w http.ResponseWriter, r *http.Request, projectId ProjectID) {
	var request UpsertProjectMemberRequestObject

	request.ProjectId = projectId

	var body UpsertProjectMemberJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.UpsertProjectMember(ctx, request.(UpsertProjectMemberRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "UpsertProjectMember")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(UpsertProjectMemberResponseObject); ok {
		if err := validResponse.VisitUpsertProjectMemberResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// DeleteProjectMember operation middleware
func (sh *strictHandler) DeleteProjectMember(w http.ResponseWriter, r *http.Request, projectId ProjectID, userId UserID) {
	var request DeleteProjectMemberRequestObject

	request.ProjectId = projectId
	request.UserId = userId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.DeleteProjectMember(ctx, request.(DeleteProjectMemberRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "DeleteProjectMember")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(DeleteProjectMemberResponseObject); ok {
		if err := validResponse.VisitDeleteProjectMemberResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// SetProjectMemberLearningModeOverride operation middleware
func (sh *strictHandler) SetProjectMemberLearningModeOverride(w http.ResponseWriter, r *http.Request, projectId ProjectID, userId UserID) {
	var request SetProjectMemberLearningModeOverrideRequestObject

	request.ProjectId = projectId
	request.UserId = userId

	var body SetProjectMemberLearningModeOverrideJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.SetProjectMemberLearningModeOverride(ctx, request.(SetProjectMemberLearningModeOverrideRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "SetProjectMemberLearningModeOverride")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(SetProjectMemberLearningModeOverrideResponseObject); ok {
		if err := validResponse.VisitSetProjectMemberLearningModeOverrideResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ListProjectRepositories operation middleware
func (sh *strictHandler) ListProjectRepositories(w http.ResponseWriter, r *http.Request, projectId ProjectID, params ListProjectRepositoriesParams) {
	var request ListProjectRepositoriesRequestObject

	request.ProjectId = projectId
	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ListProjectRepositories(ctx, request.(ListProjectRepositoriesRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ListProjectRepositories")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ListProjectRepositoriesResponseObject); ok {
		if err := validResponse.VisitListProjectRepositoriesResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// UpsertProjectRepository operation middleware
func (sh *strictHandler) UpsertProjectRepository(w http.ResponseWriter, r *http.Request, projectId ProjectID) {
	var request UpsertProjectRepositoryRequestObject

	request.ProjectId = projectId

	var body UpsertProjectRepositoryJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.UpsertProjectRepository(ctx, request.(UpsertProjectRepositoryRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "UpsertProjectRepository")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(UpsertProjectRepositoryResponseObject); ok {
		if err := validResponse.VisitUpsertProjectRepositoryResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// DeleteProjectRepository operation middleware
func (sh *strictHandler) DeleteProjectRepository(w http.ResponseWriter, r *http.Request, projectId ProjectID, repositoryId string) {
	var request DeleteProjectRepositoryRequestObject

	request.ProjectId = projectId
	request.RepositoryId = repositoryId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.DeleteProjectRepository(ctx, request.(DeleteProjectRepositoryRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "DeleteProjectRepository")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(DeleteProjectRepositoryResponseObject); ok {
		if err := validResponse.VisitDeleteProjectRepositoryResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// UpsertRepositoryBotParams operation middleware
func (sh *strictHandler) UpsertRepositoryBotParams(w http.ResponseWriter, r *http.Request, projectId ProjectID, repositoryId string) {
	var request UpsertRepositoryBotParamsRequestObject

	request.ProjectId = projectId
	request.RepositoryId = repositoryId

	var body UpsertRepositoryBotParamsJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.UpsertRepositoryBotParams(ctx, request.(UpsertRepositoryBotParamsRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "UpsertRepositoryBotParams")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(UpsertRepositoryBotParamsResponseObject); ok {
		if err := validResponse.VisitUpsertRepositoryBotParamsResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// RunRepositoryPreflight operation middleware
func (sh *strictHandler) RunRepositoryPreflight(w http.ResponseWriter, r *http.Request, projectId ProjectID, repositoryId string) {
	var request RunRepositoryPreflightRequestObject

	request.ProjectId = projectId
	request.RepositoryId = repositoryId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.RunRepositoryPreflight(ctx, request.(RunRepositoryPreflightRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "RunRepositoryPreflight")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(RunRepositoryPreflightResponseObject); ok {
		if err := validResponse.VisitRunRepositoryPreflightResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// RunsRealtime operation middleware
func (sh *strictHandler) RunsRealtime(w http.ResponseWriter, r *http.Request, params RunsRealtimeParams) {
	var request RunsRealtimeRequestObject

	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.RunsRealtime(ctx, request.(RunsRealtimeRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "RunsRealtime")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(RunsRealtimeResponseObject); ok {
		if err := validResponse.VisitRunsRealtimeResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ListRunWaits operation middleware
func (sh *strictHandler) ListRunWaits(w http.ResponseWriter, r *http.Request, params ListRunWaitsParams) {
	var request ListRunWaitsRequestObject

	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ListRunWaits(ctx, request.(ListRunWaitsRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ListRunWaits")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ListRunWaitsResponseObject); ok {
		if err := validResponse.VisitListRunWaitsResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// GetRun operation middleware
func (sh *strictHandler) GetRun(w http.ResponseWriter, r *http.Request, runId RunID) {
	var request GetRunRequestObject

	request.RunId = runId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.GetRun(ctx, request.(GetRunRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "GetRun")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(GetRunResponseObject); ok {
		if err := validResponse.VisitGetRunResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// CancelRun operation middleware
func (sh *strictHandler) CancelRun(w http.ResponseWriter, r *http.Request, runId RunID) {
	var request CancelRunRequestObject

	request.RunId = runId

	var body CancelRunJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.CancelRun(ctx, request.(CancelRunRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "CancelRun")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(CancelRunResponseObject); ok {
		if err := validResponse.VisitCancelRunResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ListRunEvents operation middleware
func (sh *strictHandler) ListRunEvents(w http.ResponseWriter, r *http.Request, runId RunID, params ListRunEventsParams) {
	var request ListRunEventsRequestObject

	request.RunId = runId
	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ListRunEvents(ctx, request.(ListRunEventsRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ListRunEvents")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ListRunEventsResponseObject); ok {
		if err := validResponse.VisitListRunEventsResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ListRunLearningFeedback operation middleware
func (sh *strictHandler) ListRunLearningFeedback(w http.ResponseWriter, r *http.Request, runId RunID, params ListRunLearningFeedbackParams) {
	var request ListRunLearningFeedbackRequestObject

	request.RunId = runId
	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ListRunLearningFeedback(ctx, request.(ListRunLearningFeedbackRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ListRunLearningFeedback")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ListRunLearningFeedbackResponseObject); ok {
		if err := validResponse.VisitListRunLearningFeedbackResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// GetRunLogs operation middleware
func (sh *strictHandler) GetRunLogs(w http.ResponseWriter, r *http.Request, runId RunID, params GetRunLogsParams) {
	var request GetRunLogsRequestObject

	request.RunId = runId
	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.GetRunLogs(ctx, request.(GetRunLogsRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "GetRunLogs")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(GetRunLogsResponseObject); ok {
		if err := validResponse.VisitGetRunLogsResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// DeleteRunNamespace operation middleware
func (sh *strictHandler) DeleteRunNamespace(w http.ResponseWriter, r *http.Request, runId RunID) {
	var request DeleteRunNamespaceRequestObject

	request.RunId = runId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.DeleteRunNamespace(ctx, request.(DeleteRunNamespaceRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "DeleteRunNamespace")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(DeleteRunNamespaceResponseObject); ok {
		if err := validResponse.VisitDeleteRunNamespaceResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// RunRealtime operation middleware
func (sh *strictHandler) RunRealtime(w http.ResponseWriter, r *http.Request, runId RunID, params RunRealtimeParams) {
	var request RunRealtimeRequestObject

	request.RunId = runId
	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.RunRealtime(ctx, request.(RunRealtimeRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "RunRealtime")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(RunRealtimeResponseObject); ok {
		if err := validResponse.VisitRunRealtimeResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// RuntimeDeployTasksRealtime operation middleware
func (sh *strictHandler) RuntimeDeployTasksRealtime(w http.ResponseWriter, r *http.Request, params RuntimeDeployTasksRealtimeParams) {
	var request RuntimeDeployTasksRealtimeRequestObject

	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.RuntimeDeployTasksRealtime(ctx, request.(RuntimeDeployTasksRealtimeRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "RuntimeDeployTasksRealtime")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(RuntimeDeployTasksRealtimeResponseObject); ok {
		if err := validResponse.VisitRuntimeDeployTasksRealtimeResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// GetRuntimeDeployTask operation middleware
func (sh *strictHandler) GetRuntimeDeployTask(w http.ResponseWriter, r *http.Request, runId RunID) {
	var request GetRuntimeDeployTaskRequestObject

	request.RunId = runId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.GetRuntimeDeployTask(ctx, request.(GetRuntimeDeployTaskRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "GetRuntimeDeployTask")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(GetRuntimeDeployTaskResponseObject); ok {
		if err := validResponse.VisitGetRuntimeDeployTaskResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// CancelRuntimeDeployTask operation middleware
func (sh *strictHandler) CancelRuntimeDeployTask(w http.ResponseWriter, r *http.Request, runId RunID) {
	var request CancelRuntimeDeployTaskRequestObject

	request.RunId = runId

	var body CancelRuntimeDeployTaskJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.CancelRuntimeDeployTask(ctx, request.(CancelRuntimeDeployTaskRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "CancelRuntimeDeployTask")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(CancelRuntimeDeployTaskResponseObject); ok {
		if err := validResponse.VisitCancelRuntimeDeployTaskResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// StopRuntimeDeployTask operation middleware
func (sh *strictHandler) StopRuntimeDeployTask(w http.ResponseWriter, r *http.Request, runId RunID) {
	var request StopRuntimeDeployTaskRequestObject

	request.RunId = runId

	var body StopRuntimeDeployTaskJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.StopRuntimeDeployTask(ctx, request.(StopRuntimeDeployTaskRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "StopRuntimeDeployTask")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(StopRuntimeDeployTaskResponseObject); ok {
		if err := validResponse.VisitStopRuntimeDeployTaskResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ListRuntimeErrors operation middleware
func (sh *strictHandler) ListRuntimeErrors(w http.ResponseWriter, r *http.Request, params ListRuntimeErrorsParams) {
	var request ListRuntimeErrorsRequestObject

	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ListRuntimeErrors(ctx, request.(ListRuntimeErrorsRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ListRuntimeErrors")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ListRuntimeErrorsResponseObject); ok {
		if err := validResponse.VisitListRuntimeErrorsResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// MarkRuntimeErrorViewed operation middleware
func (sh *strictHandler) MarkRuntimeErrorViewed(w http.ResponseWriter, r *http.Request, runtimeErrorId RuntimeErrorID) {
	var request MarkRuntimeErrorViewedRequestObject

	request.RuntimeErrorId = runtimeErrorId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.MarkRuntimeErrorViewed(ctx, request.(MarkRuntimeErrorViewedRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "MarkRuntimeErrorViewed")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(MarkRuntimeErrorViewedResponseObject); ok {
		if err := validResponse.VisitMarkRuntimeErrorViewedResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ListSystemSettings operation middleware
func (sh *strictHandler) ListSystemSettings(w http.ResponseWriter, r *http.Request) {
	var request ListSystemSettingsRequestObject

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ListSystemSettings(ctx, request.(ListSystemSettingsRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ListSystemSettings")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ListSystemSettingsResponseObject); ok {
		if err := validResponse.VisitListSystemSettingsResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// SystemSettingsRealtime operation middleware
func (sh *strictHandler) SystemSettingsRealtime(w http.ResponseWriter, r *http.Request) {
	var request SystemSettingsRealtimeRequestObject

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.SystemSettingsRealtime(ctx, request.(SystemSettingsRealtimeRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "SystemSettingsRealtime")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(SystemSettingsRealtimeResponseObject); ok {
		if err := validResponse.VisitSystemSettingsRealtimeResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// GetSystemSetting operation middleware
func (sh *strictHandler) GetSystemSetting(w http.ResponseWriter, r *http.Request, settingKey SettingKey) {
	var request GetSystemSettingRequestObject

	request.SettingKey = settingKey

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.GetSystemSetting(ctx, request.(GetSystemSettingRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "GetSystemSetting")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(GetSystemSettingResponseObject); ok {
		if err := validResponse.VisitGetSystemSettingResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// UpdateSystemSettingBoolean operation middleware
func (sh *strictHandler) UpdateSystemSettingBoolean(w http.ResponseWriter, r *http.Request, settingKey SettingKey) {
	var request UpdateSystemSettingBooleanRequestObject

	request.SettingKey = settingKey

	var body UpdateSystemSettingBooleanJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.UpdateSystemSettingBoolean(ctx, request.(UpdateSystemSettingBooleanRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "UpdateSystemSettingBoolean")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(UpdateSystemSettingBooleanResponseObject); ok {
		if err := validResponse.VisitUpdateSystemSettingBooleanResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ResetSystemSetting operation middleware
func (sh *strictHandler) ResetSystemSetting(w http.ResponseWriter, r *http.Request, settingKey SettingKey) {
	var request ResetSystemSettingRequestObject

	request.SettingKey = settingKey

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ResetSystemSetting(ctx, request.(ResetSystemSettingRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ResetSystemSetting")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ResetSystemSettingResponseObject); ok {
		if err := validResponse.VisitResetSystemSettingResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// ListUsers operation middleware
func (sh *strictHandler) ListUsers(w http.ResponseWriter, r *http.Request, params ListUsersParams) {
	var request ListUsersRequestObject

	request.Params = params

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.ListUsers(ctx, request.(ListUsersRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "ListUsers")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(ListUsersResponseObject); ok {
		if err := validResponse.VisitListUsersResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// CreateUser operation middleware
func (sh *strictHandler) CreateUser(w http.ResponseWriter, r *http.Request) {
	var request CreateUserRequestObject

	var body CreateUserJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.CreateUser(ctx, request.(CreateUserRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "CreateUser")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(CreateUserResponseObject); ok {
		if err := validResponse.VisitCreateUserResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// DeleteUser operation middleware
func (sh *strictHandler) DeleteUser(w http.ResponseWriter, r *http.Request, userId UserID) {
	var request DeleteUserRequestObject

	request.UserId = userId

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.DeleteUser(ctx, request.(DeleteUserRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "DeleteUser")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(DeleteUserResponseObject); ok {
		if err := validResponse.VisitDeleteUserResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}

// IngestGithubWebhook operation middleware
func (sh *strictHandler) IngestGithubWebhook(w http.ResponseWriter, r *http.Request, params IngestGithubWebhookParams) {
	var request IngestGithubWebhookRequestObject

	request.Params = params

	var body IngestGithubWebhookJSONRequestBody
	if err := json.NewDecoder(r.Body).Decode(&body); err != nil {
		sh.options.RequestErrorHandlerFunc(w, r, fmt.Errorf("can't decode JSON body: %w", err))
		return
	}
	request.Body = &body

	handler := func(ctx context.Context, w http.ResponseWriter, r *http.Request, request interface{}) (interface{}, error) {
		return sh.ssi.IngestGithubWebhook(ctx, request.(IngestGithubWebhookRequestObject))
	}
	for _, middleware := range sh.middlewares {
		handler = middleware(handler, "IngestGithubWebhook")
	}

	response, err := handler(r.Context(), w, r, request)

	if err != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, err)
	} else if validResponse, ok := response.(IngestGithubWebhookResponseObject); ok {
		if err := validResponse.VisitIngestGithubWebhookResponse(w); err != nil {
			sh.options.ResponseErrorHandlerFunc(w, r, err)
		}
	} else if response != nil {
		sh.options.ResponseErrorHandlerFunc(w, r, fmt.Errorf("unexpected response type: %T", response))
	}
}
