billdogeng 1.0.0-beta.1

Official BilldogEng server SDK for Rust — Analytics, Feature Flags (remote + local eval), Surveys, Messaging, and LLM observability.
Documentation
//! # billdogeng — Official BilldogEng server SDK for Rust.
//!
//! Engagement suite for server-side use: **Analytics** + **Feature Flags**
//! (remote + local evaluation) + **Surveys** (data API) + **Messaging** +
//! **LLM** observability.
//!
//! This crate mirrors the canonical Node reference implementation, idiomatically
//! in Rust (synchronous API + a background flush thread).
//!
//! ```no_run
//! use billdogeng::{BilldogEng, BilldogEngOptions, FlagEvalOptions};
//!
//! let bd = BilldogEng::new("bd_test_xxx", BilldogEngOptions {
//!     local_evaluation: true,
//!     ..Default::default()
//! });
//!
//! bd.capture("user-123", "order_completed", Default::default(), Default::default());
//! let on = bd.is_feature_enabled("new_checkout", "user-123", &FlagEvalOptions::default());
//! bd.shutdown().ok();
//! ```

mod analytics;
mod client;
mod error;
pub mod flags;
mod llm;
pub mod messaging;
mod murmur;
pub mod surveys;
mod transport;
mod types;

// Public re-exports.
pub use client::BilldogEng;
pub use error::{BilldogEngError, Result};
pub use flags::Flags;
pub use llm::Llm;
pub use messaging::Messaging;
pub use murmur::{bucket_of, murmurhash3, murmurhash3_seed};
pub use surveys::Surveys;

pub use types::{
    BilldogEngOptions, DispatchParams, FeatureFlagDefinition, FlagEvalOptions, FlagValue,
    FlagVariant, Groups, LlmTraceParams, MessagingScheduling, MessagingTargeting, Operator,
    Properties, SurveyAnswer, SurveyContext, SurveyListItem, TargetingRule, WireEvent,
};