pub mod compose;
pub mod discover;
pub mod extract;
pub mod generate;
pub mod validate;
pub use compose::{execute_compose, ComposeInput, ComposeOutput};
pub use discover::{execute_discover, DiscoverInput, DiscoverOutput};
pub use extract::{execute_extract, ExtractInput, ExtractOutput};
pub use generate::{execute_generate, GenerateInput, GenerateOutput};
pub use validate::{execute_validate, ValidateInput, ValidateOutput};
pub trait OntologyOperation: Sized {
type Input;
type Output;
fn execute(
input: &Self::Input,
) -> std::pin::Pin<
Box<dyn std::future::Future<Output = ggen_utils::error::Result<Self::Output>> + Send>,
>;
}