Versions in this module Expand all Collapse all v0 v0.8.8 Jul 5, 2026 Changes in this version + var DispatchMCP func(ctx context.Context, toolName, argsRaw string) (result, warning string, err error) v0.8.7 Jun 13, 2026 v0.8.6 Jun 11, 2026 Changes in this version + var HandleMCPCall func(ctx context.Context, toolName, argsRaw string) (result, warning string, err error) + var MCPToolList func(ctx context.Context) []Tool v0.8.5 Jun 7, 2026 v0.8.4 Jun 5, 2026 Changes in this version + var DefaultToolResultTruncator = &ToolResultTruncator + func Error(err error) string + func FixBrokenJSON(broken string) (result string) + func GetOrCreateTool(name, description, category string) (int64, error) + func GetTokenFromNetrc(host string) (string, error) + func GetToolDisplayName(name string) string + func HandleToolCall(ctx context.Context, toolName, argsRaw string) (result, warning string, err error) + func HandleToolCalls(ctx context.Context, tcs []prompt.ToolCall) (inputs []prompt.Message) + func KnownToolNames() []string + func RecordToolUsage(ctx context.Context, toolID int64, success bool, errorMsg string) error + func RegisterTool(tool ToolDef) + func ToArrayType[T PrimitiveType](anyValues []any, anyValuesLen int) []T + func ToolArgsValue[T Primitive](args ToolArgs, key string, defaultValue T) T + func TruncateHead(s string, maxLen int) string + func TruncateHeadTail(s string, maxLen int) string + func TruncateJSON(content string, maxRunes int) string + func TruncateMarkdown(content string, maxRunes int) string + func TruncateSummary(result string, maxRunes int) string + func TruncateTail(s string, maxLen int) string + func TruncateToolResult(result string) string + type ArrayType interface + type Function struct + Description string + Name string + Parameters map[string]any + Strict bool + type NetrcEntry struct + Login string + Machine string + Password string + func ParseNetrc(path string) ([]NetrcEntry, error) + type Primitive interface + type PrimitiveType interface + type Tool struct + Function Function + Type string + func GetAllTools(ctx context.Context) []Tool + func (t *Tool) GetTokens() int + type ToolArgs map[string]any + type ToolContent struct + Error string + Index int + Result string + ToolName string + Warning string + func (tc *ToolContent) String() (content string) + type ToolDef struct + Category string + Description string + DisplayName string + Handler func(ctx context.Context, args ToolArgs) (result, warning string, err error) + Name string + Parameters map[string]any + Strict bool + Timeout time.Duration + func GetToolDef(ctx context.Context, toolName string) (tool ToolDef, ok bool) + type ToolDesc struct + Category string + CreatedAt time.Time + Description string + ID int64 + Name string + UpdatedAt time.Time + UsageCount int + func GetTool(id int64) (*ToolDesc, error) + func GetToolByName(name string) (*ToolDesc, error) + func ListTools(category string) ([]ToolDesc, error) + type ToolResultTruncator struct + KeepBothEnds bool + MaxBytes int + MaxRunes int + TruncationMarker string + func (t *ToolResultTruncator) Truncate(result string) string + type ToolUsage struct + ErrorMsg string + ID int64 + ProjectPath string + Success bool + ToolID int64 + UsedAt time.Time + type ToolUsageStat struct + LastUsed time.Time + Name string + SuccessRate float64 + UsageCount int + func GetProjectToolUsage(ctx context.Context, days int) ([]ToolUsageStat, error) + func GetToolUsageStats(days int) ([]ToolUsageStat, error)