mod body_access;
pub mod broker;
pub mod cache;
mod chain;
mod circuit_breaker;
pub mod crypto;
mod engine;
mod error;
mod host;
mod http_client;
mod instance;
pub mod kafka_client;
mod limits;
mod manifest;
pub mod nats_client;
mod pool;
pub mod rate_limiter;
mod schema;
pub mod secrets;
#[cfg(test)]
mod serde_compat;
mod trap;
mod validate;
pub mod version;
pub mod ws_client;
pub use body_access::BodyAccessControl;
pub use chain::{
execute_on_request, execute_on_request_with_metrics, execute_on_response,
execute_on_response_partial, execute_on_response_with_metrics, parse_middleware_output,
ChainResult, MetricsCallback, MiddlewareChain, MiddlewareConfig, OnRequestResult,
};
pub use engine::WasmEngine;
pub use error::WasmError;
pub use instance::{PluginInstance, RequestContext, StreamEvent};
pub use limits::PluginLimits;
pub use manifest::{Capabilities, PluginManifest, PluginMeta, PluginType};
pub use pool::{InstanceKey, InstancePool};
pub use schema::ConfigSchema;
pub use secrets::{
collect_secret_references, is_secret_reference, resolve_all_secrets, resolve_config_secrets,
resolve_secret, SecretsError, SecretsStore,
};
pub use trap::{TrapContext, TrapResult};
pub use validate::{validate_exports, validate_imports};
pub use rate_limiter::{RateLimitResult, RateLimiter, RateLimiterStats};
pub use cache::{CacheEntry, CacheResult, CacheStats, ResponseCache};
pub use circuit_breaker::{CircuitBreaker, CircuitBreakerConfig, CircuitState};
pub use http_client::{
HttpClient, HttpClientConfig, HttpClientError, HttpRequest, HttpResponse, TlsConfig,
TlsConfigError,
};
pub use broker::{BrokerError, BrokerMessage, PublishResult};
pub use kafka_client::KafkaPublisher;
pub use nats_client::NatsPublisher;
pub use ws_client::UpstreamWsStream;
pub use barbacane_plugin_sdk::prelude::{Action, Request, Response};