Skip to main content

Module scoped

Module scoped 

Expand description

ScopedToolRegistry - the one gated seam that mints the per-agent tool set.

Assembly applies peripherals, built-in policy, ACP memory stripping, MCP scope and policy, capability tools, pinned resources, and skills in that order. This is the intended construction path; the type boundary remains temporarily unsealed while legacy callers still accept raw tool vectors.

Structs§

ScopedAssembled
Output of ScopedToolRegistry::assemble: the scoped registry plus the side-channel handles + the deferred-MCP prompt section the callers thread on.
ScopedAssembly
Inputs to ScopedToolRegistry::assemble. The eager built-ins arrive already built (built); assemble does the policy-bearing steps the sites used to repeat.
ScopedToolRegistry
A per-agent tool registry that has been scoped and gated. The inner field is private and production code can only mint one through ScopedToolRegistry::assemble. Today (the unsealed P1 phase) the engine still takes &[Box<dyn Tool>], so callers dissolve the type via std::ops::Deref or Self::into_inner at the boundary; once every construction site is cut over, the engine’s tools field seals to this type and handing it an unfiltered registry becomes a compile error instead of a review-checklist item.