We should create a functionality to raise an error if there has been no call to tool A before calling tool B in the trace.
The typical use-case would be to raise an error if tool "ask for human input" has not been called before calling a tool that performs a sensitive action.
raise error if:
(not exists call2: ToolCall) -> (call: ToolCall)
call2 is tool:human
call is tool:sensitive_action