Smith::Tools::PlanApprover
Inherits Smith::Tools::Approver < Reference < Object
Plan mode. Refuses every mutating tool without asking — the point of plan mode is that nothing changes until the user has seen a plan, so there is nothing to prompt about.
bash is blocked wholesale rather than only for writing commands: telling
a reading shell command from a writing one is not reliably decidable (see
the caveats on AllowList below).
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.