{"_id":"@bcts/triple-ratchet","_rev":"4-f1323fb9fbf6192906b1298572f15722","name":"@bcts/triple-ratchet","dist-tags":{"latest":"1.0.0-alpha.23","alpha":"1.0.0-alpha.22"},"versions":{"1.0.0-alpha.21":{"name":"@bcts/triple-ratchet","version":"1.0.0-alpha.21","keywords":["triple-ratchet","post-quantum","ratchet","signal-protocol","blockchain-commons"],"author":{"url":"https://parity.io","name":"Parity Technologies","email":"admin@parity.io"},"license":"AGPL-3.0-only","_id":"@bcts/triple-ratchet@1.0.0-alpha.21","maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"homepage":"https://bcts.dev","bugs":{"url":"https://github.com/paritytech/bcts/issues"},"dist":{"shasum":"ce93ee86169bc0d4a1deade88d9c0fbd6ad90abb","tarball":"https://registry.npmjs.org/@bcts/triple-ratchet/-/triple-ratchet-1.0.0-alpha.21.tgz","fileCount":25,"integrity":"sha512-XcN9sikmGiTHtbqMvle2wbofd4CizlrH31jfJYwO0KolUIMztrIcXCZWlV7gg409YD4F5FlXAivdzC/g1tSF0Q==","signatures":[{"sig":"MEYCIQCTHK+iwVXDj6yKWZWFcpT+QzBDSOXDmK0nezlQC+N0YAIhAK6kJueKj64IST2lvOT8IYEq9lwqVA2+2Jnvi3wpUEXK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":738263},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"6c22c5814af9fa91bc502e9d51e384b2efd922c2","scripts":{"docs":"typedoc","lint":"eslint 'src/**/*.ts' 'tests/**/*.ts'","test":"vitest run","build":"tsdown","clean":"rm -rf dist","lint:fix":"eslint 'src/**/*.ts' 'tests/**/*.ts' --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"leonardocustodio","email":"leonardo@custodio.me"},"repository":{"url":"git+https://github.com/paritytech/bcts.git","type":"git","directory":"packages/triple-ratchet"},"_npmVersion":"11.6.0","description":"Signal's Triple Ratchet for TypeScript","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@bcts/rand":"workspace:*","@bcts/spqr":"workspace:*","@bcts/crypto":"workspace:*","@noble/hashes":"^2.0.1","@noble/post-quantum":"^0.5.4","@bcts/double-ratchet":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.2","tsdown":"^0.20.3","vitest":"^4.0.18","typedoc":"^0.28.17","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^25.3.2","@bcts/eslint":"workspace:*","@bcts/tsconfig":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/triple-ratchet_1.0.0-alpha.21_1772175354457_0.656056609492994","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.22":{"name":"@bcts/triple-ratchet","version":"1.0.0-alpha.22","keywords":["triple-ratchet","post-quantum","ratchet","signal-protocol","blockchain-commons"],"author":{"url":"https://parity.io","name":"Parity Technologies","email":"admin@parity.io"},"license":"AGPL-3.0-only","_id":"@bcts/triple-ratchet@1.0.0-alpha.22","maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"homepage":"https://bcts.dev","bugs":{"url":"https://github.com/paritytech/bcts/issues"},"dist":{"shasum":"8c14b3f7638934adf08feaea0503ae76d912dd1d","tarball":"https://registry.npmjs.org/@bcts/triple-ratchet/-/triple-ratchet-1.0.0-alpha.22.tgz","fileCount":25,"integrity":"sha512-/OiE4b6G6tey5RyT1Hpq+YvpdhQoWfRE5IYaSup7sQRGfD38i9wf8G8CLJ7hzEilTszNMNrtTL9T0xvnjVZ7FQ==","signatures":[{"sig":"MEQCIHlNogps5eUVlhL+IaiSob/c4+tH1L9TLXkoQ+OOWIyhAiBIdfklSmGz/2KUoKbf7pBkxA8ie3ct8EP+AF35+iAjUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bcts%2ftriple-ratchet@1.0.0-alpha.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":738269},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"72a5c7594b8d982359058659284ab6a7cc11b2a9","scripts":{"docs":"typedoc","lint":"eslint 'src/**/*.ts' 'tests/**/*.ts'","test":"vitest run","build":"tsdown","clean":"rm -rf dist","lint:fix":"eslint 'src/**/*.ts' 'tests/**/*.ts' --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run clean && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cda2a2c-a1ad-4813-93be-8b76af4f2c16"}},"repository":{"url":"git+https://github.com/paritytech/bcts.git","type":"git","directory":"packages/triple-ratchet"},"_npmVersion":"11.8.0","description":"Signal's Triple Ratchet for TypeScript","directories":{},"_nodeVersion":"24.13.1","dependencies":{"@bcts/rand":"^1.0.0-alpha.22","@bcts/spqr":"^1.0.0-alpha.22","@bcts/crypto":"^1.0.0-alpha.22","@noble/hashes":"^2.0.1","@noble/post-quantum":"^0.5.4","@bcts/double-ratchet":"^1.0.0-alpha.22"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.2","tsdown":"^0.20.3","vitest":"^4.0.18","typedoc":"^0.28.17","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^25.3.2","@bcts/eslint":"^0.1.0","@bcts/tsconfig":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/triple-ratchet_1.0.0-alpha.22_1772375448436_0.7160983471703715","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.23":{"name":"@bcts/triple-ratchet","version":"1.0.0-alpha.23","type":"module","description":"Signal's Triple Ratchet for TypeScript","license":"AGPL-3.0-only","author":{"name":"Parity Technologies","email":"admin@parity.io","url":"https://parity.io"},"homepage":"https://bcts.dev","repository":{"type":"git","url":"git+https://github.com/paritytech/bcts.git","directory":"packages/triple-ratchet"},"bugs":{"url":"https://github.com/paritytech/bcts/issues"},"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","require":"./dist/index.cjs","default":"./dist/index.mjs"}},"scripts":{"build":"tsdown","test":"vitest run","test:watch":"vitest","lint":"eslint 'src/**/*.ts' 'tests/**/*.ts'","lint:fix":"eslint 'src/**/*.ts' 'tests/**/*.ts' --fix","typecheck":"tsc --noEmit","clean":"rm -rf dist","docs":"typedoc","prepublishOnly":"npm run clean && npm run build && npm test"},"keywords":["triple-ratchet","post-quantum","ratchet","signal-protocol","blockchain-commons"],"engines":{"node":">=18.0.0"},"dependencies":{"@bcts/crypto":"^1.0.0-alpha.23","@bcts/double-ratchet":"^1.0.0-alpha.23","@bcts/rand":"^1.0.0-alpha.23","@bcts/spqr":"^1.0.0-alpha.23","@noble/hashes":"^2.2.0","@noble/post-quantum":"^0.6.1","@std/crypto":"npm:@jsr/std__crypto@1.1.0"},"devDependencies":{"@bcts/eslint":"^0.1.0","@bcts/tsconfig":"^0.1.0","@eslint/js":"^10.0.1","@types/node":"^25.6.0","eslint":"^10.2.1","prettier":"^3.8.3","tsdown":"^0.21.0","typedoc":"^0.28.19","typescript":"^6.0.3","vitest":"^4.1.5"},"gitHead":"7a2e0be51f42c3c8bd5248b24e22c1a72add081a","_id":"@bcts/triple-ratchet@1.0.0-alpha.23","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-kovKyviHQPoo/a8bhk+D/UvfOZFwUTA1NXbmD7pURXgethNKAlZsx3I5l3/8QawUr1yFmhTpG4W7EF903DA+Nw==","shasum":"d0d75ba2abf185c3819f8d1bc740f76e697c5e15","tarball":"https://registry.npmjs.org/@bcts/triple-ratchet/-/triple-ratchet-1.0.0-alpha.23.tgz","fileCount":25,"unpackedSize":734586,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bcts%2ftriple-ratchet@1.0.0-alpha.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFDdSO7gJdCoV1lzNTjbzZI4yR6iP12tv4WDf4xNxqqJAiEAwviJPjpUMp5k5jETs7mq0D3EQTdjfIZQRxQQpKNvfcg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cda2a2c-a1ad-4813-93be-8b76af4f2c16"}},"directories":{},"maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/triple-ratchet_1.0.0-alpha.23_1777077922868_0.39827177939273395"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-27T06:55:54.329Z","modified":"2026-04-25T00:45:23.318Z","1.0.0-alpha.21":"2026-02-27T06:55:54.660Z","1.0.0-alpha.22":"2026-03-01T14:30:48.625Z","1.0.0-alpha.23":"2026-04-25T00:45:23.043Z"},"bugs":{"url":"https://github.com/paritytech/bcts/issues"},"author":{"name":"Parity Technologies","email":"admin@parity.io","url":"https://parity.io"},"license":"AGPL-3.0-only","homepage":"https://bcts.dev","keywords":["triple-ratchet","post-quantum","ratchet","signal-protocol","blockchain-commons"],"repository":{"type":"git","url":"git+https://github.com/paritytech/bcts.git","directory":"packages/triple-ratchet"},"description":"Signal's Triple Ratchet for TypeScript","maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"readme":"# Signal's Triple Ratchet for TypeScript\n\n> Disclaimer: This package is under active development and APIs may change.\n\n## Introduction\n\n`triple-ratchet` is a TypeScript implementation of the Triple Ratchet protocol. It extends the Double Ratchet with SPQR post-quantum ratchet steps, implementing Signal Protocol v4: X3DH + ML-KEM (Kyber) hybrid key agreement for quantum-resistant end-to-end encryption.\n\n## Rust Reference Implementation\n\nThis TypeScript implementation is based on [libsignal](https://github.com/signalapp/libsignal) **v0.87.1** ([commit](https://github.com/signalapp/libsignal/tree/f08390b0e2f67d5faf47bb9d1a3db191314db93c)).\n","readmeFilename":"README.md"}