// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v6.32.1
// source: kodex/controlplane/v1/controlplane.proto

package controlplanev1

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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

type Principal struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	UserId          string                 `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Email           string                 `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
	GithubLogin     string                 `protobuf:"bytes,3,opt,name=github_login,json=githubLogin,proto3" json:"github_login,omitempty"`
	IsPlatformAdmin bool                   `protobuf:"varint,4,opt,name=is_platform_admin,json=isPlatformAdmin,proto3" json:"is_platform_admin,omitempty"`
	IsPlatformOwner bool                   `protobuf:"varint,5,opt,name=is_platform_owner,json=isPlatformOwner,proto3" json:"is_platform_owner,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*Principal) ProtoMessage() {}

func (x *Principal) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Principal.ProtoReflect.Descriptor instead.
func (*Principal) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{0}
}

func (x *Principal) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *Principal) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *Principal) GetGithubLogin() string {
	if x != nil {
		return x.GithubLogin
	}
	return ""
}

func (x *Principal) GetIsPlatformAdmin() bool {
	if x != nil {
		return x.IsPlatformAdmin
	}
	return false
}

func (x *Principal) GetIsPlatformOwner() bool {
	if x != nil {
		return x.IsPlatformOwner
	}
	return false
}

type IngestGitHubWebhookRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CorrelationId string                 `protobuf:"bytes,1,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	EventType     string                 `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
	DeliveryId    string                 `protobuf:"bytes,3,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"`
	ReceivedAt    *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=received_at,json=receivedAt,proto3" json:"received_at,omitempty"`
	PayloadJson   []byte                 `protobuf:"bytes,5,opt,name=payload_json,json=payloadJson,proto3" json:"payload_json,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*IngestGitHubWebhookRequest) ProtoMessage() {}

func (x *IngestGitHubWebhookRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use IngestGitHubWebhookRequest.ProtoReflect.Descriptor instead.
func (*IngestGitHubWebhookRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{1}
}

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

func (x *IngestGitHubWebhookRequest) GetEventType() string {
	if x != nil {
		return x.EventType
	}
	return ""
}

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

func (x *IngestGitHubWebhookRequest) GetReceivedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ReceivedAt
	}
	return nil
}

func (x *IngestGitHubWebhookRequest) GetPayloadJson() []byte {
	if x != nil {
		return x.PayloadJson
	}
	return nil
}

type IngestGitHubWebhookResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CorrelationId string                 `protobuf:"bytes,1,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Status        string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	Duplicate     bool                   `protobuf:"varint,4,opt,name=duplicate,proto3" json:"duplicate,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*IngestGitHubWebhookResponse) ProtoMessage() {}

func (x *IngestGitHubWebhookResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use IngestGitHubWebhookResponse.ProtoReflect.Descriptor instead.
func (*IngestGitHubWebhookResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{2}
}

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

func (x *IngestGitHubWebhookResponse) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *IngestGitHubWebhookResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *IngestGitHubWebhookResponse) GetDuplicate() bool {
	if x != nil {
		return x.Duplicate
	}
	return false
}

type ResolveStaffByEmailRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Email         string                 `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
	GithubLogin   *string                `protobuf:"bytes,2,opt,name=github_login,json=githubLogin,proto3,oneof" json:"github_login,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResolveStaffByEmailRequest) ProtoMessage() {}

func (x *ResolveStaffByEmailRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResolveStaffByEmailRequest.ProtoReflect.Descriptor instead.
func (*ResolveStaffByEmailRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{3}
}

func (x *ResolveStaffByEmailRequest) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *ResolveStaffByEmailRequest) GetGithubLogin() string {
	if x != nil && x.GithubLogin != nil {
		return *x.GithubLogin
	}
	return ""
}

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

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

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

func (*ResolveStaffByEmailResponse) ProtoMessage() {}

func (x *ResolveStaffByEmailResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResolveStaffByEmailResponse.ProtoReflect.Descriptor instead.
func (*ResolveStaffByEmailResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{4}
}

func (x *ResolveStaffByEmailResponse) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

type AuthorizeOAuthUserRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Email         string                 `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
	GithubUserId  int64                  `protobuf:"varint,2,opt,name=github_user_id,json=githubUserId,proto3" json:"github_user_id,omitempty"`
	GithubLogin   string                 `protobuf:"bytes,3,opt,name=github_login,json=githubLogin,proto3" json:"github_login,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AuthorizeOAuthUserRequest) ProtoMessage() {}

func (x *AuthorizeOAuthUserRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AuthorizeOAuthUserRequest.ProtoReflect.Descriptor instead.
func (*AuthorizeOAuthUserRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{5}
}

func (x *AuthorizeOAuthUserRequest) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *AuthorizeOAuthUserRequest) GetGithubUserId() int64 {
	if x != nil {
		return x.GithubUserId
	}
	return 0
}

func (x *AuthorizeOAuthUserRequest) GetGithubLogin() string {
	if x != nil {
		return x.GithubLogin
	}
	return ""
}

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

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

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

func (*AuthorizeOAuthUserResponse) ProtoMessage() {}

func (x *AuthorizeOAuthUserResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AuthorizeOAuthUserResponse.ProtoReflect.Descriptor instead.
func (*AuthorizeOAuthUserResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{6}
}

func (x *AuthorizeOAuthUserResponse) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

type Project struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Slug          string                 `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"`
	Name          string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Role          string                 `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Project) ProtoMessage() {}

func (x *Project) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Project.ProtoReflect.Descriptor instead.
func (*Project) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{7}
}

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

func (x *Project) GetSlug() string {
	if x != nil {
		return x.Slug
	}
	return ""
}

func (x *Project) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Project) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

type ListProjectsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Limit         int32                  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListProjectsRequest) ProtoMessage() {}

func (x *ListProjectsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListProjectsRequest.ProtoReflect.Descriptor instead.
func (*ListProjectsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{8}
}

func (x *ListProjectsRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

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

type ListProjectsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*Project             `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListProjectsResponse) ProtoMessage() {}

func (x *ListProjectsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListProjectsResponse.ProtoReflect.Descriptor instead.
func (*ListProjectsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{9}
}

func (x *ListProjectsResponse) GetItems() []*Project {
	if x != nil {
		return x.Items
	}
	return nil
}

type UpsertProjectRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Slug          string                 `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"`
	Name          string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpsertProjectRequest) ProtoMessage() {}

func (x *UpsertProjectRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertProjectRequest.ProtoReflect.Descriptor instead.
func (*UpsertProjectRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{10}
}

func (x *UpsertProjectRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *UpsertProjectRequest) GetSlug() string {
	if x != nil {
		return x.Slug
	}
	return ""
}

func (x *UpsertProjectRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type GetProjectRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetProjectRequest) ProtoMessage() {}

func (x *GetProjectRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetProjectRequest.ProtoReflect.Descriptor instead.
func (*GetProjectRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{11}
}

func (x *GetProjectRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *GetProjectRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

type DeleteProjectRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteProjectRequest) ProtoMessage() {}

func (x *DeleteProjectRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteProjectRequest.ProtoReflect.Descriptor instead.
func (*DeleteProjectRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{12}
}

func (x *DeleteProjectRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *DeleteProjectRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

type Run struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Id              string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	CorrelationId   string                 `protobuf:"bytes,2,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	ProjectId       *string                `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	ProjectSlug     *string                `protobuf:"bytes,4,opt,name=project_slug,json=projectSlug,proto3,oneof" json:"project_slug,omitempty"`
	ProjectName     *string                `protobuf:"bytes,5,opt,name=project_name,json=projectName,proto3,oneof" json:"project_name,omitempty"`
	Status          string                 `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
	CreatedAt       *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	StartedAt       *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
	FinishedAt      *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"`
	IssueNumber     *int32                 `protobuf:"varint,10,opt,name=issue_number,json=issueNumber,proto3,oneof" json:"issue_number,omitempty"`
	IssueUrl        *string                `protobuf:"bytes,11,opt,name=issue_url,json=issueUrl,proto3,oneof" json:"issue_url,omitempty"`
	PrNumber        *int32                 `protobuf:"varint,12,opt,name=pr_number,json=prNumber,proto3,oneof" json:"pr_number,omitempty"`
	PrUrl           *string                `protobuf:"bytes,13,opt,name=pr_url,json=prUrl,proto3,oneof" json:"pr_url,omitempty"`
	TriggerKind     *string                `protobuf:"bytes,14,opt,name=trigger_kind,json=triggerKind,proto3,oneof" json:"trigger_kind,omitempty"`
	TriggerLabel    *string                `protobuf:"bytes,15,opt,name=trigger_label,json=triggerLabel,proto3,oneof" json:"trigger_label,omitempty"`
	JobName         *string                `protobuf:"bytes,16,opt,name=job_name,json=jobName,proto3,oneof" json:"job_name,omitempty"`
	JobNamespace    *string                `protobuf:"bytes,17,opt,name=job_namespace,json=jobNamespace,proto3,oneof" json:"job_namespace,omitempty"`
	Namespace       *string                `protobuf:"bytes,18,opt,name=namespace,proto3,oneof" json:"namespace,omitempty"`
	JobExists       bool                   `protobuf:"varint,19,opt,name=job_exists,json=jobExists,proto3" json:"job_exists,omitempty"`
	NamespaceExists bool                   `protobuf:"varint,20,opt,name=namespace_exists,json=namespaceExists,proto3" json:"namespace_exists,omitempty"`
	WaitState       *string                `protobuf:"bytes,21,opt,name=wait_state,json=waitState,proto3,oneof" json:"wait_state,omitempty"`
	WaitReason      *string                `protobuf:"bytes,22,opt,name=wait_reason,json=waitReason,proto3,oneof" json:"wait_reason,omitempty"`
	AgentKey        *string                `protobuf:"bytes,23,opt,name=agent_key,json=agentKey,proto3,oneof" json:"agent_key,omitempty"`
	WaitSince       *timestamppb.Timestamp `protobuf:"bytes,24,opt,name=wait_since,json=waitSince,proto3" json:"wait_since,omitempty"`
	LastHeartbeatAt *timestamppb.Timestamp `protobuf:"bytes,25,opt,name=last_heartbeat_at,json=lastHeartbeatAt,proto3" json:"last_heartbeat_at,omitempty"`
	WaitProjection  *RunWaitProjection     `protobuf:"bytes,26,opt,name=wait_projection,json=waitProjection,proto3" json:"wait_projection,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*Run) ProtoMessage() {}

func (x *Run) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Run.ProtoReflect.Descriptor instead.
func (*Run) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{13}
}

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

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

func (x *Run) GetProjectId() string {
	if x != nil && x.ProjectId != nil {
		return *x.ProjectId
	}
	return ""
}

func (x *Run) GetProjectSlug() string {
	if x != nil && x.ProjectSlug != nil {
		return *x.ProjectSlug
	}
	return ""
}

func (x *Run) GetProjectName() string {
	if x != nil && x.ProjectName != nil {
		return *x.ProjectName
	}
	return ""
}

func (x *Run) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *Run) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Run) GetStartedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.StartedAt
	}
	return nil
}

func (x *Run) GetFinishedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.FinishedAt
	}
	return nil
}

func (x *Run) GetIssueNumber() int32 {
	if x != nil && x.IssueNumber != nil {
		return *x.IssueNumber
	}
	return 0
}

func (x *Run) GetIssueUrl() string {
	if x != nil && x.IssueUrl != nil {
		return *x.IssueUrl
	}
	return ""
}

func (x *Run) GetPrNumber() int32 {
	if x != nil && x.PrNumber != nil {
		return *x.PrNumber
	}
	return 0
}

func (x *Run) GetPrUrl() string {
	if x != nil && x.PrUrl != nil {
		return *x.PrUrl
	}
	return ""
}

func (x *Run) GetTriggerKind() string {
	if x != nil && x.TriggerKind != nil {
		return *x.TriggerKind
	}
	return ""
}

func (x *Run) GetTriggerLabel() string {
	if x != nil && x.TriggerLabel != nil {
		return *x.TriggerLabel
	}
	return ""
}

func (x *Run) GetJobName() string {
	if x != nil && x.JobName != nil {
		return *x.JobName
	}
	return ""
}

func (x *Run) GetJobNamespace() string {
	if x != nil && x.JobNamespace != nil {
		return *x.JobNamespace
	}
	return ""
}

func (x *Run) GetNamespace() string {
	if x != nil && x.Namespace != nil {
		return *x.Namespace
	}
	return ""
}

func (x *Run) GetJobExists() bool {
	if x != nil {
		return x.JobExists
	}
	return false
}

func (x *Run) GetNamespaceExists() bool {
	if x != nil {
		return x.NamespaceExists
	}
	return false
}

func (x *Run) GetWaitState() string {
	if x != nil && x.WaitState != nil {
		return *x.WaitState
	}
	return ""
}

func (x *Run) GetWaitReason() string {
	if x != nil && x.WaitReason != nil {
		return *x.WaitReason
	}
	return ""
}

func (x *Run) GetAgentKey() string {
	if x != nil && x.AgentKey != nil {
		return *x.AgentKey
	}
	return ""
}

func (x *Run) GetWaitSince() *timestamppb.Timestamp {
	if x != nil {
		return x.WaitSince
	}
	return nil
}

func (x *Run) GetLastHeartbeatAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastHeartbeatAt
	}
	return nil
}

func (x *Run) GetWaitProjection() *RunWaitProjection {
	if x != nil {
		return x.WaitProjection
	}
	return nil
}

type RunWaitProjection struct {
	state              protoimpl.MessageState     `protogen:"open.v1"`
	WaitState          string                     `protobuf:"bytes,1,opt,name=wait_state,json=waitState,proto3" json:"wait_state,omitempty"`
	WaitReason         string                     `protobuf:"bytes,2,opt,name=wait_reason,json=waitReason,proto3" json:"wait_reason,omitempty"`
	DominantWait       *GitHubRateLimitWaitItem   `protobuf:"bytes,3,opt,name=dominant_wait,json=dominantWait,proto3" json:"dominant_wait,omitempty"`
	RelatedWaits       []*GitHubRateLimitWaitItem `protobuf:"bytes,4,rep,name=related_waits,json=relatedWaits,proto3" json:"related_waits,omitempty"`
	CommentMirrorState string                     `protobuf:"bytes,5,opt,name=comment_mirror_state,json=commentMirrorState,proto3" json:"comment_mirror_state,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*RunWaitProjection) ProtoMessage() {}

func (x *RunWaitProjection) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RunWaitProjection.ProtoReflect.Descriptor instead.
func (*RunWaitProjection) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{14}
}

func (x *RunWaitProjection) GetWaitState() string {
	if x != nil {
		return x.WaitState
	}
	return ""
}

func (x *RunWaitProjection) GetWaitReason() string {
	if x != nil {
		return x.WaitReason
	}
	return ""
}

func (x *RunWaitProjection) GetDominantWait() *GitHubRateLimitWaitItem {
	if x != nil {
		return x.DominantWait
	}
	return nil
}

func (x *RunWaitProjection) GetRelatedWaits() []*GitHubRateLimitWaitItem {
	if x != nil {
		return x.RelatedWaits
	}
	return nil
}

func (x *RunWaitProjection) GetCommentMirrorState() string {
	if x != nil {
		return x.CommentMirrorState
	}
	return ""
}

type GitHubRateLimitWaitItem struct {
	state           protoimpl.MessageState       `protogen:"open.v1"`
	WaitId          string                       `protobuf:"bytes,1,opt,name=wait_id,json=waitId,proto3" json:"wait_id,omitempty"`
	ContourKind     string                       `protobuf:"bytes,2,opt,name=contour_kind,json=contourKind,proto3" json:"contour_kind,omitempty"`
	LimitKind       string                       `protobuf:"bytes,3,opt,name=limit_kind,json=limitKind,proto3" json:"limit_kind,omitempty"`
	OperationClass  string                       `protobuf:"bytes,4,opt,name=operation_class,json=operationClass,proto3" json:"operation_class,omitempty"`
	State           string                       `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"`
	Confidence      string                       `protobuf:"bytes,6,opt,name=confidence,proto3" json:"confidence,omitempty"`
	EnteredAt       *timestamppb.Timestamp       `protobuf:"bytes,7,opt,name=entered_at,json=enteredAt,proto3" json:"entered_at,omitempty"`
	ResumeNotBefore *timestamppb.Timestamp       `protobuf:"bytes,8,opt,name=resume_not_before,json=resumeNotBefore,proto3" json:"resume_not_before,omitempty"`
	AttemptsUsed    int32                        `protobuf:"varint,9,opt,name=attempts_used,json=attemptsUsed,proto3" json:"attempts_used,omitempty"`
	MaxAttempts     int32                        `protobuf:"varint,10,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"`
	RecoveryHint    *GitHubRateLimitRecoveryHint `protobuf:"bytes,11,opt,name=recovery_hint,json=recoveryHint,proto3" json:"recovery_hint,omitempty"`
	ManualAction    *GitHubRateLimitManualAction `protobuf:"bytes,12,opt,name=manual_action,json=manualAction,proto3" json:"manual_action,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*GitHubRateLimitWaitItem) ProtoMessage() {}

func (x *GitHubRateLimitWaitItem) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GitHubRateLimitWaitItem.ProtoReflect.Descriptor instead.
func (*GitHubRateLimitWaitItem) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{15}
}

func (x *GitHubRateLimitWaitItem) GetWaitId() string {
	if x != nil {
		return x.WaitId
	}
	return ""
}

func (x *GitHubRateLimitWaitItem) GetContourKind() string {
	if x != nil {
		return x.ContourKind
	}
	return ""
}

func (x *GitHubRateLimitWaitItem) GetLimitKind() string {
	if x != nil {
		return x.LimitKind
	}
	return ""
}

func (x *GitHubRateLimitWaitItem) GetOperationClass() string {
	if x != nil {
		return x.OperationClass
	}
	return ""
}

func (x *GitHubRateLimitWaitItem) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

func (x *GitHubRateLimitWaitItem) GetConfidence() string {
	if x != nil {
		return x.Confidence
	}
	return ""
}

func (x *GitHubRateLimitWaitItem) GetEnteredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.EnteredAt
	}
	return nil
}

func (x *GitHubRateLimitWaitItem) GetResumeNotBefore() *timestamppb.Timestamp {
	if x != nil {
		return x.ResumeNotBefore
	}
	return nil
}

func (x *GitHubRateLimitWaitItem) GetAttemptsUsed() int32 {
	if x != nil {
		return x.AttemptsUsed
	}
	return 0
}

func (x *GitHubRateLimitWaitItem) GetMaxAttempts() int32 {
	if x != nil {
		return x.MaxAttempts
	}
	return 0
}

func (x *GitHubRateLimitWaitItem) GetRecoveryHint() *GitHubRateLimitRecoveryHint {
	if x != nil {
		return x.RecoveryHint
	}
	return nil
}

func (x *GitHubRateLimitWaitItem) GetManualAction() *GitHubRateLimitManualAction {
	if x != nil {
		return x.ManualAction
	}
	return nil
}

type GitHubRateLimitRecoveryHint struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	HintKind        string                 `protobuf:"bytes,1,opt,name=hint_kind,json=hintKind,proto3" json:"hint_kind,omitempty"`
	ResumeNotBefore *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=resume_not_before,json=resumeNotBefore,proto3" json:"resume_not_before,omitempty"`
	SourceHeaders   string                 `protobuf:"bytes,3,opt,name=source_headers,json=sourceHeaders,proto3" json:"source_headers,omitempty"`
	DetailsMarkdown string                 `protobuf:"bytes,4,opt,name=details_markdown,json=detailsMarkdown,proto3" json:"details_markdown,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*GitHubRateLimitRecoveryHint) ProtoMessage() {}

func (x *GitHubRateLimitRecoveryHint) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GitHubRateLimitRecoveryHint.ProtoReflect.Descriptor instead.
func (*GitHubRateLimitRecoveryHint) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{16}
}

func (x *GitHubRateLimitRecoveryHint) GetHintKind() string {
	if x != nil {
		return x.HintKind
	}
	return ""
}

func (x *GitHubRateLimitRecoveryHint) GetResumeNotBefore() *timestamppb.Timestamp {
	if x != nil {
		return x.ResumeNotBefore
	}
	return nil
}

func (x *GitHubRateLimitRecoveryHint) GetSourceHeaders() string {
	if x != nil {
		return x.SourceHeaders
	}
	return ""
}

func (x *GitHubRateLimitRecoveryHint) GetDetailsMarkdown() string {
	if x != nil {
		return x.DetailsMarkdown
	}
	return ""
}

type GitHubRateLimitManualAction struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Kind               string                 `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	Summary            string                 `protobuf:"bytes,2,opt,name=summary,proto3" json:"summary,omitempty"`
	DetailsMarkdown    string                 `protobuf:"bytes,3,opt,name=details_markdown,json=detailsMarkdown,proto3" json:"details_markdown,omitempty"`
	SuggestedNotBefore *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=suggested_not_before,json=suggestedNotBefore,proto3" json:"suggested_not_before,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*GitHubRateLimitManualAction) ProtoMessage() {}

func (x *GitHubRateLimitManualAction) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GitHubRateLimitManualAction.ProtoReflect.Descriptor instead.
func (*GitHubRateLimitManualAction) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{17}
}

func (x *GitHubRateLimitManualAction) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *GitHubRateLimitManualAction) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *GitHubRateLimitManualAction) GetDetailsMarkdown() string {
	if x != nil {
		return x.DetailsMarkdown
	}
	return ""
}

func (x *GitHubRateLimitManualAction) GetSuggestedNotBefore() *timestamppb.Timestamp {
	if x != nil {
		return x.SuggestedNotBefore
	}
	return nil
}

type ApprovalRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	CorrelationId string                 `protobuf:"bytes,2,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	RunId         *string                `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3,oneof" json:"run_id,omitempty"`
	ProjectId     *string                `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	ProjectSlug   *string                `protobuf:"bytes,5,opt,name=project_slug,json=projectSlug,proto3,oneof" json:"project_slug,omitempty"`
	ProjectName   *string                `protobuf:"bytes,6,opt,name=project_name,json=projectName,proto3,oneof" json:"project_name,omitempty"`
	IssueNumber   *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=issue_number,json=issueNumber,proto3" json:"issue_number,omitempty"`
	PrNumber      *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=pr_number,json=prNumber,proto3" json:"pr_number,omitempty"`
	TriggerLabel  *string                `protobuf:"bytes,9,opt,name=trigger_label,json=triggerLabel,proto3,oneof" json:"trigger_label,omitempty"`
	ToolName      string                 `protobuf:"bytes,10,opt,name=tool_name,json=toolName,proto3" json:"tool_name,omitempty"`
	Action        string                 `protobuf:"bytes,11,opt,name=action,proto3" json:"action,omitempty"`
	ApprovalMode  string                 `protobuf:"bytes,12,opt,name=approval_mode,json=approvalMode,proto3" json:"approval_mode,omitempty"`
	RequestedBy   string                 `protobuf:"bytes,13,opt,name=requested_by,json=requestedBy,proto3" json:"requested_by,omitempty"`
	CreatedAt     *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ApprovalRequest) ProtoMessage() {}

func (x *ApprovalRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ApprovalRequest.ProtoReflect.Descriptor instead.
func (*ApprovalRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{18}
}

func (x *ApprovalRequest) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *ApprovalRequest) GetRunId() string {
	if x != nil && x.RunId != nil {
		return *x.RunId
	}
	return ""
}

func (x *ApprovalRequest) GetProjectId() string {
	if x != nil && x.ProjectId != nil {
		return *x.ProjectId
	}
	return ""
}

func (x *ApprovalRequest) GetProjectSlug() string {
	if x != nil && x.ProjectSlug != nil {
		return *x.ProjectSlug
	}
	return ""
}

func (x *ApprovalRequest) GetProjectName() string {
	if x != nil && x.ProjectName != nil {
		return *x.ProjectName
	}
	return ""
}

func (x *ApprovalRequest) GetIssueNumber() *wrapperspb.Int32Value {
	if x != nil {
		return x.IssueNumber
	}
	return nil
}

func (x *ApprovalRequest) GetPrNumber() *wrapperspb.Int32Value {
	if x != nil {
		return x.PrNumber
	}
	return nil
}

func (x *ApprovalRequest) GetTriggerLabel() string {
	if x != nil && x.TriggerLabel != nil {
		return *x.TriggerLabel
	}
	return ""
}

func (x *ApprovalRequest) GetToolName() string {
	if x != nil {
		return x.ToolName
	}
	return ""
}

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

func (x *ApprovalRequest) GetApprovalMode() string {
	if x != nil {
		return x.ApprovalMode
	}
	return ""
}

func (x *ApprovalRequest) GetRequestedBy() string {
	if x != nil {
		return x.RequestedBy
	}
	return ""
}

func (x *ApprovalRequest) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

type ListPendingApprovalsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Limit         int32                  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListPendingApprovalsRequest) ProtoMessage() {}

func (x *ListPendingApprovalsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListPendingApprovalsRequest.ProtoReflect.Descriptor instead.
func (*ListPendingApprovalsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{19}
}

func (x *ListPendingApprovalsRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

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

type ListPendingApprovalsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*ApprovalRequest     `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListPendingApprovalsResponse) ProtoMessage() {}

func (x *ListPendingApprovalsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListPendingApprovalsResponse.ProtoReflect.Descriptor instead.
func (*ListPendingApprovalsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{20}
}

func (x *ListPendingApprovalsResponse) GetItems() []*ApprovalRequest {
	if x != nil {
		return x.Items
	}
	return nil
}

type ResolveApprovalDecisionRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Principal         *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ApprovalRequestId int64                  `protobuf:"varint,2,opt,name=approval_request_id,json=approvalRequestId,proto3" json:"approval_request_id,omitempty"`
	Decision          string                 `protobuf:"bytes,3,opt,name=decision,proto3" json:"decision,omitempty"`
	Reason            *string                `protobuf:"bytes,4,opt,name=reason,proto3,oneof" json:"reason,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*ResolveApprovalDecisionRequest) ProtoMessage() {}

func (x *ResolveApprovalDecisionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResolveApprovalDecisionRequest.ProtoReflect.Descriptor instead.
func (*ResolveApprovalDecisionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{21}
}

func (x *ResolveApprovalDecisionRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ResolveApprovalDecisionRequest) GetApprovalRequestId() int64 {
	if x != nil {
		return x.ApprovalRequestId
	}
	return 0
}

func (x *ResolveApprovalDecisionRequest) GetDecision() string {
	if x != nil {
		return x.Decision
	}
	return ""
}

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

type ResolveApprovalDecisionResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	CorrelationId string                 `protobuf:"bytes,2,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	RunId         *string                `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3,oneof" json:"run_id,omitempty"`
	ToolName      string                 `protobuf:"bytes,4,opt,name=tool_name,json=toolName,proto3" json:"tool_name,omitempty"`
	Action        string                 `protobuf:"bytes,5,opt,name=action,proto3" json:"action,omitempty"`
	ApprovalState string                 `protobuf:"bytes,6,opt,name=approval_state,json=approvalState,proto3" json:"approval_state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResolveApprovalDecisionResponse) ProtoMessage() {}

func (x *ResolveApprovalDecisionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResolveApprovalDecisionResponse.ProtoReflect.Descriptor instead.
func (*ResolveApprovalDecisionResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{22}
}

func (x *ResolveApprovalDecisionResponse) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *ResolveApprovalDecisionResponse) GetRunId() string {
	if x != nil && x.RunId != nil {
		return *x.RunId
	}
	return ""
}

func (x *ResolveApprovalDecisionResponse) GetToolName() string {
	if x != nil {
		return x.ToolName
	}
	return ""
}

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

func (x *ResolveApprovalDecisionResponse) GetApprovalState() string {
	if x != nil {
		return x.ApprovalState
	}
	return ""
}

type ListRunsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Page          int32                  `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                  `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRunsRequest) ProtoMessage() {}

func (x *ListRunsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRunsRequest.ProtoReflect.Descriptor instead.
func (*ListRunsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{23}
}

func (x *ListRunsRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ListRunsRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

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

type ListRunsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*Run                 `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	TotalCount    int32                  `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	Page          int32                  `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                  `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRunsResponse) ProtoMessage() {}

func (x *ListRunsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRunsResponse.ProtoReflect.Descriptor instead.
func (*ListRunsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{24}
}

func (x *ListRunsResponse) GetItems() []*Run {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *ListRunsResponse) GetTotalCount() int32 {
	if x != nil {
		return x.TotalCount
	}
	return 0
}

func (x *ListRunsResponse) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

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

type ListRunJobsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Limit         int32                  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	TriggerKind   *string                `protobuf:"bytes,3,opt,name=trigger_kind,json=triggerKind,proto3,oneof" json:"trigger_kind,omitempty"`
	Status        *string                `protobuf:"bytes,4,opt,name=status,proto3,oneof" json:"status,omitempty"`
	AgentKey      *string                `protobuf:"bytes,5,opt,name=agent_key,json=agentKey,proto3,oneof" json:"agent_key,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRunJobsRequest) ProtoMessage() {}

func (x *ListRunJobsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRunJobsRequest.ProtoReflect.Descriptor instead.
func (*ListRunJobsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{25}
}

func (x *ListRunJobsRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

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

func (x *ListRunJobsRequest) GetTriggerKind() string {
	if x != nil && x.TriggerKind != nil {
		return *x.TriggerKind
	}
	return ""
}

func (x *ListRunJobsRequest) GetStatus() string {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return ""
}

func (x *ListRunJobsRequest) GetAgentKey() string {
	if x != nil && x.AgentKey != nil {
		return *x.AgentKey
	}
	return ""
}

type ListRunJobsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*Run                 `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRunJobsResponse) ProtoMessage() {}

func (x *ListRunJobsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRunJobsResponse.ProtoReflect.Descriptor instead.
func (*ListRunJobsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{26}
}

func (x *ListRunJobsResponse) GetItems() []*Run {
	if x != nil {
		return x.Items
	}
	return nil
}

type ListRunWaitsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Limit         int32                  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	TriggerKind   *string                `protobuf:"bytes,3,opt,name=trigger_kind,json=triggerKind,proto3,oneof" json:"trigger_kind,omitempty"`
	Status        *string                `protobuf:"bytes,4,opt,name=status,proto3,oneof" json:"status,omitempty"`
	AgentKey      *string                `protobuf:"bytes,5,opt,name=agent_key,json=agentKey,proto3,oneof" json:"agent_key,omitempty"`
	WaitState     *string                `protobuf:"bytes,6,opt,name=wait_state,json=waitState,proto3,oneof" json:"wait_state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRunWaitsRequest) ProtoMessage() {}

func (x *ListRunWaitsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRunWaitsRequest.ProtoReflect.Descriptor instead.
func (*ListRunWaitsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{27}
}

func (x *ListRunWaitsRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

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

func (x *ListRunWaitsRequest) GetTriggerKind() string {
	if x != nil && x.TriggerKind != nil {
		return *x.TriggerKind
	}
	return ""
}

func (x *ListRunWaitsRequest) GetStatus() string {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return ""
}

func (x *ListRunWaitsRequest) GetAgentKey() string {
	if x != nil && x.AgentKey != nil {
		return *x.AgentKey
	}
	return ""
}

func (x *ListRunWaitsRequest) GetWaitState() string {
	if x != nil && x.WaitState != nil {
		return *x.WaitState
	}
	return ""
}

type ListRunWaitsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*Run                 `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRunWaitsResponse) ProtoMessage() {}

func (x *ListRunWaitsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRunWaitsResponse.ProtoReflect.Descriptor instead.
func (*ListRunWaitsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{28}
}

func (x *ListRunWaitsResponse) GetItems() []*Run {
	if x != nil {
		return x.Items
	}
	return nil
}

type GetRunRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetRunRequest) ProtoMessage() {}

func (x *GetRunRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetRunRequest.ProtoReflect.Descriptor instead.
func (*GetRunRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{29}
}

func (x *GetRunRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *GetRunRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

type GetRunLogsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	TailLines     int32                  `protobuf:"varint,3,opt,name=tail_lines,json=tailLines,proto3" json:"tail_lines,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetRunLogsRequest) ProtoMessage() {}

func (x *GetRunLogsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetRunLogsRequest.ProtoReflect.Descriptor instead.
func (*GetRunLogsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{30}
}

func (x *GetRunLogsRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *GetRunLogsRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *GetRunLogsRequest) GetTailLines() int32 {
	if x != nil {
		return x.TailLines
	}
	return 0
}

type CancelRunRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Reason        *string                `protobuf:"bytes,3,opt,name=reason,proto3,oneof" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CancelRunRequest) ProtoMessage() {}

func (x *CancelRunRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CancelRunRequest.ProtoReflect.Descriptor instead.
func (*CancelRunRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{31}
}

func (x *CancelRunRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *CancelRunRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

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

type RunActionResponse struct {
	state                        protoimpl.MessageState `protogen:"open.v1"`
	RunId                        string                 `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Action                       string                 `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"`
	PreviousStatus               string                 `protobuf:"bytes,3,opt,name=previous_status,json=previousStatus,proto3" json:"previous_status,omitempty"`
	CurrentStatus                string                 `protobuf:"bytes,4,opt,name=current_status,json=currentStatus,proto3" json:"current_status,omitempty"`
	AlreadyTerminal              bool                   `protobuf:"varint,5,opt,name=already_terminal,json=alreadyTerminal,proto3" json:"already_terminal,omitempty"`
	RuntimeDeployCancelRequested bool                   `protobuf:"varint,6,opt,name=runtime_deploy_cancel_requested,json=runtimeDeployCancelRequested,proto3" json:"runtime_deploy_cancel_requested,omitempty"`
	JobStopped                   bool                   `protobuf:"varint,7,opt,name=job_stopped,json=jobStopped,proto3" json:"job_stopped,omitempty"`
	CanceledGithubWaits          int32                  `protobuf:"varint,8,opt,name=canceled_github_waits,json=canceledGithubWaits,proto3" json:"canceled_github_waits,omitempty"`
	CommentUrl                   *string                `protobuf:"bytes,9,opt,name=comment_url,json=commentUrl,proto3,oneof" json:"comment_url,omitempty"`
	unknownFields                protoimpl.UnknownFields
	sizeCache                    protoimpl.SizeCache
}

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

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

func (*RunActionResponse) ProtoMessage() {}

func (x *RunActionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RunActionResponse.ProtoReflect.Descriptor instead.
func (*RunActionResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{32}
}

func (x *RunActionResponse) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

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

func (x *RunActionResponse) GetPreviousStatus() string {
	if x != nil {
		return x.PreviousStatus
	}
	return ""
}

func (x *RunActionResponse) GetCurrentStatus() string {
	if x != nil {
		return x.CurrentStatus
	}
	return ""
}

func (x *RunActionResponse) GetAlreadyTerminal() bool {
	if x != nil {
		return x.AlreadyTerminal
	}
	return false
}

func (x *RunActionResponse) GetRuntimeDeployCancelRequested() bool {
	if x != nil {
		return x.RuntimeDeployCancelRequested
	}
	return false
}

func (x *RunActionResponse) GetJobStopped() bool {
	if x != nil {
		return x.JobStopped
	}
	return false
}

func (x *RunActionResponse) GetCanceledGithubWaits() int32 {
	if x != nil {
		return x.CanceledGithubWaits
	}
	return 0
}

func (x *RunActionResponse) GetCommentUrl() string {
	if x != nil && x.CommentUrl != nil {
		return *x.CommentUrl
	}
	return ""
}

type RunLogs struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RunId         string                 `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Status        string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	UpdatedAt     *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	SnapshotJson  string                 `protobuf:"bytes,4,opt,name=snapshot_json,json=snapshotJson,proto3" json:"snapshot_json,omitempty"`
	TailLines     []string               `protobuf:"bytes,5,rep,name=tail_lines,json=tailLines,proto3" json:"tail_lines,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RunLogs) ProtoMessage() {}

func (x *RunLogs) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[33]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RunLogs.ProtoReflect.Descriptor instead.
func (*RunLogs) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{33}
}

func (x *RunLogs) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *RunLogs) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *RunLogs) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

func (x *RunLogs) GetSnapshotJson() string {
	if x != nil {
		return x.SnapshotJson
	}
	return ""
}

func (x *RunLogs) GetTailLines() []string {
	if x != nil {
		return x.TailLines
	}
	return nil
}

type FlowEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CorrelationId string                 `protobuf:"bytes,1,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	EventType     string                 `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
	CreatedAt     *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	PayloadJson   string                 `protobuf:"bytes,4,opt,name=payload_json,json=payloadJson,proto3" json:"payload_json,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FlowEvent) ProtoMessage() {}

func (x *FlowEvent) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[34]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FlowEvent.ProtoReflect.Descriptor instead.
func (*FlowEvent) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{34}
}

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

func (x *FlowEvent) GetEventType() string {
	if x != nil {
		return x.EventType
	}
	return ""
}

func (x *FlowEvent) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *FlowEvent) GetPayloadJson() string {
	if x != nil {
		return x.PayloadJson
	}
	return ""
}

type ListRunEventsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Limit         int32                  `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRunEventsRequest) ProtoMessage() {}

func (x *ListRunEventsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[35]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRunEventsRequest.ProtoReflect.Descriptor instead.
func (*ListRunEventsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{35}
}

func (x *ListRunEventsRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ListRunEventsRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

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

type ListRunEventsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*FlowEvent           `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRunEventsResponse) ProtoMessage() {}

func (x *ListRunEventsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[36]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRunEventsResponse.ProtoReflect.Descriptor instead.
func (*ListRunEventsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{36}
}

func (x *ListRunEventsResponse) GetItems() []*FlowEvent {
	if x != nil {
		return x.Items
	}
	return nil
}

type SystemSetting struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Key                 string                 `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Section             string                 `protobuf:"bytes,2,opt,name=section,proto3" json:"section,omitempty"`
	ValueKind           string                 `protobuf:"bytes,3,opt,name=value_kind,json=valueKind,proto3" json:"value_kind,omitempty"`
	ReloadSemantics     string                 `protobuf:"bytes,4,opt,name=reload_semantics,json=reloadSemantics,proto3" json:"reload_semantics,omitempty"`
	Visibility          string                 `protobuf:"bytes,5,opt,name=visibility,proto3" json:"visibility,omitempty"`
	BooleanValue        bool                   `protobuf:"varint,6,opt,name=boolean_value,json=booleanValue,proto3" json:"boolean_value,omitempty"`
	DefaultBooleanValue bool                   `protobuf:"varint,7,opt,name=default_boolean_value,json=defaultBooleanValue,proto3" json:"default_boolean_value,omitempty"`
	Source              string                 `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"`
	Version             int64                  `protobuf:"varint,9,opt,name=version,proto3" json:"version,omitempty"`
	UpdatedAt           *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	UpdatedByUserId     *string                `protobuf:"bytes,11,opt,name=updated_by_user_id,json=updatedByUserId,proto3,oneof" json:"updated_by_user_id,omitempty"`
	UpdatedByEmail      *string                `protobuf:"bytes,12,opt,name=updated_by_email,json=updatedByEmail,proto3,oneof" json:"updated_by_email,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*SystemSetting) ProtoMessage() {}

func (x *SystemSetting) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[37]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SystemSetting.ProtoReflect.Descriptor instead.
func (*SystemSetting) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{37}
}

func (x *SystemSetting) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *SystemSetting) GetSection() string {
	if x != nil {
		return x.Section
	}
	return ""
}

func (x *SystemSetting) GetValueKind() string {
	if x != nil {
		return x.ValueKind
	}
	return ""
}

func (x *SystemSetting) GetReloadSemantics() string {
	if x != nil {
		return x.ReloadSemantics
	}
	return ""
}

func (x *SystemSetting) GetVisibility() string {
	if x != nil {
		return x.Visibility
	}
	return ""
}

func (x *SystemSetting) GetBooleanValue() bool {
	if x != nil {
		return x.BooleanValue
	}
	return false
}

func (x *SystemSetting) GetDefaultBooleanValue() bool {
	if x != nil {
		return x.DefaultBooleanValue
	}
	return false
}

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

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

func (x *SystemSetting) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

func (x *SystemSetting) GetUpdatedByUserId() string {
	if x != nil && x.UpdatedByUserId != nil {
		return *x.UpdatedByUserId
	}
	return ""
}

func (x *SystemSetting) GetUpdatedByEmail() string {
	if x != nil && x.UpdatedByEmail != nil {
		return *x.UpdatedByEmail
	}
	return ""
}

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

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

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

func (*ListSystemSettingsRequest) ProtoMessage() {}

func (x *ListSystemSettingsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[38]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSystemSettingsRequest.ProtoReflect.Descriptor instead.
func (*ListSystemSettingsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{38}
}

func (x *ListSystemSettingsRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

type ListSystemSettingsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*SystemSetting       `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListSystemSettingsResponse) ProtoMessage() {}

func (x *ListSystemSettingsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[39]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSystemSettingsResponse.ProtoReflect.Descriptor instead.
func (*ListSystemSettingsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{39}
}

func (x *ListSystemSettingsResponse) GetItems() []*SystemSetting {
	if x != nil {
		return x.Items
	}
	return nil
}

type GetSystemSettingRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	SettingKey    string                 `protobuf:"bytes,2,opt,name=setting_key,json=settingKey,proto3" json:"setting_key,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetSystemSettingRequest) ProtoMessage() {}

func (x *GetSystemSettingRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[40]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetSystemSettingRequest.ProtoReflect.Descriptor instead.
func (*GetSystemSettingRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{40}
}

func (x *GetSystemSettingRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *GetSystemSettingRequest) GetSettingKey() string {
	if x != nil {
		return x.SettingKey
	}
	return ""
}

type UpdateSystemSettingBooleanRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	SettingKey    string                 `protobuf:"bytes,2,opt,name=setting_key,json=settingKey,proto3" json:"setting_key,omitempty"`
	BooleanValue  bool                   `protobuf:"varint,3,opt,name=boolean_value,json=booleanValue,proto3" json:"boolean_value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpdateSystemSettingBooleanRequest) ProtoMessage() {}

func (x *UpdateSystemSettingBooleanRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[41]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateSystemSettingBooleanRequest.ProtoReflect.Descriptor instead.
func (*UpdateSystemSettingBooleanRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{41}
}

func (x *UpdateSystemSettingBooleanRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *UpdateSystemSettingBooleanRequest) GetSettingKey() string {
	if x != nil {
		return x.SettingKey
	}
	return ""
}

func (x *UpdateSystemSettingBooleanRequest) GetBooleanValue() bool {
	if x != nil {
		return x.BooleanValue
	}
	return false
}

type ResetSystemSettingRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	SettingKey    string                 `protobuf:"bytes,2,opt,name=setting_key,json=settingKey,proto3" json:"setting_key,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResetSystemSettingRequest) ProtoMessage() {}

func (x *ResetSystemSettingRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[42]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResetSystemSettingRequest.ProtoReflect.Descriptor instead.
func (*ResetSystemSettingRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{42}
}

func (x *ResetSystemSettingRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ResetSystemSettingRequest) GetSettingKey() string {
	if x != nil {
		return x.SettingKey
	}
	return ""
}

type LearningFeedback struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            int64                  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	RepositoryId  *string                `protobuf:"bytes,3,opt,name=repository_id,json=repositoryId,proto3,oneof" json:"repository_id,omitempty"`
	PrNumber      *int32                 `protobuf:"varint,4,opt,name=pr_number,json=prNumber,proto3,oneof" json:"pr_number,omitempty"`
	FilePath      *string                `protobuf:"bytes,5,opt,name=file_path,json=filePath,proto3,oneof" json:"file_path,omitempty"`
	Line          *int32                 `protobuf:"varint,6,opt,name=line,proto3,oneof" json:"line,omitempty"`
	Kind          string                 `protobuf:"bytes,7,opt,name=kind,proto3" json:"kind,omitempty"`
	Explanation   string                 `protobuf:"bytes,8,opt,name=explanation,proto3" json:"explanation,omitempty"`
	CreatedAt     *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LearningFeedback) ProtoMessage() {}

func (x *LearningFeedback) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[43]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LearningFeedback.ProtoReflect.Descriptor instead.
func (*LearningFeedback) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{43}
}

func (x *LearningFeedback) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *LearningFeedback) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *LearningFeedback) GetRepositoryId() string {
	if x != nil && x.RepositoryId != nil {
		return *x.RepositoryId
	}
	return ""
}

func (x *LearningFeedback) GetPrNumber() int32 {
	if x != nil && x.PrNumber != nil {
		return *x.PrNumber
	}
	return 0
}

func (x *LearningFeedback) GetFilePath() string {
	if x != nil && x.FilePath != nil {
		return *x.FilePath
	}
	return ""
}

func (x *LearningFeedback) GetLine() int32 {
	if x != nil && x.Line != nil {
		return *x.Line
	}
	return 0
}

func (x *LearningFeedback) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *LearningFeedback) GetExplanation() string {
	if x != nil {
		return x.Explanation
	}
	return ""
}

func (x *LearningFeedback) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

type ListRunLearningFeedbackRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Limit         int32                  `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRunLearningFeedbackRequest) ProtoMessage() {}

func (x *ListRunLearningFeedbackRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[44]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRunLearningFeedbackRequest.ProtoReflect.Descriptor instead.
func (*ListRunLearningFeedbackRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{44}
}

func (x *ListRunLearningFeedbackRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ListRunLearningFeedbackRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

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

type ListRunLearningFeedbackResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*LearningFeedback    `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRunLearningFeedbackResponse) ProtoMessage() {}

func (x *ListRunLearningFeedbackResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[45]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRunLearningFeedbackResponse.ProtoReflect.Descriptor instead.
func (*ListRunLearningFeedbackResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{45}
}

func (x *ListRunLearningFeedbackResponse) GetItems() []*LearningFeedback {
	if x != nil {
		return x.Items
	}
	return nil
}

type User struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Id              string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Email           string                 `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
	GithubUserId    *int64                 `protobuf:"varint,3,opt,name=github_user_id,json=githubUserId,proto3,oneof" json:"github_user_id,omitempty"`
	GithubLogin     *string                `protobuf:"bytes,4,opt,name=github_login,json=githubLogin,proto3,oneof" json:"github_login,omitempty"`
	IsPlatformAdmin bool                   `protobuf:"varint,5,opt,name=is_platform_admin,json=isPlatformAdmin,proto3" json:"is_platform_admin,omitempty"`
	IsPlatformOwner bool                   `protobuf:"varint,6,opt,name=is_platform_owner,json=isPlatformOwner,proto3" json:"is_platform_owner,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*User) ProtoMessage() {}

func (x *User) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[46]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use User.ProtoReflect.Descriptor instead.
func (*User) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{46}
}

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

func (x *User) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *User) GetGithubUserId() int64 {
	if x != nil && x.GithubUserId != nil {
		return *x.GithubUserId
	}
	return 0
}

func (x *User) GetGithubLogin() string {
	if x != nil && x.GithubLogin != nil {
		return *x.GithubLogin
	}
	return ""
}

func (x *User) GetIsPlatformAdmin() bool {
	if x != nil {
		return x.IsPlatformAdmin
	}
	return false
}

func (x *User) GetIsPlatformOwner() bool {
	if x != nil {
		return x.IsPlatformOwner
	}
	return false
}

type ListUsersRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Limit         int32                  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListUsersRequest) ProtoMessage() {}

func (x *ListUsersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[47]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListUsersRequest.ProtoReflect.Descriptor instead.
func (*ListUsersRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{47}
}

func (x *ListUsersRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

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

type ListUsersResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*User                `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListUsersResponse) ProtoMessage() {}

func (x *ListUsersResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[48]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListUsersResponse.ProtoReflect.Descriptor instead.
func (*ListUsersResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{48}
}

func (x *ListUsersResponse) GetItems() []*User {
	if x != nil {
		return x.Items
	}
	return nil
}

type CreateUserRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Principal       *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Email           string                 `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
	IsPlatformAdmin bool                   `protobuf:"varint,3,opt,name=is_platform_admin,json=isPlatformAdmin,proto3" json:"is_platform_admin,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*CreateUserRequest) ProtoMessage() {}

func (x *CreateUserRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[49]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateUserRequest.ProtoReflect.Descriptor instead.
func (*CreateUserRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{49}
}

func (x *CreateUserRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *CreateUserRequest) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *CreateUserRequest) GetIsPlatformAdmin() bool {
	if x != nil {
		return x.IsPlatformAdmin
	}
	return false
}

type DeleteUserRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	UserId        string                 `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteUserRequest) ProtoMessage() {}

func (x *DeleteUserRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[50]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteUserRequest.ProtoReflect.Descriptor instead.
func (*DeleteUserRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{50}
}

func (x *DeleteUserRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *DeleteUserRequest) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

type ProjectMember struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	ProjectId            string                 `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	UserId               string                 `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Email                string                 `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	Role                 string                 `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"`
	LearningModeOverride *wrapperspb.BoolValue  `protobuf:"bytes,5,opt,name=learning_mode_override,json=learningModeOverride,proto3" json:"learning_mode_override,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

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

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

func (*ProjectMember) ProtoMessage() {}

func (x *ProjectMember) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[51]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProjectMember.ProtoReflect.Descriptor instead.
func (*ProjectMember) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{51}
}

func (x *ProjectMember) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *ProjectMember) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *ProjectMember) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *ProjectMember) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

func (x *ProjectMember) GetLearningModeOverride() *wrapperspb.BoolValue {
	if x != nil {
		return x.LearningModeOverride
	}
	return nil
}

type ListProjectMembersRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Limit         int32                  `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListProjectMembersRequest) ProtoMessage() {}

func (x *ListProjectMembersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[52]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListProjectMembersRequest.ProtoReflect.Descriptor instead.
func (*ListProjectMembersRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{52}
}

func (x *ListProjectMembersRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ListProjectMembersRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

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

type ListProjectMembersResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*ProjectMember       `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListProjectMembersResponse) ProtoMessage() {}

func (x *ListProjectMembersResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[53]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListProjectMembersResponse.ProtoReflect.Descriptor instead.
func (*ListProjectMembersResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{53}
}

func (x *ListProjectMembersResponse) GetItems() []*ProjectMember {
	if x != nil {
		return x.Items
	}
	return nil
}

type UpsertProjectMemberRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	UserId        *string                `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3,oneof" json:"user_id,omitempty"`
	Email         *string                `protobuf:"bytes,4,opt,name=email,proto3,oneof" json:"email,omitempty"`
	Role          string                 `protobuf:"bytes,5,opt,name=role,proto3" json:"role,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpsertProjectMemberRequest) ProtoMessage() {}

func (x *UpsertProjectMemberRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[54]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertProjectMemberRequest.ProtoReflect.Descriptor instead.
func (*UpsertProjectMemberRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{54}
}

func (x *UpsertProjectMemberRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *UpsertProjectMemberRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *UpsertProjectMemberRequest) GetUserId() string {
	if x != nil && x.UserId != nil {
		return *x.UserId
	}
	return ""
}

func (x *UpsertProjectMemberRequest) GetEmail() string {
	if x != nil && x.Email != nil {
		return *x.Email
	}
	return ""
}

func (x *UpsertProjectMemberRequest) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

type DeleteProjectMemberRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	UserId        string                 `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteProjectMemberRequest) ProtoMessage() {}

func (x *DeleteProjectMemberRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[55]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteProjectMemberRequest.ProtoReflect.Descriptor instead.
func (*DeleteProjectMemberRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{55}
}

func (x *DeleteProjectMemberRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *DeleteProjectMemberRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *DeleteProjectMemberRequest) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

type SetProjectMemberLearningModeOverrideRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	UserId        string                 `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Enabled       *wrapperspb.BoolValue  `protobuf:"bytes,4,opt,name=enabled,proto3" json:"enabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SetProjectMemberLearningModeOverrideRequest) ProtoMessage() {}

func (x *SetProjectMemberLearningModeOverrideRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[56]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetProjectMemberLearningModeOverrideRequest.ProtoReflect.Descriptor instead.
func (*SetProjectMemberLearningModeOverrideRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{56}
}

func (x *SetProjectMemberLearningModeOverrideRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *SetProjectMemberLearningModeOverrideRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *SetProjectMemberLearningModeOverrideRequest) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *SetProjectMemberLearningModeOverrideRequest) GetEnabled() *wrapperspb.BoolValue {
	if x != nil {
		return x.Enabled
	}
	return nil
}

type RepositoryBinding struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Id                 string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	ProjectId          string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Provider           string                 `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	ExternalId         int64                  `protobuf:"varint,4,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
	Owner              string                 `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"`
	Name               string                 `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	ServicesYamlPath   string                 `protobuf:"bytes,7,opt,name=services_yaml_path,json=servicesYamlPath,proto3" json:"services_yaml_path,omitempty"`
	BotUsername        *string                `protobuf:"bytes,8,opt,name=bot_username,json=botUsername,proto3,oneof" json:"bot_username,omitempty"`
	BotEmail           *string                `protobuf:"bytes,9,opt,name=bot_email,json=botEmail,proto3,oneof" json:"bot_email,omitempty"`
	PreflightUpdatedAt *string                `protobuf:"bytes,10,opt,name=preflight_updated_at,json=preflightUpdatedAt,proto3,oneof" json:"preflight_updated_at,omitempty"`
	Alias              string                 `protobuf:"bytes,11,opt,name=alias,proto3" json:"alias,omitempty"`
	Role               string                 `protobuf:"bytes,12,opt,name=role,proto3" json:"role,omitempty"`
	DefaultRef         string                 `protobuf:"bytes,13,opt,name=default_ref,json=defaultRef,proto3" json:"default_ref,omitempty"`
	DocsRootPath       *string                `protobuf:"bytes,14,opt,name=docs_root_path,json=docsRootPath,proto3,oneof" json:"docs_root_path,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*RepositoryBinding) ProtoMessage() {}

func (x *RepositoryBinding) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[57]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RepositoryBinding.ProtoReflect.Descriptor instead.
func (*RepositoryBinding) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{57}
}

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

func (x *RepositoryBinding) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *RepositoryBinding) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *RepositoryBinding) GetExternalId() int64 {
	if x != nil {
		return x.ExternalId
	}
	return 0
}

func (x *RepositoryBinding) GetOwner() string {
	if x != nil {
		return x.Owner
	}
	return ""
}

func (x *RepositoryBinding) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *RepositoryBinding) GetServicesYamlPath() string {
	if x != nil {
		return x.ServicesYamlPath
	}
	return ""
}

func (x *RepositoryBinding) GetBotUsername() string {
	if x != nil && x.BotUsername != nil {
		return *x.BotUsername
	}
	return ""
}

func (x *RepositoryBinding) GetBotEmail() string {
	if x != nil && x.BotEmail != nil {
		return *x.BotEmail
	}
	return ""
}

func (x *RepositoryBinding) GetPreflightUpdatedAt() string {
	if x != nil && x.PreflightUpdatedAt != nil {
		return *x.PreflightUpdatedAt
	}
	return ""
}

func (x *RepositoryBinding) GetAlias() string {
	if x != nil {
		return x.Alias
	}
	return ""
}

func (x *RepositoryBinding) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

func (x *RepositoryBinding) GetDefaultRef() string {
	if x != nil {
		return x.DefaultRef
	}
	return ""
}

func (x *RepositoryBinding) GetDocsRootPath() string {
	if x != nil && x.DocsRootPath != nil {
		return *x.DocsRootPath
	}
	return ""
}

type ListProjectRepositoriesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Limit         int32                  `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListProjectRepositoriesRequest) Reset() {
	*x = ListProjectRepositoriesRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListProjectRepositoriesRequest) ProtoMessage() {}

func (x *ListProjectRepositoriesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[58]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListProjectRepositoriesRequest.ProtoReflect.Descriptor instead.
func (*ListProjectRepositoriesRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{58}
}

func (x *ListProjectRepositoriesRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ListProjectRepositoriesRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

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

type ListProjectRepositoriesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*RepositoryBinding   `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListProjectRepositoriesResponse) Reset() {
	*x = ListProjectRepositoriesResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListProjectRepositoriesResponse) ProtoMessage() {}

func (x *ListProjectRepositoriesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[59]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListProjectRepositoriesResponse.ProtoReflect.Descriptor instead.
func (*ListProjectRepositoriesResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{59}
}

func (x *ListProjectRepositoriesResponse) GetItems() []*RepositoryBinding {
	if x != nil {
		return x.Items
	}
	return nil
}

type UpsertProjectRepositoryRequest struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Principal        *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId        string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Provider         string                 `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	Owner            string                 `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"`
	Name             string                 `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
	Token            string                 `protobuf:"bytes,6,opt,name=token,proto3" json:"token,omitempty"`
	ServicesYamlPath string                 `protobuf:"bytes,7,opt,name=services_yaml_path,json=servicesYamlPath,proto3" json:"services_yaml_path,omitempty"`
	Alias            string                 `protobuf:"bytes,8,opt,name=alias,proto3" json:"alias,omitempty"`
	Role             string                 `protobuf:"bytes,9,opt,name=role,proto3" json:"role,omitempty"`
	DefaultRef       string                 `protobuf:"bytes,10,opt,name=default_ref,json=defaultRef,proto3" json:"default_ref,omitempty"`
	DocsRootPath     *string                `protobuf:"bytes,11,opt,name=docs_root_path,json=docsRootPath,proto3,oneof" json:"docs_root_path,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *UpsertProjectRepositoryRequest) Reset() {
	*x = UpsertProjectRepositoryRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertProjectRepositoryRequest) ProtoMessage() {}

func (x *UpsertProjectRepositoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[60]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertProjectRepositoryRequest.ProtoReflect.Descriptor instead.
func (*UpsertProjectRepositoryRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{60}
}

func (x *UpsertProjectRepositoryRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *UpsertProjectRepositoryRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *UpsertProjectRepositoryRequest) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *UpsertProjectRepositoryRequest) GetOwner() string {
	if x != nil {
		return x.Owner
	}
	return ""
}

func (x *UpsertProjectRepositoryRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *UpsertProjectRepositoryRequest) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

func (x *UpsertProjectRepositoryRequest) GetServicesYamlPath() string {
	if x != nil {
		return x.ServicesYamlPath
	}
	return ""
}

func (x *UpsertProjectRepositoryRequest) GetAlias() string {
	if x != nil {
		return x.Alias
	}
	return ""
}

func (x *UpsertProjectRepositoryRequest) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

func (x *UpsertProjectRepositoryRequest) GetDefaultRef() string {
	if x != nil {
		return x.DefaultRef
	}
	return ""
}

func (x *UpsertProjectRepositoryRequest) GetDocsRootPath() string {
	if x != nil && x.DocsRootPath != nil {
		return *x.DocsRootPath
	}
	return ""
}

type DeleteProjectRepositoryRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	RepositoryId  string                 `protobuf:"bytes,3,opt,name=repository_id,json=repositoryId,proto3" json:"repository_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteProjectRepositoryRequest) Reset() {
	*x = DeleteProjectRepositoryRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteProjectRepositoryRequest) ProtoMessage() {}

func (x *DeleteProjectRepositoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[61]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteProjectRepositoryRequest.ProtoReflect.Descriptor instead.
func (*DeleteProjectRepositoryRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{61}
}

func (x *DeleteProjectRepositoryRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *DeleteProjectRepositoryRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *DeleteProjectRepositoryRequest) GetRepositoryId() string {
	if x != nil {
		return x.RepositoryId
	}
	return ""
}

type UpsertRepositoryBotParamsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	RepositoryId  string                 `protobuf:"bytes,3,opt,name=repository_id,json=repositoryId,proto3" json:"repository_id,omitempty"`
	BotToken      *string                `protobuf:"bytes,4,opt,name=bot_token,json=botToken,proto3,oneof" json:"bot_token,omitempty"`
	BotUsername   *string                `protobuf:"bytes,5,opt,name=bot_username,json=botUsername,proto3,oneof" json:"bot_username,omitempty"`
	BotEmail      *string                `protobuf:"bytes,6,opt,name=bot_email,json=botEmail,proto3,oneof" json:"bot_email,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpsertRepositoryBotParamsRequest) Reset() {
	*x = UpsertRepositoryBotParamsRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertRepositoryBotParamsRequest) ProtoMessage() {}

func (x *UpsertRepositoryBotParamsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[62]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertRepositoryBotParamsRequest.ProtoReflect.Descriptor instead.
func (*UpsertRepositoryBotParamsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{62}
}

func (x *UpsertRepositoryBotParamsRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *UpsertRepositoryBotParamsRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *UpsertRepositoryBotParamsRequest) GetRepositoryId() string {
	if x != nil {
		return x.RepositoryId
	}
	return ""
}

func (x *UpsertRepositoryBotParamsRequest) GetBotToken() string {
	if x != nil && x.BotToken != nil {
		return *x.BotToken
	}
	return ""
}

func (x *UpsertRepositoryBotParamsRequest) GetBotUsername() string {
	if x != nil && x.BotUsername != nil {
		return *x.BotUsername
	}
	return ""
}

func (x *UpsertRepositoryBotParamsRequest) GetBotEmail() string {
	if x != nil && x.BotEmail != nil {
		return *x.BotEmail
	}
	return ""
}

type RunRepositoryPreflightRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	RepositoryId  string                 `protobuf:"bytes,3,opt,name=repository_id,json=repositoryId,proto3" json:"repository_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RunRepositoryPreflightRequest) Reset() {
	*x = RunRepositoryPreflightRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RunRepositoryPreflightRequest) ProtoMessage() {}

func (x *RunRepositoryPreflightRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[63]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RunRepositoryPreflightRequest.ProtoReflect.Descriptor instead.
func (*RunRepositoryPreflightRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{63}
}

func (x *RunRepositoryPreflightRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *RunRepositoryPreflightRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *RunRepositoryPreflightRequest) GetRepositoryId() string {
	if x != nil {
		return x.RepositoryId
	}
	return ""
}

type PreflightCheckResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Status        string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	Details       *string                `protobuf:"bytes,3,opt,name=details,proto3,oneof" json:"details,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PreflightCheckResult) Reset() {
	*x = PreflightCheckResult{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[64]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PreflightCheckResult) ProtoMessage() {}

func (x *PreflightCheckResult) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[64]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PreflightCheckResult.ProtoReflect.Descriptor instead.
func (*PreflightCheckResult) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{64}
}

func (x *PreflightCheckResult) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *PreflightCheckResult) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *PreflightCheckResult) GetDetails() string {
	if x != nil && x.Details != nil {
		return *x.Details
	}
	return ""
}

type RunRepositoryPreflightResponse struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	RepositoryId  string                  `protobuf:"bytes,1,opt,name=repository_id,json=repositoryId,proto3" json:"repository_id,omitempty"`
	Status        string                  `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	Checks        []*PreflightCheckResult `protobuf:"bytes,3,rep,name=checks,proto3" json:"checks,omitempty"`
	ReportJson    string                  `protobuf:"bytes,4,opt,name=report_json,json=reportJson,proto3" json:"report_json,omitempty"`
	FinishedAt    *timestamppb.Timestamp  `protobuf:"bytes,5,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RunRepositoryPreflightResponse) Reset() {
	*x = RunRepositoryPreflightResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RunRepositoryPreflightResponse) ProtoMessage() {}

func (x *RunRepositoryPreflightResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[65]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RunRepositoryPreflightResponse.ProtoReflect.Descriptor instead.
func (*RunRepositoryPreflightResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{65}
}

func (x *RunRepositoryPreflightResponse) GetRepositoryId() string {
	if x != nil {
		return x.RepositoryId
	}
	return ""
}

func (x *RunRepositoryPreflightResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *RunRepositoryPreflightResponse) GetChecks() []*PreflightCheckResult {
	if x != nil {
		return x.Checks
	}
	return nil
}

func (x *RunRepositoryPreflightResponse) GetReportJson() string {
	if x != nil {
		return x.ReportJson
	}
	return ""
}

func (x *RunRepositoryPreflightResponse) GetFinishedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.FinishedAt
	}
	return nil
}

type ProjectGitHubTokens struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	ProjectId        string                 `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	HasPlatformToken bool                   `protobuf:"varint,2,opt,name=has_platform_token,json=hasPlatformToken,proto3" json:"has_platform_token,omitempty"`
	HasBotToken      bool                   `protobuf:"varint,3,opt,name=has_bot_token,json=hasBotToken,proto3" json:"has_bot_token,omitempty"`
	BotUsername      *string                `protobuf:"bytes,4,opt,name=bot_username,json=botUsername,proto3,oneof" json:"bot_username,omitempty"`
	BotEmail         *string                `protobuf:"bytes,5,opt,name=bot_email,json=botEmail,proto3,oneof" json:"bot_email,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ProjectGitHubTokens) Reset() {
	*x = ProjectGitHubTokens{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ProjectGitHubTokens) ProtoMessage() {}

func (x *ProjectGitHubTokens) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[66]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProjectGitHubTokens.ProtoReflect.Descriptor instead.
func (*ProjectGitHubTokens) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{66}
}

func (x *ProjectGitHubTokens) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *ProjectGitHubTokens) GetHasPlatformToken() bool {
	if x != nil {
		return x.HasPlatformToken
	}
	return false
}

func (x *ProjectGitHubTokens) GetHasBotToken() bool {
	if x != nil {
		return x.HasBotToken
	}
	return false
}

func (x *ProjectGitHubTokens) GetBotUsername() string {
	if x != nil && x.BotUsername != nil {
		return *x.BotUsername
	}
	return ""
}

func (x *ProjectGitHubTokens) GetBotEmail() string {
	if x != nil && x.BotEmail != nil {
		return *x.BotEmail
	}
	return ""
}

type GetProjectGitHubTokensRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetProjectGitHubTokensRequest) Reset() {
	*x = GetProjectGitHubTokensRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[67]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetProjectGitHubTokensRequest) ProtoMessage() {}

func (x *GetProjectGitHubTokensRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[67]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetProjectGitHubTokensRequest.ProtoReflect.Descriptor instead.
func (*GetProjectGitHubTokensRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{67}
}

func (x *GetProjectGitHubTokensRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *GetProjectGitHubTokensRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

type UpsertProjectGitHubTokensRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	PlatformToken *string                `protobuf:"bytes,3,opt,name=platform_token,json=platformToken,proto3,oneof" json:"platform_token,omitempty"`
	BotToken      *string                `protobuf:"bytes,4,opt,name=bot_token,json=botToken,proto3,oneof" json:"bot_token,omitempty"`
	BotUsername   *string                `protobuf:"bytes,5,opt,name=bot_username,json=botUsername,proto3,oneof" json:"bot_username,omitempty"`
	BotEmail      *string                `protobuf:"bytes,6,opt,name=bot_email,json=botEmail,proto3,oneof" json:"bot_email,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpsertProjectGitHubTokensRequest) Reset() {
	*x = UpsertProjectGitHubTokensRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[68]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertProjectGitHubTokensRequest) ProtoMessage() {}

func (x *UpsertProjectGitHubTokensRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[68]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertProjectGitHubTokensRequest.ProtoReflect.Descriptor instead.
func (*UpsertProjectGitHubTokensRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{68}
}

func (x *UpsertProjectGitHubTokensRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *UpsertProjectGitHubTokensRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *UpsertProjectGitHubTokensRequest) GetPlatformToken() string {
	if x != nil && x.PlatformToken != nil {
		return *x.PlatformToken
	}
	return ""
}

func (x *UpsertProjectGitHubTokensRequest) GetBotToken() string {
	if x != nil && x.BotToken != nil {
		return *x.BotToken
	}
	return ""
}

func (x *UpsertProjectGitHubTokensRequest) GetBotUsername() string {
	if x != nil && x.BotUsername != nil {
		return *x.BotUsername
	}
	return ""
}

func (x *UpsertProjectGitHubTokensRequest) GetBotEmail() string {
	if x != nil && x.BotEmail != nil {
		return *x.BotEmail
	}
	return ""
}

type NextStepActionRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Principal          *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	RepositoryFullName string                 `protobuf:"bytes,2,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	IssueNumber        *int32                 `protobuf:"varint,3,opt,name=issue_number,json=issueNumber,proto3,oneof" json:"issue_number,omitempty"`
	PullRequestNumber  *int32                 `protobuf:"varint,4,opt,name=pull_request_number,json=pullRequestNumber,proto3,oneof" json:"pull_request_number,omitempty"`
	ActionKind         string                 `protobuf:"bytes,5,opt,name=action_kind,json=actionKind,proto3" json:"action_kind,omitempty"`
	TargetLabel        string                 `protobuf:"bytes,6,opt,name=target_label,json=targetLabel,proto3" json:"target_label,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *NextStepActionRequest) Reset() {
	*x = NextStepActionRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[69]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NextStepActionRequest) ProtoMessage() {}

func (x *NextStepActionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[69]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NextStepActionRequest.ProtoReflect.Descriptor instead.
func (*NextStepActionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{69}
}

func (x *NextStepActionRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *NextStepActionRequest) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *NextStepActionRequest) GetIssueNumber() int32 {
	if x != nil && x.IssueNumber != nil {
		return *x.IssueNumber
	}
	return 0
}

func (x *NextStepActionRequest) GetPullRequestNumber() int32 {
	if x != nil && x.PullRequestNumber != nil {
		return *x.PullRequestNumber
	}
	return 0
}

func (x *NextStepActionRequest) GetActionKind() string {
	if x != nil {
		return x.ActionKind
	}
	return ""
}

func (x *NextStepActionRequest) GetTargetLabel() string {
	if x != nil {
		return x.TargetLabel
	}
	return ""
}

type NextStepActionResponse struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	RepositoryFullName string                 `protobuf:"bytes,1,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	ThreadKind         string                 `protobuf:"bytes,2,opt,name=thread_kind,json=threadKind,proto3" json:"thread_kind,omitempty"`
	ThreadNumber       int32                  `protobuf:"varint,3,opt,name=thread_number,json=threadNumber,proto3" json:"thread_number,omitempty"`
	ThreadUrl          *string                `protobuf:"bytes,4,opt,name=thread_url,json=threadUrl,proto3,oneof" json:"thread_url,omitempty"`
	RemovedLabels      []string               `protobuf:"bytes,5,rep,name=removed_labels,json=removedLabels,proto3" json:"removed_labels,omitempty"`
	AddedLabels        []string               `protobuf:"bytes,6,rep,name=added_labels,json=addedLabels,proto3" json:"added_labels,omitempty"`
	FinalLabels        []string               `protobuf:"bytes,7,rep,name=final_labels,json=finalLabels,proto3" json:"final_labels,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *NextStepActionResponse) Reset() {
	*x = NextStepActionResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[70]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NextStepActionResponse) ProtoMessage() {}

func (x *NextStepActionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[70]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NextStepActionResponse.ProtoReflect.Descriptor instead.
func (*NextStepActionResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{70}
}

func (x *NextStepActionResponse) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *NextStepActionResponse) GetThreadKind() string {
	if x != nil {
		return x.ThreadKind
	}
	return ""
}

func (x *NextStepActionResponse) GetThreadNumber() int32 {
	if x != nil {
		return x.ThreadNumber
	}
	return 0
}

func (x *NextStepActionResponse) GetThreadUrl() string {
	if x != nil && x.ThreadUrl != nil {
		return *x.ThreadUrl
	}
	return ""
}

func (x *NextStepActionResponse) GetRemovedLabels() []string {
	if x != nil {
		return x.RemovedLabels
	}
	return nil
}

func (x *NextStepActionResponse) GetAddedLabels() []string {
	if x != nil {
		return x.AddedLabels
	}
	return nil
}

func (x *NextStepActionResponse) GetFinalLabels() []string {
	if x != nil {
		return x.FinalLabels
	}
	return nil
}

type ConfigEntry struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Scope         string                 `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	Kind          string                 `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"`
	ProjectId     *string                `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	RepositoryId  *string                `protobuf:"bytes,5,opt,name=repository_id,json=repositoryId,proto3,oneof" json:"repository_id,omitempty"`
	Key           string                 `protobuf:"bytes,6,opt,name=key,proto3" json:"key,omitempty"`
	Value         *string                `protobuf:"bytes,7,opt,name=value,proto3,oneof" json:"value,omitempty"`
	SyncTargets   []string               `protobuf:"bytes,8,rep,name=sync_targets,json=syncTargets,proto3" json:"sync_targets,omitempty"`
	Mutability    string                 `protobuf:"bytes,9,opt,name=mutability,proto3" json:"mutability,omitempty"`
	IsDangerous   bool                   `protobuf:"varint,10,opt,name=is_dangerous,json=isDangerous,proto3" json:"is_dangerous,omitempty"`
	UpdatedAt     *string                `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3,oneof" json:"updated_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ConfigEntry) Reset() {
	*x = ConfigEntry{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[71]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ConfigEntry) ProtoMessage() {}

func (x *ConfigEntry) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[71]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ConfigEntry.ProtoReflect.Descriptor instead.
func (*ConfigEntry) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{71}
}

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

func (x *ConfigEntry) GetScope() string {
	if x != nil {
		return x.Scope
	}
	return ""
}

func (x *ConfigEntry) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *ConfigEntry) GetProjectId() string {
	if x != nil && x.ProjectId != nil {
		return *x.ProjectId
	}
	return ""
}

func (x *ConfigEntry) GetRepositoryId() string {
	if x != nil && x.RepositoryId != nil {
		return *x.RepositoryId
	}
	return ""
}

func (x *ConfigEntry) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *ConfigEntry) GetValue() string {
	if x != nil && x.Value != nil {
		return *x.Value
	}
	return ""
}

func (x *ConfigEntry) GetSyncTargets() []string {
	if x != nil {
		return x.SyncTargets
	}
	return nil
}

func (x *ConfigEntry) GetMutability() string {
	if x != nil {
		return x.Mutability
	}
	return ""
}

func (x *ConfigEntry) GetIsDangerous() bool {
	if x != nil {
		return x.IsDangerous
	}
	return false
}

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

type ListConfigEntriesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Scope         string                 `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	ProjectId     *string                `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	RepositoryId  *string                `protobuf:"bytes,4,opt,name=repository_id,json=repositoryId,proto3,oneof" json:"repository_id,omitempty"`
	Limit         int32                  `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListConfigEntriesRequest) Reset() {
	*x = ListConfigEntriesRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[72]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListConfigEntriesRequest) ProtoMessage() {}

func (x *ListConfigEntriesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[72]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListConfigEntriesRequest.ProtoReflect.Descriptor instead.
func (*ListConfigEntriesRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{72}
}

func (x *ListConfigEntriesRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ListConfigEntriesRequest) GetScope() string {
	if x != nil {
		return x.Scope
	}
	return ""
}

func (x *ListConfigEntriesRequest) GetProjectId() string {
	if x != nil && x.ProjectId != nil {
		return *x.ProjectId
	}
	return ""
}

func (x *ListConfigEntriesRequest) GetRepositoryId() string {
	if x != nil && x.RepositoryId != nil {
		return *x.RepositoryId
	}
	return ""
}

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

type ListConfigEntriesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*ConfigEntry         `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListConfigEntriesResponse) Reset() {
	*x = ListConfigEntriesResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[73]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListConfigEntriesResponse) ProtoMessage() {}

func (x *ListConfigEntriesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[73]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListConfigEntriesResponse.ProtoReflect.Descriptor instead.
func (*ListConfigEntriesResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{73}
}

func (x *ListConfigEntriesResponse) GetItems() []*ConfigEntry {
	if x != nil {
		return x.Items
	}
	return nil
}

type UpsertConfigEntryRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Principal          *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Scope              string                 `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	Kind               string                 `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"`
	ProjectId          *string                `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	RepositoryId       *string                `protobuf:"bytes,5,opt,name=repository_id,json=repositoryId,proto3,oneof" json:"repository_id,omitempty"`
	Key                string                 `protobuf:"bytes,6,opt,name=key,proto3" json:"key,omitempty"`
	ValuePlain         *string                `protobuf:"bytes,7,opt,name=value_plain,json=valuePlain,proto3,oneof" json:"value_plain,omitempty"`
	ValueSecret        *string                `protobuf:"bytes,8,opt,name=value_secret,json=valueSecret,proto3,oneof" json:"value_secret,omitempty"`
	SyncTargets        []string               `protobuf:"bytes,9,rep,name=sync_targets,json=syncTargets,proto3" json:"sync_targets,omitempty"`
	Mutability         string                 `protobuf:"bytes,10,opt,name=mutability,proto3" json:"mutability,omitempty"`
	IsDangerous        bool                   `protobuf:"varint,11,opt,name=is_dangerous,json=isDangerous,proto3" json:"is_dangerous,omitempty"`
	DangerousConfirmed bool                   `protobuf:"varint,12,opt,name=dangerous_confirmed,json=dangerousConfirmed,proto3" json:"dangerous_confirmed,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *UpsertConfigEntryRequest) Reset() {
	*x = UpsertConfigEntryRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[74]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertConfigEntryRequest) ProtoMessage() {}

func (x *UpsertConfigEntryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[74]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertConfigEntryRequest.ProtoReflect.Descriptor instead.
func (*UpsertConfigEntryRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{74}
}

func (x *UpsertConfigEntryRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *UpsertConfigEntryRequest) GetScope() string {
	if x != nil {
		return x.Scope
	}
	return ""
}

func (x *UpsertConfigEntryRequest) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *UpsertConfigEntryRequest) GetProjectId() string {
	if x != nil && x.ProjectId != nil {
		return *x.ProjectId
	}
	return ""
}

func (x *UpsertConfigEntryRequest) GetRepositoryId() string {
	if x != nil && x.RepositoryId != nil {
		return *x.RepositoryId
	}
	return ""
}

func (x *UpsertConfigEntryRequest) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *UpsertConfigEntryRequest) GetValuePlain() string {
	if x != nil && x.ValuePlain != nil {
		return *x.ValuePlain
	}
	return ""
}

func (x *UpsertConfigEntryRequest) GetValueSecret() string {
	if x != nil && x.ValueSecret != nil {
		return *x.ValueSecret
	}
	return ""
}

func (x *UpsertConfigEntryRequest) GetSyncTargets() []string {
	if x != nil {
		return x.SyncTargets
	}
	return nil
}

func (x *UpsertConfigEntryRequest) GetMutability() string {
	if x != nil {
		return x.Mutability
	}
	return ""
}

func (x *UpsertConfigEntryRequest) GetIsDangerous() bool {
	if x != nil {
		return x.IsDangerous
	}
	return false
}

func (x *UpsertConfigEntryRequest) GetDangerousConfirmed() bool {
	if x != nil {
		return x.DangerousConfirmed
	}
	return false
}

type DeleteConfigEntryRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ConfigEntryId string                 `protobuf:"bytes,2,opt,name=config_entry_id,json=configEntryId,proto3" json:"config_entry_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteConfigEntryRequest) Reset() {
	*x = DeleteConfigEntryRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[75]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteConfigEntryRequest) ProtoMessage() {}

func (x *DeleteConfigEntryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[75]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteConfigEntryRequest.ProtoReflect.Descriptor instead.
func (*DeleteConfigEntryRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{75}
}

func (x *DeleteConfigEntryRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *DeleteConfigEntryRequest) GetConfigEntryId() string {
	if x != nil {
		return x.ConfigEntryId
	}
	return ""
}

type DocsetGroup struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Id              string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Title           string                 `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	Description     string                 `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	DefaultSelected bool                   `protobuf:"varint,4,opt,name=default_selected,json=defaultSelected,proto3" json:"default_selected,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *DocsetGroup) Reset() {
	*x = DocsetGroup{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[76]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DocsetGroup) ProtoMessage() {}

func (x *DocsetGroup) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[76]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DocsetGroup.ProtoReflect.Descriptor instead.
func (*DocsetGroup) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{76}
}

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

func (x *DocsetGroup) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *DocsetGroup) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *DocsetGroup) GetDefaultSelected() bool {
	if x != nil {
		return x.DefaultSelected
	}
	return false
}

type ListDocsetGroupsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	DocsetRef     string                 `protobuf:"bytes,2,opt,name=docset_ref,json=docsetRef,proto3" json:"docset_ref,omitempty"`
	Locale        string                 `protobuf:"bytes,3,opt,name=locale,proto3" json:"locale,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListDocsetGroupsRequest) Reset() {
	*x = ListDocsetGroupsRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[77]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListDocsetGroupsRequest) ProtoMessage() {}

func (x *ListDocsetGroupsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[77]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListDocsetGroupsRequest.ProtoReflect.Descriptor instead.
func (*ListDocsetGroupsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{77}
}

func (x *ListDocsetGroupsRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ListDocsetGroupsRequest) GetDocsetRef() string {
	if x != nil {
		return x.DocsetRef
	}
	return ""
}

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

type ListDocsetGroupsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Groups        []*DocsetGroup         `protobuf:"bytes,1,rep,name=groups,proto3" json:"groups,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListDocsetGroupsResponse) Reset() {
	*x = ListDocsetGroupsResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[78]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListDocsetGroupsResponse) ProtoMessage() {}

func (x *ListDocsetGroupsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[78]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListDocsetGroupsResponse.ProtoReflect.Descriptor instead.
func (*ListDocsetGroupsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{78}
}

func (x *ListDocsetGroupsResponse) GetGroups() []*DocsetGroup {
	if x != nil {
		return x.Groups
	}
	return nil
}

type ImportDocsetRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	RepositoryId  string                 `protobuf:"bytes,3,opt,name=repository_id,json=repositoryId,proto3" json:"repository_id,omitempty"`
	DocsetRef     string                 `protobuf:"bytes,4,opt,name=docset_ref,json=docsetRef,proto3" json:"docset_ref,omitempty"`
	Locale        string                 `protobuf:"bytes,5,opt,name=locale,proto3" json:"locale,omitempty"`
	GroupIds      []string               `protobuf:"bytes,6,rep,name=group_ids,json=groupIds,proto3" json:"group_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ImportDocsetRequest) Reset() {
	*x = ImportDocsetRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[79]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ImportDocsetRequest) ProtoMessage() {}

func (x *ImportDocsetRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[79]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ImportDocsetRequest.ProtoReflect.Descriptor instead.
func (*ImportDocsetRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{79}
}

func (x *ImportDocsetRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ImportDocsetRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *ImportDocsetRequest) GetRepositoryId() string {
	if x != nil {
		return x.RepositoryId
	}
	return ""
}

func (x *ImportDocsetRequest) GetDocsetRef() string {
	if x != nil {
		return x.DocsetRef
	}
	return ""
}

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

func (x *ImportDocsetRequest) GetGroupIds() []string {
	if x != nil {
		return x.GroupIds
	}
	return nil
}

type ImportDocsetResponse struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	RepositoryFullName string                 `protobuf:"bytes,1,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	PrNumber           int32                  `protobuf:"varint,2,opt,name=pr_number,json=prNumber,proto3" json:"pr_number,omitempty"`
	PrUrl              string                 `protobuf:"bytes,3,opt,name=pr_url,json=prUrl,proto3" json:"pr_url,omitempty"`
	Branch             string                 `protobuf:"bytes,4,opt,name=branch,proto3" json:"branch,omitempty"`
	FilesTotal         int32                  `protobuf:"varint,5,opt,name=files_total,json=filesTotal,proto3" json:"files_total,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ImportDocsetResponse) Reset() {
	*x = ImportDocsetResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[80]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ImportDocsetResponse) ProtoMessage() {}

func (x *ImportDocsetResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[80]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ImportDocsetResponse.ProtoReflect.Descriptor instead.
func (*ImportDocsetResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{80}
}

func (x *ImportDocsetResponse) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *ImportDocsetResponse) GetPrNumber() int32 {
	if x != nil {
		return x.PrNumber
	}
	return 0
}

func (x *ImportDocsetResponse) GetPrUrl() string {
	if x != nil {
		return x.PrUrl
	}
	return ""
}

func (x *ImportDocsetResponse) GetBranch() string {
	if x != nil {
		return x.Branch
	}
	return ""
}

func (x *ImportDocsetResponse) GetFilesTotal() int32 {
	if x != nil {
		return x.FilesTotal
	}
	return 0
}

type SyncDocsetRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId     string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	RepositoryId  string                 `protobuf:"bytes,3,opt,name=repository_id,json=repositoryId,proto3" json:"repository_id,omitempty"`
	DocsetRef     string                 `protobuf:"bytes,4,opt,name=docset_ref,json=docsetRef,proto3" json:"docset_ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SyncDocsetRequest) Reset() {
	*x = SyncDocsetRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[81]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SyncDocsetRequest) ProtoMessage() {}

func (x *SyncDocsetRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[81]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SyncDocsetRequest.ProtoReflect.Descriptor instead.
func (*SyncDocsetRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{81}
}

func (x *SyncDocsetRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *SyncDocsetRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *SyncDocsetRequest) GetRepositoryId() string {
	if x != nil {
		return x.RepositoryId
	}
	return ""
}

func (x *SyncDocsetRequest) GetDocsetRef() string {
	if x != nil {
		return x.DocsetRef
	}
	return ""
}

type SyncDocsetResponse struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	RepositoryFullName string                 `protobuf:"bytes,1,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	PrNumber           int32                  `protobuf:"varint,2,opt,name=pr_number,json=prNumber,proto3" json:"pr_number,omitempty"`
	PrUrl              string                 `protobuf:"bytes,3,opt,name=pr_url,json=prUrl,proto3" json:"pr_url,omitempty"`
	Branch             string                 `protobuf:"bytes,4,opt,name=branch,proto3" json:"branch,omitempty"`
	FilesUpdated       int32                  `protobuf:"varint,5,opt,name=files_updated,json=filesUpdated,proto3" json:"files_updated,omitempty"`
	FilesDrift         int32                  `protobuf:"varint,6,opt,name=files_drift,json=filesDrift,proto3" json:"files_drift,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *SyncDocsetResponse) Reset() {
	*x = SyncDocsetResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[82]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SyncDocsetResponse) ProtoMessage() {}

func (x *SyncDocsetResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[82]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SyncDocsetResponse.ProtoReflect.Descriptor instead.
func (*SyncDocsetResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{82}
}

func (x *SyncDocsetResponse) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *SyncDocsetResponse) GetPrNumber() int32 {
	if x != nil {
		return x.PrNumber
	}
	return 0
}

func (x *SyncDocsetResponse) GetPrUrl() string {
	if x != nil {
		return x.PrUrl
	}
	return ""
}

func (x *SyncDocsetResponse) GetBranch() string {
	if x != nil {
		return x.Branch
	}
	return ""
}

func (x *SyncDocsetResponse) GetFilesUpdated() int32 {
	if x != nil {
		return x.FilesUpdated
	}
	return 0
}

func (x *SyncDocsetResponse) GetFilesDrift() int32 {
	if x != nil {
		return x.FilesDrift
	}
	return 0
}

type IssueRunMCPTokenRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RunId         string                 `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Namespace     string                 `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	RuntimeMode   string                 `protobuf:"bytes,3,opt,name=runtime_mode,json=runtimeMode,proto3" json:"runtime_mode,omitempty"`
	TtlSeconds    int32                  `protobuf:"varint,4,opt,name=ttl_seconds,json=ttlSeconds,proto3" json:"ttl_seconds,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *IssueRunMCPTokenRequest) Reset() {
	*x = IssueRunMCPTokenRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[83]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*IssueRunMCPTokenRequest) ProtoMessage() {}

func (x *IssueRunMCPTokenRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[83]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use IssueRunMCPTokenRequest.ProtoReflect.Descriptor instead.
func (*IssueRunMCPTokenRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{83}
}

func (x *IssueRunMCPTokenRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *IssueRunMCPTokenRequest) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

func (x *IssueRunMCPTokenRequest) GetRuntimeMode() string {
	if x != nil {
		return x.RuntimeMode
	}
	return ""
}

func (x *IssueRunMCPTokenRequest) GetTtlSeconds() int32 {
	if x != nil {
		return x.TtlSeconds
	}
	return 0
}

type IssueRunMCPTokenResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Token         string                 `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
	ExpiresAt     *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *IssueRunMCPTokenResponse) Reset() {
	*x = IssueRunMCPTokenResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[84]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*IssueRunMCPTokenResponse) ProtoMessage() {}

func (x *IssueRunMCPTokenResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[84]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use IssueRunMCPTokenResponse.ProtoReflect.Descriptor instead.
func (*IssueRunMCPTokenResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{84}
}

func (x *IssueRunMCPTokenResponse) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

func (x *IssueRunMCPTokenResponse) GetExpiresAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ExpiresAt
	}
	return nil
}

type PrepareRunEnvironmentRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	RunId              string                 `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	RuntimeMode        string                 `protobuf:"bytes,2,opt,name=runtime_mode,json=runtimeMode,proto3" json:"runtime_mode,omitempty"`
	Namespace          string                 `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"`
	TargetEnv          string                 `protobuf:"bytes,4,opt,name=target_env,json=targetEnv,proto3" json:"target_env,omitempty"`
	SlotNo             int32                  `protobuf:"varint,5,opt,name=slot_no,json=slotNo,proto3" json:"slot_no,omitempty"`
	RepositoryFullName string                 `protobuf:"bytes,6,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	ServicesYamlPath   string                 `protobuf:"bytes,7,opt,name=services_yaml_path,json=servicesYamlPath,proto3" json:"services_yaml_path,omitempty"`
	BuildRef           string                 `protobuf:"bytes,8,opt,name=build_ref,json=buildRef,proto3" json:"build_ref,omitempty"`
	DeployOnly         bool                   `protobuf:"varint,9,opt,name=deploy_only,json=deployOnly,proto3" json:"deploy_only,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *PrepareRunEnvironmentRequest) Reset() {
	*x = PrepareRunEnvironmentRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[85]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PrepareRunEnvironmentRequest) ProtoMessage() {}

func (x *PrepareRunEnvironmentRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[85]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PrepareRunEnvironmentRequest.ProtoReflect.Descriptor instead.
func (*PrepareRunEnvironmentRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{85}
}

func (x *PrepareRunEnvironmentRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *PrepareRunEnvironmentRequest) GetRuntimeMode() string {
	if x != nil {
		return x.RuntimeMode
	}
	return ""
}

func (x *PrepareRunEnvironmentRequest) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

func (x *PrepareRunEnvironmentRequest) GetTargetEnv() string {
	if x != nil {
		return x.TargetEnv
	}
	return ""
}

func (x *PrepareRunEnvironmentRequest) GetSlotNo() int32 {
	if x != nil {
		return x.SlotNo
	}
	return 0
}

func (x *PrepareRunEnvironmentRequest) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *PrepareRunEnvironmentRequest) GetServicesYamlPath() string {
	if x != nil {
		return x.ServicesYamlPath
	}
	return ""
}

func (x *PrepareRunEnvironmentRequest) GetBuildRef() string {
	if x != nil {
		return x.BuildRef
	}
	return ""
}

func (x *PrepareRunEnvironmentRequest) GetDeployOnly() bool {
	if x != nil {
		return x.DeployOnly
	}
	return false
}

type PrepareRunEnvironmentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ok            bool                   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Namespace     string                 `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"`
	TargetEnv     string                 `protobuf:"bytes,4,opt,name=target_env,json=targetEnv,proto3" json:"target_env,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PrepareRunEnvironmentResponse) Reset() {
	*x = PrepareRunEnvironmentResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[86]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PrepareRunEnvironmentResponse) ProtoMessage() {}

func (x *PrepareRunEnvironmentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[86]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PrepareRunEnvironmentResponse.ProtoReflect.Descriptor instead.
func (*PrepareRunEnvironmentResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{86}
}

func (x *PrepareRunEnvironmentResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *PrepareRunEnvironmentResponse) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *PrepareRunEnvironmentResponse) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

func (x *PrepareRunEnvironmentResponse) GetTargetEnv() string {
	if x != nil {
		return x.TargetEnv
	}
	return ""
}

type EvaluateRuntimeReuseRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	RunId              string                 `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	ProjectId          string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	IssueNumber        int64                  `protobuf:"varint,3,opt,name=issue_number,json=issueNumber,proto3" json:"issue_number,omitempty"`
	AgentKey           string                 `protobuf:"bytes,4,opt,name=agent_key,json=agentKey,proto3" json:"agent_key,omitempty"`
	RuntimeMode        string                 `protobuf:"bytes,5,opt,name=runtime_mode,json=runtimeMode,proto3" json:"runtime_mode,omitempty"`
	Namespace          string                 `protobuf:"bytes,6,opt,name=namespace,proto3" json:"namespace,omitempty"`
	TargetEnv          string                 `protobuf:"bytes,7,opt,name=target_env,json=targetEnv,proto3" json:"target_env,omitempty"`
	SlotNo             int32                  `protobuf:"varint,8,opt,name=slot_no,json=slotNo,proto3" json:"slot_no,omitempty"`
	RepositoryFullName string                 `protobuf:"bytes,9,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	ServicesYamlPath   string                 `protobuf:"bytes,10,opt,name=services_yaml_path,json=servicesYamlPath,proto3" json:"services_yaml_path,omitempty"`
	BuildRef           string                 `protobuf:"bytes,11,opt,name=build_ref,json=buildRef,proto3" json:"build_ref,omitempty"`
	DeployOnly         bool                   `protobuf:"varint,12,opt,name=deploy_only,json=deployOnly,proto3" json:"deploy_only,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *EvaluateRuntimeReuseRequest) Reset() {
	*x = EvaluateRuntimeReuseRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[87]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EvaluateRuntimeReuseRequest) ProtoMessage() {}

func (x *EvaluateRuntimeReuseRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[87]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvaluateRuntimeReuseRequest.ProtoReflect.Descriptor instead.
func (*EvaluateRuntimeReuseRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{87}
}

func (x *EvaluateRuntimeReuseRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *EvaluateRuntimeReuseRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *EvaluateRuntimeReuseRequest) GetIssueNumber() int64 {
	if x != nil {
		return x.IssueNumber
	}
	return 0
}

func (x *EvaluateRuntimeReuseRequest) GetAgentKey() string {
	if x != nil {
		return x.AgentKey
	}
	return ""
}

func (x *EvaluateRuntimeReuseRequest) GetRuntimeMode() string {
	if x != nil {
		return x.RuntimeMode
	}
	return ""
}

func (x *EvaluateRuntimeReuseRequest) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

func (x *EvaluateRuntimeReuseRequest) GetTargetEnv() string {
	if x != nil {
		return x.TargetEnv
	}
	return ""
}

func (x *EvaluateRuntimeReuseRequest) GetSlotNo() int32 {
	if x != nil {
		return x.SlotNo
	}
	return 0
}

func (x *EvaluateRuntimeReuseRequest) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *EvaluateRuntimeReuseRequest) GetServicesYamlPath() string {
	if x != nil {
		return x.ServicesYamlPath
	}
	return ""
}

func (x *EvaluateRuntimeReuseRequest) GetBuildRef() string {
	if x != nil {
		return x.BuildRef
	}
	return ""
}

func (x *EvaluateRuntimeReuseRequest) GetDeployOnly() bool {
	if x != nil {
		return x.DeployOnly
	}
	return false
}

type EvaluateRuntimeReuseResponse struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Reusable          bool                   `protobuf:"varint,1,opt,name=reusable,proto3" json:"reusable,omitempty"`
	Namespace         string                 `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	TargetEnv         string                 `protobuf:"bytes,3,opt,name=target_env,json=targetEnv,proto3" json:"target_env,omitempty"`
	EffectiveBuildRef string                 `protobuf:"bytes,4,opt,name=effective_build_ref,json=effectiveBuildRef,proto3" json:"effective_build_ref,omitempty"`
	FingerprintHash   string                 `protobuf:"bytes,5,opt,name=fingerprint_hash,json=fingerprintHash,proto3" json:"fingerprint_hash,omitempty"`
	Reason            string                 `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *EvaluateRuntimeReuseResponse) Reset() {
	*x = EvaluateRuntimeReuseResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[88]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EvaluateRuntimeReuseResponse) ProtoMessage() {}

func (x *EvaluateRuntimeReuseResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[88]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvaluateRuntimeReuseResponse.ProtoReflect.Descriptor instead.
func (*EvaluateRuntimeReuseResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{88}
}

func (x *EvaluateRuntimeReuseResponse) GetReusable() bool {
	if x != nil {
		return x.Reusable
	}
	return false
}

func (x *EvaluateRuntimeReuseResponse) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

func (x *EvaluateRuntimeReuseResponse) GetTargetEnv() string {
	if x != nil {
		return x.TargetEnv
	}
	return ""
}

func (x *EvaluateRuntimeReuseResponse) GetEffectiveBuildRef() string {
	if x != nil {
		return x.EffectiveBuildRef
	}
	return ""
}

func (x *EvaluateRuntimeReuseResponse) GetFingerprintHash() string {
	if x != nil {
		return x.FingerprintHash
	}
	return ""
}

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

type ClaimNextInteractionDispatchRequest struct {
	state                        protoimpl.MessageState `protogen:"open.v1"`
	PendingAttemptTimeoutSeconds int32                  `protobuf:"varint,1,opt,name=pending_attempt_timeout_seconds,json=pendingAttemptTimeoutSeconds,proto3" json:"pending_attempt_timeout_seconds,omitempty"`
	unknownFields                protoimpl.UnknownFields
	sizeCache                    protoimpl.SizeCache
}

func (x *ClaimNextInteractionDispatchRequest) Reset() {
	*x = ClaimNextInteractionDispatchRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[89]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ClaimNextInteractionDispatchRequest) ProtoMessage() {}

func (x *ClaimNextInteractionDispatchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[89]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ClaimNextInteractionDispatchRequest.ProtoReflect.Descriptor instead.
func (*ClaimNextInteractionDispatchRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{89}
}

func (x *ClaimNextInteractionDispatchRequest) GetPendingAttemptTimeoutSeconds() int32 {
	if x != nil {
		return x.PendingAttemptTimeoutSeconds
	}
	return 0
}

type ClaimNextInteractionDispatchResponse struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Found               bool                   `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"`
	CorrelationId       string                 `protobuf:"bytes,2,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	InteractionId       string                 `protobuf:"bytes,3,opt,name=interaction_id,json=interactionId,proto3" json:"interaction_id,omitempty"`
	RunId               string                 `protobuf:"bytes,4,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	InteractionKind     string                 `protobuf:"bytes,5,opt,name=interaction_kind,json=interactionKind,proto3" json:"interaction_kind,omitempty"`
	RecipientProvider   string                 `protobuf:"bytes,6,opt,name=recipient_provider,json=recipientProvider,proto3" json:"recipient_provider,omitempty"`
	RecipientRef        string                 `protobuf:"bytes,7,opt,name=recipient_ref,json=recipientRef,proto3" json:"recipient_ref,omitempty"`
	ResponseDeadlineAt  *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=response_deadline_at,json=responseDeadlineAt,proto3" json:"response_deadline_at,omitempty"`
	AttemptId           int64                  `protobuf:"varint,9,opt,name=attempt_id,json=attemptId,proto3" json:"attempt_id,omitempty"`
	AttemptNo           int32                  `protobuf:"varint,10,opt,name=attempt_no,json=attemptNo,proto3" json:"attempt_no,omitempty"`
	DeliveryId          string                 `protobuf:"bytes,11,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"`
	AdapterKind         string                 `protobuf:"bytes,12,opt,name=adapter_kind,json=adapterKind,proto3" json:"adapter_kind,omitempty"`
	RequestEnvelopeJson []byte                 `protobuf:"bytes,13,opt,name=request_envelope_json,json=requestEnvelopeJson,proto3" json:"request_envelope_json,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *ClaimNextInteractionDispatchResponse) Reset() {
	*x = ClaimNextInteractionDispatchResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[90]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ClaimNextInteractionDispatchResponse) ProtoMessage() {}

func (x *ClaimNextInteractionDispatchResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[90]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ClaimNextInteractionDispatchResponse.ProtoReflect.Descriptor instead.
func (*ClaimNextInteractionDispatchResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{90}
}

func (x *ClaimNextInteractionDispatchResponse) GetFound() bool {
	if x != nil {
		return x.Found
	}
	return false
}

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

func (x *ClaimNextInteractionDispatchResponse) GetInteractionId() string {
	if x != nil {
		return x.InteractionId
	}
	return ""
}

func (x *ClaimNextInteractionDispatchResponse) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *ClaimNextInteractionDispatchResponse) GetInteractionKind() string {
	if x != nil {
		return x.InteractionKind
	}
	return ""
}

func (x *ClaimNextInteractionDispatchResponse) GetRecipientProvider() string {
	if x != nil {
		return x.RecipientProvider
	}
	return ""
}

func (x *ClaimNextInteractionDispatchResponse) GetRecipientRef() string {
	if x != nil {
		return x.RecipientRef
	}
	return ""
}

func (x *ClaimNextInteractionDispatchResponse) GetResponseDeadlineAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ResponseDeadlineAt
	}
	return nil
}

func (x *ClaimNextInteractionDispatchResponse) GetAttemptId() int64 {
	if x != nil {
		return x.AttemptId
	}
	return 0
}

func (x *ClaimNextInteractionDispatchResponse) GetAttemptNo() int32 {
	if x != nil {
		return x.AttemptNo
	}
	return 0
}

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

func (x *ClaimNextInteractionDispatchResponse) GetAdapterKind() string {
	if x != nil {
		return x.AdapterKind
	}
	return ""
}

func (x *ClaimNextInteractionDispatchResponse) GetRequestEnvelopeJson() []byte {
	if x != nil {
		return x.RequestEnvelopeJson
	}
	return nil
}

type CompleteInteractionDispatchRequest struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	InteractionId          string                 `protobuf:"bytes,1,opt,name=interaction_id,json=interactionId,proto3" json:"interaction_id,omitempty"`
	DeliveryId             string                 `protobuf:"bytes,2,opt,name=delivery_id,json=deliveryId,proto3" json:"delivery_id,omitempty"`
	AdapterKind            string                 `protobuf:"bytes,3,opt,name=adapter_kind,json=adapterKind,proto3" json:"adapter_kind,omitempty"`
	Status                 string                 `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	RequestEnvelopeJson    []byte                 `protobuf:"bytes,5,opt,name=request_envelope_json,json=requestEnvelopeJson,proto3" json:"request_envelope_json,omitempty"`
	AckPayloadJson         []byte                 `protobuf:"bytes,6,opt,name=ack_payload_json,json=ackPayloadJson,proto3" json:"ack_payload_json,omitempty"`
	AdapterDeliveryId      *string                `protobuf:"bytes,7,opt,name=adapter_delivery_id,json=adapterDeliveryId,proto3,oneof" json:"adapter_delivery_id,omitempty"`
	Retryable              bool                   `protobuf:"varint,8,opt,name=retryable,proto3" json:"retryable,omitempty"`
	LastErrorCode          *string                `protobuf:"bytes,9,opt,name=last_error_code,json=lastErrorCode,proto3,oneof" json:"last_error_code,omitempty"`
	NextRetryAt            *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=next_retry_at,json=nextRetryAt,proto3" json:"next_retry_at,omitempty"`
	FinishedAt             *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"`
	ProviderMessageRefJson []byte                 `protobuf:"bytes,12,opt,name=provider_message_ref_json,json=providerMessageRefJson,proto3" json:"provider_message_ref_json,omitempty"`
	EditCapability         *string                `protobuf:"bytes,13,opt,name=edit_capability,json=editCapability,proto3,oneof" json:"edit_capability,omitempty"`
	CallbackTokenExpiresAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=callback_token_expires_at,json=callbackTokenExpiresAt,proto3" json:"callback_token_expires_at,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *CompleteInteractionDispatchRequest) Reset() {
	*x = CompleteInteractionDispatchRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[91]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CompleteInteractionDispatchRequest) ProtoMessage() {}

func (x *CompleteInteractionDispatchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[91]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CompleteInteractionDispatchRequest.ProtoReflect.Descriptor instead.
func (*CompleteInteractionDispatchRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{91}
}

func (x *CompleteInteractionDispatchRequest) GetInteractionId() string {
	if x != nil {
		return x.InteractionId
	}
	return ""
}

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

func (x *CompleteInteractionDispatchRequest) GetAdapterKind() string {
	if x != nil {
		return x.AdapterKind
	}
	return ""
}

func (x *CompleteInteractionDispatchRequest) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *CompleteInteractionDispatchRequest) GetRequestEnvelopeJson() []byte {
	if x != nil {
		return x.RequestEnvelopeJson
	}
	return nil
}

func (x *CompleteInteractionDispatchRequest) GetAckPayloadJson() []byte {
	if x != nil {
		return x.AckPayloadJson
	}
	return nil
}

func (x *CompleteInteractionDispatchRequest) GetAdapterDeliveryId() string {
	if x != nil && x.AdapterDeliveryId != nil {
		return *x.AdapterDeliveryId
	}
	return ""
}

func (x *CompleteInteractionDispatchRequest) GetRetryable() bool {
	if x != nil {
		return x.Retryable
	}
	return false
}

func (x *CompleteInteractionDispatchRequest) GetLastErrorCode() string {
	if x != nil && x.LastErrorCode != nil {
		return *x.LastErrorCode
	}
	return ""
}

func (x *CompleteInteractionDispatchRequest) GetNextRetryAt() *timestamppb.Timestamp {
	if x != nil {
		return x.NextRetryAt
	}
	return nil
}

func (x *CompleteInteractionDispatchRequest) GetFinishedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.FinishedAt
	}
	return nil
}

func (x *CompleteInteractionDispatchRequest) GetProviderMessageRefJson() []byte {
	if x != nil {
		return x.ProviderMessageRefJson
	}
	return nil
}

func (x *CompleteInteractionDispatchRequest) GetEditCapability() string {
	if x != nil && x.EditCapability != nil {
		return *x.EditCapability
	}
	return ""
}

func (x *CompleteInteractionDispatchRequest) GetCallbackTokenExpiresAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CallbackTokenExpiresAt
	}
	return nil
}

type CompleteInteractionDispatchResponse struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	InteractionId       string                 `protobuf:"bytes,1,opt,name=interaction_id,json=interactionId,proto3" json:"interaction_id,omitempty"`
	InteractionState    string                 `protobuf:"bytes,2,opt,name=interaction_state,json=interactionState,proto3" json:"interaction_state,omitempty"`
	ResumeRequired      bool                   `protobuf:"varint,3,opt,name=resume_required,json=resumeRequired,proto3" json:"resume_required,omitempty"`
	RunId               string                 `protobuf:"bytes,4,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	ResumeCorrelationId string                 `protobuf:"bytes,5,opt,name=resume_correlation_id,json=resumeCorrelationId,proto3" json:"resume_correlation_id,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *CompleteInteractionDispatchResponse) Reset() {
	*x = CompleteInteractionDispatchResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[92]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CompleteInteractionDispatchResponse) ProtoMessage() {}

func (x *CompleteInteractionDispatchResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[92]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CompleteInteractionDispatchResponse.ProtoReflect.Descriptor instead.
func (*CompleteInteractionDispatchResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{92}
}

func (x *CompleteInteractionDispatchResponse) GetInteractionId() string {
	if x != nil {
		return x.InteractionId
	}
	return ""
}

func (x *CompleteInteractionDispatchResponse) GetInteractionState() string {
	if x != nil {
		return x.InteractionState
	}
	return ""
}

func (x *CompleteInteractionDispatchResponse) GetResumeRequired() bool {
	if x != nil {
		return x.ResumeRequired
	}
	return false
}

func (x *CompleteInteractionDispatchResponse) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *CompleteInteractionDispatchResponse) GetResumeCorrelationId() string {
	if x != nil {
		return x.ResumeCorrelationId
	}
	return ""
}

type ExpireNextInteractionRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ExpireNextInteractionRequest) Reset() {
	*x = ExpireNextInteractionRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[93]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ExpireNextInteractionRequest) ProtoMessage() {}

func (x *ExpireNextInteractionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[93]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ExpireNextInteractionRequest.ProtoReflect.Descriptor instead.
func (*ExpireNextInteractionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{93}
}

type ExpireNextInteractionResponse struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Found               bool                   `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"`
	InteractionId       string                 `protobuf:"bytes,2,opt,name=interaction_id,json=interactionId,proto3" json:"interaction_id,omitempty"`
	InteractionState    string                 `protobuf:"bytes,3,opt,name=interaction_state,json=interactionState,proto3" json:"interaction_state,omitempty"`
	ResumeRequired      bool                   `protobuf:"varint,4,opt,name=resume_required,json=resumeRequired,proto3" json:"resume_required,omitempty"`
	RunId               string                 `protobuf:"bytes,5,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	ResumeCorrelationId string                 `protobuf:"bytes,6,opt,name=resume_correlation_id,json=resumeCorrelationId,proto3" json:"resume_correlation_id,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *ExpireNextInteractionResponse) Reset() {
	*x = ExpireNextInteractionResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[94]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ExpireNextInteractionResponse) ProtoMessage() {}

func (x *ExpireNextInteractionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[94]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ExpireNextInteractionResponse.ProtoReflect.Descriptor instead.
func (*ExpireNextInteractionResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{94}
}

func (x *ExpireNextInteractionResponse) GetFound() bool {
	if x != nil {
		return x.Found
	}
	return false
}

func (x *ExpireNextInteractionResponse) GetInteractionId() string {
	if x != nil {
		return x.InteractionId
	}
	return ""
}

func (x *ExpireNextInteractionResponse) GetInteractionState() string {
	if x != nil {
		return x.InteractionState
	}
	return ""
}

func (x *ExpireNextInteractionResponse) GetResumeRequired() bool {
	if x != nil {
		return x.ResumeRequired
	}
	return false
}

func (x *ExpireNextInteractionResponse) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *ExpireNextInteractionResponse) GetResumeCorrelationId() string {
	if x != nil {
		return x.ResumeCorrelationId
	}
	return ""
}

type ProcessNextGitHubRateLimitWaitRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	WorkerId      string                 `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProcessNextGitHubRateLimitWaitRequest) Reset() {
	*x = ProcessNextGitHubRateLimitWaitRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[95]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ProcessNextGitHubRateLimitWaitRequest) ProtoMessage() {}

func (x *ProcessNextGitHubRateLimitWaitRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[95]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProcessNextGitHubRateLimitWaitRequest.ProtoReflect.Descriptor instead.
func (*ProcessNextGitHubRateLimitWaitRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{95}
}

func (x *ProcessNextGitHubRateLimitWaitRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

type ProcessNextGitHubRateLimitWaitResponse struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	Found                 bool                   `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"`
	WaitId                string                 `protobuf:"bytes,2,opt,name=wait_id,json=waitId,proto3" json:"wait_id,omitempty"`
	RunId                 string                 `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	State                 string                 `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"`
	ResolutionKind        string                 `protobuf:"bytes,5,opt,name=resolution_kind,json=resolutionKind,proto3" json:"resolution_kind,omitempty"`
	AttemptNo             int32                  `protobuf:"varint,6,opt,name=attempt_no,json=attemptNo,proto3" json:"attempt_no,omitempty"`
	ManualActionKind      string                 `protobuf:"bytes,7,opt,name=manual_action_kind,json=manualActionKind,proto3" json:"manual_action_kind,omitempty"`
	ResumeNotBefore       *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=resume_not_before,json=resumeNotBefore,proto3" json:"resume_not_before,omitempty"`
	RequeuedCorrelationId string                 `protobuf:"bytes,9,opt,name=requeued_correlation_id,json=requeuedCorrelationId,proto3" json:"requeued_correlation_id,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *ProcessNextGitHubRateLimitWaitResponse) Reset() {
	*x = ProcessNextGitHubRateLimitWaitResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[96]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ProcessNextGitHubRateLimitWaitResponse) ProtoMessage() {}

func (x *ProcessNextGitHubRateLimitWaitResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[96]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProcessNextGitHubRateLimitWaitResponse.ProtoReflect.Descriptor instead.
func (*ProcessNextGitHubRateLimitWaitResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{96}
}

func (x *ProcessNextGitHubRateLimitWaitResponse) GetFound() bool {
	if x != nil {
		return x.Found
	}
	return false
}

func (x *ProcessNextGitHubRateLimitWaitResponse) GetWaitId() string {
	if x != nil {
		return x.WaitId
	}
	return ""
}

func (x *ProcessNextGitHubRateLimitWaitResponse) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *ProcessNextGitHubRateLimitWaitResponse) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

func (x *ProcessNextGitHubRateLimitWaitResponse) GetResolutionKind() string {
	if x != nil {
		return x.ResolutionKind
	}
	return ""
}

func (x *ProcessNextGitHubRateLimitWaitResponse) GetAttemptNo() int32 {
	if x != nil {
		return x.AttemptNo
	}
	return 0
}

func (x *ProcessNextGitHubRateLimitWaitResponse) GetManualActionKind() string {
	if x != nil {
		return x.ManualActionKind
	}
	return ""
}

func (x *ProcessNextGitHubRateLimitWaitResponse) GetResumeNotBefore() *timestamppb.Timestamp {
	if x != nil {
		return x.ResumeNotBefore
	}
	return nil
}

func (x *ProcessNextGitHubRateLimitWaitResponse) GetRequeuedCorrelationId() string {
	if x != nil {
		return x.RequeuedCorrelationId
	}
	return ""
}

type GitHubRateLimitHeaders struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	RateLimitLimit     *int32                 `protobuf:"varint,1,opt,name=rate_limit_limit,json=rateLimitLimit,proto3,oneof" json:"rate_limit_limit,omitempty"`
	RateLimitRemaining *int32                 `protobuf:"varint,2,opt,name=rate_limit_remaining,json=rateLimitRemaining,proto3,oneof" json:"rate_limit_remaining,omitempty"`
	RateLimitUsed      *int32                 `protobuf:"varint,3,opt,name=rate_limit_used,json=rateLimitUsed,proto3,oneof" json:"rate_limit_used,omitempty"`
	RateLimitResetAt   *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=rate_limit_reset_at,json=rateLimitResetAt,proto3" json:"rate_limit_reset_at,omitempty"`
	RateLimitResource  *string                `protobuf:"bytes,5,opt,name=rate_limit_resource,json=rateLimitResource,proto3,oneof" json:"rate_limit_resource,omitempty"`
	RetryAfterSeconds  *int32                 `protobuf:"varint,6,opt,name=retry_after_seconds,json=retryAfterSeconds,proto3,oneof" json:"retry_after_seconds,omitempty"`
	GithubRequestId    *string                `protobuf:"bytes,7,opt,name=github_request_id,json=githubRequestId,proto3,oneof" json:"github_request_id,omitempty"`
	DocumentationUrl   *string                `protobuf:"bytes,8,opt,name=documentation_url,json=documentationUrl,proto3,oneof" json:"documentation_url,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *GitHubRateLimitHeaders) Reset() {
	*x = GitHubRateLimitHeaders{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[97]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GitHubRateLimitHeaders) ProtoMessage() {}

func (x *GitHubRateLimitHeaders) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[97]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GitHubRateLimitHeaders.ProtoReflect.Descriptor instead.
func (*GitHubRateLimitHeaders) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{97}
}

func (x *GitHubRateLimitHeaders) GetRateLimitLimit() int32 {
	if x != nil && x.RateLimitLimit != nil {
		return *x.RateLimitLimit
	}
	return 0
}

func (x *GitHubRateLimitHeaders) GetRateLimitRemaining() int32 {
	if x != nil && x.RateLimitRemaining != nil {
		return *x.RateLimitRemaining
	}
	return 0
}

func (x *GitHubRateLimitHeaders) GetRateLimitUsed() int32 {
	if x != nil && x.RateLimitUsed != nil {
		return *x.RateLimitUsed
	}
	return 0
}

func (x *GitHubRateLimitHeaders) GetRateLimitResetAt() *timestamppb.Timestamp {
	if x != nil {
		return x.RateLimitResetAt
	}
	return nil
}

func (x *GitHubRateLimitHeaders) GetRateLimitResource() string {
	if x != nil && x.RateLimitResource != nil {
		return *x.RateLimitResource
	}
	return ""
}

func (x *GitHubRateLimitHeaders) GetRetryAfterSeconds() int32 {
	if x != nil && x.RetryAfterSeconds != nil {
		return *x.RetryAfterSeconds
	}
	return 0
}

func (x *GitHubRateLimitHeaders) GetGithubRequestId() string {
	if x != nil && x.GithubRequestId != nil {
		return *x.GithubRequestId
	}
	return ""
}

func (x *GitHubRateLimitHeaders) GetDocumentationUrl() string {
	if x != nil && x.DocumentationUrl != nil {
		return *x.DocumentationUrl
	}
	return ""
}

type ReportGitHubRateLimitSignalRequest struct {
	state                  protoimpl.MessageState  `protogen:"open.v1"`
	RunId                  string                  `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	SignalId               string                  `protobuf:"bytes,2,opt,name=signal_id,json=signalId,proto3" json:"signal_id,omitempty"`
	CorrelationId          string                  `protobuf:"bytes,3,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	ContourKind            string                  `protobuf:"bytes,4,opt,name=contour_kind,json=contourKind,proto3" json:"contour_kind,omitempty"`
	SignalOrigin           string                  `protobuf:"bytes,5,opt,name=signal_origin,json=signalOrigin,proto3" json:"signal_origin,omitempty"`
	OperationClass         string                  `protobuf:"bytes,6,opt,name=operation_class,json=operationClass,proto3" json:"operation_class,omitempty"`
	ProviderStatusCode     int32                   `protobuf:"varint,7,opt,name=provider_status_code,json=providerStatusCode,proto3" json:"provider_status_code,omitempty"`
	OccurredAt             *timestamppb.Timestamp  `protobuf:"bytes,8,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"`
	RequestFingerprint     *string                 `protobuf:"bytes,9,opt,name=request_fingerprint,json=requestFingerprint,proto3,oneof" json:"request_fingerprint,omitempty"`
	StderrExcerpt          *string                 `protobuf:"bytes,10,opt,name=stderr_excerpt,json=stderrExcerpt,proto3,oneof" json:"stderr_excerpt,omitempty"`
	MessageExcerpt         *string                 `protobuf:"bytes,11,opt,name=message_excerpt,json=messageExcerpt,proto3,oneof" json:"message_excerpt,omitempty"`
	GithubHeaders          *GitHubRateLimitHeaders `protobuf:"bytes,12,opt,name=github_headers,json=githubHeaders,proto3" json:"github_headers,omitempty"`
	SessionSnapshotVersion *int64                  `protobuf:"varint,13,opt,name=session_snapshot_version,json=sessionSnapshotVersion,proto3,oneof" json:"session_snapshot_version,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *ReportGitHubRateLimitSignalRequest) Reset() {
	*x = ReportGitHubRateLimitSignalRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[98]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ReportGitHubRateLimitSignalRequest) ProtoMessage() {}

func (x *ReportGitHubRateLimitSignalRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[98]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportGitHubRateLimitSignalRequest.ProtoReflect.Descriptor instead.
func (*ReportGitHubRateLimitSignalRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{98}
}

func (x *ReportGitHubRateLimitSignalRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *ReportGitHubRateLimitSignalRequest) GetSignalId() string {
	if x != nil {
		return x.SignalId
	}
	return ""
}

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

func (x *ReportGitHubRateLimitSignalRequest) GetContourKind() string {
	if x != nil {
		return x.ContourKind
	}
	return ""
}

func (x *ReportGitHubRateLimitSignalRequest) GetSignalOrigin() string {
	if x != nil {
		return x.SignalOrigin
	}
	return ""
}

func (x *ReportGitHubRateLimitSignalRequest) GetOperationClass() string {
	if x != nil {
		return x.OperationClass
	}
	return ""
}

func (x *ReportGitHubRateLimitSignalRequest) GetProviderStatusCode() int32 {
	if x != nil {
		return x.ProviderStatusCode
	}
	return 0
}

func (x *ReportGitHubRateLimitSignalRequest) GetOccurredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.OccurredAt
	}
	return nil
}

func (x *ReportGitHubRateLimitSignalRequest) GetRequestFingerprint() string {
	if x != nil && x.RequestFingerprint != nil {
		return *x.RequestFingerprint
	}
	return ""
}

func (x *ReportGitHubRateLimitSignalRequest) GetStderrExcerpt() string {
	if x != nil && x.StderrExcerpt != nil {
		return *x.StderrExcerpt
	}
	return ""
}

func (x *ReportGitHubRateLimitSignalRequest) GetMessageExcerpt() string {
	if x != nil && x.MessageExcerpt != nil {
		return *x.MessageExcerpt
	}
	return ""
}

func (x *ReportGitHubRateLimitSignalRequest) GetGithubHeaders() *GitHubRateLimitHeaders {
	if x != nil {
		return x.GithubHeaders
	}
	return nil
}

func (x *ReportGitHubRateLimitSignalRequest) GetSessionSnapshotVersion() int64 {
	if x != nil && x.SessionSnapshotVersion != nil {
		return *x.SessionSnapshotVersion
	}
	return 0
}

type ReportGitHubRateLimitSignalResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	WaitId          string                 `protobuf:"bytes,1,opt,name=wait_id,json=waitId,proto3" json:"wait_id,omitempty"`
	WaitState       string                 `protobuf:"bytes,2,opt,name=wait_state,json=waitState,proto3" json:"wait_state,omitempty"`
	WaitReason      string                 `protobuf:"bytes,3,opt,name=wait_reason,json=waitReason,proto3" json:"wait_reason,omitempty"`
	NextStepKind    string                 `protobuf:"bytes,4,opt,name=next_step_kind,json=nextStepKind,proto3" json:"next_step_kind,omitempty"`
	RunnerAction    string                 `protobuf:"bytes,5,opt,name=runner_action,json=runnerAction,proto3" json:"runner_action,omitempty"`
	ResumeNotBefore *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=resume_not_before,json=resumeNotBefore,proto3" json:"resume_not_before,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ReportGitHubRateLimitSignalResponse) Reset() {
	*x = ReportGitHubRateLimitSignalResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[99]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ReportGitHubRateLimitSignalResponse) ProtoMessage() {}

func (x *ReportGitHubRateLimitSignalResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[99]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportGitHubRateLimitSignalResponse.ProtoReflect.Descriptor instead.
func (*ReportGitHubRateLimitSignalResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{99}
}

func (x *ReportGitHubRateLimitSignalResponse) GetWaitId() string {
	if x != nil {
		return x.WaitId
	}
	return ""
}

func (x *ReportGitHubRateLimitSignalResponse) GetWaitState() string {
	if x != nil {
		return x.WaitState
	}
	return ""
}

func (x *ReportGitHubRateLimitSignalResponse) GetWaitReason() string {
	if x != nil {
		return x.WaitReason
	}
	return ""
}

func (x *ReportGitHubRateLimitSignalResponse) GetNextStepKind() string {
	if x != nil {
		return x.NextStepKind
	}
	return ""
}

func (x *ReportGitHubRateLimitSignalResponse) GetRunnerAction() string {
	if x != nil {
		return x.RunnerAction
	}
	return ""
}

func (x *ReportGitHubRateLimitSignalResponse) GetResumeNotBefore() *timestamppb.Timestamp {
	if x != nil {
		return x.ResumeNotBefore
	}
	return nil
}

type ChangeGovernanceScopeHint struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ContextKey    string                 `protobuf:"bytes,1,opt,name=context_key,json=contextKey,proto3" json:"context_key,omitempty"`
	SurfaceKind   string                 `protobuf:"bytes,2,opt,name=surface_kind,json=surfaceKind,proto3" json:"surface_kind,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChangeGovernanceScopeHint) Reset() {
	*x = ChangeGovernanceScopeHint{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[100]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChangeGovernanceScopeHint) ProtoMessage() {}

func (x *ChangeGovernanceScopeHint) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[100]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ChangeGovernanceScopeHint.ProtoReflect.Descriptor instead.
func (*ChangeGovernanceScopeHint) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{100}
}

func (x *ChangeGovernanceScopeHint) GetContextKey() string {
	if x != nil {
		return x.ContextKey
	}
	return ""
}

func (x *ChangeGovernanceScopeHint) GetSurfaceKind() string {
	if x != nil {
		return x.SurfaceKind
	}
	return ""
}

type ChangeGovernanceVerificationTarget struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	TargetKind    string                 `protobuf:"bytes,1,opt,name=target_kind,json=targetKind,proto3" json:"target_kind,omitempty"`
	TargetRef     string                 `protobuf:"bytes,2,opt,name=target_ref,json=targetRef,proto3" json:"target_ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChangeGovernanceVerificationTarget) Reset() {
	*x = ChangeGovernanceVerificationTarget{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[101]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChangeGovernanceVerificationTarget) ProtoMessage() {}

func (x *ChangeGovernanceVerificationTarget) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[101]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ChangeGovernanceVerificationTarget.ProtoReflect.Descriptor instead.
func (*ChangeGovernanceVerificationTarget) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{101}
}

func (x *ChangeGovernanceVerificationTarget) GetTargetKind() string {
	if x != nil {
		return x.TargetKind
	}
	return ""
}

func (x *ChangeGovernanceVerificationTarget) GetTargetRef() string {
	if x != nil {
		return x.TargetRef
	}
	return ""
}

type ChangeGovernanceWaveDraft struct {
	state               protoimpl.MessageState                `protogen:"open.v1"`
	WaveKey             string                                `protobuf:"bytes,1,opt,name=wave_key,json=waveKey,proto3" json:"wave_key,omitempty"`
	PublishOrder        int32                                 `protobuf:"varint,2,opt,name=publish_order,json=publishOrder,proto3" json:"publish_order,omitempty"`
	DominantIntent      string                                `protobuf:"bytes,3,opt,name=dominant_intent,json=dominantIntent,proto3" json:"dominant_intent,omitempty"`
	BoundedScopeKind    string                                `protobuf:"bytes,4,opt,name=bounded_scope_kind,json=boundedScopeKind,proto3" json:"bounded_scope_kind,omitempty"`
	Summary             string                                `protobuf:"bytes,5,opt,name=summary,proto3" json:"summary,omitempty"`
	VerificationTargets []*ChangeGovernanceVerificationTarget `protobuf:"bytes,6,rep,name=verification_targets,json=verificationTargets,proto3" json:"verification_targets,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *ChangeGovernanceWaveDraft) Reset() {
	*x = ChangeGovernanceWaveDraft{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[102]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChangeGovernanceWaveDraft) ProtoMessage() {}

func (x *ChangeGovernanceWaveDraft) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[102]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ChangeGovernanceWaveDraft.ProtoReflect.Descriptor instead.
func (*ChangeGovernanceWaveDraft) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{102}
}

func (x *ChangeGovernanceWaveDraft) GetWaveKey() string {
	if x != nil {
		return x.WaveKey
	}
	return ""
}

func (x *ChangeGovernanceWaveDraft) GetPublishOrder() int32 {
	if x != nil {
		return x.PublishOrder
	}
	return 0
}

func (x *ChangeGovernanceWaveDraft) GetDominantIntent() string {
	if x != nil {
		return x.DominantIntent
	}
	return ""
}

func (x *ChangeGovernanceWaveDraft) GetBoundedScopeKind() string {
	if x != nil {
		return x.BoundedScopeKind
	}
	return ""
}

func (x *ChangeGovernanceWaveDraft) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *ChangeGovernanceWaveDraft) GetVerificationTargets() []*ChangeGovernanceVerificationTarget {
	if x != nil {
		return x.VerificationTargets
	}
	return nil
}

type ChangeGovernanceArtifactLinkSeed struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ArtifactKind  string                 `protobuf:"bytes,1,opt,name=artifact_kind,json=artifactKind,proto3" json:"artifact_kind,omitempty"`
	ArtifactRef   string                 `protobuf:"bytes,2,opt,name=artifact_ref,json=artifactRef,proto3" json:"artifact_ref,omitempty"`
	RelationKind  string                 `protobuf:"bytes,3,opt,name=relation_kind,json=relationKind,proto3" json:"relation_kind,omitempty"`
	DisplayLabel  string                 `protobuf:"bytes,4,opt,name=display_label,json=displayLabel,proto3" json:"display_label,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChangeGovernanceArtifactLinkSeed) Reset() {
	*x = ChangeGovernanceArtifactLinkSeed{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[103]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChangeGovernanceArtifactLinkSeed) ProtoMessage() {}

func (x *ChangeGovernanceArtifactLinkSeed) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[103]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ChangeGovernanceArtifactLinkSeed.ProtoReflect.Descriptor instead.
func (*ChangeGovernanceArtifactLinkSeed) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{103}
}

func (x *ChangeGovernanceArtifactLinkSeed) GetArtifactKind() string {
	if x != nil {
		return x.ArtifactKind
	}
	return ""
}

func (x *ChangeGovernanceArtifactLinkSeed) GetArtifactRef() string {
	if x != nil {
		return x.ArtifactRef
	}
	return ""
}

func (x *ChangeGovernanceArtifactLinkSeed) GetRelationKind() string {
	if x != nil {
		return x.RelationKind
	}
	return ""
}

func (x *ChangeGovernanceArtifactLinkSeed) GetDisplayLabel() string {
	if x != nil {
		return x.DisplayLabel
	}
	return ""
}

type ReportChangeGovernanceDraftSignalRequest struct {
	state                protoimpl.MessageState       `protogen:"open.v1"`
	RunId                string                       `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	SignalId             string                       `protobuf:"bytes,2,opt,name=signal_id,json=signalId,proto3" json:"signal_id,omitempty"`
	CorrelationId        string                       `protobuf:"bytes,3,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	ProjectId            string                       `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	RepositoryFullName   string                       `protobuf:"bytes,5,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	IssueNumber          int32                        `protobuf:"varint,6,opt,name=issue_number,json=issueNumber,proto3" json:"issue_number,omitempty"`
	PrNumber             *wrapperspb.Int32Value       `protobuf:"bytes,7,opt,name=pr_number,json=prNumber,proto3" json:"pr_number,omitempty"`
	BranchName           string                       `protobuf:"bytes,8,opt,name=branch_name,json=branchName,proto3" json:"branch_name,omitempty"`
	DraftRef             string                       `protobuf:"bytes,9,opt,name=draft_ref,json=draftRef,proto3" json:"draft_ref,omitempty"`
	DraftKind            string                       `protobuf:"bytes,10,opt,name=draft_kind,json=draftKind,proto3" json:"draft_kind,omitempty"`
	ChangeScopeHints     []*ChangeGovernanceScopeHint `protobuf:"bytes,11,rep,name=change_scope_hints,json=changeScopeHints,proto3" json:"change_scope_hints,omitempty"`
	CandidateRiskDrivers []string                     `protobuf:"bytes,12,rep,name=candidate_risk_drivers,json=candidateRiskDrivers,proto3" json:"candidate_risk_drivers,omitempty"`
	DraftChecksum        *string                      `protobuf:"bytes,13,opt,name=draft_checksum,json=draftChecksum,proto3,oneof" json:"draft_checksum,omitempty"`
	OccurredAt           *timestamppb.Timestamp       `protobuf:"bytes,14,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *ReportChangeGovernanceDraftSignalRequest) Reset() {
	*x = ReportChangeGovernanceDraftSignalRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[104]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ReportChangeGovernanceDraftSignalRequest) ProtoMessage() {}

func (x *ReportChangeGovernanceDraftSignalRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[104]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportChangeGovernanceDraftSignalRequest.ProtoReflect.Descriptor instead.
func (*ReportChangeGovernanceDraftSignalRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{104}
}

func (x *ReportChangeGovernanceDraftSignalRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *ReportChangeGovernanceDraftSignalRequest) GetSignalId() string {
	if x != nil {
		return x.SignalId
	}
	return ""
}

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

func (x *ReportChangeGovernanceDraftSignalRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *ReportChangeGovernanceDraftSignalRequest) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *ReportChangeGovernanceDraftSignalRequest) GetIssueNumber() int32 {
	if x != nil {
		return x.IssueNumber
	}
	return 0
}

func (x *ReportChangeGovernanceDraftSignalRequest) GetPrNumber() *wrapperspb.Int32Value {
	if x != nil {
		return x.PrNumber
	}
	return nil
}

func (x *ReportChangeGovernanceDraftSignalRequest) GetBranchName() string {
	if x != nil {
		return x.BranchName
	}
	return ""
}

func (x *ReportChangeGovernanceDraftSignalRequest) GetDraftRef() string {
	if x != nil {
		return x.DraftRef
	}
	return ""
}

func (x *ReportChangeGovernanceDraftSignalRequest) GetDraftKind() string {
	if x != nil {
		return x.DraftKind
	}
	return ""
}

func (x *ReportChangeGovernanceDraftSignalRequest) GetChangeScopeHints() []*ChangeGovernanceScopeHint {
	if x != nil {
		return x.ChangeScopeHints
	}
	return nil
}

func (x *ReportChangeGovernanceDraftSignalRequest) GetCandidateRiskDrivers() []string {
	if x != nil {
		return x.CandidateRiskDrivers
	}
	return nil
}

func (x *ReportChangeGovernanceDraftSignalRequest) GetDraftChecksum() string {
	if x != nil && x.DraftChecksum != nil {
		return *x.DraftChecksum
	}
	return ""
}

func (x *ReportChangeGovernanceDraftSignalRequest) GetOccurredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.OccurredAt
	}
	return nil
}

type ReportChangeGovernanceDraftSignalResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PackageId     string                 `protobuf:"bytes,1,opt,name=package_id,json=packageId,proto3" json:"package_id,omitempty"`
	DraftState    string                 `protobuf:"bytes,2,opt,name=draft_state,json=draftState,proto3" json:"draft_state,omitempty"`
	NextStepKind  string                 `protobuf:"bytes,3,opt,name=next_step_kind,json=nextStepKind,proto3" json:"next_step_kind,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReportChangeGovernanceDraftSignalResponse) Reset() {
	*x = ReportChangeGovernanceDraftSignalResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[105]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ReportChangeGovernanceDraftSignalResponse) ProtoMessage() {}

func (x *ReportChangeGovernanceDraftSignalResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[105]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportChangeGovernanceDraftSignalResponse.ProtoReflect.Descriptor instead.
func (*ReportChangeGovernanceDraftSignalResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{105}
}

func (x *ReportChangeGovernanceDraftSignalResponse) GetPackageId() string {
	if x != nil {
		return x.PackageId
	}
	return ""
}

func (x *ReportChangeGovernanceDraftSignalResponse) GetDraftState() string {
	if x != nil {
		return x.DraftState
	}
	return ""
}

func (x *ReportChangeGovernanceDraftSignalResponse) GetNextStepKind() string {
	if x != nil {
		return x.NextStepKind
	}
	return ""
}

type PublishChangeGovernanceWaveMapRequest struct {
	state         protoimpl.MessageState       `protogen:"open.v1"`
	RunId         string                       `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	PackageId     string                       `protobuf:"bytes,2,opt,name=package_id,json=packageId,proto3" json:"package_id,omitempty"`
	WaveMapId     string                       `protobuf:"bytes,3,opt,name=wave_map_id,json=waveMapId,proto3" json:"wave_map_id,omitempty"`
	CorrelationId string                       `protobuf:"bytes,4,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	Waves         []*ChangeGovernanceWaveDraft `protobuf:"bytes,5,rep,name=waves,proto3" json:"waves,omitempty"`
	PublishedAt   *timestamppb.Timestamp       `protobuf:"bytes,6,opt,name=published_at,json=publishedAt,proto3" json:"published_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PublishChangeGovernanceWaveMapRequest) Reset() {
	*x = PublishChangeGovernanceWaveMapRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[106]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PublishChangeGovernanceWaveMapRequest) ProtoMessage() {}

func (x *PublishChangeGovernanceWaveMapRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[106]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PublishChangeGovernanceWaveMapRequest.ProtoReflect.Descriptor instead.
func (*PublishChangeGovernanceWaveMapRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{106}
}

func (x *PublishChangeGovernanceWaveMapRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *PublishChangeGovernanceWaveMapRequest) GetPackageId() string {
	if x != nil {
		return x.PackageId
	}
	return ""
}

func (x *PublishChangeGovernanceWaveMapRequest) GetWaveMapId() string {
	if x != nil {
		return x.WaveMapId
	}
	return ""
}

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

func (x *PublishChangeGovernanceWaveMapRequest) GetWaves() []*ChangeGovernanceWaveDraft {
	if x != nil {
		return x.Waves
	}
	return nil
}

func (x *PublishChangeGovernanceWaveMapRequest) GetPublishedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.PublishedAt
	}
	return nil
}

type PublishChangeGovernanceWaveMapResponse struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	PackageId         string                 `protobuf:"bytes,1,opt,name=package_id,json=packageId,proto3" json:"package_id,omitempty"`
	PublicationState  string                 `protobuf:"bytes,2,opt,name=publication_state,json=publicationState,proto3" json:"publication_state,omitempty"`
	ProjectionVersion int64                  `protobuf:"varint,3,opt,name=projection_version,json=projectionVersion,proto3" json:"projection_version,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *PublishChangeGovernanceWaveMapResponse) Reset() {
	*x = PublishChangeGovernanceWaveMapResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[107]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PublishChangeGovernanceWaveMapResponse) ProtoMessage() {}

func (x *PublishChangeGovernanceWaveMapResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[107]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PublishChangeGovernanceWaveMapResponse.ProtoReflect.Descriptor instead.
func (*PublishChangeGovernanceWaveMapResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{107}
}

func (x *PublishChangeGovernanceWaveMapResponse) GetPackageId() string {
	if x != nil {
		return x.PackageId
	}
	return ""
}

func (x *PublishChangeGovernanceWaveMapResponse) GetPublicationState() string {
	if x != nil {
		return x.PublicationState
	}
	return ""
}

func (x *PublishChangeGovernanceWaveMapResponse) GetProjectionVersion() int64 {
	if x != nil {
		return x.ProjectionVersion
	}
	return 0
}

type UpsertChangeGovernanceEvidenceSignalRequest struct {
	state                 protoimpl.MessageState              `protogen:"open.v1"`
	RunId                 string                              `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	PackageId             string                              `protobuf:"bytes,2,opt,name=package_id,json=packageId,proto3" json:"package_id,omitempty"`
	SignalId              string                              `protobuf:"bytes,3,opt,name=signal_id,json=signalId,proto3" json:"signal_id,omitempty"`
	CorrelationId         string                              `protobuf:"bytes,4,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	ScopeKind             string                              `protobuf:"bytes,5,opt,name=scope_kind,json=scopeKind,proto3" json:"scope_kind,omitempty"`
	ScopeRef              string                              `protobuf:"bytes,6,opt,name=scope_ref,json=scopeRef,proto3" json:"scope_ref,omitempty"`
	BlockKind             string                              `protobuf:"bytes,7,opt,name=block_kind,json=blockKind,proto3" json:"block_kind,omitempty"`
	ArtifactLinks         []*ChangeGovernanceArtifactLinkSeed `protobuf:"bytes,8,rep,name=artifact_links,json=artifactLinks,proto3" json:"artifact_links,omitempty"`
	VerificationStateHint string                              `protobuf:"bytes,9,opt,name=verification_state_hint,json=verificationStateHint,proto3" json:"verification_state_hint,omitempty"`
	RequiredByTier        bool                                `protobuf:"varint,10,opt,name=required_by_tier,json=requiredByTier,proto3" json:"required_by_tier,omitempty"`
	OccurredAt            *timestamppb.Timestamp              `protobuf:"bytes,11,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *UpsertChangeGovernanceEvidenceSignalRequest) Reset() {
	*x = UpsertChangeGovernanceEvidenceSignalRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[108]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertChangeGovernanceEvidenceSignalRequest) ProtoMessage() {}

func (x *UpsertChangeGovernanceEvidenceSignalRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[108]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertChangeGovernanceEvidenceSignalRequest.ProtoReflect.Descriptor instead.
func (*UpsertChangeGovernanceEvidenceSignalRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{108}
}

func (x *UpsertChangeGovernanceEvidenceSignalRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *UpsertChangeGovernanceEvidenceSignalRequest) GetPackageId() string {
	if x != nil {
		return x.PackageId
	}
	return ""
}

func (x *UpsertChangeGovernanceEvidenceSignalRequest) GetSignalId() string {
	if x != nil {
		return x.SignalId
	}
	return ""
}

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

func (x *UpsertChangeGovernanceEvidenceSignalRequest) GetScopeKind() string {
	if x != nil {
		return x.ScopeKind
	}
	return ""
}

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

func (x *UpsertChangeGovernanceEvidenceSignalRequest) GetBlockKind() string {
	if x != nil {
		return x.BlockKind
	}
	return ""
}

func (x *UpsertChangeGovernanceEvidenceSignalRequest) GetArtifactLinks() []*ChangeGovernanceArtifactLinkSeed {
	if x != nil {
		return x.ArtifactLinks
	}
	return nil
}

func (x *UpsertChangeGovernanceEvidenceSignalRequest) GetVerificationStateHint() string {
	if x != nil {
		return x.VerificationStateHint
	}
	return ""
}

func (x *UpsertChangeGovernanceEvidenceSignalRequest) GetRequiredByTier() bool {
	if x != nil {
		return x.RequiredByTier
	}
	return false
}

func (x *UpsertChangeGovernanceEvidenceSignalRequest) GetOccurredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.OccurredAt
	}
	return nil
}

type UpsertChangeGovernanceEvidenceSignalResponse struct {
	state                     protoimpl.MessageState `protogen:"open.v1"`
	PackageId                 string                 `protobuf:"bytes,1,opt,name=package_id,json=packageId,proto3" json:"package_id,omitempty"`
	EvidenceCompletenessState string                 `protobuf:"bytes,2,opt,name=evidence_completeness_state,json=evidenceCompletenessState,proto3" json:"evidence_completeness_state,omitempty"`
	VerificationMinimumState  string                 `protobuf:"bytes,3,opt,name=verification_minimum_state,json=verificationMinimumState,proto3" json:"verification_minimum_state,omitempty"`
	ProjectionVersion         int64                  `protobuf:"varint,4,opt,name=projection_version,json=projectionVersion,proto3" json:"projection_version,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *UpsertChangeGovernanceEvidenceSignalResponse) Reset() {
	*x = UpsertChangeGovernanceEvidenceSignalResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[109]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertChangeGovernanceEvidenceSignalResponse) ProtoMessage() {}

func (x *UpsertChangeGovernanceEvidenceSignalResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[109]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertChangeGovernanceEvidenceSignalResponse.ProtoReflect.Descriptor instead.
func (*UpsertChangeGovernanceEvidenceSignalResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{109}
}

func (x *UpsertChangeGovernanceEvidenceSignalResponse) GetPackageId() string {
	if x != nil {
		return x.PackageId
	}
	return ""
}

func (x *UpsertChangeGovernanceEvidenceSignalResponse) GetEvidenceCompletenessState() string {
	if x != nil {
		return x.EvidenceCompletenessState
	}
	return ""
}

func (x *UpsertChangeGovernanceEvidenceSignalResponse) GetVerificationMinimumState() string {
	if x != nil {
		return x.VerificationMinimumState
	}
	return ""
}

func (x *UpsertChangeGovernanceEvidenceSignalResponse) GetProjectionVersion() int64 {
	if x != nil {
		return x.ProjectionVersion
	}
	return 0
}

type MissionControlWarmupProject struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	ProjectId          string                 `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ProjectName        string                 `protobuf:"bytes,2,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"`
	RepositoryFullName string                 `protobuf:"bytes,3,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *MissionControlWarmupProject) Reset() {
	*x = MissionControlWarmupProject{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[110]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlWarmupProject) ProtoMessage() {}

func (x *MissionControlWarmupProject) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[110]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlWarmupProject.ProtoReflect.Descriptor instead.
func (*MissionControlWarmupProject) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{110}
}

func (x *MissionControlWarmupProject) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *MissionControlWarmupProject) GetProjectName() string {
	if x != nil {
		return x.ProjectName
	}
	return ""
}

func (x *MissionControlWarmupProject) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

type ListMissionControlWarmupProjectsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Limit         int32                  `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListMissionControlWarmupProjectsRequest) Reset() {
	*x = ListMissionControlWarmupProjectsRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[111]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListMissionControlWarmupProjectsRequest) ProtoMessage() {}

func (x *ListMissionControlWarmupProjectsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[111]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListMissionControlWarmupProjectsRequest.ProtoReflect.Descriptor instead.
func (*ListMissionControlWarmupProjectsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{111}
}

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

type ListMissionControlWarmupProjectsResponse struct {
	state         protoimpl.MessageState         `protogen:"open.v1"`
	Items         []*MissionControlWarmupProject `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListMissionControlWarmupProjectsResponse) Reset() {
	*x = ListMissionControlWarmupProjectsResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[112]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListMissionControlWarmupProjectsResponse) ProtoMessage() {}

func (x *ListMissionControlWarmupProjectsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[112]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListMissionControlWarmupProjectsResponse.ProtoReflect.Descriptor instead.
func (*ListMissionControlWarmupProjectsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{112}
}

func (x *ListMissionControlWarmupProjectsResponse) GetItems() []*MissionControlWarmupProject {
	if x != nil {
		return x.Items
	}
	return nil
}

type RunMissionControlWarmupRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectId     string                 `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	RequestedBy   string                 `protobuf:"bytes,2,opt,name=requested_by,json=requestedBy,proto3" json:"requested_by,omitempty"`
	CorrelationId string                 `protobuf:"bytes,3,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	ForceRebuild  bool                   `protobuf:"varint,4,opt,name=force_rebuild,json=forceRebuild,proto3" json:"force_rebuild,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RunMissionControlWarmupRequest) Reset() {
	*x = RunMissionControlWarmupRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[113]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RunMissionControlWarmupRequest) ProtoMessage() {}

func (x *RunMissionControlWarmupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[113]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RunMissionControlWarmupRequest.ProtoReflect.Descriptor instead.
func (*RunMissionControlWarmupRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{113}
}

func (x *RunMissionControlWarmupRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *RunMissionControlWarmupRequest) GetRequestedBy() string {
	if x != nil {
		return x.RequestedBy
	}
	return ""
}

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

func (x *RunMissionControlWarmupRequest) GetForceRebuild() bool {
	if x != nil {
		return x.ForceRebuild
	}
	return false
}

type RunMissionControlWarmupResponse struct {
	state                        protoimpl.MessageState `protogen:"open.v1"`
	ProjectId                    string                 `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	EntityCount                  int64                  `protobuf:"varint,2,opt,name=entity_count,json=entityCount,proto3" json:"entity_count,omitempty"`
	RelationCount                int64                  `protobuf:"varint,3,opt,name=relation_count,json=relationCount,proto3" json:"relation_count,omitempty"`
	TimelineEntryCount           int64                  `protobuf:"varint,4,opt,name=timeline_entry_count,json=timelineEntryCount,proto3" json:"timeline_entry_count,omitempty"`
	CommandCount                 int64                  `protobuf:"varint,5,opt,name=command_count,json=commandCount,proto3" json:"command_count,omitempty"`
	MaxProjectionVersion         int64                  `protobuf:"varint,6,opt,name=max_projection_version,json=maxProjectionVersion,proto3" json:"max_projection_version,omitempty"`
	BackfilledEntities           int32                  `protobuf:"varint,7,opt,name=backfilled_entities,json=backfilledEntities,proto3" json:"backfilled_entities,omitempty"`
	BackfilledRelations          int32                  `protobuf:"varint,8,opt,name=backfilled_relations,json=backfilledRelations,proto3" json:"backfilled_relations,omitempty"`
	BackfilledTimelines          int32                  `protobuf:"varint,9,opt,name=backfilled_timelines,json=backfilledTimelines,proto3" json:"backfilled_timelines,omitempty"`
	RunEntityCount               int64                  `protobuf:"varint,10,opt,name=run_entity_count,json=runEntityCount,proto3" json:"run_entity_count,omitempty"`
	LegacyAgentCount             int64                  `protobuf:"varint,11,opt,name=legacy_agent_count,json=legacyAgentCount,proto3" json:"legacy_agent_count,omitempty"`
	ContinuityGapCount           int64                  `protobuf:"varint,12,opt,name=continuity_gap_count,json=continuityGapCount,proto3" json:"continuity_gap_count,omitempty"`
	OpenContinuityGapCount       int64                  `protobuf:"varint,13,opt,name=open_continuity_gap_count,json=openContinuityGapCount,proto3" json:"open_continuity_gap_count,omitempty"`
	BlockingGapCount             int64                  `protobuf:"varint,14,opt,name=blocking_gap_count,json=blockingGapCount,proto3" json:"blocking_gap_count,omitempty"`
	MissingPullRequestGapCount   int64                  `protobuf:"varint,15,opt,name=missing_pull_request_gap_count,json=missingPullRequestGapCount,proto3" json:"missing_pull_request_gap_count,omitempty"`
	MissingFollowUpIssueGapCount int64                  `protobuf:"varint,16,opt,name=missing_follow_up_issue_gap_count,json=missingFollowUpIssueGapCount,proto3" json:"missing_follow_up_issue_gap_count,omitempty"`
	WatermarkCount               int64                  `protobuf:"varint,17,opt,name=watermark_count,json=watermarkCount,proto3" json:"watermark_count,omitempty"`
	ReadyForReconcile            bool                   `protobuf:"varint,18,opt,name=ready_for_reconcile,json=readyForReconcile,proto3" json:"ready_for_reconcile,omitempty"`
	ReconcileGatingReason        string                 `protobuf:"bytes,19,opt,name=reconcile_gating_reason,json=reconcileGatingReason,proto3" json:"reconcile_gating_reason,omitempty"`
	ReadyForTransport            bool                   `protobuf:"varint,20,opt,name=ready_for_transport,json=readyForTransport,proto3" json:"ready_for_transport,omitempty"`
	TransportGatingReason        string                 `protobuf:"bytes,21,opt,name=transport_gating_reason,json=transportGatingReason,proto3" json:"transport_gating_reason,omitempty"`
	ProviderFreshnessStatus      string                 `protobuf:"bytes,22,opt,name=provider_freshness_status,json=providerFreshnessStatus,proto3" json:"provider_freshness_status,omitempty"`
	ProviderCoverageStatus       string                 `protobuf:"bytes,23,opt,name=provider_coverage_status,json=providerCoverageStatus,proto3" json:"provider_coverage_status,omitempty"`
	GraphProjectionStatus        string                 `protobuf:"bytes,24,opt,name=graph_projection_status,json=graphProjectionStatus,proto3" json:"graph_projection_status,omitempty"`
	LaunchPolicyStatus           string                 `protobuf:"bytes,25,opt,name=launch_policy_status,json=launchPolicyStatus,proto3" json:"launch_policy_status,omitempty"`
	unknownFields                protoimpl.UnknownFields
	sizeCache                    protoimpl.SizeCache
}

func (x *RunMissionControlWarmupResponse) Reset() {
	*x = RunMissionControlWarmupResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[114]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RunMissionControlWarmupResponse) ProtoMessage() {}

func (x *RunMissionControlWarmupResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[114]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RunMissionControlWarmupResponse.ProtoReflect.Descriptor instead.
func (*RunMissionControlWarmupResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{114}
}

func (x *RunMissionControlWarmupResponse) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *RunMissionControlWarmupResponse) GetEntityCount() int64 {
	if x != nil {
		return x.EntityCount
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetRelationCount() int64 {
	if x != nil {
		return x.RelationCount
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetTimelineEntryCount() int64 {
	if x != nil {
		return x.TimelineEntryCount
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetCommandCount() int64 {
	if x != nil {
		return x.CommandCount
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetMaxProjectionVersion() int64 {
	if x != nil {
		return x.MaxProjectionVersion
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetBackfilledEntities() int32 {
	if x != nil {
		return x.BackfilledEntities
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetBackfilledRelations() int32 {
	if x != nil {
		return x.BackfilledRelations
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetBackfilledTimelines() int32 {
	if x != nil {
		return x.BackfilledTimelines
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetRunEntityCount() int64 {
	if x != nil {
		return x.RunEntityCount
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetLegacyAgentCount() int64 {
	if x != nil {
		return x.LegacyAgentCount
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetContinuityGapCount() int64 {
	if x != nil {
		return x.ContinuityGapCount
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetOpenContinuityGapCount() int64 {
	if x != nil {
		return x.OpenContinuityGapCount
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetBlockingGapCount() int64 {
	if x != nil {
		return x.BlockingGapCount
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetMissingPullRequestGapCount() int64 {
	if x != nil {
		return x.MissingPullRequestGapCount
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetMissingFollowUpIssueGapCount() int64 {
	if x != nil {
		return x.MissingFollowUpIssueGapCount
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetWatermarkCount() int64 {
	if x != nil {
		return x.WatermarkCount
	}
	return 0
}

func (x *RunMissionControlWarmupResponse) GetReadyForReconcile() bool {
	if x != nil {
		return x.ReadyForReconcile
	}
	return false
}

func (x *RunMissionControlWarmupResponse) GetReconcileGatingReason() string {
	if x != nil {
		return x.ReconcileGatingReason
	}
	return ""
}

func (x *RunMissionControlWarmupResponse) GetReadyForTransport() bool {
	if x != nil {
		return x.ReadyForTransport
	}
	return false
}

func (x *RunMissionControlWarmupResponse) GetTransportGatingReason() string {
	if x != nil {
		return x.TransportGatingReason
	}
	return ""
}

func (x *RunMissionControlWarmupResponse) GetProviderFreshnessStatus() string {
	if x != nil {
		return x.ProviderFreshnessStatus
	}
	return ""
}

func (x *RunMissionControlWarmupResponse) GetProviderCoverageStatus() string {
	if x != nil {
		return x.ProviderCoverageStatus
	}
	return ""
}

func (x *RunMissionControlWarmupResponse) GetGraphProjectionStatus() string {
	if x != nil {
		return x.GraphProjectionStatus
	}
	return ""
}

func (x *RunMissionControlWarmupResponse) GetLaunchPolicyStatus() string {
	if x != nil {
		return x.LaunchPolicyStatus
	}
	return ""
}

type MissionControlEntityRef struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	EntityKind     string                 `protobuf:"bytes,1,opt,name=entity_kind,json=entityKind,proto3" json:"entity_kind,omitempty"`
	EntityPublicId string                 `protobuf:"bytes,2,opt,name=entity_public_id,json=entityPublicId,proto3" json:"entity_public_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *MissionControlEntityRef) Reset() {
	*x = MissionControlEntityRef{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[115]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlEntityRef) ProtoMessage() {}

func (x *MissionControlEntityRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[115]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlEntityRef.ProtoReflect.Descriptor instead.
func (*MissionControlEntityRef) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{115}
}

func (x *MissionControlEntityRef) GetEntityKind() string {
	if x != nil {
		return x.EntityKind
	}
	return ""
}

func (x *MissionControlEntityRef) GetEntityPublicId() string {
	if x != nil {
		return x.EntityPublicId
	}
	return ""
}

type MissionControlProviderReference struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Provider      string                 `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"`
	ExternalId    string                 `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
	Url           string                 `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MissionControlProviderReference) Reset() {
	*x = MissionControlProviderReference{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[116]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlProviderReference) ProtoMessage() {}

func (x *MissionControlProviderReference) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[116]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlProviderReference.ProtoReflect.Descriptor instead.
func (*MissionControlProviderReference) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{116}
}

func (x *MissionControlProviderReference) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *MissionControlProviderReference) GetExternalId() string {
	if x != nil {
		return x.ExternalId
	}
	return ""
}

func (x *MissionControlProviderReference) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

type MissionControlPrimaryActor struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ActorType     string                 `protobuf:"bytes,1,opt,name=actor_type,json=actorType,proto3" json:"actor_type,omitempty"`
	ActorId       string                 `protobuf:"bytes,2,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	DisplayName   string                 `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MissionControlPrimaryActor) Reset() {
	*x = MissionControlPrimaryActor{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[117]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlPrimaryActor) ProtoMessage() {}

func (x *MissionControlPrimaryActor) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[117]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlPrimaryActor.ProtoReflect.Descriptor instead.
func (*MissionControlPrimaryActor) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{117}
}

func (x *MissionControlPrimaryActor) GetActorType() string {
	if x != nil {
		return x.ActorType
	}
	return ""
}

func (x *MissionControlPrimaryActor) GetActorId() string {
	if x != nil {
		return x.ActorId
	}
	return ""
}

func (x *MissionControlPrimaryActor) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

type MissionControlEntityCard struct {
	state             protoimpl.MessageState           `protogen:"open.v1"`
	EntityKind        string                           `protobuf:"bytes,1,opt,name=entity_kind,json=entityKind,proto3" json:"entity_kind,omitempty"`
	EntityPublicId    string                           `protobuf:"bytes,2,opt,name=entity_public_id,json=entityPublicId,proto3" json:"entity_public_id,omitempty"`
	Title             string                           `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
	State             string                           `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"`
	SyncStatus        string                           `protobuf:"bytes,5,opt,name=sync_status,json=syncStatus,proto3" json:"sync_status,omitempty"`
	ProviderReference *MissionControlProviderReference `protobuf:"bytes,6,opt,name=provider_reference,json=providerReference,proto3" json:"provider_reference,omitempty"`
	PrimaryActor      *MissionControlPrimaryActor      `protobuf:"bytes,7,opt,name=primary_actor,json=primaryActor,proto3" json:"primary_actor,omitempty"`
	RelationCount     int32                            `protobuf:"varint,8,opt,name=relation_count,json=relationCount,proto3" json:"relation_count,omitempty"`
	LastTimelineAt    *timestamppb.Timestamp           `protobuf:"bytes,9,opt,name=last_timeline_at,json=lastTimelineAt,proto3" json:"last_timeline_at,omitempty"`
	Badges            []string                         `protobuf:"bytes,10,rep,name=badges,proto3" json:"badges,omitempty"`
	ProjectionVersion int64                            `protobuf:"varint,11,opt,name=projection_version,json=projectionVersion,proto3" json:"projection_version,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *MissionControlEntityCard) Reset() {
	*x = MissionControlEntityCard{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[118]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlEntityCard) ProtoMessage() {}

func (x *MissionControlEntityCard) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[118]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlEntityCard.ProtoReflect.Descriptor instead.
func (*MissionControlEntityCard) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{118}
}

func (x *MissionControlEntityCard) GetEntityKind() string {
	if x != nil {
		return x.EntityKind
	}
	return ""
}

func (x *MissionControlEntityCard) GetEntityPublicId() string {
	if x != nil {
		return x.EntityPublicId
	}
	return ""
}

func (x *MissionControlEntityCard) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *MissionControlEntityCard) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

func (x *MissionControlEntityCard) GetSyncStatus() string {
	if x != nil {
		return x.SyncStatus
	}
	return ""
}

func (x *MissionControlEntityCard) GetProviderReference() *MissionControlProviderReference {
	if x != nil {
		return x.ProviderReference
	}
	return nil
}

func (x *MissionControlEntityCard) GetPrimaryActor() *MissionControlPrimaryActor {
	if x != nil {
		return x.PrimaryActor
	}
	return nil
}

func (x *MissionControlEntityCard) GetRelationCount() int32 {
	if x != nil {
		return x.RelationCount
	}
	return 0
}

func (x *MissionControlEntityCard) GetLastTimelineAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastTimelineAt
	}
	return nil
}

func (x *MissionControlEntityCard) GetBadges() []string {
	if x != nil {
		return x.Badges
	}
	return nil
}

func (x *MissionControlEntityCard) GetProjectionVersion() int64 {
	if x != nil {
		return x.ProjectionVersion
	}
	return 0
}

type MissionControlRelation struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	RelationKind         string                 `protobuf:"bytes,1,opt,name=relation_kind,json=relationKind,proto3" json:"relation_kind,omitempty"`
	SourceKind           string                 `protobuf:"bytes,2,opt,name=source_kind,json=sourceKind,proto3" json:"source_kind,omitempty"`
	SourceEntityKind     string                 `protobuf:"bytes,3,opt,name=source_entity_kind,json=sourceEntityKind,proto3" json:"source_entity_kind,omitempty"`
	SourceEntityPublicId string                 `protobuf:"bytes,4,opt,name=source_entity_public_id,json=sourceEntityPublicId,proto3" json:"source_entity_public_id,omitempty"`
	TargetEntityKind     string                 `protobuf:"bytes,5,opt,name=target_entity_kind,json=targetEntityKind,proto3" json:"target_entity_kind,omitempty"`
	TargetEntityPublicId string                 `protobuf:"bytes,6,opt,name=target_entity_public_id,json=targetEntityPublicId,proto3" json:"target_entity_public_id,omitempty"`
	Direction            string                 `protobuf:"bytes,7,opt,name=direction,proto3" json:"direction,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *MissionControlRelation) Reset() {
	*x = MissionControlRelation{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[119]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlRelation) ProtoMessage() {}

func (x *MissionControlRelation) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[119]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlRelation.ProtoReflect.Descriptor instead.
func (*MissionControlRelation) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{119}
}

func (x *MissionControlRelation) GetRelationKind() string {
	if x != nil {
		return x.RelationKind
	}
	return ""
}

func (x *MissionControlRelation) GetSourceKind() string {
	if x != nil {
		return x.SourceKind
	}
	return ""
}

func (x *MissionControlRelation) GetSourceEntityKind() string {
	if x != nil {
		return x.SourceEntityKind
	}
	return ""
}

func (x *MissionControlRelation) GetSourceEntityPublicId() string {
	if x != nil {
		return x.SourceEntityPublicId
	}
	return ""
}

func (x *MissionControlRelation) GetTargetEntityKind() string {
	if x != nil {
		return x.TargetEntityKind
	}
	return ""
}

func (x *MissionControlRelation) GetTargetEntityPublicId() string {
	if x != nil {
		return x.TargetEntityPublicId
	}
	return ""
}

func (x *MissionControlRelation) GetDirection() string {
	if x != nil {
		return x.Direction
	}
	return ""
}

type MissionControlTimelineEntry struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	EntryId        string                 `protobuf:"bytes,1,opt,name=entry_id,json=entryId,proto3" json:"entry_id,omitempty"`
	EntityKind     string                 `protobuf:"bytes,2,opt,name=entity_kind,json=entityKind,proto3" json:"entity_kind,omitempty"`
	EntityPublicId string                 `protobuf:"bytes,3,opt,name=entity_public_id,json=entityPublicId,proto3" json:"entity_public_id,omitempty"`
	SourceKind     string                 `protobuf:"bytes,4,opt,name=source_kind,json=sourceKind,proto3" json:"source_kind,omitempty"`
	SourceRef      string                 `protobuf:"bytes,5,opt,name=source_ref,json=sourceRef,proto3" json:"source_ref,omitempty"`
	OccurredAt     *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"`
	Summary        string                 `protobuf:"bytes,7,opt,name=summary,proto3" json:"summary,omitempty"`
	BodyMarkdown   *string                `protobuf:"bytes,8,opt,name=body_markdown,json=bodyMarkdown,proto3,oneof" json:"body_markdown,omitempty"`
	CommandId      *string                `protobuf:"bytes,9,opt,name=command_id,json=commandId,proto3,oneof" json:"command_id,omitempty"`
	ProviderUrl    *string                `protobuf:"bytes,10,opt,name=provider_url,json=providerUrl,proto3,oneof" json:"provider_url,omitempty"`
	IsReadOnly     bool                   `protobuf:"varint,11,opt,name=is_read_only,json=isReadOnly,proto3" json:"is_read_only,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *MissionControlTimelineEntry) Reset() {
	*x = MissionControlTimelineEntry{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[120]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlTimelineEntry) ProtoMessage() {}

func (x *MissionControlTimelineEntry) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[120]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlTimelineEntry.ProtoReflect.Descriptor instead.
func (*MissionControlTimelineEntry) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{120}
}

func (x *MissionControlTimelineEntry) GetEntryId() string {
	if x != nil {
		return x.EntryId
	}
	return ""
}

func (x *MissionControlTimelineEntry) GetEntityKind() string {
	if x != nil {
		return x.EntityKind
	}
	return ""
}

func (x *MissionControlTimelineEntry) GetEntityPublicId() string {
	if x != nil {
		return x.EntityPublicId
	}
	return ""
}

func (x *MissionControlTimelineEntry) GetSourceKind() string {
	if x != nil {
		return x.SourceKind
	}
	return ""
}

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

func (x *MissionControlTimelineEntry) GetOccurredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.OccurredAt
	}
	return nil
}

func (x *MissionControlTimelineEntry) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *MissionControlTimelineEntry) GetBodyMarkdown() string {
	if x != nil && x.BodyMarkdown != nil {
		return *x.BodyMarkdown
	}
	return ""
}

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

func (x *MissionControlTimelineEntry) GetProviderUrl() string {
	if x != nil && x.ProviderUrl != nil {
		return *x.ProviderUrl
	}
	return ""
}

func (x *MissionControlTimelineEntry) GetIsReadOnly() bool {
	if x != nil {
		return x.IsReadOnly
	}
	return false
}

type MissionControlAllowedAction struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ActionKind          string                 `protobuf:"bytes,1,opt,name=action_kind,json=actionKind,proto3" json:"action_kind,omitempty"`
	Presentation        string                 `protobuf:"bytes,2,opt,name=presentation,proto3" json:"presentation,omitempty"`
	AllowedWhenDegraded bool                   `protobuf:"varint,3,opt,name=allowed_when_degraded,json=allowedWhenDegraded,proto3" json:"allowed_when_degraded,omitempty"`
	ApprovalRequirement string                 `protobuf:"bytes,4,opt,name=approval_requirement,json=approvalRequirement,proto3" json:"approval_requirement,omitempty"`
	BlockedReason       *string                `protobuf:"bytes,5,opt,name=blocked_reason,json=blockedReason,proto3,oneof" json:"blocked_reason,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MissionControlAllowedAction) Reset() {
	*x = MissionControlAllowedAction{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[121]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlAllowedAction) ProtoMessage() {}

func (x *MissionControlAllowedAction) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[121]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlAllowedAction.ProtoReflect.Descriptor instead.
func (*MissionControlAllowedAction) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{121}
}

func (x *MissionControlAllowedAction) GetActionKind() string {
	if x != nil {
		return x.ActionKind
	}
	return ""
}

func (x *MissionControlAllowedAction) GetPresentation() string {
	if x != nil {
		return x.Presentation
	}
	return ""
}

func (x *MissionControlAllowedAction) GetAllowedWhenDegraded() bool {
	if x != nil {
		return x.AllowedWhenDegraded
	}
	return false
}

func (x *MissionControlAllowedAction) GetApprovalRequirement() string {
	if x != nil {
		return x.ApprovalRequirement
	}
	return ""
}

func (x *MissionControlAllowedAction) GetBlockedReason() string {
	if x != nil && x.BlockedReason != nil {
		return *x.BlockedReason
	}
	return ""
}

type MissionControlProviderDeepLink struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ActionKind    string                 `protobuf:"bytes,1,opt,name=action_kind,json=actionKind,proto3" json:"action_kind,omitempty"`
	Url           string                 `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	Reason        string                 `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MissionControlProviderDeepLink) Reset() {
	*x = MissionControlProviderDeepLink{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[122]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlProviderDeepLink) ProtoMessage() {}

func (x *MissionControlProviderDeepLink) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[122]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlProviderDeepLink.ProtoReflect.Descriptor instead.
func (*MissionControlProviderDeepLink) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{122}
}

func (x *MissionControlProviderDeepLink) GetActionKind() string {
	if x != nil {
		return x.ActionKind
	}
	return ""
}

func (x *MissionControlProviderDeepLink) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

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

type MissionControlWorkItemDetailsPayload struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	RepositoryFullName string                 `protobuf:"bytes,1,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	IssueNumber        int64                  `protobuf:"varint,2,opt,name=issue_number,json=issueNumber,proto3" json:"issue_number,omitempty"`
	IssueUrl           *string                `protobuf:"bytes,3,opt,name=issue_url,json=issueUrl,proto3,oneof" json:"issue_url,omitempty"`
	LastRunId          *string                `protobuf:"bytes,4,opt,name=last_run_id,json=lastRunId,proto3,oneof" json:"last_run_id,omitempty"`
	LastStatus         *string                `protobuf:"bytes,5,opt,name=last_status,json=lastStatus,proto3,oneof" json:"last_status,omitempty"`
	TriggerKind        *string                `protobuf:"bytes,6,opt,name=trigger_kind,json=triggerKind,proto3,oneof" json:"trigger_kind,omitempty"`
	WorkItemType       *string                `protobuf:"bytes,7,opt,name=work_item_type,json=workItemType,proto3,oneof" json:"work_item_type,omitempty"`
	StageLabel         *string                `protobuf:"bytes,8,opt,name=stage_label,json=stageLabel,proto3,oneof" json:"stage_label,omitempty"`
	Labels             []string               `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty"`
	Owner              *string                `protobuf:"bytes,10,opt,name=owner,proto3,oneof" json:"owner,omitempty"`
	Assignees          []string               `protobuf:"bytes,11,rep,name=assignees,proto3" json:"assignees,omitempty"`
	LastProviderSyncAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=last_provider_sync_at,json=lastProviderSyncAt,proto3" json:"last_provider_sync_at,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *MissionControlWorkItemDetailsPayload) Reset() {
	*x = MissionControlWorkItemDetailsPayload{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[123]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlWorkItemDetailsPayload) ProtoMessage() {}

func (x *MissionControlWorkItemDetailsPayload) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[123]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlWorkItemDetailsPayload.ProtoReflect.Descriptor instead.
func (*MissionControlWorkItemDetailsPayload) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{123}
}

func (x *MissionControlWorkItemDetailsPayload) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *MissionControlWorkItemDetailsPayload) GetIssueNumber() int64 {
	if x != nil {
		return x.IssueNumber
	}
	return 0
}

func (x *MissionControlWorkItemDetailsPayload) GetIssueUrl() string {
	if x != nil && x.IssueUrl != nil {
		return *x.IssueUrl
	}
	return ""
}

func (x *MissionControlWorkItemDetailsPayload) GetLastRunId() string {
	if x != nil && x.LastRunId != nil {
		return *x.LastRunId
	}
	return ""
}

func (x *MissionControlWorkItemDetailsPayload) GetLastStatus() string {
	if x != nil && x.LastStatus != nil {
		return *x.LastStatus
	}
	return ""
}

func (x *MissionControlWorkItemDetailsPayload) GetTriggerKind() string {
	if x != nil && x.TriggerKind != nil {
		return *x.TriggerKind
	}
	return ""
}

func (x *MissionControlWorkItemDetailsPayload) GetWorkItemType() string {
	if x != nil && x.WorkItemType != nil {
		return *x.WorkItemType
	}
	return ""
}

func (x *MissionControlWorkItemDetailsPayload) GetStageLabel() string {
	if x != nil && x.StageLabel != nil {
		return *x.StageLabel
	}
	return ""
}

func (x *MissionControlWorkItemDetailsPayload) GetLabels() []string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *MissionControlWorkItemDetailsPayload) GetOwner() string {
	if x != nil && x.Owner != nil {
		return *x.Owner
	}
	return ""
}

func (x *MissionControlWorkItemDetailsPayload) GetAssignees() []string {
	if x != nil {
		return x.Assignees
	}
	return nil
}

func (x *MissionControlWorkItemDetailsPayload) GetLastProviderSyncAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastProviderSyncAt
	}
	return nil
}

type MissionControlDiscussionDetailsPayload struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	DiscussionKind       *string                `protobuf:"bytes,1,opt,name=discussion_kind,json=discussionKind,proto3,oneof" json:"discussion_kind,omitempty"`
	Status               *string                `protobuf:"bytes,2,opt,name=status,proto3,oneof" json:"status,omitempty"`
	Author               *string                `protobuf:"bytes,3,opt,name=author,proto3,oneof" json:"author,omitempty"`
	ParticipantCount     int32                  `protobuf:"varint,4,opt,name=participant_count,json=participantCount,proto3" json:"participant_count,omitempty"`
	LatestCommentExcerpt *string                `protobuf:"bytes,5,opt,name=latest_comment_excerpt,json=latestCommentExcerpt,proto3,oneof" json:"latest_comment_excerpt,omitempty"`
	FormalizationTarget  *string                `protobuf:"bytes,6,opt,name=formalization_target,json=formalizationTarget,proto3,oneof" json:"formalization_target,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *MissionControlDiscussionDetailsPayload) Reset() {
	*x = MissionControlDiscussionDetailsPayload{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[124]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlDiscussionDetailsPayload) ProtoMessage() {}

func (x *MissionControlDiscussionDetailsPayload) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[124]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlDiscussionDetailsPayload.ProtoReflect.Descriptor instead.
func (*MissionControlDiscussionDetailsPayload) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{124}
}

func (x *MissionControlDiscussionDetailsPayload) GetDiscussionKind() string {
	if x != nil && x.DiscussionKind != nil {
		return *x.DiscussionKind
	}
	return ""
}

func (x *MissionControlDiscussionDetailsPayload) GetStatus() string {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return ""
}

func (x *MissionControlDiscussionDetailsPayload) GetAuthor() string {
	if x != nil && x.Author != nil {
		return *x.Author
	}
	return ""
}

func (x *MissionControlDiscussionDetailsPayload) GetParticipantCount() int32 {
	if x != nil {
		return x.ParticipantCount
	}
	return 0
}

func (x *MissionControlDiscussionDetailsPayload) GetLatestCommentExcerpt() string {
	if x != nil && x.LatestCommentExcerpt != nil {
		return *x.LatestCommentExcerpt
	}
	return ""
}

func (x *MissionControlDiscussionDetailsPayload) GetFormalizationTarget() string {
	if x != nil && x.FormalizationTarget != nil {
		return *x.FormalizationTarget
	}
	return ""
}

type MissionControlPullRequestDetailsPayload struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	RepositoryFullName string                 `protobuf:"bytes,1,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	PullRequestNumber  int64                  `protobuf:"varint,2,opt,name=pull_request_number,json=pullRequestNumber,proto3" json:"pull_request_number,omitempty"`
	PullRequestUrl     *string                `protobuf:"bytes,3,opt,name=pull_request_url,json=pullRequestUrl,proto3,oneof" json:"pull_request_url,omitempty"`
	LastRunId          *string                `protobuf:"bytes,4,opt,name=last_run_id,json=lastRunId,proto3,oneof" json:"last_run_id,omitempty"`
	LastStatus         *string                `protobuf:"bytes,5,opt,name=last_status,json=lastStatus,proto3,oneof" json:"last_status,omitempty"`
	BranchHead         *string                `protobuf:"bytes,6,opt,name=branch_head,json=branchHead,proto3,oneof" json:"branch_head,omitempty"`
	BranchBase         *string                `protobuf:"bytes,7,opt,name=branch_base,json=branchBase,proto3,oneof" json:"branch_base,omitempty"`
	MergeState         *string                `protobuf:"bytes,8,opt,name=merge_state,json=mergeState,proto3,oneof" json:"merge_state,omitempty"`
	ReviewDecision     *string                `protobuf:"bytes,9,opt,name=review_decision,json=reviewDecision,proto3,oneof" json:"review_decision,omitempty"`
	ChecksSummary      *string                `protobuf:"bytes,10,opt,name=checks_summary,json=checksSummary,proto3,oneof" json:"checks_summary,omitempty"`
	LinkedIssueRefs    []string               `protobuf:"bytes,11,rep,name=linked_issue_refs,json=linkedIssueRefs,proto3" json:"linked_issue_refs,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *MissionControlPullRequestDetailsPayload) Reset() {
	*x = MissionControlPullRequestDetailsPayload{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[125]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlPullRequestDetailsPayload) ProtoMessage() {}

func (x *MissionControlPullRequestDetailsPayload) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[125]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlPullRequestDetailsPayload.ProtoReflect.Descriptor instead.
func (*MissionControlPullRequestDetailsPayload) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{125}
}

func (x *MissionControlPullRequestDetailsPayload) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *MissionControlPullRequestDetailsPayload) GetPullRequestNumber() int64 {
	if x != nil {
		return x.PullRequestNumber
	}
	return 0
}

func (x *MissionControlPullRequestDetailsPayload) GetPullRequestUrl() string {
	if x != nil && x.PullRequestUrl != nil {
		return *x.PullRequestUrl
	}
	return ""
}

func (x *MissionControlPullRequestDetailsPayload) GetLastRunId() string {
	if x != nil && x.LastRunId != nil {
		return *x.LastRunId
	}
	return ""
}

func (x *MissionControlPullRequestDetailsPayload) GetLastStatus() string {
	if x != nil && x.LastStatus != nil {
		return *x.LastStatus
	}
	return ""
}

func (x *MissionControlPullRequestDetailsPayload) GetBranchHead() string {
	if x != nil && x.BranchHead != nil {
		return *x.BranchHead
	}
	return ""
}

func (x *MissionControlPullRequestDetailsPayload) GetBranchBase() string {
	if x != nil && x.BranchBase != nil {
		return *x.BranchBase
	}
	return ""
}

func (x *MissionControlPullRequestDetailsPayload) GetMergeState() string {
	if x != nil && x.MergeState != nil {
		return *x.MergeState
	}
	return ""
}

func (x *MissionControlPullRequestDetailsPayload) GetReviewDecision() string {
	if x != nil && x.ReviewDecision != nil {
		return *x.ReviewDecision
	}
	return ""
}

func (x *MissionControlPullRequestDetailsPayload) GetChecksSummary() string {
	if x != nil && x.ChecksSummary != nil {
		return *x.ChecksSummary
	}
	return ""
}

func (x *MissionControlPullRequestDetailsPayload) GetLinkedIssueRefs() []string {
	if x != nil {
		return x.LinkedIssueRefs
	}
	return nil
}

type MissionControlAgentDetailsPayload struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	AgentKey          string                 `protobuf:"bytes,1,opt,name=agent_key,json=agentKey,proto3" json:"agent_key,omitempty"`
	RunStatus         *string                `protobuf:"bytes,2,opt,name=run_status,json=runStatus,proto3,oneof" json:"run_status,omitempty"`
	RuntimeMode       *string                `protobuf:"bytes,3,opt,name=runtime_mode,json=runtimeMode,proto3,oneof" json:"runtime_mode,omitempty"`
	WaitingReason     *string                `protobuf:"bytes,4,opt,name=waiting_reason,json=waitingReason,proto3,oneof" json:"waiting_reason,omitempty"`
	ActiveRunId       *string                `protobuf:"bytes,5,opt,name=active_run_id,json=activeRunId,proto3,oneof" json:"active_run_id,omitempty"`
	LastHeartbeatAt   *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_heartbeat_at,json=lastHeartbeatAt,proto3" json:"last_heartbeat_at,omitempty"`
	LastRunRepository *string                `protobuf:"bytes,7,opt,name=last_run_repository,json=lastRunRepository,proto3,oneof" json:"last_run_repository,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *MissionControlAgentDetailsPayload) Reset() {
	*x = MissionControlAgentDetailsPayload{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[126]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlAgentDetailsPayload) ProtoMessage() {}

func (x *MissionControlAgentDetailsPayload) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[126]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlAgentDetailsPayload.ProtoReflect.Descriptor instead.
func (*MissionControlAgentDetailsPayload) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{126}
}

func (x *MissionControlAgentDetailsPayload) GetAgentKey() string {
	if x != nil {
		return x.AgentKey
	}
	return ""
}

func (x *MissionControlAgentDetailsPayload) GetRunStatus() string {
	if x != nil && x.RunStatus != nil {
		return *x.RunStatus
	}
	return ""
}

func (x *MissionControlAgentDetailsPayload) GetRuntimeMode() string {
	if x != nil && x.RuntimeMode != nil {
		return *x.RuntimeMode
	}
	return ""
}

func (x *MissionControlAgentDetailsPayload) GetWaitingReason() string {
	if x != nil && x.WaitingReason != nil {
		return *x.WaitingReason
	}
	return ""
}

func (x *MissionControlAgentDetailsPayload) GetActiveRunId() string {
	if x != nil && x.ActiveRunId != nil {
		return *x.ActiveRunId
	}
	return ""
}

func (x *MissionControlAgentDetailsPayload) GetLastHeartbeatAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastHeartbeatAt
	}
	return nil
}

func (x *MissionControlAgentDetailsPayload) GetLastRunRepository() string {
	if x != nil && x.LastRunRepository != nil {
		return *x.LastRunRepository
	}
	return ""
}

type MissionControlEntityDetails struct {
	state             protoimpl.MessageState            `protogen:"open.v1"`
	Entity            *MissionControlEntityCard         `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
	Relations         []*MissionControlRelation         `protobuf:"bytes,2,rep,name=relations,proto3" json:"relations,omitempty"`
	TimelinePreview   []*MissionControlTimelineEntry    `protobuf:"bytes,3,rep,name=timeline_preview,json=timelinePreview,proto3" json:"timeline_preview,omitempty"`
	AllowedActions    []*MissionControlAllowedAction    `protobuf:"bytes,4,rep,name=allowed_actions,json=allowedActions,proto3" json:"allowed_actions,omitempty"`
	ProviderDeepLinks []*MissionControlProviderDeepLink `protobuf:"bytes,5,rep,name=provider_deep_links,json=providerDeepLinks,proto3" json:"provider_deep_links,omitempty"`
	// Types that are valid to be assigned to DetailPayload:
	//
	//	*MissionControlEntityDetails_WorkItem
	//	*MissionControlEntityDetails_Discussion
	//	*MissionControlEntityDetails_PullRequest
	//	*MissionControlEntityDetails_Agent
	DetailPayload isMissionControlEntityDetails_DetailPayload `protobuf_oneof:"detail_payload"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MissionControlEntityDetails) Reset() {
	*x = MissionControlEntityDetails{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[127]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlEntityDetails) ProtoMessage() {}

func (x *MissionControlEntityDetails) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[127]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlEntityDetails.ProtoReflect.Descriptor instead.
func (*MissionControlEntityDetails) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{127}
}

func (x *MissionControlEntityDetails) GetEntity() *MissionControlEntityCard {
	if x != nil {
		return x.Entity
	}
	return nil
}

func (x *MissionControlEntityDetails) GetRelations() []*MissionControlRelation {
	if x != nil {
		return x.Relations
	}
	return nil
}

func (x *MissionControlEntityDetails) GetTimelinePreview() []*MissionControlTimelineEntry {
	if x != nil {
		return x.TimelinePreview
	}
	return nil
}

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

func (x *MissionControlEntityDetails) GetProviderDeepLinks() []*MissionControlProviderDeepLink {
	if x != nil {
		return x.ProviderDeepLinks
	}
	return nil
}

func (x *MissionControlEntityDetails) GetDetailPayload() isMissionControlEntityDetails_DetailPayload {
	if x != nil {
		return x.DetailPayload
	}
	return nil
}

func (x *MissionControlEntityDetails) GetWorkItem() *MissionControlWorkItemDetailsPayload {
	if x != nil {
		if x, ok := x.DetailPayload.(*MissionControlEntityDetails_WorkItem); ok {
			return x.WorkItem
		}
	}
	return nil
}

func (x *MissionControlEntityDetails) GetDiscussion() *MissionControlDiscussionDetailsPayload {
	if x != nil {
		if x, ok := x.DetailPayload.(*MissionControlEntityDetails_Discussion); ok {
			return x.Discussion
		}
	}
	return nil
}

func (x *MissionControlEntityDetails) GetPullRequest() *MissionControlPullRequestDetailsPayload {
	if x != nil {
		if x, ok := x.DetailPayload.(*MissionControlEntityDetails_PullRequest); ok {
			return x.PullRequest
		}
	}
	return nil
}

func (x *MissionControlEntityDetails) GetAgent() *MissionControlAgentDetailsPayload {
	if x != nil {
		if x, ok := x.DetailPayload.(*MissionControlEntityDetails_Agent); ok {
			return x.Agent
		}
	}
	return nil
}

type isMissionControlEntityDetails_DetailPayload interface {
	isMissionControlEntityDetails_DetailPayload()
}

type MissionControlEntityDetails_WorkItem struct {
	WorkItem *MissionControlWorkItemDetailsPayload `protobuf:"bytes,6,opt,name=work_item,json=workItem,proto3,oneof"`
}

type MissionControlEntityDetails_Discussion struct {
	Discussion *MissionControlDiscussionDetailsPayload `protobuf:"bytes,7,opt,name=discussion,proto3,oneof"`
}

type MissionControlEntityDetails_PullRequest struct {
	PullRequest *MissionControlPullRequestDetailsPayload `protobuf:"bytes,8,opt,name=pull_request,json=pullRequest,proto3,oneof"`
}

type MissionControlEntityDetails_Agent struct {
	Agent *MissionControlAgentDetailsPayload `protobuf:"bytes,9,opt,name=agent,proto3,oneof"`
}

func (*MissionControlEntityDetails_WorkItem) isMissionControlEntityDetails_DetailPayload() {}

func (*MissionControlEntityDetails_Discussion) isMissionControlEntityDetails_DetailPayload() {}

func (*MissionControlEntityDetails_PullRequest) isMissionControlEntityDetails_DetailPayload() {}

func (*MissionControlEntityDetails_Agent) isMissionControlEntityDetails_DetailPayload() {}

type MissionControlSnapshotSummary struct {
	state                      protoimpl.MessageState `protogen:"open.v1"`
	TotalEntities              int32                  `protobuf:"varint,1,opt,name=total_entities,json=totalEntities,proto3" json:"total_entities,omitempty"`
	WorkingCount               int32                  `protobuf:"varint,2,opt,name=working_count,json=workingCount,proto3" json:"working_count,omitempty"`
	WaitingCount               int32                  `protobuf:"varint,3,opt,name=waiting_count,json=waitingCount,proto3" json:"waiting_count,omitempty"`
	BlockedCount               int32                  `protobuf:"varint,4,opt,name=blocked_count,json=blockedCount,proto3" json:"blocked_count,omitempty"`
	ReviewCount                int32                  `protobuf:"varint,5,opt,name=review_count,json=reviewCount,proto3" json:"review_count,omitempty"`
	RecentCriticalUpdatesCount int32                  `protobuf:"varint,6,opt,name=recent_critical_updates_count,json=recentCriticalUpdatesCount,proto3" json:"recent_critical_updates_count,omitempty"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

func (x *MissionControlSnapshotSummary) Reset() {
	*x = MissionControlSnapshotSummary{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[128]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlSnapshotSummary) ProtoMessage() {}

func (x *MissionControlSnapshotSummary) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[128]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlSnapshotSummary.ProtoReflect.Descriptor instead.
func (*MissionControlSnapshotSummary) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{128}
}

func (x *MissionControlSnapshotSummary) GetTotalEntities() int32 {
	if x != nil {
		return x.TotalEntities
	}
	return 0
}

func (x *MissionControlSnapshotSummary) GetWorkingCount() int32 {
	if x != nil {
		return x.WorkingCount
	}
	return 0
}

func (x *MissionControlSnapshotSummary) GetWaitingCount() int32 {
	if x != nil {
		return x.WaitingCount
	}
	return 0
}

func (x *MissionControlSnapshotSummary) GetBlockedCount() int32 {
	if x != nil {
		return x.BlockedCount
	}
	return 0
}

func (x *MissionControlSnapshotSummary) GetReviewCount() int32 {
	if x != nil {
		return x.ReviewCount
	}
	return 0
}

func (x *MissionControlSnapshotSummary) GetRecentCriticalUpdatesCount() int32 {
	if x != nil {
		return x.RecentCriticalUpdatesCount
	}
	return 0
}

type MissionControlDashboardSnapshot struct {
	state           protoimpl.MessageState         `protogen:"open.v1"`
	SnapshotId      string                         `protobuf:"bytes,1,opt,name=snapshot_id,json=snapshotId,proto3" json:"snapshot_id,omitempty"`
	ViewMode        string                         `protobuf:"bytes,2,opt,name=view_mode,json=viewMode,proto3" json:"view_mode,omitempty"`
	FreshnessStatus string                         `protobuf:"bytes,3,opt,name=freshness_status,json=freshnessStatus,proto3" json:"freshness_status,omitempty"`
	GeneratedAt     *timestamppb.Timestamp         `protobuf:"bytes,4,opt,name=generated_at,json=generatedAt,proto3" json:"generated_at,omitempty"`
	StaleAfter      *timestamppb.Timestamp         `protobuf:"bytes,5,opt,name=stale_after,json=staleAfter,proto3" json:"stale_after,omitempty"`
	Summary         *MissionControlSnapshotSummary `protobuf:"bytes,6,opt,name=summary,proto3" json:"summary,omitempty"`
	Entities        []*MissionControlEntityCard    `protobuf:"bytes,7,rep,name=entities,proto3" json:"entities,omitempty"`
	Relations       []*MissionControlRelation      `protobuf:"bytes,8,rep,name=relations,proto3" json:"relations,omitempty"`
	NextPageCursor  *string                        `protobuf:"bytes,9,opt,name=next_page_cursor,json=nextPageCursor,proto3,oneof" json:"next_page_cursor,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *MissionControlDashboardSnapshot) Reset() {
	*x = MissionControlDashboardSnapshot{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[129]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlDashboardSnapshot) ProtoMessage() {}

func (x *MissionControlDashboardSnapshot) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[129]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlDashboardSnapshot.ProtoReflect.Descriptor instead.
func (*MissionControlDashboardSnapshot) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{129}
}

func (x *MissionControlDashboardSnapshot) GetSnapshotId() string {
	if x != nil {
		return x.SnapshotId
	}
	return ""
}

func (x *MissionControlDashboardSnapshot) GetViewMode() string {
	if x != nil {
		return x.ViewMode
	}
	return ""
}

func (x *MissionControlDashboardSnapshot) GetFreshnessStatus() string {
	if x != nil {
		return x.FreshnessStatus
	}
	return ""
}

func (x *MissionControlDashboardSnapshot) GetGeneratedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.GeneratedAt
	}
	return nil
}

func (x *MissionControlDashboardSnapshot) GetStaleAfter() *timestamppb.Timestamp {
	if x != nil {
		return x.StaleAfter
	}
	return nil
}

func (x *MissionControlDashboardSnapshot) GetSummary() *MissionControlSnapshotSummary {
	if x != nil {
		return x.Summary
	}
	return nil
}

func (x *MissionControlDashboardSnapshot) GetEntities() []*MissionControlEntityCard {
	if x != nil {
		return x.Entities
	}
	return nil
}

func (x *MissionControlDashboardSnapshot) GetRelations() []*MissionControlRelation {
	if x != nil {
		return x.Relations
	}
	return nil
}

func (x *MissionControlDashboardSnapshot) GetNextPageCursor() string {
	if x != nil && x.NextPageCursor != nil {
		return *x.NextPageCursor
	}
	return ""
}

type GetMissionControlSnapshotRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ViewMode      *string                `protobuf:"bytes,2,opt,name=view_mode,json=viewMode,proto3,oneof" json:"view_mode,omitempty"`
	ActiveFilter  *string                `protobuf:"bytes,3,opt,name=active_filter,json=activeFilter,proto3,oneof" json:"active_filter,omitempty"`
	Search        *string                `protobuf:"bytes,4,opt,name=search,proto3,oneof" json:"search,omitempty"`
	Cursor        *string                `protobuf:"bytes,5,opt,name=cursor,proto3,oneof" json:"cursor,omitempty"`
	Limit         int32                  `protobuf:"varint,6,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetMissionControlSnapshotRequest) Reset() {
	*x = GetMissionControlSnapshotRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[130]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetMissionControlSnapshotRequest) ProtoMessage() {}

func (x *GetMissionControlSnapshotRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[130]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMissionControlSnapshotRequest.ProtoReflect.Descriptor instead.
func (*GetMissionControlSnapshotRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{130}
}

func (x *GetMissionControlSnapshotRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *GetMissionControlSnapshotRequest) GetViewMode() string {
	if x != nil && x.ViewMode != nil {
		return *x.ViewMode
	}
	return ""
}

func (x *GetMissionControlSnapshotRequest) GetActiveFilter() string {
	if x != nil && x.ActiveFilter != nil {
		return *x.ActiveFilter
	}
	return ""
}

func (x *GetMissionControlSnapshotRequest) GetSearch() string {
	if x != nil && x.Search != nil {
		return *x.Search
	}
	return ""
}

func (x *GetMissionControlSnapshotRequest) GetCursor() string {
	if x != nil && x.Cursor != nil {
		return *x.Cursor
	}
	return ""
}

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

type GetMissionControlSnapshotResponse struct {
	state         protoimpl.MessageState           `protogen:"open.v1"`
	Snapshot      *MissionControlDashboardSnapshot `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetMissionControlSnapshotResponse) Reset() {
	*x = GetMissionControlSnapshotResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[131]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetMissionControlSnapshotResponse) ProtoMessage() {}

func (x *GetMissionControlSnapshotResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[131]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMissionControlSnapshotResponse.ProtoReflect.Descriptor instead.
func (*GetMissionControlSnapshotResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{131}
}

func (x *GetMissionControlSnapshotResponse) GetSnapshot() *MissionControlDashboardSnapshot {
	if x != nil {
		return x.Snapshot
	}
	return nil
}

type GetMissionControlEntityRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Principal      *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	EntityKind     string                 `protobuf:"bytes,2,opt,name=entity_kind,json=entityKind,proto3" json:"entity_kind,omitempty"`
	EntityPublicId string                 `protobuf:"bytes,3,opt,name=entity_public_id,json=entityPublicId,proto3" json:"entity_public_id,omitempty"`
	TimelineLimit  int32                  `protobuf:"varint,4,opt,name=timeline_limit,json=timelineLimit,proto3" json:"timeline_limit,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GetMissionControlEntityRequest) Reset() {
	*x = GetMissionControlEntityRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[132]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetMissionControlEntityRequest) ProtoMessage() {}

func (x *GetMissionControlEntityRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[132]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMissionControlEntityRequest.ProtoReflect.Descriptor instead.
func (*GetMissionControlEntityRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{132}
}

func (x *GetMissionControlEntityRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *GetMissionControlEntityRequest) GetEntityKind() string {
	if x != nil {
		return x.EntityKind
	}
	return ""
}

func (x *GetMissionControlEntityRequest) GetEntityPublicId() string {
	if x != nil {
		return x.EntityPublicId
	}
	return ""
}

func (x *GetMissionControlEntityRequest) GetTimelineLimit() int32 {
	if x != nil {
		return x.TimelineLimit
	}
	return 0
}

type ListMissionControlTimelineRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Principal      *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	EntityKind     string                 `protobuf:"bytes,2,opt,name=entity_kind,json=entityKind,proto3" json:"entity_kind,omitempty"`
	EntityPublicId string                 `protobuf:"bytes,3,opt,name=entity_public_id,json=entityPublicId,proto3" json:"entity_public_id,omitempty"`
	Cursor         *string                `protobuf:"bytes,4,opt,name=cursor,proto3,oneof" json:"cursor,omitempty"`
	Limit          int32                  `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ListMissionControlTimelineRequest) Reset() {
	*x = ListMissionControlTimelineRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[133]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListMissionControlTimelineRequest) ProtoMessage() {}

func (x *ListMissionControlTimelineRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[133]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListMissionControlTimelineRequest.ProtoReflect.Descriptor instead.
func (*ListMissionControlTimelineRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{133}
}

func (x *ListMissionControlTimelineRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ListMissionControlTimelineRequest) GetEntityKind() string {
	if x != nil {
		return x.EntityKind
	}
	return ""
}

func (x *ListMissionControlTimelineRequest) GetEntityPublicId() string {
	if x != nil {
		return x.EntityPublicId
	}
	return ""
}

func (x *ListMissionControlTimelineRequest) GetCursor() string {
	if x != nil && x.Cursor != nil {
		return *x.Cursor
	}
	return ""
}

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

type ListMissionControlTimelineResponse struct {
	state         protoimpl.MessageState         `protogen:"open.v1"`
	Items         []*MissionControlTimelineEntry `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	NextCursor    *string                        `protobuf:"bytes,2,opt,name=next_cursor,json=nextCursor,proto3,oneof" json:"next_cursor,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListMissionControlTimelineResponse) Reset() {
	*x = ListMissionControlTimelineResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[134]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListMissionControlTimelineResponse) ProtoMessage() {}

func (x *ListMissionControlTimelineResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[134]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListMissionControlTimelineResponse.ProtoReflect.Descriptor instead.
func (*ListMissionControlTimelineResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{134}
}

func (x *ListMissionControlTimelineResponse) GetItems() []*MissionControlTimelineEntry {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *ListMissionControlTimelineResponse) GetNextCursor() string {
	if x != nil && x.NextCursor != nil {
		return *x.NextCursor
	}
	return ""
}

type MissionControlNodeRef struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	NodeKind      string                 `protobuf:"bytes,1,opt,name=node_kind,json=nodeKind,proto3" json:"node_kind,omitempty"`
	NodePublicId  string                 `protobuf:"bytes,2,opt,name=node_public_id,json=nodePublicId,proto3" json:"node_public_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MissionControlNodeRef) Reset() {
	*x = MissionControlNodeRef{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[135]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlNodeRef) ProtoMessage() {}

func (x *MissionControlNodeRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[135]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlNodeRef.ProtoReflect.Descriptor instead.
func (*MissionControlNodeRef) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{135}
}

func (x *MissionControlNodeRef) GetNodeKind() string {
	if x != nil {
		return x.NodeKind
	}
	return ""
}

func (x *MissionControlNodeRef) GetNodePublicId() string {
	if x != nil {
		return x.NodePublicId
	}
	return ""
}

type MissionControlWorkspaceFilters struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	OpenScope       string                 `protobuf:"bytes,1,opt,name=open_scope,json=openScope,proto3" json:"open_scope,omitempty"`
	AssignmentScope string                 `protobuf:"bytes,2,opt,name=assignment_scope,json=assignmentScope,proto3" json:"assignment_scope,omitempty"`
	StatePreset     string                 `protobuf:"bytes,3,opt,name=state_preset,json=statePreset,proto3" json:"state_preset,omitempty"`
	Search          *string                `protobuf:"bytes,4,opt,name=search,proto3,oneof" json:"search,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *MissionControlWorkspaceFilters) Reset() {
	*x = MissionControlWorkspaceFilters{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[136]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlWorkspaceFilters) ProtoMessage() {}

func (x *MissionControlWorkspaceFilters) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[136]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlWorkspaceFilters.ProtoReflect.Descriptor instead.
func (*MissionControlWorkspaceFilters) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{136}
}

func (x *MissionControlWorkspaceFilters) GetOpenScope() string {
	if x != nil {
		return x.OpenScope
	}
	return ""
}

func (x *MissionControlWorkspaceFilters) GetAssignmentScope() string {
	if x != nil {
		return x.AssignmentScope
	}
	return ""
}

func (x *MissionControlWorkspaceFilters) GetStatePreset() string {
	if x != nil {
		return x.StatePreset
	}
	return ""
}

func (x *MissionControlWorkspaceFilters) GetSearch() string {
	if x != nil && x.Search != nil {
		return *x.Search
	}
	return ""
}

type MissionControlWorkspaceSummary struct {
	state                      protoimpl.MessageState `protogen:"open.v1"`
	RootCount                  int32                  `protobuf:"varint,1,opt,name=root_count,json=rootCount,proto3" json:"root_count,omitempty"`
	NodeCount                  int32                  `protobuf:"varint,2,opt,name=node_count,json=nodeCount,proto3" json:"node_count,omitempty"`
	BlockingGapCount           int32                  `protobuf:"varint,3,opt,name=blocking_gap_count,json=blockingGapCount,proto3" json:"blocking_gap_count,omitempty"`
	WarningGapCount            int32                  `protobuf:"varint,4,opt,name=warning_gap_count,json=warningGapCount,proto3" json:"warning_gap_count,omitempty"`
	RecentClosedContextCount   int32                  `protobuf:"varint,5,opt,name=recent_closed_context_count,json=recentClosedContextCount,proto3" json:"recent_closed_context_count,omitempty"`
	WorkingCount               int32                  `protobuf:"varint,6,opt,name=working_count,json=workingCount,proto3" json:"working_count,omitempty"`
	WaitingCount               int32                  `protobuf:"varint,7,opt,name=waiting_count,json=waitingCount,proto3" json:"waiting_count,omitempty"`
	BlockedCount               int32                  `protobuf:"varint,8,opt,name=blocked_count,json=blockedCount,proto3" json:"blocked_count,omitempty"`
	ReviewCount                int32                  `protobuf:"varint,9,opt,name=review_count,json=reviewCount,proto3" json:"review_count,omitempty"`
	RecentCriticalUpdatesCount int32                  `protobuf:"varint,10,opt,name=recent_critical_updates_count,json=recentCriticalUpdatesCount,proto3" json:"recent_critical_updates_count,omitempty"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

func (x *MissionControlWorkspaceSummary) Reset() {
	*x = MissionControlWorkspaceSummary{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[137]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlWorkspaceSummary) ProtoMessage() {}

func (x *MissionControlWorkspaceSummary) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[137]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlWorkspaceSummary.ProtoReflect.Descriptor instead.
func (*MissionControlWorkspaceSummary) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{137}
}

func (x *MissionControlWorkspaceSummary) GetRootCount() int32 {
	if x != nil {
		return x.RootCount
	}
	return 0
}

func (x *MissionControlWorkspaceSummary) GetNodeCount() int32 {
	if x != nil {
		return x.NodeCount
	}
	return 0
}

func (x *MissionControlWorkspaceSummary) GetBlockingGapCount() int32 {
	if x != nil {
		return x.BlockingGapCount
	}
	return 0
}

func (x *MissionControlWorkspaceSummary) GetWarningGapCount() int32 {
	if x != nil {
		return x.WarningGapCount
	}
	return 0
}

func (x *MissionControlWorkspaceSummary) GetRecentClosedContextCount() int32 {
	if x != nil {
		return x.RecentClosedContextCount
	}
	return 0
}

func (x *MissionControlWorkspaceSummary) GetWorkingCount() int32 {
	if x != nil {
		return x.WorkingCount
	}
	return 0
}

func (x *MissionControlWorkspaceSummary) GetWaitingCount() int32 {
	if x != nil {
		return x.WaitingCount
	}
	return 0
}

func (x *MissionControlWorkspaceSummary) GetBlockedCount() int32 {
	if x != nil {
		return x.BlockedCount
	}
	return 0
}

func (x *MissionControlWorkspaceSummary) GetReviewCount() int32 {
	if x != nil {
		return x.ReviewCount
	}
	return 0
}

func (x *MissionControlWorkspaceSummary) GetRecentCriticalUpdatesCount() int32 {
	if x != nil {
		return x.RecentCriticalUpdatesCount
	}
	return 0
}

type MissionControlWorkspaceWatermark struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	WatermarkKind   string                 `protobuf:"bytes,1,opt,name=watermark_kind,json=watermarkKind,proto3" json:"watermark_kind,omitempty"`
	Status          string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	Summary         string                 `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"`
	ObservedAt      *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=observed_at,json=observedAt,proto3" json:"observed_at,omitempty"`
	WindowStartedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=window_started_at,json=windowStartedAt,proto3" json:"window_started_at,omitempty"`
	WindowEndedAt   *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=window_ended_at,json=windowEndedAt,proto3" json:"window_ended_at,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *MissionControlWorkspaceWatermark) Reset() {
	*x = MissionControlWorkspaceWatermark{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[138]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlWorkspaceWatermark) ProtoMessage() {}

func (x *MissionControlWorkspaceWatermark) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[138]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlWorkspaceWatermark.ProtoReflect.Descriptor instead.
func (*MissionControlWorkspaceWatermark) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{138}
}

func (x *MissionControlWorkspaceWatermark) GetWatermarkKind() string {
	if x != nil {
		return x.WatermarkKind
	}
	return ""
}

func (x *MissionControlWorkspaceWatermark) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *MissionControlWorkspaceWatermark) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *MissionControlWorkspaceWatermark) GetObservedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ObservedAt
	}
	return nil
}

func (x *MissionControlWorkspaceWatermark) GetWindowStartedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.WindowStartedAt
	}
	return nil
}

func (x *MissionControlWorkspaceWatermark) GetWindowEndedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.WindowEndedAt
	}
	return nil
}

type MissionControlRootGroup struct {
	state            protoimpl.MessageState   `protogen:"open.v1"`
	RootNodeKind     string                   `protobuf:"bytes,1,opt,name=root_node_kind,json=rootNodeKind,proto3" json:"root_node_kind,omitempty"`
	RootNodePublicId string                   `protobuf:"bytes,2,opt,name=root_node_public_id,json=rootNodePublicId,proto3" json:"root_node_public_id,omitempty"`
	RootTitle        string                   `protobuf:"bytes,3,opt,name=root_title,json=rootTitle,proto3" json:"root_title,omitempty"`
	NodeRefs         []*MissionControlNodeRef `protobuf:"bytes,4,rep,name=node_refs,json=nodeRefs,proto3" json:"node_refs,omitempty"`
	HasBlockingGap   bool                     `protobuf:"varint,5,opt,name=has_blocking_gap,json=hasBlockingGap,proto3" json:"has_blocking_gap,omitempty"`
	LatestActivityAt *timestamppb.Timestamp   `protobuf:"bytes,6,opt,name=latest_activity_at,json=latestActivityAt,proto3" json:"latest_activity_at,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *MissionControlRootGroup) Reset() {
	*x = MissionControlRootGroup{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[139]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlRootGroup) ProtoMessage() {}

func (x *MissionControlRootGroup) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[139]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlRootGroup.ProtoReflect.Descriptor instead.
func (*MissionControlRootGroup) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{139}
}

func (x *MissionControlRootGroup) GetRootNodeKind() string {
	if x != nil {
		return x.RootNodeKind
	}
	return ""
}

func (x *MissionControlRootGroup) GetRootNodePublicId() string {
	if x != nil {
		return x.RootNodePublicId
	}
	return ""
}

func (x *MissionControlRootGroup) GetRootTitle() string {
	if x != nil {
		return x.RootTitle
	}
	return ""
}

func (x *MissionControlRootGroup) GetNodeRefs() []*MissionControlNodeRef {
	if x != nil {
		return x.NodeRefs
	}
	return nil
}

func (x *MissionControlRootGroup) GetHasBlockingGap() bool {
	if x != nil {
		return x.HasBlockingGap
	}
	return false
}

func (x *MissionControlRootGroup) GetLatestActivityAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LatestActivityAt
	}
	return nil
}

type MissionControlNode struct {
	state             protoimpl.MessageState           `protogen:"open.v1"`
	NodeKind          string                           `protobuf:"bytes,1,opt,name=node_kind,json=nodeKind,proto3" json:"node_kind,omitempty"`
	NodePublicId      string                           `protobuf:"bytes,2,opt,name=node_public_id,json=nodePublicId,proto3" json:"node_public_id,omitempty"`
	Title             string                           `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
	VisibilityTier    string                           `protobuf:"bytes,4,opt,name=visibility_tier,json=visibilityTier,proto3" json:"visibility_tier,omitempty"`
	ActiveState       string                           `protobuf:"bytes,5,opt,name=active_state,json=activeState,proto3" json:"active_state,omitempty"`
	ContinuityStatus  string                           `protobuf:"bytes,6,opt,name=continuity_status,json=continuityStatus,proto3" json:"continuity_status,omitempty"`
	CoverageClass     string                           `protobuf:"bytes,7,opt,name=coverage_class,json=coverageClass,proto3" json:"coverage_class,omitempty"`
	ProviderReference *MissionControlProviderReference `protobuf:"bytes,8,opt,name=provider_reference,json=providerReference,proto3" json:"provider_reference,omitempty"`
	RootNodePublicId  string                           `protobuf:"bytes,9,opt,name=root_node_public_id,json=rootNodePublicId,proto3" json:"root_node_public_id,omitempty"`
	ColumnIndex       int32                            `protobuf:"varint,10,opt,name=column_index,json=columnIndex,proto3" json:"column_index,omitempty"`
	LastActivityAt    *timestamppb.Timestamp           `protobuf:"bytes,11,opt,name=last_activity_at,json=lastActivityAt,proto3" json:"last_activity_at,omitempty"`
	HasBlockingGap    bool                             `protobuf:"varint,12,opt,name=has_blocking_gap,json=hasBlockingGap,proto3" json:"has_blocking_gap,omitempty"`
	Badges            []string                         `protobuf:"bytes,13,rep,name=badges,proto3" json:"badges,omitempty"`
	ProjectionVersion int64                            `protobuf:"varint,14,opt,name=projection_version,json=projectionVersion,proto3" json:"projection_version,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *MissionControlNode) Reset() {
	*x = MissionControlNode{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[140]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlNode) ProtoMessage() {}

func (x *MissionControlNode) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[140]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlNode.ProtoReflect.Descriptor instead.
func (*MissionControlNode) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{140}
}

func (x *MissionControlNode) GetNodeKind() string {
	if x != nil {
		return x.NodeKind
	}
	return ""
}

func (x *MissionControlNode) GetNodePublicId() string {
	if x != nil {
		return x.NodePublicId
	}
	return ""
}

func (x *MissionControlNode) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *MissionControlNode) GetVisibilityTier() string {
	if x != nil {
		return x.VisibilityTier
	}
	return ""
}

func (x *MissionControlNode) GetActiveState() string {
	if x != nil {
		return x.ActiveState
	}
	return ""
}

func (x *MissionControlNode) GetContinuityStatus() string {
	if x != nil {
		return x.ContinuityStatus
	}
	return ""
}

func (x *MissionControlNode) GetCoverageClass() string {
	if x != nil {
		return x.CoverageClass
	}
	return ""
}

func (x *MissionControlNode) GetProviderReference() *MissionControlProviderReference {
	if x != nil {
		return x.ProviderReference
	}
	return nil
}

func (x *MissionControlNode) GetRootNodePublicId() string {
	if x != nil {
		return x.RootNodePublicId
	}
	return ""
}

func (x *MissionControlNode) GetColumnIndex() int32 {
	if x != nil {
		return x.ColumnIndex
	}
	return 0
}

func (x *MissionControlNode) GetLastActivityAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastActivityAt
	}
	return nil
}

func (x *MissionControlNode) GetHasBlockingGap() bool {
	if x != nil {
		return x.HasBlockingGap
	}
	return false
}

func (x *MissionControlNode) GetBadges() []string {
	if x != nil {
		return x.Badges
	}
	return nil
}

func (x *MissionControlNode) GetProjectionVersion() int64 {
	if x != nil {
		return x.ProjectionVersion
	}
	return 0
}

type MissionControlEdge struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	EdgeKind           string                 `protobuf:"bytes,1,opt,name=edge_kind,json=edgeKind,proto3" json:"edge_kind,omitempty"`
	SourceNodeKind     string                 `protobuf:"bytes,2,opt,name=source_node_kind,json=sourceNodeKind,proto3" json:"source_node_kind,omitempty"`
	SourceNodePublicId string                 `protobuf:"bytes,3,opt,name=source_node_public_id,json=sourceNodePublicId,proto3" json:"source_node_public_id,omitempty"`
	TargetNodeKind     string                 `protobuf:"bytes,4,opt,name=target_node_kind,json=targetNodeKind,proto3" json:"target_node_kind,omitempty"`
	TargetNodePublicId string                 `protobuf:"bytes,5,opt,name=target_node_public_id,json=targetNodePublicId,proto3" json:"target_node_public_id,omitempty"`
	VisibilityTier     string                 `protobuf:"bytes,6,opt,name=visibility_tier,json=visibilityTier,proto3" json:"visibility_tier,omitempty"`
	SourceOfTruth      string                 `protobuf:"bytes,7,opt,name=source_of_truth,json=sourceOfTruth,proto3" json:"source_of_truth,omitempty"`
	IsPrimaryPath      bool                   `protobuf:"varint,8,opt,name=is_primary_path,json=isPrimaryPath,proto3" json:"is_primary_path,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *MissionControlEdge) Reset() {
	*x = MissionControlEdge{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[141]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlEdge) ProtoMessage() {}

func (x *MissionControlEdge) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[141]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlEdge.ProtoReflect.Descriptor instead.
func (*MissionControlEdge) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{141}
}

func (x *MissionControlEdge) GetEdgeKind() string {
	if x != nil {
		return x.EdgeKind
	}
	return ""
}

func (x *MissionControlEdge) GetSourceNodeKind() string {
	if x != nil {
		return x.SourceNodeKind
	}
	return ""
}

func (x *MissionControlEdge) GetSourceNodePublicId() string {
	if x != nil {
		return x.SourceNodePublicId
	}
	return ""
}

func (x *MissionControlEdge) GetTargetNodeKind() string {
	if x != nil {
		return x.TargetNodeKind
	}
	return ""
}

func (x *MissionControlEdge) GetTargetNodePublicId() string {
	if x != nil {
		return x.TargetNodePublicId
	}
	return ""
}

func (x *MissionControlEdge) GetVisibilityTier() string {
	if x != nil {
		return x.VisibilityTier
	}
	return ""
}

func (x *MissionControlEdge) GetSourceOfTruth() string {
	if x != nil {
		return x.SourceOfTruth
	}
	return ""
}

func (x *MissionControlEdge) GetIsPrimaryPath() bool {
	if x != nil {
		return x.IsPrimaryPath
	}
	return false
}

type MissionControlWorkspaceSnapshot struct {
	state               protoimpl.MessageState              `protogen:"open.v1"`
	SnapshotId          string                              `protobuf:"bytes,1,opt,name=snapshot_id,json=snapshotId,proto3" json:"snapshot_id,omitempty"`
	ViewMode            string                              `protobuf:"bytes,2,opt,name=view_mode,json=viewMode,proto3" json:"view_mode,omitempty"`
	GeneratedAt         *timestamppb.Timestamp              `protobuf:"bytes,3,opt,name=generated_at,json=generatedAt,proto3" json:"generated_at,omitempty"`
	EffectiveFilters    *MissionControlWorkspaceFilters     `protobuf:"bytes,4,opt,name=effective_filters,json=effectiveFilters,proto3" json:"effective_filters,omitempty"`
	Summary             *MissionControlWorkspaceSummary     `protobuf:"bytes,5,opt,name=summary,proto3" json:"summary,omitempty"`
	WorkspaceWatermarks []*MissionControlWorkspaceWatermark `protobuf:"bytes,6,rep,name=workspace_watermarks,json=workspaceWatermarks,proto3" json:"workspace_watermarks,omitempty"`
	RootGroups          []*MissionControlRootGroup          `protobuf:"bytes,7,rep,name=root_groups,json=rootGroups,proto3" json:"root_groups,omitempty"`
	Nodes               []*MissionControlNode               `protobuf:"bytes,8,rep,name=nodes,proto3" json:"nodes,omitempty"`
	Edges               []*MissionControlEdge               `protobuf:"bytes,9,rep,name=edges,proto3" json:"edges,omitempty"`
	NextRootCursor      *string                             `protobuf:"bytes,10,opt,name=next_root_cursor,json=nextRootCursor,proto3,oneof" json:"next_root_cursor,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MissionControlWorkspaceSnapshot) Reset() {
	*x = MissionControlWorkspaceSnapshot{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[142]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlWorkspaceSnapshot) ProtoMessage() {}

func (x *MissionControlWorkspaceSnapshot) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[142]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlWorkspaceSnapshot.ProtoReflect.Descriptor instead.
func (*MissionControlWorkspaceSnapshot) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{142}
}

func (x *MissionControlWorkspaceSnapshot) GetSnapshotId() string {
	if x != nil {
		return x.SnapshotId
	}
	return ""
}

func (x *MissionControlWorkspaceSnapshot) GetViewMode() string {
	if x != nil {
		return x.ViewMode
	}
	return ""
}

func (x *MissionControlWorkspaceSnapshot) GetGeneratedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.GeneratedAt
	}
	return nil
}

func (x *MissionControlWorkspaceSnapshot) GetEffectiveFilters() *MissionControlWorkspaceFilters {
	if x != nil {
		return x.EffectiveFilters
	}
	return nil
}

func (x *MissionControlWorkspaceSnapshot) GetSummary() *MissionControlWorkspaceSummary {
	if x != nil {
		return x.Summary
	}
	return nil
}

func (x *MissionControlWorkspaceSnapshot) GetWorkspaceWatermarks() []*MissionControlWorkspaceWatermark {
	if x != nil {
		return x.WorkspaceWatermarks
	}
	return nil
}

func (x *MissionControlWorkspaceSnapshot) GetRootGroups() []*MissionControlRootGroup {
	if x != nil {
		return x.RootGroups
	}
	return nil
}

func (x *MissionControlWorkspaceSnapshot) GetNodes() []*MissionControlNode {
	if x != nil {
		return x.Nodes
	}
	return nil
}

func (x *MissionControlWorkspaceSnapshot) GetEdges() []*MissionControlEdge {
	if x != nil {
		return x.Edges
	}
	return nil
}

func (x *MissionControlWorkspaceSnapshot) GetNextRootCursor() string {
	if x != nil && x.NextRootCursor != nil {
		return *x.NextRootCursor
	}
	return ""
}

type GetMissionControlWorkspaceRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ViewMode      *string                `protobuf:"bytes,2,opt,name=view_mode,json=viewMode,proto3,oneof" json:"view_mode,omitempty"`
	StatePreset   *string                `protobuf:"bytes,3,opt,name=state_preset,json=statePreset,proto3,oneof" json:"state_preset,omitempty"`
	Search        *string                `protobuf:"bytes,4,opt,name=search,proto3,oneof" json:"search,omitempty"`
	Cursor        *string                `protobuf:"bytes,5,opt,name=cursor,proto3,oneof" json:"cursor,omitempty"`
	RootLimit     int32                  `protobuf:"varint,6,opt,name=root_limit,json=rootLimit,proto3" json:"root_limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetMissionControlWorkspaceRequest) Reset() {
	*x = GetMissionControlWorkspaceRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[143]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetMissionControlWorkspaceRequest) ProtoMessage() {}

func (x *GetMissionControlWorkspaceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[143]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMissionControlWorkspaceRequest.ProtoReflect.Descriptor instead.
func (*GetMissionControlWorkspaceRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{143}
}

func (x *GetMissionControlWorkspaceRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *GetMissionControlWorkspaceRequest) GetViewMode() string {
	if x != nil && x.ViewMode != nil {
		return *x.ViewMode
	}
	return ""
}

func (x *GetMissionControlWorkspaceRequest) GetStatePreset() string {
	if x != nil && x.StatePreset != nil {
		return *x.StatePreset
	}
	return ""
}

func (x *GetMissionControlWorkspaceRequest) GetSearch() string {
	if x != nil && x.Search != nil {
		return *x.Search
	}
	return ""
}

func (x *GetMissionControlWorkspaceRequest) GetCursor() string {
	if x != nil && x.Cursor != nil {
		return *x.Cursor
	}
	return ""
}

func (x *GetMissionControlWorkspaceRequest) GetRootLimit() int32 {
	if x != nil {
		return x.RootLimit
	}
	return 0
}

type GetMissionControlWorkspaceResponse struct {
	state         protoimpl.MessageState           `protogen:"open.v1"`
	Snapshot      *MissionControlWorkspaceSnapshot `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetMissionControlWorkspaceResponse) Reset() {
	*x = GetMissionControlWorkspaceResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[144]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetMissionControlWorkspaceResponse) ProtoMessage() {}

func (x *GetMissionControlWorkspaceResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[144]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMissionControlWorkspaceResponse.ProtoReflect.Descriptor instead.
func (*GetMissionControlWorkspaceResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{144}
}

func (x *GetMissionControlWorkspaceResponse) GetSnapshot() *MissionControlWorkspaceSnapshot {
	if x != nil {
		return x.Snapshot
	}
	return nil
}

type MissionControlContinuityGap struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	GapId               int64                  `protobuf:"varint,1,opt,name=gap_id,json=gapId,proto3" json:"gap_id,omitempty"`
	GapKind             string                 `protobuf:"bytes,2,opt,name=gap_kind,json=gapKind,proto3" json:"gap_kind,omitempty"`
	Severity            string                 `protobuf:"bytes,3,opt,name=severity,proto3" json:"severity,omitempty"`
	Status              string                 `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	SubjectNodeKind     string                 `protobuf:"bytes,5,opt,name=subject_node_kind,json=subjectNodeKind,proto3" json:"subject_node_kind,omitempty"`
	SubjectNodePublicId string                 `protobuf:"bytes,6,opt,name=subject_node_public_id,json=subjectNodePublicId,proto3" json:"subject_node_public_id,omitempty"`
	ExpectedNodeKind    *string                `protobuf:"bytes,7,opt,name=expected_node_kind,json=expectedNodeKind,proto3,oneof" json:"expected_node_kind,omitempty"`
	ExpectedStageLabel  *string                `protobuf:"bytes,8,opt,name=expected_stage_label,json=expectedStageLabel,proto3,oneof" json:"expected_stage_label,omitempty"`
	DetectedAt          *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=detected_at,json=detectedAt,proto3" json:"detected_at,omitempty"`
	ResolvedAt          *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=resolved_at,json=resolvedAt,proto3" json:"resolved_at,omitempty"`
	ResolutionHint      *string                `protobuf:"bytes,11,opt,name=resolution_hint,json=resolutionHint,proto3,oneof" json:"resolution_hint,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MissionControlContinuityGap) Reset() {
	*x = MissionControlContinuityGap{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[145]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlContinuityGap) ProtoMessage() {}

func (x *MissionControlContinuityGap) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[145]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlContinuityGap.ProtoReflect.Descriptor instead.
func (*MissionControlContinuityGap) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{145}
}

func (x *MissionControlContinuityGap) GetGapId() int64 {
	if x != nil {
		return x.GapId
	}
	return 0
}

func (x *MissionControlContinuityGap) GetGapKind() string {
	if x != nil {
		return x.GapKind
	}
	return ""
}

func (x *MissionControlContinuityGap) GetSeverity() string {
	if x != nil {
		return x.Severity
	}
	return ""
}

func (x *MissionControlContinuityGap) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *MissionControlContinuityGap) GetSubjectNodeKind() string {
	if x != nil {
		return x.SubjectNodeKind
	}
	return ""
}

func (x *MissionControlContinuityGap) GetSubjectNodePublicId() string {
	if x != nil {
		return x.SubjectNodePublicId
	}
	return ""
}

func (x *MissionControlContinuityGap) GetExpectedNodeKind() string {
	if x != nil && x.ExpectedNodeKind != nil {
		return *x.ExpectedNodeKind
	}
	return ""
}

func (x *MissionControlContinuityGap) GetExpectedStageLabel() string {
	if x != nil && x.ExpectedStageLabel != nil {
		return *x.ExpectedStageLabel
	}
	return ""
}

func (x *MissionControlContinuityGap) GetDetectedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.DetectedAt
	}
	return nil
}

func (x *MissionControlContinuityGap) GetResolvedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ResolvedAt
	}
	return nil
}

func (x *MissionControlContinuityGap) GetResolutionHint() string {
	if x != nil && x.ResolutionHint != nil {
		return *x.ResolutionHint
	}
	return ""
}

type MissionControlStageNextStepTemplate struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ThreadKind          string                 `protobuf:"bytes,1,opt,name=thread_kind,json=threadKind,proto3" json:"thread_kind,omitempty"`
	ThreadNumber        int32                  `protobuf:"varint,2,opt,name=thread_number,json=threadNumber,proto3" json:"thread_number,omitempty"`
	TargetLabel         string                 `protobuf:"bytes,3,opt,name=target_label,json=targetLabel,proto3" json:"target_label,omitempty"`
	RemovedLabels       []string               `protobuf:"bytes,4,rep,name=removed_labels,json=removedLabels,proto3" json:"removed_labels,omitempty"`
	DisplayVariant      *string                `protobuf:"bytes,5,opt,name=display_variant,json=displayVariant,proto3,oneof" json:"display_variant,omitempty"`
	ApprovalRequirement string                 `protobuf:"bytes,6,opt,name=approval_requirement,json=approvalRequirement,proto3" json:"approval_requirement,omitempty"`
	ExpectedGapIds      []int64                `protobuf:"varint,7,rep,packed,name=expected_gap_ids,json=expectedGapIds,proto3" json:"expected_gap_ids,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MissionControlStageNextStepTemplate) Reset() {
	*x = MissionControlStageNextStepTemplate{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[146]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlStageNextStepTemplate) ProtoMessage() {}

func (x *MissionControlStageNextStepTemplate) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[146]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlStageNextStepTemplate.ProtoReflect.Descriptor instead.
func (*MissionControlStageNextStepTemplate) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{146}
}

func (x *MissionControlStageNextStepTemplate) GetThreadKind() string {
	if x != nil {
		return x.ThreadKind
	}
	return ""
}

func (x *MissionControlStageNextStepTemplate) GetThreadNumber() int32 {
	if x != nil {
		return x.ThreadNumber
	}
	return 0
}

func (x *MissionControlStageNextStepTemplate) GetTargetLabel() string {
	if x != nil {
		return x.TargetLabel
	}
	return ""
}

func (x *MissionControlStageNextStepTemplate) GetRemovedLabels() []string {
	if x != nil {
		return x.RemovedLabels
	}
	return nil
}

func (x *MissionControlStageNextStepTemplate) GetDisplayVariant() string {
	if x != nil && x.DisplayVariant != nil {
		return *x.DisplayVariant
	}
	return ""
}

func (x *MissionControlStageNextStepTemplate) GetApprovalRequirement() string {
	if x != nil {
		return x.ApprovalRequirement
	}
	return ""
}

func (x *MissionControlStageNextStepTemplate) GetExpectedGapIds() []int64 {
	if x != nil {
		return x.ExpectedGapIds
	}
	return nil
}

type MissionControlLaunchSurface struct {
	state               protoimpl.MessageState               `protogen:"open.v1"`
	ActionKind          string                               `protobuf:"bytes,1,opt,name=action_kind,json=actionKind,proto3" json:"action_kind,omitempty"`
	Presentation        string                               `protobuf:"bytes,2,opt,name=presentation,proto3" json:"presentation,omitempty"`
	ApprovalRequirement string                               `protobuf:"bytes,3,opt,name=approval_requirement,json=approvalRequirement,proto3" json:"approval_requirement,omitempty"`
	BlockedReason       *string                              `protobuf:"bytes,4,opt,name=blocked_reason,json=blockedReason,proto3,oneof" json:"blocked_reason,omitempty"`
	CommandTemplate     *MissionControlStageNextStepTemplate `protobuf:"bytes,5,opt,name=command_template,json=commandTemplate,proto3" json:"command_template,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MissionControlLaunchSurface) Reset() {
	*x = MissionControlLaunchSurface{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[147]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlLaunchSurface) ProtoMessage() {}

func (x *MissionControlLaunchSurface) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[147]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlLaunchSurface.ProtoReflect.Descriptor instead.
func (*MissionControlLaunchSurface) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{147}
}

func (x *MissionControlLaunchSurface) GetActionKind() string {
	if x != nil {
		return x.ActionKind
	}
	return ""
}

func (x *MissionControlLaunchSurface) GetPresentation() string {
	if x != nil {
		return x.Presentation
	}
	return ""
}

func (x *MissionControlLaunchSurface) GetApprovalRequirement() string {
	if x != nil {
		return x.ApprovalRequirement
	}
	return ""
}

func (x *MissionControlLaunchSurface) GetBlockedReason() string {
	if x != nil && x.BlockedReason != nil {
		return *x.BlockedReason
	}
	return ""
}

func (x *MissionControlLaunchSurface) GetCommandTemplate() *MissionControlStageNextStepTemplate {
	if x != nil {
		return x.CommandTemplate
	}
	return nil
}

type MissionControlDiscussionNodeDetails struct {
	state                   protoimpl.MessageState   `protogen:"open.v1"`
	DiscussionKind          string                   `protobuf:"bytes,1,opt,name=discussion_kind,json=discussionKind,proto3" json:"discussion_kind,omitempty"`
	Status                  string                   `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	Author                  string                   `protobuf:"bytes,3,opt,name=author,proto3" json:"author,omitempty"`
	ParticipantCount        int32                    `protobuf:"varint,4,opt,name=participant_count,json=participantCount,proto3" json:"participant_count,omitempty"`
	LatestCommentExcerpt    string                   `protobuf:"bytes,5,opt,name=latest_comment_excerpt,json=latestCommentExcerpt,proto3" json:"latest_comment_excerpt,omitempty"`
	FormalizationTargetRefs []*MissionControlNodeRef `protobuf:"bytes,6,rep,name=formalization_target_refs,json=formalizationTargetRefs,proto3" json:"formalization_target_refs,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *MissionControlDiscussionNodeDetails) Reset() {
	*x = MissionControlDiscussionNodeDetails{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[148]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlDiscussionNodeDetails) ProtoMessage() {}

func (x *MissionControlDiscussionNodeDetails) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[148]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlDiscussionNodeDetails.ProtoReflect.Descriptor instead.
func (*MissionControlDiscussionNodeDetails) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{148}
}

func (x *MissionControlDiscussionNodeDetails) GetDiscussionKind() string {
	if x != nil {
		return x.DiscussionKind
	}
	return ""
}

func (x *MissionControlDiscussionNodeDetails) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *MissionControlDiscussionNodeDetails) GetAuthor() string {
	if x != nil {
		return x.Author
	}
	return ""
}

func (x *MissionControlDiscussionNodeDetails) GetParticipantCount() int32 {
	if x != nil {
		return x.ParticipantCount
	}
	return 0
}

func (x *MissionControlDiscussionNodeDetails) GetLatestCommentExcerpt() string {
	if x != nil {
		return x.LatestCommentExcerpt
	}
	return ""
}

func (x *MissionControlDiscussionNodeDetails) GetFormalizationTargetRefs() []*MissionControlNodeRef {
	if x != nil {
		return x.FormalizationTargetRefs
	}
	return nil
}

type MissionControlWorkItemNodeDetails struct {
	state              protoimpl.MessageState   `protogen:"open.v1"`
	RepositoryFullName string                   `protobuf:"bytes,1,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	IssueNumber        int64                    `protobuf:"varint,2,opt,name=issue_number,json=issueNumber,proto3" json:"issue_number,omitempty"`
	StageLabel         string                   `protobuf:"bytes,3,opt,name=stage_label,json=stageLabel,proto3" json:"stage_label,omitempty"`
	Labels             []string                 `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty"`
	Assignees          []string                 `protobuf:"bytes,5,rep,name=assignees,proto3" json:"assignees,omitempty"`
	LinkedRunRefs      []*MissionControlNodeRef `protobuf:"bytes,6,rep,name=linked_run_refs,json=linkedRunRefs,proto3" json:"linked_run_refs,omitempty"`
	LinkedFollowUpRefs []*MissionControlNodeRef `protobuf:"bytes,7,rep,name=linked_follow_up_refs,json=linkedFollowUpRefs,proto3" json:"linked_follow_up_refs,omitempty"`
	LastProviderSyncAt *timestamppb.Timestamp   `protobuf:"bytes,8,opt,name=last_provider_sync_at,json=lastProviderSyncAt,proto3" json:"last_provider_sync_at,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *MissionControlWorkItemNodeDetails) Reset() {
	*x = MissionControlWorkItemNodeDetails{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[149]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlWorkItemNodeDetails) ProtoMessage() {}

func (x *MissionControlWorkItemNodeDetails) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[149]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlWorkItemNodeDetails.ProtoReflect.Descriptor instead.
func (*MissionControlWorkItemNodeDetails) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{149}
}

func (x *MissionControlWorkItemNodeDetails) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *MissionControlWorkItemNodeDetails) GetIssueNumber() int64 {
	if x != nil {
		return x.IssueNumber
	}
	return 0
}

func (x *MissionControlWorkItemNodeDetails) GetStageLabel() string {
	if x != nil {
		return x.StageLabel
	}
	return ""
}

func (x *MissionControlWorkItemNodeDetails) GetLabels() []string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *MissionControlWorkItemNodeDetails) GetAssignees() []string {
	if x != nil {
		return x.Assignees
	}
	return nil
}

func (x *MissionControlWorkItemNodeDetails) GetLinkedRunRefs() []*MissionControlNodeRef {
	if x != nil {
		return x.LinkedRunRefs
	}
	return nil
}

func (x *MissionControlWorkItemNodeDetails) GetLinkedFollowUpRefs() []*MissionControlNodeRef {
	if x != nil {
		return x.LinkedFollowUpRefs
	}
	return nil
}

func (x *MissionControlWorkItemNodeDetails) GetLastProviderSyncAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastProviderSyncAt
	}
	return nil
}

type MissionControlRunNodeDetails struct {
	state                 protoimpl.MessageState   `protogen:"open.v1"`
	RunId                 string                   `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	AgentKey              string                   `protobuf:"bytes,2,opt,name=agent_key,json=agentKey,proto3" json:"agent_key,omitempty"`
	RunStatus             string                   `protobuf:"bytes,3,opt,name=run_status,json=runStatus,proto3" json:"run_status,omitempty"`
	RuntimeMode           string                   `protobuf:"bytes,4,opt,name=runtime_mode,json=runtimeMode,proto3" json:"runtime_mode,omitempty"`
	TriggerLabel          string                   `protobuf:"bytes,5,opt,name=trigger_label,json=triggerLabel,proto3" json:"trigger_label,omitempty"`
	BuildRef              string                   `protobuf:"bytes,6,opt,name=build_ref,json=buildRef,proto3" json:"build_ref,omitempty"`
	CandidateNamespace    string                   `protobuf:"bytes,7,opt,name=candidate_namespace,json=candidateNamespace,proto3" json:"candidate_namespace,omitempty"`
	StartedAt             *timestamppb.Timestamp   `protobuf:"bytes,8,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
	FinishedAt            *timestamppb.Timestamp   `protobuf:"bytes,9,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"`
	LinkedPullRequestRefs []*MissionControlNodeRef `protobuf:"bytes,10,rep,name=linked_pull_request_refs,json=linkedPullRequestRefs,proto3" json:"linked_pull_request_refs,omitempty"`
	ProducedIssueRefs     []*MissionControlNodeRef `protobuf:"bytes,11,rep,name=produced_issue_refs,json=producedIssueRefs,proto3" json:"produced_issue_refs,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *MissionControlRunNodeDetails) Reset() {
	*x = MissionControlRunNodeDetails{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[150]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlRunNodeDetails) ProtoMessage() {}

func (x *MissionControlRunNodeDetails) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[150]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlRunNodeDetails.ProtoReflect.Descriptor instead.
func (*MissionControlRunNodeDetails) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{150}
}

func (x *MissionControlRunNodeDetails) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *MissionControlRunNodeDetails) GetAgentKey() string {
	if x != nil {
		return x.AgentKey
	}
	return ""
}

func (x *MissionControlRunNodeDetails) GetRunStatus() string {
	if x != nil {
		return x.RunStatus
	}
	return ""
}

func (x *MissionControlRunNodeDetails) GetRuntimeMode() string {
	if x != nil {
		return x.RuntimeMode
	}
	return ""
}

func (x *MissionControlRunNodeDetails) GetTriggerLabel() string {
	if x != nil {
		return x.TriggerLabel
	}
	return ""
}

func (x *MissionControlRunNodeDetails) GetBuildRef() string {
	if x != nil {
		return x.BuildRef
	}
	return ""
}

func (x *MissionControlRunNodeDetails) GetCandidateNamespace() string {
	if x != nil {
		return x.CandidateNamespace
	}
	return ""
}

func (x *MissionControlRunNodeDetails) GetStartedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.StartedAt
	}
	return nil
}

func (x *MissionControlRunNodeDetails) GetFinishedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.FinishedAt
	}
	return nil
}

func (x *MissionControlRunNodeDetails) GetLinkedPullRequestRefs() []*MissionControlNodeRef {
	if x != nil {
		return x.LinkedPullRequestRefs
	}
	return nil
}

func (x *MissionControlRunNodeDetails) GetProducedIssueRefs() []*MissionControlNodeRef {
	if x != nil {
		return x.ProducedIssueRefs
	}
	return nil
}

type MissionControlPullRequestNodeDetails struct {
	state              protoimpl.MessageState   `protogen:"open.v1"`
	RepositoryFullName string                   `protobuf:"bytes,1,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	PullRequestNumber  int64                    `protobuf:"varint,2,opt,name=pull_request_number,json=pullRequestNumber,proto3" json:"pull_request_number,omitempty"`
	BranchHead         string                   `protobuf:"bytes,3,opt,name=branch_head,json=branchHead,proto3" json:"branch_head,omitempty"`
	BranchBase         string                   `protobuf:"bytes,4,opt,name=branch_base,json=branchBase,proto3" json:"branch_base,omitempty"`
	MergeState         string                   `protobuf:"bytes,5,opt,name=merge_state,json=mergeState,proto3" json:"merge_state,omitempty"`
	ReviewDecision     string                   `protobuf:"bytes,6,opt,name=review_decision,json=reviewDecision,proto3" json:"review_decision,omitempty"`
	ChecksSummary      string                   `protobuf:"bytes,7,opt,name=checks_summary,json=checksSummary,proto3" json:"checks_summary,omitempty"`
	LinkedIssueRefs    []*MissionControlNodeRef `protobuf:"bytes,8,rep,name=linked_issue_refs,json=linkedIssueRefs,proto3" json:"linked_issue_refs,omitempty"`
	LinkedRunRef       *MissionControlNodeRef   `protobuf:"bytes,9,opt,name=linked_run_ref,json=linkedRunRef,proto3" json:"linked_run_ref,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *MissionControlPullRequestNodeDetails) Reset() {
	*x = MissionControlPullRequestNodeDetails{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[151]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlPullRequestNodeDetails) ProtoMessage() {}

func (x *MissionControlPullRequestNodeDetails) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[151]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlPullRequestNodeDetails.ProtoReflect.Descriptor instead.
func (*MissionControlPullRequestNodeDetails) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{151}
}

func (x *MissionControlPullRequestNodeDetails) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *MissionControlPullRequestNodeDetails) GetPullRequestNumber() int64 {
	if x != nil {
		return x.PullRequestNumber
	}
	return 0
}

func (x *MissionControlPullRequestNodeDetails) GetBranchHead() string {
	if x != nil {
		return x.BranchHead
	}
	return ""
}

func (x *MissionControlPullRequestNodeDetails) GetBranchBase() string {
	if x != nil {
		return x.BranchBase
	}
	return ""
}

func (x *MissionControlPullRequestNodeDetails) GetMergeState() string {
	if x != nil {
		return x.MergeState
	}
	return ""
}

func (x *MissionControlPullRequestNodeDetails) GetReviewDecision() string {
	if x != nil {
		return x.ReviewDecision
	}
	return ""
}

func (x *MissionControlPullRequestNodeDetails) GetChecksSummary() string {
	if x != nil {
		return x.ChecksSummary
	}
	return ""
}

func (x *MissionControlPullRequestNodeDetails) GetLinkedIssueRefs() []*MissionControlNodeRef {
	if x != nil {
		return x.LinkedIssueRefs
	}
	return nil
}

func (x *MissionControlPullRequestNodeDetails) GetLinkedRunRef() *MissionControlNodeRef {
	if x != nil {
		return x.LinkedRunRef
	}
	return nil
}

type MissionControlActivityEntry struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	EntryId       string                 `protobuf:"bytes,1,opt,name=entry_id,json=entryId,proto3" json:"entry_id,omitempty"`
	NodeKind      string                 `protobuf:"bytes,2,opt,name=node_kind,json=nodeKind,proto3" json:"node_kind,omitempty"`
	NodePublicId  string                 `protobuf:"bytes,3,opt,name=node_public_id,json=nodePublicId,proto3" json:"node_public_id,omitempty"`
	SourceKind    string                 `protobuf:"bytes,4,opt,name=source_kind,json=sourceKind,proto3" json:"source_kind,omitempty"`
	SourceRef     string                 `protobuf:"bytes,5,opt,name=source_ref,json=sourceRef,proto3" json:"source_ref,omitempty"`
	OccurredAt    *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"`
	Summary       string                 `protobuf:"bytes,7,opt,name=summary,proto3" json:"summary,omitempty"`
	BodyMarkdown  *string                `protobuf:"bytes,8,opt,name=body_markdown,json=bodyMarkdown,proto3,oneof" json:"body_markdown,omitempty"`
	ProviderUrl   *string                `protobuf:"bytes,9,opt,name=provider_url,json=providerUrl,proto3,oneof" json:"provider_url,omitempty"`
	IsReadOnly    bool                   `protobuf:"varint,10,opt,name=is_read_only,json=isReadOnly,proto3" json:"is_read_only,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MissionControlActivityEntry) Reset() {
	*x = MissionControlActivityEntry{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[152]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlActivityEntry) ProtoMessage() {}

func (x *MissionControlActivityEntry) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[152]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlActivityEntry.ProtoReflect.Descriptor instead.
func (*MissionControlActivityEntry) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{152}
}

func (x *MissionControlActivityEntry) GetEntryId() string {
	if x != nil {
		return x.EntryId
	}
	return ""
}

func (x *MissionControlActivityEntry) GetNodeKind() string {
	if x != nil {
		return x.NodeKind
	}
	return ""
}

func (x *MissionControlActivityEntry) GetNodePublicId() string {
	if x != nil {
		return x.NodePublicId
	}
	return ""
}

func (x *MissionControlActivityEntry) GetSourceKind() string {
	if x != nil {
		return x.SourceKind
	}
	return ""
}

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

func (x *MissionControlActivityEntry) GetOccurredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.OccurredAt
	}
	return nil
}

func (x *MissionControlActivityEntry) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *MissionControlActivityEntry) GetBodyMarkdown() string {
	if x != nil && x.BodyMarkdown != nil {
		return *x.BodyMarkdown
	}
	return ""
}

func (x *MissionControlActivityEntry) GetProviderUrl() string {
	if x != nil && x.ProviderUrl != nil {
		return *x.ProviderUrl
	}
	return ""
}

func (x *MissionControlActivityEntry) GetIsReadOnly() bool {
	if x != nil {
		return x.IsReadOnly
	}
	return false
}

type MissionControlNodeDetails struct {
	state             protoimpl.MessageState              `protogen:"open.v1"`
	Node              *MissionControlNode                 `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
	AdjacentNodes     []*MissionControlNode               `protobuf:"bytes,2,rep,name=adjacent_nodes,json=adjacentNodes,proto3" json:"adjacent_nodes,omitempty"`
	AdjacentEdges     []*MissionControlEdge               `protobuf:"bytes,3,rep,name=adjacent_edges,json=adjacentEdges,proto3" json:"adjacent_edges,omitempty"`
	ContinuityGaps    []*MissionControlContinuityGap      `protobuf:"bytes,4,rep,name=continuity_gaps,json=continuityGaps,proto3" json:"continuity_gaps,omitempty"`
	NodeWatermarks    []*MissionControlWorkspaceWatermark `protobuf:"bytes,5,rep,name=node_watermarks,json=nodeWatermarks,proto3" json:"node_watermarks,omitempty"`
	ActivityPreview   []*MissionControlActivityEntry      `protobuf:"bytes,6,rep,name=activity_preview,json=activityPreview,proto3" json:"activity_preview,omitempty"`
	LaunchSurfaces    []*MissionControlLaunchSurface      `protobuf:"bytes,7,rep,name=launch_surfaces,json=launchSurfaces,proto3" json:"launch_surfaces,omitempty"`
	ProviderDeepLinks []*MissionControlProviderDeepLink   `protobuf:"bytes,8,rep,name=provider_deep_links,json=providerDeepLinks,proto3" json:"provider_deep_links,omitempty"`
	// Types that are valid to be assigned to DetailPayload:
	//
	//	*MissionControlNodeDetails_Discussion
	//	*MissionControlNodeDetails_WorkItem
	//	*MissionControlNodeDetails_Run
	//	*MissionControlNodeDetails_PullRequest
	DetailPayload isMissionControlNodeDetails_DetailPayload `protobuf_oneof:"detail_payload"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MissionControlNodeDetails) Reset() {
	*x = MissionControlNodeDetails{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[153]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlNodeDetails) ProtoMessage() {}

func (x *MissionControlNodeDetails) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[153]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlNodeDetails.ProtoReflect.Descriptor instead.
func (*MissionControlNodeDetails) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{153}
}

func (x *MissionControlNodeDetails) GetNode() *MissionControlNode {
	if x != nil {
		return x.Node
	}
	return nil
}

func (x *MissionControlNodeDetails) GetAdjacentNodes() []*MissionControlNode {
	if x != nil {
		return x.AdjacentNodes
	}
	return nil
}

func (x *MissionControlNodeDetails) GetAdjacentEdges() []*MissionControlEdge {
	if x != nil {
		return x.AdjacentEdges
	}
	return nil
}

func (x *MissionControlNodeDetails) GetContinuityGaps() []*MissionControlContinuityGap {
	if x != nil {
		return x.ContinuityGaps
	}
	return nil
}

func (x *MissionControlNodeDetails) GetNodeWatermarks() []*MissionControlWorkspaceWatermark {
	if x != nil {
		return x.NodeWatermarks
	}
	return nil
}

func (x *MissionControlNodeDetails) GetActivityPreview() []*MissionControlActivityEntry {
	if x != nil {
		return x.ActivityPreview
	}
	return nil
}

func (x *MissionControlNodeDetails) GetLaunchSurfaces() []*MissionControlLaunchSurface {
	if x != nil {
		return x.LaunchSurfaces
	}
	return nil
}

func (x *MissionControlNodeDetails) GetProviderDeepLinks() []*MissionControlProviderDeepLink {
	if x != nil {
		return x.ProviderDeepLinks
	}
	return nil
}

func (x *MissionControlNodeDetails) GetDetailPayload() isMissionControlNodeDetails_DetailPayload {
	if x != nil {
		return x.DetailPayload
	}
	return nil
}

func (x *MissionControlNodeDetails) GetDiscussion() *MissionControlDiscussionNodeDetails {
	if x != nil {
		if x, ok := x.DetailPayload.(*MissionControlNodeDetails_Discussion); ok {
			return x.Discussion
		}
	}
	return nil
}

func (x *MissionControlNodeDetails) GetWorkItem() *MissionControlWorkItemNodeDetails {
	if x != nil {
		if x, ok := x.DetailPayload.(*MissionControlNodeDetails_WorkItem); ok {
			return x.WorkItem
		}
	}
	return nil
}

func (x *MissionControlNodeDetails) GetRun() *MissionControlRunNodeDetails {
	if x != nil {
		if x, ok := x.DetailPayload.(*MissionControlNodeDetails_Run); ok {
			return x.Run
		}
	}
	return nil
}

func (x *MissionControlNodeDetails) GetPullRequest() *MissionControlPullRequestNodeDetails {
	if x != nil {
		if x, ok := x.DetailPayload.(*MissionControlNodeDetails_PullRequest); ok {
			return x.PullRequest
		}
	}
	return nil
}

type isMissionControlNodeDetails_DetailPayload interface {
	isMissionControlNodeDetails_DetailPayload()
}

type MissionControlNodeDetails_Discussion struct {
	Discussion *MissionControlDiscussionNodeDetails `protobuf:"bytes,9,opt,name=discussion,proto3,oneof"`
}

type MissionControlNodeDetails_WorkItem struct {
	WorkItem *MissionControlWorkItemNodeDetails `protobuf:"bytes,10,opt,name=work_item,json=workItem,proto3,oneof"`
}

type MissionControlNodeDetails_Run struct {
	Run *MissionControlRunNodeDetails `protobuf:"bytes,11,opt,name=run,proto3,oneof"`
}

type MissionControlNodeDetails_PullRequest struct {
	PullRequest *MissionControlPullRequestNodeDetails `protobuf:"bytes,12,opt,name=pull_request,json=pullRequest,proto3,oneof"`
}

func (*MissionControlNodeDetails_Discussion) isMissionControlNodeDetails_DetailPayload() {}

func (*MissionControlNodeDetails_WorkItem) isMissionControlNodeDetails_DetailPayload() {}

func (*MissionControlNodeDetails_Run) isMissionControlNodeDetails_DetailPayload() {}

func (*MissionControlNodeDetails_PullRequest) isMissionControlNodeDetails_DetailPayload() {}

type GetMissionControlNodeRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	NodeKind      string                 `protobuf:"bytes,2,opt,name=node_kind,json=nodeKind,proto3" json:"node_kind,omitempty"`
	NodePublicId  string                 `protobuf:"bytes,3,opt,name=node_public_id,json=nodePublicId,proto3" json:"node_public_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetMissionControlNodeRequest) Reset() {
	*x = GetMissionControlNodeRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[154]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetMissionControlNodeRequest) ProtoMessage() {}

func (x *GetMissionControlNodeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[154]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMissionControlNodeRequest.ProtoReflect.Descriptor instead.
func (*GetMissionControlNodeRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{154}
}

func (x *GetMissionControlNodeRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *GetMissionControlNodeRequest) GetNodeKind() string {
	if x != nil {
		return x.NodeKind
	}
	return ""
}

func (x *GetMissionControlNodeRequest) GetNodePublicId() string {
	if x != nil {
		return x.NodePublicId
	}
	return ""
}

type ListMissionControlNodeActivityRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	NodeKind      string                 `protobuf:"bytes,2,opt,name=node_kind,json=nodeKind,proto3" json:"node_kind,omitempty"`
	NodePublicId  string                 `protobuf:"bytes,3,opt,name=node_public_id,json=nodePublicId,proto3" json:"node_public_id,omitempty"`
	Cursor        *string                `protobuf:"bytes,4,opt,name=cursor,proto3,oneof" json:"cursor,omitempty"`
	Limit         int32                  `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListMissionControlNodeActivityRequest) Reset() {
	*x = ListMissionControlNodeActivityRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[155]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListMissionControlNodeActivityRequest) ProtoMessage() {}

func (x *ListMissionControlNodeActivityRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[155]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListMissionControlNodeActivityRequest.ProtoReflect.Descriptor instead.
func (*ListMissionControlNodeActivityRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{155}
}

func (x *ListMissionControlNodeActivityRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ListMissionControlNodeActivityRequest) GetNodeKind() string {
	if x != nil {
		return x.NodeKind
	}
	return ""
}

func (x *ListMissionControlNodeActivityRequest) GetNodePublicId() string {
	if x != nil {
		return x.NodePublicId
	}
	return ""
}

func (x *ListMissionControlNodeActivityRequest) GetCursor() string {
	if x != nil && x.Cursor != nil {
		return *x.Cursor
	}
	return ""
}

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

type ListMissionControlNodeActivityResponse struct {
	state         protoimpl.MessageState         `protogen:"open.v1"`
	Items         []*MissionControlActivityEntry `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	NextCursor    *string                        `protobuf:"bytes,2,opt,name=next_cursor,json=nextCursor,proto3,oneof" json:"next_cursor,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListMissionControlNodeActivityResponse) Reset() {
	*x = ListMissionControlNodeActivityResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[156]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListMissionControlNodeActivityResponse) ProtoMessage() {}

func (x *ListMissionControlNodeActivityResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[156]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListMissionControlNodeActivityResponse.ProtoReflect.Descriptor instead.
func (*ListMissionControlNodeActivityResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{156}
}

func (x *ListMissionControlNodeActivityResponse) GetItems() []*MissionControlActivityEntry {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *ListMissionControlNodeActivityResponse) GetNextCursor() string {
	if x != nil && x.NextCursor != nil {
		return *x.NextCursor
	}
	return ""
}

type PreviewMissionControlLaunchRequest struct {
	state                     protoimpl.MessageState `protogen:"open.v1"`
	Principal                 *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	NodeKind                  string                 `protobuf:"bytes,2,opt,name=node_kind,json=nodeKind,proto3" json:"node_kind,omitempty"`
	NodePublicId              string                 `protobuf:"bytes,3,opt,name=node_public_id,json=nodePublicId,proto3" json:"node_public_id,omitempty"`
	ThreadKind                string                 `protobuf:"bytes,4,opt,name=thread_kind,json=threadKind,proto3" json:"thread_kind,omitempty"`
	ThreadNumber              int32                  `protobuf:"varint,5,opt,name=thread_number,json=threadNumber,proto3" json:"thread_number,omitempty"`
	TargetLabel               string                 `protobuf:"bytes,6,opt,name=target_label,json=targetLabel,proto3" json:"target_label,omitempty"`
	RemovedLabels             []string               `protobuf:"bytes,7,rep,name=removed_labels,json=removedLabels,proto3" json:"removed_labels,omitempty"`
	ExpectedProjectionVersion int64                  `protobuf:"varint,8,opt,name=expected_projection_version,json=expectedProjectionVersion,proto3" json:"expected_projection_version,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *PreviewMissionControlLaunchRequest) Reset() {
	*x = PreviewMissionControlLaunchRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[157]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PreviewMissionControlLaunchRequest) ProtoMessage() {}

func (x *PreviewMissionControlLaunchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[157]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PreviewMissionControlLaunchRequest.ProtoReflect.Descriptor instead.
func (*PreviewMissionControlLaunchRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{157}
}

func (x *PreviewMissionControlLaunchRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *PreviewMissionControlLaunchRequest) GetNodeKind() string {
	if x != nil {
		return x.NodeKind
	}
	return ""
}

func (x *PreviewMissionControlLaunchRequest) GetNodePublicId() string {
	if x != nil {
		return x.NodePublicId
	}
	return ""
}

func (x *PreviewMissionControlLaunchRequest) GetThreadKind() string {
	if x != nil {
		return x.ThreadKind
	}
	return ""
}

func (x *PreviewMissionControlLaunchRequest) GetThreadNumber() int32 {
	if x != nil {
		return x.ThreadNumber
	}
	return 0
}

func (x *PreviewMissionControlLaunchRequest) GetTargetLabel() string {
	if x != nil {
		return x.TargetLabel
	}
	return ""
}

func (x *PreviewMissionControlLaunchRequest) GetRemovedLabels() []string {
	if x != nil {
		return x.RemovedLabels
	}
	return nil
}

func (x *PreviewMissionControlLaunchRequest) GetExpectedProjectionVersion() int64 {
	if x != nil {
		return x.ExpectedProjectionVersion
	}
	return 0
}

type MissionControlLaunchPreviewLabelDiff struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RemovedLabels []string               `protobuf:"bytes,1,rep,name=removed_labels,json=removedLabels,proto3" json:"removed_labels,omitempty"`
	AddedLabels   []string               `protobuf:"bytes,2,rep,name=added_labels,json=addedLabels,proto3" json:"added_labels,omitempty"`
	FinalLabels   []string               `protobuf:"bytes,3,rep,name=final_labels,json=finalLabels,proto3" json:"final_labels,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MissionControlLaunchPreviewLabelDiff) Reset() {
	*x = MissionControlLaunchPreviewLabelDiff{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[158]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlLaunchPreviewLabelDiff) ProtoMessage() {}

func (x *MissionControlLaunchPreviewLabelDiff) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[158]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlLaunchPreviewLabelDiff.ProtoReflect.Descriptor instead.
func (*MissionControlLaunchPreviewLabelDiff) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{158}
}

func (x *MissionControlLaunchPreviewLabelDiff) GetRemovedLabels() []string {
	if x != nil {
		return x.RemovedLabels
	}
	return nil
}

func (x *MissionControlLaunchPreviewLabelDiff) GetAddedLabels() []string {
	if x != nil {
		return x.AddedLabels
	}
	return nil
}

func (x *MissionControlLaunchPreviewLabelDiff) GetFinalLabels() []string {
	if x != nil {
		return x.FinalLabels
	}
	return nil
}

type MissionControlLaunchPreviewContinuityEffect struct {
	state             protoimpl.MessageState   `protogen:"open.v1"`
	ResolvedGapIds    []int64                  `protobuf:"varint,1,rep,packed,name=resolved_gap_ids,json=resolvedGapIds,proto3" json:"resolved_gap_ids,omitempty"`
	RemainingGapIds   []int64                  `protobuf:"varint,2,rep,packed,name=remaining_gap_ids,json=remainingGapIds,proto3" json:"remaining_gap_ids,omitempty"`
	ResultingNodeRefs []*MissionControlNodeRef `protobuf:"bytes,3,rep,name=resulting_node_refs,json=resultingNodeRefs,proto3" json:"resulting_node_refs,omitempty"`
	ProviderRedirects []string                 `protobuf:"bytes,4,rep,name=provider_redirects,json=providerRedirects,proto3" json:"provider_redirects,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *MissionControlLaunchPreviewContinuityEffect) Reset() {
	*x = MissionControlLaunchPreviewContinuityEffect{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[159]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlLaunchPreviewContinuityEffect) ProtoMessage() {}

func (x *MissionControlLaunchPreviewContinuityEffect) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[159]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlLaunchPreviewContinuityEffect.ProtoReflect.Descriptor instead.
func (*MissionControlLaunchPreviewContinuityEffect) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{159}
}

func (x *MissionControlLaunchPreviewContinuityEffect) GetResolvedGapIds() []int64 {
	if x != nil {
		return x.ResolvedGapIds
	}
	return nil
}

func (x *MissionControlLaunchPreviewContinuityEffect) GetRemainingGapIds() []int64 {
	if x != nil {
		return x.RemainingGapIds
	}
	return nil
}

func (x *MissionControlLaunchPreviewContinuityEffect) GetResultingNodeRefs() []*MissionControlNodeRef {
	if x != nil {
		return x.ResultingNodeRefs
	}
	return nil
}

func (x *MissionControlLaunchPreviewContinuityEffect) GetProviderRedirects() []string {
	if x != nil {
		return x.ProviderRedirects
	}
	return nil
}

type MissionControlLaunchPreview struct {
	state               protoimpl.MessageState                       `protogen:"open.v1"`
	PreviewId           string                                       `protobuf:"bytes,1,opt,name=preview_id,json=previewId,proto3" json:"preview_id,omitempty"`
	ApprovalRequirement string                                       `protobuf:"bytes,2,opt,name=approval_requirement,json=approvalRequirement,proto3" json:"approval_requirement,omitempty"`
	LabelDiff           *MissionControlLaunchPreviewLabelDiff        `protobuf:"bytes,3,opt,name=label_diff,json=labelDiff,proto3" json:"label_diff,omitempty"`
	ContinuityEffect    *MissionControlLaunchPreviewContinuityEffect `protobuf:"bytes,4,opt,name=continuity_effect,json=continuityEffect,proto3" json:"continuity_effect,omitempty"`
	BlockingReason      *string                                      `protobuf:"bytes,5,opt,name=blocking_reason,json=blockingReason,proto3,oneof" json:"blocking_reason,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MissionControlLaunchPreview) Reset() {
	*x = MissionControlLaunchPreview{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[160]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlLaunchPreview) ProtoMessage() {}

func (x *MissionControlLaunchPreview) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[160]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlLaunchPreview.ProtoReflect.Descriptor instead.
func (*MissionControlLaunchPreview) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{160}
}

func (x *MissionControlLaunchPreview) GetPreviewId() string {
	if x != nil {
		return x.PreviewId
	}
	return ""
}

func (x *MissionControlLaunchPreview) GetApprovalRequirement() string {
	if x != nil {
		return x.ApprovalRequirement
	}
	return ""
}

func (x *MissionControlLaunchPreview) GetLabelDiff() *MissionControlLaunchPreviewLabelDiff {
	if x != nil {
		return x.LabelDiff
	}
	return nil
}

func (x *MissionControlLaunchPreview) GetContinuityEffect() *MissionControlLaunchPreviewContinuityEffect {
	if x != nil {
		return x.ContinuityEffect
	}
	return nil
}

func (x *MissionControlLaunchPreview) GetBlockingReason() string {
	if x != nil && x.BlockingReason != nil {
		return *x.BlockingReason
	}
	return ""
}

type MissionControlStageNextStepPayload struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ThreadKind          string                 `protobuf:"bytes,1,opt,name=thread_kind,json=threadKind,proto3" json:"thread_kind,omitempty"`
	ThreadNumber        int32                  `protobuf:"varint,2,opt,name=thread_number,json=threadNumber,proto3" json:"thread_number,omitempty"`
	TargetLabel         string                 `protobuf:"bytes,3,opt,name=target_label,json=targetLabel,proto3" json:"target_label,omitempty"`
	RemovedLabels       []string               `protobuf:"bytes,4,rep,name=removed_labels,json=removedLabels,proto3" json:"removed_labels,omitempty"`
	DisplayVariant      *string                `protobuf:"bytes,5,opt,name=display_variant,json=displayVariant,proto3,oneof" json:"display_variant,omitempty"`
	ApprovalRequirement *string                `protobuf:"bytes,6,opt,name=approval_requirement,json=approvalRequirement,proto3,oneof" json:"approval_requirement,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MissionControlStageNextStepPayload) Reset() {
	*x = MissionControlStageNextStepPayload{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[161]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlStageNextStepPayload) ProtoMessage() {}

func (x *MissionControlStageNextStepPayload) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[161]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlStageNextStepPayload.ProtoReflect.Descriptor instead.
func (*MissionControlStageNextStepPayload) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{161}
}

func (x *MissionControlStageNextStepPayload) GetThreadKind() string {
	if x != nil {
		return x.ThreadKind
	}
	return ""
}

func (x *MissionControlStageNextStepPayload) GetThreadNumber() int32 {
	if x != nil {
		return x.ThreadNumber
	}
	return 0
}

func (x *MissionControlStageNextStepPayload) GetTargetLabel() string {
	if x != nil {
		return x.TargetLabel
	}
	return ""
}

func (x *MissionControlStageNextStepPayload) GetRemovedLabels() []string {
	if x != nil {
		return x.RemovedLabels
	}
	return nil
}

func (x *MissionControlStageNextStepPayload) GetDisplayVariant() string {
	if x != nil && x.DisplayVariant != nil {
		return *x.DisplayVariant
	}
	return ""
}

func (x *MissionControlStageNextStepPayload) GetApprovalRequirement() string {
	if x != nil && x.ApprovalRequirement != nil {
		return *x.ApprovalRequirement
	}
	return ""
}

type MissionControlPendingCommand struct {
	state                protoimpl.MessageState              `protogen:"open.v1"`
	ProjectId            string                              `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	CommandId            string                              `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	CommandKind          string                              `protobuf:"bytes,3,opt,name=command_kind,json=commandKind,proto3" json:"command_kind,omitempty"`
	EffectiveCommandKind string                              `protobuf:"bytes,4,opt,name=effective_command_kind,json=effectiveCommandKind,proto3" json:"effective_command_kind,omitempty"`
	Status               string                              `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
	CorrelationId        string                              `protobuf:"bytes,6,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	BusinessIntentKey    string                              `protobuf:"bytes,7,opt,name=business_intent_key,json=businessIntentKey,proto3" json:"business_intent_key,omitempty"`
	RepositoryFullName   string                              `protobuf:"bytes,8,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	RetryTargetCommandId *string                             `protobuf:"bytes,9,opt,name=retry_target_command_id,json=retryTargetCommandId,proto3,oneof" json:"retry_target_command_id,omitempty"`
	StageNextStep        *MissionControlStageNextStepPayload `protobuf:"bytes,10,opt,name=stage_next_step,json=stageNextStep,proto3" json:"stage_next_step,omitempty"`
	RequestedAt          *timestamppb.Timestamp              `protobuf:"bytes,11,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"`
	UpdatedAt            *timestamppb.Timestamp              `protobuf:"bytes,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *MissionControlPendingCommand) Reset() {
	*x = MissionControlPendingCommand{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[162]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlPendingCommand) ProtoMessage() {}

func (x *MissionControlPendingCommand) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[162]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlPendingCommand.ProtoReflect.Descriptor instead.
func (*MissionControlPendingCommand) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{162}
}

func (x *MissionControlPendingCommand) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

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

func (x *MissionControlPendingCommand) GetCommandKind() string {
	if x != nil {
		return x.CommandKind
	}
	return ""
}

func (x *MissionControlPendingCommand) GetEffectiveCommandKind() string {
	if x != nil {
		return x.EffectiveCommandKind
	}
	return ""
}

func (x *MissionControlPendingCommand) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

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

func (x *MissionControlPendingCommand) GetBusinessIntentKey() string {
	if x != nil {
		return x.BusinessIntentKey
	}
	return ""
}

func (x *MissionControlPendingCommand) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *MissionControlPendingCommand) GetRetryTargetCommandId() string {
	if x != nil && x.RetryTargetCommandId != nil {
		return *x.RetryTargetCommandId
	}
	return ""
}

func (x *MissionControlPendingCommand) GetStageNextStep() *MissionControlStageNextStepPayload {
	if x != nil {
		return x.StageNextStep
	}
	return nil
}

func (x *MissionControlPendingCommand) GetRequestedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.RequestedAt
	}
	return nil
}

func (x *MissionControlPendingCommand) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

type ClaimMissionControlPendingCommandsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Limit         int32                  `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
	WorkerId      string                 `protobuf:"bytes,2,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	LeaseTtl      *durationpb.Duration   `protobuf:"bytes,3,opt,name=lease_ttl,json=leaseTtl,proto3" json:"lease_ttl,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ClaimMissionControlPendingCommandsRequest) Reset() {
	*x = ClaimMissionControlPendingCommandsRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[163]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ClaimMissionControlPendingCommandsRequest) ProtoMessage() {}

func (x *ClaimMissionControlPendingCommandsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[163]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ClaimMissionControlPendingCommandsRequest.ProtoReflect.Descriptor instead.
func (*ClaimMissionControlPendingCommandsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{163}
}

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

func (x *ClaimMissionControlPendingCommandsRequest) GetWorkerId() string {
	if x != nil {
		return x.WorkerId
	}
	return ""
}

func (x *ClaimMissionControlPendingCommandsRequest) GetLeaseTtl() *durationpb.Duration {
	if x != nil {
		return x.LeaseTtl
	}
	return nil
}

type ClaimMissionControlPendingCommandsResponse struct {
	state         protoimpl.MessageState          `protogen:"open.v1"`
	Items         []*MissionControlPendingCommand `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ClaimMissionControlPendingCommandsResponse) Reset() {
	*x = ClaimMissionControlPendingCommandsResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[164]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ClaimMissionControlPendingCommandsResponse) ProtoMessage() {}

func (x *ClaimMissionControlPendingCommandsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[164]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ClaimMissionControlPendingCommandsResponse.ProtoReflect.Descriptor instead.
func (*ClaimMissionControlPendingCommandsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{164}
}

func (x *ClaimMissionControlPendingCommandsResponse) GetItems() []*MissionControlPendingCommand {
	if x != nil {
		return x.Items
	}
	return nil
}

type MissionControlCommandState struct {
	state               protoimpl.MessageState         `protogen:"open.v1"`
	ProjectId           string                         `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	CommandId           string                         `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	CommandKind         string                         `protobuf:"bytes,3,opt,name=command_kind,json=commandKind,proto3" json:"command_kind,omitempty"`
	Status              string                         `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	FailureReason       string                         `protobuf:"bytes,5,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"`
	CorrelationId       string                         `protobuf:"bytes,6,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	ProviderDeliveryIds []string                       `protobuf:"bytes,7,rep,name=provider_delivery_ids,json=providerDeliveryIds,proto3" json:"provider_delivery_ids,omitempty"`
	StatusMessage       *string                        `protobuf:"bytes,8,opt,name=status_message,json=statusMessage,proto3,oneof" json:"status_message,omitempty"`
	UpdatedAt           *timestamppb.Timestamp         `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	ReconciledAt        *timestamppb.Timestamp         `protobuf:"bytes,10,opt,name=reconciled_at,json=reconciledAt,proto3" json:"reconciled_at,omitempty"`
	BusinessIntentKey   string                         `protobuf:"bytes,11,opt,name=business_intent_key,json=businessIntentKey,proto3" json:"business_intent_key,omitempty"`
	EntityRefs          []*MissionControlEntityRef     `protobuf:"bytes,12,rep,name=entity_refs,json=entityRefs,proto3" json:"entity_refs,omitempty"`
	Approval            *MissionControlCommandApproval `protobuf:"bytes,13,opt,name=approval,proto3" json:"approval,omitempty"`
	BlockingReason      *string                        `protobuf:"bytes,14,opt,name=blocking_reason,json=blockingReason,proto3,oneof" json:"blocking_reason,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MissionControlCommandState) Reset() {
	*x = MissionControlCommandState{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[165]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlCommandState) ProtoMessage() {}

func (x *MissionControlCommandState) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[165]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlCommandState.ProtoReflect.Descriptor instead.
func (*MissionControlCommandState) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{165}
}

func (x *MissionControlCommandState) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

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

func (x *MissionControlCommandState) GetCommandKind() string {
	if x != nil {
		return x.CommandKind
	}
	return ""
}

func (x *MissionControlCommandState) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *MissionControlCommandState) GetFailureReason() string {
	if x != nil {
		return x.FailureReason
	}
	return ""
}

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

func (x *MissionControlCommandState) GetProviderDeliveryIds() []string {
	if x != nil {
		return x.ProviderDeliveryIds
	}
	return nil
}

func (x *MissionControlCommandState) GetStatusMessage() string {
	if x != nil && x.StatusMessage != nil {
		return *x.StatusMessage
	}
	return ""
}

func (x *MissionControlCommandState) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

func (x *MissionControlCommandState) GetReconciledAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ReconciledAt
	}
	return nil
}

func (x *MissionControlCommandState) GetBusinessIntentKey() string {
	if x != nil {
		return x.BusinessIntentKey
	}
	return ""
}

func (x *MissionControlCommandState) GetEntityRefs() []*MissionControlEntityRef {
	if x != nil {
		return x.EntityRefs
	}
	return nil
}

func (x *MissionControlCommandState) GetApproval() *MissionControlCommandApproval {
	if x != nil {
		return x.Approval
	}
	return nil
}

func (x *MissionControlCommandState) GetBlockingReason() string {
	if x != nil && x.BlockingReason != nil {
		return *x.BlockingReason
	}
	return ""
}

type MissionControlCommandApproval struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	ApprovalState     string                 `protobuf:"bytes,1,opt,name=approval_state,json=approvalState,proto3" json:"approval_state,omitempty"`
	ApprovalRequestId *string                `protobuf:"bytes,2,opt,name=approval_request_id,json=approvalRequestId,proto3,oneof" json:"approval_request_id,omitempty"`
	RequestedAt       *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"`
	DecidedAt         *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=decided_at,json=decidedAt,proto3" json:"decided_at,omitempty"`
	ApproverActorId   *string                `protobuf:"bytes,5,opt,name=approver_actor_id,json=approverActorId,proto3,oneof" json:"approver_actor_id,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *MissionControlCommandApproval) Reset() {
	*x = MissionControlCommandApproval{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[166]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlCommandApproval) ProtoMessage() {}

func (x *MissionControlCommandApproval) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[166]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlCommandApproval.ProtoReflect.Descriptor instead.
func (*MissionControlCommandApproval) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{166}
}

func (x *MissionControlCommandApproval) GetApprovalState() string {
	if x != nil {
		return x.ApprovalState
	}
	return ""
}

func (x *MissionControlCommandApproval) GetApprovalRequestId() string {
	if x != nil && x.ApprovalRequestId != nil {
		return *x.ApprovalRequestId
	}
	return ""
}

func (x *MissionControlCommandApproval) GetRequestedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.RequestedAt
	}
	return nil
}

func (x *MissionControlCommandApproval) GetDecidedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.DecidedAt
	}
	return nil
}

func (x *MissionControlCommandApproval) GetApproverActorId() string {
	if x != nil && x.ApproverActorId != nil {
		return *x.ApproverActorId
	}
	return ""
}

type MissionControlDiscussionCreatePayload struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	Title                string                 `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	BodyMarkdown         *string                `protobuf:"bytes,2,opt,name=body_markdown,json=bodyMarkdown,proto3,oneof" json:"body_markdown,omitempty"`
	ParentEntityKind     *string                `protobuf:"bytes,3,opt,name=parent_entity_kind,json=parentEntityKind,proto3,oneof" json:"parent_entity_kind,omitempty"`
	ParentEntityPublicId *string                `protobuf:"bytes,4,opt,name=parent_entity_public_id,json=parentEntityPublicId,proto3,oneof" json:"parent_entity_public_id,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *MissionControlDiscussionCreatePayload) Reset() {
	*x = MissionControlDiscussionCreatePayload{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[167]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlDiscussionCreatePayload) ProtoMessage() {}

func (x *MissionControlDiscussionCreatePayload) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[167]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlDiscussionCreatePayload.ProtoReflect.Descriptor instead.
func (*MissionControlDiscussionCreatePayload) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{167}
}

func (x *MissionControlDiscussionCreatePayload) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *MissionControlDiscussionCreatePayload) GetBodyMarkdown() string {
	if x != nil && x.BodyMarkdown != nil {
		return *x.BodyMarkdown
	}
	return ""
}

func (x *MissionControlDiscussionCreatePayload) GetParentEntityKind() string {
	if x != nil && x.ParentEntityKind != nil {
		return *x.ParentEntityKind
	}
	return ""
}

func (x *MissionControlDiscussionCreatePayload) GetParentEntityPublicId() string {
	if x != nil && x.ParentEntityPublicId != nil {
		return *x.ParentEntityPublicId
	}
	return ""
}

type MissionControlWorkItemCreatePayload struct {
	state             protoimpl.MessageState     `protogen:"open.v1"`
	Title             string                     `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	BodyMarkdown      *string                    `protobuf:"bytes,2,opt,name=body_markdown,json=bodyMarkdown,proto3,oneof" json:"body_markdown,omitempty"`
	InitialLabels     []string                   `protobuf:"bytes,3,rep,name=initial_labels,json=initialLabels,proto3" json:"initial_labels,omitempty"`
	RelatedEntityRefs []*MissionControlEntityRef `protobuf:"bytes,4,rep,name=related_entity_refs,json=relatedEntityRefs,proto3" json:"related_entity_refs,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *MissionControlWorkItemCreatePayload) Reset() {
	*x = MissionControlWorkItemCreatePayload{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[168]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlWorkItemCreatePayload) ProtoMessage() {}

func (x *MissionControlWorkItemCreatePayload) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[168]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlWorkItemCreatePayload.ProtoReflect.Descriptor instead.
func (*MissionControlWorkItemCreatePayload) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{168}
}

func (x *MissionControlWorkItemCreatePayload) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *MissionControlWorkItemCreatePayload) GetBodyMarkdown() string {
	if x != nil && x.BodyMarkdown != nil {
		return *x.BodyMarkdown
	}
	return ""
}

func (x *MissionControlWorkItemCreatePayload) GetInitialLabels() []string {
	if x != nil {
		return x.InitialLabels
	}
	return nil
}

func (x *MissionControlWorkItemCreatePayload) GetRelatedEntityRefs() []*MissionControlEntityRef {
	if x != nil {
		return x.RelatedEntityRefs
	}
	return nil
}

type MissionControlDiscussionFormalizePayload struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	SourceEntityKind     string                 `protobuf:"bytes,1,opt,name=source_entity_kind,json=sourceEntityKind,proto3" json:"source_entity_kind,omitempty"`
	SourceEntityPublicId string                 `protobuf:"bytes,2,opt,name=source_entity_public_id,json=sourceEntityPublicId,proto3" json:"source_entity_public_id,omitempty"`
	FormalizedKind       string                 `protobuf:"bytes,3,opt,name=formalized_kind,json=formalizedKind,proto3" json:"formalized_kind,omitempty"`
	Title                string                 `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"`
	BodyMarkdown         *string                `protobuf:"bytes,5,opt,name=body_markdown,json=bodyMarkdown,proto3,oneof" json:"body_markdown,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *MissionControlDiscussionFormalizePayload) Reset() {
	*x = MissionControlDiscussionFormalizePayload{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[169]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlDiscussionFormalizePayload) ProtoMessage() {}

func (x *MissionControlDiscussionFormalizePayload) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[169]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlDiscussionFormalizePayload.ProtoReflect.Descriptor instead.
func (*MissionControlDiscussionFormalizePayload) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{169}
}

func (x *MissionControlDiscussionFormalizePayload) GetSourceEntityKind() string {
	if x != nil {
		return x.SourceEntityKind
	}
	return ""
}

func (x *MissionControlDiscussionFormalizePayload) GetSourceEntityPublicId() string {
	if x != nil {
		return x.SourceEntityPublicId
	}
	return ""
}

func (x *MissionControlDiscussionFormalizePayload) GetFormalizedKind() string {
	if x != nil {
		return x.FormalizedKind
	}
	return ""
}

func (x *MissionControlDiscussionFormalizePayload) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *MissionControlDiscussionFormalizePayload) GetBodyMarkdown() string {
	if x != nil && x.BodyMarkdown != nil {
		return *x.BodyMarkdown
	}
	return ""
}

type MissionControlRetrySyncPayload struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	CommandId      string                 `protobuf:"bytes,1,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	RetryReason    *string                `protobuf:"bytes,2,opt,name=retry_reason,json=retryReason,proto3,oneof" json:"retry_reason,omitempty"`
	ExpectedStatus *string                `protobuf:"bytes,3,opt,name=expected_status,json=expectedStatus,proto3,oneof" json:"expected_status,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *MissionControlRetrySyncPayload) Reset() {
	*x = MissionControlRetrySyncPayload{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[170]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MissionControlRetrySyncPayload) ProtoMessage() {}

func (x *MissionControlRetrySyncPayload) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[170]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MissionControlRetrySyncPayload.ProtoReflect.Descriptor instead.
func (*MissionControlRetrySyncPayload) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{170}
}

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

func (x *MissionControlRetrySyncPayload) GetRetryReason() string {
	if x != nil && x.RetryReason != nil {
		return *x.RetryReason
	}
	return ""
}

func (x *MissionControlRetrySyncPayload) GetExpectedStatus() string {
	if x != nil && x.ExpectedStatus != nil {
		return *x.ExpectedStatus
	}
	return ""
}

type SubmitMissionControlCommandRequest struct {
	state                     protoimpl.MessageState `protogen:"open.v1"`
	Principal                 *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	ProjectId                 string                 `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	CommandKind               string                 `protobuf:"bytes,3,opt,name=command_kind,json=commandKind,proto3" json:"command_kind,omitempty"`
	TargetEntityKind          *string                `protobuf:"bytes,4,opt,name=target_entity_kind,json=targetEntityKind,proto3,oneof" json:"target_entity_kind,omitempty"`
	TargetEntityPublicId      *string                `protobuf:"bytes,5,opt,name=target_entity_public_id,json=targetEntityPublicId,proto3,oneof" json:"target_entity_public_id,omitempty"`
	BusinessIntentKey         string                 `protobuf:"bytes,6,opt,name=business_intent_key,json=businessIntentKey,proto3" json:"business_intent_key,omitempty"`
	ExpectedProjectionVersion int64                  `protobuf:"varint,7,opt,name=expected_projection_version,json=expectedProjectionVersion,proto3" json:"expected_projection_version,omitempty"`
	CorrelationId             string                 `protobuf:"bytes,8,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	RequestedAt               *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"`
	// Types that are valid to be assigned to Payload:
	//
	//	*SubmitMissionControlCommandRequest_DiscussionCreate
	//	*SubmitMissionControlCommandRequest_WorkItemCreate
	//	*SubmitMissionControlCommandRequest_DiscussionFormalize
	//	*SubmitMissionControlCommandRequest_StageNextStep
	//	*SubmitMissionControlCommandRequest_RetrySync
	Payload       isSubmitMissionControlCommandRequest_Payload `protobuf_oneof:"payload"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SubmitMissionControlCommandRequest) Reset() {
	*x = SubmitMissionControlCommandRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[171]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SubmitMissionControlCommandRequest) ProtoMessage() {}

func (x *SubmitMissionControlCommandRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[171]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubmitMissionControlCommandRequest.ProtoReflect.Descriptor instead.
func (*SubmitMissionControlCommandRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{171}
}

func (x *SubmitMissionControlCommandRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *SubmitMissionControlCommandRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *SubmitMissionControlCommandRequest) GetCommandKind() string {
	if x != nil {
		return x.CommandKind
	}
	return ""
}

func (x *SubmitMissionControlCommandRequest) GetTargetEntityKind() string {
	if x != nil && x.TargetEntityKind != nil {
		return *x.TargetEntityKind
	}
	return ""
}

func (x *SubmitMissionControlCommandRequest) GetTargetEntityPublicId() string {
	if x != nil && x.TargetEntityPublicId != nil {
		return *x.TargetEntityPublicId
	}
	return ""
}

func (x *SubmitMissionControlCommandRequest) GetBusinessIntentKey() string {
	if x != nil {
		return x.BusinessIntentKey
	}
	return ""
}

func (x *SubmitMissionControlCommandRequest) GetExpectedProjectionVersion() int64 {
	if x != nil {
		return x.ExpectedProjectionVersion
	}
	return 0
}

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

func (x *SubmitMissionControlCommandRequest) GetRequestedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.RequestedAt
	}
	return nil
}

func (x *SubmitMissionControlCommandRequest) GetPayload() isSubmitMissionControlCommandRequest_Payload {
	if x != nil {
		return x.Payload
	}
	return nil
}

func (x *SubmitMissionControlCommandRequest) GetDiscussionCreate() *MissionControlDiscussionCreatePayload {
	if x != nil {
		if x, ok := x.Payload.(*SubmitMissionControlCommandRequest_DiscussionCreate); ok {
			return x.DiscussionCreate
		}
	}
	return nil
}

func (x *SubmitMissionControlCommandRequest) GetWorkItemCreate() *MissionControlWorkItemCreatePayload {
	if x != nil {
		if x, ok := x.Payload.(*SubmitMissionControlCommandRequest_WorkItemCreate); ok {
			return x.WorkItemCreate
		}
	}
	return nil
}

func (x *SubmitMissionControlCommandRequest) GetDiscussionFormalize() *MissionControlDiscussionFormalizePayload {
	if x != nil {
		if x, ok := x.Payload.(*SubmitMissionControlCommandRequest_DiscussionFormalize); ok {
			return x.DiscussionFormalize
		}
	}
	return nil
}

func (x *SubmitMissionControlCommandRequest) GetStageNextStep() *MissionControlStageNextStepPayload {
	if x != nil {
		if x, ok := x.Payload.(*SubmitMissionControlCommandRequest_StageNextStep); ok {
			return x.StageNextStep
		}
	}
	return nil
}

func (x *SubmitMissionControlCommandRequest) GetRetrySync() *MissionControlRetrySyncPayload {
	if x != nil {
		if x, ok := x.Payload.(*SubmitMissionControlCommandRequest_RetrySync); ok {
			return x.RetrySync
		}
	}
	return nil
}

type isSubmitMissionControlCommandRequest_Payload interface {
	isSubmitMissionControlCommandRequest_Payload()
}

type SubmitMissionControlCommandRequest_DiscussionCreate struct {
	DiscussionCreate *MissionControlDiscussionCreatePayload `protobuf:"bytes,10,opt,name=discussion_create,json=discussionCreate,proto3,oneof"`
}

type SubmitMissionControlCommandRequest_WorkItemCreate struct {
	WorkItemCreate *MissionControlWorkItemCreatePayload `protobuf:"bytes,11,opt,name=work_item_create,json=workItemCreate,proto3,oneof"`
}

type SubmitMissionControlCommandRequest_DiscussionFormalize struct {
	DiscussionFormalize *MissionControlDiscussionFormalizePayload `protobuf:"bytes,12,opt,name=discussion_formalize,json=discussionFormalize,proto3,oneof"`
}

type SubmitMissionControlCommandRequest_StageNextStep struct {
	StageNextStep *MissionControlStageNextStepPayload `protobuf:"bytes,13,opt,name=stage_next_step,json=stageNextStep,proto3,oneof"`
}

type SubmitMissionControlCommandRequest_RetrySync struct {
	RetrySync *MissionControlRetrySyncPayload `protobuf:"bytes,14,opt,name=retry_sync,json=retrySync,proto3,oneof"`
}

func (*SubmitMissionControlCommandRequest_DiscussionCreate) isSubmitMissionControlCommandRequest_Payload() {
}

func (*SubmitMissionControlCommandRequest_WorkItemCreate) isSubmitMissionControlCommandRequest_Payload() {
}

func (*SubmitMissionControlCommandRequest_DiscussionFormalize) isSubmitMissionControlCommandRequest_Payload() {
}

func (*SubmitMissionControlCommandRequest_StageNextStep) isSubmitMissionControlCommandRequest_Payload() {
}

func (*SubmitMissionControlCommandRequest_RetrySync) isSubmitMissionControlCommandRequest_Payload() {}

type GetMissionControlCommandRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	CommandId     string                 `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetMissionControlCommandRequest) Reset() {
	*x = GetMissionControlCommandRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[172]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetMissionControlCommandRequest) ProtoMessage() {}

func (x *GetMissionControlCommandRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[172]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMissionControlCommandRequest.ProtoReflect.Descriptor instead.
func (*GetMissionControlCommandRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{172}
}

func (x *GetMissionControlCommandRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

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

type QueueMissionControlCommandRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectId     string                 `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	CommandId     string                 `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	StatusMessage *string                `protobuf:"bytes,3,opt,name=status_message,json=statusMessage,proto3,oneof" json:"status_message,omitempty"`
	UpdatedAt     *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *QueueMissionControlCommandRequest) Reset() {
	*x = QueueMissionControlCommandRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[173]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*QueueMissionControlCommandRequest) ProtoMessage() {}

func (x *QueueMissionControlCommandRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[173]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueueMissionControlCommandRequest.ProtoReflect.Descriptor instead.
func (*QueueMissionControlCommandRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{173}
}

func (x *QueueMissionControlCommandRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

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

func (x *QueueMissionControlCommandRequest) GetStatusMessage() string {
	if x != nil && x.StatusMessage != nil {
		return *x.StatusMessage
	}
	return ""
}

func (x *QueueMissionControlCommandRequest) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

type MarkMissionControlCommandPendingSyncRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ProjectId           string                 `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	CommandId           string                 `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	ProviderDeliveryIds []string               `protobuf:"bytes,3,rep,name=provider_delivery_ids,json=providerDeliveryIds,proto3" json:"provider_delivery_ids,omitempty"`
	StatusMessage       *string                `protobuf:"bytes,4,opt,name=status_message,json=statusMessage,proto3,oneof" json:"status_message,omitempty"`
	UpdatedAt           *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MarkMissionControlCommandPendingSyncRequest) Reset() {
	*x = MarkMissionControlCommandPendingSyncRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[174]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MarkMissionControlCommandPendingSyncRequest) ProtoMessage() {}

func (x *MarkMissionControlCommandPendingSyncRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[174]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MarkMissionControlCommandPendingSyncRequest.ProtoReflect.Descriptor instead.
func (*MarkMissionControlCommandPendingSyncRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{174}
}

func (x *MarkMissionControlCommandPendingSyncRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

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

func (x *MarkMissionControlCommandPendingSyncRequest) GetProviderDeliveryIds() []string {
	if x != nil {
		return x.ProviderDeliveryIds
	}
	return nil
}

func (x *MarkMissionControlCommandPendingSyncRequest) GetStatusMessage() string {
	if x != nil && x.StatusMessage != nil {
		return *x.StatusMessage
	}
	return ""
}

func (x *MarkMissionControlCommandPendingSyncRequest) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

type MarkMissionControlCommandReconciledRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ProjectId           string                 `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	CommandId           string                 `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	ProviderDeliveryIds []string               `protobuf:"bytes,3,rep,name=provider_delivery_ids,json=providerDeliveryIds,proto3" json:"provider_delivery_ids,omitempty"`
	StatusMessage       *string                `protobuf:"bytes,4,opt,name=status_message,json=statusMessage,proto3,oneof" json:"status_message,omitempty"`
	UpdatedAt           *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	ReconciledAt        *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=reconciled_at,json=reconciledAt,proto3" json:"reconciled_at,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MarkMissionControlCommandReconciledRequest) Reset() {
	*x = MarkMissionControlCommandReconciledRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[175]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MarkMissionControlCommandReconciledRequest) ProtoMessage() {}

func (x *MarkMissionControlCommandReconciledRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[175]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MarkMissionControlCommandReconciledRequest.ProtoReflect.Descriptor instead.
func (*MarkMissionControlCommandReconciledRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{175}
}

func (x *MarkMissionControlCommandReconciledRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

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

func (x *MarkMissionControlCommandReconciledRequest) GetProviderDeliveryIds() []string {
	if x != nil {
		return x.ProviderDeliveryIds
	}
	return nil
}

func (x *MarkMissionControlCommandReconciledRequest) GetStatusMessage() string {
	if x != nil && x.StatusMessage != nil {
		return *x.StatusMessage
	}
	return ""
}

func (x *MarkMissionControlCommandReconciledRequest) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

func (x *MarkMissionControlCommandReconciledRequest) GetReconciledAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ReconciledAt
	}
	return nil
}

type MarkMissionControlCommandFailedRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ProjectId           string                 `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	CommandId           string                 `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	FailureReason       string                 `protobuf:"bytes,3,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"`
	ProviderDeliveryIds []string               `protobuf:"bytes,4,rep,name=provider_delivery_ids,json=providerDeliveryIds,proto3" json:"provider_delivery_ids,omitempty"`
	StatusMessage       *string                `protobuf:"bytes,5,opt,name=status_message,json=statusMessage,proto3,oneof" json:"status_message,omitempty"`
	UpdatedAt           *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MarkMissionControlCommandFailedRequest) Reset() {
	*x = MarkMissionControlCommandFailedRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[176]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MarkMissionControlCommandFailedRequest) ProtoMessage() {}

func (x *MarkMissionControlCommandFailedRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[176]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MarkMissionControlCommandFailedRequest.ProtoReflect.Descriptor instead.
func (*MarkMissionControlCommandFailedRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{176}
}

func (x *MarkMissionControlCommandFailedRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

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

func (x *MarkMissionControlCommandFailedRequest) GetFailureReason() string {
	if x != nil {
		return x.FailureReason
	}
	return ""
}

func (x *MarkMissionControlCommandFailedRequest) GetProviderDeliveryIds() []string {
	if x != nil {
		return x.ProviderDeliveryIds
	}
	return nil
}

func (x *MarkMissionControlCommandFailedRequest) GetStatusMessage() string {
	if x != nil && x.StatusMessage != nil {
		return *x.StatusMessage
	}
	return ""
}

func (x *MarkMissionControlCommandFailedRequest) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

type SubmitInteractionCallbackRequest struct {
	state                   protoimpl.MessageState `protogen:"open.v1"`
	InteractionId           string                 `protobuf:"bytes,1,opt,name=interaction_id,json=interactionId,proto3" json:"interaction_id,omitempty"`
	DeliveryId              *string                `protobuf:"bytes,2,opt,name=delivery_id,json=deliveryId,proto3,oneof" json:"delivery_id,omitempty"`
	AdapterEventId          string                 `protobuf:"bytes,3,opt,name=adapter_event_id,json=adapterEventId,proto3" json:"adapter_event_id,omitempty"`
	CallbackKind            string                 `protobuf:"bytes,4,opt,name=callback_kind,json=callbackKind,proto3" json:"callback_kind,omitempty"`
	OccurredAt              *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"`
	CallbackHandle          *string                `protobuf:"bytes,6,opt,name=callback_handle,json=callbackHandle,proto3,oneof" json:"callback_handle,omitempty"`
	FreeText                *string                `protobuf:"bytes,7,opt,name=free_text,json=freeText,proto3,oneof" json:"free_text,omitempty"`
	ResponderRef            *string                `protobuf:"bytes,8,opt,name=responder_ref,json=responderRef,proto3,oneof" json:"responder_ref,omitempty"`
	ProviderMessageRefJson  []byte                 `protobuf:"bytes,9,opt,name=provider_message_ref_json,json=providerMessageRefJson,proto3" json:"provider_message_ref_json,omitempty"`
	ProviderUpdateId        *string                `protobuf:"bytes,10,opt,name=provider_update_id,json=providerUpdateId,proto3,oneof" json:"provider_update_id,omitempty"`
	ProviderCallbackQueryId *string                `protobuf:"bytes,11,opt,name=provider_callback_query_id,json=providerCallbackQueryId,proto3,oneof" json:"provider_callback_query_id,omitempty"`
	DeliveryStatus          *string                `protobuf:"bytes,12,opt,name=delivery_status,json=deliveryStatus,proto3,oneof" json:"delivery_status,omitempty"`
	TransportErrorCode      *string                `protobuf:"bytes,13,opt,name=transport_error_code,json=transportErrorCode,proto3,oneof" json:"transport_error_code,omitempty"`
	TransportRetryable      bool                   `protobuf:"varint,14,opt,name=transport_retryable,json=transportRetryable,proto3" json:"transport_retryable,omitempty"`
	RawPayloadJson          []byte                 `protobuf:"bytes,15,opt,name=raw_payload_json,json=rawPayloadJson,proto3" json:"raw_payload_json,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *SubmitInteractionCallbackRequest) Reset() {
	*x = SubmitInteractionCallbackRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[177]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SubmitInteractionCallbackRequest) ProtoMessage() {}

func (x *SubmitInteractionCallbackRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[177]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubmitInteractionCallbackRequest.ProtoReflect.Descriptor instead.
func (*SubmitInteractionCallbackRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{177}
}

func (x *SubmitInteractionCallbackRequest) GetInteractionId() string {
	if x != nil {
		return x.InteractionId
	}
	return ""
}

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

func (x *SubmitInteractionCallbackRequest) GetAdapterEventId() string {
	if x != nil {
		return x.AdapterEventId
	}
	return ""
}

func (x *SubmitInteractionCallbackRequest) GetCallbackKind() string {
	if x != nil {
		return x.CallbackKind
	}
	return ""
}

func (x *SubmitInteractionCallbackRequest) GetOccurredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.OccurredAt
	}
	return nil
}

func (x *SubmitInteractionCallbackRequest) GetCallbackHandle() string {
	if x != nil && x.CallbackHandle != nil {
		return *x.CallbackHandle
	}
	return ""
}

func (x *SubmitInteractionCallbackRequest) GetFreeText() string {
	if x != nil && x.FreeText != nil {
		return *x.FreeText
	}
	return ""
}

func (x *SubmitInteractionCallbackRequest) GetResponderRef() string {
	if x != nil && x.ResponderRef != nil {
		return *x.ResponderRef
	}
	return ""
}

func (x *SubmitInteractionCallbackRequest) GetProviderMessageRefJson() []byte {
	if x != nil {
		return x.ProviderMessageRefJson
	}
	return nil
}

func (x *SubmitInteractionCallbackRequest) GetProviderUpdateId() string {
	if x != nil && x.ProviderUpdateId != nil {
		return *x.ProviderUpdateId
	}
	return ""
}

func (x *SubmitInteractionCallbackRequest) GetProviderCallbackQueryId() string {
	if x != nil && x.ProviderCallbackQueryId != nil {
		return *x.ProviderCallbackQueryId
	}
	return ""
}

func (x *SubmitInteractionCallbackRequest) GetDeliveryStatus() string {
	if x != nil && x.DeliveryStatus != nil {
		return *x.DeliveryStatus
	}
	return ""
}

func (x *SubmitInteractionCallbackRequest) GetTransportErrorCode() string {
	if x != nil && x.TransportErrorCode != nil {
		return *x.TransportErrorCode
	}
	return ""
}

func (x *SubmitInteractionCallbackRequest) GetTransportRetryable() bool {
	if x != nil {
		return x.TransportRetryable
	}
	return false
}

func (x *SubmitInteractionCallbackRequest) GetRawPayloadJson() []byte {
	if x != nil {
		return x.RawPayloadJson
	}
	return nil
}

type SubmitInteractionCallbackResponse struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Accepted            bool                   `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"`
	Classification      string                 `protobuf:"bytes,2,opt,name=classification,proto3" json:"classification,omitempty"`
	InteractionState    string                 `protobuf:"bytes,3,opt,name=interaction_state,json=interactionState,proto3" json:"interaction_state,omitempty"`
	ResumeRequired      bool                   `protobuf:"varint,4,opt,name=resume_required,json=resumeRequired,proto3" json:"resume_required,omitempty"`
	ContinuationAction  string                 `protobuf:"bytes,5,opt,name=continuation_action,json=continuationAction,proto3" json:"continuation_action,omitempty"`
	EffectiveResponseId int64                  `protobuf:"varint,6,opt,name=effective_response_id,json=effectiveResponseId,proto3" json:"effective_response_id,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *SubmitInteractionCallbackResponse) Reset() {
	*x = SubmitInteractionCallbackResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[178]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SubmitInteractionCallbackResponse) ProtoMessage() {}

func (x *SubmitInteractionCallbackResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[178]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubmitInteractionCallbackResponse.ProtoReflect.Descriptor instead.
func (*SubmitInteractionCallbackResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{178}
}

func (x *SubmitInteractionCallbackResponse) GetAccepted() bool {
	if x != nil {
		return x.Accepted
	}
	return false
}

func (x *SubmitInteractionCallbackResponse) GetClassification() string {
	if x != nil {
		return x.Classification
	}
	return ""
}

func (x *SubmitInteractionCallbackResponse) GetInteractionState() string {
	if x != nil {
		return x.InteractionState
	}
	return ""
}

func (x *SubmitInteractionCallbackResponse) GetResumeRequired() bool {
	if x != nil {
		return x.ResumeRequired
	}
	return false
}

func (x *SubmitInteractionCallbackResponse) GetContinuationAction() string {
	if x != nil {
		return x.ContinuationAction
	}
	return ""
}

func (x *SubmitInteractionCallbackResponse) GetEffectiveResponseId() int64 {
	if x != nil {
		return x.EffectiveResponseId
	}
	return 0
}

type RuntimeDeployTaskLog struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Stage         string                 `protobuf:"bytes,1,opt,name=stage,proto3" json:"stage,omitempty"`
	Level         string                 `protobuf:"bytes,2,opt,name=level,proto3" json:"level,omitempty"`
	Message       string                 `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
	CreatedAt     *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RuntimeDeployTaskLog) Reset() {
	*x = RuntimeDeployTaskLog{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[179]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RuntimeDeployTaskLog) ProtoMessage() {}

func (x *RuntimeDeployTaskLog) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[179]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RuntimeDeployTaskLog.ProtoReflect.Descriptor instead.
func (*RuntimeDeployTaskLog) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{179}
}

func (x *RuntimeDeployTaskLog) GetStage() string {
	if x != nil {
		return x.Stage
	}
	return ""
}

func (x *RuntimeDeployTaskLog) GetLevel() string {
	if x != nil {
		return x.Level
	}
	return ""
}

func (x *RuntimeDeployTaskLog) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *RuntimeDeployTaskLog) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

type RuntimeDeployTask struct {
	state                protoimpl.MessageState  `protogen:"open.v1"`
	RunId                string                  `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	RuntimeMode          string                  `protobuf:"bytes,2,opt,name=runtime_mode,json=runtimeMode,proto3" json:"runtime_mode,omitempty"`
	Namespace            string                  `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"`
	TargetEnv            string                  `protobuf:"bytes,4,opt,name=target_env,json=targetEnv,proto3" json:"target_env,omitempty"`
	SlotNo               int32                   `protobuf:"varint,5,opt,name=slot_no,json=slotNo,proto3" json:"slot_no,omitempty"`
	RepositoryFullName   string                  `protobuf:"bytes,6,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	ServicesYamlPath     string                  `protobuf:"bytes,7,opt,name=services_yaml_path,json=servicesYamlPath,proto3" json:"services_yaml_path,omitempty"`
	BuildRef             string                  `protobuf:"bytes,8,opt,name=build_ref,json=buildRef,proto3" json:"build_ref,omitempty"`
	DeployOnly           bool                    `protobuf:"varint,9,opt,name=deploy_only,json=deployOnly,proto3" json:"deploy_only,omitempty"`
	Status               string                  `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"`
	LeaseOwner           *string                 `protobuf:"bytes,11,opt,name=lease_owner,json=leaseOwner,proto3,oneof" json:"lease_owner,omitempty"`
	LeaseUntil           *timestamppb.Timestamp  `protobuf:"bytes,12,opt,name=lease_until,json=leaseUntil,proto3" json:"lease_until,omitempty"`
	Attempts             int32                   `protobuf:"varint,13,opt,name=attempts,proto3" json:"attempts,omitempty"`
	LastError            *string                 `protobuf:"bytes,14,opt,name=last_error,json=lastError,proto3,oneof" json:"last_error,omitempty"`
	ResultNamespace      *string                 `protobuf:"bytes,15,opt,name=result_namespace,json=resultNamespace,proto3,oneof" json:"result_namespace,omitempty"`
	ResultTargetEnv      *string                 `protobuf:"bytes,16,opt,name=result_target_env,json=resultTargetEnv,proto3,oneof" json:"result_target_env,omitempty"`
	CancelRequestedAt    *timestamppb.Timestamp  `protobuf:"bytes,17,opt,name=cancel_requested_at,json=cancelRequestedAt,proto3" json:"cancel_requested_at,omitempty"`
	CancelRequestedBy    *string                 `protobuf:"bytes,18,opt,name=cancel_requested_by,json=cancelRequestedBy,proto3,oneof" json:"cancel_requested_by,omitempty"`
	CancelReason         *string                 `protobuf:"bytes,19,opt,name=cancel_reason,json=cancelReason,proto3,oneof" json:"cancel_reason,omitempty"`
	StopRequestedAt      *timestamppb.Timestamp  `protobuf:"bytes,20,opt,name=stop_requested_at,json=stopRequestedAt,proto3" json:"stop_requested_at,omitempty"`
	StopRequestedBy      *string                 `protobuf:"bytes,21,opt,name=stop_requested_by,json=stopRequestedBy,proto3,oneof" json:"stop_requested_by,omitempty"`
	StopReason           *string                 `protobuf:"bytes,22,opt,name=stop_reason,json=stopReason,proto3,oneof" json:"stop_reason,omitempty"`
	TerminalStatusSource *string                 `protobuf:"bytes,23,opt,name=terminal_status_source,json=terminalStatusSource,proto3,oneof" json:"terminal_status_source,omitempty"`
	TerminalEventSeq     int64                   `protobuf:"varint,24,opt,name=terminal_event_seq,json=terminalEventSeq,proto3" json:"terminal_event_seq,omitempty"`
	CreatedAt            *timestamppb.Timestamp  `protobuf:"bytes,25,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt            *timestamppb.Timestamp  `protobuf:"bytes,26,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	StartedAt            *timestamppb.Timestamp  `protobuf:"bytes,27,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
	FinishedAt           *timestamppb.Timestamp  `protobuf:"bytes,28,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"`
	Logs                 []*RuntimeDeployTaskLog `protobuf:"bytes,29,rep,name=logs,proto3" json:"logs,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *RuntimeDeployTask) Reset() {
	*x = RuntimeDeployTask{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[180]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RuntimeDeployTask) ProtoMessage() {}

func (x *RuntimeDeployTask) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[180]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RuntimeDeployTask.ProtoReflect.Descriptor instead.
func (*RuntimeDeployTask) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{180}
}

func (x *RuntimeDeployTask) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *RuntimeDeployTask) GetRuntimeMode() string {
	if x != nil {
		return x.RuntimeMode
	}
	return ""
}

func (x *RuntimeDeployTask) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

func (x *RuntimeDeployTask) GetTargetEnv() string {
	if x != nil {
		return x.TargetEnv
	}
	return ""
}

func (x *RuntimeDeployTask) GetSlotNo() int32 {
	if x != nil {
		return x.SlotNo
	}
	return 0
}

func (x *RuntimeDeployTask) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *RuntimeDeployTask) GetServicesYamlPath() string {
	if x != nil {
		return x.ServicesYamlPath
	}
	return ""
}

func (x *RuntimeDeployTask) GetBuildRef() string {
	if x != nil {
		return x.BuildRef
	}
	return ""
}

func (x *RuntimeDeployTask) GetDeployOnly() bool {
	if x != nil {
		return x.DeployOnly
	}
	return false
}

func (x *RuntimeDeployTask) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *RuntimeDeployTask) GetLeaseOwner() string {
	if x != nil && x.LeaseOwner != nil {
		return *x.LeaseOwner
	}
	return ""
}

func (x *RuntimeDeployTask) GetLeaseUntil() *timestamppb.Timestamp {
	if x != nil {
		return x.LeaseUntil
	}
	return nil
}

func (x *RuntimeDeployTask) GetAttempts() int32 {
	if x != nil {
		return x.Attempts
	}
	return 0
}

func (x *RuntimeDeployTask) GetLastError() string {
	if x != nil && x.LastError != nil {
		return *x.LastError
	}
	return ""
}

func (x *RuntimeDeployTask) GetResultNamespace() string {
	if x != nil && x.ResultNamespace != nil {
		return *x.ResultNamespace
	}
	return ""
}

func (x *RuntimeDeployTask) GetResultTargetEnv() string {
	if x != nil && x.ResultTargetEnv != nil {
		return *x.ResultTargetEnv
	}
	return ""
}

func (x *RuntimeDeployTask) GetCancelRequestedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CancelRequestedAt
	}
	return nil
}

func (x *RuntimeDeployTask) GetCancelRequestedBy() string {
	if x != nil && x.CancelRequestedBy != nil {
		return *x.CancelRequestedBy
	}
	return ""
}

func (x *RuntimeDeployTask) GetCancelReason() string {
	if x != nil && x.CancelReason != nil {
		return *x.CancelReason
	}
	return ""
}

func (x *RuntimeDeployTask) GetStopRequestedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.StopRequestedAt
	}
	return nil
}

func (x *RuntimeDeployTask) GetStopRequestedBy() string {
	if x != nil && x.StopRequestedBy != nil {
		return *x.StopRequestedBy
	}
	return ""
}

func (x *RuntimeDeployTask) GetStopReason() string {
	if x != nil && x.StopReason != nil {
		return *x.StopReason
	}
	return ""
}

func (x *RuntimeDeployTask) GetTerminalStatusSource() string {
	if x != nil && x.TerminalStatusSource != nil {
		return *x.TerminalStatusSource
	}
	return ""
}

func (x *RuntimeDeployTask) GetTerminalEventSeq() int64 {
	if x != nil {
		return x.TerminalEventSeq
	}
	return 0
}

func (x *RuntimeDeployTask) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *RuntimeDeployTask) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

func (x *RuntimeDeployTask) GetStartedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.StartedAt
	}
	return nil
}

func (x *RuntimeDeployTask) GetFinishedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.FinishedAt
	}
	return nil
}

func (x *RuntimeDeployTask) GetLogs() []*RuntimeDeployTaskLog {
	if x != nil {
		return x.Logs
	}
	return nil
}

type ListRuntimeDeployTasksRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Page          int32                  `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                  `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	Status        *string                `protobuf:"bytes,4,opt,name=status,proto3,oneof" json:"status,omitempty"`
	TargetEnv     *string                `protobuf:"bytes,5,opt,name=target_env,json=targetEnv,proto3,oneof" json:"target_env,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRuntimeDeployTasksRequest) Reset() {
	*x = ListRuntimeDeployTasksRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[181]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRuntimeDeployTasksRequest) ProtoMessage() {}

func (x *ListRuntimeDeployTasksRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[181]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRuntimeDeployTasksRequest.ProtoReflect.Descriptor instead.
func (*ListRuntimeDeployTasksRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{181}
}

func (x *ListRuntimeDeployTasksRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ListRuntimeDeployTasksRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

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

func (x *ListRuntimeDeployTasksRequest) GetStatus() string {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return ""
}

func (x *ListRuntimeDeployTasksRequest) GetTargetEnv() string {
	if x != nil && x.TargetEnv != nil {
		return *x.TargetEnv
	}
	return ""
}

type ListRuntimeDeployTasksResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*RuntimeDeployTask   `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	TotalCount    int32                  `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	Page          int32                  `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                  `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRuntimeDeployTasksResponse) Reset() {
	*x = ListRuntimeDeployTasksResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[182]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRuntimeDeployTasksResponse) ProtoMessage() {}

func (x *ListRuntimeDeployTasksResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[182]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRuntimeDeployTasksResponse.ProtoReflect.Descriptor instead.
func (*ListRuntimeDeployTasksResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{182}
}

func (x *ListRuntimeDeployTasksResponse) GetItems() []*RuntimeDeployTask {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *ListRuntimeDeployTasksResponse) GetTotalCount() int32 {
	if x != nil {
		return x.TotalCount
	}
	return 0
}

func (x *ListRuntimeDeployTasksResponse) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

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

type GetRuntimeDeployTaskRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetRuntimeDeployTaskRequest) Reset() {
	*x = GetRuntimeDeployTaskRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[183]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetRuntimeDeployTaskRequest) ProtoMessage() {}

func (x *GetRuntimeDeployTaskRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[183]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetRuntimeDeployTaskRequest.ProtoReflect.Descriptor instead.
func (*GetRuntimeDeployTaskRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{183}
}

func (x *GetRuntimeDeployTaskRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *GetRuntimeDeployTaskRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

type CancelRuntimeDeployTaskRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Reason        *string                `protobuf:"bytes,3,opt,name=reason,proto3,oneof" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CancelRuntimeDeployTaskRequest) Reset() {
	*x = CancelRuntimeDeployTaskRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[184]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CancelRuntimeDeployTaskRequest) ProtoMessage() {}

func (x *CancelRuntimeDeployTaskRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[184]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CancelRuntimeDeployTaskRequest.ProtoReflect.Descriptor instead.
func (*CancelRuntimeDeployTaskRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{184}
}

func (x *CancelRuntimeDeployTaskRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *CancelRuntimeDeployTaskRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

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

type StopRuntimeDeployTaskRequest struct {
	state     protoimpl.MessageState `protogen:"open.v1"`
	Principal *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	RunId     string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Reason    *string                `protobuf:"bytes,3,opt,name=reason,proto3,oneof" json:"reason,omitempty"`
	// force must be true because stop is a destructive operator action.
	Force         bool `protobuf:"varint,4,opt,name=force,proto3" json:"force,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StopRuntimeDeployTaskRequest) Reset() {
	*x = StopRuntimeDeployTaskRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[185]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*StopRuntimeDeployTaskRequest) ProtoMessage() {}

func (x *StopRuntimeDeployTaskRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[185]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StopRuntimeDeployTaskRequest.ProtoReflect.Descriptor instead.
func (*StopRuntimeDeployTaskRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{185}
}

func (x *StopRuntimeDeployTaskRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *StopRuntimeDeployTaskRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

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

func (x *StopRuntimeDeployTaskRequest) GetForce() bool {
	if x != nil {
		return x.Force
	}
	return false
}

type RuntimeDeployTaskActionResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	RunId           string                 `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Action          string                 `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"`
	PreviousStatus  string                 `protobuf:"bytes,3,opt,name=previous_status,json=previousStatus,proto3" json:"previous_status,omitempty"`
	CurrentStatus   string                 `protobuf:"bytes,4,opt,name=current_status,json=currentStatus,proto3" json:"current_status,omitempty"`
	AlreadyTerminal bool                   `protobuf:"varint,5,opt,name=already_terminal,json=alreadyTerminal,proto3" json:"already_terminal,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *RuntimeDeployTaskActionResponse) Reset() {
	*x = RuntimeDeployTaskActionResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[186]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RuntimeDeployTaskActionResponse) ProtoMessage() {}

func (x *RuntimeDeployTaskActionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[186]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RuntimeDeployTaskActionResponse.ProtoReflect.Descriptor instead.
func (*RuntimeDeployTaskActionResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{186}
}

func (x *RuntimeDeployTaskActionResponse) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

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

func (x *RuntimeDeployTaskActionResponse) GetPreviousStatus() string {
	if x != nil {
		return x.PreviousStatus
	}
	return ""
}

func (x *RuntimeDeployTaskActionResponse) GetCurrentStatus() string {
	if x != nil {
		return x.CurrentStatus
	}
	return ""
}

func (x *RuntimeDeployTaskActionResponse) GetAlreadyTerminal() bool {
	if x != nil {
		return x.AlreadyTerminal
	}
	return false
}

type RuntimeError struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Source        string                 `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
	Level         string                 `protobuf:"bytes,3,opt,name=level,proto3" json:"level,omitempty"`
	Message       string                 `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"`
	DetailsJson   string                 `protobuf:"bytes,5,opt,name=details_json,json=detailsJson,proto3" json:"details_json,omitempty"`
	StackTrace    *string                `protobuf:"bytes,6,opt,name=stack_trace,json=stackTrace,proto3,oneof" json:"stack_trace,omitempty"`
	CorrelationId *string                `protobuf:"bytes,7,opt,name=correlation_id,json=correlationId,proto3,oneof" json:"correlation_id,omitempty"`
	RunId         *string                `protobuf:"bytes,8,opt,name=run_id,json=runId,proto3,oneof" json:"run_id,omitempty"`
	ProjectId     *string                `protobuf:"bytes,9,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	Namespace     *string                `protobuf:"bytes,10,opt,name=namespace,proto3,oneof" json:"namespace,omitempty"`
	JobName       *string                `protobuf:"bytes,11,opt,name=job_name,json=jobName,proto3,oneof" json:"job_name,omitempty"`
	ViewedAt      *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=viewed_at,json=viewedAt,proto3" json:"viewed_at,omitempty"`
	ViewedBy      *string                `protobuf:"bytes,13,opt,name=viewed_by,json=viewedBy,proto3,oneof" json:"viewed_by,omitempty"`
	CreatedAt     *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RuntimeError) Reset() {
	*x = RuntimeError{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[187]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RuntimeError) ProtoMessage() {}

func (x *RuntimeError) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[187]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RuntimeError.ProtoReflect.Descriptor instead.
func (*RuntimeError) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{187}
}

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

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

func (x *RuntimeError) GetLevel() string {
	if x != nil {
		return x.Level
	}
	return ""
}

func (x *RuntimeError) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *RuntimeError) GetDetailsJson() string {
	if x != nil {
		return x.DetailsJson
	}
	return ""
}

func (x *RuntimeError) GetStackTrace() string {
	if x != nil && x.StackTrace != nil {
		return *x.StackTrace
	}
	return ""
}

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

func (x *RuntimeError) GetRunId() string {
	if x != nil && x.RunId != nil {
		return *x.RunId
	}
	return ""
}

func (x *RuntimeError) GetProjectId() string {
	if x != nil && x.ProjectId != nil {
		return *x.ProjectId
	}
	return ""
}

func (x *RuntimeError) GetNamespace() string {
	if x != nil && x.Namespace != nil {
		return *x.Namespace
	}
	return ""
}

func (x *RuntimeError) GetJobName() string {
	if x != nil && x.JobName != nil {
		return *x.JobName
	}
	return ""
}

func (x *RuntimeError) GetViewedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ViewedAt
	}
	return nil
}

func (x *RuntimeError) GetViewedBy() string {
	if x != nil && x.ViewedBy != nil {
		return *x.ViewedBy
	}
	return ""
}

func (x *RuntimeError) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

type ListRuntimeErrorsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Limit         int32                  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	State         *string                `protobuf:"bytes,3,opt,name=state,proto3,oneof" json:"state,omitempty"`
	Level         *string                `protobuf:"bytes,4,opt,name=level,proto3,oneof" json:"level,omitempty"`
	Source        *string                `protobuf:"bytes,5,opt,name=source,proto3,oneof" json:"source,omitempty"`
	RunId         *string                `protobuf:"bytes,6,opt,name=run_id,json=runId,proto3,oneof" json:"run_id,omitempty"`
	CorrelationId *string                `protobuf:"bytes,7,opt,name=correlation_id,json=correlationId,proto3,oneof" json:"correlation_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRuntimeErrorsRequest) Reset() {
	*x = ListRuntimeErrorsRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[188]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRuntimeErrorsRequest) ProtoMessage() {}

func (x *ListRuntimeErrorsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[188]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRuntimeErrorsRequest.ProtoReflect.Descriptor instead.
func (*ListRuntimeErrorsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{188}
}

func (x *ListRuntimeErrorsRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

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

func (x *ListRuntimeErrorsRequest) GetState() string {
	if x != nil && x.State != nil {
		return *x.State
	}
	return ""
}

func (x *ListRuntimeErrorsRequest) GetLevel() string {
	if x != nil && x.Level != nil {
		return *x.Level
	}
	return ""
}

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

func (x *ListRuntimeErrorsRequest) GetRunId() string {
	if x != nil && x.RunId != nil {
		return *x.RunId
	}
	return ""
}

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

type ListRuntimeErrorsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*RuntimeError        `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRuntimeErrorsResponse) Reset() {
	*x = ListRuntimeErrorsResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[189]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRuntimeErrorsResponse) ProtoMessage() {}

func (x *ListRuntimeErrorsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[189]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRuntimeErrorsResponse.ProtoReflect.Descriptor instead.
func (*ListRuntimeErrorsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{189}
}

func (x *ListRuntimeErrorsResponse) GetItems() []*RuntimeError {
	if x != nil {
		return x.Items
	}
	return nil
}

type MarkRuntimeErrorViewedRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Principal      *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	RuntimeErrorId string                 `protobuf:"bytes,2,opt,name=runtime_error_id,json=runtimeErrorId,proto3" json:"runtime_error_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *MarkRuntimeErrorViewedRequest) Reset() {
	*x = MarkRuntimeErrorViewedRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[190]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MarkRuntimeErrorViewedRequest) ProtoMessage() {}

func (x *MarkRuntimeErrorViewedRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[190]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MarkRuntimeErrorViewedRequest.ProtoReflect.Descriptor instead.
func (*MarkRuntimeErrorViewedRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{190}
}

func (x *MarkRuntimeErrorViewedRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *MarkRuntimeErrorViewedRequest) GetRuntimeErrorId() string {
	if x != nil {
		return x.RuntimeErrorId
	}
	return ""
}

type RegistryImageTag struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Tag             string                 `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"`
	Digest          string                 `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"`
	CreatedAt       *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	ConfigSizeBytes int64                  `protobuf:"varint,4,opt,name=config_size_bytes,json=configSizeBytes,proto3" json:"config_size_bytes,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *RegistryImageTag) Reset() {
	*x = RegistryImageTag{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[191]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RegistryImageTag) ProtoMessage() {}

func (x *RegistryImageTag) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[191]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegistryImageTag.ProtoReflect.Descriptor instead.
func (*RegistryImageTag) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{191}
}

func (x *RegistryImageTag) GetTag() string {
	if x != nil {
		return x.Tag
	}
	return ""
}

func (x *RegistryImageTag) GetDigest() string {
	if x != nil {
		return x.Digest
	}
	return ""
}

func (x *RegistryImageTag) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *RegistryImageTag) GetConfigSizeBytes() int64 {
	if x != nil {
		return x.ConfigSizeBytes
	}
	return 0
}

type RegistryImageRepository struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Repository    string                 `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	TagCount      int32                  `protobuf:"varint,2,opt,name=tag_count,json=tagCount,proto3" json:"tag_count,omitempty"`
	Tags          []*RegistryImageTag    `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RegistryImageRepository) Reset() {
	*x = RegistryImageRepository{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[192]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RegistryImageRepository) ProtoMessage() {}

func (x *RegistryImageRepository) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[192]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegistryImageRepository.ProtoReflect.Descriptor instead.
func (*RegistryImageRepository) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{192}
}

func (x *RegistryImageRepository) GetRepository() string {
	if x != nil {
		return x.Repository
	}
	return ""
}

func (x *RegistryImageRepository) GetTagCount() int32 {
	if x != nil {
		return x.TagCount
	}
	return 0
}

func (x *RegistryImageRepository) GetTags() []*RegistryImageTag {
	if x != nil {
		return x.Tags
	}
	return nil
}

type ListRegistryImagesRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Principal         *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	LimitRepositories int32                  `protobuf:"varint,2,opt,name=limit_repositories,json=limitRepositories,proto3" json:"limit_repositories,omitempty"`
	LimitTags         int32                  `protobuf:"varint,3,opt,name=limit_tags,json=limitTags,proto3" json:"limit_tags,omitempty"`
	Repository        *string                `protobuf:"bytes,4,opt,name=repository,proto3,oneof" json:"repository,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *ListRegistryImagesRequest) Reset() {
	*x = ListRegistryImagesRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[193]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRegistryImagesRequest) ProtoMessage() {}

func (x *ListRegistryImagesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[193]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRegistryImagesRequest.ProtoReflect.Descriptor instead.
func (*ListRegistryImagesRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{193}
}

func (x *ListRegistryImagesRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *ListRegistryImagesRequest) GetLimitRepositories() int32 {
	if x != nil {
		return x.LimitRepositories
	}
	return 0
}

func (x *ListRegistryImagesRequest) GetLimitTags() int32 {
	if x != nil {
		return x.LimitTags
	}
	return 0
}

func (x *ListRegistryImagesRequest) GetRepository() string {
	if x != nil && x.Repository != nil {
		return *x.Repository
	}
	return ""
}

type ListRegistryImagesResponse struct {
	state         protoimpl.MessageState     `protogen:"open.v1"`
	Items         []*RegistryImageRepository `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRegistryImagesResponse) Reset() {
	*x = ListRegistryImagesResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[194]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRegistryImagesResponse) ProtoMessage() {}

func (x *ListRegistryImagesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[194]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRegistryImagesResponse.ProtoReflect.Descriptor instead.
func (*ListRegistryImagesResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{194}
}

func (x *ListRegistryImagesResponse) GetItems() []*RegistryImageRepository {
	if x != nil {
		return x.Items
	}
	return nil
}

type DeleteRegistryImageTagRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	Repository    string                 `protobuf:"bytes,2,opt,name=repository,proto3" json:"repository,omitempty"`
	Tag           string                 `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteRegistryImageTagRequest) Reset() {
	*x = DeleteRegistryImageTagRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[195]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteRegistryImageTagRequest) ProtoMessage() {}

func (x *DeleteRegistryImageTagRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[195]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteRegistryImageTagRequest.ProtoReflect.Descriptor instead.
func (*DeleteRegistryImageTagRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{195}
}

func (x *DeleteRegistryImageTagRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *DeleteRegistryImageTagRequest) GetRepository() string {
	if x != nil {
		return x.Repository
	}
	return ""
}

func (x *DeleteRegistryImageTagRequest) GetTag() string {
	if x != nil {
		return x.Tag
	}
	return ""
}

type RegistryImageDeleteResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Repository    string                 `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	Tag           string                 `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"`
	Digest        string                 `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
	Deleted       bool                   `protobuf:"varint,4,opt,name=deleted,proto3" json:"deleted,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RegistryImageDeleteResult) Reset() {
	*x = RegistryImageDeleteResult{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[196]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RegistryImageDeleteResult) ProtoMessage() {}

func (x *RegistryImageDeleteResult) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[196]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegistryImageDeleteResult.ProtoReflect.Descriptor instead.
func (*RegistryImageDeleteResult) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{196}
}

func (x *RegistryImageDeleteResult) GetRepository() string {
	if x != nil {
		return x.Repository
	}
	return ""
}

func (x *RegistryImageDeleteResult) GetTag() string {
	if x != nil {
		return x.Tag
	}
	return ""
}

func (x *RegistryImageDeleteResult) GetDigest() string {
	if x != nil {
		return x.Digest
	}
	return ""
}

func (x *RegistryImageDeleteResult) GetDeleted() bool {
	if x != nil {
		return x.Deleted
	}
	return false
}

type CleanupRegistryImagesRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Principal         *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	RepositoryPrefix  *string                `protobuf:"bytes,2,opt,name=repository_prefix,json=repositoryPrefix,proto3,oneof" json:"repository_prefix,omitempty"`
	LimitRepositories int32                  `protobuf:"varint,3,opt,name=limit_repositories,json=limitRepositories,proto3" json:"limit_repositories,omitempty"`
	KeepTags          int32                  `protobuf:"varint,4,opt,name=keep_tags,json=keepTags,proto3" json:"keep_tags,omitempty"`
	DryRun            bool                   `protobuf:"varint,5,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *CleanupRegistryImagesRequest) Reset() {
	*x = CleanupRegistryImagesRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[197]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CleanupRegistryImagesRequest) ProtoMessage() {}

func (x *CleanupRegistryImagesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[197]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CleanupRegistryImagesRequest.ProtoReflect.Descriptor instead.
func (*CleanupRegistryImagesRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{197}
}

func (x *CleanupRegistryImagesRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *CleanupRegistryImagesRequest) GetRepositoryPrefix() string {
	if x != nil && x.RepositoryPrefix != nil {
		return *x.RepositoryPrefix
	}
	return ""
}

func (x *CleanupRegistryImagesRequest) GetLimitRepositories() int32 {
	if x != nil {
		return x.LimitRepositories
	}
	return 0
}

func (x *CleanupRegistryImagesRequest) GetKeepTags() int32 {
	if x != nil {
		return x.KeepTags
	}
	return 0
}

func (x *CleanupRegistryImagesRequest) GetDryRun() bool {
	if x != nil {
		return x.DryRun
	}
	return false
}

type CleanupRegistryImagesResponse struct {
	state               protoimpl.MessageState       `protogen:"open.v1"`
	RepositoriesScanned int32                        `protobuf:"varint,1,opt,name=repositories_scanned,json=repositoriesScanned,proto3" json:"repositories_scanned,omitempty"`
	TagsDeleted         int32                        `protobuf:"varint,2,opt,name=tags_deleted,json=tagsDeleted,proto3" json:"tags_deleted,omitempty"`
	TagsSkipped         int32                        `protobuf:"varint,3,opt,name=tags_skipped,json=tagsSkipped,proto3" json:"tags_skipped,omitempty"`
	Deleted             []*RegistryImageDeleteResult `protobuf:"bytes,4,rep,name=deleted,proto3" json:"deleted,omitempty"`
	Skipped             []*RegistryImageDeleteResult `protobuf:"bytes,5,rep,name=skipped,proto3" json:"skipped,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *CleanupRegistryImagesResponse) Reset() {
	*x = CleanupRegistryImagesResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[198]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CleanupRegistryImagesResponse) ProtoMessage() {}

func (x *CleanupRegistryImagesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[198]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CleanupRegistryImagesResponse.ProtoReflect.Descriptor instead.
func (*CleanupRegistryImagesResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{198}
}

func (x *CleanupRegistryImagesResponse) GetRepositoriesScanned() int32 {
	if x != nil {
		return x.RepositoriesScanned
	}
	return 0
}

func (x *CleanupRegistryImagesResponse) GetTagsDeleted() int32 {
	if x != nil {
		return x.TagsDeleted
	}
	return 0
}

func (x *CleanupRegistryImagesResponse) GetTagsSkipped() int32 {
	if x != nil {
		return x.TagsSkipped
	}
	return 0
}

func (x *CleanupRegistryImagesResponse) GetDeleted() []*RegistryImageDeleteResult {
	if x != nil {
		return x.Deleted
	}
	return nil
}

func (x *CleanupRegistryImagesResponse) GetSkipped() []*RegistryImageDeleteResult {
	if x != nil {
		return x.Skipped
	}
	return nil
}

type UpsertAgentSessionRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	RunId               string                 `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	CorrelationId       string                 `protobuf:"bytes,2,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	ProjectId           *string                `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	RepositoryFullName  string                 `protobuf:"bytes,4,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	AgentKey            string                 `protobuf:"bytes,5,opt,name=agent_key,json=agentKey,proto3" json:"agent_key,omitempty"`
	IssueNumber         *wrapperspb.Int32Value `protobuf:"bytes,6,opt,name=issue_number,json=issueNumber,proto3" json:"issue_number,omitempty"`
	BranchName          string                 `protobuf:"bytes,7,opt,name=branch_name,json=branchName,proto3" json:"branch_name,omitempty"`
	PrNumber            *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=pr_number,json=prNumber,proto3" json:"pr_number,omitempty"`
	PrUrl               *string                `protobuf:"bytes,9,opt,name=pr_url,json=prUrl,proto3,oneof" json:"pr_url,omitempty"`
	TriggerKind         *string                `protobuf:"bytes,10,opt,name=trigger_kind,json=triggerKind,proto3,oneof" json:"trigger_kind,omitempty"`
	TemplateKind        *string                `protobuf:"bytes,11,opt,name=template_kind,json=templateKind,proto3,oneof" json:"template_kind,omitempty"`
	TemplateSource      *string                `protobuf:"bytes,12,opt,name=template_source,json=templateSource,proto3,oneof" json:"template_source,omitempty"`
	TemplateLocale      *string                `protobuf:"bytes,13,opt,name=template_locale,json=templateLocale,proto3,oneof" json:"template_locale,omitempty"`
	Model               *string                `protobuf:"bytes,14,opt,name=model,proto3,oneof" json:"model,omitempty"`
	ReasoningEffort     *string                `protobuf:"bytes,15,opt,name=reasoning_effort,json=reasoningEffort,proto3,oneof" json:"reasoning_effort,omitempty"`
	Status              *string                `protobuf:"bytes,16,opt,name=status,proto3,oneof" json:"status,omitempty"`
	SessionId           *string                `protobuf:"bytes,17,opt,name=session_id,json=sessionId,proto3,oneof" json:"session_id,omitempty"`
	SessionJson         []byte                 `protobuf:"bytes,18,opt,name=session_json,json=sessionJson,proto3,oneof" json:"session_json,omitempty"`
	CodexCliSessionPath *string                `protobuf:"bytes,19,opt,name=codex_cli_session_path,json=codexCliSessionPath,proto3,oneof" json:"codex_cli_session_path,omitempty"`
	CodexCliSessionJson []byte                 `protobuf:"bytes,20,opt,name=codex_cli_session_json,json=codexCliSessionJson,proto3,oneof" json:"codex_cli_session_json,omitempty"`
	StartedAt           *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
	FinishedAt          *timestamppb.Timestamp `protobuf:"bytes,22,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"`
	SnapshotVersion     int64                  `protobuf:"varint,23,opt,name=snapshot_version,json=snapshotVersion,proto3" json:"snapshot_version,omitempty"`
	SnapshotChecksum    *string                `protobuf:"bytes,24,opt,name=snapshot_checksum,json=snapshotChecksum,proto3,oneof" json:"snapshot_checksum,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *UpsertAgentSessionRequest) Reset() {
	*x = UpsertAgentSessionRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[199]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertAgentSessionRequest) ProtoMessage() {}

func (x *UpsertAgentSessionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[199]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertAgentSessionRequest.ProtoReflect.Descriptor instead.
func (*UpsertAgentSessionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{199}
}

func (x *UpsertAgentSessionRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

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

func (x *UpsertAgentSessionRequest) GetProjectId() string {
	if x != nil && x.ProjectId != nil {
		return *x.ProjectId
	}
	return ""
}

func (x *UpsertAgentSessionRequest) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *UpsertAgentSessionRequest) GetAgentKey() string {
	if x != nil {
		return x.AgentKey
	}
	return ""
}

func (x *UpsertAgentSessionRequest) GetIssueNumber() *wrapperspb.Int32Value {
	if x != nil {
		return x.IssueNumber
	}
	return nil
}

func (x *UpsertAgentSessionRequest) GetBranchName() string {
	if x != nil {
		return x.BranchName
	}
	return ""
}

func (x *UpsertAgentSessionRequest) GetPrNumber() *wrapperspb.Int32Value {
	if x != nil {
		return x.PrNumber
	}
	return nil
}

func (x *UpsertAgentSessionRequest) GetPrUrl() string {
	if x != nil && x.PrUrl != nil {
		return *x.PrUrl
	}
	return ""
}

func (x *UpsertAgentSessionRequest) GetTriggerKind() string {
	if x != nil && x.TriggerKind != nil {
		return *x.TriggerKind
	}
	return ""
}

func (x *UpsertAgentSessionRequest) GetTemplateKind() string {
	if x != nil && x.TemplateKind != nil {
		return *x.TemplateKind
	}
	return ""
}

func (x *UpsertAgentSessionRequest) GetTemplateSource() string {
	if x != nil && x.TemplateSource != nil {
		return *x.TemplateSource
	}
	return ""
}

func (x *UpsertAgentSessionRequest) GetTemplateLocale() string {
	if x != nil && x.TemplateLocale != nil {
		return *x.TemplateLocale
	}
	return ""
}

func (x *UpsertAgentSessionRequest) GetModel() string {
	if x != nil && x.Model != nil {
		return *x.Model
	}
	return ""
}

func (x *UpsertAgentSessionRequest) GetReasoningEffort() string {
	if x != nil && x.ReasoningEffort != nil {
		return *x.ReasoningEffort
	}
	return ""
}

func (x *UpsertAgentSessionRequest) GetStatus() string {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return ""
}

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

func (x *UpsertAgentSessionRequest) GetSessionJson() []byte {
	if x != nil {
		return x.SessionJson
	}
	return nil
}

func (x *UpsertAgentSessionRequest) GetCodexCliSessionPath() string {
	if x != nil && x.CodexCliSessionPath != nil {
		return *x.CodexCliSessionPath
	}
	return ""
}

func (x *UpsertAgentSessionRequest) GetCodexCliSessionJson() []byte {
	if x != nil {
		return x.CodexCliSessionJson
	}
	return nil
}

func (x *UpsertAgentSessionRequest) GetStartedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.StartedAt
	}
	return nil
}

func (x *UpsertAgentSessionRequest) GetFinishedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.FinishedAt
	}
	return nil
}

func (x *UpsertAgentSessionRequest) GetSnapshotVersion() int64 {
	if x != nil {
		return x.SnapshotVersion
	}
	return 0
}

func (x *UpsertAgentSessionRequest) GetSnapshotChecksum() string {
	if x != nil && x.SnapshotChecksum != nil {
		return *x.SnapshotChecksum
	}
	return ""
}

type UpsertAgentSessionResponse struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Ok               bool                   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	RunId            string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	SnapshotVersion  int64                  `protobuf:"varint,3,opt,name=snapshot_version,json=snapshotVersion,proto3" json:"snapshot_version,omitempty"`
	SnapshotChecksum *string                `protobuf:"bytes,4,opt,name=snapshot_checksum,json=snapshotChecksum,proto3,oneof" json:"snapshot_checksum,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *UpsertAgentSessionResponse) Reset() {
	*x = UpsertAgentSessionResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[200]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertAgentSessionResponse) ProtoMessage() {}

func (x *UpsertAgentSessionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[200]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertAgentSessionResponse.ProtoReflect.Descriptor instead.
func (*UpsertAgentSessionResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{200}
}

func (x *UpsertAgentSessionResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *UpsertAgentSessionResponse) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *UpsertAgentSessionResponse) GetSnapshotVersion() int64 {
	if x != nil {
		return x.SnapshotVersion
	}
	return 0
}

func (x *UpsertAgentSessionResponse) GetSnapshotChecksum() string {
	if x != nil && x.SnapshotChecksum != nil {
		return *x.SnapshotChecksum
	}
	return ""
}

type AgentSessionSnapshot struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	RunId               string                 `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	CorrelationId       string                 `protobuf:"bytes,2,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	ProjectId           *string                `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	RepositoryFullName  string                 `protobuf:"bytes,4,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	AgentKey            string                 `protobuf:"bytes,5,opt,name=agent_key,json=agentKey,proto3" json:"agent_key,omitempty"`
	IssueNumber         *wrapperspb.Int32Value `protobuf:"bytes,6,opt,name=issue_number,json=issueNumber,proto3" json:"issue_number,omitempty"`
	BranchName          string                 `protobuf:"bytes,7,opt,name=branch_name,json=branchName,proto3" json:"branch_name,omitempty"`
	PrNumber            *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=pr_number,json=prNumber,proto3" json:"pr_number,omitempty"`
	PrUrl               *string                `protobuf:"bytes,9,opt,name=pr_url,json=prUrl,proto3,oneof" json:"pr_url,omitempty"`
	TriggerKind         *string                `protobuf:"bytes,10,opt,name=trigger_kind,json=triggerKind,proto3,oneof" json:"trigger_kind,omitempty"`
	TemplateKind        *string                `protobuf:"bytes,11,opt,name=template_kind,json=templateKind,proto3,oneof" json:"template_kind,omitempty"`
	TemplateSource      *string                `protobuf:"bytes,12,opt,name=template_source,json=templateSource,proto3,oneof" json:"template_source,omitempty"`
	TemplateLocale      *string                `protobuf:"bytes,13,opt,name=template_locale,json=templateLocale,proto3,oneof" json:"template_locale,omitempty"`
	Model               *string                `protobuf:"bytes,14,opt,name=model,proto3,oneof" json:"model,omitempty"`
	ReasoningEffort     *string                `protobuf:"bytes,15,opt,name=reasoning_effort,json=reasoningEffort,proto3,oneof" json:"reasoning_effort,omitempty"`
	Status              *string                `protobuf:"bytes,16,opt,name=status,proto3,oneof" json:"status,omitempty"`
	SessionId           *string                `protobuf:"bytes,17,opt,name=session_id,json=sessionId,proto3,oneof" json:"session_id,omitempty"`
	SessionJson         []byte                 `protobuf:"bytes,18,opt,name=session_json,json=sessionJson,proto3,oneof" json:"session_json,omitempty"`
	CodexCliSessionPath *string                `protobuf:"bytes,19,opt,name=codex_cli_session_path,json=codexCliSessionPath,proto3,oneof" json:"codex_cli_session_path,omitempty"`
	CodexCliSessionJson []byte                 `protobuf:"bytes,20,opt,name=codex_cli_session_json,json=codexCliSessionJson,proto3,oneof" json:"codex_cli_session_json,omitempty"`
	StartedAt           *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
	FinishedAt          *timestamppb.Timestamp `protobuf:"bytes,22,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"`
	CreatedAt           *timestamppb.Timestamp `protobuf:"bytes,23,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt           *timestamppb.Timestamp `protobuf:"bytes,24,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	SnapshotVersion     int64                  `protobuf:"varint,25,opt,name=snapshot_version,json=snapshotVersion,proto3" json:"snapshot_version,omitempty"`
	SnapshotChecksum    *string                `protobuf:"bytes,26,opt,name=snapshot_checksum,json=snapshotChecksum,proto3,oneof" json:"snapshot_checksum,omitempty"`
	SnapshotUpdatedAt   *timestamppb.Timestamp `protobuf:"bytes,27,opt,name=snapshot_updated_at,json=snapshotUpdatedAt,proto3" json:"snapshot_updated_at,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *AgentSessionSnapshot) Reset() {
	*x = AgentSessionSnapshot{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[201]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AgentSessionSnapshot) ProtoMessage() {}

func (x *AgentSessionSnapshot) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[201]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AgentSessionSnapshot.ProtoReflect.Descriptor instead.
func (*AgentSessionSnapshot) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{201}
}

func (x *AgentSessionSnapshot) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

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

func (x *AgentSessionSnapshot) GetProjectId() string {
	if x != nil && x.ProjectId != nil {
		return *x.ProjectId
	}
	return ""
}

func (x *AgentSessionSnapshot) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *AgentSessionSnapshot) GetAgentKey() string {
	if x != nil {
		return x.AgentKey
	}
	return ""
}

func (x *AgentSessionSnapshot) GetIssueNumber() *wrapperspb.Int32Value {
	if x != nil {
		return x.IssueNumber
	}
	return nil
}

func (x *AgentSessionSnapshot) GetBranchName() string {
	if x != nil {
		return x.BranchName
	}
	return ""
}

func (x *AgentSessionSnapshot) GetPrNumber() *wrapperspb.Int32Value {
	if x != nil {
		return x.PrNumber
	}
	return nil
}

func (x *AgentSessionSnapshot) GetPrUrl() string {
	if x != nil && x.PrUrl != nil {
		return *x.PrUrl
	}
	return ""
}

func (x *AgentSessionSnapshot) GetTriggerKind() string {
	if x != nil && x.TriggerKind != nil {
		return *x.TriggerKind
	}
	return ""
}

func (x *AgentSessionSnapshot) GetTemplateKind() string {
	if x != nil && x.TemplateKind != nil {
		return *x.TemplateKind
	}
	return ""
}

func (x *AgentSessionSnapshot) GetTemplateSource() string {
	if x != nil && x.TemplateSource != nil {
		return *x.TemplateSource
	}
	return ""
}

func (x *AgentSessionSnapshot) GetTemplateLocale() string {
	if x != nil && x.TemplateLocale != nil {
		return *x.TemplateLocale
	}
	return ""
}

func (x *AgentSessionSnapshot) GetModel() string {
	if x != nil && x.Model != nil {
		return *x.Model
	}
	return ""
}

func (x *AgentSessionSnapshot) GetReasoningEffort() string {
	if x != nil && x.ReasoningEffort != nil {
		return *x.ReasoningEffort
	}
	return ""
}

func (x *AgentSessionSnapshot) GetStatus() string {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return ""
}

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

func (x *AgentSessionSnapshot) GetSessionJson() []byte {
	if x != nil {
		return x.SessionJson
	}
	return nil
}

func (x *AgentSessionSnapshot) GetCodexCliSessionPath() string {
	if x != nil && x.CodexCliSessionPath != nil {
		return *x.CodexCliSessionPath
	}
	return ""
}

func (x *AgentSessionSnapshot) GetCodexCliSessionJson() []byte {
	if x != nil {
		return x.CodexCliSessionJson
	}
	return nil
}

func (x *AgentSessionSnapshot) GetStartedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.StartedAt
	}
	return nil
}

func (x *AgentSessionSnapshot) GetFinishedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.FinishedAt
	}
	return nil
}

func (x *AgentSessionSnapshot) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *AgentSessionSnapshot) GetUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedAt
	}
	return nil
}

func (x *AgentSessionSnapshot) GetSnapshotVersion() int64 {
	if x != nil {
		return x.SnapshotVersion
	}
	return 0
}

func (x *AgentSessionSnapshot) GetSnapshotChecksum() string {
	if x != nil && x.SnapshotChecksum != nil {
		return *x.SnapshotChecksum
	}
	return ""
}

func (x *AgentSessionSnapshot) GetSnapshotUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.SnapshotUpdatedAt
	}
	return nil
}

type GetLatestAgentSessionRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	RepositoryFullName string                 `protobuf:"bytes,1,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	BranchName         string                 `protobuf:"bytes,2,opt,name=branch_name,json=branchName,proto3" json:"branch_name,omitempty"`
	AgentKey           string                 `protobuf:"bytes,3,opt,name=agent_key,json=agentKey,proto3" json:"agent_key,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *GetLatestAgentSessionRequest) Reset() {
	*x = GetLatestAgentSessionRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[202]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetLatestAgentSessionRequest) ProtoMessage() {}

func (x *GetLatestAgentSessionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[202]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetLatestAgentSessionRequest.ProtoReflect.Descriptor instead.
func (*GetLatestAgentSessionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{202}
}

func (x *GetLatestAgentSessionRequest) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *GetLatestAgentSessionRequest) GetBranchName() string {
	if x != nil {
		return x.BranchName
	}
	return ""
}

func (x *GetLatestAgentSessionRequest) GetAgentKey() string {
	if x != nil {
		return x.AgentKey
	}
	return ""
}

type GetLatestAgentSessionResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Found         bool                   `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"`
	Session       *AgentSessionSnapshot  `protobuf:"bytes,2,opt,name=session,proto3" json:"session,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetLatestAgentSessionResponse) Reset() {
	*x = GetLatestAgentSessionResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[203]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetLatestAgentSessionResponse) ProtoMessage() {}

func (x *GetLatestAgentSessionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[203]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetLatestAgentSessionResponse.ProtoReflect.Descriptor instead.
func (*GetLatestAgentSessionResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{203}
}

func (x *GetLatestAgentSessionResponse) GetFound() bool {
	if x != nil {
		return x.Found
	}
	return false
}

func (x *GetLatestAgentSessionResponse) GetSession() *AgentSessionSnapshot {
	if x != nil {
		return x.Session
	}
	return nil
}

type GetRunInteractionResumePayloadRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetRunInteractionResumePayloadRequest) Reset() {
	*x = GetRunInteractionResumePayloadRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[204]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetRunInteractionResumePayloadRequest) ProtoMessage() {}

func (x *GetRunInteractionResumePayloadRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[204]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetRunInteractionResumePayloadRequest.ProtoReflect.Descriptor instead.
func (*GetRunInteractionResumePayloadRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{204}
}

type GetRunInteractionResumePayloadResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Found         bool                   `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"`
	PayloadJson   []byte                 `protobuf:"bytes,2,opt,name=payload_json,json=payloadJson,proto3" json:"payload_json,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetRunInteractionResumePayloadResponse) Reset() {
	*x = GetRunInteractionResumePayloadResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[205]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetRunInteractionResumePayloadResponse) ProtoMessage() {}

func (x *GetRunInteractionResumePayloadResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[205]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetRunInteractionResumePayloadResponse.ProtoReflect.Descriptor instead.
func (*GetRunInteractionResumePayloadResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{205}
}

func (x *GetRunInteractionResumePayloadResponse) GetFound() bool {
	if x != nil {
		return x.Found
	}
	return false
}

func (x *GetRunInteractionResumePayloadResponse) GetPayloadJson() []byte {
	if x != nil {
		return x.PayloadJson
	}
	return nil
}

type GetRunGitHubRateLimitResumePayloadRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetRunGitHubRateLimitResumePayloadRequest) Reset() {
	*x = GetRunGitHubRateLimitResumePayloadRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[206]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetRunGitHubRateLimitResumePayloadRequest) ProtoMessage() {}

func (x *GetRunGitHubRateLimitResumePayloadRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[206]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetRunGitHubRateLimitResumePayloadRequest.ProtoReflect.Descriptor instead.
func (*GetRunGitHubRateLimitResumePayloadRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{206}
}

type GetRunGitHubRateLimitResumePayloadResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Found         bool                   `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"`
	PayloadJson   []byte                 `protobuf:"bytes,2,opt,name=payload_json,json=payloadJson,proto3" json:"payload_json,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetRunGitHubRateLimitResumePayloadResponse) Reset() {
	*x = GetRunGitHubRateLimitResumePayloadResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[207]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetRunGitHubRateLimitResumePayloadResponse) ProtoMessage() {}

func (x *GetRunGitHubRateLimitResumePayloadResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[207]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetRunGitHubRateLimitResumePayloadResponse.ProtoReflect.Descriptor instead.
func (*GetRunGitHubRateLimitResumePayloadResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{207}
}

func (x *GetRunGitHubRateLimitResumePayloadResponse) GetFound() bool {
	if x != nil {
		return x.Found
	}
	return false
}

func (x *GetRunGitHubRateLimitResumePayloadResponse) GetPayloadJson() []byte {
	if x != nil {
		return x.PayloadJson
	}
	return nil
}

type LookupRunPullRequestRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	ProjectId          *string                `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	RepositoryFullName string                 `protobuf:"bytes,2,opt,name=repository_full_name,json=repositoryFullName,proto3" json:"repository_full_name,omitempty"`
	PrNumber           *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=pr_number,json=prNumber,proto3" json:"pr_number,omitempty"`
	HeadBranch         *string                `protobuf:"bytes,4,opt,name=head_branch,json=headBranch,proto3,oneof" json:"head_branch,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *LookupRunPullRequestRequest) Reset() {
	*x = LookupRunPullRequestRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[208]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LookupRunPullRequestRequest) ProtoMessage() {}

func (x *LookupRunPullRequestRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[208]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LookupRunPullRequestRequest.ProtoReflect.Descriptor instead.
func (*LookupRunPullRequestRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{208}
}

func (x *LookupRunPullRequestRequest) GetProjectId() string {
	if x != nil && x.ProjectId != nil {
		return *x.ProjectId
	}
	return ""
}

func (x *LookupRunPullRequestRequest) GetRepositoryFullName() string {
	if x != nil {
		return x.RepositoryFullName
	}
	return ""
}

func (x *LookupRunPullRequestRequest) GetPrNumber() *wrapperspb.Int32Value {
	if x != nil {
		return x.PrNumber
	}
	return nil
}

func (x *LookupRunPullRequestRequest) GetHeadBranch() string {
	if x != nil && x.HeadBranch != nil {
		return *x.HeadBranch
	}
	return ""
}

type LookupRunPullRequestResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Found         bool                   `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"`
	PrNumber      int32                  `protobuf:"varint,2,opt,name=pr_number,json=prNumber,proto3" json:"pr_number,omitempty"`
	PrUrl         string                 `protobuf:"bytes,3,opt,name=pr_url,json=prUrl,proto3" json:"pr_url,omitempty"`
	PrState       *string                `protobuf:"bytes,4,opt,name=pr_state,json=prState,proto3,oneof" json:"pr_state,omitempty"`
	HeadBranch    *string                `protobuf:"bytes,5,opt,name=head_branch,json=headBranch,proto3,oneof" json:"head_branch,omitempty"`
	BaseBranch    *string                `protobuf:"bytes,6,opt,name=base_branch,json=baseBranch,proto3,oneof" json:"base_branch,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LookupRunPullRequestResponse) Reset() {
	*x = LookupRunPullRequestResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[209]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LookupRunPullRequestResponse) ProtoMessage() {}

func (x *LookupRunPullRequestResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[209]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LookupRunPullRequestResponse.ProtoReflect.Descriptor instead.
func (*LookupRunPullRequestResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{209}
}

func (x *LookupRunPullRequestResponse) GetFound() bool {
	if x != nil {
		return x.Found
	}
	return false
}

func (x *LookupRunPullRequestResponse) GetPrNumber() int32 {
	if x != nil {
		return x.PrNumber
	}
	return 0
}

func (x *LookupRunPullRequestResponse) GetPrUrl() string {
	if x != nil {
		return x.PrUrl
	}
	return ""
}

func (x *LookupRunPullRequestResponse) GetPrState() string {
	if x != nil && x.PrState != nil {
		return *x.PrState
	}
	return ""
}

func (x *LookupRunPullRequestResponse) GetHeadBranch() string {
	if x != nil && x.HeadBranch != nil {
		return *x.HeadBranch
	}
	return ""
}

func (x *LookupRunPullRequestResponse) GetBaseBranch() string {
	if x != nil && x.BaseBranch != nil {
		return *x.BaseBranch
	}
	return ""
}

type InsertRunFlowEventRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RunId         string                 `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	EventType     string                 `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
	PayloadJson   []byte                 `protobuf:"bytes,3,opt,name=payload_json,json=payloadJson,proto3" json:"payload_json,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InsertRunFlowEventRequest) Reset() {
	*x = InsertRunFlowEventRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[210]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*InsertRunFlowEventRequest) ProtoMessage() {}

func (x *InsertRunFlowEventRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[210]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InsertRunFlowEventRequest.ProtoReflect.Descriptor instead.
func (*InsertRunFlowEventRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{210}
}

func (x *InsertRunFlowEventRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *InsertRunFlowEventRequest) GetEventType() string {
	if x != nil {
		return x.EventType
	}
	return ""
}

func (x *InsertRunFlowEventRequest) GetPayloadJson() []byte {
	if x != nil {
		return x.PayloadJson
	}
	return nil
}

type InsertRunFlowEventResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ok            bool                   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	EventType     string                 `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InsertRunFlowEventResponse) Reset() {
	*x = InsertRunFlowEventResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[211]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*InsertRunFlowEventResponse) ProtoMessage() {}

func (x *InsertRunFlowEventResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[211]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InsertRunFlowEventResponse.ProtoReflect.Descriptor instead.
func (*InsertRunFlowEventResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{211}
}

func (x *InsertRunFlowEventResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *InsertRunFlowEventResponse) GetEventType() string {
	if x != nil {
		return x.EventType
	}
	return ""
}

type UpsertRunStatusCommentRequest struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	RunId                    string                 `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Phase                    string                 `protobuf:"bytes,2,opt,name=phase,proto3" json:"phase,omitempty"`
	JobName                  *string                `protobuf:"bytes,3,opt,name=job_name,json=jobName,proto3,oneof" json:"job_name,omitempty"`
	JobNamespace             *string                `protobuf:"bytes,4,opt,name=job_namespace,json=jobNamespace,proto3,oneof" json:"job_namespace,omitempty"`
	RuntimeMode              *string                `protobuf:"bytes,5,opt,name=runtime_mode,json=runtimeMode,proto3,oneof" json:"runtime_mode,omitempty"`
	Namespace                *string                `protobuf:"bytes,6,opt,name=namespace,proto3,oneof" json:"namespace,omitempty"`
	TriggerKind              *string                `protobuf:"bytes,7,opt,name=trigger_kind,json=triggerKind,proto3,oneof" json:"trigger_kind,omitempty"`
	PromptLocale             *string                `protobuf:"bytes,8,opt,name=prompt_locale,json=promptLocale,proto3,oneof" json:"prompt_locale,omitempty"`
	RunStatus                *string                `protobuf:"bytes,9,opt,name=run_status,json=runStatus,proto3,oneof" json:"run_status,omitempty"`
	Deleted                  bool                   `protobuf:"varint,10,opt,name=deleted,proto3" json:"deleted,omitempty"`
	AlreadyDeleted           bool                   `protobuf:"varint,11,opt,name=already_deleted,json=alreadyDeleted,proto3" json:"already_deleted,omitempty"`
	Model                    *string                `protobuf:"bytes,12,opt,name=model,proto3,oneof" json:"model,omitempty"`
	ReasoningEffort          *string                `protobuf:"bytes,13,opt,name=reasoning_effort,json=reasoningEffort,proto3,oneof" json:"reasoning_effort,omitempty"`
	CodexAuthVerificationUrl *string                `protobuf:"bytes,14,opt,name=codex_auth_verification_url,json=codexAuthVerificationUrl,proto3,oneof" json:"codex_auth_verification_url,omitempty"`
	CodexAuthUserCode        *string                `protobuf:"bytes,15,opt,name=codex_auth_user_code,json=codexAuthUserCode,proto3,oneof" json:"codex_auth_user_code,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *UpsertRunStatusCommentRequest) Reset() {
	*x = UpsertRunStatusCommentRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[212]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertRunStatusCommentRequest) ProtoMessage() {}

func (x *UpsertRunStatusCommentRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[212]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertRunStatusCommentRequest.ProtoReflect.Descriptor instead.
func (*UpsertRunStatusCommentRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{212}
}

func (x *UpsertRunStatusCommentRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *UpsertRunStatusCommentRequest) GetPhase() string {
	if x != nil {
		return x.Phase
	}
	return ""
}

func (x *UpsertRunStatusCommentRequest) GetJobName() string {
	if x != nil && x.JobName != nil {
		return *x.JobName
	}
	return ""
}

func (x *UpsertRunStatusCommentRequest) GetJobNamespace() string {
	if x != nil && x.JobNamespace != nil {
		return *x.JobNamespace
	}
	return ""
}

func (x *UpsertRunStatusCommentRequest) GetRuntimeMode() string {
	if x != nil && x.RuntimeMode != nil {
		return *x.RuntimeMode
	}
	return ""
}

func (x *UpsertRunStatusCommentRequest) GetNamespace() string {
	if x != nil && x.Namespace != nil {
		return *x.Namespace
	}
	return ""
}

func (x *UpsertRunStatusCommentRequest) GetTriggerKind() string {
	if x != nil && x.TriggerKind != nil {
		return *x.TriggerKind
	}
	return ""
}

func (x *UpsertRunStatusCommentRequest) GetPromptLocale() string {
	if x != nil && x.PromptLocale != nil {
		return *x.PromptLocale
	}
	return ""
}

func (x *UpsertRunStatusCommentRequest) GetRunStatus() string {
	if x != nil && x.RunStatus != nil {
		return *x.RunStatus
	}
	return ""
}

func (x *UpsertRunStatusCommentRequest) GetDeleted() bool {
	if x != nil {
		return x.Deleted
	}
	return false
}

func (x *UpsertRunStatusCommentRequest) GetAlreadyDeleted() bool {
	if x != nil {
		return x.AlreadyDeleted
	}
	return false
}

func (x *UpsertRunStatusCommentRequest) GetModel() string {
	if x != nil && x.Model != nil {
		return *x.Model
	}
	return ""
}

func (x *UpsertRunStatusCommentRequest) GetReasoningEffort() string {
	if x != nil && x.ReasoningEffort != nil {
		return *x.ReasoningEffort
	}
	return ""
}

func (x *UpsertRunStatusCommentRequest) GetCodexAuthVerificationUrl() string {
	if x != nil && x.CodexAuthVerificationUrl != nil {
		return *x.CodexAuthVerificationUrl
	}
	return ""
}

func (x *UpsertRunStatusCommentRequest) GetCodexAuthUserCode() string {
	if x != nil && x.CodexAuthUserCode != nil {
		return *x.CodexAuthUserCode
	}
	return ""
}

type UpsertRunStatusCommentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ok            bool                   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	CommentId     int64                  `protobuf:"varint,3,opt,name=comment_id,json=commentId,proto3" json:"comment_id,omitempty"`
	CommentUrl    *string                `protobuf:"bytes,4,opt,name=comment_url,json=commentUrl,proto3,oneof" json:"comment_url,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpsertRunStatusCommentResponse) Reset() {
	*x = UpsertRunStatusCommentResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[213]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertRunStatusCommentResponse) ProtoMessage() {}

func (x *UpsertRunStatusCommentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[213]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertRunStatusCommentResponse.ProtoReflect.Descriptor instead.
func (*UpsertRunStatusCommentResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{213}
}

func (x *UpsertRunStatusCommentResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *UpsertRunStatusCommentResponse) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *UpsertRunStatusCommentResponse) GetCommentId() int64 {
	if x != nil {
		return x.CommentId
	}
	return 0
}

func (x *UpsertRunStatusCommentResponse) GetCommentUrl() string {
	if x != nil && x.CommentUrl != nil {
		return *x.CommentUrl
	}
	return ""
}

type GetCodexAuthRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetCodexAuthRequest) Reset() {
	*x = GetCodexAuthRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[214]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetCodexAuthRequest) ProtoMessage() {}

func (x *GetCodexAuthRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[214]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetCodexAuthRequest.ProtoReflect.Descriptor instead.
func (*GetCodexAuthRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{214}
}

type GetCodexAuthResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Found         bool                   `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"`
	AuthJson      []byte                 `protobuf:"bytes,2,opt,name=auth_json,json=authJson,proto3" json:"auth_json,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetCodexAuthResponse) Reset() {
	*x = GetCodexAuthResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[215]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetCodexAuthResponse) ProtoMessage() {}

func (x *GetCodexAuthResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[215]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetCodexAuthResponse.ProtoReflect.Descriptor instead.
func (*GetCodexAuthResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{215}
}

func (x *GetCodexAuthResponse) GetFound() bool {
	if x != nil {
		return x.Found
	}
	return false
}

func (x *GetCodexAuthResponse) GetAuthJson() []byte {
	if x != nil {
		return x.AuthJson
	}
	return nil
}

type UpsertCodexAuthRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	AuthJson      []byte                 `protobuf:"bytes,1,opt,name=auth_json,json=authJson,proto3" json:"auth_json,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpsertCodexAuthRequest) Reset() {
	*x = UpsertCodexAuthRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[216]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertCodexAuthRequest) ProtoMessage() {}

func (x *UpsertCodexAuthRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[216]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertCodexAuthRequest.ProtoReflect.Descriptor instead.
func (*UpsertCodexAuthRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{216}
}

func (x *UpsertCodexAuthRequest) GetAuthJson() []byte {
	if x != nil {
		return x.AuthJson
	}
	return nil
}

type UpsertCodexAuthResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ok            bool                   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpsertCodexAuthResponse) Reset() {
	*x = UpsertCodexAuthResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[217]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpsertCodexAuthResponse) ProtoMessage() {}

func (x *UpsertCodexAuthResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[217]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpsertCodexAuthResponse.ProtoReflect.Descriptor instead.
func (*UpsertCodexAuthResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{217}
}

func (x *UpsertCodexAuthResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

type DeleteRunNamespaceRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Principal     *Principal             `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteRunNamespaceRequest) Reset() {
	*x = DeleteRunNamespaceRequest{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[218]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteRunNamespaceRequest) ProtoMessage() {}

func (x *DeleteRunNamespaceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[218]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteRunNamespaceRequest.ProtoReflect.Descriptor instead.
func (*DeleteRunNamespaceRequest) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{218}
}

func (x *DeleteRunNamespaceRequest) GetPrincipal() *Principal {
	if x != nil {
		return x.Principal
	}
	return nil
}

func (x *DeleteRunNamespaceRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

type DeleteRunNamespaceResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Ok             bool                   `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"`
	RunId          string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Namespace      string                 `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"`
	Deleted        bool                   `protobuf:"varint,4,opt,name=deleted,proto3" json:"deleted,omitempty"`
	AlreadyDeleted bool                   `protobuf:"varint,5,opt,name=already_deleted,json=alreadyDeleted,proto3" json:"already_deleted,omitempty"`
	CommentUrl     *string                `protobuf:"bytes,6,opt,name=comment_url,json=commentUrl,proto3,oneof" json:"comment_url,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *DeleteRunNamespaceResponse) Reset() {
	*x = DeleteRunNamespaceResponse{}
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[219]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteRunNamespaceResponse) ProtoMessage() {}

func (x *DeleteRunNamespaceResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_controlplane_v1_controlplane_proto_msgTypes[219]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteRunNamespaceResponse.ProtoReflect.Descriptor instead.
func (*DeleteRunNamespaceResponse) Descriptor() ([]byte, []int) {
	return file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP(), []int{219}
}

func (x *DeleteRunNamespaceResponse) GetOk() bool {
	if x != nil {
		return x.Ok
	}
	return false
}

func (x *DeleteRunNamespaceResponse) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

func (x *DeleteRunNamespaceResponse) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

func (x *DeleteRunNamespaceResponse) GetDeleted() bool {
	if x != nil {
		return x.Deleted
	}
	return false
}

func (x *DeleteRunNamespaceResponse) GetAlreadyDeleted() bool {
	if x != nil {
		return x.AlreadyDeleted
	}
	return false
}

func (x *DeleteRunNamespaceResponse) GetCommentUrl() string {
	if x != nil && x.CommentUrl != nil {
		return *x.CommentUrl
	}
	return ""
}

var File_kodex_controlplane_v1_controlplane_proto protoreflect.FileDescriptor

const file_kodex_controlplane_v1_controlplane_proto_rawDesc = "" +
	"\n" +
	"(kodex/controlplane/v1/controlplane.proto\x12\x15kodex.controlplane.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xb5\x01\n" +
	"\tPrincipal\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\tR\x06userId\x12\x14\n" +
	"\x05email\x18\x02 \x01(\tR\x05email\x12!\n" +
	"\fgithub_login\x18\x03 \x01(\tR\vgithubLogin\x12*\n" +
	"\x11is_platform_admin\x18\x04 \x01(\bR\x0fisPlatformAdmin\x12*\n" +
	"\x11is_platform_owner\x18\x05 \x01(\bR\x0fisPlatformOwner\"\xe3\x01\n" +
	"\x1aIngestGitHubWebhookRequest\x12%\n" +
	"\x0ecorrelation_id\x18\x01 \x01(\tR\rcorrelationId\x12\x1d\n" +
	"\n" +
	"event_type\x18\x02 \x01(\tR\teventType\x12\x1f\n" +
	"\vdelivery_id\x18\x03 \x01(\tR\n" +
	"deliveryId\x12;\n" +
	"\vreceived_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"receivedAt\x12!\n" +
	"\fpayload_json\x18\x05 \x01(\fR\vpayloadJson\"\x91\x01\n" +
	"\x1bIngestGitHubWebhookResponse\x12%\n" +
	"\x0ecorrelation_id\x18\x01 \x01(\tR\rcorrelationId\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x12\x1c\n" +
	"\tduplicate\x18\x04 \x01(\bR\tduplicate\"k\n" +
	"\x1aResolveStaffByEmailRequest\x12\x14\n" +
	"\x05email\x18\x01 \x01(\tR\x05email\x12&\n" +
	"\fgithub_login\x18\x02 \x01(\tH\x00R\vgithubLogin\x88\x01\x01B\x0f\n" +
	"\r_github_login\"]\n" +
	"\x1bResolveStaffByEmailResponse\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\"z\n" +
	"\x19AuthorizeOAuthUserRequest\x12\x14\n" +
	"\x05email\x18\x01 \x01(\tR\x05email\x12$\n" +
	"\x0egithub_user_id\x18\x02 \x01(\x03R\fgithubUserId\x12!\n" +
	"\fgithub_login\x18\x03 \x01(\tR\vgithubLogin\"\\\n" +
	"\x1aAuthorizeOAuthUserResponse\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\"U\n" +
	"\aProject\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04slug\x18\x02 \x01(\tR\x04slug\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\x12\x12\n" +
	"\x04role\x18\x04 \x01(\tR\x04role\"k\n" +
	"\x13ListProjectsRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x14\n" +
	"\x05limit\x18\x02 \x01(\x05R\x05limit\"L\n" +
	"\x14ListProjectsResponse\x124\n" +
	"\x05items\x18\x01 \x03(\v2\x1e.kodex.controlplane.v1.ProjectR\x05items\"~\n" +
	"\x14UpsertProjectRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x12\n" +
	"\x04slug\x18\x02 \x01(\tR\x04slug\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\"r\n" +
	"\x11GetProjectRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\"u\n" +
	"\x14DeleteProjectRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\"\xb4\n" +
	"\n" +
	"\x03Run\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12%\n" +
	"\x0ecorrelation_id\x18\x02 \x01(\tR\rcorrelationId\x12\"\n" +
	"\n" +
	"project_id\x18\x03 \x01(\tH\x00R\tprojectId\x88\x01\x01\x12&\n" +
	"\fproject_slug\x18\x04 \x01(\tH\x01R\vprojectSlug\x88\x01\x01\x12&\n" +
	"\fproject_name\x18\x05 \x01(\tH\x02R\vprojectName\x88\x01\x01\x12\x16\n" +
	"\x06status\x18\x06 \x01(\tR\x06status\x129\n" +
	"\n" +
	"created_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"started_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12;\n" +
	"\vfinished_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"finishedAt\x12&\n" +
	"\fissue_number\x18\n" +
	" \x01(\x05H\x03R\vissueNumber\x88\x01\x01\x12 \n" +
	"\tissue_url\x18\v \x01(\tH\x04R\bissueUrl\x88\x01\x01\x12 \n" +
	"\tpr_number\x18\f \x01(\x05H\x05R\bprNumber\x88\x01\x01\x12\x1a\n" +
	"\x06pr_url\x18\r \x01(\tH\x06R\x05prUrl\x88\x01\x01\x12&\n" +
	"\ftrigger_kind\x18\x0e \x01(\tH\aR\vtriggerKind\x88\x01\x01\x12(\n" +
	"\rtrigger_label\x18\x0f \x01(\tH\bR\ftriggerLabel\x88\x01\x01\x12\x1e\n" +
	"\bjob_name\x18\x10 \x01(\tH\tR\ajobName\x88\x01\x01\x12(\n" +
	"\rjob_namespace\x18\x11 \x01(\tH\n" +
	"R\fjobNamespace\x88\x01\x01\x12!\n" +
	"\tnamespace\x18\x12 \x01(\tH\vR\tnamespace\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"job_exists\x18\x13 \x01(\bR\tjobExists\x12)\n" +
	"\x10namespace_exists\x18\x14 \x01(\bR\x0fnamespaceExists\x12\"\n" +
	"\n" +
	"wait_state\x18\x15 \x01(\tH\fR\twaitState\x88\x01\x01\x12$\n" +
	"\vwait_reason\x18\x16 \x01(\tH\rR\n" +
	"waitReason\x88\x01\x01\x12 \n" +
	"\tagent_key\x18\x17 \x01(\tH\x0eR\bagentKey\x88\x01\x01\x129\n" +
	"\n" +
	"wait_since\x18\x18 \x01(\v2\x1a.google.protobuf.TimestampR\twaitSince\x12F\n" +
	"\x11last_heartbeat_at\x18\x19 \x01(\v2\x1a.google.protobuf.TimestampR\x0flastHeartbeatAt\x12Q\n" +
	"\x0fwait_projection\x18\x1a \x01(\v2(.kodex.controlplane.v1.RunWaitProjectionR\x0ewaitProjectionB\r\n" +
	"\v_project_idB\x0f\n" +
	"\r_project_slugB\x0f\n" +
	"\r_project_nameB\x0f\n" +
	"\r_issue_numberB\f\n" +
	"\n" +
	"_issue_urlB\f\n" +
	"\n" +
	"_pr_numberB\t\n" +
	"\a_pr_urlB\x0f\n" +
	"\r_trigger_kindB\x10\n" +
	"\x0e_trigger_labelB\v\n" +
	"\t_job_nameB\x10\n" +
	"\x0e_job_namespaceB\f\n" +
	"\n" +
	"_namespaceB\r\n" +
	"\v_wait_stateB\x0e\n" +
	"\f_wait_reasonB\f\n" +
	"\n" +
	"_agent_key\"\xaf\x02\n" +
	"\x11RunWaitProjection\x12\x1d\n" +
	"\n" +
	"wait_state\x18\x01 \x01(\tR\twaitState\x12\x1f\n" +
	"\vwait_reason\x18\x02 \x01(\tR\n" +
	"waitReason\x12S\n" +
	"\rdominant_wait\x18\x03 \x01(\v2..kodex.controlplane.v1.GitHubRateLimitWaitItemR\fdominantWait\x12S\n" +
	"\rrelated_waits\x18\x04 \x03(\v2..kodex.controlplane.v1.GitHubRateLimitWaitItemR\frelatedWaits\x120\n" +
	"\x14comment_mirror_state\x18\x05 \x01(\tR\x12commentMirrorState\"\xd0\x04\n" +
	"\x17GitHubRateLimitWaitItem\x12\x17\n" +
	"\await_id\x18\x01 \x01(\tR\x06waitId\x12!\n" +
	"\fcontour_kind\x18\x02 \x01(\tR\vcontourKind\x12\x1d\n" +
	"\n" +
	"limit_kind\x18\x03 \x01(\tR\tlimitKind\x12'\n" +
	"\x0foperation_class\x18\x04 \x01(\tR\x0eoperationClass\x12\x14\n" +
	"\x05state\x18\x05 \x01(\tR\x05state\x12\x1e\n" +
	"\n" +
	"confidence\x18\x06 \x01(\tR\n" +
	"confidence\x129\n" +
	"\n" +
	"entered_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tenteredAt\x12F\n" +
	"\x11resume_not_before\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x0fresumeNotBefore\x12#\n" +
	"\rattempts_used\x18\t \x01(\x05R\fattemptsUsed\x12!\n" +
	"\fmax_attempts\x18\n" +
	" \x01(\x05R\vmaxAttempts\x12W\n" +
	"\rrecovery_hint\x18\v \x01(\v22.kodex.controlplane.v1.GitHubRateLimitRecoveryHintR\frecoveryHint\x12W\n" +
	"\rmanual_action\x18\f \x01(\v22.kodex.controlplane.v1.GitHubRateLimitManualActionR\fmanualAction\"\xd4\x01\n" +
	"\x1bGitHubRateLimitRecoveryHint\x12\x1b\n" +
	"\thint_kind\x18\x01 \x01(\tR\bhintKind\x12F\n" +
	"\x11resume_not_before\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x0fresumeNotBefore\x12%\n" +
	"\x0esource_headers\x18\x03 \x01(\tR\rsourceHeaders\x12)\n" +
	"\x10details_markdown\x18\x04 \x01(\tR\x0fdetailsMarkdown\"\xc4\x01\n" +
	"\x1bGitHubRateLimitManualAction\x12\x12\n" +
	"\x04kind\x18\x01 \x01(\tR\x04kind\x12\x18\n" +
	"\asummary\x18\x02 \x01(\tR\asummary\x12)\n" +
	"\x10details_markdown\x18\x03 \x01(\tR\x0fdetailsMarkdown\x12L\n" +
	"\x14suggested_not_before\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x12suggestedNotBefore\"\x82\x05\n" +
	"\x0fApprovalRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12%\n" +
	"\x0ecorrelation_id\x18\x02 \x01(\tR\rcorrelationId\x12\x1a\n" +
	"\x06run_id\x18\x03 \x01(\tH\x00R\x05runId\x88\x01\x01\x12\"\n" +
	"\n" +
	"project_id\x18\x04 \x01(\tH\x01R\tprojectId\x88\x01\x01\x12&\n" +
	"\fproject_slug\x18\x05 \x01(\tH\x02R\vprojectSlug\x88\x01\x01\x12&\n" +
	"\fproject_name\x18\x06 \x01(\tH\x03R\vprojectName\x88\x01\x01\x12>\n" +
	"\fissue_number\x18\a \x01(\v2\x1b.google.protobuf.Int32ValueR\vissueNumber\x128\n" +
	"\tpr_number\x18\b \x01(\v2\x1b.google.protobuf.Int32ValueR\bprNumber\x12(\n" +
	"\rtrigger_label\x18\t \x01(\tH\x04R\ftriggerLabel\x88\x01\x01\x12\x1b\n" +
	"\ttool_name\x18\n" +
	" \x01(\tR\btoolName\x12\x16\n" +
	"\x06action\x18\v \x01(\tR\x06action\x12#\n" +
	"\rapproval_mode\x18\f \x01(\tR\fapprovalMode\x12!\n" +
	"\frequested_by\x18\r \x01(\tR\vrequestedBy\x129\n" +
	"\n" +
	"created_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\t\n" +
	"\a_run_idB\r\n" +
	"\v_project_idB\x0f\n" +
	"\r_project_slugB\x0f\n" +
	"\r_project_nameB\x10\n" +
	"\x0e_trigger_label\"s\n" +
	"\x1bListPendingApprovalsRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x14\n" +
	"\x05limit\x18\x02 \x01(\x05R\x05limit\"\\\n" +
	"\x1cListPendingApprovalsResponse\x12<\n" +
	"\x05items\x18\x01 \x03(\v2&.kodex.controlplane.v1.ApprovalRequestR\x05items\"\xd4\x01\n" +
	"\x1eResolveApprovalDecisionRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12.\n" +
	"\x13approval_request_id\x18\x02 \x01(\x03R\x11approvalRequestId\x12\x1a\n" +
	"\bdecision\x18\x03 \x01(\tR\bdecision\x12\x1b\n" +
	"\x06reason\x18\x04 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n" +
	"\a_reason\"\xdb\x01\n" +
	"\x1fResolveApprovalDecisionResponse\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12%\n" +
	"\x0ecorrelation_id\x18\x02 \x01(\tR\rcorrelationId\x12\x1a\n" +
	"\x06run_id\x18\x03 \x01(\tH\x00R\x05runId\x88\x01\x01\x12\x1b\n" +
	"\ttool_name\x18\x04 \x01(\tR\btoolName\x12\x16\n" +
	"\x06action\x18\x05 \x01(\tR\x06action\x12%\n" +
	"\x0eapproval_state\x18\x06 \x01(\tR\rapprovalStateB\t\n" +
	"\a_run_id\"\x82\x01\n" +
	"\x0fListRunsRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x12\n" +
	"\x04page\x18\x02 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x03 \x01(\x05R\bpageSize\"\x96\x01\n" +
	"\x10ListRunsResponse\x120\n" +
	"\x05items\x18\x01 \x03(\v2\x1a.kodex.controlplane.v1.RunR\x05items\x12\x1f\n" +
	"\vtotal_count\x18\x02 \x01(\x05R\n" +
	"totalCount\x12\x12\n" +
	"\x04page\x18\x03 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x04 \x01(\x05R\bpageSize\"\xfb\x01\n" +
	"\x12ListRunJobsRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x14\n" +
	"\x05limit\x18\x02 \x01(\x05R\x05limit\x12&\n" +
	"\ftrigger_kind\x18\x03 \x01(\tH\x00R\vtriggerKind\x88\x01\x01\x12\x1b\n" +
	"\x06status\x18\x04 \x01(\tH\x01R\x06status\x88\x01\x01\x12 \n" +
	"\tagent_key\x18\x05 \x01(\tH\x02R\bagentKey\x88\x01\x01B\x0f\n" +
	"\r_trigger_kindB\t\n" +
	"\a_statusB\f\n" +
	"\n" +
	"_agent_key\"G\n" +
	"\x13ListRunJobsResponse\x120\n" +
	"\x05items\x18\x01 \x03(\v2\x1a.kodex.controlplane.v1.RunR\x05items\"\xaf\x02\n" +
	"\x13ListRunWaitsRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x14\n" +
	"\x05limit\x18\x02 \x01(\x05R\x05limit\x12&\n" +
	"\ftrigger_kind\x18\x03 \x01(\tH\x00R\vtriggerKind\x88\x01\x01\x12\x1b\n" +
	"\x06status\x18\x04 \x01(\tH\x01R\x06status\x88\x01\x01\x12 \n" +
	"\tagent_key\x18\x05 \x01(\tH\x02R\bagentKey\x88\x01\x01\x12\"\n" +
	"\n" +
	"wait_state\x18\x06 \x01(\tH\x03R\twaitState\x88\x01\x01B\x0f\n" +
	"\r_trigger_kindB\t\n" +
	"\a_statusB\f\n" +
	"\n" +
	"_agent_keyB\r\n" +
	"\v_wait_state\"H\n" +
	"\x14ListRunWaitsResponse\x120\n" +
	"\x05items\x18\x01 \x03(\v2\x1a.kodex.controlplane.v1.RunR\x05items\"f\n" +
	"\rGetRunRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\"\x89\x01\n" +
	"\x11GetRunLogsRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x1d\n" +
	"\n" +
	"tail_lines\x18\x03 \x01(\x05R\ttailLines\"\x91\x01\n" +
	"\x10CancelRunRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x1b\n" +
	"\x06reason\x18\x03 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n" +
	"\a_reason\"\x8f\x03\n" +
	"\x11RunActionResponse\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x16\n" +
	"\x06action\x18\x02 \x01(\tR\x06action\x12'\n" +
	"\x0fprevious_status\x18\x03 \x01(\tR\x0epreviousStatus\x12%\n" +
	"\x0ecurrent_status\x18\x04 \x01(\tR\rcurrentStatus\x12)\n" +
	"\x10already_terminal\x18\x05 \x01(\bR\x0falreadyTerminal\x12E\n" +
	"\x1fruntime_deploy_cancel_requested\x18\x06 \x01(\bR\x1cruntimeDeployCancelRequested\x12\x1f\n" +
	"\vjob_stopped\x18\a \x01(\bR\n" +
	"jobStopped\x122\n" +
	"\x15canceled_github_waits\x18\b \x01(\x05R\x13canceledGithubWaits\x12$\n" +
	"\vcomment_url\x18\t \x01(\tH\x00R\n" +
	"commentUrl\x88\x01\x01B\x0e\n" +
	"\f_comment_url\"\xb7\x01\n" +
	"\aRunLogs\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x129\n" +
	"\n" +
	"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12#\n" +
	"\rsnapshot_json\x18\x04 \x01(\tR\fsnapshotJson\x12\x1d\n" +
	"\n" +
	"tail_lines\x18\x05 \x03(\tR\ttailLines\"\xaf\x01\n" +
	"\tFlowEvent\x12%\n" +
	"\x0ecorrelation_id\x18\x01 \x01(\tR\rcorrelationId\x12\x1d\n" +
	"\n" +
	"event_type\x18\x02 \x01(\tR\teventType\x129\n" +
	"\n" +
	"created_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12!\n" +
	"\fpayload_json\x18\x04 \x01(\tR\vpayloadJson\"\x83\x01\n" +
	"\x14ListRunEventsRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x14\n" +
	"\x05limit\x18\x03 \x01(\x05R\x05limit\"O\n" +
	"\x15ListRunEventsResponse\x126\n" +
	"\x05items\x18\x01 \x03(\v2 .kodex.controlplane.v1.FlowEventR\x05items\"\xf8\x03\n" +
	"\rSystemSetting\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x18\n" +
	"\asection\x18\x02 \x01(\tR\asection\x12\x1d\n" +
	"\n" +
	"value_kind\x18\x03 \x01(\tR\tvalueKind\x12)\n" +
	"\x10reload_semantics\x18\x04 \x01(\tR\x0freloadSemantics\x12\x1e\n" +
	"\n" +
	"visibility\x18\x05 \x01(\tR\n" +
	"visibility\x12#\n" +
	"\rboolean_value\x18\x06 \x01(\bR\fbooleanValue\x122\n" +
	"\x15default_boolean_value\x18\a \x01(\bR\x13defaultBooleanValue\x12\x16\n" +
	"\x06source\x18\b \x01(\tR\x06source\x12\x18\n" +
	"\aversion\x18\t \x01(\x03R\aversion\x129\n" +
	"\n" +
	"updated_at\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x120\n" +
	"\x12updated_by_user_id\x18\v \x01(\tH\x00R\x0fupdatedByUserId\x88\x01\x01\x12-\n" +
	"\x10updated_by_email\x18\f \x01(\tH\x01R\x0eupdatedByEmail\x88\x01\x01B\x15\n" +
	"\x13_updated_by_user_idB\x13\n" +
	"\x11_updated_by_email\"[\n" +
	"\x19ListSystemSettingsRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\"X\n" +
	"\x1aListSystemSettingsResponse\x12:\n" +
	"\x05items\x18\x01 \x03(\v2$.kodex.controlplane.v1.SystemSettingR\x05items\"z\n" +
	"\x17GetSystemSettingRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1f\n" +
	"\vsetting_key\x18\x02 \x01(\tR\n" +
	"settingKey\"\xa9\x01\n" +
	"!UpdateSystemSettingBooleanRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1f\n" +
	"\vsetting_key\x18\x02 \x01(\tR\n" +
	"settingKey\x12#\n" +
	"\rboolean_value\x18\x03 \x01(\bR\fbooleanValue\"|\n" +
	"\x19ResetSystemSettingRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1f\n" +
	"\vsetting_key\x18\x02 \x01(\tR\n" +
	"settingKey\"\xe8\x02\n" +
	"\x10LearningFeedback\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x03R\x02id\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12(\n" +
	"\rrepository_id\x18\x03 \x01(\tH\x00R\frepositoryId\x88\x01\x01\x12 \n" +
	"\tpr_number\x18\x04 \x01(\x05H\x01R\bprNumber\x88\x01\x01\x12 \n" +
	"\tfile_path\x18\x05 \x01(\tH\x02R\bfilePath\x88\x01\x01\x12\x17\n" +
	"\x04line\x18\x06 \x01(\x05H\x03R\x04line\x88\x01\x01\x12\x12\n" +
	"\x04kind\x18\a \x01(\tR\x04kind\x12 \n" +
	"\vexplanation\x18\b \x01(\tR\vexplanation\x129\n" +
	"\n" +
	"created_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\x10\n" +
	"\x0e_repository_idB\f\n" +
	"\n" +
	"_pr_numberB\f\n" +
	"\n" +
	"_file_pathB\a\n" +
	"\x05_line\"\x8d\x01\n" +
	"\x1eListRunLearningFeedbackRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x14\n" +
	"\x05limit\x18\x03 \x01(\x05R\x05limit\"`\n" +
	"\x1fListRunLearningFeedbackResponse\x12=\n" +
	"\x05items\x18\x01 \x03(\v2'.kodex.controlplane.v1.LearningFeedbackR\x05items\"\xfb\x01\n" +
	"\x04User\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
	"\x05email\x18\x02 \x01(\tR\x05email\x12)\n" +
	"\x0egithub_user_id\x18\x03 \x01(\x03H\x00R\fgithubUserId\x88\x01\x01\x12&\n" +
	"\fgithub_login\x18\x04 \x01(\tH\x01R\vgithubLogin\x88\x01\x01\x12*\n" +
	"\x11is_platform_admin\x18\x05 \x01(\bR\x0fisPlatformAdmin\x12*\n" +
	"\x11is_platform_owner\x18\x06 \x01(\bR\x0fisPlatformOwnerB\x11\n" +
	"\x0f_github_user_idB\x0f\n" +
	"\r_github_login\"h\n" +
	"\x10ListUsersRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x14\n" +
	"\x05limit\x18\x02 \x01(\x05R\x05limit\"F\n" +
	"\x11ListUsersResponse\x121\n" +
	"\x05items\x18\x01 \x03(\v2\x1b.kodex.controlplane.v1.UserR\x05items\"\x95\x01\n" +
	"\x11CreateUserRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x14\n" +
	"\x05email\x18\x02 \x01(\tR\x05email\x12*\n" +
	"\x11is_platform_admin\x18\x03 \x01(\bR\x0fisPlatformAdmin\"l\n" +
	"\x11DeleteUserRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\tR\x06userId\"\xc3\x01\n" +
	"\rProjectMember\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\tR\x06userId\x12\x14\n" +
	"\x05email\x18\x03 \x01(\tR\x05email\x12\x12\n" +
	"\x04role\x18\x04 \x01(\tR\x04role\x12P\n" +
	"\x16learning_mode_override\x18\x05 \x01(\v2\x1a.google.protobuf.BoolValueR\x14learningModeOverride\"\x90\x01\n" +
	"\x19ListProjectMembersRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12\x14\n" +
	"\x05limit\x18\x03 \x01(\x05R\x05limit\"X\n" +
	"\x1aListProjectMembersResponse\x12:\n" +
	"\x05items\x18\x01 \x03(\v2$.kodex.controlplane.v1.ProjectMemberR\x05items\"\xde\x01\n" +
	"\x1aUpsertProjectMemberRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12\x1c\n" +
	"\auser_id\x18\x03 \x01(\tH\x00R\x06userId\x88\x01\x01\x12\x19\n" +
	"\x05email\x18\x04 \x01(\tH\x01R\x05email\x88\x01\x01\x12\x12\n" +
	"\x04role\x18\x05 \x01(\tR\x04roleB\n" +
	"\n" +
	"\b_user_idB\b\n" +
	"\x06_email\"\x94\x01\n" +
	"\x1aDeleteProjectMemberRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12\x17\n" +
	"\auser_id\x18\x03 \x01(\tR\x06userId\"\xdb\x01\n" +
	"+SetProjectMemberLearningModeOverrideRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12\x17\n" +
	"\auser_id\x18\x03 \x01(\tR\x06userId\x124\n" +
	"\aenabled\x18\x04 \x01(\v2\x1a.google.protobuf.BoolValueR\aenabled\"\x99\x04\n" +
	"\x11RepositoryBinding\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12\x1a\n" +
	"\bprovider\x18\x03 \x01(\tR\bprovider\x12\x1f\n" +
	"\vexternal_id\x18\x04 \x01(\x03R\n" +
	"externalId\x12\x14\n" +
	"\x05owner\x18\x05 \x01(\tR\x05owner\x12\x12\n" +
	"\x04name\x18\x06 \x01(\tR\x04name\x12,\n" +
	"\x12services_yaml_path\x18\a \x01(\tR\x10servicesYamlPath\x12&\n" +
	"\fbot_username\x18\b \x01(\tH\x00R\vbotUsername\x88\x01\x01\x12 \n" +
	"\tbot_email\x18\t \x01(\tH\x01R\bbotEmail\x88\x01\x01\x125\n" +
	"\x14preflight_updated_at\x18\n" +
	" \x01(\tH\x02R\x12preflightUpdatedAt\x88\x01\x01\x12\x14\n" +
	"\x05alias\x18\v \x01(\tR\x05alias\x12\x12\n" +
	"\x04role\x18\f \x01(\tR\x04role\x12\x1f\n" +
	"\vdefault_ref\x18\r \x01(\tR\n" +
	"defaultRef\x12)\n" +
	"\x0edocs_root_path\x18\x0e \x01(\tH\x03R\fdocsRootPath\x88\x01\x01B\x0f\n" +
	"\r_bot_usernameB\f\n" +
	"\n" +
	"_bot_emailB\x17\n" +
	"\x15_preflight_updated_atB\x11\n" +
	"\x0f_docs_root_path\"\x95\x01\n" +
	"\x1eListProjectRepositoriesRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12\x14\n" +
	"\x05limit\x18\x03 \x01(\x05R\x05limit\"a\n" +
	"\x1fListProjectRepositoriesResponse\x12>\n" +
	"\x05items\x18\x01 \x03(\v2(.kodex.controlplane.v1.RepositoryBindingR\x05items\"\x92\x03\n" +
	"\x1eUpsertProjectRepositoryRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12\x1a\n" +
	"\bprovider\x18\x03 \x01(\tR\bprovider\x12\x14\n" +
	"\x05owner\x18\x04 \x01(\tR\x05owner\x12\x12\n" +
	"\x04name\x18\x05 \x01(\tR\x04name\x12\x14\n" +
	"\x05token\x18\x06 \x01(\tR\x05token\x12,\n" +
	"\x12services_yaml_path\x18\a \x01(\tR\x10servicesYamlPath\x12\x14\n" +
	"\x05alias\x18\b \x01(\tR\x05alias\x12\x12\n" +
	"\x04role\x18\t \x01(\tR\x04role\x12\x1f\n" +
	"\vdefault_ref\x18\n" +
	" \x01(\tR\n" +
	"defaultRef\x12)\n" +
	"\x0edocs_root_path\x18\v \x01(\tH\x00R\fdocsRootPath\x88\x01\x01B\x11\n" +
	"\x0f_docs_root_path\"\xa4\x01\n" +
	"\x1eDeleteProjectRepositoryRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12#\n" +
	"\rrepository_id\x18\x03 \x01(\tR\frepositoryId\"\xbf\x02\n" +
	" UpsertRepositoryBotParamsRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12#\n" +
	"\rrepository_id\x18\x03 \x01(\tR\frepositoryId\x12 \n" +
	"\tbot_token\x18\x04 \x01(\tH\x00R\bbotToken\x88\x01\x01\x12&\n" +
	"\fbot_username\x18\x05 \x01(\tH\x01R\vbotUsername\x88\x01\x01\x12 \n" +
	"\tbot_email\x18\x06 \x01(\tH\x02R\bbotEmail\x88\x01\x01B\f\n" +
	"\n" +
	"_bot_tokenB\x0f\n" +
	"\r_bot_usernameB\f\n" +
	"\n" +
	"_bot_email\"\xa3\x01\n" +
	"\x1dRunRepositoryPreflightRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12#\n" +
	"\rrepository_id\x18\x03 \x01(\tR\frepositoryId\"m\n" +
	"\x14PreflightCheckResult\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12\x1d\n" +
	"\adetails\x18\x03 \x01(\tH\x00R\adetails\x88\x01\x01B\n" +
	"\n" +
	"\b_details\"\x80\x02\n" +
	"\x1eRunRepositoryPreflightResponse\x12#\n" +
	"\rrepository_id\x18\x01 \x01(\tR\frepositoryId\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12C\n" +
	"\x06checks\x18\x03 \x03(\v2+.kodex.controlplane.v1.PreflightCheckResultR\x06checks\x12\x1f\n" +
	"\vreport_json\x18\x04 \x01(\tR\n" +
	"reportJson\x12;\n" +
	"\vfinished_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"finishedAt\"\xef\x01\n" +
	"\x13ProjectGitHubTokens\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12,\n" +
	"\x12has_platform_token\x18\x02 \x01(\bR\x10hasPlatformToken\x12\"\n" +
	"\rhas_bot_token\x18\x03 \x01(\bR\vhasBotToken\x12&\n" +
	"\fbot_username\x18\x04 \x01(\tH\x00R\vbotUsername\x88\x01\x01\x12 \n" +
	"\tbot_email\x18\x05 \x01(\tH\x01R\bbotEmail\x88\x01\x01B\x0f\n" +
	"\r_bot_usernameB\f\n" +
	"\n" +
	"_bot_email\"~\n" +
	"\x1dGetProjectGitHubTokensRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\"\xd9\x02\n" +
	" UpsertProjectGitHubTokensRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12*\n" +
	"\x0eplatform_token\x18\x03 \x01(\tH\x00R\rplatformToken\x88\x01\x01\x12 \n" +
	"\tbot_token\x18\x04 \x01(\tH\x01R\bbotToken\x88\x01\x01\x12&\n" +
	"\fbot_username\x18\x05 \x01(\tH\x02R\vbotUsername\x88\x01\x01\x12 \n" +
	"\tbot_email\x18\x06 \x01(\tH\x03R\bbotEmail\x88\x01\x01B\x11\n" +
	"\x0f_platform_tokenB\f\n" +
	"\n" +
	"_bot_tokenB\x0f\n" +
	"\r_bot_usernameB\f\n" +
	"\n" +
	"_bot_email\"\xd3\x02\n" +
	"\x15NextStepActionRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x120\n" +
	"\x14repository_full_name\x18\x02 \x01(\tR\x12repositoryFullName\x12&\n" +
	"\fissue_number\x18\x03 \x01(\x05H\x00R\vissueNumber\x88\x01\x01\x123\n" +
	"\x13pull_request_number\x18\x04 \x01(\x05H\x01R\x11pullRequestNumber\x88\x01\x01\x12\x1f\n" +
	"\vaction_kind\x18\x05 \x01(\tR\n" +
	"actionKind\x12!\n" +
	"\ftarget_label\x18\x06 \x01(\tR\vtargetLabelB\x0f\n" +
	"\r_issue_numberB\x16\n" +
	"\x14_pull_request_number\"\xb0\x02\n" +
	"\x16NextStepActionResponse\x120\n" +
	"\x14repository_full_name\x18\x01 \x01(\tR\x12repositoryFullName\x12\x1f\n" +
	"\vthread_kind\x18\x02 \x01(\tR\n" +
	"threadKind\x12#\n" +
	"\rthread_number\x18\x03 \x01(\x05R\fthreadNumber\x12\"\n" +
	"\n" +
	"thread_url\x18\x04 \x01(\tH\x00R\tthreadUrl\x88\x01\x01\x12%\n" +
	"\x0eremoved_labels\x18\x05 \x03(\tR\rremovedLabels\x12!\n" +
	"\fadded_labels\x18\x06 \x03(\tR\vaddedLabels\x12!\n" +
	"\ffinal_labels\x18\a \x03(\tR\vfinalLabelsB\r\n" +
	"\v_thread_url\"\x86\x03\n" +
	"\vConfigEntry\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
	"\x05scope\x18\x02 \x01(\tR\x05scope\x12\x12\n" +
	"\x04kind\x18\x03 \x01(\tR\x04kind\x12\"\n" +
	"\n" +
	"project_id\x18\x04 \x01(\tH\x00R\tprojectId\x88\x01\x01\x12(\n" +
	"\rrepository_id\x18\x05 \x01(\tH\x01R\frepositoryId\x88\x01\x01\x12\x10\n" +
	"\x03key\x18\x06 \x01(\tR\x03key\x12\x19\n" +
	"\x05value\x18\a \x01(\tH\x02R\x05value\x88\x01\x01\x12!\n" +
	"\fsync_targets\x18\b \x03(\tR\vsyncTargets\x12\x1e\n" +
	"\n" +
	"mutability\x18\t \x01(\tR\n" +
	"mutability\x12!\n" +
	"\fis_dangerous\x18\n" +
	" \x01(\bR\visDangerous\x12\"\n" +
	"\n" +
	"updated_at\x18\v \x01(\tH\x03R\tupdatedAt\x88\x01\x01B\r\n" +
	"\v_project_idB\x10\n" +
	"\x0e_repository_idB\b\n" +
	"\x06_valueB\r\n" +
	"\v_updated_at\"\xf5\x01\n" +
	"\x18ListConfigEntriesRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x14\n" +
	"\x05scope\x18\x02 \x01(\tR\x05scope\x12\"\n" +
	"\n" +
	"project_id\x18\x03 \x01(\tH\x00R\tprojectId\x88\x01\x01\x12(\n" +
	"\rrepository_id\x18\x04 \x01(\tH\x01R\frepositoryId\x88\x01\x01\x12\x14\n" +
	"\x05limit\x18\x05 \x01(\x05R\x05limitB\r\n" +
	"\v_project_idB\x10\n" +
	"\x0e_repository_id\"U\n" +
	"\x19ListConfigEntriesResponse\x128\n" +
	"\x05items\x18\x01 \x03(\v2\".kodex.controlplane.v1.ConfigEntryR\x05items\"\x8b\x04\n" +
	"\x18UpsertConfigEntryRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x14\n" +
	"\x05scope\x18\x02 \x01(\tR\x05scope\x12\x12\n" +
	"\x04kind\x18\x03 \x01(\tR\x04kind\x12\"\n" +
	"\n" +
	"project_id\x18\x04 \x01(\tH\x00R\tprojectId\x88\x01\x01\x12(\n" +
	"\rrepository_id\x18\x05 \x01(\tH\x01R\frepositoryId\x88\x01\x01\x12\x10\n" +
	"\x03key\x18\x06 \x01(\tR\x03key\x12$\n" +
	"\vvalue_plain\x18\a \x01(\tH\x02R\n" +
	"valuePlain\x88\x01\x01\x12&\n" +
	"\fvalue_secret\x18\b \x01(\tH\x03R\vvalueSecret\x88\x01\x01\x12!\n" +
	"\fsync_targets\x18\t \x03(\tR\vsyncTargets\x12\x1e\n" +
	"\n" +
	"mutability\x18\n" +
	" \x01(\tR\n" +
	"mutability\x12!\n" +
	"\fis_dangerous\x18\v \x01(\bR\visDangerous\x12/\n" +
	"\x13dangerous_confirmed\x18\f \x01(\bR\x12dangerousConfirmedB\r\n" +
	"\v_project_idB\x10\n" +
	"\x0e_repository_idB\x0e\n" +
	"\f_value_plainB\x0f\n" +
	"\r_value_secret\"\x82\x01\n" +
	"\x18DeleteConfigEntryRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12&\n" +
	"\x0fconfig_entry_id\x18\x02 \x01(\tR\rconfigEntryId\"\x80\x01\n" +
	"\vDocsetGroup\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
	"\x05title\x18\x02 \x01(\tR\x05title\x12 \n" +
	"\vdescription\x18\x03 \x01(\tR\vdescription\x12)\n" +
	"\x10default_selected\x18\x04 \x01(\bR\x0fdefaultSelected\"\x90\x01\n" +
	"\x17ListDocsetGroupsRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"docset_ref\x18\x02 \x01(\tR\tdocsetRef\x12\x16\n" +
	"\x06locale\x18\x03 \x01(\tR\x06locale\"V\n" +
	"\x18ListDocsetGroupsResponse\x12:\n" +
	"\x06groups\x18\x01 \x03(\v2\".kodex.controlplane.v1.DocsetGroupR\x06groups\"\xed\x01\n" +
	"\x13ImportDocsetRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12#\n" +
	"\rrepository_id\x18\x03 \x01(\tR\frepositoryId\x12\x1d\n" +
	"\n" +
	"docset_ref\x18\x04 \x01(\tR\tdocsetRef\x12\x16\n" +
	"\x06locale\x18\x05 \x01(\tR\x06locale\x12\x1b\n" +
	"\tgroup_ids\x18\x06 \x03(\tR\bgroupIds\"\xb5\x01\n" +
	"\x14ImportDocsetResponse\x120\n" +
	"\x14repository_full_name\x18\x01 \x01(\tR\x12repositoryFullName\x12\x1b\n" +
	"\tpr_number\x18\x02 \x01(\x05R\bprNumber\x12\x15\n" +
	"\x06pr_url\x18\x03 \x01(\tR\x05prUrl\x12\x16\n" +
	"\x06branch\x18\x04 \x01(\tR\x06branch\x12\x1f\n" +
	"\vfiles_total\x18\x05 \x01(\x05R\n" +
	"filesTotal\"\xb6\x01\n" +
	"\x11SyncDocsetRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12#\n" +
	"\rrepository_id\x18\x03 \x01(\tR\frepositoryId\x12\x1d\n" +
	"\n" +
	"docset_ref\x18\x04 \x01(\tR\tdocsetRef\"\xd8\x01\n" +
	"\x12SyncDocsetResponse\x120\n" +
	"\x14repository_full_name\x18\x01 \x01(\tR\x12repositoryFullName\x12\x1b\n" +
	"\tpr_number\x18\x02 \x01(\x05R\bprNumber\x12\x15\n" +
	"\x06pr_url\x18\x03 \x01(\tR\x05prUrl\x12\x16\n" +
	"\x06branch\x18\x04 \x01(\tR\x06branch\x12#\n" +
	"\rfiles_updated\x18\x05 \x01(\x05R\ffilesUpdated\x12\x1f\n" +
	"\vfiles_drift\x18\x06 \x01(\x05R\n" +
	"filesDrift\"\x92\x01\n" +
	"\x17IssueRunMCPTokenRequest\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x1c\n" +
	"\tnamespace\x18\x02 \x01(\tR\tnamespace\x12!\n" +
	"\fruntime_mode\x18\x03 \x01(\tR\vruntimeMode\x12\x1f\n" +
	"\vttl_seconds\x18\x04 \x01(\x05R\n" +
	"ttlSeconds\"k\n" +
	"\x18IssueRunMCPTokenResponse\x12\x14\n" +
	"\x05token\x18\x01 \x01(\tR\x05token\x129\n" +
	"\n" +
	"expires_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"\xcc\x02\n" +
	"\x1cPrepareRunEnvironmentRequest\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12!\n" +
	"\fruntime_mode\x18\x02 \x01(\tR\vruntimeMode\x12\x1c\n" +
	"\tnamespace\x18\x03 \x01(\tR\tnamespace\x12\x1d\n" +
	"\n" +
	"target_env\x18\x04 \x01(\tR\ttargetEnv\x12\x17\n" +
	"\aslot_no\x18\x05 \x01(\x05R\x06slotNo\x120\n" +
	"\x14repository_full_name\x18\x06 \x01(\tR\x12repositoryFullName\x12,\n" +
	"\x12services_yaml_path\x18\a \x01(\tR\x10servicesYamlPath\x12\x1b\n" +
	"\tbuild_ref\x18\b \x01(\tR\bbuildRef\x12\x1f\n" +
	"\vdeploy_only\x18\t \x01(\bR\n" +
	"deployOnly\"\x83\x01\n" +
	"\x1dPrepareRunEnvironmentResponse\x12\x0e\n" +
	"\x02ok\x18\x01 \x01(\bR\x02ok\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x1c\n" +
	"\tnamespace\x18\x03 \x01(\tR\tnamespace\x12\x1d\n" +
	"\n" +
	"target_env\x18\x04 \x01(\tR\ttargetEnv\"\xaa\x03\n" +
	"\x1bEvaluateRuntimeReuseRequest\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12!\n" +
	"\fissue_number\x18\x03 \x01(\x03R\vissueNumber\x12\x1b\n" +
	"\tagent_key\x18\x04 \x01(\tR\bagentKey\x12!\n" +
	"\fruntime_mode\x18\x05 \x01(\tR\vruntimeMode\x12\x1c\n" +
	"\tnamespace\x18\x06 \x01(\tR\tnamespace\x12\x1d\n" +
	"\n" +
	"target_env\x18\a \x01(\tR\ttargetEnv\x12\x17\n" +
	"\aslot_no\x18\b \x01(\x05R\x06slotNo\x120\n" +
	"\x14repository_full_name\x18\t \x01(\tR\x12repositoryFullName\x12,\n" +
	"\x12services_yaml_path\x18\n" +
	" \x01(\tR\x10servicesYamlPath\x12\x1b\n" +
	"\tbuild_ref\x18\v \x01(\tR\bbuildRef\x12\x1f\n" +
	"\vdeploy_only\x18\f \x01(\bR\n" +
	"deployOnly\"\xea\x01\n" +
	"\x1cEvaluateRuntimeReuseResponse\x12\x1a\n" +
	"\breusable\x18\x01 \x01(\bR\breusable\x12\x1c\n" +
	"\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x1d\n" +
	"\n" +
	"target_env\x18\x03 \x01(\tR\ttargetEnv\x12.\n" +
	"\x13effective_build_ref\x18\x04 \x01(\tR\x11effectiveBuildRef\x12)\n" +
	"\x10fingerprint_hash\x18\x05 \x01(\tR\x0ffingerprintHash\x12\x16\n" +
	"\x06reason\x18\x06 \x01(\tR\x06reason\"l\n" +
	"#ClaimNextInteractionDispatchRequest\x12E\n" +
	"\x1fpending_attempt_timeout_seconds\x18\x01 \x01(\x05R\x1cpendingAttemptTimeoutSeconds\"\xa4\x04\n" +
	"$ClaimNextInteractionDispatchResponse\x12\x14\n" +
	"\x05found\x18\x01 \x01(\bR\x05found\x12%\n" +
	"\x0ecorrelation_id\x18\x02 \x01(\tR\rcorrelationId\x12%\n" +
	"\x0einteraction_id\x18\x03 \x01(\tR\rinteractionId\x12\x15\n" +
	"\x06run_id\x18\x04 \x01(\tR\x05runId\x12)\n" +
	"\x10interaction_kind\x18\x05 \x01(\tR\x0finteractionKind\x12-\n" +
	"\x12recipient_provider\x18\x06 \x01(\tR\x11recipientProvider\x12#\n" +
	"\rrecipient_ref\x18\a \x01(\tR\frecipientRef\x12L\n" +
	"\x14response_deadline_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x12responseDeadlineAt\x12\x1d\n" +
	"\n" +
	"attempt_id\x18\t \x01(\x03R\tattemptId\x12\x1d\n" +
	"\n" +
	"attempt_no\x18\n" +
	" \x01(\x05R\tattemptNo\x12\x1f\n" +
	"\vdelivery_id\x18\v \x01(\tR\n" +
	"deliveryId\x12!\n" +
	"\fadapter_kind\x18\f \x01(\tR\vadapterKind\x122\n" +
	"\x15request_envelope_json\x18\r \x01(\fR\x13requestEnvelopeJson\"\x82\x06\n" +
	"\"CompleteInteractionDispatchRequest\x12%\n" +
	"\x0einteraction_id\x18\x01 \x01(\tR\rinteractionId\x12\x1f\n" +
	"\vdelivery_id\x18\x02 \x01(\tR\n" +
	"deliveryId\x12!\n" +
	"\fadapter_kind\x18\x03 \x01(\tR\vadapterKind\x12\x16\n" +
	"\x06status\x18\x04 \x01(\tR\x06status\x122\n" +
	"\x15request_envelope_json\x18\x05 \x01(\fR\x13requestEnvelopeJson\x12(\n" +
	"\x10ack_payload_json\x18\x06 \x01(\fR\x0eackPayloadJson\x123\n" +
	"\x13adapter_delivery_id\x18\a \x01(\tH\x00R\x11adapterDeliveryId\x88\x01\x01\x12\x1c\n" +
	"\tretryable\x18\b \x01(\bR\tretryable\x12+\n" +
	"\x0flast_error_code\x18\t \x01(\tH\x01R\rlastErrorCode\x88\x01\x01\x12>\n" +
	"\rnext_retry_at\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\vnextRetryAt\x12;\n" +
	"\vfinished_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"finishedAt\x129\n" +
	"\x19provider_message_ref_json\x18\f \x01(\fR\x16providerMessageRefJson\x12,\n" +
	"\x0fedit_capability\x18\r \x01(\tH\x02R\x0eeditCapability\x88\x01\x01\x12U\n" +
	"\x19callback_token_expires_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\x16callbackTokenExpiresAtB\x16\n" +
	"\x14_adapter_delivery_idB\x12\n" +
	"\x10_last_error_codeB\x12\n" +
	"\x10_edit_capability\"\xed\x01\n" +
	"#CompleteInteractionDispatchResponse\x12%\n" +
	"\x0einteraction_id\x18\x01 \x01(\tR\rinteractionId\x12+\n" +
	"\x11interaction_state\x18\x02 \x01(\tR\x10interactionState\x12'\n" +
	"\x0fresume_required\x18\x03 \x01(\bR\x0eresumeRequired\x12\x15\n" +
	"\x06run_id\x18\x04 \x01(\tR\x05runId\x122\n" +
	"\x15resume_correlation_id\x18\x05 \x01(\tR\x13resumeCorrelationId\"\x1e\n" +
	"\x1cExpireNextInteractionRequest\"\xfd\x01\n" +
	"\x1dExpireNextInteractionResponse\x12\x14\n" +
	"\x05found\x18\x01 \x01(\bR\x05found\x12%\n" +
	"\x0einteraction_id\x18\x02 \x01(\tR\rinteractionId\x12+\n" +
	"\x11interaction_state\x18\x03 \x01(\tR\x10interactionState\x12'\n" +
	"\x0fresume_required\x18\x04 \x01(\bR\x0eresumeRequired\x12\x15\n" +
	"\x06run_id\x18\x05 \x01(\tR\x05runId\x122\n" +
	"\x15resume_correlation_id\x18\x06 \x01(\tR\x13resumeCorrelationId\"D\n" +
	"%ProcessNextGitHubRateLimitWaitRequest\x12\x1b\n" +
	"\tworker_id\x18\x01 \x01(\tR\bworkerId\"\xfa\x02\n" +
	"&ProcessNextGitHubRateLimitWaitResponse\x12\x14\n" +
	"\x05found\x18\x01 \x01(\bR\x05found\x12\x17\n" +
	"\await_id\x18\x02 \x01(\tR\x06waitId\x12\x15\n" +
	"\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x14\n" +
	"\x05state\x18\x04 \x01(\tR\x05state\x12'\n" +
	"\x0fresolution_kind\x18\x05 \x01(\tR\x0eresolutionKind\x12\x1d\n" +
	"\n" +
	"attempt_no\x18\x06 \x01(\x05R\tattemptNo\x12,\n" +
	"\x12manual_action_kind\x18\a \x01(\tR\x10manualActionKind\x12F\n" +
	"\x11resume_not_before\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x0fresumeNotBefore\x126\n" +
	"\x17requeued_correlation_id\x18\t \x01(\tR\x15requeuedCorrelationId\"\xe1\x04\n" +
	"\x16GitHubRateLimitHeaders\x12-\n" +
	"\x10rate_limit_limit\x18\x01 \x01(\x05H\x00R\x0erateLimitLimit\x88\x01\x01\x125\n" +
	"\x14rate_limit_remaining\x18\x02 \x01(\x05H\x01R\x12rateLimitRemaining\x88\x01\x01\x12+\n" +
	"\x0frate_limit_used\x18\x03 \x01(\x05H\x02R\rrateLimitUsed\x88\x01\x01\x12I\n" +
	"\x13rate_limit_reset_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x10rateLimitResetAt\x123\n" +
	"\x13rate_limit_resource\x18\x05 \x01(\tH\x03R\x11rateLimitResource\x88\x01\x01\x123\n" +
	"\x13retry_after_seconds\x18\x06 \x01(\x05H\x04R\x11retryAfterSeconds\x88\x01\x01\x12/\n" +
	"\x11github_request_id\x18\a \x01(\tH\x05R\x0fgithubRequestId\x88\x01\x01\x120\n" +
	"\x11documentation_url\x18\b \x01(\tH\x06R\x10documentationUrl\x88\x01\x01B\x13\n" +
	"\x11_rate_limit_limitB\x17\n" +
	"\x15_rate_limit_remainingB\x12\n" +
	"\x10_rate_limit_usedB\x16\n" +
	"\x14_rate_limit_resourceB\x16\n" +
	"\x14_retry_after_secondsB\x14\n" +
	"\x12_github_request_idB\x14\n" +
	"\x12_documentation_url\"\xe0\x05\n" +
	"\"ReportGitHubRateLimitSignalRequest\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x1b\n" +
	"\tsignal_id\x18\x02 \x01(\tR\bsignalId\x12%\n" +
	"\x0ecorrelation_id\x18\x03 \x01(\tR\rcorrelationId\x12!\n" +
	"\fcontour_kind\x18\x04 \x01(\tR\vcontourKind\x12#\n" +
	"\rsignal_origin\x18\x05 \x01(\tR\fsignalOrigin\x12'\n" +
	"\x0foperation_class\x18\x06 \x01(\tR\x0eoperationClass\x120\n" +
	"\x14provider_status_code\x18\a \x01(\x05R\x12providerStatusCode\x12;\n" +
	"\voccurred_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"occurredAt\x124\n" +
	"\x13request_fingerprint\x18\t \x01(\tH\x00R\x12requestFingerprint\x88\x01\x01\x12*\n" +
	"\x0estderr_excerpt\x18\n" +
	" \x01(\tH\x01R\rstderrExcerpt\x88\x01\x01\x12,\n" +
	"\x0fmessage_excerpt\x18\v \x01(\tH\x02R\x0emessageExcerpt\x88\x01\x01\x12T\n" +
	"\x0egithub_headers\x18\f \x01(\v2-.kodex.controlplane.v1.GitHubRateLimitHeadersR\rgithubHeaders\x12=\n" +
	"\x18session_snapshot_version\x18\r \x01(\x03H\x03R\x16sessionSnapshotVersion\x88\x01\x01B\x16\n" +
	"\x14_request_fingerprintB\x11\n" +
	"\x0f_stderr_excerptB\x12\n" +
	"\x10_message_excerptB\x1b\n" +
	"\x19_session_snapshot_version\"\x91\x02\n" +
	"#ReportGitHubRateLimitSignalResponse\x12\x17\n" +
	"\await_id\x18\x01 \x01(\tR\x06waitId\x12\x1d\n" +
	"\n" +
	"wait_state\x18\x02 \x01(\tR\twaitState\x12\x1f\n" +
	"\vwait_reason\x18\x03 \x01(\tR\n" +
	"waitReason\x12$\n" +
	"\x0enext_step_kind\x18\x04 \x01(\tR\fnextStepKind\x12#\n" +
	"\rrunner_action\x18\x05 \x01(\tR\frunnerAction\x12F\n" +
	"\x11resume_not_before\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x0fresumeNotBefore\"_\n" +
	"\x19ChangeGovernanceScopeHint\x12\x1f\n" +
	"\vcontext_key\x18\x01 \x01(\tR\n" +
	"contextKey\x12!\n" +
	"\fsurface_kind\x18\x02 \x01(\tR\vsurfaceKind\"d\n" +
	"\"ChangeGovernanceVerificationTarget\x12\x1f\n" +
	"\vtarget_kind\x18\x01 \x01(\tR\n" +
	"targetKind\x12\x1d\n" +
	"\n" +
	"target_ref\x18\x02 \x01(\tR\ttargetRef\"\xba\x02\n" +
	"\x19ChangeGovernanceWaveDraft\x12\x19\n" +
	"\bwave_key\x18\x01 \x01(\tR\awaveKey\x12#\n" +
	"\rpublish_order\x18\x02 \x01(\x05R\fpublishOrder\x12'\n" +
	"\x0fdominant_intent\x18\x03 \x01(\tR\x0edominantIntent\x12,\n" +
	"\x12bounded_scope_kind\x18\x04 \x01(\tR\x10boundedScopeKind\x12\x18\n" +
	"\asummary\x18\x05 \x01(\tR\asummary\x12l\n" +
	"\x14verification_targets\x18\x06 \x03(\v29.kodex.controlplane.v1.ChangeGovernanceVerificationTargetR\x13verificationTargets\"\xb4\x01\n" +
	" ChangeGovernanceArtifactLinkSeed\x12#\n" +
	"\rartifact_kind\x18\x01 \x01(\tR\fartifactKind\x12!\n" +
	"\fartifact_ref\x18\x02 \x01(\tR\vartifactRef\x12#\n" +
	"\rrelation_kind\x18\x03 \x01(\tR\frelationKind\x12#\n" +
	"\rdisplay_label\x18\x04 \x01(\tR\fdisplayLabel\"\xa2\x05\n" +
	"(ReportChangeGovernanceDraftSignalRequest\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x1b\n" +
	"\tsignal_id\x18\x02 \x01(\tR\bsignalId\x12%\n" +
	"\x0ecorrelation_id\x18\x03 \x01(\tR\rcorrelationId\x12\x1d\n" +
	"\n" +
	"project_id\x18\x04 \x01(\tR\tprojectId\x120\n" +
	"\x14repository_full_name\x18\x05 \x01(\tR\x12repositoryFullName\x12!\n" +
	"\fissue_number\x18\x06 \x01(\x05R\vissueNumber\x128\n" +
	"\tpr_number\x18\a \x01(\v2\x1b.google.protobuf.Int32ValueR\bprNumber\x12\x1f\n" +
	"\vbranch_name\x18\b \x01(\tR\n" +
	"branchName\x12\x1b\n" +
	"\tdraft_ref\x18\t \x01(\tR\bdraftRef\x12\x1d\n" +
	"\n" +
	"draft_kind\x18\n" +
	" \x01(\tR\tdraftKind\x12^\n" +
	"\x12change_scope_hints\x18\v \x03(\v20.kodex.controlplane.v1.ChangeGovernanceScopeHintR\x10changeScopeHints\x124\n" +
	"\x16candidate_risk_drivers\x18\f \x03(\tR\x14candidateRiskDrivers\x12*\n" +
	"\x0edraft_checksum\x18\r \x01(\tH\x00R\rdraftChecksum\x88\x01\x01\x12;\n" +
	"\voccurred_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"occurredAtB\x11\n" +
	"\x0f_draft_checksum\"\x91\x01\n" +
	")ReportChangeGovernanceDraftSignalResponse\x12\x1d\n" +
	"\n" +
	"package_id\x18\x01 \x01(\tR\tpackageId\x12\x1f\n" +
	"\vdraft_state\x18\x02 \x01(\tR\n" +
	"draftState\x12$\n" +
	"\x0enext_step_kind\x18\x03 \x01(\tR\fnextStepKind\"\xab\x02\n" +
	"%PublishChangeGovernanceWaveMapRequest\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x1d\n" +
	"\n" +
	"package_id\x18\x02 \x01(\tR\tpackageId\x12\x1e\n" +
	"\vwave_map_id\x18\x03 \x01(\tR\twaveMapId\x12%\n" +
	"\x0ecorrelation_id\x18\x04 \x01(\tR\rcorrelationId\x12F\n" +
	"\x05waves\x18\x05 \x03(\v20.kodex.controlplane.v1.ChangeGovernanceWaveDraftR\x05waves\x12=\n" +
	"\fpublished_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\vpublishedAt\"\xa3\x01\n" +
	"&PublishChangeGovernanceWaveMapResponse\x12\x1d\n" +
	"\n" +
	"package_id\x18\x01 \x01(\tR\tpackageId\x12+\n" +
	"\x11publication_state\x18\x02 \x01(\tR\x10publicationState\x12-\n" +
	"\x12projection_version\x18\x03 \x01(\x03R\x11projectionVersion\"\x81\x04\n" +
	"+UpsertChangeGovernanceEvidenceSignalRequest\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x1d\n" +
	"\n" +
	"package_id\x18\x02 \x01(\tR\tpackageId\x12\x1b\n" +
	"\tsignal_id\x18\x03 \x01(\tR\bsignalId\x12%\n" +
	"\x0ecorrelation_id\x18\x04 \x01(\tR\rcorrelationId\x12\x1d\n" +
	"\n" +
	"scope_kind\x18\x05 \x01(\tR\tscopeKind\x12\x1b\n" +
	"\tscope_ref\x18\x06 \x01(\tR\bscopeRef\x12\x1d\n" +
	"\n" +
	"block_kind\x18\a \x01(\tR\tblockKind\x12^\n" +
	"\x0eartifact_links\x18\b \x03(\v27.kodex.controlplane.v1.ChangeGovernanceArtifactLinkSeedR\rartifactLinks\x126\n" +
	"\x17verification_state_hint\x18\t \x01(\tR\x15verificationStateHint\x12(\n" +
	"\x10required_by_tier\x18\n" +
	" \x01(\bR\x0erequiredByTier\x12;\n" +
	"\voccurred_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"occurredAt\"\xfa\x01\n" +
	",UpsertChangeGovernanceEvidenceSignalResponse\x12\x1d\n" +
	"\n" +
	"package_id\x18\x01 \x01(\tR\tpackageId\x12>\n" +
	"\x1bevidence_completeness_state\x18\x02 \x01(\tR\x19evidenceCompletenessState\x12<\n" +
	"\x1averification_minimum_state\x18\x03 \x01(\tR\x18verificationMinimumState\x12-\n" +
	"\x12projection_version\x18\x04 \x01(\x03R\x11projectionVersion\"\x91\x01\n" +
	"\x1bMissionControlWarmupProject\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12!\n" +
	"\fproject_name\x18\x02 \x01(\tR\vprojectName\x120\n" +
	"\x14repository_full_name\x18\x03 \x01(\tR\x12repositoryFullName\"?\n" +
	"'ListMissionControlWarmupProjectsRequest\x12\x14\n" +
	"\x05limit\x18\x01 \x01(\x05R\x05limit\"t\n" +
	"(ListMissionControlWarmupProjectsResponse\x12H\n" +
	"\x05items\x18\x01 \x03(\v22.kodex.controlplane.v1.MissionControlWarmupProjectR\x05items\"\xae\x01\n" +
	"\x1eRunMissionControlWarmupRequest\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12!\n" +
	"\frequested_by\x18\x02 \x01(\tR\vrequestedBy\x12%\n" +
	"\x0ecorrelation_id\x18\x03 \x01(\tR\rcorrelationId\x12#\n" +
	"\rforce_rebuild\x18\x04 \x01(\bR\fforceRebuild\"\x87\n" +
	"\n" +
	"\x1fRunMissionControlWarmupResponse\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12!\n" +
	"\fentity_count\x18\x02 \x01(\x03R\ventityCount\x12%\n" +
	"\x0erelation_count\x18\x03 \x01(\x03R\rrelationCount\x120\n" +
	"\x14timeline_entry_count\x18\x04 \x01(\x03R\x12timelineEntryCount\x12#\n" +
	"\rcommand_count\x18\x05 \x01(\x03R\fcommandCount\x124\n" +
	"\x16max_projection_version\x18\x06 \x01(\x03R\x14maxProjectionVersion\x12/\n" +
	"\x13backfilled_entities\x18\a \x01(\x05R\x12backfilledEntities\x121\n" +
	"\x14backfilled_relations\x18\b \x01(\x05R\x13backfilledRelations\x121\n" +
	"\x14backfilled_timelines\x18\t \x01(\x05R\x13backfilledTimelines\x12(\n" +
	"\x10run_entity_count\x18\n" +
	" \x01(\x03R\x0erunEntityCount\x12,\n" +
	"\x12legacy_agent_count\x18\v \x01(\x03R\x10legacyAgentCount\x120\n" +
	"\x14continuity_gap_count\x18\f \x01(\x03R\x12continuityGapCount\x129\n" +
	"\x19open_continuity_gap_count\x18\r \x01(\x03R\x16openContinuityGapCount\x12,\n" +
	"\x12blocking_gap_count\x18\x0e \x01(\x03R\x10blockingGapCount\x12B\n" +
	"\x1emissing_pull_request_gap_count\x18\x0f \x01(\x03R\x1amissingPullRequestGapCount\x12G\n" +
	"!missing_follow_up_issue_gap_count\x18\x10 \x01(\x03R\x1cmissingFollowUpIssueGapCount\x12'\n" +
	"\x0fwatermark_count\x18\x11 \x01(\x03R\x0ewatermarkCount\x12.\n" +
	"\x13ready_for_reconcile\x18\x12 \x01(\bR\x11readyForReconcile\x126\n" +
	"\x17reconcile_gating_reason\x18\x13 \x01(\tR\x15reconcileGatingReason\x12.\n" +
	"\x13ready_for_transport\x18\x14 \x01(\bR\x11readyForTransport\x126\n" +
	"\x17transport_gating_reason\x18\x15 \x01(\tR\x15transportGatingReason\x12:\n" +
	"\x19provider_freshness_status\x18\x16 \x01(\tR\x17providerFreshnessStatus\x128\n" +
	"\x18provider_coverage_status\x18\x17 \x01(\tR\x16providerCoverageStatus\x126\n" +
	"\x17graph_projection_status\x18\x18 \x01(\tR\x15graphProjectionStatus\x120\n" +
	"\x14launch_policy_status\x18\x19 \x01(\tR\x12launchPolicyStatus\"d\n" +
	"\x17MissionControlEntityRef\x12\x1f\n" +
	"\ventity_kind\x18\x01 \x01(\tR\n" +
	"entityKind\x12(\n" +
	"\x10entity_public_id\x18\x02 \x01(\tR\x0eentityPublicId\"p\n" +
	"\x1fMissionControlProviderReference\x12\x1a\n" +
	"\bprovider\x18\x01 \x01(\tR\bprovider\x12\x1f\n" +
	"\vexternal_id\x18\x02 \x01(\tR\n" +
	"externalId\x12\x10\n" +
	"\x03url\x18\x03 \x01(\tR\x03url\"y\n" +
	"\x1aMissionControlPrimaryActor\x12\x1d\n" +
	"\n" +
	"actor_type\x18\x01 \x01(\tR\tactorType\x12\x19\n" +
	"\bactor_id\x18\x02 \x01(\tR\aactorId\x12!\n" +
	"\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\"\xa5\x04\n" +
	"\x18MissionControlEntityCard\x12\x1f\n" +
	"\ventity_kind\x18\x01 \x01(\tR\n" +
	"entityKind\x12(\n" +
	"\x10entity_public_id\x18\x02 \x01(\tR\x0eentityPublicId\x12\x14\n" +
	"\x05title\x18\x03 \x01(\tR\x05title\x12\x14\n" +
	"\x05state\x18\x04 \x01(\tR\x05state\x12\x1f\n" +
	"\vsync_status\x18\x05 \x01(\tR\n" +
	"syncStatus\x12e\n" +
	"\x12provider_reference\x18\x06 \x01(\v26.kodex.controlplane.v1.MissionControlProviderReferenceR\x11providerReference\x12V\n" +
	"\rprimary_actor\x18\a \x01(\v21.kodex.controlplane.v1.MissionControlPrimaryActorR\fprimaryActor\x12%\n" +
	"\x0erelation_count\x18\b \x01(\x05R\rrelationCount\x12D\n" +
	"\x10last_timeline_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x0elastTimelineAt\x12\x16\n" +
	"\x06badges\x18\n" +
	" \x03(\tR\x06badges\x12-\n" +
	"\x12projection_version\x18\v \x01(\x03R\x11projectionVersion\"\xc6\x02\n" +
	"\x16MissionControlRelation\x12#\n" +
	"\rrelation_kind\x18\x01 \x01(\tR\frelationKind\x12\x1f\n" +
	"\vsource_kind\x18\x02 \x01(\tR\n" +
	"sourceKind\x12,\n" +
	"\x12source_entity_kind\x18\x03 \x01(\tR\x10sourceEntityKind\x125\n" +
	"\x17source_entity_public_id\x18\x04 \x01(\tR\x14sourceEntityPublicId\x12,\n" +
	"\x12target_entity_kind\x18\x05 \x01(\tR\x10targetEntityKind\x125\n" +
	"\x17target_entity_public_id\x18\x06 \x01(\tR\x14targetEntityPublicId\x12\x1c\n" +
	"\tdirection\x18\a \x01(\tR\tdirection\"\xe4\x03\n" +
	"\x1bMissionControlTimelineEntry\x12\x19\n" +
	"\bentry_id\x18\x01 \x01(\tR\aentryId\x12\x1f\n" +
	"\ventity_kind\x18\x02 \x01(\tR\n" +
	"entityKind\x12(\n" +
	"\x10entity_public_id\x18\x03 \x01(\tR\x0eentityPublicId\x12\x1f\n" +
	"\vsource_kind\x18\x04 \x01(\tR\n" +
	"sourceKind\x12\x1d\n" +
	"\n" +
	"source_ref\x18\x05 \x01(\tR\tsourceRef\x12;\n" +
	"\voccurred_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"occurredAt\x12\x18\n" +
	"\asummary\x18\a \x01(\tR\asummary\x12(\n" +
	"\rbody_markdown\x18\b \x01(\tH\x00R\fbodyMarkdown\x88\x01\x01\x12\"\n" +
	"\n" +
	"command_id\x18\t \x01(\tH\x01R\tcommandId\x88\x01\x01\x12&\n" +
	"\fprovider_url\x18\n" +
	" \x01(\tH\x02R\vproviderUrl\x88\x01\x01\x12 \n" +
	"\fis_read_only\x18\v \x01(\bR\n" +
	"isReadOnlyB\x10\n" +
	"\x0e_body_markdownB\r\n" +
	"\v_command_idB\x0f\n" +
	"\r_provider_url\"\x88\x02\n" +
	"\x1bMissionControlAllowedAction\x12\x1f\n" +
	"\vaction_kind\x18\x01 \x01(\tR\n" +
	"actionKind\x12\"\n" +
	"\fpresentation\x18\x02 \x01(\tR\fpresentation\x122\n" +
	"\x15allowed_when_degraded\x18\x03 \x01(\bR\x13allowedWhenDegraded\x121\n" +
	"\x14approval_requirement\x18\x04 \x01(\tR\x13approvalRequirement\x12*\n" +
	"\x0eblocked_reason\x18\x05 \x01(\tH\x00R\rblockedReason\x88\x01\x01B\x11\n" +
	"\x0f_blocked_reason\"k\n" +
	"\x1eMissionControlProviderDeepLink\x12\x1f\n" +
	"\vaction_kind\x18\x01 \x01(\tR\n" +
	"actionKind\x12\x10\n" +
	"\x03url\x18\x02 \x01(\tR\x03url\x12\x16\n" +
	"\x06reason\x18\x03 \x01(\tR\x06reason\"\xed\x04\n" +
	"$MissionControlWorkItemDetailsPayload\x120\n" +
	"\x14repository_full_name\x18\x01 \x01(\tR\x12repositoryFullName\x12!\n" +
	"\fissue_number\x18\x02 \x01(\x03R\vissueNumber\x12 \n" +
	"\tissue_url\x18\x03 \x01(\tH\x00R\bissueUrl\x88\x01\x01\x12#\n" +
	"\vlast_run_id\x18\x04 \x01(\tH\x01R\tlastRunId\x88\x01\x01\x12$\n" +
	"\vlast_status\x18\x05 \x01(\tH\x02R\n" +
	"lastStatus\x88\x01\x01\x12&\n" +
	"\ftrigger_kind\x18\x06 \x01(\tH\x03R\vtriggerKind\x88\x01\x01\x12)\n" +
	"\x0ework_item_type\x18\a \x01(\tH\x04R\fworkItemType\x88\x01\x01\x12$\n" +
	"\vstage_label\x18\b \x01(\tH\x05R\n" +
	"stageLabel\x88\x01\x01\x12\x16\n" +
	"\x06labels\x18\t \x03(\tR\x06labels\x12\x19\n" +
	"\x05owner\x18\n" +
	" \x01(\tH\x06R\x05owner\x88\x01\x01\x12\x1c\n" +
	"\tassignees\x18\v \x03(\tR\tassignees\x12M\n" +
	"\x15last_provider_sync_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\x12lastProviderSyncAtB\f\n" +
	"\n" +
	"_issue_urlB\x0e\n" +
	"\f_last_run_idB\x0e\n" +
	"\f_last_statusB\x0f\n" +
	"\r_trigger_kindB\x11\n" +
	"\x0f_work_item_typeB\x0e\n" +
	"\f_stage_labelB\b\n" +
	"\x06_owner\"\x8e\x03\n" +
	"&MissionControlDiscussionDetailsPayload\x12,\n" +
	"\x0fdiscussion_kind\x18\x01 \x01(\tH\x00R\x0ediscussionKind\x88\x01\x01\x12\x1b\n" +
	"\x06status\x18\x02 \x01(\tH\x01R\x06status\x88\x01\x01\x12\x1b\n" +
	"\x06author\x18\x03 \x01(\tH\x02R\x06author\x88\x01\x01\x12+\n" +
	"\x11participant_count\x18\x04 \x01(\x05R\x10participantCount\x129\n" +
	"\x16latest_comment_excerpt\x18\x05 \x01(\tH\x03R\x14latestCommentExcerpt\x88\x01\x01\x126\n" +
	"\x14formalization_target\x18\x06 \x01(\tH\x04R\x13formalizationTarget\x88\x01\x01B\x12\n" +
	"\x10_discussion_kindB\t\n" +
	"\a_statusB\t\n" +
	"\a_authorB\x19\n" +
	"\x17_latest_comment_excerptB\x17\n" +
	"\x15_formalization_target\"\x89\x05\n" +
	"'MissionControlPullRequestDetailsPayload\x120\n" +
	"\x14repository_full_name\x18\x01 \x01(\tR\x12repositoryFullName\x12.\n" +
	"\x13pull_request_number\x18\x02 \x01(\x03R\x11pullRequestNumber\x12-\n" +
	"\x10pull_request_url\x18\x03 \x01(\tH\x00R\x0epullRequestUrl\x88\x01\x01\x12#\n" +
	"\vlast_run_id\x18\x04 \x01(\tH\x01R\tlastRunId\x88\x01\x01\x12$\n" +
	"\vlast_status\x18\x05 \x01(\tH\x02R\n" +
	"lastStatus\x88\x01\x01\x12$\n" +
	"\vbranch_head\x18\x06 \x01(\tH\x03R\n" +
	"branchHead\x88\x01\x01\x12$\n" +
	"\vbranch_base\x18\a \x01(\tH\x04R\n" +
	"branchBase\x88\x01\x01\x12$\n" +
	"\vmerge_state\x18\b \x01(\tH\x05R\n" +
	"mergeState\x88\x01\x01\x12,\n" +
	"\x0freview_decision\x18\t \x01(\tH\x06R\x0ereviewDecision\x88\x01\x01\x12*\n" +
	"\x0echecks_summary\x18\n" +
	" \x01(\tH\aR\rchecksSummary\x88\x01\x01\x12*\n" +
	"\x11linked_issue_refs\x18\v \x03(\tR\x0flinkedIssueRefsB\x13\n" +
	"\x11_pull_request_urlB\x0e\n" +
	"\f_last_run_idB\x0e\n" +
	"\f_last_statusB\x0e\n" +
	"\f_branch_headB\x0e\n" +
	"\f_branch_baseB\x0e\n" +
	"\f_merge_stateB\x12\n" +
	"\x10_review_decisionB\x11\n" +
	"\x0f_checks_summary\"\xbb\x03\n" +
	"!MissionControlAgentDetailsPayload\x12\x1b\n" +
	"\tagent_key\x18\x01 \x01(\tR\bagentKey\x12\"\n" +
	"\n" +
	"run_status\x18\x02 \x01(\tH\x00R\trunStatus\x88\x01\x01\x12&\n" +
	"\fruntime_mode\x18\x03 \x01(\tH\x01R\vruntimeMode\x88\x01\x01\x12*\n" +
	"\x0ewaiting_reason\x18\x04 \x01(\tH\x02R\rwaitingReason\x88\x01\x01\x12'\n" +
	"\ractive_run_id\x18\x05 \x01(\tH\x03R\vactiveRunId\x88\x01\x01\x12F\n" +
	"\x11last_heartbeat_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x0flastHeartbeatAt\x123\n" +
	"\x13last_run_repository\x18\a \x01(\tH\x04R\x11lastRunRepository\x88\x01\x01B\r\n" +
	"\v_run_statusB\x0f\n" +
	"\r_runtime_modeB\x11\n" +
	"\x0f_waiting_reasonB\x10\n" +
	"\x0e_active_run_idB\x16\n" +
	"\x14_last_run_repository\"\xdc\x06\n" +
	"\x1bMissionControlEntityDetails\x12G\n" +
	"\x06entity\x18\x01 \x01(\v2/.kodex.controlplane.v1.MissionControlEntityCardR\x06entity\x12K\n" +
	"\trelations\x18\x02 \x03(\v2-.kodex.controlplane.v1.MissionControlRelationR\trelations\x12]\n" +
	"\x10timeline_preview\x18\x03 \x03(\v22.kodex.controlplane.v1.MissionControlTimelineEntryR\x0ftimelinePreview\x12[\n" +
	"\x0fallowed_actions\x18\x04 \x03(\v22.kodex.controlplane.v1.MissionControlAllowedActionR\x0eallowedActions\x12e\n" +
	"\x13provider_deep_links\x18\x05 \x03(\v25.kodex.controlplane.v1.MissionControlProviderDeepLinkR\x11providerDeepLinks\x12Z\n" +
	"\twork_item\x18\x06 \x01(\v2;.kodex.controlplane.v1.MissionControlWorkItemDetailsPayloadH\x00R\bworkItem\x12_\n" +
	"\n" +
	"discussion\x18\a \x01(\v2=.kodex.controlplane.v1.MissionControlDiscussionDetailsPayloadH\x00R\n" +
	"discussion\x12c\n" +
	"\fpull_request\x18\b \x01(\v2>.kodex.controlplane.v1.MissionControlPullRequestDetailsPayloadH\x00R\vpullRequest\x12P\n" +
	"\x05agent\x18\t \x01(\v28.kodex.controlplane.v1.MissionControlAgentDetailsPayloadH\x00R\x05agentB\x10\n" +
	"\x0edetail_payload\"\x9b\x02\n" +
	"\x1dMissionControlSnapshotSummary\x12%\n" +
	"\x0etotal_entities\x18\x01 \x01(\x05R\rtotalEntities\x12#\n" +
	"\rworking_count\x18\x02 \x01(\x05R\fworkingCount\x12#\n" +
	"\rwaiting_count\x18\x03 \x01(\x05R\fwaitingCount\x12#\n" +
	"\rblocked_count\x18\x04 \x01(\x05R\fblockedCount\x12!\n" +
	"\freview_count\x18\x05 \x01(\x05R\vreviewCount\x12A\n" +
	"\x1drecent_critical_updates_count\x18\x06 \x01(\x05R\x1arecentCriticalUpdatesCount\"\xb4\x04\n" +
	"\x1fMissionControlDashboardSnapshot\x12\x1f\n" +
	"\vsnapshot_id\x18\x01 \x01(\tR\n" +
	"snapshotId\x12\x1b\n" +
	"\tview_mode\x18\x02 \x01(\tR\bviewMode\x12)\n" +
	"\x10freshness_status\x18\x03 \x01(\tR\x0ffreshnessStatus\x12=\n" +
	"\fgenerated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\vgeneratedAt\x12;\n" +
	"\vstale_after\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"staleAfter\x12N\n" +
	"\asummary\x18\x06 \x01(\v24.kodex.controlplane.v1.MissionControlSnapshotSummaryR\asummary\x12K\n" +
	"\bentities\x18\a \x03(\v2/.kodex.controlplane.v1.MissionControlEntityCardR\bentities\x12K\n" +
	"\trelations\x18\b \x03(\v2-.kodex.controlplane.v1.MissionControlRelationR\trelations\x12-\n" +
	"\x10next_page_cursor\x18\t \x01(\tH\x00R\x0enextPageCursor\x88\x01\x01B\x13\n" +
	"\x11_next_page_cursor\"\xb4\x02\n" +
	" GetMissionControlSnapshotRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12 \n" +
	"\tview_mode\x18\x02 \x01(\tH\x00R\bviewMode\x88\x01\x01\x12(\n" +
	"\ractive_filter\x18\x03 \x01(\tH\x01R\factiveFilter\x88\x01\x01\x12\x1b\n" +
	"\x06search\x18\x04 \x01(\tH\x02R\x06search\x88\x01\x01\x12\x1b\n" +
	"\x06cursor\x18\x05 \x01(\tH\x03R\x06cursor\x88\x01\x01\x12\x14\n" +
	"\x05limit\x18\x06 \x01(\x05R\x05limitB\f\n" +
	"\n" +
	"_view_modeB\x10\n" +
	"\x0e_active_filterB\t\n" +
	"\a_searchB\t\n" +
	"\a_cursor\"w\n" +
	"!GetMissionControlSnapshotResponse\x12R\n" +
	"\bsnapshot\x18\x01 \x01(\v26.kodex.controlplane.v1.MissionControlDashboardSnapshotR\bsnapshot\"\xd2\x01\n" +
	"\x1eGetMissionControlEntityRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1f\n" +
	"\ventity_kind\x18\x02 \x01(\tR\n" +
	"entityKind\x12(\n" +
	"\x10entity_public_id\x18\x03 \x01(\tR\x0eentityPublicId\x12%\n" +
	"\x0etimeline_limit\x18\x04 \x01(\x05R\rtimelineLimit\"\xec\x01\n" +
	"!ListMissionControlTimelineRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1f\n" +
	"\ventity_kind\x18\x02 \x01(\tR\n" +
	"entityKind\x12(\n" +
	"\x10entity_public_id\x18\x03 \x01(\tR\x0eentityPublicId\x12\x1b\n" +
	"\x06cursor\x18\x04 \x01(\tH\x00R\x06cursor\x88\x01\x01\x12\x14\n" +
	"\x05limit\x18\x05 \x01(\x05R\x05limitB\t\n" +
	"\a_cursor\"\xa4\x01\n" +
	"\"ListMissionControlTimelineResponse\x12H\n" +
	"\x05items\x18\x01 \x03(\v22.kodex.controlplane.v1.MissionControlTimelineEntryR\x05items\x12$\n" +
	"\vnext_cursor\x18\x02 \x01(\tH\x00R\n" +
	"nextCursor\x88\x01\x01B\x0e\n" +
	"\f_next_cursor\"Z\n" +
	"\x15MissionControlNodeRef\x12\x1b\n" +
	"\tnode_kind\x18\x01 \x01(\tR\bnodeKind\x12$\n" +
	"\x0enode_public_id\x18\x02 \x01(\tR\fnodePublicId\"\xb5\x01\n" +
	"\x1eMissionControlWorkspaceFilters\x12\x1d\n" +
	"\n" +
	"open_scope\x18\x01 \x01(\tR\topenScope\x12)\n" +
	"\x10assignment_scope\x18\x02 \x01(\tR\x0fassignmentScope\x12!\n" +
	"\fstate_preset\x18\x03 \x01(\tR\vstatePreset\x12\x1b\n" +
	"\x06search\x18\x04 \x01(\tH\x00R\x06search\x88\x01\x01B\t\n" +
	"\a_search\"\xcc\x03\n" +
	"\x1eMissionControlWorkspaceSummary\x12\x1d\n" +
	"\n" +
	"root_count\x18\x01 \x01(\x05R\trootCount\x12\x1d\n" +
	"\n" +
	"node_count\x18\x02 \x01(\x05R\tnodeCount\x12,\n" +
	"\x12blocking_gap_count\x18\x03 \x01(\x05R\x10blockingGapCount\x12*\n" +
	"\x11warning_gap_count\x18\x04 \x01(\x05R\x0fwarningGapCount\x12=\n" +
	"\x1brecent_closed_context_count\x18\x05 \x01(\x05R\x18recentClosedContextCount\x12#\n" +
	"\rworking_count\x18\x06 \x01(\x05R\fworkingCount\x12#\n" +
	"\rwaiting_count\x18\a \x01(\x05R\fwaitingCount\x12#\n" +
	"\rblocked_count\x18\b \x01(\x05R\fblockedCount\x12!\n" +
	"\freview_count\x18\t \x01(\x05R\vreviewCount\x12A\n" +
	"\x1drecent_critical_updates_count\x18\n" +
	" \x01(\x05R\x1arecentCriticalUpdatesCount\"\xc4\x02\n" +
	" MissionControlWorkspaceWatermark\x12%\n" +
	"\x0ewatermark_kind\x18\x01 \x01(\tR\rwatermarkKind\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12\x18\n" +
	"\asummary\x18\x03 \x01(\tR\asummary\x12;\n" +
	"\vobserved_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"observedAt\x12F\n" +
	"\x11window_started_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\x0fwindowStartedAt\x12B\n" +
	"\x0fwindow_ended_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\rwindowEndedAt\"\xcc\x02\n" +
	"\x17MissionControlRootGroup\x12$\n" +
	"\x0eroot_node_kind\x18\x01 \x01(\tR\frootNodeKind\x12-\n" +
	"\x13root_node_public_id\x18\x02 \x01(\tR\x10rootNodePublicId\x12\x1d\n" +
	"\n" +
	"root_title\x18\x03 \x01(\tR\trootTitle\x12I\n" +
	"\tnode_refs\x18\x04 \x03(\v2,.kodex.controlplane.v1.MissionControlNodeRefR\bnodeRefs\x12(\n" +
	"\x10has_blocking_gap\x18\x05 \x01(\bR\x0ehasBlockingGap\x12H\n" +
	"\x12latest_activity_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x10latestActivityAt\"\xfd\x04\n" +
	"\x12MissionControlNode\x12\x1b\n" +
	"\tnode_kind\x18\x01 \x01(\tR\bnodeKind\x12$\n" +
	"\x0enode_public_id\x18\x02 \x01(\tR\fnodePublicId\x12\x14\n" +
	"\x05title\x18\x03 \x01(\tR\x05title\x12'\n" +
	"\x0fvisibility_tier\x18\x04 \x01(\tR\x0evisibilityTier\x12!\n" +
	"\factive_state\x18\x05 \x01(\tR\vactiveState\x12+\n" +
	"\x11continuity_status\x18\x06 \x01(\tR\x10continuityStatus\x12%\n" +
	"\x0ecoverage_class\x18\a \x01(\tR\rcoverageClass\x12e\n" +
	"\x12provider_reference\x18\b \x01(\v26.kodex.controlplane.v1.MissionControlProviderReferenceR\x11providerReference\x12-\n" +
	"\x13root_node_public_id\x18\t \x01(\tR\x10rootNodePublicId\x12!\n" +
	"\fcolumn_index\x18\n" +
	" \x01(\x05R\vcolumnIndex\x12D\n" +
	"\x10last_activity_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\x0elastActivityAt\x12(\n" +
	"\x10has_blocking_gap\x18\f \x01(\bR\x0ehasBlockingGap\x12\x16\n" +
	"\x06badges\x18\r \x03(\tR\x06badges\x12-\n" +
	"\x12projection_version\x18\x0e \x01(\x03R\x11projectionVersion\"\xe4\x02\n" +
	"\x12MissionControlEdge\x12\x1b\n" +
	"\tedge_kind\x18\x01 \x01(\tR\bedgeKind\x12(\n" +
	"\x10source_node_kind\x18\x02 \x01(\tR\x0esourceNodeKind\x121\n" +
	"\x15source_node_public_id\x18\x03 \x01(\tR\x12sourceNodePublicId\x12(\n" +
	"\x10target_node_kind\x18\x04 \x01(\tR\x0etargetNodeKind\x121\n" +
	"\x15target_node_public_id\x18\x05 \x01(\tR\x12targetNodePublicId\x12'\n" +
	"\x0fvisibility_tier\x18\x06 \x01(\tR\x0evisibilityTier\x12&\n" +
	"\x0fsource_of_truth\x18\a \x01(\tR\rsourceOfTruth\x12&\n" +
	"\x0fis_primary_path\x18\b \x01(\bR\risPrimaryPath\"\xd6\x05\n" +
	"\x1fMissionControlWorkspaceSnapshot\x12\x1f\n" +
	"\vsnapshot_id\x18\x01 \x01(\tR\n" +
	"snapshotId\x12\x1b\n" +
	"\tview_mode\x18\x02 \x01(\tR\bviewMode\x12=\n" +
	"\fgenerated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\vgeneratedAt\x12b\n" +
	"\x11effective_filters\x18\x04 \x01(\v25.kodex.controlplane.v1.MissionControlWorkspaceFiltersR\x10effectiveFilters\x12O\n" +
	"\asummary\x18\x05 \x01(\v25.kodex.controlplane.v1.MissionControlWorkspaceSummaryR\asummary\x12j\n" +
	"\x14workspace_watermarks\x18\x06 \x03(\v27.kodex.controlplane.v1.MissionControlWorkspaceWatermarkR\x13workspaceWatermarks\x12O\n" +
	"\vroot_groups\x18\a \x03(\v2..kodex.controlplane.v1.MissionControlRootGroupR\n" +
	"rootGroups\x12?\n" +
	"\x05nodes\x18\b \x03(\v2).kodex.controlplane.v1.MissionControlNodeR\x05nodes\x12?\n" +
	"\x05edges\x18\t \x03(\v2).kodex.controlplane.v1.MissionControlEdgeR\x05edges\x12-\n" +
	"\x10next_root_cursor\x18\n" +
	" \x01(\tH\x00R\x0enextRootCursor\x88\x01\x01B\x13\n" +
	"\x11_next_root_cursor\"\xbb\x02\n" +
	"!GetMissionControlWorkspaceRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12 \n" +
	"\tview_mode\x18\x02 \x01(\tH\x00R\bviewMode\x88\x01\x01\x12&\n" +
	"\fstate_preset\x18\x03 \x01(\tH\x01R\vstatePreset\x88\x01\x01\x12\x1b\n" +
	"\x06search\x18\x04 \x01(\tH\x02R\x06search\x88\x01\x01\x12\x1b\n" +
	"\x06cursor\x18\x05 \x01(\tH\x03R\x06cursor\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"root_limit\x18\x06 \x01(\x05R\trootLimitB\f\n" +
	"\n" +
	"_view_modeB\x0f\n" +
	"\r_state_presetB\t\n" +
	"\a_searchB\t\n" +
	"\a_cursor\"x\n" +
	"\"GetMissionControlWorkspaceResponse\x12R\n" +
	"\bsnapshot\x18\x01 \x01(\v26.kodex.controlplane.v1.MissionControlWorkspaceSnapshotR\bsnapshot\"\xba\x04\n" +
	"\x1bMissionControlContinuityGap\x12\x15\n" +
	"\x06gap_id\x18\x01 \x01(\x03R\x05gapId\x12\x19\n" +
	"\bgap_kind\x18\x02 \x01(\tR\agapKind\x12\x1a\n" +
	"\bseverity\x18\x03 \x01(\tR\bseverity\x12\x16\n" +
	"\x06status\x18\x04 \x01(\tR\x06status\x12*\n" +
	"\x11subject_node_kind\x18\x05 \x01(\tR\x0fsubjectNodeKind\x123\n" +
	"\x16subject_node_public_id\x18\x06 \x01(\tR\x13subjectNodePublicId\x121\n" +
	"\x12expected_node_kind\x18\a \x01(\tH\x00R\x10expectedNodeKind\x88\x01\x01\x125\n" +
	"\x14expected_stage_label\x18\b \x01(\tH\x01R\x12expectedStageLabel\x88\x01\x01\x12;\n" +
	"\vdetected_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"detectedAt\x12;\n" +
	"\vresolved_at\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"resolvedAt\x12,\n" +
	"\x0fresolution_hint\x18\v \x01(\tH\x02R\x0eresolutionHint\x88\x01\x01B\x15\n" +
	"\x13_expected_node_kindB\x17\n" +
	"\x15_expected_stage_labelB\x12\n" +
	"\x10_resolution_hint\"\xd4\x02\n" +
	"#MissionControlStageNextStepTemplate\x12\x1f\n" +
	"\vthread_kind\x18\x01 \x01(\tR\n" +
	"threadKind\x12#\n" +
	"\rthread_number\x18\x02 \x01(\x05R\fthreadNumber\x12!\n" +
	"\ftarget_label\x18\x03 \x01(\tR\vtargetLabel\x12%\n" +
	"\x0eremoved_labels\x18\x04 \x03(\tR\rremovedLabels\x12,\n" +
	"\x0fdisplay_variant\x18\x05 \x01(\tH\x00R\x0edisplayVariant\x88\x01\x01\x121\n" +
	"\x14approval_requirement\x18\x06 \x01(\tR\x13approvalRequirement\x12(\n" +
	"\x10expected_gap_ids\x18\a \x03(\x03R\x0eexpectedGapIdsB\x12\n" +
	"\x10_display_variant\"\xbb\x02\n" +
	"\x1bMissionControlLaunchSurface\x12\x1f\n" +
	"\vaction_kind\x18\x01 \x01(\tR\n" +
	"actionKind\x12\"\n" +
	"\fpresentation\x18\x02 \x01(\tR\fpresentation\x121\n" +
	"\x14approval_requirement\x18\x03 \x01(\tR\x13approvalRequirement\x12*\n" +
	"\x0eblocked_reason\x18\x04 \x01(\tH\x00R\rblockedReason\x88\x01\x01\x12e\n" +
	"\x10command_template\x18\x05 \x01(\v2:.kodex.controlplane.v1.MissionControlStageNextStepTemplateR\x0fcommandTemplateB\x11\n" +
	"\x0f_blocked_reason\"\xcb\x02\n" +
	"#MissionControlDiscussionNodeDetails\x12'\n" +
	"\x0fdiscussion_kind\x18\x01 \x01(\tR\x0ediscussionKind\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12\x16\n" +
	"\x06author\x18\x03 \x01(\tR\x06author\x12+\n" +
	"\x11participant_count\x18\x04 \x01(\x05R\x10participantCount\x124\n" +
	"\x16latest_comment_excerpt\x18\x05 \x01(\tR\x14latestCommentExcerpt\x12h\n" +
	"\x19formalization_target_refs\x18\x06 \x03(\v2,.kodex.controlplane.v1.MissionControlNodeRefR\x17formalizationTargetRefs\"\xd5\x03\n" +
	"!MissionControlWorkItemNodeDetails\x120\n" +
	"\x14repository_full_name\x18\x01 \x01(\tR\x12repositoryFullName\x12!\n" +
	"\fissue_number\x18\x02 \x01(\x03R\vissueNumber\x12\x1f\n" +
	"\vstage_label\x18\x03 \x01(\tR\n" +
	"stageLabel\x12\x16\n" +
	"\x06labels\x18\x04 \x03(\tR\x06labels\x12\x1c\n" +
	"\tassignees\x18\x05 \x03(\tR\tassignees\x12T\n" +
	"\x0flinked_run_refs\x18\x06 \x03(\v2,.kodex.controlplane.v1.MissionControlNodeRefR\rlinkedRunRefs\x12_\n" +
	"\x15linked_follow_up_refs\x18\a \x03(\v2,.kodex.controlplane.v1.MissionControlNodeRefR\x12linkedFollowUpRefs\x12M\n" +
	"\x15last_provider_sync_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x12lastProviderSyncAt\"\xc4\x04\n" +
	"\x1cMissionControlRunNodeDetails\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x1b\n" +
	"\tagent_key\x18\x02 \x01(\tR\bagentKey\x12\x1d\n" +
	"\n" +
	"run_status\x18\x03 \x01(\tR\trunStatus\x12!\n" +
	"\fruntime_mode\x18\x04 \x01(\tR\vruntimeMode\x12#\n" +
	"\rtrigger_label\x18\x05 \x01(\tR\ftriggerLabel\x12\x1b\n" +
	"\tbuild_ref\x18\x06 \x01(\tR\bbuildRef\x12/\n" +
	"\x13candidate_namespace\x18\a \x01(\tR\x12candidateNamespace\x129\n" +
	"\n" +
	"started_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12;\n" +
	"\vfinished_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"finishedAt\x12e\n" +
	"\x18linked_pull_request_refs\x18\n" +
	" \x03(\v2,.kodex.controlplane.v1.MissionControlNodeRefR\x15linkedPullRequestRefs\x12\\\n" +
	"\x13produced_issue_refs\x18\v \x03(\v2,.kodex.controlplane.v1.MissionControlNodeRefR\x11producedIssueRefs\"\xe9\x03\n" +
	"$MissionControlPullRequestNodeDetails\x120\n" +
	"\x14repository_full_name\x18\x01 \x01(\tR\x12repositoryFullName\x12.\n" +
	"\x13pull_request_number\x18\x02 \x01(\x03R\x11pullRequestNumber\x12\x1f\n" +
	"\vbranch_head\x18\x03 \x01(\tR\n" +
	"branchHead\x12\x1f\n" +
	"\vbranch_base\x18\x04 \x01(\tR\n" +
	"branchBase\x12\x1f\n" +
	"\vmerge_state\x18\x05 \x01(\tR\n" +
	"mergeState\x12'\n" +
	"\x0freview_decision\x18\x06 \x01(\tR\x0ereviewDecision\x12%\n" +
	"\x0echecks_summary\x18\a \x01(\tR\rchecksSummary\x12X\n" +
	"\x11linked_issue_refs\x18\b \x03(\v2,.kodex.controlplane.v1.MissionControlNodeRefR\x0flinkedIssueRefs\x12R\n" +
	"\x0elinked_run_ref\x18\t \x01(\v2,.kodex.controlplane.v1.MissionControlNodeRefR\flinkedRunRef\"\xa9\x03\n" +
	"\x1bMissionControlActivityEntry\x12\x19\n" +
	"\bentry_id\x18\x01 \x01(\tR\aentryId\x12\x1b\n" +
	"\tnode_kind\x18\x02 \x01(\tR\bnodeKind\x12$\n" +
	"\x0enode_public_id\x18\x03 \x01(\tR\fnodePublicId\x12\x1f\n" +
	"\vsource_kind\x18\x04 \x01(\tR\n" +
	"sourceKind\x12\x1d\n" +
	"\n" +
	"source_ref\x18\x05 \x01(\tR\tsourceRef\x12;\n" +
	"\voccurred_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"occurredAt\x12\x18\n" +
	"\asummary\x18\a \x01(\tR\asummary\x12(\n" +
	"\rbody_markdown\x18\b \x01(\tH\x00R\fbodyMarkdown\x88\x01\x01\x12&\n" +
	"\fprovider_url\x18\t \x01(\tH\x01R\vproviderUrl\x88\x01\x01\x12 \n" +
	"\fis_read_only\x18\n" +
	" \x01(\bR\n" +
	"isReadOnlyB\x10\n" +
	"\x0e_body_markdownB\x0f\n" +
	"\r_provider_url\"\xd4\b\n" +
	"\x19MissionControlNodeDetails\x12=\n" +
	"\x04node\x18\x01 \x01(\v2).kodex.controlplane.v1.MissionControlNodeR\x04node\x12P\n" +
	"\x0eadjacent_nodes\x18\x02 \x03(\v2).kodex.controlplane.v1.MissionControlNodeR\radjacentNodes\x12P\n" +
	"\x0eadjacent_edges\x18\x03 \x03(\v2).kodex.controlplane.v1.MissionControlEdgeR\radjacentEdges\x12[\n" +
	"\x0fcontinuity_gaps\x18\x04 \x03(\v22.kodex.controlplane.v1.MissionControlContinuityGapR\x0econtinuityGaps\x12`\n" +
	"\x0fnode_watermarks\x18\x05 \x03(\v27.kodex.controlplane.v1.MissionControlWorkspaceWatermarkR\x0enodeWatermarks\x12]\n" +
	"\x10activity_preview\x18\x06 \x03(\v22.kodex.controlplane.v1.MissionControlActivityEntryR\x0factivityPreview\x12[\n" +
	"\x0flaunch_surfaces\x18\a \x03(\v22.kodex.controlplane.v1.MissionControlLaunchSurfaceR\x0elaunchSurfaces\x12e\n" +
	"\x13provider_deep_links\x18\b \x03(\v25.kodex.controlplane.v1.MissionControlProviderDeepLinkR\x11providerDeepLinks\x12\\\n" +
	"\n" +
	"discussion\x18\t \x01(\v2:.kodex.controlplane.v1.MissionControlDiscussionNodeDetailsH\x00R\n" +
	"discussion\x12W\n" +
	"\twork_item\x18\n" +
	" \x01(\v28.kodex.controlplane.v1.MissionControlWorkItemNodeDetailsH\x00R\bworkItem\x12G\n" +
	"\x03run\x18\v \x01(\v23.kodex.controlplane.v1.MissionControlRunNodeDetailsH\x00R\x03run\x12`\n" +
	"\fpull_request\x18\f \x01(\v2;.kodex.controlplane.v1.MissionControlPullRequestNodeDetailsH\x00R\vpullRequestB\x10\n" +
	"\x0edetail_payload\"\xa1\x01\n" +
	"\x1cGetMissionControlNodeRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1b\n" +
	"\tnode_kind\x18\x02 \x01(\tR\bnodeKind\x12$\n" +
	"\x0enode_public_id\x18\x03 \x01(\tR\fnodePublicId\"\xe8\x01\n" +
	"%ListMissionControlNodeActivityRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1b\n" +
	"\tnode_kind\x18\x02 \x01(\tR\bnodeKind\x12$\n" +
	"\x0enode_public_id\x18\x03 \x01(\tR\fnodePublicId\x12\x1b\n" +
	"\x06cursor\x18\x04 \x01(\tH\x00R\x06cursor\x88\x01\x01\x12\x14\n" +
	"\x05limit\x18\x05 \x01(\x05R\x05limitB\t\n" +
	"\a_cursor\"\xa8\x01\n" +
	"&ListMissionControlNodeActivityResponse\x12H\n" +
	"\x05items\x18\x01 \x03(\v22.kodex.controlplane.v1.MissionControlActivityEntryR\x05items\x12$\n" +
	"\vnext_cursor\x18\x02 \x01(\tH\x00R\n" +
	"nextCursor\x88\x01\x01B\x0e\n" +
	"\f_next_cursor\"\xf7\x02\n" +
	"\"PreviewMissionControlLaunchRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1b\n" +
	"\tnode_kind\x18\x02 \x01(\tR\bnodeKind\x12$\n" +
	"\x0enode_public_id\x18\x03 \x01(\tR\fnodePublicId\x12\x1f\n" +
	"\vthread_kind\x18\x04 \x01(\tR\n" +
	"threadKind\x12#\n" +
	"\rthread_number\x18\x05 \x01(\x05R\fthreadNumber\x12!\n" +
	"\ftarget_label\x18\x06 \x01(\tR\vtargetLabel\x12%\n" +
	"\x0eremoved_labels\x18\a \x03(\tR\rremovedLabels\x12>\n" +
	"\x1bexpected_projection_version\x18\b \x01(\x03R\x19expectedProjectionVersion\"\x93\x01\n" +
	"$MissionControlLaunchPreviewLabelDiff\x12%\n" +
	"\x0eremoved_labels\x18\x01 \x03(\tR\rremovedLabels\x12!\n" +
	"\fadded_labels\x18\x02 \x03(\tR\vaddedLabels\x12!\n" +
	"\ffinal_labels\x18\x03 \x03(\tR\vfinalLabels\"\x90\x02\n" +
	"+MissionControlLaunchPreviewContinuityEffect\x12(\n" +
	"\x10resolved_gap_ids\x18\x01 \x03(\x03R\x0eresolvedGapIds\x12*\n" +
	"\x11remaining_gap_ids\x18\x02 \x03(\x03R\x0fremainingGapIds\x12\\\n" +
	"\x13resulting_node_refs\x18\x03 \x03(\v2,.kodex.controlplane.v1.MissionControlNodeRefR\x11resultingNodeRefs\x12-\n" +
	"\x12provider_redirects\x18\x04 \x03(\tR\x11providerRedirects\"\xfe\x02\n" +
	"\x1bMissionControlLaunchPreview\x12\x1d\n" +
	"\n" +
	"preview_id\x18\x01 \x01(\tR\tpreviewId\x121\n" +
	"\x14approval_requirement\x18\x02 \x01(\tR\x13approvalRequirement\x12Z\n" +
	"\n" +
	"label_diff\x18\x03 \x01(\v2;.kodex.controlplane.v1.MissionControlLaunchPreviewLabelDiffR\tlabelDiff\x12o\n" +
	"\x11continuity_effect\x18\x04 \x01(\v2B.kodex.controlplane.v1.MissionControlLaunchPreviewContinuityEffectR\x10continuityEffect\x12,\n" +
	"\x0fblocking_reason\x18\x05 \x01(\tH\x00R\x0eblockingReason\x88\x01\x01B\x12\n" +
	"\x10_blocking_reason\"\xc7\x02\n" +
	"\"MissionControlStageNextStepPayload\x12\x1f\n" +
	"\vthread_kind\x18\x01 \x01(\tR\n" +
	"threadKind\x12#\n" +
	"\rthread_number\x18\x02 \x01(\x05R\fthreadNumber\x12!\n" +
	"\ftarget_label\x18\x03 \x01(\tR\vtargetLabel\x12%\n" +
	"\x0eremoved_labels\x18\x04 \x03(\tR\rremovedLabels\x12,\n" +
	"\x0fdisplay_variant\x18\x05 \x01(\tH\x00R\x0edisplayVariant\x88\x01\x01\x126\n" +
	"\x14approval_requirement\x18\x06 \x01(\tH\x01R\x13approvalRequirement\x88\x01\x01B\x12\n" +
	"\x10_display_variantB\x17\n" +
	"\x15_approval_requirement\"\x8b\x05\n" +
	"\x1cMissionControlPendingCommand\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12\x1d\n" +
	"\n" +
	"command_id\x18\x02 \x01(\tR\tcommandId\x12!\n" +
	"\fcommand_kind\x18\x03 \x01(\tR\vcommandKind\x124\n" +
	"\x16effective_command_kind\x18\x04 \x01(\tR\x14effectiveCommandKind\x12\x16\n" +
	"\x06status\x18\x05 \x01(\tR\x06status\x12%\n" +
	"\x0ecorrelation_id\x18\x06 \x01(\tR\rcorrelationId\x12.\n" +
	"\x13business_intent_key\x18\a \x01(\tR\x11businessIntentKey\x120\n" +
	"\x14repository_full_name\x18\b \x01(\tR\x12repositoryFullName\x12:\n" +
	"\x17retry_target_command_id\x18\t \x01(\tH\x00R\x14retryTargetCommandId\x88\x01\x01\x12a\n" +
	"\x0fstage_next_step\x18\n" +
	" \x01(\v29.kodex.controlplane.v1.MissionControlStageNextStepPayloadR\rstageNextStep\x12=\n" +
	"\frequested_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\vrequestedAt\x129\n" +
	"\n" +
	"updated_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAtB\x1a\n" +
	"\x18_retry_target_command_id\"\x96\x01\n" +
	")ClaimMissionControlPendingCommandsRequest\x12\x14\n" +
	"\x05limit\x18\x01 \x01(\x05R\x05limit\x12\x1b\n" +
	"\tworker_id\x18\x02 \x01(\tR\bworkerId\x126\n" +
	"\tlease_ttl\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\bleaseTtl\"w\n" +
	"*ClaimMissionControlPendingCommandsResponse\x12I\n" +
	"\x05items\x18\x01 \x03(\v23.kodex.controlplane.v1.MissionControlPendingCommandR\x05items\"\xe7\x05\n" +
	"\x1aMissionControlCommandState\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12\x1d\n" +
	"\n" +
	"command_id\x18\x02 \x01(\tR\tcommandId\x12!\n" +
	"\fcommand_kind\x18\x03 \x01(\tR\vcommandKind\x12\x16\n" +
	"\x06status\x18\x04 \x01(\tR\x06status\x12%\n" +
	"\x0efailure_reason\x18\x05 \x01(\tR\rfailureReason\x12%\n" +
	"\x0ecorrelation_id\x18\x06 \x01(\tR\rcorrelationId\x122\n" +
	"\x15provider_delivery_ids\x18\a \x03(\tR\x13providerDeliveryIds\x12*\n" +
	"\x0estatus_message\x18\b \x01(\tH\x00R\rstatusMessage\x88\x01\x01\x129\n" +
	"\n" +
	"updated_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12?\n" +
	"\rreconciled_at\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\freconciledAt\x12.\n" +
	"\x13business_intent_key\x18\v \x01(\tR\x11businessIntentKey\x12O\n" +
	"\ventity_refs\x18\f \x03(\v2..kodex.controlplane.v1.MissionControlEntityRefR\n" +
	"entityRefs\x12P\n" +
	"\bapproval\x18\r \x01(\v24.kodex.controlplane.v1.MissionControlCommandApprovalR\bapproval\x12,\n" +
	"\x0fblocking_reason\x18\x0e \x01(\tH\x01R\x0eblockingReason\x88\x01\x01B\x11\n" +
	"\x0f_status_messageB\x12\n" +
	"\x10_blocking_reason\"\xd4\x02\n" +
	"\x1dMissionControlCommandApproval\x12%\n" +
	"\x0eapproval_state\x18\x01 \x01(\tR\rapprovalState\x123\n" +
	"\x13approval_request_id\x18\x02 \x01(\tH\x00R\x11approvalRequestId\x88\x01\x01\x12=\n" +
	"\frequested_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\vrequestedAt\x129\n" +
	"\n" +
	"decided_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tdecidedAt\x12/\n" +
	"\x11approver_actor_id\x18\x05 \x01(\tH\x01R\x0fapproverActorId\x88\x01\x01B\x16\n" +
	"\x14_approval_request_idB\x14\n" +
	"\x12_approver_actor_id\"\x9b\x02\n" +
	"%MissionControlDiscussionCreatePayload\x12\x14\n" +
	"\x05title\x18\x01 \x01(\tR\x05title\x12(\n" +
	"\rbody_markdown\x18\x02 \x01(\tH\x00R\fbodyMarkdown\x88\x01\x01\x121\n" +
	"\x12parent_entity_kind\x18\x03 \x01(\tH\x01R\x10parentEntityKind\x88\x01\x01\x12:\n" +
	"\x17parent_entity_public_id\x18\x04 \x01(\tH\x02R\x14parentEntityPublicId\x88\x01\x01B\x10\n" +
	"\x0e_body_markdownB\x15\n" +
	"\x13_parent_entity_kindB\x1a\n" +
	"\x18_parent_entity_public_id\"\xfe\x01\n" +
	"#MissionControlWorkItemCreatePayload\x12\x14\n" +
	"\x05title\x18\x01 \x01(\tR\x05title\x12(\n" +
	"\rbody_markdown\x18\x02 \x01(\tH\x00R\fbodyMarkdown\x88\x01\x01\x12%\n" +
	"\x0einitial_labels\x18\x03 \x03(\tR\rinitialLabels\x12^\n" +
	"\x13related_entity_refs\x18\x04 \x03(\v2..kodex.controlplane.v1.MissionControlEntityRefR\x11relatedEntityRefsB\x10\n" +
	"\x0e_body_markdown\"\x8a\x02\n" +
	"(MissionControlDiscussionFormalizePayload\x12,\n" +
	"\x12source_entity_kind\x18\x01 \x01(\tR\x10sourceEntityKind\x125\n" +
	"\x17source_entity_public_id\x18\x02 \x01(\tR\x14sourceEntityPublicId\x12'\n" +
	"\x0fformalized_kind\x18\x03 \x01(\tR\x0eformalizedKind\x12\x14\n" +
	"\x05title\x18\x04 \x01(\tR\x05title\x12(\n" +
	"\rbody_markdown\x18\x05 \x01(\tH\x00R\fbodyMarkdown\x88\x01\x01B\x10\n" +
	"\x0e_body_markdown\"\xba\x01\n" +
	"\x1eMissionControlRetrySyncPayload\x12\x1d\n" +
	"\n" +
	"command_id\x18\x01 \x01(\tR\tcommandId\x12&\n" +
	"\fretry_reason\x18\x02 \x01(\tH\x00R\vretryReason\x88\x01\x01\x12,\n" +
	"\x0fexpected_status\x18\x03 \x01(\tH\x01R\x0eexpectedStatus\x88\x01\x01B\x0f\n" +
	"\r_retry_reasonB\x12\n" +
	"\x10_expected_status\"\xb1\b\n" +
	"\"SubmitMissionControlCommandRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectId\x12!\n" +
	"\fcommand_kind\x18\x03 \x01(\tR\vcommandKind\x121\n" +
	"\x12target_entity_kind\x18\x04 \x01(\tH\x01R\x10targetEntityKind\x88\x01\x01\x12:\n" +
	"\x17target_entity_public_id\x18\x05 \x01(\tH\x02R\x14targetEntityPublicId\x88\x01\x01\x12.\n" +
	"\x13business_intent_key\x18\x06 \x01(\tR\x11businessIntentKey\x12>\n" +
	"\x1bexpected_projection_version\x18\a \x01(\x03R\x19expectedProjectionVersion\x12%\n" +
	"\x0ecorrelation_id\x18\b \x01(\tR\rcorrelationId\x12=\n" +
	"\frequested_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\vrequestedAt\x12k\n" +
	"\x11discussion_create\x18\n" +
	" \x01(\v2<.kodex.controlplane.v1.MissionControlDiscussionCreatePayloadH\x00R\x10discussionCreate\x12f\n" +
	"\x10work_item_create\x18\v \x01(\v2:.kodex.controlplane.v1.MissionControlWorkItemCreatePayloadH\x00R\x0eworkItemCreate\x12t\n" +
	"\x14discussion_formalize\x18\f \x01(\v2?.kodex.controlplane.v1.MissionControlDiscussionFormalizePayloadH\x00R\x13discussionFormalize\x12c\n" +
	"\x0fstage_next_step\x18\r \x01(\v29.kodex.controlplane.v1.MissionControlStageNextStepPayloadH\x00R\rstageNextStep\x12V\n" +
	"\n" +
	"retry_sync\x18\x0e \x01(\v25.kodex.controlplane.v1.MissionControlRetrySyncPayloadH\x00R\tretrySyncB\t\n" +
	"\apayloadB\x15\n" +
	"\x13_target_entity_kindB\x1a\n" +
	"\x18_target_entity_public_id\"\x80\x01\n" +
	"\x1fGetMissionControlCommandRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1d\n" +
	"\n" +
	"command_id\x18\x02 \x01(\tR\tcommandId\"\xdb\x01\n" +
	"!QueueMissionControlCommandRequest\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12\x1d\n" +
	"\n" +
	"command_id\x18\x02 \x01(\tR\tcommandId\x12*\n" +
	"\x0estatus_message\x18\x03 \x01(\tH\x00R\rstatusMessage\x88\x01\x01\x129\n" +
	"\n" +
	"updated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAtB\x11\n" +
	"\x0f_status_message\"\x99\x02\n" +
	"+MarkMissionControlCommandPendingSyncRequest\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12\x1d\n" +
	"\n" +
	"command_id\x18\x02 \x01(\tR\tcommandId\x122\n" +
	"\x15provider_delivery_ids\x18\x03 \x03(\tR\x13providerDeliveryIds\x12*\n" +
	"\x0estatus_message\x18\x04 \x01(\tH\x00R\rstatusMessage\x88\x01\x01\x129\n" +
	"\n" +
	"updated_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAtB\x11\n" +
	"\x0f_status_message\"\xd9\x02\n" +
	"*MarkMissionControlCommandReconciledRequest\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12\x1d\n" +
	"\n" +
	"command_id\x18\x02 \x01(\tR\tcommandId\x122\n" +
	"\x15provider_delivery_ids\x18\x03 \x03(\tR\x13providerDeliveryIds\x12*\n" +
	"\x0estatus_message\x18\x04 \x01(\tH\x00R\rstatusMessage\x88\x01\x01\x129\n" +
	"\n" +
	"updated_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12?\n" +
	"\rreconciled_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\freconciledAtB\x11\n" +
	"\x0f_status_message\"\xbb\x02\n" +
	"&MarkMissionControlCommandFailedRequest\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12\x1d\n" +
	"\n" +
	"command_id\x18\x02 \x01(\tR\tcommandId\x12%\n" +
	"\x0efailure_reason\x18\x03 \x01(\tR\rfailureReason\x122\n" +
	"\x15provider_delivery_ids\x18\x04 \x03(\tR\x13providerDeliveryIds\x12*\n" +
	"\x0estatus_message\x18\x05 \x01(\tH\x00R\rstatusMessage\x88\x01\x01\x129\n" +
	"\n" +
	"updated_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAtB\x11\n" +
	"\x0f_status_message\"\x8c\a\n" +
	" SubmitInteractionCallbackRequest\x12%\n" +
	"\x0einteraction_id\x18\x01 \x01(\tR\rinteractionId\x12$\n" +
	"\vdelivery_id\x18\x02 \x01(\tH\x00R\n" +
	"deliveryId\x88\x01\x01\x12(\n" +
	"\x10adapter_event_id\x18\x03 \x01(\tR\x0eadapterEventId\x12#\n" +
	"\rcallback_kind\x18\x04 \x01(\tR\fcallbackKind\x12;\n" +
	"\voccurred_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"occurredAt\x12,\n" +
	"\x0fcallback_handle\x18\x06 \x01(\tH\x01R\x0ecallbackHandle\x88\x01\x01\x12 \n" +
	"\tfree_text\x18\a \x01(\tH\x02R\bfreeText\x88\x01\x01\x12(\n" +
	"\rresponder_ref\x18\b \x01(\tH\x03R\fresponderRef\x88\x01\x01\x129\n" +
	"\x19provider_message_ref_json\x18\t \x01(\fR\x16providerMessageRefJson\x121\n" +
	"\x12provider_update_id\x18\n" +
	" \x01(\tH\x04R\x10providerUpdateId\x88\x01\x01\x12@\n" +
	"\x1aprovider_callback_query_id\x18\v \x01(\tH\x05R\x17providerCallbackQueryId\x88\x01\x01\x12,\n" +
	"\x0fdelivery_status\x18\f \x01(\tH\x06R\x0edeliveryStatus\x88\x01\x01\x125\n" +
	"\x14transport_error_code\x18\r \x01(\tH\aR\x12transportErrorCode\x88\x01\x01\x12/\n" +
	"\x13transport_retryable\x18\x0e \x01(\bR\x12transportRetryable\x12(\n" +
	"\x10raw_payload_json\x18\x0f \x01(\fR\x0erawPayloadJsonB\x0e\n" +
	"\f_delivery_idB\x12\n" +
	"\x10_callback_handleB\f\n" +
	"\n" +
	"_free_textB\x10\n" +
	"\x0e_responder_refB\x15\n" +
	"\x13_provider_update_idB\x1d\n" +
	"\x1b_provider_callback_query_idB\x12\n" +
	"\x10_delivery_statusB\x17\n" +
	"\x15_transport_error_code\"\xa2\x02\n" +
	"!SubmitInteractionCallbackResponse\x12\x1a\n" +
	"\baccepted\x18\x01 \x01(\bR\baccepted\x12&\n" +
	"\x0eclassification\x18\x02 \x01(\tR\x0eclassification\x12+\n" +
	"\x11interaction_state\x18\x03 \x01(\tR\x10interactionState\x12'\n" +
	"\x0fresume_required\x18\x04 \x01(\bR\x0eresumeRequired\x12/\n" +
	"\x13continuation_action\x18\x05 \x01(\tR\x12continuationAction\x122\n" +
	"\x15effective_response_id\x18\x06 \x01(\x03R\x13effectiveResponseId\"\x97\x01\n" +
	"\x14RuntimeDeployTaskLog\x12\x14\n" +
	"\x05stage\x18\x01 \x01(\tR\x05stage\x12\x14\n" +
	"\x05level\x18\x02 \x01(\tR\x05level\x12\x18\n" +
	"\amessage\x18\x03 \x01(\tR\amessage\x129\n" +
	"\n" +
	"created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\"\xf4\v\n" +
	"\x11RuntimeDeployTask\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12!\n" +
	"\fruntime_mode\x18\x02 \x01(\tR\vruntimeMode\x12\x1c\n" +
	"\tnamespace\x18\x03 \x01(\tR\tnamespace\x12\x1d\n" +
	"\n" +
	"target_env\x18\x04 \x01(\tR\ttargetEnv\x12\x17\n" +
	"\aslot_no\x18\x05 \x01(\x05R\x06slotNo\x120\n" +
	"\x14repository_full_name\x18\x06 \x01(\tR\x12repositoryFullName\x12,\n" +
	"\x12services_yaml_path\x18\a \x01(\tR\x10servicesYamlPath\x12\x1b\n" +
	"\tbuild_ref\x18\b \x01(\tR\bbuildRef\x12\x1f\n" +
	"\vdeploy_only\x18\t \x01(\bR\n" +
	"deployOnly\x12\x16\n" +
	"\x06status\x18\n" +
	" \x01(\tR\x06status\x12$\n" +
	"\vlease_owner\x18\v \x01(\tH\x00R\n" +
	"leaseOwner\x88\x01\x01\x12;\n" +
	"\vlease_until\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"leaseUntil\x12\x1a\n" +
	"\battempts\x18\r \x01(\x05R\battempts\x12\"\n" +
	"\n" +
	"last_error\x18\x0e \x01(\tH\x01R\tlastError\x88\x01\x01\x12.\n" +
	"\x10result_namespace\x18\x0f \x01(\tH\x02R\x0fresultNamespace\x88\x01\x01\x12/\n" +
	"\x11result_target_env\x18\x10 \x01(\tH\x03R\x0fresultTargetEnv\x88\x01\x01\x12J\n" +
	"\x13cancel_requested_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\x11cancelRequestedAt\x123\n" +
	"\x13cancel_requested_by\x18\x12 \x01(\tH\x04R\x11cancelRequestedBy\x88\x01\x01\x12(\n" +
	"\rcancel_reason\x18\x13 \x01(\tH\x05R\fcancelReason\x88\x01\x01\x12F\n" +
	"\x11stop_requested_at\x18\x14 \x01(\v2\x1a.google.protobuf.TimestampR\x0fstopRequestedAt\x12/\n" +
	"\x11stop_requested_by\x18\x15 \x01(\tH\x06R\x0fstopRequestedBy\x88\x01\x01\x12$\n" +
	"\vstop_reason\x18\x16 \x01(\tH\aR\n" +
	"stopReason\x88\x01\x01\x129\n" +
	"\x16terminal_status_source\x18\x17 \x01(\tH\bR\x14terminalStatusSource\x88\x01\x01\x12,\n" +
	"\x12terminal_event_seq\x18\x18 \x01(\x03R\x10terminalEventSeq\x129\n" +
	"\n" +
	"created_at\x18\x19 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18\x1a \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x129\n" +
	"\n" +
	"started_at\x18\x1b \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12;\n" +
	"\vfinished_at\x18\x1c \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"finishedAt\x12?\n" +
	"\x04logs\x18\x1d \x03(\v2+.kodex.controlplane.v1.RuntimeDeployTaskLogR\x04logsB\x0e\n" +
	"\f_lease_ownerB\r\n" +
	"\v_last_errorB\x13\n" +
	"\x11_result_namespaceB\x14\n" +
	"\x12_result_target_envB\x16\n" +
	"\x14_cancel_requested_byB\x10\n" +
	"\x0e_cancel_reasonB\x14\n" +
	"\x12_stop_requested_byB\x0e\n" +
	"\f_stop_reasonB\x19\n" +
	"\x17_terminal_status_source\"\xeb\x01\n" +
	"\x1dListRuntimeDeployTasksRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x12\n" +
	"\x04page\x18\x02 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x03 \x01(\x05R\bpageSize\x12\x1b\n" +
	"\x06status\x18\x04 \x01(\tH\x00R\x06status\x88\x01\x01\x12\"\n" +
	"\n" +
	"target_env\x18\x05 \x01(\tH\x01R\ttargetEnv\x88\x01\x01B\t\n" +
	"\a_statusB\r\n" +
	"\v_target_env\"\xb2\x01\n" +
	"\x1eListRuntimeDeployTasksResponse\x12>\n" +
	"\x05items\x18\x01 \x03(\v2(.kodex.controlplane.v1.RuntimeDeployTaskR\x05items\x12\x1f\n" +
	"\vtotal_count\x18\x02 \x01(\x05R\n" +
	"totalCount\x12\x12\n" +
	"\x04page\x18\x03 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x04 \x01(\x05R\bpageSize\"t\n" +
	"\x1bGetRuntimeDeployTaskRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\"\x9f\x01\n" +
	"\x1eCancelRuntimeDeployTaskRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x1b\n" +
	"\x06reason\x18\x03 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n" +
	"\a_reason\"\xb3\x01\n" +
	"\x1cStopRuntimeDeployTaskRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x1b\n" +
	"\x06reason\x18\x03 \x01(\tH\x00R\x06reason\x88\x01\x01\x12\x14\n" +
	"\x05force\x18\x04 \x01(\bR\x05forceB\t\n" +
	"\a_reason\"\xcb\x01\n" +
	"\x1fRuntimeDeployTaskActionResponse\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x16\n" +
	"\x06action\x18\x02 \x01(\tR\x06action\x12'\n" +
	"\x0fprevious_status\x18\x03 \x01(\tR\x0epreviousStatus\x12%\n" +
	"\x0ecurrent_status\x18\x04 \x01(\tR\rcurrentStatus\x12)\n" +
	"\x10already_terminal\x18\x05 \x01(\bR\x0falreadyTerminal\"\xda\x04\n" +
	"\fRuntimeError\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" +
	"\x06source\x18\x02 \x01(\tR\x06source\x12\x14\n" +
	"\x05level\x18\x03 \x01(\tR\x05level\x12\x18\n" +
	"\amessage\x18\x04 \x01(\tR\amessage\x12!\n" +
	"\fdetails_json\x18\x05 \x01(\tR\vdetailsJson\x12$\n" +
	"\vstack_trace\x18\x06 \x01(\tH\x00R\n" +
	"stackTrace\x88\x01\x01\x12*\n" +
	"\x0ecorrelation_id\x18\a \x01(\tH\x01R\rcorrelationId\x88\x01\x01\x12\x1a\n" +
	"\x06run_id\x18\b \x01(\tH\x02R\x05runId\x88\x01\x01\x12\"\n" +
	"\n" +
	"project_id\x18\t \x01(\tH\x03R\tprojectId\x88\x01\x01\x12!\n" +
	"\tnamespace\x18\n" +
	" \x01(\tH\x04R\tnamespace\x88\x01\x01\x12\x1e\n" +
	"\bjob_name\x18\v \x01(\tH\x05R\ajobName\x88\x01\x01\x127\n" +
	"\tviewed_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\bviewedAt\x12 \n" +
	"\tviewed_by\x18\r \x01(\tH\x06R\bviewedBy\x88\x01\x01\x129\n" +
	"\n" +
	"created_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\x0e\n" +
	"\f_stack_traceB\x11\n" +
	"\x0f_correlation_idB\t\n" +
	"\a_run_idB\r\n" +
	"\v_project_idB\f\n" +
	"\n" +
	"_namespaceB\v\n" +
	"\t_job_nameB\f\n" +
	"\n" +
	"_viewed_by\"\xc8\x02\n" +
	"\x18ListRuntimeErrorsRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x14\n" +
	"\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x19\n" +
	"\x05state\x18\x03 \x01(\tH\x00R\x05state\x88\x01\x01\x12\x19\n" +
	"\x05level\x18\x04 \x01(\tH\x01R\x05level\x88\x01\x01\x12\x1b\n" +
	"\x06source\x18\x05 \x01(\tH\x02R\x06source\x88\x01\x01\x12\x1a\n" +
	"\x06run_id\x18\x06 \x01(\tH\x03R\x05runId\x88\x01\x01\x12*\n" +
	"\x0ecorrelation_id\x18\a \x01(\tH\x04R\rcorrelationId\x88\x01\x01B\b\n" +
	"\x06_stateB\b\n" +
	"\x06_levelB\t\n" +
	"\a_sourceB\t\n" +
	"\a_run_idB\x11\n" +
	"\x0f_correlation_id\"V\n" +
	"\x19ListRuntimeErrorsResponse\x129\n" +
	"\x05items\x18\x01 \x03(\v2#.kodex.controlplane.v1.RuntimeErrorR\x05items\"\x89\x01\n" +
	"\x1dMarkRuntimeErrorViewedRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12(\n" +
	"\x10runtime_error_id\x18\x02 \x01(\tR\x0eruntimeErrorId\"\xa3\x01\n" +
	"\x10RegistryImageTag\x12\x10\n" +
	"\x03tag\x18\x01 \x01(\tR\x03tag\x12\x16\n" +
	"\x06digest\x18\x02 \x01(\tR\x06digest\x129\n" +
	"\n" +
	"created_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12*\n" +
	"\x11config_size_bytes\x18\x04 \x01(\x03R\x0fconfigSizeBytes\"\x93\x01\n" +
	"\x17RegistryImageRepository\x12\x1e\n" +
	"\n" +
	"repository\x18\x01 \x01(\tR\n" +
	"repository\x12\x1b\n" +
	"\ttag_count\x18\x02 \x01(\x05R\btagCount\x12;\n" +
	"\x04tags\x18\x03 \x03(\v2'.kodex.controlplane.v1.RegistryImageTagR\x04tags\"\xdd\x01\n" +
	"\x19ListRegistryImagesRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12-\n" +
	"\x12limit_repositories\x18\x02 \x01(\x05R\x11limitRepositories\x12\x1d\n" +
	"\n" +
	"limit_tags\x18\x03 \x01(\x05R\tlimitTags\x12#\n" +
	"\n" +
	"repository\x18\x04 \x01(\tH\x00R\n" +
	"repository\x88\x01\x01B\r\n" +
	"\v_repository\"b\n" +
	"\x1aListRegistryImagesResponse\x12D\n" +
	"\x05items\x18\x01 \x03(\v2..kodex.controlplane.v1.RegistryImageRepositoryR\x05items\"\x91\x01\n" +
	"\x1dDeleteRegistryImageTagRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x1e\n" +
	"\n" +
	"repository\x18\x02 \x01(\tR\n" +
	"repository\x12\x10\n" +
	"\x03tag\x18\x03 \x01(\tR\x03tag\"\x7f\n" +
	"\x19RegistryImageDeleteResult\x12\x1e\n" +
	"\n" +
	"repository\x18\x01 \x01(\tR\n" +
	"repository\x12\x10\n" +
	"\x03tag\x18\x02 \x01(\tR\x03tag\x12\x16\n" +
	"\x06digest\x18\x03 \x01(\tR\x06digest\x12\x18\n" +
	"\adeleted\x18\x04 \x01(\bR\adeleted\"\x8b\x02\n" +
	"\x1cCleanupRegistryImagesRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x120\n" +
	"\x11repository_prefix\x18\x02 \x01(\tH\x00R\x10repositoryPrefix\x88\x01\x01\x12-\n" +
	"\x12limit_repositories\x18\x03 \x01(\x05R\x11limitRepositories\x12\x1b\n" +
	"\tkeep_tags\x18\x04 \x01(\x05R\bkeepTags\x12\x17\n" +
	"\adry_run\x18\x05 \x01(\bR\x06dryRunB\x14\n" +
	"\x12_repository_prefix\"\xb0\x02\n" +
	"\x1dCleanupRegistryImagesResponse\x121\n" +
	"\x14repositories_scanned\x18\x01 \x01(\x05R\x13repositoriesScanned\x12!\n" +
	"\ftags_deleted\x18\x02 \x01(\x05R\vtagsDeleted\x12!\n" +
	"\ftags_skipped\x18\x03 \x01(\x05R\vtagsSkipped\x12J\n" +
	"\adeleted\x18\x04 \x03(\v20.kodex.controlplane.v1.RegistryImageDeleteResultR\adeleted\x12J\n" +
	"\askipped\x18\x05 \x03(\v20.kodex.controlplane.v1.RegistryImageDeleteResultR\askipped\"\xa9\n" +
	"\n" +
	"\x19UpsertAgentSessionRequest\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12%\n" +
	"\x0ecorrelation_id\x18\x02 \x01(\tR\rcorrelationId\x12\"\n" +
	"\n" +
	"project_id\x18\x03 \x01(\tH\x00R\tprojectId\x88\x01\x01\x120\n" +
	"\x14repository_full_name\x18\x04 \x01(\tR\x12repositoryFullName\x12\x1b\n" +
	"\tagent_key\x18\x05 \x01(\tR\bagentKey\x12>\n" +
	"\fissue_number\x18\x06 \x01(\v2\x1b.google.protobuf.Int32ValueR\vissueNumber\x12\x1f\n" +
	"\vbranch_name\x18\a \x01(\tR\n" +
	"branchName\x128\n" +
	"\tpr_number\x18\b \x01(\v2\x1b.google.protobuf.Int32ValueR\bprNumber\x12\x1a\n" +
	"\x06pr_url\x18\t \x01(\tH\x01R\x05prUrl\x88\x01\x01\x12&\n" +
	"\ftrigger_kind\x18\n" +
	" \x01(\tH\x02R\vtriggerKind\x88\x01\x01\x12(\n" +
	"\rtemplate_kind\x18\v \x01(\tH\x03R\ftemplateKind\x88\x01\x01\x12,\n" +
	"\x0ftemplate_source\x18\f \x01(\tH\x04R\x0etemplateSource\x88\x01\x01\x12,\n" +
	"\x0ftemplate_locale\x18\r \x01(\tH\x05R\x0etemplateLocale\x88\x01\x01\x12\x19\n" +
	"\x05model\x18\x0e \x01(\tH\x06R\x05model\x88\x01\x01\x12.\n" +
	"\x10reasoning_effort\x18\x0f \x01(\tH\aR\x0freasoningEffort\x88\x01\x01\x12\x1b\n" +
	"\x06status\x18\x10 \x01(\tH\bR\x06status\x88\x01\x01\x12\"\n" +
	"\n" +
	"session_id\x18\x11 \x01(\tH\tR\tsessionId\x88\x01\x01\x12&\n" +
	"\fsession_json\x18\x12 \x01(\fH\n" +
	"R\vsessionJson\x88\x01\x01\x128\n" +
	"\x16codex_cli_session_path\x18\x13 \x01(\tH\vR\x13codexCliSessionPath\x88\x01\x01\x128\n" +
	"\x16codex_cli_session_json\x18\x14 \x01(\fH\fR\x13codexCliSessionJson\x88\x01\x01\x129\n" +
	"\n" +
	"started_at\x18\x15 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12;\n" +
	"\vfinished_at\x18\x16 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"finishedAt\x12)\n" +
	"\x10snapshot_version\x18\x17 \x01(\x03R\x0fsnapshotVersion\x120\n" +
	"\x11snapshot_checksum\x18\x18 \x01(\tH\rR\x10snapshotChecksum\x88\x01\x01B\r\n" +
	"\v_project_idB\t\n" +
	"\a_pr_urlB\x0f\n" +
	"\r_trigger_kindB\x10\n" +
	"\x0e_template_kindB\x12\n" +
	"\x10_template_sourceB\x12\n" +
	"\x10_template_localeB\b\n" +
	"\x06_modelB\x13\n" +
	"\x11_reasoning_effortB\t\n" +
	"\a_statusB\r\n" +
	"\v_session_idB\x0f\n" +
	"\r_session_jsonB\x19\n" +
	"\x17_codex_cli_session_pathB\x19\n" +
	"\x17_codex_cli_session_jsonB\x14\n" +
	"\x12_snapshot_checksum\"\xb6\x01\n" +
	"\x1aUpsertAgentSessionResponse\x12\x0e\n" +
	"\x02ok\x18\x01 \x01(\bR\x02ok\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12)\n" +
	"\x10snapshot_version\x18\x03 \x01(\x03R\x0fsnapshotVersion\x120\n" +
	"\x11snapshot_checksum\x18\x04 \x01(\tH\x00R\x10snapshotChecksum\x88\x01\x01B\x14\n" +
	"\x12_snapshot_checksum\"\xe6\v\n" +
	"\x14AgentSessionSnapshot\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12%\n" +
	"\x0ecorrelation_id\x18\x02 \x01(\tR\rcorrelationId\x12\"\n" +
	"\n" +
	"project_id\x18\x03 \x01(\tH\x00R\tprojectId\x88\x01\x01\x120\n" +
	"\x14repository_full_name\x18\x04 \x01(\tR\x12repositoryFullName\x12\x1b\n" +
	"\tagent_key\x18\x05 \x01(\tR\bagentKey\x12>\n" +
	"\fissue_number\x18\x06 \x01(\v2\x1b.google.protobuf.Int32ValueR\vissueNumber\x12\x1f\n" +
	"\vbranch_name\x18\a \x01(\tR\n" +
	"branchName\x128\n" +
	"\tpr_number\x18\b \x01(\v2\x1b.google.protobuf.Int32ValueR\bprNumber\x12\x1a\n" +
	"\x06pr_url\x18\t \x01(\tH\x01R\x05prUrl\x88\x01\x01\x12&\n" +
	"\ftrigger_kind\x18\n" +
	" \x01(\tH\x02R\vtriggerKind\x88\x01\x01\x12(\n" +
	"\rtemplate_kind\x18\v \x01(\tH\x03R\ftemplateKind\x88\x01\x01\x12,\n" +
	"\x0ftemplate_source\x18\f \x01(\tH\x04R\x0etemplateSource\x88\x01\x01\x12,\n" +
	"\x0ftemplate_locale\x18\r \x01(\tH\x05R\x0etemplateLocale\x88\x01\x01\x12\x19\n" +
	"\x05model\x18\x0e \x01(\tH\x06R\x05model\x88\x01\x01\x12.\n" +
	"\x10reasoning_effort\x18\x0f \x01(\tH\aR\x0freasoningEffort\x88\x01\x01\x12\x1b\n" +
	"\x06status\x18\x10 \x01(\tH\bR\x06status\x88\x01\x01\x12\"\n" +
	"\n" +
	"session_id\x18\x11 \x01(\tH\tR\tsessionId\x88\x01\x01\x12&\n" +
	"\fsession_json\x18\x12 \x01(\fH\n" +
	"R\vsessionJson\x88\x01\x01\x128\n" +
	"\x16codex_cli_session_path\x18\x13 \x01(\tH\vR\x13codexCliSessionPath\x88\x01\x01\x128\n" +
	"\x16codex_cli_session_json\x18\x14 \x01(\fH\fR\x13codexCliSessionJson\x88\x01\x01\x129\n" +
	"\n" +
	"started_at\x18\x15 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12;\n" +
	"\vfinished_at\x18\x16 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"finishedAt\x129\n" +
	"\n" +
	"created_at\x18\x17 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"updated_at\x18\x18 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12)\n" +
	"\x10snapshot_version\x18\x19 \x01(\x03R\x0fsnapshotVersion\x120\n" +
	"\x11snapshot_checksum\x18\x1a \x01(\tH\rR\x10snapshotChecksum\x88\x01\x01\x12J\n" +
	"\x13snapshot_updated_at\x18\x1b \x01(\v2\x1a.google.protobuf.TimestampR\x11snapshotUpdatedAtB\r\n" +
	"\v_project_idB\t\n" +
	"\a_pr_urlB\x0f\n" +
	"\r_trigger_kindB\x10\n" +
	"\x0e_template_kindB\x12\n" +
	"\x10_template_sourceB\x12\n" +
	"\x10_template_localeB\b\n" +
	"\x06_modelB\x13\n" +
	"\x11_reasoning_effortB\t\n" +
	"\a_statusB\r\n" +
	"\v_session_idB\x0f\n" +
	"\r_session_jsonB\x19\n" +
	"\x17_codex_cli_session_pathB\x19\n" +
	"\x17_codex_cli_session_jsonB\x14\n" +
	"\x12_snapshot_checksum\"\x8e\x01\n" +
	"\x1cGetLatestAgentSessionRequest\x120\n" +
	"\x14repository_full_name\x18\x01 \x01(\tR\x12repositoryFullName\x12\x1f\n" +
	"\vbranch_name\x18\x02 \x01(\tR\n" +
	"branchName\x12\x1b\n" +
	"\tagent_key\x18\x03 \x01(\tR\bagentKey\"|\n" +
	"\x1dGetLatestAgentSessionResponse\x12\x14\n" +
	"\x05found\x18\x01 \x01(\bR\x05found\x12E\n" +
	"\asession\x18\x02 \x01(\v2+.kodex.controlplane.v1.AgentSessionSnapshotR\asession\"'\n" +
	"%GetRunInteractionResumePayloadRequest\"a\n" +
	"&GetRunInteractionResumePayloadResponse\x12\x14\n" +
	"\x05found\x18\x01 \x01(\bR\x05found\x12!\n" +
	"\fpayload_json\x18\x02 \x01(\fR\vpayloadJson\"+\n" +
	")GetRunGitHubRateLimitResumePayloadRequest\"e\n" +
	"*GetRunGitHubRateLimitResumePayloadResponse\x12\x14\n" +
	"\x05found\x18\x01 \x01(\bR\x05found\x12!\n" +
	"\fpayload_json\x18\x02 \x01(\fR\vpayloadJson\"\xf2\x01\n" +
	"\x1bLookupRunPullRequestRequest\x12\"\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tH\x00R\tprojectId\x88\x01\x01\x120\n" +
	"\x14repository_full_name\x18\x02 \x01(\tR\x12repositoryFullName\x128\n" +
	"\tpr_number\x18\x03 \x01(\v2\x1b.google.protobuf.Int32ValueR\bprNumber\x12$\n" +
	"\vhead_branch\x18\x04 \x01(\tH\x01R\n" +
	"headBranch\x88\x01\x01B\r\n" +
	"\v_project_idB\x0e\n" +
	"\f_head_branch\"\x81\x02\n" +
	"\x1cLookupRunPullRequestResponse\x12\x14\n" +
	"\x05found\x18\x01 \x01(\bR\x05found\x12\x1b\n" +
	"\tpr_number\x18\x02 \x01(\x05R\bprNumber\x12\x15\n" +
	"\x06pr_url\x18\x03 \x01(\tR\x05prUrl\x12\x1e\n" +
	"\bpr_state\x18\x04 \x01(\tH\x00R\aprState\x88\x01\x01\x12$\n" +
	"\vhead_branch\x18\x05 \x01(\tH\x01R\n" +
	"headBranch\x88\x01\x01\x12$\n" +
	"\vbase_branch\x18\x06 \x01(\tH\x02R\n" +
	"baseBranch\x88\x01\x01B\v\n" +
	"\t_pr_stateB\x0e\n" +
	"\f_head_branchB\x0e\n" +
	"\f_base_branch\"t\n" +
	"\x19InsertRunFlowEventRequest\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x1d\n" +
	"\n" +
	"event_type\x18\x02 \x01(\tR\teventType\x12!\n" +
	"\fpayload_json\x18\x03 \x01(\fR\vpayloadJson\"K\n" +
	"\x1aInsertRunFlowEventResponse\x12\x0e\n" +
	"\x02ok\x18\x01 \x01(\bR\x02ok\x12\x1d\n" +
	"\n" +
	"event_type\x18\x02 \x01(\tR\teventType\"\xa7\x06\n" +
	"\x1dUpsertRunStatusCommentRequest\x12\x15\n" +
	"\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x14\n" +
	"\x05phase\x18\x02 \x01(\tR\x05phase\x12\x1e\n" +
	"\bjob_name\x18\x03 \x01(\tH\x00R\ajobName\x88\x01\x01\x12(\n" +
	"\rjob_namespace\x18\x04 \x01(\tH\x01R\fjobNamespace\x88\x01\x01\x12&\n" +
	"\fruntime_mode\x18\x05 \x01(\tH\x02R\vruntimeMode\x88\x01\x01\x12!\n" +
	"\tnamespace\x18\x06 \x01(\tH\x03R\tnamespace\x88\x01\x01\x12&\n" +
	"\ftrigger_kind\x18\a \x01(\tH\x04R\vtriggerKind\x88\x01\x01\x12(\n" +
	"\rprompt_locale\x18\b \x01(\tH\x05R\fpromptLocale\x88\x01\x01\x12\"\n" +
	"\n" +
	"run_status\x18\t \x01(\tH\x06R\trunStatus\x88\x01\x01\x12\x18\n" +
	"\adeleted\x18\n" +
	" \x01(\bR\adeleted\x12'\n" +
	"\x0falready_deleted\x18\v \x01(\bR\x0ealreadyDeleted\x12\x19\n" +
	"\x05model\x18\f \x01(\tH\aR\x05model\x88\x01\x01\x12.\n" +
	"\x10reasoning_effort\x18\r \x01(\tH\bR\x0freasoningEffort\x88\x01\x01\x12B\n" +
	"\x1bcodex_auth_verification_url\x18\x0e \x01(\tH\tR\x18codexAuthVerificationUrl\x88\x01\x01\x124\n" +
	"\x14codex_auth_user_code\x18\x0f \x01(\tH\n" +
	"R\x11codexAuthUserCode\x88\x01\x01B\v\n" +
	"\t_job_nameB\x10\n" +
	"\x0e_job_namespaceB\x0f\n" +
	"\r_runtime_modeB\f\n" +
	"\n" +
	"_namespaceB\x0f\n" +
	"\r_trigger_kindB\x10\n" +
	"\x0e_prompt_localeB\r\n" +
	"\v_run_statusB\b\n" +
	"\x06_modelB\x13\n" +
	"\x11_reasoning_effortB\x1e\n" +
	"\x1c_codex_auth_verification_urlB\x17\n" +
	"\x15_codex_auth_user_code\"\x9c\x01\n" +
	"\x1eUpsertRunStatusCommentResponse\x12\x0e\n" +
	"\x02ok\x18\x01 \x01(\bR\x02ok\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x1d\n" +
	"\n" +
	"comment_id\x18\x03 \x01(\x03R\tcommentId\x12$\n" +
	"\vcomment_url\x18\x04 \x01(\tH\x00R\n" +
	"commentUrl\x88\x01\x01B\x0e\n" +
	"\f_comment_url\"\x15\n" +
	"\x13GetCodexAuthRequest\"I\n" +
	"\x14GetCodexAuthResponse\x12\x14\n" +
	"\x05found\x18\x01 \x01(\bR\x05found\x12\x1b\n" +
	"\tauth_json\x18\x02 \x01(\fR\bauthJson\"5\n" +
	"\x16UpsertCodexAuthRequest\x12\x1b\n" +
	"\tauth_json\x18\x01 \x01(\fR\bauthJson\")\n" +
	"\x17UpsertCodexAuthResponse\x12\x0e\n" +
	"\x02ok\x18\x01 \x01(\bR\x02ok\"r\n" +
	"\x19DeleteRunNamespaceRequest\x12>\n" +
	"\tprincipal\x18\x01 \x01(\v2 .kodex.controlplane.v1.PrincipalR\tprincipal\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\"\xda\x01\n" +
	"\x1aDeleteRunNamespaceResponse\x12\x0e\n" +
	"\x02ok\x18\x01 \x01(\bR\x02ok\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x1c\n" +
	"\tnamespace\x18\x03 \x01(\tR\tnamespace\x12\x18\n" +
	"\adeleted\x18\x04 \x01(\bR\adeleted\x12'\n" +
	"\x0falready_deleted\x18\x05 \x01(\bR\x0ealreadyDeleted\x12$\n" +
	"\vcomment_url\x18\x06 \x01(\tH\x00R\n" +
	"commentUrl\x88\x01\x01B\x0e\n" +
	"\f_comment_url2\xd7S\n" +
	"\x13ControlPlaneService\x12|\n" +
	"\x13IngestGitHubWebhook\x121.kodex.controlplane.v1.IngestGitHubWebhookRequest\x1a2.kodex.controlplane.v1.IngestGitHubWebhookResponse\x12|\n" +
	"\x13ResolveStaffByEmail\x121.kodex.controlplane.v1.ResolveStaffByEmailRequest\x1a2.kodex.controlplane.v1.ResolveStaffByEmailResponse\x12y\n" +
	"\x12AuthorizeOAuthUser\x120.kodex.controlplane.v1.AuthorizeOAuthUserRequest\x1a1.kodex.controlplane.v1.AuthorizeOAuthUserResponse\x12g\n" +
	"\fListProjects\x12*.kodex.controlplane.v1.ListProjectsRequest\x1a+.kodex.controlplane.v1.ListProjectsResponse\x12\\\n" +
	"\rUpsertProject\x12+.kodex.controlplane.v1.UpsertProjectRequest\x1a\x1e.kodex.controlplane.v1.Project\x12V\n" +
	"\n" +
	"GetProject\x12(.kodex.controlplane.v1.GetProjectRequest\x1a\x1e.kodex.controlplane.v1.Project\x12T\n" +
	"\rDeleteProject\x12+.kodex.controlplane.v1.DeleteProjectRequest\x1a\x16.google.protobuf.Empty\x12[\n" +
	"\bListRuns\x12&.kodex.controlplane.v1.ListRunsRequest\x1a'.kodex.controlplane.v1.ListRunsResponse\x12g\n" +
	"\fListRunWaits\x12*.kodex.controlplane.v1.ListRunWaitsRequest\x1a+.kodex.controlplane.v1.ListRunWaitsResponse\x12J\n" +
	"\x06GetRun\x12$.kodex.controlplane.v1.GetRunRequest\x1a\x1a.kodex.controlplane.v1.Run\x12^\n" +
	"\tCancelRun\x12'.kodex.controlplane.v1.CancelRunRequest\x1a(.kodex.controlplane.v1.RunActionResponse\x12V\n" +
	"\n" +
	"GetRunLogs\x12(.kodex.controlplane.v1.GetRunLogsRequest\x1a\x1e.kodex.controlplane.v1.RunLogs\x12\x7f\n" +
	"\x14ListPendingApprovals\x122.kodex.controlplane.v1.ListPendingApprovalsRequest\x1a3.kodex.controlplane.v1.ListPendingApprovalsResponse\x12\x88\x01\n" +
	"\x17ResolveApprovalDecision\x125.kodex.controlplane.v1.ResolveApprovalDecisionRequest\x1a6.kodex.controlplane.v1.ResolveApprovalDecisionResponse\x12j\n" +
	"\rListRunEvents\x12+.kodex.controlplane.v1.ListRunEventsRequest\x1a,.kodex.controlplane.v1.ListRunEventsResponse\x12\x88\x01\n" +
	"\x17ListRunLearningFeedback\x125.kodex.controlplane.v1.ListRunLearningFeedbackRequest\x1a6.kodex.controlplane.v1.ListRunLearningFeedbackResponse\x12y\n" +
	"\x12ListSystemSettings\x120.kodex.controlplane.v1.ListSystemSettingsRequest\x1a1.kodex.controlplane.v1.ListSystemSettingsResponse\x12h\n" +
	"\x10GetSystemSetting\x12..kodex.controlplane.v1.GetSystemSettingRequest\x1a$.kodex.controlplane.v1.SystemSetting\x12|\n" +
	"\x1aUpdateSystemSettingBoolean\x128.kodex.controlplane.v1.UpdateSystemSettingBooleanRequest\x1a$.kodex.controlplane.v1.SystemSetting\x12l\n" +
	"\x12ResetSystemSetting\x120.kodex.controlplane.v1.ResetSystemSettingRequest\x1a$.kodex.controlplane.v1.SystemSetting\x12^\n" +
	"\tListUsers\x12'.kodex.controlplane.v1.ListUsersRequest\x1a(.kodex.controlplane.v1.ListUsersResponse\x12S\n" +
	"\n" +
	"CreateUser\x12(.kodex.controlplane.v1.CreateUserRequest\x1a\x1b.kodex.controlplane.v1.User\x12N\n" +
	"\n" +
	"DeleteUser\x12(.kodex.controlplane.v1.DeleteUserRequest\x1a\x16.google.protobuf.Empty\x12y\n" +
	"\x12ListProjectMembers\x120.kodex.controlplane.v1.ListProjectMembersRequest\x1a1.kodex.controlplane.v1.ListProjectMembersResponse\x12`\n" +
	"\x13UpsertProjectMember\x121.kodex.controlplane.v1.UpsertProjectMemberRequest\x1a\x16.google.protobuf.Empty\x12`\n" +
	"\x13DeleteProjectMember\x121.kodex.controlplane.v1.DeleteProjectMemberRequest\x1a\x16.google.protobuf.Empty\x12\x82\x01\n" +
	"$SetProjectMemberLearningModeOverride\x12B.kodex.controlplane.v1.SetProjectMemberLearningModeOverrideRequest\x1a\x16.google.protobuf.Empty\x12\x88\x01\n" +
	"\x17ListProjectRepositories\x125.kodex.controlplane.v1.ListProjectRepositoriesRequest\x1a6.kodex.controlplane.v1.ListProjectRepositoriesResponse\x12z\n" +
	"\x17UpsertProjectRepository\x125.kodex.controlplane.v1.UpsertProjectRepositoryRequest\x1a(.kodex.controlplane.v1.RepositoryBinding\x12h\n" +
	"\x17DeleteProjectRepository\x125.kodex.controlplane.v1.DeleteProjectRepositoryRequest\x1a\x16.google.protobuf.Empty\x12l\n" +
	"\x19UpsertRepositoryBotParams\x127.kodex.controlplane.v1.UpsertRepositoryBotParamsRequest\x1a\x16.google.protobuf.Empty\x12\x85\x01\n" +
	"\x16RunRepositoryPreflight\x124.kodex.controlplane.v1.RunRepositoryPreflightRequest\x1a5.kodex.controlplane.v1.RunRepositoryPreflightResponse\x12z\n" +
	"\x16GetProjectGitHubTokens\x124.kodex.controlplane.v1.GetProjectGitHubTokensRequest\x1a*.kodex.controlplane.v1.ProjectGitHubTokens\x12l\n" +
	"\x19UpsertProjectGitHubTokens\x127.kodex.controlplane.v1.UpsertProjectGitHubTokensRequest\x1a\x16.google.protobuf.Empty\x12t\n" +
	"\x15PreviewNextStepAction\x12,.kodex.controlplane.v1.NextStepActionRequest\x1a-.kodex.controlplane.v1.NextStepActionResponse\x12t\n" +
	"\x15ExecuteNextStepAction\x12,.kodex.controlplane.v1.NextStepActionRequest\x1a-.kodex.controlplane.v1.NextStepActionResponse\x12s\n" +
	"\x10ListDocsetGroups\x12..kodex.controlplane.v1.ListDocsetGroupsRequest\x1a/.kodex.controlplane.v1.ListDocsetGroupsResponse\x12g\n" +
	"\fImportDocset\x12*.kodex.controlplane.v1.ImportDocsetRequest\x1a+.kodex.controlplane.v1.ImportDocsetResponse\x12a\n" +
	"\n" +
	"SyncDocset\x12(.kodex.controlplane.v1.SyncDocsetRequest\x1a).kodex.controlplane.v1.SyncDocsetResponse\x12s\n" +
	"\x10IssueRunMCPToken\x12..kodex.controlplane.v1.IssueRunMCPTokenRequest\x1a/.kodex.controlplane.v1.IssueRunMCPTokenResponse\x12\x82\x01\n" +
	"\x15PrepareRunEnvironment\x123.kodex.controlplane.v1.PrepareRunEnvironmentRequest\x1a4.kodex.controlplane.v1.PrepareRunEnvironmentResponse\x12\x7f\n" +
	"\x14EvaluateRuntimeReuse\x122.kodex.controlplane.v1.EvaluateRuntimeReuseRequest\x1a3.kodex.controlplane.v1.EvaluateRuntimeReuseResponse\x12\x97\x01\n" +
	"\x1cClaimNextInteractionDispatch\x12:.kodex.controlplane.v1.ClaimNextInteractionDispatchRequest\x1a;.kodex.controlplane.v1.ClaimNextInteractionDispatchResponse\x12\x94\x01\n" +
	"\x1bCompleteInteractionDispatch\x129.kodex.controlplane.v1.CompleteInteractionDispatchRequest\x1a:.kodex.controlplane.v1.CompleteInteractionDispatchResponse\x12\x82\x01\n" +
	"\x15ExpireNextInteraction\x123.kodex.controlplane.v1.ExpireNextInteractionRequest\x1a4.kodex.controlplane.v1.ExpireNextInteractionResponse\x12\x9d\x01\n" +
	"\x1eProcessNextGitHubRateLimitWait\x12<.kodex.controlplane.v1.ProcessNextGitHubRateLimitWaitRequest\x1a=.kodex.controlplane.v1.ProcessNextGitHubRateLimitWaitResponse\x12\x94\x01\n" +
	"\x1bReportGitHubRateLimitSignal\x129.kodex.controlplane.v1.ReportGitHubRateLimitSignalRequest\x1a:.kodex.controlplane.v1.ReportGitHubRateLimitSignalResponse\x12\xa6\x01\n" +
	"!ReportChangeGovernanceDraftSignal\x12?.kodex.controlplane.v1.ReportChangeGovernanceDraftSignalRequest\x1a@.kodex.controlplane.v1.ReportChangeGovernanceDraftSignalResponse\x12\x9d\x01\n" +
	"\x1ePublishChangeGovernanceWaveMap\x12<.kodex.controlplane.v1.PublishChangeGovernanceWaveMapRequest\x1a=.kodex.controlplane.v1.PublishChangeGovernanceWaveMapResponse\x12\xaf\x01\n" +
	"$UpsertChangeGovernanceEvidenceSignal\x12B.kodex.controlplane.v1.UpsertChangeGovernanceEvidenceSignalRequest\x1aC.kodex.controlplane.v1.UpsertChangeGovernanceEvidenceSignalResponse\x12\x91\x01\n" +
	"\x1aGetMissionControlWorkspace\x128.kodex.controlplane.v1.GetMissionControlWorkspaceRequest\x1a9.kodex.controlplane.v1.GetMissionControlWorkspaceResponse\x12~\n" +
	"\x15GetMissionControlNode\x123.kodex.controlplane.v1.GetMissionControlNodeRequest\x1a0.kodex.controlplane.v1.MissionControlNodeDetails\x12\x9d\x01\n" +
	"\x1eListMissionControlNodeActivity\x12<.kodex.controlplane.v1.ListMissionControlNodeActivityRequest\x1a=.kodex.controlplane.v1.ListMissionControlNodeActivityResponse\x12\x8c\x01\n" +
	"\x1bPreviewMissionControlLaunch\x129.kodex.controlplane.v1.PreviewMissionControlLaunchRequest\x1a2.kodex.controlplane.v1.MissionControlLaunchPreview\x12\x8e\x01\n" +
	"\x19GetMissionControlSnapshot\x127.kodex.controlplane.v1.GetMissionControlSnapshotRequest\x1a8.kodex.controlplane.v1.GetMissionControlSnapshotResponse\x12\x84\x01\n" +
	"\x17GetMissionControlEntity\x125.kodex.controlplane.v1.GetMissionControlEntityRequest\x1a2.kodex.controlplane.v1.MissionControlEntityDetails\x12\x91\x01\n" +
	"\x1aListMissionControlTimeline\x128.kodex.controlplane.v1.ListMissionControlTimelineRequest\x1a9.kodex.controlplane.v1.ListMissionControlTimelineResponse\x12\xa3\x01\n" +
	" ListMissionControlWarmupProjects\x12>.kodex.controlplane.v1.ListMissionControlWarmupProjectsRequest\x1a?.kodex.controlplane.v1.ListMissionControlWarmupProjectsResponse\x12\x88\x01\n" +
	"\x17RunMissionControlWarmup\x125.kodex.controlplane.v1.RunMissionControlWarmupRequest\x1a6.kodex.controlplane.v1.RunMissionControlWarmupResponse\x12\x8b\x01\n" +
	"\x1bSubmitMissionControlCommand\x129.kodex.controlplane.v1.SubmitMissionControlCommandRequest\x1a1.kodex.controlplane.v1.MissionControlCommandState\x12\x85\x01\n" +
	"\x18GetMissionControlCommand\x126.kodex.controlplane.v1.GetMissionControlCommandRequest\x1a1.kodex.controlplane.v1.MissionControlCommandState\x12\xa9\x01\n" +
	"\"ClaimMissionControlPendingCommands\x12@.kodex.controlplane.v1.ClaimMissionControlPendingCommandsRequest\x1aA.kodex.controlplane.v1.ClaimMissionControlPendingCommandsResponse\x12\x89\x01\n" +
	"\x1aQueueMissionControlCommand\x128.kodex.controlplane.v1.QueueMissionControlCommandRequest\x1a1.kodex.controlplane.v1.MissionControlCommandState\x12\x9d\x01\n" +
	"$MarkMissionControlCommandPendingSync\x12B.kodex.controlplane.v1.MarkMissionControlCommandPendingSyncRequest\x1a1.kodex.controlplane.v1.MissionControlCommandState\x12\x9b\x01\n" +
	"#MarkMissionControlCommandReconciled\x12A.kodex.controlplane.v1.MarkMissionControlCommandReconciledRequest\x1a1.kodex.controlplane.v1.MissionControlCommandState\x12\x93\x01\n" +
	"\x1fMarkMissionControlCommandFailed\x12=.kodex.controlplane.v1.MarkMissionControlCommandFailedRequest\x1a1.kodex.controlplane.v1.MissionControlCommandState\x12\x8e\x01\n" +
	"\x19SubmitInteractionCallback\x127.kodex.controlplane.v1.SubmitInteractionCallbackRequest\x1a8.kodex.controlplane.v1.SubmitInteractionCallbackResponse\x12\x95\x01\n" +
	" SubmitAdapterInteractionCallback\x127.kodex.controlplane.v1.SubmitInteractionCallbackRequest\x1a8.kodex.controlplane.v1.SubmitInteractionCallbackResponse\x12\x85\x01\n" +
	"\x16ListRuntimeDeployTasks\x124.kodex.controlplane.v1.ListRuntimeDeployTasksRequest\x1a5.kodex.controlplane.v1.ListRuntimeDeployTasksResponse\x12t\n" +
	"\x14GetRuntimeDeployTask\x122.kodex.controlplane.v1.GetRuntimeDeployTaskRequest\x1a(.kodex.controlplane.v1.RuntimeDeployTask\x12\x88\x01\n" +
	"\x17CancelRuntimeDeployTask\x125.kodex.controlplane.v1.CancelRuntimeDeployTaskRequest\x1a6.kodex.controlplane.v1.RuntimeDeployTaskActionResponse\x12\x84\x01\n" +
	"\x15StopRuntimeDeployTask\x123.kodex.controlplane.v1.StopRuntimeDeployTaskRequest\x1a6.kodex.controlplane.v1.RuntimeDeployTaskActionResponse\x12v\n" +
	"\x11ListRuntimeErrors\x12/.kodex.controlplane.v1.ListRuntimeErrorsRequest\x1a0.kodex.controlplane.v1.ListRuntimeErrorsResponse\x12s\n" +
	"\x16MarkRuntimeErrorViewed\x124.kodex.controlplane.v1.MarkRuntimeErrorViewedRequest\x1a#.kodex.controlplane.v1.RuntimeError\x12y\n" +
	"\x12UpsertAgentSession\x120.kodex.controlplane.v1.UpsertAgentSessionRequest\x1a1.kodex.controlplane.v1.UpsertAgentSessionResponse\x12\x82\x01\n" +
	"\x15GetLatestAgentSession\x123.kodex.controlplane.v1.GetLatestAgentSessionRequest\x1a4.kodex.controlplane.v1.GetLatestAgentSessionResponse\x12\x9d\x01\n" +
	"\x1eGetRunInteractionResumePayload\x12<.kodex.controlplane.v1.GetRunInteractionResumePayloadRequest\x1a=.kodex.controlplane.v1.GetRunInteractionResumePayloadResponse\x12\xa9\x01\n" +
	"\"GetRunGitHubRateLimitResumePayload\x12@.kodex.controlplane.v1.GetRunGitHubRateLimitResumePayloadRequest\x1aA.kodex.controlplane.v1.GetRunGitHubRateLimitResumePayloadResponse\x12\x7f\n" +
	"\x14LookupRunPullRequest\x122.kodex.controlplane.v1.LookupRunPullRequestRequest\x1a3.kodex.controlplane.v1.LookupRunPullRequestResponse\x12y\n" +
	"\x12InsertRunFlowEvent\x120.kodex.controlplane.v1.InsertRunFlowEventRequest\x1a1.kodex.controlplane.v1.InsertRunFlowEventResponse\x12\x85\x01\n" +
	"\x16UpsertRunStatusComment\x124.kodex.controlplane.v1.UpsertRunStatusCommentRequest\x1a5.kodex.controlplane.v1.UpsertRunStatusCommentResponse\x12g\n" +
	"\fGetCodexAuth\x12*.kodex.controlplane.v1.GetCodexAuthRequest\x1a+.kodex.controlplane.v1.GetCodexAuthResponse\x12p\n" +
	"\x0fUpsertCodexAuth\x12-.kodex.controlplane.v1.UpsertCodexAuthRequest\x1a..kodex.controlplane.v1.UpsertCodexAuthResponse\x12y\n" +
	"\x12DeleteRunNamespace\x120.kodex.controlplane.v1.DeleteRunNamespaceRequest\x1a1.kodex.controlplane.v1.DeleteRunNamespaceResponseBNZLgithub.com/codex-k8s/kodex/proto/gen/go/kodex/controlplane/v1;controlplanev1b\x06proto3"

var (
	file_kodex_controlplane_v1_controlplane_proto_rawDescOnce sync.Once
	file_kodex_controlplane_v1_controlplane_proto_rawDescData []byte
)

func file_kodex_controlplane_v1_controlplane_proto_rawDescGZIP() []byte {
	file_kodex_controlplane_v1_controlplane_proto_rawDescOnce.Do(func() {
		file_kodex_controlplane_v1_controlplane_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_kodex_controlplane_v1_controlplane_proto_rawDesc), len(file_kodex_controlplane_v1_controlplane_proto_rawDesc)))
	})
	return file_kodex_controlplane_v1_controlplane_proto_rawDescData
}

var file_kodex_controlplane_v1_controlplane_proto_msgTypes = make([]protoimpl.MessageInfo, 220)
var file_kodex_controlplane_v1_controlplane_proto_goTypes = []any{
	(*Principal)(nil),                                    // 0: kodex.controlplane.v1.Principal
	(*IngestGitHubWebhookRequest)(nil),                   // 1: kodex.controlplane.v1.IngestGitHubWebhookRequest
	(*IngestGitHubWebhookResponse)(nil),                  // 2: kodex.controlplane.v1.IngestGitHubWebhookResponse
	(*ResolveStaffByEmailRequest)(nil),                   // 3: kodex.controlplane.v1.ResolveStaffByEmailRequest
	(*ResolveStaffByEmailResponse)(nil),                  // 4: kodex.controlplane.v1.ResolveStaffByEmailResponse
	(*AuthorizeOAuthUserRequest)(nil),                    // 5: kodex.controlplane.v1.AuthorizeOAuthUserRequest
	(*AuthorizeOAuthUserResponse)(nil),                   // 6: kodex.controlplane.v1.AuthorizeOAuthUserResponse
	(*Project)(nil),                                      // 7: kodex.controlplane.v1.Project
	(*ListProjectsRequest)(nil),                          // 8: kodex.controlplane.v1.ListProjectsRequest
	(*ListProjectsResponse)(nil),                         // 9: kodex.controlplane.v1.ListProjectsResponse
	(*UpsertProjectRequest)(nil),                         // 10: kodex.controlplane.v1.UpsertProjectRequest
	(*GetProjectRequest)(nil),                            // 11: kodex.controlplane.v1.GetProjectRequest
	(*DeleteProjectRequest)(nil),                         // 12: kodex.controlplane.v1.DeleteProjectRequest
	(*Run)(nil),                                          // 13: kodex.controlplane.v1.Run
	(*RunWaitProjection)(nil),                            // 14: kodex.controlplane.v1.RunWaitProjection
	(*GitHubRateLimitWaitItem)(nil),                      // 15: kodex.controlplane.v1.GitHubRateLimitWaitItem
	(*GitHubRateLimitRecoveryHint)(nil),                  // 16: kodex.controlplane.v1.GitHubRateLimitRecoveryHint
	(*GitHubRateLimitManualAction)(nil),                  // 17: kodex.controlplane.v1.GitHubRateLimitManualAction
	(*ApprovalRequest)(nil),                              // 18: kodex.controlplane.v1.ApprovalRequest
	(*ListPendingApprovalsRequest)(nil),                  // 19: kodex.controlplane.v1.ListPendingApprovalsRequest
	(*ListPendingApprovalsResponse)(nil),                 // 20: kodex.controlplane.v1.ListPendingApprovalsResponse
	(*ResolveApprovalDecisionRequest)(nil),               // 21: kodex.controlplane.v1.ResolveApprovalDecisionRequest
	(*ResolveApprovalDecisionResponse)(nil),              // 22: kodex.controlplane.v1.ResolveApprovalDecisionResponse
	(*ListRunsRequest)(nil),                              // 23: kodex.controlplane.v1.ListRunsRequest
	(*ListRunsResponse)(nil),                             // 24: kodex.controlplane.v1.ListRunsResponse
	(*ListRunJobsRequest)(nil),                           // 25: kodex.controlplane.v1.ListRunJobsRequest
	(*ListRunJobsResponse)(nil),                          // 26: kodex.controlplane.v1.ListRunJobsResponse
	(*ListRunWaitsRequest)(nil),                          // 27: kodex.controlplane.v1.ListRunWaitsRequest
	(*ListRunWaitsResponse)(nil),                         // 28: kodex.controlplane.v1.ListRunWaitsResponse
	(*GetRunRequest)(nil),                                // 29: kodex.controlplane.v1.GetRunRequest
	(*GetRunLogsRequest)(nil),                            // 30: kodex.controlplane.v1.GetRunLogsRequest
	(*CancelRunRequest)(nil),                             // 31: kodex.controlplane.v1.CancelRunRequest
	(*RunActionResponse)(nil),                            // 32: kodex.controlplane.v1.RunActionResponse
	(*RunLogs)(nil),                                      // 33: kodex.controlplane.v1.RunLogs
	(*FlowEvent)(nil),                                    // 34: kodex.controlplane.v1.FlowEvent
	(*ListRunEventsRequest)(nil),                         // 35: kodex.controlplane.v1.ListRunEventsRequest
	(*ListRunEventsResponse)(nil),                        // 36: kodex.controlplane.v1.ListRunEventsResponse
	(*SystemSetting)(nil),                                // 37: kodex.controlplane.v1.SystemSetting
	(*ListSystemSettingsRequest)(nil),                    // 38: kodex.controlplane.v1.ListSystemSettingsRequest
	(*ListSystemSettingsResponse)(nil),                   // 39: kodex.controlplane.v1.ListSystemSettingsResponse
	(*GetSystemSettingRequest)(nil),                      // 40: kodex.controlplane.v1.GetSystemSettingRequest
	(*UpdateSystemSettingBooleanRequest)(nil),            // 41: kodex.controlplane.v1.UpdateSystemSettingBooleanRequest
	(*ResetSystemSettingRequest)(nil),                    // 42: kodex.controlplane.v1.ResetSystemSettingRequest
	(*LearningFeedback)(nil),                             // 43: kodex.controlplane.v1.LearningFeedback
	(*ListRunLearningFeedbackRequest)(nil),               // 44: kodex.controlplane.v1.ListRunLearningFeedbackRequest
	(*ListRunLearningFeedbackResponse)(nil),              // 45: kodex.controlplane.v1.ListRunLearningFeedbackResponse
	(*User)(nil),                                         // 46: kodex.controlplane.v1.User
	(*ListUsersRequest)(nil),                             // 47: kodex.controlplane.v1.ListUsersRequest
	(*ListUsersResponse)(nil),                            // 48: kodex.controlplane.v1.ListUsersResponse
	(*CreateUserRequest)(nil),                            // 49: kodex.controlplane.v1.CreateUserRequest
	(*DeleteUserRequest)(nil),                            // 50: kodex.controlplane.v1.DeleteUserRequest
	(*ProjectMember)(nil),                                // 51: kodex.controlplane.v1.ProjectMember
	(*ListProjectMembersRequest)(nil),                    // 52: kodex.controlplane.v1.ListProjectMembersRequest
	(*ListProjectMembersResponse)(nil),                   // 53: kodex.controlplane.v1.ListProjectMembersResponse
	(*UpsertProjectMemberRequest)(nil),                   // 54: kodex.controlplane.v1.UpsertProjectMemberRequest
	(*DeleteProjectMemberRequest)(nil),                   // 55: kodex.controlplane.v1.DeleteProjectMemberRequest
	(*SetProjectMemberLearningModeOverrideRequest)(nil),  // 56: kodex.controlplane.v1.SetProjectMemberLearningModeOverrideRequest
	(*RepositoryBinding)(nil),                            // 57: kodex.controlplane.v1.RepositoryBinding
	(*ListProjectRepositoriesRequest)(nil),               // 58: kodex.controlplane.v1.ListProjectRepositoriesRequest
	(*ListProjectRepositoriesResponse)(nil),              // 59: kodex.controlplane.v1.ListProjectRepositoriesResponse
	(*UpsertProjectRepositoryRequest)(nil),               // 60: kodex.controlplane.v1.UpsertProjectRepositoryRequest
	(*DeleteProjectRepositoryRequest)(nil),               // 61: kodex.controlplane.v1.DeleteProjectRepositoryRequest
	(*UpsertRepositoryBotParamsRequest)(nil),             // 62: kodex.controlplane.v1.UpsertRepositoryBotParamsRequest
	(*RunRepositoryPreflightRequest)(nil),                // 63: kodex.controlplane.v1.RunRepositoryPreflightRequest
	(*PreflightCheckResult)(nil),                         // 64: kodex.controlplane.v1.PreflightCheckResult
	(*RunRepositoryPreflightResponse)(nil),               // 65: kodex.controlplane.v1.RunRepositoryPreflightResponse
	(*ProjectGitHubTokens)(nil),                          // 66: kodex.controlplane.v1.ProjectGitHubTokens
	(*GetProjectGitHubTokensRequest)(nil),                // 67: kodex.controlplane.v1.GetProjectGitHubTokensRequest
	(*UpsertProjectGitHubTokensRequest)(nil),             // 68: kodex.controlplane.v1.UpsertProjectGitHubTokensRequest
	(*NextStepActionRequest)(nil),                        // 69: kodex.controlplane.v1.NextStepActionRequest
	(*NextStepActionResponse)(nil),                       // 70: kodex.controlplane.v1.NextStepActionResponse
	(*ConfigEntry)(nil),                                  // 71: kodex.controlplane.v1.ConfigEntry
	(*ListConfigEntriesRequest)(nil),                     // 72: kodex.controlplane.v1.ListConfigEntriesRequest
	(*ListConfigEntriesResponse)(nil),                    // 73: kodex.controlplane.v1.ListConfigEntriesResponse
	(*UpsertConfigEntryRequest)(nil),                     // 74: kodex.controlplane.v1.UpsertConfigEntryRequest
	(*DeleteConfigEntryRequest)(nil),                     // 75: kodex.controlplane.v1.DeleteConfigEntryRequest
	(*DocsetGroup)(nil),                                  // 76: kodex.controlplane.v1.DocsetGroup
	(*ListDocsetGroupsRequest)(nil),                      // 77: kodex.controlplane.v1.ListDocsetGroupsRequest
	(*ListDocsetGroupsResponse)(nil),                     // 78: kodex.controlplane.v1.ListDocsetGroupsResponse
	(*ImportDocsetRequest)(nil),                          // 79: kodex.controlplane.v1.ImportDocsetRequest
	(*ImportDocsetResponse)(nil),                         // 80: kodex.controlplane.v1.ImportDocsetResponse
	(*SyncDocsetRequest)(nil),                            // 81: kodex.controlplane.v1.SyncDocsetRequest
	(*SyncDocsetResponse)(nil),                           // 82: kodex.controlplane.v1.SyncDocsetResponse
	(*IssueRunMCPTokenRequest)(nil),                      // 83: kodex.controlplane.v1.IssueRunMCPTokenRequest
	(*IssueRunMCPTokenResponse)(nil),                     // 84: kodex.controlplane.v1.IssueRunMCPTokenResponse
	(*PrepareRunEnvironmentRequest)(nil),                 // 85: kodex.controlplane.v1.PrepareRunEnvironmentRequest
	(*PrepareRunEnvironmentResponse)(nil),                // 86: kodex.controlplane.v1.PrepareRunEnvironmentResponse
	(*EvaluateRuntimeReuseRequest)(nil),                  // 87: kodex.controlplane.v1.EvaluateRuntimeReuseRequest
	(*EvaluateRuntimeReuseResponse)(nil),                 // 88: kodex.controlplane.v1.EvaluateRuntimeReuseResponse
	(*ClaimNextInteractionDispatchRequest)(nil),          // 89: kodex.controlplane.v1.ClaimNextInteractionDispatchRequest
	(*ClaimNextInteractionDispatchResponse)(nil),         // 90: kodex.controlplane.v1.ClaimNextInteractionDispatchResponse
	(*CompleteInteractionDispatchRequest)(nil),           // 91: kodex.controlplane.v1.CompleteInteractionDispatchRequest
	(*CompleteInteractionDispatchResponse)(nil),          // 92: kodex.controlplane.v1.CompleteInteractionDispatchResponse
	(*ExpireNextInteractionRequest)(nil),                 // 93: kodex.controlplane.v1.ExpireNextInteractionRequest
	(*ExpireNextInteractionResponse)(nil),                // 94: kodex.controlplane.v1.ExpireNextInteractionResponse
	(*ProcessNextGitHubRateLimitWaitRequest)(nil),        // 95: kodex.controlplane.v1.ProcessNextGitHubRateLimitWaitRequest
	(*ProcessNextGitHubRateLimitWaitResponse)(nil),       // 96: kodex.controlplane.v1.ProcessNextGitHubRateLimitWaitResponse
	(*GitHubRateLimitHeaders)(nil),                       // 97: kodex.controlplane.v1.GitHubRateLimitHeaders
	(*ReportGitHubRateLimitSignalRequest)(nil),           // 98: kodex.controlplane.v1.ReportGitHubRateLimitSignalRequest
	(*ReportGitHubRateLimitSignalResponse)(nil),          // 99: kodex.controlplane.v1.ReportGitHubRateLimitSignalResponse
	(*ChangeGovernanceScopeHint)(nil),                    // 100: kodex.controlplane.v1.ChangeGovernanceScopeHint
	(*ChangeGovernanceVerificationTarget)(nil),           // 101: kodex.controlplane.v1.ChangeGovernanceVerificationTarget
	(*ChangeGovernanceWaveDraft)(nil),                    // 102: kodex.controlplane.v1.ChangeGovernanceWaveDraft
	(*ChangeGovernanceArtifactLinkSeed)(nil),             // 103: kodex.controlplane.v1.ChangeGovernanceArtifactLinkSeed
	(*ReportChangeGovernanceDraftSignalRequest)(nil),     // 104: kodex.controlplane.v1.ReportChangeGovernanceDraftSignalRequest
	(*ReportChangeGovernanceDraftSignalResponse)(nil),    // 105: kodex.controlplane.v1.ReportChangeGovernanceDraftSignalResponse
	(*PublishChangeGovernanceWaveMapRequest)(nil),        // 106: kodex.controlplane.v1.PublishChangeGovernanceWaveMapRequest
	(*PublishChangeGovernanceWaveMapResponse)(nil),       // 107: kodex.controlplane.v1.PublishChangeGovernanceWaveMapResponse
	(*UpsertChangeGovernanceEvidenceSignalRequest)(nil),  // 108: kodex.controlplane.v1.UpsertChangeGovernanceEvidenceSignalRequest
	(*UpsertChangeGovernanceEvidenceSignalResponse)(nil), // 109: kodex.controlplane.v1.UpsertChangeGovernanceEvidenceSignalResponse
	(*MissionControlWarmupProject)(nil),                  // 110: kodex.controlplane.v1.MissionControlWarmupProject
	(*ListMissionControlWarmupProjectsRequest)(nil),      // 111: kodex.controlplane.v1.ListMissionControlWarmupProjectsRequest
	(*ListMissionControlWarmupProjectsResponse)(nil),     // 112: kodex.controlplane.v1.ListMissionControlWarmupProjectsResponse
	(*RunMissionControlWarmupRequest)(nil),               // 113: kodex.controlplane.v1.RunMissionControlWarmupRequest
	(*RunMissionControlWarmupResponse)(nil),              // 114: kodex.controlplane.v1.RunMissionControlWarmupResponse
	(*MissionControlEntityRef)(nil),                      // 115: kodex.controlplane.v1.MissionControlEntityRef
	(*MissionControlProviderReference)(nil),              // 116: kodex.controlplane.v1.MissionControlProviderReference
	(*MissionControlPrimaryActor)(nil),                   // 117: kodex.controlplane.v1.MissionControlPrimaryActor
	(*MissionControlEntityCard)(nil),                     // 118: kodex.controlplane.v1.MissionControlEntityCard
	(*MissionControlRelation)(nil),                       // 119: kodex.controlplane.v1.MissionControlRelation
	(*MissionControlTimelineEntry)(nil),                  // 120: kodex.controlplane.v1.MissionControlTimelineEntry
	(*MissionControlAllowedAction)(nil),                  // 121: kodex.controlplane.v1.MissionControlAllowedAction
	(*MissionControlProviderDeepLink)(nil),               // 122: kodex.controlplane.v1.MissionControlProviderDeepLink
	(*MissionControlWorkItemDetailsPayload)(nil),         // 123: kodex.controlplane.v1.MissionControlWorkItemDetailsPayload
	(*MissionControlDiscussionDetailsPayload)(nil),       // 124: kodex.controlplane.v1.MissionControlDiscussionDetailsPayload
	(*MissionControlPullRequestDetailsPayload)(nil),      // 125: kodex.controlplane.v1.MissionControlPullRequestDetailsPayload
	(*MissionControlAgentDetailsPayload)(nil),            // 126: kodex.controlplane.v1.MissionControlAgentDetailsPayload
	(*MissionControlEntityDetails)(nil),                  // 127: kodex.controlplane.v1.MissionControlEntityDetails
	(*MissionControlSnapshotSummary)(nil),                // 128: kodex.controlplane.v1.MissionControlSnapshotSummary
	(*MissionControlDashboardSnapshot)(nil),              // 129: kodex.controlplane.v1.MissionControlDashboardSnapshot
	(*GetMissionControlSnapshotRequest)(nil),             // 130: kodex.controlplane.v1.GetMissionControlSnapshotRequest
	(*GetMissionControlSnapshotResponse)(nil),            // 131: kodex.controlplane.v1.GetMissionControlSnapshotResponse
	(*GetMissionControlEntityRequest)(nil),               // 132: kodex.controlplane.v1.GetMissionControlEntityRequest
	(*ListMissionControlTimelineRequest)(nil),            // 133: kodex.controlplane.v1.ListMissionControlTimelineRequest
	(*ListMissionControlTimelineResponse)(nil),           // 134: kodex.controlplane.v1.ListMissionControlTimelineResponse
	(*MissionControlNodeRef)(nil),                        // 135: kodex.controlplane.v1.MissionControlNodeRef
	(*MissionControlWorkspaceFilters)(nil),               // 136: kodex.controlplane.v1.MissionControlWorkspaceFilters
	(*MissionControlWorkspaceSummary)(nil),               // 137: kodex.controlplane.v1.MissionControlWorkspaceSummary
	(*MissionControlWorkspaceWatermark)(nil),             // 138: kodex.controlplane.v1.MissionControlWorkspaceWatermark
	(*MissionControlRootGroup)(nil),                      // 139: kodex.controlplane.v1.MissionControlRootGroup
	(*MissionControlNode)(nil),                           // 140: kodex.controlplane.v1.MissionControlNode
	(*MissionControlEdge)(nil),                           // 141: kodex.controlplane.v1.MissionControlEdge
	(*MissionControlWorkspaceSnapshot)(nil),              // 142: kodex.controlplane.v1.MissionControlWorkspaceSnapshot
	(*GetMissionControlWorkspaceRequest)(nil),            // 143: kodex.controlplane.v1.GetMissionControlWorkspaceRequest
	(*GetMissionControlWorkspaceResponse)(nil),           // 144: kodex.controlplane.v1.GetMissionControlWorkspaceResponse
	(*MissionControlContinuityGap)(nil),                  // 145: kodex.controlplane.v1.MissionControlContinuityGap
	(*MissionControlStageNextStepTemplate)(nil),          // 146: kodex.controlplane.v1.MissionControlStageNextStepTemplate
	(*MissionControlLaunchSurface)(nil),                  // 147: kodex.controlplane.v1.MissionControlLaunchSurface
	(*MissionControlDiscussionNodeDetails)(nil),          // 148: kodex.controlplane.v1.MissionControlDiscussionNodeDetails
	(*MissionControlWorkItemNodeDetails)(nil),            // 149: kodex.controlplane.v1.MissionControlWorkItemNodeDetails
	(*MissionControlRunNodeDetails)(nil),                 // 150: kodex.controlplane.v1.MissionControlRunNodeDetails
	(*MissionControlPullRequestNodeDetails)(nil),         // 151: kodex.controlplane.v1.MissionControlPullRequestNodeDetails
	(*MissionControlActivityEntry)(nil),                  // 152: kodex.controlplane.v1.MissionControlActivityEntry
	(*MissionControlNodeDetails)(nil),                    // 153: kodex.controlplane.v1.MissionControlNodeDetails
	(*GetMissionControlNodeRequest)(nil),                 // 154: kodex.controlplane.v1.GetMissionControlNodeRequest
	(*ListMissionControlNodeActivityRequest)(nil),        // 155: kodex.controlplane.v1.ListMissionControlNodeActivityRequest
	(*ListMissionControlNodeActivityResponse)(nil),       // 156: kodex.controlplane.v1.ListMissionControlNodeActivityResponse
	(*PreviewMissionControlLaunchRequest)(nil),           // 157: kodex.controlplane.v1.PreviewMissionControlLaunchRequest
	(*MissionControlLaunchPreviewLabelDiff)(nil),         // 158: kodex.controlplane.v1.MissionControlLaunchPreviewLabelDiff
	(*MissionControlLaunchPreviewContinuityEffect)(nil),  // 159: kodex.controlplane.v1.MissionControlLaunchPreviewContinuityEffect
	(*MissionControlLaunchPreview)(nil),                  // 160: kodex.controlplane.v1.MissionControlLaunchPreview
	(*MissionControlStageNextStepPayload)(nil),           // 161: kodex.controlplane.v1.MissionControlStageNextStepPayload
	(*MissionControlPendingCommand)(nil),                 // 162: kodex.controlplane.v1.MissionControlPendingCommand
	(*ClaimMissionControlPendingCommandsRequest)(nil),    // 163: kodex.controlplane.v1.ClaimMissionControlPendingCommandsRequest
	(*ClaimMissionControlPendingCommandsResponse)(nil),   // 164: kodex.controlplane.v1.ClaimMissionControlPendingCommandsResponse
	(*MissionControlCommandState)(nil),                   // 165: kodex.controlplane.v1.MissionControlCommandState
	(*MissionControlCommandApproval)(nil),                // 166: kodex.controlplane.v1.MissionControlCommandApproval
	(*MissionControlDiscussionCreatePayload)(nil),        // 167: kodex.controlplane.v1.MissionControlDiscussionCreatePayload
	(*MissionControlWorkItemCreatePayload)(nil),          // 168: kodex.controlplane.v1.MissionControlWorkItemCreatePayload
	(*MissionControlDiscussionFormalizePayload)(nil),     // 169: kodex.controlplane.v1.MissionControlDiscussionFormalizePayload
	(*MissionControlRetrySyncPayload)(nil),               // 170: kodex.controlplane.v1.MissionControlRetrySyncPayload
	(*SubmitMissionControlCommandRequest)(nil),           // 171: kodex.controlplane.v1.SubmitMissionControlCommandRequest
	(*GetMissionControlCommandRequest)(nil),              // 172: kodex.controlplane.v1.GetMissionControlCommandRequest
	(*QueueMissionControlCommandRequest)(nil),            // 173: kodex.controlplane.v1.QueueMissionControlCommandRequest
	(*MarkMissionControlCommandPendingSyncRequest)(nil),  // 174: kodex.controlplane.v1.MarkMissionControlCommandPendingSyncRequest
	(*MarkMissionControlCommandReconciledRequest)(nil),   // 175: kodex.controlplane.v1.MarkMissionControlCommandReconciledRequest
	(*MarkMissionControlCommandFailedRequest)(nil),       // 176: kodex.controlplane.v1.MarkMissionControlCommandFailedRequest
	(*SubmitInteractionCallbackRequest)(nil),             // 177: kodex.controlplane.v1.SubmitInteractionCallbackRequest
	(*SubmitInteractionCallbackResponse)(nil),            // 178: kodex.controlplane.v1.SubmitInteractionCallbackResponse
	(*RuntimeDeployTaskLog)(nil),                         // 179: kodex.controlplane.v1.RuntimeDeployTaskLog
	(*RuntimeDeployTask)(nil),                            // 180: kodex.controlplane.v1.RuntimeDeployTask
	(*ListRuntimeDeployTasksRequest)(nil),                // 181: kodex.controlplane.v1.ListRuntimeDeployTasksRequest
	(*ListRuntimeDeployTasksResponse)(nil),               // 182: kodex.controlplane.v1.ListRuntimeDeployTasksResponse
	(*GetRuntimeDeployTaskRequest)(nil),                  // 183: kodex.controlplane.v1.GetRuntimeDeployTaskRequest
	(*CancelRuntimeDeployTaskRequest)(nil),               // 184: kodex.controlplane.v1.CancelRuntimeDeployTaskRequest
	(*StopRuntimeDeployTaskRequest)(nil),                 // 185: kodex.controlplane.v1.StopRuntimeDeployTaskRequest
	(*RuntimeDeployTaskActionResponse)(nil),              // 186: kodex.controlplane.v1.RuntimeDeployTaskActionResponse
	(*RuntimeError)(nil),                                 // 187: kodex.controlplane.v1.RuntimeError
	(*ListRuntimeErrorsRequest)(nil),                     // 188: kodex.controlplane.v1.ListRuntimeErrorsRequest
	(*ListRuntimeErrorsResponse)(nil),                    // 189: kodex.controlplane.v1.ListRuntimeErrorsResponse
	(*MarkRuntimeErrorViewedRequest)(nil),                // 190: kodex.controlplane.v1.MarkRuntimeErrorViewedRequest
	(*RegistryImageTag)(nil),                             // 191: kodex.controlplane.v1.RegistryImageTag
	(*RegistryImageRepository)(nil),                      // 192: kodex.controlplane.v1.RegistryImageRepository
	(*ListRegistryImagesRequest)(nil),                    // 193: kodex.controlplane.v1.ListRegistryImagesRequest
	(*ListRegistryImagesResponse)(nil),                   // 194: kodex.controlplane.v1.ListRegistryImagesResponse
	(*DeleteRegistryImageTagRequest)(nil),                // 195: kodex.controlplane.v1.DeleteRegistryImageTagRequest
	(*RegistryImageDeleteResult)(nil),                    // 196: kodex.controlplane.v1.RegistryImageDeleteResult
	(*CleanupRegistryImagesRequest)(nil),                 // 197: kodex.controlplane.v1.CleanupRegistryImagesRequest
	(*CleanupRegistryImagesResponse)(nil),                // 198: kodex.controlplane.v1.CleanupRegistryImagesResponse
	(*UpsertAgentSessionRequest)(nil),                    // 199: kodex.controlplane.v1.UpsertAgentSessionRequest
	(*UpsertAgentSessionResponse)(nil),                   // 200: kodex.controlplane.v1.UpsertAgentSessionResponse
	(*AgentSessionSnapshot)(nil),                         // 201: kodex.controlplane.v1.AgentSessionSnapshot
	(*GetLatestAgentSessionRequest)(nil),                 // 202: kodex.controlplane.v1.GetLatestAgentSessionRequest
	(*GetLatestAgentSessionResponse)(nil),                // 203: kodex.controlplane.v1.GetLatestAgentSessionResponse
	(*GetRunInteractionResumePayloadRequest)(nil),        // 204: kodex.controlplane.v1.GetRunInteractionResumePayloadRequest
	(*GetRunInteractionResumePayloadResponse)(nil),       // 205: kodex.controlplane.v1.GetRunInteractionResumePayloadResponse
	(*GetRunGitHubRateLimitResumePayloadRequest)(nil),    // 206: kodex.controlplane.v1.GetRunGitHubRateLimitResumePayloadRequest
	(*GetRunGitHubRateLimitResumePayloadResponse)(nil),   // 207: kodex.controlplane.v1.GetRunGitHubRateLimitResumePayloadResponse
	(*LookupRunPullRequestRequest)(nil),                  // 208: kodex.controlplane.v1.LookupRunPullRequestRequest
	(*LookupRunPullRequestResponse)(nil),                 // 209: kodex.controlplane.v1.LookupRunPullRequestResponse
	(*InsertRunFlowEventRequest)(nil),                    // 210: kodex.controlplane.v1.InsertRunFlowEventRequest
	(*InsertRunFlowEventResponse)(nil),                   // 211: kodex.controlplane.v1.InsertRunFlowEventResponse
	(*UpsertRunStatusCommentRequest)(nil),                // 212: kodex.controlplane.v1.UpsertRunStatusCommentRequest
	(*UpsertRunStatusCommentResponse)(nil),               // 213: kodex.controlplane.v1.UpsertRunStatusCommentResponse
	(*GetCodexAuthRequest)(nil),                          // 214: kodex.controlplane.v1.GetCodexAuthRequest
	(*GetCodexAuthResponse)(nil),                         // 215: kodex.controlplane.v1.GetCodexAuthResponse
	(*UpsertCodexAuthRequest)(nil),                       // 216: kodex.controlplane.v1.UpsertCodexAuthRequest
	(*UpsertCodexAuthResponse)(nil),                      // 217: kodex.controlplane.v1.UpsertCodexAuthResponse
	(*DeleteRunNamespaceRequest)(nil),                    // 218: kodex.controlplane.v1.DeleteRunNamespaceRequest
	(*DeleteRunNamespaceResponse)(nil),                   // 219: kodex.controlplane.v1.DeleteRunNamespaceResponse
	(*timestamppb.Timestamp)(nil),                        // 220: google.protobuf.Timestamp
	(*wrapperspb.Int32Value)(nil),                        // 221: google.protobuf.Int32Value
	(*wrapperspb.BoolValue)(nil),                         // 222: google.protobuf.BoolValue
	(*durationpb.Duration)(nil),                          // 223: google.protobuf.Duration
	(*emptypb.Empty)(nil),                                // 224: google.protobuf.Empty
}
var file_kodex_controlplane_v1_controlplane_proto_depIdxs = []int32{
	220, // 0: kodex.controlplane.v1.IngestGitHubWebhookRequest.received_at:type_name -> google.protobuf.Timestamp
	0,   // 1: kodex.controlplane.v1.ResolveStaffByEmailResponse.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 2: kodex.controlplane.v1.AuthorizeOAuthUserResponse.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 3: kodex.controlplane.v1.ListProjectsRequest.principal:type_name -> kodex.controlplane.v1.Principal
	7,   // 4: kodex.controlplane.v1.ListProjectsResponse.items:type_name -> kodex.controlplane.v1.Project
	0,   // 5: kodex.controlplane.v1.UpsertProjectRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 6: kodex.controlplane.v1.GetProjectRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 7: kodex.controlplane.v1.DeleteProjectRequest.principal:type_name -> kodex.controlplane.v1.Principal
	220, // 8: kodex.controlplane.v1.Run.created_at:type_name -> google.protobuf.Timestamp
	220, // 9: kodex.controlplane.v1.Run.started_at:type_name -> google.protobuf.Timestamp
	220, // 10: kodex.controlplane.v1.Run.finished_at:type_name -> google.protobuf.Timestamp
	220, // 11: kodex.controlplane.v1.Run.wait_since:type_name -> google.protobuf.Timestamp
	220, // 12: kodex.controlplane.v1.Run.last_heartbeat_at:type_name -> google.protobuf.Timestamp
	14,  // 13: kodex.controlplane.v1.Run.wait_projection:type_name -> kodex.controlplane.v1.RunWaitProjection
	15,  // 14: kodex.controlplane.v1.RunWaitProjection.dominant_wait:type_name -> kodex.controlplane.v1.GitHubRateLimitWaitItem
	15,  // 15: kodex.controlplane.v1.RunWaitProjection.related_waits:type_name -> kodex.controlplane.v1.GitHubRateLimitWaitItem
	220, // 16: kodex.controlplane.v1.GitHubRateLimitWaitItem.entered_at:type_name -> google.protobuf.Timestamp
	220, // 17: kodex.controlplane.v1.GitHubRateLimitWaitItem.resume_not_before:type_name -> google.protobuf.Timestamp
	16,  // 18: kodex.controlplane.v1.GitHubRateLimitWaitItem.recovery_hint:type_name -> kodex.controlplane.v1.GitHubRateLimitRecoveryHint
	17,  // 19: kodex.controlplane.v1.GitHubRateLimitWaitItem.manual_action:type_name -> kodex.controlplane.v1.GitHubRateLimitManualAction
	220, // 20: kodex.controlplane.v1.GitHubRateLimitRecoveryHint.resume_not_before:type_name -> google.protobuf.Timestamp
	220, // 21: kodex.controlplane.v1.GitHubRateLimitManualAction.suggested_not_before:type_name -> google.protobuf.Timestamp
	221, // 22: kodex.controlplane.v1.ApprovalRequest.issue_number:type_name -> google.protobuf.Int32Value
	221, // 23: kodex.controlplane.v1.ApprovalRequest.pr_number:type_name -> google.protobuf.Int32Value
	220, // 24: kodex.controlplane.v1.ApprovalRequest.created_at:type_name -> google.protobuf.Timestamp
	0,   // 25: kodex.controlplane.v1.ListPendingApprovalsRequest.principal:type_name -> kodex.controlplane.v1.Principal
	18,  // 26: kodex.controlplane.v1.ListPendingApprovalsResponse.items:type_name -> kodex.controlplane.v1.ApprovalRequest
	0,   // 27: kodex.controlplane.v1.ResolveApprovalDecisionRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 28: kodex.controlplane.v1.ListRunsRequest.principal:type_name -> kodex.controlplane.v1.Principal
	13,  // 29: kodex.controlplane.v1.ListRunsResponse.items:type_name -> kodex.controlplane.v1.Run
	0,   // 30: kodex.controlplane.v1.ListRunJobsRequest.principal:type_name -> kodex.controlplane.v1.Principal
	13,  // 31: kodex.controlplane.v1.ListRunJobsResponse.items:type_name -> kodex.controlplane.v1.Run
	0,   // 32: kodex.controlplane.v1.ListRunWaitsRequest.principal:type_name -> kodex.controlplane.v1.Principal
	13,  // 33: kodex.controlplane.v1.ListRunWaitsResponse.items:type_name -> kodex.controlplane.v1.Run
	0,   // 34: kodex.controlplane.v1.GetRunRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 35: kodex.controlplane.v1.GetRunLogsRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 36: kodex.controlplane.v1.CancelRunRequest.principal:type_name -> kodex.controlplane.v1.Principal
	220, // 37: kodex.controlplane.v1.RunLogs.updated_at:type_name -> google.protobuf.Timestamp
	220, // 38: kodex.controlplane.v1.FlowEvent.created_at:type_name -> google.protobuf.Timestamp
	0,   // 39: kodex.controlplane.v1.ListRunEventsRequest.principal:type_name -> kodex.controlplane.v1.Principal
	34,  // 40: kodex.controlplane.v1.ListRunEventsResponse.items:type_name -> kodex.controlplane.v1.FlowEvent
	220, // 41: kodex.controlplane.v1.SystemSetting.updated_at:type_name -> google.protobuf.Timestamp
	0,   // 42: kodex.controlplane.v1.ListSystemSettingsRequest.principal:type_name -> kodex.controlplane.v1.Principal
	37,  // 43: kodex.controlplane.v1.ListSystemSettingsResponse.items:type_name -> kodex.controlplane.v1.SystemSetting
	0,   // 44: kodex.controlplane.v1.GetSystemSettingRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 45: kodex.controlplane.v1.UpdateSystemSettingBooleanRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 46: kodex.controlplane.v1.ResetSystemSettingRequest.principal:type_name -> kodex.controlplane.v1.Principal
	220, // 47: kodex.controlplane.v1.LearningFeedback.created_at:type_name -> google.protobuf.Timestamp
	0,   // 48: kodex.controlplane.v1.ListRunLearningFeedbackRequest.principal:type_name -> kodex.controlplane.v1.Principal
	43,  // 49: kodex.controlplane.v1.ListRunLearningFeedbackResponse.items:type_name -> kodex.controlplane.v1.LearningFeedback
	0,   // 50: kodex.controlplane.v1.ListUsersRequest.principal:type_name -> kodex.controlplane.v1.Principal
	46,  // 51: kodex.controlplane.v1.ListUsersResponse.items:type_name -> kodex.controlplane.v1.User
	0,   // 52: kodex.controlplane.v1.CreateUserRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 53: kodex.controlplane.v1.DeleteUserRequest.principal:type_name -> kodex.controlplane.v1.Principal
	222, // 54: kodex.controlplane.v1.ProjectMember.learning_mode_override:type_name -> google.protobuf.BoolValue
	0,   // 55: kodex.controlplane.v1.ListProjectMembersRequest.principal:type_name -> kodex.controlplane.v1.Principal
	51,  // 56: kodex.controlplane.v1.ListProjectMembersResponse.items:type_name -> kodex.controlplane.v1.ProjectMember
	0,   // 57: kodex.controlplane.v1.UpsertProjectMemberRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 58: kodex.controlplane.v1.DeleteProjectMemberRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 59: kodex.controlplane.v1.SetProjectMemberLearningModeOverrideRequest.principal:type_name -> kodex.controlplane.v1.Principal
	222, // 60: kodex.controlplane.v1.SetProjectMemberLearningModeOverrideRequest.enabled:type_name -> google.protobuf.BoolValue
	0,   // 61: kodex.controlplane.v1.ListProjectRepositoriesRequest.principal:type_name -> kodex.controlplane.v1.Principal
	57,  // 62: kodex.controlplane.v1.ListProjectRepositoriesResponse.items:type_name -> kodex.controlplane.v1.RepositoryBinding
	0,   // 63: kodex.controlplane.v1.UpsertProjectRepositoryRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 64: kodex.controlplane.v1.DeleteProjectRepositoryRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 65: kodex.controlplane.v1.UpsertRepositoryBotParamsRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 66: kodex.controlplane.v1.RunRepositoryPreflightRequest.principal:type_name -> kodex.controlplane.v1.Principal
	64,  // 67: kodex.controlplane.v1.RunRepositoryPreflightResponse.checks:type_name -> kodex.controlplane.v1.PreflightCheckResult
	220, // 68: kodex.controlplane.v1.RunRepositoryPreflightResponse.finished_at:type_name -> google.protobuf.Timestamp
	0,   // 69: kodex.controlplane.v1.GetProjectGitHubTokensRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 70: kodex.controlplane.v1.UpsertProjectGitHubTokensRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 71: kodex.controlplane.v1.NextStepActionRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 72: kodex.controlplane.v1.ListConfigEntriesRequest.principal:type_name -> kodex.controlplane.v1.Principal
	71,  // 73: kodex.controlplane.v1.ListConfigEntriesResponse.items:type_name -> kodex.controlplane.v1.ConfigEntry
	0,   // 74: kodex.controlplane.v1.UpsertConfigEntryRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 75: kodex.controlplane.v1.DeleteConfigEntryRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 76: kodex.controlplane.v1.ListDocsetGroupsRequest.principal:type_name -> kodex.controlplane.v1.Principal
	76,  // 77: kodex.controlplane.v1.ListDocsetGroupsResponse.groups:type_name -> kodex.controlplane.v1.DocsetGroup
	0,   // 78: kodex.controlplane.v1.ImportDocsetRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 79: kodex.controlplane.v1.SyncDocsetRequest.principal:type_name -> kodex.controlplane.v1.Principal
	220, // 80: kodex.controlplane.v1.IssueRunMCPTokenResponse.expires_at:type_name -> google.protobuf.Timestamp
	220, // 81: kodex.controlplane.v1.ClaimNextInteractionDispatchResponse.response_deadline_at:type_name -> google.protobuf.Timestamp
	220, // 82: kodex.controlplane.v1.CompleteInteractionDispatchRequest.next_retry_at:type_name -> google.protobuf.Timestamp
	220, // 83: kodex.controlplane.v1.CompleteInteractionDispatchRequest.finished_at:type_name -> google.protobuf.Timestamp
	220, // 84: kodex.controlplane.v1.CompleteInteractionDispatchRequest.callback_token_expires_at:type_name -> google.protobuf.Timestamp
	220, // 85: kodex.controlplane.v1.ProcessNextGitHubRateLimitWaitResponse.resume_not_before:type_name -> google.protobuf.Timestamp
	220, // 86: kodex.controlplane.v1.GitHubRateLimitHeaders.rate_limit_reset_at:type_name -> google.protobuf.Timestamp
	220, // 87: kodex.controlplane.v1.ReportGitHubRateLimitSignalRequest.occurred_at:type_name -> google.protobuf.Timestamp
	97,  // 88: kodex.controlplane.v1.ReportGitHubRateLimitSignalRequest.github_headers:type_name -> kodex.controlplane.v1.GitHubRateLimitHeaders
	220, // 89: kodex.controlplane.v1.ReportGitHubRateLimitSignalResponse.resume_not_before:type_name -> google.protobuf.Timestamp
	101, // 90: kodex.controlplane.v1.ChangeGovernanceWaveDraft.verification_targets:type_name -> kodex.controlplane.v1.ChangeGovernanceVerificationTarget
	221, // 91: kodex.controlplane.v1.ReportChangeGovernanceDraftSignalRequest.pr_number:type_name -> google.protobuf.Int32Value
	100, // 92: kodex.controlplane.v1.ReportChangeGovernanceDraftSignalRequest.change_scope_hints:type_name -> kodex.controlplane.v1.ChangeGovernanceScopeHint
	220, // 93: kodex.controlplane.v1.ReportChangeGovernanceDraftSignalRequest.occurred_at:type_name -> google.protobuf.Timestamp
	102, // 94: kodex.controlplane.v1.PublishChangeGovernanceWaveMapRequest.waves:type_name -> kodex.controlplane.v1.ChangeGovernanceWaveDraft
	220, // 95: kodex.controlplane.v1.PublishChangeGovernanceWaveMapRequest.published_at:type_name -> google.protobuf.Timestamp
	103, // 96: kodex.controlplane.v1.UpsertChangeGovernanceEvidenceSignalRequest.artifact_links:type_name -> kodex.controlplane.v1.ChangeGovernanceArtifactLinkSeed
	220, // 97: kodex.controlplane.v1.UpsertChangeGovernanceEvidenceSignalRequest.occurred_at:type_name -> google.protobuf.Timestamp
	110, // 98: kodex.controlplane.v1.ListMissionControlWarmupProjectsResponse.items:type_name -> kodex.controlplane.v1.MissionControlWarmupProject
	116, // 99: kodex.controlplane.v1.MissionControlEntityCard.provider_reference:type_name -> kodex.controlplane.v1.MissionControlProviderReference
	117, // 100: kodex.controlplane.v1.MissionControlEntityCard.primary_actor:type_name -> kodex.controlplane.v1.MissionControlPrimaryActor
	220, // 101: kodex.controlplane.v1.MissionControlEntityCard.last_timeline_at:type_name -> google.protobuf.Timestamp
	220, // 102: kodex.controlplane.v1.MissionControlTimelineEntry.occurred_at:type_name -> google.protobuf.Timestamp
	220, // 103: kodex.controlplane.v1.MissionControlWorkItemDetailsPayload.last_provider_sync_at:type_name -> google.protobuf.Timestamp
	220, // 104: kodex.controlplane.v1.MissionControlAgentDetailsPayload.last_heartbeat_at:type_name -> google.protobuf.Timestamp
	118, // 105: kodex.controlplane.v1.MissionControlEntityDetails.entity:type_name -> kodex.controlplane.v1.MissionControlEntityCard
	119, // 106: kodex.controlplane.v1.MissionControlEntityDetails.relations:type_name -> kodex.controlplane.v1.MissionControlRelation
	120, // 107: kodex.controlplane.v1.MissionControlEntityDetails.timeline_preview:type_name -> kodex.controlplane.v1.MissionControlTimelineEntry
	121, // 108: kodex.controlplane.v1.MissionControlEntityDetails.allowed_actions:type_name -> kodex.controlplane.v1.MissionControlAllowedAction
	122, // 109: kodex.controlplane.v1.MissionControlEntityDetails.provider_deep_links:type_name -> kodex.controlplane.v1.MissionControlProviderDeepLink
	123, // 110: kodex.controlplane.v1.MissionControlEntityDetails.work_item:type_name -> kodex.controlplane.v1.MissionControlWorkItemDetailsPayload
	124, // 111: kodex.controlplane.v1.MissionControlEntityDetails.discussion:type_name -> kodex.controlplane.v1.MissionControlDiscussionDetailsPayload
	125, // 112: kodex.controlplane.v1.MissionControlEntityDetails.pull_request:type_name -> kodex.controlplane.v1.MissionControlPullRequestDetailsPayload
	126, // 113: kodex.controlplane.v1.MissionControlEntityDetails.agent:type_name -> kodex.controlplane.v1.MissionControlAgentDetailsPayload
	220, // 114: kodex.controlplane.v1.MissionControlDashboardSnapshot.generated_at:type_name -> google.protobuf.Timestamp
	220, // 115: kodex.controlplane.v1.MissionControlDashboardSnapshot.stale_after:type_name -> google.protobuf.Timestamp
	128, // 116: kodex.controlplane.v1.MissionControlDashboardSnapshot.summary:type_name -> kodex.controlplane.v1.MissionControlSnapshotSummary
	118, // 117: kodex.controlplane.v1.MissionControlDashboardSnapshot.entities:type_name -> kodex.controlplane.v1.MissionControlEntityCard
	119, // 118: kodex.controlplane.v1.MissionControlDashboardSnapshot.relations:type_name -> kodex.controlplane.v1.MissionControlRelation
	0,   // 119: kodex.controlplane.v1.GetMissionControlSnapshotRequest.principal:type_name -> kodex.controlplane.v1.Principal
	129, // 120: kodex.controlplane.v1.GetMissionControlSnapshotResponse.snapshot:type_name -> kodex.controlplane.v1.MissionControlDashboardSnapshot
	0,   // 121: kodex.controlplane.v1.GetMissionControlEntityRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 122: kodex.controlplane.v1.ListMissionControlTimelineRequest.principal:type_name -> kodex.controlplane.v1.Principal
	120, // 123: kodex.controlplane.v1.ListMissionControlTimelineResponse.items:type_name -> kodex.controlplane.v1.MissionControlTimelineEntry
	220, // 124: kodex.controlplane.v1.MissionControlWorkspaceWatermark.observed_at:type_name -> google.protobuf.Timestamp
	220, // 125: kodex.controlplane.v1.MissionControlWorkspaceWatermark.window_started_at:type_name -> google.protobuf.Timestamp
	220, // 126: kodex.controlplane.v1.MissionControlWorkspaceWatermark.window_ended_at:type_name -> google.protobuf.Timestamp
	135, // 127: kodex.controlplane.v1.MissionControlRootGroup.node_refs:type_name -> kodex.controlplane.v1.MissionControlNodeRef
	220, // 128: kodex.controlplane.v1.MissionControlRootGroup.latest_activity_at:type_name -> google.protobuf.Timestamp
	116, // 129: kodex.controlplane.v1.MissionControlNode.provider_reference:type_name -> kodex.controlplane.v1.MissionControlProviderReference
	220, // 130: kodex.controlplane.v1.MissionControlNode.last_activity_at:type_name -> google.protobuf.Timestamp
	220, // 131: kodex.controlplane.v1.MissionControlWorkspaceSnapshot.generated_at:type_name -> google.protobuf.Timestamp
	136, // 132: kodex.controlplane.v1.MissionControlWorkspaceSnapshot.effective_filters:type_name -> kodex.controlplane.v1.MissionControlWorkspaceFilters
	137, // 133: kodex.controlplane.v1.MissionControlWorkspaceSnapshot.summary:type_name -> kodex.controlplane.v1.MissionControlWorkspaceSummary
	138, // 134: kodex.controlplane.v1.MissionControlWorkspaceSnapshot.workspace_watermarks:type_name -> kodex.controlplane.v1.MissionControlWorkspaceWatermark
	139, // 135: kodex.controlplane.v1.MissionControlWorkspaceSnapshot.root_groups:type_name -> kodex.controlplane.v1.MissionControlRootGroup
	140, // 136: kodex.controlplane.v1.MissionControlWorkspaceSnapshot.nodes:type_name -> kodex.controlplane.v1.MissionControlNode
	141, // 137: kodex.controlplane.v1.MissionControlWorkspaceSnapshot.edges:type_name -> kodex.controlplane.v1.MissionControlEdge
	0,   // 138: kodex.controlplane.v1.GetMissionControlWorkspaceRequest.principal:type_name -> kodex.controlplane.v1.Principal
	142, // 139: kodex.controlplane.v1.GetMissionControlWorkspaceResponse.snapshot:type_name -> kodex.controlplane.v1.MissionControlWorkspaceSnapshot
	220, // 140: kodex.controlplane.v1.MissionControlContinuityGap.detected_at:type_name -> google.protobuf.Timestamp
	220, // 141: kodex.controlplane.v1.MissionControlContinuityGap.resolved_at:type_name -> google.protobuf.Timestamp
	146, // 142: kodex.controlplane.v1.MissionControlLaunchSurface.command_template:type_name -> kodex.controlplane.v1.MissionControlStageNextStepTemplate
	135, // 143: kodex.controlplane.v1.MissionControlDiscussionNodeDetails.formalization_target_refs:type_name -> kodex.controlplane.v1.MissionControlNodeRef
	135, // 144: kodex.controlplane.v1.MissionControlWorkItemNodeDetails.linked_run_refs:type_name -> kodex.controlplane.v1.MissionControlNodeRef
	135, // 145: kodex.controlplane.v1.MissionControlWorkItemNodeDetails.linked_follow_up_refs:type_name -> kodex.controlplane.v1.MissionControlNodeRef
	220, // 146: kodex.controlplane.v1.MissionControlWorkItemNodeDetails.last_provider_sync_at:type_name -> google.protobuf.Timestamp
	220, // 147: kodex.controlplane.v1.MissionControlRunNodeDetails.started_at:type_name -> google.protobuf.Timestamp
	220, // 148: kodex.controlplane.v1.MissionControlRunNodeDetails.finished_at:type_name -> google.protobuf.Timestamp
	135, // 149: kodex.controlplane.v1.MissionControlRunNodeDetails.linked_pull_request_refs:type_name -> kodex.controlplane.v1.MissionControlNodeRef
	135, // 150: kodex.controlplane.v1.MissionControlRunNodeDetails.produced_issue_refs:type_name -> kodex.controlplane.v1.MissionControlNodeRef
	135, // 151: kodex.controlplane.v1.MissionControlPullRequestNodeDetails.linked_issue_refs:type_name -> kodex.controlplane.v1.MissionControlNodeRef
	135, // 152: kodex.controlplane.v1.MissionControlPullRequestNodeDetails.linked_run_ref:type_name -> kodex.controlplane.v1.MissionControlNodeRef
	220, // 153: kodex.controlplane.v1.MissionControlActivityEntry.occurred_at:type_name -> google.protobuf.Timestamp
	140, // 154: kodex.controlplane.v1.MissionControlNodeDetails.node:type_name -> kodex.controlplane.v1.MissionControlNode
	140, // 155: kodex.controlplane.v1.MissionControlNodeDetails.adjacent_nodes:type_name -> kodex.controlplane.v1.MissionControlNode
	141, // 156: kodex.controlplane.v1.MissionControlNodeDetails.adjacent_edges:type_name -> kodex.controlplane.v1.MissionControlEdge
	145, // 157: kodex.controlplane.v1.MissionControlNodeDetails.continuity_gaps:type_name -> kodex.controlplane.v1.MissionControlContinuityGap
	138, // 158: kodex.controlplane.v1.MissionControlNodeDetails.node_watermarks:type_name -> kodex.controlplane.v1.MissionControlWorkspaceWatermark
	152, // 159: kodex.controlplane.v1.MissionControlNodeDetails.activity_preview:type_name -> kodex.controlplane.v1.MissionControlActivityEntry
	147, // 160: kodex.controlplane.v1.MissionControlNodeDetails.launch_surfaces:type_name -> kodex.controlplane.v1.MissionControlLaunchSurface
	122, // 161: kodex.controlplane.v1.MissionControlNodeDetails.provider_deep_links:type_name -> kodex.controlplane.v1.MissionControlProviderDeepLink
	148, // 162: kodex.controlplane.v1.MissionControlNodeDetails.discussion:type_name -> kodex.controlplane.v1.MissionControlDiscussionNodeDetails
	149, // 163: kodex.controlplane.v1.MissionControlNodeDetails.work_item:type_name -> kodex.controlplane.v1.MissionControlWorkItemNodeDetails
	150, // 164: kodex.controlplane.v1.MissionControlNodeDetails.run:type_name -> kodex.controlplane.v1.MissionControlRunNodeDetails
	151, // 165: kodex.controlplane.v1.MissionControlNodeDetails.pull_request:type_name -> kodex.controlplane.v1.MissionControlPullRequestNodeDetails
	0,   // 166: kodex.controlplane.v1.GetMissionControlNodeRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 167: kodex.controlplane.v1.ListMissionControlNodeActivityRequest.principal:type_name -> kodex.controlplane.v1.Principal
	152, // 168: kodex.controlplane.v1.ListMissionControlNodeActivityResponse.items:type_name -> kodex.controlplane.v1.MissionControlActivityEntry
	0,   // 169: kodex.controlplane.v1.PreviewMissionControlLaunchRequest.principal:type_name -> kodex.controlplane.v1.Principal
	135, // 170: kodex.controlplane.v1.MissionControlLaunchPreviewContinuityEffect.resulting_node_refs:type_name -> kodex.controlplane.v1.MissionControlNodeRef
	158, // 171: kodex.controlplane.v1.MissionControlLaunchPreview.label_diff:type_name -> kodex.controlplane.v1.MissionControlLaunchPreviewLabelDiff
	159, // 172: kodex.controlplane.v1.MissionControlLaunchPreview.continuity_effect:type_name -> kodex.controlplane.v1.MissionControlLaunchPreviewContinuityEffect
	161, // 173: kodex.controlplane.v1.MissionControlPendingCommand.stage_next_step:type_name -> kodex.controlplane.v1.MissionControlStageNextStepPayload
	220, // 174: kodex.controlplane.v1.MissionControlPendingCommand.requested_at:type_name -> google.protobuf.Timestamp
	220, // 175: kodex.controlplane.v1.MissionControlPendingCommand.updated_at:type_name -> google.protobuf.Timestamp
	223, // 176: kodex.controlplane.v1.ClaimMissionControlPendingCommandsRequest.lease_ttl:type_name -> google.protobuf.Duration
	162, // 177: kodex.controlplane.v1.ClaimMissionControlPendingCommandsResponse.items:type_name -> kodex.controlplane.v1.MissionControlPendingCommand
	220, // 178: kodex.controlplane.v1.MissionControlCommandState.updated_at:type_name -> google.protobuf.Timestamp
	220, // 179: kodex.controlplane.v1.MissionControlCommandState.reconciled_at:type_name -> google.protobuf.Timestamp
	115, // 180: kodex.controlplane.v1.MissionControlCommandState.entity_refs:type_name -> kodex.controlplane.v1.MissionControlEntityRef
	166, // 181: kodex.controlplane.v1.MissionControlCommandState.approval:type_name -> kodex.controlplane.v1.MissionControlCommandApproval
	220, // 182: kodex.controlplane.v1.MissionControlCommandApproval.requested_at:type_name -> google.protobuf.Timestamp
	220, // 183: kodex.controlplane.v1.MissionControlCommandApproval.decided_at:type_name -> google.protobuf.Timestamp
	115, // 184: kodex.controlplane.v1.MissionControlWorkItemCreatePayload.related_entity_refs:type_name -> kodex.controlplane.v1.MissionControlEntityRef
	0,   // 185: kodex.controlplane.v1.SubmitMissionControlCommandRequest.principal:type_name -> kodex.controlplane.v1.Principal
	220, // 186: kodex.controlplane.v1.SubmitMissionControlCommandRequest.requested_at:type_name -> google.protobuf.Timestamp
	167, // 187: kodex.controlplane.v1.SubmitMissionControlCommandRequest.discussion_create:type_name -> kodex.controlplane.v1.MissionControlDiscussionCreatePayload
	168, // 188: kodex.controlplane.v1.SubmitMissionControlCommandRequest.work_item_create:type_name -> kodex.controlplane.v1.MissionControlWorkItemCreatePayload
	169, // 189: kodex.controlplane.v1.SubmitMissionControlCommandRequest.discussion_formalize:type_name -> kodex.controlplane.v1.MissionControlDiscussionFormalizePayload
	161, // 190: kodex.controlplane.v1.SubmitMissionControlCommandRequest.stage_next_step:type_name -> kodex.controlplane.v1.MissionControlStageNextStepPayload
	170, // 191: kodex.controlplane.v1.SubmitMissionControlCommandRequest.retry_sync:type_name -> kodex.controlplane.v1.MissionControlRetrySyncPayload
	0,   // 192: kodex.controlplane.v1.GetMissionControlCommandRequest.principal:type_name -> kodex.controlplane.v1.Principal
	220, // 193: kodex.controlplane.v1.QueueMissionControlCommandRequest.updated_at:type_name -> google.protobuf.Timestamp
	220, // 194: kodex.controlplane.v1.MarkMissionControlCommandPendingSyncRequest.updated_at:type_name -> google.protobuf.Timestamp
	220, // 195: kodex.controlplane.v1.MarkMissionControlCommandReconciledRequest.updated_at:type_name -> google.protobuf.Timestamp
	220, // 196: kodex.controlplane.v1.MarkMissionControlCommandReconciledRequest.reconciled_at:type_name -> google.protobuf.Timestamp
	220, // 197: kodex.controlplane.v1.MarkMissionControlCommandFailedRequest.updated_at:type_name -> google.protobuf.Timestamp
	220, // 198: kodex.controlplane.v1.SubmitInteractionCallbackRequest.occurred_at:type_name -> google.protobuf.Timestamp
	220, // 199: kodex.controlplane.v1.RuntimeDeployTaskLog.created_at:type_name -> google.protobuf.Timestamp
	220, // 200: kodex.controlplane.v1.RuntimeDeployTask.lease_until:type_name -> google.protobuf.Timestamp
	220, // 201: kodex.controlplane.v1.RuntimeDeployTask.cancel_requested_at:type_name -> google.protobuf.Timestamp
	220, // 202: kodex.controlplane.v1.RuntimeDeployTask.stop_requested_at:type_name -> google.protobuf.Timestamp
	220, // 203: kodex.controlplane.v1.RuntimeDeployTask.created_at:type_name -> google.protobuf.Timestamp
	220, // 204: kodex.controlplane.v1.RuntimeDeployTask.updated_at:type_name -> google.protobuf.Timestamp
	220, // 205: kodex.controlplane.v1.RuntimeDeployTask.started_at:type_name -> google.protobuf.Timestamp
	220, // 206: kodex.controlplane.v1.RuntimeDeployTask.finished_at:type_name -> google.protobuf.Timestamp
	179, // 207: kodex.controlplane.v1.RuntimeDeployTask.logs:type_name -> kodex.controlplane.v1.RuntimeDeployTaskLog
	0,   // 208: kodex.controlplane.v1.ListRuntimeDeployTasksRequest.principal:type_name -> kodex.controlplane.v1.Principal
	180, // 209: kodex.controlplane.v1.ListRuntimeDeployTasksResponse.items:type_name -> kodex.controlplane.v1.RuntimeDeployTask
	0,   // 210: kodex.controlplane.v1.GetRuntimeDeployTaskRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 211: kodex.controlplane.v1.CancelRuntimeDeployTaskRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 212: kodex.controlplane.v1.StopRuntimeDeployTaskRequest.principal:type_name -> kodex.controlplane.v1.Principal
	220, // 213: kodex.controlplane.v1.RuntimeError.viewed_at:type_name -> google.protobuf.Timestamp
	220, // 214: kodex.controlplane.v1.RuntimeError.created_at:type_name -> google.protobuf.Timestamp
	0,   // 215: kodex.controlplane.v1.ListRuntimeErrorsRequest.principal:type_name -> kodex.controlplane.v1.Principal
	187, // 216: kodex.controlplane.v1.ListRuntimeErrorsResponse.items:type_name -> kodex.controlplane.v1.RuntimeError
	0,   // 217: kodex.controlplane.v1.MarkRuntimeErrorViewedRequest.principal:type_name -> kodex.controlplane.v1.Principal
	220, // 218: kodex.controlplane.v1.RegistryImageTag.created_at:type_name -> google.protobuf.Timestamp
	191, // 219: kodex.controlplane.v1.RegistryImageRepository.tags:type_name -> kodex.controlplane.v1.RegistryImageTag
	0,   // 220: kodex.controlplane.v1.ListRegistryImagesRequest.principal:type_name -> kodex.controlplane.v1.Principal
	192, // 221: kodex.controlplane.v1.ListRegistryImagesResponse.items:type_name -> kodex.controlplane.v1.RegistryImageRepository
	0,   // 222: kodex.controlplane.v1.DeleteRegistryImageTagRequest.principal:type_name -> kodex.controlplane.v1.Principal
	0,   // 223: kodex.controlplane.v1.CleanupRegistryImagesRequest.principal:type_name -> kodex.controlplane.v1.Principal
	196, // 224: kodex.controlplane.v1.CleanupRegistryImagesResponse.deleted:type_name -> kodex.controlplane.v1.RegistryImageDeleteResult
	196, // 225: kodex.controlplane.v1.CleanupRegistryImagesResponse.skipped:type_name -> kodex.controlplane.v1.RegistryImageDeleteResult
	221, // 226: kodex.controlplane.v1.UpsertAgentSessionRequest.issue_number:type_name -> google.protobuf.Int32Value
	221, // 227: kodex.controlplane.v1.UpsertAgentSessionRequest.pr_number:type_name -> google.protobuf.Int32Value
	220, // 228: kodex.controlplane.v1.UpsertAgentSessionRequest.started_at:type_name -> google.protobuf.Timestamp
	220, // 229: kodex.controlplane.v1.UpsertAgentSessionRequest.finished_at:type_name -> google.protobuf.Timestamp
	221, // 230: kodex.controlplane.v1.AgentSessionSnapshot.issue_number:type_name -> google.protobuf.Int32Value
	221, // 231: kodex.controlplane.v1.AgentSessionSnapshot.pr_number:type_name -> google.protobuf.Int32Value
	220, // 232: kodex.controlplane.v1.AgentSessionSnapshot.started_at:type_name -> google.protobuf.Timestamp
	220, // 233: kodex.controlplane.v1.AgentSessionSnapshot.finished_at:type_name -> google.protobuf.Timestamp
	220, // 234: kodex.controlplane.v1.AgentSessionSnapshot.created_at:type_name -> google.protobuf.Timestamp
	220, // 235: kodex.controlplane.v1.AgentSessionSnapshot.updated_at:type_name -> google.protobuf.Timestamp
	220, // 236: kodex.controlplane.v1.AgentSessionSnapshot.snapshot_updated_at:type_name -> google.protobuf.Timestamp
	201, // 237: kodex.controlplane.v1.GetLatestAgentSessionResponse.session:type_name -> kodex.controlplane.v1.AgentSessionSnapshot
	221, // 238: kodex.controlplane.v1.LookupRunPullRequestRequest.pr_number:type_name -> google.protobuf.Int32Value
	0,   // 239: kodex.controlplane.v1.DeleteRunNamespaceRequest.principal:type_name -> kodex.controlplane.v1.Principal
	1,   // 240: kodex.controlplane.v1.ControlPlaneService.IngestGitHubWebhook:input_type -> kodex.controlplane.v1.IngestGitHubWebhookRequest
	3,   // 241: kodex.controlplane.v1.ControlPlaneService.ResolveStaffByEmail:input_type -> kodex.controlplane.v1.ResolveStaffByEmailRequest
	5,   // 242: kodex.controlplane.v1.ControlPlaneService.AuthorizeOAuthUser:input_type -> kodex.controlplane.v1.AuthorizeOAuthUserRequest
	8,   // 243: kodex.controlplane.v1.ControlPlaneService.ListProjects:input_type -> kodex.controlplane.v1.ListProjectsRequest
	10,  // 244: kodex.controlplane.v1.ControlPlaneService.UpsertProject:input_type -> kodex.controlplane.v1.UpsertProjectRequest
	11,  // 245: kodex.controlplane.v1.ControlPlaneService.GetProject:input_type -> kodex.controlplane.v1.GetProjectRequest
	12,  // 246: kodex.controlplane.v1.ControlPlaneService.DeleteProject:input_type -> kodex.controlplane.v1.DeleteProjectRequest
	23,  // 247: kodex.controlplane.v1.ControlPlaneService.ListRuns:input_type -> kodex.controlplane.v1.ListRunsRequest
	27,  // 248: kodex.controlplane.v1.ControlPlaneService.ListRunWaits:input_type -> kodex.controlplane.v1.ListRunWaitsRequest
	29,  // 249: kodex.controlplane.v1.ControlPlaneService.GetRun:input_type -> kodex.controlplane.v1.GetRunRequest
	31,  // 250: kodex.controlplane.v1.ControlPlaneService.CancelRun:input_type -> kodex.controlplane.v1.CancelRunRequest
	30,  // 251: kodex.controlplane.v1.ControlPlaneService.GetRunLogs:input_type -> kodex.controlplane.v1.GetRunLogsRequest
	19,  // 252: kodex.controlplane.v1.ControlPlaneService.ListPendingApprovals:input_type -> kodex.controlplane.v1.ListPendingApprovalsRequest
	21,  // 253: kodex.controlplane.v1.ControlPlaneService.ResolveApprovalDecision:input_type -> kodex.controlplane.v1.ResolveApprovalDecisionRequest
	35,  // 254: kodex.controlplane.v1.ControlPlaneService.ListRunEvents:input_type -> kodex.controlplane.v1.ListRunEventsRequest
	44,  // 255: kodex.controlplane.v1.ControlPlaneService.ListRunLearningFeedback:input_type -> kodex.controlplane.v1.ListRunLearningFeedbackRequest
	38,  // 256: kodex.controlplane.v1.ControlPlaneService.ListSystemSettings:input_type -> kodex.controlplane.v1.ListSystemSettingsRequest
	40,  // 257: kodex.controlplane.v1.ControlPlaneService.GetSystemSetting:input_type -> kodex.controlplane.v1.GetSystemSettingRequest
	41,  // 258: kodex.controlplane.v1.ControlPlaneService.UpdateSystemSettingBoolean:input_type -> kodex.controlplane.v1.UpdateSystemSettingBooleanRequest
	42,  // 259: kodex.controlplane.v1.ControlPlaneService.ResetSystemSetting:input_type -> kodex.controlplane.v1.ResetSystemSettingRequest
	47,  // 260: kodex.controlplane.v1.ControlPlaneService.ListUsers:input_type -> kodex.controlplane.v1.ListUsersRequest
	49,  // 261: kodex.controlplane.v1.ControlPlaneService.CreateUser:input_type -> kodex.controlplane.v1.CreateUserRequest
	50,  // 262: kodex.controlplane.v1.ControlPlaneService.DeleteUser:input_type -> kodex.controlplane.v1.DeleteUserRequest
	52,  // 263: kodex.controlplane.v1.ControlPlaneService.ListProjectMembers:input_type -> kodex.controlplane.v1.ListProjectMembersRequest
	54,  // 264: kodex.controlplane.v1.ControlPlaneService.UpsertProjectMember:input_type -> kodex.controlplane.v1.UpsertProjectMemberRequest
	55,  // 265: kodex.controlplane.v1.ControlPlaneService.DeleteProjectMember:input_type -> kodex.controlplane.v1.DeleteProjectMemberRequest
	56,  // 266: kodex.controlplane.v1.ControlPlaneService.SetProjectMemberLearningModeOverride:input_type -> kodex.controlplane.v1.SetProjectMemberLearningModeOverrideRequest
	58,  // 267: kodex.controlplane.v1.ControlPlaneService.ListProjectRepositories:input_type -> kodex.controlplane.v1.ListProjectRepositoriesRequest
	60,  // 268: kodex.controlplane.v1.ControlPlaneService.UpsertProjectRepository:input_type -> kodex.controlplane.v1.UpsertProjectRepositoryRequest
	61,  // 269: kodex.controlplane.v1.ControlPlaneService.DeleteProjectRepository:input_type -> kodex.controlplane.v1.DeleteProjectRepositoryRequest
	62,  // 270: kodex.controlplane.v1.ControlPlaneService.UpsertRepositoryBotParams:input_type -> kodex.controlplane.v1.UpsertRepositoryBotParamsRequest
	63,  // 271: kodex.controlplane.v1.ControlPlaneService.RunRepositoryPreflight:input_type -> kodex.controlplane.v1.RunRepositoryPreflightRequest
	67,  // 272: kodex.controlplane.v1.ControlPlaneService.GetProjectGitHubTokens:input_type -> kodex.controlplane.v1.GetProjectGitHubTokensRequest
	68,  // 273: kodex.controlplane.v1.ControlPlaneService.UpsertProjectGitHubTokens:input_type -> kodex.controlplane.v1.UpsertProjectGitHubTokensRequest
	69,  // 274: kodex.controlplane.v1.ControlPlaneService.PreviewNextStepAction:input_type -> kodex.controlplane.v1.NextStepActionRequest
	69,  // 275: kodex.controlplane.v1.ControlPlaneService.ExecuteNextStepAction:input_type -> kodex.controlplane.v1.NextStepActionRequest
	77,  // 276: kodex.controlplane.v1.ControlPlaneService.ListDocsetGroups:input_type -> kodex.controlplane.v1.ListDocsetGroupsRequest
	79,  // 277: kodex.controlplane.v1.ControlPlaneService.ImportDocset:input_type -> kodex.controlplane.v1.ImportDocsetRequest
	81,  // 278: kodex.controlplane.v1.ControlPlaneService.SyncDocset:input_type -> kodex.controlplane.v1.SyncDocsetRequest
	83,  // 279: kodex.controlplane.v1.ControlPlaneService.IssueRunMCPToken:input_type -> kodex.controlplane.v1.IssueRunMCPTokenRequest
	85,  // 280: kodex.controlplane.v1.ControlPlaneService.PrepareRunEnvironment:input_type -> kodex.controlplane.v1.PrepareRunEnvironmentRequest
	87,  // 281: kodex.controlplane.v1.ControlPlaneService.EvaluateRuntimeReuse:input_type -> kodex.controlplane.v1.EvaluateRuntimeReuseRequest
	89,  // 282: kodex.controlplane.v1.ControlPlaneService.ClaimNextInteractionDispatch:input_type -> kodex.controlplane.v1.ClaimNextInteractionDispatchRequest
	91,  // 283: kodex.controlplane.v1.ControlPlaneService.CompleteInteractionDispatch:input_type -> kodex.controlplane.v1.CompleteInteractionDispatchRequest
	93,  // 284: kodex.controlplane.v1.ControlPlaneService.ExpireNextInteraction:input_type -> kodex.controlplane.v1.ExpireNextInteractionRequest
	95,  // 285: kodex.controlplane.v1.ControlPlaneService.ProcessNextGitHubRateLimitWait:input_type -> kodex.controlplane.v1.ProcessNextGitHubRateLimitWaitRequest
	98,  // 286: kodex.controlplane.v1.ControlPlaneService.ReportGitHubRateLimitSignal:input_type -> kodex.controlplane.v1.ReportGitHubRateLimitSignalRequest
	104, // 287: kodex.controlplane.v1.ControlPlaneService.ReportChangeGovernanceDraftSignal:input_type -> kodex.controlplane.v1.ReportChangeGovernanceDraftSignalRequest
	106, // 288: kodex.controlplane.v1.ControlPlaneService.PublishChangeGovernanceWaveMap:input_type -> kodex.controlplane.v1.PublishChangeGovernanceWaveMapRequest
	108, // 289: kodex.controlplane.v1.ControlPlaneService.UpsertChangeGovernanceEvidenceSignal:input_type -> kodex.controlplane.v1.UpsertChangeGovernanceEvidenceSignalRequest
	143, // 290: kodex.controlplane.v1.ControlPlaneService.GetMissionControlWorkspace:input_type -> kodex.controlplane.v1.GetMissionControlWorkspaceRequest
	154, // 291: kodex.controlplane.v1.ControlPlaneService.GetMissionControlNode:input_type -> kodex.controlplane.v1.GetMissionControlNodeRequest
	155, // 292: kodex.controlplane.v1.ControlPlaneService.ListMissionControlNodeActivity:input_type -> kodex.controlplane.v1.ListMissionControlNodeActivityRequest
	157, // 293: kodex.controlplane.v1.ControlPlaneService.PreviewMissionControlLaunch:input_type -> kodex.controlplane.v1.PreviewMissionControlLaunchRequest
	130, // 294: kodex.controlplane.v1.ControlPlaneService.GetMissionControlSnapshot:input_type -> kodex.controlplane.v1.GetMissionControlSnapshotRequest
	132, // 295: kodex.controlplane.v1.ControlPlaneService.GetMissionControlEntity:input_type -> kodex.controlplane.v1.GetMissionControlEntityRequest
	133, // 296: kodex.controlplane.v1.ControlPlaneService.ListMissionControlTimeline:input_type -> kodex.controlplane.v1.ListMissionControlTimelineRequest
	111, // 297: kodex.controlplane.v1.ControlPlaneService.ListMissionControlWarmupProjects:input_type -> kodex.controlplane.v1.ListMissionControlWarmupProjectsRequest
	113, // 298: kodex.controlplane.v1.ControlPlaneService.RunMissionControlWarmup:input_type -> kodex.controlplane.v1.RunMissionControlWarmupRequest
	171, // 299: kodex.controlplane.v1.ControlPlaneService.SubmitMissionControlCommand:input_type -> kodex.controlplane.v1.SubmitMissionControlCommandRequest
	172, // 300: kodex.controlplane.v1.ControlPlaneService.GetMissionControlCommand:input_type -> kodex.controlplane.v1.GetMissionControlCommandRequest
	163, // 301: kodex.controlplane.v1.ControlPlaneService.ClaimMissionControlPendingCommands:input_type -> kodex.controlplane.v1.ClaimMissionControlPendingCommandsRequest
	173, // 302: kodex.controlplane.v1.ControlPlaneService.QueueMissionControlCommand:input_type -> kodex.controlplane.v1.QueueMissionControlCommandRequest
	174, // 303: kodex.controlplane.v1.ControlPlaneService.MarkMissionControlCommandPendingSync:input_type -> kodex.controlplane.v1.MarkMissionControlCommandPendingSyncRequest
	175, // 304: kodex.controlplane.v1.ControlPlaneService.MarkMissionControlCommandReconciled:input_type -> kodex.controlplane.v1.MarkMissionControlCommandReconciledRequest
	176, // 305: kodex.controlplane.v1.ControlPlaneService.MarkMissionControlCommandFailed:input_type -> kodex.controlplane.v1.MarkMissionControlCommandFailedRequest
	177, // 306: kodex.controlplane.v1.ControlPlaneService.SubmitInteractionCallback:input_type -> kodex.controlplane.v1.SubmitInteractionCallbackRequest
	177, // 307: kodex.controlplane.v1.ControlPlaneService.SubmitAdapterInteractionCallback:input_type -> kodex.controlplane.v1.SubmitInteractionCallbackRequest
	181, // 308: kodex.controlplane.v1.ControlPlaneService.ListRuntimeDeployTasks:input_type -> kodex.controlplane.v1.ListRuntimeDeployTasksRequest
	183, // 309: kodex.controlplane.v1.ControlPlaneService.GetRuntimeDeployTask:input_type -> kodex.controlplane.v1.GetRuntimeDeployTaskRequest
	184, // 310: kodex.controlplane.v1.ControlPlaneService.CancelRuntimeDeployTask:input_type -> kodex.controlplane.v1.CancelRuntimeDeployTaskRequest
	185, // 311: kodex.controlplane.v1.ControlPlaneService.StopRuntimeDeployTask:input_type -> kodex.controlplane.v1.StopRuntimeDeployTaskRequest
	188, // 312: kodex.controlplane.v1.ControlPlaneService.ListRuntimeErrors:input_type -> kodex.controlplane.v1.ListRuntimeErrorsRequest
	190, // 313: kodex.controlplane.v1.ControlPlaneService.MarkRuntimeErrorViewed:input_type -> kodex.controlplane.v1.MarkRuntimeErrorViewedRequest
	199, // 314: kodex.controlplane.v1.ControlPlaneService.UpsertAgentSession:input_type -> kodex.controlplane.v1.UpsertAgentSessionRequest
	202, // 315: kodex.controlplane.v1.ControlPlaneService.GetLatestAgentSession:input_type -> kodex.controlplane.v1.GetLatestAgentSessionRequest
	204, // 316: kodex.controlplane.v1.ControlPlaneService.GetRunInteractionResumePayload:input_type -> kodex.controlplane.v1.GetRunInteractionResumePayloadRequest
	206, // 317: kodex.controlplane.v1.ControlPlaneService.GetRunGitHubRateLimitResumePayload:input_type -> kodex.controlplane.v1.GetRunGitHubRateLimitResumePayloadRequest
	208, // 318: kodex.controlplane.v1.ControlPlaneService.LookupRunPullRequest:input_type -> kodex.controlplane.v1.LookupRunPullRequestRequest
	210, // 319: kodex.controlplane.v1.ControlPlaneService.InsertRunFlowEvent:input_type -> kodex.controlplane.v1.InsertRunFlowEventRequest
	212, // 320: kodex.controlplane.v1.ControlPlaneService.UpsertRunStatusComment:input_type -> kodex.controlplane.v1.UpsertRunStatusCommentRequest
	214, // 321: kodex.controlplane.v1.ControlPlaneService.GetCodexAuth:input_type -> kodex.controlplane.v1.GetCodexAuthRequest
	216, // 322: kodex.controlplane.v1.ControlPlaneService.UpsertCodexAuth:input_type -> kodex.controlplane.v1.UpsertCodexAuthRequest
	218, // 323: kodex.controlplane.v1.ControlPlaneService.DeleteRunNamespace:input_type -> kodex.controlplane.v1.DeleteRunNamespaceRequest
	2,   // 324: kodex.controlplane.v1.ControlPlaneService.IngestGitHubWebhook:output_type -> kodex.controlplane.v1.IngestGitHubWebhookResponse
	4,   // 325: kodex.controlplane.v1.ControlPlaneService.ResolveStaffByEmail:output_type -> kodex.controlplane.v1.ResolveStaffByEmailResponse
	6,   // 326: kodex.controlplane.v1.ControlPlaneService.AuthorizeOAuthUser:output_type -> kodex.controlplane.v1.AuthorizeOAuthUserResponse
	9,   // 327: kodex.controlplane.v1.ControlPlaneService.ListProjects:output_type -> kodex.controlplane.v1.ListProjectsResponse
	7,   // 328: kodex.controlplane.v1.ControlPlaneService.UpsertProject:output_type -> kodex.controlplane.v1.Project
	7,   // 329: kodex.controlplane.v1.ControlPlaneService.GetProject:output_type -> kodex.controlplane.v1.Project
	224, // 330: kodex.controlplane.v1.ControlPlaneService.DeleteProject:output_type -> google.protobuf.Empty
	24,  // 331: kodex.controlplane.v1.ControlPlaneService.ListRuns:output_type -> kodex.controlplane.v1.ListRunsResponse
	28,  // 332: kodex.controlplane.v1.ControlPlaneService.ListRunWaits:output_type -> kodex.controlplane.v1.ListRunWaitsResponse
	13,  // 333: kodex.controlplane.v1.ControlPlaneService.GetRun:output_type -> kodex.controlplane.v1.Run
	32,  // 334: kodex.controlplane.v1.ControlPlaneService.CancelRun:output_type -> kodex.controlplane.v1.RunActionResponse
	33,  // 335: kodex.controlplane.v1.ControlPlaneService.GetRunLogs:output_type -> kodex.controlplane.v1.RunLogs
	20,  // 336: kodex.controlplane.v1.ControlPlaneService.ListPendingApprovals:output_type -> kodex.controlplane.v1.ListPendingApprovalsResponse
	22,  // 337: kodex.controlplane.v1.ControlPlaneService.ResolveApprovalDecision:output_type -> kodex.controlplane.v1.ResolveApprovalDecisionResponse
	36,  // 338: kodex.controlplane.v1.ControlPlaneService.ListRunEvents:output_type -> kodex.controlplane.v1.ListRunEventsResponse
	45,  // 339: kodex.controlplane.v1.ControlPlaneService.ListRunLearningFeedback:output_type -> kodex.controlplane.v1.ListRunLearningFeedbackResponse
	39,  // 340: kodex.controlplane.v1.ControlPlaneService.ListSystemSettings:output_type -> kodex.controlplane.v1.ListSystemSettingsResponse
	37,  // 341: kodex.controlplane.v1.ControlPlaneService.GetSystemSetting:output_type -> kodex.controlplane.v1.SystemSetting
	37,  // 342: kodex.controlplane.v1.ControlPlaneService.UpdateSystemSettingBoolean:output_type -> kodex.controlplane.v1.SystemSetting
	37,  // 343: kodex.controlplane.v1.ControlPlaneService.ResetSystemSetting:output_type -> kodex.controlplane.v1.SystemSetting
	48,  // 344: kodex.controlplane.v1.ControlPlaneService.ListUsers:output_type -> kodex.controlplane.v1.ListUsersResponse
	46,  // 345: kodex.controlplane.v1.ControlPlaneService.CreateUser:output_type -> kodex.controlplane.v1.User
	224, // 346: kodex.controlplane.v1.ControlPlaneService.DeleteUser:output_type -> google.protobuf.Empty
	53,  // 347: kodex.controlplane.v1.ControlPlaneService.ListProjectMembers:output_type -> kodex.controlplane.v1.ListProjectMembersResponse
	224, // 348: kodex.controlplane.v1.ControlPlaneService.UpsertProjectMember:output_type -> google.protobuf.Empty
	224, // 349: kodex.controlplane.v1.ControlPlaneService.DeleteProjectMember:output_type -> google.protobuf.Empty
	224, // 350: kodex.controlplane.v1.ControlPlaneService.SetProjectMemberLearningModeOverride:output_type -> google.protobuf.Empty
	59,  // 351: kodex.controlplane.v1.ControlPlaneService.ListProjectRepositories:output_type -> kodex.controlplane.v1.ListProjectRepositoriesResponse
	57,  // 352: kodex.controlplane.v1.ControlPlaneService.UpsertProjectRepository:output_type -> kodex.controlplane.v1.RepositoryBinding
	224, // 353: kodex.controlplane.v1.ControlPlaneService.DeleteProjectRepository:output_type -> google.protobuf.Empty
	224, // 354: kodex.controlplane.v1.ControlPlaneService.UpsertRepositoryBotParams:output_type -> google.protobuf.Empty
	65,  // 355: kodex.controlplane.v1.ControlPlaneService.RunRepositoryPreflight:output_type -> kodex.controlplane.v1.RunRepositoryPreflightResponse
	66,  // 356: kodex.controlplane.v1.ControlPlaneService.GetProjectGitHubTokens:output_type -> kodex.controlplane.v1.ProjectGitHubTokens
	224, // 357: kodex.controlplane.v1.ControlPlaneService.UpsertProjectGitHubTokens:output_type -> google.protobuf.Empty
	70,  // 358: kodex.controlplane.v1.ControlPlaneService.PreviewNextStepAction:output_type -> kodex.controlplane.v1.NextStepActionResponse
	70,  // 359: kodex.controlplane.v1.ControlPlaneService.ExecuteNextStepAction:output_type -> kodex.controlplane.v1.NextStepActionResponse
	78,  // 360: kodex.controlplane.v1.ControlPlaneService.ListDocsetGroups:output_type -> kodex.controlplane.v1.ListDocsetGroupsResponse
	80,  // 361: kodex.controlplane.v1.ControlPlaneService.ImportDocset:output_type -> kodex.controlplane.v1.ImportDocsetResponse
	82,  // 362: kodex.controlplane.v1.ControlPlaneService.SyncDocset:output_type -> kodex.controlplane.v1.SyncDocsetResponse
	84,  // 363: kodex.controlplane.v1.ControlPlaneService.IssueRunMCPToken:output_type -> kodex.controlplane.v1.IssueRunMCPTokenResponse
	86,  // 364: kodex.controlplane.v1.ControlPlaneService.PrepareRunEnvironment:output_type -> kodex.controlplane.v1.PrepareRunEnvironmentResponse
	88,  // 365: kodex.controlplane.v1.ControlPlaneService.EvaluateRuntimeReuse:output_type -> kodex.controlplane.v1.EvaluateRuntimeReuseResponse
	90,  // 366: kodex.controlplane.v1.ControlPlaneService.ClaimNextInteractionDispatch:output_type -> kodex.controlplane.v1.ClaimNextInteractionDispatchResponse
	92,  // 367: kodex.controlplane.v1.ControlPlaneService.CompleteInteractionDispatch:output_type -> kodex.controlplane.v1.CompleteInteractionDispatchResponse
	94,  // 368: kodex.controlplane.v1.ControlPlaneService.ExpireNextInteraction:output_type -> kodex.controlplane.v1.ExpireNextInteractionResponse
	96,  // 369: kodex.controlplane.v1.ControlPlaneService.ProcessNextGitHubRateLimitWait:output_type -> kodex.controlplane.v1.ProcessNextGitHubRateLimitWaitResponse
	99,  // 370: kodex.controlplane.v1.ControlPlaneService.ReportGitHubRateLimitSignal:output_type -> kodex.controlplane.v1.ReportGitHubRateLimitSignalResponse
	105, // 371: kodex.controlplane.v1.ControlPlaneService.ReportChangeGovernanceDraftSignal:output_type -> kodex.controlplane.v1.ReportChangeGovernanceDraftSignalResponse
	107, // 372: kodex.controlplane.v1.ControlPlaneService.PublishChangeGovernanceWaveMap:output_type -> kodex.controlplane.v1.PublishChangeGovernanceWaveMapResponse
	109, // 373: kodex.controlplane.v1.ControlPlaneService.UpsertChangeGovernanceEvidenceSignal:output_type -> kodex.controlplane.v1.UpsertChangeGovernanceEvidenceSignalResponse
	144, // 374: kodex.controlplane.v1.ControlPlaneService.GetMissionControlWorkspace:output_type -> kodex.controlplane.v1.GetMissionControlWorkspaceResponse
	153, // 375: kodex.controlplane.v1.ControlPlaneService.GetMissionControlNode:output_type -> kodex.controlplane.v1.MissionControlNodeDetails
	156, // 376: kodex.controlplane.v1.ControlPlaneService.ListMissionControlNodeActivity:output_type -> kodex.controlplane.v1.ListMissionControlNodeActivityResponse
	160, // 377: kodex.controlplane.v1.ControlPlaneService.PreviewMissionControlLaunch:output_type -> kodex.controlplane.v1.MissionControlLaunchPreview
	131, // 378: kodex.controlplane.v1.ControlPlaneService.GetMissionControlSnapshot:output_type -> kodex.controlplane.v1.GetMissionControlSnapshotResponse
	127, // 379: kodex.controlplane.v1.ControlPlaneService.GetMissionControlEntity:output_type -> kodex.controlplane.v1.MissionControlEntityDetails
	134, // 380: kodex.controlplane.v1.ControlPlaneService.ListMissionControlTimeline:output_type -> kodex.controlplane.v1.ListMissionControlTimelineResponse
	112, // 381: kodex.controlplane.v1.ControlPlaneService.ListMissionControlWarmupProjects:output_type -> kodex.controlplane.v1.ListMissionControlWarmupProjectsResponse
	114, // 382: kodex.controlplane.v1.ControlPlaneService.RunMissionControlWarmup:output_type -> kodex.controlplane.v1.RunMissionControlWarmupResponse
	165, // 383: kodex.controlplane.v1.ControlPlaneService.SubmitMissionControlCommand:output_type -> kodex.controlplane.v1.MissionControlCommandState
	165, // 384: kodex.controlplane.v1.ControlPlaneService.GetMissionControlCommand:output_type -> kodex.controlplane.v1.MissionControlCommandState
	164, // 385: kodex.controlplane.v1.ControlPlaneService.ClaimMissionControlPendingCommands:output_type -> kodex.controlplane.v1.ClaimMissionControlPendingCommandsResponse
	165, // 386: kodex.controlplane.v1.ControlPlaneService.QueueMissionControlCommand:output_type -> kodex.controlplane.v1.MissionControlCommandState
	165, // 387: kodex.controlplane.v1.ControlPlaneService.MarkMissionControlCommandPendingSync:output_type -> kodex.controlplane.v1.MissionControlCommandState
	165, // 388: kodex.controlplane.v1.ControlPlaneService.MarkMissionControlCommandReconciled:output_type -> kodex.controlplane.v1.MissionControlCommandState
	165, // 389: kodex.controlplane.v1.ControlPlaneService.MarkMissionControlCommandFailed:output_type -> kodex.controlplane.v1.MissionControlCommandState
	178, // 390: kodex.controlplane.v1.ControlPlaneService.SubmitInteractionCallback:output_type -> kodex.controlplane.v1.SubmitInteractionCallbackResponse
	178, // 391: kodex.controlplane.v1.ControlPlaneService.SubmitAdapterInteractionCallback:output_type -> kodex.controlplane.v1.SubmitInteractionCallbackResponse
	182, // 392: kodex.controlplane.v1.ControlPlaneService.ListRuntimeDeployTasks:output_type -> kodex.controlplane.v1.ListRuntimeDeployTasksResponse
	180, // 393: kodex.controlplane.v1.ControlPlaneService.GetRuntimeDeployTask:output_type -> kodex.controlplane.v1.RuntimeDeployTask
	186, // 394: kodex.controlplane.v1.ControlPlaneService.CancelRuntimeDeployTask:output_type -> kodex.controlplane.v1.RuntimeDeployTaskActionResponse
	186, // 395: kodex.controlplane.v1.ControlPlaneService.StopRuntimeDeployTask:output_type -> kodex.controlplane.v1.RuntimeDeployTaskActionResponse
	189, // 396: kodex.controlplane.v1.ControlPlaneService.ListRuntimeErrors:output_type -> kodex.controlplane.v1.ListRuntimeErrorsResponse
	187, // 397: kodex.controlplane.v1.ControlPlaneService.MarkRuntimeErrorViewed:output_type -> kodex.controlplane.v1.RuntimeError
	200, // 398: kodex.controlplane.v1.ControlPlaneService.UpsertAgentSession:output_type -> kodex.controlplane.v1.UpsertAgentSessionResponse
	203, // 399: kodex.controlplane.v1.ControlPlaneService.GetLatestAgentSession:output_type -> kodex.controlplane.v1.GetLatestAgentSessionResponse
	205, // 400: kodex.controlplane.v1.ControlPlaneService.GetRunInteractionResumePayload:output_type -> kodex.controlplane.v1.GetRunInteractionResumePayloadResponse
	207, // 401: kodex.controlplane.v1.ControlPlaneService.GetRunGitHubRateLimitResumePayload:output_type -> kodex.controlplane.v1.GetRunGitHubRateLimitResumePayloadResponse
	209, // 402: kodex.controlplane.v1.ControlPlaneService.LookupRunPullRequest:output_type -> kodex.controlplane.v1.LookupRunPullRequestResponse
	211, // 403: kodex.controlplane.v1.ControlPlaneService.InsertRunFlowEvent:output_type -> kodex.controlplane.v1.InsertRunFlowEventResponse
	213, // 404: kodex.controlplane.v1.ControlPlaneService.UpsertRunStatusComment:output_type -> kodex.controlplane.v1.UpsertRunStatusCommentResponse
	215, // 405: kodex.controlplane.v1.ControlPlaneService.GetCodexAuth:output_type -> kodex.controlplane.v1.GetCodexAuthResponse
	217, // 406: kodex.controlplane.v1.ControlPlaneService.UpsertCodexAuth:output_type -> kodex.controlplane.v1.UpsertCodexAuthResponse
	219, // 407: kodex.controlplane.v1.ControlPlaneService.DeleteRunNamespace:output_type -> kodex.controlplane.v1.DeleteRunNamespaceResponse
	324, // [324:408] is the sub-list for method output_type
	240, // [240:324] is the sub-list for method input_type
	240, // [240:240] is the sub-list for extension type_name
	240, // [240:240] is the sub-list for extension extendee
	0,   // [0:240] is the sub-list for field type_name
}

func init() { file_kodex_controlplane_v1_controlplane_proto_init() }
func file_kodex_controlplane_v1_controlplane_proto_init() {
	if File_kodex_controlplane_v1_controlplane_proto != nil {
		return
	}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[3].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[13].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[18].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[21].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[22].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[25].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[27].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[31].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[32].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[37].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[43].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[46].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[54].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[57].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[60].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[62].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[64].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[66].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[68].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[69].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[70].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[71].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[72].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[74].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[91].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[97].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[98].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[104].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[120].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[121].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[123].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[124].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[125].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[126].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[127].OneofWrappers = []any{
		(*MissionControlEntityDetails_WorkItem)(nil),
		(*MissionControlEntityDetails_Discussion)(nil),
		(*MissionControlEntityDetails_PullRequest)(nil),
		(*MissionControlEntityDetails_Agent)(nil),
	}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[129].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[130].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[133].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[134].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[136].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[142].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[143].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[145].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[146].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[147].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[152].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[153].OneofWrappers = []any{
		(*MissionControlNodeDetails_Discussion)(nil),
		(*MissionControlNodeDetails_WorkItem)(nil),
		(*MissionControlNodeDetails_Run)(nil),
		(*MissionControlNodeDetails_PullRequest)(nil),
	}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[155].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[156].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[160].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[161].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[162].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[165].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[166].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[167].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[168].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[169].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[170].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[171].OneofWrappers = []any{
		(*SubmitMissionControlCommandRequest_DiscussionCreate)(nil),
		(*SubmitMissionControlCommandRequest_WorkItemCreate)(nil),
		(*SubmitMissionControlCommandRequest_DiscussionFormalize)(nil),
		(*SubmitMissionControlCommandRequest_StageNextStep)(nil),
		(*SubmitMissionControlCommandRequest_RetrySync)(nil),
	}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[173].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[174].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[175].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[176].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[177].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[180].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[181].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[184].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[185].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[187].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[188].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[193].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[197].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[199].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[200].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[201].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[208].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[209].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[212].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[213].OneofWrappers = []any{}
	file_kodex_controlplane_v1_controlplane_proto_msgTypes[219].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_kodex_controlplane_v1_controlplane_proto_rawDesc), len(file_kodex_controlplane_v1_controlplane_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   220,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_kodex_controlplane_v1_controlplane_proto_goTypes,
		DependencyIndexes: file_kodex_controlplane_v1_controlplane_proto_depIdxs,
		MessageInfos:      file_kodex_controlplane_v1_controlplane_proto_msgTypes,
	}.Build()
	File_kodex_controlplane_v1_controlplane_proto = out.File
	file_kodex_controlplane_v1_controlplane_proto_goTypes = nil
	file_kodex_controlplane_v1_controlplane_proto_depIdxs = nil
}
