Skip to main content

Module opening_gate

Module opening_gate 

Source
Expand description

OpeningGate — narrow the very first LLM call’s tool list to a caller-supplied subset.

A common product pattern is “the model must frame / plan / clarify on its opening turn before any work tools are available.” This gate enforces that on the wire: on iteration 0 it advertises only the tools whose names are in the configured allowlist (intersected with the tools the registry actually has); from iteration 1 on it imposes no narrowing. Pair it with a system-prompt sentence that explains the same contract in prose — the wire-level constraint is harder for a model to ignore than text instructions.

The gate ships no default allowlist: it is vocabulary-free, so the core stays free of any product’s tool names. Callers supply the opening subset via OpeningGate::with_allowlist. Composes with other ToolGate plugins through allowlist intersection.

Structs§

OpeningGate
Narrows iteration 0’s tool advertisement to a caller-supplied subset. Composes via allowlist intersection with other ToolGate plugins.