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

package timelinepb

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

type TimelineQuery_Order int32

const (
	TimelineQuery_ORDER_UNSPECIFIED TimelineQuery_Order = 0
	TimelineQuery_ORDER_ASC         TimelineQuery_Order = 1
	TimelineQuery_ORDER_DESC        TimelineQuery_Order = 2
)

// Enum value maps for TimelineQuery_Order.
var (
	TimelineQuery_Order_name = map[int32]string{
		0: "ORDER_UNSPECIFIED",
		1: "ORDER_ASC",
		2: "ORDER_DESC",
	}
	TimelineQuery_Order_value = map[string]int32{
		"ORDER_UNSPECIFIED": 0,
		"ORDER_ASC":         1,
		"ORDER_DESC":        2,
	}
)

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

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

func (TimelineQuery_Order) Descriptor() protoreflect.EnumDescriptor {
	return file_xyz_block_ftl_timeline_v1_timeline_proto_enumTypes[0].Descriptor()
}

func (TimelineQuery_Order) Type() protoreflect.EnumType {
	return &file_xyz_block_ftl_timeline_v1_timeline_proto_enumTypes[0]
}

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

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

type TimelineQuery struct {
	state   protoimpl.MessageState  `protogen:"open.v1"`
	Filters []*TimelineQuery_Filter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"`
	Limit   int32                   `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	// Ordering is done by id which matches publication order.
	// This roughly corresponds to the time of the event, but not strictly.
	Order         TimelineQuery_Order `protobuf:"varint,3,opt,name=order,proto3,enum=xyz.block.ftl.timeline.v1.TimelineQuery_Order" json:"order,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TimelineQuery) ProtoMessage() {}

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

func (x *TimelineQuery) GetFilters() []*TimelineQuery_Filter {
	if x != nil {
		return x.Filters
	}
	return nil
}

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

func (x *TimelineQuery) GetOrder() TimelineQuery_Order {
	if x != nil {
		return x.Order
	}
	return TimelineQuery_ORDER_UNSPECIFIED
}

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

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

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

func (*GetTimelineRequest) ProtoMessage() {}

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

func (x *GetTimelineRequest) GetQuery() *TimelineQuery {
	if x != nil {
		return x.Query
	}
	return nil
}

type GetTimelineResponse struct {
	state  protoimpl.MessageState `protogen:"open.v1"`
	Events []*Event               `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
	// For pagination, this cursor is where we should start our next query
	Cursor        *int64 `protobuf:"varint,2,opt,name=cursor,proto3,oneof" json:"cursor,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetTimelineResponse) ProtoMessage() {}

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

func (x *GetTimelineResponse) GetEvents() []*Event {
	if x != nil {
		return x.Events
	}
	return nil
}

func (x *GetTimelineResponse) GetCursor() int64 {
	if x != nil && x.Cursor != nil {
		return *x.Cursor
	}
	return 0
}

type StreamTimelineRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	UpdateInterval *durationpb.Duration   `protobuf:"bytes,1,opt,name=update_interval,json=updateInterval,proto3,oneof" json:"update_interval,omitempty"`
	Query          *TimelineQuery         `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*StreamTimelineRequest) ProtoMessage() {}

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

func (x *StreamTimelineRequest) GetUpdateInterval() *durationpb.Duration {
	if x != nil {
		return x.UpdateInterval
	}
	return nil
}

func (x *StreamTimelineRequest) GetQuery() *TimelineQuery {
	if x != nil {
		return x.Query
	}
	return nil
}

type StreamTimelineResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Events        []*Event               `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*StreamTimelineResponse) ProtoMessage() {}

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

func (x *StreamTimelineResponse) GetEvents() []*Event {
	if x != nil {
		return x.Events
	}
	return nil
}

type CreateEventsRequest struct {
	state         protoimpl.MessageState            `protogen:"open.v1"`
	Entries       []*CreateEventsRequest_EventEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateEventsRequest) ProtoMessage() {}

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

func (x *CreateEventsRequest) GetEntries() []*CreateEventsRequest_EventEntry {
	if x != nil {
		return x.Entries
	}
	return nil
}

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

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

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

func (*CreateEventsResponse) ProtoMessage() {}

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

type DeleteOldEventsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	EventType     EventType              `protobuf:"varint,1,opt,name=event_type,json=eventType,proto3,enum=xyz.block.ftl.timeline.v1.EventType" json:"event_type,omitempty"`
	AgeSeconds    int64                  `protobuf:"varint,2,opt,name=age_seconds,json=ageSeconds,proto3" json:"age_seconds,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteOldEventsRequest) ProtoMessage() {}

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

func (x *DeleteOldEventsRequest) GetEventType() EventType {
	if x != nil {
		return x.EventType
	}
	return EventType_EVENT_TYPE_UNSPECIFIED
}

func (x *DeleteOldEventsRequest) GetAgeSeconds() int64 {
	if x != nil {
		return x.AgeSeconds
	}
	return 0
}

type DeleteOldEventsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DeletedCount  int64                  `protobuf:"varint,1,opt,name=deleted_count,json=deletedCount,proto3" json:"deleted_count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteOldEventsResponse) ProtoMessage() {}

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

func (x *DeleteOldEventsResponse) GetDeletedCount() int64 {
	if x != nil {
		return x.DeletedCount
	}
	return 0
}

// Filters events by log level.
type TimelineQuery_LogLevelFilter struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	LogLevel      LogLevel               `protobuf:"varint,1,opt,name=log_level,json=logLevel,proto3,enum=xyz.block.ftl.timeline.v1.LogLevel" json:"log_level,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TimelineQuery_LogLevelFilter) ProtoMessage() {}

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

func (x *TimelineQuery_LogLevelFilter) GetLogLevel() LogLevel {
	if x != nil {
		return x.LogLevel
	}
	return LogLevel_LOG_LEVEL_UNSPECIFIED
}

// Filters events by deployment key.
type TimelineQuery_DeploymentFilter struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Deployments   []string               `protobuf:"bytes,1,rep,name=deployments,proto3" json:"deployments,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TimelineQuery_DeploymentFilter) ProtoMessage() {}

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

func (x *TimelineQuery_DeploymentFilter) GetDeployments() []string {
	if x != nil {
		return x.Deployments
	}
	return nil
}

// Filters events by changeset key.
type TimelineQuery_ChangesetFilter struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Changesets    []string               `protobuf:"bytes,1,rep,name=changesets,proto3" json:"changesets,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TimelineQuery_ChangesetFilter) ProtoMessage() {}

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

func (x *TimelineQuery_ChangesetFilter) GetChangesets() []string {
	if x != nil {
		return x.Changesets
	}
	return nil
}

// Filters events by request key.
type TimelineQuery_RequestFilter struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Requests      []string               `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TimelineQuery_RequestFilter) ProtoMessage() {}

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

func (x *TimelineQuery_RequestFilter) GetRequests() []string {
	if x != nil {
		return x.Requests
	}
	return nil
}

// Filters events by event type.
type TimelineQuery_EventTypeFilter struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	EventTypes    []EventType            `protobuf:"varint,1,rep,packed,name=event_types,json=eventTypes,proto3,enum=xyz.block.ftl.timeline.v1.EventType" json:"event_types,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TimelineQuery_EventTypeFilter) ProtoMessage() {}

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

func (x *TimelineQuery_EventTypeFilter) GetEventTypes() []EventType {
	if x != nil {
		return x.EventTypes
	}
	return nil
}

// Filters events by time.
//
// Either end of the time range can be omitted to indicate no bound.
type TimelineQuery_TimeFilter struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	OlderThan     *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=older_than,json=olderThan,proto3,oneof" json:"older_than,omitempty"`
	NewerThan     *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=newer_than,json=newerThan,proto3,oneof" json:"newer_than,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TimelineQuery_TimeFilter) ProtoMessage() {}

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

func (x *TimelineQuery_TimeFilter) GetOlderThan() *timestamppb.Timestamp {
	if x != nil {
		return x.OlderThan
	}
	return nil
}

func (x *TimelineQuery_TimeFilter) GetNewerThan() *timestamppb.Timestamp {
	if x != nil {
		return x.NewerThan
	}
	return nil
}

// Filters events by ID.
//
// Either end of the ID range can be omitted to indicate no bound.
type TimelineQuery_IDFilter struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	LowerThan     *int64                 `protobuf:"varint,1,opt,name=lower_than,json=lowerThan,proto3,oneof" json:"lower_than,omitempty"`
	HigherThan    *int64                 `protobuf:"varint,2,opt,name=higher_than,json=higherThan,proto3,oneof" json:"higher_than,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TimelineQuery_IDFilter) ProtoMessage() {}

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

func (x *TimelineQuery_IDFilter) GetLowerThan() int64 {
	if x != nil && x.LowerThan != nil {
		return *x.LowerThan
	}
	return 0
}

func (x *TimelineQuery_IDFilter) GetHigherThan() int64 {
	if x != nil && x.HigherThan != nil {
		return *x.HigherThan
	}
	return 0
}

// Filters events by call.
type TimelineQuery_CallFilter struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DestModule    string                 `protobuf:"bytes,1,opt,name=dest_module,json=destModule,proto3" json:"dest_module,omitempty"`
	DestVerb      *string                `protobuf:"bytes,2,opt,name=dest_verb,json=destVerb,proto3,oneof" json:"dest_verb,omitempty"`
	SourceModule  *string                `protobuf:"bytes,3,opt,name=source_module,json=sourceModule,proto3,oneof" json:"source_module,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TimelineQuery_CallFilter) ProtoMessage() {}

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

func (x *TimelineQuery_CallFilter) GetDestModule() string {
	if x != nil {
		return x.DestModule
	}
	return ""
}

func (x *TimelineQuery_CallFilter) GetDestVerb() string {
	if x != nil && x.DestVerb != nil {
		return *x.DestVerb
	}
	return ""
}

func (x *TimelineQuery_CallFilter) GetSourceModule() string {
	if x != nil && x.SourceModule != nil {
		return *x.SourceModule
	}
	return ""
}

type TimelineQuery_ModuleFilter struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Module        string                 `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
	Verb          *string                `protobuf:"bytes,2,opt,name=verb,proto3,oneof" json:"verb,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TimelineQuery_ModuleFilter) ProtoMessage() {}

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

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

func (x *TimelineQuery_ModuleFilter) GetVerb() string {
	if x != nil && x.Verb != nil {
		return *x.Verb
	}
	return ""
}

type TimelineQuery_Filter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// These map 1:1 with filters in backend/timeline/filters.go
	//
	// Types that are valid to be assigned to Filter:
	//
	//	*TimelineQuery_Filter_LogLevel
	//	*TimelineQuery_Filter_Deployments
	//	*TimelineQuery_Filter_Requests
	//	*TimelineQuery_Filter_EventTypes
	//	*TimelineQuery_Filter_Time
	//	*TimelineQuery_Filter_Id
	//	*TimelineQuery_Filter_Call
	//	*TimelineQuery_Filter_Module
	//	*TimelineQuery_Filter_Changesets
	Filter        isTimelineQuery_Filter_Filter `protobuf_oneof:"filter"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TimelineQuery_Filter) ProtoMessage() {}

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

func (x *TimelineQuery_Filter) GetFilter() isTimelineQuery_Filter_Filter {
	if x != nil {
		return x.Filter
	}
	return nil
}

func (x *TimelineQuery_Filter) GetLogLevel() *TimelineQuery_LogLevelFilter {
	if x != nil {
		if x, ok := x.Filter.(*TimelineQuery_Filter_LogLevel); ok {
			return x.LogLevel
		}
	}
	return nil
}

func (x *TimelineQuery_Filter) GetDeployments() *TimelineQuery_DeploymentFilter {
	if x != nil {
		if x, ok := x.Filter.(*TimelineQuery_Filter_Deployments); ok {
			return x.Deployments
		}
	}
	return nil
}

func (x *TimelineQuery_Filter) GetRequests() *TimelineQuery_RequestFilter {
	if x != nil {
		if x, ok := x.Filter.(*TimelineQuery_Filter_Requests); ok {
			return x.Requests
		}
	}
	return nil
}

func (x *TimelineQuery_Filter) GetEventTypes() *TimelineQuery_EventTypeFilter {
	if x != nil {
		if x, ok := x.Filter.(*TimelineQuery_Filter_EventTypes); ok {
			return x.EventTypes
		}
	}
	return nil
}

func (x *TimelineQuery_Filter) GetTime() *TimelineQuery_TimeFilter {
	if x != nil {
		if x, ok := x.Filter.(*TimelineQuery_Filter_Time); ok {
			return x.Time
		}
	}
	return nil
}

func (x *TimelineQuery_Filter) GetId() *TimelineQuery_IDFilter {
	if x != nil {
		if x, ok := x.Filter.(*TimelineQuery_Filter_Id); ok {
			return x.Id
		}
	}
	return nil
}

func (x *TimelineQuery_Filter) GetCall() *TimelineQuery_CallFilter {
	if x != nil {
		if x, ok := x.Filter.(*TimelineQuery_Filter_Call); ok {
			return x.Call
		}
	}
	return nil
}

func (x *TimelineQuery_Filter) GetModule() *TimelineQuery_ModuleFilter {
	if x != nil {
		if x, ok := x.Filter.(*TimelineQuery_Filter_Module); ok {
			return x.Module
		}
	}
	return nil
}

func (x *TimelineQuery_Filter) GetChangesets() *TimelineQuery_ChangesetFilter {
	if x != nil {
		if x, ok := x.Filter.(*TimelineQuery_Filter_Changesets); ok {
			return x.Changesets
		}
	}
	return nil
}

type isTimelineQuery_Filter_Filter interface {
	isTimelineQuery_Filter_Filter()
}

type TimelineQuery_Filter_LogLevel struct {
	LogLevel *TimelineQuery_LogLevelFilter `protobuf:"bytes,1,opt,name=log_level,json=logLevel,proto3,oneof"`
}

type TimelineQuery_Filter_Deployments struct {
	Deployments *TimelineQuery_DeploymentFilter `protobuf:"bytes,2,opt,name=deployments,proto3,oneof"`
}

type TimelineQuery_Filter_Requests struct {
	Requests *TimelineQuery_RequestFilter `protobuf:"bytes,3,opt,name=requests,proto3,oneof"`
}

type TimelineQuery_Filter_EventTypes struct {
	EventTypes *TimelineQuery_EventTypeFilter `protobuf:"bytes,4,opt,name=event_types,json=eventTypes,proto3,oneof"`
}

type TimelineQuery_Filter_Time struct {
	Time *TimelineQuery_TimeFilter `protobuf:"bytes,5,opt,name=time,proto3,oneof"`
}

type TimelineQuery_Filter_Id struct {
	Id *TimelineQuery_IDFilter `protobuf:"bytes,6,opt,name=id,proto3,oneof"`
}

type TimelineQuery_Filter_Call struct {
	Call *TimelineQuery_CallFilter `protobuf:"bytes,7,opt,name=call,proto3,oneof"`
}

type TimelineQuery_Filter_Module struct {
	Module *TimelineQuery_ModuleFilter `protobuf:"bytes,8,opt,name=module,proto3,oneof"`
}

type TimelineQuery_Filter_Changesets struct {
	Changesets *TimelineQuery_ChangesetFilter `protobuf:"bytes,9,opt,name=changesets,proto3,oneof"`
}

func (*TimelineQuery_Filter_LogLevel) isTimelineQuery_Filter_Filter() {}

func (*TimelineQuery_Filter_Deployments) isTimelineQuery_Filter_Filter() {}

func (*TimelineQuery_Filter_Requests) isTimelineQuery_Filter_Filter() {}

func (*TimelineQuery_Filter_EventTypes) isTimelineQuery_Filter_Filter() {}

func (*TimelineQuery_Filter_Time) isTimelineQuery_Filter_Filter() {}

func (*TimelineQuery_Filter_Id) isTimelineQuery_Filter_Filter() {}

func (*TimelineQuery_Filter_Call) isTimelineQuery_Filter_Filter() {}

func (*TimelineQuery_Filter_Module) isTimelineQuery_Filter_Filter() {}

func (*TimelineQuery_Filter_Changesets) isTimelineQuery_Filter_Filter() {}

type CreateEventsRequest_EventEntry 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 Entry:
	//
	//	*CreateEventsRequest_EventEntry_Log
	//	*CreateEventsRequest_EventEntry_Call
	//	*CreateEventsRequest_EventEntry_Ingress
	//	*CreateEventsRequest_EventEntry_CronScheduled
	//	*CreateEventsRequest_EventEntry_PubsubPublish
	//	*CreateEventsRequest_EventEntry_PubsubConsume
	//	*CreateEventsRequest_EventEntry_ChangesetCreated
	//	*CreateEventsRequest_EventEntry_ChangesetStateChanged
	//	*CreateEventsRequest_EventEntry_DeploymentRuntime
	Entry         isCreateEventsRequest_EventEntry_Entry `protobuf_oneof:"entry"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateEventsRequest_EventEntry) ProtoMessage() {}

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

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

func (x *CreateEventsRequest_EventEntry) GetEntry() isCreateEventsRequest_EventEntry_Entry {
	if x != nil {
		return x.Entry
	}
	return nil
}

func (x *CreateEventsRequest_EventEntry) GetLog() *LogEvent {
	if x != nil {
		if x, ok := x.Entry.(*CreateEventsRequest_EventEntry_Log); ok {
			return x.Log
		}
	}
	return nil
}

func (x *CreateEventsRequest_EventEntry) GetCall() *CallEvent {
	if x != nil {
		if x, ok := x.Entry.(*CreateEventsRequest_EventEntry_Call); ok {
			return x.Call
		}
	}
	return nil
}

func (x *CreateEventsRequest_EventEntry) GetIngress() *IngressEvent {
	if x != nil {
		if x, ok := x.Entry.(*CreateEventsRequest_EventEntry_Ingress); ok {
			return x.Ingress
		}
	}
	return nil
}

func (x *CreateEventsRequest_EventEntry) GetCronScheduled() *CronScheduledEvent {
	if x != nil {
		if x, ok := x.Entry.(*CreateEventsRequest_EventEntry_CronScheduled); ok {
			return x.CronScheduled
		}
	}
	return nil
}

func (x *CreateEventsRequest_EventEntry) GetPubsubPublish() *PubSubPublishEvent {
	if x != nil {
		if x, ok := x.Entry.(*CreateEventsRequest_EventEntry_PubsubPublish); ok {
			return x.PubsubPublish
		}
	}
	return nil
}

func (x *CreateEventsRequest_EventEntry) GetPubsubConsume() *PubSubConsumeEvent {
	if x != nil {
		if x, ok := x.Entry.(*CreateEventsRequest_EventEntry_PubsubConsume); ok {
			return x.PubsubConsume
		}
	}
	return nil
}

func (x *CreateEventsRequest_EventEntry) GetChangesetCreated() *ChangesetCreatedEvent {
	if x != nil {
		if x, ok := x.Entry.(*CreateEventsRequest_EventEntry_ChangesetCreated); ok {
			return x.ChangesetCreated
		}
	}
	return nil
}

func (x *CreateEventsRequest_EventEntry) GetChangesetStateChanged() *ChangesetStateChangedEvent {
	if x != nil {
		if x, ok := x.Entry.(*CreateEventsRequest_EventEntry_ChangesetStateChanged); ok {
			return x.ChangesetStateChanged
		}
	}
	return nil
}

func (x *CreateEventsRequest_EventEntry) GetDeploymentRuntime() *DeploymentRuntimeEvent {
	if x != nil {
		if x, ok := x.Entry.(*CreateEventsRequest_EventEntry_DeploymentRuntime); ok {
			return x.DeploymentRuntime
		}
	}
	return nil
}

type isCreateEventsRequest_EventEntry_Entry interface {
	isCreateEventsRequest_EventEntry_Entry()
}

type CreateEventsRequest_EventEntry_Log struct {
	Log *LogEvent `protobuf:"bytes,2,opt,name=log,proto3,oneof"`
}

type CreateEventsRequest_EventEntry_Call struct {
	Call *CallEvent `protobuf:"bytes,3,opt,name=call,proto3,oneof"`
}

type CreateEventsRequest_EventEntry_Ingress struct {
	Ingress *IngressEvent `protobuf:"bytes,4,opt,name=ingress,proto3,oneof"`
}

type CreateEventsRequest_EventEntry_CronScheduled struct {
	CronScheduled *CronScheduledEvent `protobuf:"bytes,5,opt,name=cron_scheduled,json=cronScheduled,proto3,oneof"`
}

type CreateEventsRequest_EventEntry_PubsubPublish struct {
	PubsubPublish *PubSubPublishEvent `protobuf:"bytes,6,opt,name=pubsub_publish,json=pubsubPublish,proto3,oneof"`
}

type CreateEventsRequest_EventEntry_PubsubConsume struct {
	PubsubConsume *PubSubConsumeEvent `protobuf:"bytes,7,opt,name=pubsub_consume,json=pubsubConsume,proto3,oneof"`
}

type CreateEventsRequest_EventEntry_ChangesetCreated struct {
	ChangesetCreated *ChangesetCreatedEvent `protobuf:"bytes,8,opt,name=changeset_created,json=changesetCreated,proto3,oneof"`
}

type CreateEventsRequest_EventEntry_ChangesetStateChanged struct {
	ChangesetStateChanged *ChangesetStateChangedEvent `protobuf:"bytes,9,opt,name=changeset_state_changed,json=changesetStateChanged,proto3,oneof"`
}

type CreateEventsRequest_EventEntry_DeploymentRuntime struct {
	DeploymentRuntime *DeploymentRuntimeEvent `protobuf:"bytes,10,opt,name=deployment_runtime,json=deploymentRuntime,proto3,oneof"`
}

func (*CreateEventsRequest_EventEntry_Log) isCreateEventsRequest_EventEntry_Entry() {}

func (*CreateEventsRequest_EventEntry_Call) isCreateEventsRequest_EventEntry_Entry() {}

func (*CreateEventsRequest_EventEntry_Ingress) isCreateEventsRequest_EventEntry_Entry() {}

func (*CreateEventsRequest_EventEntry_CronScheduled) isCreateEventsRequest_EventEntry_Entry() {}

func (*CreateEventsRequest_EventEntry_PubsubPublish) isCreateEventsRequest_EventEntry_Entry() {}

func (*CreateEventsRequest_EventEntry_PubsubConsume) isCreateEventsRequest_EventEntry_Entry() {}

func (*CreateEventsRequest_EventEntry_ChangesetCreated) isCreateEventsRequest_EventEntry_Entry() {}

func (*CreateEventsRequest_EventEntry_ChangesetStateChanged) isCreateEventsRequest_EventEntry_Entry() {
}

func (*CreateEventsRequest_EventEntry_DeploymentRuntime) isCreateEventsRequest_EventEntry_Entry() {}

var File_xyz_block_ftl_timeline_v1_timeline_proto protoreflect.FileDescriptor

const file_xyz_block_ftl_timeline_v1_timeline_proto_rawDesc = "" +
	"\n" +
	"(xyz/block/ftl/timeline/v1/timeline.proto\x12\x19xyz.block.ftl.timeline.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a%xyz/block/ftl/timeline/v1/event.proto\x1a\x1axyz/block/ftl/v1/ftl.proto\"\xc8\x0e\n" +
	"\rTimelineQuery\x12I\n" +
	"\afilters\x18\x01 \x03(\v2/.xyz.block.ftl.timeline.v1.TimelineQuery.FilterR\afilters\x12\x14\n" +
	"\x05limit\x18\x02 \x01(\x05R\x05limit\x12D\n" +
	"\x05order\x18\x03 \x01(\x0e2..xyz.block.ftl.timeline.v1.TimelineQuery.OrderR\x05order\x1aR\n" +
	"\x0eLogLevelFilter\x12@\n" +
	"\tlog_level\x18\x01 \x01(\x0e2#.xyz.block.ftl.timeline.v1.LogLevelR\blogLevel\x1a4\n" +
	"\x10DeploymentFilter\x12 \n" +
	"\vdeployments\x18\x01 \x03(\tR\vdeployments\x1a1\n" +
	"\x0fChangesetFilter\x12\x1e\n" +
	"\n" +
	"changesets\x18\x01 \x03(\tR\n" +
	"changesets\x1a+\n" +
	"\rRequestFilter\x12\x1a\n" +
	"\brequests\x18\x01 \x03(\tR\brequests\x1aX\n" +
	"\x0fEventTypeFilter\x12E\n" +
	"\vevent_types\x18\x01 \x03(\x0e2$.xyz.block.ftl.timeline.v1.EventTypeR\n" +
	"eventTypes\x1a\xaa\x01\n" +
	"\n" +
	"TimeFilter\x12>\n" +
	"\n" +
	"older_than\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\tolderThan\x88\x01\x01\x12>\n" +
	"\n" +
	"newer_than\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampH\x01R\tnewerThan\x88\x01\x01B\r\n" +
	"\v_older_thanB\r\n" +
	"\v_newer_than\x1as\n" +
	"\bIDFilter\x12\"\n" +
	"\n" +
	"lower_than\x18\x01 \x01(\x03H\x00R\tlowerThan\x88\x01\x01\x12$\n" +
	"\vhigher_than\x18\x02 \x01(\x03H\x01R\n" +
	"higherThan\x88\x01\x01B\r\n" +
	"\v_lower_thanB\x0e\n" +
	"\f_higher_than\x1a\x99\x01\n" +
	"\n" +
	"CallFilter\x12\x1f\n" +
	"\vdest_module\x18\x01 \x01(\tR\n" +
	"destModule\x12 \n" +
	"\tdest_verb\x18\x02 \x01(\tH\x00R\bdestVerb\x88\x01\x01\x12(\n" +
	"\rsource_module\x18\x03 \x01(\tH\x01R\fsourceModule\x88\x01\x01B\f\n" +
	"\n" +
	"_dest_verbB\x10\n" +
	"\x0e_source_module\x1aH\n" +
	"\fModuleFilter\x12\x16\n" +
	"\x06module\x18\x01 \x01(\tR\x06module\x12\x17\n" +
	"\x04verb\x18\x02 \x01(\tH\x00R\x04verb\x88\x01\x01B\a\n" +
	"\x05_verb\x1a\x84\x06\n" +
	"\x06Filter\x12V\n" +
	"\tlog_level\x18\x01 \x01(\v27.xyz.block.ftl.timeline.v1.TimelineQuery.LogLevelFilterH\x00R\blogLevel\x12]\n" +
	"\vdeployments\x18\x02 \x01(\v29.xyz.block.ftl.timeline.v1.TimelineQuery.DeploymentFilterH\x00R\vdeployments\x12T\n" +
	"\brequests\x18\x03 \x01(\v26.xyz.block.ftl.timeline.v1.TimelineQuery.RequestFilterH\x00R\brequests\x12[\n" +
	"\vevent_types\x18\x04 \x01(\v28.xyz.block.ftl.timeline.v1.TimelineQuery.EventTypeFilterH\x00R\n" +
	"eventTypes\x12I\n" +
	"\x04time\x18\x05 \x01(\v23.xyz.block.ftl.timeline.v1.TimelineQuery.TimeFilterH\x00R\x04time\x12C\n" +
	"\x02id\x18\x06 \x01(\v21.xyz.block.ftl.timeline.v1.TimelineQuery.IDFilterH\x00R\x02id\x12I\n" +
	"\x04call\x18\a \x01(\v23.xyz.block.ftl.timeline.v1.TimelineQuery.CallFilterH\x00R\x04call\x12O\n" +
	"\x06module\x18\b \x01(\v25.xyz.block.ftl.timeline.v1.TimelineQuery.ModuleFilterH\x00R\x06module\x12Z\n" +
	"\n" +
	"changesets\x18\t \x01(\v28.xyz.block.ftl.timeline.v1.TimelineQuery.ChangesetFilterH\x00R\n" +
	"changesetsB\b\n" +
	"\x06filter\"=\n" +
	"\x05Order\x12\x15\n" +
	"\x11ORDER_UNSPECIFIED\x10\x00\x12\r\n" +
	"\tORDER_ASC\x10\x01\x12\x0e\n" +
	"\n" +
	"ORDER_DESC\x10\x02\"T\n" +
	"\x12GetTimelineRequest\x12>\n" +
	"\x05query\x18\x01 \x01(\v2(.xyz.block.ftl.timeline.v1.TimelineQueryR\x05query\"w\n" +
	"\x13GetTimelineResponse\x128\n" +
	"\x06events\x18\x01 \x03(\v2 .xyz.block.ftl.timeline.v1.EventR\x06events\x12\x1b\n" +
	"\x06cursor\x18\x02 \x01(\x03H\x00R\x06cursor\x88\x01\x01B\t\n" +
	"\a_cursor\"\xb4\x01\n" +
	"\x15StreamTimelineRequest\x12G\n" +
	"\x0fupdate_interval\x18\x01 \x01(\v2\x19.google.protobuf.DurationH\x00R\x0eupdateInterval\x88\x01\x01\x12>\n" +
	"\x05query\x18\x02 \x01(\v2(.xyz.block.ftl.timeline.v1.TimelineQueryR\x05queryB\x12\n" +
	"\x10_update_interval\"R\n" +
	"\x16StreamTimelineResponse\x128\n" +
	"\x06events\x18\x01 \x03(\v2 .xyz.block.ftl.timeline.v1.EventR\x06events\"\xb4\a\n" +
	"\x13CreateEventsRequest\x12S\n" +
	"\aentries\x18\x01 \x03(\v29.xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntryR\aentries\x1a\xc7\x06\n" +
	"\n" +
	"EventEntry\x128\n" +
	"\ttimestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x127\n" +
	"\x03log\x18\x02 \x01(\v2#.xyz.block.ftl.timeline.v1.LogEventH\x00R\x03log\x12:\n" +
	"\x04call\x18\x03 \x01(\v2$.xyz.block.ftl.timeline.v1.CallEventH\x00R\x04call\x12C\n" +
	"\aingress\x18\x04 \x01(\v2'.xyz.block.ftl.timeline.v1.IngressEventH\x00R\aingress\x12V\n" +
	"\x0ecron_scheduled\x18\x05 \x01(\v2-.xyz.block.ftl.timeline.v1.CronScheduledEventH\x00R\rcronScheduled\x12V\n" +
	"\x0epubsub_publish\x18\x06 \x01(\v2-.xyz.block.ftl.timeline.v1.PubSubPublishEventH\x00R\rpubsubPublish\x12V\n" +
	"\x0epubsub_consume\x18\a \x01(\v2-.xyz.block.ftl.timeline.v1.PubSubConsumeEventH\x00R\rpubsubConsume\x12_\n" +
	"\x11changeset_created\x18\b \x01(\v20.xyz.block.ftl.timeline.v1.ChangesetCreatedEventH\x00R\x10changesetCreated\x12o\n" +
	"\x17changeset_state_changed\x18\t \x01(\v25.xyz.block.ftl.timeline.v1.ChangesetStateChangedEventH\x00R\x15changesetStateChanged\x12b\n" +
	"\x12deployment_runtime\x18\n" +
	" \x01(\v21.xyz.block.ftl.timeline.v1.DeploymentRuntimeEventH\x00R\x11deploymentRuntimeB\a\n" +
	"\x05entry\"\x16\n" +
	"\x14CreateEventsResponse\"~\n" +
	"\x16DeleteOldEventsRequest\x12C\n" +
	"\n" +
	"event_type\x18\x01 \x01(\x0e2$.xyz.block.ftl.timeline.v1.EventTypeR\teventType\x12\x1f\n" +
	"\vage_seconds\x18\x02 \x01(\x03R\n" +
	"ageSeconds\">\n" +
	"\x17DeleteOldEventsResponse\x12#\n" +
	"\rdeleted_count\x18\x01 \x01(\x03R\fdeletedCount2\xb8\x04\n" +
	"\x0fTimelineService\x12J\n" +
	"\x04Ping\x12\x1d.xyz.block.ftl.v1.PingRequest\x1a\x1e.xyz.block.ftl.v1.PingResponse\"\x03\x90\x02\x01\x12q\n" +
	"\vGetTimeline\x12-.xyz.block.ftl.timeline.v1.GetTimelineRequest\x1a..xyz.block.ftl.timeline.v1.GetTimelineResponse\"\x03\x90\x02\x01\x12w\n" +
	"\x0eStreamTimeline\x120.xyz.block.ftl.timeline.v1.StreamTimelineRequest\x1a1.xyz.block.ftl.timeline.v1.StreamTimelineResponse0\x01\x12q\n" +
	"\fCreateEvents\x12..xyz.block.ftl.timeline.v1.CreateEventsRequest\x1a/.xyz.block.ftl.timeline.v1.CreateEventsResponse\"\x00\x12z\n" +
	"\x0fDeleteOldEvents\x121.xyz.block.ftl.timeline.v1.DeleteOldEventsRequest\x1a2.xyz.block.ftl.timeline.v1.DeleteOldEventsResponse\"\x00BLP\x01ZHgithub.com/block/ftl/backend/protos/xyz/block/ftl/timeline/v1;timelinepbb\x06proto3"

var (
	file_xyz_block_ftl_timeline_v1_timeline_proto_rawDescOnce sync.Once
	file_xyz_block_ftl_timeline_v1_timeline_proto_rawDescData []byte
)

func file_xyz_block_ftl_timeline_v1_timeline_proto_rawDescGZIP() []byte {
	file_xyz_block_ftl_timeline_v1_timeline_proto_rawDescOnce.Do(func() {
		file_xyz_block_ftl_timeline_v1_timeline_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_xyz_block_ftl_timeline_v1_timeline_proto_rawDesc), len(file_xyz_block_ftl_timeline_v1_timeline_proto_rawDesc)))
	})
	return file_xyz_block_ftl_timeline_v1_timeline_proto_rawDescData
}

var file_xyz_block_ftl_timeline_v1_timeline_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_xyz_block_ftl_timeline_v1_timeline_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_xyz_block_ftl_timeline_v1_timeline_proto_goTypes = []any{
	(TimelineQuery_Order)(0),               // 0: xyz.block.ftl.timeline.v1.TimelineQuery.Order
	(*TimelineQuery)(nil),                  // 1: xyz.block.ftl.timeline.v1.TimelineQuery
	(*GetTimelineRequest)(nil),             // 2: xyz.block.ftl.timeline.v1.GetTimelineRequest
	(*GetTimelineResponse)(nil),            // 3: xyz.block.ftl.timeline.v1.GetTimelineResponse
	(*StreamTimelineRequest)(nil),          // 4: xyz.block.ftl.timeline.v1.StreamTimelineRequest
	(*StreamTimelineResponse)(nil),         // 5: xyz.block.ftl.timeline.v1.StreamTimelineResponse
	(*CreateEventsRequest)(nil),            // 6: xyz.block.ftl.timeline.v1.CreateEventsRequest
	(*CreateEventsResponse)(nil),           // 7: xyz.block.ftl.timeline.v1.CreateEventsResponse
	(*DeleteOldEventsRequest)(nil),         // 8: xyz.block.ftl.timeline.v1.DeleteOldEventsRequest
	(*DeleteOldEventsResponse)(nil),        // 9: xyz.block.ftl.timeline.v1.DeleteOldEventsResponse
	(*TimelineQuery_LogLevelFilter)(nil),   // 10: xyz.block.ftl.timeline.v1.TimelineQuery.LogLevelFilter
	(*TimelineQuery_DeploymentFilter)(nil), // 11: xyz.block.ftl.timeline.v1.TimelineQuery.DeploymentFilter
	(*TimelineQuery_ChangesetFilter)(nil),  // 12: xyz.block.ftl.timeline.v1.TimelineQuery.ChangesetFilter
	(*TimelineQuery_RequestFilter)(nil),    // 13: xyz.block.ftl.timeline.v1.TimelineQuery.RequestFilter
	(*TimelineQuery_EventTypeFilter)(nil),  // 14: xyz.block.ftl.timeline.v1.TimelineQuery.EventTypeFilter
	(*TimelineQuery_TimeFilter)(nil),       // 15: xyz.block.ftl.timeline.v1.TimelineQuery.TimeFilter
	(*TimelineQuery_IDFilter)(nil),         // 16: xyz.block.ftl.timeline.v1.TimelineQuery.IDFilter
	(*TimelineQuery_CallFilter)(nil),       // 17: xyz.block.ftl.timeline.v1.TimelineQuery.CallFilter
	(*TimelineQuery_ModuleFilter)(nil),     // 18: xyz.block.ftl.timeline.v1.TimelineQuery.ModuleFilter
	(*TimelineQuery_Filter)(nil),           // 19: xyz.block.ftl.timeline.v1.TimelineQuery.Filter
	(*CreateEventsRequest_EventEntry)(nil), // 20: xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntry
	(*Event)(nil),                          // 21: xyz.block.ftl.timeline.v1.Event
	(*durationpb.Duration)(nil),            // 22: google.protobuf.Duration
	(EventType)(0),                         // 23: xyz.block.ftl.timeline.v1.EventType
	(LogLevel)(0),                          // 24: xyz.block.ftl.timeline.v1.LogLevel
	(*timestamppb.Timestamp)(nil),          // 25: google.protobuf.Timestamp
	(*LogEvent)(nil),                       // 26: xyz.block.ftl.timeline.v1.LogEvent
	(*CallEvent)(nil),                      // 27: xyz.block.ftl.timeline.v1.CallEvent
	(*IngressEvent)(nil),                   // 28: xyz.block.ftl.timeline.v1.IngressEvent
	(*CronScheduledEvent)(nil),             // 29: xyz.block.ftl.timeline.v1.CronScheduledEvent
	(*PubSubPublishEvent)(nil),             // 30: xyz.block.ftl.timeline.v1.PubSubPublishEvent
	(*PubSubConsumeEvent)(nil),             // 31: xyz.block.ftl.timeline.v1.PubSubConsumeEvent
	(*ChangesetCreatedEvent)(nil),          // 32: xyz.block.ftl.timeline.v1.ChangesetCreatedEvent
	(*ChangesetStateChangedEvent)(nil),     // 33: xyz.block.ftl.timeline.v1.ChangesetStateChangedEvent
	(*DeploymentRuntimeEvent)(nil),         // 34: xyz.block.ftl.timeline.v1.DeploymentRuntimeEvent
	(*v1.PingRequest)(nil),                 // 35: xyz.block.ftl.v1.PingRequest
	(*v1.PingResponse)(nil),                // 36: xyz.block.ftl.v1.PingResponse
}
var file_xyz_block_ftl_timeline_v1_timeline_proto_depIdxs = []int32{
	19, // 0: xyz.block.ftl.timeline.v1.TimelineQuery.filters:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery.Filter
	0,  // 1: xyz.block.ftl.timeline.v1.TimelineQuery.order:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery.Order
	1,  // 2: xyz.block.ftl.timeline.v1.GetTimelineRequest.query:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery
	21, // 3: xyz.block.ftl.timeline.v1.GetTimelineResponse.events:type_name -> xyz.block.ftl.timeline.v1.Event
	22, // 4: xyz.block.ftl.timeline.v1.StreamTimelineRequest.update_interval:type_name -> google.protobuf.Duration
	1,  // 5: xyz.block.ftl.timeline.v1.StreamTimelineRequest.query:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery
	21, // 6: xyz.block.ftl.timeline.v1.StreamTimelineResponse.events:type_name -> xyz.block.ftl.timeline.v1.Event
	20, // 7: xyz.block.ftl.timeline.v1.CreateEventsRequest.entries:type_name -> xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntry
	23, // 8: xyz.block.ftl.timeline.v1.DeleteOldEventsRequest.event_type:type_name -> xyz.block.ftl.timeline.v1.EventType
	24, // 9: xyz.block.ftl.timeline.v1.TimelineQuery.LogLevelFilter.log_level:type_name -> xyz.block.ftl.timeline.v1.LogLevel
	23, // 10: xyz.block.ftl.timeline.v1.TimelineQuery.EventTypeFilter.event_types:type_name -> xyz.block.ftl.timeline.v1.EventType
	25, // 11: xyz.block.ftl.timeline.v1.TimelineQuery.TimeFilter.older_than:type_name -> google.protobuf.Timestamp
	25, // 12: xyz.block.ftl.timeline.v1.TimelineQuery.TimeFilter.newer_than:type_name -> google.protobuf.Timestamp
	10, // 13: xyz.block.ftl.timeline.v1.TimelineQuery.Filter.log_level:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery.LogLevelFilter
	11, // 14: xyz.block.ftl.timeline.v1.TimelineQuery.Filter.deployments:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery.DeploymentFilter
	13, // 15: xyz.block.ftl.timeline.v1.TimelineQuery.Filter.requests:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery.RequestFilter
	14, // 16: xyz.block.ftl.timeline.v1.TimelineQuery.Filter.event_types:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery.EventTypeFilter
	15, // 17: xyz.block.ftl.timeline.v1.TimelineQuery.Filter.time:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery.TimeFilter
	16, // 18: xyz.block.ftl.timeline.v1.TimelineQuery.Filter.id:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery.IDFilter
	17, // 19: xyz.block.ftl.timeline.v1.TimelineQuery.Filter.call:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery.CallFilter
	18, // 20: xyz.block.ftl.timeline.v1.TimelineQuery.Filter.module:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery.ModuleFilter
	12, // 21: xyz.block.ftl.timeline.v1.TimelineQuery.Filter.changesets:type_name -> xyz.block.ftl.timeline.v1.TimelineQuery.ChangesetFilter
	25, // 22: xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntry.timestamp:type_name -> google.protobuf.Timestamp
	26, // 23: xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntry.log:type_name -> xyz.block.ftl.timeline.v1.LogEvent
	27, // 24: xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntry.call:type_name -> xyz.block.ftl.timeline.v1.CallEvent
	28, // 25: xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntry.ingress:type_name -> xyz.block.ftl.timeline.v1.IngressEvent
	29, // 26: xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntry.cron_scheduled:type_name -> xyz.block.ftl.timeline.v1.CronScheduledEvent
	30, // 27: xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntry.pubsub_publish:type_name -> xyz.block.ftl.timeline.v1.PubSubPublishEvent
	31, // 28: xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntry.pubsub_consume:type_name -> xyz.block.ftl.timeline.v1.PubSubConsumeEvent
	32, // 29: xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntry.changeset_created:type_name -> xyz.block.ftl.timeline.v1.ChangesetCreatedEvent
	33, // 30: xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntry.changeset_state_changed:type_name -> xyz.block.ftl.timeline.v1.ChangesetStateChangedEvent
	34, // 31: xyz.block.ftl.timeline.v1.CreateEventsRequest.EventEntry.deployment_runtime:type_name -> xyz.block.ftl.timeline.v1.DeploymentRuntimeEvent
	35, // 32: xyz.block.ftl.timeline.v1.TimelineService.Ping:input_type -> xyz.block.ftl.v1.PingRequest
	2,  // 33: xyz.block.ftl.timeline.v1.TimelineService.GetTimeline:input_type -> xyz.block.ftl.timeline.v1.GetTimelineRequest
	4,  // 34: xyz.block.ftl.timeline.v1.TimelineService.StreamTimeline:input_type -> xyz.block.ftl.timeline.v1.StreamTimelineRequest
	6,  // 35: xyz.block.ftl.timeline.v1.TimelineService.CreateEvents:input_type -> xyz.block.ftl.timeline.v1.CreateEventsRequest
	8,  // 36: xyz.block.ftl.timeline.v1.TimelineService.DeleteOldEvents:input_type -> xyz.block.ftl.timeline.v1.DeleteOldEventsRequest
	36, // 37: xyz.block.ftl.timeline.v1.TimelineService.Ping:output_type -> xyz.block.ftl.v1.PingResponse
	3,  // 38: xyz.block.ftl.timeline.v1.TimelineService.GetTimeline:output_type -> xyz.block.ftl.timeline.v1.GetTimelineResponse
	5,  // 39: xyz.block.ftl.timeline.v1.TimelineService.StreamTimeline:output_type -> xyz.block.ftl.timeline.v1.StreamTimelineResponse
	7,  // 40: xyz.block.ftl.timeline.v1.TimelineService.CreateEvents:output_type -> xyz.block.ftl.timeline.v1.CreateEventsResponse
	9,  // 41: xyz.block.ftl.timeline.v1.TimelineService.DeleteOldEvents:output_type -> xyz.block.ftl.timeline.v1.DeleteOldEventsResponse
	37, // [37:42] is the sub-list for method output_type
	32, // [32:37] is the sub-list for method input_type
	32, // [32:32] is the sub-list for extension type_name
	32, // [32:32] is the sub-list for extension extendee
	0,  // [0:32] is the sub-list for field type_name
}

func init() { file_xyz_block_ftl_timeline_v1_timeline_proto_init() }
func file_xyz_block_ftl_timeline_v1_timeline_proto_init() {
	if File_xyz_block_ftl_timeline_v1_timeline_proto != nil {
		return
	}
	file_xyz_block_ftl_timeline_v1_event_proto_init()
	file_xyz_block_ftl_timeline_v1_timeline_proto_msgTypes[2].OneofWrappers = []any{}
	file_xyz_block_ftl_timeline_v1_timeline_proto_msgTypes[3].OneofWrappers = []any{}
	file_xyz_block_ftl_timeline_v1_timeline_proto_msgTypes[14].OneofWrappers = []any{}
	file_xyz_block_ftl_timeline_v1_timeline_proto_msgTypes[15].OneofWrappers = []any{}
	file_xyz_block_ftl_timeline_v1_timeline_proto_msgTypes[16].OneofWrappers = []any{}
	file_xyz_block_ftl_timeline_v1_timeline_proto_msgTypes[17].OneofWrappers = []any{}
	file_xyz_block_ftl_timeline_v1_timeline_proto_msgTypes[18].OneofWrappers = []any{
		(*TimelineQuery_Filter_LogLevel)(nil),
		(*TimelineQuery_Filter_Deployments)(nil),
		(*TimelineQuery_Filter_Requests)(nil),
		(*TimelineQuery_Filter_EventTypes)(nil),
		(*TimelineQuery_Filter_Time)(nil),
		(*TimelineQuery_Filter_Id)(nil),
		(*TimelineQuery_Filter_Call)(nil),
		(*TimelineQuery_Filter_Module)(nil),
		(*TimelineQuery_Filter_Changesets)(nil),
	}
	file_xyz_block_ftl_timeline_v1_timeline_proto_msgTypes[19].OneofWrappers = []any{
		(*CreateEventsRequest_EventEntry_Log)(nil),
		(*CreateEventsRequest_EventEntry_Call)(nil),
		(*CreateEventsRequest_EventEntry_Ingress)(nil),
		(*CreateEventsRequest_EventEntry_CronScheduled)(nil),
		(*CreateEventsRequest_EventEntry_PubsubPublish)(nil),
		(*CreateEventsRequest_EventEntry_PubsubConsume)(nil),
		(*CreateEventsRequest_EventEntry_ChangesetCreated)(nil),
		(*CreateEventsRequest_EventEntry_ChangesetStateChanged)(nil),
		(*CreateEventsRequest_EventEntry_DeploymentRuntime)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_xyz_block_ftl_timeline_v1_timeline_proto_rawDesc), len(file_xyz_block_ftl_timeline_v1_timeline_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   20,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_xyz_block_ftl_timeline_v1_timeline_proto_goTypes,
		DependencyIndexes: file_xyz_block_ftl_timeline_v1_timeline_proto_depIdxs,
		EnumInfos:         file_xyz_block_ftl_timeline_v1_timeline_proto_enumTypes,
		MessageInfos:      file_xyz_block_ftl_timeline_v1_timeline_proto_msgTypes,
	}.Build()
	File_xyz_block_ftl_timeline_v1_timeline_proto = out.File
	file_xyz_block_ftl_timeline_v1_timeline_proto_goTypes = nil
	file_xyz_block_ftl_timeline_v1_timeline_proto_depIdxs = nil
}
