pub fn machine_mutation_context( principal: &Principal, origin: &str, idempotency_key: String, correlation_id: Uuid, causation_id: Option<Uuid>, hop_count: u8, raw_body: &[u8], ) -> Result<(MutationContext, String)>