pub fn append_message(
        self,
        content: impl ToString,
        tool_records: Vec<(ToolCallFull, ToolResult)>,
    ) -> Self {
        // Adding tool calls
        self.add_message(ContextMessage::assistant(
            content,
            Some(
                tool_records
                    .iter()
                    .map(|record| record.0.clone())
                    .collect::<Vec<_>>(),
            ),
        ))
        // Adding tool results
        .add_tool_results(
            tool_records
                .iter()
                .map(|record| record.1.clone())
                .collect::<Vec<_>>(),
        )
    }
Will append a message to the context. This method always assumes tools
are supported and uses the appropriate format. For models that don't
support tools, use the TransformToolCalls transformer to convert the
context afterward.
crates/forge_domain/src/context.rs