@ agenticprimitives/tool-policy (原始内容存档于2018-09-30) (英语)
部分 代理先导 ——代理应用程序的开源信任底板:可以签名的身份,行为时间检查权限,所有者携带的证据. 开发者工具包 • 妇女 所有软件包
每一个代表团都有一个模式——这就是决定的层次.
特工们比任何人都快获得工具访问权 决定这些工具应该允许做什么 通常的答案是OAuth瞄准镜字符串或API密钥并附有祷告——粗糙,有运输载体,对风险保持沉默. 此套件是缺少的决断层:分类分类( C) :@sa-tool, (中文(简体) ), @sa-auth, (中文(简体) ), @sa-validation, (中文(简体) ), @sa-risk-tier 使用TTL夹子的风险等级和需要的外观,精确的DSL用于字节精确的链上通话,以及决定性的决策引擎 evaluatePolicy(ctx) 返回时 allow, (中文(简体) ), deny,或 requires-consent,同样的答案 对于相同的输入,每次。 未知的分类域已关闭 .
没错 故意免费运输:没有MCP SDK,没有LangChain,没有Vercel AI进口(ADR-0003 (韩语)) (中文(简体) ). 一个 LangGraph 用户可以 pnpm add 它不购买到MCP中间软件 @agenticprimitives/mcp-runtime 消费它而不是唯一的消费者。 此软件包决定; 您的运行时间执行 .
部分 代理原始产品 ——代理经济的信托基底:一个有监护,授权,命名,证书,审计证据的犬类智能代理身份,设计成一个系统.
见 spec.md → specs/204-tool-policy.md。 。 。 .
快开始
import { declareTool, evaluatePolicy } from '@agenticprimitives/tool-policy';
const getProfileTool = declareTool(
{ name: 'get_profile', inputSchema: { /* ... */ }, handler: /* ... */ },
{
'@sa-tool': 'delegation-verified',
'@sa-auth': 'session-token',
'@sa-validation': 'shape-check',
'@sa-risk-tier': 'low',
},
);
const decision = evaluatePolicy({
toolName: 'get_profile',
classification: getProfileTool._classification,
delegation, // from @agenticprimitives/delegation
callerKind: 'user-session',
});
if (decision.decision === 'deny') throw new Error(decision.reason);
if (decision.decision === 'requires-consent') /* prompt user */;
准确通知政策
当"大概是这种呼叫"不够好时,就把确切的一次:
import { exactCall, matchesExactCall } from '@agenticprimitives/tool-policy';
const policy = exactCall(safeAddress, '0xa9059cbb', {
calldataHash: '0xdeadbeef...',
valueLimit: 0n,
});
const ok = matchesExactCall({ to, data, value }, policy);
何时 calldataHash 设置,匹配为字节-等同——没有部分匹配快捷键.
怎么不一样
OAuth瞄准镜和通用政策引擎(OPA-style)是这里的现任者,两者都有这一一揽子目标的差距. 范围是在同意时间给予的静态串;它们不知道风险等级、价值限制,也不知道代表团是否实际拥有一个呼叫者。 政策引擎是强大的但通用的——你带来自己的身份模型,你自己的风险分类,以及你自己的整合胶水每一次运输. 这个软件包将预建的代理工具特定层 : 用于工具调用的风险分类, 由 making complex Delegation 来自 @agenticprimitives/delegation (只消耗类型——无运行时间接合),以及一个定型的,无副作用的引擎,你可以黄金测试. MCP服务器执行的决定是 LangGraph 或 A2A 运行时间会得到的相同决定,因为政策层从未得知它所生活的运输方式.
校验
pnpm --filter @agenticprimitives/tool-policy typecheck
pnpm --filter @agenticprimitives/tool-policy test
状态
阿尔法轨道-只试网. Spec + API 稳定; 在根上列出的门之前不要部署到生产中 README.md 状况科 包括第三方合同审计和治理关键轮换。 追踪所有安全发现 docs/audits/findings.yaml。 。 。 .