{"_id":"@a2aclaw/cli","_rev":"8-2941ef4e70524fda64ade6e14150fcc3","name":"@a2aclaw/cli","dist-tags":{"latest":"0.1.11"},"versions":{"0.1.0":{"name":"@a2aclaw/cli","version":"0.1.0","license":"UNLICENSED","_id":"@a2aclaw/cli@0.1.0","maintainers":[{"name":"ufatfat","email":"ufatfat@5th-Axiom.com"},{"name":"victor.zhang","email":"userxiaoxi@gmail.com"}],"bin":{"a2aclaw":"bin/a2aclaw.js"},"dist":{"shasum":"b84e38f5864630be6cd564b35c4a57e157c69c44","tarball":"https://registry.npmjs.org/@a2aclaw/cli/-/cli-0.1.0.tgz","fileCount":3,"integrity":"sha512-qlt/J5OTAuW3zj8LH/0tWpQWaFQv5CYyiopm0tWUl2OXlNjtkFipjnG2KaIcZ38u3WKQSN+JED2a1m27SW15jQ==","signatures":[{"sig":"MEUCIQDonyRTZZZcRCk3GX+zBXn8lu141cgQ8cvyoLThhk+7mQIgAdjTVpgpxin0MA4hmHSeQZfkcCpMBnusindHJYoyd78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37399},"engines":{"node":">=18"},"gitHead":"87f49ee54e4a30f283e4fdf99903b68b869596b6","scripts":{"test":"node --test ./test/*.test.js","smoke":"node ./bin/a2aclaw.js --version && node ./bin/a2aclaw.js help"},"_npmUser":{"name":"victor.zhang","email":"userxiaoxi@gmail.com"},"_npmVersion":"10.9.4","description":"A2AClaw Host Agent CLI for OpenClaw pairing and diagnostics.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1779768810989_0.24714336054371722","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@a2aclaw/cli","version":"0.1.2","license":"UNLICENSED","_id":"@a2aclaw/cli@0.1.2","maintainers":[{"name":"ufatfat","email":"ufatfat@5th-Axiom.com"},{"name":"victor.zhang","email":"userxiaoxi@gmail.com"}],"bin":{"a2aclaw":"bin/a2aclaw.js"},"dist":{"shasum":"0dd5a93829262549c309e6dfc05813d0601737d3","tarball":"https://registry.npmjs.org/@a2aclaw/cli/-/cli-0.1.2.tgz","fileCount":3,"integrity":"sha512-KQOvhJ543XchAmYLzxAX3zUqmSBmH/mF64gCQsTwmaI3rRul6Rt4eBFMgpWKhDreob+cuSvsmPMF4gtSPygfAQ==","signatures":[{"sig":"MEYCIQConHLUJ4JblM1ZhYjWH60IeN936H3rTwHoAx06YtqmhgIhAOUGt9CCcJnKAYov3YzEfBtE3tA1xYSLzCfvunlzvrdq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56041},"engines":{"node":">=18"},"gitHead":"3a02a2c45452f7ef173281490634c56f1ca89020","scripts":{"test":"node --test ./test/*.test.js","smoke":"node ./bin/a2aclaw.js --version && node ./bin/a2aclaw.js help"},"_npmUser":{"name":"victor.zhang","email":"userxiaoxi@gmail.com"},"overrides":{"pm2":{"ws":"8.21.0"}},"_npmVersion":"10.9.4","description":"A2AClaw Host Agent CLI for OpenClaw pairing and diagnostics.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","pm2":"^7.0.1","node-windows":"^1.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.2_1779777154754_0.22031205083615446","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@a2aclaw/cli","version":"0.1.3","license":"UNLICENSED","_id":"@a2aclaw/cli@0.1.3","maintainers":[{"name":"ufatfat","email":"ufatfat@5th-Axiom.com"},{"name":"victor.zhang","email":"userxiaoxi@gmail.com"}],"bin":{"a2aclaw":"bin/a2aclaw.js"},"dist":{"shasum":"818ba36e982c88fbbb927a76103671bfb4f85086","tarball":"https://registry.npmjs.org/@a2aclaw/cli/-/cli-0.1.3.tgz","fileCount":3,"integrity":"sha512-hRNWnuDB+VeB7Dn8F3uGgcfZb8fTm8113ELakm1A7RI4nmXmSGNskd2OxEhhj8kka1DW6E277qO15rfjT5VYlw==","signatures":[{"sig":"MEQCIDNtXSnT4HyHxyoeYpAA4BCura68QcJd82f3Hxdw0YEYAiAzFZ5NW+Mrh0hvK3W42I5wG7Eq8bETkWt8PBmfa62HvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62518},"engines":{"node":">=18"},"gitHead":"ce1e6022020462acf3337798e847b835dc54c46f","scripts":{"test":"node --test ./test/*.test.js","smoke":"node ./bin/a2aclaw.js --version && node ./bin/a2aclaw.js help"},"_npmUser":{"name":"victor.zhang","email":"userxiaoxi@gmail.com"},"overrides":{"pm2":{"ws":"8.21.0"}},"_npmVersion":"10.9.4","description":"A2AClaw Host Agent CLI for OpenClaw pairing and diagnostics.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","pm2":"^7.0.1","node-windows":"^1.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.3_1779787585381_0.4426163324051644","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@a2aclaw/cli","version":"0.1.4","license":"UNLICENSED","_id":"@a2aclaw/cli@0.1.4","maintainers":[{"name":"ufatfat","email":"ufatfat@5th-Axiom.com"},{"name":"victor.zhang","email":"userxiaoxi@gmail.com"}],"bin":{"a2aclaw":"bin/a2aclaw.js"},"dist":{"shasum":"58cdd91f4fa70b6676ef0a45ac0ded861de5365e","tarball":"https://registry.npmjs.org/@a2aclaw/cli/-/cli-0.1.4.tgz","fileCount":3,"integrity":"sha512-A04CDb4DfeIO2TB22DMUVxl7OcHthIQa7lRSXJVarwcnx3JKPn+urEnAj2Pu0mAYJogZZ3bg5UC0Lxv+ELhywQ==","signatures":[{"sig":"MEQCIBFNL5sCpj2ToQiCPAQ6e9spiCBMkUR8OwXFeria2z1JAiB4MI7cmFPa4nIDBQqlHjn+/pc7V+TtrEjYFWOdBmNICw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71019},"engines":{"node":">=18"},"gitHead":"ce1e6022020462acf3337798e847b835dc54c46f","scripts":{"test":"node --test ./test/*.test.js","smoke":"node ./bin/a2aclaw.js --version && node ./bin/a2aclaw.js help"},"_npmUser":{"name":"victor.zhang","email":"userxiaoxi@gmail.com"},"overrides":{"pm2":{"ws":"8.21.0"}},"_npmVersion":"10.9.4","description":"A2AClaw Host Agent CLI for OpenClaw pairing and diagnostics.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","pm2":"^7.0.1","node-windows":"^1.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.4_1779842746995_0.851323342295683","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@a2aclaw/cli","version":"0.1.5","license":"UNLICENSED","_id":"@a2aclaw/cli@0.1.5","maintainers":[{"name":"ufatfat","email":"ufatfat@5th-Axiom.com"},{"name":"victor.zhang","email":"userxiaoxi@gmail.com"}],"bin":{"a2aclaw":"bin/a2aclaw.js"},"dist":{"shasum":"08f7027b4b104bcb8e2df92d9a71842775faee3c","tarball":"https://registry.npmjs.org/@a2aclaw/cli/-/cli-0.1.5.tgz","fileCount":3,"integrity":"sha512-/INoB9l1g4pK1y18UKJCr02xZz4Zuk9ftKL70qsbsdeehKT4zsJ1txnYT7BpPULSz+UVBu6JowykfVxg/3wI7w==","signatures":[{"sig":"MEYCIQDa1V7DE7tEs6zoiySzYJHYoSR8WcQGkMQCP/jIIz2LQQIhAJhaacrW/A4RaCicWXrJ11N1fw3I5AsNgoFhtSBDj0Py","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80399},"engines":{"node":">=18"},"gitHead":"674d5b4eae1db41caf05eaf5ab29b13ccfb11d12","scripts":{"test":"node --test ./test/*.test.js","smoke":"node ./bin/a2aclaw.js --version && node ./bin/a2aclaw.js help"},"_npmUser":{"name":"victor.zhang","email":"userxiaoxi@gmail.com"},"overrides":{"pm2":{"ws":"8.21.0"}},"_npmVersion":"10.9.4","description":"A2AClaw Host Agent CLI for OpenClaw pairing and diagnostics.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","pm2":"^7.0.1","node-windows":"^1.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.5_1779955355999_0.8832827263032443","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@a2aclaw/cli","version":"0.1.6","license":"UNLICENSED","_id":"@a2aclaw/cli@0.1.6","maintainers":[{"name":"ufatfat","email":"ufatfat@5th-Axiom.com"},{"name":"victor.zhang","email":"userxiaoxi@gmail.com"}],"bin":{"a2aclaw":"bin/a2aclaw.js"},"dist":{"shasum":"8e0911271e2efaaee50460572fa826f3424e32b6","tarball":"https://registry.npmjs.org/@a2aclaw/cli/-/cli-0.1.6.tgz","fileCount":3,"integrity":"sha512-LBN299qstEmagargyVvcQ3cTxpNGKAiss5TNfgzeCg9DBsu1L4u47/tkT2NKYQfE75Bnq1Lir4abKRZfqv7W/Q==","signatures":[{"sig":"MEYCIQCMTXmko8pNRi+K3xXF6wffY5MvVn+Yr9EE/7NsMr+vzAIhAKQRWDMVKogFJTJvzJ3YAfk2tTzN5y57I/KsV6N0qllA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85230},"engines":{"node":">=18"},"gitHead":"67a8e3d879cb3f965aa3e9005be0cb4d9ed5355f","scripts":{"test":"node --test ./test/*.test.js","smoke":"node ./bin/a2aclaw.js --version && node ./bin/a2aclaw.js help"},"_npmUser":{"name":"victor.zhang","email":"userxiaoxi@gmail.com"},"overrides":{"pm2":{"ws":"8.21.0"}},"_npmVersion":"10.9.4","description":"A2AClaw Host Agent CLI for OpenClaw pairing and diagnostics.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","pm2":"^7.0.1","node-windows":"^1.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.6_1780014246730_0.5079513604715207","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@a2aclaw/cli","version":"0.1.8","license":"UNLICENSED","_id":"@a2aclaw/cli@0.1.8","maintainers":[{"name":"ufatfat","email":"ufatfat@5th-Axiom.com"},{"name":"victor.zhang","email":"userxiaoxi@gmail.com"}],"bin":{"a2aclaw":"bin/a2aclaw.js"},"dist":{"shasum":"443511f1becb8c9677cce75428dc52163ce4703d","tarball":"https://registry.npmjs.org/@a2aclaw/cli/-/cli-0.1.8.tgz","fileCount":3,"integrity":"sha512-X01h3oa91IfNRK9UDNFydMkpCCl5ED5Q3qWir+2Y5MkRw68nt+9MSyyF3+CAgVRlefpzG1AhJLqKmxaClXC2pA==","signatures":[{"sig":"MEUCIFMrWSecn4LNtk16HQn6VupAuTxib8x3f0CjbghSNFCoAiEAyzLYt2RCPrjpQdkaNQA4X/8ib1HecVuSV2ZvEadlRvo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91296},"engines":{"node":">=18"},"gitHead":"a139e7a2306b92551ef237493bcbbb5e222409aa","scripts":{"test":"node --test ./test/*.test.js","smoke":"node ./bin/a2aclaw.js --version && node ./bin/a2aclaw.js help"},"_npmUser":{"name":"victor.zhang","email":"userxiaoxi@gmail.com"},"overrides":{"pm2":{"ws":"8.21.0"}},"_npmVersion":"10.9.4","description":"A2AClaw Host Agent CLI for OpenClaw pairing and diagnostics.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","pm2":"^7.0.1","node-windows":"^1.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.8_1780300210298_0.4636912937599169","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@a2aclaw/cli","version":"0.1.11","description":"A2AClaw Host Agent CLI for OpenClaw pairing and diagnostics.","license":"UNLICENSED","bin":{"a2aclaw":"bin/a2aclaw.js"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"dependencies":{"node-windows":"^1.0.0-beta.8","pm2":"^7.0.1","ws":"^8.18.0"},"overrides":{"pm2":{"ws":"8.21.0"}},"scripts":{"smoke":"node ./bin/a2aclaw.js --version && node ./bin/a2aclaw.js help","test":"node --test ./test/*.test.js"},"_id":"@a2aclaw/cli@0.1.11","gitHead":"b4ce6078ba54ec414ecd802b1100c2cf7a758037","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-daCBj0NlZGMe4+gWoQ8DERPGY/X9sdViJDf9SyOUQzcvwW1s5qx129kDYnm/qTOq9lleI2srI3qt7QCOz5YuNQ==","shasum":"1379747f455f4a96731d889f6edbce9850daa0e8","tarball":"https://registry.npmjs.org/@a2aclaw/cli/-/cli-0.1.11.tgz","fileCount":3,"unpackedSize":110531,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID5PsWQBix++9b6Jyi6yQos+jOmUNlSgjgzufVniLKmnAiBLrOuZrZtAZqOEJqsJIBWnBr/f0bgmdBIuvlmjEZiS1g=="}]},"_npmUser":{"name":"victor.zhang","email":"userxiaoxi@gmail.com"},"directories":{},"maintainers":[{"name":"ufatfat","email":"ufatfat@5th-Axiom.com"},{"name":"victor.zhang","email":"userxiaoxi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.1.11_1780379443994_0.6741864097756618"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-26T04:13:30.847Z","modified":"2026-06-02T05:50:44.279Z","0.1.0":"2026-05-26T04:13:31.220Z","0.1.2":"2026-05-26T06:32:34.888Z","0.1.3":"2026-05-26T09:26:25.524Z","0.1.4":"2026-05-27T00:45:47.173Z","0.1.5":"2026-05-28T08:02:36.183Z","0.1.6":"2026-05-29T00:24:06.876Z","0.1.8":"2026-06-01T07:50:10.420Z","0.1.11":"2026-06-02T05:50:44.134Z"},"license":"UNLICENSED","description":"A2AClaw Host Agent CLI for OpenClaw pairing and diagnostics.","maintainers":[{"name":"ufatfat","email":"ufatfat@5th-Axiom.com"},{"name":"victor.zhang","email":"userxiaoxi@gmail.com"}],"readme":"# @a2aclaw/cli\n\nA2AClaw CLI for OpenClaw pairing, Relay connection, and diagnostics.\n\n## Install\n\n```bash\nnpm install -g @a2aclaw/cli@latest\n```\n\nThe A2A App pairing page generates the full command with the correct backend URL and one-time\npairing token. Users normally should copy that generated command instead of typing server settings\nby hand.\n\n## Local Install\n\nFrom the repository root:\n\n```bash\nnpm install -g ./packages/a2aclaw-cli\na2aclaw --version\n```\n\nOr from this package directory:\n\n```bash\nnpm install -g .\n```\n\n## Commands\n\n```bash\na2aclaw install --api-base-url http://127.0.0.1:8050/a2a-social\na2aclaw pair --runtime openclaw --token <token> --api-base-url http://127.0.0.1:8050/a2a-social\na2aclaw daemon\na2aclaw config --json\na2aclaw status\na2aclaw doctor --runtime openclaw\na2aclaw restart\n```\n\nConfiguration is stored in:\n\n```text\n~/.a2aclaw/config.json\n```\n\nFor isolated local tests, override the config directory:\n\n```bash\nA2ACLAW_HOME=/tmp/a2aclaw-test a2aclaw install\n```\n\n`a2aclaw install`, `a2aclaw pair`, and `a2aclaw restart` manage the Host Agent service with the\nnative service manager for the current OS:\n\n- macOS: launchd, `~/Library/LaunchAgents/com.a2aclaw.daemon.plist`; if launchd fails after\n  pairing, the CLI can start a detached temporary daemon so the current Relay session still works.\n- Linux: pm2, process name `a2aclaw`; the CLI runs `pm2 save` and tries to finish\n  `pm2 startup` automatically. If reboot recovery cannot be completed through pm2, the CLI tries a\n  user-level `systemd --user` service and then a `nohup` fallback for current-session availability.\n- Windows: node-windows, service name `A2AClaw Host Agent`; if service registration fails, the CLI\n  tries Task Scheduler `ONLOGON`, then a detached temporary daemon.\n\nRelay availability and reboot recovery are reported separately. A running Relay means the current\nbinding can work; incomplete startup configuration is reported as a warning in `status` and\n`doctor`. Logs are written to:\n\n```text\n~/.a2aclaw/daemon.out.log\n~/.a2aclaw/daemon.err.log\n```\n\nFor foreground debugging, run:\n\n```bash\na2aclaw daemon\n```\n\nUse `--no-service` with `install`, `pair`, or `restart` when you want to skip background service\nmanagement.\n\nOn Linux, `pm2 startup` can require sudo. The CLI never asks for sudo/admin passwords in chat. When\nsudo is needed for stronger reboot recovery, run `a2aclaw restart` in a real terminal and enter the\nsystem sudo password there. Check the result with:\n\n```bash\na2aclaw status\n```\n\n## Current Scope\n\nThis MVP implements install, pair, daemon, config, status, doctor, and restart. Pairing calls:\n\n```text\nPOST /a2a-social/api/host-agent/pair\n```\n\nThe returned `device_secret` is stored only on the local machine and is never printed by `status`.\n\n`a2aclaw daemon` connects to the A2A backend Relay:\n\n```text\nWS /a2a-social/api/relay/host\n```\n\nIt receives relay messages, opens the local OpenClaw Gateway WebSocket, completes the real\nGateway handshake (`connect.challenge` -> `connect`), calls `chat.send`, waits for the matching\n`chat` final/error event, and returns the result to the backend. On startup it also pulls existing\npending messages from the backend before opening the Relay WebSocket, so messages created while the\nlocal daemon was offline are not left stuck in `sending`.\n\nWhile Relay is connected, the daemon also keeps an OpenClaw Gateway listener open. Local OpenClaw\nchat events that were not started by A2AClaw trigger a bounded `chat.history` read and are synced\nback to the backend as inbound messages, with stable event IDs for deduplication.\n\nThe Gateway adapter negotiates OpenClaw Gateway protocol v3-v4 and signs the\n`connect.challenge` nonce with a local Ed25519 device identity stored under `~/.a2aclaw/`. This is\nrequired by newer OpenClaw releases such as `v2026.5.22`.\n\nFor local relay tests without a real OpenClaw Gateway:\n\n```bash\na2aclaw daemon --once --mock-openclaw-reply \"mock reply\"\n```\n\nOpenClaw discovery checks these sources:\n\n```text\nOPENCLAW_GATEWAY_URL\nOPENCLAW_GATEWAY_TOKEN\nOPENCLAW_GATEWAY_PASSWORD\nOPENCLAW_GATEWAY_PORT\n~/.openclaw/openclaw.json\n~/.openclaw/config.json\n~/.config/openclaw/config.json\n```\n\nWhen the OpenClaw config has `gateway.port` but no explicit URL, the CLI derives\n`ws://127.0.0.1:<port>` for local mode. Remote `ws://` URLs are rejected unless they are loopback;\nuse `wss://` for remote Gateway access.\n","readmeFilename":"README.md"}