Clone Bytes bodies before sending so they can be resent on 307/308
Preserve redirects. For stream bodies that can't be replayed, return
an error instead of silently dropping the body. Also fix dropped_body
metadata to accurately reflect whether the body was actually dropped.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Events stream in via model_write listener while also being fetched
from the database. If the DB fetch completed before all events were
persisted, replaceModelsInStore would wipe out events that came in
via model_write.
Added mergeModelsInStore that adds fetched events without removing
existing ones. Applied to HTTP, gRPC, and WebSocket event hooks.