The confirm-and-execute primitive: a client tool whose confirmed answer runs a privileged
mutation on the server instead of only rendering data the client already had.
What a chatbot tool requires of its caller: checked against the turn before the tool is
offered to the LLM, and against the call’s own arguments before it runs.
Which categories of tools a chatbot configuration offers the LLM, independent of
crate::chatbot_tools::tool_authorization::ToolRequirement: a category answers “does this
chatbot offer this kind of tool”, not “may this caller use it”.
Why a client tool call cannot go ahead, when the client’s answer to it (or the plan to suspend
on it) has to become an explanation for the model rather than an error.
The name of a client tool, generated into the frontend as a string union so it names one of
[ClientChatbotTool::NAME] by construction instead of by a hand-copied literal.
The public page a certificate’s verification id addresses, which is also where its image is
viewed. Kept in sync by hand with certificateValidateRoute in
shared-module/packages/common/src/utils/routes.ts.
Wraps tool output for the LLM so that data from outside the conversation cannot be read as
instructions about it, and enforces the one size limit every tool output has to respect.
An absolute {base_url}{path} URL with a single percent-encoded search query parameter.
search can contain characters (e.g. a + in an email’s local part) that are not safe to
interpolate into a query string directly.