@ 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 进程; 后一并行决定不能取代原程序 运营商的决定.
- 被拒绝的行动永远不会得到执行租约.
- 政策经批准后,在签发租约前立即重新评估.
- 执行租赁是短期的和单一的.
- 当供应商执行失败时,已消耗的租约仍被消耗.
- 成功和失败的处决产生收益.
- 默认的政策帮助者是否定的;宽容的政策是明确的.
许可证
麻省理工学院