feat: add MCP enums, ToolError, and Caller
This commit is contained in:
@@ -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,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user