use crate::{Ingredient, Schema, Thread, Workstep}; use std::collections::BTreeSet; /// A recipe with instructions to execute pub struct Recipe { schema: Schema, metadata: Metadata, threads: BTreeSet, } impl Recipe { /// Create a new recipe from a schema, with a name and version pub fn new(schema: Schema, name: String, version: String) -> Self { Self { schema, metadata: Metadata { name, version }, threads: Default::default(), } } } pub struct Metadata { pub name: String, pub version: String, }