renderers

package
v0.3.28-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package renderers provides CLI output rendering functionality for tool results. It includes a registry system for managing tool renderers and supports pattern-based matching for custom and MCP tools.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FencedCodeBlock

func FencedCodeBlock(language string, content string) string

FencedCodeBlock wraps content in a markdown code fence longer than any backtick run inside it.

Types

type ApplyPatchRenderer

type ApplyPatchRenderer struct{}

ApplyPatchRenderer renders apply_patch results.

func (*ApplyPatchRenderer) RenderCLI

func (r *ApplyPatchRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders apply_patch results with a summary and unified diffs.

func (*ApplyPatchRenderer) RenderMarkdown

func (r *ApplyPatchRenderer) RenderMarkdown(result tools.StructuredToolResult) string

RenderMarkdown renders apply_patch results in markdown format.

func (*ApplyPatchRenderer) RenderMergedMarkdown

func (r *ApplyPatchRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string

RenderMergedMarkdown renders apply_patch results for the merged tool-call view.

func (*ApplyPatchRenderer) RenderToolUseMarkdown

func (r *ApplyPatchRenderer) RenderToolUseMarkdown(rawInput string) string

RenderToolUseMarkdown renders apply_patch invocation inputs in markdown format.

type BashRenderer

type BashRenderer struct{}

BashRenderer renders bash command results

func (*BashRenderer) RenderCLI

func (r *BashRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders bash command execution results in CLI format, including command details, exit code, execution time, and output.

func (*BashRenderer) RenderMarkdown

func (r *BashRenderer) RenderMarkdown(result tools.StructuredToolResult) string

RenderMarkdown renders bash results in markdown format.

func (*BashRenderer) RenderMergedMarkdown

func (r *BashRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string

RenderMergedMarkdown renders bash results for the merged tool-call view.

func (*BashRenderer) RenderToolUseMarkdown

func (r *BashRenderer) RenderToolUseMarkdown(rawInput string) string

RenderToolUseMarkdown renders bash invocation inputs in markdown format.

type CLIRenderer

type CLIRenderer interface {
	RenderCLI(result tools.StructuredToolResult) string
}

CLIRenderer interface for rendering structured tool results to CLI output

type CodeExecutionRenderer

type CodeExecutionRenderer struct{}

CodeExecutionRenderer renders code execution results

func (*CodeExecutionRenderer) RenderCLI

RenderCLI renders code execution results in CLI format, showing the runtime, code executed, and the output produced.

type CustomToolRenderer

type CustomToolRenderer struct{}

CustomToolRenderer renders custom tool results

func (*CustomToolRenderer) RenderCLI

func (r *CustomToolRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders custom tool execution results in CLI format, including the tool name, execution time, and output.

type FileEditRenderer

type FileEditRenderer struct{}

FileEditRenderer renders file edit results

func (*FileEditRenderer) RenderCLI

func (r *FileEditRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders file edit results in CLI format with unified diff output, showing the file path, number of replacements, and the changes made to the file.

func (*FileEditRenderer) RenderMarkdown

func (r *FileEditRenderer) RenderMarkdown(result tools.StructuredToolResult) string

RenderMarkdown renders file edit results in markdown format.

func (*FileEditRenderer) RenderMergedMarkdown

func (r *FileEditRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string

RenderMergedMarkdown renders file_edit results for the merged tool-call view.

func (*FileEditRenderer) RenderToolUseMarkdown

func (r *FileEditRenderer) RenderToolUseMarkdown(rawInput string) string

RenderToolUseMarkdown renders file_edit invocation inputs in markdown format.

type FileReadRenderer

type FileReadRenderer struct{}

FileReadRenderer renders file read results

func (*FileReadRenderer) RenderCLI

func (r *FileReadRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders file read results in CLI format with line numbers, showing the file path, offset, content, and truncation status if applicable.

func (*FileReadRenderer) RenderMarkdown

func (r *FileReadRenderer) RenderMarkdown(result tools.StructuredToolResult) string

RenderMarkdown renders file read results in markdown format.

func (*FileReadRenderer) RenderMergedMarkdown

func (r *FileReadRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string

RenderMergedMarkdown renders file_read results for the merged tool-call view.

func (*FileReadRenderer) RenderToolUseMarkdown

func (r *FileReadRenderer) RenderToolUseMarkdown(rawInput string) string

RenderToolUseMarkdown renders file_read invocation inputs in markdown format.

type FileWriteRenderer

type FileWriteRenderer struct{}

FileWriteRenderer renders file write results

func (*FileWriteRenderer) RenderCLI

func (r *FileWriteRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders file write results in CLI format, showing the file path and size.

func (*FileWriteRenderer) RenderMarkdown

func (r *FileWriteRenderer) RenderMarkdown(result tools.StructuredToolResult) string

RenderMarkdown renders file write results in markdown format.

func (*FileWriteRenderer) RenderMergedMarkdown

func (r *FileWriteRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string

RenderMergedMarkdown renders file_write results for the merged tool-call view.

func (*FileWriteRenderer) RenderToolUseMarkdown

func (r *FileWriteRenderer) RenderToolUseMarkdown(rawInput string) string

RenderToolUseMarkdown renders file_write invocation inputs in markdown format.

type GlobRenderer

type GlobRenderer struct{}

GlobRenderer renders glob file pattern results

func (*GlobRenderer) RenderCLI

func (r *GlobRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders glob pattern search results in CLI format, showing the pattern, path, matched files with sizes, type indicators, and truncation status.

func (*GlobRenderer) RenderMarkdown

func (r *GlobRenderer) RenderMarkdown(result tools.StructuredToolResult) string

RenderMarkdown renders glob pattern results in markdown format.

func (*GlobRenderer) RenderMergedMarkdown

func (r *GlobRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string

RenderMergedMarkdown renders glob pattern results for the merged tool-call view.

func (*GlobRenderer) RenderToolUseMarkdown

func (r *GlobRenderer) RenderToolUseMarkdown(rawInput string) string

RenderToolUseMarkdown renders glob_tool invocation inputs in markdown format.

type GrepRenderer

type GrepRenderer struct{}

GrepRenderer renders grep search results

func (*GrepRenderer) RenderCLI

func (r *GrepRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders grep search results in CLI format, showing the search pattern, path, include filter, matched files with line numbers, and truncation status.

func (*GrepRenderer) RenderMarkdown

func (r *GrepRenderer) RenderMarkdown(result tools.StructuredToolResult) string

RenderMarkdown renders grep search results in markdown format.

func (*GrepRenderer) RenderMergedMarkdown

func (r *GrepRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string

RenderMergedMarkdown renders grep search results for the merged tool-call view.

func (*GrepRenderer) RenderToolUseMarkdown

func (r *GrepRenderer) RenderToolUseMarkdown(rawInput string) string

RenderToolUseMarkdown renders grep_tool invocation inputs in markdown format.

type ImageRecognitionRenderer

type ImageRecognitionRenderer struct{}

ImageRecognitionRenderer renders image recognition results

func (*ImageRecognitionRenderer) RenderCLI

RenderCLI renders image recognition results in CLI format, showing the image path, type, prompt, and analysis results.

type MCPToolRenderer

type MCPToolRenderer struct{}

MCPToolRenderer renders MCP tool results

func (*MCPToolRenderer) RenderCLI

func (r *MCPToolRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders MCP tool execution results in CLI format, including the tool name, server name, parameters, structured content, and execution time.

type MarkdownRenderer

type MarkdownRenderer interface {
	RenderMarkdown(result tools.StructuredToolResult) string
}

MarkdownRenderer renders structured tool results to markdown.

type MergedMarkdownRenderer

type MergedMarkdownRenderer interface {
	RenderMergedMarkdown(result tools.StructuredToolResult) string
}

MergedMarkdownRenderer renders a tool result for the merged tool-call view.

type OpenAIWebSearchRenderer

type OpenAIWebSearchRenderer struct{}

OpenAIWebSearchRenderer renders native OpenAI web search results.

func (*OpenAIWebSearchRenderer) RenderCLI

RenderCLI renders native OpenAI web search results in CLI format.

type ReadConversationRenderer

type ReadConversationRenderer struct{}

ReadConversationRenderer renders read_conversation tool results.

func (*ReadConversationRenderer) RenderCLI

RenderCLI renders read_conversation results in CLI format.

func (*ReadConversationRenderer) RenderMarkdown

func (r *ReadConversationRenderer) RenderMarkdown(result tools.StructuredToolResult) string

RenderMarkdown renders read_conversation results in markdown format.

func (*ReadConversationRenderer) RenderMergedMarkdown

func (r *ReadConversationRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string

RenderMergedMarkdown renders read_conversation results for the merged tool-call view.

func (*ReadConversationRenderer) RenderToolUseMarkdown

func (r *ReadConversationRenderer) RenderToolUseMarkdown(rawInput string) string

RenderToolUseMarkdown renders read_conversation invocation inputs in markdown format.

type RendererRegistry

type RendererRegistry struct {
	// contains filtered or unexported fields
}

RendererRegistry manages tool renderers with pattern matching support

func NewRendererRegistry

func NewRendererRegistry() *RendererRegistry

NewRendererRegistry creates and initializes a new renderer registry

func (*RendererRegistry) Register

func (r *RendererRegistry) Register(toolName string, renderer CLIRenderer)

Register adds a renderer for a specific tool name

func (*RendererRegistry) RegisterPattern

func (r *RendererRegistry) RegisterPattern(pattern string, renderer CLIRenderer)

RegisterPattern adds a renderer for a pattern (e.g., "mcp_*")

func (*RendererRegistry) Render

Render finds the appropriate renderer and renders the result

func (*RendererRegistry) RenderMarkdown

func (r *RendererRegistry) RenderMarkdown(result tools.StructuredToolResult) string

RenderMarkdown finds the appropriate renderer and renders the result as markdown.

func (*RendererRegistry) RenderMergedMarkdown

func (r *RendererRegistry) RenderMergedMarkdown(result tools.StructuredToolResult) string

RenderMergedMarkdown renders a tool result for the merged tool-call view.

func (*RendererRegistry) RenderToolUseMarkdown

func (r *RendererRegistry) RenderToolUseMarkdown(toolName string, rawInput string) string

RenderToolUseMarkdown renders tool invocation input as markdown.

type SkillRenderer

type SkillRenderer struct{}

SkillRenderer renders skill tool results

func (*SkillRenderer) RenderCLI

func (r *SkillRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders skill results in CLI format

type SubAgentRenderer

type SubAgentRenderer struct{}

SubAgentRenderer renders subagent results

func (*SubAgentRenderer) RenderCLI

func (r *SubAgentRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders subagent execution results in CLI format, showing the question (if available) and the response.

type TodoRenderer

type TodoRenderer struct{}

TodoRenderer renders todo list results

func (*TodoRenderer) RenderCLI

func (r *TodoRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders todo list results in CLI format, showing statistics and todo items with status icons, priorities, IDs, and content.

type ToolUseMarkdownRenderer

type ToolUseMarkdownRenderer interface {
	RenderToolUseMarkdown(rawInput string) string
}

ToolUseMarkdownRenderer renders tool invocation inputs to markdown.

type WebFetchRenderer

type WebFetchRenderer struct{}

WebFetchRenderer renders web fetch results

func (*WebFetchRenderer) RenderCLI

func (r *WebFetchRenderer) RenderCLI(result tools.StructuredToolResult) string

RenderCLI renders web fetch results in CLI format, showing the URL, saved path (if applicable), prompt (if used), and the fetched content.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL