Is a resource allocation problem in mechanism design a direct or indirect mechanism? From L. Hurwicz's work and book "Designing Economic Mechanisms," I cannot figure out whether a resource allocation problem in mechanism design is a direct or indirect mechanism.

I think the answer is yes since a resource allocation mechanism can be described as a tuple of two components, i.e., $\langle M, g \rangle$, where $M = (M_1, \ldots, M_n)$ and $M_i$ defines the set of possible messages of agent $i$. By writing the agents' complete message space as

$$\mathcal{M} = M_1 \times M_2 \times \cdots \times M_n$$

we can define the outcome function $g$ as

$$g : \mathcal{M} \to \mathcal{O},$$

where $\mathcal{O}$ is the output space defined by

$$\mathcal{O} = \{(\theta_1, \ldots, \theta_n), (t_1, \ldots, t_n) \; | \; \theta_i \in \mathbb{R}_{ &gt; 0}, \; t_i \in \mathbb{R} \}.$$

Then, the outcome function $g$ determines the outcome, namely $g(\mu)$ for any given message profile $\mu = (m_1, \ldots, m_n) \in \mathcal{M}$ and the payment function is defined as

$$t_i : \mathcal{M} \to \mathbb{R}$$

which determines the monetary payment made or received by agent $i \in \mathcal{I}$.
By definition, a direct mechanism is a mechanism that asks all agents for their types and then produces some outcome. Formally, it is a mechanism $\langle M,g\rangle$ in which $M_i$ is wlog equal to $i$'s type space, usually denoted by $\Theta_i$.

In your example, there is no such restriction. However, for any indirect mechanism there exists an equivalent direct mechanism. This result is called the revelation principle.