aether-agent-cli 0.7.22

CLI and ACP server for the Aether AI coding agent
Documentation
use aether_project::TelemetrySettings;
use aether_telemetry::{TelemetryConfig, TelemetryInitError, TelemetryRuntime};
use std::sync::Arc;

pub(crate) fn build_telemetry_runtime(
    settings: Option<&TelemetrySettings>,
) -> Result<Option<Arc<TelemetryRuntime>>, TelemetryInitError> {
    let Some(settings) = settings else {
        return Ok(None);
    };

    if !settings.effective_enabled() {
        return Ok(None);
    }

    TelemetryRuntime::new(&TelemetryConfig {
        endpoint: settings.otlp.endpoint.clone(),
        headers: settings.otlp.headers.clone().into_iter().collect(),
        service_name: settings.service_name().to_string(),
        service_version: env!("CARGO_PKG_VERSION").to_string(),
        sample_ratio: settings.sample_ratio(),
        capture_content: settings.capture_content(),
        traces_enabled: settings.traces_enabled(),
        metrics_enabled: settings.metrics_enabled(),
    })
    .map(|runtime| Some(Arc::new(runtime)))
}