// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        (unknown)
// source: xyz/block/ftl/buildengine/v1/buildengine.proto

package buildenginepb

import (
	v1 "github.com/block/ftl/backend/protos/xyz/block/ftl/language/v1"
	v11 "github.com/block/ftl/backend/protos/xyz/block/ftl/v1"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	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)
)

// EngineStarted is published when the engine becomes busy building and deploying modules.
type EngineStarted struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*EngineStarted) ProtoMessage() {}

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

// EngineEnded is published when the engine is no longer building or deploying any modules.
// If there are any remaining errors, they will be included in the ModuleErrors map.
type EngineEnded struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Modules       []*EngineEnded_Module  `protobuf:"bytes,1,rep,name=modules,proto3" json:"modules,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*EngineEnded) ProtoMessage() {}

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

func (x *EngineEnded) GetModules() []*EngineEnded_Module {
	if x != nil {
		return x.Modules
	}
	return nil
}

// ModuleAdded is published when the engine discovers a module.
type ModuleAdded struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Module        string                 `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ModuleAdded) ProtoMessage() {}

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

func (x *ModuleAdded) GetModule() string {
	if x != nil {
		return x.Module
	}
	return ""
}

// ModuleRemoved is published when the engine discovers a module has been removed.
type ModuleRemoved struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Module        string                 `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ModuleRemoved) ProtoMessage() {}

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

func (x *ModuleRemoved) GetModule() string {
	if x != nil {
		return x.Module
	}
	return ""
}

// ModuleBuildWaiting is published when a build is waiting for dependencies to build
type ModuleBuildWaiting struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Config        *v1.ModuleConfig       `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ModuleBuildWaiting) ProtoMessage() {}

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

func (x *ModuleBuildWaiting) GetConfig() *v1.ModuleConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

// ModuleBuildStarted is published when a build has started for a module.
type ModuleBuildStarted struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Config        *v1.ModuleConfig       `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	IsAutoRebuild bool                   `protobuf:"varint,2,opt,name=is_auto_rebuild,json=isAutoRebuild,proto3" json:"is_auto_rebuild,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ModuleBuildStarted) ProtoMessage() {}

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

func (x *ModuleBuildStarted) GetConfig() *v1.ModuleConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *ModuleBuildStarted) GetIsAutoRebuild() bool {
	if x != nil {
		return x.IsAutoRebuild
	}
	return false
}

// ModuleBuildFailed is published for any build failures.
type ModuleBuildFailed struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Config        *v1.ModuleConfig       `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	Errors        *v1.ErrorList          `protobuf:"bytes,2,opt,name=errors,proto3" json:"errors,omitempty"`
	IsAutoRebuild bool                   `protobuf:"varint,3,opt,name=is_auto_rebuild,json=isAutoRebuild,proto3" json:"is_auto_rebuild,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ModuleBuildFailed) ProtoMessage() {}

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

func (x *ModuleBuildFailed) GetConfig() *v1.ModuleConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *ModuleBuildFailed) GetErrors() *v1.ErrorList {
	if x != nil {
		return x.Errors
	}
	return nil
}

func (x *ModuleBuildFailed) GetIsAutoRebuild() bool {
	if x != nil {
		return x.IsAutoRebuild
	}
	return false
}

// ModuleBuildSuccess is published when all modules have been built successfully built.
type ModuleBuildSuccess struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Config        *v1.ModuleConfig       `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	IsAutoRebuild bool                   `protobuf:"varint,2,opt,name=is_auto_rebuild,json=isAutoRebuild,proto3" json:"is_auto_rebuild,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ModuleBuildSuccess) ProtoMessage() {}

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

func (x *ModuleBuildSuccess) GetConfig() *v1.ModuleConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *ModuleBuildSuccess) GetIsAutoRebuild() bool {
	if x != nil {
		return x.IsAutoRebuild
	}
	return false
}

// ModuleDeployStarted is published when a deploy has been queued
type ModuleDeployWaiting struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Module        string                 `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ModuleDeployWaiting) ProtoMessage() {}

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

func (x *ModuleDeployWaiting) GetModule() string {
	if x != nil {
		return x.Module
	}
	return ""
}

// ModuleDeployStarted is published when a deploy has begun for a module.
type ModuleDeployStarted struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Module        string                 `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ModuleDeployStarted) ProtoMessage() {}

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

func (x *ModuleDeployStarted) GetModule() string {
	if x != nil {
		return x.Module
	}
	return ""
}

// ModuleDeployFailed is published for any deploy failures.
type ModuleDeployFailed struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Module        string                 `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
	Errors        *v1.ErrorList          `protobuf:"bytes,2,opt,name=errors,proto3" json:"errors,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ModuleDeployFailed) ProtoMessage() {}

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

func (x *ModuleDeployFailed) GetModule() string {
	if x != nil {
		return x.Module
	}
	return ""
}

func (x *ModuleDeployFailed) GetErrors() *v1.ErrorList {
	if x != nil {
		return x.Errors
	}
	return nil
}

// ModuleDeploySuccess is published when all modules have been built successfully deployed.
type ModuleDeploySuccess struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Module        string                 `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ModuleDeploySuccess) ProtoMessage() {}

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

func (x *ModuleDeploySuccess) GetModule() string {
	if x != nil {
		return x.Module
	}
	return ""
}

type ReachedEndOfHistory struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReachedEndOfHistory) ProtoMessage() {}

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

// EngineEvent is an event published by the engine as modules get built and deployed.
type EngineEvent struct {
	state     protoimpl.MessageState `protogen:"open.v1"`
	Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// Types that are valid to be assigned to Event:
	//
	//	*EngineEvent_EngineStarted
	//	*EngineEvent_EngineEnded
	//	*EngineEvent_ModuleAdded
	//	*EngineEvent_ModuleRemoved
	//	*EngineEvent_ModuleBuildWaiting
	//	*EngineEvent_ModuleBuildStarted
	//	*EngineEvent_ModuleBuildFailed
	//	*EngineEvent_ModuleBuildSuccess
	//	*EngineEvent_ModuleDeployWaiting
	//	*EngineEvent_ModuleDeployStarted
	//	*EngineEvent_ModuleDeployFailed
	//	*EngineEvent_ModuleDeploySuccess
	//	*EngineEvent_ReachedEndOfHistory
	Event         isEngineEvent_Event `protobuf_oneof:"event"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*EngineEvent) ProtoMessage() {}

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

func (x *EngineEvent) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (x *EngineEvent) GetEvent() isEngineEvent_Event {
	if x != nil {
		return x.Event
	}
	return nil
}

func (x *EngineEvent) GetEngineStarted() *EngineStarted {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_EngineStarted); ok {
			return x.EngineStarted
		}
	}
	return nil
}

func (x *EngineEvent) GetEngineEnded() *EngineEnded {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_EngineEnded); ok {
			return x.EngineEnded
		}
	}
	return nil
}

func (x *EngineEvent) GetModuleAdded() *ModuleAdded {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_ModuleAdded); ok {
			return x.ModuleAdded
		}
	}
	return nil
}

func (x *EngineEvent) GetModuleRemoved() *ModuleRemoved {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_ModuleRemoved); ok {
			return x.ModuleRemoved
		}
	}
	return nil
}

func (x *EngineEvent) GetModuleBuildWaiting() *ModuleBuildWaiting {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_ModuleBuildWaiting); ok {
			return x.ModuleBuildWaiting
		}
	}
	return nil
}

func (x *EngineEvent) GetModuleBuildStarted() *ModuleBuildStarted {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_ModuleBuildStarted); ok {
			return x.ModuleBuildStarted
		}
	}
	return nil
}

func (x *EngineEvent) GetModuleBuildFailed() *ModuleBuildFailed {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_ModuleBuildFailed); ok {
			return x.ModuleBuildFailed
		}
	}
	return nil
}

func (x *EngineEvent) GetModuleBuildSuccess() *ModuleBuildSuccess {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_ModuleBuildSuccess); ok {
			return x.ModuleBuildSuccess
		}
	}
	return nil
}

func (x *EngineEvent) GetModuleDeployWaiting() *ModuleDeployWaiting {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_ModuleDeployWaiting); ok {
			return x.ModuleDeployWaiting
		}
	}
	return nil
}

func (x *EngineEvent) GetModuleDeployStarted() *ModuleDeployStarted {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_ModuleDeployStarted); ok {
			return x.ModuleDeployStarted
		}
	}
	return nil
}

func (x *EngineEvent) GetModuleDeployFailed() *ModuleDeployFailed {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_ModuleDeployFailed); ok {
			return x.ModuleDeployFailed
		}
	}
	return nil
}

func (x *EngineEvent) GetModuleDeploySuccess() *ModuleDeploySuccess {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_ModuleDeploySuccess); ok {
			return x.ModuleDeploySuccess
		}
	}
	return nil
}

func (x *EngineEvent) GetReachedEndOfHistory() *ReachedEndOfHistory {
	if x != nil {
		if x, ok := x.Event.(*EngineEvent_ReachedEndOfHistory); ok {
			return x.ReachedEndOfHistory
		}
	}
	return nil
}

type isEngineEvent_Event interface {
	isEngineEvent_Event()
}

type EngineEvent_EngineStarted struct {
	EngineStarted *EngineStarted `protobuf:"bytes,2,opt,name=engine_started,json=engineStarted,proto3,oneof"`
}

type EngineEvent_EngineEnded struct {
	EngineEnded *EngineEnded `protobuf:"bytes,3,opt,name=engine_ended,json=engineEnded,proto3,oneof"`
}

type EngineEvent_ModuleAdded struct {
	ModuleAdded *ModuleAdded `protobuf:"bytes,4,opt,name=module_added,json=moduleAdded,proto3,oneof"`
}

type EngineEvent_ModuleRemoved struct {
	ModuleRemoved *ModuleRemoved `protobuf:"bytes,5,opt,name=module_removed,json=moduleRemoved,proto3,oneof"`
}

type EngineEvent_ModuleBuildWaiting struct {
	ModuleBuildWaiting *ModuleBuildWaiting `protobuf:"bytes,6,opt,name=module_build_waiting,json=moduleBuildWaiting,proto3,oneof"`
}

type EngineEvent_ModuleBuildStarted struct {
	ModuleBuildStarted *ModuleBuildStarted `protobuf:"bytes,7,opt,name=module_build_started,json=moduleBuildStarted,proto3,oneof"`
}

type EngineEvent_ModuleBuildFailed struct {
	ModuleBuildFailed *ModuleBuildFailed `protobuf:"bytes,8,opt,name=module_build_failed,json=moduleBuildFailed,proto3,oneof"`
}

type EngineEvent_ModuleBuildSuccess struct {
	ModuleBuildSuccess *ModuleBuildSuccess `protobuf:"bytes,9,opt,name=module_build_success,json=moduleBuildSuccess,proto3,oneof"`
}

type EngineEvent_ModuleDeployWaiting struct {
	ModuleDeployWaiting *ModuleDeployWaiting `protobuf:"bytes,10,opt,name=module_deploy_waiting,json=moduleDeployWaiting,proto3,oneof"`
}

type EngineEvent_ModuleDeployStarted struct {
	ModuleDeployStarted *ModuleDeployStarted `protobuf:"bytes,11,opt,name=module_deploy_started,json=moduleDeployStarted,proto3,oneof"`
}

type EngineEvent_ModuleDeployFailed struct {
	ModuleDeployFailed *ModuleDeployFailed `protobuf:"bytes,12,opt,name=module_deploy_failed,json=moduleDeployFailed,proto3,oneof"`
}

type EngineEvent_ModuleDeploySuccess struct {
	ModuleDeploySuccess *ModuleDeploySuccess `protobuf:"bytes,13,opt,name=module_deploy_success,json=moduleDeploySuccess,proto3,oneof"`
}

type EngineEvent_ReachedEndOfHistory struct {
	ReachedEndOfHistory *ReachedEndOfHistory `protobuf:"bytes,14,opt,name=reached_end_of_history,json=reachedEndOfHistory,proto3,oneof"`
}

func (*EngineEvent_EngineStarted) isEngineEvent_Event() {}

func (*EngineEvent_EngineEnded) isEngineEvent_Event() {}

func (*EngineEvent_ModuleAdded) isEngineEvent_Event() {}

func (*EngineEvent_ModuleRemoved) isEngineEvent_Event() {}

func (*EngineEvent_ModuleBuildWaiting) isEngineEvent_Event() {}

func (*EngineEvent_ModuleBuildStarted) isEngineEvent_Event() {}

func (*EngineEvent_ModuleBuildFailed) isEngineEvent_Event() {}

func (*EngineEvent_ModuleBuildSuccess) isEngineEvent_Event() {}

func (*EngineEvent_ModuleDeployWaiting) isEngineEvent_Event() {}

func (*EngineEvent_ModuleDeployStarted) isEngineEvent_Event() {}

func (*EngineEvent_ModuleDeployFailed) isEngineEvent_Event() {}

func (*EngineEvent_ModuleDeploySuccess) isEngineEvent_Event() {}

func (*EngineEvent_ReachedEndOfHistory) isEngineEvent_Event() {}

type StreamEngineEventsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// If true, cached events will be replayed before streaming new events.
	// If false, only new events will be streamed.
	ReplayHistory bool `protobuf:"varint,1,opt,name=replay_history,json=replayHistory,proto3" json:"replay_history,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*StreamEngineEventsRequest) ProtoMessage() {}

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

func (x *StreamEngineEventsRequest) GetReplayHistory() bool {
	if x != nil {
		return x.ReplayHistory
	}
	return false
}

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

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

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

func (*StreamEngineEventsResponse) ProtoMessage() {}

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

func (x *StreamEngineEventsResponse) GetEvent() *EngineEvent {
	if x != nil {
		return x.Event
	}
	return nil
}

type EngineEnded_Module struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Module        string                 `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
	Path          string                 `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Errors        *v1.ErrorList          `protobuf:"bytes,3,opt,name=errors,proto3,oneof" json:"errors,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*EngineEnded_Module) ProtoMessage() {}

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

func (x *EngineEnded_Module) GetModule() string {
	if x != nil {
		return x.Module
	}
	return ""
}

func (x *EngineEnded_Module) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *EngineEnded_Module) GetErrors() *v1.ErrorList {
	if x != nil {
		return x.Errors
	}
	return nil
}

var File_xyz_block_ftl_buildengine_v1_buildengine_proto protoreflect.FileDescriptor

const file_xyz_block_ftl_buildengine_v1_buildengine_proto_rawDesc = "" +
	"\n" +
	".xyz/block/ftl/buildengine/v1/buildengine.proto\x12\x1cxyz.block.ftl.buildengine.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a'xyz/block/ftl/language/v1/service.proto\x1a\x1axyz/block/ftl/v1/ftl.proto\"\x0f\n" +
	"\rEngineStarted\"\xde\x01\n" +
	"\vEngineEnded\x12J\n" +
	"\amodules\x18\x01 \x03(\v20.xyz.block.ftl.buildengine.v1.EngineEnded.ModuleR\amodules\x1a\x82\x01\n" +
	"\x06Module\x12\x16\n" +
	"\x06module\x18\x01 \x01(\tR\x06module\x12\x12\n" +
	"\x04path\x18\x02 \x01(\tR\x04path\x12A\n" +
	"\x06errors\x18\x03 \x01(\v2$.xyz.block.ftl.language.v1.ErrorListH\x00R\x06errors\x88\x01\x01B\t\n" +
	"\a_errors\"%\n" +
	"\vModuleAdded\x12\x16\n" +
	"\x06module\x18\x01 \x01(\tR\x06module\"'\n" +
	"\rModuleRemoved\x12\x16\n" +
	"\x06module\x18\x01 \x01(\tR\x06module\"U\n" +
	"\x12ModuleBuildWaiting\x12?\n" +
	"\x06config\x18\x01 \x01(\v2'.xyz.block.ftl.language.v1.ModuleConfigR\x06config\"}\n" +
	"\x12ModuleBuildStarted\x12?\n" +
	"\x06config\x18\x01 \x01(\v2'.xyz.block.ftl.language.v1.ModuleConfigR\x06config\x12&\n" +
	"\x0fis_auto_rebuild\x18\x02 \x01(\bR\risAutoRebuild\"\xba\x01\n" +
	"\x11ModuleBuildFailed\x12?\n" +
	"\x06config\x18\x01 \x01(\v2'.xyz.block.ftl.language.v1.ModuleConfigR\x06config\x12<\n" +
	"\x06errors\x18\x02 \x01(\v2$.xyz.block.ftl.language.v1.ErrorListR\x06errors\x12&\n" +
	"\x0fis_auto_rebuild\x18\x03 \x01(\bR\risAutoRebuild\"}\n" +
	"\x12ModuleBuildSuccess\x12?\n" +
	"\x06config\x18\x01 \x01(\v2'.xyz.block.ftl.language.v1.ModuleConfigR\x06config\x12&\n" +
	"\x0fis_auto_rebuild\x18\x02 \x01(\bR\risAutoRebuild\"-\n" +
	"\x13ModuleDeployWaiting\x12\x16\n" +
	"\x06module\x18\x01 \x01(\tR\x06module\"-\n" +
	"\x13ModuleDeployStarted\x12\x16\n" +
	"\x06module\x18\x01 \x01(\tR\x06module\"j\n" +
	"\x12ModuleDeployFailed\x12\x16\n" +
	"\x06module\x18\x01 \x01(\tR\x06module\x12<\n" +
	"\x06errors\x18\x02 \x01(\v2$.xyz.block.ftl.language.v1.ErrorListR\x06errors\"-\n" +
	"\x13ModuleDeploySuccess\x12\x16\n" +
	"\x06module\x18\x01 \x01(\tR\x06module\"\x15\n" +
	"\x13ReachedEndOfHistory\"\xbc\n" +
	"\n" +
	"\vEngineEvent\x128\n" +
	"\ttimestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12T\n" +
	"\x0eengine_started\x18\x02 \x01(\v2+.xyz.block.ftl.buildengine.v1.EngineStartedH\x00R\rengineStarted\x12N\n" +
	"\fengine_ended\x18\x03 \x01(\v2).xyz.block.ftl.buildengine.v1.EngineEndedH\x00R\vengineEnded\x12N\n" +
	"\fmodule_added\x18\x04 \x01(\v2).xyz.block.ftl.buildengine.v1.ModuleAddedH\x00R\vmoduleAdded\x12T\n" +
	"\x0emodule_removed\x18\x05 \x01(\v2+.xyz.block.ftl.buildengine.v1.ModuleRemovedH\x00R\rmoduleRemoved\x12d\n" +
	"\x14module_build_waiting\x18\x06 \x01(\v20.xyz.block.ftl.buildengine.v1.ModuleBuildWaitingH\x00R\x12moduleBuildWaiting\x12d\n" +
	"\x14module_build_started\x18\a \x01(\v20.xyz.block.ftl.buildengine.v1.ModuleBuildStartedH\x00R\x12moduleBuildStarted\x12a\n" +
	"\x13module_build_failed\x18\b \x01(\v2/.xyz.block.ftl.buildengine.v1.ModuleBuildFailedH\x00R\x11moduleBuildFailed\x12d\n" +
	"\x14module_build_success\x18\t \x01(\v20.xyz.block.ftl.buildengine.v1.ModuleBuildSuccessH\x00R\x12moduleBuildSuccess\x12g\n" +
	"\x15module_deploy_waiting\x18\n" +
	" \x01(\v21.xyz.block.ftl.buildengine.v1.ModuleDeployWaitingH\x00R\x13moduleDeployWaiting\x12g\n" +
	"\x15module_deploy_started\x18\v \x01(\v21.xyz.block.ftl.buildengine.v1.ModuleDeployStartedH\x00R\x13moduleDeployStarted\x12d\n" +
	"\x14module_deploy_failed\x18\f \x01(\v20.xyz.block.ftl.buildengine.v1.ModuleDeployFailedH\x00R\x12moduleDeployFailed\x12g\n" +
	"\x15module_deploy_success\x18\r \x01(\v21.xyz.block.ftl.buildengine.v1.ModuleDeploySuccessH\x00R\x13moduleDeploySuccess\x12h\n" +
	"\x16reached_end_of_history\x18\x0e \x01(\v21.xyz.block.ftl.buildengine.v1.ReachedEndOfHistoryH\x00R\x13reachedEndOfHistoryB\a\n" +
	"\x05event\"B\n" +
	"\x19StreamEngineEventsRequest\x12%\n" +
	"\x0ereplay_history\x18\x01 \x01(\bR\rreplayHistory\"]\n" +
	"\x1aStreamEngineEventsResponse\x12?\n" +
	"\x05event\x18\x01 \x01(\v2).xyz.block.ftl.buildengine.v1.EngineEventR\x05event2\xee\x01\n" +
	"\x12BuildEngineService\x12J\n" +
	"\x04Ping\x12\x1d.xyz.block.ftl.v1.PingRequest\x1a\x1e.xyz.block.ftl.v1.PingResponse\"\x03\x90\x02\x01\x12\x8b\x01\n" +
	"\x12StreamEngineEvents\x127.xyz.block.ftl.buildengine.v1.StreamEngineEventsRequest\x1a8.xyz.block.ftl.buildengine.v1.StreamEngineEventsResponse\"\x000\x01BPZNgithub.com/block/ftl/backend/protos/xyz/block/ftl/buildengine/v1;buildenginepbb\x06proto3"

var (
	file_xyz_block_ftl_buildengine_v1_buildengine_proto_rawDescOnce sync.Once
	file_xyz_block_ftl_buildengine_v1_buildengine_proto_rawDescData []byte
)

func file_xyz_block_ftl_buildengine_v1_buildengine_proto_rawDescGZIP() []byte {
	file_xyz_block_ftl_buildengine_v1_buildengine_proto_rawDescOnce.Do(func() {
		file_xyz_block_ftl_buildengine_v1_buildengine_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_xyz_block_ftl_buildengine_v1_buildengine_proto_rawDesc), len(file_xyz_block_ftl_buildengine_v1_buildengine_proto_rawDesc)))
	})
	return file_xyz_block_ftl_buildengine_v1_buildengine_proto_rawDescData
}

var file_xyz_block_ftl_buildengine_v1_buildengine_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
var file_xyz_block_ftl_buildengine_v1_buildengine_proto_goTypes = []any{
	(*EngineStarted)(nil),              // 0: xyz.block.ftl.buildengine.v1.EngineStarted
	(*EngineEnded)(nil),                // 1: xyz.block.ftl.buildengine.v1.EngineEnded
	(*ModuleAdded)(nil),                // 2: xyz.block.ftl.buildengine.v1.ModuleAdded
	(*ModuleRemoved)(nil),              // 3: xyz.block.ftl.buildengine.v1.ModuleRemoved
	(*ModuleBuildWaiting)(nil),         // 4: xyz.block.ftl.buildengine.v1.ModuleBuildWaiting
	(*ModuleBuildStarted)(nil),         // 5: xyz.block.ftl.buildengine.v1.ModuleBuildStarted
	(*ModuleBuildFailed)(nil),          // 6: xyz.block.ftl.buildengine.v1.ModuleBuildFailed
	(*ModuleBuildSuccess)(nil),         // 7: xyz.block.ftl.buildengine.v1.ModuleBuildSuccess
	(*ModuleDeployWaiting)(nil),        // 8: xyz.block.ftl.buildengine.v1.ModuleDeployWaiting
	(*ModuleDeployStarted)(nil),        // 9: xyz.block.ftl.buildengine.v1.ModuleDeployStarted
	(*ModuleDeployFailed)(nil),         // 10: xyz.block.ftl.buildengine.v1.ModuleDeployFailed
	(*ModuleDeploySuccess)(nil),        // 11: xyz.block.ftl.buildengine.v1.ModuleDeploySuccess
	(*ReachedEndOfHistory)(nil),        // 12: xyz.block.ftl.buildengine.v1.ReachedEndOfHistory
	(*EngineEvent)(nil),                // 13: xyz.block.ftl.buildengine.v1.EngineEvent
	(*StreamEngineEventsRequest)(nil),  // 14: xyz.block.ftl.buildengine.v1.StreamEngineEventsRequest
	(*StreamEngineEventsResponse)(nil), // 15: xyz.block.ftl.buildengine.v1.StreamEngineEventsResponse
	(*EngineEnded_Module)(nil),         // 16: xyz.block.ftl.buildengine.v1.EngineEnded.Module
	(*v1.ModuleConfig)(nil),            // 17: xyz.block.ftl.language.v1.ModuleConfig
	(*v1.ErrorList)(nil),               // 18: xyz.block.ftl.language.v1.ErrorList
	(*timestamppb.Timestamp)(nil),      // 19: google.protobuf.Timestamp
	(*v11.PingRequest)(nil),            // 20: xyz.block.ftl.v1.PingRequest
	(*v11.PingResponse)(nil),           // 21: xyz.block.ftl.v1.PingResponse
}
var file_xyz_block_ftl_buildengine_v1_buildengine_proto_depIdxs = []int32{
	16, // 0: xyz.block.ftl.buildengine.v1.EngineEnded.modules:type_name -> xyz.block.ftl.buildengine.v1.EngineEnded.Module
	17, // 1: xyz.block.ftl.buildengine.v1.ModuleBuildWaiting.config:type_name -> xyz.block.ftl.language.v1.ModuleConfig
	17, // 2: xyz.block.ftl.buildengine.v1.ModuleBuildStarted.config:type_name -> xyz.block.ftl.language.v1.ModuleConfig
	17, // 3: xyz.block.ftl.buildengine.v1.ModuleBuildFailed.config:type_name -> xyz.block.ftl.language.v1.ModuleConfig
	18, // 4: xyz.block.ftl.buildengine.v1.ModuleBuildFailed.errors:type_name -> xyz.block.ftl.language.v1.ErrorList
	17, // 5: xyz.block.ftl.buildengine.v1.ModuleBuildSuccess.config:type_name -> xyz.block.ftl.language.v1.ModuleConfig
	18, // 6: xyz.block.ftl.buildengine.v1.ModuleDeployFailed.errors:type_name -> xyz.block.ftl.language.v1.ErrorList
	19, // 7: xyz.block.ftl.buildengine.v1.EngineEvent.timestamp:type_name -> google.protobuf.Timestamp
	0,  // 8: xyz.block.ftl.buildengine.v1.EngineEvent.engine_started:type_name -> xyz.block.ftl.buildengine.v1.EngineStarted
	1,  // 9: xyz.block.ftl.buildengine.v1.EngineEvent.engine_ended:type_name -> xyz.block.ftl.buildengine.v1.EngineEnded
	2,  // 10: xyz.block.ftl.buildengine.v1.EngineEvent.module_added:type_name -> xyz.block.ftl.buildengine.v1.ModuleAdded
	3,  // 11: xyz.block.ftl.buildengine.v1.EngineEvent.module_removed:type_name -> xyz.block.ftl.buildengine.v1.ModuleRemoved
	4,  // 12: xyz.block.ftl.buildengine.v1.EngineEvent.module_build_waiting:type_name -> xyz.block.ftl.buildengine.v1.ModuleBuildWaiting
	5,  // 13: xyz.block.ftl.buildengine.v1.EngineEvent.module_build_started:type_name -> xyz.block.ftl.buildengine.v1.ModuleBuildStarted
	6,  // 14: xyz.block.ftl.buildengine.v1.EngineEvent.module_build_failed:type_name -> xyz.block.ftl.buildengine.v1.ModuleBuildFailed
	7,  // 15: xyz.block.ftl.buildengine.v1.EngineEvent.module_build_success:type_name -> xyz.block.ftl.buildengine.v1.ModuleBuildSuccess
	8,  // 16: xyz.block.ftl.buildengine.v1.EngineEvent.module_deploy_waiting:type_name -> xyz.block.ftl.buildengine.v1.ModuleDeployWaiting
	9,  // 17: xyz.block.ftl.buildengine.v1.EngineEvent.module_deploy_started:type_name -> xyz.block.ftl.buildengine.v1.ModuleDeployStarted
	10, // 18: xyz.block.ftl.buildengine.v1.EngineEvent.module_deploy_failed:type_name -> xyz.block.ftl.buildengine.v1.ModuleDeployFailed
	11, // 19: xyz.block.ftl.buildengine.v1.EngineEvent.module_deploy_success:type_name -> xyz.block.ftl.buildengine.v1.ModuleDeploySuccess
	12, // 20: xyz.block.ftl.buildengine.v1.EngineEvent.reached_end_of_history:type_name -> xyz.block.ftl.buildengine.v1.ReachedEndOfHistory
	13, // 21: xyz.block.ftl.buildengine.v1.StreamEngineEventsResponse.event:type_name -> xyz.block.ftl.buildengine.v1.EngineEvent
	18, // 22: xyz.block.ftl.buildengine.v1.EngineEnded.Module.errors:type_name -> xyz.block.ftl.language.v1.ErrorList
	20, // 23: xyz.block.ftl.buildengine.v1.BuildEngineService.Ping:input_type -> xyz.block.ftl.v1.PingRequest
	14, // 24: xyz.block.ftl.buildengine.v1.BuildEngineService.StreamEngineEvents:input_type -> xyz.block.ftl.buildengine.v1.StreamEngineEventsRequest
	21, // 25: xyz.block.ftl.buildengine.v1.BuildEngineService.Ping:output_type -> xyz.block.ftl.v1.PingResponse
	15, // 26: xyz.block.ftl.buildengine.v1.BuildEngineService.StreamEngineEvents:output_type -> xyz.block.ftl.buildengine.v1.StreamEngineEventsResponse
	25, // [25:27] is the sub-list for method output_type
	23, // [23:25] is the sub-list for method input_type
	23, // [23:23] is the sub-list for extension type_name
	23, // [23:23] is the sub-list for extension extendee
	0,  // [0:23] is the sub-list for field type_name
}

func init() { file_xyz_block_ftl_buildengine_v1_buildengine_proto_init() }
func file_xyz_block_ftl_buildengine_v1_buildengine_proto_init() {
	if File_xyz_block_ftl_buildengine_v1_buildengine_proto != nil {
		return
	}
	file_xyz_block_ftl_buildengine_v1_buildengine_proto_msgTypes[13].OneofWrappers = []any{
		(*EngineEvent_EngineStarted)(nil),
		(*EngineEvent_EngineEnded)(nil),
		(*EngineEvent_ModuleAdded)(nil),
		(*EngineEvent_ModuleRemoved)(nil),
		(*EngineEvent_ModuleBuildWaiting)(nil),
		(*EngineEvent_ModuleBuildStarted)(nil),
		(*EngineEvent_ModuleBuildFailed)(nil),
		(*EngineEvent_ModuleBuildSuccess)(nil),
		(*EngineEvent_ModuleDeployWaiting)(nil),
		(*EngineEvent_ModuleDeployStarted)(nil),
		(*EngineEvent_ModuleDeployFailed)(nil),
		(*EngineEvent_ModuleDeploySuccess)(nil),
		(*EngineEvent_ReachedEndOfHistory)(nil),
	}
	file_xyz_block_ftl_buildengine_v1_buildengine_proto_msgTypes[16].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_xyz_block_ftl_buildengine_v1_buildengine_proto_rawDesc), len(file_xyz_block_ftl_buildengine_v1_buildengine_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   17,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_xyz_block_ftl_buildengine_v1_buildengine_proto_goTypes,
		DependencyIndexes: file_xyz_block_ftl_buildengine_v1_buildengine_proto_depIdxs,
		MessageInfos:      file_xyz_block_ftl_buildengine_v1_buildengine_proto_msgTypes,
	}.Build()
	File_xyz_block_ftl_buildengine_v1_buildengine_proto = out.File
	file_xyz_block_ftl_buildengine_v1_buildengine_proto_goTypes = nil
	file_xyz_block_ftl_buildengine_v1_buildengine_proto_depIdxs = nil
}
