pub fn expr_to_envelope(expr: &Expr) -> Result<McpEnvelope>Expand description
Validate a canonical Expr map back into a typed McpEnvelope.
The map must declare mcp: "2.0" and exactly the field set of one envelope
variant; unknown, duplicate, or mismatched fields are rejected, so the
codec fails closed on non-MCP input.
ยงExamples
use sim_codec_mcp::{McpEnvelope, McpResponse, envelope_to_expr, expr_to_envelope};
let expr = envelope_to_expr(&McpEnvelope::Response(McpResponse::default()));
assert!(matches!(expr_to_envelope(&expr).unwrap(), McpEnvelope::Response(_)));