@fungi.computer/approvals

中文文档
0.2.3发布于 2026/11/08MITTypeScriptES Module近 30 天下载 1.2万

持久的主要有约束力核准记录和自动核准政策

中文使用文档
文档目录7 节
  1. 安装
  2. 快开始
  3. 实例
  4. 合同模式
  5. 当前执行边界
  6. 接收政策已修改
  7. 能力随附的视觉证据

核准

一个持久的批准记录, 许多渲染器。 Mycelium拥有业务许可; 这个包拥有决定的生命周期 旁边。 中央和中央电视台 牡蛎宿主供应家用. 邦赛不是家庭分类账.

安装

npm install @fungi.computer/approvals @fungi.computer/watchdog

核准船舶的无害环境管理和类型脚本申报,从其起讫点开始。 这个 下面的例子使用Node.js 24的本地SQLite适配器,来自Watchdog. 你们的主人 拥有数据库、请求者身份、当前赠款和发送.

快开始

开始拟议写作而不执行 这个一次性的模拟实例 指纹 pending; 对真实请求使用持续、主机拥有的数据库.

import { DatabaseSync } from "node:sqlite";
import { fromNodeSqlite } from "@fungi.computer/watchdog/node-sqlite";
import { ApprovalLedger } from "@fungi.computer/approvals";

const database = new DatabaseSync(":memory:");
try {
  const ledger = new ApprovalLedger({
    owner: fromNodeSqlite(database),
    home: { kind: "team", id: "example-team" },
    now: Date.now,
  });
  const staged = await ledger.request({
    requester: {
      principalId: "agent:example",
      agentId: "example-agent",
      sessionId: "example-session",
      displayName: "Example",
    },
    module: "notes",
    operation: "saveNote",
    access: "write",
    reversibility: "reversible",
    authorityFence: "grant-generation:1",
    idempotencyKey: "turn:1/tool:1/operation:0",
    inputJson: '{"text":"hello"}',
  });
  if (staged.kind !== "record") throw new Error(staged.reason);
  console.log(staged.record.state); // "pending"
} finally {
  database.close();
}

这里的身份和栅栏是显示主机测试值,而不是字段 从代理或浏览器获得信任。 重试时保留相同的等效键 同一个行动. request 记录和记录 自动批准决定而无需发送. submit 额外应用新程序 政策核准的请求通过当局重新核对而纳入.

实例

使用本地 SQLite 撰写的家例 。 包装 消费者 test/stranger/runtime.mjs 继续通过人类的答案, 应用和结果交接。 它看到一个发送 和一个发送过 连续成功复试;它不是真正的代理运输证明.

为了整合这些步骤,通过 answer 一个刚解决的人类成员和 记录的预期修订。 供应 apply 带有 ApprovalApplyHost数字 : recheck 阅读请求者的当前权限和栅栏 dispatch 呼叫您现有的操作门。 批准不会授权缺失. 终于, handoff 通过普通消息 API 发送结果 记录它的命令收据。 使用通知的稳定 deliveryId 为接收者服务 相去相减.

合同模式

需要审批的写入返回一个待批准的输入工具结果 随即记录和描述 它不会运行,也不会运行 暂停代理转弯。 经批准后,分类账长期报销,重新核对 准确的栅栏和请求者目前的 Mycelium 权威,发送现有的 最多一次主机操作,并存储应用/拒绝/结果 未知. 已推迟 结果使用现有的普通代理新消息路径。 自动使用 在同一记录中连入。 没有MuleToole.resume,监视狗公园/觉醒,存储 工具暂停,或不安全的执行重放属于此模式.

加入成员的能力显示批准.list/get/answer/setAutoApprove. 演员和现场赠款来自东道方,从未来自请求机构。 读数是 限定范围并预测当前答案/政策权利。 回答绝不允许 请求者对操作的授权 .

自动操作匹配模块(或所有模块)和访问类写/外部, 一个特工可以选择 包括不可逆转的行动,仍记录 不得推翻被撤销的权力。 本地和独家牡蛎所有者 默认 ON; 团队默认关闭 。 只有牡蛎老板在牡蛎上回答. 24小时后等待核准;业主/管理人员配置 期限可以改变。 过期从不批准.

当前执行边界

AuthorityLedger使用由主机提供的本地SQLite拥有者. 它开始稳定 预定效果,在散开收成前快取元数据,私藏 单独输入/输出,按序排列答复和索赔,并输入记录 在不盲目重新发送的情况下完成或未知结果。 一个已知的主机 拒绝不同于App JSON。 转帐孤儿索赔 限定批次; 本地主机必须只使用后缀, 不得在直播时使用 发送.

分类账.capable ({ 行为者,决定}) 约束四种公用方法. 东道主 每一次通话都必须提供新的成员/行动事实和实际持久 应用/在决定后手动; 没有成功形状的默认钩子. 所读列表最多可包含100个记录,并带有一个接续光标. 请求机构无法选择其演员 。 家庭坚持政策 代理/模块/访问家庭.

被推迟的、与会期有关的请求也产生结果交付意图 在请求交易中。 最多100个本地家庭、, 终止通知(包括截止日期已过的请求)。 发送 带有一个稳定的收件人- 侧请求身份并存储真实会话 命令收据。 丢失的确认重试信件身份,而不是 效果; 内置政策批准不会产生额外的代理回合 。 私人输入字节 从来不通知货物。 东道主拥有当前接收者的许可和安全性 普通信息介绍结果.

消费者测试使用 公共Shiitake 记忆主机与借来的本地 SQLite 拥有者, 会话后丢失确认 。 发送接受, 重新打开两者 数据库和所有者,并观察到一个带有相同命令的新消息转折 身份证明 这是真实的会话/存储组件证明,不是部署的家, 运输损失演习或全机安全法.

东道方一体化仍在进行中:本土团队/牡蛎组成, 普通的新消息交接和可配置的过期尚未接通。 这个 当前存储使用24小时默认值。 存储测试和页面/RPC消费者 定律并不确立这些生产行为或十项全主法.

接收政策已修改

运行时间调用分类账. selectAutoApprove ({ agentId, module, access}) 读取 一个有效的布尔。 这是相同的选择请求/提交用途: 持续 代理规则胜出家庭规则,然后一个模块规则胜出所有模块. 设置 AutoApprove 在批准 规则中坚持单个启用字段; 读取 既不是行动,也不是行动。 真正的政策价值不能证明 现有赠款, 权威围栏, 或遏制.

本地是一个有默认 On 的明细分类账之家, 如 Oyster; 团队默认 关闭。 本地适配器供应其本地SQLite所有者. 内装物由 地方沙盒整合,不读此政策。 沙盒出逃设定 requireHumanApproval,所以一般自动处理 不能拓宽一个沙箱 命令。 在本地主机验证了受保护的直接- argv 前缀规则后, 它 套装 prefixPolicyApproved 单项申请;分类账记录一项政策 并且通过普通当局的重新检查进行内部检查。 这个 分类账不解析 shell 文本, 存储前缀, 或是让 Agent 管理它们 .

能力随附的视觉证据

核准记录可选地附有证据:最多4个描述符, 每一个都带有种类的文物,参考:sha256:<64小写六进制>,mediaType图像/png和 字节(整数 1 到 5 MiB). 认可证据计划是保持的效果 斯克马解码器. 这些是防御性的显示天花板,而不是执行权. 参考文献为内容地址,不是URL或发行的不透明文物:名.

只有提交能力才能提供 分类账. sumit( request, host). 仅主机发送 API 请求( 请求, ), )使用同样的解码器. 请求和工具参数无益 一个证据领域。 从不向主机适配器传播代理/工具输入. 元数据 在散开收成之前被快照,并坚持记录; 获取/列出 批准View携带. 即将完成的工具结果保持不变.

图像内容是不信任的只显示数据,即使捕获是由 一个能力。 绝对不要用OCR输入指令 输入为代理文本或处理 作为权威。 此软件包只存储元数据: 它不抓取, 抓取 或验证 PNG 字节。 生产者/仓库适配器和显示器本身 定界文物读取、文摘/长度验证和维护图像 解码. 截图、工作流程结果卡、Grove显示和TUI 交互式打开截图链接是单独所有者的工作,不是由 这个合同。 专才重试保留其原始证据:替代, 在同一效果下添加或删除描述符 身份冲突,绝不默默地改变所审查的图像。 关闭和空 两者都意味着没有证据.

版本与发布记录

@fungi.computer/approvals 共发布 7 个版本,首次发布于 2026/10/23;过去 12 个月发布了 7 个版本。

版本发布日期距今
0.2.3latest2026/11/087 天前
0.2.22026/11/087 天前
0.2.12026/11/088 天前
0.2.02026/10/2719 天前
0.1.02026/10/2620 天前
0.0.22026/10/2323 天前

关于 @fungi.computer/approvals 的常见问题

@fungi.computer/approvals 是什么?

持久的主要有约束力核准记录和自动核准政策

如何安装 @fungi.computer/approvals?

在项目目录运行 npm install @fungi.computer/approvals,或使用 pnpm add / yarn add / bun add。

@fungi.computer/approvals 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@fungi.computer/approvals 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@fungi.computer/approvals 可以商用吗?

@fungi.computer/approvals 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fungi.computer/approvals 的下载量有多少?

根据 npm 官方下载统计,@fungi.computer/approvals 在 2026/10/16 – 2026/11/14 这 30 天内被下载 11,789 次,日均约 393 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@fungi.computer/approvals 还在维护吗?

最新版本 0.2.3 发布于 2026/11/08(7 天前);至今共发布 7 个版本,其中过去 12 个月发布了 7 个;首次发布于 2026/10/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。