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 ¶
- func FencedCodeBlock(language string, content string) string
- type ApplyPatchRenderer
- func (r *ApplyPatchRenderer) RenderCLI(result tools.StructuredToolResult) string
- func (r *ApplyPatchRenderer) RenderMarkdown(result tools.StructuredToolResult) string
- func (r *ApplyPatchRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string
- func (r *ApplyPatchRenderer) RenderToolUseMarkdown(rawInput string) string
- type BashRenderer
- func (r *BashRenderer) RenderCLI(result tools.StructuredToolResult) string
- func (r *BashRenderer) RenderMarkdown(result tools.StructuredToolResult) string
- func (r *BashRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string
- func (r *BashRenderer) RenderToolUseMarkdown(rawInput string) string
- type CLIRenderer
- type CodeExecutionRenderer
- type CustomToolRenderer
- type FileEditRenderer
- func (r *FileEditRenderer) RenderCLI(result tools.StructuredToolResult) string
- func (r *FileEditRenderer) RenderMarkdown(result tools.StructuredToolResult) string
- func (r *FileEditRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string
- func (r *FileEditRenderer) RenderToolUseMarkdown(rawInput string) string
- type FileReadRenderer
- func (r *FileReadRenderer) RenderCLI(result tools.StructuredToolResult) string
- func (r *FileReadRenderer) RenderMarkdown(result tools.StructuredToolResult) string
- func (r *FileReadRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string
- func (r *FileReadRenderer) RenderToolUseMarkdown(rawInput string) string
- type FileWriteRenderer
- func (r *FileWriteRenderer) RenderCLI(result tools.StructuredToolResult) string
- func (r *FileWriteRenderer) RenderMarkdown(result tools.StructuredToolResult) string
- func (r *FileWriteRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string
- func (r *FileWriteRenderer) RenderToolUseMarkdown(rawInput string) string
- type GlobRenderer
- func (r *GlobRenderer) RenderCLI(result tools.StructuredToolResult) string
- func (r *GlobRenderer) RenderMarkdown(result tools.StructuredToolResult) string
- func (r *GlobRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string
- func (r *GlobRenderer) RenderToolUseMarkdown(rawInput string) string
- type GrepRenderer
- func (r *GrepRenderer) RenderCLI(result tools.StructuredToolResult) string
- func (r *GrepRenderer) RenderMarkdown(result tools.StructuredToolResult) string
- func (r *GrepRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string
- func (r *GrepRenderer) RenderToolUseMarkdown(rawInput string) string
- type ImageRecognitionRenderer
- type MCPToolRenderer
- type MarkdownRenderer
- type MergedMarkdownRenderer
- type OpenAIWebSearchRenderer
- type ReadConversationRenderer
- func (r *ReadConversationRenderer) RenderCLI(result tools.StructuredToolResult) string
- func (r *ReadConversationRenderer) RenderMarkdown(result tools.StructuredToolResult) string
- func (r *ReadConversationRenderer) RenderMergedMarkdown(result tools.StructuredToolResult) string
- func (r *ReadConversationRenderer) RenderToolUseMarkdown(rawInput string) string
- type RendererRegistry
- func (r *RendererRegistry) Register(toolName string, renderer CLIRenderer)
- func (r *RendererRegistry) RegisterPattern(pattern string, renderer CLIRenderer)
- func (r *RendererRegistry) Render(result tools.StructuredToolResult) string
- func (r *RendererRegistry) RenderMarkdown(result tools.StructuredToolResult) string
- func (r *RendererRegistry) RenderMergedMarkdown(result tools.StructuredToolResult) string
- func (r *RendererRegistry) RenderToolUseMarkdown(toolName string, rawInput string) string
- type SkillRenderer
- type SubAgentRenderer
- type TodoRenderer
- type ToolUseMarkdownRenderer
- type WebFetchRenderer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FencedCodeBlock ¶
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 ¶
func (r *CodeExecutionRenderer) RenderCLI(result tools.StructuredToolResult) string
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 ¶
func (r *ImageRecognitionRenderer) RenderCLI(result tools.StructuredToolResult) string
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 ¶
func (r *OpenAIWebSearchRenderer) RenderCLI(result tools.StructuredToolResult) string
RenderCLI renders native OpenAI web search results in CLI format.
type ReadConversationRenderer ¶
type ReadConversationRenderer struct{}
ReadConversationRenderer renders read_conversation tool results.
func (*ReadConversationRenderer) RenderCLI ¶
func (r *ReadConversationRenderer) RenderCLI(result tools.StructuredToolResult) string
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 ¶
func (r *RendererRegistry) Render(result tools.StructuredToolResult) string
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 ¶
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.
Source Files
¶
- bash_renderers.go
- code_execution_renderer.go
- custom_tool_renderer.go
- file_renderers.go
- image_recognition_renderer.go
- markdown.go
- mcp_renderer.go
- openai_web_search_renderer.go
- read_conversation_renderer.go
- registry.go
- search_renderers.go
- skill_renderer.go
- subagent_renderer.go
- todo_renderer.go
- web_fetch_renderer.go