/** * 模块: 工具安全补充(非侵入) * * 设计原则: * - 龙虾自带 `tools.allow` / `tools.deny` / sandbox 权限模型。本模块**不**替代它。 * - 本模块只补充龙虾原生规则无法表达的颗粒度(例如 glob pathPattern、命令子串模式)。 * - 匹配到规则只走两种路径: * hardblock → 直接拒绝(相当于龙虾 deny 的补充规则) * block → 通过龙虾 requireApproval 弹窗由用户决定(非阻塞) * 其它命中只写 safety_log 审计表,不阻塞,不复制龙虾已有的决定。 * - after_tool_call 只做错误分类 + 指数退避建议,**不伪造重试**(龙虾主循环才有重试权); * 分类结果写 safety_log 供仪表盘/工具检索。 */ import type { OpenClawPluginApi } from "openclaw/plugin-sdk"; import { type SafetyConfig } from "../types.js"; export type ErrorCategory = "rate_limit" | "server_error" | "network_error" | "auth_error" | "timeout_error" | "unknown_error"; export declare function registerToolSafety(api: OpenClawPluginApi, config?: SafetyConfig): void;