Transport owns socket lifetime; the backend owns agent/session lifetime. Messages remain concurrent so abort/approval frames can interrupt an active prompt.
Transport owns socket lifetime; the backend owns agent/session lifetime. Messages remain concurrent so abort/approval frames can interrupt an active prompt.