https://github.com/oaslananka/a2a-warp
Independent TypeScript runtime and toolkit for the Agent2Agent (A2A) protocol — server, client SDK, registry, adapters, CLI, MCP bridge, and WebSocket/gRPC transports.
https://github.com/oaslananka/a2a-warp
a2a agent-protocol agent-registry agent2agent agentic-ai crewai google-adk grpc json-rpc langchain llama-index mcp monorepo nodejs openai pnpm sse typescript websocket
Last synced: 21 days ago
JSON representation
Independent TypeScript runtime and toolkit for the Agent2Agent (A2A) protocol — server, client SDK, registry, adapters, CLI, MCP bridge, and WebSocket/gRPC transports.
- Host: GitHub
- URL: https://github.com/oaslananka/a2a-warp
- Owner: oaslananka
- License: other
- Created: 2026-05-22T10:53:14.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-26T07:11:37.000Z (about 1 month ago)
- Last Synced: 2026-05-26T07:26:18.073Z (about 1 month ago)
- Topics: a2a, agent-protocol, agent-registry, agent2agent, agentic-ai, crewai, google-adk, grpc, json-rpc, langchain, llama-index, mcp, monorepo, nodejs, openai, pnpm, sse, typescript, websocket
- Language: TypeScript
- Homepage: https://oaslananka.github.io/a2a-warp/
- Size: 2.12 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: .github/SECURITY.md
- Support: .github/SUPPORT.md
- Governance: .github/GOVERNANCE.md
- Maintainers: MAINTAINERS.md
- Agents: .github/AGENTS.md
Awesome Lists containing this project
- awesome-a2a - a2a-warp - warp?style=social)](https://github.com/oaslananka/a2a-warp) - Independent TypeScript runtime and toolkit for the A2A protocol, with server/client SDKs, registry, adapters for OpenAI/Anthropic/LangChain/Google ADK/LlamaIndex/CrewAI, CLI, MCP bridge, WebSocket/gRPC transports, and conformance tooling. Published on npm as `@oaslananka/a2a-warp`. Apache 2.0. (⚙️ Implementations & Libraries)
README
# A2A Warp
A2A Warp is an independent TypeScript runtime and toolkit for the Agent2Agent (A2A) protocol. It is not an official Google, Linux Foundation, or a2aproject package.
## What It Provides
- A2A server runtime and client SDK for Agent Cards, JSON-RPC messages, tasks, artifacts, and status transitions.
- Registry components for local discovery and health polling.
- Adapters for OpenAI, Anthropic, LangChain, Google ADK, LlamaIndex, and CrewAI HTTP bridge flows when the optional peer dependency is installed.
- CLI commands for validation, discovery, sending messages, registry export/import, monitoring tasks, benchmarking, diagnostics, and scaffolding.
- MCP bridge, WebSocket transport, gRPC transport, and testing helper packages for repository-verified workflows.
- Runnable examples for authenticated servers, streaming, push notifications, registry tenancy, WebSocket, gRPC, MCP bridge, and adapter templates.
## Install
```bash
pnpm add @oaslananka/a2a-warp
```
PowerShell:
```powershell
pnpm add @oaslananka/a2a-warp
```
## Quickstart
```bash
pnpm create a2a-warp demo
cd demo
pnpm install
pnpm run dev
```
PowerShell:
```powershell
pnpm create a2a-warp demo
Set-Location demo
pnpm install
pnpm run dev
```
## CLI Examples
```bash
a2a-warp validate ./agent-card.json
a2a-warp discover http://127.0.0.1:3000
a2a-warp scaffold demo-agent --adapter custom
a2a-warp send http://127.0.0.1:3000 "hello"
a2a-warp task status http://127.0.0.1:3000 task-123
a2a-warp health http://127.0.0.1:3000 --timeout-ms 1000 --json
a2a-warp conformance http://127.0.0.1:3000 --protocol-version 1.0 --json
a2a-warp registry export --url http://127.0.0.1:3099 --output ./registry-export.json
a2a-warp registry import --url http://127.0.0.1:3099 --input ./registry-export.json
a2a-warp export-card http://127.0.0.1:3000 --output ./agent-card.json
a2a-warp monitor http://127.0.0.1:3000 --cycles 3
a2a-warp benchmark http://127.0.0.1:3000 --requests 25 --concurrency 5
a2a-warp doctor --json
```
PowerShell:
```powershell
a2a-warp validate .\agent-card.json
a2a-warp discover http://127.0.0.1:3000
a2a-warp scaffold demo-agent --adapter custom
a2a-warp send http://127.0.0.1:3000 "hello"
a2a-warp task status http://127.0.0.1:3000 task-123
a2a-warp health http://127.0.0.1:3000 --timeout-ms 1000 --json
a2a-warp conformance http://127.0.0.1:3000 --protocol-version 1.0 --json
a2a-warp registry export --url http://127.0.0.1:3099 --output .\registry-export.json
a2a-warp registry import --url http://127.0.0.1:3099 --input .\registry-export.json
a2a-warp export-card http://127.0.0.1:3000 --output .\agent-card.json
a2a-warp monitor http://127.0.0.1:3000 --cycles 3
a2a-warp benchmark http://127.0.0.1:3000 --requests 25 --concurrency 5
a2a-warp doctor --json
```
## Package List
| Package | Purpose |
| --------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `@oaslananka/a2a-warp` | Core runtime, client APIs, auth, telemetry, storage, middleware, testing helpers, and Codex-style tools. |
| `@oaslananka/a2a-warp-adapters` | Optional framework/provider adapters. |
| `@oaslananka/a2a-warp-registry` | Registry server, discovery client, health polling, and storage helpers. |
| `@oaslananka/a2a-warp-cli` | CLI binary `a2a-warp`. |
| `create-a2a-warp` | Project scaffolder. |
| `@oaslananka/a2a-warp-mcp-bridge` | A2A and MCP mapping helpers. |
| `@oaslananka/a2a-warp-ws` | WebSocket transport helpers. |
| `@oaslananka/a2a-warp-grpc` | gRPC transport helpers. |
| `@oaslananka/a2a-warp-schemas` | Standalone JSON Schema files for editor, CI, and validation pipelines. |
## A2A Protocol Compatibility
The implementation targets Agent Cards, JSON-RPC request/response envelopes, messages, tasks, artifacts, task status transitions, streaming/SSE, push notification registration, and capability discovery as described in the official Agent2Agent `v1.0.0` release, checked against tag commit `173695755607e884aa9acf8ce4feed90e32727a1` on 2026-05-27. See [docs/protocol/compatibility.md](docs/protocol/compatibility.md).
See [Compatibility](docs/compatibility.md) for the supported Node.js, package, protocol, transport, optional peer, and deprecation policy matrix.
## Security Defaults
- Public HTTP server mode must use authentication unless it is bound to loopback.
- A2A server and registry HTTP routes apply a per-client request limit by default.
- Remote fetches and callback URLs pass SSRF policy helpers.
- CORS and WebSocket origin checks fail closed when configured.
- CLI and bridge code avoid printing full auth headers or concrete secret values.
- Release publishing is owner-triggered only and uses npm Trusted Publishing/OIDC.
## Supported Adapters And Transports
| Surface | Status | Verification |
| ------------------- | ----------------------- | -------------------------------------------------- |
| OpenAI adapter | Supported | Unit tests with fake provider objects. |
| Anthropic adapter | Supported | Unit tests with fake provider objects. |
| LangChain adapter | Supported | Unit tests with fake runnables. |
| Google ADK adapter | Supported | Unit and streaming tests. |
| LlamaIndex adapter | Supported | Unit tests with fake provider objects. |
| CrewAI HTTP bridge | Supported | Unit tests with local fetch mocks. |
| SSE streaming | Supported | Unit and integration tests. |
| WebSocket transport | Supported | Package tests. |
| gRPC transport | Kept as package surface | Build and package checks; see compatibility notes. |
| MCP bridge | Supported | Mapping tests. |
## Naming And Affiliation
`A2A Warp` is this project's name; A2A is used descriptively for the Agent2Agent protocol; this project is not affiliated with protocol stewards or third-party developer tools using the word Warp.
## Documentation
- [Install](docs/install.md)
- [Quickstart](docs/quickstart.md)
- [Examples](docs/examples.md)
- [Compatibility](docs/compatibility.md)
- [Protocol compatibility](docs/protocol/compatibility.md)
- [Threat model](docs/security/threat-model.md)
- [Release process](docs/release/process.md)
- [Branch protection](docs/release/branch-protection.md)
Docs site: [https://oaslananka.github.io/a2a-warp/](https://oaslananka.github.io/a2a-warp/)
## License
Apache-2.0. See [LICENSE](LICENSE).