Files
robinhood-agentic-mcp/client/error.go
T

29 lines
614 B
Go

package client
import "fmt"
// ToolError is a failed MCP tool call or a parse of its result.
type ToolError struct {
Name string // MCP tool name
Message string
Err error // transport/SDK/parse cause; may be nil
}
func (e *ToolError) Error() string {
return "mcp " + e.Name + ": " + e.Message
}
func (e *ToolError) Unwrap() error {
return e.Err
}
// ToolErrorf builds a ToolError. format may use %w so Unwrap works.
func ToolErrorf(name, format string, args ...any) *ToolError {
err := fmt.Errorf(format, args...)
return &ToolError{
Name: name,
Message: err.Error(),
Err: err,
}
}