use crate::common::{InitializePluginInput, InitializePluginOutput};
use crate::context::MoonContext;
use moon_common::Id;
use schematic::Schema;
use warpgate_api::*;
pub type InitializeExtensionInput = InitializePluginInput;
pub type InitializeExtensionOutput = InitializePluginOutput;
api_struct!(
pub struct RegisterExtensionInput {
pub id: Id,
}
);
api_struct!(
pub struct RegisterExtensionOutput {
pub name: String,
pub description: Option<String>,
pub plugin_version: String,
}
);
api_struct!(
pub struct DefineExtensionConfigOutput {
pub schema: Schema,
}
);
api_struct!(
pub struct ExecuteExtensionInput {
pub args: Vec<String>,
pub context: MoonContext,
}
);