agentsight_capture_core/analyzers/mod.rs
1// SPDX-License-Identifier: MIT
2// Copyright (c) 2026 eunomia-bpf org.
3
4use crate::runners::EventStream;
5use async_trait::async_trait;
6
7/// Type alias for errors that can be sent between threads.
8pub type AnalyzerError = Box<dyn std::error::Error + Send + Sync>;
9
10/// Stable processing boundary between native capture and extensions.
11#[async_trait]
12pub trait Analyzer: Send + Sync {
13 async fn process(&mut self, stream: EventStream) -> Result<EventStream, AnalyzerError>;
14}