pub fn get_arg<T: DeserializeOwned>( args: &[Value], idx: usize, ) -> Result<T, String>
Extract a typed argument from the args array.