/** * Tool visibility categories. * * Franklin ships with ~27 capabilities. Exposing all of them on every turn * makes the tool inventory large enough that weak models start hallucinating * tool names or emitting role-play "[TOOLCALL]" fragments. The compromise: * keep the hero surface always-on (file/shell/search PLUS the trading and * research tools that define Franklin's category), and gate the long tail * (webhook, imagegen, videogen, musicgen, memory, etc.) behind an * `ActivateTool` meta-tool the agent pulls on demand. * * History: earlier releases kept only file/shell/search in core, which made * mid-tier models answer stock / market questions from 2022 training data * instead of calling TradingMarket. That's anti-positioning for an agent * whose whole brand is "spends USDC for real market data." Hero tools now * live in the always-on set so the default experience shows the wallet * actually at work. */ export declare const CORE_TOOL_NAMES: ReadonlySet; /** True if this tool is always available without activation. */ export declare function isCoreTool(name: string): boolean; /** * Env opt-out: setting `FRANKLIN_DYNAMIC_TOOLS=0` disables the core/on-demand * split and exposes every registered tool on every turn (pre-3.8.9 behavior). * Kept as a safety valve for users whose workflows depend on the full surface. */ export declare function dynamicToolsEnabled(): boolean;