pub fn record(
talk: &mut Talk,
store: &Talks,
text: &str,
attachments: Vec<Attachment>,
) -> Result<String>Expand description
Append the operator’s turn and flush it, without invoking anything.
Split out of say for the same reason crate::chat::record is split
out of crate::chat::say: POST /api/talks/{id}/say answers once the
message is safely on disk, and runs the agent’s half in the background -
see that function’s doc for why holding the connection for a turn that can
run fifteen minutes is the wrong shape for a phone.