fix: use byte-level search for split flight boundary
The previous implementation used string.indexOf() which returns
a character index, then used that index to slice a Uint8Array buffer.
This caused data corruption when the buffer contained multi-byte
UTF-8 characters (emoji, non-ASCII, etc.) because character indices
don't match byte indices.
Added findBoundaryIndex() helper that searches for the boundary
bytes directly in the buffer, ensuring correct splitting regardless
of UTF-8 encoding.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>