* Split the inbound WebSocket validator per message type
zod-aot compiled WSOutboundMessageSchema into one 11 MB function. Every
inbound frame, heartbeats included, ran through it, so V8 hosts (daemon
clients, plugin hosts, the CLI, Electron) eventually Maglev-compiled the
whole function: about 800 MB of compiler memory and multi-second stalls,
again after each deoptimization.
Generate a tag-only envelope validator plus one validator per session
message, and dispatch on the message type. Issue paths, defaults and
passthrough behave as before.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Use forward slashes in generated validator imports
path.relative() returns backslash paths on Windows, which break the
import specifiers written into the generated files.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Declare the session export helper as a function
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>