objectiveai-cli 2.2.9

ObjectiveAI command-line interface and embeddable library
Documentation
//! `agents logs token-usage get` — read an agent's current stored
//! `total_tokens` snapshot. `total_tokens` is null when no
//! agent-completion usage has been recorded for the AIH yet.

use objectiveai_sdk::cli::command::agents::logs::token_usage::get::{Request, Response};

use crate::context::Context;
use crate::error::Error;

pub async fn execute(ctx: &Context, request: Request) -> Result<Response, Error> {
    let db = ctx.db_client().await?.clone();
    let total_tokens =
        crate::db::logs::get_agent_token_usage(&db, &request.agent_instance_hierarchy).await?;
    Ok(Response {
        agent_instance_hierarchy: request.agent_instance_hierarchy,
        total_tokens,
    })
}

pub mod request_schema {
    use objectiveai_sdk::cli::command::agents::logs::token_usage::get as sdk;
    use objectiveai_sdk::cli::command::agents::logs::token_usage::get::request_schema::{
        Request, Response,
    };

    use crate::context::Context;
    use crate::error::Error;

    pub async fn execute(_ctx: &Context, _request: Request) -> Result<Response, Error> {
        Ok(objectiveai_sdk::cli::command::ResponseSchema(schemars::schema_for!(sdk::Request)))
    }
}

pub mod response_schema {
    use objectiveai_sdk::cli::command::agents::logs::token_usage::get as sdk;
    use objectiveai_sdk::cli::command::agents::logs::token_usage::get::response_schema::{
        Request, Response,
    };

    use crate::context::Context;
    use crate::error::Error;

    pub async fn execute(_ctx: &Context, _request: Request) -> Result<Response, Error> {
        Ok(objectiveai_sdk::cli::command::ResponseSchema(schemars::schema_for!(sdk::Response)))
    }
}