usecrate::prelude::{Host,Result};useserde_json::Value;/// Describe the result of a `Task` execution
pubtypeTaskResult=Result<Value>;/// Generic Task trait
pubtraitGenericTask<Data: Send>: Send + Sync {/// Called to prepare contextual data for the task execution
fnprepare(&self, host: Host)->Result<Data>;/// Called to execute the task
fnapply(&self, host: Host, data: Data)-> TaskResult;}