You're building an agent that can use multiple tools during one task. A common pattern is taking output from one tool, like a search result, then turning it into the right input for another tool, like a database query. You need the agent to do this reliably without blindly passing along bad or malicious tool output.
How would you let an agent compose tools, for example chaining a search result into a database query?