objectiveai_cli/command/functions/
list.rs1use std::pin::Pin;
6
7use futures::{Stream, StreamExt};
8use objectiveai_sdk::cli::command::functions::list::{Request, ResponseItem};
9
10use crate::context::Context;
11use crate::error::Error;
12use crate::filesystem::publish::Kind;
13
14type ItemStream = Pin<Box<dyn Stream<Item = Result<ResponseItem, Error>> + Send>>;
15
16pub async fn execute(ctx: &Context, _request: Request) -> Result<ItemStream, Error> {
17 let stream = crate::retrieve::list(ctx, Kind::Functions).await;
18 Ok(Box::pin(stream.map(Ok)))
19}
20
21pub mod request_schema {
22 use objectiveai_sdk::cli::command::functions::list as sdk;
23 use objectiveai_sdk::cli::command::functions::list::request_schema::{Request, Response};
24
25 use crate::context::Context;
26 use crate::error::Error;
27
28 pub async fn execute(_ctx: &Context, _request: Request) -> Result<Response, Error> {
29 Ok(objectiveai_sdk::cli::command::ResponseSchema(schemars::schema_for!(sdk::Request)))
30 }
31}
32
33pub mod response_schema {
34 use objectiveai_sdk::cli::command::functions::list as sdk;
35 use objectiveai_sdk::cli::command::functions::list::response_schema::{Request, Response};
36
37 use crate::context::Context;
38 use crate::error::Error;
39
40 pub async fn execute(_ctx: &Context, _request: Request) -> Result<Response, Error> {
41 Ok(objectiveai_sdk::cli::command::ResponseSchema(schemars::schema_for!(sdk::Response)))
42 }
43}