{"_id":"1-z-2","_rev":"7-dee2c1db20409ba50c6428ccec3fc3ca","name":"1-z-2","dist-tags":{"latest":"1.6.0"},"versions":{"1.1.1":{"name":"1-z-2","version":"1.1.1","keywords":["relay","schema-translation","personal-software"],"author":{"name":"Zugaba Limited"},"license":"SEE LICENSE IN LICENSE","_id":"1-z-2@1.1.1","maintainers":[{"name":"gregcaw","email":"gregcaw@zugaba.com"}],"homepage":"https://1-z-2.com","dist":{"shasum":"197239ddf38d9c3ab8cadbb7fd36631471f205cd","tarball":"https://registry.npmjs.org/1-z-2/-/1-z-2-1.1.1.tgz","fileCount":4,"integrity":"sha512-sgb5v8Ek50pypCqahMSXPHI9qKiMKP0eCFtf3OhzibCVOxx7+LOn9na8/49gmWlAPd6uJ8Xn2/ZitPVzXJD7PQ==","signatures":[{"sig":"MEUCIA/OTv/TGZeHLGPDxNDnbbe4oun8hEDsPyh4ql1rqVWGAiEAyWlrLRt4WSqjmiTViYqclKEhNhkUVp7L+QX7WibS/tM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49758},"main":"client.js","type":"module","engines":{"node":">=22"},"exports":"./client.js","gitHead":"85021fab3c12474cd3d0ee8d27a3ed6bf9b44bc1","_npmUser":{"name":"gregcaw","email":"gregcaw@zugaba.com"},"_npmVersion":"11.17.0","description":"1-z-2 relay SDK — one file, zero dependencies, browsers and Node 22+. Published as an integrity mirror: at matching versions client.js is byte-identical to GET /sdk.js on any 1-z-2 relay.","directories":{},"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/1-z-2_1.1.1_1788812012175_0.09024401454400532","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"1-z-2","version":"1.2.0","keywords":["relay","schema-translation","personal-software"],"author":{"name":"Zugaba Limited"},"license":"SEE LICENSE IN LICENSE","_id":"1-z-2@1.2.0","maintainers":[{"name":"gregcaw","email":"gregcaw@zugaba.com"}],"homepage":"https://1-z-2.com","dist":{"shasum":"b6fe9c799e2d7a784799cfc97a60475b33488942","tarball":"https://registry.npmjs.org/1-z-2/-/1-z-2-1.2.0.tgz","fileCount":4,"integrity":"sha512-rmQi9NP0Oh97Qy7bnwt09/zBkXYosD3rpIkxDx8Q/oUOss0MfHhI69rqlFnSxHV1eH41JzLyP83cd/8VXJvHDQ==","signatures":[{"sig":"MEQCIB/vXWOiZR8GMCFZdCHDSBofFHbCICtdV27tw676KWayAiAlDY4BRAv7PtpHvciH5KXj3R3VEQs+DMvL0VLp52NoEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51700},"main":"client.js","type":"module","engines":{"node":">=22"},"exports":"./client.js","gitHead":"cc7ac6ccab6ad06fff4175f2a9209665550d67ef","_npmUser":{"name":"gregcaw","email":"gregcaw@zugaba.com"},"_npmVersion":"11.17.0","description":"1-z-2 relay SDK — one file, zero dependencies, browsers and Node 22+. Published as an integrity mirror: at matching versions client.js is byte-identical to GET /sdk.js on any 1-z-2 relay.","directories":{},"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/1-z-2_1.2.0_1788827240605_0.10650954440983762","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"1-z-2","version":"1.3.0","keywords":["relay","schema-translation","personal-software"],"author":{"name":"Zugaba Limited"},"license":"SEE LICENSE IN LICENSE","_id":"1-z-2@1.3.0","maintainers":[{"name":"gregcaw","email":"gregcaw@zugaba.com"}],"homepage":"https://1-z-2.com","dist":{"shasum":"8575a565e35a72cd0d71dfecd95543f8d7bbcf37","tarball":"https://registry.npmjs.org/1-z-2/-/1-z-2-1.3.0.tgz","fileCount":4,"integrity":"sha512-h2cPZsds8PiDzbDVHpVQ2VCMsm3ruHRU9X4Pikq9VNKnFcEI1mtRyeOJ1aemtQi5erA9GXKRpYhPHAJWMtz1iw==","signatures":[{"sig":"MEYCIQC/wu5CD/DRORqTmwGl/D5bag4C81GwVn3LGgRd6soAUAIhAIzl14imCZnL0vT6tHnkAr4Nl4rgTW244jpsZCZk3p5g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52524},"main":"client.js","type":"module","engines":{"node":">=22"},"exports":"./client.js","gitHead":"1f7bdf85fb4d188add599863d05edfb1bf8bdff0","_npmUser":{"name":"gregcaw","email":"gregcaw@zugaba.com"},"_npmVersion":"11.17.0","description":"1-z-2 relay SDK — one file, zero dependencies, browsers and Node 22+. Published as an integrity mirror: at matching versions client.js is byte-identical to GET /sdk.js on any 1-z-2 relay.","directories":{},"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/1-z-2_1.3.0_1788983179888_0.054590074774363506","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"1-z-2","version":"1.4.0","keywords":["relay","schema-translation","personal-software"],"author":{"name":"Zugaba Limited"},"license":"SEE LICENSE IN LICENSE","_id":"1-z-2@1.4.0","maintainers":[{"name":"gregcaw","email":"gregcaw@zugaba.com"}],"homepage":"https://1-z-2.com","dist":{"shasum":"0245c4a4ae49a4904b19f28b6524df468acfaa80","tarball":"https://registry.npmjs.org/1-z-2/-/1-z-2-1.4.0.tgz","fileCount":4,"integrity":"sha512-5isuOG2sZTFd3f6uFS0sgEK39gJq/+OSMgUfUkVv4uflYUSunH+xH3ZpZpqVtKLc1sp4zQXB2B3wvs5ISP/pQw==","signatures":[{"sig":"MEQCIHi9Bl4Iqpc4WTCaGZNL0dHQnaedBLDxpgbdXrszl5S5AiBg8QO+Ip/rT/AENtn9ZilJqvFzSEkK3w/l3Mj0YE0Tqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52524},"main":"client.js","type":"module","engines":{"node":">=22"},"exports":"./client.js","gitHead":"9b24f9eb885f61c5b333d13320bf1adbf8bfde43","_npmUser":{"name":"gregcaw","email":"gregcaw@zugaba.com"},"_npmVersion":"11.17.0","description":"1-z-2 relay SDK — one file, zero dependencies, browsers and Node 22+. Published as an integrity mirror: at matching versions client.js is byte-identical to GET /sdk.js on any 1-z-2 relay.","directories":{},"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/1-z-2_1.4.0_1789305186000_0.4920683755069948","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"1-z-2","version":"1.5.0","keywords":["relay","schema-translation","personal-software","vibe-coding","share-between-apps","app-to-app","generated-apps","claude-code","cursor","lovable"],"author":{"name":"Zugaba Limited"},"license":"SEE LICENSE IN LICENSE","_id":"1-z-2@1.5.0","maintainers":[{"name":"gregcaw","email":"gregcaw@zugaba.com"}],"homepage":"https://1-z-2.com","dist":{"shasum":"80da7930bad9913d58acdbc9fb8ae17c3f385191","tarball":"https://registry.npmjs.org/1-z-2/-/1-z-2-1.5.0.tgz","fileCount":5,"integrity":"sha512-pRji3Hxr9LJT4iaireLBsJaxt3mz+4jenqivI496y3EBzESGarYrm5KRulwz2mSBuIobZ8vM3TbmKV4i72zIug==","signatures":[{"sig":"MEUCIQCB73ijIBIxZi9xk+D7WyWQARXNVfGnyjl7KD1mSh2yYAIgfKX5GnoBHpYs0lk7r1aFNuL8N5ru2oavo8mWASBgQMU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCj04N4cGY4ctjVmfbbVlWOQkLgvM22biNc3w9OFlTv/QIgOq19NPrxC9RyGrCUHf+oz/AYpLGW1C+LuyssQNlrf2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71171},"main":"client.js","type":"module","types":"./client.d.ts","engines":{"node":">=22"},"exports":"./client.js","gitHead":"fe8f948d63e7c8bbdbe7fb76e18e85723589d913","_npmUser":{"name":"gregcaw","email":"gregcaw@zugaba.com"},"_npmVersion":"11.17.0","description":"1-z-2 relay SDK — one file, zero dependencies, browsers and Node 22+. Published as an integrity mirror: at matching versions client.js is byte-identical to GET /sdk.js on any 1-z-2 relay.","directories":{},"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/1-z-2_1.5.0_1789946681048_0.43140813934023825","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"1-z-2","version":"1.5.1","keywords":["relay","schema-translation","personal-software","vibe-coding","share-between-apps","app-to-app","generated-apps","claude-code","cursor","lovable"],"author":{"name":"Zugaba Limited"},"license":"SEE LICENSE IN LICENSE","_id":"1-z-2@1.5.1","maintainers":[{"name":"gregcaw","email":"gregcaw@zugaba.com"}],"homepage":"https://1-z-2.com","dist":{"shasum":"6eab34b9ca9752a5d74e67657a12f3ccfc33a816","tarball":"https://registry.npmjs.org/1-z-2/-/1-z-2-1.5.1.tgz","fileCount":5,"integrity":"sha512-fcpl3syP+wVBd8G0xC2KmLp+0r2KQRUzoRH5+HUoLh3a7csj4b4s14415nPJIdQ5zxB/Rjfwf5ewHlDy+50ssQ==","signatures":[{"sig":"MEUCIQDu+SMz4h+wkNHyAkTnZHQ5TRP1GUPMdlwRJojR4gWPuQIgIhZwYdxbtJBo6fOUsHS0sO0YRKJxxf/KlMEa+ElKay4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEc1TxadxNLNs4AfvBolZISnNCXgcWRkNpiB93iSTfZMAiBhWev5JST8+xYxuAsGAtTLWQOVyv+dxbxx8QRj+WInQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72796},"main":"client.js","type":"module","types":"./client.d.ts","engines":{"node":">=22"},"exports":"./client.js","gitHead":"73ee65ec493773c45a362ec37784bfc309c210c3","_npmUser":{"name":"gregcaw","email":"gregcaw@zugaba.com"},"_npmVersion":"11.17.0","description":"1-z-2 relay SDK — one file, zero dependencies, browsers and Node 22+. Published as an integrity mirror: at matching versions client.js is byte-identical to GET /sdk.js on any 1-z-2 relay.","directories":{},"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/1-z-2_1.5.1_1790032836406_0.7275069820610407","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"_id":"1-z-2@1.6.0","dist":{"shasum":"490e4a83ff7c6fe98b3583d2605c91296b844b71","tarball":"https://registry.npmjs.org/1-z-2/-/1-z-2-1.6.0.tgz","fileCount":5,"integrity":"sha512-L75pRRHAJfWgXpWUQRLtDEm7l3qEG772pqXcQI9F6AfuwHlxXAqFC0SaRznz8IHejCH+jOIOTT13jirWymt9pQ==","signatures":[{"sig":"MEYCIQDTNl1l03r33fTdHopWMNK2jFMty+BxK5NjY+FX5KYETQIhAPKSQgwEtpfmtMqjyBOSfkRv1Rci+QkXJ+rTNAfe+rpX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHhRBBKO8GqTxSfNOZeUTg24UUoHHHd5q/ULcskbW+TLAiAFDMwwXHI4Fxfyo6QEGia2AlGXemqcuIiihj5faPI9iw=="}],"unpackedSize":74630},"main":"client.js","name":"1-z-2","type":"module","types":"./client.d.ts","author":{"name":"Zugaba Limited"},"engines":{"node":">=22"},"exports":"./client.js","gitHead":"ac5c1302b844f736296a2991b7be6a582066490b","license":"SEE LICENSE IN LICENSE","version":"1.6.0","_npmUser":{"name":"gregcaw","email":"gregcaw@zugaba.com"},"homepage":"https://1-z-2.com","keywords":["relay","schema-translation","personal-software","vibe-coding","share-between-apps","app-to-app","generated-apps","claude-code","cursor","lovable"],"_npmVersion":"11.17.0","description":"1-z-2 relay SDK — one file, zero dependencies, browsers and Node 22+. Published as an integrity mirror: at matching versions client.js is byte-identical to GET /sdk.js on any 1-z-2 relay.","directories":{},"maintainers":[{"name":"gregcaw","email":"gregcaw@zugaba.com"}],"_nodeVersion":"24.6.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/1-z-2_1.6.0_1790038893017_0.9711132467127381"}}},"time":{"created":"2026-09-07T20:13:32.123Z","modified":"2026-09-22T01:01:33.249Z","1.1.1":"2026-09-07T20:13:32.320Z","1.2.0":"2026-09-08T00:27:20.724Z","1.3.0":"2026-09-09T19:46:20.011Z","1.4.0":"2026-09-13T13:13:06.143Z","1.5.0":"2026-09-20T23:24:41.144Z","1.5.1":"2026-09-21T23:20:36.506Z","1.6.0":"2026-09-22T01:01:33.094Z"},"author":{"name":"Zugaba Limited"},"license":"SEE LICENSE IN LICENSE","homepage":"https://1-z-2.com","keywords":["relay","schema-translation","personal-software","vibe-coding","share-between-apps","app-to-app","generated-apps","claude-code","cursor","lovable"],"description":"1-z-2 relay SDK — one file, zero dependencies, browsers and Node 22+. Published as an integrity mirror: at matching versions client.js is byte-identical to GET /sdk.js on any 1-z-2 relay.","maintainers":[{"name":"gregcaw","email":"gregcaw@zugaba.com"}],"readme":"# 1-z-2\n\nThe SDK for the [1-z-2](https://1-z-2.com) relay network — one file, zero\ndependencies, runs in browsers and Node 22+.\n\n## Why this package exists\n\nYou don't normally install this. A 1-z-2 app vendors the SDK straight from its\nrelay:\n\n```\ncurl -fsSL https://YOUR-RELAY/sdk.js -o relay-client.js\n```\n\nThis package is the **integrity mirror**: at matching versions, its\n`client.js` is byte-identical to what any 1-z-2 relay serves at `GET /sdk.js`.\nBecause npm is a registry neither you nor the relay operator controls, a\nvendored copy can be checked against it.\n\n## Verify a vendored copy\n\n```\nV=$(grep -m1 SDK_VERSION relay-client.js | cut -d'\"' -f2)\nnpm pack 1-z-2@$V\ntar -xOf 1-z-2-$V.tgz package/client.js | diff - relay-client.js\n```\n\nNo output means the bytes match.\n\n## Use\n\n```js\nimport { RelayClient } from \"./relay-client.js\";\n\nconst relay = await RelayClient.connect({\n  handle: \"you\",\n  relayUrl: \"https://YOUR-RELAY\",\n});\nawait relay.publish({\n  name: \"recipe\",\n  direction: \"send\",\n  description: \"a cooking recipe with ingredients and steps\",\n  example: { title: \"Pancakes\", ingredients: [\"2 cups flour\"], steps: [\"Mix\", \"Fry\"] },\n});\nconst result = await relay.send(\"jane\", \"recipe\", payload);\nrelay.onReceive((msg) => {\n  // msg.payload arrives already translated into YOUR shape\n});\n```\n\nThe full integration guide is served by every relay at `GET /integrate.md`.\nAn app that is not JavaScript needs no SDK at all: `GET /integrate-http.md`\ngives the same steps as plain, signed web requests. The operator's claims —\neach paired with a way to check it — are at\n[1-z-2.com/trust](https://1-z-2.com/trust.html).\n\n## Types\n\n`client.d.ts` ships in this package and declares the whole public surface of\n`client.js`. Every relay also serves it beside the SDK, so a vendored copy can\nhave types without npm:\n\n```\ncurl -fsSL https://YOUR-RELAY/sdk.d.ts -o relay-client.d.ts\n```\n\nSaved next to `relay-client.js`, TypeScript picks it up by name.\n\n## License\n\nIn one sentence: use this file and embed it in your own application, free of\ncharge and without asking, as long as you do not modify it or republish it as\na separate work. This package is the one stated exception to \"no\nrepublishing\", because it exists to verify vendored copies. Full terms in\n[LICENSE](./LICENSE). © 2026 Zugaba Limited.\n","readmeFilename":"README.md"}