import type { HarnessToolDefinition } from "#harness/execute-tool.js"; import type { ContextKey } from "#context/key.js"; /** * Builds live dynamic tool definitions. Narrower scopes appear first * so they win on name collision (the tool-loop uses `??=` for dedup). * * Step tools are live closures (re-resolved every step via * `LiveStepToolsKey`). Session/turn tools are replayed from durable * metadata via the bundler's registered step functions. */ export declare function buildDynamicTools(ctx: { get(key: ContextKey): T | undefined; }): readonly HarnessToolDefinition[];