{"_id":"@bcts/double-ratchet","_rev":"4-9e47b09b433b6d50c380d61579fb058e","name":"@bcts/double-ratchet","dist-tags":{"latest":"1.0.0-alpha.23","alpha":"1.0.0-alpha.22"},"versions":{"1.0.0-alpha.21":{"name":"@bcts/double-ratchet","version":"1.0.0-alpha.21","keywords":["signal-protocol","double-ratchet","x3dh","encryption","e2e","end-to-end","blockchain-commons"],"author":{"url":"https://parity.io","name":"Parity Technologies","email":"admin@parity.io"},"license":"AGPL-3.0-only","_id":"@bcts/double-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":"0d00bd14472bac38ed4896200f5d1017350a8431","tarball":"https://registry.npmjs.org/@bcts/double-ratchet/-/double-ratchet-1.0.0-alpha.21.tgz","fileCount":58,"integrity":"sha512-SCKGBA/8IdrUYTost7jz1xWQ/bdmYoKvJ+7MRTPZQCTYAwEypvFvb3TBKJ8Ea63dwAOs23DeCAoHwqNlFXo0WA==","signatures":[{"sig":"MEUCIQDYk4Far7pkCxD7EpXQvbt9m1FnR2jBAqtrhBIVtjZN6AIgZQAkNlqtaQgrKnhlKUa29CehJeuo4J1rBTaCD4lDYvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2199815},"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/double-ratchet"},"_npmVersion":"11.6.0","description":"Signal's Double Ratchet for TypeScript","directories":{},"_nodeVersion":"24.8.0","dependencies":{"@bcts/rand":"workspace:*","@bcts/crypto":"workspace:*","@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1","@noble/ciphers":"^2.1.1"},"_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/double-ratchet_1.0.0-alpha.21_1772175343946_0.5722106809594538","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.22":{"name":"@bcts/double-ratchet","version":"1.0.0-alpha.22","keywords":["signal-protocol","double-ratchet","x3dh","encryption","e2e","end-to-end","blockchain-commons"],"author":{"url":"https://parity.io","name":"Parity Technologies","email":"admin@parity.io"},"license":"AGPL-3.0-only","_id":"@bcts/double-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":"42f1acf4e45df9c4da798057f2e097cac3a315b4","tarball":"https://registry.npmjs.org/@bcts/double-ratchet/-/double-ratchet-1.0.0-alpha.22.tgz","fileCount":58,"integrity":"sha512-CbGuyqQSMFluMfPgBj2WzfcV8mJKOdL3pB9hInr8KGvEphMnY6OHdZL8Z9ZL3dmYelQW/bpYE+hrZiTVi6otOQ==","signatures":[{"sig":"MEUCIQCIyJ8tQ64oiX9g33UFs7jkY+dmAQ+Jt/pq2u+g4ExNZgIgS1OCVy10hzgb/7lac8z2KkdLuLdKlSh+fRR2q8oFSc4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bcts%2fdouble-ratchet@1.0.0-alpha.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2199813},"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:243040ed-5ad7-4478-8b61-4893fb9cb040"}},"repository":{"url":"git+https://github.com/paritytech/bcts.git","type":"git","directory":"packages/double-ratchet"},"_npmVersion":"11.8.0","description":"Signal's Double Ratchet for TypeScript","directories":{},"_nodeVersion":"24.13.1","dependencies":{"@bcts/rand":"^1.0.0-alpha.22","@bcts/crypto":"^1.0.0-alpha.22","@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1","@noble/ciphers":"^2.1.1"},"_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/double-ratchet_1.0.0-alpha.22_1772375384770_0.33916563550844203","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.23":{"name":"@bcts/double-ratchet","version":"1.0.0-alpha.23","type":"module","description":"Signal's Double 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/double-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":["signal-protocol","double-ratchet","x3dh","encryption","e2e","end-to-end","blockchain-commons"],"engines":{"node":">=18.0.0"},"dependencies":{"@bcts/crypto":"^1.0.0-alpha.23","@bcts/rand":"^1.0.0-alpha.23","@noble/ciphers":"^2.2.0","@noble/curves":"^2.2.0","@noble/hashes":"^2.2.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/double-ratchet@1.0.0-alpha.23","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-r2hqtjOYbCnzTu9MgzJh1+DZdcV3xyVBNSRkgagFQ4HKnQcBvpvXIb0vjkWI8hsTY39cJURdq9YVshhxTZe2pw==","shasum":"71a6230352d696136c1b3c7c7e520bc741212cd2","tarball":"https://registry.npmjs.org/@bcts/double-ratchet/-/double-ratchet-1.0.0-alpha.23.tgz","fileCount":58,"unpackedSize":2202654,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bcts%2fdouble-ratchet@1.0.0-alpha.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICn+ilypMx3u/3OnDhD4DW0NqFuiNhE458qIBSJ61gzCAiALSD7Q3iLsHhKwhrn229/XlqwdJywQ+U9GFUMkcuxx8A=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:243040ed-5ad7-4478-8b61-4893fb9cb040"}},"directories":{},"maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/double-ratchet_1.0.0-alpha.23_1777077881388_0.4163084941129127"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-27T06:55:43.767Z","modified":"2026-04-25T00:44:42.441Z","1.0.0-alpha.21":"2026-02-27T06:55:44.122Z","1.0.0-alpha.22":"2026-03-01T14:29:44.989Z","1.0.0-alpha.23":"2026-04-25T00:44:41.566Z"},"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":["signal-protocol","double-ratchet","x3dh","encryption","e2e","end-to-end","blockchain-commons"],"repository":{"type":"git","url":"git+https://github.com/paritytech/bcts.git","directory":"packages/double-ratchet"},"description":"Signal's Double Ratchet for TypeScript","maintainers":[{"name":"leonardocustodio","email":"leonardo@custodio.me"}],"readme":"# Signal's Double Ratchet for TypeScript\n\n> Disclaimer: This package is under active development and APIs may change.\n\n## Introduction\n\n`double-ratchet` is a TypeScript implementation of the Signal Protocol Double Ratchet. It includes X3DH key agreement, session management, group messaging (Sender Keys), sealed sender (anonymous delivery), fingerprint verification, and cryptographic primitives (AES-CBC, AES-GCM-SIV, XEdDSA, incremental MAC).\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"}