e2221161a8
WebAssembly memory can grow (and return a new ArrayBuffer) during an async host function call. Reading memory.buffer before await and using it after the await causes host functions (kv_get / crypto_decrypt / crypto_sign_rs256 / http_request) to write into a detached buffer, so the WASM side reads zero bytes → empty string → JSON parse failure. Fix: read inputs before await using the current buffer snapshot, then call memory.buffer again after the await to write the result. For crypto_sign_rs256 and http_request, input arrays are copied before await so the snapshot can be released. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>