use crate::{
dto::{
error::Error,
observability::{CanisterObservabilityRequest, CanisterObservabilityResponse},
},
workflow::runtime::observability,
};
use candid::Principal;
pub struct ObservabilityApi;
impl ObservabilityApi {
pub fn release_intents(
start_after: Option<crate::dto::release_intents::IntentReleaseKey>,
) -> Result<crate::dto::release_intents::IntentReleaseResponse, Error> {
observability::release_intents(start_after).map_err(Into::into)
}
pub fn release_receipts(
start_after: Option<[u8; 32]>,
) -> Result<crate::dto::release_receipts::ReplayReleaseResponse, Error> {
observability::release_receipts(start_after).map_err(Into::into)
}
pub fn child_funding(
child: Principal,
) -> Result<crate::dto::observability::ChildFundingUsage, Error> {
observability::child_funding(child).map_err(Into::into)
}
pub async fn observe_root_controlled_canister(
canister_id: Principal,
request: CanisterObservabilityRequest,
) -> Result<CanisterObservabilityResponse, Error> {
observability::observe_root_controlled_canister(canister_id, request)
.await
.map_err(Into::into)
}
}