fn user_text(content: &Value) -> Option<String>
A typed message’s text: AgentMux stores it as a string; the CLI’s own frames use block arrays. A block array with no text is a tool-result frame, not something a person typed.