Smith::Tools::Approver
Inherits Reference < Object
Decides whether a mutating tool call may run. Kept as an interface so the registry — and with it the agent loop — stays free of any UI concern.
Instance methods
approve?(tool : Tool, call : CallRequest) : Bool
Sourcedenial_message(tool : Tool, call : CallRequest) : String
Shown to the LLM as the tool result when a call is refused, so the model can see the blockage in the transcript and choose another route.
governs?(tool : Tool) : Bool
Whether this approver could refuse the tool on its own account. Read-only tools skip the gate entirely unless something here says otherwise.