{"id":50375966,"url":"https://github.com/oaslananka/a2a-warp","last_synced_at":"2026-06-07T02:04:37.172Z","repository":{"id":360376732,"uuid":"1246593033","full_name":"oaslananka/a2a-warp","owner":"oaslananka","description":"Independent TypeScript runtime and toolkit for the Agent2Agent (A2A) protocol — server, client SDK, registry, adapters, CLI, MCP bridge, and WebSocket/gRPC transports.","archived":false,"fork":false,"pushed_at":"2026-05-26T07:11:37.000Z","size":2218,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-26T07:26:18.073Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://oaslananka.github.io/a2a-warp/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oaslananka.png","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","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":".github/SUPPORT.md","governance":".github/GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":"MAINTAINERS.md","copyright":null,"agents":".github/AGENTS.md","dco":null,"cla":null},"funding":{"github":["oaslananka"],"buy_me_a_coffee":"oaslananka"}},"created_at":"2026-05-22T10:53:14.000Z","updated_at":"2026-05-26T06:28:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/oaslananka/a2a-warp","commit_stats":null,"previous_names":["oaslananka/a2a-warp"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/oaslananka/a2a-warp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oaslananka%2Fa2a-warp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oaslananka%2Fa2a-warp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oaslananka%2Fa2a-warp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oaslananka%2Fa2a-warp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oaslananka","download_url":"https://codeload.github.com/oaslananka/a2a-warp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oaslananka%2Fa2a-warp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33687722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2026-05-30T10:00:14.651Z","updated_at":"2026-05-30T10:00:24.729Z","avatar_url":"https://github.com/oaslananka.png","language":"TypeScript","funding_links":["https://github.com/sponsors/oaslananka","https://buymeacoffee.com/oaslananka"],"categories":["⚙️ Implementations \u0026 Libraries"],"sub_categories":[],"readme":"# A2A Warp\n\nA2A Warp is an independent TypeScript runtime and toolkit for the Agent2Agent (A2A) protocol. It is not an official Google, Linux Foundation, or a2aproject package.\n\n## What It Provides\n\n- A2A server runtime and client SDK for Agent Cards, JSON-RPC messages, tasks, artifacts, and status transitions.\n- Registry components for local discovery and health polling.\n- Adapters for OpenAI, Anthropic, LangChain, Google ADK, LlamaIndex, and CrewAI HTTP bridge flows when the optional peer dependency is installed.\n- CLI commands for validation, discovery, sending messages, registry export/import, monitoring tasks, benchmarking, diagnostics, and scaffolding.\n- MCP bridge, WebSocket transport, gRPC transport, and testing helper packages for repository-verified workflows.\n- Runnable examples for authenticated servers, streaming, push notifications, registry tenancy, WebSocket, gRPC, MCP bridge, and adapter templates.\n\n## Install\n\n```bash\npnpm add @oaslananka/a2a-warp\n```\n\nPowerShell:\n\n```powershell\npnpm add @oaslananka/a2a-warp\n```\n\n## Quickstart\n\n```bash\npnpm create a2a-warp demo\ncd demo\npnpm install\npnpm run dev\n```\n\nPowerShell:\n\n```powershell\npnpm create a2a-warp demo\nSet-Location demo\npnpm install\npnpm run dev\n```\n\n## CLI Examples\n\n```bash\na2a-warp validate ./agent-card.json\na2a-warp discover http://127.0.0.1:3000\na2a-warp scaffold demo-agent --adapter custom\na2a-warp send http://127.0.0.1:3000 \"hello\"\na2a-warp task status http://127.0.0.1:3000 task-123\na2a-warp health http://127.0.0.1:3000 --timeout-ms 1000 --json\na2a-warp conformance http://127.0.0.1:3000 --protocol-version 1.0 --json\na2a-warp registry export --url http://127.0.0.1:3099 --output ./registry-export.json\na2a-warp registry import --url http://127.0.0.1:3099 --input ./registry-export.json\na2a-warp export-card http://127.0.0.1:3000 --output ./agent-card.json\na2a-warp monitor http://127.0.0.1:3000 --cycles 3\na2a-warp benchmark http://127.0.0.1:3000 --requests 25 --concurrency 5\na2a-warp doctor --json\n```\n\nPowerShell:\n\n```powershell\na2a-warp validate .\\agent-card.json\na2a-warp discover http://127.0.0.1:3000\na2a-warp scaffold demo-agent --adapter custom\na2a-warp send http://127.0.0.1:3000 \"hello\"\na2a-warp task status http://127.0.0.1:3000 task-123\na2a-warp health http://127.0.0.1:3000 --timeout-ms 1000 --json\na2a-warp conformance http://127.0.0.1:3000 --protocol-version 1.0 --json\na2a-warp registry export --url http://127.0.0.1:3099 --output .\\registry-export.json\na2a-warp registry import --url http://127.0.0.1:3099 --input .\\registry-export.json\na2a-warp export-card http://127.0.0.1:3000 --output .\\agent-card.json\na2a-warp monitor http://127.0.0.1:3000 --cycles 3\na2a-warp benchmark http://127.0.0.1:3000 --requests 25 --concurrency 5\na2a-warp doctor --json\n```\n\n## Package List\n\n| Package                           | Purpose                                                                                                  |\n| --------------------------------- | -------------------------------------------------------------------------------------------------------- |\n| `@oaslananka/a2a-warp`            | Core runtime, client APIs, auth, telemetry, storage, middleware, testing helpers, and Codex-style tools. |\n| `@oaslananka/a2a-warp-adapters`   | Optional framework/provider adapters.                                                                    |\n| `@oaslananka/a2a-warp-registry`   | Registry server, discovery client, health polling, and storage helpers.                                  |\n| `@oaslananka/a2a-warp-cli`        | CLI binary `a2a-warp`.                                                                                   |\n| `create-a2a-warp`                 | Project scaffolder.                                                                                      |\n| `@oaslananka/a2a-warp-mcp-bridge` | A2A and MCP mapping helpers.                                                                             |\n| `@oaslananka/a2a-warp-ws`         | WebSocket transport helpers.                                                                             |\n| `@oaslananka/a2a-warp-grpc`       | gRPC transport helpers.                                                                                  |\n| `@oaslananka/a2a-warp-schemas`    | Standalone JSON Schema files for editor, CI, and validation pipelines.                                   |\n\n## A2A Protocol Compatibility\n\nThe 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).\n\nSee [Compatibility](docs/compatibility.md) for the supported Node.js, package, protocol, transport, optional peer, and deprecation policy matrix.\n\n## Security Defaults\n\n- Public HTTP server mode must use authentication unless it is bound to loopback.\n- A2A server and registry HTTP routes apply a per-client request limit by default.\n- Remote fetches and callback URLs pass SSRF policy helpers.\n- CORS and WebSocket origin checks fail closed when configured.\n- CLI and bridge code avoid printing full auth headers or concrete secret values.\n- Release publishing is owner-triggered only and uses npm Trusted Publishing/OIDC.\n\n## Supported Adapters And Transports\n\n| Surface             | Status                  | Verification                                       |\n| ------------------- | ----------------------- | -------------------------------------------------- |\n| OpenAI adapter      | Supported               | Unit tests with fake provider objects.             |\n| Anthropic adapter   | Supported               | Unit tests with fake provider objects.             |\n| LangChain adapter   | Supported               | Unit tests with fake runnables.                    |\n| Google ADK adapter  | Supported               | Unit and streaming tests.                          |\n| LlamaIndex adapter  | Supported               | Unit tests with fake provider objects.             |\n| CrewAI HTTP bridge  | Supported               | Unit tests with local fetch mocks.                 |\n| SSE streaming       | Supported               | Unit and integration tests.                        |\n| WebSocket transport | Supported               | Package tests.                                     |\n| gRPC transport      | Kept as package surface | Build and package checks; see compatibility notes. |\n| MCP bridge          | Supported               | Mapping tests.                                     |\n\n## Naming And Affiliation\n\n`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.\n\n## Documentation\n\n- [Install](docs/install.md)\n- [Quickstart](docs/quickstart.md)\n- [Examples](docs/examples.md)\n- [Compatibility](docs/compatibility.md)\n- [Protocol compatibility](docs/protocol/compatibility.md)\n- [Threat model](docs/security/threat-model.md)\n- [Release process](docs/release/process.md)\n- [Branch protection](docs/release/branch-protection.md)\n\nDocs site: [https://oaslananka.github.io/a2a-warp/](https://oaslananka.github.io/a2a-warp/)\n\n## License\n\nApache-2.0. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foaslananka%2Fa2a-warp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foaslananka%2Fa2a-warp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foaslananka%2Fa2a-warp/lists"}