/** * Built-in tool renderers, without the tools themselves. * * A presentation displays tool calls and results; it does not execute them and does not need their * typebox parameter schemas. Importing this instead of `core/tools/index.ts` keeps ~17 MB of module * graph out of a process that only renders. */ import type { ToolDefinition } from "../../extensions/types.ts"; import type { ToolName } from "../index.ts"; import { createShellRenderers } from "./bash.ts"; import { editRenderers } from "./edit.ts"; import { findRenderers } from "./find.ts"; import { grepRenderers } from "./grep.ts"; import { lsRenderers } from "./ls.ts"; import { readRenderers } from "./read.ts"; import { writeRenderers } from "./write.ts"; export type ToolRenderers = Pick, "renderCall" | "renderResult">; export { createShellRenderers, editRenderers, findRenderers, grepRenderers, lsRenderers, readRenderers, writeRenderers, }; /** Renderers for every built-in tool, keyed by tool name. */ export declare function createAllToolRenderers(): Record; /** * Merge built-in renderers into a tool definition that does not supply its own. * * `ToolExecutionComponent` used to do this lookup itself, which forced every presentation to import * the tool implementations. Callers do it now, so a process that renders can import renderers alone. */ export declare function withBuiltInRenderers(toolName: string, definition: TDefinition | undefined): TDefinition | ToolRenderers | undefined;