// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.8
// 	protoc        v3.12.4
// source: internal/lighthouse/proto/data_ingestion.proto

package proto

import (
	any1 "github.com/golang/protobuf/ptypes/any"
	_struct "github.com/golang/protobuf/ptypes/struct"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	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)
)

type SchemaMode int32

const (
	SchemaMode_SCHEMA_MODE_STRICT      SchemaMode = 0 // Must match existing schema
	SchemaMode_SCHEMA_MODE_FLEXIBLE    SchemaMode = 1 // Auto-evolve schema
	SchemaMode_SCHEMA_MODE_APPEND_ONLY SchemaMode = 2 // Only add new fields, never modify
)

// Enum value maps for SchemaMode.
var (
	SchemaMode_name = map[int32]string{
		0: "SCHEMA_MODE_STRICT",
		1: "SCHEMA_MODE_FLEXIBLE",
		2: "SCHEMA_MODE_APPEND_ONLY",
	}
	SchemaMode_value = map[string]int32{
		"SCHEMA_MODE_STRICT":      0,
		"SCHEMA_MODE_FLEXIBLE":    1,
		"SCHEMA_MODE_APPEND_ONLY": 2,
	}
)

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

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

func (SchemaMode) Descriptor() protoreflect.EnumDescriptor {
	return file_internal_lighthouse_proto_data_ingestion_proto_enumTypes[0].Descriptor()
}

func (SchemaMode) Type() protoreflect.EnumType {
	return &file_internal_lighthouse_proto_data_ingestion_proto_enumTypes[0]
}

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

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

type CompressionType int32

const (
	CompressionType_COMPRESSION_NONE   CompressionType = 0
	CompressionType_COMPRESSION_GZIP   CompressionType = 1
	CompressionType_COMPRESSION_SNAPPY CompressionType = 2
	CompressionType_COMPRESSION_LZ4    CompressionType = 3
)

// Enum value maps for CompressionType.
var (
	CompressionType_name = map[int32]string{
		0: "COMPRESSION_NONE",
		1: "COMPRESSION_GZIP",
		2: "COMPRESSION_SNAPPY",
		3: "COMPRESSION_LZ4",
	}
	CompressionType_value = map[string]int32{
		"COMPRESSION_NONE":   0,
		"COMPRESSION_GZIP":   1,
		"COMPRESSION_SNAPPY": 2,
		"COMPRESSION_LZ4":    3,
	}
)

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

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

func (CompressionType) Descriptor() protoreflect.EnumDescriptor {
	return file_internal_lighthouse_proto_data_ingestion_proto_enumTypes[1].Descriptor()
}

func (CompressionType) Type() protoreflect.EnumType {
	return &file_internal_lighthouse_proto_data_ingestion_proto_enumTypes[1]
}

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

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

type Priority int32

const (
	Priority_PRIORITY_LOW      Priority = 0
	Priority_PRIORITY_NORMAL   Priority = 1
	Priority_PRIORITY_HIGH     Priority = 2
	Priority_PRIORITY_CRITICAL Priority = 3
)

// Enum value maps for Priority.
var (
	Priority_name = map[int32]string{
		0: "PRIORITY_LOW",
		1: "PRIORITY_NORMAL",
		2: "PRIORITY_HIGH",
		3: "PRIORITY_CRITICAL",
	}
	Priority_value = map[string]int32{
		"PRIORITY_LOW":      0,
		"PRIORITY_NORMAL":   1,
		"PRIORITY_HIGH":     2,
		"PRIORITY_CRITICAL": 3,
	}
)

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

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

func (Priority) Descriptor() protoreflect.EnumDescriptor {
	return file_internal_lighthouse_proto_data_ingestion_proto_enumTypes[2].Descriptor()
}

func (Priority) Type() protoreflect.EnumType {
	return &file_internal_lighthouse_proto_data_ingestion_proto_enumTypes[2]
}

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

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

type HealthStatus int32

const (
	HealthStatus_HEALTH_UNKNOWN  HealthStatus = 0
	HealthStatus_HEALTH_HEALTHY  HealthStatus = 1
	HealthStatus_HEALTH_WARNING  HealthStatus = 2
	HealthStatus_HEALTH_CRITICAL HealthStatus = 3
	HealthStatus_HEALTH_DOWN     HealthStatus = 4
)

// Enum value maps for HealthStatus.
var (
	HealthStatus_name = map[int32]string{
		0: "HEALTH_UNKNOWN",
		1: "HEALTH_HEALTHY",
		2: "HEALTH_WARNING",
		3: "HEALTH_CRITICAL",
		4: "HEALTH_DOWN",
	}
	HealthStatus_value = map[string]int32{
		"HEALTH_UNKNOWN":  0,
		"HEALTH_HEALTHY":  1,
		"HEALTH_WARNING":  2,
		"HEALTH_CRITICAL": 3,
		"HEALTH_DOWN":     4,
	}
)

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

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

func (HealthStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_internal_lighthouse_proto_data_ingestion_proto_enumTypes[3].Descriptor()
}

func (HealthStatus) Type() protoreflect.EnumType {
	return &file_internal_lighthouse_proto_data_ingestion_proto_enumTypes[3]
}

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

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

type RunStatus int32

const (
	RunStatus_RUN_STATUS_UNKNOWN   RunStatus = 0
	RunStatus_RUN_STATUS_QUEUED    RunStatus = 1
	RunStatus_RUN_STATUS_RUNNING   RunStatus = 2
	RunStatus_RUN_STATUS_COMPLETED RunStatus = 3
	RunStatus_RUN_STATUS_FAILED    RunStatus = 4
	RunStatus_RUN_STATUS_CANCELLED RunStatus = 5
)

// Enum value maps for RunStatus.
var (
	RunStatus_name = map[int32]string{
		0: "RUN_STATUS_UNKNOWN",
		1: "RUN_STATUS_QUEUED",
		2: "RUN_STATUS_RUNNING",
		3: "RUN_STATUS_COMPLETED",
		4: "RUN_STATUS_FAILED",
		5: "RUN_STATUS_CANCELLED",
	}
	RunStatus_value = map[string]int32{
		"RUN_STATUS_UNKNOWN":   0,
		"RUN_STATUS_QUEUED":    1,
		"RUN_STATUS_RUNNING":   2,
		"RUN_STATUS_COMPLETED": 3,
		"RUN_STATUS_FAILED":    4,
		"RUN_STATUS_CANCELLED": 5,
	}
)

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

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

func (RunStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_internal_lighthouse_proto_data_ingestion_proto_enumTypes[4].Descriptor()
}

func (RunStatus) Type() protoreflect.EnumType {
	return &file_internal_lighthouse_proto_data_ingestion_proto_enumTypes[4]
}

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

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

// Main data ingestion request supporting any structured payload
type IngestDataRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Authentication & routing
	RegistrationKey string `protobuf:"bytes,1,opt,name=registration_key,json=registrationKey,proto3" json:"registration_key,omitempty"` // Station registration key for auth
	OrganizationId  string `protobuf:"bytes,2,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"`    // Target organization UUID
	WorkspaceId     string `protobuf:"bytes,3,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`             // Target workspace UUID (optional)
	TableId         string `protobuf:"bytes,4,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`                         // Target table UUID (optional)
	// Data classification
	App      string `protobuf:"bytes,5,opt,name=app,proto3" json:"app,omitempty"`                           // Application name: "finops", "agent", "monitoring", "custom"
	AppType  string `protobuf:"bytes,6,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty"`    // App-specific type: "cost-discovery", "station-run", "health-check"
	SourceId string `protobuf:"bytes,7,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"` // Data source identifier (station_id, agent_id, etc.)
	// Flexible payload
	Data *_struct.Struct `protobuf:"bytes,8,opt,name=data,proto3" json:"data,omitempty"` // Actual data payload (JSON-like structure)
	// Enhanced metadata
	Metadata        map[string]string `protobuf:"bytes,9,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Static metadata (provider, region, version, etc.)
	DynamicMetadata *_struct.Struct   `protobuf:"bytes,10,opt,name=dynamic_metadata,json=dynamicMetadata,proto3" json:"dynamic_metadata,omitempty"`                                     // Complex/nested metadata structures
	// Temporal information
	Timestamp  *timestamp.Timestamp `protobuf:"bytes,11,opt,name=timestamp,proto3" json:"timestamp,omitempty"`                     // Data timestamp
	IngestedAt *timestamp.Timestamp `protobuf:"bytes,12,opt,name=ingested_at,json=ingestedAt,proto3" json:"ingested_at,omitempty"` // Ingestion timestamp (auto-set if empty)
	// Data lineage & traceability
	CorrelationId string `protobuf:"bytes,13,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"` // For tracking related data across requests
	BatchId       string `protobuf:"bytes,14,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"`                   // For grouping related records
	ParentId      string `protobuf:"bytes,15,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`                // For hierarchical data relationships
	// Processing hints
	ProcessingOptions *ProcessingOptions `protobuf:"bytes,16,opt,name=processing_options,json=processingOptions,proto3" json:"processing_options,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*IngestDataRequest) ProtoMessage() {}

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

func (x *IngestDataRequest) GetRegistrationKey() string {
	if x != nil {
		return x.RegistrationKey
	}
	return ""
}

func (x *IngestDataRequest) GetOrganizationId() string {
	if x != nil {
		return x.OrganizationId
	}
	return ""
}

func (x *IngestDataRequest) GetWorkspaceId() string {
	if x != nil {
		return x.WorkspaceId
	}
	return ""
}

func (x *IngestDataRequest) GetTableId() string {
	if x != nil {
		return x.TableId
	}
	return ""
}

func (x *IngestDataRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *IngestDataRequest) GetAppType() string {
	if x != nil {
		return x.AppType
	}
	return ""
}

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

func (x *IngestDataRequest) GetData() *_struct.Struct {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *IngestDataRequest) GetMetadata() map[string]string {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *IngestDataRequest) GetDynamicMetadata() *_struct.Struct {
	if x != nil {
		return x.DynamicMetadata
	}
	return nil
}

func (x *IngestDataRequest) GetTimestamp() *timestamp.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (x *IngestDataRequest) GetIngestedAt() *timestamp.Timestamp {
	if x != nil {
		return x.IngestedAt
	}
	return nil
}

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

func (x *IngestDataRequest) GetBatchId() string {
	if x != nil {
		return x.BatchId
	}
	return ""
}

func (x *IngestDataRequest) GetParentId() string {
	if x != nil {
		return x.ParentId
	}
	return ""
}

func (x *IngestDataRequest) GetProcessingOptions() *ProcessingOptions {
	if x != nil {
		return x.ProcessingOptions
	}
	return nil
}

type IngestDataResponse 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"`
	RecordId         string                 `protobuf:"bytes,3,opt,name=record_id,json=recordId,proto3" json:"record_id,omitempty"`                          // Generated record UUID
	RecordsProcessed int32                  `protobuf:"varint,4,opt,name=records_processed,json=recordsProcessed,proto3" json:"records_processed,omitempty"` // For batch operations
	ValidationErrors []*ValidationError     `protobuf:"bytes,5,rep,name=validation_errors,json=validationErrors,proto3" json:"validation_errors,omitempty"`
	Metrics          *ProcessingMetrics     `protobuf:"bytes,6,opt,name=metrics,proto3" json:"metrics,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*IngestDataResponse) ProtoMessage() {}

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

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

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

func (x *IngestDataResponse) GetRecordId() string {
	if x != nil {
		return x.RecordId
	}
	return ""
}

func (x *IngestDataResponse) GetRecordsProcessed() int32 {
	if x != nil {
		return x.RecordsProcessed
	}
	return 0
}

func (x *IngestDataResponse) GetValidationErrors() []*ValidationError {
	if x != nil {
		return x.ValidationErrors
	}
	return nil
}

func (x *IngestDataResponse) GetMetrics() *ProcessingMetrics {
	if x != nil {
		return x.Metrics
	}
	return nil
}

// Batch ingestion for high-throughput scenarios
type IngestBatchRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Records       []*IngestDataRequest   `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
	Options       *BatchOptions          `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*IngestBatchRequest) ProtoMessage() {}

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

func (x *IngestBatchRequest) GetRecords() []*IngestDataRequest {
	if x != nil {
		return x.Records
	}
	return nil
}

func (x *IngestBatchRequest) GetOptions() *BatchOptions {
	if x != nil {
		return x.Options
	}
	return nil
}

type IngestBatchResponse 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"`
	TotalRecords      int32                  `protobuf:"varint,3,opt,name=total_records,json=totalRecords,proto3" json:"total_records,omitempty"`
	SuccessfulRecords int32                  `protobuf:"varint,4,opt,name=successful_records,json=successfulRecords,proto3" json:"successful_records,omitempty"`
	FailedRecords     int32                  `protobuf:"varint,5,opt,name=failed_records,json=failedRecords,proto3" json:"failed_records,omitempty"`
	RecordIds         []string               `protobuf:"bytes,6,rep,name=record_ids,json=recordIds,proto3" json:"record_ids,omitempty"`
	Errors            []*BatchError          `protobuf:"bytes,7,rep,name=errors,proto3" json:"errors,omitempty"`
	Metrics           *ProcessingMetrics     `protobuf:"bytes,8,opt,name=metrics,proto3" json:"metrics,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*IngestBatchResponse) ProtoMessage() {}

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

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

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

func (x *IngestBatchResponse) GetTotalRecords() int32 {
	if x != nil {
		return x.TotalRecords
	}
	return 0
}

func (x *IngestBatchResponse) GetSuccessfulRecords() int32 {
	if x != nil {
		return x.SuccessfulRecords
	}
	return 0
}

func (x *IngestBatchResponse) GetFailedRecords() int32 {
	if x != nil {
		return x.FailedRecords
	}
	return 0
}

func (x *IngestBatchResponse) GetRecordIds() []string {
	if x != nil {
		return x.RecordIds
	}
	return nil
}

func (x *IngestBatchResponse) GetErrors() []*BatchError {
	if x != nil {
		return x.Errors
	}
	return nil
}

func (x *IngestBatchResponse) GetMetrics() *ProcessingMetrics {
	if x != nil {
		return x.Metrics
	}
	return nil
}

type ProcessingOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Validation options
	StrictValidation bool       `protobuf:"varint,1,opt,name=strict_validation,json=strictValidation,proto3" json:"strict_validation,omitempty"`             // Fail on any validation error
	AutoCreateSchema bool       `protobuf:"varint,2,opt,name=auto_create_schema,json=autoCreateSchema,proto3" json:"auto_create_schema,omitempty"`           // Auto-create columns for new fields
	SchemaMode       SchemaMode `protobuf:"varint,3,opt,name=schema_mode,json=schemaMode,proto3,enum=lighthouse.v1.SchemaMode" json:"schema_mode,omitempty"` // How to handle schema evolution
	// Storage options
	StoreRawPayload bool            `protobuf:"varint,4,opt,name=store_raw_payload,json=storeRawPayload,proto3" json:"store_raw_payload,omitempty"`   // Keep original payload for debugging
	Compression     CompressionType `protobuf:"varint,5,opt,name=compression,proto3,enum=lighthouse.v1.CompressionType" json:"compression,omitempty"` // Compress large payloads
	TtlDays         int32           `protobuf:"varint,6,opt,name=ttl_days,json=ttlDays,proto3" json:"ttl_days,omitempty"`                             // Time-to-live for data retention
	// Processing options
	AsyncProcessing bool     `protobuf:"varint,7,opt,name=async_processing,json=asyncProcessing,proto3" json:"async_processing,omitempty"` // Process in background
	Priority        Priority `protobuf:"varint,8,opt,name=priority,proto3,enum=lighthouse.v1.Priority" json:"priority,omitempty"`          // Processing priority
	Tags            []string `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags,omitempty"`                                               // Tags for categorization
	// Indexing hints
	IndexFields   []string `protobuf:"bytes,10,rep,name=index_fields,json=indexFields,proto3" json:"index_fields,omitempty"`          // Fields to index for fast queries
	FullTextIndex bool     `protobuf:"varint,11,opt,name=full_text_index,json=fullTextIndex,proto3" json:"full_text_index,omitempty"` // Enable full-text search
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ProcessingOptions) ProtoMessage() {}

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

func (x *ProcessingOptions) GetStrictValidation() bool {
	if x != nil {
		return x.StrictValidation
	}
	return false
}

func (x *ProcessingOptions) GetAutoCreateSchema() bool {
	if x != nil {
		return x.AutoCreateSchema
	}
	return false
}

func (x *ProcessingOptions) GetSchemaMode() SchemaMode {
	if x != nil {
		return x.SchemaMode
	}
	return SchemaMode_SCHEMA_MODE_STRICT
}

func (x *ProcessingOptions) GetStoreRawPayload() bool {
	if x != nil {
		return x.StoreRawPayload
	}
	return false
}

func (x *ProcessingOptions) GetCompression() CompressionType {
	if x != nil {
		return x.Compression
	}
	return CompressionType_COMPRESSION_NONE
}

func (x *ProcessingOptions) GetTtlDays() int32 {
	if x != nil {
		return x.TtlDays
	}
	return 0
}

func (x *ProcessingOptions) GetAsyncProcessing() bool {
	if x != nil {
		return x.AsyncProcessing
	}
	return false
}

func (x *ProcessingOptions) GetPriority() Priority {
	if x != nil {
		return x.Priority
	}
	return Priority_PRIORITY_LOW
}

func (x *ProcessingOptions) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *ProcessingOptions) GetIndexFields() []string {
	if x != nil {
		return x.IndexFields
	}
	return nil
}

func (x *ProcessingOptions) GetFullTextIndex() bool {
	if x != nil {
		return x.FullTextIndex
	}
	return false
}

type BatchOptions struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	BatchSize            int32                  `protobuf:"varint,1,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`                            // Records per batch
	FailFast             bool                   `protobuf:"varint,2,opt,name=fail_fast,json=failFast,proto3" json:"fail_fast,omitempty"`                               // Stop on first error
	ParallelProcessing   bool                   `protobuf:"varint,3,opt,name=parallel_processing,json=parallelProcessing,proto3" json:"parallel_processing,omitempty"` // Process batches in parallel
	MaxConcurrentBatches int32                  `protobuf:"varint,4,opt,name=max_concurrent_batches,json=maxConcurrentBatches,proto3" json:"max_concurrent_batches,omitempty"`
	TimeoutSeconds       int32                  `protobuf:"varint,5,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

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

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

func (*BatchOptions) ProtoMessage() {}

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

func (x *BatchOptions) GetBatchSize() int32 {
	if x != nil {
		return x.BatchSize
	}
	return 0
}

func (x *BatchOptions) GetFailFast() bool {
	if x != nil {
		return x.FailFast
	}
	return false
}

func (x *BatchOptions) GetParallelProcessing() bool {
	if x != nil {
		return x.ParallelProcessing
	}
	return false
}

func (x *BatchOptions) GetMaxConcurrentBatches() int32 {
	if x != nil {
		return x.MaxConcurrentBatches
	}
	return 0
}

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

type ValidationError struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FieldPath     string                 `protobuf:"bytes,1,opt,name=field_path,json=fieldPath,proto3" json:"field_path,omitempty"`             // JSON path to the field with error
	ErrorCode     string                 `protobuf:"bytes,2,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`             // ERROR_TYPE_* code
	Message       string                 `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`                                  // Human-readable error message
	ExpectedValue *any1.Any              `protobuf:"bytes,4,opt,name=expected_value,json=expectedValue,proto3" json:"expected_value,omitempty"` // What was expected
	ActualValue   *any1.Any              `protobuf:"bytes,5,opt,name=actual_value,json=actualValue,proto3" json:"actual_value,omitempty"`       // What was received
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ValidationError) ProtoMessage() {}

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

func (x *ValidationError) GetFieldPath() string {
	if x != nil {
		return x.FieldPath
	}
	return ""
}

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

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

func (x *ValidationError) GetExpectedValue() *any1.Any {
	if x != nil {
		return x.ExpectedValue
	}
	return nil
}

func (x *ValidationError) GetActualValue() *any1.Any {
	if x != nil {
		return x.ActualValue
	}
	return nil
}

type BatchError struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	RecordIndex      int32                  `protobuf:"varint,1,opt,name=record_index,json=recordIndex,proto3" json:"record_index,omitempty"` // Which record in the batch failed
	ValidationErrors []*ValidationError     `protobuf:"bytes,2,rep,name=validation_errors,json=validationErrors,proto3" json:"validation_errors,omitempty"`
	ErrorMessage     string                 `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*BatchError) ProtoMessage() {}

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

func (x *BatchError) GetRecordIndex() int32 {
	if x != nil {
		return x.RecordIndex
	}
	return 0
}

func (x *BatchError) GetValidationErrors() []*ValidationError {
	if x != nil {
		return x.ValidationErrors
	}
	return nil
}

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

type ProcessingMetrics struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ProcessingTimeMs    int64                  `protobuf:"varint,1,opt,name=processing_time_ms,json=processingTimeMs,proto3" json:"processing_time_ms,omitempty"`        // Total processing time
	ValidationTimeMs    int64                  `protobuf:"varint,2,opt,name=validation_time_ms,json=validationTimeMs,proto3" json:"validation_time_ms,omitempty"`        // Time spent on validation
	StorageTimeMs       int64                  `protobuf:"varint,3,opt,name=storage_time_ms,json=storageTimeMs,proto3" json:"storage_time_ms,omitempty"`                 // Time spent storing data
	IndexingTimeMs      int64                  `protobuf:"varint,4,opt,name=indexing_time_ms,json=indexingTimeMs,proto3" json:"indexing_time_ms,omitempty"`              // Time spent updating indexes
	BytesProcessed      int32                  `protobuf:"varint,5,opt,name=bytes_processed,json=bytesProcessed,proto3" json:"bytes_processed,omitempty"`                // Size of processed data
	FieldsCreated       int32                  `protobuf:"varint,6,opt,name=fields_created,json=fieldsCreated,proto3" json:"fields_created,omitempty"`                   // New fields auto-created
	RecordsDeduplicated int32                  `protobuf:"varint,7,opt,name=records_deduplicated,json=recordsDeduplicated,proto3" json:"records_deduplicated,omitempty"` // Duplicate records skipped
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*ProcessingMetrics) ProtoMessage() {}

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

func (x *ProcessingMetrics) GetProcessingTimeMs() int64 {
	if x != nil {
		return x.ProcessingTimeMs
	}
	return 0
}

func (x *ProcessingMetrics) GetValidationTimeMs() int64 {
	if x != nil {
		return x.ValidationTimeMs
	}
	return 0
}

func (x *ProcessingMetrics) GetStorageTimeMs() int64 {
	if x != nil {
		return x.StorageTimeMs
	}
	return 0
}

func (x *ProcessingMetrics) GetIndexingTimeMs() int64 {
	if x != nil {
		return x.IndexingTimeMs
	}
	return 0
}

func (x *ProcessingMetrics) GetBytesProcessed() int32 {
	if x != nil {
		return x.BytesProcessed
	}
	return 0
}

func (x *ProcessingMetrics) GetFieldsCreated() int32 {
	if x != nil {
		return x.FieldsCreated
	}
	return 0
}

func (x *ProcessingMetrics) GetRecordsDeduplicated() int32 {
	if x != nil {
		return x.RecordsDeduplicated
	}
	return 0
}

type IngestionStatusRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	OrganizationId string                 `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"`
	WorkspaceId    string                 `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` // Optional filter
	App            string                 `protobuf:"bytes,3,opt,name=app,proto3" json:"app,omitempty"`                                    // Optional filter
	AppType        string                 `protobuf:"bytes,4,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty"`             // Optional filter
	Since          *timestamp.Timestamp   `protobuf:"bytes,5,opt,name=since,proto3" json:"since,omitempty"`                                // Get stats since this time
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*IngestionStatusRequest) ProtoMessage() {}

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

func (x *IngestionStatusRequest) GetOrganizationId() string {
	if x != nil {
		return x.OrganizationId
	}
	return ""
}

func (x *IngestionStatusRequest) GetWorkspaceId() string {
	if x != nil {
		return x.WorkspaceId
	}
	return ""
}

func (x *IngestionStatusRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *IngestionStatusRequest) GetAppType() string {
	if x != nil {
		return x.AppType
	}
	return ""
}

func (x *IngestionStatusRequest) GetSince() *timestamp.Timestamp {
	if x != nil {
		return x.Since
	}
	return nil
}

type IngestionStatusResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Stats         *IngestionStats        `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
	SourceStats   []*DataSourceStats     `protobuf:"bytes,2,rep,name=source_stats,json=sourceStats,proto3" json:"source_stats,omitempty"`
	Health        *SystemHealth          `protobuf:"bytes,3,opt,name=health,proto3" json:"health,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*IngestionStatusResponse) ProtoMessage() {}

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

func (x *IngestionStatusResponse) GetStats() *IngestionStats {
	if x != nil {
		return x.Stats
	}
	return nil
}

func (x *IngestionStatusResponse) GetSourceStats() []*DataSourceStats {
	if x != nil {
		return x.SourceStats
	}
	return nil
}

func (x *IngestionStatusResponse) GetHealth() *SystemHealth {
	if x != nil {
		return x.Health
	}
	return nil
}

type IngestionStats struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	TotalRecordsIngested     int64                  `protobuf:"varint,1,opt,name=total_records_ingested,json=totalRecordsIngested,proto3" json:"total_records_ingested,omitempty"`
	RecordsLastHour          int64                  `protobuf:"varint,2,opt,name=records_last_hour,json=recordsLastHour,proto3" json:"records_last_hour,omitempty"`
	RecordsLastDay           int64                  `protobuf:"varint,3,opt,name=records_last_day,json=recordsLastDay,proto3" json:"records_last_day,omitempty"`
	TotalBytesIngested       int64                  `protobuf:"varint,4,opt,name=total_bytes_ingested,json=totalBytesIngested,proto3" json:"total_bytes_ingested,omitempty"`
	BytesLastHour            int64                  `protobuf:"varint,5,opt,name=bytes_last_hour,json=bytesLastHour,proto3" json:"bytes_last_hour,omitempty"`
	BytesLastDay             int64                  `protobuf:"varint,6,opt,name=bytes_last_day,json=bytesLastDay,proto3" json:"bytes_last_day,omitempty"`
	AverageProcessingTimeMs  float64                `protobuf:"fixed64,7,opt,name=average_processing_time_ms,json=averageProcessingTimeMs,proto3" json:"average_processing_time_ms,omitempty"`
	ActiveSources            int32                  `protobuf:"varint,8,opt,name=active_sources,json=activeSources,proto3" json:"active_sources,omitempty"`
	FailedIngestionsLastHour int32                  `protobuf:"varint,9,opt,name=failed_ingestions_last_hour,json=failedIngestionsLastHour,proto3" json:"failed_ingestions_last_hour,omitempty"`
	LastIngestion            *timestamp.Timestamp   `protobuf:"bytes,10,opt,name=last_ingestion,json=lastIngestion,proto3" json:"last_ingestion,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

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

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

func (*IngestionStats) ProtoMessage() {}

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

func (x *IngestionStats) GetTotalRecordsIngested() int64 {
	if x != nil {
		return x.TotalRecordsIngested
	}
	return 0
}

func (x *IngestionStats) GetRecordsLastHour() int64 {
	if x != nil {
		return x.RecordsLastHour
	}
	return 0
}

func (x *IngestionStats) GetRecordsLastDay() int64 {
	if x != nil {
		return x.RecordsLastDay
	}
	return 0
}

func (x *IngestionStats) GetTotalBytesIngested() int64 {
	if x != nil {
		return x.TotalBytesIngested
	}
	return 0
}

func (x *IngestionStats) GetBytesLastHour() int64 {
	if x != nil {
		return x.BytesLastHour
	}
	return 0
}

func (x *IngestionStats) GetBytesLastDay() int64 {
	if x != nil {
		return x.BytesLastDay
	}
	return 0
}

func (x *IngestionStats) GetAverageProcessingTimeMs() float64 {
	if x != nil {
		return x.AverageProcessingTimeMs
	}
	return 0
}

func (x *IngestionStats) GetActiveSources() int32 {
	if x != nil {
		return x.ActiveSources
	}
	return 0
}

func (x *IngestionStats) GetFailedIngestionsLastHour() int32 {
	if x != nil {
		return x.FailedIngestionsLastHour
	}
	return 0
}

func (x *IngestionStats) GetLastIngestion() *timestamp.Timestamp {
	if x != nil {
		return x.LastIngestion
	}
	return nil
}

type DataSourceStats struct {
	state                   protoimpl.MessageState `protogen:"open.v1"`
	SourceId                string                 `protobuf:"bytes,1,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"`
	App                     string                 `protobuf:"bytes,2,opt,name=app,proto3" json:"app,omitempty"`
	AppType                 string                 `protobuf:"bytes,3,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty"`
	RecordsIngested         int64                  `protobuf:"varint,4,opt,name=records_ingested,json=recordsIngested,proto3" json:"records_ingested,omitempty"`
	BytesIngested           int64                  `protobuf:"varint,5,opt,name=bytes_ingested,json=bytesIngested,proto3" json:"bytes_ingested,omitempty"`
	AvgProcessingTimeMs     float64                `protobuf:"fixed64,6,opt,name=avg_processing_time_ms,json=avgProcessingTimeMs,proto3" json:"avg_processing_time_ms,omitempty"`
	ErrorCount              int32                  `protobuf:"varint,7,opt,name=error_count,json=errorCount,proto3" json:"error_count,omitempty"`
	LastSuccessfulIngestion *timestamp.Timestamp   `protobuf:"bytes,8,opt,name=last_successful_ingestion,json=lastSuccessfulIngestion,proto3" json:"last_successful_ingestion,omitempty"`
	LastFailedIngestion     *timestamp.Timestamp   `protobuf:"bytes,9,opt,name=last_failed_ingestion,json=lastFailedIngestion,proto3" json:"last_failed_ingestion,omitempty"`
	LastErrorMessage        string                 `protobuf:"bytes,10,opt,name=last_error_message,json=lastErrorMessage,proto3" json:"last_error_message,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

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

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

func (*DataSourceStats) ProtoMessage() {}

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

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

func (x *DataSourceStats) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *DataSourceStats) GetAppType() string {
	if x != nil {
		return x.AppType
	}
	return ""
}

func (x *DataSourceStats) GetRecordsIngested() int64 {
	if x != nil {
		return x.RecordsIngested
	}
	return 0
}

func (x *DataSourceStats) GetBytesIngested() int64 {
	if x != nil {
		return x.BytesIngested
	}
	return 0
}

func (x *DataSourceStats) GetAvgProcessingTimeMs() float64 {
	if x != nil {
		return x.AvgProcessingTimeMs
	}
	return 0
}

func (x *DataSourceStats) GetErrorCount() int32 {
	if x != nil {
		return x.ErrorCount
	}
	return 0
}

func (x *DataSourceStats) GetLastSuccessfulIngestion() *timestamp.Timestamp {
	if x != nil {
		return x.LastSuccessfulIngestion
	}
	return nil
}

func (x *DataSourceStats) GetLastFailedIngestion() *timestamp.Timestamp {
	if x != nil {
		return x.LastFailedIngestion
	}
	return nil
}

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

type SystemHealth struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Status             HealthStatus           `protobuf:"varint,1,opt,name=status,proto3,enum=lighthouse.v1.HealthStatus" json:"status,omitempty"`
	Message            string                 `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	CpuUsagePercent    float64                `protobuf:"fixed64,3,opt,name=cpu_usage_percent,json=cpuUsagePercent,proto3" json:"cpu_usage_percent,omitempty"`
	MemoryUsagePercent float64                `protobuf:"fixed64,4,opt,name=memory_usage_percent,json=memoryUsagePercent,proto3" json:"memory_usage_percent,omitempty"`
	DiskUsageBytes     int64                  `protobuf:"varint,5,opt,name=disk_usage_bytes,json=diskUsageBytes,proto3" json:"disk_usage_bytes,omitempty"`
	ActiveConnections  int32                  `protobuf:"varint,6,opt,name=active_connections,json=activeConnections,proto3" json:"active_connections,omitempty"`
	PendingRecords     int32                  `protobuf:"varint,7,opt,name=pending_records,json=pendingRecords,proto3" json:"pending_records,omitempty"`
	ProcessingThreads  int32                  `protobuf:"varint,8,opt,name=processing_threads,json=processingThreads,proto3" json:"processing_threads,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*SystemHealth) ProtoMessage() {}

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

func (x *SystemHealth) GetStatus() HealthStatus {
	if x != nil {
		return x.Status
	}
	return HealthStatus_HEALTH_UNKNOWN
}

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

func (x *SystemHealth) GetCpuUsagePercent() float64 {
	if x != nil {
		return x.CpuUsagePercent
	}
	return 0
}

func (x *SystemHealth) GetMemoryUsagePercent() float64 {
	if x != nil {
		return x.MemoryUsagePercent
	}
	return 0
}

func (x *SystemHealth) GetDiskUsageBytes() int64 {
	if x != nil {
		return x.DiskUsageBytes
	}
	return 0
}

func (x *SystemHealth) GetActiveConnections() int32 {
	if x != nil {
		return x.ActiveConnections
	}
	return 0
}

func (x *SystemHealth) GetPendingRecords() int32 {
	if x != nil {
		return x.PendingRecords
	}
	return 0
}

func (x *SystemHealth) GetProcessingThreads() int32 {
	if x != nil {
		return x.ProcessingThreads
	}
	return 0
}

// Example for app="finops", app_type="cost-discovery"
type FinOpsCostData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Provider      string                 `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` // "aws", "gcp", "azure"
	AccountId     string                 `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	Service       string                 `protobuf:"bytes,3,opt,name=service,proto3" json:"service,omitempty"` // "ec2", "s3", "compute-engine"
	ResourceId    string                 `protobuf:"bytes,4,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
	Cost          float64                `protobuf:"fixed64,5,opt,name=cost,proto3" json:"cost,omitempty"`
	Currency      string                 `protobuf:"bytes,6,opt,name=currency,proto3" json:"currency,omitempty"`
	BillingPeriod string                 `protobuf:"bytes,7,opt,name=billing_period,json=billingPeriod,proto3" json:"billing_period,omitempty"`
	Tags          []*Tag                 `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags,omitempty"`
	Specs         *ResourceSpecs         `protobuf:"bytes,9,opt,name=specs,proto3" json:"specs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FinOpsCostData) ProtoMessage() {}

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

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

func (x *FinOpsCostData) GetAccountId() string {
	if x != nil {
		return x.AccountId
	}
	return ""
}

func (x *FinOpsCostData) GetService() string {
	if x != nil {
		return x.Service
	}
	return ""
}

func (x *FinOpsCostData) GetResourceId() string {
	if x != nil {
		return x.ResourceId
	}
	return ""
}

func (x *FinOpsCostData) GetCost() float64 {
	if x != nil {
		return x.Cost
	}
	return 0
}

func (x *FinOpsCostData) GetCurrency() string {
	if x != nil {
		return x.Currency
	}
	return ""
}

func (x *FinOpsCostData) GetBillingPeriod() string {
	if x != nil {
		return x.BillingPeriod
	}
	return ""
}

func (x *FinOpsCostData) GetTags() []*Tag {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *FinOpsCostData) GetSpecs() *ResourceSpecs {
	if x != nil {
		return x.Specs
	}
	return nil
}

// Example for app="agent", app_type="station-run"
type AgentRunData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	AgentId       string                 `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`
	RunId         string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	Task          string                 `protobuf:"bytes,3,opt,name=task,proto3" json:"task,omitempty"`
	Response      string                 `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"`
	DurationMs    int64                  `protobuf:"varint,5,opt,name=duration_ms,json=durationMs,proto3" json:"duration_ms,omitempty"`
	ToolCalls     []*ToolCall            `protobuf:"bytes,6,rep,name=tool_calls,json=toolCalls,proto3" json:"tool_calls,omitempty"`
	TokenUsage    *TokenUsage            `protobuf:"bytes,7,opt,name=token_usage,json=tokenUsage,proto3" json:"token_usage,omitempty"`
	Status        RunStatus              `protobuf:"varint,8,opt,name=status,proto3,enum=lighthouse.v1.RunStatus" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AgentRunData) ProtoMessage() {}

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

func (x *AgentRunData) GetAgentId() string {
	if x != nil {
		return x.AgentId
	}
	return ""
}

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

func (x *AgentRunData) GetTask() string {
	if x != nil {
		return x.Task
	}
	return ""
}

func (x *AgentRunData) GetResponse() string {
	if x != nil {
		return x.Response
	}
	return ""
}

func (x *AgentRunData) GetDurationMs() int64 {
	if x != nil {
		return x.DurationMs
	}
	return 0
}

func (x *AgentRunData) GetToolCalls() []*ToolCall {
	if x != nil {
		return x.ToolCalls
	}
	return nil
}

func (x *AgentRunData) GetTokenUsage() *TokenUsage {
	if x != nil {
		return x.TokenUsage
	}
	return nil
}

func (x *AgentRunData) GetStatus() RunStatus {
	if x != nil {
		return x.Status
	}
	return RunStatus_RUN_STATUS_UNKNOWN
}

// Example for app="monitoring", app_type="health-check"
type HealthCheckData struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Component      string                 `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"`
	Status         string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	ResponseTimeMs float64                `protobuf:"fixed64,3,opt,name=response_time_ms,json=responseTimeMs,proto3" json:"response_time_ms,omitempty"`
	Metrics        []*HealthMetric        `protobuf:"bytes,4,rep,name=metrics,proto3" json:"metrics,omitempty"`
	ErrorMessage   string                 `protobuf:"bytes,5,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*HealthCheckData) ProtoMessage() {}

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

func (x *HealthCheckData) GetComponent() string {
	if x != nil {
		return x.Component
	}
	return ""
}

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

func (x *HealthCheckData) GetResponseTimeMs() float64 {
	if x != nil {
		return x.ResponseTimeMs
	}
	return 0
}

func (x *HealthCheckData) GetMetrics() []*HealthMetric {
	if x != nil {
		return x.Metrics
	}
	return nil
}

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

type Tag struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Key           string                 `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value         string                 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Tag) ProtoMessage() {}

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

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

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

type ResourceSpecs struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	CpuCount        int32                  `protobuf:"varint,1,opt,name=cpu_count,json=cpuCount,proto3" json:"cpu_count,omitempty"`
	MemoryMb        int64                  `protobuf:"varint,2,opt,name=memory_mb,json=memoryMb,proto3" json:"memory_mb,omitempty"`
	StorageGb       int64                  `protobuf:"varint,3,opt,name=storage_gb,json=storageGb,proto3" json:"storage_gb,omitempty"`
	InstanceType    string                 `protobuf:"bytes,4,opt,name=instance_type,json=instanceType,proto3" json:"instance_type,omitempty"`
	AdditionalSpecs map[string]string      `protobuf:"bytes,5,rep,name=additional_specs,json=additionalSpecs,proto3" json:"additional_specs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*ResourceSpecs) ProtoMessage() {}

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

func (x *ResourceSpecs) GetCpuCount() int32 {
	if x != nil {
		return x.CpuCount
	}
	return 0
}

func (x *ResourceSpecs) GetMemoryMb() int64 {
	if x != nil {
		return x.MemoryMb
	}
	return 0
}

func (x *ResourceSpecs) GetStorageGb() int64 {
	if x != nil {
		return x.StorageGb
	}
	return 0
}

func (x *ResourceSpecs) GetInstanceType() string {
	if x != nil {
		return x.InstanceType
	}
	return ""
}

func (x *ResourceSpecs) GetAdditionalSpecs() map[string]string {
	if x != nil {
		return x.AdditionalSpecs
	}
	return nil
}

type ToolCall struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ToolName      string                 `protobuf:"bytes,1,opt,name=tool_name,json=toolName,proto3" json:"tool_name,omitempty"`
	Parameters    *_struct.Struct        `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"`
	Result        *_struct.Struct        `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
	DurationMs    int64                  `protobuf:"varint,4,opt,name=duration_ms,json=durationMs,proto3" json:"duration_ms,omitempty"`
	Success       bool                   `protobuf:"varint,5,opt,name=success,proto3" json:"success,omitempty"`
	Timestamp     *timestamp.Timestamp   `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ToolCall) ProtoMessage() {}

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

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

func (x *ToolCall) GetParameters() *_struct.Struct {
	if x != nil {
		return x.Parameters
	}
	return nil
}

func (x *ToolCall) GetResult() *_struct.Struct {
	if x != nil {
		return x.Result
	}
	return nil
}

func (x *ToolCall) GetDurationMs() int64 {
	if x != nil {
		return x.DurationMs
	}
	return 0
}

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

func (x *ToolCall) GetTimestamp() *timestamp.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

type TokenUsage struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	PromptTokens     int32                  `protobuf:"varint,1,opt,name=prompt_tokens,json=promptTokens,proto3" json:"prompt_tokens,omitempty"`
	CompletionTokens int32                  `protobuf:"varint,2,opt,name=completion_tokens,json=completionTokens,proto3" json:"completion_tokens,omitempty"`
	TotalTokens      int32                  `protobuf:"varint,3,opt,name=total_tokens,json=totalTokens,proto3" json:"total_tokens,omitempty"`
	CostUsd          float64                `protobuf:"fixed64,4,opt,name=cost_usd,json=costUsd,proto3" json:"cost_usd,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*TokenUsage) ProtoMessage() {}

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

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

func (x *TokenUsage) GetPromptTokens() int32 {
	if x != nil {
		return x.PromptTokens
	}
	return 0
}

func (x *TokenUsage) GetCompletionTokens() int32 {
	if x != nil {
		return x.CompletionTokens
	}
	return 0
}

func (x *TokenUsage) GetTotalTokens() int32 {
	if x != nil {
		return x.TotalTokens
	}
	return 0
}

func (x *TokenUsage) GetCostUsd() float64 {
	if x != nil {
		return x.CostUsd
	}
	return 0
}

type HealthMetric struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Value         float64                `protobuf:"fixed64,2,opt,name=value,proto3" json:"value,omitempty"`
	Unit          string                 `protobuf:"bytes,3,opt,name=unit,proto3" json:"unit,omitempty"`
	Status        string                 `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` // "ok", "warning", "critical"
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*HealthMetric) ProtoMessage() {}

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

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

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

func (x *HealthMetric) GetValue() float64 {
	if x != nil {
		return x.Value
	}
	return 0
}

func (x *HealthMetric) GetUnit() string {
	if x != nil {
		return x.Unit
	}
	return ""
}

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

var File_internal_lighthouse_proto_data_ingestion_proto protoreflect.FileDescriptor

const file_internal_lighthouse_proto_data_ingestion_proto_rawDesc = "" +
	"\n" +
	".internal/lighthouse/proto/data_ingestion.proto\x12\rlighthouse.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x19google/protobuf/any.proto\"\x90\x06\n" +
	"\x11IngestDataRequest\x12)\n" +
	"\x10registration_key\x18\x01 \x01(\tR\x0fregistrationKey\x12'\n" +
	"\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12!\n" +
	"\fworkspace_id\x18\x03 \x01(\tR\vworkspaceId\x12\x19\n" +
	"\btable_id\x18\x04 \x01(\tR\atableId\x12\x10\n" +
	"\x03app\x18\x05 \x01(\tR\x03app\x12\x19\n" +
	"\bapp_type\x18\x06 \x01(\tR\aappType\x12\x1b\n" +
	"\tsource_id\x18\a \x01(\tR\bsourceId\x12+\n" +
	"\x04data\x18\b \x01(\v2\x17.google.protobuf.StructR\x04data\x12J\n" +
	"\bmetadata\x18\t \x03(\v2..lighthouse.v1.IngestDataRequest.MetadataEntryR\bmetadata\x12B\n" +
	"\x10dynamic_metadata\x18\n" +
	" \x01(\v2\x17.google.protobuf.StructR\x0fdynamicMetadata\x128\n" +
	"\ttimestamp\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12;\n" +
	"\vingested_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"ingestedAt\x12%\n" +
	"\x0ecorrelation_id\x18\r \x01(\tR\rcorrelationId\x12\x19\n" +
	"\bbatch_id\x18\x0e \x01(\tR\abatchId\x12\x1b\n" +
	"\tparent_id\x18\x0f \x01(\tR\bparentId\x12O\n" +
	"\x12processing_options\x18\x10 \x01(\v2 .lighthouse.v1.ProcessingOptionsR\x11processingOptions\x1a;\n" +
	"\rMetadataEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x9b\x02\n" +
	"\x12IngestDataResponse\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" +
	"\amessage\x18\x02 \x01(\tR\amessage\x12\x1b\n" +
	"\trecord_id\x18\x03 \x01(\tR\brecordId\x12+\n" +
	"\x11records_processed\x18\x04 \x01(\x05R\x10recordsProcessed\x12K\n" +
	"\x11validation_errors\x18\x05 \x03(\v2\x1e.lighthouse.v1.ValidationErrorR\x10validationErrors\x12:\n" +
	"\ametrics\x18\x06 \x01(\v2 .lighthouse.v1.ProcessingMetricsR\ametrics\"\x87\x01\n" +
	"\x12IngestBatchRequest\x12:\n" +
	"\arecords\x18\x01 \x03(\v2 .lighthouse.v1.IngestDataRequestR\arecords\x125\n" +
	"\aoptions\x18\x02 \x01(\v2\x1b.lighthouse.v1.BatchOptionsR\aoptions\"\xd2\x02\n" +
	"\x13IngestBatchResponse\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" +
	"\amessage\x18\x02 \x01(\tR\amessage\x12#\n" +
	"\rtotal_records\x18\x03 \x01(\x05R\ftotalRecords\x12-\n" +
	"\x12successful_records\x18\x04 \x01(\x05R\x11successfulRecords\x12%\n" +
	"\x0efailed_records\x18\x05 \x01(\x05R\rfailedRecords\x12\x1d\n" +
	"\n" +
	"record_ids\x18\x06 \x03(\tR\trecordIds\x121\n" +
	"\x06errors\x18\a \x03(\v2\x19.lighthouse.v1.BatchErrorR\x06errors\x12:\n" +
	"\ametrics\x18\b \x01(\v2 .lighthouse.v1.ProcessingMetricsR\ametrics\"\xf2\x03\n" +
	"\x11ProcessingOptions\x12+\n" +
	"\x11strict_validation\x18\x01 \x01(\bR\x10strictValidation\x12,\n" +
	"\x12auto_create_schema\x18\x02 \x01(\bR\x10autoCreateSchema\x12:\n" +
	"\vschema_mode\x18\x03 \x01(\x0e2\x19.lighthouse.v1.SchemaModeR\n" +
	"schemaMode\x12*\n" +
	"\x11store_raw_payload\x18\x04 \x01(\bR\x0fstoreRawPayload\x12@\n" +
	"\vcompression\x18\x05 \x01(\x0e2\x1e.lighthouse.v1.CompressionTypeR\vcompression\x12\x19\n" +
	"\bttl_days\x18\x06 \x01(\x05R\attlDays\x12)\n" +
	"\x10async_processing\x18\a \x01(\bR\x0fasyncProcessing\x123\n" +
	"\bpriority\x18\b \x01(\x0e2\x17.lighthouse.v1.PriorityR\bpriority\x12\x12\n" +
	"\x04tags\x18\t \x03(\tR\x04tags\x12!\n" +
	"\findex_fields\x18\n" +
	" \x03(\tR\vindexFields\x12&\n" +
	"\x0ffull_text_index\x18\v \x01(\bR\rfullTextIndex\"\xda\x01\n" +
	"\fBatchOptions\x12\x1d\n" +
	"\n" +
	"batch_size\x18\x01 \x01(\x05R\tbatchSize\x12\x1b\n" +
	"\tfail_fast\x18\x02 \x01(\bR\bfailFast\x12/\n" +
	"\x13parallel_processing\x18\x03 \x01(\bR\x12parallelProcessing\x124\n" +
	"\x16max_concurrent_batches\x18\x04 \x01(\x05R\x14maxConcurrentBatches\x12'\n" +
	"\x0ftimeout_seconds\x18\x05 \x01(\x05R\x0etimeoutSeconds\"\xdf\x01\n" +
	"\x0fValidationError\x12\x1d\n" +
	"\n" +
	"field_path\x18\x01 \x01(\tR\tfieldPath\x12\x1d\n" +
	"\n" +
	"error_code\x18\x02 \x01(\tR\terrorCode\x12\x18\n" +
	"\amessage\x18\x03 \x01(\tR\amessage\x12;\n" +
	"\x0eexpected_value\x18\x04 \x01(\v2\x14.google.protobuf.AnyR\rexpectedValue\x127\n" +
	"\factual_value\x18\x05 \x01(\v2\x14.google.protobuf.AnyR\vactualValue\"\xa1\x01\n" +
	"\n" +
	"BatchError\x12!\n" +
	"\frecord_index\x18\x01 \x01(\x05R\vrecordIndex\x12K\n" +
	"\x11validation_errors\x18\x02 \x03(\v2\x1e.lighthouse.v1.ValidationErrorR\x10validationErrors\x12#\n" +
	"\rerror_message\x18\x03 \x01(\tR\ferrorMessage\"\xc4\x02\n" +
	"\x11ProcessingMetrics\x12,\n" +
	"\x12processing_time_ms\x18\x01 \x01(\x03R\x10processingTimeMs\x12,\n" +
	"\x12validation_time_ms\x18\x02 \x01(\x03R\x10validationTimeMs\x12&\n" +
	"\x0fstorage_time_ms\x18\x03 \x01(\x03R\rstorageTimeMs\x12(\n" +
	"\x10indexing_time_ms\x18\x04 \x01(\x03R\x0eindexingTimeMs\x12'\n" +
	"\x0fbytes_processed\x18\x05 \x01(\x05R\x0ebytesProcessed\x12%\n" +
	"\x0efields_created\x18\x06 \x01(\x05R\rfieldsCreated\x121\n" +
	"\x14records_deduplicated\x18\a \x01(\x05R\x13recordsDeduplicated\"\xc3\x01\n" +
	"\x16IngestionStatusRequest\x12'\n" +
	"\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12!\n" +
	"\fworkspace_id\x18\x02 \x01(\tR\vworkspaceId\x12\x10\n" +
	"\x03app\x18\x03 \x01(\tR\x03app\x12\x19\n" +
	"\bapp_type\x18\x04 \x01(\tR\aappType\x120\n" +
	"\x05since\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\x05since\"\xc6\x01\n" +
	"\x17IngestionStatusResponse\x123\n" +
	"\x05stats\x18\x01 \x01(\v2\x1d.lighthouse.v1.IngestionStatsR\x05stats\x12A\n" +
	"\fsource_stats\x18\x02 \x03(\v2\x1e.lighthouse.v1.DataSourceStatsR\vsourceStats\x123\n" +
	"\x06health\x18\x03 \x01(\v2\x1b.lighthouse.v1.SystemHealthR\x06health\"\x82\x04\n" +
	"\x0eIngestionStats\x124\n" +
	"\x16total_records_ingested\x18\x01 \x01(\x03R\x14totalRecordsIngested\x12*\n" +
	"\x11records_last_hour\x18\x02 \x01(\x03R\x0frecordsLastHour\x12(\n" +
	"\x10records_last_day\x18\x03 \x01(\x03R\x0erecordsLastDay\x120\n" +
	"\x14total_bytes_ingested\x18\x04 \x01(\x03R\x12totalBytesIngested\x12&\n" +
	"\x0fbytes_last_hour\x18\x05 \x01(\x03R\rbytesLastHour\x12$\n" +
	"\x0ebytes_last_day\x18\x06 \x01(\x03R\fbytesLastDay\x12;\n" +
	"\x1aaverage_processing_time_ms\x18\a \x01(\x01R\x17averageProcessingTimeMs\x12%\n" +
	"\x0eactive_sources\x18\b \x01(\x05R\ractiveSources\x12=\n" +
	"\x1bfailed_ingestions_last_hour\x18\t \x01(\x05R\x18failedIngestionsLastHour\x12A\n" +
	"\x0elast_ingestion\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\rlastIngestion\"\xd9\x03\n" +
	"\x0fDataSourceStats\x12\x1b\n" +
	"\tsource_id\x18\x01 \x01(\tR\bsourceId\x12\x10\n" +
	"\x03app\x18\x02 \x01(\tR\x03app\x12\x19\n" +
	"\bapp_type\x18\x03 \x01(\tR\aappType\x12)\n" +
	"\x10records_ingested\x18\x04 \x01(\x03R\x0frecordsIngested\x12%\n" +
	"\x0ebytes_ingested\x18\x05 \x01(\x03R\rbytesIngested\x123\n" +
	"\x16avg_processing_time_ms\x18\x06 \x01(\x01R\x13avgProcessingTimeMs\x12\x1f\n" +
	"\verror_count\x18\a \x01(\x05R\n" +
	"errorCount\x12V\n" +
	"\x19last_successful_ingestion\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x17lastSuccessfulIngestion\x12N\n" +
	"\x15last_failed_ingestion\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x13lastFailedIngestion\x12,\n" +
	"\x12last_error_message\x18\n" +
	" \x01(\tR\x10lastErrorMessage\"\xec\x02\n" +
	"\fSystemHealth\x123\n" +
	"\x06status\x18\x01 \x01(\x0e2\x1b.lighthouse.v1.HealthStatusR\x06status\x12\x18\n" +
	"\amessage\x18\x02 \x01(\tR\amessage\x12*\n" +
	"\x11cpu_usage_percent\x18\x03 \x01(\x01R\x0fcpuUsagePercent\x120\n" +
	"\x14memory_usage_percent\x18\x04 \x01(\x01R\x12memoryUsagePercent\x12(\n" +
	"\x10disk_usage_bytes\x18\x05 \x01(\x03R\x0ediskUsageBytes\x12-\n" +
	"\x12active_connections\x18\x06 \x01(\x05R\x11activeConnections\x12'\n" +
	"\x0fpending_records\x18\a \x01(\x05R\x0ependingRecords\x12-\n" +
	"\x12processing_threads\x18\b \x01(\x05R\x11processingThreads\"\xb9\x02\n" +
	"\x0eFinOpsCostData\x12\x1a\n" +
	"\bprovider\x18\x01 \x01(\tR\bprovider\x12\x1d\n" +
	"\n" +
	"account_id\x18\x02 \x01(\tR\taccountId\x12\x18\n" +
	"\aservice\x18\x03 \x01(\tR\aservice\x12\x1f\n" +
	"\vresource_id\x18\x04 \x01(\tR\n" +
	"resourceId\x12\x12\n" +
	"\x04cost\x18\x05 \x01(\x01R\x04cost\x12\x1a\n" +
	"\bcurrency\x18\x06 \x01(\tR\bcurrency\x12%\n" +
	"\x0ebilling_period\x18\a \x01(\tR\rbillingPeriod\x12&\n" +
	"\x04tags\x18\b \x03(\v2\x12.lighthouse.v1.TagR\x04tags\x122\n" +
	"\x05specs\x18\t \x01(\v2\x1c.lighthouse.v1.ResourceSpecsR\x05specs\"\xb7\x02\n" +
	"\fAgentRunData\x12\x19\n" +
	"\bagent_id\x18\x01 \x01(\tR\aagentId\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x12\n" +
	"\x04task\x18\x03 \x01(\tR\x04task\x12\x1a\n" +
	"\bresponse\x18\x04 \x01(\tR\bresponse\x12\x1f\n" +
	"\vduration_ms\x18\x05 \x01(\x03R\n" +
	"durationMs\x126\n" +
	"\n" +
	"tool_calls\x18\x06 \x03(\v2\x17.lighthouse.v1.ToolCallR\ttoolCalls\x12:\n" +
	"\vtoken_usage\x18\a \x01(\v2\x19.lighthouse.v1.TokenUsageR\n" +
	"tokenUsage\x120\n" +
	"\x06status\x18\b \x01(\x0e2\x18.lighthouse.v1.RunStatusR\x06status\"\xcd\x01\n" +
	"\x0fHealthCheckData\x12\x1c\n" +
	"\tcomponent\x18\x01 \x01(\tR\tcomponent\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12(\n" +
	"\x10response_time_ms\x18\x03 \x01(\x01R\x0eresponseTimeMs\x125\n" +
	"\ametrics\x18\x04 \x03(\v2\x1b.lighthouse.v1.HealthMetricR\ametrics\x12#\n" +
	"\rerror_message\x18\x05 \x01(\tR\ferrorMessage\"-\n" +
	"\x03Tag\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value\"\xaf\x02\n" +
	"\rResourceSpecs\x12\x1b\n" +
	"\tcpu_count\x18\x01 \x01(\x05R\bcpuCount\x12\x1b\n" +
	"\tmemory_mb\x18\x02 \x01(\x03R\bmemoryMb\x12\x1d\n" +
	"\n" +
	"storage_gb\x18\x03 \x01(\x03R\tstorageGb\x12#\n" +
	"\rinstance_type\x18\x04 \x01(\tR\finstanceType\x12\\\n" +
	"\x10additional_specs\x18\x05 \x03(\v21.lighthouse.v1.ResourceSpecs.AdditionalSpecsEntryR\x0fadditionalSpecs\x1aB\n" +
	"\x14AdditionalSpecsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x86\x02\n" +
	"\bToolCall\x12\x1b\n" +
	"\ttool_name\x18\x01 \x01(\tR\btoolName\x127\n" +
	"\n" +
	"parameters\x18\x02 \x01(\v2\x17.google.protobuf.StructR\n" +
	"parameters\x12/\n" +
	"\x06result\x18\x03 \x01(\v2\x17.google.protobuf.StructR\x06result\x12\x1f\n" +
	"\vduration_ms\x18\x04 \x01(\x03R\n" +
	"durationMs\x12\x18\n" +
	"\asuccess\x18\x05 \x01(\bR\asuccess\x128\n" +
	"\ttimestamp\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\"\x9c\x01\n" +
	"\n" +
	"TokenUsage\x12#\n" +
	"\rprompt_tokens\x18\x01 \x01(\x05R\fpromptTokens\x12+\n" +
	"\x11completion_tokens\x18\x02 \x01(\x05R\x10completionTokens\x12!\n" +
	"\ftotal_tokens\x18\x03 \x01(\x05R\vtotalTokens\x12\x19\n" +
	"\bcost_usd\x18\x04 \x01(\x01R\acostUsd\"d\n" +
	"\fHealthMetric\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x01R\x05value\x12\x12\n" +
	"\x04unit\x18\x03 \x01(\tR\x04unit\x12\x16\n" +
	"\x06status\x18\x04 \x01(\tR\x06status*[\n" +
	"\n" +
	"SchemaMode\x12\x16\n" +
	"\x12SCHEMA_MODE_STRICT\x10\x00\x12\x18\n" +
	"\x14SCHEMA_MODE_FLEXIBLE\x10\x01\x12\x1b\n" +
	"\x17SCHEMA_MODE_APPEND_ONLY\x10\x02*j\n" +
	"\x0fCompressionType\x12\x14\n" +
	"\x10COMPRESSION_NONE\x10\x00\x12\x14\n" +
	"\x10COMPRESSION_GZIP\x10\x01\x12\x16\n" +
	"\x12COMPRESSION_SNAPPY\x10\x02\x12\x13\n" +
	"\x0fCOMPRESSION_LZ4\x10\x03*[\n" +
	"\bPriority\x12\x10\n" +
	"\fPRIORITY_LOW\x10\x00\x12\x13\n" +
	"\x0fPRIORITY_NORMAL\x10\x01\x12\x11\n" +
	"\rPRIORITY_HIGH\x10\x02\x12\x15\n" +
	"\x11PRIORITY_CRITICAL\x10\x03*p\n" +
	"\fHealthStatus\x12\x12\n" +
	"\x0eHEALTH_UNKNOWN\x10\x00\x12\x12\n" +
	"\x0eHEALTH_HEALTHY\x10\x01\x12\x12\n" +
	"\x0eHEALTH_WARNING\x10\x02\x12\x13\n" +
	"\x0fHEALTH_CRITICAL\x10\x03\x12\x0f\n" +
	"\vHEALTH_DOWN\x10\x04*\x9d\x01\n" +
	"\tRunStatus\x12\x16\n" +
	"\x12RUN_STATUS_UNKNOWN\x10\x00\x12\x15\n" +
	"\x11RUN_STATUS_QUEUED\x10\x01\x12\x16\n" +
	"\x12RUN_STATUS_RUNNING\x10\x02\x12\x18\n" +
	"\x14RUN_STATUS_COMPLETED\x10\x03\x12\x15\n" +
	"\x11RUN_STATUS_FAILED\x10\x04\x12\x18\n" +
	"\x14RUN_STATUS_CANCELLED\x10\x052\xfd\x02\n" +
	"\x14DataIngestionService\x12Q\n" +
	"\n" +
	"IngestData\x12 .lighthouse.v1.IngestDataRequest\x1a!.lighthouse.v1.IngestDataResponse\x12T\n" +
	"\vIngestBatch\x12!.lighthouse.v1.IngestBatchRequest\x1a\".lighthouse.v1.IngestBatchResponse\x12W\n" +
	"\fIngestStream\x12 .lighthouse.v1.IngestDataRequest\x1a!.lighthouse.v1.IngestDataResponse(\x010\x01\x12c\n" +
	"\x12GetIngestionStatus\x12%.lighthouse.v1.IngestionStatusRequest\x1a&.lighthouse.v1.IngestionStatusResponseB\x12Z\x10./internal/protob\x06proto3"

var (
	file_internal_lighthouse_proto_data_ingestion_proto_rawDescOnce sync.Once
	file_internal_lighthouse_proto_data_ingestion_proto_rawDescData []byte
)

func file_internal_lighthouse_proto_data_ingestion_proto_rawDescGZIP() []byte {
	file_internal_lighthouse_proto_data_ingestion_proto_rawDescOnce.Do(func() {
		file_internal_lighthouse_proto_data_ingestion_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_internal_lighthouse_proto_data_ingestion_proto_rawDesc), len(file_internal_lighthouse_proto_data_ingestion_proto_rawDesc)))
	})
	return file_internal_lighthouse_proto_data_ingestion_proto_rawDescData
}

var file_internal_lighthouse_proto_data_ingestion_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
var file_internal_lighthouse_proto_data_ingestion_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_internal_lighthouse_proto_data_ingestion_proto_goTypes = []any{
	(SchemaMode)(0),                 // 0: lighthouse.v1.SchemaMode
	(CompressionType)(0),            // 1: lighthouse.v1.CompressionType
	(Priority)(0),                   // 2: lighthouse.v1.Priority
	(HealthStatus)(0),               // 3: lighthouse.v1.HealthStatus
	(RunStatus)(0),                  // 4: lighthouse.v1.RunStatus
	(*IngestDataRequest)(nil),       // 5: lighthouse.v1.IngestDataRequest
	(*IngestDataResponse)(nil),      // 6: lighthouse.v1.IngestDataResponse
	(*IngestBatchRequest)(nil),      // 7: lighthouse.v1.IngestBatchRequest
	(*IngestBatchResponse)(nil),     // 8: lighthouse.v1.IngestBatchResponse
	(*ProcessingOptions)(nil),       // 9: lighthouse.v1.ProcessingOptions
	(*BatchOptions)(nil),            // 10: lighthouse.v1.BatchOptions
	(*ValidationError)(nil),         // 11: lighthouse.v1.ValidationError
	(*BatchError)(nil),              // 12: lighthouse.v1.BatchError
	(*ProcessingMetrics)(nil),       // 13: lighthouse.v1.ProcessingMetrics
	(*IngestionStatusRequest)(nil),  // 14: lighthouse.v1.IngestionStatusRequest
	(*IngestionStatusResponse)(nil), // 15: lighthouse.v1.IngestionStatusResponse
	(*IngestionStats)(nil),          // 16: lighthouse.v1.IngestionStats
	(*DataSourceStats)(nil),         // 17: lighthouse.v1.DataSourceStats
	(*SystemHealth)(nil),            // 18: lighthouse.v1.SystemHealth
	(*FinOpsCostData)(nil),          // 19: lighthouse.v1.FinOpsCostData
	(*AgentRunData)(nil),            // 20: lighthouse.v1.AgentRunData
	(*HealthCheckData)(nil),         // 21: lighthouse.v1.HealthCheckData
	(*Tag)(nil),                     // 22: lighthouse.v1.Tag
	(*ResourceSpecs)(nil),           // 23: lighthouse.v1.ResourceSpecs
	(*ToolCall)(nil),                // 24: lighthouse.v1.ToolCall
	(*TokenUsage)(nil),              // 25: lighthouse.v1.TokenUsage
	(*HealthMetric)(nil),            // 26: lighthouse.v1.HealthMetric
	nil,                             // 27: lighthouse.v1.IngestDataRequest.MetadataEntry
	nil,                             // 28: lighthouse.v1.ResourceSpecs.AdditionalSpecsEntry
	(*_struct.Struct)(nil),          // 29: google.protobuf.Struct
	(*timestamp.Timestamp)(nil),     // 30: google.protobuf.Timestamp
	(*any1.Any)(nil),                // 31: google.protobuf.Any
}
var file_internal_lighthouse_proto_data_ingestion_proto_depIdxs = []int32{
	29, // 0: lighthouse.v1.IngestDataRequest.data:type_name -> google.protobuf.Struct
	27, // 1: lighthouse.v1.IngestDataRequest.metadata:type_name -> lighthouse.v1.IngestDataRequest.MetadataEntry
	29, // 2: lighthouse.v1.IngestDataRequest.dynamic_metadata:type_name -> google.protobuf.Struct
	30, // 3: lighthouse.v1.IngestDataRequest.timestamp:type_name -> google.protobuf.Timestamp
	30, // 4: lighthouse.v1.IngestDataRequest.ingested_at:type_name -> google.protobuf.Timestamp
	9,  // 5: lighthouse.v1.IngestDataRequest.processing_options:type_name -> lighthouse.v1.ProcessingOptions
	11, // 6: lighthouse.v1.IngestDataResponse.validation_errors:type_name -> lighthouse.v1.ValidationError
	13, // 7: lighthouse.v1.IngestDataResponse.metrics:type_name -> lighthouse.v1.ProcessingMetrics
	5,  // 8: lighthouse.v1.IngestBatchRequest.records:type_name -> lighthouse.v1.IngestDataRequest
	10, // 9: lighthouse.v1.IngestBatchRequest.options:type_name -> lighthouse.v1.BatchOptions
	12, // 10: lighthouse.v1.IngestBatchResponse.errors:type_name -> lighthouse.v1.BatchError
	13, // 11: lighthouse.v1.IngestBatchResponse.metrics:type_name -> lighthouse.v1.ProcessingMetrics
	0,  // 12: lighthouse.v1.ProcessingOptions.schema_mode:type_name -> lighthouse.v1.SchemaMode
	1,  // 13: lighthouse.v1.ProcessingOptions.compression:type_name -> lighthouse.v1.CompressionType
	2,  // 14: lighthouse.v1.ProcessingOptions.priority:type_name -> lighthouse.v1.Priority
	31, // 15: lighthouse.v1.ValidationError.expected_value:type_name -> google.protobuf.Any
	31, // 16: lighthouse.v1.ValidationError.actual_value:type_name -> google.protobuf.Any
	11, // 17: lighthouse.v1.BatchError.validation_errors:type_name -> lighthouse.v1.ValidationError
	30, // 18: lighthouse.v1.IngestionStatusRequest.since:type_name -> google.protobuf.Timestamp
	16, // 19: lighthouse.v1.IngestionStatusResponse.stats:type_name -> lighthouse.v1.IngestionStats
	17, // 20: lighthouse.v1.IngestionStatusResponse.source_stats:type_name -> lighthouse.v1.DataSourceStats
	18, // 21: lighthouse.v1.IngestionStatusResponse.health:type_name -> lighthouse.v1.SystemHealth
	30, // 22: lighthouse.v1.IngestionStats.last_ingestion:type_name -> google.protobuf.Timestamp
	30, // 23: lighthouse.v1.DataSourceStats.last_successful_ingestion:type_name -> google.protobuf.Timestamp
	30, // 24: lighthouse.v1.DataSourceStats.last_failed_ingestion:type_name -> google.protobuf.Timestamp
	3,  // 25: lighthouse.v1.SystemHealth.status:type_name -> lighthouse.v1.HealthStatus
	22, // 26: lighthouse.v1.FinOpsCostData.tags:type_name -> lighthouse.v1.Tag
	23, // 27: lighthouse.v1.FinOpsCostData.specs:type_name -> lighthouse.v1.ResourceSpecs
	24, // 28: lighthouse.v1.AgentRunData.tool_calls:type_name -> lighthouse.v1.ToolCall
	25, // 29: lighthouse.v1.AgentRunData.token_usage:type_name -> lighthouse.v1.TokenUsage
	4,  // 30: lighthouse.v1.AgentRunData.status:type_name -> lighthouse.v1.RunStatus
	26, // 31: lighthouse.v1.HealthCheckData.metrics:type_name -> lighthouse.v1.HealthMetric
	28, // 32: lighthouse.v1.ResourceSpecs.additional_specs:type_name -> lighthouse.v1.ResourceSpecs.AdditionalSpecsEntry
	29, // 33: lighthouse.v1.ToolCall.parameters:type_name -> google.protobuf.Struct
	29, // 34: lighthouse.v1.ToolCall.result:type_name -> google.protobuf.Struct
	30, // 35: lighthouse.v1.ToolCall.timestamp:type_name -> google.protobuf.Timestamp
	5,  // 36: lighthouse.v1.DataIngestionService.IngestData:input_type -> lighthouse.v1.IngestDataRequest
	7,  // 37: lighthouse.v1.DataIngestionService.IngestBatch:input_type -> lighthouse.v1.IngestBatchRequest
	5,  // 38: lighthouse.v1.DataIngestionService.IngestStream:input_type -> lighthouse.v1.IngestDataRequest
	14, // 39: lighthouse.v1.DataIngestionService.GetIngestionStatus:input_type -> lighthouse.v1.IngestionStatusRequest
	6,  // 40: lighthouse.v1.DataIngestionService.IngestData:output_type -> lighthouse.v1.IngestDataResponse
	8,  // 41: lighthouse.v1.DataIngestionService.IngestBatch:output_type -> lighthouse.v1.IngestBatchResponse
	6,  // 42: lighthouse.v1.DataIngestionService.IngestStream:output_type -> lighthouse.v1.IngestDataResponse
	15, // 43: lighthouse.v1.DataIngestionService.GetIngestionStatus:output_type -> lighthouse.v1.IngestionStatusResponse
	40, // [40:44] is the sub-list for method output_type
	36, // [36:40] is the sub-list for method input_type
	36, // [36:36] is the sub-list for extension type_name
	36, // [36:36] is the sub-list for extension extendee
	0,  // [0:36] is the sub-list for field type_name
}

func init() { file_internal_lighthouse_proto_data_ingestion_proto_init() }
func file_internal_lighthouse_proto_data_ingestion_proto_init() {
	if File_internal_lighthouse_proto_data_ingestion_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_internal_lighthouse_proto_data_ingestion_proto_rawDesc), len(file_internal_lighthouse_proto_data_ingestion_proto_rawDesc)),
			NumEnums:      5,
			NumMessages:   24,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_internal_lighthouse_proto_data_ingestion_proto_goTypes,
		DependencyIndexes: file_internal_lighthouse_proto_data_ingestion_proto_depIdxs,
		EnumInfos:         file_internal_lighthouse_proto_data_ingestion_proto_enumTypes,
		MessageInfos:      file_internal_lighthouse_proto_data_ingestion_proto_msgTypes,
	}.Build()
	File_internal_lighthouse_proto_data_ingestion_proto = out.File
	file_internal_lighthouse_proto_data_ingestion_proto_goTypes = nil
	file_internal_lighthouse_proto_data_ingestion_proto_depIdxs = nil
}
