# @agenticprimitives/a2a 中文文档

规范地址：https://npmcn.com/package/%40agenticprimitives/a2a/

版本：0\.0\.0-alpha\.48
npm 元数据更新时间：2026-10-26T11:48:29.470Z
中文译文更新时间：2026-11-06T02:01:18.652Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40agenticprimitives/a2a
原文对照：https://npmcn.com/package/%40agenticprimitives/a2a/?lang=original
项目主页：https://agenticprimitives.dev/
源码仓库：https://github.com/agentictrustlabs/agenticprimitives

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

- 包体积（解压后）：619 kB，142 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：4 个
- peer 依赖：viem ^2\.52\.2
- 首次发布：2026-06-11T04:18:59.091Z
- 最新版本发布：2026-10-26T11:48:28.095Z
- 近 30 天下载量：6788（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：48（近 12 个月 48 个）

## 中文简介

Async,授权代理对代理(A2A)任务运输:任务/Message/Artifact运行时间通过一个TaskStore端口,JSON-RPC方法处理器,SkillHandler调度,A2aWireAdapter客户端,以及范围授予的提醒构建器. 运输不可知核心

## 安装

```sh
npm install @agenticprimitives/a2a
```

也可以使用：`pnpm add @agenticprimitives/a2a`、`yarn add @agenticprimitives/a2a`、`bun add @agenticprimitives/a2a`

## README

# @ agenticprimitives/ a2a (英语)

> 部分 **[代理先导](https://agenticprimitives.dev/)** ——代理应用程序的开源信任底板:可以签名的身份,行为时间检查权限,所有者携带的证据. [开发者工具包](https://github.com/agentictrustlabs/agentic-primitives) • 妇女 [所有软件包](https://agenticprimitives.dev/developers)

**代理对代理呼叫 由同一代表团门 与所有其他.** 特工发现和身份身份正在马上被安顿——ERC-8004去主网,代理命名服务启动,代理卡成为了发现的通用语. 这些都不是权威问题:当A探员向B探员发送任务时,究竟允许A要求的正是这些限度内的技能? 这个软件包用代理原始代表团——同样的EIP-712、附加条件的限制、可撤销的链上赠款——来回答问题。 各地有一个代表团模式;A2A并非例外.

部分 [代理原始产品](https://npmcn.com/package/README.md) ——代理经济的信托基底:一个有监护,授权,命名,证书,审计证据的犬类智能代理身份,设计成一个系统.

具体地说: 授权的协同 **代理对代理任务运输**任何声称的代理人都会发出任何其他同步的、授权范围的任务,并通过民意调查、推或流收集结果。 建造于 `@agenticprimitives/fulfillment` 任务底盘; 指定在 [第269区](https://npmcn.com/package/specs/269-async-delegation-authorized-a2a.md)。 。 。 .

## 什么样的船

所有5个执行波已登陆:

-   **任务运行时间核心** —— 说 `newTaskRecord`, (中文(简体) ), `applyTransition` (无法通过电子邮件关闭) `canTaskTransition`, (中文(简体) ), `dispatchTask`,则 `TaskStore` 端口 + 内存参考执行,以及 `SkillHandler` 合同。 未知技能 – `rejected`从来没有默默地放弃.
-   **代表团大门** —— 说 `authorizeA2aMessage`: 代表 qq 请求器、时间戳窗口、目标+通过提醒技术范围界定、链上 `isRevoked` + ERC-1271 注射出故障闭塞,签名消息,单用消息代号. 加号 `buildA2aGrantCaveats` 财务报告和审定财务报表 `hashA2aMessage`。 。 。 .
-   **外观** —— 说 `createA2aAgent` (消息/发送 + 授权 + 持续;任务/ 获得 + 任务/ 取消方权限; 提醒驱动) `processDue`;代理卡) + JSON-RPC 2.0 处理器(`dispatchA2aRpc` 编号 : `handleA2aRpcBody`\+ 该 `A2aWireAdapter` 客户端通过注入运输.
-   **假体居住权+签名推** ——电文和文物活体活在受让人的金库;只有散列/散列物出现在任务状态. 终端结果作为签名的推收信封交付(`deliverPush` 编号 : `verifyPushEnvelope`)带有有界重试,或通过SSE框架流出,或通过 `tasks/get`。 。 。 .
-   **双代理接收装置** ——畅通之路,代理人表面授权门拒绝,跨地权押金,认证要求的回程通过 `resubmit`,在 `test/harness.test.ts`。 。 。 .

```ts
import { newTaskRecord, dispatchTask, buildSkillRegistry, createInMemoryTaskStore } from '@agenticprimitives/a2a';
```

## 边界

核心点是 **运输不可知性** - 没有云花相通 `src/`。持久目标支持 `TaskStore` 适配器( e)`createDurableObjectTaskStore`(b) 船舶作为 `./cloudflare` 子路径。 见 [ADR-0034 (英语)](https://npmcn.com/package/docs/architecture/decisions/0034-a2a-transport-is-its-own-package-with-cloudflare-adapter.md)。 。 。 . `mcp-runtime` 是这个包的消费者,而不是所有者,没有后缘.

## 怎么不一样

竞争模式是 **A2A 协议 SDK 和代理架构通讯** ——转移任务但将授权视为他人问题(无记名代号,共享秘密,许可列表)的运输. 三件事,这个包做 他们的结构不能:

-   **没有可核查的赠款就没有任务.** 只有在代表团大门核实补助金时才能建立工作记录; `task.permissionGrantRef` 锁定代表团的散列线,在飞行中吊销链上失败,关闭.
-   **授权不是身份.** 警告和受让人决定 _什麽_ 可能发生; 签名的符号证明 _谁_ 问. 一个发包人从未到达另一个主名空间,任何声称的代理人都没有持有长寿的签名密钥——只持有KMS/会话签名.
-   **尸体留在保险库里.** 任务状态携带散列和回推;有效载荷在受让人的金库中存在,并有自己的出入控制. 运输从未成为数据库.

因为门是同一代表团的原始 使用横跨下层,"这个代理人可以引用该代理人的 `summarize` 技能直到星期五,可立即撤销"是一笔赠款——可连锁核查,可审计结束.

## 验证

```bash
pnpm --filter @agenticprimitives/a2a typecheck
pnpm --filter @agenticprimitives/a2a test
```

## 状态

测试网/飞行员准备 生产启动在根部的公开核对表上进行 [`README.md`](https://npmcn.com/package/README.md#status--honest-version) ——包括第三方合同审计和治理关键轮换. 追踪所有安全发现 [`docs/audits/findings.yaml`](https://npmcn.com/package/docs/audits/findings.yaml). 运行时间结束于针对 Base Sepolia (ERC-1271 +)的演示应用中 `isRevoked` 检查绑定在链上).

## 许可证

UNLICENSED(内部单列,未出版).

## 双向吸尘器

一个想认识一个返回的人却不知道她是谁的服务公司 宣布卡的扩展 `AP_PAIRWISE_ASKER_EXTENSION_URI` (单位:千美元)`pairwiseAskerCardExtension(audience)`) (中文(简体) ). 卡片决定了阿斯克的形式: `sendSubjectAskOverWire` 找到它发送的扩展 `{ pairwise, audience }` - 使用假名 `pairwiseSubjectFor` 端口——没有证书,没有会话,没有地址. 宣布扩展名的卡片和发件人 没有假名可以给, 被拒绝, 从来没有用认证表回答. `validatePairwiseSubjectAsk` 拒绝 (a) 载有超出其主题和受众范围的任何内容的驴; `routedAskOf` 读取两种形式.

## 参考文献

**边界(ADR-0034).** 这个软件包是运输不可知的核心:任务运行时间在一个 `TaskStore` 端口,则 `SkillHandler` 合同和调度员 `A2aWireAdapter` 委托人、代表团 -- -- 自动大门和范围 -- -- 授予警告 建业者. 云飞 `TaskStoreDO` (一个持久对象) `TaskStore` 与 `alarm()`(b) 船舶作为 `./cloudflare` 子路径。 这个 与spec 245的位置不同 `mcp-runtime` 目的: `mcp-runtime` 是消费者(接收门和 a2a-mcp送货腿,而不是车主。 Spec 269 W1–W5是记录(运行时间,门, `createA2aAgent`云花店, 保险库的住址,签名推和SSE, 双代理接收带 `test/harness.test.ts`) (中文(简体) ).

**电线( 第372段).** `src/standard/` (进口: `@agenticprimitives/a2a/standard`)是A2A 1.0作为官方TCK测试它: PascalCase方法,原型-JSON形状, `A2A-Version`,每个 A2A 错误上的错误信息,SSE,按. 没有第二套方法名称. `createStandardA2aServer({card, executor, principal?, canSeeTask?, beforeSend?, onCancel?})` 已获取形状;执行器 发送事件通过 `ctx`A. 作为延伸的权力:a `SendMessage` 携带 `AP_DELEGATED_TASK_EXTENSION` 是一个 授权的任务`standard/delegated.ts`),以及 `createAgentBackedServer` 将运行时间放在后面,每一次 门总是有。 这个 `Authorization` 信头说是谁在打电话`caller.ts`\- 信封的签名上写着谁 授权信件; 中继器可能包含它没有写入的信件, 因此两者从未崩溃 . `canSeeTask` 回复 a (原始内容存档于2018-10-21). Not Party Not Found. `tck/sut.mjs` + 键 `scripts/run-a2a-tck.sh` 运行CI中的TCK; `./conform` (单位:千美元)`ap conform a2a <url>`(中文(简体) ) 探测现场特工的卡和装订.

**从运行时间(399 第4段)晋升.** `standard/mount.ts`数字 : `withStandardCardFields`, (中文(简体) ), `isRuntimeTaskId`, (中文(简体) ), `runtimeBackedTaskStore`, (中文(简体) ), `principalBySchemes` (单位:千美元)`Bearer` =个人, `A2A-Session` 代理,从来没有对方的倒置, `delegatedDispatch`, (中文(简体) ), `settlementForReplyKind`, (中文(简体) ), `settleTask`。 。 。 . `subject-hop.ts`数字 : `sendSubjectAskOverWire` (通过 卡片,消化针, `subjectAskOf`, (中文(简体) ), `subjectAnswerOf`, (中文(简体) ), `handoffOf`, (中文(简体) ), `SUBJECT_ANSWER_ARTIFACT`; 第433个光谱 `subjectAnswerEnvelope` 编号 : `subjectAnswerArtifact`· ; `standard/app-delegation.ts` (单位:千美元)`appDelegationAsk`) (中文(简体) ). `wire-verify.ts`数字 : `verifyDelegationWire`,每个A2A服务重复(身份、警告、撤销、签名).

**代理卡受众(Spec 338 §8).** `agentCard(forAudience?)` 项目 `SkillHandler.exposure` (单位:千美元)`public`, (中文(简体) ), `authenticated`, (中文(简体) ), `private`, (中文(简体) ), `service-only`;省略指公开)。 传阅观众不会证明: `createCardAudienceResolver` 核实签名质疑(在读取签名前未使用), `x-ap-*` 标题)和 降解为 `public` 任何失败; `privateViewPolicy` 是一个单独的注入决定。 可见是披露,不是 授权.

## 常见问题

### @agenticprimitives/a2a 是什么？

Async,授权代理对代理\(A2A\)任务运输:任务/Message/Artifact运行时间通过一个TaskStore端口,JSON-RPC方法处理器,SkillHandler调度,A2aWireAdapter客户端,以及范围授予的提醒构建器\. 运输不可知核心

### 如何安装 @agenticprimitives/a2a？

在项目目录运行 npm install @agenticprimitives/a2a，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：viem（^2\.52\.2）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。它还提供命令行工具 a2a-conform，可以用 npx a2a-conform 直接运行。

### @agenticprimitives/a2a 支持 TypeScript 吗？

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

### @agenticprimitives/a2a 支持 ESM 还是 CommonJS？

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

### @agenticprimitives/a2a 可以商用吗？

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

### @agenticprimitives/a2a 的下载量有多少？

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

### @agenticprimitives/a2a 还在维护吗？

最新版本 0\.0\.0-alpha\.48 发布于 2026/10/26（10 天前）；至今共发布 48 个版本，其中过去 12 个月发布了 48 个；首次发布于 2026/06/11。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

