use crate::context::ContextSession;

/// Get a prompt for that includes the current context
///
/// **Arguments**
///
/// * `instructions` - The instructions to include in the prompt
///
/// **Returns**
///
/// A prompt for the LLM in the format of "<instructions> \n---\nContext Provided \n---\n<context>"
pub fn get_context_prompt(instructions: impl Into<String>, session: &ContextSession) -> String {
    let instructions = instructions.into();
    let formatted_context = session.get_context().format_context();
    format!(
        "{} \n---\nContext Provided \n---\n{}",
        instructions, formatted_context
    )
}
