# @fungi\.computer/approvals 中文文档

规范地址：https://npmcn.com/package/%40fungi.computer/approvals/

版本：0\.2\.3
npm 元数据更新时间：2026-11-08T12:22:25.000Z
中文译文更新时间：2026-11-15T18:26:23.207Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fungi.computer/approvals
原文对照：https://npmcn.com/package/%40fungi.computer/approvals/?lang=original
项目主页：https://github.com/fungi-computer/approvals#readme
源码仓库：https://github.com/fungi-computer/approvals

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：174 kB，12 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2026-10-23T04:10:42.731Z
- 最新版本发布：2026-11-08T12:22:24.824Z
- 近 30 天下载量：11789（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 7 个）

## 中文简介

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

## 安装

```sh
npm install @fungi.computer/approvals
```

也可以使用：`pnpm add @fungi.computer/approvals`、`yarn add @fungi.computer/approvals`、`bun add @fungi.computer/approvals`

## README

# 核准

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

## 安装

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

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

## 快开始

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

```ts
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 是什么？

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

### 如何安装 @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 和提交记录判断。

