Documentation
¶
Overview ¶
Package toolfail 工具失败的错误分类契约(门面)。
核心已下沉 `github.com/oagentkit/guardx/toolfail`:失败分类与处置判定是 跨宿主一致的语义,与编排无关,故归 guardx(tier 0 安全层)。本包只做一件事—— 保住调用路径稳定,宿主的 `toolfail.Classify(err)` / `toolfail.ClassifyAs(...)` 调用点一行不动。
为什么归上游而不是留在本仓:判定口径必须**全局一致**。各宿主各判一套必然漂移, 漂移的后果是重试策略静默错乱(对永久失败死循环重试,或对瞬时失败一次就放弃)。 而「同一机制在本仓与上游并存两份实现」正是 docs/OAGENTKIT-OVERLAP.md 警告的事—— 散文说「保持门面」不够,门禁(archcheck 的 facade 判定)才真的守着这条。
本包与任何宿主领域无关:它是 LLM 应用的通用失败处置面。
与上游 mcpkit/mcp.ErrorKind 的分工(互补,不重复):后者判**协议层事实** (连不上/协议错/工具不存在/参数错),本包判**处置层语义**(该不该重试、 能不能原样重发、要不要人工、模型下一步该干什么)。
Index ¶
Constants ¶
View Source
const ( ClassTransient = upstream.ClassTransient ClassPermanent = upstream.ClassPermanent ClassAuthentication = upstream.ClassAuthentication ClassNotFound = upstream.ClassNotFound ClassPermissionDenied = upstream.ClassPermissionDenied ClassInvalidArgument = upstream.ClassInvalidArgument ClassRateLimited = upstream.ClassRateLimited ClassSelfReported = upstream.ClassSelfReported ClassUnknown = upstream.ClassUnknown )
类别常量别名(可成块)。
View Source
const ( IdempotencyUnset = upstream.IdempotencyUnset IdempotencyYes = upstream.IdempotencyYes IdempotencyNo = upstream.IdempotencyNo )
幂等性三态常量别名。
Variables ¶
View Source
var ( ErrTransient = upstream.ErrTransient ErrPermanent = upstream.ErrPermanent ErrAuthentication = upstream.ErrAuthentication ErrNotFound = upstream.ErrNotFound ErrPermissionDenied = upstream.ErrPermissionDenied ErrInvalidArgument = upstream.ErrInvalidArgument ErrRateLimited = upstream.ErrRateLimited )
哨兵错误别名:工具侧可原样返回它们,由 Classify 归类。
Functions ¶
Types ¶
type RetryableReporter ¶
type RetryableReporter = upstream.RetryableReporter
RetryableReporter 错误自报的「可重试」结论。
Click to show internal directories.
Click to hide internal directories.