Group of 2 Under the hood
Session and permission setup now pass tool-list access (getAllBaseTools, getTools, assembleToolPool) through a shared toolCatalog object instead of calling separate global functions.
What
- The code that builds the tool permission context (which tools are allowed/disallowed, including
--toolsnarrowing) now receivesgetAllBaseToolsas an explicit parameter instead of calling a fixed global function directly. - Session and agent setup (main loop, subagents, resumed sessions) now threads a shared
toolCatalogobject ({ getAllBaseTools, getTools, assembleToolPool }) throughoptions, alongside the existingtoolsfield, replacing scattered direct calls.
Why This is an internal cleanup that makes tool-list access consistent and explicit across the codebase, reducing the chance of different code paths using mismatched or stale tool lists.