package tools import "fmt" // ToolResult 工具统一返回结构。Code=0 表示成功,非 0 为业务/内部错误码; // 调用方(工作流前置/后置钩子、模型 function calling)统一按 Code 判断结果。 type ToolResult struct { Code int `json:"code"` // 0=成功,非 0=失败 Message string `json:"message"` // 成功说明或错误信息 Data any `json:"data,omitempty"` } // 标准错误码。业务工具可自定义扩展 >500 的错误码。 const ( CodeOK = 0 // 成功 CodeInvalidArgs = 400 // 入参缺失或格式错误 CodeNotFound = 404 // 工具/数据不存在 CodeInternal = 500 // 内部执行错误 ) // OK 构造成功结果 func OK(data any) ToolResult { return ToolResult{Code: CodeOK, Data: data} } // Fail 构造失败结果,message 支持 fmt 格式化 func Fail(code int, format string, args ...any) ToolResult { return ToolResult{Code: code, Message: fmt.Sprintf(format, args...)} }