c6b13f7cc8
Session interface decouples UI from engine via channels: - Send(input) starts agentic turn in background goroutine - Events() returns channel for streaming events - TurnResult() returns completed Turn after drain - Cancel() propagates context cancellation - Status() reports state, provider, model, token usage, turn count Local implementation: engine runs on dedicated goroutine per turn, events pushed to buffered channel (64), context cancellation propagated. 5 tests.