{"_id":"@open-e2ee/signal-protocol-sdk","_rev":"35-ea2eb4e0384998fe1c9f689f07c97b23","name":"@open-e2ee/signal-protocol-sdk","dist-tags":{"latest":"7.2.0"},"versions":{"0.1.0-alpha.1":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.1","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.1","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"dist":{"shasum":"14835d29e3737a1b0b95a616cef313e90b5f27b1","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.1.tgz","fileCount":1594,"integrity":"sha512-MbE3EJsADprlyfQuOj8bEdObpdjvnGcfigVmDLcXilDtpeBjfrun85tNhOhAhUnA8VVy046wX2qbuP0HhDYEXg==","signatures":[{"sig":"MEQCIFnSx/hbh3Nw+IwNKPCb/OpNvcJBk/sMRkKzD7AY5SFmAiAR8V6vZDkw5z2Yo+IL0U3Bpv4MNunPbR1JCzHydkVU3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10711803},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/mock":{"types":"./dist/local/store/mock/index.d.ts","default":"./dist/local/store/mock/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./remote/relay/mock":{"types":"./dist/remote/relay/mock/index.d.ts","default":"./dist/remote/relay/mock/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"f0177f3bac1114b97ffff7f4b1e3dff7b31ca4be","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"jackspirou","email":"jack.spirou@me.com"},"overrides":{"xcode":{"uuid":"11.1.1"}},"deprecated":"Known trust-layer bugs on first contact; use 0.1.0-alpha.3 or later.","repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.12.1","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"async-lock":"^1.4.0","protobufjs":"^8.6.5","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.1_1784950394282_0.7092344062230953","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.2":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.2","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.2","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"dist":{"shasum":"68913089b871605b3438c740bd632d55294e9edc","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.2.tgz","fileCount":1598,"integrity":"sha512-rWf84e5M8s4IEQa9Nyv97TGPT6GDiHePLqihVDA3EGeP5U//lp50tgrAfpviDS47MYjl5GC8ABZvG/+10OrTBQ==","signatures":[{"sig":"MEYCIQC2Je/v7N67NSOAzH2c6rEl4WD+/D3C1USGBdpZL2Rz4AIhAJu44fAHsCsoxdZIZR+oOChtq769uxr3Zz2s1+Izr2N1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10728204},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/mock":{"types":"./dist/local/store/mock/index.d.ts","default":"./dist/local/store/mock/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./remote/relay/mock":{"types":"./dist/remote/relay/mock/index.d.ts","default":"./dist/remote/relay/mock/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"575f4cb8c831a08c01aa0bdcebcdd1b9b87083f4","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"}},"deprecated":"Known trust-layer bugs on first contact; use 0.1.0-alpha.3 or later.","repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.17.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"async-lock":"^1.4.0","protobufjs":"^8.6.5","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.2_1784955743236_0.25171569507382463","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.3":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.3","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.3","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"dist":{"shasum":"698bae62602cae7790a9167569c2192890e033ad","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.3.tgz","fileCount":1598,"integrity":"sha512-TmouNsACVjguIRQ+80sJOILBu/etPMSS6u4xBmfcfygVm3guOmgvSEWAa9QU7D3bytDdhVWTgKp7XoaGBdA9IA==","signatures":[{"sig":"MEUCIBTLvEZRi/ClLudA2NP/MYs914B50w7zsfm2GLnrAqmsAiEAkydqrUGP1n+4I5WgYNitX9goe8pjcjkdbG/NIv/qrJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10729779},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/mock":{"types":"./dist/local/store/mock/index.d.ts","default":"./dist/local/store/mock/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./remote/relay/mock":{"types":"./dist/remote/relay/mock/index.d.ts","default":"./dist/remote/relay/mock/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"2c6066a93b23ca9cd8a71c6584d276d4b77270ab","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"}},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.17.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"async-lock":"^1.4.0","protobufjs":"^8.6.5","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.3_1785000723782_0.06233144106548427","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.4":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.4","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.4","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"dist":{"shasum":"d15b109ed8b28a519a589040f0b0c31c64e5ccfd","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.4.tgz","fileCount":1599,"integrity":"sha512-urgs9AsdxfYm7D4x8ddT9OQpUdb6oENI2MCHrBqMtKjWoRLioTRagdDwNYgAcv5PeSYtqaA4PPJp7o0W+e1+sA==","signatures":[{"sig":"MEUCIFCA8gL6yMYwXW6bebhP6lKbG0UyxAhiyaCWGLs9TWdnAiEAgM3vjjgwrhp/WjIMeTLxqkD8TSwUgGb6PJ2J5IBfljk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10787497},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/mock":{"types":"./dist/local/store/mock/index.d.ts","default":"./dist/local/store/mock/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./remote/relay/mock":{"types":"./dist/remote/relay/mock/index.d.ts","default":"./dist/remote/relay/mock/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"e1bbcaeb27a8ef94c4da88683971828912c0868e","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"}},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.17.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"async-lock":"^1.4.0","protobufjs":"^8.6.5","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.4_1785008157368_0.16183202281580988","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.5":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.5","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.5","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"dist":{"shasum":"0103da225eb011d930a93ce5f20bd56265b189bb","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.5.tgz","fileCount":1607,"integrity":"sha512-TWfE7dHJZoFf+yZoOz7cyIfrBEtIy9D4vt64U3zryh9ioCaotTas+DaXPzpTSYnYGmzHzsc0UkxLBRUamn7AOg==","signatures":[{"sig":"MEUCIB/x38FE+A/LFLWr7iFXTg6h+xtXjxKsKVbjyImXW7D9AiEAy00F42HZkntJFS1hNzZ0q4VRwUPh/h5iaYtCpnIznPI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10844982},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/mock":{"types":"./dist/local/store/mock/index.d.ts","default":"./dist/local/store/mock/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./remote/relay/mock":{"types":"./dist/remote/relay/mock/index.d.ts","default":"./dist/remote/relay/mock/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"438be91e571558f4d04cd851d874f0a4ef2e4664","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"}},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.17.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"async-lock":"^1.4.0","protobufjs":"^8.6.5","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.5_1785012568199_0.10393265780440553","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.6":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.6","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.6","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"dist":{"shasum":"9a9cae58e55ffa01b65e02d0cc8edcdb5f050aec","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.6.tgz","fileCount":1607,"integrity":"sha512-gCJUkyvF34WcLB7MvR5eL6i99kvsLyzBudUvBmeS/eXb36thmpaYct0eqjhhyo0dQv74fwVNGJyoZoszeJs1+Q==","signatures":[{"sig":"MEYCIQDEPH0oYJzNBHUsyuBP/QKugiu3l1EUkF9hgOgAv9kzYQIhAPo1sAEOIKq8xz0seWp0pnqHniwIHECIJ3crWA4CbczY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10862285},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/mock":{"types":"./dist/local/store/mock/index.d.ts","default":"./dist/local/store/mock/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./remote/relay/mock":{"types":"./dist/remote/relay/mock/index.d.ts","default":"./dist/remote/relay/mock/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"982de72a252bd00035d893f1d393598e850f656c","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"}},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.17.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"async-lock":"^1.4.0","protobufjs":"^8.6.5","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.6_1785035288379_0.21843612327820616","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.7":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.7","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.7","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"c3af73c840c990f5bd4dea1f3325518f51c9e09e","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.7.tgz","fileCount":1642,"integrity":"sha512-yV2SXRZS+73EEu2lkxUmrayg1nM7UYgBy1Z12OmYyHhU0UEw23VcIJiv8G97XGkzatEhfr6F4T290pAKk/xU6A==","signatures":[{"sig":"MEQCICnUh/c04LfL8+/y3HZV8M9KXcnV29/qubtmovSHQEPMAiBRTF33EClLJG7MmvG5KLynwkDSUGl0k1oiVIgipQEw7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11315206},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/mock":{"types":"./dist/local/store/mock/index.d.ts","default":"./dist/local/store/mock/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./remote/relay/mock":{"types":"./dist/remote/relay/mock/index.d.ts","default":"./dist/remote/relay/mock/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./remote/relay/convex/server":{"types":"./dist/remote/relay/convex/server/index.d.ts","default":"./dist/remote/relay/convex/server/index.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"690bb97ae87d9d7b8e472441358de1f47a6322ba","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.17.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"async-lock":"^1.4.0","protobufjs":"^8.6.5","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.7_1785203376634_0.960467259494918","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.8":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.8","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.8","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"591d42e81950c31557fd8a9484a7abc54fb40041","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.8.tgz","fileCount":1323,"integrity":"sha512-mzNneFa28yArJg442Y2BOCt/GGvSTXsJxeeLTTm6sPGtSDi6Yg9hJXDx06pZaYtNQeloz0x8m9x+8hPwO+cm0Q==","signatures":[{"sig":"MEUCIFLNMQUkiU2jFjq18B+L8tPf2x1iDzSWrKZvoP5vbsMpAiEAryq9StK54j2HwPTMHO1DKMWKsTBA4LH30UJj3lysvEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11241192},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/mock":{"types":"./dist/local/store/mock/index.d.ts","default":"./dist/local/store/mock/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./remote/relay/mock":{"types":"./dist/remote/relay/mock/index.d.ts","default":"./dist/remote/relay/mock/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"dd4b9ae4369b0aa769262272b22d5e069d6603ba","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.17.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"async-lock":"^1.4.0","protobufjs":"^8.6.5","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.8_1785267008477_0.757173521644672","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.9":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.9","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.9","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"6181846f2b1f5670385bfa4f19ca0b77e312a60c","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.9.tgz","fileCount":1323,"integrity":"sha512-3dnmThRdebfEOfaX8CVufxqflYFjC9t1wzEeogxEEYroovBQeBcKUKolYxIH7sALppsz5Rpka5vbXhrtVqYUKg==","signatures":[{"sig":"MEQCIQDnbaP0T8b2Qlws4cmPUxoqV8xLVyT7HcjaJ5yPUlj0YwIfRf+1bOAFqeQj4TmbUhIeJH/uNUOen2EYt68pEi++jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11332622},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/mock":{"types":"./dist/local/store/mock/index.d.ts","default":"./dist/local/store/mock/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./remote/relay/mock":{"types":"./dist/remote/relay/mock/index.d.ts","default":"./dist/remote/relay/mock/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"0c8bcc4a24e5b0ec5f81787bb87cbdf349edc506","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.17.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"async-lock":"^1.4.0","protobufjs":"^8.6.5","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.9_1785270383431_0.391450315208004","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.10":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.10","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.10","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"bfbcc094f125ffb53c5b5f68506ea6f88edb460f","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.10.tgz","fileCount":1323,"integrity":"sha512-hZVeYuXymlt+DLV1MtBiwd5Bz2cNmtWNYW5xTERsSbjesv5veV+SqSS1SdlVBCU5GctMmYuhRN5tveyvb18qdQ==","signatures":[{"sig":"MEUCIDY+L4VXHZjzuWLNsnW7AdeTkxX6v8uM1SSfMccGyF0GAiEA74ED6AraXtVHVcj0bAUHQAOUeIuhtdvqSN4KxdIs6Lo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11408322},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"86f1dc36e27f37eb6033e716860818b870e818c1","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.10_1786056637312_0.964742203109773","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.11":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.11","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.11","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"76f9d90cdebc48fb4a272ed6455dc2a64bced709","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.11.tgz","fileCount":1327,"integrity":"sha512-8Di8Yxg2Bc/XQ3tvX8dd/XnWtvf1YtwD1QV1QXHlBjWrxF2qUoAQiC5s3xTykWHzKcZizDNk1XWUJf0CfmMxKA==","signatures":[{"sig":"MEUCIC/EnB9Sr3id/5i5PXJI1mKSRJ4+A/+Cp/5N9oR6KTX7AiEAu3kyDWwOpGBo6MesTZLF1+Ps7brcncKhxlrvLLypHVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11415846},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"a9b50b5641c34002878c97e9bbe2bd9659421079","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.11_1786097544164_0.038220390534286164","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.12":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.12","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.12","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"6e51d0c0eb2950039e56d6df5ca02787617e2168","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.12.tgz","fileCount":1327,"integrity":"sha512-Rx+wtOatO+VS6Hck3BnPYdZmvXXzmjpK0Uw+GR6gbvl0Q7FFMvoJ8r+dIgj4rmkJyJCrEjZNnjthjVnxk6W6kA==","signatures":[{"sig":"MEUCIQCWYHRAIZyeobuTUkGx+xqwrlM4tK4yzmbM5GpDA/Wk3QIgapLSlXapQbROj8REjLUM0O5wJvjBPxJ5h2PVES+rb88=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11416982},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"8783dfb627831d30cec53c41a571eb65bbdaf3f3","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.12_1786106780702_0.07270807204252105","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.13":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.13","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.13","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"773e07479168aa73c73f758ff07abc09fe3c634d","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.13.tgz","fileCount":1327,"integrity":"sha512-Up2cbNUFz/4iyNYH9/dy4GCQ/wTgnLZ2aJNSJoGpLqV/SG1Vob9B2uuY/ZpRfZV4PgEQGon5p1J4jvrFCwRp3A==","signatures":[{"sig":"MEUCIHBsyKiUDL/aokWAdZxXZ6tQvjsWoTtD14VA6TUzWmifAiEA5wN9X5GP2h/lXTppiJw+inUK6B5EKsqpvV5xEh9x5Cg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11444239},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"f36b8053e37858199458f1163e0adc4dd946ad9c","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.13_1786323476228_0.8959927415116358","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.14":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0-alpha.14","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0-alpha.14","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"5774c7e55f3b3991bf9ceea1f24a46f50beaca51","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0-alpha.14.tgz","fileCount":1335,"integrity":"sha512-IqED36VNIefU/QAl14XystpaCxHGbR737CqNyf9mDxz5/To6sFG2Qis5Aancke7Y7KWLbR/kcyTzJ2g0VsgiaA==","signatures":[{"sig":"MEUCIBOixXePUufX/yiMm5i7+mGxwe4h0JI6cf22iLmEzhhmAiEAkS0TLiZJfEu5N9V8p0ShJt6UMMy/IIBO584MjNzpkRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0-alpha.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11500423},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"b26132345805044c43996caba095c9b2329b9651","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0-alpha.14_1786332211366_0.745805067971026","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.1.0","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.1.0","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"86d41ba795740e3769f42ffa60b4328acc2e3004","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.1.0.tgz","fileCount":1335,"integrity":"sha512-35PEm5kmJWTp2QPU7AygZ9CbW8jqFSRgEjjbHkBjXc0eCNwsnTsDpsXHmMZL/waW/DvJI8V/vpTi3pfgWVSfdA==","signatures":[{"sig":"MEQCICpw9rNc12w3T975+qz/NNFdRXCQZblPdI8HYTSNji9bAiBH0C+nEOD7wDhuQrqND0hBzigTUFkgDOoUO9qDPmC2Nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11501040},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"7b36ae7fb146d505d96518f8a26ae32a9f795f54","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.2.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.1.0_1786379618068_0.7602874150426839","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.2.0","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.2.0","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"5a7e33b06671fd1ff0bd9ab1e16bbe99572bba47","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.2.0.tgz","fileCount":1339,"integrity":"sha512-T8gEl5j8Sg1IhciRBC9+wXcg4Leofmog0k5aYOrnqrLB/McHwaPJpeG/XKGJZwFC59A8xegKn3J22q8nJSbuAw==","signatures":[{"sig":"MEUCIEn2HUbTsoz7J1lSRIPY5NFTkPcV3U0ON8hedxl3oE04AiEA1xUzcDFe4x7voY/nPT/hxdfnLUQljFyZqAzQdUcuU+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11524109},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"55bd85f241fcf5a1db39f966bb4fcf2d0000a38d","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.3.0","@noble/ciphers":"^2.2.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.2.0_1786518485722_0.2750209440802187","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.2.1","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.2.1","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"089881f52376d116067011fc12b91bcd605b9882","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.2.1.tgz","fileCount":1339,"integrity":"sha512-KbR/ltx0MRI24O2RxiFeuTdwb296P0FQcpwqqZgKAI+MiLlx+7LA6fR9X3W/xQ/3WC4B+0gawHO9jzBzyINyhA==","signatures":[{"sig":"MEQCIDAA0m3/hxJvimZRHZ4WgejkADbotIFt4w6mwBfVVToOAiAgXM7wzK+A5ZSmJVdA4N1D9614b2Gr+EcFgkZUQm1vWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11525863},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"07895bc1e4785b448217eaf21855eacbf3aa0e97","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"brace-expansion":"^5.0.9"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.3.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.2.1_1786565105893_0.9847330603016928","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.2.2","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.2.2","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"a16e3f12c13548075a6a943c6cf8cbf8a3cd50d4","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.2.2.tgz","fileCount":1339,"integrity":"sha512-N4qLnwN3jOfFc/S5nHEfz95HgftHLUpJYAEyPnIgzuLibrB1gPeg8kpQ3lETiLrFWQBsjhCGUlOLHrDzK8FdgA==","signatures":[{"sig":"MEUCIQD1MhIymCQEBdsgUamS91JQVjj5yWHZo82x3RxKCqA+SwIgIav7gfIhFHbyPvfEx5tek0JmFURZCs1akXIbhnzFOGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11527782},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"a0b80a12e031e38f6ec3091479aa7dc851eaf713","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.3.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.6.1","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.2.2_1786574301356_0.46784556251506615","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.2.3","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.2.3","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"e52275685288cb11dfbb7858ebf7387517f9b42f","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.2.3.tgz","fileCount":1339,"integrity":"sha512-UKGbuyIWimzR/6JqVTsw5l/9tW7i2hN9TVJBClaGmLNvflSh5eihHummFoqdeZEs5kVsZAHg3yz7qsabT2697Q==","signatures":[{"sig":"MEUCIQChvKDUjR6XDYk7hlakTin0eu6SANrwKhhUQeIXbHBqBgIgU7NxwGBG51rkwyCOvL2Qx+az/syKQqtc1gSnxtxOu6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11528284},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"8647facde761f1496db649271f40edd0b86f69d6","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.3.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.2.3_1786596458628_0.2116319415569814","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.3.0","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.3.0","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"a11363cd2414efbd29caae565d6ea64f6c0c31a0","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.3.0.tgz","fileCount":1339,"integrity":"sha512-xDYR7cciXGk/Ad5XrjB38BPeK+hVPidXVkZCwrfySsbS5udM2bWxq3BLES8YxOPsoAcziXhEBs2O4A2EH7MfzA==","signatures":[{"sig":"MEUCIQC2+mbpgJMJXjO3pThZ8KkRaIs9P3tWm8oJfR7UvXeL5wIgevkJHWrEoOb+kKpzO0V8gnPeR6Kk567G8pcEch0x2Cs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11493351},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"a792f4d796f55dea016126459099af0c47b8e600","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28 -p typedoc-plugin-markdown@4 -p typescript@5.8 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.3.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.3.0_1787061579636_0.5323265395001904","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@open-e2ee/signal-protocol-sdk","version":"0.4.0","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@0.4.0","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"44d873e5655cff4c0a4b9ac1c7ff80208601bbcd","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-0.4.0.tgz","fileCount":1339,"integrity":"sha512-QiThj6JrIOt48GlrQ+wFYrQH3GY7HLyvqwyadVwoun0h1xuDcOLjZyfhFUEUzOdEHaDUY8OkySqg8jERyNOuLQ==","signatures":[{"sig":"MEUCIQCU1KnGyk3DDyzgCJ+Xmou6wnntq9y8jLkIs/K2+v5nIwIgcpPh4nyR7EvEEyevqGdon0aKWF1We25eLv9O8Va1GGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11499275},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"a4437117ac3091717a1f443156ca9fc8cfbbc44b","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28.20 -p typedoc-plugin-markdown@4.12.0 -p typescript@5.8.3 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","docs:api:check":"npm run docs:api && git diff --exit-code -- docs/api && test -z \"$(git ls-files --others --exclude-standard docs/api)\"","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.3.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","@swc/core":"^1.15.43","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_0.4.0_1787166185068_0.9340288990716441","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@open-e2ee/signal-protocol-sdk","version":"1.0.0","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@1.0.0","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"dfec517a77a04f3abb7a68eb2687f1f34cf3af24","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-1.0.0.tgz","fileCount":1351,"integrity":"sha512-AlTpi7ed3phzJSMtea5YT/uosoXbPEjiFDVyDylwwKNYxc9z/eQXtsOcmJXNZ4ROzuDxzsHMcW3HBJwdA2tWZg==","signatures":[{"sig":"MEYCIQCGnuU+NJ1hvglA+7jY5E9gNT6RIBcsVkf9EDSqkKlxnQIhAJ+3fa8lQ1HeEec+hFPaSERyu7HD3QBlwTEnc6WTnn5+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11601525},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"18f3979994aeeb8c207ba0667d0f9ccc9a163847","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28.20 -p typedoc-plugin-markdown@4.12.0 -p typescript@5.8.3 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","docs:api:check":"npm run docs:api && git diff --exit-code -- docs/api && test -z \"$(git ls-files --others --exclude-standard docs/api)\"","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.0","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.8.1","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.3.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","@swc/core":"^1.15.43","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_1.0.0_1787817784732_0.4109027945539283","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@open-e2ee/signal-protocol-sdk","version":"2.0.0","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@2.0.0","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"3da3d5edfa4099c17545d8982995712b083e6c57","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-2.0.0.tgz","fileCount":1359,"integrity":"sha512-HC4RtejeezbFaRVIjVl1Go9E7JHKZhI2Ru/PpIn2FYKiPW2S1TgCmOdTuN+vyBU9m/aGiMhUBIeywxi7+DA93g==","signatures":[{"sig":"MEUCIHh/02hMI5W5wk7tQVSLPTjpzSedfmPA62V15uC3CxVQAiEA1WaqG5wZvblWQG/7tJxj603CMjqT/0Vp7EVKM3BoXUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11724902},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"948e6e523aaffeb8c48456794b85cca7d611ec86","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28.20 -p typedoc-plugin-markdown@4.12.0 -p typescript@5.8.3 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","docs:api:check":"npm run docs:api && git diff --exit-code -- docs/api && test -z \"$(git ls-files --others --exclude-standard docs/api)\"","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.1","description":"Signal Protocol E2EE SDK for TypeScript — Expo, React Native, browser, and Node. Post-quantum PQXDH and Double Ratchet.","directories":{},"sideEffects":false,"_nodeVersion":"26.8.2","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.4.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","@swc/core":"^1.15.43","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_2.0.0_1789192699928_0.6947607404733214","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@open-e2ee/signal-protocol-sdk","version":"2.0.1","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@2.0.1","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"03c38f231f634015f150d36d2ec656820791dd51","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-2.0.1.tgz","fileCount":1382,"integrity":"sha512-Ltb87wGMDX+jDuGZdyRNfNECIRXGcV/yrfKJlqDKtmqYUdJ44j/PdQXJPWeWBSsoqUyNQUZk377F/dsF1f+QnA==","signatures":[{"sig":"MEUCIQCzvry7XYa5d4Ptv7CSKxQOYVqdLECtTMZhrRQHBpwoFAIgFQLPPiebYUBukZ0X9gocyc7VZACpnfZw5N6O4r4aCDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11736343},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"gitHead":"eee3c6c9934ce079dde07db74d8a6ac6274be24c","imports":{"#secure-random-host":{"node":"./dist/internal/crypto/random-host.node.js","browser":"./dist/internal/crypto/random-host.js","default":"./dist/internal/crypto/random-host.js","react-native":"./dist/internal/crypto/random-host.native.js"}},"scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28.20 -p typedoc-plugin-markdown@4.12.0 -p typescript@5.8.3 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","docs:api:check":"npm run docs:api && git diff --exit-code -- docs/api && test -z \"$(git ls-files --others --exclude-standard docs/api)\"","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.1","description":"Pure TypeScript Signal Protocol SDK for encrypted chat in Expo, React Native, browsers, and Node. Post-quantum by default.","directories":{},"sideEffects":false,"_nodeVersion":"26.8.2","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.4.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","@swc/core":"^1.15.43","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_2.0.1_1789250648951_0.7492970843060607","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@open-e2ee/signal-protocol-sdk","version":"2.0.2","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"AGPL-3.0-or-later","_id":"@open-e2ee/signal-protocol-sdk@2.0.2","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"b195ac6a957ca616a61b241b2187908ac38a5d80","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-2.0.2.tgz","fileCount":1382,"integrity":"sha512-lR+KgioEYK25lOWwXi/wBjPP0oDOpc265dgAX1rWhv02zYJftmBwQnDv8p6sBE9n4bPPd3bKTE1xZ13MsnWzIw==","signatures":[{"sig":"MEUCICCOCO+Nx/5amhsIc5ijM0unekNMOzNtbpazjpc/rY9zAiEAqWbq5qczX7lSz22k4oF3LtyxX3HdrPXh9Q3oRB+o/dY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11736577},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-2.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./convex.config":{"types":"./dist/remote/relay/convex/component/convex.config.d.ts","default":"./dist/remote/relay/convex/component/convex.config.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/convex":{"types":"./dist/remote/relay/convex/index.d.ts","default":"./dist/remote/relay/convex/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./device/expo-metadata":{"types":"./dist/device/expo-metadata.d.ts","default":"./dist/device/expo-metadata.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./remote/relay/convex/relay":{"types":"./dist/remote/relay/convex/relay.d.ts","default":"./dist/remote/relay/convex/relay.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"imports":{"#secure-random-host":{"node":"./dist/internal/crypto/random-host.node.js","browser":"./dist/internal/crypto/random-host.js","default":"./dist/internal/crypto/random-host.js","react-native":"./dist/internal/crypto/random-host.native.js"}},"scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28.20 -p typedoc-plugin-markdown@4.12.0 -p typescript@5.8.3 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","docs:api:check":"npm run docs:api && git diff --exit-code -- docs/api && test -z \"$(git ls-files --others --exclude-standard docs/api)\"","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"_resolved":"/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-2.0.2.tgz","overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"_integrity":"sha512-lR+KgioEYK25lOWwXi/wBjPP0oDOpc265dgAX1rWhv02zYJftmBwQnDv8p6sBE9n4bPPd3bKTE1xZ13MsnWzIw==","repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.1","description":"Pure TypeScript Signal Protocol SDK for encrypted chat in Expo, React Native, browsers, and Node. Post-quantum by default.","directories":{},"sideEffects":false,"_nodeVersion":"26.8.2","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.4.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","@swc/core":"^1.15.43","typescript":"^7.0.2","@types/node":"^22.0.0","convex-test":"^0.0.54","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","@convex-dev/rate-limiter":"^0.3.2","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"@convex-dev/rate-limiter":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_2.0.2_1789254260119_0.47374526137324535","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@open-e2ee/signal-protocol-sdk","version":"3.0.0","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"(MIT OR Apache-2.0)","_id":"@open-e2ee/signal-protocol-sdk@3.0.0","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"8865c56065d7055a883273917158610a0fe17314","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-3.0.0.tgz","fileCount":1361,"integrity":"sha512-ZZ7tDwNPaPTn2SPTF2Zl+EFMn4urWxTYhloXlS2ETvqvafCiq0RNsk03CW5E3L8lrqX1Q8HqJuStTAZ/mRlUuQ==","signatures":[{"sig":"MEUCIBlahcQYkn2TsGuqkv2f1btciFwVJojCDiZxq8gx5ajJAiEAsa3O5Avu5TL9No3u1Qnx/dTBW3pcxrBbn/Ajkronv8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCcp7+lscn2K/8szunNYSIH/Kz4VU5XOYZNK1JKRqOe2AIhANdwlUU6E5UtL/hRG1+Kp/bdKNPUGD3M0xlIPTsyLlk/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11518012},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-3.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./device/expo":{"types":"./dist/device/expo/index.d.ts","default":"./dist/device/expo/index.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./groups/server":{"types":"./dist/groups/server.d.ts","default":"./dist/groups/server.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"imports":{"#secure-random-host":{"node":"./dist/internal/crypto/random-host.node.js","browser":"./dist/internal/crypto/random-host.js","default":"./dist/internal/crypto/random-host.js","react-native":"./dist/internal/crypto/random-host.native.js"}},"scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28.20 -p typedoc-plugin-markdown@4.12.0 -p typescript@5.8.3 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","docs:api:check":"npm run docs:api && git diff --exit-code -- docs/api && test -z \"$(git ls-files --others --exclude-standard docs/api)\"","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"_resolved":"/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-3.0.0.tgz","overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"_integrity":"sha512-ZZ7tDwNPaPTn2SPTF2Zl+EFMn4urWxTYhloXlS2ETvqvafCiq0RNsk03CW5E3L8lrqX1Q8HqJuStTAZ/mRlUuQ==","repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.1","description":"Pure TypeScript Signal Protocol SDK for encrypted chat in Expo, React Native, browsers, and Node. Post-quantum by default.","directories":{},"sideEffects":false,"_nodeVersion":"26.8.2","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.4.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","@swc/core":"^1.15.43","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","fs-native-extensions":"1.2.7","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","fs-native-extensions":"1.2.7","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"fs-native-extensions":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_3.0.0_1790052966458_0.6212125031491502","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@open-e2ee/signal-protocol-sdk","version":"4.0.0","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"(MIT OR Apache-2.0)","_id":"@open-e2ee/signal-protocol-sdk@4.0.0","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"65bcb0cf1eaa8cb5a919d1b867abfc563b748c97","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-4.0.0.tgz","fileCount":1361,"integrity":"sha512-uCezH1fnIMaTmoTAXt+CCyJRVIvg4dM1SbAhOr/O/CsyPoQaBEMITWibiiNX4cFOL5N+A0SRU91XIbQR0LWo4A==","signatures":[{"sig":"MEUCIFfLSihmfNI7jHWpSzpzdjuSiGfL818s5bLGsHD2sEd6AiEAjMz0klqXzk3eD+m5vwGknE01f7kvSzfWKgNrl7PtLxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDjPx7OIdEow5CP6zlf5Dw3VvAeVMAWvRovUO3ETPvvwgIgVeEqWlvSdUgoEoGHqnjaXHu15IpUvdjDf+dcEgfbr+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11519920},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-4.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./device/expo":{"types":"./dist/device/expo/index.d.ts","default":"./dist/device/expo/index.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./groups/server":{"types":"./dist/groups/server.d.ts","default":"./dist/groups/server.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./hooks/use-connection-presence":{"types":"./dist/hooks/use-connection-presence.d.ts","default":"./dist/hooks/use-connection-presence.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"imports":{"#secure-random-host":{"node":"./dist/internal/crypto/random-host.node.js","browser":"./dist/internal/crypto/random-host.js","default":"./dist/internal/crypto/random-host.js","react-native":"./dist/internal/crypto/random-host.native.js"}},"scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28.20 -p typedoc-plugin-markdown@4.12.0 -p typescript@5.8.3 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","docs:api:check":"npm run docs:api && git diff --exit-code -- docs/api && test -z \"$(git ls-files --others --exclude-standard docs/api)\"","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"_resolved":"/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-4.0.0.tgz","overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"_integrity":"sha512-uCezH1fnIMaTmoTAXt+CCyJRVIvg4dM1SbAhOr/O/CsyPoQaBEMITWibiiNX4cFOL5N+A0SRU91XIbQR0LWo4A==","repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.1","description":"Pure TypeScript Signal Protocol SDK for encrypted chat in Expo, React Native, browsers, and Node. Post-quantum by default.","directories":{},"sideEffects":false,"_nodeVersion":"26.8.2","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.4.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","@swc/core":"^1.15.43","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","fs-native-extensions":"1.2.7","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","fs-native-extensions":"1.2.7","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"fs-native-extensions":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_4.0.0_1790104739757_0.3259818027680865","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@open-e2ee/signal-protocol-sdk","version":"5.0.0","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"(MIT OR Apache-2.0)","_id":"@open-e2ee/signal-protocol-sdk@5.0.0","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"d8505d8359f55cc3eedbe32e5c2d66af0bc4a4fa","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-5.0.0.tgz","fileCount":1361,"integrity":"sha512-AwwNGuCKjOfYIhBOVGYc5gTENIj2HbBQ9r3bTP4OhOenFM897h2f+B75qWvCFSqIIvLv5H6hDxaFPQZ0tmZaMw==","signatures":[{"sig":"MEUCIGWkDkLSaMFzPUriBBK8l7NSOyQVDYNHsC6Y0Z6FvYGzAiEAxd/uxsuIdHjs06eeNuL9iKcUmugPNvE62fiXXZ7DI84=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD9qc/4gp38z6Pabu3DxJSi8O2BWkGDL1U9vH3WSjWu5QIhALtLY6yRnGJqLHyoz7jlnt6oGhyrd07BozFeZRdEYc7M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@5.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11489800},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-5.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./device/expo":{"types":"./dist/device/expo/index.d.ts","default":"./dist/device/expo/index.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./groups/server":{"types":"./dist/groups/server.d.ts","default":"./dist/groups/server.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"imports":{"#secure-random-host":{"node":"./dist/internal/crypto/random-host.node.js","browser":"./dist/internal/crypto/random-host.js","default":"./dist/internal/crypto/random-host.js","react-native":"./dist/internal/crypto/random-host.native.js"}},"scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28.20 -p typedoc-plugin-markdown@4.12.0 -p typescript@5.8.3 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","docs:api:check":"npm run docs:api && git diff --exit-code -- docs/api && test -z \"$(git ls-files --others --exclude-standard docs/api)\"","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"_resolved":"/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-5.0.0.tgz","overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"_integrity":"sha512-AwwNGuCKjOfYIhBOVGYc5gTENIj2HbBQ9r3bTP4OhOenFM897h2f+B75qWvCFSqIIvLv5H6hDxaFPQZ0tmZaMw==","repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.1","description":"Pure TypeScript Signal Protocol SDK for encrypted chat in Expo, React Native, browsers, and Node. Post-quantum by default.","directories":{},"sideEffects":false,"_nodeVersion":"26.8.2","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.4.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","@swc/core":"^1.15.43","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","fs-native-extensions":"1.2.7","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","fs-native-extensions":"1.2.7","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"fs-native-extensions":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_5.0.0_1790271792333_0.9590150543781317","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@open-e2ee/signal-protocol-sdk","version":"6.0.0","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"(MIT OR Apache-2.0)","_id":"@open-e2ee/signal-protocol-sdk@6.0.0","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"bf75907b4d6d2c49720a9a98b4bf1d4b58fe10bd","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-6.0.0.tgz","fileCount":1377,"integrity":"sha512-/mP2o0+Cb6f0wuOYAi+Vq7YjBRp+8AiLnh5TyFska7i9sMO6DZBaIPzTmTrI5mM8NVI5SZ5mMqSMWBhODbOHyw==","signatures":[{"sig":"MEQCIDa2bq16UinlOghJfezT++bNLrGbe6vIiupwUpi0F1/ZAiBZtyjAzGWkiI969i5q++xj71kYq9cTS5kDq/NTKBbYtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGVrW+tspz26ZCO6r2XpiZS9dOu0m5mQb5k9DotjFYTAAiEA1RspWyj7J6/Gn43GQMWf4G+dmXuBr4gAHrMOGfCJFjA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11523250},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-6.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./device/expo":{"types":"./dist/device/expo/index.d.ts","default":"./dist/device/expo/index.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./groups/server":{"types":"./dist/groups/server.d.ts","default":"./dist/groups/server.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"imports":{"#secure-random-host":{"node":"./dist/internal/crypto/random-host.node.js","browser":"./dist/internal/crypto/random-host.js","default":"./dist/internal/crypto/random-host.js","react-native":"./dist/internal/crypto/random-host.native.js"}},"scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28.20 -p typedoc-plugin-markdown@4.12.0 -p typescript@5.8.3 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","docs:api:check":"npm run docs:api && git diff --exit-code -- docs/api && test -z \"$(git ls-files --others --exclude-standard docs/api)\"","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"_resolved":"/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-6.0.0.tgz","overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"_integrity":"sha512-/mP2o0+Cb6f0wuOYAi+Vq7YjBRp+8AiLnh5TyFska7i9sMO6DZBaIPzTmTrI5mM8NVI5SZ5mMqSMWBhODbOHyw==","repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.1","description":"Pure TypeScript Signal Protocol SDK for encrypted chat in Expo, React Native, browsers, and Node. Post-quantum by default.","directories":{},"sideEffects":false,"_nodeVersion":"26.8.2","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.4.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","@swc/core":"^1.15.43","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","fs-native-extensions":"1.2.7","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","fs-native-extensions":"1.2.7","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"fs-native-extensions":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_6.0.0_1790293829895_0.14406467423845926","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"@open-e2ee/signal-protocol-sdk","version":"7.0.0","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"(MIT OR Apache-2.0)","_id":"@open-e2ee/signal-protocol-sdk@7.0.0","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"e8c99b67f2ba2b2b6f4ce1bd944fa73ce9847a42","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-7.0.0.tgz","fileCount":1393,"integrity":"sha512-YXZX66Y3ASVtrFWfFKm4VtEgzDI7b2iNpxgB7gqDe6PH/cFD9N3Fqweh4z7RFVEGAfBkY2sxEloRSWueNtGzoA==","signatures":[{"sig":"MEUCIBVxkN3RlxPu7M99+yfNP/ei6pyPQwHp9J/1WdLNaVlNAiEAyaZC4qiEWxO+BGLrT+iqgB5eBS/uAN/zhD8bRBwiyWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCBR/ozQ+6EyYDOqpeTkUHs02S/lTa9SNcvDoQsIiK5GQIhAJPkq54e0gtOP4TM1Hokm8F6bvAxaYu+LZba944RgRHu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@7.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11610007},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-7.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./device/expo":{"types":"./dist/device/expo/index.d.ts","default":"./dist/device/expo/index.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./groups/server":{"types":"./dist/groups/server.d.ts","default":"./dist/groups/server.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"imports":{"#secure-random-host":{"node":"./dist/internal/crypto/random-host.node.js","browser":"./dist/internal/crypto/random-host.js","default":"./dist/internal/crypto/random-host.js","react-native":"./dist/internal/crypto/random-host.native.js"}},"scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28.20 -p typedoc-plugin-markdown@4.12.0 -p typescript@5.8.3 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","docs:api:check":"npm run docs:api && git diff --exit-code -- docs/api && test -z \"$(git ls-files --others --exclude-standard docs/api)\"","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"_resolved":"/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-7.0.0.tgz","overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"_integrity":"sha512-YXZX66Y3ASVtrFWfFKm4VtEgzDI7b2iNpxgB7gqDe6PH/cFD9N3Fqweh4z7RFVEGAfBkY2sxEloRSWueNtGzoA==","repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.1","description":"Pure TypeScript Signal Protocol SDK for encrypted chat in Expo, React Native, browsers, and Node. Post-quantum by default.","directories":{},"sideEffects":false,"_nodeVersion":"26.8.2","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.4.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","@swc/core":"^1.15.43","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","fs-native-extensions":"1.2.7","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","fs-native-extensions":"1.2.7","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"fs-native-extensions":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_7.0.0_1790415467646_0.9945870883164316","host":"s3://npm-registry-packages-npm-production"}},"7.1.0":{"name":"@open-e2ee/signal-protocol-sdk","version":"7.1.0","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"(MIT OR Apache-2.0)","_id":"@open-e2ee/signal-protocol-sdk@7.1.0","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"homepage":"https://open-e2ee.dev","bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"bin":{"oe-groups":"scripts/oe-groups.mjs"},"dist":{"shasum":"42d60f5f679c1423e80b6243137a7fac507aa4b7","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-7.1.0.tgz","fileCount":1393,"integrity":"sha512-vbNL0uMKYFgwlXEUcNC5KxEh329nvQv9cgjxZsxCR/D1x4C9nLhjxhzROTGr+H1am2HtUHrycGhiy2PI46vrEg==","signatures":[{"sig":"MEQCID8GiPekPO4QM2m2tLT5o0LU+sCK1M9bYpqX7/GaxGf8AiBqG5iaq2MFCSen+rDCsbFGs0CF4BNKFKdMMpiusntQCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDIZzKAARAn89U+/W2Ntw7bArJAQr9oP2iOuCxuimZMQgIhAOuNcOzAoxqWdptx+pMoJlyWQS/AWifHmyP/e0ZUPmHs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@7.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11632573},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-7.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./device/expo":{"types":"./dist/device/expo/index.d.ts","default":"./dist/device/expo/index.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./groups/server":{"types":"./dist/groups/server.d.ts","default":"./dist/groups/server.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"imports":{"#secure-random-host":{"node":"./dist/internal/crypto/random-host.node.js","browser":"./dist/internal/crypto/random-host.js","default":"./dist/internal/crypto/random-host.js","react-native":"./dist/internal/crypto/random-host.native.js"}},"scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28.20 -p typedoc-plugin-markdown@4.12.0 -p typescript@5.8.3 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","docs:api:check":"npm run docs:api && git diff --exit-code -- docs/api && test -z \"$(git ls-files --others --exclude-standard docs/api)\"","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"_resolved":"/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-7.1.0.tgz","overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"_integrity":"sha512-vbNL0uMKYFgwlXEUcNC5KxEh329nvQv9cgjxZsxCR/D1x4C9nLhjxhzROTGr+H1am2HtUHrycGhiy2PI46vrEg==","repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.1","description":"Pure TypeScript Signal Protocol SDK for encrypted chat in Expo, React Native, browsers, and Node. Post-quantum by default.","directories":{},"sideEffects":false,"_nodeVersion":"26.8.2","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.4.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"19.2.0","convex":"^1.42.3","esbuild":"^0.27.0","@swc/core":"^1.15.43","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.17","expo-device":"~55.0.19","expo-sqlite":"~55.0.18","@types/react":"^19.0.0","react-native":"0.83.10","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.17","@types/async-lock":"^1.4.0","expo-secure-store":"~55.0.16","fs-native-extensions":"1.2.7","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":"^8.0.3","expo":"~55.0.27","react":"^19.0.0","convex":"^1.42.1","drizzle-orm":"^0.45.1","expo-crypto":"~55.0.16","expo-device":"~55.0.15","expo-sqlite":"~55.0.17","react-native":"^0.83.6","@convex-dev/r2":"^0.10.2","expo-constants":"~55.0.7","expo-secure-store":"~55.0.15","fs-native-extensions":"1.2.7","react-native-device-info":"^15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"fs-native-extensions":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/signal-protocol-sdk_7.1.0_1790421517979_0.8640081576058583","host":"s3://npm-registry-packages-npm-production"}},"7.2.0":{"_id":"@open-e2ee/signal-protocol-sdk@7.2.0","bin":{"oe-groups":"scripts/oe-groups.mjs"},"bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"dist":{"shasum":"0c15a840c8613319166f30cecb70024d077ab780","tarball":"https://registry.npmjs.org/@open-e2ee/signal-protocol-sdk/-/signal-protocol-sdk-7.2.0.tgz","fileCount":1393,"integrity":"sha512-OIXjMGEeBOu/oWCxC7c+YcYYL/6hPpyNwNP8BsHlakMKrHP49Gai4K9261erSlg9x8ehqR+GrR54SI9YXC0/Gw==","signatures":[{"sig":"MEQCIAk2D8oR/NxRP0Wt0sbjMfmUMzz4CjswYIUzVElvzeBfAiAxBrKz9gWqq4HTGY1BaMmodHJZif4erZJVaxfOh1V45w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAsl3M++Q5FZx+pduJb15fi1DLwYaEr/nyStkCshVvrgAiEA6KVlWAxyoGi85zMbE1rRnmnSauD/axhBTdMMA/pkPEg="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@open-e2ee%2fsignal-protocol-sdk@7.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11645440},"main":"./dist/index.js","name":"@open-e2ee/signal-protocol-sdk","type":"module","_from":"file:/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-7.2.0.tgz","types":"./dist/index.d.ts","author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./keys":{"types":"./dist/keys/index.d.ts","default":"./dist/keys/index.js"},"./files":{"types":"./dist/files/index.d.ts","default":"./dist/files/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","default":"./dist/hooks/index.js"},"./media":{"types":"./dist/media/index.d.ts","default":"./dist/media/index.js"},"./types":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./device":{"types":"./dist/device/index.d.ts","default":"./dist/device/index.js"},"./groups":{"types":"./dist/groups/index.d.ts","default":"./dist/groups/index.js"},"./logger":{"types":"./dist/logger.d.ts","default":"./dist/logger.js"},"./safety":{"types":"./dist/safety/index.d.ts","default":"./dist/safety/index.js"},"./profile":{"types":"./dist/profile/index.d.ts","default":"./dist/profile/index.js"},"./blocking":{"types":"./dist/blocking/index.d.ts","default":"./dist/blocking/index.js"},"./encoding":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.js"},"./username":{"types":"./dist/username/index.d.ts","default":"./dist/username/index.js"},"./zk/groups":{"types":"./dist/zk/groups.d.ts","default":"./dist/zk/groups.js"},"./keys/types":{"types":"./dist/keys/types.d.ts","default":"./dist/keys/types.js"},"./device/expo":{"types":"./dist/device/expo/index.d.ts","default":"./dist/device/expo/index.js"},"./local/store":{"types":"./dist/local/store/index.d.ts","default":"./dist/local/store/index.js"},"./local/vault":{"types":"./dist/local/vault/index.d.ts","default":"./dist/local/vault/index.js"},"./types/utils":{"types":"./dist/types/utils.d.ts","default":"./dist/types/utils.js"},"./utils/retry":{"types":"./dist/utils/retry.d.ts","default":"./dist/utils/retry.js"},"./client/types":{"types":"./dist/client/types.d.ts","default":"./dist/client/types.js"},"./encoding/hex":{"types":"./dist/encoding/hex.d.ts","default":"./dist/encoding/hex.js"},"./package.json":"./package.json","./remote/relay":{"types":"./dist/remote/relay/index.d.ts","default":"./dist/remote/relay/index.js"},"./server-clock":{"types":"./dist/server-clock.d.ts","default":"./dist/server-clock.js"},"./client/config":{"types":"./dist/client/config.d.ts","default":"./dist/client/config.js"},"./groups/server":{"types":"./dist/groups/server.d.ts","default":"./dist/groups/server.js"},"./sealed-sender":{"types":"./dist/sealed-sender/index.d.ts","default":"./dist/sealed-sender/index.js"},"./types/address":{"types":"./dist/types/address.d.ts","default":"./dist/types/address.js"},"./username/link":{"types":"./dist/username/link.d.ts","default":"./dist/username/link.js"},"./client/compose":{"types":"./dist/client/compose.d.ts","default":"./dist/client/compose.js"},"./types/messages":{"types":"./dist/types/messages.d.ts","default":"./dist/types/messages.js"},"./zk/credentials":{"types":"./dist/zk/credentials.d.ts","default":"./dist/zk/credentials.js"},"./client/headless":{"types":"./dist/client/headless.d.ts","default":"./dist/client/headless.js"},"./keys/generation":{"types":"./dist/keys/generation.d.ts","default":"./dist/keys/generation.js"},"./local/store/web":{"types":"./dist/local/store/web/index.d.ts","default":"./dist/local/store/web/index.js"},"./client/constants":{"types":"./dist/client/constants.d.ts","default":"./dist/client/constants.js"},"./device/constants":{"types":"./dist/device/constants.d.ts","default":"./dist/device/constants.js"},"./device/device-id":{"types":"./dist/device/device-id.d.ts","default":"./dist/device/device-id.js"},"./device/lifecycle":{"types":"./dist/device/lifecycle/index.d.ts","default":"./dist/device/lifecycle/index.js"},"./local/store/expo":{"types":"./dist/local/store/expo/index.d.ts","default":"./dist/local/store/expo/index.js"},"./local/store/node":{"types":"./dist/local/store/node/index.d.ts","default":"./dist/local/store/node/index.js"},"./local/store/memory":{"types":"./dist/local/store/memory/index.d.ts","default":"./dist/local/store/memory/index.js"},"./remote/relay/types":{"types":"./dist/remote/relay/types.d.ts","default":"./dist/remote/relay/types.js"},"./device/provisioning":{"types":"./dist/device/provisioning.d.ts","default":"./dist/device/provisioning.js"},"./local/store/expo/db":{"types":"./dist/local/store/expo/db.d.ts","default":"./dist/local/store/expo/db.js"},"./remote/object-store":{"types":"./dist/remote/object-store/index.d.ts","default":"./dist/remote/object-store/index.js"},"./remote/relay/memory":{"types":"./dist/remote/relay/memory/index.d.ts","default":"./dist/remote/relay/memory/index.js"},"./remote/object-store/s3":{"types":"./dist/remote/object-store/s3/index.d.ts","default":"./dist/remote/object-store/s3/index.js"},"./local/store/expo/schema":{"types":"./dist/local/store/expo/schema.d.ts","default":"./dist/local/store/expo/schema.js"},"./local/store/react-native":{"types":"./dist/local/store/react-native/index.d.ts","default":"./dist/local/store/react-native/index.js"},"./client/endorsement-manager":{"types":"./dist/client/endorsement-manager.d.ts","default":"./dist/client/endorsement-manager.js"},"./local/vault/expo-secure-store":{"types":"./dist/local/vault/expo-secure-store.d.ts","default":"./dist/local/vault/expo-secure-store.js"},"./remote/object-store/convex-r2":{"types":"./dist/remote/object-store/convex-r2/index.d.ts","default":"./dist/remote/object-store/convex-r2/index.js"},"./remote/object-store/convex-r2/server":{"types":"./dist/remote/object-store/convex-r2/server/index.d.ts","default":"./dist/remote/object-store/convex-r2/server/index.js"}},"imports":{"#secure-random-host":{"node":"./dist/internal/crypto/random-host.node.js","browser":"./dist/internal/crypto/random-host.js","default":"./dist/internal/crypto/random-host.js","react-native":"./dist/internal/crypto/random-host.native.js"}},"license":"(MIT OR Apache-2.0)","scripts":{"build":"npm run clean && npm run build:dist && npm run build:fix-esm","clean":"rm -rf dist","prepare":"npm run build","docs:api":"npx -y -p typedoc@0.28.20 -p typedoc-plugin-markdown@4.12.0 -p typescript@5.8.3 typedoc && node ./scripts/normalize-api-doc-paths.mjs","typecheck":"tsc --noEmit -p tsconfig.build.json","build:dist":"tsc -p tsconfig.build.json","build:fix-esm":"node ./scripts/fix-esm-specifiers.mjs ./dist","docs:api:check":"npm run docs:api && git diff --exit-code -- docs/api && test -z \"$(git ls-files --others --exclude-standard docs/api)\"","prepublishOnly":"npm run build","audit:dependencies":"npm audit --omit=dev --audit-level=moderate && npm audit --audit-level=moderate"},"version":"7.2.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:362f2fe7-c389-4fe7-9a1c-26d5ab8b8db6"}},"homepage":"https://open-e2ee.dev","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"_resolved":"/home/runner/work/_temp/open-e2ee-signal-protocol-sdk-7.2.0.tgz","overrides":{"xcode":{"uuid":"11.1.1"},"image-size":"file:./vendor/image-size-disabled","brace-expansion":"^5.0.9"},"_integrity":"sha512-OIXjMGEeBOu/oWCxC7c+YcYYL/6hPpyNwNP8BsHlakMKrHP49Gai4K9261erSlg9x8ehqR+GrR54SI9YXC0/Gw==","repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"_npmVersion":"11.19.1","description":"Pure TypeScript Signal Protocol SDK for encrypted chat in Expo, React Native, browsers, and Node. Post-quantum by default.","directories":{},"maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"sideEffects":false,"_nodeVersion":"26.8.2","dependencies":{"async-lock":"^1.4.0","@noble/curves":"^2.2.0","@noble/hashes":"2.4.0","@noble/ciphers":"^2.3.0","@noble/post-quantum":"^0.7.0","unique-names-generator":"^4.7.1"},"_hasShrinkwrap":false,"devDependencies":{"idb":"^8.0.3","expo":"~57.0.25","react":"19.2.3","convex":"^1.46.0","esbuild":"^0.27.0","@swc/core":"^1.15.43","typescript":"^7.0.2","@types/node":"^22.0.0","drizzle-orm":"^0.45.3","expo-crypto":"~57.0.3","expo-device":"~57.0.2","expo-sqlite":"~57.0.3","@types/react":"^19.2.0","react-native":"0.86.3","@convex-dev/r2":"^0.10.2","expo-constants":"~57.0.19","@types/async-lock":"^1.4.0","expo-secure-store":"~57.0.4","fs-native-extensions":"^1.5.1","react-native-device-info":"^15.0.1"},"peerDependencies":{"idb":">=8.0.3","expo":">=55.0.27","react":">=19.0.0","convex":">=1.42.1","drizzle-orm":">=0.45.1","expo-crypto":">=55.0.16","expo-device":">=55.0.15","expo-sqlite":">=55.0.17","react-native":">=0.83.6","@convex-dev/r2":">=0.10.2","expo-constants":">=55.0.7","expo-secure-store":">=55.0.15","fs-native-extensions":">=1.2.7","react-native-device-info":">=15.0.1"},"peerDependenciesMeta":{"idb":{"optional":true},"expo":{"optional":true},"react":{"optional":true},"convex":{"optional":true},"drizzle-orm":{"optional":true},"expo-crypto":{"optional":true},"expo-device":{"optional":true},"expo-sqlite":{"optional":true},"react-native":{"optional":true},"@convex-dev/r2":{"optional":true},"expo-constants":{"optional":true},"expo-secure-store":{"optional":true},"fs-native-extensions":{"optional":true},"react-native-device-info":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/signal-protocol-sdk_7.2.0_1790537112042_0.5765261045336914"}}},"time":{"created":"2026-07-25T03:33:14.092Z","modified":"2026-09-27T19:25:12.534Z","0.1.0-alpha.1":"2026-07-25T03:33:14.510Z","0.1.0-alpha.2":"2026-07-25T05:02:23.461Z","0.1.0-alpha.3":"2026-07-25T17:32:03.973Z","0.1.0-alpha.4":"2026-07-25T19:35:57.549Z","0.1.0-alpha.5":"2026-07-25T20:49:28.390Z","0.1.0-alpha.6":"2026-07-26T03:08:08.589Z","0.1.0-alpha.7":"2026-07-28T01:49:36.877Z","0.1.0-alpha.8":"2026-07-28T19:30:08.696Z","0.1.0-alpha.9":"2026-07-28T20:26:23.685Z","0.1.0-alpha.10":"2026-08-06T22:50:37.555Z","0.1.0-alpha.11":"2026-08-07T10:12:24.397Z","0.1.0-alpha.12":"2026-08-07T12:46:20.886Z","0.1.0-alpha.13":"2026-08-10T00:57:56.472Z","0.1.0-alpha.14":"2026-08-10T03:23:31.560Z","0.1.0":"2026-08-10T16:33:38.293Z","0.2.0":"2026-08-12T07:08:05.972Z","0.2.1":"2026-08-12T20:05:06.126Z","0.2.2":"2026-08-12T22:38:21.605Z","0.2.3":"2026-08-13T04:47:38.835Z","0.3.0":"2026-08-18T13:59:39.921Z","0.4.0":"2026-08-19T19:03:05.267Z","1.0.0":"2026-08-27T08:03:04.945Z","2.0.0":"2026-09-12T05:58:20.145Z","2.0.1":"2026-09-12T22:04:09.206Z","2.0.2":"2026-09-12T23:04:20.368Z","3.0.0":"2026-09-22T04:56:06.630Z","4.0.0":"2026-09-22T19:18:59.933Z","5.0.0":"2026-09-24T17:43:12.477Z","6.0.0":"2026-09-24T23:50:30.057Z","7.0.0":"2026-09-26T09:37:47.811Z","7.1.0":"2026-09-26T11:18:38.167Z","7.2.0":"2026-09-27T19:25:12.197Z"},"bugs":{"url":"https://github.com/open-e2ee/signal-protocol-js/issues"},"author":{"url":"https://github.com/open-e2ee","name":"OpenE2EE"},"license":"(MIT OR Apache-2.0)","homepage":"https://open-e2ee.dev","keywords":["open-e2ee","opene2ee","signal-protocol","encryption","end-to-end-encryption","e2ee","double-ratchet","x3dh","pqxdh","post-quantum","kyber","ml-kem","cryptography","typescript","react-native","expo","nodejs","secure-messaging","messaging","sealed-sender","sdk","forward-secrecy"],"repository":{"url":"git+https://github.com/open-e2ee/signal-protocol-js.git","type":"git"},"description":"Pure TypeScript Signal Protocol SDK for encrypted chat in Expo, React Native, browsers, and Node. Post-quantum by default.","maintainers":[{"name":"jackspirou","email":"jack.spirou@me.com"}],"readme":"<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/open-e2ee/design/v0.21.2/brand/generated/hosted/open-e2ee-logo-dark.svg\">\n  <img src=\"https://raw.githubusercontent.com/open-e2ee/design/v0.21.2/brand/generated/hosted/open-e2ee-logo-light.svg\" alt=\"OpenE2EE\" width=\"340\">\n</picture>\n\n# OpenE2EE Signal Protocol SDK\n\n**Pure TypeScript for end-to-end encrypted chat.**\n\nAdd encrypted messaging to Expo, React Native, browser, and Node applications. The SDK manages device identities, session establishment, and message encryption. Your application supplies storage, user authentication, and a relay for delivery.\n\nThe default policy requires post-quantum session establishment and ratcheting. The protocol implementation is open source under the MIT License or the Apache License 2.0, at your option.\n\n[**Run an encrypted exchange in your browser**](https://open-e2ee.dev/playground) · [Edit on StackBlitz](https://stackblitz.com/fork/github/open-e2ee/signal-protocol-js/tree/v7.2.0/examples/browser) · [Run on Expo / Hermes](./examples/expo/README.md)\n\n[![License: MIT OR Apache-2.0](https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-2f6f5e)](./LICENSE)\n[![npm version](https://img.shields.io/npm/v/@open-e2ee/signal-protocol-sdk)](https://www.npmjs.com/package/@open-e2ee/signal-protocol-sdk)\n[![npm provenance](https://img.shields.io/badge/npm-provenance-2f6f5e)](https://www.npmjs.com/package/@open-e2ee/signal-protocol-sdk#provenance)\n[![Checks](https://github.com/open-e2ee/signal-protocol-js/actions/workflows/ci.yml/badge.svg)](https://github.com/open-e2ee/signal-protocol-js/actions/workflows/ci.yml)\n\n[Documentation](https://docs.open-e2ee.dev) · [API reference](https://docs.open-e2ee.dev/reference/api) · [OpenE2EE Signal Protocol Relay](https://open-e2ee.dev/relay) · [Security](./SECURITY.md)\n\n## See an encrypted round trip\n\nPress play for device setup, session establishment, encrypted delivery, and decryption on each device.\n\nhttps://github.com/user-attachments/assets/d8002bc3-c037-41b6-8f48-4008f2d49e6c\n\nThe [visual demo](https://open-e2ee.dev/#demo) shows the envelope, ratchets, relay mailbox, and decrypted result. On desktop, type a message and inspect each step. On mobile, a recorded protocol run replays at reading pace. Displayed timings exclude network time.\n\nThe [console example](https://open-e2ee.dev/playground) executes in your browser on desktop or mobile. It creates Alice and Bob, sends your message, and decrypts a reply. The page and developer console show the actual output. [Read the complete source](./examples/browser/src/exchange.ts) or [run it locally](./examples/browser/README.md).\n\nBoth examples use real protocol code and cryptography. An in-memory relay holds their envelopes. They need no account or backend project.\n\n## What the SDK handles\n\n- **Session establishment and ratcheting.** PQXDH establishes sessions. The ML-KEM Braid ratchet adds post-quantum key updates. Required post-quantum operations fail closed.\n- **Chat features.** Multi-device messaging, groups, sealed sender, encrypted attachments, and safety-number verification use the same package.\n- **Device-local state.** Storage adapters keep identities, sessions, and message state on the device.\n- **Delivery through an adapter.** Operate your own relay or use [OpenE2EE Signal Protocol Relay](https://open-e2ee.dev/relay).\n\nThe relay never needs message plaintext or device private keys.\n\nOpenE2EE implements a versioned profile of the published Signal Protocol specifications. It is not affiliated with Signal Messenger and is **not wire-compatible with Signal Messenger or libsignal**. Messages, identities, and safety numbers do not interoperate. See the [notice](./NOTICE) and [documented deviations](./docs/DEVIATIONS.md).\n\nVersion `7.2.x`. Public APIs and persisted formats follow semantic versioning.\n\n## Install\n\n```bash\nnpm install @open-e2ee/signal-protocol-sdk\n```\n\nUse a current Node LTS release for local development. Each runtime example lists its build requirements.\n\n## Run a local encrypted round trip\n\nSave this as `quickstart.mjs`, then run `node quickstart.mjs`. It uses development-only in-memory adapters so that you can prove the message flow without a backend project.\n\n<!-- doc-snippet:run readme-quick-start expect=\"alice: hello\" -->\n```ts\n// Real protocol and cryptography; simulated in-memory infrastructure.\nimport { createSignalProtocolClient } from \"@open-e2ee/signal-protocol-sdk\";\nimport { inMemoryStore } from \"@open-e2ee/signal-protocol-sdk/local/store/memory\";\nimport { inMemoryRelay } from \"@open-e2ee/signal-protocol-sdk/remote/relay/memory\";\n\nconst relay = inMemoryRelay();\nawait relay.registerDevice(\"alice\", { encryptedDeviceName: new ArrayBuffer(0) });\nawait relay.registerDevice(\"bob\", { encryptedDeviceName: new ArrayBuffer(0) });\n\nconst alice = await createSignalProtocolClient({\n  identity: { userId: \"alice\" },\n  adapters: { storage: inMemoryStore(), relay },\n});\nconst bob = await createSignalProtocolClient({\n  identity: { userId: \"bob\" },\n  adapters: { storage: inMemoryStore(), relay },\n});\n\nconst delivered = new Promise((resolve) => {\n  bob.registerHook(\"onMessageDecrypted\", async (message) => {\n    console.log(`${message.senderId}: ${message.content}`);\n    bob.stopRelaySubscription();\n    resolve(undefined);\n  });\n});\n\nawait alice.send(\"bob\", \"hello\");\nbob.startRelaySubscription();\nawait delivered;\n```\n\nExpected output:\n\n```text\nalice: hello\n```\n\nThe client factory creates or loads each device identity. When given a relay, it also publishes the public prekey bundle. `send()` fetches Bob's bundle and starts the required post-quantum session. It then gives ciphertext plus routing metadata to the relay. Bob's subscription retrieves and decrypts the envelope on his device.\n\nThe in-memory store loses identities, sessions, and ratchet state on restart. The in-memory relay has no authentication, authorization, or durable storage. Do not ship either adapter. Continue with the [documentation quickstart](https://docs.open-e2ee.dev/start/quickstart), which explains key custody, relay metadata, prekey replenishment, additional devices, and recovery policy.\n\n## Use your app’s storage and relay\n\nChoose the device-local store for your runtime. Then supply a relay that authenticates each device and implements your product's access policy, or use [OpenE2EE Signal Protocol Relay](https://open-e2ee.dev/relay) as the managed delivery path. The SDK does not require the managed service. [Review Relay plans and exact meter definitions.](https://open-e2ee.dev/relay/pricing)\n\n| Runtime | Storage path | Deployment boundary |\n|---|---|---|\n| Expo | [`expoStore`](./local/store/expo/README.md) | Configure SQLCipher before schema access. Requires a native development or release build. [Run the Hermes example](./examples/expo/README.md); Expo Go does not include SQLCipher. |\n| Browser | [`indexedDbStore`](./local/store/web/README.md) | Use a secure context and a restrictive CSP. Same-origin JavaScript can access stored records and their key. [Browser setup](https://docs.open-e2ee.dev/start/browser). |\n| Bare React Native | [`reactNativeStore`](./local/store/react-native/README.md) | Provide an atomic, durable key-value backend and run the exported backend conformance kit. Install Expo modules, because the store uses `expo-crypto`. |\n| Node | [`nodeStore`](./local/store/node/README.md) | Install `fs-native-extensions` and set an explicit private directory on a trusted local filesystem. |\n\nReact Native support starts at React Native 0.83.6 and Expo SDK 55. The peer ranges have no upper bound. CI checks these versions:\n\n| CI check | Versions |\n|---|---|\n| Add the packed package to a project | React Native 0.83, 0.85, 0.86, and 0.87; Expo SDK 55, 56, and 57 |\n| Build the Expo example's Hermes bundle | Expo SDK 55 and 57 |\n| Run the Expo example's release build on an Android emulator | Expo SDK 57 with React Native 0.86 |\n\nReact Native 0.84 and later use Hermes V1 by default. React Native 0.82 and later run only on the New Architecture.\n\nThe [adapter guide](./ADAPTERS.md) defines every storage, relay, vault, and object-store boundary. The [client composition guide](./docs/CLIENT_COMPOSITION.md) shows an Expo client on the OpenE2EE Signal Protocol Relay.\n\n## Security and assurance\n\nThe SDK is open source. Our engineering tests remain private. We publish the [testing methodology and dated results](./docs/ASSURANCE.md), including what readers can and cannot verify from this repository. Public CI rebuilds the package, checks types and dependencies, and runs the documented examples.\n\n> Reviewed continuously by adversarial AI agents; not audited by any independent firm.\n\nJavaScript engines do not provide a machine-level constant-time contract or guaranteed zeroization. The [security model](./docs/SECURITY.md) defines the timing, same-process, storage, and metadata boundaries. The [protocol policy](./docs/PROTOCOL_POLICY.md) defines supported modes and fail-closed behavior.\n\nReport a suspected vulnerability privately through the process in [SECURITY](./SECURITY.md). Do not open a public issue for it.\n\n## Documentation\n\n- [Getting started](./docs/GETTING_STARTED.md): the integration sequence and mental model.\n- [Package surface](./docs/PACKAGE_SURFACE.md): root exports, subpaths, adapters, and core concepts.\n- [Recipes](./docs/RECIPES.md): messaging, multi-device, attachments, and usernames.\n- [Architecture](./ARCHITECTURE.md) and [adapters](./ADAPTERS.md): layer ownership and composition boundaries.\n- [Integration interfaces](./docs/INTERFACES.md): contracts for custom stores, vaults, relays, and object stores.\n- [Error handling](./docs/ERROR_HANDLING.md) and [troubleshooting](./TROUBLESHOOTING.md).\n- [Deviations](./docs/DEVIATIONS.md): differences from the specifications and libsignal, with reasons and costs.\n- [Hosted API reference](https://docs.open-e2ee.dev/reference/api): exported types and methods.\n\n## Help and contributing\n\nOpen a [bug report](https://github.com/open-e2ee/signal-protocol-js/issues/new?template=bug_report.yml) or send [API and documentation feedback](https://github.com/open-e2ee/signal-protocol-js/issues/new?template=api_feedback.yml). Read [CONTRIBUTING](./CONTRIBUTING.md) before you propose code. Use the private process in [SECURITY](./SECURITY.md) for suspected vulnerabilities.\n\n## License and warranty\n\nDual-licensed under the [MIT License](./LICENSE-MIT) or the [Apache License 2.0](./LICENSE-APACHE), at your option (`MIT OR Apache-2.0`). See [LICENSE](./LICENSE).\n\nBoth licenses provide the software **as is**, without warranties or conditions of any kind. To the extent that applicable law permits, copyright holders and contributors are not liable for damages that arise from its use. Your application must evaluate the SDK against its requirements and secure its deployment, storage, authentication, authorization, and operations. This summary does not modify either license.\n","readmeFilename":"README.md"}