Widget error reporting and startAgent connect-failure contract
The voice-agent widget now reports real failure codes on widget.error instead of always-unknown, and startAgent() connect failures arrive on the promise rejection rather than duplicating across onError and the rejection channel.
Luke Oliff