pub fn run(
args: InitArgs,
capabilities: &Capabilities,
requested: Option<&str>,
profiles: &BTreeMap<String, Profile>,
input: &mut impl BufRead,
output: &mut impl Write,
available: impl FnMut(u16) -> Result<bool, AppError>,
) -> Result<Option<Plan>, AppError>