mirror of
https://github.com/harivansh-afk/clanker-agent.git
synced 2026-04-15 14:03:49 +00:00
42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
/**
|
|
* Tool HTML renderer for custom tools in HTML export.
|
|
*
|
|
* Renders custom tool calls and results to HTML by invoking their TUI renderers
|
|
* and converting the ANSI output to HTML.
|
|
*/
|
|
import type { Theme } from "../../modes/interactive/theme/theme.js";
|
|
import type { ToolDefinition } from "../extensions/types.js";
|
|
export interface ToolHtmlRendererDeps {
|
|
/** Function to look up tool definition by name */
|
|
getToolDefinition: (name: string) => ToolDefinition | undefined;
|
|
/** Theme for styling */
|
|
theme: Theme;
|
|
/** Terminal width for rendering (default: 100) */
|
|
width?: number;
|
|
}
|
|
export interface ToolHtmlRenderer {
|
|
/** Render a tool call to HTML. Returns undefined if tool has no custom renderer. */
|
|
renderCall(toolName: string, args: unknown): string | undefined;
|
|
/** Render a tool result to HTML. Returns undefined if tool has no custom renderer. */
|
|
renderResult(
|
|
toolName: string,
|
|
result: Array<{
|
|
type: string;
|
|
text?: string;
|
|
data?: string;
|
|
mimeType?: string;
|
|
}>,
|
|
details: unknown,
|
|
isError: boolean,
|
|
): string | undefined;
|
|
}
|
|
/**
|
|
* Create a tool HTML renderer.
|
|
*
|
|
* The renderer looks up tool definitions and invokes their renderCall/renderResult
|
|
* methods, converting the resulting TUI Component output (ANSI) to HTML.
|
|
*/
|
|
export declare function createToolHtmlRenderer(
|
|
deps: ToolHtmlRendererDeps,
|
|
): ToolHtmlRenderer;
|
|
//# sourceMappingURL=tool-renderer.d.ts.map
|