Skip to main content

llm_optimizer_processor/
lib.rs

1//! Stream processor for LLM Auto-Optimizer
2//!
3//! This crate provides stream processing capabilities for handling events,
4//! metrics, and feedback in the optimizer system.
5
6pub mod actuator;
7pub mod aggregation;
8pub mod analyzer;
9pub mod config;
10pub mod core;
11pub mod decision;
12pub mod deduplication;
13pub mod error;
14pub mod kafka;
15pub mod metrics;
16pub mod normalization;
17pub mod pipeline;
18pub mod state;
19pub mod storage;
20pub mod telemetry;
21pub mod watermark;
22pub mod window;
23pub mod stream_processor;
24
25// Re-export commonly used types
26pub use core::{
27    CloudEventKeyExtractor, CloudEventTimeExtractor, EventKey, EventTimeExtractor,
28    FeedbackEventKeyExtractor, FeedbackEventTimeExtractor, KeyExtractor,
29    MetricPointKeyExtractor, MetricPointTimeExtractor, ProcessorEvent,
30};
31
32pub use window::{
33    Window, WindowBounds, WindowType, WindowAssigner, WindowTrigger, TriggerResult, TriggerContext,
34    WindowMerger, TumblingWindowAssigner, SlidingWindowAssigner, SessionWindowAssigner,
35    OnWatermarkTrigger, ProcessingTimeTrigger, CountTrigger, CompositeTrigger, CompositeMode,
36    ImmediateTrigger, NeverTrigger, WindowManager, WindowMetadata, WindowStats,
37};
38
39pub use stream_processor::{
40    StreamProcessor, StreamProcessorBuilder, StreamProcessorConfig, WindowResult, ProcessorStats,
41};
42
43pub use error::{
44    ProcessorError, WindowError, AggregationError, StateError, WatermarkError,
45    Result as ProcessorResult,
46};
47
48pub use config::{
49    ProcessorConfig, WindowConfig, WindowType as ConfigWindowType,
50    WatermarkConfig, WatermarkStrategy, StateConfig, StateBackend,
51    AggregationConfig, AggregationType,
52    DeduplicationStrategy,
53};
54
55pub use normalization::{
56    TimeSeriesNormalizer, NormalizerBuilder, NormalizationConfig, FillStrategy,
57    TimeSeriesEvent, NormalizationStats, NormalizationError, NormalizationResult,
58};
59
60pub use pipeline::{
61    StreamPipelineBuilder, StreamPipeline, PipelineConfig,
62    StreamExecutor, ExecutorStats,
63    StreamOperator, MapOperator, FilterOperator, FlatMapOperator,
64    KeyByOperator, WindowOperator, AggregateOperator, DeduplicationOperator,
65    OperatorContext, DeduplicationStats as OperatorDeduplicationStats,
66};
67
68pub use kafka::{
69    // Offset management
70    OffsetManager, OffsetStore, InMemoryOffsetStore, StateBackendOffsetStore,
71    TopicPartition, OffsetInfo, OffsetCommitStrategy, OffsetResetStrategy,
72    OffsetStats,
73    // Source (consumer)
74    CommitStrategy, KafkaSource, KafkaSourceConfig, KafkaSourceMetrics,
75    SourceMessage,
76    // Sink (producer)
77    BincodeSerializer, DeliveryGuarantee, JsonSerializer, KafkaSink, KafkaSinkConfig,
78    MessageSerializer, PartitionStrategy, SinkMessage, SinkMetrics,
79};
80
81pub use deduplication::{
82    DeduplicationConfig, DeduplicationConfigBuilder, DeduplicationStats,
83    EventDeduplicator, EventIdExtractor,
84};
85
86pub use metrics::{
87    LabelSet, LabelValue, MetricLabels,
88    ProcessorMetrics, MetricsSnapshot,
89    MetricsRegistry, METRICS_REGISTRY,
90    MetricsServer, MetricsServerConfig, HealthStatus,
91    MetricsError, Result as MetricsResult,
92};
93
94pub use telemetry::{
95    // Configuration
96    TelemetryConfig, TraceConfig, MetricsConfig as TelemetryMetricsConfig,
97    BatchConfiguration, ExportConfig, OtlpProtocol, SamplingStrategy, Temporality,
98    // Initialization
99    init_telemetry, init_tracer_provider, init_meter_provider,
100    shutdown_tracer_provider, shutdown_meter_provider, TelemetryProviders,
101    // Tracing
102    SpanBuilder, record_exception,
103    // Context propagation
104    HeaderCarrier, BaggageItem, context_with_span, extract_context,
105    extract_from_headers, inject_context, inject_into_headers,
106    get_baggage, propagate_context, with_baggage, with_context,
107    // Metrics
108    MetricsRecorder, metric_names, metric_attributes,
109    // Resources
110    ResourceBuilder, create_processor_resource,
111    // Re-exports
112    global as otel_global, Context as OtelContext, KeyValue as OtelKeyValue,
113    Span as OtelSpan, SpanKind, Status as OtelStatus, Tracer as OtelTracer,
114};
115
116pub use analyzer::{
117    // Core traits and types
118    Analyzer, AnalyzerConfig, AnalyzerConfigBuilder, AnalyzerError, AnalyzerResult, AnalyzerState,
119    AnalyzerEvent, AnalysisReport, AnalyzerStats, Insight, Recommendation, Alert,
120    // Analyzer implementations
121    PerformanceAnalyzer, PerformanceAnalyzerConfig,
122    CostAnalyzer, CostAnalyzerConfig, ModelPricing,
123    QualityAnalyzer, QualityAnalyzerConfig,
124    PatternAnalyzer, PatternAnalyzerConfig, PatternType,
125    AnomalyAnalyzer, AnomalyAnalyzerConfig, AnomalyType,
126    // Common types
127    Severity, Confidence, Priority, InsightCategory,
128};
129
130pub use decision::{
131    // Core traits
132    DecisionEngine, OptimizationStrategy, DecisionValidator, DecisionExecutor,
133    // Decision Coordinator
134    DecisionCoordinator,
135    // Strategies (all 5 optimization strategies)
136    ModelSelectionStrategy, CachingStrategy, RateLimitingStrategy,
137    BatchingStrategy, PromptOptimizationStrategy,
138    // Configuration
139    DecisionEngineConfig, StrategyConfigs,
140    ModelSelectionConfig, CachingConfig, RateLimitingConfig,
141    BatchingConfig, PromptOptimizationConfig, SafetyConfig, MonitoringConfig,
142    // Types
143    Decision, DecisionInput, DecisionOutcome, DecisionCriteria, DecisionStats,
144    DecisionType, ExpectedImpact, ActualImpact, ConfigChange, ConfigType,
145    RollbackPlan, RollbackCondition, SafetyCheck, SystemMetrics, ComparisonOperator,
146    // Error types
147    DecisionError, DecisionResult, DecisionState,
148};
149
150pub use actuator::{
151    // Core traits
152    Actuator, CanaryDeployment, ConfigurationManager, HealthMonitor, TrafficSplitter,
153    // Main Coordinator
154    ActuatorCoordinator,
155    // Component Implementations
156    CanaryDeploymentEngine, ConfigurationManagerImpl, ProductionHealthMonitor,
157    RollbackEngine,
158    // Configuration Manager
159    ConfigurationBackend, InMemoryBackend, AuditLogEntry, ConfigurationDiff, DiffType,
160    // Rollback Engine
161    RollbackMode, RollbackStatus, RollbackTrigger, RollbackHistoryEntry,
162    NotificationHandler, NotificationSeverity,
163    // Configuration
164    ActuatorConfig, ConfigurationManagementConfig, HealthMonitoringConfig, RollbackConfig,
165    // Health Monitor
166    HealthCheckType, HealthMonitorConfig,
167    // Types
168    ActuatorStats, CanaryConfig, CanaryPhase, ConfigurationSnapshot,
169    DeploymentMetrics, DeploymentRequest, DeploymentStatus, DeploymentStrategy,
170    HealthCheckResult, RollbackReason, RollbackRequest, RollbackResult,
171    StatisticalAnalysis, SuccessCriteria, TrafficSplitStrategy,
172    // Error types
173    ActuatorError, ActuatorResult, ActuatorState, DeploymentState,
174};
175
176pub use storage::{
177    // Core traits
178    Storage, CacheStorage, KeyValueStorage, RelationalStorage, PubSubStorage,
179    Migrator, Backup, Subscriber,
180    // Storage Manager
181    StorageManager, RoutingStrategy, ManagerState, ManagerStats,
182    // Backend Implementations
183    PostgreSQLStorage, RedisStorage, SledStorage,
184    // Configuration
185    StorageConfig, PostgreSQLConfig, RedisConfig, SledConfig,
186    PoolConfig, RetryConfig, MonitoringConfig as StorageMonitoringConfig,
187    SSLMode, SledMode,
188    // Types
189    StorageBackend, StorageEntry, StorageStats, StorageHealth, StorageMetadata,
190    Query, Filter, Operator, Sort, SortDirection, Value,
191    Transaction, TransactionState, Operation, Batch,
192    CacheStats, BackupMetadata, Migration, SqlParam, SqlResult,
193    // Error types
194    StorageError, StorageResult, ErrorCategory,
195};