Cover pure-logic modules that previously had no tests:
- companion-client CompanionHttpClient: baseUrl normalization, SSE chat
stream parsing (chunk-boundary reassembly, malformed-line skipping,
callbacks), createSession/deleteSession request shape + error paths.
- web lib/api: ApiError construction and fetchJson success/error/empty-body
handling.
- web sessionRecovery: createSession body shaping and the 404-driven
chat recovery flow including concurrent-recovery dedup and AbortError
passthrough.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>