Codex Handbook
core/src/context/model_switch_instructions.rs 35 lines
use super::ContextualUserFragment;#[derive(Debug, Clone, PartialEq)]pub(crate) struct ModelSwitchInstructions {    model_instructions: String,}impl ModelSwitchInstructions {    pub(crate) fn new(model_instructions: impl Into<String>) -> Self {        Self {            model_instructions: model_instructions.into(),        }    }}impl ContextualUserFragment for ModelSwitchInstructions {    fn role(&self) -> &'static str {        "developer"    }    fn markers(&self) -> (&'static str, &'static str) {        Self::type_markers()    }    fn type_markers() -> (&'static str, &'static str) {        ("<model_switch>", "</model_switch>")    }    fn body(&self) -> String {        format!(            "\nThe user was previously using a different model. Please continue the conversation according to the following instructions:\n\n{}\n",            self.model_instructions        )    }}