renderers

package
v0.5.0-beta Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2026 License: MIT Imports: 8 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 extension 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 ExtensionToolRenderer

type ExtensionToolRenderer struct{}

ExtensionToolRenderer renders extension tool results.

func (*ExtensionToolRenderer) RenderCLI

RenderCLI renders extension tool execution results in CLI format.

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 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., "prefix_*")

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 ToolUseMarkdownRenderer

type ToolUseMarkdownRenderer interface {
	RenderToolUseMarkdown(rawInput string) string
}

ToolUseMarkdownRenderer renders tool invocation inputs to markdown.

type ViewImageRenderer

type ViewImageRenderer struct{}

ViewImageRenderer renders view_image results.

func (*ViewImageRenderer) RenderCLI

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

RenderCLI renders view_image results in CLI format.

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