feat: add MCP enums, ToolError, and Caller

This commit is contained in:
2026-09-01 11:26:23 -05:00
parent 7d549fda58
commit e80095525d
5 changed files with 128 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
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,
}
}