The cause: text when the user typed over the answer, audio when they started speaking,
click when they pressed a stop control, and manual for an interruption the application
decided on itself.
The SDK records it with the interruption for analytics. It changes behavior in one case
only: Expressive (V4) agents ignore a text interrupt, because their orchestrator does not
cancel the answer already in flight. Talks (V2) and Clips (V3) agents interrupt the current
video whatever the value.
What caused the user to interrupt the agent, passed to interrupt().