Skip to content

decodeServerEnvelope

decodeServerEnvelope(raw): Result<ServerEnvelope, EnvelopeError>

Defined in: packages/protocol/src/lib/envelope.ts:548

Decodes an engine-host → client frame into a typed ServerEnvelope.

Same input handling and failure semantics as decodeClientEnvelope, validated against the ServerEnvelopeSchema direction. Returns a Result; never throws.

unknown

Result<ServerEnvelope, EnvelopeError>

// connector onmessage handler
const decoded = decodeServerEnvelope(event.data);
if (isErr(decoded)) { console.error(decoded.error.message); return; }
switch (decoded.value.type) {
case 'engine.maelstrom.response': resolve(decoded.value.requestId, decoded.value.response); break;
case 'engine.history.response': ...; break;
case 'engine.error': reject(decoded.value.requestId, decoded.value.error); break;
}