In Algorithmic Game Theory by Noam Nisan, a (general) mechanism for $n$ player is defined as
$$ M=(\{T_i\},\{X_i\},A,\{v_i\},a,\{p_i\}),\tag1 $$
where $T_1,\dots,T_n$ are the players' type spaces (private information), $X_1,\dots,X_n$ are the players' action spaces, $A$ is the set of alternatives, each $v_i:T_i\times A\to\mathbf R$ is a valuation for player $i$, $a:\times X_i\to A$ is the outcome function, and each $p_i:\times X_i\to\mathbf R$ is the amount that player $i$ pays. (pg. 224 here).
On the other hand, a direct revelation mechanism (pg. 218) is defined as
$$ (f,p_1,\dots,p_n), $$
where $f:V_1\times\dots\times V_n\to A$ is a social choice function from a set $V_i$ of individual preferences $v_i:A\to\mathbf R$ to an alternative, and each $p_i:V_1\times\dots\times V_n\to\mathbf R$ is the amount that player $i$ pays.
Question: How can I recover a direct revelation mechanism from the definition of a general mechanism? More specifically, what should the parameters in $(1)$ be set to, in order to obtain a direct revelation mechanism?
Thank you.