permittedToolNames
function permittedToolNames(active): Set<string> | null;Union of every declaring active skill’s allowed tools plus framework skill tools.
Returns null when unrestricted — not an empty set (empty means nothing is allowed).
A skill with no allowed-tools imposes no restriction and does not widen one: if skill A
declares alpha and skill B declares nothing, the permitted set is {alpha} ∪ framework,
not unrestricted. Loading a second unconstrained skill must not dissolve an active boundary.
allowed-tools is a guard-rail for an honest model that makes mistakes, not a boundary
against an adversarial one: load_skill is always permitted, and the permitted set is the
union across active skills, so a model restricted by skill A can activate skill B and gain
B’s tools. A missed activation (wrong name, or the model chose not to load) restricts
nothing. For an unconditional restriction, set an agent policy.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
|
|
readonly |
Returns
Section titled “Returns”Set<string> | null