ts-mls 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (871) hide show
  1. package/README.md +2 -2
  2. package/dist/authenticatedContent.d.ts +32 -0
  3. package/dist/authenticatedContent.js +26 -0
  4. package/dist/authenticatedContent.js.map +1 -0
  5. package/dist/authenticationService.d.ts +7 -0
  6. package/dist/authenticationService.js.map +1 -0
  7. package/dist/capabilities.d.ts +14 -0
  8. package/dist/capabilities.js +28 -0
  9. package/dist/capabilities.js.map +1 -0
  10. package/dist/clientConfig.d.ts +21 -0
  11. package/dist/clientConfig.js +13 -0
  12. package/dist/clientConfig.js.map +1 -0
  13. package/dist/clientState.d.ts +123 -0
  14. package/dist/clientState.js +551 -0
  15. package/dist/clientState.js.map +1 -0
  16. package/dist/codec/number.d.ts +10 -0
  17. package/dist/codec/number.js.map +1 -0
  18. package/dist/codec/optional.d.ts +4 -0
  19. package/dist/codec/optional.js +21 -0
  20. package/dist/codec/optional.js.map +1 -0
  21. package/dist/codec/tlsDecoder.js.map +1 -0
  22. package/dist/codec/tlsEncoder.js.map +1 -0
  23. package/dist/codec/variableLength.d.ts +11 -0
  24. package/dist/codec/variableLength.js +106 -0
  25. package/dist/codec/variableLength.js.map +1 -0
  26. package/dist/commit.d.ts +10 -0
  27. package/dist/commit.js +9 -0
  28. package/dist/commit.js.map +1 -0
  29. package/dist/contentType.d.ts +12 -0
  30. package/dist/contentType.js +12 -0
  31. package/dist/contentType.js.map +1 -0
  32. package/dist/createCommit.d.ts +46 -0
  33. package/dist/createCommit.js +249 -0
  34. package/dist/createCommit.js.map +1 -0
  35. package/dist/createMessage.d.ts +13 -0
  36. package/dist/createMessage.js +32 -0
  37. package/dist/createMessage.js.map +1 -0
  38. package/dist/credential.d.ts +21 -0
  39. package/dist/credential.js +31 -0
  40. package/dist/credential.js.map +1 -0
  41. package/dist/credentialType.d.ts +11 -0
  42. package/dist/credentialType.js +11 -0
  43. package/dist/credentialType.js.map +1 -0
  44. package/dist/crypto/aead.d.ts +5 -0
  45. package/dist/crypto/aead.js +2 -0
  46. package/dist/crypto/aead.js.map +1 -0
  47. package/dist/crypto/ciphersuite.d.ts +49 -0
  48. package/dist/crypto/ciphersuite.js +229 -0
  49. package/dist/crypto/ciphersuite.js.map +1 -0
  50. package/dist/crypto/getCiphersuiteImpl.d.ts +3 -0
  51. package/dist/crypto/getCiphersuiteImpl.js +5 -0
  52. package/dist/crypto/getCiphersuiteImpl.js.map +1 -0
  53. package/dist/crypto/hash.d.ts +7 -0
  54. package/dist/crypto/hash.js +10 -0
  55. package/dist/crypto/hash.js.map +1 -0
  56. package/dist/crypto/hpke.d.ts +50 -0
  57. package/dist/crypto/hpke.js +9 -0
  58. package/dist/crypto/hpke.js.map +1 -0
  59. package/dist/crypto/implementation/default/makeAead.d.ts +3 -0
  60. package/dist/crypto/implementation/default/makeAead.js +69 -0
  61. package/dist/crypto/implementation/default/makeAead.js.map +1 -0
  62. package/dist/crypto/implementation/default/makeDhKem.d.ts +3 -0
  63. package/dist/crypto/implementation/default/makeDhKem.js +49 -0
  64. package/dist/crypto/implementation/default/makeDhKem.js.map +1 -0
  65. package/dist/crypto/implementation/default/makeHashImpl.d.ts +2 -0
  66. package/dist/crypto/implementation/default/makeHashImpl.js +23 -0
  67. package/dist/crypto/implementation/default/makeHashImpl.js.map +1 -0
  68. package/dist/crypto/implementation/default/makeHpke.d.ts +2 -0
  69. package/dist/crypto/implementation/default/makeHpke.js +15 -0
  70. package/dist/crypto/implementation/default/makeHpke.js.map +1 -0
  71. package/dist/crypto/implementation/default/makeKdfImpl.d.ts +4 -0
  72. package/dist/crypto/implementation/default/makeKdfImpl.js +26 -0
  73. package/dist/crypto/implementation/default/makeKdfImpl.js.map +1 -0
  74. package/dist/crypto/implementation/default/makeNobleSignatureImpl.d.ts +2 -0
  75. package/dist/crypto/implementation/default/makeNobleSignatureImpl.js +120 -0
  76. package/dist/crypto/implementation/default/makeNobleSignatureImpl.js.map +1 -0
  77. package/dist/crypto/implementation/default/provider.d.ts +4 -0
  78. package/dist/crypto/implementation/default/provider.js +20 -0
  79. package/dist/crypto/implementation/default/provider.js.map +1 -0
  80. package/dist/crypto/implementation/default/rng.d.ts +2 -0
  81. package/dist/crypto/implementation/default/rng.js +6 -0
  82. package/dist/crypto/implementation/default/rng.js.map +1 -0
  83. package/dist/crypto/implementation/hpke.d.ts +4 -0
  84. package/dist/crypto/implementation/hpke.js +92 -0
  85. package/dist/crypto/implementation/hpke.js.map +1 -0
  86. package/dist/crypto/implementation/noble/makeAead.d.ts +3 -0
  87. package/dist/crypto/implementation/noble/makeAead.js +59 -0
  88. package/dist/crypto/implementation/noble/makeAead.js.map +1 -0
  89. package/dist/crypto/implementation/noble/makeDhKem.d.ts +1 -0
  90. package/dist/crypto/implementation/noble/makeDhKem.js +2 -0
  91. package/dist/crypto/implementation/noble/makeDhKem.js.map +1 -0
  92. package/dist/crypto/implementation/noble/makeHashImpl.d.ts +2 -0
  93. package/dist/crypto/implementation/noble/makeHashImpl.js +35 -0
  94. package/dist/crypto/implementation/noble/makeHashImpl.js.map +1 -0
  95. package/dist/crypto/implementation/noble/makeHpke.d.ts +2 -0
  96. package/dist/crypto/implementation/noble/makeHpke.js +15 -0
  97. package/dist/crypto/implementation/noble/makeHpke.js.map +1 -0
  98. package/dist/crypto/implementation/noble/makeKdfImpl.d.ts +1 -0
  99. package/dist/crypto/implementation/noble/makeKdfImpl.js +2 -0
  100. package/dist/crypto/implementation/noble/makeKdfImpl.js.map +1 -0
  101. package/dist/crypto/implementation/noble/makeNobleSignatureImpl.d.ts +1 -0
  102. package/dist/crypto/implementation/noble/makeNobleSignatureImpl.js +2 -0
  103. package/dist/crypto/implementation/noble/makeNobleSignatureImpl.js.map +1 -0
  104. package/dist/crypto/implementation/noble/provider.d.ts +4 -0
  105. package/dist/crypto/implementation/noble/provider.js +18 -0
  106. package/dist/crypto/implementation/noble/provider.js.map +1 -0
  107. package/dist/crypto/implementation/noble/rng.d.ts +1 -0
  108. package/dist/crypto/implementation/noble/rng.js +2 -0
  109. package/dist/crypto/implementation/noble/rng.js.map +1 -0
  110. package/dist/crypto/kdf.d.ts +9 -0
  111. package/dist/crypto/kdf.js +16 -0
  112. package/dist/crypto/kdf.js.map +1 -0
  113. package/dist/crypto/kem.d.ts +1 -0
  114. package/dist/crypto/kem.js +2 -0
  115. package/dist/crypto/kem.js.map +1 -0
  116. package/dist/crypto/provider.d.ts +4 -0
  117. package/dist/crypto/provider.js +2 -0
  118. package/dist/crypto/provider.js.map +1 -0
  119. package/dist/crypto/rng.d.ts +3 -0
  120. package/dist/crypto/rng.js +2 -0
  121. package/dist/crypto/rng.js.map +1 -0
  122. package/dist/crypto/signature.d.ts +11 -0
  123. package/dist/crypto/signature.js +9 -0
  124. package/dist/crypto/signature.js.map +1 -0
  125. package/dist/customCredential.d.ts +2 -0
  126. package/dist/customCredential.js.map +1 -0
  127. package/dist/defaultCapabilities.d.ts +2 -0
  128. package/dist/defaultCapabilities.js +12 -0
  129. package/dist/defaultCapabilities.js.map +1 -0
  130. package/dist/defaultExtensionType.d.ts +13 -0
  131. package/dist/defaultExtensionType.js +14 -0
  132. package/dist/defaultExtensionType.js.map +1 -0
  133. package/dist/defaultProposalType.d.ts +15 -0
  134. package/dist/defaultProposalType.js +16 -0
  135. package/dist/defaultProposalType.js.map +1 -0
  136. package/dist/extension.d.ts +18 -0
  137. package/dist/extension.js +30 -0
  138. package/dist/extension.js.map +1 -0
  139. package/dist/externalProposal.d.ts +7 -0
  140. package/dist/externalProposal.js +41 -0
  141. package/dist/externalProposal.js.map +1 -0
  142. package/dist/externalSender.d.ts +9 -0
  143. package/dist/externalSender.js +7 -0
  144. package/dist/externalSender.js.map +1 -0
  145. package/dist/framedContent.d.ts +113 -0
  146. package/dist/framedContent.js +131 -0
  147. package/dist/framedContent.js.map +1 -0
  148. package/dist/grease.d.ts +16 -0
  149. package/dist/grease.js.map +1 -0
  150. package/dist/groupContext.d.ts +19 -0
  151. package/dist/groupContext.js +44 -0
  152. package/dist/groupContext.js.map +1 -0
  153. package/dist/groupInfo.d.ts +26 -0
  154. package/dist/groupInfo.js +47 -0
  155. package/dist/groupInfo.js.map +1 -0
  156. package/dist/groupSecrets.d.ts +10 -0
  157. package/dist/groupSecrets.js +8 -0
  158. package/dist/groupSecrets.js.map +1 -0
  159. package/dist/hpkeCiphertext.d.ts +8 -0
  160. package/dist/hpkeCiphertext.js +6 -0
  161. package/dist/hpkeCiphertext.js.map +1 -0
  162. package/dist/incomingMessageAction.d.ts +10 -0
  163. package/dist/incomingMessageAction.js +2 -0
  164. package/dist/incomingMessageAction.js.map +1 -0
  165. package/dist/index.d.ts +37 -0
  166. package/dist/index.js +27 -0
  167. package/dist/index.js.map +1 -0
  168. package/dist/keyPackage.d.ts +38 -0
  169. package/dist/keyPackage.js +72 -0
  170. package/dist/keyPackage.js.map +1 -0
  171. package/dist/keyPackageEqualityConfig.d.ts +7 -0
  172. package/dist/keyPackageEqualityConfig.js +10 -0
  173. package/dist/keyPackageEqualityConfig.js.map +1 -0
  174. package/dist/keyRetentionConfig.js.map +1 -0
  175. package/dist/keySchedule.d.ts +24 -0
  176. package/dist/keySchedule.js +43 -0
  177. package/dist/keySchedule.js.map +1 -0
  178. package/dist/leafNode.d.ts +78 -0
  179. package/dist/leafNode.js +87 -0
  180. package/dist/leafNode.js.map +1 -0
  181. package/dist/leafNodeSource.d.ts +12 -0
  182. package/dist/leafNodeSource.js +12 -0
  183. package/dist/leafNodeSource.js.map +1 -0
  184. package/dist/lifetime.d.ts +9 -0
  185. package/dist/lifetime.js +13 -0
  186. package/dist/lifetime.js.map +1 -0
  187. package/dist/lifetimeConfig.js.map +1 -0
  188. package/dist/message.d.ts +42 -0
  189. package/dist/message.js +45 -0
  190. package/dist/message.js.map +1 -0
  191. package/dist/messageProtection.d.ts +36 -0
  192. package/dist/messageProtection.js +128 -0
  193. package/dist/messageProtection.js.map +1 -0
  194. package/dist/messageProtectionPublic.d.ts +17 -0
  195. package/dist/messageProtectionPublic.js +99 -0
  196. package/dist/messageProtectionPublic.js.map +1 -0
  197. package/dist/mlsError.js.map +1 -0
  198. package/dist/nodeType.d.ts +11 -0
  199. package/dist/nodeType.js +11 -0
  200. package/dist/nodeType.js.map +1 -0
  201. package/dist/paddingConfig.js.map +1 -0
  202. package/dist/parentHash.d.ts +17 -0
  203. package/dist/parentHash.js +103 -0
  204. package/dist/parentHash.js.map +1 -0
  205. package/dist/parentNode.d.ts +9 -0
  206. package/dist/parentNode.js +11 -0
  207. package/dist/parentNode.js.map +1 -0
  208. package/dist/pathSecrets.d.ts +11 -0
  209. package/dist/pathSecrets.js +31 -0
  210. package/dist/pathSecrets.js.map +1 -0
  211. package/dist/presharedkey.d.ts +51 -0
  212. package/dist/presharedkey.js +59 -0
  213. package/dist/presharedkey.js.map +1 -0
  214. package/dist/privateKeyPath.d.ts +12 -0
  215. package/dist/privateKeyPath.js +21 -0
  216. package/dist/privateKeyPath.js.map +1 -0
  217. package/dist/privateMessage.d.ts +41 -0
  218. package/dist/privateMessage.js +114 -0
  219. package/dist/privateMessage.js.map +1 -0
  220. package/dist/processMessages.d.ts +26 -0
  221. package/dist/processMessages.js +196 -0
  222. package/dist/processMessages.js.map +1 -0
  223. package/dist/proposal.d.ts +97 -0
  224. package/dist/proposal.js +91 -0
  225. package/dist/proposal.js.map +1 -0
  226. package/dist/proposalOrRefType.d.ts +25 -0
  227. package/dist/proposalOrRefType.js +31 -0
  228. package/dist/proposalOrRefType.js.map +1 -0
  229. package/dist/protocolVersion.d.ts +9 -0
  230. package/dist/protocolVersion.js +10 -0
  231. package/dist/protocolVersion.js.map +1 -0
  232. package/dist/pskIndex.d.ts +7 -0
  233. package/dist/pskIndex.js +18 -0
  234. package/dist/pskIndex.js.map +1 -0
  235. package/dist/publicMessage.d.ts +29 -0
  236. package/dist/publicMessage.js +73 -0
  237. package/dist/publicMessage.js.map +1 -0
  238. package/dist/ratchetTree.d.ts +47 -0
  239. package/dist/ratchetTree.js +260 -0
  240. package/dist/ratchetTree.js.map +1 -0
  241. package/dist/requiredCapabilities.d.ts +10 -0
  242. package/dist/requiredCapabilities.js +8 -0
  243. package/dist/requiredCapabilities.js.map +1 -0
  244. package/dist/resumption.d.ts +19 -0
  245. package/dist/resumption.js +94 -0
  246. package/dist/resumption.js.map +1 -0
  247. package/dist/secretTree.d.ts +29 -0
  248. package/dist/secretTree.js +137 -0
  249. package/dist/secretTree.js.map +1 -0
  250. package/dist/sender.d.ts +56 -0
  251. package/dist/sender.js +81 -0
  252. package/dist/sender.js.map +1 -0
  253. package/dist/transcriptHash.d.ts +14 -0
  254. package/dist/transcriptHash.js +24 -0
  255. package/dist/transcriptHash.js.map +1 -0
  256. package/dist/treeHash.d.ts +28 -0
  257. package/dist/treeHash.js +70 -0
  258. package/dist/treeHash.js.map +1 -0
  259. package/dist/treemath.d.ts +19 -0
  260. package/dist/treemath.js +93 -0
  261. package/dist/treemath.js.map +1 -0
  262. package/dist/tsconfig.build.tsbuildinfo +1 -0
  263. package/dist/unappliedProposals.d.ts +7 -0
  264. package/dist/unappliedProposals.js +9 -0
  265. package/dist/unappliedProposals.js.map +1 -0
  266. package/dist/updatePath.d.ts +35 -0
  267. package/dist/updatePath.js +163 -0
  268. package/dist/updatePath.js.map +1 -0
  269. package/dist/util/addToMap.js.map +1 -0
  270. package/dist/util/array.js.map +1 -0
  271. package/dist/util/brand.js.map +1 -0
  272. package/dist/util/byteArray.js.map +1 -0
  273. package/dist/util/constantTimeCompare.js.map +1 -0
  274. package/dist/util/enumHelpers.js.map +1 -0
  275. package/dist/util/repeat.js.map +1 -0
  276. package/dist/welcome.d.ts +29 -0
  277. package/dist/welcome.js +46 -0
  278. package/dist/welcome.js.map +1 -0
  279. package/dist/wireformat.d.ts +13 -0
  280. package/dist/wireformat.js +14 -0
  281. package/dist/wireformat.js.map +1 -0
  282. package/package.json +20 -21
  283. package/dist/bench/index.d.ts +0 -1
  284. package/dist/bench/index.js +0 -140
  285. package/dist/bench/index.js.map +0 -1
  286. package/dist/src/IncomingMessageAction.d.ts +0 -10
  287. package/dist/src/IncomingMessageAction.js +0 -2
  288. package/dist/src/IncomingMessageAction.js.map +0 -1
  289. package/dist/src/authenticatedContent.d.ts +0 -32
  290. package/dist/src/authenticatedContent.js +0 -26
  291. package/dist/src/authenticatedContent.js.map +0 -1
  292. package/dist/src/authenticationService.d.ts +0 -7
  293. package/dist/src/authenticationService.js.map +0 -1
  294. package/dist/src/capabilities.d.ts +0 -14
  295. package/dist/src/capabilities.js +0 -28
  296. package/dist/src/capabilities.js.map +0 -1
  297. package/dist/src/clientConfig.d.ts +0 -21
  298. package/dist/src/clientConfig.js +0 -13
  299. package/dist/src/clientConfig.js.map +0 -1
  300. package/dist/src/clientState.d.ts +0 -123
  301. package/dist/src/clientState.js +0 -551
  302. package/dist/src/clientState.js.map +0 -1
  303. package/dist/src/codec/number.d.ts +0 -10
  304. package/dist/src/codec/number.js.map +0 -1
  305. package/dist/src/codec/optional.d.ts +0 -4
  306. package/dist/src/codec/optional.js +0 -21
  307. package/dist/src/codec/optional.js.map +0 -1
  308. package/dist/src/codec/tlsDecoder.js.map +0 -1
  309. package/dist/src/codec/tlsEncoder.js.map +0 -1
  310. package/dist/src/codec/variableLength.d.ts +0 -11
  311. package/dist/src/codec/variableLength.js +0 -106
  312. package/dist/src/codec/variableLength.js.map +0 -1
  313. package/dist/src/commit.d.ts +0 -10
  314. package/dist/src/commit.js +0 -9
  315. package/dist/src/commit.js.map +0 -1
  316. package/dist/src/contentType.d.ts +0 -12
  317. package/dist/src/contentType.js +0 -12
  318. package/dist/src/contentType.js.map +0 -1
  319. package/dist/src/createCommit.d.ts +0 -34
  320. package/dist/src/createCommit.js +0 -247
  321. package/dist/src/createCommit.js.map +0 -1
  322. package/dist/src/createMessage.d.ts +0 -24
  323. package/dist/src/createMessage.js +0 -32
  324. package/dist/src/createMessage.js.map +0 -1
  325. package/dist/src/credential.d.ts +0 -21
  326. package/dist/src/credential.js +0 -31
  327. package/dist/src/credential.js.map +0 -1
  328. package/dist/src/credentialType.d.ts +0 -11
  329. package/dist/src/credentialType.js +0 -11
  330. package/dist/src/credentialType.js.map +0 -1
  331. package/dist/src/crypto/aead.d.ts +0 -8
  332. package/dist/src/crypto/aead.js +0 -69
  333. package/dist/src/crypto/aead.js.map +0 -1
  334. package/dist/src/crypto/ciphersuite.d.ts +0 -51
  335. package/dist/src/crypto/ciphersuite.js +0 -245
  336. package/dist/src/crypto/ciphersuite.js.map +0 -1
  337. package/dist/src/crypto/hash.d.ts +0 -8
  338. package/dist/src/crypto/hash.js +0 -32
  339. package/dist/src/crypto/hash.js.map +0 -1
  340. package/dist/src/crypto/hpke.d.ts +0 -51
  341. package/dist/src/crypto/hpke.js +0 -109
  342. package/dist/src/crypto/hpke.js.map +0 -1
  343. package/dist/src/crypto/kdf.d.ts +0 -12
  344. package/dist/src/crypto/kdf.js +0 -42
  345. package/dist/src/crypto/kdf.js.map +0 -1
  346. package/dist/src/crypto/kem.d.ts +0 -3
  347. package/dist/src/crypto/kem.js +0 -49
  348. package/dist/src/crypto/kem.js.map +0 -1
  349. package/dist/src/crypto/rng.d.ts +0 -4
  350. package/dist/src/crypto/rng.js +0 -6
  351. package/dist/src/crypto/rng.js.map +0 -1
  352. package/dist/src/crypto/signature.d.ts +0 -12
  353. package/dist/src/crypto/signature.js +0 -128
  354. package/dist/src/crypto/signature.js.map +0 -1
  355. package/dist/src/customCredential.d.ts +0 -2
  356. package/dist/src/customCredential.js.map +0 -1
  357. package/dist/src/defaultCapabilities.d.ts +0 -2
  358. package/dist/src/defaultCapabilities.js +0 -12
  359. package/dist/src/defaultCapabilities.js.map +0 -1
  360. package/dist/src/defaultExtensionType.d.ts +0 -13
  361. package/dist/src/defaultExtensionType.js +0 -14
  362. package/dist/src/defaultExtensionType.js.map +0 -1
  363. package/dist/src/defaultProposalType.d.ts +0 -15
  364. package/dist/src/defaultProposalType.js +0 -16
  365. package/dist/src/defaultProposalType.js.map +0 -1
  366. package/dist/src/extension.d.ts +0 -18
  367. package/dist/src/extension.js +0 -30
  368. package/dist/src/extension.js.map +0 -1
  369. package/dist/src/externalProposal.d.ts +0 -7
  370. package/dist/src/externalProposal.js +0 -41
  371. package/dist/src/externalProposal.js.map +0 -1
  372. package/dist/src/externalSender.d.ts +0 -9
  373. package/dist/src/externalSender.js +0 -7
  374. package/dist/src/externalSender.js.map +0 -1
  375. package/dist/src/framedContent.d.ts +0 -113
  376. package/dist/src/framedContent.js +0 -131
  377. package/dist/src/framedContent.js.map +0 -1
  378. package/dist/src/grease.d.ts +0 -16
  379. package/dist/src/grease.js.map +0 -1
  380. package/dist/src/groupContext.d.ts +0 -19
  381. package/dist/src/groupContext.js +0 -44
  382. package/dist/src/groupContext.js.map +0 -1
  383. package/dist/src/groupInfo.d.ts +0 -26
  384. package/dist/src/groupInfo.js +0 -47
  385. package/dist/src/groupInfo.js.map +0 -1
  386. package/dist/src/groupSecrets.d.ts +0 -10
  387. package/dist/src/groupSecrets.js +0 -8
  388. package/dist/src/groupSecrets.js.map +0 -1
  389. package/dist/src/hpkeCiphertext.d.ts +0 -8
  390. package/dist/src/hpkeCiphertext.js +0 -6
  391. package/dist/src/hpkeCiphertext.js.map +0 -1
  392. package/dist/src/index.d.ts +0 -32
  393. package/dist/src/index.js +0 -24
  394. package/dist/src/index.js.map +0 -1
  395. package/dist/src/keyPackage.d.ts +0 -38
  396. package/dist/src/keyPackage.js +0 -72
  397. package/dist/src/keyPackage.js.map +0 -1
  398. package/dist/src/keyPackageEqualityConfig.d.ts +0 -7
  399. package/dist/src/keyPackageEqualityConfig.js +0 -10
  400. package/dist/src/keyPackageEqualityConfig.js.map +0 -1
  401. package/dist/src/keyRetentionConfig.js.map +0 -1
  402. package/dist/src/keySchedule.d.ts +0 -24
  403. package/dist/src/keySchedule.js +0 -43
  404. package/dist/src/keySchedule.js.map +0 -1
  405. package/dist/src/leafNode.d.ts +0 -78
  406. package/dist/src/leafNode.js +0 -87
  407. package/dist/src/leafNode.js.map +0 -1
  408. package/dist/src/leafNodeSource.d.ts +0 -12
  409. package/dist/src/leafNodeSource.js +0 -12
  410. package/dist/src/leafNodeSource.js.map +0 -1
  411. package/dist/src/lifetime.d.ts +0 -9
  412. package/dist/src/lifetime.js +0 -13
  413. package/dist/src/lifetime.js.map +0 -1
  414. package/dist/src/lifetimeConfig.js.map +0 -1
  415. package/dist/src/message.d.ts +0 -42
  416. package/dist/src/message.js +0 -45
  417. package/dist/src/message.js.map +0 -1
  418. package/dist/src/messageProtection.d.ts +0 -36
  419. package/dist/src/messageProtection.js +0 -128
  420. package/dist/src/messageProtection.js.map +0 -1
  421. package/dist/src/messageProtectionPublic.d.ts +0 -17
  422. package/dist/src/messageProtectionPublic.js +0 -99
  423. package/dist/src/messageProtectionPublic.js.map +0 -1
  424. package/dist/src/mlsError.js.map +0 -1
  425. package/dist/src/nodeType.d.ts +0 -11
  426. package/dist/src/nodeType.js +0 -11
  427. package/dist/src/nodeType.js.map +0 -1
  428. package/dist/src/paddingConfig.js.map +0 -1
  429. package/dist/src/parentHash.d.ts +0 -17
  430. package/dist/src/parentHash.js +0 -103
  431. package/dist/src/parentHash.js.map +0 -1
  432. package/dist/src/parentNode.d.ts +0 -9
  433. package/dist/src/parentNode.js +0 -11
  434. package/dist/src/parentNode.js.map +0 -1
  435. package/dist/src/pathSecrets.d.ts +0 -11
  436. package/dist/src/pathSecrets.js +0 -31
  437. package/dist/src/pathSecrets.js.map +0 -1
  438. package/dist/src/presharedkey.d.ts +0 -51
  439. package/dist/src/presharedkey.js +0 -59
  440. package/dist/src/presharedkey.js.map +0 -1
  441. package/dist/src/privateKeyPath.d.ts +0 -12
  442. package/dist/src/privateKeyPath.js +0 -21
  443. package/dist/src/privateKeyPath.js.map +0 -1
  444. package/dist/src/privateMessage.d.ts +0 -41
  445. package/dist/src/privateMessage.js +0 -114
  446. package/dist/src/privateMessage.js.map +0 -1
  447. package/dist/src/processMessages.d.ts +0 -26
  448. package/dist/src/processMessages.js +0 -196
  449. package/dist/src/processMessages.js.map +0 -1
  450. package/dist/src/proposal.d.ts +0 -97
  451. package/dist/src/proposal.js +0 -91
  452. package/dist/src/proposal.js.map +0 -1
  453. package/dist/src/proposalOrRefType.d.ts +0 -25
  454. package/dist/src/proposalOrRefType.js +0 -31
  455. package/dist/src/proposalOrRefType.js.map +0 -1
  456. package/dist/src/protocolVersion.d.ts +0 -9
  457. package/dist/src/protocolVersion.js +0 -10
  458. package/dist/src/protocolVersion.js.map +0 -1
  459. package/dist/src/pskIndex.d.ts +0 -7
  460. package/dist/src/pskIndex.js +0 -18
  461. package/dist/src/pskIndex.js.map +0 -1
  462. package/dist/src/publicMessage.d.ts +0 -29
  463. package/dist/src/publicMessage.js +0 -73
  464. package/dist/src/publicMessage.js.map +0 -1
  465. package/dist/src/ratchetTree.d.ts +0 -47
  466. package/dist/src/ratchetTree.js +0 -260
  467. package/dist/src/ratchetTree.js.map +0 -1
  468. package/dist/src/requiredCapabilities.d.ts +0 -10
  469. package/dist/src/requiredCapabilities.js +0 -8
  470. package/dist/src/requiredCapabilities.js.map +0 -1
  471. package/dist/src/resumption.d.ts +0 -18
  472. package/dist/src/resumption.js +0 -74
  473. package/dist/src/resumption.js.map +0 -1
  474. package/dist/src/secretTree.d.ts +0 -29
  475. package/dist/src/secretTree.js +0 -137
  476. package/dist/src/secretTree.js.map +0 -1
  477. package/dist/src/sender.d.ts +0 -56
  478. package/dist/src/sender.js +0 -81
  479. package/dist/src/sender.js.map +0 -1
  480. package/dist/src/transcriptHash.d.ts +0 -14
  481. package/dist/src/transcriptHash.js +0 -24
  482. package/dist/src/transcriptHash.js.map +0 -1
  483. package/dist/src/treeHash.d.ts +0 -28
  484. package/dist/src/treeHash.js +0 -70
  485. package/dist/src/treeHash.js.map +0 -1
  486. package/dist/src/treemath.d.ts +0 -19
  487. package/dist/src/treemath.js +0 -93
  488. package/dist/src/treemath.js.map +0 -1
  489. package/dist/src/unappliedProposals.d.ts +0 -7
  490. package/dist/src/unappliedProposals.js +0 -9
  491. package/dist/src/unappliedProposals.js.map +0 -1
  492. package/dist/src/updatePath.d.ts +0 -35
  493. package/dist/src/updatePath.js +0 -163
  494. package/dist/src/updatePath.js.map +0 -1
  495. package/dist/src/util/addToMap.js.map +0 -1
  496. package/dist/src/util/array.js.map +0 -1
  497. package/dist/src/util/brand.js.map +0 -1
  498. package/dist/src/util/byteArray.js.map +0 -1
  499. package/dist/src/util/constantTimeCompare.js.map +0 -1
  500. package/dist/src/util/enumHelpers.js.map +0 -1
  501. package/dist/src/util/repeat.js.map +0 -1
  502. package/dist/src/welcome.d.ts +0 -29
  503. package/dist/src/welcome.js +0 -46
  504. package/dist/src/welcome.js.map +0 -1
  505. package/dist/src/wireformat.d.ts +0 -13
  506. package/dist/src/wireformat.js +0 -14
  507. package/dist/src/wireformat.js.map +0 -1
  508. package/dist/test/base64.test.d.ts +0 -1
  509. package/dist/test/base64.test.js +0 -87
  510. package/dist/test/base64.test.js.map +0 -1
  511. package/dist/test/codec/authenticatedContent.test.d.ts +0 -1
  512. package/dist/test/codec/authenticatedContent.test.js +0 -38
  513. package/dist/test/codec/authenticatedContent.test.js.map +0 -1
  514. package/dist/test/codec/capabilities.test.d.ts +0 -1
  515. package/dist/test/codec/capabilities.test.js +0 -26
  516. package/dist/test/codec/capabilities.test.js.map +0 -1
  517. package/dist/test/codec/commit.test.d.ts +0 -1
  518. package/dist/test/codec/commit.test.js +0 -15
  519. package/dist/test/codec/commit.test.js.map +0 -1
  520. package/dist/test/codec/composite.test.d.ts +0 -1
  521. package/dist/test/codec/composite.test.js +0 -61
  522. package/dist/test/codec/composite.test.js.map +0 -1
  523. package/dist/test/codec/contentType.test.d.ts +0 -1
  524. package/dist/test/codec/contentType.test.js +0 -12
  525. package/dist/test/codec/contentType.test.js.map +0 -1
  526. package/dist/test/codec/credential.test.d.ts +0 -1
  527. package/dist/test/codec/credential.test.js +0 -17
  528. package/dist/test/codec/credential.test.js.map +0 -1
  529. package/dist/test/codec/credentialType.test.d.ts +0 -1
  530. package/dist/test/codec/credentialType.test.js +0 -12
  531. package/dist/test/codec/credentialType.test.js.map +0 -1
  532. package/dist/test/codec/encryptedGroupSecrets.test.d.ts +0 -1
  533. package/dist/test/codec/encryptedGroupSecrets.test.js +0 -18
  534. package/dist/test/codec/encryptedGroupSecrets.test.js.map +0 -1
  535. package/dist/test/codec/extension.test.d.ts +0 -1
  536. package/dist/test/codec/extension.test.js +0 -20
  537. package/dist/test/codec/extension.test.js.map +0 -1
  538. package/dist/test/codec/extensionType.test.d.ts +0 -1
  539. package/dist/test/codec/extensionType.test.js +0 -12
  540. package/dist/test/codec/extensionType.test.js.map +0 -1
  541. package/dist/test/codec/externalSender.test.d.ts +0 -1
  542. package/dist/test/codec/externalSender.test.js +0 -20
  543. package/dist/test/codec/externalSender.test.js.map +0 -1
  544. package/dist/test/codec/framedContent.test.d.ts +0 -1
  545. package/dist/test/codec/framedContent.test.js +0 -26
  546. package/dist/test/codec/framedContent.test.js.map +0 -1
  547. package/dist/test/codec/groupContext.test.d.ts +0 -1
  548. package/dist/test/codec/groupContext.test.js +0 -30
  549. package/dist/test/codec/groupContext.test.js.map +0 -1
  550. package/dist/test/codec/groupInfo.test.d.ts +0 -1
  551. package/dist/test/codec/groupInfo.test.js +0 -45
  552. package/dist/test/codec/groupInfo.test.js.map +0 -1
  553. package/dist/test/codec/groupSecrets.test.d.ts +0 -1
  554. package/dist/test/codec/groupSecrets.test.js +0 -16
  555. package/dist/test/codec/groupSecrets.test.js.map +0 -1
  556. package/dist/test/codec/hpkeCiphertext.test.d.ts +0 -1
  557. package/dist/test/codec/hpkeCiphertext.test.js +0 -13
  558. package/dist/test/codec/hpkeCiphertext.test.js.map +0 -1
  559. package/dist/test/codec/keyPackage.test.d.ts +0 -1
  560. package/dist/test/codec/keyPackage.test.js +0 -58
  561. package/dist/test/codec/keyPackage.test.js.map +0 -1
  562. package/dist/test/codec/keyPackageTBS.test.d.ts +0 -1
  563. package/dist/test/codec/keyPackageTBS.test.js +0 -59
  564. package/dist/test/codec/keyPackageTBS.test.js.map +0 -1
  565. package/dist/test/codec/leafNode.test.d.ts +0 -1
  566. package/dist/test/codec/leafNode.test.js +0 -43
  567. package/dist/test/codec/leafNode.test.js.map +0 -1
  568. package/dist/test/codec/leafNodeData.test.d.ts +0 -1
  569. package/dist/test/codec/leafNodeData.test.js +0 -36
  570. package/dist/test/codec/leafNodeData.test.js.map +0 -1
  571. package/dist/test/codec/leafNodeSource.test.d.ts +0 -1
  572. package/dist/test/codec/leafNodeSource.test.js +0 -15
  573. package/dist/test/codec/leafNodeSource.test.js.map +0 -1
  574. package/dist/test/codec/lifetime.test.d.ts +0 -1
  575. package/dist/test/codec/lifetime.test.js +0 -12
  576. package/dist/test/codec/lifetime.test.js.map +0 -1
  577. package/dist/test/codec/message.test.d.ts +0 -1
  578. package/dist/test/codec/message.test.js +0 -100
  579. package/dist/test/codec/message.test.js.map +0 -1
  580. package/dist/test/codec/nodeType.test.d.ts +0 -1
  581. package/dist/test/codec/nodeType.test.js +0 -12
  582. package/dist/test/codec/nodeType.test.js.map +0 -1
  583. package/dist/test/codec/number.test.d.ts +0 -1
  584. package/dist/test/codec/number.test.js +0 -74
  585. package/dist/test/codec/number.test.js.map +0 -1
  586. package/dist/test/codec/optional.test.d.ts +0 -1
  587. package/dist/test/codec/optional.test.js +0 -42
  588. package/dist/test/codec/optional.test.js.map +0 -1
  589. package/dist/test/codec/padding.test.d.ts +0 -1
  590. package/dist/test/codec/padding.test.js +0 -40
  591. package/dist/test/codec/padding.test.js.map +0 -1
  592. package/dist/test/codec/parentHash.test.d.ts +0 -1
  593. package/dist/test/codec/parentHash.test.js +0 -13
  594. package/dist/test/codec/parentHash.test.js.map +0 -1
  595. package/dist/test/codec/parentNode.test.d.ts +0 -1
  596. package/dist/test/codec/parentNode.test.js +0 -22
  597. package/dist/test/codec/parentNode.test.js.map +0 -1
  598. package/dist/test/codec/presharedkey.test.d.ts +0 -1
  599. package/dist/test/codec/presharedkey.test.js +0 -35
  600. package/dist/test/codec/presharedkey.test.js.map +0 -1
  601. package/dist/test/codec/privateContentAAD.test.d.ts +0 -1
  602. package/dist/test/codec/privateContentAAD.test.js +0 -30
  603. package/dist/test/codec/privateContentAAD.test.js.map +0 -1
  604. package/dist/test/codec/privateMessage.test.d.ts +0 -1
  605. package/dist/test/codec/privateMessage.test.js +0 -36
  606. package/dist/test/codec/privateMessage.test.js.map +0 -1
  607. package/dist/test/codec/proposal.test.d.ts +0 -1
  608. package/dist/test/codec/proposal.test.js +0 -44
  609. package/dist/test/codec/proposal.test.js.map +0 -1
  610. package/dist/test/codec/proposalOrRef.test.d.ts +0 -1
  611. package/dist/test/codec/proposalOrRef.test.js +0 -12
  612. package/dist/test/codec/proposalOrRef.test.js.map +0 -1
  613. package/dist/test/codec/proposalOrRefType.test.d.ts +0 -1
  614. package/dist/test/codec/proposalOrRefType.test.js +0 -12
  615. package/dist/test/codec/proposalOrRefType.test.js.map +0 -1
  616. package/dist/test/codec/proposalType.test.d.ts +0 -1
  617. package/dist/test/codec/proposalType.test.js +0 -12
  618. package/dist/test/codec/proposalType.test.js.map +0 -1
  619. package/dist/test/codec/protocolVersion.test.d.ts +0 -1
  620. package/dist/test/codec/protocolVersion.test.js +0 -9
  621. package/dist/test/codec/protocolVersion.test.js.map +0 -1
  622. package/dist/test/codec/pskId.test.d.ts +0 -1
  623. package/dist/test/codec/pskId.test.js +0 -18
  624. package/dist/test/codec/pskId.test.js.map +0 -1
  625. package/dist/test/codec/pskInfo.test.d.ts +0 -1
  626. package/dist/test/codec/pskInfo.test.js +0 -12
  627. package/dist/test/codec/pskInfo.test.js.map +0 -1
  628. package/dist/test/codec/pskLabel.test.d.ts +0 -1
  629. package/dist/test/codec/pskLabel.test.js +0 -26
  630. package/dist/test/codec/pskLabel.test.js.map +0 -1
  631. package/dist/test/codec/pskType.test.d.ts +0 -1
  632. package/dist/test/codec/pskType.test.js +0 -12
  633. package/dist/test/codec/pskType.test.js.map +0 -1
  634. package/dist/test/codec/publicMessage.test.d.ts +0 -1
  635. package/dist/test/codec/publicMessage.test.js +0 -39
  636. package/dist/test/codec/publicMessage.test.js.map +0 -1
  637. package/dist/test/codec/ratchetTree.test.d.ts +0 -1
  638. package/dist/test/codec/ratchetTree.test.js +0 -83
  639. package/dist/test/codec/ratchetTree.test.js.map +0 -1
  640. package/dist/test/codec/requiredCapabilities.test.d.ts +0 -1
  641. package/dist/test/codec/requiredCapabilities.test.js +0 -30
  642. package/dist/test/codec/requiredCapabilities.test.js.map +0 -1
  643. package/dist/test/codec/resumptionPSKUsage.test.d.ts +0 -1
  644. package/dist/test/codec/resumptionPSKUsage.test.js +0 -15
  645. package/dist/test/codec/resumptionPSKUsage.test.js.map +0 -1
  646. package/dist/test/codec/reuseGuard.test.d.ts +0 -1
  647. package/dist/test/codec/reuseGuard.test.js +0 -9
  648. package/dist/test/codec/reuseGuard.test.js.map +0 -1
  649. package/dist/test/codec/roundtrip.d.ts +0 -3
  650. package/dist/test/codec/roundtrip.js +0 -8
  651. package/dist/test/codec/roundtrip.js.map +0 -1
  652. package/dist/test/codec/sender.test.d.ts +0 -1
  653. package/dist/test/codec/sender.test.js +0 -18
  654. package/dist/test/codec/sender.test.js.map +0 -1
  655. package/dist/test/codec/senderData.test.d.ts +0 -1
  656. package/dist/test/codec/senderData.test.js +0 -12
  657. package/dist/test/codec/senderData.test.js.map +0 -1
  658. package/dist/test/codec/senderDataAAD.test.d.ts +0 -1
  659. package/dist/test/codec/senderDataAAD.test.js +0 -12
  660. package/dist/test/codec/senderDataAAD.test.js.map +0 -1
  661. package/dist/test/codec/senderType.test.d.ts +0 -1
  662. package/dist/test/codec/senderType.test.js +0 -18
  663. package/dist/test/codec/senderType.test.js.map +0 -1
  664. package/dist/test/codec/transcriptHash.test.d.ts +0 -1
  665. package/dist/test/codec/transcriptHash.test.js +0 -38
  666. package/dist/test/codec/transcriptHash.test.js.map +0 -1
  667. package/dist/test/codec/treeHash.test.d.ts +0 -1
  668. package/dist/test/codec/treeHash.test.js +0 -17
  669. package/dist/test/codec/treeHash.test.js.map +0 -1
  670. package/dist/test/codec/updatePath.test.d.ts +0 -1
  671. package/dist/test/codec/updatePath.test.js +0 -81
  672. package/dist/test/codec/updatePath.test.js.map +0 -1
  673. package/dist/test/codec/updatePathNode.test.d.ts +0 -1
  674. package/dist/test/codec/updatePathNode.test.js +0 -23
  675. package/dist/test/codec/updatePathNode.test.js.map +0 -1
  676. package/dist/test/codec/varLengthEncoding.test.d.ts +0 -1
  677. package/dist/test/codec/varLengthEncoding.test.js +0 -90
  678. package/dist/test/codec/varLengthEncoding.test.js.map +0 -1
  679. package/dist/test/codec/welcome.test.d.ts +0 -1
  680. package/dist/test/codec/welcome.test.js +0 -25
  681. package/dist/test/codec/welcome.test.js.map +0 -1
  682. package/dist/test/codec/wireformat.test.d.ts +0 -1
  683. package/dist/test/codec/wireformat.test.js +0 -21
  684. package/dist/test/codec/wireformat.test.js.map +0 -1
  685. package/dist/test/crypto/aead.test.d.ts +0 -1
  686. package/dist/test/crypto/aead.test.js +0 -44
  687. package/dist/test/crypto/aead.test.js.map +0 -1
  688. package/dist/test/crypto/hpke.test.d.ts +0 -1
  689. package/dist/test/crypto/hpke.test.js +0 -58
  690. package/dist/test/crypto/hpke.test.js.map +0 -1
  691. package/dist/test/crypto/keyMatch.d.ts +0 -7
  692. package/dist/test/crypto/keyMatch.js +0 -22
  693. package/dist/test/crypto/keyMatch.js.map +0 -1
  694. package/dist/test/extensionsEqual.test.d.ts +0 -1
  695. package/dist/test/extensionsEqual.test.js +0 -51
  696. package/dist/test/extensionsEqual.test.js.map +0 -1
  697. package/dist/test/groupinfo.test.d.ts +0 -1
  698. package/dist/test/groupinfo.test.js +0 -40
  699. package/dist/test/groupinfo.test.js.map +0 -1
  700. package/dist/test/scenario/common.d.ts +0 -8
  701. package/dist/test/scenario/common.js +0 -41
  702. package/dist/test/scenario/common.js.map +0 -1
  703. package/dist/test/scenario/customExtensions.test.d.ts +0 -1
  704. package/dist/test/scenario/customExtensions.test.js +0 -56
  705. package/dist/test/scenario/customExtensions.test.js.map +0 -1
  706. package/dist/test/scenario/customProposal.test.d.ts +0 -1
  707. package/dist/test/scenario/customProposal.test.js +0 -71
  708. package/dist/test/scenario/customProposal.test.js.map +0 -1
  709. package/dist/test/scenario/epochOutOfOrder.test.d.ts +0 -1
  710. package/dist/test/scenario/epochOutOfOrder.test.js +0 -162
  711. package/dist/test/scenario/epochOutOfOrder.test.js.map +0 -1
  712. package/dist/test/scenario/externalAddProposal.test.d.ts +0 -1
  713. package/dist/test/scenario/externalAddProposal.test.js +0 -69
  714. package/dist/test/scenario/externalAddProposal.test.js.map +0 -1
  715. package/dist/test/scenario/externalJoin.test.d.ts +0 -1
  716. package/dist/test/scenario/externalJoin.test.js +0 -51
  717. package/dist/test/scenario/externalJoin.test.js.map +0 -1
  718. package/dist/test/scenario/externalJoinResync.test.d.ts +0 -1
  719. package/dist/test/scenario/externalJoinResync.test.js +0 -59
  720. package/dist/test/scenario/externalJoinResync.test.js.map +0 -1
  721. package/dist/test/scenario/externalProposal.test.d.ts +0 -1
  722. package/dist/test/scenario/externalProposal.test.js +0 -69
  723. package/dist/test/scenario/externalProposal.test.js.map +0 -1
  724. package/dist/test/scenario/externalPsk.test.d.ts +0 -1
  725. package/dist/test/scenario/externalPsk.test.js +0 -73
  726. package/dist/test/scenario/externalPsk.test.js.map +0 -1
  727. package/dist/test/scenario/externalPskJoin.test.d.ts +0 -1
  728. package/dist/test/scenario/externalPskJoin.test.js +0 -51
  729. package/dist/test/scenario/externalPskJoin.test.js.map +0 -1
  730. package/dist/test/scenario/generationOutOfOrder.test.d.ts +0 -1
  731. package/dist/test/scenario/generationOutOfOrder.test.js +0 -111
  732. package/dist/test/scenario/generationOutOfOrder.test.js.map +0 -1
  733. package/dist/test/scenario/grease.test.d.ts +0 -1
  734. package/dist/test/scenario/grease.test.js +0 -44
  735. package/dist/test/scenario/grease.test.js.map +0 -1
  736. package/dist/test/scenario/groupInfoExtensions.test.d.ts +0 -1
  737. package/dist/test/scenario/groupInfoExtensions.test.js +0 -33
  738. package/dist/test/scenario/groupInfoExtensions.test.js.map +0 -1
  739. package/dist/test/scenario/largeGroupFullLifecycle.test.d.ts +0 -1
  740. package/dist/test/scenario/largeGroupFullLifecycle.test.js +0 -127
  741. package/dist/test/scenario/largeGroupFullLifecycle.test.js.map +0 -1
  742. package/dist/test/scenario/leaveProposal.test.d.ts +0 -1
  743. package/dist/test/scenario/leaveProposal.test.js +0 -77
  744. package/dist/test/scenario/leaveProposal.test.js.map +0 -1
  745. package/dist/test/scenario/multipleJoinsAtOnce.test.d.ts +0 -1
  746. package/dist/test/scenario/multipleJoinsAtOnce.test.js +0 -48
  747. package/dist/test/scenario/multipleJoinsAtOnce.test.js.map +0 -1
  748. package/dist/test/scenario/oneToOneJoin.test.d.ts +0 -1
  749. package/dist/test/scenario/oneToOneJoin.test.js +0 -98
  750. package/dist/test/scenario/oneToOneJoin.test.js.map +0 -1
  751. package/dist/test/scenario/ratchetTreeExtension.test.d.ts +0 -1
  752. package/dist/test/scenario/ratchetTreeExtension.test.js +0 -48
  753. package/dist/test/scenario/ratchetTreeExtension.test.js.map +0 -1
  754. package/dist/test/scenario/reinit.test.d.ts +0 -1
  755. package/dist/test/scenario/reinit.test.js +0 -57
  756. package/dist/test/scenario/reinit.test.js.map +0 -1
  757. package/dist/test/scenario/rejectIncomingMessage.test.d.ts +0 -1
  758. package/dist/test/scenario/rejectIncomingMessage.test.js +0 -67
  759. package/dist/test/scenario/rejectIncomingMessage.test.js.map +0 -1
  760. package/dist/test/scenario/remove.test.d.ts +0 -1
  761. package/dist/test/scenario/remove.test.js +0 -68
  762. package/dist/test/scenario/remove.test.js.map +0 -1
  763. package/dist/test/scenario/requiredCapabilites.test.d.ts +0 -1
  764. package/dist/test/scenario/requiredCapabilites.test.js +0 -65
  765. package/dist/test/scenario/requiredCapabilites.test.js.map +0 -1
  766. package/dist/test/scenario/resumption.test.d.ts +0 -1
  767. package/dist/test/scenario/resumption.test.js +0 -43
  768. package/dist/test/scenario/resumption.test.js.map +0 -1
  769. package/dist/test/scenario/threePartyJoin.test.d.ts +0 -1
  770. package/dist/test/scenario/threePartyJoin.test.js +0 -56
  771. package/dist/test/scenario/threePartyJoin.test.js.map +0 -1
  772. package/dist/test/scenario/update.test.d.ts +0 -1
  773. package/dist/test/scenario/update.test.js +0 -50
  774. package/dist/test/scenario/update.test.js.map +0 -1
  775. package/dist/test/test-vectors/cryptoBasics.test.d.ts +0 -1
  776. package/dist/test/test-vectors/cryptoBasics.test.js +0 -60
  777. package/dist/test/test-vectors/cryptoBasics.test.js.map +0 -1
  778. package/dist/test/test-vectors/deserialization.test.d.ts +0 -1
  779. package/dist/test/test-vectors/deserialization.test.js +0 -13
  780. package/dist/test/test-vectors/deserialization.test.js.map +0 -1
  781. package/dist/test/test-vectors/keySchedule.test.d.ts +0 -1
  782. package/dist/test/test-vectors/keySchedule.test.js +0 -48
  783. package/dist/test/test-vectors/keySchedule.test.js.map +0 -1
  784. package/dist/test/test-vectors/messageProtection.test.d.ts +0 -1
  785. package/dist/test/test-vectors/messageProtection.test.js +0 -215
  786. package/dist/test/test-vectors/messageProtection.test.js.map +0 -1
  787. package/dist/test/test-vectors/messages.test.d.ts +0 -1
  788. package/dist/test/test-vectors/messages.test.js +0 -136
  789. package/dist/test/test-vectors/messages.test.js.map +0 -1
  790. package/dist/test/test-vectors/passiveClientScenarios.test.d.ts +0 -1
  791. package/dist/test/test-vectors/passiveClientScenarios.test.js +0 -86
  792. package/dist/test/test-vectors/passiveClientScenarios.test.js.map +0 -1
  793. package/dist/test/test-vectors/pskSecret.test.d.ts +0 -1
  794. package/dist/test/test-vectors/pskSecret.test.js +0 -18
  795. package/dist/test/test-vectors/pskSecret.test.js.map +0 -1
  796. package/dist/test/test-vectors/secretTree.test.d.ts +0 -1
  797. package/dist/test/test-vectors/secretTree.test.js +0 -48
  798. package/dist/test/test-vectors/secretTree.test.js.map +0 -1
  799. package/dist/test/test-vectors/transcriptHashes.test.d.ts +0 -1
  800. package/dist/test/test-vectors/transcriptHashes.test.js +0 -26
  801. package/dist/test/test-vectors/transcriptHashes.test.js.map +0 -1
  802. package/dist/test/test-vectors/treeOperations.test.d.ts +0 -1
  803. package/dist/test/test-vectors/treeOperations.test.js +0 -46
  804. package/dist/test/test-vectors/treeOperations.test.js.map +0 -1
  805. package/dist/test/test-vectors/treeValidation.test.d.ts +0 -1
  806. package/dist/test/test-vectors/treeValidation.test.js +0 -36
  807. package/dist/test/test-vectors/treeValidation.test.js.map +0 -1
  808. package/dist/test/test-vectors/treekem.test.d.ts +0 -1
  809. package/dist/test/test-vectors/treekem.test.js +0 -103
  810. package/dist/test/test-vectors/treekem.test.js.map +0 -1
  811. package/dist/test/test-vectors/treemath.test.d.ts +0 -1
  812. package/dist/test/test-vectors/treemath.test.js +0 -55
  813. package/dist/test/test-vectors/treemath.test.js.map +0 -1
  814. package/dist/test/test-vectors/welcome.test.d.ts +0 -1
  815. package/dist/test/test-vectors/welcome.test.js +0 -40
  816. package/dist/test/test-vectors/welcome.test.js.map +0 -1
  817. package/dist/test/validation/proposalValidation.test.d.ts +0 -1
  818. package/dist/test/validation/proposalValidation.test.js +0 -244
  819. package/dist/test/validation/proposalValidation.test.js.map +0 -1
  820. package/dist/test/validation/ratchetTreeValidation.test.d.ts +0 -1
  821. package/dist/test/validation/ratchetTreeValidation.test.js +0 -51
  822. package/dist/test/validation/ratchetTreeValidation.test.js.map +0 -1
  823. package/dist/test/validation/resumptionValidation.test.d.ts +0 -1
  824. package/dist/test/validation/resumptionValidation.test.js +0 -79
  825. package/dist/test/validation/resumptionValidation.test.js.map +0 -1
  826. package/dist/test_vectors/crypto-basics.json +0 -303
  827. package/dist/test_vectors/deserialization.json +0 -58
  828. package/dist/test_vectors/key-schedule.json +0 -926
  829. package/dist/test_vectors/message-protection.json +0 -142
  830. package/dist/test_vectors/messages.json +0 -5702
  831. package/dist/test_vectors/passive-client-handling-commit.json +0 -2683
  832. package/dist/test_vectors/passive-client-random.json +0 -2657
  833. package/dist/test_vectors/passive-client-welcome.json +0 -814
  834. package/dist/test_vectors/psk_secret.json +0 -2382
  835. package/dist/test_vectors/secret-tree.json +0 -4846
  836. package/dist/test_vectors/transcript-hashes.json +0 -58
  837. package/dist/test_vectors/tree-math.json +0 -8156
  838. package/dist/test_vectors/tree-operations.json +0 -47
  839. package/dist/test_vectors/tree-validation.json +0 -6204
  840. package/dist/test_vectors/treekem.json +0 -14859
  841. package/dist/test_vectors/welcome.json +0 -51
  842. /package/dist/{src/authenticationService.js → authenticationService.js} +0 -0
  843. /package/dist/{src/codec → codec}/number.js +0 -0
  844. /package/dist/{src/codec → codec}/tlsDecoder.d.ts +0 -0
  845. /package/dist/{src/codec → codec}/tlsDecoder.js +0 -0
  846. /package/dist/{src/codec → codec}/tlsEncoder.d.ts +0 -0
  847. /package/dist/{src/codec → codec}/tlsEncoder.js +0 -0
  848. /package/dist/{src/customCredential.js → customCredential.js} +0 -0
  849. /package/dist/{src/grease.js → grease.js} +0 -0
  850. /package/dist/{src/keyRetentionConfig.d.ts → keyRetentionConfig.d.ts} +0 -0
  851. /package/dist/{src/keyRetentionConfig.js → keyRetentionConfig.js} +0 -0
  852. /package/dist/{src/lifetimeConfig.d.ts → lifetimeConfig.d.ts} +0 -0
  853. /package/dist/{src/lifetimeConfig.js → lifetimeConfig.js} +0 -0
  854. /package/dist/{src/mlsError.d.ts → mlsError.d.ts} +0 -0
  855. /package/dist/{src/mlsError.js → mlsError.js} +0 -0
  856. /package/dist/{src/paddingConfig.d.ts → paddingConfig.d.ts} +0 -0
  857. /package/dist/{src/paddingConfig.js → paddingConfig.js} +0 -0
  858. /package/dist/{src/util → util}/addToMap.d.ts +0 -0
  859. /package/dist/{src/util → util}/addToMap.js +0 -0
  860. /package/dist/{src/util → util}/array.d.ts +0 -0
  861. /package/dist/{src/util → util}/array.js +0 -0
  862. /package/dist/{src/util → util}/brand.d.ts +0 -0
  863. /package/dist/{src/util → util}/brand.js +0 -0
  864. /package/dist/{src/util → util}/byteArray.d.ts +0 -0
  865. /package/dist/{src/util → util}/byteArray.js +0 -0
  866. /package/dist/{src/util → util}/constantTimeCompare.d.ts +0 -0
  867. /package/dist/{src/util → util}/constantTimeCompare.js +0 -0
  868. /package/dist/{src/util → util}/enumHelpers.d.ts +0 -0
  869. /package/dist/{src/util → util}/enumHelpers.js +0 -0
  870. /package/dist/{src/util → util}/repeat.d.ts +0 -0
  871. /package/dist/{src/util → util}/repeat.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"welcome.js","sourceRoot":"","sources":["../src/welcome.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Decoder } from "./codec/tlsDecoder.js";
2
+ import { Encoder } from "./codec/tlsEncoder.js";
3
+ export declare const wireformats: {
4
+ readonly mls_public_message: 1;
5
+ readonly mls_private_message: 2;
6
+ readonly mls_welcome: 3;
7
+ readonly mls_group_info: 4;
8
+ readonly mls_key_package: 5;
9
+ };
10
+ export type WireformatName = keyof typeof wireformats;
11
+ export type WireformatValue = (typeof wireformats)[WireformatName];
12
+ export declare const encodeWireformat: Encoder<WireformatName>;
13
+ export declare const decodeWireformat: Decoder<WireformatName>;
@@ -0,0 +1,14 @@
1
+ import { decodeUint16, encodeUint16 } from "./codec/number.js";
2
+ import { mapDecoderOption } from "./codec/tlsDecoder.js";
3
+ import { contramapEncoder } from "./codec/tlsEncoder.js";
4
+ import { enumNumberToKey } from "./util/enumHelpers.js";
5
+ export const wireformats = {
6
+ mls_public_message: 1,
7
+ mls_private_message: 2,
8
+ mls_welcome: 3,
9
+ mls_group_info: 4,
10
+ mls_key_package: 5,
11
+ };
12
+ export const encodeWireformat = (s) => contramapEncoder(encodeUint16, (t) => wireformats[t])(s);
13
+ export const decodeWireformat = mapDecoderOption(decodeUint16, enumNumberToKey(wireformats));
14
+ //# sourceMappingURL=wireformat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wireformat.js","sourceRoot":"","sources":["../src/wireformat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAW,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAW,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,kBAAkB,EAAE,CAAC;IACrB,mBAAmB,EAAE,CAAC;IACtB,WAAW,EAAE,CAAC;IACd,cAAc,EAAE,CAAC;IACjB,eAAe,EAAE,CAAC;CACV,CAAA;AAKV,MAAM,CAAC,MAAM,gBAAgB,GAA4B,CAAC,CAAC,EAAE,EAAE,CAC7D,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAiB,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1E,MAAM,CAAC,MAAM,gBAAgB,GAA4B,gBAAgB,CAAC,YAAY,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,20 +1,14 @@
1
1
  {
2
2
  "name": "ts-mls",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/LukaJCB/ts-mls#readme",
6
6
  "bugs": {
7
7
  "url": "https://github.com/LukaJCB/ts-mls/issues"
8
8
  },
9
- "main": "dist/src/index.js",
10
- "types": "dist/src/index.d.ts",
11
- "exports": {
12
- ".": {
13
- "import": "./dist/src/index.js",
14
- "require": "./dist/src/index.js",
15
- "types": "./dist/src/index.d.ts"
16
- }
17
- },
9
+ "main": "dist/index.js",
10
+ "types": "dist/index.d.ts",
11
+ "exports": "./dist/index.js",
18
12
  "files": [
19
13
  "dist"
20
14
  ],
@@ -25,8 +19,9 @@
25
19
  "@hpke/chacha20poly1305": "1.7.1",
26
20
  "@hpke/hybridkem-x-wing": "0.6.1",
27
21
  "@hpke/ml-kem": "0.2.1",
28
- "@noble/curves": "^1.9.2",
29
- "@noble/post-quantum": "0.4.1"
22
+ "@noble/curves": "^2.0.0",
23
+ "@noble/ciphers": "^2.0.0",
24
+ "@noble/post-quantum": "0.5.1"
30
25
  },
31
26
  "peerDependenciesMeta": {
32
27
  "@hpke/chacha20poly1305": {
@@ -50,19 +45,21 @@
50
45
  "@hpke/chacha20poly1305": "1.7.1",
51
46
  "@hpke/hybridkem-x-wing": "0.6.1",
52
47
  "@hpke/ml-kem": "0.2.1",
53
- "@noble/ciphers": "^1.3.0",
54
- "@noble/curves": "^1.9.2",
55
- "@noble/post-quantum": "0.4.1",
48
+ "@noble/ciphers": "^2.0.0",
49
+ "@noble/hashes": "^2.0.0",
50
+ "@noble/curves": "^2.0.0",
51
+ "@noble/post-quantum": "0.5.1",
56
52
  "@types/jest": "^30.0.0",
53
+ "@vitest/coverage-v8": "^3.2.4",
57
54
  "eslint": "^9.33.0",
58
55
  "madge": "^8.0.0",
59
56
  "prettier": "3.6.2",
60
57
  "tinybench": "^5.0.0",
61
- "ts-jest": "^29.2.5",
62
58
  "tsx": "^4.20.3",
63
59
  "typescript": "~5.9.2",
64
60
  "typescript-docs-verifier": "^3.0.1",
65
- "typescript-eslint": "^8.40.0"
61
+ "typescript-eslint": "^8.40.0",
62
+ "vitest": "^3.2.4"
66
63
  },
67
64
  "repository": {
68
65
  "type": "git",
@@ -72,15 +69,17 @@
72
69
  "author": "lukajcb",
73
70
  "type": "module",
74
71
  "scripts": {
75
- "build": "tsc",
72
+ "build": "tsc -p tsconfig.build.json",
73
+ "typecheck": "tsc",
76
74
  "benchmark": "tsx bench/index.ts",
77
- "test": "jest --coverage",
75
+ "test": "vitest run",
76
+ "coverage": "vitest run --coverage",
78
77
  "lint": "eslint src/",
79
78
  "format": "prettier -w .",
80
79
  "format:check": "prettier -c .",
81
- "verify-docs": "typescript-docs-verifier --project tsconfig.docs.json --input-files README.md docs/*.md",
80
+ "verify-docs": "typescript-docs-verifier -p tsconfig.docs.json --input-files README.md docs/*.md",
82
81
  "verify-madge": "madge --extensions ts --circular src",
83
- "verify": "npm run build && npm run format:check && npm run verify-docs && npm run verify-madge && npm run lint && npm run test"
82
+ "verify": "npm run build && npm run format:check && npm run verify-docs && npm run verify-madge && npm run lint && npm run coverage"
84
83
  },
85
84
  "keywords": [
86
85
  "mls",
@@ -1 +0,0 @@
1
- export {};
@@ -1,140 +0,0 @@
1
- import { Bench } from "tinybench";
2
- import fs from "fs";
3
- import { generateKeyPackage, defaultCapabilities, defaultLifetime, getCiphersuiteFromName, getCiphersuiteImpl, createGroup, createCommit, emptyPskIndex, joinGroup, processPrivateMessage, createApplicationMessage, processMessage, acceptAll, } from "../src/index";
4
- function parseTable(row) {
5
- return {
6
- name: row["Task name"],
7
- avg: parseFloat(row["Throughput avg (ops/s)"]),
8
- med: parseFloat(row["Throughput med (ops/s)"]),
9
- latencyAvg: parseFloat(row["Latency avg (ns)"]),
10
- latencyMed: parseFloat(row["Latency med (ns)"]),
11
- samples: row["Samples"],
12
- };
13
- }
14
- async function createKeyPackageBench(impl) {
15
- const aliceCredential = { credentialType: "basic", identity: new Uint8Array([0, 1, 2]) };
16
- return await generateKeyPackage(aliceCredential, defaultCapabilities(), defaultLifetime, [], impl);
17
- }
18
- async function createGroupBench(impl) {
19
- const res = await initGroup(impl);
20
- await addMember(impl, res.result);
21
- }
22
- async function joinGroupBench(impl, pkp, kp, result) {
23
- await joinGroup(result.welcome, kp, pkp, emptyPskIndex, impl);
24
- }
25
- async function createCommitBench(impl, aliceGroup) {
26
- await createCommit(aliceGroup, emptyPskIndex, false, [], impl);
27
- }
28
- async function processCommitBench(impl, bobGroup, result) {
29
- await processPrivateMessage(bobGroup, result.commit.privateMessage, emptyPskIndex, impl);
30
- }
31
- async function initGroup(impl) {
32
- const aliceCredential = { credentialType: "basic", identity: new Uint8Array([0, 1, 2]) };
33
- const alice = await generateKeyPackage(aliceCredential, defaultCapabilities(), defaultLifetime, [], impl);
34
- const groupId = new Uint8Array([0, 1, 2]);
35
- const result = await createGroup(groupId, alice.publicPackage, alice.privatePackage, [], impl);
36
- return { alice, result };
37
- }
38
- async function removeMember(impl, state) {
39
- const removeBobProposal = {
40
- proposalType: "remove",
41
- remove: {
42
- removed: 1,
43
- },
44
- };
45
- const result = await createCommit(state, emptyPskIndex, false, [removeBobProposal], impl, true);
46
- return result;
47
- }
48
- async function addMember(impl, state) {
49
- const bobCredential = { credentialType: "basic", identity: new Uint8Array([0, 1, 3]) };
50
- const bob = await generateKeyPackage(bobCredential, defaultCapabilities(), defaultLifetime, [], impl);
51
- const addBobProposal = {
52
- proposalType: "add",
53
- add: {
54
- keyPackage: bob.publicPackage,
55
- },
56
- };
57
- const result = await createCommit(state, emptyPskIndex, false, [addBobProposal], impl, true);
58
- return { bob, result };
59
- }
60
- async function generateKeyPackages(impl, members) {
61
- const kps = [];
62
- for (let i = 0; i < members; i++) {
63
- const cred = {
64
- credentialType: "basic",
65
- identity: new TextEncoder().encode(i.toString()),
66
- };
67
- const member = await generateKeyPackage(cred, defaultCapabilities(), defaultLifetime, [], impl);
68
- kps.push(member.publicPackage);
69
- }
70
- return kps;
71
- }
72
- async function addMembers(impl, initialState, kps) {
73
- const chunkSize = 100;
74
- let state = initialState;
75
- for (let i = 0; i < kps.length; i += chunkSize) {
76
- const chunkEnd = Math.min(i + chunkSize, kps.length);
77
- const proposals = [];
78
- for (let x = i; x < chunkEnd; x++) {
79
- const member = kps[x];
80
- proposals.push({
81
- proposalType: "add",
82
- add: {
83
- keyPackage: member,
84
- },
85
- });
86
- }
87
- const result = await createCommit(state, emptyPskIndex, false, proposals, impl, true);
88
- state = result.newState;
89
- }
90
- return state;
91
- }
92
- async function runBenchmark(outputPath, bench) {
93
- await bench.run();
94
- console.log(bench.name);
95
- console.table(bench.table());
96
- const results = bench.table().map(parseTable);
97
- fs.mkdirSync("results", { recursive: true });
98
- fs.writeFileSync(outputPath, JSON.stringify(results, null, 2));
99
- }
100
- async function runBenchBasic(outputPath, cs) {
101
- const bench = new Bench({ name: `basic ${cs}`, iterations: 1000 });
102
- const impl = await getCiphersuiteImpl(getCiphersuiteFromName(cs));
103
- bench
104
- .add("Generate KeyPackage", async () => await createKeyPackageBench(impl))
105
- .add("Create group & welcome", async () => await createGroupBench(impl));
106
- runBenchmark(outputPath, bench);
107
- }
108
- async function runBench(outputPath, cs, groupSize) {
109
- const bench = new Bench({ name: `${cs}, ${groupSize} members`, iterations: 10 });
110
- const impl = await getCiphersuiteImpl(getCiphersuiteFromName(cs));
111
- const createResult = await initGroup(impl);
112
- const kps = await generateKeyPackages(impl, groupSize - 1);
113
- const addMembersResult = await addMembers(impl, createResult.result, kps);
114
- const initResult = await addMember(impl, addMembersResult);
115
- const joinResult = await joinGroup(initResult.result.welcome, initResult.bob.publicPackage, initResult.bob.privatePackage, emptyPskIndex, impl);
116
- const commitResult = await createCommit(initResult.result.newState, emptyPskIndex, false, [], impl);
117
- const sendMessageResult = await createApplicationMessage(initResult.result.newState, new Uint8Array([1, 2, 3, 4, 5]), impl);
118
- const addMemberResult = await addMember(impl, initResult.result.newState);
119
- const removeMemberResult = await removeMember(impl, initResult.result.newState);
120
- bench
121
- .add(`Add ${groupSize - 1} group members`, async () => await addMembers(impl, createResult.result, kps))
122
- .add("Join group", async () => await joinGroupBench(impl, initResult.bob.privatePackage, initResult.bob.publicPackage, initResult.result))
123
- .add("Create empty commit", async () => await createCommitBench(impl, initResult.result.newState))
124
- .add("Process empty commit", async () => await processCommitBench(impl, joinResult, commitResult))
125
- .add("Send application message", async () => await createApplicationMessage(initResult.result.newState, new Uint8Array([1, 2, 3, 4, 5]), impl))
126
- .add("Receive application message", async () => await processPrivateMessage(joinResult, sendMessageResult.privateMessage, emptyPskIndex, impl))
127
- .add("Add member", async () => await addMember(impl, addMembersResult))
128
- .add("Receive add member commit", async () => await processMessage(addMemberResult.result.commit, joinResult, emptyPskIndex, acceptAll, impl))
129
- .add("Remove member", async () => await removeMember(impl, initResult.result.newState))
130
- .add("Receive remove member commit", async () => await processMessage(removeMemberResult.commit, joinResult, emptyPskIndex, acceptAll, impl));
131
- await bench.run();
132
- console.log(bench.name);
133
- console.table(bench.table());
134
- const results = bench.table().map(parseTable);
135
- fs.mkdirSync("results", { recursive: true });
136
- fs.writeFileSync(outputPath, JSON.stringify(results, null, 2));
137
- }
138
- await runBenchBasic("bench/results/basic.json", "MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519");
139
- await runBench("bench/results/bench.json", "MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519", 201);
140
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../bench/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { ProposalWithSender } from "./unappliedProposals";
2
- export type IncomingMessageAction = "accept" | "reject";
3
- export type IncomingMessageCallback = (incoming: {
4
- kind: "commit";
5
- proposals: ProposalWithSender[];
6
- } | {
7
- kind: "proposal";
8
- proposal: ProposalWithSender;
9
- }) => IncomingMessageAction;
10
- export declare const acceptAll: IncomingMessageCallback;
@@ -1,2 +0,0 @@
1
- export const acceptAll = () => "accept";
2
- //# sourceMappingURL=IncomingMessageAction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IncomingMessageAction.js","sourceRoot":"","sources":["../../src/IncomingMessageAction.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,SAAS,GAA4B,GAAG,EAAE,CAAC,QAAQ,CAAA"}
@@ -1,32 +0,0 @@
1
- import { Decoder } from "./codec/tlsDecoder";
2
- import { Encoder } from "./codec/tlsEncoder";
3
- import { Hash } from "./crypto/hash";
4
- import { FramedContent, FramedContentApplicationData, FramedContentAuthData, FramedContentCommitData, FramedContentData, FramedContentProposalData, FramedContentTBS } from "./framedContent";
5
- import { WireformatName } from "./wireformat";
6
- export interface AuthenticatedContent {
7
- wireformat: WireformatName;
8
- content: FramedContent;
9
- auth: FramedContentAuthData;
10
- }
11
- export type AuthenticatedContentApplication = AuthenticatedContent & {
12
- content: FramedContentApplicationData & FramedContentData;
13
- };
14
- export type AuthenticatedContentCommit = AuthenticatedContent & {
15
- content: FramedContentCommitData & FramedContentData;
16
- };
17
- export type AuthenticatedContentProposal = AuthenticatedContent & {
18
- content: FramedContentProposalData & FramedContentData;
19
- };
20
- export type AuthenticatedContentProposalOrCommit = AuthenticatedContent & {
21
- content: (FramedContentProposalData | FramedContentCommitData) & FramedContentData;
22
- };
23
- export declare const encodeAuthenticatedContent: Encoder<AuthenticatedContent>;
24
- export declare const decodeAuthenticatedContent: Decoder<AuthenticatedContent>;
25
- export interface AuthenticatedContentTBM {
26
- contentTbs: FramedContentTBS;
27
- auth: FramedContentAuthData;
28
- }
29
- export declare const encodeAuthenticatedContentTBM: Encoder<AuthenticatedContentTBM>;
30
- export declare function createMembershipTag(membershipKey: Uint8Array, tbm: AuthenticatedContentTBM, h: Hash): Promise<Uint8Array>;
31
- export declare function verifyMembershipTag(membershipKey: Uint8Array, tbm: AuthenticatedContentTBM, tag: Uint8Array, h: Hash): Promise<boolean>;
32
- export declare function makeProposalRef(proposal: AuthenticatedContent, h: Hash): Promise<Uint8Array>;
@@ -1,26 +0,0 @@
1
- import { flatMapDecoder, mapDecoder, mapDecoders } from "./codec/tlsDecoder";
2
- import { contramapEncoders } from "./codec/tlsEncoder";
3
- import { refhash } from "./crypto/hash";
4
- import { decodeFramedContent, decodeFramedContentAuthData, encodeFramedContent, encodeFramedContentAuthData, encodeFramedContentTBS, } from "./framedContent";
5
- import { decodeWireformat, encodeWireformat } from "./wireformat";
6
- export const encodeAuthenticatedContent = contramapEncoders([encodeWireformat, encodeFramedContent, encodeFramedContentAuthData], (a) => [a.wireformat, a.content, a.auth]);
7
- export const decodeAuthenticatedContent = mapDecoders([
8
- decodeWireformat,
9
- flatMapDecoder(decodeFramedContent, (content) => {
10
- return mapDecoder(decodeFramedContentAuthData(content.contentType), (auth) => ({ content, auth }));
11
- }),
12
- ], (wireformat, contentAuth) => ({
13
- wireformat,
14
- ...contentAuth,
15
- }));
16
- export const encodeAuthenticatedContentTBM = contramapEncoders([encodeFramedContentTBS, encodeFramedContentAuthData], (t) => [t.contentTbs, t.auth]);
17
- export function createMembershipTag(membershipKey, tbm, h) {
18
- return h.mac(membershipKey, encodeAuthenticatedContentTBM(tbm));
19
- }
20
- export function verifyMembershipTag(membershipKey, tbm, tag, h) {
21
- return h.verifyMac(membershipKey, tag, encodeAuthenticatedContentTBM(tbm));
22
- }
23
- export function makeProposalRef(proposal, h) {
24
- return refhash("MLS 1.0 Proposal Reference", encodeAuthenticatedContent(proposal), h);
25
- }
26
- //# sourceMappingURL=authenticatedContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authenticatedContent.js","sourceRoot":"","sources":["../../src/authenticatedContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,EAAE,iBAAiB,EAAW,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAQ,OAAO,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,GAQvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAkB,MAAM,cAAc,CAAA;AAuBjF,MAAM,CAAC,MAAM,0BAA0B,GAAkC,iBAAiB,CACxF,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,2BAA2B,CAAC,EACpE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAU,CAClD,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAkC,WAAW,CAClF;IACE,gBAAgB;IAChB,cAAc,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE;QAC9C,OAAO,UAAU,CAAC,2BAA2B,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACpG,CAAC,CAAC;CACH,EACD,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5B,UAAU;IACV,GAAG,WAAW;CACf,CAAC,CACH,CAAA;AAOD,MAAM,CAAC,MAAM,6BAA6B,GAAqC,iBAAiB,CAC9F,CAAC,sBAAsB,EAAE,2BAA2B,CAAC,EACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAU,CACvC,CAAA;AAED,MAAM,UAAU,mBAAmB,CACjC,aAAyB,EACzB,GAA4B,EAC5B,CAAO;IAEP,OAAO,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,aAAyB,EACzB,GAA4B,EAC5B,GAAe,EACf,CAAO;IAEP,OAAO,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,EAAE,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAA8B,EAAE,CAAO;IACrE,OAAO,OAAO,CAAC,4BAA4B,EAAE,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;AACvF,CAAC"}
@@ -1,7 +0,0 @@
1
- import { Credential } from "./credential";
2
- export interface AuthenticationService {
3
- validateCredential(credential: Credential, signaturePublicKey: Uint8Array): Promise<boolean>;
4
- }
5
- export declare const defaultAuthenticationService: {
6
- validateCredential(_credential: Credential, _signaturePublicKey: Uint8Array): Promise<boolean>;
7
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"authenticationService.js","sourceRoot":"","sources":["../../src/authenticationService.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,KAAK,CAAC,kBAAkB,CAAC,WAAuB,EAAE,mBAA+B;QAC/E,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA"}
@@ -1,14 +0,0 @@
1
- import { CredentialTypeName } from "./credentialType";
2
- import { CiphersuiteName } from "./crypto/ciphersuite";
3
- import { ProtocolVersionName } from "./protocolVersion";
4
- import { Encoder } from "./codec/tlsEncoder";
5
- import { Decoder } from "./codec/tlsDecoder";
6
- export interface Capabilities {
7
- versions: ProtocolVersionName[];
8
- ciphersuites: CiphersuiteName[];
9
- extensions: number[];
10
- proposals: number[];
11
- credentials: CredentialTypeName[];
12
- }
13
- export declare const encodeCapabilities: Encoder<Capabilities>;
14
- export declare const decodeCapabilities: Decoder<Capabilities>;
@@ -1,28 +0,0 @@
1
- import { decodeCredentialType, encodeCredentialType } from "./credentialType";
2
- import { decodeCiphersuite, encodeCiphersuite } from "./crypto/ciphersuite";
3
- import { decodeProtocolVersion, encodeProtocolVersion } from "./protocolVersion";
4
- import { contramapEncoders } from "./codec/tlsEncoder";
5
- import { mapDecoders } from "./codec/tlsDecoder";
6
- import { decodeVarLenType, encodeVarLenType } from "./codec/variableLength";
7
- import { decodeUint16, encodeUint16 } from "./codec/number";
8
- export const encodeCapabilities = contramapEncoders([
9
- encodeVarLenType(encodeProtocolVersion),
10
- encodeVarLenType(encodeCiphersuite),
11
- encodeVarLenType(encodeUint16),
12
- encodeVarLenType(encodeUint16),
13
- encodeVarLenType(encodeCredentialType),
14
- ], (cap) => [cap.versions, cap.ciphersuites, cap.extensions, cap.proposals, cap.credentials]);
15
- export const decodeCapabilities = mapDecoders([
16
- decodeVarLenType(decodeProtocolVersion),
17
- decodeVarLenType(decodeCiphersuite),
18
- decodeVarLenType(decodeUint16),
19
- decodeVarLenType(decodeUint16),
20
- decodeVarLenType(decodeCredentialType),
21
- ], (versions, ciphersuites, extensions, proposals, credentials) => ({
22
- versions,
23
- ciphersuites,
24
- extensions,
25
- proposals,
26
- credentials,
27
- }));
28
- //# sourceMappingURL=capabilities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACjG,OAAO,EAAmB,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAuB,MAAM,mBAAmB,CAAA;AACrG,OAAO,EAAW,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAW,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAU3D,MAAM,CAAC,MAAM,kBAAkB,GAA0B,iBAAiB,CACxE;IACE,gBAAgB,CAAC,qBAAqB,CAAC;IACvC,gBAAgB,CAAC,iBAAiB,CAAC;IACnC,gBAAgB,CAAC,YAAY,CAAC;IAC9B,gBAAgB,CAAC,YAAY,CAAC;IAC9B,gBAAgB,CAAC,oBAAoB,CAAC;CACvC,EACD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAU,CACnG,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAA0B,WAAW,CAClE;IACE,gBAAgB,CAAC,qBAAqB,CAAC;IACvC,gBAAgB,CAAC,iBAAiB,CAAC;IACnC,gBAAgB,CAAC,YAAY,CAAC;IAC9B,gBAAgB,CAAC,YAAY,CAAC;IAC9B,gBAAgB,CAAC,oBAAoB,CAAC;CACvC,EACD,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/D,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,SAAS;IACT,WAAW;CACZ,CAAC,CACH,CAAA"}
@@ -1,21 +0,0 @@
1
- import { AuthenticationService } from "./authenticationService";
2
- import { KeyPackageEqualityConfig } from "./keyPackageEqualityConfig";
3
- import { KeyRetentionConfig } from "./keyRetentionConfig";
4
- import { LifetimeConfig } from "./lifetimeConfig";
5
- import { PaddingConfig } from "./paddingConfig";
6
- export interface ClientConfig {
7
- keyRetentionConfig: KeyRetentionConfig;
8
- lifetimeConfig: LifetimeConfig;
9
- keyPackageEqualityConfig: KeyPackageEqualityConfig;
10
- paddingConfig: PaddingConfig;
11
- authService: AuthenticationService;
12
- }
13
- export declare const defaultClientConfig: {
14
- keyRetentionConfig: KeyRetentionConfig;
15
- lifetimeConfig: LifetimeConfig;
16
- keyPackageEqualityConfig: KeyPackageEqualityConfig;
17
- paddingConfig: PaddingConfig;
18
- authService: {
19
- validateCredential(_credential: import("./credential").Credential, _signaturePublicKey: Uint8Array): Promise<boolean>;
20
- };
21
- };
@@ -1,13 +0,0 @@
1
- import { defaultAuthenticationService } from "./authenticationService";
2
- import { defaultKeyPackageEqualityConfig } from "./keyPackageEqualityConfig";
3
- import { defaultKeyRetentionConfig } from "./keyRetentionConfig";
4
- import { defaultLifetimeConfig } from "./lifetimeConfig";
5
- import { defaultPaddingConfig } from "./paddingConfig";
6
- export const defaultClientConfig = {
7
- keyRetentionConfig: defaultKeyRetentionConfig,
8
- lifetimeConfig: defaultLifetimeConfig,
9
- keyPackageEqualityConfig: defaultKeyPackageEqualityConfig,
10
- paddingConfig: defaultPaddingConfig,
11
- authService: defaultAuthenticationService,
12
- };
13
- //# sourceMappingURL=clientConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientConfig.js","sourceRoot":"","sources":["../../src/clientConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AAC7F,OAAO,EAAE,+BAA+B,EAA4B,MAAM,4BAA4B,CAAA;AACtG,OAAO,EAAE,yBAAyB,EAAsB,MAAM,sBAAsB,CAAA;AACpF,OAAO,EAAE,qBAAqB,EAAkB,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAiB,MAAM,iBAAiB,CAAA;AAUrE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,kBAAkB,EAAE,yBAAyB;IAC7C,cAAc,EAAE,qBAAqB;IACrC,wBAAwB,EAAE,+BAA+B;IACzD,aAAa,EAAE,oBAAoB;IACnC,WAAW,EAAE,4BAA4B;CAC1C,CAAA"}
@@ -1,123 +0,0 @@
1
- import { AuthenticatedContent } from "./authenticatedContent";
2
- import { CiphersuiteImpl } from "./crypto/ciphersuite";
3
- import { Hash } from "./crypto/hash";
4
- import { Extension } from "./extension";
5
- import { FramedContentCommit } from "./framedContent";
6
- import { GroupContext } from "./groupContext";
7
- import { KeyPackage, PrivateKeyPackage } from "./keyPackage";
8
- import { KeySchedule } from "./keySchedule";
9
- import { PreSharedKeyID } from "./presharedkey";
10
- import { RatchetTree } from "./ratchetTree";
11
- import { SecretTree } from "./secretTree";
12
- import { LeafIndex } from "./treemath";
13
- import { Welcome } from "./welcome";
14
- import { WireformatName } from "./wireformat";
15
- import { ProposalOrRef } from "./proposalOrRefType";
16
- import { Proposal, ProposalAdd, ProposalExternalInit, ProposalGroupContextExtensions, ProposalPSK, ProposalReinit, ProposalRemove, ProposalUpdate, Reinit } from "./proposal";
17
- import { PrivateKeyPath } from "./privateKeyPath";
18
- import { UnappliedProposals, ProposalWithSender } from "./unappliedProposals";
19
- import { PskIndex } from "./pskIndex";
20
- import { MlsError } from "./mlsError";
21
- import { Signature } from "./crypto/signature";
22
- import { LeafNodeCommit, LeafNodeUpdate } from "./leafNode";
23
- import { AuthenticationService } from "./authenticationService";
24
- import { LifetimeConfig } from "./lifetimeConfig";
25
- import { ClientConfig } from "./clientConfig";
26
- export interface ClientState {
27
- groupContext: GroupContext;
28
- keySchedule: KeySchedule;
29
- secretTree: SecretTree;
30
- ratchetTree: RatchetTree;
31
- privatePath: PrivateKeyPath;
32
- signaturePrivateKey: Uint8Array;
33
- unappliedProposals: UnappliedProposals;
34
- confirmationTag: Uint8Array;
35
- historicalReceiverData: Map<bigint, EpochReceiverData>;
36
- groupActiveState: GroupActiveState;
37
- clientConfig: ClientConfig;
38
- }
39
- export type GroupActiveState = {
40
- kind: "active";
41
- } | {
42
- kind: "suspendedPendingReinit";
43
- reinit: Reinit;
44
- } | {
45
- kind: "removedFromGroup";
46
- };
47
- /**
48
- * This type contains everything necessary to receieve application messages for an earlier epoch
49
- */
50
- export interface EpochReceiverData {
51
- resumptionPsk: Uint8Array;
52
- secretTree: SecretTree;
53
- ratchetTree: RatchetTree;
54
- senderDataSecret: Uint8Array;
55
- groupContext: GroupContext;
56
- }
57
- export declare function checkCanSendApplicationMessages(state: ClientState): void;
58
- export declare function checkCanSendHandshakeMessages(state: ClientState): void;
59
- export interface Proposals {
60
- add: {
61
- senderLeafIndex: number | undefined;
62
- proposal: ProposalAdd;
63
- }[];
64
- update: {
65
- senderLeafIndex: number | undefined;
66
- proposal: ProposalUpdate;
67
- }[];
68
- remove: {
69
- senderLeafIndex: number | undefined;
70
- proposal: ProposalRemove;
71
- }[];
72
- psk: {
73
- senderLeafIndex: number | undefined;
74
- proposal: ProposalPSK;
75
- }[];
76
- reinit: {
77
- senderLeafIndex: number | undefined;
78
- proposal: ProposalReinit;
79
- }[];
80
- external_init: {
81
- senderLeafIndex: number | undefined;
82
- proposal: ProposalExternalInit;
83
- }[];
84
- group_context_extensions: {
85
- senderLeafIndex: number | undefined;
86
- proposal: ProposalGroupContextExtensions;
87
- }[];
88
- }
89
- export declare function validateRatchetTree(tree: RatchetTree, groupContext: GroupContext, config: LifetimeConfig, authService: AuthenticationService, treeHash: Uint8Array, cs: CiphersuiteImpl): Promise<MlsError | undefined>;
90
- export declare function validateLeafNodeUpdateOrCommit(leafNode: LeafNodeCommit | LeafNodeUpdate, leafIndex: number, groupContext: GroupContext, tree: RatchetTree, authService: AuthenticationService, s: Signature): Promise<MlsError | undefined>;
91
- export declare function throwIfDefined(err: MlsError | undefined): void;
92
- export interface ApplyProposalsResult {
93
- tree: RatchetTree;
94
- pskSecret: Uint8Array;
95
- pskIds: PreSharedKeyID[];
96
- needsUpdatePath: boolean;
97
- additionalResult: ApplyProposalsData;
98
- selfRemoved: boolean;
99
- allProposals: ProposalWithSender[];
100
- }
101
- export type ApplyProposalsData = {
102
- kind: "memberCommit";
103
- addedLeafNodes: [LeafIndex, KeyPackage][];
104
- extensions: Extension[];
105
- } | {
106
- kind: "externalCommit";
107
- externalInitSecret: Uint8Array;
108
- newMemberLeafIndex: LeafIndex;
109
- } | {
110
- kind: "reinit";
111
- reinit: Reinit;
112
- };
113
- export declare function applyProposals(state: ClientState, proposals: ProposalOrRef[], committerLeafIndex: LeafIndex | undefined, pskSearch: PskIndex, sentByClient: boolean, cs: CiphersuiteImpl): Promise<ApplyProposalsResult>;
114
- export declare function makePskIndex(state: ClientState | undefined, externalPsks: Record<string, Uint8Array>): PskIndex;
115
- export declare function nextEpochContext(groupContext: GroupContext, wireformat: WireformatName, content: FramedContentCommit, signature: Uint8Array, updatedTreeHash: Uint8Array, confirmationTag: Uint8Array, h: Hash): Promise<GroupContext>;
116
- export declare function joinGroup(welcome: Welcome, keyPackage: KeyPackage, privateKeys: PrivateKeyPackage, pskSearch: PskIndex, cs: CiphersuiteImpl, ratchetTree?: RatchetTree, resumingFromState?: ClientState, clientConfig?: ClientConfig): Promise<ClientState>;
117
- export declare function createGroup(groupId: Uint8Array, keyPackage: KeyPackage, privateKeyPackage: PrivateKeyPackage, extensions: Extension[], cs: CiphersuiteImpl, clientConfig?: ClientConfig): Promise<ClientState>;
118
- export declare function exportSecret(publicKey: Uint8Array, cs: CiphersuiteImpl): Promise<{
119
- enc: Uint8Array;
120
- secret: Uint8Array;
121
- }>;
122
- export declare function processProposal(state: ClientState, content: AuthenticatedContent, proposal: Proposal, h: Hash): Promise<ClientState>;
123
- export declare function addHistoricalReceiverData(state: ClientState): Map<bigint, EpochReceiverData>;