export type ToolRiskLevel = 'low' | 'medium' | 'high' | 'critical'; export interface ToolRiskAssessment { level: ToolRiskLevel; score: number; reasons: string[]; requiresConfirmation: boolean; } /** 工具安全策略(从上层注入) */ export interface ToolSecurityPolicy { allowTools: string[]; denyTools: string[]; toolBaseRisk: Record; dangerousPatterns: Array<{ pattern: string; reason: string; level: ToolRiskLevel; }>; /** * 当前 Agent 实际注册(可用)的工具名清单。 * 用于让风险评估与实际能力集绑定:未注册的工具根本无法执行, * 无需确认即可直接判为 low。上层不传则维持旧行为(按静态基线评估)。 */ registeredTools?: string[]; /** * 是否对「未注册工具」进行完整评估。 * - false(默认):未出现在 registeredTools 的工具直接判 low(不执行,无需确认)。 * - true:即使未注册也按 TOOL_BASE_RISK / policy 规则评估(兼容旧语义)。 */ recognizeUnknown?: boolean; } /** 策略提供者接口(上层实现) */ export type ToolSecurityPolicyProvider = () => ToolSecurityPolicy; /** 低风险快速判定:不在基础风险表 + 非 MCP 工具 → 始终 low */ export declare function isLowRiskTool(tool: string): boolean; /** 清除风险评估缓存(策略变更时调用) */ export declare function clearRiskCache(): void; /** 注册策略提供者(上层应用启动时调用) */ export declare function setToolSecurityPolicyProvider(provider: ToolSecurityPolicyProvider): void; export declare function assessToolRisk(tool: string, args?: Record): ToolRiskAssessment; //# sourceMappingURL=risk.d.ts.map