Skip to main content

expr_to_envelope

Function expr_to_envelope 

Source
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(_)));