Replace newline-delimited text protocol with length-prefixed blobs for all response data (send_ok_string, send_ok_raw). The OCaml side sends (ok-len N)\n followed by exactly N raw bytes + \n. Python reads the length, then readexactly(N). This eliminates all pipe desync issues: - No escaping needed for any content (HTML, SX with newlines, quotes) - No size limits (1MB+ responses work cleanly) - No multi-line response splitting - No double-escaping bugs The old (ok "...") and (ok-raw ...) formats are still parsed as fallbacks for backward compatibility. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
33 KiB
33 KiB