Skip to main content

objectiveai_cli/command/plugins/
get.rs

1//! `plugins get` — read one installed plugin's manifest by
2//! `(owner, name, version)`. Returns `None` if not installed.
3
4use objectiveai_sdk::cli::command::plugins::get::{Request, Response};
5
6use crate::context::Context;
7use crate::error::Error;
8
9pub async fn execute(ctx: &Context, request: Request) -> Result<Response, Error> {
10    Ok(ctx
11        .filesystem
12        .get_plugin(&request.owner, &request.name, &request.version)
13        .await
14        .map(Into::into))
15}
16
17pub mod request_schema {
18    use objectiveai_sdk::cli::command::plugins::get as sdk;
19    use objectiveai_sdk::cli::command::plugins::get::request_schema::{Request, Response};
20
21    use crate::context::Context;
22    use crate::error::Error;
23
24    pub async fn execute(_ctx: &Context, _request: Request) -> Result<Response, Error> {
25        Ok(objectiveai_sdk::cli::command::ResponseSchema(schemars::schema_for!(sdk::Request)))
26    }
27}
28
29pub mod response_schema {
30    use objectiveai_sdk::cli::command::plugins::get as sdk;
31    use objectiveai_sdk::cli::command::plugins::get::response_schema::{Request, Response};
32
33    use crate::context::Context;
34    use crate::error::Error;
35
36    pub async fn execute(_ctx: &Context, _request: Request) -> Result<Response, Error> {
37        Ok(objectiveai_sdk::cli::command::ResponseSchema(schemars::schema_for!(sdk::Response)))
38    }
39}