{"_id":"@access402/cli","_rev":"6-c7b5e23b743bb3795c9fd673f74a4d4a","name":"@access402/cli","dist-tags":{"latest":"0.2.4"},"versions":{"0.1.0":{"name":"@access402/cli","version":"0.1.0","keywords":["x402","access402","codex","claude-code","cursor","api-payments","gateway"],"license":"MIT","_id":"@access402/cli@0.1.0","maintainers":[{"name":"jroyere","email":"jonathan.royere@gmail.com"}],"homepage":"https://github.com/JonathanRoyere/Access402Dash#readme","bugs":{"url":"https://github.com/JonathanRoyere/Access402Dash/issues"},"bin":{"access402":"bin/access402.js"},"dist":{"shasum":"63dd237c26764dd10b80472a7cc94c6b1937771a","tarball":"https://registry.npmjs.org/@access402/cli/-/cli-0.1.0.tgz","fileCount":15,"integrity":"sha512-DCVbV/VYxv5RiPS8IV+R6Xcz6eB1ELBlJ2Mdwm6m4nyXraIn8HFsOBaEiM1rl2dp56i8v42UcoGvHQAOzbjGPg==","signatures":[{"sig":"MEUCIQCRUTaLqgwg4afi00ugB9QC2hnkS8kz3CKIFInWG57jKAIgTuiU4Xop5GtFZAtLoYLwMIggciXrsYR5yDI5MAvGEEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96591},"type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js","./mcp":"./src/mcp.js","./gateway":"./src/gateway.js"},"gitHead":"5df077bea9dce23c069cbd8a9cbed11ac9b60db4","scripts":{"test":"node --test test/*.test.js","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"jroyere","email":"jonathan.royere@gmail.com"},"repository":{"url":"git+https://github.com/JonathanRoyere/Access402Dash.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.10.1","description":"One-prompt Access402 setup, diagnostics, and universal HTTP gateway for coding agents.","directories":{},"_nodeVersion":"25.7.0","dependencies":{"zod":"^4.4.3","yaml":"^2.8.1","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1786368021714_0.09951999019853486","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@access402/cli","version":"0.2.0","keywords":["x402","access402","codex","claude-code","cursor","api-payments","gateway"],"license":"MIT","_id":"@access402/cli@0.2.0","maintainers":[{"name":"jroyere","email":"jonathan.royere@gmail.com"}],"homepage":"https://access402.com/adapters/coding-agents","bin":{"access402":"bin/access402.js"},"dist":{"shasum":"5058e844eca864ba0baf4177fb95aa407e59ffa5","tarball":"https://registry.npmjs.org/@access402/cli/-/cli-0.2.0.tgz","fileCount":21,"integrity":"sha512-KQAsW9iO+y+FZ69lKgWXOa7Wnwy0Iz3UyaKxG77BENSX7NO9F05QS5/JjrJ07AKwUTQEpPDpvQX9Vwuj7OO0Tw==","signatures":[{"sig":"MEYCIQDjW95bbAWqBlXpRzBc/V8ZWu7Sa8RXMSUedHRLQbgjQQIhAKjWv3Ubs1EjVjE9ygx+gI4tLSS0GEF0KZqSlkcvDEm+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128682},"type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js","./mcp":"./src/mcp.js","./gateway":"./src/gateway.js","./gateway/cloudflare":"./src/gateway-cloudflare.js"},"gitHead":"5df077bea9dce23c069cbd8a9cbed11ac9b60db4","scripts":{"test":"node --test test/*.test.js","prepack":"npm run sync:skill && npm run verify:skill","pack:check":"npm pack --dry-run","sync:skill":"node scripts/sync-public-skill.mjs","verify:skill":"node scripts/verify-packaged-skill.mjs"},"_npmUser":{"name":"jroyere","email":"jonathan.royere@gmail.com"},"_npmVersion":"11.10.1","description":"One-prompt Access402 setup, diagnostics, and universal HTTP gateway for coding agents.","directories":{},"_nodeVersion":"25.7.0","dependencies":{"zod":"^4.4.3","yaml":"^2.8.1","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.0_1786371638891_0.9657923425383559","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@access402/cli","version":"0.2.1","keywords":["x402","access402","codex","claude-code","cursor","api-payments","gateway"],"license":"MIT","_id":"@access402/cli@0.2.1","maintainers":[{"name":"jroyere","email":"jonathan.royere@gmail.com"}],"homepage":"https://access402.com/adapters/coding-agents","bin":{"access402":"bin/access402.js"},"dist":{"shasum":"8d2e08b9a80d3f89d6516a47282196978c80afb9","tarball":"https://registry.npmjs.org/@access402/cli/-/cli-0.2.1.tgz","fileCount":21,"integrity":"sha512-+s9HgiJ4qvweT2GQp2nEmAkJ9ND47tM8yVSCwJrbWJqBkAmfxK3Ehg0iK2aGIuvKRqML3VtNhtNKLzBSSaykfg==","signatures":[{"sig":"MEYCIQDrxqJhVlmKUZsboQoApGGjcAuZg5rw7D/0FogAo0fIxgIhAPicBSynh9TUNM8U3grDv0AXlOv70KPzarVF4ResBsaY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133127},"type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js","./mcp":"./src/mcp.js","./gateway":"./src/gateway.js","./gateway/cloudflare":"./src/gateway-cloudflare.js"},"gitHead":"34104054f87edd9f192def772f4bc70d06a24990","scripts":{"test":"node --test test/*.test.js","prepack":"npm run sync:skill && npm run verify:skill","pack:check":"npm pack --dry-run","sync:skill":"node scripts/sync-public-skill.mjs","verify:skill":"node scripts/verify-packaged-skill.mjs"},"_npmUser":{"name":"jroyere","email":"jonathan.royere@gmail.com"},"_npmVersion":"11.10.1","description":"One-prompt Access402 setup, diagnostics, and universal HTTP gateway for coding agents.","directories":{},"_nodeVersion":"25.7.0","dependencies":{"zod":"^4.4.3","yaml":"^2.8.1","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.1_1788993091878_0.36404710854957045","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@access402/cli","version":"0.2.2","keywords":["x402","access402","codex","claude-code","cursor","api-payments","gateway"],"license":"MIT","_id":"@access402/cli@0.2.2","maintainers":[{"name":"jroyere","email":"jonathan.royere@gmail.com"}],"homepage":"https://access402.com/adapters/coding-agents","bin":{"access402":"bin/access402.js"},"dist":{"shasum":"48abb765f4fae860cb4c99b0505ef38e4b58f7de","tarball":"https://registry.npmjs.org/@access402/cli/-/cli-0.2.2.tgz","fileCount":22,"integrity":"sha512-U4bJQnfnWvww9PHuN55IV/B7esa5SAeWMbZXEw51faRlDlF/ztUJKx32+1c/R6xPX0dTRZNSMkeMtizMjsbETQ==","signatures":[{"sig":"MEQCIETkfF9pxz7zvoobhEZhN1ewNu/14HM/Pcu5ErrmywcVAiAE97Yht8Dr7wdl4ZXzikg2j0edEr5jOGNCkQML/W533g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135202},"type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js","./mcp":"./src/mcp.js","./gateway":"./src/gateway.js","./gateway/cloudflare":"./src/gateway-cloudflare.js"},"gitHead":"34104054f87edd9f192def772f4bc70d06a24990","scripts":{"test":"node --test test/*.test.js","prepack":"npm run sync:skill && npm run verify:skill","pack:check":"npm pack --dry-run","sync:skill":"node scripts/sync-public-skill.mjs","verify:skill":"node scripts/verify-packaged-skill.mjs"},"_npmUser":{"name":"jroyere","email":"jonathan.royere@gmail.com"},"_npmVersion":"11.10.1","description":"One-prompt Access402 setup, diagnostics, and universal HTTP gateway for coding agents.","directories":{},"_nodeVersion":"25.7.0","dependencies":{"zod":"^4.4.3","yaml":"^2.8.1","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.2_1789001347567_0.8449950059866629","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@access402/cli","version":"0.2.3","keywords":["x402","access402","codex","claude-code","cursor","api-payments","gateway"],"license":"MIT","_id":"@access402/cli@0.2.3","maintainers":[{"name":"jroyere","email":"jonathan.royere@gmail.com"}],"homepage":"https://access402.com/adapters/coding-agents","bin":{"access402":"bin/access402.js"},"dist":{"shasum":"14fde5fe9374ff8e692d1c065b9336cb6a77e99f","tarball":"https://registry.npmjs.org/@access402/cli/-/cli-0.2.3.tgz","fileCount":22,"integrity":"sha512-lEHutn/0FN3FcFt3joz8gl1chQh+YUkwyFwtvZ7KVFJ9k6KSQES/i+Inv5j/g9IUnoCP+CIhVXVfjdV891Z+Xg==","signatures":[{"sig":"MEUCIQCAGD9P6+jpJp0vG6ncgJLJ4CpLkxDZf5ci/87MC8xfKQIgJ9ejYdabRSoWXyuro172eZcnWUBWMnXpQ/yrENrpisE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDwE2C9eGFHLfJWYNgqqFSwuzbxGJs0iEQUX1D73nZfNAiEAlo8TpDLezko7alYPF7nn/HT5N5qbKV1CB16BNuFtRFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136796},"type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js","./mcp":"./src/mcp.js","./gateway":"./src/gateway.js","./gateway/cloudflare":"./src/gateway-cloudflare.js"},"gitHead":"bbdb770ccac40a44ac9e73f0de662093977dc726","scripts":{"test":"node --test test/*.test.js","prepack":"npm run sync:skill && npm run verify:skill","pack:check":"npm pack --dry-run","sync:skill":"node scripts/sync-public-skill.mjs","verify:skill":"node scripts/verify-packaged-skill.mjs"},"_npmUser":{"name":"jroyere","email":"jonathan.royere@gmail.com"},"_npmVersion":"11.10.1","description":"One-prompt Access402 setup, diagnostics, and universal HTTP gateway for coding agents.","directories":{},"_nodeVersion":"25.7.0","dependencies":{"zod":"^4.4.3","yaml":"^2.8.1","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.3_1789095083626_0.22899422343717535","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"_id":"@access402/cli@0.2.4","bin":{"access402":"bin/access402.js"},"dist":{"shasum":"518855fef52b16de24428ce96c9c061d3ed6ee53","tarball":"https://registry.npmjs.org/@access402/cli/-/cli-0.2.4.tgz","fileCount":22,"integrity":"sha512-EeWOL493RtEMKOWSA3oULDQZcZfjCY3bhh7ZH0sBdtkUTEUz+XXUNf/1MQ8kX1JKEUvgGSRKFmhWuOBlP5jQoA==","signatures":[{"sig":"MEYCIQDuMTWC/GWGjUl0feI7St6aa1lyb3YjeI0lpGGSdccGhgIhAKDJyzw1I2mFqNkoWhP66PXg6GISGt4RDcRSFtluIs6c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDB9pyC2gWzPaDu9ymwTC6UYD4i7nfMOSFiHSuetjdDgQIhAND4DN4HRFwQTRyOt7kMtpREh+8IcHCFAOvj4tCmCKWf"}],"unpackedSize":135202},"name":"@access402/cli","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js","./mcp":"./src/mcp.js","./gateway":"./src/gateway.js","./gateway/cloudflare":"./src/gateway-cloudflare.js"},"gitHead":"c26b8d685b3b8eedfb733a343781693e5932bbca","license":"MIT","scripts":{"test":"node --test test/*.test.js","prepack":"npm run sync:skill && npm run verify:skill","pack:check":"npm pack --dry-run","sync:skill":"node scripts/sync-public-skill.mjs","verify:skill":"node scripts/verify-packaged-skill.mjs"},"version":"0.2.4","_npmUser":{"name":"jroyere","email":"jonathan.royere@gmail.com"},"homepage":"https://access402.com/adapters/coding-agents","keywords":["x402","access402","codex","claude-code","cursor","api-payments","gateway"],"_npmVersion":"11.10.1","description":"One-prompt Access402 setup, diagnostics, and universal HTTP gateway for coding agents.","directories":{},"maintainers":[{"name":"jroyere","email":"jonathan.royere@gmail.com"}],"_nodeVersion":"25.7.0","dependencies":{"zod":"^4.4.3","yaml":"^2.8.1","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.2.4_1789100061123_0.788159542315074"}}},"time":{"created":"2026-08-10T13:20:21.526Z","modified":"2026-09-11T04:14:21.391Z","0.1.0":"2026-08-10T13:20:21.888Z","0.2.0":"2026-08-10T14:20:39.028Z","0.2.1":"2026-09-09T22:31:32.076Z","0.2.2":"2026-09-10T00:49:07.708Z","0.2.3":"2026-09-11T02:51:23.711Z","0.2.4":"2026-09-11T04:14:21.205Z"},"license":"MIT","homepage":"https://access402.com/adapters/coding-agents","keywords":["x402","access402","codex","claude-code","cursor","api-payments","gateway"],"description":"One-prompt Access402 setup, diagnostics, and universal HTTP gateway for coding agents.","maintainers":[{"name":"jroyere","email":"jonathan.royere@gmail.com"}],"readme":"# Access402 CLI\n\nGive Codex, Claude Code, Cursor, or another coding agent one deterministic\ncommand surface for adding Access402 to an existing HTTP application.\n\n```bash\nnpx @access402/cli skill install --agent codex\nnpx @access402/cli init --mode sandbox --route \"GET /api/report 0.02\"\nnpx @access402/cli doctor\n```\n\n`init` opens Access402 device authorization in the browser. Dashboard sessions,\nwallet private keys, and Coinbase facilitator credentials never enter the\nterminal or repository.\n\nFor unsupported frameworks, the same package provides the fixed-origin\nUniversal HTTP Gateway:\n\n```bash\nnpx @access402/cli gateway\n```\n\nThe Gateway reads `access402.yaml` and `.env.access402`, synchronizes code-owned\nroute policy, returns x402 v2 challenges, and forwards a request only after\nAccess402 settlement succeeds.\n\nCloudflare Workers use the Worker-native entry point and secret bindings:\n\n```js\nimport { createCloudflareGateway } from '@access402/cli/gateway/cloudflare'\n\nexport default createCloudflareGateway({\n  config: access402Config,\n  originBinding: 'ORIGIN',\n})\n```\n\nThe CLI package contains the canonical public Access402 skill from\n`JonathanRoyere/Access402`. Release builds fetch an immutable tagged commit,\nverify every file against `public-skill.lock.json`, and package the verified\nfiles. Customer skill installation performs no dynamic instruction download.\n\nCoding agents can also start the optional, read-only MCP diagnostics surface:\n\n```bash\nnpx @access402/cli mcp\n```\n\nAccount and installation mutations remain in the CLI so sign-in and approval\nalways happen visibly in the browser.\n\nFor non-GET routes, `doctor` uses the route's `input_example`. The explicit test\ncommand also accepts `--method` and `--body` and will not submit a payment for a\nbody-bearing route without a representative JSON body:\n\n```bash\nnpx @access402/cli test https://api.example.com/analyze \\\n  --method POST \\\n  --body '{\"topic\":\"x402\"}'\n```\n\nNode origins can validate the short-lived Gateway authorization header with:\n\n```js\nimport { verifyOriginAuthorization } from '@access402/cli/gateway'\n\nconst allowed = verifyOriginAuthorization(\n  process.env.ACCESS402_ORIGIN_AUTH_SECRET,\n  request.headers['x-access402-origin-authorization'],\n  request.method,\n  request.url,\n)\n```\n","readmeFilename":"README.md"}