pub(crate) fn check_budget( prompt: usize, output: usize, drafts: usize, context: usize, ) -> Result<()>