@absolutejs/a2a

中文文档
0.3.6发布于 2026/07/27MITTypeScriptES Module近 30 天下载 1832

制作 A2A 协议 1.0 客户端和服务器,具有流线,耐用任务,推出配置,以及代理执行.

中文使用文档

@absolutejs/a2a (英语)

A2A 协议 1.0 国家 绝对JS的JSON-RPC客户端和服务器. 执行 代理卡的发现、消息、流线、任务订阅、过滤和 添加任务列表、 推动通知配置、 认证扩展 卡片、明确版本和扩展谈判以及绝对JS代理 执行.

机构是所需的东道对等单位(>=0.7.1 <0.8.0),而不是捆绑的依赖. 因此,主机拥有一个行动分类账和一个全A2A的合同版本 以及其他运输工具 此包件测试精确 0.7.1· ; 支持新的机构未成年人需要明确释放兼容性.

参考议定书: https://a2a-protocol.org/latest/profitation.com. 互联网档案馆的存檔,存档日期2013-12-11

协议版本是故意被封住的. A2A 1.0更改了JSON-RPC 方法名称和 0. 3 的代理卡形状; 此软件包不沉默 降级,失去安全或行为.

发现和RPC客户端需要本地主机以外的 HTTPS, 拒绝证书 在URL和重定向中执行超时和响应大小限制,并验证 反应媒体类型。 服务器在解析正文前进行认证, 封顶请求 大小,将每个任务绑定起来,并将配置推到经认证的呼叫器,以及 拒绝发布未配置的可选能力.

import { createA2aHandler, createPostgresA2aTaskStore } from "@absolutejs/a2a";

const a2a = createA2aHandler({
  path: "/a2a",
  agentCard: {
    name: "Support Agent",
    description: "Resolves customer support cases.",
    version: "1.0.0",
    supportedInterfaces: [
      {
        protocolBinding: "JSONRPC",
        protocolVersion: "1.0",
        url: "https://example.com/a2a",
      },
    ],
    capabilities: {},
    defaultInputModes: ["text/plain"],
    defaultOutputModes: ["text/plain"],
    skills: [],
  },
  authorize: verifyA2aBearer,
  taskStore: createPostgresA2aTaskStore({ client }),
  agency: { agency },
  sendMessage: async ({ message }) => ({
    task: await startSupportTask(message),
  }),
});

同一处理器支持A2A 1.0 选取方法的广告 配置能力:

import { createMemoryA2aPushNotificationConfigStore } from "@absolutejs/a2a";

const a2a = createA2aHandler({
  // ...the required configuration above
  pushNotifications: {
    store: createMemoryA2aPushNotificationConfigStore(),
  },
  extendedAgentCard: authenticatedCard,
  sendStreamingMessage: async function* (request, context) {
    yield* runAgentStream(request, context);
  },
  subscribeToTask: async function* (task, context) {
    yield* subscribeToAgentTask(task, context);
  },
});

用于生产推力配置存储,执行 A2aPushNotificationConfigStore 与授权键隔离相同的 包括记忆存储器。 Webhook 交付应独立解决 DNS, 屏蔽私有和链接- 本地目的地, 避免重定向, 每个都认证 请求,并重试一能.

当策略需要批准时, 服务器返回一个 A2A 扩展错误 工程处 actionId经批准后,将同一请求重新发送至 metadata[ABSOLUTE_AGENCY_EXTENSION].actionId;机构重新评估政策, 并记录执行收据.

任务所有权总是按授权结果键. 打电话的人不能 探测、 列出、 取消或覆盖另一个呼叫者的任务, 以及 PostgreSQL 更新 从解剖角度保护终端任务.

运营多代理机队的主机可以在 授权结果并使用单独的运算符视图。 标签从未读取 从 A2A 请求数据。 操作结果省略任务文物和历史,除非 明确要求,所以状态控制台不会意外检索任务 载荷.

const taskStore = createPostgresA2aTaskStore({ client });

const authorized = {
  actor,
  authorizationKey,
  caller,
  ok: true as const,
  taskLabels: { clientId: actor.agentId, tenantId: tenant.id },
};

const posture = await taskStore.listForOperator({
  labels: { tenantId: tenant.id },
  pageSize: 25,
});

版本与发布记录

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

版本发布日期距今
0.3.6latest2026/07/273 个月前
0.3.52026/07/253 个月前
0.3.42026/07/243 个月前
0.3.32026/07/243 个月前
0.3.22026/07/233 个月前
0.3.12026/07/233 个月前

关于 @absolutejs/a2a 的常见问题

@absolutejs/a2a 是什么?

制作 A2A 协议 1.0 客户端和服务器,具有流线,耐用任务,推出配置,以及代理执行.

如何安装 @absolutejs/a2a?

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

@absolutejs/a2a 支持 TypeScript 吗?

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

@absolutejs/a2a 支持 ESM 还是 CommonJS?

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

@absolutejs/a2a 可以商用吗?

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

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

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

@absolutejs/a2a 还在维护吗?

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