use crate::client::LettaClient;
use crate::error::LettaResult;
use crate::types::TelemetryTrace;
#[derive(Debug)]
pub struct TelemetryApi<'a> {
client: &'a LettaClient,
}
impl<'a> TelemetryApi<'a> {
pub fn new(client: &'a LettaClient) -> Self {
Self { client }
}
pub async fn retrieve_provider_trace(&self, step_id: &str) -> LettaResult<TelemetryTrace> {
self.client.get(&format!("v1/telemetry/{}", step_id)).await
}
}
impl LettaClient {
pub fn telemetry(&self) -> TelemetryApi {
TelemetryApi::new(self)
}
}
#[cfg(test)]
mod tests {
use super::*;
use crate::client::ClientConfig;
#[test]
fn test_telemetry_api_creation() {
let config = ClientConfig::new("http://localhost:8283").unwrap();
let client = LettaClient::new(config).unwrap();
let _api = TelemetryApi::new(&client);
}
}