@absolutejs/agency

中文文档
0.7.4发布于 2026/08/01MITTypeScriptES Module近 30 天下载 2269

提供人-不可知的AI代理授权 政策,批准,拒绝,持久授权,执行租赁,收据,杀开关,并签名交接.

中文使用文档
文档目录4 节
  1. 代理控制平面
  2. 交换、模拟和遥测
  3. 生产状态
  4. 许可证

@ absolutejs/ 代理服务器

AI代理商的提供者中立行动授权.

认证说明哪个代理和代表谁。 机构决定 协调各种先决条件,例如: 人类的认可或终极的人类拒绝, 发行短寿命的单一用途 执行租赁,并记录执行后的收据.

import { createAgency, createMemoryAgencyStore } from "@absolutejs/agency";

const agency = createAgency({
  policy: yourPolicyDecisionPoint,
  store: createMemoryAgencyStore(),
});

const { action, decision } = await agency.request({
  action: "send_email",
  actor: {
    agentId: "sales-agent",
    delegationId: "delegation-123",
    scopes: ["email:send"],
    userId: "user-123",
  },
  effects: ["send", "external-network"],
  input: { subject: "Hello", to: "[email protected]" },
  resource: { id: "[email protected]", type: "email_recipient" },
});

if (decision.kind === "allow") {
  const lease = await agency.issueLease(action.actionId);
  const { receipt } = await agency.execute({
    executor: "email-provider",
    leaseId: lease.leaseId,
    run: () => email.send(action.input),
  });
}

if (decision.kind === "deny" && decision.requestable) {
  await agency.reject({
    actionId: action.actionId,
    reason: "The recipient is outside the approved customer account.",
    rejectedBy: "operator-123",
  });
}

核心合同是故意中立的. @absolutejs/agency/authzen 包含 OpenID AuthZEN 授权 API 及其访问请求的适配器 与COAZ兼容的MCP工具映射 剖析方向.

代理控制平面

createAgentControlPlane() * 清点代理人的登记、代表团、, 补助金、津贴、任务、租赁和其他能力 通过小型 AgentControlSource 适应器. 撤销激活可持久杀死 先切换,然后粉丝退出清理 每一个来源。 把控制飞机传到 createAgency({ control, ... });行动请求、租赁发放和执行 然后在代理被禁用时关闭失败.

交换、模拟和遥测

createAgentDelegationAuthority() 长期、可撤销的授权赠款问题 在机构内部。 每个孩子必须减少 父母的使用者,观众,过期, 行动范围、效果、资源界限和支出上限 深度被限制,级联被取消给后代。 传递权威为 createAgency({ delegations: authority, ... }) 以重新检查完整的活动 在请求采取行动时,在发出执行租约时,以及 在租赁被消耗之前.

const delegations = createAgentDelegationAuthority({
  audience: "https://app.example",
  store: createMemoryAgentDelegationStore(), // use PostgreSQL in production
});

const grant = await delegations.issue({
  audience: "https://app.example",
  issuerAgentId: "user-agent",
  subjectAgentId: "calendar-agent",
  userId: "user-1",
  scopes: ["calendar.create"],
  effects: ["write", "external-network"],
  resourceTypes: ["calendar"],
  expiresAt: Date.now() + 3_600_000,
});
  • signAgentHandoff() 编号 : verifyAgentHandoff() 创造众生, 到期, 重放受保护的代理对代理能力信封 。 使用 attenuateAgentHandoff() 额外的跳跃,这样的范围,花费,过期,以及 用户身份不能升级.
  • signAgentHandoffWith() 编号 : verifyAgentHandoffWith() 接受独立 签名人和核查人提供商在犬形字节上。 云KMS/HSM适配器 可保持私人密钥不可导出,由 keyId,拒绝算法 不改变交接线合同。 HS256仍然可供 兼容性和局部发展.
  • simulateAction() 评估政策并产生同样的划线约束 不存储动作、签发租约或运行效果.
  • createAgencyTelemetryEmitter() 将每个事件映射为稳定 agent.* 可输入 OpenTeleometry 或任何审计的事件名称和属性 将核心软件包与遥测供应商连接.

记忆商店是开发默认. 生产部署应提供 为局立状态提供耐用、交易性用品、杀开关和交接 无.

生产状态

agencyPostgresSchemaSql() 为行动、核准、, 拒绝、租赁、收据、关闭开关和重放非现金。 适配器 接受一个小结构 AgencySqlClient所以Bun SQL 尼昂, pg,以及 交易意识主机客户端可以在不连接核心软件包的情况下使用 数据库驱动程序.

const store = createPostgresAgencyStore({ client: sqlClient });
const controlStore = createPostgresAgentControlStore({ client: sqlClient });
const replayStore = createPostgresHandoffReplayStore({ client: sqlClient });

租赁消费是有条件的 UPDATE,同时执行 尝试安全跨进程。 作为SHA-256文摘,手取非斯语一直存在, 非无记名值。 应用 agencyPostgresSchemaSql() 部署前部署期间 开始工作.

安全变量:

  • 批准和拒绝 与犬科行动, 演员,资源, 效果、输入文摘、支出和过期.
  • 核准与拒绝的决定为第一写作胜负,包括跨 PostgreSQL 进程; 后一并行决定不能取代原程序 运营商的决定.
  • 被拒绝的行动永远不会得到执行租约.
  • 政策经批准后,在签发租约前立即重新评估.
  • 执行租赁是短期的和单一的.
  • 当供应商执行失败时,已消耗的租约仍被消耗.
  • 成功和失败的处决产生收益.
  • 默认的政策帮助者是否定的;宽容的政策是明确的.

许可证

麻省理工学院

版本与发布记录

@absolutejs/agency 共发布 16 个版本,首次发布于 2026/07/16;过去 12 个月发布了 16 个版本。

版本发布日期距今
0.7.4latest2026/08/013 个月前
0.7.32026/07/253 个月前
0.7.22026/07/253 个月前
0.7.12026/07/243 个月前
0.7.02026/07/243 个月前
0.6.42026/07/233 个月前

关于 @absolutejs/agency 的常见问题

@absolutejs/agency 是什么?

提供人-不可知的AI代理授权 政策,批准,拒绝,持久授权,执行租赁,收据,杀开关,并签名交接.

如何安装 @absolutejs/agency?

在项目目录运行 npm install @absolutejs/agency,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:drizzle-orm(>=1.0.0-rc.4 <2)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@absolutejs/agency 支持 TypeScript 吗?

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

@absolutejs/agency 支持 ESM 还是 CommonJS?

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

@absolutejs/agency 可以商用吗?

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

@absolutejs/agency 的下载量有多少?

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

@absolutejs/agency 还在维护吗?

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