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 only production construction path: the engine’s turn-entry carriers (ResolvedIo / ResolvedAgentExecution), Agent, and the channel runtime context all store the sealed type, so an unscoped registry cannot reach a turn without going through ScopedToolRegistry::assemble.

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. The engine’s turn-entry carriers (ResolvedIo / ResolvedAgentExecution), Agent, and the channel runtime context store this type directly, so handing the engine an unfiltered registry is a compile error, not a review-checklist item. Read sites are unchanged: the registry std::ops::Derefs to the same [Box<dyn Tool>] slice the raw Vec used to expose.