use indexmap::IndexMap;
use serde_json::Value;
pub mod common;
pub mod email;
pub mod error;
pub mod lang;
pub mod presets;
pub mod router;
#[cfg(feature = "model")]
pub mod agent;
#[cfg(feature = "model")]
pub mod model;
#[cfg(feature = "model")]
pub mod shortlist;
#[cfg(feature = "model")]
pub mod tokenizer;
pub type State = Value;
pub type Questions = IndexMap<String, Value>;
pub use error::{LayaError, Result};
pub use common::{QType, TEMP_MAX, TEMP_MIN};
pub use email::{clean_email_body, email_state};
pub use lang::{analyse, detect_script, is_english};
pub use presets::{
email_questions, guard_questions, moderation_questions, router_questions, triage_questions,
};
pub use router::{RouteDecision, RouteHints, Router, RouterOptions};
#[cfg(feature = "model")]
pub use agent::{Agent, SystemOneResult};
#[cfg(feature = "model")]
pub use shortlist::{embed_fn_from_agent, predict_shortlist, shortlist_choice};
pub const UPSTREAM_VERSION: &str = "0.3.22";