Test overview
Run conversations against an agent over HTTP. Send what a user would say, read the traces that come back, and inspect or reset the state between turns.
A conversation is the agent doing its job: a user says something, the agent
decides what to do, and everything it did comes back as typed events.
Driving that from your own code is how you put the agent behind a different
interface, or check how a change behaves before anyone else sees it.
Conversation state sits alongside, so you can read what the agent currently
believes, change a variable mid-turn, or start over.