1mod candidate_index;
94pub mod compiler;
95pub mod correlation;
96pub mod correlation_engine;
97pub mod engine;
98pub mod error;
99pub mod event;
100pub mod explain;
101pub mod field_observer;
102pub mod fields;
103pub mod logsource;
104pub mod matcher;
105pub mod pipeline;
106pub mod result;
107pub mod router;
108pub mod rule_draft;
109pub mod rule_metadata;
110pub mod rule_tune;
111pub mod schema;
112pub mod schema_discovery;
113mod witness;
114
115pub use compiler::{
117 CompiledDetection, CompiledDetectionItem, CompiledRule, compile_rule, compile_to_compiled,
118 evaluate_rule,
119};
120pub use correlation::{
121 CompiledCondition, CompiledCorrelation, EventBuffer, EventRef, EventRefBuffer, GroupByField,
122 GroupKey, WindowState,
123};
124pub use correlation_engine::{
125 CorrelationAction, CorrelationConfig, CorrelationEngine, CorrelationEventMode, CorrelationInfo,
126 CorrelationSnapshot, CorrelationStateSnapshot, GroupKeyPart, GroupStateInfo, ProcessResult,
127 TimestampFallback,
128};
129pub use engine::Engine;
130pub use error::{EvalError, Result};
131pub use event::{Event, EventValue, JsonEvent, KvEvent, MapEvent, MappedEvent, PlainEvent};
132pub use explain::{
133 ConditionTrace, DetectionTrace, ItemTrace, MatchReason, RuleExplanation, SelectionBranch,
134 explain_rule,
135};
136pub use field_observer::{FieldCoverage, FieldObservation, FieldObservationEntry, FieldObserver};
137pub use fields::{FieldOrigin, FieldSource, RuleFieldSet};
138pub use logsource::LogSourceExtractor;
139pub use matcher::{CompiledMatcher, MatchDescriptor};
140pub use pipeline::{
141 Pipeline, PipelineState, TransformationItem, TransformedRule, apply_pipelines,
142 apply_pipelines_with_state,
143 builtin::{
144 builtin_names as builtin_pipeline_names, resolve_builtin as resolve_builtin_pipeline,
145 },
146 merge_pipelines, parse_pipeline, parse_pipeline_file, parse_sources, parse_sources_dir,
147 parse_sources_file, parse_transformation_items, transform_collection, transform_rule,
148 validate_source_refs,
149};
150pub use result::{
151 CorrelationBody, DetectionBody, EvaluationResult, FieldMatch, MatchDetailLevel, MatcherKind,
152 ProcessResultExt, ResultBody, RuleHeader,
153};
154pub use router::{RouteOutcome, RouteResult, SchemaPruning, SchemaRouter};
155pub use rule_draft::{
156 DraftConfig, DraftError, DraftFieldReport, DraftReport, Stability, draft_rule,
157};
158pub use rule_metadata::{RuleBundleMetadata, RuleIdentity, RuleKind, RuleMetadataLookup};
159pub use rule_tune::{
160 TuneConfig, TuneError, TuneExpectationDiff, TuneFieldDisposition, TuneFieldReport, TuneReport,
161 TuneSelectionReport, TuneVerification, tune_rule,
162};
163pub use schema::{
164 FieldValueConfig, OnUnknown, PredicateOutcome, RouteDecision, RoutingConfig, RoutingPlan,
165 SchemaBinding, SchemaClassifier, SchemaCountEntry, SchemaError, SchemaExplanation, SchemaMatch,
166 SchemaObservation, SchemaObserver, SchemaPredicate, SchemaPredicateConfig, SchemaSignature,
167 SchemaSignatureConfig, SchemaSignaturesFile, SignatureExplanation, UnknownShapeEntry,
168 builtin_schema_names, load_schema_config, load_schema_signatures, parse_schema_config,
169 parse_schema_signatures, validate_schema_config,
170};
171pub use schema_discovery::{
172 CandidateSource, DiscoveryCandidate, DiscoveryConfig, DiscoveryReport, DiscoveryStats,
173 FieldProfile, cluster_count, mine_events, mine_shapes,
174};