pub fn ensure_tracing_subscriber() {
use std::sync::OnceLock;
static INIT: OnceLock<()> = OnceLock::new();
INIT.get_or_init(|| {
let filter = tracing_subscriber::EnvFilter::try_from_default_env()
.unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("warn"));
let _ = tracing_subscriber::fmt()
.with_env_filter(filter)
.with_writer(std::io::stderr)
.with_target(false)
.try_init();
});
}
pub mod verify;
pub mod multi;
pub mod scheduler;
pub mod browser;
pub mod secrets;
pub mod permissions;
pub mod accounts;
pub mod integrations;
pub mod health;
pub mod voice;
pub mod meeting;
pub mod registry;
pub mod workflow;
pub mod a2a;
pub mod automation;
pub mod proxy;
pub mod vision;
pub fn tracked_result_to_json(result: &car_inference::InferenceResult) -> String {
serde_json::json!({
"text": result.text,
"tool_calls": result.tool_calls,
"model_used": result.model_used,
"latency_ms": result.latency_ms,
"time_to_first_token_ms": result.time_to_first_token_ms,
"trace_id": result.trace_id,
"usage": result.usage,
})
.to_string()
}