// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v3.21.12
// source: kodex/runtime/v1/runtime_manager.proto

package runtimev1

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	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)
)

// RuntimeMode classifies runtime isolation level.
type RuntimeMode int32

const (
	RuntimeMode_RUNTIME_MODE_UNSPECIFIED          RuntimeMode = 0
	RuntimeMode_RUNTIME_MODE_CODE_ONLY            RuntimeMode = 1
	RuntimeMode_RUNTIME_MODE_FULL_ENV             RuntimeMode = 2
	RuntimeMode_RUNTIME_MODE_READ_ONLY_PRODUCTION RuntimeMode = 3
)

// Enum value maps for RuntimeMode.
var (
	RuntimeMode_name = map[int32]string{
		0: "RUNTIME_MODE_UNSPECIFIED",
		1: "RUNTIME_MODE_CODE_ONLY",
		2: "RUNTIME_MODE_FULL_ENV",
		3: "RUNTIME_MODE_READ_ONLY_PRODUCTION",
	}
	RuntimeMode_value = map[string]int32{
		"RUNTIME_MODE_UNSPECIFIED":          0,
		"RUNTIME_MODE_CODE_ONLY":            1,
		"RUNTIME_MODE_FULL_ENV":             2,
		"RUNTIME_MODE_READ_ONLY_PRODUCTION": 3,
	}
)

func (x RuntimeMode) Enum() *RuntimeMode {
	p := new(RuntimeMode)
	*p = x
	return p
}

func (x RuntimeMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RuntimeMode) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[0].Descriptor()
}

func (RuntimeMode) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[0]
}

func (x RuntimeMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RuntimeMode.Descriptor instead.
func (RuntimeMode) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{0}
}

// SlotStatus is the slot lifecycle status.
type SlotStatus int32

const (
	SlotStatus_SLOT_STATUS_UNSPECIFIED     SlotStatus = 0
	SlotStatus_SLOT_STATUS_PREWARMED       SlotStatus = 1
	SlotStatus_SLOT_STATUS_RESERVED        SlotStatus = 2
	SlotStatus_SLOT_STATUS_MATERIALIZING   SlotStatus = 3
	SlotStatus_SLOT_STATUS_READY           SlotStatus = 4
	SlotStatus_SLOT_STATUS_IN_USE          SlotStatus = 5
	SlotStatus_SLOT_STATUS_RELEASING       SlotStatus = 6
	SlotStatus_SLOT_STATUS_FAILED          SlotStatus = 7
	SlotStatus_SLOT_STATUS_CLEANUP_PENDING SlotStatus = 8
	SlotStatus_SLOT_STATUS_CLEANED         SlotStatus = 9
)

// Enum value maps for SlotStatus.
var (
	SlotStatus_name = map[int32]string{
		0: "SLOT_STATUS_UNSPECIFIED",
		1: "SLOT_STATUS_PREWARMED",
		2: "SLOT_STATUS_RESERVED",
		3: "SLOT_STATUS_MATERIALIZING",
		4: "SLOT_STATUS_READY",
		5: "SLOT_STATUS_IN_USE",
		6: "SLOT_STATUS_RELEASING",
		7: "SLOT_STATUS_FAILED",
		8: "SLOT_STATUS_CLEANUP_PENDING",
		9: "SLOT_STATUS_CLEANED",
	}
	SlotStatus_value = map[string]int32{
		"SLOT_STATUS_UNSPECIFIED":     0,
		"SLOT_STATUS_PREWARMED":       1,
		"SLOT_STATUS_RESERVED":        2,
		"SLOT_STATUS_MATERIALIZING":   3,
		"SLOT_STATUS_READY":           4,
		"SLOT_STATUS_IN_USE":          5,
		"SLOT_STATUS_RELEASING":       6,
		"SLOT_STATUS_FAILED":          7,
		"SLOT_STATUS_CLEANUP_PENDING": 8,
		"SLOT_STATUS_CLEANED":         9,
	}
)

func (x SlotStatus) Enum() *SlotStatus {
	p := new(SlotStatus)
	*p = x
	return p
}

func (x SlotStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SlotStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[1].Descriptor()
}

func (SlotStatus) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[1]
}

func (x SlotStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SlotStatus.Descriptor instead.
func (SlotStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{1}
}

// WorkspaceSourceKind classifies one materialized source.
type WorkspaceSourceKind int32

const (
	WorkspaceSourceKind_WORKSPACE_SOURCE_KIND_UNSPECIFIED       WorkspaceSourceKind = 0
	WorkspaceSourceKind_WORKSPACE_SOURCE_KIND_CODE              WorkspaceSourceKind = 1
	WorkspaceSourceKind_WORKSPACE_SOURCE_KIND_DOCUMENTATION     WorkspaceSourceKind = 2
	WorkspaceSourceKind_WORKSPACE_SOURCE_KIND_GUIDANCE_PACKAGE  WorkspaceSourceKind = 3
	WorkspaceSourceKind_WORKSPACE_SOURCE_KIND_GENERATED_CONTEXT WorkspaceSourceKind = 4
)

// Enum value maps for WorkspaceSourceKind.
var (
	WorkspaceSourceKind_name = map[int32]string{
		0: "WORKSPACE_SOURCE_KIND_UNSPECIFIED",
		1: "WORKSPACE_SOURCE_KIND_CODE",
		2: "WORKSPACE_SOURCE_KIND_DOCUMENTATION",
		3: "WORKSPACE_SOURCE_KIND_GUIDANCE_PACKAGE",
		4: "WORKSPACE_SOURCE_KIND_GENERATED_CONTEXT",
	}
	WorkspaceSourceKind_value = map[string]int32{
		"WORKSPACE_SOURCE_KIND_UNSPECIFIED":       0,
		"WORKSPACE_SOURCE_KIND_CODE":              1,
		"WORKSPACE_SOURCE_KIND_DOCUMENTATION":     2,
		"WORKSPACE_SOURCE_KIND_GUIDANCE_PACKAGE":  3,
		"WORKSPACE_SOURCE_KIND_GENERATED_CONTEXT": 4,
	}
)

func (x WorkspaceSourceKind) Enum() *WorkspaceSourceKind {
	p := new(WorkspaceSourceKind)
	*p = x
	return p
}

func (x WorkspaceSourceKind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (WorkspaceSourceKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[2].Descriptor()
}

func (WorkspaceSourceKind) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[2]
}

func (x WorkspaceSourceKind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use WorkspaceSourceKind.Descriptor instead.
func (WorkspaceSourceKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{2}
}

// WorkspaceSourceAccessMode controls whether a source is editable.
type WorkspaceSourceAccessMode int32

const (
	WorkspaceSourceAccessMode_WORKSPACE_SOURCE_ACCESS_MODE_UNSPECIFIED WorkspaceSourceAccessMode = 0
	WorkspaceSourceAccessMode_WORKSPACE_SOURCE_ACCESS_MODE_READ        WorkspaceSourceAccessMode = 1
	WorkspaceSourceAccessMode_WORKSPACE_SOURCE_ACCESS_MODE_WRITE       WorkspaceSourceAccessMode = 2
)

// Enum value maps for WorkspaceSourceAccessMode.
var (
	WorkspaceSourceAccessMode_name = map[int32]string{
		0: "WORKSPACE_SOURCE_ACCESS_MODE_UNSPECIFIED",
		1: "WORKSPACE_SOURCE_ACCESS_MODE_READ",
		2: "WORKSPACE_SOURCE_ACCESS_MODE_WRITE",
	}
	WorkspaceSourceAccessMode_value = map[string]int32{
		"WORKSPACE_SOURCE_ACCESS_MODE_UNSPECIFIED": 0,
		"WORKSPACE_SOURCE_ACCESS_MODE_READ":        1,
		"WORKSPACE_SOURCE_ACCESS_MODE_WRITE":       2,
	}
)

func (x WorkspaceSourceAccessMode) Enum() *WorkspaceSourceAccessMode {
	p := new(WorkspaceSourceAccessMode)
	*p = x
	return p
}

func (x WorkspaceSourceAccessMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (WorkspaceSourceAccessMode) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[3].Descriptor()
}

func (WorkspaceSourceAccessMode) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[3]
}

func (x WorkspaceSourceAccessMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use WorkspaceSourceAccessMode.Descriptor instead.
func (WorkspaceSourceAccessMode) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{3}
}

// WorkspaceMaterializationStatus is the source preparation status.
type WorkspaceMaterializationStatus int32

const (
	WorkspaceMaterializationStatus_WORKSPACE_MATERIALIZATION_STATUS_UNSPECIFIED WorkspaceMaterializationStatus = 0
	WorkspaceMaterializationStatus_WORKSPACE_MATERIALIZATION_STATUS_PENDING     WorkspaceMaterializationStatus = 1
	WorkspaceMaterializationStatus_WORKSPACE_MATERIALIZATION_STATUS_RUNNING     WorkspaceMaterializationStatus = 2
	WorkspaceMaterializationStatus_WORKSPACE_MATERIALIZATION_STATUS_COMPLETED   WorkspaceMaterializationStatus = 3
	WorkspaceMaterializationStatus_WORKSPACE_MATERIALIZATION_STATUS_FAILED      WorkspaceMaterializationStatus = 4
	WorkspaceMaterializationStatus_WORKSPACE_MATERIALIZATION_STATUS_CANCELLED   WorkspaceMaterializationStatus = 5
)

// Enum value maps for WorkspaceMaterializationStatus.
var (
	WorkspaceMaterializationStatus_name = map[int32]string{
		0: "WORKSPACE_MATERIALIZATION_STATUS_UNSPECIFIED",
		1: "WORKSPACE_MATERIALIZATION_STATUS_PENDING",
		2: "WORKSPACE_MATERIALIZATION_STATUS_RUNNING",
		3: "WORKSPACE_MATERIALIZATION_STATUS_COMPLETED",
		4: "WORKSPACE_MATERIALIZATION_STATUS_FAILED",
		5: "WORKSPACE_MATERIALIZATION_STATUS_CANCELLED",
	}
	WorkspaceMaterializationStatus_value = map[string]int32{
		"WORKSPACE_MATERIALIZATION_STATUS_UNSPECIFIED": 0,
		"WORKSPACE_MATERIALIZATION_STATUS_PENDING":     1,
		"WORKSPACE_MATERIALIZATION_STATUS_RUNNING":     2,
		"WORKSPACE_MATERIALIZATION_STATUS_COMPLETED":   3,
		"WORKSPACE_MATERIALIZATION_STATUS_FAILED":      4,
		"WORKSPACE_MATERIALIZATION_STATUS_CANCELLED":   5,
	}
)

func (x WorkspaceMaterializationStatus) Enum() *WorkspaceMaterializationStatus {
	p := new(WorkspaceMaterializationStatus)
	*p = x
	return p
}

func (x WorkspaceMaterializationStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (WorkspaceMaterializationStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[4].Descriptor()
}

func (WorkspaceMaterializationStatus) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[4]
}

func (x WorkspaceMaterializationStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use WorkspaceMaterializationStatus.Descriptor instead.
func (WorkspaceMaterializationStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{4}
}

// BuildContextStatus is the self-deploy build context lifecycle status.
type BuildContextStatus int32

const (
	BuildContextStatus_BUILD_CONTEXT_STATUS_UNSPECIFIED BuildContextStatus = 0
	BuildContextStatus_BUILD_CONTEXT_STATUS_PENDING     BuildContextStatus = 1
	BuildContextStatus_BUILD_CONTEXT_STATUS_RUNNING     BuildContextStatus = 2
	BuildContextStatus_BUILD_CONTEXT_STATUS_READY       BuildContextStatus = 3
	BuildContextStatus_BUILD_CONTEXT_STATUS_FAILED      BuildContextStatus = 4
)

// Enum value maps for BuildContextStatus.
var (
	BuildContextStatus_name = map[int32]string{
		0: "BUILD_CONTEXT_STATUS_UNSPECIFIED",
		1: "BUILD_CONTEXT_STATUS_PENDING",
		2: "BUILD_CONTEXT_STATUS_RUNNING",
		3: "BUILD_CONTEXT_STATUS_READY",
		4: "BUILD_CONTEXT_STATUS_FAILED",
	}
	BuildContextStatus_value = map[string]int32{
		"BUILD_CONTEXT_STATUS_UNSPECIFIED": 0,
		"BUILD_CONTEXT_STATUS_PENDING":     1,
		"BUILD_CONTEXT_STATUS_RUNNING":     2,
		"BUILD_CONTEXT_STATUS_READY":       3,
		"BUILD_CONTEXT_STATUS_FAILED":      4,
	}
)

func (x BuildContextStatus) Enum() *BuildContextStatus {
	p := new(BuildContextStatus)
	*p = x
	return p
}

func (x BuildContextStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (BuildContextStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[5].Descriptor()
}

func (BuildContextStatus) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[5]
}

func (x BuildContextStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use BuildContextStatus.Descriptor instead.
func (BuildContextStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{5}
}

// JobType classifies platform technical jobs.
type JobType int32

const (
	JobType_JOB_TYPE_UNSPECIFIED               JobType = 0
	JobType_JOB_TYPE_MIRROR                    JobType = 1
	JobType_JOB_TYPE_BUILD                     JobType = 2
	JobType_JOB_TYPE_DEPLOY                    JobType = 3
	JobType_JOB_TYPE_CLEANUP                   JobType = 4
	JobType_JOB_TYPE_HEALTH_CHECK              JobType = 5
	JobType_JOB_TYPE_HOUSEKEEPING              JobType = 6
	JobType_JOB_TYPE_WORKSPACE_MATERIALIZATION JobType = 7
	JobType_JOB_TYPE_AGENT_RUN                 JobType = 8
)

// Enum value maps for JobType.
var (
	JobType_name = map[int32]string{
		0: "JOB_TYPE_UNSPECIFIED",
		1: "JOB_TYPE_MIRROR",
		2: "JOB_TYPE_BUILD",
		3: "JOB_TYPE_DEPLOY",
		4: "JOB_TYPE_CLEANUP",
		5: "JOB_TYPE_HEALTH_CHECK",
		6: "JOB_TYPE_HOUSEKEEPING",
		7: "JOB_TYPE_WORKSPACE_MATERIALIZATION",
		8: "JOB_TYPE_AGENT_RUN",
	}
	JobType_value = map[string]int32{
		"JOB_TYPE_UNSPECIFIED":               0,
		"JOB_TYPE_MIRROR":                    1,
		"JOB_TYPE_BUILD":                     2,
		"JOB_TYPE_DEPLOY":                    3,
		"JOB_TYPE_CLEANUP":                   4,
		"JOB_TYPE_HEALTH_CHECK":              5,
		"JOB_TYPE_HOUSEKEEPING":              6,
		"JOB_TYPE_WORKSPACE_MATERIALIZATION": 7,
		"JOB_TYPE_AGENT_RUN":                 8,
	}
)

func (x JobType) Enum() *JobType {
	p := new(JobType)
	*p = x
	return p
}

func (x JobType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (JobType) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[6].Descriptor()
}

func (JobType) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[6]
}

func (x JobType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use JobType.Descriptor instead.
func (JobType) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{6}
}

// JobStatus is the platform job lifecycle status.
type JobStatus int32

const (
	JobStatus_JOB_STATUS_UNSPECIFIED JobStatus = 0
	JobStatus_JOB_STATUS_PENDING     JobStatus = 1
	JobStatus_JOB_STATUS_CLAIMED     JobStatus = 2
	JobStatus_JOB_STATUS_RUNNING     JobStatus = 3
	JobStatus_JOB_STATUS_SUCCEEDED   JobStatus = 4
	JobStatus_JOB_STATUS_FAILED      JobStatus = 5
	JobStatus_JOB_STATUS_CANCELLED   JobStatus = 6
	JobStatus_JOB_STATUS_TIMED_OUT   JobStatus = 7
)

// Enum value maps for JobStatus.
var (
	JobStatus_name = map[int32]string{
		0: "JOB_STATUS_UNSPECIFIED",
		1: "JOB_STATUS_PENDING",
		2: "JOB_STATUS_CLAIMED",
		3: "JOB_STATUS_RUNNING",
		4: "JOB_STATUS_SUCCEEDED",
		5: "JOB_STATUS_FAILED",
		6: "JOB_STATUS_CANCELLED",
		7: "JOB_STATUS_TIMED_OUT",
	}
	JobStatus_value = map[string]int32{
		"JOB_STATUS_UNSPECIFIED": 0,
		"JOB_STATUS_PENDING":     1,
		"JOB_STATUS_CLAIMED":     2,
		"JOB_STATUS_RUNNING":     3,
		"JOB_STATUS_SUCCEEDED":   4,
		"JOB_STATUS_FAILED":      5,
		"JOB_STATUS_CANCELLED":   6,
		"JOB_STATUS_TIMED_OUT":   7,
	}
)

func (x JobStatus) Enum() *JobStatus {
	p := new(JobStatus)
	*p = x
	return p
}

func (x JobStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (JobStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[7].Descriptor()
}

func (JobStatus) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[7]
}

func (x JobStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use JobStatus.Descriptor instead.
func (JobStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{7}
}

// JobPriority classifies job scheduling priority.
type JobPriority int32

const (
	JobPriority_JOB_PRIORITY_UNSPECIFIED JobPriority = 0
	JobPriority_JOB_PRIORITY_LOW         JobPriority = 1
	JobPriority_JOB_PRIORITY_NORMAL      JobPriority = 2
	JobPriority_JOB_PRIORITY_HIGH        JobPriority = 3
	JobPriority_JOB_PRIORITY_BLOCKING    JobPriority = 4
)

// Enum value maps for JobPriority.
var (
	JobPriority_name = map[int32]string{
		0: "JOB_PRIORITY_UNSPECIFIED",
		1: "JOB_PRIORITY_LOW",
		2: "JOB_PRIORITY_NORMAL",
		3: "JOB_PRIORITY_HIGH",
		4: "JOB_PRIORITY_BLOCKING",
	}
	JobPriority_value = map[string]int32{
		"JOB_PRIORITY_UNSPECIFIED": 0,
		"JOB_PRIORITY_LOW":         1,
		"JOB_PRIORITY_NORMAL":      2,
		"JOB_PRIORITY_HIGH":        3,
		"JOB_PRIORITY_BLOCKING":    4,
	}
)

func (x JobPriority) Enum() *JobPriority {
	p := new(JobPriority)
	*p = x
	return p
}

func (x JobPriority) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (JobPriority) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[8].Descriptor()
}

func (JobPriority) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[8]
}

func (x JobPriority) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use JobPriority.Descriptor instead.
func (JobPriority) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{8}
}

// AgentRunRunnerMode selects a fixed runner mode without arbitrary commands.
type AgentRunRunnerMode int32

const (
	AgentRunRunnerMode_AGENT_RUN_RUNNER_MODE_UNSPECIFIED AgentRunRunnerMode = 0
	AgentRunRunnerMode_AGENT_RUN_RUNNER_MODE_CODEX_AGENT AgentRunRunnerMode = 1
)

// Enum value maps for AgentRunRunnerMode.
var (
	AgentRunRunnerMode_name = map[int32]string{
		0: "AGENT_RUN_RUNNER_MODE_UNSPECIFIED",
		1: "AGENT_RUN_RUNNER_MODE_CODEX_AGENT",
	}
	AgentRunRunnerMode_value = map[string]int32{
		"AGENT_RUN_RUNNER_MODE_UNSPECIFIED": 0,
		"AGENT_RUN_RUNNER_MODE_CODEX_AGENT": 1,
	}
)

func (x AgentRunRunnerMode) Enum() *AgentRunRunnerMode {
	p := new(AgentRunRunnerMode)
	*p = x
	return p
}

func (x AgentRunRunnerMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (AgentRunRunnerMode) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[9].Descriptor()
}

func (AgentRunRunnerMode) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[9]
}

func (x AgentRunRunnerMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use AgentRunRunnerMode.Descriptor instead.
func (AgentRunRunnerMode) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{9}
}

// JobStepStatus is one job step status.
type JobStepStatus int32

const (
	JobStepStatus_JOB_STEP_STATUS_UNSPECIFIED JobStepStatus = 0
	JobStepStatus_JOB_STEP_STATUS_PENDING     JobStepStatus = 1
	JobStepStatus_JOB_STEP_STATUS_RUNNING     JobStepStatus = 2
	JobStepStatus_JOB_STEP_STATUS_SUCCEEDED   JobStepStatus = 3
	JobStepStatus_JOB_STEP_STATUS_FAILED      JobStepStatus = 4
	JobStepStatus_JOB_STEP_STATUS_SKIPPED     JobStepStatus = 5
)

// Enum value maps for JobStepStatus.
var (
	JobStepStatus_name = map[int32]string{
		0: "JOB_STEP_STATUS_UNSPECIFIED",
		1: "JOB_STEP_STATUS_PENDING",
		2: "JOB_STEP_STATUS_RUNNING",
		3: "JOB_STEP_STATUS_SUCCEEDED",
		4: "JOB_STEP_STATUS_FAILED",
		5: "JOB_STEP_STATUS_SKIPPED",
	}
	JobStepStatus_value = map[string]int32{
		"JOB_STEP_STATUS_UNSPECIFIED": 0,
		"JOB_STEP_STATUS_PENDING":     1,
		"JOB_STEP_STATUS_RUNNING":     2,
		"JOB_STEP_STATUS_SUCCEEDED":   3,
		"JOB_STEP_STATUS_FAILED":      4,
		"JOB_STEP_STATUS_SKIPPED":     5,
	}
)

func (x JobStepStatus) Enum() *JobStepStatus {
	p := new(JobStepStatus)
	*p = x
	return p
}

func (x JobStepStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (JobStepStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[10].Descriptor()
}

func (JobStepStatus) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[10]
}

func (x JobStepStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use JobStepStatus.Descriptor instead.
func (JobStepStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{10}
}

// RuntimeArtifactType classifies references to external runtime artifacts.
type RuntimeArtifactType int32

const (
	RuntimeArtifactType_RUNTIME_ARTIFACT_TYPE_UNSPECIFIED    RuntimeArtifactType = 0
	RuntimeArtifactType_RUNTIME_ARTIFACT_TYPE_IMAGE_REF      RuntimeArtifactType = 1
	RuntimeArtifactType_RUNTIME_ARTIFACT_TYPE_KUBERNETES_JOB RuntimeArtifactType = 2
	RuntimeArtifactType_RUNTIME_ARTIFACT_TYPE_NAMESPACE      RuntimeArtifactType = 3
	RuntimeArtifactType_RUNTIME_ARTIFACT_TYPE_DEPLOYMENT     RuntimeArtifactType = 4
	RuntimeArtifactType_RUNTIME_ARTIFACT_TYPE_LOG_REF        RuntimeArtifactType = 5
	RuntimeArtifactType_RUNTIME_ARTIFACT_TYPE_MANIFEST_REF   RuntimeArtifactType = 6
)

// Enum value maps for RuntimeArtifactType.
var (
	RuntimeArtifactType_name = map[int32]string{
		0: "RUNTIME_ARTIFACT_TYPE_UNSPECIFIED",
		1: "RUNTIME_ARTIFACT_TYPE_IMAGE_REF",
		2: "RUNTIME_ARTIFACT_TYPE_KUBERNETES_JOB",
		3: "RUNTIME_ARTIFACT_TYPE_NAMESPACE",
		4: "RUNTIME_ARTIFACT_TYPE_DEPLOYMENT",
		5: "RUNTIME_ARTIFACT_TYPE_LOG_REF",
		6: "RUNTIME_ARTIFACT_TYPE_MANIFEST_REF",
	}
	RuntimeArtifactType_value = map[string]int32{
		"RUNTIME_ARTIFACT_TYPE_UNSPECIFIED":    0,
		"RUNTIME_ARTIFACT_TYPE_IMAGE_REF":      1,
		"RUNTIME_ARTIFACT_TYPE_KUBERNETES_JOB": 2,
		"RUNTIME_ARTIFACT_TYPE_NAMESPACE":      3,
		"RUNTIME_ARTIFACT_TYPE_DEPLOYMENT":     4,
		"RUNTIME_ARTIFACT_TYPE_LOG_REF":        5,
		"RUNTIME_ARTIFACT_TYPE_MANIFEST_REF":   6,
	}
)

func (x RuntimeArtifactType) Enum() *RuntimeArtifactType {
	p := new(RuntimeArtifactType)
	*p = x
	return p
}

func (x RuntimeArtifactType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RuntimeArtifactType) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[11].Descriptor()
}

func (RuntimeArtifactType) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[11]
}

func (x RuntimeArtifactType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RuntimeArtifactType.Descriptor instead.
func (RuntimeArtifactType) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{11}
}

// CleanupPolicyStatus is the cleanup policy lifecycle status.
type CleanupPolicyStatus int32

const (
	CleanupPolicyStatus_CLEANUP_POLICY_STATUS_UNSPECIFIED CleanupPolicyStatus = 0
	CleanupPolicyStatus_CLEANUP_POLICY_STATUS_ACTIVE      CleanupPolicyStatus = 1
	CleanupPolicyStatus_CLEANUP_POLICY_STATUS_DISABLED    CleanupPolicyStatus = 2
	CleanupPolicyStatus_CLEANUP_POLICY_STATUS_SUPERSEDED  CleanupPolicyStatus = 3
)

// Enum value maps for CleanupPolicyStatus.
var (
	CleanupPolicyStatus_name = map[int32]string{
		0: "CLEANUP_POLICY_STATUS_UNSPECIFIED",
		1: "CLEANUP_POLICY_STATUS_ACTIVE",
		2: "CLEANUP_POLICY_STATUS_DISABLED",
		3: "CLEANUP_POLICY_STATUS_SUPERSEDED",
	}
	CleanupPolicyStatus_value = map[string]int32{
		"CLEANUP_POLICY_STATUS_UNSPECIFIED": 0,
		"CLEANUP_POLICY_STATUS_ACTIVE":      1,
		"CLEANUP_POLICY_STATUS_DISABLED":    2,
		"CLEANUP_POLICY_STATUS_SUPERSEDED":  3,
	}
)

func (x CleanupPolicyStatus) Enum() *CleanupPolicyStatus {
	p := new(CleanupPolicyStatus)
	*p = x
	return p
}

func (x CleanupPolicyStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (CleanupPolicyStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[12].Descriptor()
}

func (CleanupPolicyStatus) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[12]
}

func (x CleanupPolicyStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use CleanupPolicyStatus.Descriptor instead.
func (CleanupPolicyStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{12}
}

// RuntimeScopeType classifies scope for cleanup and prewarm policies.
type RuntimeScopeType int32

const (
	RuntimeScopeType_RUNTIME_SCOPE_TYPE_UNSPECIFIED     RuntimeScopeType = 0
	RuntimeScopeType_RUNTIME_SCOPE_TYPE_PLATFORM        RuntimeScopeType = 1
	RuntimeScopeType_RUNTIME_SCOPE_TYPE_ORGANIZATION    RuntimeScopeType = 2
	RuntimeScopeType_RUNTIME_SCOPE_TYPE_PROJECT         RuntimeScopeType = 3
	RuntimeScopeType_RUNTIME_SCOPE_TYPE_REPOSITORY      RuntimeScopeType = 4
	RuntimeScopeType_RUNTIME_SCOPE_TYPE_RUNTIME_PROFILE RuntimeScopeType = 5
)

// Enum value maps for RuntimeScopeType.
var (
	RuntimeScopeType_name = map[int32]string{
		0: "RUNTIME_SCOPE_TYPE_UNSPECIFIED",
		1: "RUNTIME_SCOPE_TYPE_PLATFORM",
		2: "RUNTIME_SCOPE_TYPE_ORGANIZATION",
		3: "RUNTIME_SCOPE_TYPE_PROJECT",
		4: "RUNTIME_SCOPE_TYPE_REPOSITORY",
		5: "RUNTIME_SCOPE_TYPE_RUNTIME_PROFILE",
	}
	RuntimeScopeType_value = map[string]int32{
		"RUNTIME_SCOPE_TYPE_UNSPECIFIED":     0,
		"RUNTIME_SCOPE_TYPE_PLATFORM":        1,
		"RUNTIME_SCOPE_TYPE_ORGANIZATION":    2,
		"RUNTIME_SCOPE_TYPE_PROJECT":         3,
		"RUNTIME_SCOPE_TYPE_REPOSITORY":      4,
		"RUNTIME_SCOPE_TYPE_RUNTIME_PROFILE": 5,
	}
)

func (x RuntimeScopeType) Enum() *RuntimeScopeType {
	p := new(RuntimeScopeType)
	*p = x
	return p
}

func (x RuntimeScopeType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RuntimeScopeType) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[13].Descriptor()
}

func (RuntimeScopeType) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[13]
}

func (x RuntimeScopeType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RuntimeScopeType.Descriptor instead.
func (RuntimeScopeType) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{13}
}

// PrewarmPoolScopeType classifies scope for prewarm pool policies.
type PrewarmPoolScopeType int32

const (
	PrewarmPoolScopeType_PREWARM_POOL_SCOPE_TYPE_UNSPECIFIED  PrewarmPoolScopeType = 0
	PrewarmPoolScopeType_PREWARM_POOL_SCOPE_TYPE_PLATFORM     PrewarmPoolScopeType = 1
	PrewarmPoolScopeType_PREWARM_POOL_SCOPE_TYPE_ORGANIZATION PrewarmPoolScopeType = 2
	PrewarmPoolScopeType_PREWARM_POOL_SCOPE_TYPE_PROJECT      PrewarmPoolScopeType = 3
	PrewarmPoolScopeType_PREWARM_POOL_SCOPE_TYPE_REPOSITORY   PrewarmPoolScopeType = 4
)

// Enum value maps for PrewarmPoolScopeType.
var (
	PrewarmPoolScopeType_name = map[int32]string{
		0: "PREWARM_POOL_SCOPE_TYPE_UNSPECIFIED",
		1: "PREWARM_POOL_SCOPE_TYPE_PLATFORM",
		2: "PREWARM_POOL_SCOPE_TYPE_ORGANIZATION",
		3: "PREWARM_POOL_SCOPE_TYPE_PROJECT",
		4: "PREWARM_POOL_SCOPE_TYPE_REPOSITORY",
	}
	PrewarmPoolScopeType_value = map[string]int32{
		"PREWARM_POOL_SCOPE_TYPE_UNSPECIFIED":  0,
		"PREWARM_POOL_SCOPE_TYPE_PLATFORM":     1,
		"PREWARM_POOL_SCOPE_TYPE_ORGANIZATION": 2,
		"PREWARM_POOL_SCOPE_TYPE_PROJECT":      3,
		"PREWARM_POOL_SCOPE_TYPE_REPOSITORY":   4,
	}
)

func (x PrewarmPoolScopeType) Enum() *PrewarmPoolScopeType {
	p := new(PrewarmPoolScopeType)
	*p = x
	return p
}

func (x PrewarmPoolScopeType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PrewarmPoolScopeType) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[14].Descriptor()
}

func (PrewarmPoolScopeType) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[14]
}

func (x PrewarmPoolScopeType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PrewarmPoolScopeType.Descriptor instead.
func (PrewarmPoolScopeType) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{14}
}

// PrewarmPoolStatus is the prewarm pool lifecycle status.
type PrewarmPoolStatus int32

const (
	PrewarmPoolStatus_PREWARM_POOL_STATUS_UNSPECIFIED PrewarmPoolStatus = 0
	PrewarmPoolStatus_PREWARM_POOL_STATUS_ACTIVE      PrewarmPoolStatus = 1
	PrewarmPoolStatus_PREWARM_POOL_STATUS_PAUSED      PrewarmPoolStatus = 2
	PrewarmPoolStatus_PREWARM_POOL_STATUS_DISABLED    PrewarmPoolStatus = 3
)

// Enum value maps for PrewarmPoolStatus.
var (
	PrewarmPoolStatus_name = map[int32]string{
		0: "PREWARM_POOL_STATUS_UNSPECIFIED",
		1: "PREWARM_POOL_STATUS_ACTIVE",
		2: "PREWARM_POOL_STATUS_PAUSED",
		3: "PREWARM_POOL_STATUS_DISABLED",
	}
	PrewarmPoolStatus_value = map[string]int32{
		"PREWARM_POOL_STATUS_UNSPECIFIED": 0,
		"PREWARM_POOL_STATUS_ACTIVE":      1,
		"PREWARM_POOL_STATUS_PAUSED":      2,
		"PREWARM_POOL_STATUS_DISABLED":    3,
	}
)

func (x PrewarmPoolStatus) Enum() *PrewarmPoolStatus {
	p := new(PrewarmPoolStatus)
	*p = x
	return p
}

func (x PrewarmPoolStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PrewarmPoolStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[15].Descriptor()
}

func (PrewarmPoolStatus) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[15]
}

func (x PrewarmPoolStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PrewarmPoolStatus.Descriptor instead.
func (PrewarmPoolStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{15}
}

// CapacityStatus describes whether actual prewarm capacity matches policy.
type CapacityStatus int32

const (
	CapacityStatus_CAPACITY_STATUS_UNSPECIFIED  CapacityStatus = 0
	CapacityStatus_CAPACITY_STATUS_OK           CapacityStatus = 1
	CapacityStatus_CAPACITY_STATUS_DEGRADED     CapacityStatus = 2
	CapacityStatus_CAPACITY_STATUS_INSUFFICIENT CapacityStatus = 3
)

// Enum value maps for CapacityStatus.
var (
	CapacityStatus_name = map[int32]string{
		0: "CAPACITY_STATUS_UNSPECIFIED",
		1: "CAPACITY_STATUS_OK",
		2: "CAPACITY_STATUS_DEGRADED",
		3: "CAPACITY_STATUS_INSUFFICIENT",
	}
	CapacityStatus_value = map[string]int32{
		"CAPACITY_STATUS_UNSPECIFIED":  0,
		"CAPACITY_STATUS_OK":           1,
		"CAPACITY_STATUS_DEGRADED":     2,
		"CAPACITY_STATUS_INSUFFICIENT": 3,
	}
)

func (x CapacityStatus) Enum() *CapacityStatus {
	p := new(CapacityStatus)
	*p = x
	return p
}

func (x CapacityStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (CapacityStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_runtime_v1_runtime_manager_proto_enumTypes[16].Descriptor()
}

func (CapacityStatus) Type() protoreflect.EnumType {
	return &file_kodex_runtime_v1_runtime_manager_proto_enumTypes[16]
}

func (x CapacityStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use CapacityStatus.Descriptor instead.
func (CapacityStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{16}
}

// CommandMeta is required for every mutating command.
type CommandMeta struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// command_id is a unique command identifier. Either command_id or idempotency_key is required.
	CommandId *string `protobuf:"bytes,1,opt,name=command_id,json=commandId,proto3,oneof" json:"command_id,omitempty"`
	// idempotency_key is an idempotency key scoped by operation and actor.
	IdempotencyKey *string `protobuf:"bytes,2,opt,name=idempotency_key,json=idempotencyKey,proto3,oneof" json:"idempotency_key,omitempty"`
	// expected_version is present only for existing aggregate mutations.
	ExpectedVersion *int64 `protobuf:"varint,3,opt,name=expected_version,json=expectedVersion,proto3,oneof" json:"expected_version,omitempty"`
	// actor is the authenticated caller.
	Actor *Actor `protobuf:"bytes,4,opt,name=actor,proto3" json:"actor,omitempty"`
	// reason is a machine or operator reason for audit and domain events.
	Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
	// request_id links the command to logs, traces and audit.
	RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// request_context carries safe request metadata; no tokens, secrets, email or names.
	RequestContext *RequestContext `protobuf:"bytes,7,opt,name=request_context,json=requestContext,proto3" json:"request_context,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*CommandMeta) ProtoMessage() {}

func (x *CommandMeta) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 CommandMeta.ProtoReflect.Descriptor instead.
func (*CommandMeta) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{0}
}

func (x *CommandMeta) GetCommandId() string {
	if x != nil && x.CommandId != nil {
		return *x.CommandId
	}
	return ""
}

func (x *CommandMeta) GetIdempotencyKey() string {
	if x != nil && x.IdempotencyKey != nil {
		return *x.IdempotencyKey
	}
	return ""
}

func (x *CommandMeta) GetExpectedVersion() int64 {
	if x != nil && x.ExpectedVersion != nil {
		return *x.ExpectedVersion
	}
	return 0
}

func (x *CommandMeta) GetActor() *Actor {
	if x != nil {
		return x.Actor
	}
	return nil
}

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

func (x *CommandMeta) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *CommandMeta) GetRequestContext() *RequestContext {
	if x != nil {
		return x.RequestContext
	}
	return nil
}

// QueryMeta carries safe metadata for authoritative reads.
type QueryMeta struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// actor is the authenticated caller.
	Actor *Actor `protobuf:"bytes,1,opt,name=actor,proto3" json:"actor,omitempty"`
	// request_id links the read to logs and traces.
	RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// request_context carries safe request metadata.
	RequestContext *RequestContext `protobuf:"bytes,3,opt,name=request_context,json=requestContext,proto3" json:"request_context,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*QueryMeta) ProtoMessage() {}

func (x *QueryMeta) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 QueryMeta.ProtoReflect.Descriptor instead.
func (*QueryMeta) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{1}
}

func (x *QueryMeta) GetActor() *Actor {
	if x != nil {
		return x.Actor
	}
	return nil
}

func (x *QueryMeta) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *QueryMeta) GetRequestContext() *RequestContext {
	if x != nil {
		return x.RequestContext
	}
	return nil
}

// RequestContext is safe request metadata used for audit and diagnostics.
type RequestContext struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// source identifies caller surface, for example staff-gateway, platform-mcp-server or service.
	Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
	// trace_id links platform traces.
	TraceId *string `protobuf:"bytes,2,opt,name=trace_id,json=traceId,proto3,oneof" json:"trace_id,omitempty"`
	// session_id links a user session when available.
	SessionId *string `protobuf:"bytes,3,opt,name=session_id,json=sessionId,proto3,oneof" json:"session_id,omitempty"`
	// client_ip_hash is an optional hashed client address.
	ClientIpHash  *string `protobuf:"bytes,4,opt,name=client_ip_hash,json=clientIpHash,proto3,oneof" json:"client_ip_hash,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RequestContext) ProtoMessage() {}

func (x *RequestContext) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 RequestContext.ProtoReflect.Descriptor instead.
func (*RequestContext) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{2}
}

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

func (x *RequestContext) GetTraceId() string {
	if x != nil && x.TraceId != nil {
		return *x.TraceId
	}
	return ""
}

func (x *RequestContext) GetSessionId() string {
	if x != nil && x.SessionId != nil {
		return *x.SessionId
	}
	return ""
}

func (x *RequestContext) GetClientIpHash() string {
	if x != nil && x.ClientIpHash != nil {
		return *x.ClientIpHash
	}
	return ""
}

// Actor identifies a user, service, agent or external account.
type Actor struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// type is a subject type such as user, service, agent or external_account.
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// id is the subject identifier in its owner domain.
	Id            string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Actor) ProtoMessage() {}

func (x *Actor) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 Actor.ProtoReflect.Descriptor instead.
func (*Actor) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{3}
}

func (x *Actor) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

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

// PageRequest limits list responses.
type PageRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// page_size is the maximum item count requested by caller.
	PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// page_token is an opaque continuation token returned by a previous call.
	PageToken     *string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3,oneof" json:"page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PageRequest) ProtoMessage() {}

func (x *PageRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 PageRequest.ProtoReflect.Descriptor instead.
func (*PageRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{4}
}

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

func (x *PageRequest) GetPageToken() string {
	if x != nil && x.PageToken != nil {
		return *x.PageToken
	}
	return ""
}

// PageResponse describes list continuation state.
type PageResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// next_page_token is empty when there are no more items.
	NextPageToken *string `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken,proto3,oneof" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PageResponse) ProtoMessage() {}

func (x *PageResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 PageResponse.ProtoReflect.Descriptor instead.
func (*PageResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{5}
}

func (x *PageResponse) GetNextPageToken() string {
	if x != nil && x.NextPageToken != nil {
		return *x.NextPageToken
	}
	return ""
}

// WorkspaceSource describes one source that runtime may materialize.
type WorkspaceSource struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// source_id is the source identifier from the owner domain.
	SourceId string `protobuf:"bytes,1,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"`
	// kind classifies source behavior.
	Kind WorkspaceSourceKind `protobuf:"varint,2,opt,name=kind,proto3,enum=kodex.runtime.v1.WorkspaceSourceKind" json:"kind,omitempty"`
	// repository_id is an optional project-catalog repository binding id.
	RepositoryId *string `protobuf:"bytes,3,opt,name=repository_id,json=repositoryId,proto3,oneof" json:"repository_id,omitempty"`
	// provider is repository provider name, for example github or gitlab.
	Provider *string `protobuf:"bytes,4,opt,name=provider,proto3,oneof" json:"provider,omitempty"`
	// provider_owner is owner or group name at provider.
	ProviderOwner *string `protobuf:"bytes,5,opt,name=provider_owner,json=providerOwner,proto3,oneof" json:"provider_owner,omitempty"`
	// provider_name is repository or package name at provider.
	ProviderName *string `protobuf:"bytes,6,opt,name=provider_name,json=providerName,proto3,oneof" json:"provider_name,omitempty"`
	// source_ref is a branch, tag, commit, package version or generated context ref.
	SourceRef *string `protobuf:"bytes,7,opt,name=source_ref,json=sourceRef,proto3,oneof" json:"source_ref,omitempty"`
	// commit_sha is the concrete commit when known.
	CommitSha *string `protobuf:"bytes,8,opt,name=commit_sha,json=commitSha,proto3,oneof" json:"commit_sha,omitempty"`
	// local_path is the target path inside workspace.
	LocalPath string `protobuf:"bytes,9,opt,name=local_path,json=localPath,proto3" json:"local_path,omitempty"`
	// access_mode controls whether the source is editable.
	AccessMode WorkspaceSourceAccessMode `protobuf:"varint,10,opt,name=access_mode,json=accessMode,proto3,enum=kodex.runtime.v1.WorkspaceSourceAccessMode" json:"access_mode,omitempty"`
	// digest is an immutable content digest when known.
	Digest *string `protobuf:"bytes,11,opt,name=digest,proto3,oneof" json:"digest,omitempty"`
	// metadata_json carries safe source metadata without secrets.
	MetadataJson  string `protobuf:"bytes,12,opt,name=metadata_json,json=metadataJson,proto3" json:"metadata_json,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*WorkspaceSource) ProtoMessage() {}

func (x *WorkspaceSource) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 WorkspaceSource.ProtoReflect.Descriptor instead.
func (*WorkspaceSource) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{6}
}

func (x *WorkspaceSource) GetSourceId() string {
	if x != nil {
		return x.SourceId
	}
	return ""
}

func (x *WorkspaceSource) GetKind() WorkspaceSourceKind {
	if x != nil {
		return x.Kind
	}
	return WorkspaceSourceKind_WORKSPACE_SOURCE_KIND_UNSPECIFIED
}

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

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

func (x *WorkspaceSource) GetProviderOwner() string {
	if x != nil && x.ProviderOwner != nil {
		return *x.ProviderOwner
	}
	return ""
}

func (x *WorkspaceSource) GetProviderName() string {
	if x != nil && x.ProviderName != nil {
		return *x.ProviderName
	}
	return ""
}

func (x *WorkspaceSource) GetSourceRef() string {
	if x != nil && x.SourceRef != nil {
		return *x.SourceRef
	}
	return ""
}

func (x *WorkspaceSource) GetCommitSha() string {
	if x != nil && x.CommitSha != nil {
		return *x.CommitSha
	}
	return ""
}

func (x *WorkspaceSource) GetLocalPath() string {
	if x != nil {
		return x.LocalPath
	}
	return ""
}

func (x *WorkspaceSource) GetAccessMode() WorkspaceSourceAccessMode {
	if x != nil {
		return x.AccessMode
	}
	return WorkspaceSourceAccessMode_WORKSPACE_SOURCE_ACCESS_MODE_UNSPECIFIED
}

func (x *WorkspaceSource) GetDigest() string {
	if x != nil && x.Digest != nil {
		return *x.Digest
	}
	return ""
}

func (x *WorkspaceSource) GetMetadataJson() string {
	if x != nil {
		return x.MetadataJson
	}
	return ""
}

// WorkspacePolicyInput is the checked source policy runtime can execute.
type WorkspacePolicyInput struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// project_id is the project id from project-catalog.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// policy_digest identifies the checked policy snapshot.
	PolicyDigest string `protobuf:"bytes,2,opt,name=policy_digest,json=policyDigest,proto3" json:"policy_digest,omitempty"`
	// policy_version is the project policy version.
	PolicyVersion int64 `protobuf:"varint,3,opt,name=policy_version,json=policyVersion,proto3" json:"policy_version,omitempty"`
	// sources are code, documentation, guidance and generated context sources.
	Sources []*WorkspaceSource `protobuf:"bytes,4,rep,name=sources,proto3" json:"sources,omitempty"`
	// active_policy_override_ids lists active emergency overrides included in this policy.
	ActivePolicyOverrideIds []string `protobuf:"bytes,5,rep,name=active_policy_override_ids,json=activePolicyOverrideIds,proto3" json:"active_policy_override_ids,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

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

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

func (*WorkspacePolicyInput) ProtoMessage() {}

func (x *WorkspacePolicyInput) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 WorkspacePolicyInput.ProtoReflect.Descriptor instead.
func (*WorkspacePolicyInput) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{7}
}

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

func (x *WorkspacePolicyInput) GetPolicyDigest() string {
	if x != nil {
		return x.PolicyDigest
	}
	return ""
}

func (x *WorkspacePolicyInput) GetPolicyVersion() int64 {
	if x != nil {
		return x.PolicyVersion
	}
	return 0
}

func (x *WorkspacePolicyInput) GetSources() []*WorkspaceSource {
	if x != nil {
		return x.Sources
	}
	return nil
}

func (x *WorkspacePolicyInput) GetActivePolicyOverrideIds() []string {
	if x != nil {
		return x.ActivePolicyOverrideIds
	}
	return nil
}

// PlacementConstraints are passed to fleet-manager to resolve placement.
type PlacementConstraints struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// project_id is the project id.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// repository_ids optionally narrow placement to repositories.
	RepositoryIds []string `protobuf:"bytes,2,rep,name=repository_ids,json=repositoryIds,proto3" json:"repository_ids,omitempty"`
	// service_keys optionally narrow placement to service descriptors.
	ServiceKeys []string `protobuf:"bytes,3,rep,name=service_keys,json=serviceKeys,proto3" json:"service_keys,omitempty"`
	// runtime_profile is the requested runtime profile.
	RuntimeProfile string `protobuf:"bytes,4,opt,name=runtime_profile,json=runtimeProfile,proto3" json:"runtime_profile,omitempty"`
	// preferred_fleet_scope_id is an explicit preferred fleet scope when policy already resolved it.
	PreferredFleetScopeId *string `protobuf:"bytes,5,opt,name=preferred_fleet_scope_id,json=preferredFleetScopeId,proto3,oneof" json:"preferred_fleet_scope_id,omitempty"`
	// required_capabilities describe required cluster/runtime capabilities.
	RequiredCapabilities []string `protobuf:"bytes,6,rep,name=required_capabilities,json=requiredCapabilities,proto3" json:"required_capabilities,omitempty"`
	// metadata_json carries safe placement metadata without secrets.
	MetadataJson  string `protobuf:"bytes,7,opt,name=metadata_json,json=metadataJson,proto3" json:"metadata_json,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PlacementConstraints) ProtoMessage() {}

func (x *PlacementConstraints) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 PlacementConstraints.ProtoReflect.Descriptor instead.
func (*PlacementConstraints) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{8}
}

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

func (x *PlacementConstraints) GetRepositoryIds() []string {
	if x != nil {
		return x.RepositoryIds
	}
	return nil
}

func (x *PlacementConstraints) GetServiceKeys() []string {
	if x != nil {
		return x.ServiceKeys
	}
	return nil
}

func (x *PlacementConstraints) GetRuntimeProfile() string {
	if x != nil {
		return x.RuntimeProfile
	}
	return ""
}

func (x *PlacementConstraints) GetPreferredFleetScopeId() string {
	if x != nil && x.PreferredFleetScopeId != nil {
		return *x.PreferredFleetScopeId
	}
	return ""
}

func (x *PlacementConstraints) GetRequiredCapabilities() []string {
	if x != nil {
		return x.RequiredCapabilities
	}
	return nil
}

func (x *PlacementConstraints) GetMetadataJson() string {
	if x != nil {
		return x.MetadataJson
	}
	return ""
}

// RuntimeContext describes how a caller can use prepared runtime.
type RuntimeContext struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// slot_id is the prepared slot id.
	SlotId string `protobuf:"bytes,1,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
	// agent_run_id is the external agent run id, when bound.
	AgentRunId *string `protobuf:"bytes,2,opt,name=agent_run_id,json=agentRunId,proto3,oneof" json:"agent_run_id,omitempty"`
	// fleet_scope_id is the resolved fleet scope.
	FleetScopeId *string `protobuf:"bytes,3,opt,name=fleet_scope_id,json=fleetScopeId,proto3,oneof" json:"fleet_scope_id,omitempty"`
	// cluster_id is the resolved cluster id.
	ClusterId *string `protobuf:"bytes,4,opt,name=cluster_id,json=clusterId,proto3,oneof" json:"cluster_id,omitempty"`
	// namespace_name is the Kubernetes namespace in the first implementation.
	NamespaceName string `protobuf:"bytes,5,opt,name=namespace_name,json=namespaceName,proto3" json:"namespace_name,omitempty"`
	// runtime_profile is the active runtime profile.
	RuntimeProfile string `protobuf:"bytes,6,opt,name=runtime_profile,json=runtimeProfile,proto3" json:"runtime_profile,omitempty"`
	// workspace_root is the root path inside prepared workspace.
	WorkspaceRoot string `protobuf:"bytes,7,opt,name=workspace_root,json=workspaceRoot,proto3" json:"workspace_root,omitempty"`
	// materialization_fingerprint is the prepared workspace fingerprint.
	MaterializationFingerprint string `protobuf:"bytes,8,opt,name=materialization_fingerprint,json=materializationFingerprint,proto3" json:"materialization_fingerprint,omitempty"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

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

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

func (*RuntimeContext) ProtoMessage() {}

func (x *RuntimeContext) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 RuntimeContext.ProtoReflect.Descriptor instead.
func (*RuntimeContext) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{9}
}

func (x *RuntimeContext) GetSlotId() string {
	if x != nil {
		return x.SlotId
	}
	return ""
}

func (x *RuntimeContext) GetAgentRunId() string {
	if x != nil && x.AgentRunId != nil {
		return *x.AgentRunId
	}
	return ""
}

func (x *RuntimeContext) GetFleetScopeId() string {
	if x != nil && x.FleetScopeId != nil {
		return *x.FleetScopeId
	}
	return ""
}

func (x *RuntimeContext) GetClusterId() string {
	if x != nil && x.ClusterId != nil {
		return *x.ClusterId
	}
	return ""
}

func (x *RuntimeContext) GetNamespaceName() string {
	if x != nil {
		return x.NamespaceName
	}
	return ""
}

func (x *RuntimeContext) GetRuntimeProfile() string {
	if x != nil {
		return x.RuntimeProfile
	}
	return ""
}

func (x *RuntimeContext) GetWorkspaceRoot() string {
	if x != nil {
		return x.WorkspaceRoot
	}
	return ""
}

func (x *RuntimeContext) GetMaterializationFingerprint() string {
	if x != nil {
		return x.MaterializationFingerprint
	}
	return ""
}

// AgentRunAllowedSecretRef carries only an allowed secret reference.
type AgentRunAllowedSecretRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// secret_ref points to a secret in an owner domain; secret values are never carried here.
	SecretRef string `protobuf:"bytes,1,opt,name=secret_ref,json=secretRef,proto3" json:"secret_ref,omitempty"`
	// purpose is a bounded machine-readable usage label.
	Purpose       string `protobuf:"bytes,2,opt,name=purpose,proto3" json:"purpose,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AgentRunAllowedSecretRef) ProtoMessage() {}

func (x *AgentRunAllowedSecretRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 AgentRunAllowedSecretRef.ProtoReflect.Descriptor instead.
func (*AgentRunAllowedSecretRef) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{10}
}

func (x *AgentRunAllowedSecretRef) GetSecretRef() string {
	if x != nil {
		return x.SecretRef
	}
	return ""
}

func (x *AgentRunAllowedSecretRef) GetPurpose() string {
	if x != nil {
		return x.Purpose
	}
	return ""
}

// AgentRunReportingTargetRef carries a safe runner reporting target.
type AgentRunReportingTargetRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// kind classifies the owner target, for example agent_run_state or agent_activity.
	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	// ref is the owner-domain reference.
	Ref           string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AgentRunReportingTargetRef) ProtoMessage() {}

func (x *AgentRunReportingTargetRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 AgentRunReportingTargetRef.ProtoReflect.Descriptor instead.
func (*AgentRunReportingTargetRef) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{11}
}

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

func (x *AgentRunReportingTargetRef) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

// AgentRunExecutionRef carries a bounded reference for runner execution contracts.
type AgentRunExecutionRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// kind classifies the reference purpose.
	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	// ref is the owner-domain or runtime-owned reference.
	Ref           string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AgentRunExecutionRef) ProtoMessage() {}

func (x *AgentRunExecutionRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 AgentRunExecutionRef.ProtoReflect.Descriptor instead.
func (*AgentRunExecutionRef) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{12}
}

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

func (x *AgentRunExecutionRef) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

// RuntimeJobAllowedSecretRef carries only an allowed secret reference.
type RuntimeJobAllowedSecretRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// secret_ref points to a secret in an owner domain; secret values are never carried here.
	SecretRef string `protobuf:"bytes,1,opt,name=secret_ref,json=secretRef,proto3" json:"secret_ref,omitempty"`
	// purpose is a bounded machine-readable usage label.
	Purpose       string `protobuf:"bytes,2,opt,name=purpose,proto3" json:"purpose,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RuntimeJobAllowedSecretRef) ProtoMessage() {}

func (x *RuntimeJobAllowedSecretRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 RuntimeJobAllowedSecretRef.ProtoReflect.Descriptor instead.
func (*RuntimeJobAllowedSecretRef) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{13}
}

func (x *RuntimeJobAllowedSecretRef) GetSecretRef() string {
	if x != nil {
		return x.SecretRef
	}
	return ""
}

func (x *RuntimeJobAllowedSecretRef) GetPurpose() string {
	if x != nil {
		return x.Purpose
	}
	return ""
}

// RuntimeJobOutputRef carries a bounded output or reporting reference.
type RuntimeJobOutputRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// kind classifies the reference purpose.
	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	// ref is the owner-domain or runtime-owned reference.
	Ref           string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RuntimeJobOutputRef) ProtoMessage() {}

func (x *RuntimeJobOutputRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 RuntimeJobOutputRef.ProtoReflect.Descriptor instead.
func (*RuntimeJobOutputRef) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{14}
}

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

func (x *RuntimeJobOutputRef) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

// BuildExecutionSpec defines the safe contract for future image build jobs.
type BuildExecutionSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// source_ref points to the checked source snapshot.
	SourceRef string `protobuf:"bytes,1,opt,name=source_ref,json=sourceRef,proto3" json:"source_ref,omitempty"`
	// source_commit_sha is the immutable git commit sha for the build source.
	SourceCommitSha string `protobuf:"bytes,2,opt,name=source_commit_sha,json=sourceCommitSha,proto3" json:"source_commit_sha,omitempty"`
	// service_key identifies one service from checked services.yaml stack inventory.
	ServiceKey string `protobuf:"bytes,3,opt,name=service_key,json=serviceKey,proto3" json:"service_key,omitempty"`
	// image_ref is the target image repository or fully qualified image ref without a digest.
	ImageRef string `protobuf:"bytes,4,opt,name=image_ref,json=imageRef,proto3" json:"image_ref,omitempty"`
	// image_tag is the target image tag.
	ImageTag string `protobuf:"bytes,5,opt,name=image_tag,json=imageTag,proto3" json:"image_tag,omitempty"`
	// image_digest is optional until the build executor records the produced image digest.
	ImageDigest *string `protobuf:"bytes,6,opt,name=image_digest,json=imageDigest,proto3,oneof" json:"image_digest,omitempty"`
	// build_context_ref points to the checked build context.
	BuildContextRef string `protobuf:"bytes,7,opt,name=build_context_ref,json=buildContextRef,proto3" json:"build_context_ref,omitempty"`
	// build_context_digest is the immutable digest of the checked build context.
	BuildContextDigest string `protobuf:"bytes,8,opt,name=build_context_digest,json=buildContextDigest,proto3" json:"build_context_digest,omitempty"`
	// dockerfile_ref points to the checked Dockerfile.
	DockerfileRef string `protobuf:"bytes,9,opt,name=dockerfile_ref,json=dockerfileRef,proto3" json:"dockerfile_ref,omitempty"`
	// dockerfile_digest is the immutable digest of the checked Dockerfile when known.
	DockerfileDigest *string `protobuf:"bytes,10,opt,name=dockerfile_digest,json=dockerfileDigest,proto3,oneof" json:"dockerfile_digest,omitempty"`
	// dockerfile_target selects a fixed Dockerfile target such as prod or migrations.
	DockerfileTarget string `protobuf:"bytes,11,opt,name=dockerfile_target,json=dockerfileTarget,proto3" json:"dockerfile_target,omitempty"`
	// builder_image_ref selects the approved builder image, for example Kaniko executor.
	BuilderImageRef string `protobuf:"bytes,12,opt,name=builder_image_ref,json=builderImageRef,proto3" json:"builder_image_ref,omitempty"`
	// build_plan_fingerprint identifies the checked build plan.
	BuildPlanFingerprint string `protobuf:"bytes,13,opt,name=build_plan_fingerprint,json=buildPlanFingerprint,proto3" json:"build_plan_fingerprint,omitempty"`
	// allowed_secret_refs lists allowed secret references without values.
	AllowedSecretRefs []*RuntimeJobAllowedSecretRef `protobuf:"bytes,14,rep,name=allowed_secret_refs,json=allowedSecretRefs,proto3" json:"allowed_secret_refs,omitempty"`
	// output_refs describe where bounded build outputs are written.
	OutputRefs    []*RuntimeJobOutputRef `protobuf:"bytes,15,rep,name=output_refs,json=outputRefs,proto3" json:"output_refs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BuildExecutionSpec) ProtoMessage() {}

func (x *BuildExecutionSpec) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 BuildExecutionSpec.ProtoReflect.Descriptor instead.
func (*BuildExecutionSpec) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{15}
}

func (x *BuildExecutionSpec) GetSourceRef() string {
	if x != nil {
		return x.SourceRef
	}
	return ""
}

func (x *BuildExecutionSpec) GetSourceCommitSha() string {
	if x != nil {
		return x.SourceCommitSha
	}
	return ""
}

func (x *BuildExecutionSpec) GetServiceKey() string {
	if x != nil {
		return x.ServiceKey
	}
	return ""
}

func (x *BuildExecutionSpec) GetImageRef() string {
	if x != nil {
		return x.ImageRef
	}
	return ""
}

func (x *BuildExecutionSpec) GetImageTag() string {
	if x != nil {
		return x.ImageTag
	}
	return ""
}

func (x *BuildExecutionSpec) GetImageDigest() string {
	if x != nil && x.ImageDigest != nil {
		return *x.ImageDigest
	}
	return ""
}

func (x *BuildExecutionSpec) GetBuildContextRef() string {
	if x != nil {
		return x.BuildContextRef
	}
	return ""
}

func (x *BuildExecutionSpec) GetBuildContextDigest() string {
	if x != nil {
		return x.BuildContextDigest
	}
	return ""
}

func (x *BuildExecutionSpec) GetDockerfileRef() string {
	if x != nil {
		return x.DockerfileRef
	}
	return ""
}

func (x *BuildExecutionSpec) GetDockerfileDigest() string {
	if x != nil && x.DockerfileDigest != nil {
		return *x.DockerfileDigest
	}
	return ""
}

func (x *BuildExecutionSpec) GetDockerfileTarget() string {
	if x != nil {
		return x.DockerfileTarget
	}
	return ""
}

func (x *BuildExecutionSpec) GetBuilderImageRef() string {
	if x != nil {
		return x.BuilderImageRef
	}
	return ""
}

func (x *BuildExecutionSpec) GetBuildPlanFingerprint() string {
	if x != nil {
		return x.BuildPlanFingerprint
	}
	return ""
}

func (x *BuildExecutionSpec) GetAllowedSecretRefs() []*RuntimeJobAllowedSecretRef {
	if x != nil {
		return x.AllowedSecretRefs
	}
	return nil
}

func (x *BuildExecutionSpec) GetOutputRefs() []*RuntimeJobOutputRef {
	if x != nil {
		return x.OutputRefs
	}
	return nil
}

// DeployExecutionSpec defines the safe contract for future Kubernetes rollout jobs.
type DeployExecutionSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// source_ref points to the checked source snapshot used for render/deploy.
	SourceRef string `protobuf:"bytes,1,opt,name=source_ref,json=sourceRef,proto3" json:"source_ref,omitempty"`
	// source_commit_sha is the immutable git commit sha for the deploy source.
	SourceCommitSha string `protobuf:"bytes,2,opt,name=source_commit_sha,json=sourceCommitSha,proto3" json:"source_commit_sha,omitempty"`
	// service_key identifies one service from checked services.yaml stack inventory.
	ServiceKey string `protobuf:"bytes,3,opt,name=service_key,json=serviceKey,proto3" json:"service_key,omitempty"`
	// image_ref is the image repository or fully qualified image ref without a digest.
	ImageRef string `protobuf:"bytes,4,opt,name=image_ref,json=imageRef,proto3" json:"image_ref,omitempty"`
	// image_tag is the target image tag selected by the deploy plan.
	ImageTag string `protobuf:"bytes,5,opt,name=image_tag,json=imageTag,proto3" json:"image_tag,omitempty"`
	// image_digest is reported when the build executor can provide it; MVP may rely on immutable image_tag.
	ImageDigest *string `protobuf:"bytes,6,opt,name=image_digest,json=imageDigest,proto3,oneof" json:"image_digest,omitempty"`
	// manifest_ref points to the checked rendered manifest or manifest set.
	ManifestRef string `protobuf:"bytes,7,opt,name=manifest_ref,json=manifestRef,proto3" json:"manifest_ref,omitempty"`
	// manifest_digest is the immutable digest of the checked manifest set.
	ManifestDigest string `protobuf:"bytes,8,opt,name=manifest_digest,json=manifestDigest,proto3" json:"manifest_digest,omitempty"`
	// kustomization_ref points to the checked kustomization input.
	KustomizationRef string `protobuf:"bytes,9,opt,name=kustomization_ref,json=kustomizationRef,proto3" json:"kustomization_ref,omitempty"`
	// kustomization_digest is the immutable digest of the checked kustomization input.
	KustomizationDigest string `protobuf:"bytes,10,opt,name=kustomization_digest,json=kustomizationDigest,proto3" json:"kustomization_digest,omitempty"`
	// target_namespace is the Kubernetes namespace selected by the deploy plan.
	TargetNamespace string `protobuf:"bytes,11,opt,name=target_namespace,json=targetNamespace,proto3" json:"target_namespace,omitempty"`
	// target_cluster_ref is the fleet-owned target cluster reference.
	TargetClusterRef string `protobuf:"bytes,12,opt,name=target_cluster_ref,json=targetClusterRef,proto3" json:"target_cluster_ref,omitempty"`
	// target_slot_id optionally links the rollout to a runtime slot.
	TargetSlotId *string `protobuf:"bytes,13,opt,name=target_slot_id,json=targetSlotId,proto3,oneof" json:"target_slot_id,omitempty"`
	// deploy_plan_fingerprint identifies the checked deploy plan.
	DeployPlanFingerprint string `protobuf:"bytes,14,opt,name=deploy_plan_fingerprint,json=deployPlanFingerprint,proto3" json:"deploy_plan_fingerprint,omitempty"`
	// allowed_secret_refs lists allowed secret references without values.
	AllowedSecretRefs []*RuntimeJobAllowedSecretRef `protobuf:"bytes,15,rep,name=allowed_secret_refs,json=allowedSecretRefs,proto3" json:"allowed_secret_refs,omitempty"`
	// output_refs describe where bounded deploy outputs are written.
	OutputRefs []*RuntimeJobOutputRef `protobuf:"bytes,16,rep,name=output_refs,json=outputRefs,proto3" json:"output_refs,omitempty"`
	// manifest_bundle_ref points to the checked rendered manifest bundle for runtime apply.
	ManifestBundleRef string `protobuf:"bytes,17,opt,name=manifest_bundle_ref,json=manifestBundleRef,proto3" json:"manifest_bundle_ref,omitempty"`
	// manifest_bundle_digest is the immutable digest of the checked manifest bundle.
	ManifestBundleDigest string `protobuf:"bytes,18,opt,name=manifest_bundle_digest,json=manifestBundleDigest,proto3" json:"manifest_bundle_digest,omitempty"`
	// rollout_targets describe bounded Kubernetes rollout targets expected by the deploy plan.
	RolloutTargets []*DeployRolloutTarget `protobuf:"bytes,19,rep,name=rollout_targets,json=rolloutTargets,proto3" json:"rollout_targets,omitempty"`
	// expected_image_refs describe immutable images expected in the rollout targets.
	ExpectedImageRefs []*DeployExpectedImageRef `protobuf:"bytes,20,rep,name=expected_image_refs,json=expectedImageRefs,proto3" json:"expected_image_refs,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*DeployExecutionSpec) ProtoMessage() {}

func (x *DeployExecutionSpec) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 DeployExecutionSpec.ProtoReflect.Descriptor instead.
func (*DeployExecutionSpec) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{16}
}

func (x *DeployExecutionSpec) GetSourceRef() string {
	if x != nil {
		return x.SourceRef
	}
	return ""
}

func (x *DeployExecutionSpec) GetSourceCommitSha() string {
	if x != nil {
		return x.SourceCommitSha
	}
	return ""
}

func (x *DeployExecutionSpec) GetServiceKey() string {
	if x != nil {
		return x.ServiceKey
	}
	return ""
}

func (x *DeployExecutionSpec) GetImageRef() string {
	if x != nil {
		return x.ImageRef
	}
	return ""
}

func (x *DeployExecutionSpec) GetImageTag() string {
	if x != nil {
		return x.ImageTag
	}
	return ""
}

func (x *DeployExecutionSpec) GetImageDigest() string {
	if x != nil && x.ImageDigest != nil {
		return *x.ImageDigest
	}
	return ""
}

func (x *DeployExecutionSpec) GetManifestRef() string {
	if x != nil {
		return x.ManifestRef
	}
	return ""
}

func (x *DeployExecutionSpec) GetManifestDigest() string {
	if x != nil {
		return x.ManifestDigest
	}
	return ""
}

func (x *DeployExecutionSpec) GetKustomizationRef() string {
	if x != nil {
		return x.KustomizationRef
	}
	return ""
}

func (x *DeployExecutionSpec) GetKustomizationDigest() string {
	if x != nil {
		return x.KustomizationDigest
	}
	return ""
}

func (x *DeployExecutionSpec) GetTargetNamespace() string {
	if x != nil {
		return x.TargetNamespace
	}
	return ""
}

func (x *DeployExecutionSpec) GetTargetClusterRef() string {
	if x != nil {
		return x.TargetClusterRef
	}
	return ""
}

func (x *DeployExecutionSpec) GetTargetSlotId() string {
	if x != nil && x.TargetSlotId != nil {
		return *x.TargetSlotId
	}
	return ""
}

func (x *DeployExecutionSpec) GetDeployPlanFingerprint() string {
	if x != nil {
		return x.DeployPlanFingerprint
	}
	return ""
}

func (x *DeployExecutionSpec) GetAllowedSecretRefs() []*RuntimeJobAllowedSecretRef {
	if x != nil {
		return x.AllowedSecretRefs
	}
	return nil
}

func (x *DeployExecutionSpec) GetOutputRefs() []*RuntimeJobOutputRef {
	if x != nil {
		return x.OutputRefs
	}
	return nil
}

func (x *DeployExecutionSpec) GetManifestBundleRef() string {
	if x != nil {
		return x.ManifestBundleRef
	}
	return ""
}

func (x *DeployExecutionSpec) GetManifestBundleDigest() string {
	if x != nil {
		return x.ManifestBundleDigest
	}
	return ""
}

func (x *DeployExecutionSpec) GetRolloutTargets() []*DeployRolloutTarget {
	if x != nil {
		return x.RolloutTargets
	}
	return nil
}

func (x *DeployExecutionSpec) GetExpectedImageRefs() []*DeployExpectedImageRef {
	if x != nil {
		return x.ExpectedImageRefs
	}
	return nil
}

// CodexSessionExecutionSpec defines the safe contract for a future Codex CLI session.
type CodexSessionExecutionSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// instruction_object_ref points to the checked execution input object or workspace file.
	InstructionObjectRef string `protobuf:"bytes,1,opt,name=instruction_object_ref,json=instructionObjectRef,proto3" json:"instruction_object_ref,omitempty"`
	// instruction_object_digest is the immutable digest of the checked execution input.
	InstructionObjectDigest string `protobuf:"bytes,2,opt,name=instruction_object_digest,json=instructionObjectDigest,proto3" json:"instruction_object_digest,omitempty"`
	// result_schema_ref points to the checked result schema object.
	ResultSchemaRef string `protobuf:"bytes,3,opt,name=result_schema_ref,json=resultSchemaRef,proto3" json:"result_schema_ref,omitempty"`
	// result_schema_digest is the immutable digest of the checked result schema.
	ResultSchemaDigest string `protobuf:"bytes,4,opt,name=result_schema_digest,json=resultSchemaDigest,proto3" json:"result_schema_digest,omitempty"`
	// session_snapshot_ref points to the previous Codex session snapshot when resuming.
	SessionSnapshotRef *string `protobuf:"bytes,5,opt,name=session_snapshot_ref,json=sessionSnapshotRef,proto3,oneof" json:"session_snapshot_ref,omitempty"`
	// workspace_snapshot_ref points to the checked workspace snapshot when there is no session snapshot.
	WorkspaceSnapshotRef *string `protobuf:"bytes,6,opt,name=workspace_snapshot_ref,json=workspaceSnapshotRef,proto3,oneof" json:"workspace_snapshot_ref,omitempty"`
	// hook_endpoint_ref points to the approved Codex hook ingress endpoint reference.
	HookEndpointRef string `protobuf:"bytes,7,opt,name=hook_endpoint_ref,json=hookEndpointRef,proto3" json:"hook_endpoint_ref,omitempty"`
	// callback_refs list owner callbacks used for safe lifecycle reporting.
	CallbackRefs []*AgentRunExecutionRef `protobuf:"bytes,8,rep,name=callback_refs,json=callbackRefs,proto3" json:"callback_refs,omitempty"`
	// timeout_seconds bounds one Codex session execution attempt.
	TimeoutSeconds int32 `protobuf:"varint,9,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
	// runner_profile_ref selects the fixed approved runner profile.
	RunnerProfileRef string `protobuf:"bytes,10,opt,name=runner_profile_ref,json=runnerProfileRef,proto3" json:"runner_profile_ref,omitempty"`
	// runner_mode selects the fixed runner mode without arbitrary commands.
	RunnerMode AgentRunRunnerMode `protobuf:"varint,11,opt,name=runner_mode,json=runnerMode,proto3,enum=kodex.runtime.v1.AgentRunRunnerMode" json:"runner_mode,omitempty"`
	// output_refs describe where bounded execution outputs are written.
	OutputRefs []*AgentRunExecutionRef `protobuf:"bytes,12,rep,name=output_refs,json=outputRefs,proto3" json:"output_refs,omitempty"`
	// result_refs describe where checked result metadata is written.
	ResultRefs []*AgentRunExecutionRef `protobuf:"bytes,13,rep,name=result_refs,json=resultRefs,proto3" json:"result_refs,omitempty"`
	// allowed_secret_refs lists allowed secret references without values.
	AllowedSecretRefs []*AgentRunAllowedSecretRef `protobuf:"bytes,14,rep,name=allowed_secret_refs,json=allowedSecretRefs,proto3" json:"allowed_secret_refs,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*CodexSessionExecutionSpec) ProtoMessage() {}

func (x *CodexSessionExecutionSpec) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 CodexSessionExecutionSpec.ProtoReflect.Descriptor instead.
func (*CodexSessionExecutionSpec) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{17}
}

func (x *CodexSessionExecutionSpec) GetInstructionObjectRef() string {
	if x != nil {
		return x.InstructionObjectRef
	}
	return ""
}

func (x *CodexSessionExecutionSpec) GetInstructionObjectDigest() string {
	if x != nil {
		return x.InstructionObjectDigest
	}
	return ""
}

func (x *CodexSessionExecutionSpec) GetResultSchemaRef() string {
	if x != nil {
		return x.ResultSchemaRef
	}
	return ""
}

func (x *CodexSessionExecutionSpec) GetResultSchemaDigest() string {
	if x != nil {
		return x.ResultSchemaDigest
	}
	return ""
}

func (x *CodexSessionExecutionSpec) GetSessionSnapshotRef() string {
	if x != nil && x.SessionSnapshotRef != nil {
		return *x.SessionSnapshotRef
	}
	return ""
}

func (x *CodexSessionExecutionSpec) GetWorkspaceSnapshotRef() string {
	if x != nil && x.WorkspaceSnapshotRef != nil {
		return *x.WorkspaceSnapshotRef
	}
	return ""
}

func (x *CodexSessionExecutionSpec) GetHookEndpointRef() string {
	if x != nil {
		return x.HookEndpointRef
	}
	return ""
}

func (x *CodexSessionExecutionSpec) GetCallbackRefs() []*AgentRunExecutionRef {
	if x != nil {
		return x.CallbackRefs
	}
	return nil
}

func (x *CodexSessionExecutionSpec) GetTimeoutSeconds() int32 {
	if x != nil {
		return x.TimeoutSeconds
	}
	return 0
}

func (x *CodexSessionExecutionSpec) GetRunnerProfileRef() string {
	if x != nil {
		return x.RunnerProfileRef
	}
	return ""
}

func (x *CodexSessionExecutionSpec) GetRunnerMode() AgentRunRunnerMode {
	if x != nil {
		return x.RunnerMode
	}
	return AgentRunRunnerMode_AGENT_RUN_RUNNER_MODE_UNSPECIFIED
}

func (x *CodexSessionExecutionSpec) GetOutputRefs() []*AgentRunExecutionRef {
	if x != nil {
		return x.OutputRefs
	}
	return nil
}

func (x *CodexSessionExecutionSpec) GetResultRefs() []*AgentRunExecutionRef {
	if x != nil {
		return x.ResultRefs
	}
	return nil
}

func (x *CodexSessionExecutionSpec) GetAllowedSecretRefs() []*AgentRunAllowedSecretRef {
	if x != nil {
		return x.AllowedSecretRefs
	}
	return nil
}

// AgentRunExecutionSpec defines the safe contract for future agent Run execution.
type AgentRunExecutionSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// agent_run_id is the external agent-manager Run id.
	AgentRunId string `protobuf:"bytes,1,opt,name=agent_run_id,json=agentRunId,proto3" json:"agent_run_id,omitempty"`
	// slot_id identifies the prepared runtime slot.
	SlotId string `protobuf:"bytes,2,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
	// expected_materialization_id identifies the expected workspace materialization attempt.
	ExpectedMaterializationId string `protobuf:"bytes,3,opt,name=expected_materialization_id,json=expectedMaterializationId,proto3" json:"expected_materialization_id,omitempty"`
	// expected_materialization_fingerprint is the checked workspace fingerprint.
	ExpectedMaterializationFingerprint string `protobuf:"bytes,4,opt,name=expected_materialization_fingerprint,json=expectedMaterializationFingerprint,proto3" json:"expected_materialization_fingerprint,omitempty"`
	// workspace_ref is the runtime-owned workspace reference.
	WorkspaceRef string `protobuf:"bytes,5,opt,name=workspace_ref,json=workspaceRef,proto3" json:"workspace_ref,omitempty"`
	// workspace_mount_ref is the mount reference visible to the runner.
	WorkspaceMountRef string `protobuf:"bytes,6,opt,name=workspace_mount_ref,json=workspaceMountRef,proto3" json:"workspace_mount_ref,omitempty"`
	// workspace_pvc_ref is the Kubernetes PVC reference used for execution, never a kubeconfig or secret value.
	WorkspacePvcRef string `protobuf:"bytes,7,opt,name=workspace_pvc_ref,json=workspacePvcRef,proto3" json:"workspace_pvc_ref,omitempty"`
	// context_ref points to .kodex/context/agent-run.json or an equivalent runtime-owned reference.
	ContextRef string `protobuf:"bytes,8,opt,name=context_ref,json=contextRef,proto3" json:"context_ref,omitempty"`
	// context_digest is the immutable digest of the checked generated context.
	ContextDigest string `protobuf:"bytes,9,opt,name=context_digest,json=contextDigest,proto3" json:"context_digest,omitempty"`
	// runner_profile_ref selects an approved runner profile.
	RunnerProfileRef string `protobuf:"bytes,10,opt,name=runner_profile_ref,json=runnerProfileRef,proto3" json:"runner_profile_ref,omitempty"`
	// runner_image_ref selects an approved runner image reference.
	RunnerImageRef string `protobuf:"bytes,11,opt,name=runner_image_ref,json=runnerImageRef,proto3" json:"runner_image_ref,omitempty"`
	// runner_mode selects a fixed runner mode without arbitrary shell commands.
	RunnerMode AgentRunRunnerMode `protobuf:"varint,12,opt,name=runner_mode,json=runnerMode,proto3,enum=kodex.runtime.v1.AgentRunRunnerMode" json:"runner_mode,omitempty"`
	// allowed_secret_refs lists allowed secret references without values.
	AllowedSecretRefs []*AgentRunAllowedSecretRef `protobuf:"bytes,13,rep,name=allowed_secret_refs,json=allowedSecretRefs,proto3" json:"allowed_secret_refs,omitempty"`
	// reporting_target_refs lists owner-domain targets for safe status reporting.
	ReportingTargetRefs []*AgentRunReportingTargetRef `protobuf:"bytes,14,rep,name=reporting_target_refs,json=reportingTargetRefs,proto3" json:"reporting_target_refs,omitempty"`
	// codex_session_execution_spec carries safe refs for future Codex CLI execution.
	CodexSessionExecutionSpec *CodexSessionExecutionSpec `protobuf:"bytes,15,opt,name=codex_session_execution_spec,json=codexSessionExecutionSpec,proto3,oneof" json:"codex_session_execution_spec,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

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

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

func (*AgentRunExecutionSpec) ProtoMessage() {}

func (x *AgentRunExecutionSpec) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 AgentRunExecutionSpec.ProtoReflect.Descriptor instead.
func (*AgentRunExecutionSpec) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{18}
}

func (x *AgentRunExecutionSpec) GetAgentRunId() string {
	if x != nil {
		return x.AgentRunId
	}
	return ""
}

func (x *AgentRunExecutionSpec) GetSlotId() string {
	if x != nil {
		return x.SlotId
	}
	return ""
}

func (x *AgentRunExecutionSpec) GetExpectedMaterializationId() string {
	if x != nil {
		return x.ExpectedMaterializationId
	}
	return ""
}

func (x *AgentRunExecutionSpec) GetExpectedMaterializationFingerprint() string {
	if x != nil {
		return x.ExpectedMaterializationFingerprint
	}
	return ""
}

func (x *AgentRunExecutionSpec) GetWorkspaceRef() string {
	if x != nil {
		return x.WorkspaceRef
	}
	return ""
}

func (x *AgentRunExecutionSpec) GetWorkspaceMountRef() string {
	if x != nil {
		return x.WorkspaceMountRef
	}
	return ""
}

func (x *AgentRunExecutionSpec) GetWorkspacePvcRef() string {
	if x != nil {
		return x.WorkspacePvcRef
	}
	return ""
}

func (x *AgentRunExecutionSpec) GetContextRef() string {
	if x != nil {
		return x.ContextRef
	}
	return ""
}

func (x *AgentRunExecutionSpec) GetContextDigest() string {
	if x != nil {
		return x.ContextDigest
	}
	return ""
}

func (x *AgentRunExecutionSpec) GetRunnerProfileRef() string {
	if x != nil {
		return x.RunnerProfileRef
	}
	return ""
}

func (x *AgentRunExecutionSpec) GetRunnerImageRef() string {
	if x != nil {
		return x.RunnerImageRef
	}
	return ""
}

func (x *AgentRunExecutionSpec) GetRunnerMode() AgentRunRunnerMode {
	if x != nil {
		return x.RunnerMode
	}
	return AgentRunRunnerMode_AGENT_RUN_RUNNER_MODE_UNSPECIFIED
}

func (x *AgentRunExecutionSpec) GetAllowedSecretRefs() []*AgentRunAllowedSecretRef {
	if x != nil {
		return x.AllowedSecretRefs
	}
	return nil
}

func (x *AgentRunExecutionSpec) GetReportingTargetRefs() []*AgentRunReportingTargetRef {
	if x != nil {
		return x.ReportingTargetRefs
	}
	return nil
}

func (x *AgentRunExecutionSpec) GetCodexSessionExecutionSpec() *CodexSessionExecutionSpec {
	if x != nil {
		return x.CodexSessionExecutionSpec
	}
	return nil
}

// Slot is an isolated runtime environment.
type Slot struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// slot_id is the slot aggregate id.
	SlotId string `protobuf:"bytes,1,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
	// slot_key is a readable diagnostic key.
	SlotKey string `protobuf:"bytes,2,opt,name=slot_key,json=slotKey,proto3" json:"slot_key,omitempty"`
	// status is the slot lifecycle status.
	Status SlotStatus `protobuf:"varint,3,opt,name=status,proto3,enum=kodex.runtime.v1.SlotStatus" json:"status,omitempty"`
	// runtime_mode is the requested isolation mode.
	RuntimeMode RuntimeMode `protobuf:"varint,4,opt,name=runtime_mode,json=runtimeMode,proto3,enum=kodex.runtime.v1.RuntimeMode" json:"runtime_mode,omitempty"`
	// is_prewarmed indicates that slot was created before task binding.
	IsPrewarmed bool `protobuf:"varint,5,opt,name=is_prewarmed,json=isPrewarmed,proto3" json:"is_prewarmed,omitempty"`
	// fleet_scope_id is an external fleet scope id.
	FleetScopeId *string `protobuf:"bytes,6,opt,name=fleet_scope_id,json=fleetScopeId,proto3,oneof" json:"fleet_scope_id,omitempty"`
	// cluster_id is an external fleet cluster id.
	ClusterId *string `protobuf:"bytes,7,opt,name=cluster_id,json=clusterId,proto3,oneof" json:"cluster_id,omitempty"`
	// namespace_name is the Kubernetes namespace in the first implementation.
	NamespaceName string `protobuf:"bytes,8,opt,name=namespace_name,json=namespaceName,proto3" json:"namespace_name,omitempty"`
	// agent_run_id is an external agent-manager run id.
	AgentRunId *string `protobuf:"bytes,9,opt,name=agent_run_id,json=agentRunId,proto3,oneof" json:"agent_run_id,omitempty"`
	// project_id is an external project id.
	ProjectId *string `protobuf:"bytes,10,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	// repository_ids are external project-catalog repository ids.
	RepositoryIds []string `protobuf:"bytes,11,rep,name=repository_ids,json=repositoryIds,proto3" json:"repository_ids,omitempty"`
	// runtime_profile is the runtime profile key.
	RuntimeProfile string `protobuf:"bytes,12,opt,name=runtime_profile,json=runtimeProfile,proto3" json:"runtime_profile,omitempty"`
	// fingerprint is the reuse safety fingerprint.
	Fingerprint string `protobuf:"bytes,13,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"`
	// lease_owner identifies the current lease holder.
	LeaseOwner string `protobuf:"bytes,14,opt,name=lease_owner,json=leaseOwner,proto3" json:"lease_owner,omitempty"`
	// lease_until is the lease expiration time in RFC3339 format.
	LeaseUntil *string `protobuf:"bytes,15,opt,name=lease_until,json=leaseUntil,proto3,oneof" json:"lease_until,omitempty"`
	// last_error_code is the last classified error code.
	LastErrorCode string `protobuf:"bytes,16,opt,name=last_error_code,json=lastErrorCode,proto3" json:"last_error_code,omitempty"`
	// last_error_message is the last safe error message without secrets.
	LastErrorMessage string `protobuf:"bytes,17,opt,name=last_error_message,json=lastErrorMessage,proto3" json:"last_error_message,omitempty"`
	// created_at is creation time in RFC3339 format.
	CreatedAt string `protobuf:"bytes,18,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is update time in RFC3339 format.
	UpdatedAt string `protobuf:"bytes,19,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// version is the aggregate version.
	Version       int64 `protobuf:"varint,20,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Slot) ProtoMessage() {}

func (x *Slot) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 Slot.ProtoReflect.Descriptor instead.
func (*Slot) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{19}
}

func (x *Slot) GetSlotId() string {
	if x != nil {
		return x.SlotId
	}
	return ""
}

func (x *Slot) GetSlotKey() string {
	if x != nil {
		return x.SlotKey
	}
	return ""
}

func (x *Slot) GetStatus() SlotStatus {
	if x != nil {
		return x.Status
	}
	return SlotStatus_SLOT_STATUS_UNSPECIFIED
}

func (x *Slot) GetRuntimeMode() RuntimeMode {
	if x != nil {
		return x.RuntimeMode
	}
	return RuntimeMode_RUNTIME_MODE_UNSPECIFIED
}

func (x *Slot) GetIsPrewarmed() bool {
	if x != nil {
		return x.IsPrewarmed
	}
	return false
}

func (x *Slot) GetFleetScopeId() string {
	if x != nil && x.FleetScopeId != nil {
		return *x.FleetScopeId
	}
	return ""
}

func (x *Slot) GetClusterId() string {
	if x != nil && x.ClusterId != nil {
		return *x.ClusterId
	}
	return ""
}

func (x *Slot) GetNamespaceName() string {
	if x != nil {
		return x.NamespaceName
	}
	return ""
}

func (x *Slot) GetAgentRunId() string {
	if x != nil && x.AgentRunId != nil {
		return *x.AgentRunId
	}
	return ""
}

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

func (x *Slot) GetRepositoryIds() []string {
	if x != nil {
		return x.RepositoryIds
	}
	return nil
}

func (x *Slot) GetRuntimeProfile() string {
	if x != nil {
		return x.RuntimeProfile
	}
	return ""
}

func (x *Slot) GetFingerprint() string {
	if x != nil {
		return x.Fingerprint
	}
	return ""
}

func (x *Slot) GetLeaseOwner() string {
	if x != nil {
		return x.LeaseOwner
	}
	return ""
}

func (x *Slot) GetLeaseUntil() string {
	if x != nil && x.LeaseUntil != nil {
		return *x.LeaseUntil
	}
	return ""
}

func (x *Slot) GetLastErrorCode() string {
	if x != nil {
		return x.LastErrorCode
	}
	return ""
}

func (x *Slot) GetLastErrorMessage() string {
	if x != nil {
		return x.LastErrorMessage
	}
	return ""
}

func (x *Slot) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

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

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

// WorkspaceMaterialization is one attempt to prepare workspace sources.
type WorkspaceMaterialization struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// workspace_materialization_id is the materialization attempt id.
	WorkspaceMaterializationId string `protobuf:"bytes,1,opt,name=workspace_materialization_id,json=workspaceMaterializationId,proto3" json:"workspace_materialization_id,omitempty"`
	// slot_id is the runtime slot id.
	SlotId string `protobuf:"bytes,2,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
	// status is the materialization lifecycle status.
	Status WorkspaceMaterializationStatus `protobuf:"varint,3,opt,name=status,proto3,enum=kodex.runtime.v1.WorkspaceMaterializationStatus" json:"status,omitempty"`
	// policy_digest identifies the checked workspace policy snapshot.
	PolicyDigest string `protobuf:"bytes,4,opt,name=policy_digest,json=policyDigest,proto3" json:"policy_digest,omitempty"`
	// sources are normalized sources used for materialization.
	Sources []*WorkspaceSource `protobuf:"bytes,5,rep,name=sources,proto3" json:"sources,omitempty"`
	// fingerprint is the prepared workspace fingerprint.
	Fingerprint string `protobuf:"bytes,6,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"`
	// started_at is start time in RFC3339 format.
	StartedAt *string `protobuf:"bytes,7,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"`
	// finished_at is finish time in RFC3339 format.
	FinishedAt *string `protobuf:"bytes,8,opt,name=finished_at,json=finishedAt,proto3,oneof" json:"finished_at,omitempty"`
	// last_error_code is the last classified error code.
	LastErrorCode string `protobuf:"bytes,9,opt,name=last_error_code,json=lastErrorCode,proto3" json:"last_error_code,omitempty"`
	// last_error_message is the last safe error message without secrets.
	LastErrorMessage string `protobuf:"bytes,10,opt,name=last_error_message,json=lastErrorMessage,proto3" json:"last_error_message,omitempty"`
	// version is the aggregate version.
	Version       int64 `protobuf:"varint,11,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*WorkspaceMaterialization) ProtoMessage() {}

func (x *WorkspaceMaterialization) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 WorkspaceMaterialization.ProtoReflect.Descriptor instead.
func (*WorkspaceMaterialization) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{20}
}

func (x *WorkspaceMaterialization) GetWorkspaceMaterializationId() string {
	if x != nil {
		return x.WorkspaceMaterializationId
	}
	return ""
}

func (x *WorkspaceMaterialization) GetSlotId() string {
	if x != nil {
		return x.SlotId
	}
	return ""
}

func (x *WorkspaceMaterialization) GetStatus() WorkspaceMaterializationStatus {
	if x != nil {
		return x.Status
	}
	return WorkspaceMaterializationStatus_WORKSPACE_MATERIALIZATION_STATUS_UNSPECIFIED
}

func (x *WorkspaceMaterialization) GetPolicyDigest() string {
	if x != nil {
		return x.PolicyDigest
	}
	return ""
}

func (x *WorkspaceMaterialization) GetSources() []*WorkspaceSource {
	if x != nil {
		return x.Sources
	}
	return nil
}

func (x *WorkspaceMaterialization) GetFingerprint() string {
	if x != nil {
		return x.Fingerprint
	}
	return ""
}

func (x *WorkspaceMaterialization) GetStartedAt() string {
	if x != nil && x.StartedAt != nil {
		return *x.StartedAt
	}
	return ""
}

func (x *WorkspaceMaterialization) GetFinishedAt() string {
	if x != nil && x.FinishedAt != nil {
		return *x.FinishedAt
	}
	return ""
}

func (x *WorkspaceMaterialization) GetLastErrorCode() string {
	if x != nil {
		return x.LastErrorCode
	}
	return ""
}

func (x *WorkspaceMaterialization) GetLastErrorMessage() string {
	if x != nil {
		return x.LastErrorMessage
	}
	return ""
}

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

// BuildContext is a runtime-owned checked build context artifact request.
type BuildContext struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// build_context_id is the materialization aggregate id.
	BuildContextId string `protobuf:"bytes,1,opt,name=build_context_id,json=buildContextId,proto3" json:"build_context_id,omitempty"`
	// status is the build context lifecycle status.
	Status BuildContextStatus `protobuf:"varint,2,opt,name=status,proto3,enum=kodex.runtime.v1.BuildContextStatus" json:"status,omitempty"`
	// project_id links the context to project-catalog project state.
	ProjectId string `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// repository_id links the context to project-catalog repository binding.
	RepositoryId string `protobuf:"bytes,4,opt,name=repository_id,json=repositoryId,proto3" json:"repository_id,omitempty"`
	// provider is the repository provider key.
	Provider string `protobuf:"bytes,5,opt,name=provider,proto3" json:"provider,omitempty"`
	// provider_owner is the safe repository owner or group.
	ProviderOwner string `protobuf:"bytes,6,opt,name=provider_owner,json=providerOwner,proto3" json:"provider_owner,omitempty"`
	// provider_name is the safe repository name.
	ProviderName string `protobuf:"bytes,7,opt,name=provider_name,json=providerName,proto3" json:"provider_name,omitempty"`
	// source_ref is the branch, tag or provider ref requested for materialization.
	SourceRef string `protobuf:"bytes,8,opt,name=source_ref,json=sourceRef,proto3" json:"source_ref,omitempty"`
	// source_commit_sha is the immutable merge or source commit.
	SourceCommitSha string `protobuf:"bytes,9,opt,name=source_commit_sha,json=sourceCommitSha,proto3" json:"source_commit_sha,omitempty"`
	// affected_service_keys identifies the services selected by the checked build plan.
	AffectedServiceKeys []string `protobuf:"bytes,10,rep,name=affected_service_keys,json=affectedServiceKeys,proto3" json:"affected_service_keys,omitempty"`
	// build_plan_fingerprint identifies the checked build plan.
	BuildPlanFingerprint string `protobuf:"bytes,11,opt,name=build_plan_fingerprint,json=buildPlanFingerprint,proto3" json:"build_plan_fingerprint,omitempty"`
	// context_fingerprint identifies the idempotent build context request.
	ContextFingerprint string `protobuf:"bytes,12,opt,name=context_fingerprint,json=contextFingerprint,proto3" json:"context_fingerprint,omitempty"`
	// source_snapshot_ref points to a checked source snapshot artifact when available.
	SourceSnapshotRef string `protobuf:"bytes,13,opt,name=source_snapshot_ref,json=sourceSnapshotRef,proto3" json:"source_snapshot_ref,omitempty"`
	// source_snapshot_digest is the immutable digest of the checked source snapshot.
	SourceSnapshotDigest string `protobuf:"bytes,14,opt,name=source_snapshot_digest,json=sourceSnapshotDigest,proto3" json:"source_snapshot_digest,omitempty"`
	// build_context_ref points to the prepared runtime build context.
	BuildContextRef string `protobuf:"bytes,15,opt,name=build_context_ref,json=buildContextRef,proto3" json:"build_context_ref,omitempty"`
	// build_context_digest is the immutable digest of the prepared build context.
	BuildContextDigest string `protobuf:"bytes,16,opt,name=build_context_digest,json=buildContextDigest,proto3" json:"build_context_digest,omitempty"`
	// manifest_bundle_digests maps service keys to actual YAML bundle digests
	// prepared inside the build context.
	ManifestBundleDigests map[string]string `protobuf:"bytes,25,rep,name=manifest_bundle_digests,json=manifestBundleDigests,proto3" json:"manifest_bundle_digests,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// started_at is start time in RFC3339 format.
	StartedAt *string `protobuf:"bytes,17,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"`
	// finished_at is finish time in RFC3339 format.
	FinishedAt *string `protobuf:"bytes,18,opt,name=finished_at,json=finishedAt,proto3,oneof" json:"finished_at,omitempty"`
	// last_error_code is the last classified safe error code.
	LastErrorCode string `protobuf:"bytes,19,opt,name=last_error_code,json=lastErrorCode,proto3" json:"last_error_code,omitempty"`
	// last_error_message is the last safe error summary without secrets.
	LastErrorMessage string `protobuf:"bytes,20,opt,name=last_error_message,json=lastErrorMessage,proto3" json:"last_error_message,omitempty"`
	// next_action describes the next automation or operator action.
	NextAction string `protobuf:"bytes,21,opt,name=next_action,json=nextAction,proto3" json:"next_action,omitempty"`
	// created_at is creation time in RFC3339 format.
	CreatedAt string `protobuf:"bytes,22,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is update time in RFC3339 format.
	UpdatedAt string `protobuf:"bytes,23,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// version is the aggregate version.
	Version       int64 `protobuf:"varint,24,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BuildContext) ProtoMessage() {}

func (x *BuildContext) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 BuildContext.ProtoReflect.Descriptor instead.
func (*BuildContext) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{21}
}

func (x *BuildContext) GetBuildContextId() string {
	if x != nil {
		return x.BuildContextId
	}
	return ""
}

func (x *BuildContext) GetStatus() BuildContextStatus {
	if x != nil {
		return x.Status
	}
	return BuildContextStatus_BUILD_CONTEXT_STATUS_UNSPECIFIED
}

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

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

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

func (x *BuildContext) GetProviderOwner() string {
	if x != nil {
		return x.ProviderOwner
	}
	return ""
}

func (x *BuildContext) GetProviderName() string {
	if x != nil {
		return x.ProviderName
	}
	return ""
}

func (x *BuildContext) GetSourceRef() string {
	if x != nil {
		return x.SourceRef
	}
	return ""
}

func (x *BuildContext) GetSourceCommitSha() string {
	if x != nil {
		return x.SourceCommitSha
	}
	return ""
}

func (x *BuildContext) GetAffectedServiceKeys() []string {
	if x != nil {
		return x.AffectedServiceKeys
	}
	return nil
}

func (x *BuildContext) GetBuildPlanFingerprint() string {
	if x != nil {
		return x.BuildPlanFingerprint
	}
	return ""
}

func (x *BuildContext) GetContextFingerprint() string {
	if x != nil {
		return x.ContextFingerprint
	}
	return ""
}

func (x *BuildContext) GetSourceSnapshotRef() string {
	if x != nil {
		return x.SourceSnapshotRef
	}
	return ""
}

func (x *BuildContext) GetSourceSnapshotDigest() string {
	if x != nil {
		return x.SourceSnapshotDigest
	}
	return ""
}

func (x *BuildContext) GetBuildContextRef() string {
	if x != nil {
		return x.BuildContextRef
	}
	return ""
}

func (x *BuildContext) GetBuildContextDigest() string {
	if x != nil {
		return x.BuildContextDigest
	}
	return ""
}

func (x *BuildContext) GetManifestBundleDigests() map[string]string {
	if x != nil {
		return x.ManifestBundleDigests
	}
	return nil
}

func (x *BuildContext) GetStartedAt() string {
	if x != nil && x.StartedAt != nil {
		return *x.StartedAt
	}
	return ""
}

func (x *BuildContext) GetFinishedAt() string {
	if x != nil && x.FinishedAt != nil {
		return *x.FinishedAt
	}
	return ""
}

func (x *BuildContext) GetLastErrorCode() string {
	if x != nil {
		return x.LastErrorCode
	}
	return ""
}

func (x *BuildContext) GetLastErrorMessage() string {
	if x != nil {
		return x.LastErrorMessage
	}
	return ""
}

func (x *BuildContext) GetNextAction() string {
	if x != nil {
		return x.NextAction
	}
	return ""
}

func (x *BuildContext) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

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

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

// Job is a technical platform operation owned by runtime-manager.
type Job struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job_id is the job aggregate id.
	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// command_id is the create command id used for idempotency.
	CommandId string `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	// job_type classifies the technical operation.
	JobType JobType `protobuf:"varint,3,opt,name=job_type,json=jobType,proto3,enum=kodex.runtime.v1.JobType" json:"job_type,omitempty"`
	// status is the job lifecycle status.
	Status JobStatus `protobuf:"varint,4,opt,name=status,proto3,enum=kodex.runtime.v1.JobStatus" json:"status,omitempty"`
	// priority is the scheduling priority.
	Priority JobPriority `protobuf:"varint,5,opt,name=priority,proto3,enum=kodex.runtime.v1.JobPriority" json:"priority,omitempty"`
	// job_input_json carries bounded operation input without secrets.
	JobInputJson string `protobuf:"bytes,6,opt,name=job_input_json,json=jobInputJson,proto3" json:"job_input_json,omitempty"`
	// lease_owner identifies the worker or controller that claimed the job.
	LeaseOwner string `protobuf:"bytes,7,opt,name=lease_owner,json=leaseOwner,proto3" json:"lease_owner,omitempty"`
	// lease_until is claim lease expiration time in RFC3339 format.
	LeaseUntil *string `protobuf:"bytes,8,opt,name=lease_until,json=leaseUntil,proto3,oneof" json:"lease_until,omitempty"`
	// claim_attempt increments every time the job is claimed.
	ClaimAttempt int64 `protobuf:"varint,9,opt,name=claim_attempt,json=claimAttempt,proto3" json:"claim_attempt,omitempty"`
	// slot_id is an optional runtime slot id.
	SlotId *string `protobuf:"bytes,10,opt,name=slot_id,json=slotId,proto3,oneof" json:"slot_id,omitempty"`
	// agent_run_id is an external agent-manager run id.
	AgentRunId *string `protobuf:"bytes,11,opt,name=agent_run_id,json=agentRunId,proto3,oneof" json:"agent_run_id,omitempty"`
	// project_id is an external project id.
	ProjectId *string `protobuf:"bytes,12,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	// repository_id is an external repository binding id.
	RepositoryId *string `protobuf:"bytes,13,opt,name=repository_id,json=repositoryId,proto3,oneof" json:"repository_id,omitempty"`
	// release_line_id is an external release line id.
	ReleaseLineId *string `protobuf:"bytes,14,opt,name=release_line_id,json=releaseLineId,proto3,oneof" json:"release_line_id,omitempty"`
	// package_installation_id is an external package installation id.
	PackageInstallationId *string `protobuf:"bytes,15,opt,name=package_installation_id,json=packageInstallationId,proto3,oneof" json:"package_installation_id,omitempty"`
	// fleet_scope_id is an external fleet scope id.
	FleetScopeId *string `protobuf:"bytes,16,opt,name=fleet_scope_id,json=fleetScopeId,proto3,oneof" json:"fleet_scope_id,omitempty"`
	// cluster_id is an external fleet cluster id.
	ClusterId *string `protobuf:"bytes,17,opt,name=cluster_id,json=clusterId,proto3,oneof" json:"cluster_id,omitempty"`
	// requested_by is the actor id that requested the job when available.
	RequestedBy *string `protobuf:"bytes,18,opt,name=requested_by,json=requestedBy,proto3,oneof" json:"requested_by,omitempty"`
	// created_at is creation time in RFC3339 format.
	CreatedAt string `protobuf:"bytes,19,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// started_at is start time in RFC3339 format.
	StartedAt *string `protobuf:"bytes,20,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"`
	// finished_at is finish time in RFC3339 format.
	FinishedAt *string `protobuf:"bytes,21,opt,name=finished_at,json=finishedAt,proto3,oneof" json:"finished_at,omitempty"`
	// next_action describes the next expected operator or automation action.
	NextAction string `protobuf:"bytes,22,opt,name=next_action,json=nextAction,proto3" json:"next_action,omitempty"`
	// last_error_code is the last classified error code.
	LastErrorCode string `protobuf:"bytes,23,opt,name=last_error_code,json=lastErrorCode,proto3" json:"last_error_code,omitempty"`
	// last_error_message is the last safe error message without secrets.
	LastErrorMessage string `protobuf:"bytes,24,opt,name=last_error_message,json=lastErrorMessage,proto3" json:"last_error_message,omitempty"`
	// short_log_tail stores a bounded diagnostic log tail.
	ShortLogTail string `protobuf:"bytes,25,opt,name=short_log_tail,json=shortLogTail,proto3" json:"short_log_tail,omitempty"`
	// full_log_ref points to the full log source.
	FullLogRef string `protobuf:"bytes,26,opt,name=full_log_ref,json=fullLogRef,proto3" json:"full_log_ref,omitempty"`
	// version is the aggregate version.
	Version int64 `protobuf:"varint,27,opt,name=version,proto3" json:"version,omitempty"`
	// steps are job steps returned with the job state.
	Steps []*JobStep `protobuf:"bytes,28,rep,name=steps,proto3" json:"steps,omitempty"`
	// agent_run_execution_spec is present only for executable JOB_TYPE_AGENT_RUN jobs.
	AgentRunExecutionSpec *AgentRunExecutionSpec `protobuf:"bytes,29,opt,name=agent_run_execution_spec,json=agentRunExecutionSpec,proto3,oneof" json:"agent_run_execution_spec,omitempty"`
	// build_execution_spec is present only for executable JOB_TYPE_BUILD jobs.
	BuildExecutionSpec *BuildExecutionSpec `protobuf:"bytes,30,opt,name=build_execution_spec,json=buildExecutionSpec,proto3,oneof" json:"build_execution_spec,omitempty"`
	// deploy_execution_spec is present only for typed JOB_TYPE_DEPLOY jobs.
	DeployExecutionSpec *DeployExecutionSpec `protobuf:"bytes,31,opt,name=deploy_execution_spec,json=deployExecutionSpec,proto3,oneof" json:"deploy_execution_spec,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*Job) ProtoMessage() {}

func (x *Job) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 Job.ProtoReflect.Descriptor instead.
func (*Job) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{22}
}

func (x *Job) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *Job) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

func (x *Job) GetJobType() JobType {
	if x != nil {
		return x.JobType
	}
	return JobType_JOB_TYPE_UNSPECIFIED
}

func (x *Job) GetStatus() JobStatus {
	if x != nil {
		return x.Status
	}
	return JobStatus_JOB_STATUS_UNSPECIFIED
}

func (x *Job) GetPriority() JobPriority {
	if x != nil {
		return x.Priority
	}
	return JobPriority_JOB_PRIORITY_UNSPECIFIED
}

func (x *Job) GetJobInputJson() string {
	if x != nil {
		return x.JobInputJson
	}
	return ""
}

func (x *Job) GetLeaseOwner() string {
	if x != nil {
		return x.LeaseOwner
	}
	return ""
}

func (x *Job) GetLeaseUntil() string {
	if x != nil && x.LeaseUntil != nil {
		return *x.LeaseUntil
	}
	return ""
}

func (x *Job) GetClaimAttempt() int64 {
	if x != nil {
		return x.ClaimAttempt
	}
	return 0
}

func (x *Job) GetSlotId() string {
	if x != nil && x.SlotId != nil {
		return *x.SlotId
	}
	return ""
}

func (x *Job) GetAgentRunId() string {
	if x != nil && x.AgentRunId != nil {
		return *x.AgentRunId
	}
	return ""
}

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

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

func (x *Job) GetReleaseLineId() string {
	if x != nil && x.ReleaseLineId != nil {
		return *x.ReleaseLineId
	}
	return ""
}

func (x *Job) GetPackageInstallationId() string {
	if x != nil && x.PackageInstallationId != nil {
		return *x.PackageInstallationId
	}
	return ""
}

func (x *Job) GetFleetScopeId() string {
	if x != nil && x.FleetScopeId != nil {
		return *x.FleetScopeId
	}
	return ""
}

func (x *Job) GetClusterId() string {
	if x != nil && x.ClusterId != nil {
		return *x.ClusterId
	}
	return ""
}

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

func (x *Job) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *Job) GetStartedAt() string {
	if x != nil && x.StartedAt != nil {
		return *x.StartedAt
	}
	return ""
}

func (x *Job) GetFinishedAt() string {
	if x != nil && x.FinishedAt != nil {
		return *x.FinishedAt
	}
	return ""
}

func (x *Job) GetNextAction() string {
	if x != nil {
		return x.NextAction
	}
	return ""
}

func (x *Job) GetLastErrorCode() string {
	if x != nil {
		return x.LastErrorCode
	}
	return ""
}

func (x *Job) GetLastErrorMessage() string {
	if x != nil {
		return x.LastErrorMessage
	}
	return ""
}

func (x *Job) GetShortLogTail() string {
	if x != nil {
		return x.ShortLogTail
	}
	return ""
}

func (x *Job) GetFullLogRef() string {
	if x != nil {
		return x.FullLogRef
	}
	return ""
}

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

func (x *Job) GetSteps() []*JobStep {
	if x != nil {
		return x.Steps
	}
	return nil
}

func (x *Job) GetAgentRunExecutionSpec() *AgentRunExecutionSpec {
	if x != nil {
		return x.AgentRunExecutionSpec
	}
	return nil
}

func (x *Job) GetBuildExecutionSpec() *BuildExecutionSpec {
	if x != nil {
		return x.BuildExecutionSpec
	}
	return nil
}

func (x *Job) GetDeployExecutionSpec() *DeployExecutionSpec {
	if x != nil {
		return x.DeployExecutionSpec
	}
	return nil
}

// JobStep is one step of a platform job.
type JobStep struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job_step_id is the step id.
	JobStepId string `protobuf:"bytes,1,opt,name=job_step_id,json=jobStepId,proto3" json:"job_step_id,omitempty"`
	// job_id is the parent job id.
	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// step_key is a stable step key such as checkout, build or deploy.
	StepKey string `protobuf:"bytes,3,opt,name=step_key,json=stepKey,proto3" json:"step_key,omitempty"`
	// status is the step status.
	Status JobStepStatus `protobuf:"varint,4,opt,name=status,proto3,enum=kodex.runtime.v1.JobStepStatus" json:"status,omitempty"`
	// started_at is start time in RFC3339 format.
	StartedAt *string `protobuf:"bytes,5,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"`
	// finished_at is finish time in RFC3339 format.
	FinishedAt *string `protobuf:"bytes,6,opt,name=finished_at,json=finishedAt,proto3,oneof" json:"finished_at,omitempty"`
	// short_log_tail stores a bounded diagnostic log tail for this step.
	ShortLogTail string `protobuf:"bytes,7,opt,name=short_log_tail,json=shortLogTail,proto3" json:"short_log_tail,omitempty"`
	// external_ref points to Kubernetes Job, Pod or another external object.
	ExternalRef string `protobuf:"bytes,8,opt,name=external_ref,json=externalRef,proto3" json:"external_ref,omitempty"`
	// error_code is the classified step error code.
	ErrorCode string `protobuf:"bytes,9,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
	// error_message is a safe step error message without secrets.
	ErrorMessage string `protobuf:"bytes,10,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// version is the step version.
	Version       int64 `protobuf:"varint,11,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*JobStep) ProtoMessage() {}

func (x *JobStep) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 JobStep.ProtoReflect.Descriptor instead.
func (*JobStep) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{23}
}

func (x *JobStep) GetJobStepId() string {
	if x != nil {
		return x.JobStepId
	}
	return ""
}

func (x *JobStep) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *JobStep) GetStepKey() string {
	if x != nil {
		return x.StepKey
	}
	return ""
}

func (x *JobStep) GetStatus() JobStepStatus {
	if x != nil {
		return x.Status
	}
	return JobStepStatus_JOB_STEP_STATUS_UNSPECIFIED
}

func (x *JobStep) GetStartedAt() string {
	if x != nil && x.StartedAt != nil {
		return *x.StartedAt
	}
	return ""
}

func (x *JobStep) GetFinishedAt() string {
	if x != nil && x.FinishedAt != nil {
		return *x.FinishedAt
	}
	return ""
}

func (x *JobStep) GetShortLogTail() string {
	if x != nil {
		return x.ShortLogTail
	}
	return ""
}

func (x *JobStep) GetExternalRef() string {
	if x != nil {
		return x.ExternalRef
	}
	return ""
}

func (x *JobStep) GetErrorCode() string {
	if x != nil {
		return x.ErrorCode
	}
	return ""
}

func (x *JobStep) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

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

// RuntimeArtifactRef points to an external runtime artifact without copying it into runtime DB.
type RuntimeArtifactRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// runtime_artifact_ref_id is the reference id.
	RuntimeArtifactRefId string `protobuf:"bytes,1,opt,name=runtime_artifact_ref_id,json=runtimeArtifactRefId,proto3" json:"runtime_artifact_ref_id,omitempty"`
	// job_id optionally links the reference to a job.
	JobId *string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3,oneof" json:"job_id,omitempty"`
	// slot_id optionally links the reference to a slot.
	SlotId *string `protobuf:"bytes,3,opt,name=slot_id,json=slotId,proto3,oneof" json:"slot_id,omitempty"`
	// artifact_type classifies the referenced artifact.
	ArtifactType RuntimeArtifactType `protobuf:"varint,4,opt,name=artifact_type,json=artifactType,proto3,enum=kodex.runtime.v1.RuntimeArtifactType" json:"artifact_type,omitempty"`
	// external_ref is the primary source URI or object reference.
	ExternalRef string `protobuf:"bytes,5,opt,name=external_ref,json=externalRef,proto3" json:"external_ref,omitempty"`
	// digest is the immutable digest when known.
	Digest string `protobuf:"bytes,6,opt,name=digest,proto3" json:"digest,omitempty"`
	// metadata_json carries bounded safe metadata without secrets.
	MetadataJson string `protobuf:"bytes,7,opt,name=metadata_json,json=metadataJson,proto3" json:"metadata_json,omitempty"`
	// created_at is creation time in RFC3339 format.
	CreatedAt     string `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RuntimeArtifactRef) ProtoMessage() {}

func (x *RuntimeArtifactRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 RuntimeArtifactRef.ProtoReflect.Descriptor instead.
func (*RuntimeArtifactRef) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{24}
}

func (x *RuntimeArtifactRef) GetRuntimeArtifactRefId() string {
	if x != nil {
		return x.RuntimeArtifactRefId
	}
	return ""
}

func (x *RuntimeArtifactRef) GetJobId() string {
	if x != nil && x.JobId != nil {
		return *x.JobId
	}
	return ""
}

func (x *RuntimeArtifactRef) GetSlotId() string {
	if x != nil && x.SlotId != nil {
		return *x.SlotId
	}
	return ""
}

func (x *RuntimeArtifactRef) GetArtifactType() RuntimeArtifactType {
	if x != nil {
		return x.ArtifactType
	}
	return RuntimeArtifactType_RUNTIME_ARTIFACT_TYPE_UNSPECIFIED
}

func (x *RuntimeArtifactRef) GetExternalRef() string {
	if x != nil {
		return x.ExternalRef
	}
	return ""
}

func (x *RuntimeArtifactRef) GetDigest() string {
	if x != nil {
		return x.Digest
	}
	return ""
}

func (x *RuntimeArtifactRef) GetMetadataJson() string {
	if x != nil {
		return x.MetadataJson
	}
	return ""
}

func (x *RuntimeArtifactRef) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

// RuntimeArtifactRefInput carries caller-provided external artifact reference data.
type RuntimeArtifactRefInput struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// artifact_type classifies the referenced artifact.
	ArtifactType RuntimeArtifactType `protobuf:"varint,1,opt,name=artifact_type,json=artifactType,proto3,enum=kodex.runtime.v1.RuntimeArtifactType" json:"artifact_type,omitempty"`
	// external_ref is the primary source URI or object reference.
	ExternalRef string `protobuf:"bytes,2,opt,name=external_ref,json=externalRef,proto3" json:"external_ref,omitempty"`
	// digest is the immutable digest when known.
	Digest string `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
	// metadata_json carries bounded safe metadata without secrets.
	MetadataJson  string `protobuf:"bytes,4,opt,name=metadata_json,json=metadataJson,proto3" json:"metadata_json,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RuntimeArtifactRefInput) ProtoMessage() {}

func (x *RuntimeArtifactRefInput) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 RuntimeArtifactRefInput.ProtoReflect.Descriptor instead.
func (*RuntimeArtifactRefInput) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{25}
}

func (x *RuntimeArtifactRefInput) GetArtifactType() RuntimeArtifactType {
	if x != nil {
		return x.ArtifactType
	}
	return RuntimeArtifactType_RUNTIME_ARTIFACT_TYPE_UNSPECIFIED
}

func (x *RuntimeArtifactRefInput) GetExternalRef() string {
	if x != nil {
		return x.ExternalRef
	}
	return ""
}

func (x *RuntimeArtifactRefInput) GetDigest() string {
	if x != nil {
		return x.Digest
	}
	return ""
}

func (x *RuntimeArtifactRefInput) GetMetadataJson() string {
	if x != nil {
		return x.MetadataJson
	}
	return ""
}

// CleanupPolicy describes retention and cleanup rules for runtime objects.
type CleanupPolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// cleanup_policy_id is the cleanup policy id.
	CleanupPolicyId string `protobuf:"bytes,1,opt,name=cleanup_policy_id,json=cleanupPolicyId,proto3" json:"cleanup_policy_id,omitempty"`
	// scope_type classifies the scope this policy applies to.
	ScopeType RuntimeScopeType `protobuf:"varint,2,opt,name=scope_type,json=scopeType,proto3,enum=kodex.runtime.v1.RuntimeScopeType" json:"scope_type,omitempty"`
	// scope_id is the optional external scope id.
	ScopeId *string `protobuf:"bytes,3,opt,name=scope_id,json=scopeId,proto3,oneof" json:"scope_id,omitempty"`
	// ttl_seconds is the default retention period for completed runtime objects.
	TtlSeconds int64 `protobuf:"varint,4,opt,name=ttl_seconds,json=ttlSeconds,proto3" json:"ttl_seconds,omitempty"`
	// failed_ttl_seconds is the retention period for failed runtime objects.
	FailedTtlSeconds int64 `protobuf:"varint,5,opt,name=failed_ttl_seconds,json=failedTtlSeconds,proto3" json:"failed_ttl_seconds,omitempty"`
	// keep_short_log_tail controls whether bounded diagnostic tails remain after cleanup.
	KeepShortLogTail bool `protobuf:"varint,6,opt,name=keep_short_log_tail,json=keepShortLogTail,proto3" json:"keep_short_log_tail,omitempty"`
	// status is the cleanup policy status.
	Status CleanupPolicyStatus `protobuf:"varint,7,opt,name=status,proto3,enum=kodex.runtime.v1.CleanupPolicyStatus" json:"status,omitempty"`
	// created_at is creation time in RFC3339 format.
	CreatedAt string `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is update time in RFC3339 format.
	UpdatedAt string `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// version is the aggregate version.
	Version       int64 `protobuf:"varint,10,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CleanupPolicy) ProtoMessage() {}

func (x *CleanupPolicy) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 CleanupPolicy.ProtoReflect.Descriptor instead.
func (*CleanupPolicy) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{26}
}

func (x *CleanupPolicy) GetCleanupPolicyId() string {
	if x != nil {
		return x.CleanupPolicyId
	}
	return ""
}

func (x *CleanupPolicy) GetScopeType() RuntimeScopeType {
	if x != nil {
		return x.ScopeType
	}
	return RuntimeScopeType_RUNTIME_SCOPE_TYPE_UNSPECIFIED
}

func (x *CleanupPolicy) GetScopeId() string {
	if x != nil && x.ScopeId != nil {
		return *x.ScopeId
	}
	return ""
}

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

func (x *CleanupPolicy) GetFailedTtlSeconds() int64 {
	if x != nil {
		return x.FailedTtlSeconds
	}
	return 0
}

func (x *CleanupPolicy) GetKeepShortLogTail() bool {
	if x != nil {
		return x.KeepShortLogTail
	}
	return false
}

func (x *CleanupPolicy) GetStatus() CleanupPolicyStatus {
	if x != nil {
		return x.Status
	}
	return CleanupPolicyStatus_CLEANUP_POLICY_STATUS_UNSPECIFIED
}

func (x *CleanupPolicy) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

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

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

// PrewarmPool describes desired prewarmed slot capacity.
type PrewarmPool struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// prewarm_pool_id is the prewarm pool id.
	PrewarmPoolId string `protobuf:"bytes,1,opt,name=prewarm_pool_id,json=prewarmPoolId,proto3" json:"prewarm_pool_id,omitempty"`
	// scope_type classifies the scope this pool applies to.
	ScopeType PrewarmPoolScopeType `protobuf:"varint,2,opt,name=scope_type,json=scopeType,proto3,enum=kodex.runtime.v1.PrewarmPoolScopeType" json:"scope_type,omitempty"`
	// scope_id is the optional external scope id.
	ScopeId *string `protobuf:"bytes,3,opt,name=scope_id,json=scopeId,proto3,oneof" json:"scope_id,omitempty"`
	// runtime_profile is the runtime profile maintained by the pool.
	RuntimeProfile string `protobuf:"bytes,4,opt,name=runtime_profile,json=runtimeProfile,proto3" json:"runtime_profile,omitempty"`
	// fleet_scope_id is the optional fleet scope for this pool.
	FleetScopeId *string `protobuf:"bytes,5,opt,name=fleet_scope_id,json=fleetScopeId,proto3,oneof" json:"fleet_scope_id,omitempty"`
	// target_size is desired number of prewarmed slots.
	TargetSize int64 `protobuf:"varint,6,opt,name=target_size,json=targetSize,proto3" json:"target_size,omitempty"`
	// status is the prewarm pool status.
	Status PrewarmPoolStatus `protobuf:"varint,7,opt,name=status,proto3,enum=kodex.runtime.v1.PrewarmPoolStatus" json:"status,omitempty"`
	// last_capacity_status describes the last capacity reconciliation result.
	LastCapacityStatus CapacityStatus `protobuf:"varint,8,opt,name=last_capacity_status,json=lastCapacityStatus,proto3,enum=kodex.runtime.v1.CapacityStatus" json:"last_capacity_status,omitempty"`
	// created_at is creation time in RFC3339 format.
	CreatedAt string `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is update time in RFC3339 format.
	UpdatedAt string `protobuf:"bytes,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// version is the aggregate version.
	Version       int64 `protobuf:"varint,11,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PrewarmPool) ProtoMessage() {}

func (x *PrewarmPool) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 PrewarmPool.ProtoReflect.Descriptor instead.
func (*PrewarmPool) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{27}
}

func (x *PrewarmPool) GetPrewarmPoolId() string {
	if x != nil {
		return x.PrewarmPoolId
	}
	return ""
}

func (x *PrewarmPool) GetScopeType() PrewarmPoolScopeType {
	if x != nil {
		return x.ScopeType
	}
	return PrewarmPoolScopeType_PREWARM_POOL_SCOPE_TYPE_UNSPECIFIED
}

func (x *PrewarmPool) GetScopeId() string {
	if x != nil && x.ScopeId != nil {
		return *x.ScopeId
	}
	return ""
}

func (x *PrewarmPool) GetRuntimeProfile() string {
	if x != nil {
		return x.RuntimeProfile
	}
	return ""
}

func (x *PrewarmPool) GetFleetScopeId() string {
	if x != nil && x.FleetScopeId != nil {
		return *x.FleetScopeId
	}
	return ""
}

func (x *PrewarmPool) GetTargetSize() int64 {
	if x != nil {
		return x.TargetSize
	}
	return 0
}

func (x *PrewarmPool) GetStatus() PrewarmPoolStatus {
	if x != nil {
		return x.Status
	}
	return PrewarmPoolStatus_PREWARM_POOL_STATUS_UNSPECIFIED
}

func (x *PrewarmPool) GetLastCapacityStatus() CapacityStatus {
	if x != nil {
		return x.LastCapacityStatus
	}
	return CapacityStatus_CAPACITY_STATUS_UNSPECIFIED
}

func (x *PrewarmPool) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

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

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

type PrepareRuntimeRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// agent_run_id is the external agent-manager run id when runtime is prepared for an agent run.
	AgentRunId *string `protobuf:"bytes,1,opt,name=agent_run_id,json=agentRunId,proto3,oneof" json:"agent_run_id,omitempty"`
	// runtime_profile is the requested runtime profile.
	RuntimeProfile string `protobuf:"bytes,2,opt,name=runtime_profile,json=runtimeProfile,proto3" json:"runtime_profile,omitempty"`
	// runtime_mode is the requested runtime isolation mode.
	RuntimeMode RuntimeMode `protobuf:"varint,3,opt,name=runtime_mode,json=runtimeMode,proto3,enum=kodex.runtime.v1.RuntimeMode" json:"runtime_mode,omitempty"`
	// workspace_policy is the checked policy to materialize.
	WorkspacePolicy *WorkspacePolicyInput `protobuf:"bytes,4,opt,name=workspace_policy,json=workspacePolicy,proto3" json:"workspace_policy,omitempty"`
	// placement_constraints are passed to fleet-manager for placement resolution.
	PlacementConstraints *PlacementConstraints `protobuf:"bytes,5,opt,name=placement_constraints,json=placementConstraints,proto3" json:"placement_constraints,omitempty"`
	// meta carries idempotency and audit context.
	Meta          *CommandMeta `protobuf:"bytes,6,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PrepareRuntimeRequest) ProtoMessage() {}

func (x *PrepareRuntimeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 PrepareRuntimeRequest.ProtoReflect.Descriptor instead.
func (*PrepareRuntimeRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{28}
}

func (x *PrepareRuntimeRequest) GetAgentRunId() string {
	if x != nil && x.AgentRunId != nil {
		return *x.AgentRunId
	}
	return ""
}

func (x *PrepareRuntimeRequest) GetRuntimeProfile() string {
	if x != nil {
		return x.RuntimeProfile
	}
	return ""
}

func (x *PrepareRuntimeRequest) GetRuntimeMode() RuntimeMode {
	if x != nil {
		return x.RuntimeMode
	}
	return RuntimeMode_RUNTIME_MODE_UNSPECIFIED
}

func (x *PrepareRuntimeRequest) GetWorkspacePolicy() *WorkspacePolicyInput {
	if x != nil {
		return x.WorkspacePolicy
	}
	return nil
}

func (x *PrepareRuntimeRequest) GetPlacementConstraints() *PlacementConstraints {
	if x != nil {
		return x.PlacementConstraints
	}
	return nil
}

func (x *PrepareRuntimeRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type PrepareRuntimeResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// slot is the reserved or created runtime slot.
	Slot *Slot `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"`
	// workspace_materialization is the started or completed materialization attempt.
	WorkspaceMaterialization *WorkspaceMaterialization `protobuf:"bytes,2,opt,name=workspace_materialization,json=workspaceMaterialization,proto3" json:"workspace_materialization,omitempty"`
	// runtime_context is the prepared context returned to the caller.
	RuntimeContext *RuntimeContext `protobuf:"bytes,3,opt,name=runtime_context,json=runtimeContext,proto3" json:"runtime_context,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*PrepareRuntimeResponse) ProtoMessage() {}

func (x *PrepareRuntimeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 PrepareRuntimeResponse.ProtoReflect.Descriptor instead.
func (*PrepareRuntimeResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{29}
}

func (x *PrepareRuntimeResponse) GetSlot() *Slot {
	if x != nil {
		return x.Slot
	}
	return nil
}

func (x *PrepareRuntimeResponse) GetWorkspaceMaterialization() *WorkspaceMaterialization {
	if x != nil {
		return x.WorkspaceMaterialization
	}
	return nil
}

func (x *PrepareRuntimeResponse) GetRuntimeContext() *RuntimeContext {
	if x != nil {
		return x.RuntimeContext
	}
	return nil
}

type ReserveSlotRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// runtime_profile is the requested runtime profile.
	RuntimeProfile string `protobuf:"bytes,1,opt,name=runtime_profile,json=runtimeProfile,proto3" json:"runtime_profile,omitempty"`
	// runtime_mode is the requested runtime isolation mode.
	RuntimeMode RuntimeMode `protobuf:"varint,2,opt,name=runtime_mode,json=runtimeMode,proto3,enum=kodex.runtime.v1.RuntimeMode" json:"runtime_mode,omitempty"`
	// workspace_policy_digest identifies the checked workspace policy snapshot.
	WorkspacePolicyDigest string `protobuf:"bytes,3,opt,name=workspace_policy_digest,json=workspacePolicyDigest,proto3" json:"workspace_policy_digest,omitempty"`
	// agent_run_id is the external agent-manager run id when available.
	AgentRunId *string `protobuf:"bytes,4,opt,name=agent_run_id,json=agentRunId,proto3,oneof" json:"agent_run_id,omitempty"`
	// project_id is the external project id.
	ProjectId *string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	// repository_ids are external repository binding ids.
	RepositoryIds []string `protobuf:"bytes,6,rep,name=repository_ids,json=repositoryIds,proto3" json:"repository_ids,omitempty"`
	// placement_constraints are passed to fleet-manager for placement resolution.
	PlacementConstraints *PlacementConstraints `protobuf:"bytes,7,opt,name=placement_constraints,json=placementConstraints,proto3" json:"placement_constraints,omitempty"`
	// meta carries idempotency and audit context.
	Meta          *CommandMeta `protobuf:"bytes,8,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReserveSlotRequest) ProtoMessage() {}

func (x *ReserveSlotRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ReserveSlotRequest.ProtoReflect.Descriptor instead.
func (*ReserveSlotRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{30}
}

func (x *ReserveSlotRequest) GetRuntimeProfile() string {
	if x != nil {
		return x.RuntimeProfile
	}
	return ""
}

func (x *ReserveSlotRequest) GetRuntimeMode() RuntimeMode {
	if x != nil {
		return x.RuntimeMode
	}
	return RuntimeMode_RUNTIME_MODE_UNSPECIFIED
}

func (x *ReserveSlotRequest) GetWorkspacePolicyDigest() string {
	if x != nil {
		return x.WorkspacePolicyDigest
	}
	return ""
}

func (x *ReserveSlotRequest) GetAgentRunId() string {
	if x != nil && x.AgentRunId != nil {
		return *x.AgentRunId
	}
	return ""
}

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

func (x *ReserveSlotRequest) GetRepositoryIds() []string {
	if x != nil {
		return x.RepositoryIds
	}
	return nil
}

func (x *ReserveSlotRequest) GetPlacementConstraints() *PlacementConstraints {
	if x != nil {
		return x.PlacementConstraints
	}
	return nil
}

func (x *ReserveSlotRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ExtendSlotLeaseRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// slot_id is the slot aggregate id.
	SlotId string `protobuf:"bytes,1,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
	// lease_owner is the caller extending the lease.
	LeaseOwner string `protobuf:"bytes,2,opt,name=lease_owner,json=leaseOwner,proto3" json:"lease_owner,omitempty"`
	// lease_until is the new lease expiration time in RFC3339 format.
	LeaseUntil string `protobuf:"bytes,3,opt,name=lease_until,json=leaseUntil,proto3" json:"lease_until,omitempty"`
	// meta carries idempotency, expected version and audit context.
	Meta          *CommandMeta `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ExtendSlotLeaseRequest) ProtoMessage() {}

func (x *ExtendSlotLeaseRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ExtendSlotLeaseRequest.ProtoReflect.Descriptor instead.
func (*ExtendSlotLeaseRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{31}
}

func (x *ExtendSlotLeaseRequest) GetSlotId() string {
	if x != nil {
		return x.SlotId
	}
	return ""
}

func (x *ExtendSlotLeaseRequest) GetLeaseOwner() string {
	if x != nil {
		return x.LeaseOwner
	}
	return ""
}

func (x *ExtendSlotLeaseRequest) GetLeaseUntil() string {
	if x != nil {
		return x.LeaseUntil
	}
	return ""
}

func (x *ExtendSlotLeaseRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ReleaseSlotRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// slot_id is the slot aggregate id.
	SlotId string `protobuf:"bytes,1,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
	// lease_owner is the caller releasing the slot.
	LeaseOwner string `protobuf:"bytes,2,opt,name=lease_owner,json=leaseOwner,proto3" json:"lease_owner,omitempty"`
	// meta carries idempotency, expected version and audit context.
	Meta          *CommandMeta `protobuf:"bytes,3,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReleaseSlotRequest) ProtoMessage() {}

func (x *ReleaseSlotRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ReleaseSlotRequest.ProtoReflect.Descriptor instead.
func (*ReleaseSlotRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{32}
}

func (x *ReleaseSlotRequest) GetSlotId() string {
	if x != nil {
		return x.SlotId
	}
	return ""
}

func (x *ReleaseSlotRequest) GetLeaseOwner() string {
	if x != nil {
		return x.LeaseOwner
	}
	return ""
}

func (x *ReleaseSlotRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type MarkSlotFailedRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// slot_id is the slot aggregate id.
	SlotId string `protobuf:"bytes,1,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
	// error_code is a classified failure code.
	ErrorCode string `protobuf:"bytes,2,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
	// error_message is a safe failure message without secrets.
	ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// meta carries idempotency, expected version and audit context.
	Meta          *CommandMeta `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MarkSlotFailedRequest) ProtoMessage() {}

func (x *MarkSlotFailedRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 MarkSlotFailedRequest.ProtoReflect.Descriptor instead.
func (*MarkSlotFailedRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{33}
}

func (x *MarkSlotFailedRequest) GetSlotId() string {
	if x != nil {
		return x.SlotId
	}
	return ""
}

func (x *MarkSlotFailedRequest) GetErrorCode() string {
	if x != nil {
		return x.ErrorCode
	}
	return ""
}

func (x *MarkSlotFailedRequest) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *MarkSlotFailedRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type SlotResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// slot is the returned slot state.
	Slot          *Slot `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SlotResponse) ProtoMessage() {}

func (x *SlotResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 SlotResponse.ProtoReflect.Descriptor instead.
func (*SlotResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{34}
}

func (x *SlotResponse) GetSlot() *Slot {
	if x != nil {
		return x.Slot
	}
	return nil
}

type GetSlotRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// slot_id is the slot aggregate id.
	SlotId string `protobuf:"bytes,1,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
	// meta carries read actor and request context.
	Meta          *QueryMeta `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetSlotRequest) ProtoMessage() {}

func (x *GetSlotRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 GetSlotRequest.ProtoReflect.Descriptor instead.
func (*GetSlotRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{35}
}

func (x *GetSlotRequest) GetSlotId() string {
	if x != nil {
		return x.SlotId
	}
	return ""
}

func (x *GetSlotRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListSlotsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// project_id optionally filters slots by project.
	ProjectId *string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	// statuses optionally filter slot lifecycle state.
	Statuses []SlotStatus `protobuf:"varint,2,rep,packed,name=statuses,proto3,enum=kodex.runtime.v1.SlotStatus" json:"statuses,omitempty"`
	// runtime_profile optionally filters slots by runtime profile.
	RuntimeProfile *string `protobuf:"bytes,3,opt,name=runtime_profile,json=runtimeProfile,proto3,oneof" json:"runtime_profile,omitempty"`
	// fleet_scope_id optionally filters slots by fleet scope.
	FleetScopeId *string `protobuf:"bytes,4,opt,name=fleet_scope_id,json=fleetScopeId,proto3,oneof" json:"fleet_scope_id,omitempty"`
	// agent_run_id optionally filters slots by external agent run id.
	AgentRunId *string `protobuf:"bytes,5,opt,name=agent_run_id,json=agentRunId,proto3,oneof" json:"agent_run_id,omitempty"`
	// page limits response size.
	Page *PageRequest `protobuf:"bytes,6,opt,name=page,proto3" json:"page,omitempty"`
	// meta carries read actor and request context.
	Meta          *QueryMeta `protobuf:"bytes,7,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListSlotsRequest) ProtoMessage() {}

func (x *ListSlotsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ListSlotsRequest.ProtoReflect.Descriptor instead.
func (*ListSlotsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{36}
}

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

func (x *ListSlotsRequest) GetStatuses() []SlotStatus {
	if x != nil {
		return x.Statuses
	}
	return nil
}

func (x *ListSlotsRequest) GetRuntimeProfile() string {
	if x != nil && x.RuntimeProfile != nil {
		return *x.RuntimeProfile
	}
	return ""
}

func (x *ListSlotsRequest) GetFleetScopeId() string {
	if x != nil && x.FleetScopeId != nil {
		return *x.FleetScopeId
	}
	return ""
}

func (x *ListSlotsRequest) GetAgentRunId() string {
	if x != nil && x.AgentRunId != nil {
		return *x.AgentRunId
	}
	return ""
}

func (x *ListSlotsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListSlotsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListSlotsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// slots are returned in stable server-defined order.
	Slots []*Slot `protobuf:"bytes,1,rep,name=slots,proto3" json:"slots,omitempty"`
	// page describes continuation state.
	Page          *PageResponse `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListSlotsResponse) ProtoMessage() {}

func (x *ListSlotsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ListSlotsResponse.ProtoReflect.Descriptor instead.
func (*ListSlotsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{37}
}

func (x *ListSlotsResponse) GetSlots() []*Slot {
	if x != nil {
		return x.Slots
	}
	return nil
}

func (x *ListSlotsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type StartWorkspaceMaterializationRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// slot_id is the slot where workspace will be materialized.
	SlotId string `protobuf:"bytes,1,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
	// workspace_policy is the checked policy to materialize.
	WorkspacePolicy *WorkspacePolicyInput `protobuf:"bytes,2,opt,name=workspace_policy,json=workspacePolicy,proto3" json:"workspace_policy,omitempty"`
	// meta carries idempotency and audit context.
	Meta          *CommandMeta `protobuf:"bytes,3,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*StartWorkspaceMaterializationRequest) ProtoMessage() {}

func (x *StartWorkspaceMaterializationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 StartWorkspaceMaterializationRequest.ProtoReflect.Descriptor instead.
func (*StartWorkspaceMaterializationRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{38}
}

func (x *StartWorkspaceMaterializationRequest) GetSlotId() string {
	if x != nil {
		return x.SlotId
	}
	return ""
}

func (x *StartWorkspaceMaterializationRequest) GetWorkspacePolicy() *WorkspacePolicyInput {
	if x != nil {
		return x.WorkspacePolicy
	}
	return nil
}

func (x *StartWorkspaceMaterializationRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ReportWorkspaceMaterializationProgressRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// workspace_materialization_id is the materialization attempt id.
	WorkspaceMaterializationId string `protobuf:"bytes,1,opt,name=workspace_materialization_id,json=workspaceMaterializationId,proto3" json:"workspace_materialization_id,omitempty"`
	// status is the new materialization status.
	Status WorkspaceMaterializationStatus `protobuf:"varint,2,opt,name=status,proto3,enum=kodex.runtime.v1.WorkspaceMaterializationStatus" json:"status,omitempty"`
	// fingerprint is the prepared workspace fingerprint.
	Fingerprint string `protobuf:"bytes,3,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"`
	// started_at is start time in RFC3339 format.
	StartedAt *string `protobuf:"bytes,4,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"`
	// finished_at is finish time in RFC3339 format.
	FinishedAt *string `protobuf:"bytes,5,opt,name=finished_at,json=finishedAt,proto3,oneof" json:"finished_at,omitempty"`
	// error_code is a classified failure code.
	ErrorCode string `protobuf:"bytes,6,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
	// error_message is a safe failure message without secrets.
	ErrorMessage string `protobuf:"bytes,7,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// meta carries idempotency, expected version and audit context.
	Meta          *CommandMeta `protobuf:"bytes,8,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReportWorkspaceMaterializationProgressRequest) ProtoMessage() {}

func (x *ReportWorkspaceMaterializationProgressRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ReportWorkspaceMaterializationProgressRequest.ProtoReflect.Descriptor instead.
func (*ReportWorkspaceMaterializationProgressRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{39}
}

func (x *ReportWorkspaceMaterializationProgressRequest) GetWorkspaceMaterializationId() string {
	if x != nil {
		return x.WorkspaceMaterializationId
	}
	return ""
}

func (x *ReportWorkspaceMaterializationProgressRequest) GetStatus() WorkspaceMaterializationStatus {
	if x != nil {
		return x.Status
	}
	return WorkspaceMaterializationStatus_WORKSPACE_MATERIALIZATION_STATUS_UNSPECIFIED
}

func (x *ReportWorkspaceMaterializationProgressRequest) GetFingerprint() string {
	if x != nil {
		return x.Fingerprint
	}
	return ""
}

func (x *ReportWorkspaceMaterializationProgressRequest) GetStartedAt() string {
	if x != nil && x.StartedAt != nil {
		return *x.StartedAt
	}
	return ""
}

func (x *ReportWorkspaceMaterializationProgressRequest) GetFinishedAt() string {
	if x != nil && x.FinishedAt != nil {
		return *x.FinishedAt
	}
	return ""
}

func (x *ReportWorkspaceMaterializationProgressRequest) GetErrorCode() string {
	if x != nil {
		return x.ErrorCode
	}
	return ""
}

func (x *ReportWorkspaceMaterializationProgressRequest) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *ReportWorkspaceMaterializationProgressRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type WorkspaceMaterializationResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// workspace_materialization is the returned materialization attempt.
	WorkspaceMaterialization *WorkspaceMaterialization `protobuf:"bytes,1,opt,name=workspace_materialization,json=workspaceMaterialization,proto3" json:"workspace_materialization,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

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

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

func (*WorkspaceMaterializationResponse) ProtoMessage() {}

func (x *WorkspaceMaterializationResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 WorkspaceMaterializationResponse.ProtoReflect.Descriptor instead.
func (*WorkspaceMaterializationResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{40}
}

func (x *WorkspaceMaterializationResponse) GetWorkspaceMaterialization() *WorkspaceMaterialization {
	if x != nil {
		return x.WorkspaceMaterialization
	}
	return nil
}

type GetWorkspaceMaterializationRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// workspace_materialization_id is the materialization attempt id.
	WorkspaceMaterializationId string `protobuf:"bytes,1,opt,name=workspace_materialization_id,json=workspaceMaterializationId,proto3" json:"workspace_materialization_id,omitempty"`
	// meta carries read actor and request context.
	Meta          *QueryMeta `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetWorkspaceMaterializationRequest) ProtoMessage() {}

func (x *GetWorkspaceMaterializationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 GetWorkspaceMaterializationRequest.ProtoReflect.Descriptor instead.
func (*GetWorkspaceMaterializationRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{41}
}

func (x *GetWorkspaceMaterializationRequest) GetWorkspaceMaterializationId() string {
	if x != nil {
		return x.WorkspaceMaterializationId
	}
	return ""
}

func (x *GetWorkspaceMaterializationRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListWorkspaceMaterializationsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// slot_id optionally filters attempts by slot.
	SlotId *string `protobuf:"bytes,1,opt,name=slot_id,json=slotId,proto3,oneof" json:"slot_id,omitempty"`
	// agent_run_id optionally filters attempts by external agent run id.
	AgentRunId *string `protobuf:"bytes,2,opt,name=agent_run_id,json=agentRunId,proto3,oneof" json:"agent_run_id,omitempty"`
	// statuses optionally filter materialization lifecycle state.
	Statuses []WorkspaceMaterializationStatus `protobuf:"varint,3,rep,packed,name=statuses,proto3,enum=kodex.runtime.v1.WorkspaceMaterializationStatus" json:"statuses,omitempty"`
	// page limits response size.
	Page *PageRequest `protobuf:"bytes,4,opt,name=page,proto3" json:"page,omitempty"`
	// meta carries read actor and request context.
	Meta          *QueryMeta `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListWorkspaceMaterializationsRequest) ProtoMessage() {}

func (x *ListWorkspaceMaterializationsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ListWorkspaceMaterializationsRequest.ProtoReflect.Descriptor instead.
func (*ListWorkspaceMaterializationsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{42}
}

func (x *ListWorkspaceMaterializationsRequest) GetSlotId() string {
	if x != nil && x.SlotId != nil {
		return *x.SlotId
	}
	return ""
}

func (x *ListWorkspaceMaterializationsRequest) GetAgentRunId() string {
	if x != nil && x.AgentRunId != nil {
		return *x.AgentRunId
	}
	return ""
}

func (x *ListWorkspaceMaterializationsRequest) GetStatuses() []WorkspaceMaterializationStatus {
	if x != nil {
		return x.Statuses
	}
	return nil
}

func (x *ListWorkspaceMaterializationsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListWorkspaceMaterializationsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListWorkspaceMaterializationsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// workspace_materializations are returned in stable server-defined order.
	WorkspaceMaterializations []*WorkspaceMaterialization `protobuf:"bytes,1,rep,name=workspace_materializations,json=workspaceMaterializations,proto3" json:"workspace_materializations,omitempty"`
	// page describes continuation state.
	Page          *PageResponse `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListWorkspaceMaterializationsResponse) ProtoMessage() {}

func (x *ListWorkspaceMaterializationsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ListWorkspaceMaterializationsResponse.ProtoReflect.Descriptor instead.
func (*ListWorkspaceMaterializationsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{43}
}

func (x *ListWorkspaceMaterializationsResponse) GetWorkspaceMaterializations() []*WorkspaceMaterialization {
	if x != nil {
		return x.WorkspaceMaterializations
	}
	return nil
}

func (x *ListWorkspaceMaterializationsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type PrepareBuildContextRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// project_id links the request to project-catalog project state.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// repository_id links the request to project-catalog repository binding.
	RepositoryId string `protobuf:"bytes,2,opt,name=repository_id,json=repositoryId,proto3" json:"repository_id,omitempty"`
	// provider is the repository provider key.
	Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	// provider_owner is the safe repository owner or group.
	ProviderOwner string `protobuf:"bytes,4,opt,name=provider_owner,json=providerOwner,proto3" json:"provider_owner,omitempty"`
	// provider_name is the safe repository name.
	ProviderName string `protobuf:"bytes,5,opt,name=provider_name,json=providerName,proto3" json:"provider_name,omitempty"`
	// source_ref is the branch, tag or provider ref requested for materialization.
	SourceRef string `protobuf:"bytes,6,opt,name=source_ref,json=sourceRef,proto3" json:"source_ref,omitempty"`
	// source_commit_sha is the immutable merge or source commit.
	SourceCommitSha string `protobuf:"bytes,7,opt,name=source_commit_sha,json=sourceCommitSha,proto3" json:"source_commit_sha,omitempty"`
	// affected_service_keys identifies services selected by the checked build plan.
	AffectedServiceKeys []string `protobuf:"bytes,8,rep,name=affected_service_keys,json=affectedServiceKeys,proto3" json:"affected_service_keys,omitempty"`
	// build_plan_fingerprint identifies the checked build plan.
	BuildPlanFingerprint string `protobuf:"bytes,9,opt,name=build_plan_fingerprint,json=buildPlanFingerprint,proto3" json:"build_plan_fingerprint,omitempty"`
	// source_snapshot_ref points to a checked source snapshot artifact when available.
	SourceSnapshotRef *string `protobuf:"bytes,10,opt,name=source_snapshot_ref,json=sourceSnapshotRef,proto3,oneof" json:"source_snapshot_ref,omitempty"`
	// source_snapshot_digest is the immutable digest of the checked source snapshot.
	SourceSnapshotDigest *string `protobuf:"bytes,11,opt,name=source_snapshot_digest,json=sourceSnapshotDigest,proto3,oneof" json:"source_snapshot_digest,omitempty"`
	// meta carries idempotency and audit context.
	Meta          *CommandMeta `protobuf:"bytes,12,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PrepareBuildContextRequest) ProtoMessage() {}

func (x *PrepareBuildContextRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 PrepareBuildContextRequest.ProtoReflect.Descriptor instead.
func (*PrepareBuildContextRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{44}
}

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

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

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

func (x *PrepareBuildContextRequest) GetProviderOwner() string {
	if x != nil {
		return x.ProviderOwner
	}
	return ""
}

func (x *PrepareBuildContextRequest) GetProviderName() string {
	if x != nil {
		return x.ProviderName
	}
	return ""
}

func (x *PrepareBuildContextRequest) GetSourceRef() string {
	if x != nil {
		return x.SourceRef
	}
	return ""
}

func (x *PrepareBuildContextRequest) GetSourceCommitSha() string {
	if x != nil {
		return x.SourceCommitSha
	}
	return ""
}

func (x *PrepareBuildContextRequest) GetAffectedServiceKeys() []string {
	if x != nil {
		return x.AffectedServiceKeys
	}
	return nil
}

func (x *PrepareBuildContextRequest) GetBuildPlanFingerprint() string {
	if x != nil {
		return x.BuildPlanFingerprint
	}
	return ""
}

func (x *PrepareBuildContextRequest) GetSourceSnapshotRef() string {
	if x != nil && x.SourceSnapshotRef != nil {
		return *x.SourceSnapshotRef
	}
	return ""
}

func (x *PrepareBuildContextRequest) GetSourceSnapshotDigest() string {
	if x != nil && x.SourceSnapshotDigest != nil {
		return *x.SourceSnapshotDigest
	}
	return ""
}

func (x *PrepareBuildContextRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ReportBuildContextProgressRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// build_context_id is the materialization aggregate id.
	BuildContextId string `protobuf:"bytes,1,opt,name=build_context_id,json=buildContextId,proto3" json:"build_context_id,omitempty"`
	// status is the new build context lifecycle status.
	Status BuildContextStatus `protobuf:"varint,2,opt,name=status,proto3,enum=kodex.runtime.v1.BuildContextStatus" json:"status,omitempty"`
	// source_snapshot_ref points to the checked source snapshot artifact.
	SourceSnapshotRef *string `protobuf:"bytes,3,opt,name=source_snapshot_ref,json=sourceSnapshotRef,proto3,oneof" json:"source_snapshot_ref,omitempty"`
	// source_snapshot_digest is the immutable digest of the checked source snapshot.
	SourceSnapshotDigest *string `protobuf:"bytes,4,opt,name=source_snapshot_digest,json=sourceSnapshotDigest,proto3,oneof" json:"source_snapshot_digest,omitempty"`
	// build_context_ref points to the prepared runtime build context.
	BuildContextRef *string `protobuf:"bytes,5,opt,name=build_context_ref,json=buildContextRef,proto3,oneof" json:"build_context_ref,omitempty"`
	// build_context_digest is the immutable digest of the prepared build context.
	BuildContextDigest *string `protobuf:"bytes,6,opt,name=build_context_digest,json=buildContextDigest,proto3,oneof" json:"build_context_digest,omitempty"`
	// manifest_bundle_digests maps service keys to actual YAML bundle digests
	// prepared inside the build context.
	ManifestBundleDigests map[string]string `protobuf:"bytes,13,rep,name=manifest_bundle_digests,json=manifestBundleDigests,proto3" json:"manifest_bundle_digests,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// started_at is start time in RFC3339 format.
	StartedAt *string `protobuf:"bytes,7,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"`
	// finished_at is finish time in RFC3339 format.
	FinishedAt *string `protobuf:"bytes,8,opt,name=finished_at,json=finishedAt,proto3,oneof" json:"finished_at,omitempty"`
	// error_code is a classified safe failure code.
	ErrorCode string `protobuf:"bytes,9,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
	// error_message is a safe failure summary without secrets.
	ErrorMessage string `protobuf:"bytes,10,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// next_action describes the next automation or operator action.
	NextAction string `protobuf:"bytes,11,opt,name=next_action,json=nextAction,proto3" json:"next_action,omitempty"`
	// meta carries idempotency, expected version and audit context.
	Meta          *CommandMeta `protobuf:"bytes,12,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReportBuildContextProgressRequest) ProtoMessage() {}

func (x *ReportBuildContextProgressRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ReportBuildContextProgressRequest.ProtoReflect.Descriptor instead.
func (*ReportBuildContextProgressRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{45}
}

func (x *ReportBuildContextProgressRequest) GetBuildContextId() string {
	if x != nil {
		return x.BuildContextId
	}
	return ""
}

func (x *ReportBuildContextProgressRequest) GetStatus() BuildContextStatus {
	if x != nil {
		return x.Status
	}
	return BuildContextStatus_BUILD_CONTEXT_STATUS_UNSPECIFIED
}

func (x *ReportBuildContextProgressRequest) GetSourceSnapshotRef() string {
	if x != nil && x.SourceSnapshotRef != nil {
		return *x.SourceSnapshotRef
	}
	return ""
}

func (x *ReportBuildContextProgressRequest) GetSourceSnapshotDigest() string {
	if x != nil && x.SourceSnapshotDigest != nil {
		return *x.SourceSnapshotDigest
	}
	return ""
}

func (x *ReportBuildContextProgressRequest) GetBuildContextRef() string {
	if x != nil && x.BuildContextRef != nil {
		return *x.BuildContextRef
	}
	return ""
}

func (x *ReportBuildContextProgressRequest) GetBuildContextDigest() string {
	if x != nil && x.BuildContextDigest != nil {
		return *x.BuildContextDigest
	}
	return ""
}

func (x *ReportBuildContextProgressRequest) GetManifestBundleDigests() map[string]string {
	if x != nil {
		return x.ManifestBundleDigests
	}
	return nil
}

func (x *ReportBuildContextProgressRequest) GetStartedAt() string {
	if x != nil && x.StartedAt != nil {
		return *x.StartedAt
	}
	return ""
}

func (x *ReportBuildContextProgressRequest) GetFinishedAt() string {
	if x != nil && x.FinishedAt != nil {
		return *x.FinishedAt
	}
	return ""
}

func (x *ReportBuildContextProgressRequest) GetErrorCode() string {
	if x != nil {
		return x.ErrorCode
	}
	return ""
}

func (x *ReportBuildContextProgressRequest) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *ReportBuildContextProgressRequest) GetNextAction() string {
	if x != nil {
		return x.NextAction
	}
	return ""
}

func (x *ReportBuildContextProgressRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type BuildContextResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// build_context is the returned materialization state.
	BuildContext  *BuildContext `protobuf:"bytes,1,opt,name=build_context,json=buildContext,proto3" json:"build_context,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BuildContextResponse) ProtoMessage() {}

func (x *BuildContextResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 BuildContextResponse.ProtoReflect.Descriptor instead.
func (*BuildContextResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{46}
}

func (x *BuildContextResponse) GetBuildContext() *BuildContext {
	if x != nil {
		return x.BuildContext
	}
	return nil
}

type GetBuildContextRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// build_context_id is the aggregate id. Either id or context_fingerprint is required.
	BuildContextId *string `protobuf:"bytes,1,opt,name=build_context_id,json=buildContextId,proto3,oneof" json:"build_context_id,omitempty"`
	// context_fingerprint is the deterministic request fingerprint.
	ContextFingerprint *string `protobuf:"bytes,2,opt,name=context_fingerprint,json=contextFingerprint,proto3,oneof" json:"context_fingerprint,omitempty"`
	// meta carries read actor and request context.
	Meta          *QueryMeta `protobuf:"bytes,3,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetBuildContextRequest) ProtoMessage() {}

func (x *GetBuildContextRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 GetBuildContextRequest.ProtoReflect.Descriptor instead.
func (*GetBuildContextRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{47}
}

func (x *GetBuildContextRequest) GetBuildContextId() string {
	if x != nil && x.BuildContextId != nil {
		return *x.BuildContextId
	}
	return ""
}

func (x *GetBuildContextRequest) GetContextFingerprint() string {
	if x != nil && x.ContextFingerprint != nil {
		return *x.ContextFingerprint
	}
	return ""
}

func (x *GetBuildContextRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type CreateJobRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job_type classifies the technical operation.
	JobType JobType `protobuf:"varint,1,opt,name=job_type,json=jobType,proto3,enum=kodex.runtime.v1.JobType" json:"job_type,omitempty"`
	// priority is the scheduling priority.
	Priority JobPriority `protobuf:"varint,2,opt,name=priority,proto3,enum=kodex.runtime.v1.JobPriority" json:"priority,omitempty"`
	// slot_id optionally links the job to a runtime slot.
	SlotId *string `protobuf:"bytes,3,opt,name=slot_id,json=slotId,proto3,oneof" json:"slot_id,omitempty"`
	// agent_run_id optionally links the job to an external agent run.
	AgentRunId *string `protobuf:"bytes,4,opt,name=agent_run_id,json=agentRunId,proto3,oneof" json:"agent_run_id,omitempty"`
	// project_id optionally links the job to a project.
	ProjectId *string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	// repository_id optionally links the job to a repository.
	RepositoryId *string `protobuf:"bytes,6,opt,name=repository_id,json=repositoryId,proto3,oneof" json:"repository_id,omitempty"`
	// release_line_id optionally links the job to a release line.
	ReleaseLineId *string `protobuf:"bytes,7,opt,name=release_line_id,json=releaseLineId,proto3,oneof" json:"release_line_id,omitempty"`
	// package_installation_id optionally links the job to a package installation.
	PackageInstallationId *string `protobuf:"bytes,8,opt,name=package_installation_id,json=packageInstallationId,proto3,oneof" json:"package_installation_id,omitempty"`
	// placement_constraints are passed to fleet-manager when placement is needed.
	PlacementConstraints *PlacementConstraints `protobuf:"bytes,9,opt,name=placement_constraints,json=placementConstraints,proto3" json:"placement_constraints,omitempty"`
	// job_input_json carries bounded operation input without secrets.
	JobInputJson string `protobuf:"bytes,10,opt,name=job_input_json,json=jobInputJson,proto3" json:"job_input_json,omitempty"`
	// meta carries idempotency and audit context.
	Meta *CommandMeta `protobuf:"bytes,11,opt,name=meta,proto3" json:"meta,omitempty"`
	// agent_run_execution_spec is required before an agent_run job can be executed.
	AgentRunExecutionSpec *AgentRunExecutionSpec `protobuf:"bytes,12,opt,name=agent_run_execution_spec,json=agentRunExecutionSpec,proto3,oneof" json:"agent_run_execution_spec,omitempty"`
	// build_execution_spec is required before a build job can be executed.
	BuildExecutionSpec *BuildExecutionSpec `protobuf:"bytes,13,opt,name=build_execution_spec,json=buildExecutionSpec,proto3,oneof" json:"build_execution_spec,omitempty"`
	// deploy_execution_spec is required before a deploy job can enter rollout execution.
	DeployExecutionSpec *DeployExecutionSpec `protobuf:"bytes,14,opt,name=deploy_execution_spec,json=deployExecutionSpec,proto3,oneof" json:"deploy_execution_spec,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*CreateJobRequest) ProtoMessage() {}

func (x *CreateJobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 CreateJobRequest.ProtoReflect.Descriptor instead.
func (*CreateJobRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{48}
}

func (x *CreateJobRequest) GetJobType() JobType {
	if x != nil {
		return x.JobType
	}
	return JobType_JOB_TYPE_UNSPECIFIED
}

func (x *CreateJobRequest) GetPriority() JobPriority {
	if x != nil {
		return x.Priority
	}
	return JobPriority_JOB_PRIORITY_UNSPECIFIED
}

func (x *CreateJobRequest) GetSlotId() string {
	if x != nil && x.SlotId != nil {
		return *x.SlotId
	}
	return ""
}

func (x *CreateJobRequest) GetAgentRunId() string {
	if x != nil && x.AgentRunId != nil {
		return *x.AgentRunId
	}
	return ""
}

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

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

func (x *CreateJobRequest) GetReleaseLineId() string {
	if x != nil && x.ReleaseLineId != nil {
		return *x.ReleaseLineId
	}
	return ""
}

func (x *CreateJobRequest) GetPackageInstallationId() string {
	if x != nil && x.PackageInstallationId != nil {
		return *x.PackageInstallationId
	}
	return ""
}

func (x *CreateJobRequest) GetPlacementConstraints() *PlacementConstraints {
	if x != nil {
		return x.PlacementConstraints
	}
	return nil
}

func (x *CreateJobRequest) GetJobInputJson() string {
	if x != nil {
		return x.JobInputJson
	}
	return ""
}

func (x *CreateJobRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *CreateJobRequest) GetAgentRunExecutionSpec() *AgentRunExecutionSpec {
	if x != nil {
		return x.AgentRunExecutionSpec
	}
	return nil
}

func (x *CreateJobRequest) GetBuildExecutionSpec() *BuildExecutionSpec {
	if x != nil {
		return x.BuildExecutionSpec
	}
	return nil
}

func (x *CreateJobRequest) GetDeployExecutionSpec() *DeployExecutionSpec {
	if x != nil {
		return x.DeployExecutionSpec
	}
	return nil
}

type ClaimRunnableJobRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job_types optionally filters runnable jobs by type.
	JobTypes []JobType `protobuf:"varint,1,rep,packed,name=job_types,json=jobTypes,proto3,enum=kodex.runtime.v1.JobType" json:"job_types,omitempty"`
	// worker_id identifies the worker process when available.
	WorkerId *string `protobuf:"bytes,2,opt,name=worker_id,json=workerId,proto3,oneof" json:"worker_id,omitempty"`
	// lease_owner identifies the worker or controller claiming the job.
	LeaseOwner string `protobuf:"bytes,3,opt,name=lease_owner,json=leaseOwner,proto3" json:"lease_owner,omitempty"`
	// lease_until is claim lease expiration time in RFC3339 format.
	LeaseUntil string `protobuf:"bytes,4,opt,name=lease_until,json=leaseUntil,proto3" json:"lease_until,omitempty"`
	// fleet_scope_id optionally filters jobs by fleet scope.
	FleetScopeId *string `protobuf:"bytes,5,opt,name=fleet_scope_id,json=fleetScopeId,proto3,oneof" json:"fleet_scope_id,omitempty"`
	// meta carries idempotency and audit context.
	Meta          *CommandMeta `protobuf:"bytes,6,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ClaimRunnableJobRequest) ProtoMessage() {}

func (x *ClaimRunnableJobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ClaimRunnableJobRequest.ProtoReflect.Descriptor instead.
func (*ClaimRunnableJobRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{49}
}

func (x *ClaimRunnableJobRequest) GetJobTypes() []JobType {
	if x != nil {
		return x.JobTypes
	}
	return nil
}

func (x *ClaimRunnableJobRequest) GetWorkerId() string {
	if x != nil && x.WorkerId != nil {
		return *x.WorkerId
	}
	return ""
}

func (x *ClaimRunnableJobRequest) GetLeaseOwner() string {
	if x != nil {
		return x.LeaseOwner
	}
	return ""
}

func (x *ClaimRunnableJobRequest) GetLeaseUntil() string {
	if x != nil {
		return x.LeaseUntil
	}
	return ""
}

func (x *ClaimRunnableJobRequest) GetFleetScopeId() string {
	if x != nil && x.FleetScopeId != nil {
		return *x.FleetScopeId
	}
	return ""
}

func (x *ClaimRunnableJobRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ClaimRunnableJobResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job is the claimed job.
	Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
	// lease_token must be presented by progress, complete and fail commands.
	LeaseToken    string `protobuf:"bytes,2,opt,name=lease_token,json=leaseToken,proto3" json:"lease_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ClaimRunnableJobResponse) ProtoMessage() {}

func (x *ClaimRunnableJobResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ClaimRunnableJobResponse.ProtoReflect.Descriptor instead.
func (*ClaimRunnableJobResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{50}
}

func (x *ClaimRunnableJobResponse) GetJob() *Job {
	if x != nil {
		return x.Job
	}
	return nil
}

func (x *ClaimRunnableJobResponse) GetLeaseToken() string {
	if x != nil {
		return x.LeaseToken
	}
	return ""
}

type ReportJobStepProgressRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job_id is the job aggregate id.
	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// lease_token proves that caller owns the active job lease.
	LeaseToken string `protobuf:"bytes,2,opt,name=lease_token,json=leaseToken,proto3" json:"lease_token,omitempty"`
	// step_key is a stable step key such as checkout, build or deploy.
	StepKey string `protobuf:"bytes,3,opt,name=step_key,json=stepKey,proto3" json:"step_key,omitempty"`
	// status is the new step status.
	Status JobStepStatus `protobuf:"varint,4,opt,name=status,proto3,enum=kodex.runtime.v1.JobStepStatus" json:"status,omitempty"`
	// started_at is step start time in RFC3339 format.
	StartedAt *string `protobuf:"bytes,5,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"`
	// finished_at is step finish time in RFC3339 format.
	FinishedAt *string `protobuf:"bytes,6,opt,name=finished_at,json=finishedAt,proto3,oneof" json:"finished_at,omitempty"`
	// short_log_tail stores a bounded diagnostic log tail.
	ShortLogTail string `protobuf:"bytes,7,opt,name=short_log_tail,json=shortLogTail,proto3" json:"short_log_tail,omitempty"`
	// external_ref points to Kubernetes Job, Pod or another external object.
	ExternalRef string `protobuf:"bytes,8,opt,name=external_ref,json=externalRef,proto3" json:"external_ref,omitempty"`
	// error_code is a classified error code.
	ErrorCode string `protobuf:"bytes,9,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
	// error_message is a safe error message without secrets.
	ErrorMessage string `protobuf:"bytes,10,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// artifact_refs are external artifact references observed by this step.
	ArtifactRefs []*RuntimeArtifactRefInput `protobuf:"bytes,11,rep,name=artifact_refs,json=artifactRefs,proto3" json:"artifact_refs,omitempty"`
	// meta carries idempotency, expected version and audit context.
	Meta          *CommandMeta `protobuf:"bytes,12,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReportJobStepProgressRequest) ProtoMessage() {}

func (x *ReportJobStepProgressRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ReportJobStepProgressRequest.ProtoReflect.Descriptor instead.
func (*ReportJobStepProgressRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{51}
}

func (x *ReportJobStepProgressRequest) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *ReportJobStepProgressRequest) GetLeaseToken() string {
	if x != nil {
		return x.LeaseToken
	}
	return ""
}

func (x *ReportJobStepProgressRequest) GetStepKey() string {
	if x != nil {
		return x.StepKey
	}
	return ""
}

func (x *ReportJobStepProgressRequest) GetStatus() JobStepStatus {
	if x != nil {
		return x.Status
	}
	return JobStepStatus_JOB_STEP_STATUS_UNSPECIFIED
}

func (x *ReportJobStepProgressRequest) GetStartedAt() string {
	if x != nil && x.StartedAt != nil {
		return *x.StartedAt
	}
	return ""
}

func (x *ReportJobStepProgressRequest) GetFinishedAt() string {
	if x != nil && x.FinishedAt != nil {
		return *x.FinishedAt
	}
	return ""
}

func (x *ReportJobStepProgressRequest) GetShortLogTail() string {
	if x != nil {
		return x.ShortLogTail
	}
	return ""
}

func (x *ReportJobStepProgressRequest) GetExternalRef() string {
	if x != nil {
		return x.ExternalRef
	}
	return ""
}

func (x *ReportJobStepProgressRequest) GetErrorCode() string {
	if x != nil {
		return x.ErrorCode
	}
	return ""
}

func (x *ReportJobStepProgressRequest) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *ReportJobStepProgressRequest) GetArtifactRefs() []*RuntimeArtifactRefInput {
	if x != nil {
		return x.ArtifactRefs
	}
	return nil
}

func (x *ReportJobStepProgressRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type CompleteJobRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job_id is the job aggregate id.
	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// lease_token proves that caller owns the active job lease.
	LeaseToken string `protobuf:"bytes,2,opt,name=lease_token,json=leaseToken,proto3" json:"lease_token,omitempty"`
	// short_log_tail stores a bounded diagnostic log tail.
	ShortLogTail string `protobuf:"bytes,3,opt,name=short_log_tail,json=shortLogTail,proto3" json:"short_log_tail,omitempty"`
	// full_log_ref points to the full log source.
	FullLogRef string `protobuf:"bytes,4,opt,name=full_log_ref,json=fullLogRef,proto3" json:"full_log_ref,omitempty"`
	// meta carries idempotency, expected version and audit context.
	Meta          *CommandMeta `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CompleteJobRequest) ProtoMessage() {}

func (x *CompleteJobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 CompleteJobRequest.ProtoReflect.Descriptor instead.
func (*CompleteJobRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{52}
}

func (x *CompleteJobRequest) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *CompleteJobRequest) GetLeaseToken() string {
	if x != nil {
		return x.LeaseToken
	}
	return ""
}

func (x *CompleteJobRequest) GetShortLogTail() string {
	if x != nil {
		return x.ShortLogTail
	}
	return ""
}

func (x *CompleteJobRequest) GetFullLogRef() string {
	if x != nil {
		return x.FullLogRef
	}
	return ""
}

func (x *CompleteJobRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type FailJobRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job_id is the job aggregate id.
	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// lease_token proves that caller owns the active job lease.
	LeaseToken string `protobuf:"bytes,2,opt,name=lease_token,json=leaseToken,proto3" json:"lease_token,omitempty"`
	// error_code is a classified failure code.
	ErrorCode string `protobuf:"bytes,3,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
	// error_message is a safe failure message without secrets.
	ErrorMessage string `protobuf:"bytes,4,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// short_log_tail stores a bounded diagnostic log tail.
	ShortLogTail string `protobuf:"bytes,5,opt,name=short_log_tail,json=shortLogTail,proto3" json:"short_log_tail,omitempty"`
	// full_log_ref points to the full log source.
	FullLogRef string `protobuf:"bytes,6,opt,name=full_log_ref,json=fullLogRef,proto3" json:"full_log_ref,omitempty"`
	// meta carries idempotency, expected version and audit context.
	Meta          *CommandMeta `protobuf:"bytes,7,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FailJobRequest) ProtoMessage() {}

func (x *FailJobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 FailJobRequest.ProtoReflect.Descriptor instead.
func (*FailJobRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{53}
}

func (x *FailJobRequest) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *FailJobRequest) GetLeaseToken() string {
	if x != nil {
		return x.LeaseToken
	}
	return ""
}

func (x *FailJobRequest) GetErrorCode() string {
	if x != nil {
		return x.ErrorCode
	}
	return ""
}

func (x *FailJobRequest) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *FailJobRequest) GetShortLogTail() string {
	if x != nil {
		return x.ShortLogTail
	}
	return ""
}

func (x *FailJobRequest) GetFullLogRef() string {
	if x != nil {
		return x.FullLogRef
	}
	return ""
}

func (x *FailJobRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type CancelJobRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job_id is the job aggregate id.
	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// meta carries idempotency, expected version and audit context.
	Meta          *CommandMeta `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CancelJobRequest) ProtoMessage() {}

func (x *CancelJobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 CancelJobRequest.ProtoReflect.Descriptor instead.
func (*CancelJobRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{54}
}

func (x *CancelJobRequest) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *CancelJobRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type JobResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job is the returned job state.
	Job           *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*JobResponse) ProtoMessage() {}

func (x *JobResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 JobResponse.ProtoReflect.Descriptor instead.
func (*JobResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{55}
}

func (x *JobResponse) GetJob() *Job {
	if x != nil {
		return x.Job
	}
	return nil
}

type GetJobRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job_id is the job aggregate id.
	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// meta carries read actor and request context.
	Meta          *QueryMeta `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetJobRequest) ProtoMessage() {}

func (x *GetJobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 GetJobRequest.ProtoReflect.Descriptor instead.
func (*GetJobRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{56}
}

func (x *GetJobRequest) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *GetJobRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListJobsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// statuses optionally filter job lifecycle state.
	Statuses []JobStatus `protobuf:"varint,1,rep,packed,name=statuses,proto3,enum=kodex.runtime.v1.JobStatus" json:"statuses,omitempty"`
	// job_types optionally filter jobs by type.
	JobTypes []JobType `protobuf:"varint,2,rep,packed,name=job_types,json=jobTypes,proto3,enum=kodex.runtime.v1.JobType" json:"job_types,omitempty"`
	// project_id optionally filters jobs by project.
	ProjectId *string `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3,oneof" json:"project_id,omitempty"`
	// slot_id optionally filters jobs by slot.
	SlotId *string `protobuf:"bytes,4,opt,name=slot_id,json=slotId,proto3,oneof" json:"slot_id,omitempty"`
	// agent_run_id optionally filters jobs by external agent run.
	AgentRunId *string `protobuf:"bytes,5,opt,name=agent_run_id,json=agentRunId,proto3,oneof" json:"agent_run_id,omitempty"`
	// release_line_id optionally filters jobs by release line.
	ReleaseLineId *string `protobuf:"bytes,6,opt,name=release_line_id,json=releaseLineId,proto3,oneof" json:"release_line_id,omitempty"`
	// page limits response size.
	Page *PageRequest `protobuf:"bytes,7,opt,name=page,proto3" json:"page,omitempty"`
	// meta carries read actor and request context.
	Meta          *QueryMeta `protobuf:"bytes,8,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListJobsRequest) ProtoMessage() {}

func (x *ListJobsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ListJobsRequest.ProtoReflect.Descriptor instead.
func (*ListJobsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{57}
}

func (x *ListJobsRequest) GetStatuses() []JobStatus {
	if x != nil {
		return x.Statuses
	}
	return nil
}

func (x *ListJobsRequest) GetJobTypes() []JobType {
	if x != nil {
		return x.JobTypes
	}
	return nil
}

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

func (x *ListJobsRequest) GetSlotId() string {
	if x != nil && x.SlotId != nil {
		return *x.SlotId
	}
	return ""
}

func (x *ListJobsRequest) GetAgentRunId() string {
	if x != nil && x.AgentRunId != nil {
		return *x.AgentRunId
	}
	return ""
}

func (x *ListJobsRequest) GetReleaseLineId() string {
	if x != nil && x.ReleaseLineId != nil {
		return *x.ReleaseLineId
	}
	return ""
}

func (x *ListJobsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListJobsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListJobsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// jobs are returned in stable server-defined order.
	Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"`
	// page describes continuation state.
	Page          *PageResponse `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListJobsResponse) ProtoMessage() {}

func (x *ListJobsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ListJobsResponse.ProtoReflect.Descriptor instead.
func (*ListJobsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{58}
}

func (x *ListJobsResponse) GetJobs() []*Job {
	if x != nil {
		return x.Jobs
	}
	return nil
}

func (x *ListJobsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type RecordRuntimeArtifactRefRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job_id optionally links the reference to a job.
	JobId *string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3,oneof" json:"job_id,omitempty"`
	// slot_id optionally links the reference to a slot.
	SlotId *string `protobuf:"bytes,2,opt,name=slot_id,json=slotId,proto3,oneof" json:"slot_id,omitempty"`
	// artifact_ref carries caller-provided reference data.
	ArtifactRef *RuntimeArtifactRefInput `protobuf:"bytes,3,opt,name=artifact_ref,json=artifactRef,proto3" json:"artifact_ref,omitempty"`
	// meta carries idempotency and audit context.
	Meta          *CommandMeta `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RecordRuntimeArtifactRefRequest) ProtoMessage() {}

func (x *RecordRuntimeArtifactRefRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 RecordRuntimeArtifactRefRequest.ProtoReflect.Descriptor instead.
func (*RecordRuntimeArtifactRefRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{59}
}

func (x *RecordRuntimeArtifactRefRequest) GetJobId() string {
	if x != nil && x.JobId != nil {
		return *x.JobId
	}
	return ""
}

func (x *RecordRuntimeArtifactRefRequest) GetSlotId() string {
	if x != nil && x.SlotId != nil {
		return *x.SlotId
	}
	return ""
}

func (x *RecordRuntimeArtifactRefRequest) GetArtifactRef() *RuntimeArtifactRefInput {
	if x != nil {
		return x.ArtifactRef
	}
	return nil
}

func (x *RecordRuntimeArtifactRefRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type RuntimeArtifactRefResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// runtime_artifact_ref is the returned reference.
	RuntimeArtifactRef *RuntimeArtifactRef `protobuf:"bytes,1,opt,name=runtime_artifact_ref,json=runtimeArtifactRef,proto3" json:"runtime_artifact_ref,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*RuntimeArtifactRefResponse) ProtoMessage() {}

func (x *RuntimeArtifactRefResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 RuntimeArtifactRefResponse.ProtoReflect.Descriptor instead.
func (*RuntimeArtifactRefResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{60}
}

func (x *RuntimeArtifactRefResponse) GetRuntimeArtifactRef() *RuntimeArtifactRef {
	if x != nil {
		return x.RuntimeArtifactRef
	}
	return nil
}

type ListRuntimeArtifactRefsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// job_id optionally filters references by job.
	JobId *string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3,oneof" json:"job_id,omitempty"`
	// slot_id optionally filters references by slot.
	SlotId *string `protobuf:"bytes,2,opt,name=slot_id,json=slotId,proto3,oneof" json:"slot_id,omitempty"`
	// artifact_types optionally filter references by type.
	ArtifactTypes []RuntimeArtifactType `protobuf:"varint,3,rep,packed,name=artifact_types,json=artifactTypes,proto3,enum=kodex.runtime.v1.RuntimeArtifactType" json:"artifact_types,omitempty"`
	// page limits response size.
	Page *PageRequest `protobuf:"bytes,4,opt,name=page,proto3" json:"page,omitempty"`
	// meta carries read actor and request context.
	Meta          *QueryMeta `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRuntimeArtifactRefsRequest) ProtoMessage() {}

func (x *ListRuntimeArtifactRefsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ListRuntimeArtifactRefsRequest.ProtoReflect.Descriptor instead.
func (*ListRuntimeArtifactRefsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{61}
}

func (x *ListRuntimeArtifactRefsRequest) GetJobId() string {
	if x != nil && x.JobId != nil {
		return *x.JobId
	}
	return ""
}

func (x *ListRuntimeArtifactRefsRequest) GetSlotId() string {
	if x != nil && x.SlotId != nil {
		return *x.SlotId
	}
	return ""
}

func (x *ListRuntimeArtifactRefsRequest) GetArtifactTypes() []RuntimeArtifactType {
	if x != nil {
		return x.ArtifactTypes
	}
	return nil
}

func (x *ListRuntimeArtifactRefsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListRuntimeArtifactRefsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListRuntimeArtifactRefsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// runtime_artifact_refs are returned in stable server-defined order.
	RuntimeArtifactRefs []*RuntimeArtifactRef `protobuf:"bytes,1,rep,name=runtime_artifact_refs,json=runtimeArtifactRefs,proto3" json:"runtime_artifact_refs,omitempty"`
	// page describes continuation state.
	Page          *PageResponse `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRuntimeArtifactRefsResponse) ProtoMessage() {}

func (x *ListRuntimeArtifactRefsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ListRuntimeArtifactRefsResponse.ProtoReflect.Descriptor instead.
func (*ListRuntimeArtifactRefsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{62}
}

func (x *ListRuntimeArtifactRefsResponse) GetRuntimeArtifactRefs() []*RuntimeArtifactRef {
	if x != nil {
		return x.RuntimeArtifactRefs
	}
	return nil
}

func (x *ListRuntimeArtifactRefsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type CreateOrUpdateCleanupPolicyRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// cleanup_policy_id is optional policy id for update; absent value creates a new policy.
	CleanupPolicyId *string `protobuf:"bytes,1,opt,name=cleanup_policy_id,json=cleanupPolicyId,proto3,oneof" json:"cleanup_policy_id,omitempty"`
	// scope_type classifies the scope this policy applies to.
	ScopeType RuntimeScopeType `protobuf:"varint,2,opt,name=scope_type,json=scopeType,proto3,enum=kodex.runtime.v1.RuntimeScopeType" json:"scope_type,omitempty"`
	// scope_id is the optional external scope id.
	ScopeId *string `protobuf:"bytes,3,opt,name=scope_id,json=scopeId,proto3,oneof" json:"scope_id,omitempty"`
	// ttl_seconds is the default retention period for completed runtime objects.
	TtlSeconds int64 `protobuf:"varint,4,opt,name=ttl_seconds,json=ttlSeconds,proto3" json:"ttl_seconds,omitempty"`
	// failed_ttl_seconds is the retention period for failed runtime objects.
	FailedTtlSeconds int64 `protobuf:"varint,5,opt,name=failed_ttl_seconds,json=failedTtlSeconds,proto3" json:"failed_ttl_seconds,omitempty"`
	// keep_short_log_tail controls whether bounded diagnostic tails remain after cleanup.
	KeepShortLogTail bool `protobuf:"varint,6,opt,name=keep_short_log_tail,json=keepShortLogTail,proto3" json:"keep_short_log_tail,omitempty"`
	// status is the cleanup policy status.
	Status CleanupPolicyStatus `protobuf:"varint,7,opt,name=status,proto3,enum=kodex.runtime.v1.CleanupPolicyStatus" json:"status,omitempty"`
	// meta carries idempotency, expected version and audit context.
	Meta          *CommandMeta `protobuf:"bytes,8,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateOrUpdateCleanupPolicyRequest) ProtoMessage() {}

func (x *CreateOrUpdateCleanupPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 CreateOrUpdateCleanupPolicyRequest.ProtoReflect.Descriptor instead.
func (*CreateOrUpdateCleanupPolicyRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{63}
}

func (x *CreateOrUpdateCleanupPolicyRequest) GetCleanupPolicyId() string {
	if x != nil && x.CleanupPolicyId != nil {
		return *x.CleanupPolicyId
	}
	return ""
}

func (x *CreateOrUpdateCleanupPolicyRequest) GetScopeType() RuntimeScopeType {
	if x != nil {
		return x.ScopeType
	}
	return RuntimeScopeType_RUNTIME_SCOPE_TYPE_UNSPECIFIED
}

func (x *CreateOrUpdateCleanupPolicyRequest) GetScopeId() string {
	if x != nil && x.ScopeId != nil {
		return *x.ScopeId
	}
	return ""
}

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

func (x *CreateOrUpdateCleanupPolicyRequest) GetFailedTtlSeconds() int64 {
	if x != nil {
		return x.FailedTtlSeconds
	}
	return 0
}

func (x *CreateOrUpdateCleanupPolicyRequest) GetKeepShortLogTail() bool {
	if x != nil {
		return x.KeepShortLogTail
	}
	return false
}

func (x *CreateOrUpdateCleanupPolicyRequest) GetStatus() CleanupPolicyStatus {
	if x != nil {
		return x.Status
	}
	return CleanupPolicyStatus_CLEANUP_POLICY_STATUS_UNSPECIFIED
}

func (x *CreateOrUpdateCleanupPolicyRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type CleanupPolicyResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// cleanup_policy is the returned cleanup policy state.
	CleanupPolicy *CleanupPolicy `protobuf:"bytes,1,opt,name=cleanup_policy,json=cleanupPolicy,proto3" json:"cleanup_policy,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CleanupPolicyResponse) ProtoMessage() {}

func (x *CleanupPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 CleanupPolicyResponse.ProtoReflect.Descriptor instead.
func (*CleanupPolicyResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{64}
}

func (x *CleanupPolicyResponse) GetCleanupPolicy() *CleanupPolicy {
	if x != nil {
		return x.CleanupPolicy
	}
	return nil
}

type RunCleanupBatchRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// cleanup_policy_id optionally limits cleanup to one policy.
	CleanupPolicyId *string `protobuf:"bytes,1,opt,name=cleanup_policy_id,json=cleanupPolicyId,proto3,oneof" json:"cleanup_policy_id,omitempty"`
	// limit is the maximum number of runtime objects to claim.
	Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	// lease_owner identifies the worker or controller running cleanup.
	LeaseOwner string `protobuf:"bytes,3,opt,name=lease_owner,json=leaseOwner,proto3" json:"lease_owner,omitempty"`
	// lease_until is cleanup lease expiration time in RFC3339 format.
	LeaseUntil string `protobuf:"bytes,4,opt,name=lease_until,json=leaseUntil,proto3" json:"lease_until,omitempty"`
	// meta carries idempotency and audit context.
	Meta          *CommandMeta `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RunCleanupBatchRequest) ProtoMessage() {}

func (x *RunCleanupBatchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 RunCleanupBatchRequest.ProtoReflect.Descriptor instead.
func (*RunCleanupBatchRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{65}
}

func (x *RunCleanupBatchRequest) GetCleanupPolicyId() string {
	if x != nil && x.CleanupPolicyId != nil {
		return *x.CleanupPolicyId
	}
	return ""
}

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

func (x *RunCleanupBatchRequest) GetLeaseOwner() string {
	if x != nil {
		return x.LeaseOwner
	}
	return ""
}

func (x *RunCleanupBatchRequest) GetLeaseUntil() string {
	if x != nil {
		return x.LeaseUntil
	}
	return ""
}

func (x *RunCleanupBatchRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type RunCleanupBatchResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// claimed_count is number of runtime objects claimed for cleanup.
	ClaimedCount int32 `protobuf:"varint,1,opt,name=claimed_count,json=claimedCount,proto3" json:"claimed_count,omitempty"`
	// cleaned_count is number of successfully cleaned runtime objects.
	CleanedCount int32 `protobuf:"varint,2,opt,name=cleaned_count,json=cleanedCount,proto3" json:"cleaned_count,omitempty"`
	// failed_count is number of failed cleanup attempts.
	FailedCount int32 `protobuf:"varint,3,opt,name=failed_count,json=failedCount,proto3" json:"failed_count,omitempty"`
	// affected_slot_ids are slots touched by this cleanup batch.
	AffectedSlotIds []string `protobuf:"bytes,4,rep,name=affected_slot_ids,json=affectedSlotIds,proto3" json:"affected_slot_ids,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*RunCleanupBatchResponse) ProtoMessage() {}

func (x *RunCleanupBatchResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 RunCleanupBatchResponse.ProtoReflect.Descriptor instead.
func (*RunCleanupBatchResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{66}
}

func (x *RunCleanupBatchResponse) GetClaimedCount() int32 {
	if x != nil {
		return x.ClaimedCount
	}
	return 0
}

func (x *RunCleanupBatchResponse) GetCleanedCount() int32 {
	if x != nil {
		return x.CleanedCount
	}
	return 0
}

func (x *RunCleanupBatchResponse) GetFailedCount() int32 {
	if x != nil {
		return x.FailedCount
	}
	return 0
}

func (x *RunCleanupBatchResponse) GetAffectedSlotIds() []string {
	if x != nil {
		return x.AffectedSlotIds
	}
	return nil
}

type CreateOrUpdatePrewarmPoolRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// prewarm_pool_id is optional pool id for update; absent value creates a new pool.
	PrewarmPoolId *string `protobuf:"bytes,1,opt,name=prewarm_pool_id,json=prewarmPoolId,proto3,oneof" json:"prewarm_pool_id,omitempty"`
	// scope_type classifies the scope this pool applies to.
	ScopeType PrewarmPoolScopeType `protobuf:"varint,2,opt,name=scope_type,json=scopeType,proto3,enum=kodex.runtime.v1.PrewarmPoolScopeType" json:"scope_type,omitempty"`
	// scope_id is the optional external scope id.
	ScopeId *string `protobuf:"bytes,3,opt,name=scope_id,json=scopeId,proto3,oneof" json:"scope_id,omitempty"`
	// runtime_profile is the runtime profile maintained by the pool.
	RuntimeProfile string `protobuf:"bytes,4,opt,name=runtime_profile,json=runtimeProfile,proto3" json:"runtime_profile,omitempty"`
	// fleet_scope_id is the optional fleet scope for this pool.
	FleetScopeId *string `protobuf:"bytes,5,opt,name=fleet_scope_id,json=fleetScopeId,proto3,oneof" json:"fleet_scope_id,omitempty"`
	// target_size is desired number of prewarmed slots.
	TargetSize int64 `protobuf:"varint,6,opt,name=target_size,json=targetSize,proto3" json:"target_size,omitempty"`
	// status is the prewarm pool status.
	Status PrewarmPoolStatus `protobuf:"varint,7,opt,name=status,proto3,enum=kodex.runtime.v1.PrewarmPoolStatus" json:"status,omitempty"`
	// meta carries idempotency, expected version and audit context.
	Meta          *CommandMeta `protobuf:"bytes,8,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateOrUpdatePrewarmPoolRequest) ProtoMessage() {}

func (x *CreateOrUpdatePrewarmPoolRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 CreateOrUpdatePrewarmPoolRequest.ProtoReflect.Descriptor instead.
func (*CreateOrUpdatePrewarmPoolRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{67}
}

func (x *CreateOrUpdatePrewarmPoolRequest) GetPrewarmPoolId() string {
	if x != nil && x.PrewarmPoolId != nil {
		return *x.PrewarmPoolId
	}
	return ""
}

func (x *CreateOrUpdatePrewarmPoolRequest) GetScopeType() PrewarmPoolScopeType {
	if x != nil {
		return x.ScopeType
	}
	return PrewarmPoolScopeType_PREWARM_POOL_SCOPE_TYPE_UNSPECIFIED
}

func (x *CreateOrUpdatePrewarmPoolRequest) GetScopeId() string {
	if x != nil && x.ScopeId != nil {
		return *x.ScopeId
	}
	return ""
}

func (x *CreateOrUpdatePrewarmPoolRequest) GetRuntimeProfile() string {
	if x != nil {
		return x.RuntimeProfile
	}
	return ""
}

func (x *CreateOrUpdatePrewarmPoolRequest) GetFleetScopeId() string {
	if x != nil && x.FleetScopeId != nil {
		return *x.FleetScopeId
	}
	return ""
}

func (x *CreateOrUpdatePrewarmPoolRequest) GetTargetSize() int64 {
	if x != nil {
		return x.TargetSize
	}
	return 0
}

func (x *CreateOrUpdatePrewarmPoolRequest) GetStatus() PrewarmPoolStatus {
	if x != nil {
		return x.Status
	}
	return PrewarmPoolStatus_PREWARM_POOL_STATUS_UNSPECIFIED
}

func (x *CreateOrUpdatePrewarmPoolRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type PrewarmPoolResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// prewarm_pool is the returned prewarm pool state.
	PrewarmPool   *PrewarmPool `protobuf:"bytes,1,opt,name=prewarm_pool,json=prewarmPool,proto3" json:"prewarm_pool,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PrewarmPoolResponse) ProtoMessage() {}

func (x *PrewarmPoolResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 PrewarmPoolResponse.ProtoReflect.Descriptor instead.
func (*PrewarmPoolResponse) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{68}
}

func (x *PrewarmPoolResponse) GetPrewarmPool() *PrewarmPool {
	if x != nil {
		return x.PrewarmPool
	}
	return nil
}

type ReconcilePrewarmPoolRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// prewarm_pool_id is the pool id.
	PrewarmPoolId string `protobuf:"bytes,1,opt,name=prewarm_pool_id,json=prewarmPoolId,proto3" json:"prewarm_pool_id,omitempty"`
	// lease_owner identifies the worker or controller reconciling the pool.
	LeaseOwner string `protobuf:"bytes,2,opt,name=lease_owner,json=leaseOwner,proto3" json:"lease_owner,omitempty"`
	// lease_until is reconciliation lease expiration time in RFC3339 format.
	LeaseUntil string `protobuf:"bytes,3,opt,name=lease_until,json=leaseUntil,proto3" json:"lease_until,omitempty"`
	// meta carries idempotency and audit context.
	Meta          *CommandMeta `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReconcilePrewarmPoolRequest) ProtoMessage() {}

func (x *ReconcilePrewarmPoolRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 ReconcilePrewarmPoolRequest.ProtoReflect.Descriptor instead.
func (*ReconcilePrewarmPoolRequest) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{69}
}

func (x *ReconcilePrewarmPoolRequest) GetPrewarmPoolId() string {
	if x != nil {
		return x.PrewarmPoolId
	}
	return ""
}

func (x *ReconcilePrewarmPoolRequest) GetLeaseOwner() string {
	if x != nil {
		return x.LeaseOwner
	}
	return ""
}

func (x *ReconcilePrewarmPoolRequest) GetLeaseUntil() string {
	if x != nil {
		return x.LeaseUntil
	}
	return ""
}

func (x *ReconcilePrewarmPoolRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

// DeployRolloutTarget describes one bounded Kubernetes object watched during rollout.
type DeployRolloutTarget struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// kind is a safe Kubernetes workload kind such as deployment or statefulset.
	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	// ref is a safe target ref, for example k8s://deployments/runtime-manager.
	Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	// namespace is the target namespace for this object.
	Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// name is the Kubernetes object name.
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// digest optionally pins the rendered object digest from the checked bundle.
	Digest        *string `protobuf:"bytes,5,opt,name=digest,proto3,oneof" json:"digest,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeployRolloutTarget) ProtoMessage() {}

func (x *DeployRolloutTarget) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 DeployRolloutTarget.ProtoReflect.Descriptor instead.
func (*DeployRolloutTarget) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{70}
}

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

func (x *DeployRolloutTarget) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

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

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

func (x *DeployRolloutTarget) GetDigest() string {
	if x != nil && x.Digest != nil {
		return *x.Digest
	}
	return ""
}

// DeployExpectedImageRef describes one immutable image expected after rollout.
type DeployExpectedImageRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// container_name identifies the container within rollout targets.
	ContainerName string `protobuf:"bytes,1,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"`
	// image_ref is the expected image repository/ref without raw registry credentials.
	ImageRef string `protobuf:"bytes,2,opt,name=image_ref,json=imageRef,proto3" json:"image_ref,omitempty"`
	// image_digest pins the expected immutable image digest when available.
	ImageDigest   *string `protobuf:"bytes,3,opt,name=image_digest,json=imageDigest,proto3,oneof" json:"image_digest,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeployExpectedImageRef) ProtoMessage() {}

func (x *DeployExpectedImageRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_runtime_v1_runtime_manager_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 DeployExpectedImageRef.ProtoReflect.Descriptor instead.
func (*DeployExpectedImageRef) Descriptor() ([]byte, []int) {
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP(), []int{71}
}

func (x *DeployExpectedImageRef) GetContainerName() string {
	if x != nil {
		return x.ContainerName
	}
	return ""
}

func (x *DeployExpectedImageRef) GetImageRef() string {
	if x != nil {
		return x.ImageRef
	}
	return ""
}

func (x *DeployExpectedImageRef) GetImageDigest() string {
	if x != nil && x.ImageDigest != nil {
		return *x.ImageDigest
	}
	return ""
}

var File_kodex_runtime_v1_runtime_manager_proto protoreflect.FileDescriptor

const file_kodex_runtime_v1_runtime_manager_proto_rawDesc = "" +
	"\n" +
	"&kodex/runtime/v1/runtime_manager.proto\x12\x10kodex.runtime.v1\"\xf8\x02\n" +
	"\vCommandMeta\x12\"\n" +
	"\n" +
	"command_id\x18\x01 \x01(\tH\x00R\tcommandId\x88\x01\x01\x12,\n" +
	"\x0fidempotency_key\x18\x02 \x01(\tH\x01R\x0eidempotencyKey\x88\x01\x01\x12.\n" +
	"\x10expected_version\x18\x03 \x01(\x03H\x02R\x0fexpectedVersion\x88\x01\x01\x12-\n" +
	"\x05actor\x18\x04 \x01(\v2\x17.kodex.runtime.v1.ActorR\x05actor\x12\x16\n" +
	"\x06reason\x18\x05 \x01(\tR\x06reason\x12\x1d\n" +
	"\n" +
	"request_id\x18\x06 \x01(\tR\trequestId\x12I\n" +
	"\x0frequest_context\x18\a \x01(\v2 .kodex.runtime.v1.RequestContextR\x0erequestContextB\r\n" +
	"\v_command_idB\x12\n" +
	"\x10_idempotency_keyB\x13\n" +
	"\x11_expected_version\"\xa4\x01\n" +
	"\tQueryMeta\x12-\n" +
	"\x05actor\x18\x01 \x01(\v2\x17.kodex.runtime.v1.ActorR\x05actor\x12\x1d\n" +
	"\n" +
	"request_id\x18\x02 \x01(\tR\trequestId\x12I\n" +
	"\x0frequest_context\x18\x03 \x01(\v2 .kodex.runtime.v1.RequestContextR\x0erequestContext\"\xc6\x01\n" +
	"\x0eRequestContext\x12\x16\n" +
	"\x06source\x18\x01 \x01(\tR\x06source\x12\x1e\n" +
	"\btrace_id\x18\x02 \x01(\tH\x00R\atraceId\x88\x01\x01\x12\"\n" +
	"\n" +
	"session_id\x18\x03 \x01(\tH\x01R\tsessionId\x88\x01\x01\x12)\n" +
	"\x0eclient_ip_hash\x18\x04 \x01(\tH\x02R\fclientIpHash\x88\x01\x01B\v\n" +
	"\t_trace_idB\r\n" +
	"\v_session_idB\x11\n" +
	"\x0f_client_ip_hash\"+\n" +
	"\x05Actor\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\"]\n" +
	"\vPageRequest\x12\x1b\n" +
	"\tpage_size\x18\x01 \x01(\x05R\bpageSize\x12\"\n" +
	"\n" +
	"page_token\x18\x02 \x01(\tH\x00R\tpageToken\x88\x01\x01B\r\n" +
	"\v_page_token\"O\n" +
	"\fPageResponse\x12+\n" +
	"\x0fnext_page_token\x18\x01 \x01(\tH\x00R\rnextPageToken\x88\x01\x01B\x12\n" +
	"\x10_next_page_token\"\xee\x04\n" +
	"\x0fWorkspaceSource\x12\x1b\n" +
	"\tsource_id\x18\x01 \x01(\tR\bsourceId\x129\n" +
	"\x04kind\x18\x02 \x01(\x0e2%.kodex.runtime.v1.WorkspaceSourceKindR\x04kind\x12(\n" +
	"\rrepository_id\x18\x03 \x01(\tH\x00R\frepositoryId\x88\x01\x01\x12\x1f\n" +
	"\bprovider\x18\x04 \x01(\tH\x01R\bprovider\x88\x01\x01\x12*\n" +
	"\x0eprovider_owner\x18\x05 \x01(\tH\x02R\rproviderOwner\x88\x01\x01\x12(\n" +
	"\rprovider_name\x18\x06 \x01(\tH\x03R\fproviderName\x88\x01\x01\x12\"\n" +
	"\n" +
	"source_ref\x18\a \x01(\tH\x04R\tsourceRef\x88\x01\x01\x12\"\n" +
	"\n" +
	"commit_sha\x18\b \x01(\tH\x05R\tcommitSha\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"local_path\x18\t \x01(\tR\tlocalPath\x12L\n" +
	"\vaccess_mode\x18\n" +
	" \x01(\x0e2+.kodex.runtime.v1.WorkspaceSourceAccessModeR\n" +
	"accessMode\x12\x1b\n" +
	"\x06digest\x18\v \x01(\tH\x06R\x06digest\x88\x01\x01\x12#\n" +
	"\rmetadata_json\x18\f \x01(\tR\fmetadataJsonB\x10\n" +
	"\x0e_repository_idB\v\n" +
	"\t_providerB\x11\n" +
	"\x0f_provider_ownerB\x10\n" +
	"\x0e_provider_nameB\r\n" +
	"\v_source_refB\r\n" +
	"\v_commit_shaB\t\n" +
	"\a_digest\"\xfb\x01\n" +
	"\x14WorkspacePolicyInput\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12#\n" +
	"\rpolicy_digest\x18\x02 \x01(\tR\fpolicyDigest\x12%\n" +
	"\x0epolicy_version\x18\x03 \x01(\x03R\rpolicyVersion\x12;\n" +
	"\asources\x18\x04 \x03(\v2!.kodex.runtime.v1.WorkspaceSourceR\asources\x12;\n" +
	"\x1aactive_policy_override_ids\x18\x05 \x03(\tR\x17activePolicyOverrideIds\"\xdd\x02\n" +
	"\x14PlacementConstraints\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12%\n" +
	"\x0erepository_ids\x18\x02 \x03(\tR\rrepositoryIds\x12!\n" +
	"\fservice_keys\x18\x03 \x03(\tR\vserviceKeys\x12'\n" +
	"\x0fruntime_profile\x18\x04 \x01(\tR\x0eruntimeProfile\x12<\n" +
	"\x18preferred_fleet_scope_id\x18\x05 \x01(\tH\x00R\x15preferredFleetScopeId\x88\x01\x01\x123\n" +
	"\x15required_capabilities\x18\x06 \x03(\tR\x14requiredCapabilities\x12#\n" +
	"\rmetadata_json\x18\a \x01(\tR\fmetadataJsonB\x1b\n" +
	"\x19_preferred_fleet_scope_id\"\x8a\x03\n" +
	"\x0eRuntimeContext\x12\x17\n" +
	"\aslot_id\x18\x01 \x01(\tR\x06slotId\x12%\n" +
	"\fagent_run_id\x18\x02 \x01(\tH\x00R\n" +
	"agentRunId\x88\x01\x01\x12)\n" +
	"\x0efleet_scope_id\x18\x03 \x01(\tH\x01R\ffleetScopeId\x88\x01\x01\x12\"\n" +
	"\n" +
	"cluster_id\x18\x04 \x01(\tH\x02R\tclusterId\x88\x01\x01\x12%\n" +
	"\x0enamespace_name\x18\x05 \x01(\tR\rnamespaceName\x12'\n" +
	"\x0fruntime_profile\x18\x06 \x01(\tR\x0eruntimeProfile\x12%\n" +
	"\x0eworkspace_root\x18\a \x01(\tR\rworkspaceRoot\x12?\n" +
	"\x1bmaterialization_fingerprint\x18\b \x01(\tR\x1amaterializationFingerprintB\x0f\n" +
	"\r_agent_run_idB\x11\n" +
	"\x0f_fleet_scope_idB\r\n" +
	"\v_cluster_id\"S\n" +
	"\x18AgentRunAllowedSecretRef\x12\x1d\n" +
	"\n" +
	"secret_ref\x18\x01 \x01(\tR\tsecretRef\x12\x18\n" +
	"\apurpose\x18\x02 \x01(\tR\apurpose\"B\n" +
	"\x1aAgentRunReportingTargetRef\x12\x12\n" +
	"\x04kind\x18\x01 \x01(\tR\x04kind\x12\x10\n" +
	"\x03ref\x18\x02 \x01(\tR\x03ref\"<\n" +
	"\x14AgentRunExecutionRef\x12\x12\n" +
	"\x04kind\x18\x01 \x01(\tR\x04kind\x12\x10\n" +
	"\x03ref\x18\x02 \x01(\tR\x03ref\"U\n" +
	"\x1aRuntimeJobAllowedSecretRef\x12\x1d\n" +
	"\n" +
	"secret_ref\x18\x01 \x01(\tR\tsecretRef\x12\x18\n" +
	"\apurpose\x18\x02 \x01(\tR\apurpose\";\n" +
	"\x13RuntimeJobOutputRef\x12\x12\n" +
	"\x04kind\x18\x01 \x01(\tR\x04kind\x12\x10\n" +
	"\x03ref\x18\x02 \x01(\tR\x03ref\"\xf5\x05\n" +
	"\x12BuildExecutionSpec\x12\x1d\n" +
	"\n" +
	"source_ref\x18\x01 \x01(\tR\tsourceRef\x12*\n" +
	"\x11source_commit_sha\x18\x02 \x01(\tR\x0fsourceCommitSha\x12\x1f\n" +
	"\vservice_key\x18\x03 \x01(\tR\n" +
	"serviceKey\x12\x1b\n" +
	"\timage_ref\x18\x04 \x01(\tR\bimageRef\x12\x1b\n" +
	"\timage_tag\x18\x05 \x01(\tR\bimageTag\x12&\n" +
	"\fimage_digest\x18\x06 \x01(\tH\x00R\vimageDigest\x88\x01\x01\x12*\n" +
	"\x11build_context_ref\x18\a \x01(\tR\x0fbuildContextRef\x120\n" +
	"\x14build_context_digest\x18\b \x01(\tR\x12buildContextDigest\x12%\n" +
	"\x0edockerfile_ref\x18\t \x01(\tR\rdockerfileRef\x120\n" +
	"\x11dockerfile_digest\x18\n" +
	" \x01(\tH\x01R\x10dockerfileDigest\x88\x01\x01\x12+\n" +
	"\x11dockerfile_target\x18\v \x01(\tR\x10dockerfileTarget\x12*\n" +
	"\x11builder_image_ref\x18\f \x01(\tR\x0fbuilderImageRef\x124\n" +
	"\x16build_plan_fingerprint\x18\r \x01(\tR\x14buildPlanFingerprint\x12\\\n" +
	"\x13allowed_secret_refs\x18\x0e \x03(\v2,.kodex.runtime.v1.RuntimeJobAllowedSecretRefR\x11allowedSecretRefs\x12F\n" +
	"\voutput_refs\x18\x0f \x03(\v2%.kodex.runtime.v1.RuntimeJobOutputRefR\n" +
	"outputRefsB\x0f\n" +
	"\r_image_digestB\x14\n" +
	"\x12_dockerfile_digest\"\xa5\b\n" +
	"\x13DeployExecutionSpec\x12\x1d\n" +
	"\n" +
	"source_ref\x18\x01 \x01(\tR\tsourceRef\x12*\n" +
	"\x11source_commit_sha\x18\x02 \x01(\tR\x0fsourceCommitSha\x12\x1f\n" +
	"\vservice_key\x18\x03 \x01(\tR\n" +
	"serviceKey\x12\x1b\n" +
	"\timage_ref\x18\x04 \x01(\tR\bimageRef\x12\x1b\n" +
	"\timage_tag\x18\x05 \x01(\tR\bimageTag\x12&\n" +
	"\fimage_digest\x18\x06 \x01(\tH\x00R\vimageDigest\x88\x01\x01\x12!\n" +
	"\fmanifest_ref\x18\a \x01(\tR\vmanifestRef\x12'\n" +
	"\x0fmanifest_digest\x18\b \x01(\tR\x0emanifestDigest\x12+\n" +
	"\x11kustomization_ref\x18\t \x01(\tR\x10kustomizationRef\x121\n" +
	"\x14kustomization_digest\x18\n" +
	" \x01(\tR\x13kustomizationDigest\x12)\n" +
	"\x10target_namespace\x18\v \x01(\tR\x0ftargetNamespace\x12,\n" +
	"\x12target_cluster_ref\x18\f \x01(\tR\x10targetClusterRef\x12)\n" +
	"\x0etarget_slot_id\x18\r \x01(\tH\x01R\ftargetSlotId\x88\x01\x01\x126\n" +
	"\x17deploy_plan_fingerprint\x18\x0e \x01(\tR\x15deployPlanFingerprint\x12\\\n" +
	"\x13allowed_secret_refs\x18\x0f \x03(\v2,.kodex.runtime.v1.RuntimeJobAllowedSecretRefR\x11allowedSecretRefs\x12F\n" +
	"\voutput_refs\x18\x10 \x03(\v2%.kodex.runtime.v1.RuntimeJobOutputRefR\n" +
	"outputRefs\x12.\n" +
	"\x13manifest_bundle_ref\x18\x11 \x01(\tR\x11manifestBundleRef\x124\n" +
	"\x16manifest_bundle_digest\x18\x12 \x01(\tR\x14manifestBundleDigest\x12N\n" +
	"\x0frollout_targets\x18\x13 \x03(\v2%.kodex.runtime.v1.DeployRolloutTargetR\x0erolloutTargets\x12X\n" +
	"\x13expected_image_refs\x18\x14 \x03(\v2(.kodex.runtime.v1.DeployExpectedImageRefR\x11expectedImageRefsB\x0f\n" +
	"\r_image_digestB\x11\n" +
	"\x0f_target_slot_id\"\x96\a\n" +
	"\x19CodexSessionExecutionSpec\x124\n" +
	"\x16instruction_object_ref\x18\x01 \x01(\tR\x14instructionObjectRef\x12:\n" +
	"\x19instruction_object_digest\x18\x02 \x01(\tR\x17instructionObjectDigest\x12*\n" +
	"\x11result_schema_ref\x18\x03 \x01(\tR\x0fresultSchemaRef\x120\n" +
	"\x14result_schema_digest\x18\x04 \x01(\tR\x12resultSchemaDigest\x125\n" +
	"\x14session_snapshot_ref\x18\x05 \x01(\tH\x00R\x12sessionSnapshotRef\x88\x01\x01\x129\n" +
	"\x16workspace_snapshot_ref\x18\x06 \x01(\tH\x01R\x14workspaceSnapshotRef\x88\x01\x01\x12*\n" +
	"\x11hook_endpoint_ref\x18\a \x01(\tR\x0fhookEndpointRef\x12K\n" +
	"\rcallback_refs\x18\b \x03(\v2&.kodex.runtime.v1.AgentRunExecutionRefR\fcallbackRefs\x12'\n" +
	"\x0ftimeout_seconds\x18\t \x01(\x05R\x0etimeoutSeconds\x12,\n" +
	"\x12runner_profile_ref\x18\n" +
	" \x01(\tR\x10runnerProfileRef\x12E\n" +
	"\vrunner_mode\x18\v \x01(\x0e2$.kodex.runtime.v1.AgentRunRunnerModeR\n" +
	"runnerMode\x12G\n" +
	"\voutput_refs\x18\f \x03(\v2&.kodex.runtime.v1.AgentRunExecutionRefR\n" +
	"outputRefs\x12G\n" +
	"\vresult_refs\x18\r \x03(\v2&.kodex.runtime.v1.AgentRunExecutionRefR\n" +
	"resultRefs\x12Z\n" +
	"\x13allowed_secret_refs\x18\x0e \x03(\v2*.kodex.runtime.v1.AgentRunAllowedSecretRefR\x11allowedSecretRefsB\x17\n" +
	"\x15_session_snapshot_refB\x19\n" +
	"\x17_workspace_snapshot_ref\"\x9e\a\n" +
	"\x15AgentRunExecutionSpec\x12 \n" +
	"\fagent_run_id\x18\x01 \x01(\tR\n" +
	"agentRunId\x12\x17\n" +
	"\aslot_id\x18\x02 \x01(\tR\x06slotId\x12>\n" +
	"\x1bexpected_materialization_id\x18\x03 \x01(\tR\x19expectedMaterializationId\x12P\n" +
	"$expected_materialization_fingerprint\x18\x04 \x01(\tR\"expectedMaterializationFingerprint\x12#\n" +
	"\rworkspace_ref\x18\x05 \x01(\tR\fworkspaceRef\x12.\n" +
	"\x13workspace_mount_ref\x18\x06 \x01(\tR\x11workspaceMountRef\x12*\n" +
	"\x11workspace_pvc_ref\x18\a \x01(\tR\x0fworkspacePvcRef\x12\x1f\n" +
	"\vcontext_ref\x18\b \x01(\tR\n" +
	"contextRef\x12%\n" +
	"\x0econtext_digest\x18\t \x01(\tR\rcontextDigest\x12,\n" +
	"\x12runner_profile_ref\x18\n" +
	" \x01(\tR\x10runnerProfileRef\x12(\n" +
	"\x10runner_image_ref\x18\v \x01(\tR\x0erunnerImageRef\x12E\n" +
	"\vrunner_mode\x18\f \x01(\x0e2$.kodex.runtime.v1.AgentRunRunnerModeR\n" +
	"runnerMode\x12Z\n" +
	"\x13allowed_secret_refs\x18\r \x03(\v2*.kodex.runtime.v1.AgentRunAllowedSecretRefR\x11allowedSecretRefs\x12`\n" +
	"\x15reporting_target_refs\x18\x0e \x03(\v2,.kodex.runtime.v1.AgentRunReportingTargetRefR\x13reportingTargetRefs\x12q\n" +
	"\x1ccodex_session_execution_spec\x18\x0f \x01(\v2+.kodex.runtime.v1.CodexSessionExecutionSpecH\x00R\x19codexSessionExecutionSpec\x88\x01\x01B\x1f\n" +
	"\x1d_codex_session_execution_spec\"\xcf\x06\n" +
	"\x04Slot\x12\x17\n" +
	"\aslot_id\x18\x01 \x01(\tR\x06slotId\x12\x19\n" +
	"\bslot_key\x18\x02 \x01(\tR\aslotKey\x124\n" +
	"\x06status\x18\x03 \x01(\x0e2\x1c.kodex.runtime.v1.SlotStatusR\x06status\x12@\n" +
	"\fruntime_mode\x18\x04 \x01(\x0e2\x1d.kodex.runtime.v1.RuntimeModeR\vruntimeMode\x12!\n" +
	"\fis_prewarmed\x18\x05 \x01(\bR\visPrewarmed\x12)\n" +
	"\x0efleet_scope_id\x18\x06 \x01(\tH\x00R\ffleetScopeId\x88\x01\x01\x12\"\n" +
	"\n" +
	"cluster_id\x18\a \x01(\tH\x01R\tclusterId\x88\x01\x01\x12%\n" +
	"\x0enamespace_name\x18\b \x01(\tR\rnamespaceName\x12%\n" +
	"\fagent_run_id\x18\t \x01(\tH\x02R\n" +
	"agentRunId\x88\x01\x01\x12\"\n" +
	"\n" +
	"project_id\x18\n" +
	" \x01(\tH\x03R\tprojectId\x88\x01\x01\x12%\n" +
	"\x0erepository_ids\x18\v \x03(\tR\rrepositoryIds\x12'\n" +
	"\x0fruntime_profile\x18\f \x01(\tR\x0eruntimeProfile\x12 \n" +
	"\vfingerprint\x18\r \x01(\tR\vfingerprint\x12\x1f\n" +
	"\vlease_owner\x18\x0e \x01(\tR\n" +
	"leaseOwner\x12$\n" +
	"\vlease_until\x18\x0f \x01(\tH\x04R\n" +
	"leaseUntil\x88\x01\x01\x12&\n" +
	"\x0flast_error_code\x18\x10 \x01(\tR\rlastErrorCode\x12,\n" +
	"\x12last_error_message\x18\x11 \x01(\tR\x10lastErrorMessage\x12\x1d\n" +
	"\n" +
	"created_at\x18\x12 \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\x13 \x01(\tR\tupdatedAt\x12\x18\n" +
	"\aversion\x18\x14 \x01(\x03R\aversionB\x11\n" +
	"\x0f_fleet_scope_idB\r\n" +
	"\v_cluster_idB\x0f\n" +
	"\r_agent_run_idB\r\n" +
	"\v_project_idB\x0e\n" +
	"\f_lease_until\"\x9c\x04\n" +
	"\x18WorkspaceMaterialization\x12@\n" +
	"\x1cworkspace_materialization_id\x18\x01 \x01(\tR\x1aworkspaceMaterializationId\x12\x17\n" +
	"\aslot_id\x18\x02 \x01(\tR\x06slotId\x12H\n" +
	"\x06status\x18\x03 \x01(\x0e20.kodex.runtime.v1.WorkspaceMaterializationStatusR\x06status\x12#\n" +
	"\rpolicy_digest\x18\x04 \x01(\tR\fpolicyDigest\x12;\n" +
	"\asources\x18\x05 \x03(\v2!.kodex.runtime.v1.WorkspaceSourceR\asources\x12 \n" +
	"\vfingerprint\x18\x06 \x01(\tR\vfingerprint\x12\"\n" +
	"\n" +
	"started_at\x18\a \x01(\tH\x00R\tstartedAt\x88\x01\x01\x12$\n" +
	"\vfinished_at\x18\b \x01(\tH\x01R\n" +
	"finishedAt\x88\x01\x01\x12&\n" +
	"\x0flast_error_code\x18\t \x01(\tR\rlastErrorCode\x12,\n" +
	"\x12last_error_message\x18\n" +
	" \x01(\tR\x10lastErrorMessage\x12\x18\n" +
	"\aversion\x18\v \x01(\x03R\aversionB\r\n" +
	"\v_started_atB\x0e\n" +
	"\f_finished_at\"\xc1\t\n" +
	"\fBuildContext\x12(\n" +
	"\x10build_context_id\x18\x01 \x01(\tR\x0ebuildContextId\x12<\n" +
	"\x06status\x18\x02 \x01(\x0e2$.kodex.runtime.v1.BuildContextStatusR\x06status\x12\x1d\n" +
	"\n" +
	"project_id\x18\x03 \x01(\tR\tprojectId\x12#\n" +
	"\rrepository_id\x18\x04 \x01(\tR\frepositoryId\x12\x1a\n" +
	"\bprovider\x18\x05 \x01(\tR\bprovider\x12%\n" +
	"\x0eprovider_owner\x18\x06 \x01(\tR\rproviderOwner\x12#\n" +
	"\rprovider_name\x18\a \x01(\tR\fproviderName\x12\x1d\n" +
	"\n" +
	"source_ref\x18\b \x01(\tR\tsourceRef\x12*\n" +
	"\x11source_commit_sha\x18\t \x01(\tR\x0fsourceCommitSha\x122\n" +
	"\x15affected_service_keys\x18\n" +
	" \x03(\tR\x13affectedServiceKeys\x124\n" +
	"\x16build_plan_fingerprint\x18\v \x01(\tR\x14buildPlanFingerprint\x12/\n" +
	"\x13context_fingerprint\x18\f \x01(\tR\x12contextFingerprint\x12.\n" +
	"\x13source_snapshot_ref\x18\r \x01(\tR\x11sourceSnapshotRef\x124\n" +
	"\x16source_snapshot_digest\x18\x0e \x01(\tR\x14sourceSnapshotDigest\x12*\n" +
	"\x11build_context_ref\x18\x0f \x01(\tR\x0fbuildContextRef\x120\n" +
	"\x14build_context_digest\x18\x10 \x01(\tR\x12buildContextDigest\x12q\n" +
	"\x17manifest_bundle_digests\x18\x19 \x03(\v29.kodex.runtime.v1.BuildContext.ManifestBundleDigestsEntryR\x15manifestBundleDigests\x12\"\n" +
	"\n" +
	"started_at\x18\x11 \x01(\tH\x00R\tstartedAt\x88\x01\x01\x12$\n" +
	"\vfinished_at\x18\x12 \x01(\tH\x01R\n" +
	"finishedAt\x88\x01\x01\x12&\n" +
	"\x0flast_error_code\x18\x13 \x01(\tR\rlastErrorCode\x12,\n" +
	"\x12last_error_message\x18\x14 \x01(\tR\x10lastErrorMessage\x12\x1f\n" +
	"\vnext_action\x18\x15 \x01(\tR\n" +
	"nextAction\x12\x1d\n" +
	"\n" +
	"created_at\x18\x16 \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\x17 \x01(\tR\tupdatedAt\x12\x18\n" +
	"\aversion\x18\x18 \x01(\x03R\aversion\x1aH\n" +
	"\x1aManifestBundleDigestsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\r\n" +
	"\v_started_atB\x0e\n" +
	"\f_finished_at\"\x9e\r\n" +
	"\x03Job\x12\x15\n" +
	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x1d\n" +
	"\n" +
	"command_id\x18\x02 \x01(\tR\tcommandId\x124\n" +
	"\bjob_type\x18\x03 \x01(\x0e2\x19.kodex.runtime.v1.JobTypeR\ajobType\x123\n" +
	"\x06status\x18\x04 \x01(\x0e2\x1b.kodex.runtime.v1.JobStatusR\x06status\x129\n" +
	"\bpriority\x18\x05 \x01(\x0e2\x1d.kodex.runtime.v1.JobPriorityR\bpriority\x12$\n" +
	"\x0ejob_input_json\x18\x06 \x01(\tR\fjobInputJson\x12\x1f\n" +
	"\vlease_owner\x18\a \x01(\tR\n" +
	"leaseOwner\x12$\n" +
	"\vlease_until\x18\b \x01(\tH\x00R\n" +
	"leaseUntil\x88\x01\x01\x12#\n" +
	"\rclaim_attempt\x18\t \x01(\x03R\fclaimAttempt\x12\x1c\n" +
	"\aslot_id\x18\n" +
	" \x01(\tH\x01R\x06slotId\x88\x01\x01\x12%\n" +
	"\fagent_run_id\x18\v \x01(\tH\x02R\n" +
	"agentRunId\x88\x01\x01\x12\"\n" +
	"\n" +
	"project_id\x18\f \x01(\tH\x03R\tprojectId\x88\x01\x01\x12(\n" +
	"\rrepository_id\x18\r \x01(\tH\x04R\frepositoryId\x88\x01\x01\x12+\n" +
	"\x0frelease_line_id\x18\x0e \x01(\tH\x05R\rreleaseLineId\x88\x01\x01\x12;\n" +
	"\x17package_installation_id\x18\x0f \x01(\tH\x06R\x15packageInstallationId\x88\x01\x01\x12)\n" +
	"\x0efleet_scope_id\x18\x10 \x01(\tH\aR\ffleetScopeId\x88\x01\x01\x12\"\n" +
	"\n" +
	"cluster_id\x18\x11 \x01(\tH\bR\tclusterId\x88\x01\x01\x12&\n" +
	"\frequested_by\x18\x12 \x01(\tH\tR\vrequestedBy\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"created_at\x18\x13 \x01(\tR\tcreatedAt\x12\"\n" +
	"\n" +
	"started_at\x18\x14 \x01(\tH\n" +
	"R\tstartedAt\x88\x01\x01\x12$\n" +
	"\vfinished_at\x18\x15 \x01(\tH\vR\n" +
	"finishedAt\x88\x01\x01\x12\x1f\n" +
	"\vnext_action\x18\x16 \x01(\tR\n" +
	"nextAction\x12&\n" +
	"\x0flast_error_code\x18\x17 \x01(\tR\rlastErrorCode\x12,\n" +
	"\x12last_error_message\x18\x18 \x01(\tR\x10lastErrorMessage\x12$\n" +
	"\x0eshort_log_tail\x18\x19 \x01(\tR\fshortLogTail\x12 \n" +
	"\ffull_log_ref\x18\x1a \x01(\tR\n" +
	"fullLogRef\x12\x18\n" +
	"\aversion\x18\x1b \x01(\x03R\aversion\x12/\n" +
	"\x05steps\x18\x1c \x03(\v2\x19.kodex.runtime.v1.JobStepR\x05steps\x12e\n" +
	"\x18agent_run_execution_spec\x18\x1d \x01(\v2'.kodex.runtime.v1.AgentRunExecutionSpecH\fR\x15agentRunExecutionSpec\x88\x01\x01\x12[\n" +
	"\x14build_execution_spec\x18\x1e \x01(\v2$.kodex.runtime.v1.BuildExecutionSpecH\rR\x12buildExecutionSpec\x88\x01\x01\x12^\n" +
	"\x15deploy_execution_spec\x18\x1f \x01(\v2%.kodex.runtime.v1.DeployExecutionSpecH\x0eR\x13deployExecutionSpec\x88\x01\x01B\x0e\n" +
	"\f_lease_untilB\n" +
	"\n" +
	"\b_slot_idB\x0f\n" +
	"\r_agent_run_idB\r\n" +
	"\v_project_idB\x10\n" +
	"\x0e_repository_idB\x12\n" +
	"\x10_release_line_idB\x1a\n" +
	"\x18_package_installation_idB\x11\n" +
	"\x0f_fleet_scope_idB\r\n" +
	"\v_cluster_idB\x0f\n" +
	"\r_requested_byB\r\n" +
	"\v_started_atB\x0e\n" +
	"\f_finished_atB\x1b\n" +
	"\x19_agent_run_execution_specB\x17\n" +
	"\x15_build_execution_specB\x18\n" +
	"\x16_deploy_execution_spec\"\xa4\x03\n" +
	"\aJobStep\x12\x1e\n" +
	"\vjob_step_id\x18\x01 \x01(\tR\tjobStepId\x12\x15\n" +
	"\x06job_id\x18\x02 \x01(\tR\x05jobId\x12\x19\n" +
	"\bstep_key\x18\x03 \x01(\tR\astepKey\x127\n" +
	"\x06status\x18\x04 \x01(\x0e2\x1f.kodex.runtime.v1.JobStepStatusR\x06status\x12\"\n" +
	"\n" +
	"started_at\x18\x05 \x01(\tH\x00R\tstartedAt\x88\x01\x01\x12$\n" +
	"\vfinished_at\x18\x06 \x01(\tH\x01R\n" +
	"finishedAt\x88\x01\x01\x12$\n" +
	"\x0eshort_log_tail\x18\a \x01(\tR\fshortLogTail\x12!\n" +
	"\fexternal_ref\x18\b \x01(\tR\vexternalRef\x12\x1d\n" +
	"\n" +
	"error_code\x18\t \x01(\tR\terrorCode\x12#\n" +
	"\rerror_message\x18\n" +
	" \x01(\tR\ferrorMessage\x12\x18\n" +
	"\aversion\x18\v \x01(\x03R\aversionB\r\n" +
	"\v_started_atB\x0e\n" +
	"\f_finished_at\"\xe7\x02\n" +
	"\x12RuntimeArtifactRef\x125\n" +
	"\x17runtime_artifact_ref_id\x18\x01 \x01(\tR\x14runtimeArtifactRefId\x12\x1a\n" +
	"\x06job_id\x18\x02 \x01(\tH\x00R\x05jobId\x88\x01\x01\x12\x1c\n" +
	"\aslot_id\x18\x03 \x01(\tH\x01R\x06slotId\x88\x01\x01\x12J\n" +
	"\rartifact_type\x18\x04 \x01(\x0e2%.kodex.runtime.v1.RuntimeArtifactTypeR\fartifactType\x12!\n" +
	"\fexternal_ref\x18\x05 \x01(\tR\vexternalRef\x12\x16\n" +
	"\x06digest\x18\x06 \x01(\tR\x06digest\x12#\n" +
	"\rmetadata_json\x18\a \x01(\tR\fmetadataJson\x12\x1d\n" +
	"\n" +
	"created_at\x18\b \x01(\tR\tcreatedAtB\t\n" +
	"\a_job_idB\n" +
	"\n" +
	"\b_slot_id\"\xc5\x01\n" +
	"\x17RuntimeArtifactRefInput\x12J\n" +
	"\rartifact_type\x18\x01 \x01(\x0e2%.kodex.runtime.v1.RuntimeArtifactTypeR\fartifactType\x12!\n" +
	"\fexternal_ref\x18\x02 \x01(\tR\vexternalRef\x12\x16\n" +
	"\x06digest\x18\x03 \x01(\tR\x06digest\x12#\n" +
	"\rmetadata_json\x18\x04 \x01(\tR\fmetadataJson\"\xc0\x03\n" +
	"\rCleanupPolicy\x12*\n" +
	"\x11cleanup_policy_id\x18\x01 \x01(\tR\x0fcleanupPolicyId\x12A\n" +
	"\n" +
	"scope_type\x18\x02 \x01(\x0e2\".kodex.runtime.v1.RuntimeScopeTypeR\tscopeType\x12\x1e\n" +
	"\bscope_id\x18\x03 \x01(\tH\x00R\ascopeId\x88\x01\x01\x12\x1f\n" +
	"\vttl_seconds\x18\x04 \x01(\x03R\n" +
	"ttlSeconds\x12,\n" +
	"\x12failed_ttl_seconds\x18\x05 \x01(\x03R\x10failedTtlSeconds\x12-\n" +
	"\x13keep_short_log_tail\x18\x06 \x01(\bR\x10keepShortLogTail\x12=\n" +
	"\x06status\x18\a \x01(\x0e2%.kodex.runtime.v1.CleanupPolicyStatusR\x06status\x12\x1d\n" +
	"\n" +
	"created_at\x18\b \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\t \x01(\tR\tupdatedAt\x12\x18\n" +
	"\aversion\x18\n" +
	" \x01(\x03R\aversionB\v\n" +
	"\t_scope_id\"\x9a\x04\n" +
	"\vPrewarmPool\x12&\n" +
	"\x0fprewarm_pool_id\x18\x01 \x01(\tR\rprewarmPoolId\x12E\n" +
	"\n" +
	"scope_type\x18\x02 \x01(\x0e2&.kodex.runtime.v1.PrewarmPoolScopeTypeR\tscopeType\x12\x1e\n" +
	"\bscope_id\x18\x03 \x01(\tH\x00R\ascopeId\x88\x01\x01\x12'\n" +
	"\x0fruntime_profile\x18\x04 \x01(\tR\x0eruntimeProfile\x12)\n" +
	"\x0efleet_scope_id\x18\x05 \x01(\tH\x01R\ffleetScopeId\x88\x01\x01\x12\x1f\n" +
	"\vtarget_size\x18\x06 \x01(\x03R\n" +
	"targetSize\x12;\n" +
	"\x06status\x18\a \x01(\x0e2#.kodex.runtime.v1.PrewarmPoolStatusR\x06status\x12R\n" +
	"\x14last_capacity_status\x18\b \x01(\x0e2 .kodex.runtime.v1.CapacityStatusR\x12lastCapacityStatus\x12\x1d\n" +
	"\n" +
	"created_at\x18\t \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\n" +
	" \x01(\tR\tupdatedAt\x12\x18\n" +
	"\aversion\x18\v \x01(\x03R\aversionB\v\n" +
	"\t_scope_idB\x11\n" +
	"\x0f_fleet_scope_id\"\x9d\x03\n" +
	"\x15PrepareRuntimeRequest\x12%\n" +
	"\fagent_run_id\x18\x01 \x01(\tH\x00R\n" +
	"agentRunId\x88\x01\x01\x12'\n" +
	"\x0fruntime_profile\x18\x02 \x01(\tR\x0eruntimeProfile\x12@\n" +
	"\fruntime_mode\x18\x03 \x01(\x0e2\x1d.kodex.runtime.v1.RuntimeModeR\vruntimeMode\x12Q\n" +
	"\x10workspace_policy\x18\x04 \x01(\v2&.kodex.runtime.v1.WorkspacePolicyInputR\x0fworkspacePolicy\x12[\n" +
	"\x15placement_constraints\x18\x05 \x01(\v2&.kodex.runtime.v1.PlacementConstraintsR\x14placementConstraints\x121\n" +
	"\x04meta\x18\x06 \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04metaB\x0f\n" +
	"\r_agent_run_id\"\xf8\x01\n" +
	"\x16PrepareRuntimeResponse\x12*\n" +
	"\x04slot\x18\x01 \x01(\v2\x16.kodex.runtime.v1.SlotR\x04slot\x12g\n" +
	"\x19workspace_materialization\x18\x02 \x01(\v2*.kodex.runtime.v1.WorkspaceMaterializationR\x18workspaceMaterialization\x12I\n" +
	"\x0fruntime_context\x18\x03 \x01(\v2 .kodex.runtime.v1.RuntimeContextR\x0eruntimeContext\"\xd9\x03\n" +
	"\x12ReserveSlotRequest\x12'\n" +
	"\x0fruntime_profile\x18\x01 \x01(\tR\x0eruntimeProfile\x12@\n" +
	"\fruntime_mode\x18\x02 \x01(\x0e2\x1d.kodex.runtime.v1.RuntimeModeR\vruntimeMode\x126\n" +
	"\x17workspace_policy_digest\x18\x03 \x01(\tR\x15workspacePolicyDigest\x12%\n" +
	"\fagent_run_id\x18\x04 \x01(\tH\x00R\n" +
	"agentRunId\x88\x01\x01\x12\"\n" +
	"\n" +
	"project_id\x18\x05 \x01(\tH\x01R\tprojectId\x88\x01\x01\x12%\n" +
	"\x0erepository_ids\x18\x06 \x03(\tR\rrepositoryIds\x12[\n" +
	"\x15placement_constraints\x18\a \x01(\v2&.kodex.runtime.v1.PlacementConstraintsR\x14placementConstraints\x121\n" +
	"\x04meta\x18\b \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04metaB\x0f\n" +
	"\r_agent_run_idB\r\n" +
	"\v_project_id\"\xa6\x01\n" +
	"\x16ExtendSlotLeaseRequest\x12\x17\n" +
	"\aslot_id\x18\x01 \x01(\tR\x06slotId\x12\x1f\n" +
	"\vlease_owner\x18\x02 \x01(\tR\n" +
	"leaseOwner\x12\x1f\n" +
	"\vlease_until\x18\x03 \x01(\tR\n" +
	"leaseUntil\x121\n" +
	"\x04meta\x18\x04 \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04meta\"\x81\x01\n" +
	"\x12ReleaseSlotRequest\x12\x17\n" +
	"\aslot_id\x18\x01 \x01(\tR\x06slotId\x12\x1f\n" +
	"\vlease_owner\x18\x02 \x01(\tR\n" +
	"leaseOwner\x121\n" +
	"\x04meta\x18\x03 \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04meta\"\xa7\x01\n" +
	"\x15MarkSlotFailedRequest\x12\x17\n" +
	"\aslot_id\x18\x01 \x01(\tR\x06slotId\x12\x1d\n" +
	"\n" +
	"error_code\x18\x02 \x01(\tR\terrorCode\x12#\n" +
	"\rerror_message\x18\x03 \x01(\tR\ferrorMessage\x121\n" +
	"\x04meta\x18\x04 \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04meta\":\n" +
	"\fSlotResponse\x12*\n" +
	"\x04slot\x18\x01 \x01(\v2\x16.kodex.runtime.v1.SlotR\x04slot\"Z\n" +
	"\x0eGetSlotRequest\x12\x17\n" +
	"\aslot_id\x18\x01 \x01(\tR\x06slotId\x12/\n" +
	"\x04meta\x18\x02 \x01(\v2\x1b.kodex.runtime.v1.QueryMetaR\x04meta\"\x9b\x03\n" +
	"\x10ListSlotsRequest\x12\"\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tH\x00R\tprojectId\x88\x01\x01\x128\n" +
	"\bstatuses\x18\x02 \x03(\x0e2\x1c.kodex.runtime.v1.SlotStatusR\bstatuses\x12,\n" +
	"\x0fruntime_profile\x18\x03 \x01(\tH\x01R\x0eruntimeProfile\x88\x01\x01\x12)\n" +
	"\x0efleet_scope_id\x18\x04 \x01(\tH\x02R\ffleetScopeId\x88\x01\x01\x12%\n" +
	"\fagent_run_id\x18\x05 \x01(\tH\x03R\n" +
	"agentRunId\x88\x01\x01\x121\n" +
	"\x04page\x18\x06 \x01(\v2\x1d.kodex.runtime.v1.PageRequestR\x04page\x12/\n" +
	"\x04meta\x18\a \x01(\v2\x1b.kodex.runtime.v1.QueryMetaR\x04metaB\r\n" +
	"\v_project_idB\x12\n" +
	"\x10_runtime_profileB\x11\n" +
	"\x0f_fleet_scope_idB\x0f\n" +
	"\r_agent_run_id\"u\n" +
	"\x11ListSlotsResponse\x12,\n" +
	"\x05slots\x18\x01 \x03(\v2\x16.kodex.runtime.v1.SlotR\x05slots\x122\n" +
	"\x04page\x18\x02 \x01(\v2\x1e.kodex.runtime.v1.PageResponseR\x04page\"\xc5\x01\n" +
	"$StartWorkspaceMaterializationRequest\x12\x17\n" +
	"\aslot_id\x18\x01 \x01(\tR\x06slotId\x12Q\n" +
	"\x10workspace_policy\x18\x02 \x01(\v2&.kodex.runtime.v1.WorkspacePolicyInputR\x0fworkspacePolicy\x121\n" +
	"\x04meta\x18\x03 \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04meta\"\xbd\x03\n" +
	"-ReportWorkspaceMaterializationProgressRequest\x12@\n" +
	"\x1cworkspace_materialization_id\x18\x01 \x01(\tR\x1aworkspaceMaterializationId\x12H\n" +
	"\x06status\x18\x02 \x01(\x0e20.kodex.runtime.v1.WorkspaceMaterializationStatusR\x06status\x12 \n" +
	"\vfingerprint\x18\x03 \x01(\tR\vfingerprint\x12\"\n" +
	"\n" +
	"started_at\x18\x04 \x01(\tH\x00R\tstartedAt\x88\x01\x01\x12$\n" +
	"\vfinished_at\x18\x05 \x01(\tH\x01R\n" +
	"finishedAt\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"error_code\x18\x06 \x01(\tR\terrorCode\x12#\n" +
	"\rerror_message\x18\a \x01(\tR\ferrorMessage\x121\n" +
	"\x04meta\x18\b \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04metaB\r\n" +
	"\v_started_atB\x0e\n" +
	"\f_finished_at\"\x8b\x01\n" +
	" WorkspaceMaterializationResponse\x12g\n" +
	"\x19workspace_materialization\x18\x01 \x01(\v2*.kodex.runtime.v1.WorkspaceMaterializationR\x18workspaceMaterialization\"\x97\x01\n" +
	"\"GetWorkspaceMaterializationRequest\x12@\n" +
	"\x1cworkspace_materialization_id\x18\x01 \x01(\tR\x1aworkspaceMaterializationId\x12/\n" +
	"\x04meta\x18\x02 \x01(\v2\x1b.kodex.runtime.v1.QueryMetaR\x04meta\"\xba\x02\n" +
	"$ListWorkspaceMaterializationsRequest\x12\x1c\n" +
	"\aslot_id\x18\x01 \x01(\tH\x00R\x06slotId\x88\x01\x01\x12%\n" +
	"\fagent_run_id\x18\x02 \x01(\tH\x01R\n" +
	"agentRunId\x88\x01\x01\x12L\n" +
	"\bstatuses\x18\x03 \x03(\x0e20.kodex.runtime.v1.WorkspaceMaterializationStatusR\bstatuses\x121\n" +
	"\x04page\x18\x04 \x01(\v2\x1d.kodex.runtime.v1.PageRequestR\x04page\x12/\n" +
	"\x04meta\x18\x05 \x01(\v2\x1b.kodex.runtime.v1.QueryMetaR\x04metaB\n" +
	"\n" +
	"\b_slot_idB\x0f\n" +
	"\r_agent_run_id\"\xc6\x01\n" +
	"%ListWorkspaceMaterializationsResponse\x12i\n" +
	"\x1aworkspace_materializations\x18\x01 \x03(\v2*.kodex.runtime.v1.WorkspaceMaterializationR\x19workspaceMaterializations\x122\n" +
	"\x04page\x18\x02 \x01(\v2\x1e.kodex.runtime.v1.PageResponseR\x04page\"\xd3\x04\n" +
	"\x1aPrepareBuildContextRequest\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\tR\tprojectId\x12#\n" +
	"\rrepository_id\x18\x02 \x01(\tR\frepositoryId\x12\x1a\n" +
	"\bprovider\x18\x03 \x01(\tR\bprovider\x12%\n" +
	"\x0eprovider_owner\x18\x04 \x01(\tR\rproviderOwner\x12#\n" +
	"\rprovider_name\x18\x05 \x01(\tR\fproviderName\x12\x1d\n" +
	"\n" +
	"source_ref\x18\x06 \x01(\tR\tsourceRef\x12*\n" +
	"\x11source_commit_sha\x18\a \x01(\tR\x0fsourceCommitSha\x122\n" +
	"\x15affected_service_keys\x18\b \x03(\tR\x13affectedServiceKeys\x124\n" +
	"\x16build_plan_fingerprint\x18\t \x01(\tR\x14buildPlanFingerprint\x123\n" +
	"\x13source_snapshot_ref\x18\n" +
	" \x01(\tH\x00R\x11sourceSnapshotRef\x88\x01\x01\x129\n" +
	"\x16source_snapshot_digest\x18\v \x01(\tH\x01R\x14sourceSnapshotDigest\x88\x01\x01\x121\n" +
	"\x04meta\x18\f \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04metaB\x16\n" +
	"\x14_source_snapshot_refB\x19\n" +
	"\x17_source_snapshot_digest\"\x99\a\n" +
	"!ReportBuildContextProgressRequest\x12(\n" +
	"\x10build_context_id\x18\x01 \x01(\tR\x0ebuildContextId\x12<\n" +
	"\x06status\x18\x02 \x01(\x0e2$.kodex.runtime.v1.BuildContextStatusR\x06status\x123\n" +
	"\x13source_snapshot_ref\x18\x03 \x01(\tH\x00R\x11sourceSnapshotRef\x88\x01\x01\x129\n" +
	"\x16source_snapshot_digest\x18\x04 \x01(\tH\x01R\x14sourceSnapshotDigest\x88\x01\x01\x12/\n" +
	"\x11build_context_ref\x18\x05 \x01(\tH\x02R\x0fbuildContextRef\x88\x01\x01\x125\n" +
	"\x14build_context_digest\x18\x06 \x01(\tH\x03R\x12buildContextDigest\x88\x01\x01\x12\x86\x01\n" +
	"\x17manifest_bundle_digests\x18\r \x03(\v2N.kodex.runtime.v1.ReportBuildContextProgressRequest.ManifestBundleDigestsEntryR\x15manifestBundleDigests\x12\"\n" +
	"\n" +
	"started_at\x18\a \x01(\tH\x04R\tstartedAt\x88\x01\x01\x12$\n" +
	"\vfinished_at\x18\b \x01(\tH\x05R\n" +
	"finishedAt\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"error_code\x18\t \x01(\tR\terrorCode\x12#\n" +
	"\rerror_message\x18\n" +
	" \x01(\tR\ferrorMessage\x12\x1f\n" +
	"\vnext_action\x18\v \x01(\tR\n" +
	"nextAction\x121\n" +
	"\x04meta\x18\f \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04meta\x1aH\n" +
	"\x1aManifestBundleDigestsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x16\n" +
	"\x14_source_snapshot_refB\x19\n" +
	"\x17_source_snapshot_digestB\x14\n" +
	"\x12_build_context_refB\x17\n" +
	"\x15_build_context_digestB\r\n" +
	"\v_started_atB\x0e\n" +
	"\f_finished_at\"[\n" +
	"\x14BuildContextResponse\x12C\n" +
	"\rbuild_context\x18\x01 \x01(\v2\x1e.kodex.runtime.v1.BuildContextR\fbuildContext\"\xdb\x01\n" +
	"\x16GetBuildContextRequest\x12-\n" +
	"\x10build_context_id\x18\x01 \x01(\tH\x00R\x0ebuildContextId\x88\x01\x01\x124\n" +
	"\x13context_fingerprint\x18\x02 \x01(\tH\x01R\x12contextFingerprint\x88\x01\x01\x12/\n" +
	"\x04meta\x18\x03 \x01(\v2\x1b.kodex.runtime.v1.QueryMetaR\x04metaB\x13\n" +
	"\x11_build_context_idB\x16\n" +
	"\x14_context_fingerprint\"\x98\b\n" +
	"\x10CreateJobRequest\x124\n" +
	"\bjob_type\x18\x01 \x01(\x0e2\x19.kodex.runtime.v1.JobTypeR\ajobType\x129\n" +
	"\bpriority\x18\x02 \x01(\x0e2\x1d.kodex.runtime.v1.JobPriorityR\bpriority\x12\x1c\n" +
	"\aslot_id\x18\x03 \x01(\tH\x00R\x06slotId\x88\x01\x01\x12%\n" +
	"\fagent_run_id\x18\x04 \x01(\tH\x01R\n" +
	"agentRunId\x88\x01\x01\x12\"\n" +
	"\n" +
	"project_id\x18\x05 \x01(\tH\x02R\tprojectId\x88\x01\x01\x12(\n" +
	"\rrepository_id\x18\x06 \x01(\tH\x03R\frepositoryId\x88\x01\x01\x12+\n" +
	"\x0frelease_line_id\x18\a \x01(\tH\x04R\rreleaseLineId\x88\x01\x01\x12;\n" +
	"\x17package_installation_id\x18\b \x01(\tH\x05R\x15packageInstallationId\x88\x01\x01\x12[\n" +
	"\x15placement_constraints\x18\t \x01(\v2&.kodex.runtime.v1.PlacementConstraintsR\x14placementConstraints\x12$\n" +
	"\x0ejob_input_json\x18\n" +
	" \x01(\tR\fjobInputJson\x121\n" +
	"\x04meta\x18\v \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04meta\x12e\n" +
	"\x18agent_run_execution_spec\x18\f \x01(\v2'.kodex.runtime.v1.AgentRunExecutionSpecH\x06R\x15agentRunExecutionSpec\x88\x01\x01\x12[\n" +
	"\x14build_execution_spec\x18\r \x01(\v2$.kodex.runtime.v1.BuildExecutionSpecH\aR\x12buildExecutionSpec\x88\x01\x01\x12^\n" +
	"\x15deploy_execution_spec\x18\x0e \x01(\v2%.kodex.runtime.v1.DeployExecutionSpecH\bR\x13deployExecutionSpec\x88\x01\x01B\n" +
	"\n" +
	"\b_slot_idB\x0f\n" +
	"\r_agent_run_idB\r\n" +
	"\v_project_idB\x10\n" +
	"\x0e_repository_idB\x12\n" +
	"\x10_release_line_idB\x1a\n" +
	"\x18_package_installation_idB\x1b\n" +
	"\x19_agent_run_execution_specB\x17\n" +
	"\x15_build_execution_specB\x18\n" +
	"\x16_deploy_execution_spec\"\xb4\x02\n" +
	"\x17ClaimRunnableJobRequest\x126\n" +
	"\tjob_types\x18\x01 \x03(\x0e2\x19.kodex.runtime.v1.JobTypeR\bjobTypes\x12 \n" +
	"\tworker_id\x18\x02 \x01(\tH\x00R\bworkerId\x88\x01\x01\x12\x1f\n" +
	"\vlease_owner\x18\x03 \x01(\tR\n" +
	"leaseOwner\x12\x1f\n" +
	"\vlease_until\x18\x04 \x01(\tR\n" +
	"leaseUntil\x12)\n" +
	"\x0efleet_scope_id\x18\x05 \x01(\tH\x01R\ffleetScopeId\x88\x01\x01\x121\n" +
	"\x04meta\x18\x06 \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04metaB\f\n" +
	"\n" +
	"_worker_idB\x11\n" +
	"\x0f_fleet_scope_id\"d\n" +
	"\x18ClaimRunnableJobResponse\x12'\n" +
	"\x03job\x18\x01 \x01(\v2\x15.kodex.runtime.v1.JobR\x03job\x12\x1f\n" +
	"\vlease_token\x18\x02 \x01(\tR\n" +
	"leaseToken\"\xa3\x04\n" +
	"\x1cReportJobStepProgressRequest\x12\x15\n" +
	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x1f\n" +
	"\vlease_token\x18\x02 \x01(\tR\n" +
	"leaseToken\x12\x19\n" +
	"\bstep_key\x18\x03 \x01(\tR\astepKey\x127\n" +
	"\x06status\x18\x04 \x01(\x0e2\x1f.kodex.runtime.v1.JobStepStatusR\x06status\x12\"\n" +
	"\n" +
	"started_at\x18\x05 \x01(\tH\x00R\tstartedAt\x88\x01\x01\x12$\n" +
	"\vfinished_at\x18\x06 \x01(\tH\x01R\n" +
	"finishedAt\x88\x01\x01\x12$\n" +
	"\x0eshort_log_tail\x18\a \x01(\tR\fshortLogTail\x12!\n" +
	"\fexternal_ref\x18\b \x01(\tR\vexternalRef\x12\x1d\n" +
	"\n" +
	"error_code\x18\t \x01(\tR\terrorCode\x12#\n" +
	"\rerror_message\x18\n" +
	" \x01(\tR\ferrorMessage\x12N\n" +
	"\rartifact_refs\x18\v \x03(\v2).kodex.runtime.v1.RuntimeArtifactRefInputR\fartifactRefs\x121\n" +
	"\x04meta\x18\f \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04metaB\r\n" +
	"\v_started_atB\x0e\n" +
	"\f_finished_at\"\xc7\x01\n" +
	"\x12CompleteJobRequest\x12\x15\n" +
	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x1f\n" +
	"\vlease_token\x18\x02 \x01(\tR\n" +
	"leaseToken\x12$\n" +
	"\x0eshort_log_tail\x18\x03 \x01(\tR\fshortLogTail\x12 \n" +
	"\ffull_log_ref\x18\x04 \x01(\tR\n" +
	"fullLogRef\x121\n" +
	"\x04meta\x18\x05 \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04meta\"\x87\x02\n" +
	"\x0eFailJobRequest\x12\x15\n" +
	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x1f\n" +
	"\vlease_token\x18\x02 \x01(\tR\n" +
	"leaseToken\x12\x1d\n" +
	"\n" +
	"error_code\x18\x03 \x01(\tR\terrorCode\x12#\n" +
	"\rerror_message\x18\x04 \x01(\tR\ferrorMessage\x12$\n" +
	"\x0eshort_log_tail\x18\x05 \x01(\tR\fshortLogTail\x12 \n" +
	"\ffull_log_ref\x18\x06 \x01(\tR\n" +
	"fullLogRef\x121\n" +
	"\x04meta\x18\a \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04meta\"\\\n" +
	"\x10CancelJobRequest\x12\x15\n" +
	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x121\n" +
	"\x04meta\x18\x02 \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04meta\"6\n" +
	"\vJobResponse\x12'\n" +
	"\x03job\x18\x01 \x01(\v2\x15.kodex.runtime.v1.JobR\x03job\"W\n" +
	"\rGetJobRequest\x12\x15\n" +
	"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12/\n" +
	"\x04meta\x18\x02 \x01(\v2\x1b.kodex.runtime.v1.QueryMetaR\x04meta\"\xbc\x03\n" +
	"\x0fListJobsRequest\x127\n" +
	"\bstatuses\x18\x01 \x03(\x0e2\x1b.kodex.runtime.v1.JobStatusR\bstatuses\x126\n" +
	"\tjob_types\x18\x02 \x03(\x0e2\x19.kodex.runtime.v1.JobTypeR\bjobTypes\x12\"\n" +
	"\n" +
	"project_id\x18\x03 \x01(\tH\x00R\tprojectId\x88\x01\x01\x12\x1c\n" +
	"\aslot_id\x18\x04 \x01(\tH\x01R\x06slotId\x88\x01\x01\x12%\n" +
	"\fagent_run_id\x18\x05 \x01(\tH\x02R\n" +
	"agentRunId\x88\x01\x01\x12+\n" +
	"\x0frelease_line_id\x18\x06 \x01(\tH\x03R\rreleaseLineId\x88\x01\x01\x121\n" +
	"\x04page\x18\a \x01(\v2\x1d.kodex.runtime.v1.PageRequestR\x04page\x12/\n" +
	"\x04meta\x18\b \x01(\v2\x1b.kodex.runtime.v1.QueryMetaR\x04metaB\r\n" +
	"\v_project_idB\n" +
	"\n" +
	"\b_slot_idB\x0f\n" +
	"\r_agent_run_idB\x12\n" +
	"\x10_release_line_id\"q\n" +
	"\x10ListJobsResponse\x12)\n" +
	"\x04jobs\x18\x01 \x03(\v2\x15.kodex.runtime.v1.JobR\x04jobs\x122\n" +
	"\x04page\x18\x02 \x01(\v2\x1e.kodex.runtime.v1.PageResponseR\x04page\"\xf3\x01\n" +
	"\x1fRecordRuntimeArtifactRefRequest\x12\x1a\n" +
	"\x06job_id\x18\x01 \x01(\tH\x00R\x05jobId\x88\x01\x01\x12\x1c\n" +
	"\aslot_id\x18\x02 \x01(\tH\x01R\x06slotId\x88\x01\x01\x12L\n" +
	"\fartifact_ref\x18\x03 \x01(\v2).kodex.runtime.v1.RuntimeArtifactRefInputR\vartifactRef\x121\n" +
	"\x04meta\x18\x04 \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04metaB\t\n" +
	"\a_job_idB\n" +
	"\n" +
	"\b_slot_id\"t\n" +
	"\x1aRuntimeArtifactRefResponse\x12V\n" +
	"\x14runtime_artifact_ref\x18\x01 \x01(\v2$.kodex.runtime.v1.RuntimeArtifactRefR\x12runtimeArtifactRef\"\xa3\x02\n" +
	"\x1eListRuntimeArtifactRefsRequest\x12\x1a\n" +
	"\x06job_id\x18\x01 \x01(\tH\x00R\x05jobId\x88\x01\x01\x12\x1c\n" +
	"\aslot_id\x18\x02 \x01(\tH\x01R\x06slotId\x88\x01\x01\x12L\n" +
	"\x0eartifact_types\x18\x03 \x03(\x0e2%.kodex.runtime.v1.RuntimeArtifactTypeR\rartifactTypes\x121\n" +
	"\x04page\x18\x04 \x01(\v2\x1d.kodex.runtime.v1.PageRequestR\x04page\x12/\n" +
	"\x04meta\x18\x05 \x01(\v2\x1b.kodex.runtime.v1.QueryMetaR\x04metaB\t\n" +
	"\a_job_idB\n" +
	"\n" +
	"\b_slot_id\"\xaf\x01\n" +
	"\x1fListRuntimeArtifactRefsResponse\x12X\n" +
	"\x15runtime_artifact_refs\x18\x01 \x03(\v2$.kodex.runtime.v1.RuntimeArtifactRefR\x13runtimeArtifactRefs\x122\n" +
	"\x04page\x18\x02 \x01(\v2\x1e.kodex.runtime.v1.PageResponseR\x04page\"\xcb\x03\n" +
	"\"CreateOrUpdateCleanupPolicyRequest\x12/\n" +
	"\x11cleanup_policy_id\x18\x01 \x01(\tH\x00R\x0fcleanupPolicyId\x88\x01\x01\x12A\n" +
	"\n" +
	"scope_type\x18\x02 \x01(\x0e2\".kodex.runtime.v1.RuntimeScopeTypeR\tscopeType\x12\x1e\n" +
	"\bscope_id\x18\x03 \x01(\tH\x01R\ascopeId\x88\x01\x01\x12\x1f\n" +
	"\vttl_seconds\x18\x04 \x01(\x03R\n" +
	"ttlSeconds\x12,\n" +
	"\x12failed_ttl_seconds\x18\x05 \x01(\x03R\x10failedTtlSeconds\x12-\n" +
	"\x13keep_short_log_tail\x18\x06 \x01(\bR\x10keepShortLogTail\x12=\n" +
	"\x06status\x18\a \x01(\x0e2%.kodex.runtime.v1.CleanupPolicyStatusR\x06status\x121\n" +
	"\x04meta\x18\b \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04metaB\x14\n" +
	"\x12_cleanup_policy_idB\v\n" +
	"\t_scope_id\"_\n" +
	"\x15CleanupPolicyResponse\x12F\n" +
	"\x0ecleanup_policy\x18\x01 \x01(\v2\x1f.kodex.runtime.v1.CleanupPolicyR\rcleanupPolicy\"\xea\x01\n" +
	"\x16RunCleanupBatchRequest\x12/\n" +
	"\x11cleanup_policy_id\x18\x01 \x01(\tH\x00R\x0fcleanupPolicyId\x88\x01\x01\x12\x14\n" +
	"\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x1f\n" +
	"\vlease_owner\x18\x03 \x01(\tR\n" +
	"leaseOwner\x12\x1f\n" +
	"\vlease_until\x18\x04 \x01(\tR\n" +
	"leaseUntil\x121\n" +
	"\x04meta\x18\x05 \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04metaB\x14\n" +
	"\x12_cleanup_policy_id\"\xb2\x01\n" +
	"\x17RunCleanupBatchResponse\x12#\n" +
	"\rclaimed_count\x18\x01 \x01(\x05R\fclaimedCount\x12#\n" +
	"\rcleaned_count\x18\x02 \x01(\x05R\fcleanedCount\x12!\n" +
	"\ffailed_count\x18\x03 \x01(\x05R\vfailedCount\x12*\n" +
	"\x11affected_slot_ids\x18\x04 \x03(\tR\x0faffectedSlotIds\"\xcf\x03\n" +
	" CreateOrUpdatePrewarmPoolRequest\x12+\n" +
	"\x0fprewarm_pool_id\x18\x01 \x01(\tH\x00R\rprewarmPoolId\x88\x01\x01\x12E\n" +
	"\n" +
	"scope_type\x18\x02 \x01(\x0e2&.kodex.runtime.v1.PrewarmPoolScopeTypeR\tscopeType\x12\x1e\n" +
	"\bscope_id\x18\x03 \x01(\tH\x01R\ascopeId\x88\x01\x01\x12'\n" +
	"\x0fruntime_profile\x18\x04 \x01(\tR\x0eruntimeProfile\x12)\n" +
	"\x0efleet_scope_id\x18\x05 \x01(\tH\x02R\ffleetScopeId\x88\x01\x01\x12\x1f\n" +
	"\vtarget_size\x18\x06 \x01(\x03R\n" +
	"targetSize\x12;\n" +
	"\x06status\x18\a \x01(\x0e2#.kodex.runtime.v1.PrewarmPoolStatusR\x06status\x121\n" +
	"\x04meta\x18\b \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04metaB\x12\n" +
	"\x10_prewarm_pool_idB\v\n" +
	"\t_scope_idB\x11\n" +
	"\x0f_fleet_scope_id\"W\n" +
	"\x13PrewarmPoolResponse\x12@\n" +
	"\fprewarm_pool\x18\x01 \x01(\v2\x1d.kodex.runtime.v1.PrewarmPoolR\vprewarmPool\"\xba\x01\n" +
	"\x1bReconcilePrewarmPoolRequest\x12&\n" +
	"\x0fprewarm_pool_id\x18\x01 \x01(\tR\rprewarmPoolId\x12\x1f\n" +
	"\vlease_owner\x18\x02 \x01(\tR\n" +
	"leaseOwner\x12\x1f\n" +
	"\vlease_until\x18\x03 \x01(\tR\n" +
	"leaseUntil\x121\n" +
	"\x04meta\x18\x04 \x01(\v2\x1d.kodex.runtime.v1.CommandMetaR\x04meta\"\x95\x01\n" +
	"\x13DeployRolloutTarget\x12\x12\n" +
	"\x04kind\x18\x01 \x01(\tR\x04kind\x12\x10\n" +
	"\x03ref\x18\x02 \x01(\tR\x03ref\x12\x1c\n" +
	"\tnamespace\x18\x03 \x01(\tR\tnamespace\x12\x12\n" +
	"\x04name\x18\x04 \x01(\tR\x04name\x12\x1b\n" +
	"\x06digest\x18\x05 \x01(\tH\x00R\x06digest\x88\x01\x01B\t\n" +
	"\a_digest\"\x95\x01\n" +
	"\x16DeployExpectedImageRef\x12%\n" +
	"\x0econtainer_name\x18\x01 \x01(\tR\rcontainerName\x12\x1b\n" +
	"\timage_ref\x18\x02 \x01(\tR\bimageRef\x12&\n" +
	"\fimage_digest\x18\x03 \x01(\tH\x00R\vimageDigest\x88\x01\x01B\x0f\n" +
	"\r_image_digest*\x89\x01\n" +
	"\vRuntimeMode\x12\x1c\n" +
	"\x18RUNTIME_MODE_UNSPECIFIED\x10\x00\x12\x1a\n" +
	"\x16RUNTIME_MODE_CODE_ONLY\x10\x01\x12\x19\n" +
	"\x15RUNTIME_MODE_FULL_ENV\x10\x02\x12%\n" +
	"!RUNTIME_MODE_READ_ONLY_PRODUCTION\x10\x03*\x99\x02\n" +
	"\n" +
	"SlotStatus\x12\x1b\n" +
	"\x17SLOT_STATUS_UNSPECIFIED\x10\x00\x12\x19\n" +
	"\x15SLOT_STATUS_PREWARMED\x10\x01\x12\x18\n" +
	"\x14SLOT_STATUS_RESERVED\x10\x02\x12\x1d\n" +
	"\x19SLOT_STATUS_MATERIALIZING\x10\x03\x12\x15\n" +
	"\x11SLOT_STATUS_READY\x10\x04\x12\x16\n" +
	"\x12SLOT_STATUS_IN_USE\x10\x05\x12\x19\n" +
	"\x15SLOT_STATUS_RELEASING\x10\x06\x12\x16\n" +
	"\x12SLOT_STATUS_FAILED\x10\a\x12\x1f\n" +
	"\x1bSLOT_STATUS_CLEANUP_PENDING\x10\b\x12\x17\n" +
	"\x13SLOT_STATUS_CLEANED\x10\t*\xde\x01\n" +
	"\x13WorkspaceSourceKind\x12%\n" +
	"!WORKSPACE_SOURCE_KIND_UNSPECIFIED\x10\x00\x12\x1e\n" +
	"\x1aWORKSPACE_SOURCE_KIND_CODE\x10\x01\x12'\n" +
	"#WORKSPACE_SOURCE_KIND_DOCUMENTATION\x10\x02\x12*\n" +
	"&WORKSPACE_SOURCE_KIND_GUIDANCE_PACKAGE\x10\x03\x12+\n" +
	"'WORKSPACE_SOURCE_KIND_GENERATED_CONTEXT\x10\x04*\x98\x01\n" +
	"\x19WorkspaceSourceAccessMode\x12,\n" +
	"(WORKSPACE_SOURCE_ACCESS_MODE_UNSPECIFIED\x10\x00\x12%\n" +
	"!WORKSPACE_SOURCE_ACCESS_MODE_READ\x10\x01\x12&\n" +
	"\"WORKSPACE_SOURCE_ACCESS_MODE_WRITE\x10\x02*\xbb\x02\n" +
	"\x1eWorkspaceMaterializationStatus\x120\n" +
	",WORKSPACE_MATERIALIZATION_STATUS_UNSPECIFIED\x10\x00\x12,\n" +
	"(WORKSPACE_MATERIALIZATION_STATUS_PENDING\x10\x01\x12,\n" +
	"(WORKSPACE_MATERIALIZATION_STATUS_RUNNING\x10\x02\x12.\n" +
	"*WORKSPACE_MATERIALIZATION_STATUS_COMPLETED\x10\x03\x12+\n" +
	"'WORKSPACE_MATERIALIZATION_STATUS_FAILED\x10\x04\x12.\n" +
	"*WORKSPACE_MATERIALIZATION_STATUS_CANCELLED\x10\x05*\xbf\x01\n" +
	"\x12BuildContextStatus\x12$\n" +
	" BUILD_CONTEXT_STATUS_UNSPECIFIED\x10\x00\x12 \n" +
	"\x1cBUILD_CONTEXT_STATUS_PENDING\x10\x01\x12 \n" +
	"\x1cBUILD_CONTEXT_STATUS_RUNNING\x10\x02\x12\x1e\n" +
	"\x1aBUILD_CONTEXT_STATUS_READY\x10\x03\x12\x1f\n" +
	"\x1bBUILD_CONTEXT_STATUS_FAILED\x10\x04*\xed\x01\n" +
	"\aJobType\x12\x18\n" +
	"\x14JOB_TYPE_UNSPECIFIED\x10\x00\x12\x13\n" +
	"\x0fJOB_TYPE_MIRROR\x10\x01\x12\x12\n" +
	"\x0eJOB_TYPE_BUILD\x10\x02\x12\x13\n" +
	"\x0fJOB_TYPE_DEPLOY\x10\x03\x12\x14\n" +
	"\x10JOB_TYPE_CLEANUP\x10\x04\x12\x19\n" +
	"\x15JOB_TYPE_HEALTH_CHECK\x10\x05\x12\x19\n" +
	"\x15JOB_TYPE_HOUSEKEEPING\x10\x06\x12&\n" +
	"\"JOB_TYPE_WORKSPACE_MATERIALIZATION\x10\a\x12\x16\n" +
	"\x12JOB_TYPE_AGENT_RUN\x10\b*\xd4\x01\n" +
	"\tJobStatus\x12\x1a\n" +
	"\x16JOB_STATUS_UNSPECIFIED\x10\x00\x12\x16\n" +
	"\x12JOB_STATUS_PENDING\x10\x01\x12\x16\n" +
	"\x12JOB_STATUS_CLAIMED\x10\x02\x12\x16\n" +
	"\x12JOB_STATUS_RUNNING\x10\x03\x12\x18\n" +
	"\x14JOB_STATUS_SUCCEEDED\x10\x04\x12\x15\n" +
	"\x11JOB_STATUS_FAILED\x10\x05\x12\x18\n" +
	"\x14JOB_STATUS_CANCELLED\x10\x06\x12\x18\n" +
	"\x14JOB_STATUS_TIMED_OUT\x10\a*\x8c\x01\n" +
	"\vJobPriority\x12\x1c\n" +
	"\x18JOB_PRIORITY_UNSPECIFIED\x10\x00\x12\x14\n" +
	"\x10JOB_PRIORITY_LOW\x10\x01\x12\x17\n" +
	"\x13JOB_PRIORITY_NORMAL\x10\x02\x12\x15\n" +
	"\x11JOB_PRIORITY_HIGH\x10\x03\x12\x19\n" +
	"\x15JOB_PRIORITY_BLOCKING\x10\x04*b\n" +
	"\x12AgentRunRunnerMode\x12%\n" +
	"!AGENT_RUN_RUNNER_MODE_UNSPECIFIED\x10\x00\x12%\n" +
	"!AGENT_RUN_RUNNER_MODE_CODEX_AGENT\x10\x01*\xc2\x01\n" +
	"\rJobStepStatus\x12\x1f\n" +
	"\x1bJOB_STEP_STATUS_UNSPECIFIED\x10\x00\x12\x1b\n" +
	"\x17JOB_STEP_STATUS_PENDING\x10\x01\x12\x1b\n" +
	"\x17JOB_STEP_STATUS_RUNNING\x10\x02\x12\x1d\n" +
	"\x19JOB_STEP_STATUS_SUCCEEDED\x10\x03\x12\x1a\n" +
	"\x16JOB_STEP_STATUS_FAILED\x10\x04\x12\x1b\n" +
	"\x17JOB_STEP_STATUS_SKIPPED\x10\x05*\xa1\x02\n" +
	"\x13RuntimeArtifactType\x12%\n" +
	"!RUNTIME_ARTIFACT_TYPE_UNSPECIFIED\x10\x00\x12#\n" +
	"\x1fRUNTIME_ARTIFACT_TYPE_IMAGE_REF\x10\x01\x12(\n" +
	"$RUNTIME_ARTIFACT_TYPE_KUBERNETES_JOB\x10\x02\x12#\n" +
	"\x1fRUNTIME_ARTIFACT_TYPE_NAMESPACE\x10\x03\x12$\n" +
	" RUNTIME_ARTIFACT_TYPE_DEPLOYMENT\x10\x04\x12!\n" +
	"\x1dRUNTIME_ARTIFACT_TYPE_LOG_REF\x10\x05\x12&\n" +
	"\"RUNTIME_ARTIFACT_TYPE_MANIFEST_REF\x10\x06*\xa8\x01\n" +
	"\x13CleanupPolicyStatus\x12%\n" +
	"!CLEANUP_POLICY_STATUS_UNSPECIFIED\x10\x00\x12 \n" +
	"\x1cCLEANUP_POLICY_STATUS_ACTIVE\x10\x01\x12\"\n" +
	"\x1eCLEANUP_POLICY_STATUS_DISABLED\x10\x02\x12$\n" +
	" CLEANUP_POLICY_STATUS_SUPERSEDED\x10\x03*\xe7\x01\n" +
	"\x10RuntimeScopeType\x12\"\n" +
	"\x1eRUNTIME_SCOPE_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n" +
	"\x1bRUNTIME_SCOPE_TYPE_PLATFORM\x10\x01\x12#\n" +
	"\x1fRUNTIME_SCOPE_TYPE_ORGANIZATION\x10\x02\x12\x1e\n" +
	"\x1aRUNTIME_SCOPE_TYPE_PROJECT\x10\x03\x12!\n" +
	"\x1dRUNTIME_SCOPE_TYPE_REPOSITORY\x10\x04\x12&\n" +
	"\"RUNTIME_SCOPE_TYPE_RUNTIME_PROFILE\x10\x05*\xdc\x01\n" +
	"\x14PrewarmPoolScopeType\x12'\n" +
	"#PREWARM_POOL_SCOPE_TYPE_UNSPECIFIED\x10\x00\x12$\n" +
	" PREWARM_POOL_SCOPE_TYPE_PLATFORM\x10\x01\x12(\n" +
	"$PREWARM_POOL_SCOPE_TYPE_ORGANIZATION\x10\x02\x12#\n" +
	"\x1fPREWARM_POOL_SCOPE_TYPE_PROJECT\x10\x03\x12&\n" +
	"\"PREWARM_POOL_SCOPE_TYPE_REPOSITORY\x10\x04*\x9a\x01\n" +
	"\x11PrewarmPoolStatus\x12#\n" +
	"\x1fPREWARM_POOL_STATUS_UNSPECIFIED\x10\x00\x12\x1e\n" +
	"\x1aPREWARM_POOL_STATUS_ACTIVE\x10\x01\x12\x1e\n" +
	"\x1aPREWARM_POOL_STATUS_PAUSED\x10\x02\x12 \n" +
	"\x1cPREWARM_POOL_STATUS_DISABLED\x10\x03*\x89\x01\n" +
	"\x0eCapacityStatus\x12\x1f\n" +
	"\x1bCAPACITY_STATUS_UNSPECIFIED\x10\x00\x12\x16\n" +
	"\x12CAPACITY_STATUS_OK\x10\x01\x12\x1c\n" +
	"\x18CAPACITY_STATUS_DEGRADED\x10\x02\x12 \n" +
	"\x1cCAPACITY_STATUS_INSUFFICIENT\x10\x032\x92\x17\n" +
	"\x15RuntimeManagerService\x12c\n" +
	"\x0ePrepareRuntime\x12'.kodex.runtime.v1.PrepareRuntimeRequest\x1a(.kodex.runtime.v1.PrepareRuntimeResponse\x12S\n" +
	"\vReserveSlot\x12$.kodex.runtime.v1.ReserveSlotRequest\x1a\x1e.kodex.runtime.v1.SlotResponse\x12[\n" +
	"\x0fExtendSlotLease\x12(.kodex.runtime.v1.ExtendSlotLeaseRequest\x1a\x1e.kodex.runtime.v1.SlotResponse\x12S\n" +
	"\vReleaseSlot\x12$.kodex.runtime.v1.ReleaseSlotRequest\x1a\x1e.kodex.runtime.v1.SlotResponse\x12Y\n" +
	"\x0eMarkSlotFailed\x12'.kodex.runtime.v1.MarkSlotFailedRequest\x1a\x1e.kodex.runtime.v1.SlotResponse\x12K\n" +
	"\aGetSlot\x12 .kodex.runtime.v1.GetSlotRequest\x1a\x1e.kodex.runtime.v1.SlotResponse\x12T\n" +
	"\tListSlots\x12\".kodex.runtime.v1.ListSlotsRequest\x1a#.kodex.runtime.v1.ListSlotsResponse\x12\x8b\x01\n" +
	"\x1dStartWorkspaceMaterialization\x126.kodex.runtime.v1.StartWorkspaceMaterializationRequest\x1a2.kodex.runtime.v1.WorkspaceMaterializationResponse\x12\x9d\x01\n" +
	"&ReportWorkspaceMaterializationProgress\x12?.kodex.runtime.v1.ReportWorkspaceMaterializationProgressRequest\x1a2.kodex.runtime.v1.WorkspaceMaterializationResponse\x12\x87\x01\n" +
	"\x1bGetWorkspaceMaterialization\x124.kodex.runtime.v1.GetWorkspaceMaterializationRequest\x1a2.kodex.runtime.v1.WorkspaceMaterializationResponse\x12\x90\x01\n" +
	"\x1dListWorkspaceMaterializations\x126.kodex.runtime.v1.ListWorkspaceMaterializationsRequest\x1a7.kodex.runtime.v1.ListWorkspaceMaterializationsResponse\x12k\n" +
	"\x13PrepareBuildContext\x12,.kodex.runtime.v1.PrepareBuildContextRequest\x1a&.kodex.runtime.v1.BuildContextResponse\x12y\n" +
	"\x1aReportBuildContextProgress\x123.kodex.runtime.v1.ReportBuildContextProgressRequest\x1a&.kodex.runtime.v1.BuildContextResponse\x12c\n" +
	"\x0fGetBuildContext\x12(.kodex.runtime.v1.GetBuildContextRequest\x1a&.kodex.runtime.v1.BuildContextResponse\x12N\n" +
	"\tCreateJob\x12\".kodex.runtime.v1.CreateJobRequest\x1a\x1d.kodex.runtime.v1.JobResponse\x12i\n" +
	"\x10ClaimRunnableJob\x12).kodex.runtime.v1.ClaimRunnableJobRequest\x1a*.kodex.runtime.v1.ClaimRunnableJobResponse\x12f\n" +
	"\x15ReportJobStepProgress\x12..kodex.runtime.v1.ReportJobStepProgressRequest\x1a\x1d.kodex.runtime.v1.JobResponse\x12R\n" +
	"\vCompleteJob\x12$.kodex.runtime.v1.CompleteJobRequest\x1a\x1d.kodex.runtime.v1.JobResponse\x12J\n" +
	"\aFailJob\x12 .kodex.runtime.v1.FailJobRequest\x1a\x1d.kodex.runtime.v1.JobResponse\x12N\n" +
	"\tCancelJob\x12\".kodex.runtime.v1.CancelJobRequest\x1a\x1d.kodex.runtime.v1.JobResponse\x12H\n" +
	"\x06GetJob\x12\x1f.kodex.runtime.v1.GetJobRequest\x1a\x1d.kodex.runtime.v1.JobResponse\x12Q\n" +
	"\bListJobs\x12!.kodex.runtime.v1.ListJobsRequest\x1a\".kodex.runtime.v1.ListJobsResponse\x12{\n" +
	"\x18RecordRuntimeArtifactRef\x121.kodex.runtime.v1.RecordRuntimeArtifactRefRequest\x1a,.kodex.runtime.v1.RuntimeArtifactRefResponse\x12~\n" +
	"\x17ListRuntimeArtifactRefs\x120.kodex.runtime.v1.ListRuntimeArtifactRefsRequest\x1a1.kodex.runtime.v1.ListRuntimeArtifactRefsResponse\x12|\n" +
	"\x1bCreateOrUpdateCleanupPolicy\x124.kodex.runtime.v1.CreateOrUpdateCleanupPolicyRequest\x1a'.kodex.runtime.v1.CleanupPolicyResponse\x12f\n" +
	"\x0fRunCleanupBatch\x12(.kodex.runtime.v1.RunCleanupBatchRequest\x1a).kodex.runtime.v1.RunCleanupBatchResponse\x12v\n" +
	"\x19CreateOrUpdatePrewarmPool\x122.kodex.runtime.v1.CreateOrUpdatePrewarmPoolRequest\x1a%.kodex.runtime.v1.PrewarmPoolResponse\x12l\n" +
	"\x14ReconcilePrewarmPool\x12-.kodex.runtime.v1.ReconcilePrewarmPoolRequest\x1a%.kodex.runtime.v1.PrewarmPoolResponseBDZBgithub.com/codex-k8s/kodex/proto/gen/go/kodex/runtime/v1;runtimev1b\x06proto3"

var (
	file_kodex_runtime_v1_runtime_manager_proto_rawDescOnce sync.Once
	file_kodex_runtime_v1_runtime_manager_proto_rawDescData []byte
)

func file_kodex_runtime_v1_runtime_manager_proto_rawDescGZIP() []byte {
	file_kodex_runtime_v1_runtime_manager_proto_rawDescOnce.Do(func() {
		file_kodex_runtime_v1_runtime_manager_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_kodex_runtime_v1_runtime_manager_proto_rawDesc), len(file_kodex_runtime_v1_runtime_manager_proto_rawDesc)))
	})
	return file_kodex_runtime_v1_runtime_manager_proto_rawDescData
}

var file_kodex_runtime_v1_runtime_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 17)
var file_kodex_runtime_v1_runtime_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 74)
var file_kodex_runtime_v1_runtime_manager_proto_goTypes = []any{
	(RuntimeMode)(0),                                      // 0: kodex.runtime.v1.RuntimeMode
	(SlotStatus)(0),                                       // 1: kodex.runtime.v1.SlotStatus
	(WorkspaceSourceKind)(0),                              // 2: kodex.runtime.v1.WorkspaceSourceKind
	(WorkspaceSourceAccessMode)(0),                        // 3: kodex.runtime.v1.WorkspaceSourceAccessMode
	(WorkspaceMaterializationStatus)(0),                   // 4: kodex.runtime.v1.WorkspaceMaterializationStatus
	(BuildContextStatus)(0),                               // 5: kodex.runtime.v1.BuildContextStatus
	(JobType)(0),                                          // 6: kodex.runtime.v1.JobType
	(JobStatus)(0),                                        // 7: kodex.runtime.v1.JobStatus
	(JobPriority)(0),                                      // 8: kodex.runtime.v1.JobPriority
	(AgentRunRunnerMode)(0),                               // 9: kodex.runtime.v1.AgentRunRunnerMode
	(JobStepStatus)(0),                                    // 10: kodex.runtime.v1.JobStepStatus
	(RuntimeArtifactType)(0),                              // 11: kodex.runtime.v1.RuntimeArtifactType
	(CleanupPolicyStatus)(0),                              // 12: kodex.runtime.v1.CleanupPolicyStatus
	(RuntimeScopeType)(0),                                 // 13: kodex.runtime.v1.RuntimeScopeType
	(PrewarmPoolScopeType)(0),                             // 14: kodex.runtime.v1.PrewarmPoolScopeType
	(PrewarmPoolStatus)(0),                                // 15: kodex.runtime.v1.PrewarmPoolStatus
	(CapacityStatus)(0),                                   // 16: kodex.runtime.v1.CapacityStatus
	(*CommandMeta)(nil),                                   // 17: kodex.runtime.v1.CommandMeta
	(*QueryMeta)(nil),                                     // 18: kodex.runtime.v1.QueryMeta
	(*RequestContext)(nil),                                // 19: kodex.runtime.v1.RequestContext
	(*Actor)(nil),                                         // 20: kodex.runtime.v1.Actor
	(*PageRequest)(nil),                                   // 21: kodex.runtime.v1.PageRequest
	(*PageResponse)(nil),                                  // 22: kodex.runtime.v1.PageResponse
	(*WorkspaceSource)(nil),                               // 23: kodex.runtime.v1.WorkspaceSource
	(*WorkspacePolicyInput)(nil),                          // 24: kodex.runtime.v1.WorkspacePolicyInput
	(*PlacementConstraints)(nil),                          // 25: kodex.runtime.v1.PlacementConstraints
	(*RuntimeContext)(nil),                                // 26: kodex.runtime.v1.RuntimeContext
	(*AgentRunAllowedSecretRef)(nil),                      // 27: kodex.runtime.v1.AgentRunAllowedSecretRef
	(*AgentRunReportingTargetRef)(nil),                    // 28: kodex.runtime.v1.AgentRunReportingTargetRef
	(*AgentRunExecutionRef)(nil),                          // 29: kodex.runtime.v1.AgentRunExecutionRef
	(*RuntimeJobAllowedSecretRef)(nil),                    // 30: kodex.runtime.v1.RuntimeJobAllowedSecretRef
	(*RuntimeJobOutputRef)(nil),                           // 31: kodex.runtime.v1.RuntimeJobOutputRef
	(*BuildExecutionSpec)(nil),                            // 32: kodex.runtime.v1.BuildExecutionSpec
	(*DeployExecutionSpec)(nil),                           // 33: kodex.runtime.v1.DeployExecutionSpec
	(*CodexSessionExecutionSpec)(nil),                     // 34: kodex.runtime.v1.CodexSessionExecutionSpec
	(*AgentRunExecutionSpec)(nil),                         // 35: kodex.runtime.v1.AgentRunExecutionSpec
	(*Slot)(nil),                                          // 36: kodex.runtime.v1.Slot
	(*WorkspaceMaterialization)(nil),                      // 37: kodex.runtime.v1.WorkspaceMaterialization
	(*BuildContext)(nil),                                  // 38: kodex.runtime.v1.BuildContext
	(*Job)(nil),                                           // 39: kodex.runtime.v1.Job
	(*JobStep)(nil),                                       // 40: kodex.runtime.v1.JobStep
	(*RuntimeArtifactRef)(nil),                            // 41: kodex.runtime.v1.RuntimeArtifactRef
	(*RuntimeArtifactRefInput)(nil),                       // 42: kodex.runtime.v1.RuntimeArtifactRefInput
	(*CleanupPolicy)(nil),                                 // 43: kodex.runtime.v1.CleanupPolicy
	(*PrewarmPool)(nil),                                   // 44: kodex.runtime.v1.PrewarmPool
	(*PrepareRuntimeRequest)(nil),                         // 45: kodex.runtime.v1.PrepareRuntimeRequest
	(*PrepareRuntimeResponse)(nil),                        // 46: kodex.runtime.v1.PrepareRuntimeResponse
	(*ReserveSlotRequest)(nil),                            // 47: kodex.runtime.v1.ReserveSlotRequest
	(*ExtendSlotLeaseRequest)(nil),                        // 48: kodex.runtime.v1.ExtendSlotLeaseRequest
	(*ReleaseSlotRequest)(nil),                            // 49: kodex.runtime.v1.ReleaseSlotRequest
	(*MarkSlotFailedRequest)(nil),                         // 50: kodex.runtime.v1.MarkSlotFailedRequest
	(*SlotResponse)(nil),                                  // 51: kodex.runtime.v1.SlotResponse
	(*GetSlotRequest)(nil),                                // 52: kodex.runtime.v1.GetSlotRequest
	(*ListSlotsRequest)(nil),                              // 53: kodex.runtime.v1.ListSlotsRequest
	(*ListSlotsResponse)(nil),                             // 54: kodex.runtime.v1.ListSlotsResponse
	(*StartWorkspaceMaterializationRequest)(nil),          // 55: kodex.runtime.v1.StartWorkspaceMaterializationRequest
	(*ReportWorkspaceMaterializationProgressRequest)(nil), // 56: kodex.runtime.v1.ReportWorkspaceMaterializationProgressRequest
	(*WorkspaceMaterializationResponse)(nil),              // 57: kodex.runtime.v1.WorkspaceMaterializationResponse
	(*GetWorkspaceMaterializationRequest)(nil),            // 58: kodex.runtime.v1.GetWorkspaceMaterializationRequest
	(*ListWorkspaceMaterializationsRequest)(nil),          // 59: kodex.runtime.v1.ListWorkspaceMaterializationsRequest
	(*ListWorkspaceMaterializationsResponse)(nil),         // 60: kodex.runtime.v1.ListWorkspaceMaterializationsResponse
	(*PrepareBuildContextRequest)(nil),                    // 61: kodex.runtime.v1.PrepareBuildContextRequest
	(*ReportBuildContextProgressRequest)(nil),             // 62: kodex.runtime.v1.ReportBuildContextProgressRequest
	(*BuildContextResponse)(nil),                          // 63: kodex.runtime.v1.BuildContextResponse
	(*GetBuildContextRequest)(nil),                        // 64: kodex.runtime.v1.GetBuildContextRequest
	(*CreateJobRequest)(nil),                              // 65: kodex.runtime.v1.CreateJobRequest
	(*ClaimRunnableJobRequest)(nil),                       // 66: kodex.runtime.v1.ClaimRunnableJobRequest
	(*ClaimRunnableJobResponse)(nil),                      // 67: kodex.runtime.v1.ClaimRunnableJobResponse
	(*ReportJobStepProgressRequest)(nil),                  // 68: kodex.runtime.v1.ReportJobStepProgressRequest
	(*CompleteJobRequest)(nil),                            // 69: kodex.runtime.v1.CompleteJobRequest
	(*FailJobRequest)(nil),                                // 70: kodex.runtime.v1.FailJobRequest
	(*CancelJobRequest)(nil),                              // 71: kodex.runtime.v1.CancelJobRequest
	(*JobResponse)(nil),                                   // 72: kodex.runtime.v1.JobResponse
	(*GetJobRequest)(nil),                                 // 73: kodex.runtime.v1.GetJobRequest
	(*ListJobsRequest)(nil),                               // 74: kodex.runtime.v1.ListJobsRequest
	(*ListJobsResponse)(nil),                              // 75: kodex.runtime.v1.ListJobsResponse
	(*RecordRuntimeArtifactRefRequest)(nil),               // 76: kodex.runtime.v1.RecordRuntimeArtifactRefRequest
	(*RuntimeArtifactRefResponse)(nil),                    // 77: kodex.runtime.v1.RuntimeArtifactRefResponse
	(*ListRuntimeArtifactRefsRequest)(nil),                // 78: kodex.runtime.v1.ListRuntimeArtifactRefsRequest
	(*ListRuntimeArtifactRefsResponse)(nil),               // 79: kodex.runtime.v1.ListRuntimeArtifactRefsResponse
	(*CreateOrUpdateCleanupPolicyRequest)(nil),            // 80: kodex.runtime.v1.CreateOrUpdateCleanupPolicyRequest
	(*CleanupPolicyResponse)(nil),                         // 81: kodex.runtime.v1.CleanupPolicyResponse
	(*RunCleanupBatchRequest)(nil),                        // 82: kodex.runtime.v1.RunCleanupBatchRequest
	(*RunCleanupBatchResponse)(nil),                       // 83: kodex.runtime.v1.RunCleanupBatchResponse
	(*CreateOrUpdatePrewarmPoolRequest)(nil),              // 84: kodex.runtime.v1.CreateOrUpdatePrewarmPoolRequest
	(*PrewarmPoolResponse)(nil),                           // 85: kodex.runtime.v1.PrewarmPoolResponse
	(*ReconcilePrewarmPoolRequest)(nil),                   // 86: kodex.runtime.v1.ReconcilePrewarmPoolRequest
	(*DeployRolloutTarget)(nil),                           // 87: kodex.runtime.v1.DeployRolloutTarget
	(*DeployExpectedImageRef)(nil),                        // 88: kodex.runtime.v1.DeployExpectedImageRef
	nil,                                                   // 89: kodex.runtime.v1.BuildContext.ManifestBundleDigestsEntry
	nil,                                                   // 90: kodex.runtime.v1.ReportBuildContextProgressRequest.ManifestBundleDigestsEntry
}
var file_kodex_runtime_v1_runtime_manager_proto_depIdxs = []int32{
	20,  // 0: kodex.runtime.v1.CommandMeta.actor:type_name -> kodex.runtime.v1.Actor
	19,  // 1: kodex.runtime.v1.CommandMeta.request_context:type_name -> kodex.runtime.v1.RequestContext
	20,  // 2: kodex.runtime.v1.QueryMeta.actor:type_name -> kodex.runtime.v1.Actor
	19,  // 3: kodex.runtime.v1.QueryMeta.request_context:type_name -> kodex.runtime.v1.RequestContext
	2,   // 4: kodex.runtime.v1.WorkspaceSource.kind:type_name -> kodex.runtime.v1.WorkspaceSourceKind
	3,   // 5: kodex.runtime.v1.WorkspaceSource.access_mode:type_name -> kodex.runtime.v1.WorkspaceSourceAccessMode
	23,  // 6: kodex.runtime.v1.WorkspacePolicyInput.sources:type_name -> kodex.runtime.v1.WorkspaceSource
	30,  // 7: kodex.runtime.v1.BuildExecutionSpec.allowed_secret_refs:type_name -> kodex.runtime.v1.RuntimeJobAllowedSecretRef
	31,  // 8: kodex.runtime.v1.BuildExecutionSpec.output_refs:type_name -> kodex.runtime.v1.RuntimeJobOutputRef
	30,  // 9: kodex.runtime.v1.DeployExecutionSpec.allowed_secret_refs:type_name -> kodex.runtime.v1.RuntimeJobAllowedSecretRef
	31,  // 10: kodex.runtime.v1.DeployExecutionSpec.output_refs:type_name -> kodex.runtime.v1.RuntimeJobOutputRef
	87,  // 11: kodex.runtime.v1.DeployExecutionSpec.rollout_targets:type_name -> kodex.runtime.v1.DeployRolloutTarget
	88,  // 12: kodex.runtime.v1.DeployExecutionSpec.expected_image_refs:type_name -> kodex.runtime.v1.DeployExpectedImageRef
	29,  // 13: kodex.runtime.v1.CodexSessionExecutionSpec.callback_refs:type_name -> kodex.runtime.v1.AgentRunExecutionRef
	9,   // 14: kodex.runtime.v1.CodexSessionExecutionSpec.runner_mode:type_name -> kodex.runtime.v1.AgentRunRunnerMode
	29,  // 15: kodex.runtime.v1.CodexSessionExecutionSpec.output_refs:type_name -> kodex.runtime.v1.AgentRunExecutionRef
	29,  // 16: kodex.runtime.v1.CodexSessionExecutionSpec.result_refs:type_name -> kodex.runtime.v1.AgentRunExecutionRef
	27,  // 17: kodex.runtime.v1.CodexSessionExecutionSpec.allowed_secret_refs:type_name -> kodex.runtime.v1.AgentRunAllowedSecretRef
	9,   // 18: kodex.runtime.v1.AgentRunExecutionSpec.runner_mode:type_name -> kodex.runtime.v1.AgentRunRunnerMode
	27,  // 19: kodex.runtime.v1.AgentRunExecutionSpec.allowed_secret_refs:type_name -> kodex.runtime.v1.AgentRunAllowedSecretRef
	28,  // 20: kodex.runtime.v1.AgentRunExecutionSpec.reporting_target_refs:type_name -> kodex.runtime.v1.AgentRunReportingTargetRef
	34,  // 21: kodex.runtime.v1.AgentRunExecutionSpec.codex_session_execution_spec:type_name -> kodex.runtime.v1.CodexSessionExecutionSpec
	1,   // 22: kodex.runtime.v1.Slot.status:type_name -> kodex.runtime.v1.SlotStatus
	0,   // 23: kodex.runtime.v1.Slot.runtime_mode:type_name -> kodex.runtime.v1.RuntimeMode
	4,   // 24: kodex.runtime.v1.WorkspaceMaterialization.status:type_name -> kodex.runtime.v1.WorkspaceMaterializationStatus
	23,  // 25: kodex.runtime.v1.WorkspaceMaterialization.sources:type_name -> kodex.runtime.v1.WorkspaceSource
	5,   // 26: kodex.runtime.v1.BuildContext.status:type_name -> kodex.runtime.v1.BuildContextStatus
	89,  // 27: kodex.runtime.v1.BuildContext.manifest_bundle_digests:type_name -> kodex.runtime.v1.BuildContext.ManifestBundleDigestsEntry
	6,   // 28: kodex.runtime.v1.Job.job_type:type_name -> kodex.runtime.v1.JobType
	7,   // 29: kodex.runtime.v1.Job.status:type_name -> kodex.runtime.v1.JobStatus
	8,   // 30: kodex.runtime.v1.Job.priority:type_name -> kodex.runtime.v1.JobPriority
	40,  // 31: kodex.runtime.v1.Job.steps:type_name -> kodex.runtime.v1.JobStep
	35,  // 32: kodex.runtime.v1.Job.agent_run_execution_spec:type_name -> kodex.runtime.v1.AgentRunExecutionSpec
	32,  // 33: kodex.runtime.v1.Job.build_execution_spec:type_name -> kodex.runtime.v1.BuildExecutionSpec
	33,  // 34: kodex.runtime.v1.Job.deploy_execution_spec:type_name -> kodex.runtime.v1.DeployExecutionSpec
	10,  // 35: kodex.runtime.v1.JobStep.status:type_name -> kodex.runtime.v1.JobStepStatus
	11,  // 36: kodex.runtime.v1.RuntimeArtifactRef.artifact_type:type_name -> kodex.runtime.v1.RuntimeArtifactType
	11,  // 37: kodex.runtime.v1.RuntimeArtifactRefInput.artifact_type:type_name -> kodex.runtime.v1.RuntimeArtifactType
	13,  // 38: kodex.runtime.v1.CleanupPolicy.scope_type:type_name -> kodex.runtime.v1.RuntimeScopeType
	12,  // 39: kodex.runtime.v1.CleanupPolicy.status:type_name -> kodex.runtime.v1.CleanupPolicyStatus
	14,  // 40: kodex.runtime.v1.PrewarmPool.scope_type:type_name -> kodex.runtime.v1.PrewarmPoolScopeType
	15,  // 41: kodex.runtime.v1.PrewarmPool.status:type_name -> kodex.runtime.v1.PrewarmPoolStatus
	16,  // 42: kodex.runtime.v1.PrewarmPool.last_capacity_status:type_name -> kodex.runtime.v1.CapacityStatus
	0,   // 43: kodex.runtime.v1.PrepareRuntimeRequest.runtime_mode:type_name -> kodex.runtime.v1.RuntimeMode
	24,  // 44: kodex.runtime.v1.PrepareRuntimeRequest.workspace_policy:type_name -> kodex.runtime.v1.WorkspacePolicyInput
	25,  // 45: kodex.runtime.v1.PrepareRuntimeRequest.placement_constraints:type_name -> kodex.runtime.v1.PlacementConstraints
	17,  // 46: kodex.runtime.v1.PrepareRuntimeRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	36,  // 47: kodex.runtime.v1.PrepareRuntimeResponse.slot:type_name -> kodex.runtime.v1.Slot
	37,  // 48: kodex.runtime.v1.PrepareRuntimeResponse.workspace_materialization:type_name -> kodex.runtime.v1.WorkspaceMaterialization
	26,  // 49: kodex.runtime.v1.PrepareRuntimeResponse.runtime_context:type_name -> kodex.runtime.v1.RuntimeContext
	0,   // 50: kodex.runtime.v1.ReserveSlotRequest.runtime_mode:type_name -> kodex.runtime.v1.RuntimeMode
	25,  // 51: kodex.runtime.v1.ReserveSlotRequest.placement_constraints:type_name -> kodex.runtime.v1.PlacementConstraints
	17,  // 52: kodex.runtime.v1.ReserveSlotRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	17,  // 53: kodex.runtime.v1.ExtendSlotLeaseRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	17,  // 54: kodex.runtime.v1.ReleaseSlotRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	17,  // 55: kodex.runtime.v1.MarkSlotFailedRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	36,  // 56: kodex.runtime.v1.SlotResponse.slot:type_name -> kodex.runtime.v1.Slot
	18,  // 57: kodex.runtime.v1.GetSlotRequest.meta:type_name -> kodex.runtime.v1.QueryMeta
	1,   // 58: kodex.runtime.v1.ListSlotsRequest.statuses:type_name -> kodex.runtime.v1.SlotStatus
	21,  // 59: kodex.runtime.v1.ListSlotsRequest.page:type_name -> kodex.runtime.v1.PageRequest
	18,  // 60: kodex.runtime.v1.ListSlotsRequest.meta:type_name -> kodex.runtime.v1.QueryMeta
	36,  // 61: kodex.runtime.v1.ListSlotsResponse.slots:type_name -> kodex.runtime.v1.Slot
	22,  // 62: kodex.runtime.v1.ListSlotsResponse.page:type_name -> kodex.runtime.v1.PageResponse
	24,  // 63: kodex.runtime.v1.StartWorkspaceMaterializationRequest.workspace_policy:type_name -> kodex.runtime.v1.WorkspacePolicyInput
	17,  // 64: kodex.runtime.v1.StartWorkspaceMaterializationRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	4,   // 65: kodex.runtime.v1.ReportWorkspaceMaterializationProgressRequest.status:type_name -> kodex.runtime.v1.WorkspaceMaterializationStatus
	17,  // 66: kodex.runtime.v1.ReportWorkspaceMaterializationProgressRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	37,  // 67: kodex.runtime.v1.WorkspaceMaterializationResponse.workspace_materialization:type_name -> kodex.runtime.v1.WorkspaceMaterialization
	18,  // 68: kodex.runtime.v1.GetWorkspaceMaterializationRequest.meta:type_name -> kodex.runtime.v1.QueryMeta
	4,   // 69: kodex.runtime.v1.ListWorkspaceMaterializationsRequest.statuses:type_name -> kodex.runtime.v1.WorkspaceMaterializationStatus
	21,  // 70: kodex.runtime.v1.ListWorkspaceMaterializationsRequest.page:type_name -> kodex.runtime.v1.PageRequest
	18,  // 71: kodex.runtime.v1.ListWorkspaceMaterializationsRequest.meta:type_name -> kodex.runtime.v1.QueryMeta
	37,  // 72: kodex.runtime.v1.ListWorkspaceMaterializationsResponse.workspace_materializations:type_name -> kodex.runtime.v1.WorkspaceMaterialization
	22,  // 73: kodex.runtime.v1.ListWorkspaceMaterializationsResponse.page:type_name -> kodex.runtime.v1.PageResponse
	17,  // 74: kodex.runtime.v1.PrepareBuildContextRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	5,   // 75: kodex.runtime.v1.ReportBuildContextProgressRequest.status:type_name -> kodex.runtime.v1.BuildContextStatus
	90,  // 76: kodex.runtime.v1.ReportBuildContextProgressRequest.manifest_bundle_digests:type_name -> kodex.runtime.v1.ReportBuildContextProgressRequest.ManifestBundleDigestsEntry
	17,  // 77: kodex.runtime.v1.ReportBuildContextProgressRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	38,  // 78: kodex.runtime.v1.BuildContextResponse.build_context:type_name -> kodex.runtime.v1.BuildContext
	18,  // 79: kodex.runtime.v1.GetBuildContextRequest.meta:type_name -> kodex.runtime.v1.QueryMeta
	6,   // 80: kodex.runtime.v1.CreateJobRequest.job_type:type_name -> kodex.runtime.v1.JobType
	8,   // 81: kodex.runtime.v1.CreateJobRequest.priority:type_name -> kodex.runtime.v1.JobPriority
	25,  // 82: kodex.runtime.v1.CreateJobRequest.placement_constraints:type_name -> kodex.runtime.v1.PlacementConstraints
	17,  // 83: kodex.runtime.v1.CreateJobRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	35,  // 84: kodex.runtime.v1.CreateJobRequest.agent_run_execution_spec:type_name -> kodex.runtime.v1.AgentRunExecutionSpec
	32,  // 85: kodex.runtime.v1.CreateJobRequest.build_execution_spec:type_name -> kodex.runtime.v1.BuildExecutionSpec
	33,  // 86: kodex.runtime.v1.CreateJobRequest.deploy_execution_spec:type_name -> kodex.runtime.v1.DeployExecutionSpec
	6,   // 87: kodex.runtime.v1.ClaimRunnableJobRequest.job_types:type_name -> kodex.runtime.v1.JobType
	17,  // 88: kodex.runtime.v1.ClaimRunnableJobRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	39,  // 89: kodex.runtime.v1.ClaimRunnableJobResponse.job:type_name -> kodex.runtime.v1.Job
	10,  // 90: kodex.runtime.v1.ReportJobStepProgressRequest.status:type_name -> kodex.runtime.v1.JobStepStatus
	42,  // 91: kodex.runtime.v1.ReportJobStepProgressRequest.artifact_refs:type_name -> kodex.runtime.v1.RuntimeArtifactRefInput
	17,  // 92: kodex.runtime.v1.ReportJobStepProgressRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	17,  // 93: kodex.runtime.v1.CompleteJobRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	17,  // 94: kodex.runtime.v1.FailJobRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	17,  // 95: kodex.runtime.v1.CancelJobRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	39,  // 96: kodex.runtime.v1.JobResponse.job:type_name -> kodex.runtime.v1.Job
	18,  // 97: kodex.runtime.v1.GetJobRequest.meta:type_name -> kodex.runtime.v1.QueryMeta
	7,   // 98: kodex.runtime.v1.ListJobsRequest.statuses:type_name -> kodex.runtime.v1.JobStatus
	6,   // 99: kodex.runtime.v1.ListJobsRequest.job_types:type_name -> kodex.runtime.v1.JobType
	21,  // 100: kodex.runtime.v1.ListJobsRequest.page:type_name -> kodex.runtime.v1.PageRequest
	18,  // 101: kodex.runtime.v1.ListJobsRequest.meta:type_name -> kodex.runtime.v1.QueryMeta
	39,  // 102: kodex.runtime.v1.ListJobsResponse.jobs:type_name -> kodex.runtime.v1.Job
	22,  // 103: kodex.runtime.v1.ListJobsResponse.page:type_name -> kodex.runtime.v1.PageResponse
	42,  // 104: kodex.runtime.v1.RecordRuntimeArtifactRefRequest.artifact_ref:type_name -> kodex.runtime.v1.RuntimeArtifactRefInput
	17,  // 105: kodex.runtime.v1.RecordRuntimeArtifactRefRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	41,  // 106: kodex.runtime.v1.RuntimeArtifactRefResponse.runtime_artifact_ref:type_name -> kodex.runtime.v1.RuntimeArtifactRef
	11,  // 107: kodex.runtime.v1.ListRuntimeArtifactRefsRequest.artifact_types:type_name -> kodex.runtime.v1.RuntimeArtifactType
	21,  // 108: kodex.runtime.v1.ListRuntimeArtifactRefsRequest.page:type_name -> kodex.runtime.v1.PageRequest
	18,  // 109: kodex.runtime.v1.ListRuntimeArtifactRefsRequest.meta:type_name -> kodex.runtime.v1.QueryMeta
	41,  // 110: kodex.runtime.v1.ListRuntimeArtifactRefsResponse.runtime_artifact_refs:type_name -> kodex.runtime.v1.RuntimeArtifactRef
	22,  // 111: kodex.runtime.v1.ListRuntimeArtifactRefsResponse.page:type_name -> kodex.runtime.v1.PageResponse
	13,  // 112: kodex.runtime.v1.CreateOrUpdateCleanupPolicyRequest.scope_type:type_name -> kodex.runtime.v1.RuntimeScopeType
	12,  // 113: kodex.runtime.v1.CreateOrUpdateCleanupPolicyRequest.status:type_name -> kodex.runtime.v1.CleanupPolicyStatus
	17,  // 114: kodex.runtime.v1.CreateOrUpdateCleanupPolicyRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	43,  // 115: kodex.runtime.v1.CleanupPolicyResponse.cleanup_policy:type_name -> kodex.runtime.v1.CleanupPolicy
	17,  // 116: kodex.runtime.v1.RunCleanupBatchRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	14,  // 117: kodex.runtime.v1.CreateOrUpdatePrewarmPoolRequest.scope_type:type_name -> kodex.runtime.v1.PrewarmPoolScopeType
	15,  // 118: kodex.runtime.v1.CreateOrUpdatePrewarmPoolRequest.status:type_name -> kodex.runtime.v1.PrewarmPoolStatus
	17,  // 119: kodex.runtime.v1.CreateOrUpdatePrewarmPoolRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	44,  // 120: kodex.runtime.v1.PrewarmPoolResponse.prewarm_pool:type_name -> kodex.runtime.v1.PrewarmPool
	17,  // 121: kodex.runtime.v1.ReconcilePrewarmPoolRequest.meta:type_name -> kodex.runtime.v1.CommandMeta
	45,  // 122: kodex.runtime.v1.RuntimeManagerService.PrepareRuntime:input_type -> kodex.runtime.v1.PrepareRuntimeRequest
	47,  // 123: kodex.runtime.v1.RuntimeManagerService.ReserveSlot:input_type -> kodex.runtime.v1.ReserveSlotRequest
	48,  // 124: kodex.runtime.v1.RuntimeManagerService.ExtendSlotLease:input_type -> kodex.runtime.v1.ExtendSlotLeaseRequest
	49,  // 125: kodex.runtime.v1.RuntimeManagerService.ReleaseSlot:input_type -> kodex.runtime.v1.ReleaseSlotRequest
	50,  // 126: kodex.runtime.v1.RuntimeManagerService.MarkSlotFailed:input_type -> kodex.runtime.v1.MarkSlotFailedRequest
	52,  // 127: kodex.runtime.v1.RuntimeManagerService.GetSlot:input_type -> kodex.runtime.v1.GetSlotRequest
	53,  // 128: kodex.runtime.v1.RuntimeManagerService.ListSlots:input_type -> kodex.runtime.v1.ListSlotsRequest
	55,  // 129: kodex.runtime.v1.RuntimeManagerService.StartWorkspaceMaterialization:input_type -> kodex.runtime.v1.StartWorkspaceMaterializationRequest
	56,  // 130: kodex.runtime.v1.RuntimeManagerService.ReportWorkspaceMaterializationProgress:input_type -> kodex.runtime.v1.ReportWorkspaceMaterializationProgressRequest
	58,  // 131: kodex.runtime.v1.RuntimeManagerService.GetWorkspaceMaterialization:input_type -> kodex.runtime.v1.GetWorkspaceMaterializationRequest
	59,  // 132: kodex.runtime.v1.RuntimeManagerService.ListWorkspaceMaterializations:input_type -> kodex.runtime.v1.ListWorkspaceMaterializationsRequest
	61,  // 133: kodex.runtime.v1.RuntimeManagerService.PrepareBuildContext:input_type -> kodex.runtime.v1.PrepareBuildContextRequest
	62,  // 134: kodex.runtime.v1.RuntimeManagerService.ReportBuildContextProgress:input_type -> kodex.runtime.v1.ReportBuildContextProgressRequest
	64,  // 135: kodex.runtime.v1.RuntimeManagerService.GetBuildContext:input_type -> kodex.runtime.v1.GetBuildContextRequest
	65,  // 136: kodex.runtime.v1.RuntimeManagerService.CreateJob:input_type -> kodex.runtime.v1.CreateJobRequest
	66,  // 137: kodex.runtime.v1.RuntimeManagerService.ClaimRunnableJob:input_type -> kodex.runtime.v1.ClaimRunnableJobRequest
	68,  // 138: kodex.runtime.v1.RuntimeManagerService.ReportJobStepProgress:input_type -> kodex.runtime.v1.ReportJobStepProgressRequest
	69,  // 139: kodex.runtime.v1.RuntimeManagerService.CompleteJob:input_type -> kodex.runtime.v1.CompleteJobRequest
	70,  // 140: kodex.runtime.v1.RuntimeManagerService.FailJob:input_type -> kodex.runtime.v1.FailJobRequest
	71,  // 141: kodex.runtime.v1.RuntimeManagerService.CancelJob:input_type -> kodex.runtime.v1.CancelJobRequest
	73,  // 142: kodex.runtime.v1.RuntimeManagerService.GetJob:input_type -> kodex.runtime.v1.GetJobRequest
	74,  // 143: kodex.runtime.v1.RuntimeManagerService.ListJobs:input_type -> kodex.runtime.v1.ListJobsRequest
	76,  // 144: kodex.runtime.v1.RuntimeManagerService.RecordRuntimeArtifactRef:input_type -> kodex.runtime.v1.RecordRuntimeArtifactRefRequest
	78,  // 145: kodex.runtime.v1.RuntimeManagerService.ListRuntimeArtifactRefs:input_type -> kodex.runtime.v1.ListRuntimeArtifactRefsRequest
	80,  // 146: kodex.runtime.v1.RuntimeManagerService.CreateOrUpdateCleanupPolicy:input_type -> kodex.runtime.v1.CreateOrUpdateCleanupPolicyRequest
	82,  // 147: kodex.runtime.v1.RuntimeManagerService.RunCleanupBatch:input_type -> kodex.runtime.v1.RunCleanupBatchRequest
	84,  // 148: kodex.runtime.v1.RuntimeManagerService.CreateOrUpdatePrewarmPool:input_type -> kodex.runtime.v1.CreateOrUpdatePrewarmPoolRequest
	86,  // 149: kodex.runtime.v1.RuntimeManagerService.ReconcilePrewarmPool:input_type -> kodex.runtime.v1.ReconcilePrewarmPoolRequest
	46,  // 150: kodex.runtime.v1.RuntimeManagerService.PrepareRuntime:output_type -> kodex.runtime.v1.PrepareRuntimeResponse
	51,  // 151: kodex.runtime.v1.RuntimeManagerService.ReserveSlot:output_type -> kodex.runtime.v1.SlotResponse
	51,  // 152: kodex.runtime.v1.RuntimeManagerService.ExtendSlotLease:output_type -> kodex.runtime.v1.SlotResponse
	51,  // 153: kodex.runtime.v1.RuntimeManagerService.ReleaseSlot:output_type -> kodex.runtime.v1.SlotResponse
	51,  // 154: kodex.runtime.v1.RuntimeManagerService.MarkSlotFailed:output_type -> kodex.runtime.v1.SlotResponse
	51,  // 155: kodex.runtime.v1.RuntimeManagerService.GetSlot:output_type -> kodex.runtime.v1.SlotResponse
	54,  // 156: kodex.runtime.v1.RuntimeManagerService.ListSlots:output_type -> kodex.runtime.v1.ListSlotsResponse
	57,  // 157: kodex.runtime.v1.RuntimeManagerService.StartWorkspaceMaterialization:output_type -> kodex.runtime.v1.WorkspaceMaterializationResponse
	57,  // 158: kodex.runtime.v1.RuntimeManagerService.ReportWorkspaceMaterializationProgress:output_type -> kodex.runtime.v1.WorkspaceMaterializationResponse
	57,  // 159: kodex.runtime.v1.RuntimeManagerService.GetWorkspaceMaterialization:output_type -> kodex.runtime.v1.WorkspaceMaterializationResponse
	60,  // 160: kodex.runtime.v1.RuntimeManagerService.ListWorkspaceMaterializations:output_type -> kodex.runtime.v1.ListWorkspaceMaterializationsResponse
	63,  // 161: kodex.runtime.v1.RuntimeManagerService.PrepareBuildContext:output_type -> kodex.runtime.v1.BuildContextResponse
	63,  // 162: kodex.runtime.v1.RuntimeManagerService.ReportBuildContextProgress:output_type -> kodex.runtime.v1.BuildContextResponse
	63,  // 163: kodex.runtime.v1.RuntimeManagerService.GetBuildContext:output_type -> kodex.runtime.v1.BuildContextResponse
	72,  // 164: kodex.runtime.v1.RuntimeManagerService.CreateJob:output_type -> kodex.runtime.v1.JobResponse
	67,  // 165: kodex.runtime.v1.RuntimeManagerService.ClaimRunnableJob:output_type -> kodex.runtime.v1.ClaimRunnableJobResponse
	72,  // 166: kodex.runtime.v1.RuntimeManagerService.ReportJobStepProgress:output_type -> kodex.runtime.v1.JobResponse
	72,  // 167: kodex.runtime.v1.RuntimeManagerService.CompleteJob:output_type -> kodex.runtime.v1.JobResponse
	72,  // 168: kodex.runtime.v1.RuntimeManagerService.FailJob:output_type -> kodex.runtime.v1.JobResponse
	72,  // 169: kodex.runtime.v1.RuntimeManagerService.CancelJob:output_type -> kodex.runtime.v1.JobResponse
	72,  // 170: kodex.runtime.v1.RuntimeManagerService.GetJob:output_type -> kodex.runtime.v1.JobResponse
	75,  // 171: kodex.runtime.v1.RuntimeManagerService.ListJobs:output_type -> kodex.runtime.v1.ListJobsResponse
	77,  // 172: kodex.runtime.v1.RuntimeManagerService.RecordRuntimeArtifactRef:output_type -> kodex.runtime.v1.RuntimeArtifactRefResponse
	79,  // 173: kodex.runtime.v1.RuntimeManagerService.ListRuntimeArtifactRefs:output_type -> kodex.runtime.v1.ListRuntimeArtifactRefsResponse
	81,  // 174: kodex.runtime.v1.RuntimeManagerService.CreateOrUpdateCleanupPolicy:output_type -> kodex.runtime.v1.CleanupPolicyResponse
	83,  // 175: kodex.runtime.v1.RuntimeManagerService.RunCleanupBatch:output_type -> kodex.runtime.v1.RunCleanupBatchResponse
	85,  // 176: kodex.runtime.v1.RuntimeManagerService.CreateOrUpdatePrewarmPool:output_type -> kodex.runtime.v1.PrewarmPoolResponse
	85,  // 177: kodex.runtime.v1.RuntimeManagerService.ReconcilePrewarmPool:output_type -> kodex.runtime.v1.PrewarmPoolResponse
	150, // [150:178] is the sub-list for method output_type
	122, // [122:150] is the sub-list for method input_type
	122, // [122:122] is the sub-list for extension type_name
	122, // [122:122] is the sub-list for extension extendee
	0,   // [0:122] is the sub-list for field type_name
}

func init() { file_kodex_runtime_v1_runtime_manager_proto_init() }
func file_kodex_runtime_v1_runtime_manager_proto_init() {
	if File_kodex_runtime_v1_runtime_manager_proto != nil {
		return
	}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[0].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[2].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[4].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[5].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[6].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[8].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[9].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[15].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[16].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[17].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[18].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[19].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[20].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[21].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[22].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[23].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[24].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[26].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[27].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[28].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[30].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[36].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[39].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[42].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[44].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[45].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[47].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[48].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[49].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[51].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[57].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[59].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[61].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[63].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[65].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[67].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[70].OneofWrappers = []any{}
	file_kodex_runtime_v1_runtime_manager_proto_msgTypes[71].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_kodex_runtime_v1_runtime_manager_proto_rawDesc), len(file_kodex_runtime_v1_runtime_manager_proto_rawDesc)),
			NumEnums:      17,
			NumMessages:   74,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_kodex_runtime_v1_runtime_manager_proto_goTypes,
		DependencyIndexes: file_kodex_runtime_v1_runtime_manager_proto_depIdxs,
		EnumInfos:         file_kodex_runtime_v1_runtime_manager_proto_enumTypes,
		MessageInfos:      file_kodex_runtime_v1_runtime_manager_proto_msgTypes,
	}.Build()
	File_kodex_runtime_v1_runtime_manager_proto = out.File
	file_kodex_runtime_v1_runtime_manager_proto_goTypes = nil
	file_kodex_runtime_v1_runtime_manager_proto_depIdxs = nil
}
