#![allow(dead_code)]
pub mod broker;
pub mod cache;
mod chain;
mod circuit_breaker;
mod engine;
mod error;
mod host;
mod http_client;
mod instance;
mod limits;
mod manifest;
mod pool;
pub mod rate_limiter;
mod schema;
pub mod secrets;
mod trap;
mod validate;
pub mod version;
pub use chain::{
execute_on_request, execute_on_response, execute_on_response_partial, ChainResult,
MiddlewareChain, MiddlewareConfig, OnRequestResult,
};
pub use engine::WasmEngine;
pub use error::WasmError;
pub use instance::{PluginInstance, RequestContext};
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, BrokerRegistry, KafkaBroker, MessageBroker, MockBroker, NatsBroker,
PublishResult,
};
pub use barbacane_plugin_sdk::prelude::{Action, Request, Response};