Skip to main content
The server half of the tool guard for code-first agents. When a guarded tool fires during a Roark test call, send the invocation here instead of executing it: Roark answers with a simulated backend response that is valid JSON, shaped by the tool contract you pass, consistent with the test scenario, and consistent with earlier mocked responses in the same call. Real callers are never affected: the guard only diverts when the agent-config resolve response identified the session as a Roark simulation, and this endpoint independently re-validates the simulation before answering. Failure contract for your wrapper: 404 means the simulation id is unknown to this project (treat the session as real). 409 means the simulation has already ended (stale session state: do NOT execute the real tool; return your static fallback). 5xx means generation failed (return your static fallback). Identical retries (same tool, same arguments) within a few minutes return the stored response, so double-fired handlers stay consistent.
Calls POST /v1/simulation/tool-mock

Options

string
required
The simulation this session belongs to, from the agent-config resolve response (simulationJobId). Roark re-validates it against the live simulation before answering.
string
Your session or room identifier, echoed back in logs for correlation.
string
required
The tool the agent invoked.
string
The tool’s contract: its description and, ideally, its parameter and return shape. The more contract you pass, the more faithful the simulated response.
object
The arguments the agent called the tool with, verbatim.

Example

Every command also takes the global options and sets one of the exit codes.