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

package persist

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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

// StreamType indicates stdout or stderr
type StreamType int32

const (
	StreamType_STREAM_TYPE_UNSPECIFIED StreamType = 0
	StreamType_STREAM_TYPE_STDOUT      StreamType = 1
	StreamType_STREAM_TYPE_STDERR      StreamType = 2
)

// Enum value maps for StreamType.
var (
	StreamType_name = map[int32]string{
		0: "STREAM_TYPE_UNSPECIFIED",
		1: "STREAM_TYPE_STDOUT",
		2: "STREAM_TYPE_STDERR",
	}
	StreamType_value = map[string]int32{
		"STREAM_TYPE_UNSPECIFIED": 0,
		"STREAM_TYPE_STDOUT":      1,
		"STREAM_TYPE_STDERR":      2,
	}
)

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

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

func (StreamType) Descriptor() protoreflect.EnumDescriptor {
	return file_persist_proto_enumTypes[0].Descriptor()
}

func (StreamType) Type() protoreflect.EnumType {
	return &file_persist_proto_enumTypes[0]
}

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

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

// PingRequest is a health check request (empty)
type PingRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PingRequest) ProtoMessage() {}

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

// PingResponse indicates persist is healthy and responsive
type PingResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Healthy       bool                   `protobuf:"varint,1,opt,name=healthy,proto3" json:"healthy,omitempty"`
	Timestamp     int64                  `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Unix nanoseconds when ping was processed
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PingResponse) ProtoMessage() {}

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

func (x *PingResponse) GetHealthy() bool {
	if x != nil {
		return x.Healthy
	}
	return false
}

func (x *PingResponse) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

// QueryLogsRequest specifies parameters for log queries
type QueryLogsRequest struct {
	state   protoimpl.MessageState `protogen:"open.v1"`
	JobUuid string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	NodeId  string                 `protobuf:"bytes,7,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` // Node ID where the job ran (for CloudWatch log group lookup)
	// Stream filter
	Stream StreamType `protobuf:"varint,2,opt,name=stream,proto3,enum=joblet.persist.StreamType" json:"stream,omitempty"` // STDOUT, STDERR, or both (UNSPECIFIED)
	// Time range (optional)
	StartTime int64 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // Unix nanoseconds
	EndTime   int64 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`       // Unix nanoseconds
	// Pagination
	Limit         int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"`   // Max lines to return (0 = all)
	Offset        int32 `protobuf:"varint,6,opt,name=offset,proto3" json:"offset,omitempty"` // Skip lines
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*QueryLogsRequest) ProtoMessage() {}

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

func (x *QueryLogsRequest) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *QueryLogsRequest) GetNodeId() string {
	if x != nil {
		return x.NodeId
	}
	return ""
}

func (x *QueryLogsRequest) GetStream() StreamType {
	if x != nil {
		return x.Stream
	}
	return StreamType_STREAM_TYPE_UNSPECIFIED
}

func (x *QueryLogsRequest) GetStartTime() int64 {
	if x != nil {
		return x.StartTime
	}
	return 0
}

func (x *QueryLogsRequest) GetEndTime() int64 {
	if x != nil {
		return x.EndTime
	}
	return 0
}

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

func (x *QueryLogsRequest) GetOffset() int32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

// QueryMetricsRequest specifies parameters for metrics queries
type QueryMetricsRequest struct {
	state   protoimpl.MessageState `protogen:"open.v1"`
	JobUuid string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	NodeId  string                 `protobuf:"bytes,6,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` // Node ID where the job ran (for CloudWatch log group lookup)
	// Time range (optional)
	StartTime int64 `protobuf:"varint,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // Unix nanoseconds
	EndTime   int64 `protobuf:"varint,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`       // Unix nanoseconds
	// Pagination
	Limit         int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"`   // Max samples to return (0 = all)
	Offset        int32 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` // Skip samples
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*QueryMetricsRequest) ProtoMessage() {}

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

func (x *QueryMetricsRequest) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *QueryMetricsRequest) GetNodeId() string {
	if x != nil {
		return x.NodeId
	}
	return ""
}

func (x *QueryMetricsRequest) GetStartTime() int64 {
	if x != nil {
		return x.StartTime
	}
	return 0
}

func (x *QueryMetricsRequest) GetEndTime() int64 {
	if x != nil {
		return x.EndTime
	}
	return 0
}

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

func (x *QueryMetricsRequest) GetOffset() int32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

// LogLine represents a single log line from a job
type LogLine struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	JobUuid       string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	Stream        StreamType             `protobuf:"varint,2,opt,name=stream,proto3,enum=joblet.persist.StreamType" json:"stream,omitempty"` // stdout or stderr
	Timestamp     int64                  `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`                          // Unix nanoseconds
	Sequence      uint64                 `protobuf:"varint,4,opt,name=sequence,proto3" json:"sequence,omitempty"`                            // Sequence number
	Content       []byte                 `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"`                               // Log line content
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LogLine) ProtoMessage() {}

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

func (x *LogLine) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *LogLine) GetStream() StreamType {
	if x != nil {
		return x.Stream
	}
	return StreamType_STREAM_TYPE_UNSPECIFIED
}

func (x *LogLine) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *LogLine) GetSequence() uint64 {
	if x != nil {
		return x.Sequence
	}
	return 0
}

func (x *LogLine) GetContent() []byte {
	if x != nil {
		return x.Content
	}
	return nil
}

// Metric represents a metrics sample from a job
type Metric struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	JobUuid       string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	Timestamp     int64                  `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Unix nanoseconds
	Sequence      uint64                 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"`   // Sequence number
	Data          *MetricData            `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`            // Metric values
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Metric) ProtoMessage() {}

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

func (x *Metric) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *Metric) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *Metric) GetSequence() uint64 {
	if x != nil {
		return x.Sequence
	}
	return 0
}

func (x *Metric) GetData() *MetricData {
	if x != nil {
		return x.Data
	}
	return nil
}

// MetricData contains the actual metric values
type MetricData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CpuUsage      float64                `protobuf:"fixed64,1,opt,name=cpu_usage,json=cpuUsage,proto3" json:"cpu_usage,omitempty"`         // CPU usage (0.0 - cores)
	MemoryUsage   int64                  `protobuf:"varint,2,opt,name=memory_usage,json=memoryUsage,proto3" json:"memory_usage,omitempty"` // Memory usage in bytes
	GpuUsage      float64                `protobuf:"fixed64,3,opt,name=gpu_usage,json=gpuUsage,proto3" json:"gpu_usage,omitempty"`         // GPU usage (0.0 - 1.0)
	DiskIo        *DiskIO                `protobuf:"bytes,4,opt,name=disk_io,json=diskIo,proto3" json:"disk_io,omitempty"`                 // Disk I/O statistics
	NetworkIo     *NetworkIO             `protobuf:"bytes,5,opt,name=network_io,json=networkIo,proto3" json:"network_io,omitempty"`        // Network I/O statistics
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MetricData) ProtoMessage() {}

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

func (x *MetricData) GetCpuUsage() float64 {
	if x != nil {
		return x.CpuUsage
	}
	return 0
}

func (x *MetricData) GetMemoryUsage() int64 {
	if x != nil {
		return x.MemoryUsage
	}
	return 0
}

func (x *MetricData) GetGpuUsage() float64 {
	if x != nil {
		return x.GpuUsage
	}
	return 0
}

func (x *MetricData) GetDiskIo() *DiskIO {
	if x != nil {
		return x.DiskIo
	}
	return nil
}

func (x *MetricData) GetNetworkIo() *NetworkIO {
	if x != nil {
		return x.NetworkIo
	}
	return nil
}

// DiskIO represents disk I/O statistics
type DiskIO struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ReadBytes     int64                  `protobuf:"varint,1,opt,name=read_bytes,json=readBytes,proto3" json:"read_bytes,omitempty"`
	WriteBytes    int64                  `protobuf:"varint,2,opt,name=write_bytes,json=writeBytes,proto3" json:"write_bytes,omitempty"`
	ReadOps       int64                  `protobuf:"varint,3,opt,name=read_ops,json=readOps,proto3" json:"read_ops,omitempty"`
	WriteOps      int64                  `protobuf:"varint,4,opt,name=write_ops,json=writeOps,proto3" json:"write_ops,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DiskIO) ProtoMessage() {}

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

func (x *DiskIO) GetReadBytes() int64 {
	if x != nil {
		return x.ReadBytes
	}
	return 0
}

func (x *DiskIO) GetWriteBytes() int64 {
	if x != nil {
		return x.WriteBytes
	}
	return 0
}

func (x *DiskIO) GetReadOps() int64 {
	if x != nil {
		return x.ReadOps
	}
	return 0
}

func (x *DiskIO) GetWriteOps() int64 {
	if x != nil {
		return x.WriteOps
	}
	return 0
}

// NetworkIO represents network I/O statistics
type NetworkIO struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RxBytes       int64                  `protobuf:"varint,1,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"`
	TxBytes       int64                  `protobuf:"varint,2,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"`
	RxPackets     int64                  `protobuf:"varint,3,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"`
	TxPackets     int64                  `protobuf:"varint,4,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*NetworkIO) ProtoMessage() {}

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

func (x *NetworkIO) GetRxBytes() int64 {
	if x != nil {
		return x.RxBytes
	}
	return 0
}

func (x *NetworkIO) GetTxBytes() int64 {
	if x != nil {
		return x.TxBytes
	}
	return 0
}

func (x *NetworkIO) GetRxPackets() int64 {
	if x != nil {
		return x.RxPackets
	}
	return 0
}

func (x *NetworkIO) GetTxPackets() int64 {
	if x != nil {
		return x.TxPackets
	}
	return 0
}

// DeleteJobRequest specifies the job to delete from persist storage
type DeleteJobRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	JobUuid       string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	NodeId        string                 `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` // Node ID where the job ran (for CloudWatch log group lookup)
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteJobRequest) ProtoMessage() {}

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

func (x *DeleteJobRequest) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *DeleteJobRequest) GetNodeId() string {
	if x != nil {
		return x.NodeId
	}
	return ""
}

// DeleteJobResponse indicates the result of the deletion
type DeleteJobResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Success       bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Message       string                 `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteJobResponse) ProtoMessage() {}

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

func (x *DeleteJobResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *DeleteJobResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// QueryTelemetryRequest specifies parameters for telemetry event queries
type QueryTelemetryRequest struct {
	state   protoimpl.MessageState `protogen:"open.v1"`
	JobUuid string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	NodeId  string                 `protobuf:"bytes,6,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` // Node ID where the job ran (for CloudWatch log group lookup)
	// Time range (optional)
	StartTime int64 `protobuf:"varint,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // Unix nanoseconds
	EndTime   int64 `protobuf:"varint,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`       // Unix nanoseconds
	// Pagination
	Limit         int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"`   // Max events to return (0 = all)
	Offset        int32 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` // Skip events
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*QueryTelemetryRequest) ProtoMessage() {}

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

func (x *QueryTelemetryRequest) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *QueryTelemetryRequest) GetNodeId() string {
	if x != nil {
		return x.NodeId
	}
	return ""
}

func (x *QueryTelemetryRequest) GetStartTime() int64 {
	if x != nil {
		return x.StartTime
	}
	return 0
}

func (x *QueryTelemetryRequest) GetEndTime() int64 {
	if x != nil {
		return x.EndTime
	}
	return 0
}

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

func (x *QueryTelemetryRequest) GetOffset() int32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

// ExecEvent represents a process execution event from eBPF telematics
type ExecEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	JobUuid       string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	Timestamp     int64                  `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Unix nanoseconds
	Sequence      uint64                 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"`   // Sequence number
	Pid           uint32                 `protobuf:"varint,4,opt,name=pid,proto3" json:"pid,omitempty"`             // Process ID
	Ppid          uint32                 `protobuf:"varint,5,opt,name=ppid,proto3" json:"ppid,omitempty"`           // Parent process ID
	Uid           uint32                 `protobuf:"varint,6,opt,name=uid,proto3" json:"uid,omitempty"`             // User ID
	Gid           uint32                 `protobuf:"varint,7,opt,name=gid,proto3" json:"gid,omitempty"`             // Group ID
	Comm          string                 `protobuf:"bytes,8,opt,name=comm,proto3" json:"comm,omitempty"`            // Process command name (max 16 chars)
	Filename      string                 `protobuf:"bytes,9,opt,name=filename,proto3" json:"filename,omitempty"`    // Full path to executable
	Args          []string               `protobuf:"bytes,10,rep,name=args,proto3" json:"args,omitempty"`           // Command arguments
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ExecEvent) ProtoMessage() {}

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

func (x *ExecEvent) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *ExecEvent) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *ExecEvent) GetSequence() uint64 {
	if x != nil {
		return x.Sequence
	}
	return 0
}

func (x *ExecEvent) GetPid() uint32 {
	if x != nil {
		return x.Pid
	}
	return 0
}

func (x *ExecEvent) GetPpid() uint32 {
	if x != nil {
		return x.Ppid
	}
	return 0
}

func (x *ExecEvent) GetUid() uint32 {
	if x != nil {
		return x.Uid
	}
	return 0
}

func (x *ExecEvent) GetGid() uint32 {
	if x != nil {
		return x.Gid
	}
	return 0
}

func (x *ExecEvent) GetComm() string {
	if x != nil {
		return x.Comm
	}
	return ""
}

func (x *ExecEvent) GetFilename() string {
	if x != nil {
		return x.Filename
	}
	return ""
}

func (x *ExecEvent) GetArgs() []string {
	if x != nil {
		return x.Args
	}
	return nil
}

// ConnectEvent represents a network connection event from eBPF telematics
type ConnectEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	JobUuid       string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	Timestamp     int64                  `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`            // Unix nanoseconds
	Sequence      uint64                 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"`              // Sequence number
	Pid           uint32                 `protobuf:"varint,4,opt,name=pid,proto3" json:"pid,omitempty"`                        // Process ID
	Comm          string                 `protobuf:"bytes,5,opt,name=comm,proto3" json:"comm,omitempty"`                       // Process command name
	SrcAddr       string                 `protobuf:"bytes,6,opt,name=src_addr,json=srcAddr,proto3" json:"src_addr,omitempty"`  // Source IP address
	SrcPort       uint32                 `protobuf:"varint,7,opt,name=src_port,json=srcPort,proto3" json:"src_port,omitempty"` // Source port
	DstAddr       string                 `protobuf:"bytes,8,opt,name=dst_addr,json=dstAddr,proto3" json:"dst_addr,omitempty"`  // Destination IP address
	DstPort       uint32                 `protobuf:"varint,9,opt,name=dst_port,json=dstPort,proto3" json:"dst_port,omitempty"` // Destination port
	Protocol      string                 `protobuf:"bytes,10,opt,name=protocol,proto3" json:"protocol,omitempty"`              // Protocol (TCP, UDP)
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ConnectEvent) ProtoMessage() {}

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

func (x *ConnectEvent) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *ConnectEvent) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *ConnectEvent) GetSequence() uint64 {
	if x != nil {
		return x.Sequence
	}
	return 0
}

func (x *ConnectEvent) GetPid() uint32 {
	if x != nil {
		return x.Pid
	}
	return 0
}

func (x *ConnectEvent) GetComm() string {
	if x != nil {
		return x.Comm
	}
	return ""
}

func (x *ConnectEvent) GetSrcAddr() string {
	if x != nil {
		return x.SrcAddr
	}
	return ""
}

func (x *ConnectEvent) GetSrcPort() uint32 {
	if x != nil {
		return x.SrcPort
	}
	return 0
}

func (x *ConnectEvent) GetDstAddr() string {
	if x != nil {
		return x.DstAddr
	}
	return ""
}

func (x *ConnectEvent) GetDstPort() uint32 {
	if x != nil {
		return x.DstPort
	}
	return 0
}

func (x *ConnectEvent) GetProtocol() string {
	if x != nil {
		return x.Protocol
	}
	return ""
}

// MmapEvent represents a memory mapping event from eBPF telematics
type MmapEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	JobUuid       string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	Timestamp     int64                  `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Unix nanoseconds
	Sequence      uint64                 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"`   // Sequence number
	Pid           uint32                 `protobuf:"varint,4,opt,name=pid,proto3" json:"pid,omitempty"`             // Process ID
	Comm          string                 `protobuf:"bytes,5,opt,name=comm,proto3" json:"comm,omitempty"`            // Process command name
	Addr          uint64                 `protobuf:"varint,6,opt,name=addr,proto3" json:"addr,omitempty"`           // Memory address
	Length        uint64                 `protobuf:"varint,7,opt,name=length,proto3" json:"length,omitempty"`       // Mapping length
	Prot          uint32                 `protobuf:"varint,8,opt,name=prot,proto3" json:"prot,omitempty"`           // Protection flags
	Flags         uint32                 `protobuf:"varint,9,opt,name=flags,proto3" json:"flags,omitempty"`         // Map flags
	Filename      string                 `protobuf:"bytes,10,opt,name=filename,proto3" json:"filename,omitempty"`   // Mapped file (if file-backed)
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MmapEvent) ProtoMessage() {}

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

func (x *MmapEvent) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *MmapEvent) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *MmapEvent) GetSequence() uint64 {
	if x != nil {
		return x.Sequence
	}
	return 0
}

func (x *MmapEvent) GetPid() uint32 {
	if x != nil {
		return x.Pid
	}
	return 0
}

func (x *MmapEvent) GetComm() string {
	if x != nil {
		return x.Comm
	}
	return ""
}

func (x *MmapEvent) GetAddr() uint64 {
	if x != nil {
		return x.Addr
	}
	return 0
}

func (x *MmapEvent) GetLength() uint64 {
	if x != nil {
		return x.Length
	}
	return 0
}

func (x *MmapEvent) GetProt() uint32 {
	if x != nil {
		return x.Prot
	}
	return 0
}

func (x *MmapEvent) GetFlags() uint32 {
	if x != nil {
		return x.Flags
	}
	return 0
}

func (x *MmapEvent) GetFilename() string {
	if x != nil {
		return x.Filename
	}
	return ""
}

// MprotectEvent represents a memory protection change event from eBPF telematics
type MprotectEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	JobUuid       string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	Timestamp     int64                  `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Unix nanoseconds
	Sequence      uint64                 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"`   // Sequence number
	Pid           uint32                 `protobuf:"varint,4,opt,name=pid,proto3" json:"pid,omitempty"`             // Process ID
	Comm          string                 `protobuf:"bytes,5,opt,name=comm,proto3" json:"comm,omitempty"`            // Process command name
	Addr          uint64                 `protobuf:"varint,6,opt,name=addr,proto3" json:"addr,omitempty"`           // Memory address
	Length        uint64                 `protobuf:"varint,7,opt,name=length,proto3" json:"length,omitempty"`       // Region length
	Prot          uint32                 `protobuf:"varint,8,opt,name=prot,proto3" json:"prot,omitempty"`           // New protection flags
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MprotectEvent) ProtoMessage() {}

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

func (x *MprotectEvent) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *MprotectEvent) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *MprotectEvent) GetSequence() uint64 {
	if x != nil {
		return x.Sequence
	}
	return 0
}

func (x *MprotectEvent) GetPid() uint32 {
	if x != nil {
		return x.Pid
	}
	return 0
}

func (x *MprotectEvent) GetComm() string {
	if x != nil {
		return x.Comm
	}
	return ""
}

func (x *MprotectEvent) GetAddr() uint64 {
	if x != nil {
		return x.Addr
	}
	return 0
}

func (x *MprotectEvent) GetLength() uint64 {
	if x != nil {
		return x.Length
	}
	return 0
}

func (x *MprotectEvent) GetProt() uint32 {
	if x != nil {
		return x.Prot
	}
	return 0
}

// FileEvent represents a file operation event from eBPF telematics
type FileEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	JobUuid       string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	Timestamp     int64                  `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Unix nanoseconds
	Sequence      uint64                 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"`   // Sequence number
	Pid           uint32                 `protobuf:"varint,4,opt,name=pid,proto3" json:"pid,omitempty"`             // Process ID
	Comm          string                 `protobuf:"bytes,5,opt,name=comm,proto3" json:"comm,omitempty"`            // Process command name
	Path          string                 `protobuf:"bytes,6,opt,name=path,proto3" json:"path,omitempty"`            // File path
	Operation     string                 `protobuf:"bytes,7,opt,name=operation,proto3" json:"operation,omitempty"`  // Operation type (open, read, write, etc.)
	Bytes         int64                  `protobuf:"varint,8,opt,name=bytes,proto3" json:"bytes,omitempty"`         // Bytes read/written
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FileEvent) ProtoMessage() {}

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

func (x *FileEvent) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *FileEvent) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *FileEvent) GetSequence() uint64 {
	if x != nil {
		return x.Sequence
	}
	return 0
}

func (x *FileEvent) GetPid() uint32 {
	if x != nil {
		return x.Pid
	}
	return 0
}

func (x *FileEvent) GetComm() string {
	if x != nil {
		return x.Comm
	}
	return ""
}

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

func (x *FileEvent) GetOperation() string {
	if x != nil {
		return x.Operation
	}
	return ""
}

func (x *FileEvent) GetBytes() int64 {
	if x != nil {
		return x.Bytes
	}
	return 0
}

// AcceptEvent represents an incoming network connection event from eBPF telematics
type AcceptEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	JobUuid       string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	Timestamp     int64                  `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`            // Unix nanoseconds
	Sequence      uint64                 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"`              // Sequence number
	Pid           uint32                 `protobuf:"varint,4,opt,name=pid,proto3" json:"pid,omitempty"`                        // Process ID
	Comm          string                 `protobuf:"bytes,5,opt,name=comm,proto3" json:"comm,omitempty"`                       // Process command name
	SrcAddr       string                 `protobuf:"bytes,6,opt,name=src_addr,json=srcAddr,proto3" json:"src_addr,omitempty"`  // Source IP address (remote client)
	SrcPort       uint32                 `protobuf:"varint,7,opt,name=src_port,json=srcPort,proto3" json:"src_port,omitempty"` // Source port
	DstAddr       string                 `protobuf:"bytes,8,opt,name=dst_addr,json=dstAddr,proto3" json:"dst_addr,omitempty"`  // Destination IP address (local server)
	DstPort       uint32                 `protobuf:"varint,9,opt,name=dst_port,json=dstPort,proto3" json:"dst_port,omitempty"` // Destination port
	Protocol      string                 `protobuf:"bytes,10,opt,name=protocol,proto3" json:"protocol,omitempty"`              // Protocol (TCP)
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AcceptEvent) ProtoMessage() {}

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

func (x *AcceptEvent) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *AcceptEvent) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *AcceptEvent) GetSequence() uint64 {
	if x != nil {
		return x.Sequence
	}
	return 0
}

func (x *AcceptEvent) GetPid() uint32 {
	if x != nil {
		return x.Pid
	}
	return 0
}

func (x *AcceptEvent) GetComm() string {
	if x != nil {
		return x.Comm
	}
	return ""
}

func (x *AcceptEvent) GetSrcAddr() string {
	if x != nil {
		return x.SrcAddr
	}
	return ""
}

func (x *AcceptEvent) GetSrcPort() uint32 {
	if x != nil {
		return x.SrcPort
	}
	return 0
}

func (x *AcceptEvent) GetDstAddr() string {
	if x != nil {
		return x.DstAddr
	}
	return ""
}

func (x *AcceptEvent) GetDstPort() uint32 {
	if x != nil {
		return x.DstPort
	}
	return 0
}

func (x *AcceptEvent) GetProtocol() string {
	if x != nil {
		return x.Protocol
	}
	return ""
}

// SocketDataEvent represents socket data transfer event from eBPF telematics
type SocketDataEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	JobUuid       string                 `protobuf:"bytes,1,opt,name=job_uuid,json=jobUuid,proto3" json:"job_uuid,omitempty"`
	Timestamp     int64                  `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`            // Unix nanoseconds
	Sequence      uint64                 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"`              // Sequence number
	Pid           uint32                 `protobuf:"varint,4,opt,name=pid,proto3" json:"pid,omitempty"`                        // Process ID
	Comm          string                 `protobuf:"bytes,5,opt,name=comm,proto3" json:"comm,omitempty"`                       // Process command name
	Direction     string                 `protobuf:"bytes,6,opt,name=direction,proto3" json:"direction,omitempty"`             // Direction (send, recv)
	DstAddr       string                 `protobuf:"bytes,7,opt,name=dst_addr,json=dstAddr,proto3" json:"dst_addr,omitempty"`  // Remote address
	DstPort       uint32                 `protobuf:"varint,8,opt,name=dst_port,json=dstPort,proto3" json:"dst_port,omitempty"` // Remote port
	Bytes         int64                  `protobuf:"varint,9,opt,name=bytes,proto3" json:"bytes,omitempty"`                    // Bytes transferred
	Protocol      string                 `protobuf:"bytes,10,opt,name=protocol,proto3" json:"protocol,omitempty"`              // Protocol (TCP, UDP)
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SocketDataEvent) ProtoMessage() {}

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

func (x *SocketDataEvent) GetJobUuid() string {
	if x != nil {
		return x.JobUuid
	}
	return ""
}

func (x *SocketDataEvent) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *SocketDataEvent) GetSequence() uint64 {
	if x != nil {
		return x.Sequence
	}
	return 0
}

func (x *SocketDataEvent) GetPid() uint32 {
	if x != nil {
		return x.Pid
	}
	return 0
}

func (x *SocketDataEvent) GetComm() string {
	if x != nil {
		return x.Comm
	}
	return ""
}

func (x *SocketDataEvent) GetDirection() string {
	if x != nil {
		return x.Direction
	}
	return ""
}

func (x *SocketDataEvent) GetDstAddr() string {
	if x != nil {
		return x.DstAddr
	}
	return ""
}

func (x *SocketDataEvent) GetDstPort() uint32 {
	if x != nil {
		return x.DstPort
	}
	return 0
}

func (x *SocketDataEvent) GetBytes() int64 {
	if x != nil {
		return x.Bytes
	}
	return 0
}

func (x *SocketDataEvent) GetProtocol() string {
	if x != nil {
		return x.Protocol
	}
	return ""
}

var File_persist_proto protoreflect.FileDescriptor

const file_persist_proto_rawDesc = "" +
	"\n" +
	"\rpersist.proto\x12\x0ejoblet.persist\"\r\n" +
	"\vPingRequest\"F\n" +
	"\fPingResponse\x12\x18\n" +
	"\ahealthy\x18\x01 \x01(\bR\ahealthy\x12\x1c\n" +
	"\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\"\xe2\x01\n" +
	"\x10QueryLogsRequest\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x12\x17\n" +
	"\anode_id\x18\a \x01(\tR\x06nodeId\x122\n" +
	"\x06stream\x18\x02 \x01(\x0e2\x1a.joblet.persist.StreamTypeR\x06stream\x12\x1d\n" +
	"\n" +
	"start_time\x18\x03 \x01(\x03R\tstartTime\x12\x19\n" +
	"\bend_time\x18\x04 \x01(\x03R\aendTime\x12\x14\n" +
	"\x05limit\x18\x05 \x01(\x05R\x05limit\x12\x16\n" +
	"\x06offset\x18\x06 \x01(\x05R\x06offset\"\xb1\x01\n" +
	"\x13QueryMetricsRequest\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x12\x17\n" +
	"\anode_id\x18\x06 \x01(\tR\x06nodeId\x12\x1d\n" +
	"\n" +
	"start_time\x18\x02 \x01(\x03R\tstartTime\x12\x19\n" +
	"\bend_time\x18\x03 \x01(\x03R\aendTime\x12\x14\n" +
	"\x05limit\x18\x04 \x01(\x05R\x05limit\x12\x16\n" +
	"\x06offset\x18\x05 \x01(\x05R\x06offset\"\xac\x01\n" +
	"\aLogLine\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x122\n" +
	"\x06stream\x18\x02 \x01(\x0e2\x1a.joblet.persist.StreamTypeR\x06stream\x12\x1c\n" +
	"\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\x12\x1a\n" +
	"\bsequence\x18\x04 \x01(\x04R\bsequence\x12\x18\n" +
	"\acontent\x18\x05 \x01(\fR\acontent\"\x8d\x01\n" +
	"\x06Metric\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x12\x1c\n" +
	"\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x1a\n" +
	"\bsequence\x18\x03 \x01(\x04R\bsequence\x12.\n" +
	"\x04data\x18\x04 \x01(\v2\x1a.joblet.persist.MetricDataR\x04data\"\xd4\x01\n" +
	"\n" +
	"MetricData\x12\x1b\n" +
	"\tcpu_usage\x18\x01 \x01(\x01R\bcpuUsage\x12!\n" +
	"\fmemory_usage\x18\x02 \x01(\x03R\vmemoryUsage\x12\x1b\n" +
	"\tgpu_usage\x18\x03 \x01(\x01R\bgpuUsage\x12/\n" +
	"\adisk_io\x18\x04 \x01(\v2\x16.joblet.persist.DiskIOR\x06diskIo\x128\n" +
	"\n" +
	"network_io\x18\x05 \x01(\v2\x19.joblet.persist.NetworkIOR\tnetworkIo\"\x80\x01\n" +
	"\x06DiskIO\x12\x1d\n" +
	"\n" +
	"read_bytes\x18\x01 \x01(\x03R\treadBytes\x12\x1f\n" +
	"\vwrite_bytes\x18\x02 \x01(\x03R\n" +
	"writeBytes\x12\x19\n" +
	"\bread_ops\x18\x03 \x01(\x03R\areadOps\x12\x1b\n" +
	"\twrite_ops\x18\x04 \x01(\x03R\bwriteOps\"\x7f\n" +
	"\tNetworkIO\x12\x19\n" +
	"\brx_bytes\x18\x01 \x01(\x03R\arxBytes\x12\x19\n" +
	"\btx_bytes\x18\x02 \x01(\x03R\atxBytes\x12\x1d\n" +
	"\n" +
	"rx_packets\x18\x03 \x01(\x03R\trxPackets\x12\x1d\n" +
	"\n" +
	"tx_packets\x18\x04 \x01(\x03R\ttxPackets\"F\n" +
	"\x10DeleteJobRequest\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x12\x17\n" +
	"\anode_id\x18\x02 \x01(\tR\x06nodeId\"G\n" +
	"\x11DeleteJobResponse\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" +
	"\amessage\x18\x02 \x01(\tR\amessage\"\xb3\x01\n" +
	"\x15QueryTelemetryRequest\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x12\x17\n" +
	"\anode_id\x18\x06 \x01(\tR\x06nodeId\x12\x1d\n" +
	"\n" +
	"start_time\x18\x02 \x01(\x03R\tstartTime\x12\x19\n" +
	"\bend_time\x18\x03 \x01(\x03R\aendTime\x12\x14\n" +
	"\x05limit\x18\x04 \x01(\x05R\x05limit\x12\x16\n" +
	"\x06offset\x18\x05 \x01(\x05R\x06offset\"\xee\x01\n" +
	"\tExecEvent\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x12\x1c\n" +
	"\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x1a\n" +
	"\bsequence\x18\x03 \x01(\x04R\bsequence\x12\x10\n" +
	"\x03pid\x18\x04 \x01(\rR\x03pid\x12\x12\n" +
	"\x04ppid\x18\x05 \x01(\rR\x04ppid\x12\x10\n" +
	"\x03uid\x18\x06 \x01(\rR\x03uid\x12\x10\n" +
	"\x03gid\x18\a \x01(\rR\x03gid\x12\x12\n" +
	"\x04comm\x18\b \x01(\tR\x04comm\x12\x1a\n" +
	"\bfilename\x18\t \x01(\tR\bfilename\x12\x12\n" +
	"\x04args\x18\n" +
	" \x03(\tR\x04args\"\x91\x02\n" +
	"\fConnectEvent\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x12\x1c\n" +
	"\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x1a\n" +
	"\bsequence\x18\x03 \x01(\x04R\bsequence\x12\x10\n" +
	"\x03pid\x18\x04 \x01(\rR\x03pid\x12\x12\n" +
	"\x04comm\x18\x05 \x01(\tR\x04comm\x12\x19\n" +
	"\bsrc_addr\x18\x06 \x01(\tR\asrcAddr\x12\x19\n" +
	"\bsrc_port\x18\a \x01(\rR\asrcPort\x12\x19\n" +
	"\bdst_addr\x18\b \x01(\tR\adstAddr\x12\x19\n" +
	"\bdst_port\x18\t \x01(\rR\adstPort\x12\x1a\n" +
	"\bprotocol\x18\n" +
	" \x01(\tR\bprotocol\"\xf8\x01\n" +
	"\tMmapEvent\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x12\x1c\n" +
	"\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x1a\n" +
	"\bsequence\x18\x03 \x01(\x04R\bsequence\x12\x10\n" +
	"\x03pid\x18\x04 \x01(\rR\x03pid\x12\x12\n" +
	"\x04comm\x18\x05 \x01(\tR\x04comm\x12\x12\n" +
	"\x04addr\x18\x06 \x01(\x04R\x04addr\x12\x16\n" +
	"\x06length\x18\a \x01(\x04R\x06length\x12\x12\n" +
	"\x04prot\x18\b \x01(\rR\x04prot\x12\x14\n" +
	"\x05flags\x18\t \x01(\rR\x05flags\x12\x1a\n" +
	"\bfilename\x18\n" +
	" \x01(\tR\bfilename\"\xca\x01\n" +
	"\rMprotectEvent\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x12\x1c\n" +
	"\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x1a\n" +
	"\bsequence\x18\x03 \x01(\x04R\bsequence\x12\x10\n" +
	"\x03pid\x18\x04 \x01(\rR\x03pid\x12\x12\n" +
	"\x04comm\x18\x05 \x01(\tR\x04comm\x12\x12\n" +
	"\x04addr\x18\x06 \x01(\x04R\x04addr\x12\x16\n" +
	"\x06length\x18\a \x01(\x04R\x06length\x12\x12\n" +
	"\x04prot\x18\b \x01(\rR\x04prot\"\xce\x01\n" +
	"\tFileEvent\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x12\x1c\n" +
	"\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x1a\n" +
	"\bsequence\x18\x03 \x01(\x04R\bsequence\x12\x10\n" +
	"\x03pid\x18\x04 \x01(\rR\x03pid\x12\x12\n" +
	"\x04comm\x18\x05 \x01(\tR\x04comm\x12\x12\n" +
	"\x04path\x18\x06 \x01(\tR\x04path\x12\x1c\n" +
	"\toperation\x18\a \x01(\tR\toperation\x12\x14\n" +
	"\x05bytes\x18\b \x01(\x03R\x05bytes\"\x90\x02\n" +
	"\vAcceptEvent\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x12\x1c\n" +
	"\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x1a\n" +
	"\bsequence\x18\x03 \x01(\x04R\bsequence\x12\x10\n" +
	"\x03pid\x18\x04 \x01(\rR\x03pid\x12\x12\n" +
	"\x04comm\x18\x05 \x01(\tR\x04comm\x12\x19\n" +
	"\bsrc_addr\x18\x06 \x01(\tR\asrcAddr\x12\x19\n" +
	"\bsrc_port\x18\a \x01(\rR\asrcPort\x12\x19\n" +
	"\bdst_addr\x18\b \x01(\tR\adstAddr\x12\x19\n" +
	"\bdst_port\x18\t \x01(\rR\adstPort\x12\x1a\n" +
	"\bprotocol\x18\n" +
	" \x01(\tR\bprotocol\"\x92\x02\n" +
	"\x0fSocketDataEvent\x12\x19\n" +
	"\bjob_uuid\x18\x01 \x01(\tR\ajobUuid\x12\x1c\n" +
	"\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x12\x1a\n" +
	"\bsequence\x18\x03 \x01(\x04R\bsequence\x12\x10\n" +
	"\x03pid\x18\x04 \x01(\rR\x03pid\x12\x12\n" +
	"\x04comm\x18\x05 \x01(\tR\x04comm\x12\x1c\n" +
	"\tdirection\x18\x06 \x01(\tR\tdirection\x12\x19\n" +
	"\bdst_addr\x18\a \x01(\tR\adstAddr\x12\x19\n" +
	"\bdst_port\x18\b \x01(\rR\adstPort\x12\x14\n" +
	"\x05bytes\x18\t \x01(\x03R\x05bytes\x12\x1a\n" +
	"\bprotocol\x18\n" +
	" \x01(\tR\bprotocol*Y\n" +
	"\n" +
	"StreamType\x12\x1b\n" +
	"\x17STREAM_TYPE_UNSPECIFIED\x10\x00\x12\x16\n" +
	"\x12STREAM_TYPE_STDOUT\x10\x01\x12\x16\n" +
	"\x12STREAM_TYPE_STDERR\x10\x022\xbd\a\n" +
	"\x0ePersistService\x12A\n" +
	"\x04Ping\x12\x1b.joblet.persist.PingRequest\x1a\x1c.joblet.persist.PingResponse\x12H\n" +
	"\tQueryLogs\x12 .joblet.persist.QueryLogsRequest\x1a\x17.joblet.persist.LogLine0\x01\x12M\n" +
	"\fQueryMetrics\x12#.joblet.persist.QueryMetricsRequest\x1a\x16.joblet.persist.Metric0\x01\x12U\n" +
	"\x0fQueryExecEvents\x12%.joblet.persist.QueryTelemetryRequest\x1a\x19.joblet.persist.ExecEvent0\x01\x12[\n" +
	"\x12QueryConnectEvents\x12%.joblet.persist.QueryTelemetryRequest\x1a\x1c.joblet.persist.ConnectEvent0\x01\x12U\n" +
	"\x0fQueryMmapEvents\x12%.joblet.persist.QueryTelemetryRequest\x1a\x19.joblet.persist.MmapEvent0\x01\x12]\n" +
	"\x13QueryMprotectEvents\x12%.joblet.persist.QueryTelemetryRequest\x1a\x1d.joblet.persist.MprotectEvent0\x01\x12U\n" +
	"\x0fQueryFileEvents\x12%.joblet.persist.QueryTelemetryRequest\x1a\x19.joblet.persist.FileEvent0\x01\x12Y\n" +
	"\x11QueryAcceptEvents\x12%.joblet.persist.QueryTelemetryRequest\x1a\x1b.joblet.persist.AcceptEvent0\x01\x12a\n" +
	"\x15QuerySocketDataEvents\x12%.joblet.persist.QueryTelemetryRequest\x1a\x1f.joblet.persist.SocketDataEvent0\x01\x12P\n" +
	"\tDeleteJob\x12 .joblet.persist.DeleteJobRequest\x1a!.joblet.persist.DeleteJobResponseB8Z6github.com/ehsaniara/joblet/internal/proto/gen/persistb\x06proto3"

var (
	file_persist_proto_rawDescOnce sync.Once
	file_persist_proto_rawDescData []byte
)

func file_persist_proto_rawDescGZIP() []byte {
	file_persist_proto_rawDescOnce.Do(func() {
		file_persist_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_persist_proto_rawDesc), len(file_persist_proto_rawDesc)))
	})
	return file_persist_proto_rawDescData
}

var file_persist_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_persist_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_persist_proto_goTypes = []any{
	(StreamType)(0),               // 0: joblet.persist.StreamType
	(*PingRequest)(nil),           // 1: joblet.persist.PingRequest
	(*PingResponse)(nil),          // 2: joblet.persist.PingResponse
	(*QueryLogsRequest)(nil),      // 3: joblet.persist.QueryLogsRequest
	(*QueryMetricsRequest)(nil),   // 4: joblet.persist.QueryMetricsRequest
	(*LogLine)(nil),               // 5: joblet.persist.LogLine
	(*Metric)(nil),                // 6: joblet.persist.Metric
	(*MetricData)(nil),            // 7: joblet.persist.MetricData
	(*DiskIO)(nil),                // 8: joblet.persist.DiskIO
	(*NetworkIO)(nil),             // 9: joblet.persist.NetworkIO
	(*DeleteJobRequest)(nil),      // 10: joblet.persist.DeleteJobRequest
	(*DeleteJobResponse)(nil),     // 11: joblet.persist.DeleteJobResponse
	(*QueryTelemetryRequest)(nil), // 12: joblet.persist.QueryTelemetryRequest
	(*ExecEvent)(nil),             // 13: joblet.persist.ExecEvent
	(*ConnectEvent)(nil),          // 14: joblet.persist.ConnectEvent
	(*MmapEvent)(nil),             // 15: joblet.persist.MmapEvent
	(*MprotectEvent)(nil),         // 16: joblet.persist.MprotectEvent
	(*FileEvent)(nil),             // 17: joblet.persist.FileEvent
	(*AcceptEvent)(nil),           // 18: joblet.persist.AcceptEvent
	(*SocketDataEvent)(nil),       // 19: joblet.persist.SocketDataEvent
}
var file_persist_proto_depIdxs = []int32{
	0,  // 0: joblet.persist.QueryLogsRequest.stream:type_name -> joblet.persist.StreamType
	0,  // 1: joblet.persist.LogLine.stream:type_name -> joblet.persist.StreamType
	7,  // 2: joblet.persist.Metric.data:type_name -> joblet.persist.MetricData
	8,  // 3: joblet.persist.MetricData.disk_io:type_name -> joblet.persist.DiskIO
	9,  // 4: joblet.persist.MetricData.network_io:type_name -> joblet.persist.NetworkIO
	1,  // 5: joblet.persist.PersistService.Ping:input_type -> joblet.persist.PingRequest
	3,  // 6: joblet.persist.PersistService.QueryLogs:input_type -> joblet.persist.QueryLogsRequest
	4,  // 7: joblet.persist.PersistService.QueryMetrics:input_type -> joblet.persist.QueryMetricsRequest
	12, // 8: joblet.persist.PersistService.QueryExecEvents:input_type -> joblet.persist.QueryTelemetryRequest
	12, // 9: joblet.persist.PersistService.QueryConnectEvents:input_type -> joblet.persist.QueryTelemetryRequest
	12, // 10: joblet.persist.PersistService.QueryMmapEvents:input_type -> joblet.persist.QueryTelemetryRequest
	12, // 11: joblet.persist.PersistService.QueryMprotectEvents:input_type -> joblet.persist.QueryTelemetryRequest
	12, // 12: joblet.persist.PersistService.QueryFileEvents:input_type -> joblet.persist.QueryTelemetryRequest
	12, // 13: joblet.persist.PersistService.QueryAcceptEvents:input_type -> joblet.persist.QueryTelemetryRequest
	12, // 14: joblet.persist.PersistService.QuerySocketDataEvents:input_type -> joblet.persist.QueryTelemetryRequest
	10, // 15: joblet.persist.PersistService.DeleteJob:input_type -> joblet.persist.DeleteJobRequest
	2,  // 16: joblet.persist.PersistService.Ping:output_type -> joblet.persist.PingResponse
	5,  // 17: joblet.persist.PersistService.QueryLogs:output_type -> joblet.persist.LogLine
	6,  // 18: joblet.persist.PersistService.QueryMetrics:output_type -> joblet.persist.Metric
	13, // 19: joblet.persist.PersistService.QueryExecEvents:output_type -> joblet.persist.ExecEvent
	14, // 20: joblet.persist.PersistService.QueryConnectEvents:output_type -> joblet.persist.ConnectEvent
	15, // 21: joblet.persist.PersistService.QueryMmapEvents:output_type -> joblet.persist.MmapEvent
	16, // 22: joblet.persist.PersistService.QueryMprotectEvents:output_type -> joblet.persist.MprotectEvent
	17, // 23: joblet.persist.PersistService.QueryFileEvents:output_type -> joblet.persist.FileEvent
	18, // 24: joblet.persist.PersistService.QueryAcceptEvents:output_type -> joblet.persist.AcceptEvent
	19, // 25: joblet.persist.PersistService.QuerySocketDataEvents:output_type -> joblet.persist.SocketDataEvent
	11, // 26: joblet.persist.PersistService.DeleteJob:output_type -> joblet.persist.DeleteJobResponse
	16, // [16:27] is the sub-list for method output_type
	5,  // [5:16] is the sub-list for method input_type
	5,  // [5:5] is the sub-list for extension type_name
	5,  // [5:5] is the sub-list for extension extendee
	0,  // [0:5] is the sub-list for field type_name
}

func init() { file_persist_proto_init() }
func file_persist_proto_init() {
	if File_persist_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_persist_proto_rawDesc), len(file_persist_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   19,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_persist_proto_goTypes,
		DependencyIndexes: file_persist_proto_depIdxs,
		EnumInfos:         file_persist_proto_enumTypes,
		MessageInfos:      file_persist_proto_msgTypes,
	}.Build()
	File_persist_proto = out.File
	file_persist_proto_goTypes = nil
	file_persist_proto_depIdxs = nil
}
