{"_id":"@ag-ui/a2a","_rev":"6-f548c41adf881546e8edb8b738c58357","name":"@ag-ui/a2a","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.1":{"name":"@ag-ui/a2a","version":"0.0.1","author":{"name":"Markus Ecker","email":"markus.ecker@gmail.com"},"license":"Apache-2.0","_id":"@ag-ui/a2a@0.0.1","maintainers":[{"name":"_mme","email":"markus.ecker@gmail.com"},{"name":"copilotkit","email":"devops@copilotkit.ai"}],"dist":{"shasum":"4b755ce93f81892bc373fdef4eb424b14328e16a","tarball":"https://registry.npmjs.org/@ag-ui/a2a/-/a2a-0.0.1.tgz","fileCount":9,"integrity":"sha512-3Ud48RZNwIhVF4PGP3WB5w+N0hjPswBFlnvaRkuQSwHXjyPIQSNFTmUzmbCQhOAynIYGrsb5Hozxj7M56t3JYQ==","signatures":[{"sig":"MEUCICd2m1j7f14Z7qT+rwxilpMBBsPs+CHAAezkNdupEE64AiEApktErFa4dYbZTHiOghbOwNSxrSW2o4uOHuK3JfBp9VE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112666},"main":"./dist/index.js","_from":"file:ag-ui-a2a-0.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"private":false,"scripts":{"dev":"tsup --watch","test":"jest","build":"tsup","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","link:global":"pnpm link --global","unlink:global":"pnpm unlink --global"},"_npmUser":{"name":"_mme","email":"markus.ecker@gmail.com"},"_resolved":"/private/var/folders/0t/pq2_7rn97834lcsvc_qy4t8r0000gn/T/03cb8cee7dc2b016b6fbe05877a95fb6/ag-ui-a2a-0.0.1.tgz","_integrity":"sha512-3Ud48RZNwIhVF4PGP3WB5w+N0hjPswBFlnvaRkuQSwHXjyPIQSNFTmUzmbCQhOAynIYGrsb5Hozxj7M56t3JYQ==","_npmVersion":"10.9.3","description":"A TypeScript integration that connects AG-UI agents with remote services that expose the [A2A protocol](https://a2a.dev/). It converts AG-UI conversations into A2A payloads, forwards them through the official A2A SDK, and replays the responses back into A","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"rxjs":"7.8.1","@a2a-js/sdk":"^0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","ts-jest":"^29.1.2","typescript":"^5.3.3","@ag-ui/core":"0.0.40-alpha.9","@types/jest":"^29.5.14","@types/node":"^20.11.19","@ag-ui/client":"0.0.40-alpha.9"},"peerDependencies":{"@ag-ui/core":">=0.0.40","@ag-ui/client":">=0.0.40"},"_npmOperationalInternal":{"tmp":"tmp/a2a_0.0.1_1761219501467_0.6461886763215818","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@ag-ui/a2a","version":"0.0.2","author":{"name":"Markus Ecker","email":"markus.ecker@gmail.com"},"license":"Apache-2.0","_id":"@ag-ui/a2a@0.0.2","maintainers":[{"name":"_mme","email":"markus.ecker@gmail.com"},{"name":"copilotkit","email":"devops@copilotkit.ai"}],"dist":{"shasum":"5c8bc5c25c3f23538a97cc86fe7ec80eee01852f","tarball":"https://registry.npmjs.org/@ag-ui/a2a/-/a2a-0.0.2.tgz","fileCount":9,"integrity":"sha512-0mtFweipT2PU842Q+0RoxHRULITQloah/pc/usaLmlPXMm3nulLhxeRPVXnDNW0YhuWklrqUus1BKsW0k6o+BQ==","signatures":[{"sig":"MEYCIQCkmKt9vkpnygWcLdTCu5qNscERdv7prBXuKfLDUSnnCQIhAL/Gk77BTyLMS8XICHQ5cvig02ExuwN6cFz/R9JsKpsI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108376},"main":"./dist/index.js","_from":"file:ag-ui-a2a-0.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"private":false,"scripts":{"dev":"tsup --watch","test":"jest","build":"tsup","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","link:global":"pnpm link --global","unlink:global":"pnpm unlink --global"},"_npmUser":{"name":"_mme","email":"markus.ecker@gmail.com"},"_resolved":"/private/var/folders/0t/pq2_7rn97834lcsvc_qy4t8r0000gn/T/4232a6ec81d4287ae16a7b995799f6ff/ag-ui-a2a-0.0.2.tgz","_integrity":"sha512-0mtFweipT2PU842Q+0RoxHRULITQloah/pc/usaLmlPXMm3nulLhxeRPVXnDNW0YhuWklrqUus1BKsW0k6o+BQ==","_npmVersion":"10.9.3","description":"A TypeScript integration that connects AG-UI agents with remote services that expose the [A2A protocol](https://a2a.dev/). It converts AG-UI conversations into A2A payloads, forwards them through the official A2A SDK, and replays the responses back into A","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"rxjs":"7.8.1","@a2a-js/sdk":"^0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","ts-jest":"^29.1.2","typescript":"^5.3.3","@ag-ui/core":"0.0.40-alpha.9","@types/jest":"^29.5.14","@types/node":"^20.11.19","@ag-ui/client":"0.0.40-alpha.9"},"peerDependencies":{"@ag-ui/core":">=0.0.40","@ag-ui/client":">=0.0.40"},"_npmOperationalInternal":{"tmp":"tmp/a2a_0.0.2_1761225489332_0.6120576849289618","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@ag-ui/a2a","version":"0.0.3","author":{"name":"Markus Ecker","email":"markus.ecker@gmail.com"},"license":"Apache-2.0","_id":"@ag-ui/a2a@0.0.3","maintainers":[{"name":"_mme","email":"markus.ecker@gmail.com"},{"name":"copilotkit","email":"devops@copilotkit.ai"}],"dist":{"shasum":"87b3827206bcee80d82a2e6111c7b9a5351504b2","tarball":"https://registry.npmjs.org/@ag-ui/a2a/-/a2a-0.0.3.tgz","fileCount":9,"integrity":"sha512-QtQhtbkpWuUU4wrkBd4vPKpHcwuhqTxK5/45OiXUbFvgc9Ff5rRrsRm12vX8cBG8TkJNDnYgJXhmbod/Vn6AXA==","signatures":[{"sig":"MEQCIECuInzRGhCSalDWpJbC+XERxiWSHKxABrGXtzjx8g6jAiBjEy4scKeR19zOw5xi9phWAsxfdb8Z6EZgOkvXwsFSXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108882},"main":"./dist/index.js","_from":"file:ag-ui-a2a-0.0.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"private":false,"scripts":{"dev":"tsup --watch","test":"jest","build":"tsup","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","link:global":"pnpm link --global","unlink:global":"pnpm unlink --global"},"_npmUser":{"name":"_mme","email":"markus.ecker@gmail.com"},"_resolved":"/private/var/folders/0t/pq2_7rn97834lcsvc_qy4t8r0000gn/T/f3bec70b5144d9fdbefe98fff199a0a4/ag-ui-a2a-0.0.3.tgz","_integrity":"sha512-QtQhtbkpWuUU4wrkBd4vPKpHcwuhqTxK5/45OiXUbFvgc9Ff5rRrsRm12vX8cBG8TkJNDnYgJXhmbod/Vn6AXA==","_npmVersion":"10.9.3","description":"A TypeScript integration that connects AG-UI agents with remote services that expose the [A2A protocol](https://a2a.dev/). It converts AG-UI conversations into A2A payloads, forwards them through the official A2A SDK, and replays the responses back into A","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"rxjs":"7.8.1","@a2a-js/sdk":"^0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","ts-jest":"^29.1.2","typescript":"^5.3.3","@ag-ui/core":"0.0.40-alpha.9","@types/jest":"^29.5.14","@types/node":"^20.11.19","@ag-ui/client":"0.0.40-alpha.9"},"peerDependencies":{"@ag-ui/core":">=0.0.40","@ag-ui/client":">=0.0.40"},"_npmOperationalInternal":{"tmp":"tmp/a2a_0.0.3_1761227048656_0.7015531892423987","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@ag-ui/a2a","version":"0.0.4","author":{"name":"Markus Ecker","email":"markus.ecker@gmail.com"},"license":"Apache-2.0","_id":"@ag-ui/a2a@0.0.4","maintainers":[{"name":"_mme","email":"markus.ecker@gmail.com"},{"name":"copilotkit","email":"devops@copilotkit.ai"}],"dist":{"shasum":"3f8c0a0a65b15a19057e1aa0cf9629681316310c","tarball":"https://registry.npmjs.org/@ag-ui/a2a/-/a2a-0.0.4.tgz","fileCount":9,"integrity":"sha512-OtBOAypQpjyTQGTJGoo5v9/g9NHm0ksx5nzDsSaCUwZeqWEBqheM9G2GuewvimDXoBbLjHmbpSwqZmD7TeYXNQ==","signatures":[{"sig":"MEUCIQCkQF3TcPFlf5zcJFxTRsLizyO+l9cMSG0R0Jdu4c3Y1AIgSaLu+iftF/pEhXeNx/pS6onP7iML2EmHOuraU92mwgY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108984},"main":"./dist/index.js","_from":"file:ag-ui-a2a-0.0.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"private":false,"scripts":{"dev":"tsup --watch","test":"jest","build":"tsup","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","link:global":"pnpm link --global","unlink:global":"pnpm unlink --global"},"_npmUser":{"name":"_mme","email":"markus.ecker@gmail.com"},"_resolved":"/private/var/folders/0t/pq2_7rn97834lcsvc_qy4t8r0000gn/T/5b5690bb933977841445c396f3942087/ag-ui-a2a-0.0.4.tgz","_integrity":"sha512-OtBOAypQpjyTQGTJGoo5v9/g9NHm0ksx5nzDsSaCUwZeqWEBqheM9G2GuewvimDXoBbLjHmbpSwqZmD7TeYXNQ==","_npmVersion":"10.9.3","description":"A TypeScript integration that connects AG-UI agents with remote services that expose the [A2A protocol](https://a2a.dev/). It converts AG-UI conversations into A2A payloads, forwards them through the official A2A SDK, and replays the responses back into A","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"rxjs":"7.8.1","@a2a-js/sdk":"^0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","ts-jest":"^29.1.2","typescript":"^5.3.3","@ag-ui/core":"0.0.40-alpha.9","@types/jest":"^29.5.14","@types/node":"^20.11.19","@ag-ui/client":"0.0.40-alpha.9"},"peerDependencies":{"@ag-ui/core":">=0.0.40","@ag-ui/client":">=0.0.40"},"_npmOperationalInternal":{"tmp":"tmp/a2a_0.0.4_1761228064201_0.3353472378300233","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@ag-ui/a2a","version":"0.0.5","author":{"name":"Markus Ecker","email":"markus.ecker@gmail.com"},"license":"Apache-2.0","_id":"@ag-ui/a2a@0.0.5","maintainers":[{"name":"_mme","email":"markus.ecker@gmail.com"},{"name":"copilotkit","email":"devops@copilotkit.ai"}],"dist":{"shasum":"8b3d935635d7ebaef886faf655fab45bd16a1ca6","tarball":"https://registry.npmjs.org/@ag-ui/a2a/-/a2a-0.0.5.tgz","fileCount":9,"integrity":"sha512-ixCLWjsi89+HJ4sDgjX+27dDoHBfd3TKTlFc1yG8A7B8BqVVGhssECOlXEX89NRNyyGfWw68w2E3ncnmkdxbfg==","signatures":[{"sig":"MEUCIQCy41OEDmTkWEyQHBd67AN8m4XHGIJahCa4dJ7KyXYiqAIgEmXW07gPcsitceQZyyyZNAJSfHM2a2T9BIqJvCrLiQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108986},"main":"./dist/index.js","_from":"file:ag-ui-a2a-0.0.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"private":false,"scripts":{"dev":"tsup --watch","test":"jest","build":"tsup","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","link:global":"pnpm link --global","unlink:global":"pnpm unlink --global"},"_npmUser":{"name":"_mme","email":"markus.ecker@gmail.com"},"_resolved":"/private/var/folders/0t/pq2_7rn97834lcsvc_qy4t8r0000gn/T/3cd7e064699d59658775a7b81ab0a5e8/ag-ui-a2a-0.0.5.tgz","_integrity":"sha512-ixCLWjsi89+HJ4sDgjX+27dDoHBfd3TKTlFc1yG8A7B8BqVVGhssECOlXEX89NRNyyGfWw68w2E3ncnmkdxbfg==","_npmVersion":"10.9.3","description":"A TypeScript integration that connects AG-UI agents with remote services that expose the [A2A protocol](https://a2a.dev/). It converts AG-UI conversations into A2A payloads, forwards them through the official A2A SDK, and replays the responses back into A","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"rxjs":"7.8.1","@a2a-js/sdk":"^0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.2","ts-jest":"^29.1.2","typescript":"^5.3.3","@ag-ui/core":"0.0.40-alpha.10","@types/jest":"^29.5.14","@types/node":"^20.11.19","@ag-ui/client":"0.0.40-alpha.10"},"peerDependencies":{"@ag-ui/core":">=0.0.40","@ag-ui/client":">=0.0.40"},"_npmOperationalInternal":{"tmp":"tmp/a2a_0.0.5_1761238622234_0.35662735135523027","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@ag-ui/a2a","author":{"name":"Markus Ecker","email":"markus.ecker@gmail.com"},"version":"0.0.6","license":"MIT","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"private":false,"publishConfig":{"access":"public"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"dependencies":{"@a2a-js/sdk":"^0.2.2","rxjs":"7.8.1"},"peerDependencies":{"@ag-ui/core":">=0.0.42","@ag-ui/client":">=0.0.42"},"devDependencies":{"@types/jest":"^29.5.14","@types/node":"^20.11.19","jest":"^29.7.0","ts-jest":"^29.1.2","tsup":"^8.0.2","typescript":"^5.3.3","@ag-ui/core":"0.0.42","@ag-ui/client":"0.0.42"},"scripts":{"build":"tsup","dev":"tsup --watch","clean":"rm -rf dist .turbo node_modules","typecheck":"tsc --noEmit","test":"jest","link:global":"pnpm link --global","unlink:global":"pnpm unlink --global"},"_id":"@ag-ui/a2a@0.0.6","description":"A TypeScript integration that connects AG-UI agents with remote services that expose the [A2A protocol](https://a2a.dev/). It converts AG-UI conversations into A2A payloads, forwards them through the official A2A SDK, and replays the responses back into A","_integrity":"sha512-wvrBXU6214wuC5O+FBy7QiZFvobIlt3Lo0Ph2N+hBkeaBjPHvmMp/egIg4k9WyB60PzKjJDv5o21WxbvaYtzCw==","_resolved":"/private/var/folders/0t/pq2_7rn97834lcsvc_qy4t8r0000gn/T/1df76da94df383b821ca85d417b53d49/ag-ui-a2a-0.0.6.tgz","_from":"file:ag-ui-a2a-0.0.6.tgz","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-wvrBXU6214wuC5O+FBy7QiZFvobIlt3Lo0Ph2N+hBkeaBjPHvmMp/egIg4k9WyB60PzKjJDv5o21WxbvaYtzCw==","shasum":"114d2081913bb51490b73a344650b76b4610c557","tarball":"https://registry.npmjs.org/@ag-ui/a2a/-/a2a-0.0.6.tgz","fileCount":9,"unpackedSize":113594,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDMK7/CYgEOpfgFb/iGsqdX6vJvvOBiwksUfcZuelx0bwIgOzi3tIEYiNMnFpcjRxwloJy3ZprZWLpCTdLm4w5/JPc="}]},"_npmUser":{"name":"copilotkit","email":"devops@copilotkit.ai"},"directories":{},"maintainers":[{"name":"_mme","email":"markus.ecker@gmail.com"},{"name":"copilotkit","email":"devops@copilotkit.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/a2a_0.0.6_1765902763370_0.6231218216009722"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-23T11:38:21.360Z","modified":"2025-12-16T16:32:43.735Z","0.0.1":"2025-10-23T11:38:21.658Z","0.0.2":"2025-10-23T13:18:09.527Z","0.0.3":"2025-10-23T13:44:08.857Z","0.0.4":"2025-10-23T14:01:04.397Z","0.0.5":"2025-10-23T16:57:02.411Z","0.0.6":"2025-12-16T16:32:43.515Z"},"author":{"name":"Markus Ecker","email":"markus.ecker@gmail.com"},"license":"MIT","description":"A TypeScript integration that connects AG-UI agents with remote services that expose the [A2A protocol](https://a2a.dev/). It converts AG-UI conversations into A2A payloads, forwards them through the official A2A SDK, and replays the responses back into A","maintainers":[{"name":"_mme","email":"markus.ecker@gmail.com"},{"name":"copilotkit","email":"devops@copilotkit.ai"}],"readme":"# @ag-ui/a2a\n\nA TypeScript integration that connects AG-UI agents with remote services that expose the [A2A protocol](https://a2a.dev/). It converts AG-UI conversations into A2A payloads, forwards them through the official A2A SDK, and replays the responses back into AG-UI event streams.\n\n> **Status:** Experimental. APIs may change while the integration stabilises.\n\n## Features\n\n- Message conversion helpers between AG-UI and A2A formats (user, assistant, tool, binary payloads).\n- `A2AAgent` implementation that streams or performs blocking requests against A2A endpoints.\n- Optional fallback from streaming to blocking requests when an agent does not support SSE.\n- Event conversion utilities that surface A2A messages, task status updates, and artifact chunks as AG-UI events.\n- Helper tool schema (`send_message_to_a2a_agent`) for orchestration scenarios.\n- Example client and Jest tests to validate conversions and streaming flows.\n\n## Installation\n\nOnce dependencies are installed in the monorepo:\n\n```bash\npnpm install\npnpm --filter @ag-ui/a2a build\n```\n\n## Quick start\n\n```ts\nimport { A2AAgent } from \"@ag-ui/a2a\";\n\nimport { A2AClient } from \"@a2a-js/sdk/client\";\n\nconst client = new A2AClient(\"https://my-a2a-agent\");\n\nconst agent = new A2AAgent({\n  a2aClient: client,\n  initialMessages: [\n    { id: \"user-1\", role: \"user\", content: \"Plan a team offsite\" } as any,\n  ],\n});\n\nconst { result, newMessages } = await agent.runAgent();\nconsole.log(result);\nconsole.log(newMessages);\n```\n\nYou can inject your own `A2AClient` instance via the `client` option, override default instructions, or force blocking mode by setting `strategy: \"blocking\"`.\n\n## Configuration reference\n\n| Option | Description |\n| ------ | ----------- |\n| `a2aClient` | Required. Provide an `A2AClient` instance (with any auth headers or custom fetch logic you need). |\n\n## Environment variables & authentication\n\nThe integration relies on the underlying A2A agent for authentication. Common patterns include:\n\n- `A2A_AGENT_URL` – set in deployment environments to point to the remote agent base URL.\n- `A2A_API_KEY` or `A2A_BEARER_TOKEN` – consumed by a wrapped `fetch` inside a custom `A2AClient` instance if the remote agent enforces API key or bearer authentication.\n\nPass any credentials to the `A2AClient` you provide to `A2AAgent`, or configure an HTTP proxy that injects the correct headers.\n\n## Utilities\n\n- `convertAGUIMessagesToA2A(messages, options)` — reshapes AG-UI history into A2A message objects, forwarding only user/assistant/tool turns and preserving the tool payloads.\n- `convertA2AEventToAGUIEvents(event, options)` — maps an A2A stream event to AG-UI text and tool events (`TEXT_MESSAGE_CHUNK`, `TOOL_CALL_*`, `TOOL_CALL_RESULT`).\n- `sendMessageToA2AAgentTool` — JSON schema describing a `send_message_to_a2a_agent` tool for orchestration agents.\n\n## Testing\n\n```bash\npnpm --filter @ag-ui/a2a test\n```\n\nThe suite covers conversion edge cases and streaming / fallback behaviour using mocked A2A clients.\n\n## Examples\n\n- `examples/basic.ts` – minimal script. If you set `A2A_AGENT_URL`, it will connect to that agent through the real `A2AClient`. Otherwise it falls back to a tiny in-memory mock client so you can observe the integration without hitting a remote endpoint.\n\n## Release checklist\n\n1. `pnpm --filter @ag-ui/a2a build`\n2. `pnpm --filter @ag-ui/a2a test`\n3. Update CHANGELOG / release notes.\n4. Publish with `pnpm publish --filter @ag-ui/a2a`.\n","readmeFilename":"README.md"}