Skip to main content

objectiveai_api/functions/retrieval_client/
client.rs

1//! Trait for listing Functions and getting usage statistics.
2
3use crate::ctx;
4
5/// Client for listing Functions and retrieving usage statistics.
6#[async_trait::async_trait]
7pub trait Client<CTXEXT> {
8    /// Lists Functions.
9    async fn list_functions(
10        &self,
11        ctx: ctx::Context<CTXEXT>,
12    ) -> Result<
13        objectiveai::functions::response::ListFunction,
14        objectiveai::error::ResponseError,
15    >;
16
17    /// Retrieves usage statistics for a Function.
18    async fn get_function_usage(
19        &self,
20        ctx: ctx::Context<CTXEXT>,
21        owner: &str,
22        repository: &str,
23        commit: Option<&str>,
24    ) -> Result<
25        objectiveai::functions::response::UsageFunction,
26        objectiveai::error::ResponseError,
27    >;
28}