@naylence/advanced-security 0.3.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 (304) hide show
  1. package/LICENSE +33 -0
  2. package/NOTICE +5 -0
  3. package/README.md +101 -0
  4. package/dist/browser/index.js +157043 -0
  5. package/dist/browser/index.js.map +1 -0
  6. package/dist/cjs/browser.js +6 -0
  7. package/dist/cjs/browser.js.map +1 -0
  8. package/dist/cjs/index.js +7 -0
  9. package/dist/cjs/index.js.map +1 -0
  10. package/dist/cjs/naylence/fame/factory-manifest.js +24 -0
  11. package/dist/cjs/naylence/fame/factory-manifest.js.map +1 -0
  12. package/dist/cjs/naylence/fame/security/cert/ca-service-client.js +284 -0
  13. package/dist/cjs/naylence/fame/security/cert/ca-service-client.js.map +1 -0
  14. package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js +65 -0
  15. package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js.map +1 -0
  16. package/dist/cjs/naylence/fame/security/cert/ca-types.js +36 -0
  17. package/dist/cjs/naylence/fame/security/cert/ca-types.js.map +1 -0
  18. package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js +70 -0
  19. package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js.map +1 -0
  20. package/dist/cjs/naylence/fame/security/cert/default-ca-service.js +270 -0
  21. package/dist/cjs/naylence/fame/security/cert/default-ca-service.js.map +1 -0
  22. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js +77 -0
  23. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js.map +1 -0
  24. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js +675 -0
  25. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js.map +1 -0
  26. package/dist/cjs/naylence/fame/security/cert/grants.js +5 -0
  27. package/dist/cjs/naylence/fame/security/cert/grants.js.map +1 -0
  28. package/dist/cjs/naylence/fame/security/cert/index.js +52 -0
  29. package/dist/cjs/naylence/fame/security/cert/index.js.map +1 -0
  30. package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js +793 -0
  31. package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js.map +1 -0
  32. package/dist/cjs/naylence/fame/security/cert/util.js +120 -0
  33. package/dist/cjs/naylence/fame/security/cert/util.js.map +1 -0
  34. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js +89 -0
  35. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js.map +1 -0
  36. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js +732 -0
  37. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js.map +1 -0
  38. package/dist/cjs/naylence/fame/security/encryption/channel/index.js +8 -0
  39. package/dist/cjs/naylence/fame/security/encryption/channel/index.js.map +1 -0
  40. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js +117 -0
  41. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js.map +1 -0
  42. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js +325 -0
  43. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js.map +1 -0
  44. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js +57 -0
  45. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js.map +1 -0
  46. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js +282 -0
  47. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js.map +1 -0
  48. package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js +173 -0
  49. package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js.map +1 -0
  50. package/dist/cjs/naylence/fame/security/encryption/index.js +16 -0
  51. package/dist/cjs/naylence/fame/security/encryption/index.js.map +1 -0
  52. package/dist/cjs/naylence/fame/security/encryption/sealed/index.js +8 -0
  53. package/dist/cjs/naylence/fame/security/encryption/sealed/index.js.map +1 -0
  54. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js +86 -0
  55. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js.map +1 -0
  56. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js +546 -0
  57. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js.map +1 -0
  58. package/dist/cjs/naylence/fame/security/index.js +11 -0
  59. package/dist/cjs/naylence/fame/security/index.js.map +1 -0
  60. package/dist/cjs/naylence/fame/security/keys/index.js +9 -0
  61. package/dist/cjs/naylence/fame/security/keys/index.js.map +1 -0
  62. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js +40 -0
  63. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js.map +1 -0
  64. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js +441 -0
  65. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js.map +1 -0
  66. package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js +131 -0
  67. package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js.map +1 -0
  68. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js +71 -0
  69. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js.map +1 -0
  70. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +31 -0
  71. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +1 -0
  72. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js +176 -0
  73. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -0
  74. package/dist/cjs/naylence/fame/stickiness/aft-helper.js +77 -0
  75. package/dist/cjs/naylence/fame/stickiness/aft-helper.js.map +1 -0
  76. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js +69 -0
  77. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js.map +1 -0
  78. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js +451 -0
  79. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js.map +1 -0
  80. package/dist/cjs/naylence/fame/stickiness/aft-model.js +62 -0
  81. package/dist/cjs/naylence/fame/stickiness/aft-model.js.map +1 -0
  82. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js +54 -0
  83. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js.map +1 -0
  84. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js +208 -0
  85. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js.map +1 -0
  86. package/dist/cjs/naylence/fame/stickiness/aft-signer.js +154 -0
  87. package/dist/cjs/naylence/fame/stickiness/aft-signer.js.map +1 -0
  88. package/dist/cjs/naylence/fame/stickiness/aft-utils.js +95 -0
  89. package/dist/cjs/naylence/fame/stickiness/aft-utils.js.map +1 -0
  90. package/dist/cjs/naylence/fame/stickiness/aft-verifier.js +297 -0
  91. package/dist/cjs/naylence/fame/stickiness/aft-verifier.js.map +1 -0
  92. package/dist/cjs/naylence/fame/stickiness/index.js +40 -0
  93. package/dist/cjs/naylence/fame/stickiness/index.js.map +1 -0
  94. package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js +28 -0
  95. package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js.map +1 -0
  96. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js +97 -0
  97. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js.map +1 -0
  98. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js +216 -0
  99. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js.map +1 -0
  100. package/dist/cjs/naylence/fame/welcome/index.js +9 -0
  101. package/dist/cjs/naylence/fame/welcome/index.js.map +1 -0
  102. package/dist/cjs/plugin.js +41 -0
  103. package/dist/cjs/plugin.js.map +1 -0
  104. package/dist/esm/browser.js +3 -0
  105. package/dist/esm/browser.js.map +1 -0
  106. package/dist/esm/index.js +4 -0
  107. package/dist/esm/index.js.map +1 -0
  108. package/dist/esm/naylence/fame/factory-manifest.js +21 -0
  109. package/dist/esm/naylence/fame/factory-manifest.js.map +1 -0
  110. package/dist/esm/naylence/fame/security/cert/ca-server.js +153 -0
  111. package/dist/esm/naylence/fame/security/cert/ca-server.js.map +1 -0
  112. package/dist/esm/naylence/fame/security/cert/ca-service-client.js +278 -0
  113. package/dist/esm/naylence/fame/security/cert/ca-service-client.js.map +1 -0
  114. package/dist/esm/naylence/fame/security/cert/ca-service-factory.js +61 -0
  115. package/dist/esm/naylence/fame/security/cert/ca-service-factory.js.map +1 -0
  116. package/dist/esm/naylence/fame/security/cert/ca-types.js +31 -0
  117. package/dist/esm/naylence/fame/security/cert/ca-types.js.map +1 -0
  118. package/dist/esm/naylence/fame/security/cert/default-ca-service-factory.js +66 -0
  119. package/dist/esm/naylence/fame/security/cert/default-ca-service-factory.js.map +1 -0
  120. package/dist/esm/naylence/fame/security/cert/default-ca-service.js +233 -0
  121. package/dist/esm/naylence/fame/security/cert/default-ca-service.js.map +1 -0
  122. package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js +73 -0
  123. package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js.map +1 -0
  124. package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js +638 -0
  125. package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js.map +1 -0
  126. package/dist/esm/naylence/fame/security/cert/grants.js +2 -0
  127. package/dist/esm/naylence/fame/security/cert/grants.js.map +1 -0
  128. package/dist/esm/naylence/fame/security/cert/index.js +12 -0
  129. package/dist/esm/naylence/fame/security/cert/index.js.map +1 -0
  130. package/dist/esm/naylence/fame/security/cert/internal-ca-service.js +750 -0
  131. package/dist/esm/naylence/fame/security/cert/internal-ca-service.js.map +1 -0
  132. package/dist/esm/naylence/fame/security/cert/util.js +116 -0
  133. package/dist/esm/naylence/fame/security/cert/util.js.map +1 -0
  134. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js +85 -0
  135. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js.map +1 -0
  136. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager.js +728 -0
  137. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager.js.map +1 -0
  138. package/dist/esm/naylence/fame/security/encryption/channel/index.js +3 -0
  139. package/dist/esm/naylence/fame/security/encryption/channel/index.js.map +1 -0
  140. package/dist/esm/naylence/fame/security/encryption/composite-encryption-manager-factory.js +113 -0
  141. package/dist/esm/naylence/fame/security/encryption/composite-encryption-manager-factory.js.map +1 -0
  142. package/dist/esm/naylence/fame/security/encryption/composite-encryption-manager.js +321 -0
  143. package/dist/esm/naylence/fame/security/encryption/composite-encryption-manager.js.map +1 -0
  144. package/dist/esm/naylence/fame/security/encryption/default-secure-channel-manager-factory.js +53 -0
  145. package/dist/esm/naylence/fame/security/encryption/default-secure-channel-manager-factory.js.map +1 -0
  146. package/dist/esm/naylence/fame/security/encryption/default-secure-channel-manager.js +278 -0
  147. package/dist/esm/naylence/fame/security/encryption/default-secure-channel-manager.js.map +1 -0
  148. package/dist/esm/naylence/fame/security/encryption/encryption-manager-registry.js +167 -0
  149. package/dist/esm/naylence/fame/security/encryption/encryption-manager-registry.js.map +1 -0
  150. package/dist/esm/naylence/fame/security/encryption/index.js +7 -0
  151. package/dist/esm/naylence/fame/security/encryption/index.js.map +1 -0
  152. package/dist/esm/naylence/fame/security/encryption/sealed/index.js +3 -0
  153. package/dist/esm/naylence/fame/security/encryption/sealed/index.js.map +1 -0
  154. package/dist/esm/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js +82 -0
  155. package/dist/esm/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js.map +1 -0
  156. package/dist/esm/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js +542 -0
  157. package/dist/esm/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js.map +1 -0
  158. package/dist/esm/naylence/fame/security/index.js +6 -0
  159. package/dist/esm/naylence/fame/security/index.js.map +1 -0
  160. package/dist/esm/naylence/fame/security/keys/index.js +3 -0
  161. package/dist/esm/naylence/fame/security/keys/index.js.map +1 -0
  162. package/dist/esm/naylence/fame/security/keys/x5c-key-manager-factory.js +36 -0
  163. package/dist/esm/naylence/fame/security/keys/x5c-key-manager-factory.js.map +1 -0
  164. package/dist/esm/naylence/fame/security/keys/x5c-key-manager.js +405 -0
  165. package/dist/esm/naylence/fame/security/keys/x5c-key-manager.js.map +1 -0
  166. package/dist/esm/naylence/fame/security/register-advanced-security-factories.js +95 -0
  167. package/dist/esm/naylence/fame/security/register-advanced-security-factories.js.map +1 -0
  168. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-signer-factory.js +34 -0
  169. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-signer-factory.js.map +1 -0
  170. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +27 -0
  171. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +1 -0
  172. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js +172 -0
  173. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -0
  174. package/dist/esm/naylence/fame/stickiness/aft-helper.js +72 -0
  175. package/dist/esm/naylence/fame/stickiness/aft-helper.js.map +1 -0
  176. package/dist/esm/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js +65 -0
  177. package/dist/esm/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js.map +1 -0
  178. package/dist/esm/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js +447 -0
  179. package/dist/esm/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js.map +1 -0
  180. package/dist/esm/naylence/fame/stickiness/aft-model.js +54 -0
  181. package/dist/esm/naylence/fame/stickiness/aft-model.js.map +1 -0
  182. package/dist/esm/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js +50 -0
  183. package/dist/esm/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js.map +1 -0
  184. package/dist/esm/naylence/fame/stickiness/aft-replica-stickiness-manager.js +203 -0
  185. package/dist/esm/naylence/fame/stickiness/aft-replica-stickiness-manager.js.map +1 -0
  186. package/dist/esm/naylence/fame/stickiness/aft-signer.js +147 -0
  187. package/dist/esm/naylence/fame/stickiness/aft-signer.js.map +1 -0
  188. package/dist/esm/naylence/fame/stickiness/aft-utils.js +90 -0
  189. package/dist/esm/naylence/fame/stickiness/aft-utils.js.map +1 -0
  190. package/dist/esm/naylence/fame/stickiness/aft-verifier.js +290 -0
  191. package/dist/esm/naylence/fame/stickiness/aft-verifier.js.map +1 -0
  192. package/dist/esm/naylence/fame/stickiness/index.js +11 -0
  193. package/dist/esm/naylence/fame/stickiness/index.js.map +1 -0
  194. package/dist/esm/naylence/fame/stickiness/stickiness-mode.js +24 -0
  195. package/dist/esm/naylence/fame/stickiness/stickiness-mode.js.map +1 -0
  196. package/dist/esm/naylence/fame/welcome/advanced-welcome-service-factory.js +93 -0
  197. package/dist/esm/naylence/fame/welcome/advanced-welcome-service-factory.js.map +1 -0
  198. package/dist/esm/naylence/fame/welcome/advanced-welcome-service.js +212 -0
  199. package/dist/esm/naylence/fame/welcome/advanced-welcome-service.js.map +1 -0
  200. package/dist/esm/naylence/fame/welcome/index.js +3 -0
  201. package/dist/esm/naylence/fame/welcome/index.js.map +1 -0
  202. package/dist/esm/plugin.js +37 -0
  203. package/dist/esm/plugin.js.map +1 -0
  204. package/dist/types/browser.d.ts +2 -0
  205. package/dist/types/browser.d.ts.map +1 -0
  206. package/dist/types/index.d.ts +4 -0
  207. package/dist/types/index.d.ts.map +1 -0
  208. package/dist/types/naylence/fame/factory-manifest.d.ts +9 -0
  209. package/dist/types/naylence/fame/factory-manifest.d.ts.map +1 -0
  210. package/dist/types/naylence/fame/security/cert/ca-server.d.ts +19 -0
  211. package/dist/types/naylence/fame/security/cert/ca-server.d.ts.map +1 -0
  212. package/dist/types/naylence/fame/security/cert/ca-service-client.d.ts +75 -0
  213. package/dist/types/naylence/fame/security/cert/ca-service-client.d.ts.map +1 -0
  214. package/dist/types/naylence/fame/security/cert/ca-service-factory.d.ts +43 -0
  215. package/dist/types/naylence/fame/security/cert/ca-service-factory.d.ts.map +1 -0
  216. package/dist/types/naylence/fame/security/cert/ca-types.d.ts +97 -0
  217. package/dist/types/naylence/fame/security/cert/ca-types.d.ts.map +1 -0
  218. package/dist/types/naylence/fame/security/cert/default-ca-service-factory.d.ts +55 -0
  219. package/dist/types/naylence/fame/security/cert/default-ca-service-factory.d.ts.map +1 -0
  220. package/dist/types/naylence/fame/security/cert/default-ca-service.d.ts +84 -0
  221. package/dist/types/naylence/fame/security/cert/default-ca-service.d.ts.map +1 -0
  222. package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts +25 -0
  223. package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts.map +1 -0
  224. package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts +38 -0
  225. package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts.map +1 -0
  226. package/dist/types/naylence/fame/security/cert/grants.d.ts +2 -0
  227. package/dist/types/naylence/fame/security/cert/grants.d.ts.map +1 -0
  228. package/dist/types/naylence/fame/security/cert/index.d.ts +11 -0
  229. package/dist/types/naylence/fame/security/cert/index.d.ts.map +1 -0
  230. package/dist/types/naylence/fame/security/cert/internal-ca-service.d.ts +132 -0
  231. package/dist/types/naylence/fame/security/cert/internal-ca-service.d.ts.map +1 -0
  232. package/dist/types/naylence/fame/security/cert/util.d.ts +35 -0
  233. package/dist/types/naylence/fame/security/cert/util.d.ts.map +1 -0
  234. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.d.ts +29 -0
  235. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.d.ts.map +1 -0
  236. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager.d.ts +51 -0
  237. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager.d.ts.map +1 -0
  238. package/dist/types/naylence/fame/security/encryption/channel/index.d.ts +3 -0
  239. package/dist/types/naylence/fame/security/encryption/channel/index.d.ts.map +1 -0
  240. package/dist/types/naylence/fame/security/encryption/composite-encryption-manager-factory.d.ts +32 -0
  241. package/dist/types/naylence/fame/security/encryption/composite-encryption-manager-factory.d.ts.map +1 -0
  242. package/dist/types/naylence/fame/security/encryption/composite-encryption-manager.d.ts +52 -0
  243. package/dist/types/naylence/fame/security/encryption/composite-encryption-manager.d.ts.map +1 -0
  244. package/dist/types/naylence/fame/security/encryption/default-secure-channel-manager-factory.d.ts +23 -0
  245. package/dist/types/naylence/fame/security/encryption/default-secure-channel-manager-factory.d.ts.map +1 -0
  246. package/dist/types/naylence/fame/security/encryption/default-secure-channel-manager.d.ts +37 -0
  247. package/dist/types/naylence/fame/security/encryption/default-secure-channel-manager.d.ts.map +1 -0
  248. package/dist/types/naylence/fame/security/encryption/encryption-manager-registry.d.ts +34 -0
  249. package/dist/types/naylence/fame/security/encryption/encryption-manager-registry.d.ts.map +1 -0
  250. package/dist/types/naylence/fame/security/encryption/index.d.ts +7 -0
  251. package/dist/types/naylence/fame/security/encryption/index.d.ts.map +1 -0
  252. package/dist/types/naylence/fame/security/encryption/sealed/index.d.ts +3 -0
  253. package/dist/types/naylence/fame/security/encryption/sealed/index.d.ts.map +1 -0
  254. package/dist/types/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.d.ts +28 -0
  255. package/dist/types/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.d.ts.map +1 -0
  256. package/dist/types/naylence/fame/security/encryption/sealed/x25519-encryption-manager.d.ts +43 -0
  257. package/dist/types/naylence/fame/security/encryption/sealed/x25519-encryption-manager.d.ts.map +1 -0
  258. package/dist/types/naylence/fame/security/index.d.ts +6 -0
  259. package/dist/types/naylence/fame/security/index.d.ts.map +1 -0
  260. package/dist/types/naylence/fame/security/keys/index.d.ts +3 -0
  261. package/dist/types/naylence/fame/security/keys/index.d.ts.map +1 -0
  262. package/dist/types/naylence/fame/security/keys/x5c-key-manager-factory.d.ts +19 -0
  263. package/dist/types/naylence/fame/security/keys/x5c-key-manager-factory.d.ts.map +1 -0
  264. package/dist/types/naylence/fame/security/keys/x5c-key-manager.d.ts +39 -0
  265. package/dist/types/naylence/fame/security/keys/x5c-key-manager.d.ts.map +1 -0
  266. package/dist/types/naylence/fame/security/register-advanced-security-factories.d.ts +8 -0
  267. package/dist/types/naylence/fame/security/register-advanced-security-factories.d.ts.map +1 -0
  268. package/dist/types/naylence/fame/security/signing/eddsa-envelope-signer-factory.d.ts +20 -0
  269. package/dist/types/naylence/fame/security/signing/eddsa-envelope-signer-factory.d.ts.map +1 -0
  270. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier-factory.d.ts +21 -0
  271. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier-factory.d.ts.map +1 -0
  272. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier.d.ts +17 -0
  273. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier.d.ts.map +1 -0
  274. package/dist/types/naylence/fame/stickiness/aft-helper.d.ts +29 -0
  275. package/dist/types/naylence/fame/stickiness/aft-helper.d.ts.map +1 -0
  276. package/dist/types/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.d.ts +25 -0
  277. package/dist/types/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.d.ts.map +1 -0
  278. package/dist/types/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.d.ts +33 -0
  279. package/dist/types/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.d.ts.map +1 -0
  280. package/dist/types/naylence/fame/stickiness/aft-model.d.ts +33 -0
  281. package/dist/types/naylence/fame/stickiness/aft-model.d.ts.map +1 -0
  282. package/dist/types/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.d.ts +23 -0
  283. package/dist/types/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.d.ts.map +1 -0
  284. package/dist/types/naylence/fame/stickiness/aft-replica-stickiness-manager.d.ts +31 -0
  285. package/dist/types/naylence/fame/stickiness/aft-replica-stickiness-manager.d.ts.map +1 -0
  286. package/dist/types/naylence/fame/stickiness/aft-signer.d.ts +55 -0
  287. package/dist/types/naylence/fame/stickiness/aft-signer.d.ts.map +1 -0
  288. package/dist/types/naylence/fame/stickiness/aft-utils.d.ts +4 -0
  289. package/dist/types/naylence/fame/stickiness/aft-utils.d.ts.map +1 -0
  290. package/dist/types/naylence/fame/stickiness/aft-verifier.d.ts +50 -0
  291. package/dist/types/naylence/fame/stickiness/aft-verifier.d.ts.map +1 -0
  292. package/dist/types/naylence/fame/stickiness/index.d.ts +15 -0
  293. package/dist/types/naylence/fame/stickiness/index.d.ts.map +1 -0
  294. package/dist/types/naylence/fame/stickiness/stickiness-mode.d.ts +7 -0
  295. package/dist/types/naylence/fame/stickiness/stickiness-mode.d.ts.map +1 -0
  296. package/dist/types/naylence/fame/welcome/advanced-welcome-service-factory.d.ts +21 -0
  297. package/dist/types/naylence/fame/welcome/advanced-welcome-service-factory.d.ts.map +1 -0
  298. package/dist/types/naylence/fame/welcome/advanced-welcome-service.d.ts +21 -0
  299. package/dist/types/naylence/fame/welcome/advanced-welcome-service.d.ts.map +1 -0
  300. package/dist/types/naylence/fame/welcome/index.d.ts +3 -0
  301. package/dist/types/naylence/fame/welcome/index.d.ts.map +1 -0
  302. package/dist/types/plugin.d.ts +11 -0
  303. package/dist/types/plugin.d.ts.map +1 -0
  304. package/package.json +130 -0
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Certificate Authority signing service for node certificates.
3
+ *
4
+ * Provides in-process API for issuing certificates with node physical
5
+ * and host-like logical address information using SPIFFE-compliant identities.
6
+ */
7
+ import type { CertificateIssuanceResponse, CertificateSigningRequest } from "./ca-types.js";
8
+ import { CAService } from "./ca-types.js";
9
+ export declare const SID_OID = "1.3.6.1.4.1.58530.1";
10
+ export declare const LOGICALS_OID = "1.3.6.1.4.1.58530.2";
11
+ export declare const NODE_ID_OID = "1.3.6.1.4.1.58530.4";
12
+ /**
13
+ * Options for CASigningService.
14
+ */
15
+ export interface CASigningServiceOptions {
16
+ /** Root CA certificate in PEM format */
17
+ rootCertPem: string;
18
+ /** Root CA private key in PEM format */
19
+ rootKeyPem: string;
20
+ /** Optional intermediate CA certificate in PEM format */
21
+ intermediateCertPem?: string;
22
+ /** Optional intermediate CA private key in PEM format */
23
+ intermediateKeyPem?: string;
24
+ }
25
+ /**
26
+ * In-process certificate signing service.
27
+ *
28
+ * Issues SPIFFE-compliant node certificates with Fame-specific extensions
29
+ * for physical paths and logical addresses.
30
+ */
31
+ export declare class CASigningService extends CAService {
32
+ private readonly rootCertPem;
33
+ private readonly rootKeyPem;
34
+ private readonly intermediateCertPem?;
35
+ private readonly intermediateKeyPem?;
36
+ private rootCert?;
37
+ private rootKey?;
38
+ private signingCert?;
39
+ private signingKey?;
40
+ constructor(options: CASigningServiceOptions);
41
+ private ensureRootMaterials;
42
+ private ensureSigningMaterials;
43
+ private getRootCertificate;
44
+ private getRootKey;
45
+ private getSigningCertificate;
46
+ private getSigningKey;
47
+ /**
48
+ * Issue a certificate from a CSR.
49
+ *
50
+ * Parses the PKCS#10 CSR, extracts the public key, calculates node SID,
51
+ * and signs a certificate. Mirrors Python's default_ca_service.issue_certificate.
52
+ *
53
+ * @param csr - Certificate signing request
54
+ * @returns Certificate issuance response with the signed certificate
55
+ */
56
+ issueCertificate(csr: CertificateSigningRequest): Promise<CertificateIssuanceResponse>;
57
+ /**
58
+ * Sign a SPIFFE-compatible node certificate with SID-based identity.
59
+ *
60
+ * @param publicKeyPem - Node's public key in PEM format
61
+ * @param nodeId - Unique identifier for the node
62
+ * @param nodeSid - Node's pre-computed SID (base62-encoded)
63
+ * @param physicalPath - Physical path (for SID verification only)
64
+ * @param logicals - List of host-like logical addresses
65
+ * @param ttlDays - Certificate validity period in days
66
+ * @param spiffeTrustDomain - SPIFFE trust domain
67
+ * @returns PEM-encoded signed certificate
68
+ */
69
+ signNodeCert(publicKeyPem: string, nodeId: string, nodeSid: string, physicalPath: string, logicals: string[], ttlDays?: number, spiffeTrustDomain?: string): Promise<string>;
70
+ /**
71
+ * Create an intermediate CA certificate.
72
+ *
73
+ * @param publicKeyPem - Intermediate CA's public key in PEM format
74
+ * @param caName - Name for the intermediate CA
75
+ * @param permittedPaths - List of logical prefixes this CA can issue for
76
+ * @param ttlDays - Certificate validity period in days
77
+ * @returns PEM-encoded intermediate CA certificate
78
+ */
79
+ createIntermediateCA(publicKeyPem: string, caName: string, permittedPaths: string[], ttlDays?: number): Promise<string>;
80
+ }
81
+ /**
82
+ * Create a test root CA for development/testing.
83
+ *
84
+ * Generates an Ed25519 key pair and self-signed root CA certificate.
85
+ *
86
+ * @returns Tuple of [rootCertPem, rootKeyPem]
87
+ */
88
+ export declare function createTestCA(): Promise<[string, string, string]>;
89
+ /**
90
+ * Extract SPIFFE ID from certificate SAN.
91
+ *
92
+ * @param certPem - Certificate in PEM format
93
+ * @returns SPIFFE ID string or null if not found
94
+ */
95
+ export declare function extractSpiffeIdFromCert(certPem: string): Promise<string | null>;
96
+ /**
97
+ * Extract raw SID bytes from certificate extension.
98
+ *
99
+ * @param certPem - Certificate in PEM format
100
+ * @returns SID bytes or null if not found
101
+ */
102
+ export declare function extractSidFromCert(certPem: string): Promise<Uint8Array | null>;
103
+ /**
104
+ * Extract node ID from certificate extension.
105
+ *
106
+ * @param certPem - Certificate in PEM format
107
+ * @returns Node ID string or null if not found
108
+ */
109
+ export declare function extractNodeIdFromCert(certPem: string): Promise<string | null>;
110
+ /**
111
+ * Extract logical hosts from certificate private extension.
112
+ *
113
+ * @param certPem - Certificate in PEM format
114
+ * @returns List of logical host addresses, empty if none found
115
+ */
116
+ export declare function extractLogicalHostsFromCert(certPem: string): Promise<string[]>;
117
+ /**
118
+ * Extract the SID string from a SPIFFE ID.
119
+ *
120
+ * @param spiffeId - SPIFFE ID in format spiffe://trust-domain/nodes/<sid>
121
+ * @returns SID string (base62-encoded) or null if not a valid node SPIFFE ID
122
+ */
123
+ export declare function extractSidFromSpiffeId(spiffeId: string): string | null;
124
+ /**
125
+ * Verify that the SID in the certificate matches the expected physical path.
126
+ *
127
+ * @param certPem - Certificate in PEM format
128
+ * @param physicalPath - The expected physical path to verify against
129
+ * @returns True if SID matches computed hash of physical path, False otherwise
130
+ */
131
+ export declare function verifyCertSidIntegrity(certPem: string, physicalPath: string): Promise<boolean>;
132
+ //# sourceMappingURL=internal-ca-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-ca-service.d.ts","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/internal-ca-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwCH,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,eAAO,MAAM,OAAO,wBAAwB,CAAC;AAC7C,eAAO,MAAM,YAAY,wBAAwB,CAAC;AAClD,eAAO,MAAM,WAAW,wBAAwB,CAAC;AA2ejD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IAEnB,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,yDAAyD;IACzD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAS;IAE7C,OAAO,CAAC,QAAQ,CAAC,CAA0B;IAC3C,OAAO,CAAC,OAAO,CAAC,CAAY;IAC5B,OAAO,CAAC,WAAW,CAAC,CAA0B;IAC9C,OAAO,CAAC,UAAU,CAAC,CAAY;gBAEnB,OAAO,EAAE,uBAAuB;YAS9B,mBAAmB;YAiBnB,sBAAsB;IAuBpC,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,aAAa;IAOrB;;;;;;;;OAQG;IACG,gBAAgB,CACpB,GAAG,EAAE,yBAAyB,GAC7B,OAAO,CAAC,2BAA2B,CAAC;IAuCvC;;;;;;;;;;;OAWG;IACG,YAAY,CAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,MAAY,EACrB,iBAAiB,GAAE,MAAwB,GAC1C,OAAO,CAAC,MAAM,CAAC;IA6DlB;;;;;;;;OAQG;IACG,oBAAoB,CACxB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,GAAE,MAAa,GACrB,OAAO,CAAC,MAAM,CAAC;CA2CnB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CA8CtE;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBxB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAoB5B;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBxB;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,CAAC,CAsBnB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYtE;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAqBlB"}
@@ -0,0 +1,35 @@
1
+ export interface ValidateJwkX5cCertificateOptions {
2
+ jwk: Record<string, unknown>;
3
+ trustStorePem?: string | null;
4
+ enforceNameConstraints?: boolean;
5
+ strict?: boolean;
6
+ }
7
+ export interface ValidateJwkX5cCertificateResult {
8
+ isValid: boolean;
9
+ error?: string;
10
+ }
11
+ /**
12
+ * Temporary TypeScript port of validate_jwk_x5c_certificate.
13
+ *
14
+ * NOTE: The full certificate chain validation logic from the Python runtime
15
+ * is still being ported. This implementation performs lightweight structure
16
+ * checks and defers deep X.509 validation until the remaining modules are
17
+ * available.
18
+ */
19
+ export declare function validateJwkX5cCertificate(options: ValidateJwkX5cCertificateOptions): ValidateJwkX5cCertificateResult;
20
+ /**
21
+ * Extract public key from X.509 certificate chain.
22
+ *
23
+ * Parses the leaf certificate from an x5c array and extracts the raw public key bytes.
24
+ * For Ed25519 certificates, this returns the 32-byte public key.
25
+ *
26
+ * @param x5c - Array of base64-encoded DER certificates (leaf first)
27
+ * @param options - Validation options
28
+ * @returns The raw public key bytes from the leaf certificate
29
+ * @throws Error if certificate parsing or validation fails
30
+ */
31
+ export declare function publicKeyFromX5c(x5c: string[], options?: {
32
+ enforceNameConstraints?: boolean;
33
+ trustStorePem?: string;
34
+ }): Uint8Array;
35
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/util.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,gCAAgC;IAC/C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,+BAA+B,CA2CjC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,GAAE;IACP,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACnB,GACL,UAAU,CA4EZ"}
@@ -0,0 +1,29 @@
1
+ import { EncryptionManagerFactory, type EncryptionManagerConfig } from "@naylence/runtime";
2
+ import { type EncryptionManager, type EncryptionOptions } from "@naylence/runtime";
3
+ export interface ChannelEncryptionManagerConfig extends EncryptionManagerConfig {
4
+ readonly type: "ChannelEncryptionManager";
5
+ readonly priority: number;
6
+ readonly supportedAlgorithms: readonly string[];
7
+ readonly encryptionType: string;
8
+ }
9
+ export declare const FACTORY_META: {
10
+ readonly base: "EncryptionManagerFactory";
11
+ readonly key: "ChannelEncryptionManager";
12
+ };
13
+ export declare class ChannelEncryptionManagerFactory extends EncryptionManagerFactory<ChannelEncryptionManagerConfig> {
14
+ readonly type: "ChannelEncryptionManager";
15
+ readonly priority: number;
16
+ private readonly supportedAlgorithms;
17
+ private readonly encryptionType;
18
+ constructor(config?: Partial<ChannelEncryptionManagerConfig> | null);
19
+ getSupportedAlgorithms(): readonly string[];
20
+ getEncryptionType(): string;
21
+ supportsOptions(opts?: EncryptionOptions | null): boolean;
22
+ create(_config?: ChannelEncryptionManagerConfig | Record<string, unknown> | null, ...factoryArgs: unknown[]): Promise<EncryptionManager>;
23
+ private resolveDependencies;
24
+ private resolveSecureChannelManager;
25
+ private resolveNodeLike;
26
+ private resolveTaskSpawner;
27
+ }
28
+ export default ChannelEncryptionManagerFactory;
29
+ //# sourceMappingURL=channel-encryption-manager-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-encryption-manager-factory.d.ts","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACxB,KAAK,uBAAuB,EAE7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAa3B,MAAM,WAAW,8BACf,SAAQ,uBAAuB;IAC/B,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAID,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,qBAAa,+BAAgC,SAAQ,wBAAwB,CAAC,8BAA8B,CAAC;IAC3G,SAAgB,IAAI,6BAAoB;IACxC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAoB;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,MAAM,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,GAAG,IAAI;IAQ5D,sBAAsB,IAAI,SAAS,MAAM,EAAE;IAI3C,iBAAiB,IAAI,MAAM;IAI3B,eAAe,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO;IAWnD,MAAM,CACjB,OAAO,CAAC,EAAE,8BAA8B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACzE,GAAG,WAAW,EAAE,OAAO,EAAE,GACxB,OAAO,CAAC,iBAAiB,CAAC;IAiB7B,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,kBAAkB;CA0B3B;AAED,eAAe,+BAA+B,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { type FameEnvelope } from "@naylence/core";
2
+ import { EncryptionResult, type EncryptionManager, type EncryptionOptions } from "@naylence/runtime";
3
+ import type { SecureChannelManager } from "@naylence/runtime";
4
+ import { TaskSpawner } from "@naylence/runtime";
5
+ import type { NodeLike } from "@naylence/runtime";
6
+ type TaskSpawnerLike = Pick<TaskSpawner, "spawn">;
7
+ export interface ChannelEncryptionManagerDependencies {
8
+ readonly secureChannelManager?: SecureChannelManager | null;
9
+ readonly nodeLike?: NodeLike | null;
10
+ readonly taskSpawner?: TaskSpawnerLike | null;
11
+ }
12
+ export declare class ChannelEncryptionManager implements EncryptionManager {
13
+ private readonly secureChannelManager?;
14
+ private readonly nodeLike?;
15
+ private readonly taskSpawner;
16
+ private readonly pendingEnvelopes;
17
+ private readonly handshakeInProgress;
18
+ private readonly addrChannelMap;
19
+ constructor({ secureChannelManager, nodeLike, taskSpawner, }?: ChannelEncryptionManagerDependencies);
20
+ encryptEnvelope(envelope: FameEnvelope, opts?: EncryptionOptions | null): Promise<EncryptionResult>;
21
+ decryptEnvelope(envelope: FameEnvelope, opts?: EncryptionOptions | null): Promise<FameEnvelope>;
22
+ notifyChannelEstablished(channelId: string): Promise<void>;
23
+ notifyChannelFailed(channelId: string, reason?: string): Promise<void>;
24
+ /**
25
+ * Clear cached channel mappings for a destination.
26
+ * This should be called when routes are removed or channels are closed
27
+ * to prevent using stale channel references.
28
+ */
29
+ clearChannelCacheForDestination(destination: string): void;
30
+ private isChannelAlgorithm;
31
+ private isDataFrame;
32
+ private findExistingChannel;
33
+ private queueAndInitiateHandshake;
34
+ private initiateChannelHandshakeAsync;
35
+ private sendSecureOpenFrameAsync;
36
+ private deliverEnvelope;
37
+ private encryptWithChannel;
38
+ private serializePayload;
39
+ private extractCiphertext;
40
+ private deserializePayload;
41
+ private extractDestinationFromChannelId;
42
+ private handleFailedEnvelope;
43
+ private sendDeliveryNack;
44
+ private getChannelState;
45
+ private buildSystemReplyTo;
46
+ private generateChannelId;
47
+ private runAsyncTask;
48
+ private decodeNonceValue;
49
+ }
50
+ export {};
51
+ //# sourceMappingURL=channel-encryption-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-encryption-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/channel/channel-encryption-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,YAAY,EAOlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAclD,KAAK,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAiJlD,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAC/C;AAED,qBAAa,wBAAyB,YAAW,iBAAiB;IAChE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAA8B;IACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqC;IACtE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;gBAEhD,EACV,oBAA2B,EAC3B,QAAe,EACf,WAAkB,GACnB,GAAE,oCAAyC;IAO/B,eAAe,CAC1B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,iBAAiB,GAAG,IAAW,GACpC,OAAO,CAAC,gBAAgB,CAAC;IAiDf,eAAe,CAC1B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,iBAAiB,GAAG,IAAW,GACpC,OAAO,CAAC,YAAY,CAAC;IA8FX,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+D1D,mBAAmB,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,MAA2B,GAClC,OAAO,CAAC,IAAI,CAAC;IAqDhB;;;;OAIG;IACI,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAWjE,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,mBAAmB;YA0Bb,yBAAyB;YAsCzB,6BAA6B;YAyC7B,wBAAwB;YA4CxB,eAAe;IAe7B,OAAO,CAAC,kBAAkB;IAuD1B,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,+BAA+B;YAQzB,oBAAoB;YAiCpB,gBAAgB;IA4C9B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,gBAAgB;CA6CzB"}
@@ -0,0 +1,3 @@
1
+ export { ChannelEncryptionManager } from "./channel-encryption-manager.js";
2
+ export { ChannelEncryptionManagerFactory } from "./channel-encryption-manager-factory.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/channel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { EncryptionManagerFactory, type EncryptionManagerConfig, type EncryptionManager, type EncryptionOptions } from "@naylence/runtime";
2
+ export declare const FACTORY_META: {
3
+ readonly base: "EncryptionManagerFactory";
4
+ readonly key: "CompositeEncryptionManager";
5
+ };
6
+ export interface CompositeEncryptionManagerConfig extends EncryptionManagerConfig {
7
+ readonly type: "CompositeEncryptionManager";
8
+ readonly defaultAlgo?: string | null;
9
+ readonly supportedSealedAlgorithms?: readonly string[] | null;
10
+ readonly supportedChannelAlgorithms?: readonly string[] | null;
11
+ }
12
+ export declare class CompositeEncryptionManagerFactory extends EncryptionManagerFactory<CompositeEncryptionManagerConfig> {
13
+ readonly type: "CompositeEncryptionManager";
14
+ readonly isDefault = true;
15
+ readonly priority: number;
16
+ private readonly supportedAlgorithms;
17
+ private readonly encryptionType;
18
+ private readonly supportedSealedAlgorithms?;
19
+ private readonly supportedChannelAlgorithms?;
20
+ constructor(config?: Partial<CompositeEncryptionManagerConfig> | null);
21
+ getSupportedAlgorithms(): readonly string[];
22
+ getEncryptionType(): string;
23
+ supportsOptions(_opts?: EncryptionOptions | null): boolean;
24
+ create(config?: CompositeEncryptionManagerConfig | Record<string, unknown> | null, ...factoryArgs: unknown[]): Promise<EncryptionManager>;
25
+ private resolveDependencies;
26
+ private resolveSecureChannelManager;
27
+ private resolveKeyProvider;
28
+ private resolveCryptoProvider;
29
+ private resolveNodeLike;
30
+ }
31
+ export default CompositeEncryptionManagerFactory;
32
+ //# sourceMappingURL=composite-encryption-manager-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composite-encryption-manager-factory.d.ts","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/composite-encryption-manager-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACxB,KAAK,uBAAuB,EAE5B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAkB3B,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,MAAM,WAAW,gCACf,SAAQ,uBAAuB;IAC/B,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9D,QAAQ,CAAC,0BAA0B,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CAChE;AASD,qBAAa,iCAAkC,SAAQ,wBAAwB,CAAC,gCAAgC,CAAC;IAC/G,SAAgB,IAAI,+BAAoB;IACxC,SAAgB,SAAS,QAAQ;IACjC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAoB;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAA2B;IACtE,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAA2B;gBAE3D,MAAM,CAAC,EAAE,OAAO,CAAC,gCAAgC,CAAC,GAAG,IAAI;IAW9D,sBAAsB,IAAI,SAAS,MAAM,EAAE;IAI3C,iBAAiB,IAAI,MAAM;IAI3B,eAAe,CAAC,KAAK,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO;IAIpD,MAAM,CACjB,MAAM,CAAC,EAAE,gCAAgC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAC1E,GAAG,WAAW,EAAE,OAAO,EAAE,GACxB,OAAO,CAAC,iBAAiB,CAAC;IAwC7B,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,eAAe;CAWxB;AAED,eAAe,iCAAiC,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { FameEnvelope } from "@naylence/core";
2
+ import type { SecureChannelManager, CryptoProvider, KeyProvider, NodeEventListener, NodeLike, AttachInfo } from "@naylence/runtime";
3
+ import { EncryptionResult, type EncryptionManager, type EncryptionOptions } from "@naylence/runtime";
4
+ export interface CompositeEncryptionManagerDependencies {
5
+ readonly secureChannelManager?: SecureChannelManager | null;
6
+ readonly keyProvider: KeyProvider;
7
+ readonly cryptoProvider?: CryptoProvider | null;
8
+ readonly nodeLike?: NodeLike | null;
9
+ readonly supportedSealedAlgorithms?: readonly string[] | null;
10
+ readonly supportedChannelAlgorithms?: readonly string[] | null;
11
+ }
12
+ export declare class CompositeEncryptionManager implements EncryptionManager, NodeEventListener {
13
+ readonly priority = 1000;
14
+ private secureChannelManager;
15
+ private readonly keyProvider;
16
+ private readonly cryptoProvider;
17
+ private nodeLike;
18
+ private nodeReady;
19
+ private lastAttachInfo;
20
+ private readonly supportedSealedAlgorithms;
21
+ private readonly supportedChannelAlgorithms;
22
+ private readonly factoryRegistry;
23
+ private readonly managerInstances;
24
+ constructor({ secureChannelManager, keyProvider, cryptoProvider, nodeLike, supportedSealedAlgorithms, supportedChannelAlgorithms, }: CompositeEncryptionManagerDependencies);
25
+ encryptEnvelope(envelope: FameEnvelope, opts?: EncryptionOptions): Promise<EncryptionResult>;
26
+ decryptEnvelope(envelope: FameEnvelope, opts?: EncryptionOptions): Promise<FameEnvelope>;
27
+ notifyChannelEstablished(channelId: string): Promise<void>;
28
+ notifyChannelFailed(channelId: string, reason?: string): Promise<void>;
29
+ notifyKeyAvailable(keyId: string): Promise<void>;
30
+ onNodeStarted(node: NodeLike): Promise<void>;
31
+ onNodeAttachToUpstream(node: NodeLike, attachInfo: AttachInfo): Promise<void>;
32
+ onNodeStopped(node: NodeLike): Promise<void>;
33
+ private ensureDefaultManagers;
34
+ private getManagerForOptions;
35
+ private getManagerForAlgorithm;
36
+ private getOrCreateManager;
37
+ private notifyManagers;
38
+ private notifyNodeListeners;
39
+ private applyNodeContext;
40
+ private resolveFactoryKey;
41
+ /**
42
+ * Clear channel cache for a destination address.
43
+ * Delegates to channel encryption manager instances if available.
44
+ */
45
+ clearChannelCacheForDestination(destination: string): void;
46
+ /**
47
+ * Remove all channels for a destination.
48
+ * Delegates to secure channel manager if available.
49
+ */
50
+ removeChannelsForDestination(destination: string): number;
51
+ }
52
+ //# sourceMappingURL=composite-encryption-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composite-encryption-manager.d.ts","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/composite-encryption-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAGV,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAEvB,MAAM,mBAAmB,CAAC;AAgB3B,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9D,QAAQ,CAAC,0BAA0B,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CAChE;AAeD,qBAAa,0BACX,YAAW,iBAAiB,EAAE,iBAAiB;IAE/C,SAAgB,QAAQ,QAAQ;IAEhC,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAoB;IAC9D,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAoB;IAE/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyC;IACzE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwC;gBAE7D,EACV,oBAA2B,EAC3B,WAAW,EACX,cAAqB,EACrB,QAAe,EACf,yBAAqD,EACrD,0BAAuD,GACxD,EAAE,sCAAsC;IAW5B,eAAe,CAC1B,QAAQ,EAAE,YAAY,EACtB,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAgBf,eAAe,CAC1B,QAAQ,EAAE,YAAY,EACtB,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,YAAY,CAAC;IAsBX,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB1D,mBAAmB,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,SAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC;IA8BH,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBhD,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5C,sBAAsB,CACjC,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC;IAOH,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAS3C,qBAAqB;YAYrB,oBAAoB;YAcpB,sBAAsB;YAYtB,kBAAkB;YA4ClB,cAAc;YAyBd,mBAAmB;YAmBnB,gBAAgB;IAwC9B,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACI,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAsBjE;;;OAGG;IACI,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAsBjE"}
@@ -0,0 +1,23 @@
1
+ import { SecureChannelManagerFactory, type SecureChannelManagerConfig } from "@naylence/runtime";
2
+ import type { SecureChannelManager } from "@naylence/runtime";
3
+ export interface DefaultSecureChannelManagerConfig extends SecureChannelManagerConfig {
4
+ readonly type: "DefaultSecureChannelManager";
5
+ readonly channelTtlSeconds?: number;
6
+ readonly channelTtl?: number;
7
+ readonly channel_ttl?: number;
8
+ }
9
+ export declare const FACTORY_META: {
10
+ readonly base: "SecureChannelManagerFactory";
11
+ readonly key: "DefaultSecureChannelManager";
12
+ };
13
+ export declare class DefaultSecureChannelManagerFactory extends SecureChannelManagerFactory<DefaultSecureChannelManagerConfig> {
14
+ readonly type = "DefaultSecureChannelManager";
15
+ readonly isDefault = true;
16
+ readonly priority = 500;
17
+ create(config?: DefaultSecureChannelManagerConfig | Record<string, unknown> | null): Promise<SecureChannelManager>;
18
+ getSupportedAlgorithms(): readonly string[];
19
+ private resolveChannelTtl;
20
+ private toPositiveNumber;
21
+ }
22
+ export default DefaultSecureChannelManagerFactory;
23
+ //# sourceMappingURL=default-secure-channel-manager-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-secure-channel-manager-factory.d.ts","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/default-secure-channel-manager-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,2BAA2B,EAC3B,KAAK,0BAA0B,EAChC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,MAAM,WAAW,iCACf,SAAQ,0BAA0B;IAClC,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,qBAAa,kCAAmC,SAAQ,2BAA2B,CAAC,iCAAiC,CAAC;IACpH,SAAgB,IAAI,iCAAiC;IACrD,SAAgB,SAAS,QAAQ;IACjC,SAAgB,QAAQ,OAAO;IAElB,MAAM,CACjB,MAAM,GACF,iCAAiC,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,IAAW,GACd,OAAO,CAAC,oBAAoB,CAAC;IAOzB,sBAAsB,IAAI,SAAS,MAAM,EAAE;IAIlD,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,gBAAgB;CAczB;AAED,eAAe,kCAAkC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { DataFrame, SecureAcceptFrame, SecureCloseFrame, SecureOpenFrame } from "@naylence/core";
2
+ import type { SecureChannelManager, SecureChannelState } from "@naylence/runtime";
3
+ export interface DefaultSecureChannelManagerOptions {
4
+ readonly channelTtlSeconds?: number;
5
+ }
6
+ export declare class DefaultSecureChannelManager implements SecureChannelManager {
7
+ private readonly channelsMap;
8
+ private readonly ephemeralKeys;
9
+ private readonly channelTtlSeconds;
10
+ constructor(options?: DefaultSecureChannelManagerOptions);
11
+ get channels(): Readonly<Record<string, SecureChannelState>>;
12
+ generateOpenFrame(channelId: string, algorithm?: string): SecureOpenFrame;
13
+ handleOpenFrame(frame: SecureOpenFrame): Promise<SecureAcceptFrame>;
14
+ handleAcceptFrame(frame: SecureAcceptFrame): Promise<boolean>;
15
+ handleCloseFrame(frame: SecureCloseFrame): void;
16
+ isChannelEncrypted(frame: DataFrame): boolean;
17
+ hasChannel(channelId: string): boolean;
18
+ getChannelInfo(channelId: string): Record<string, unknown> | null;
19
+ closeChannel(channelId: string, reason?: string): SecureCloseFrame;
20
+ cleanupExpiredChannels(): number;
21
+ addChannel(channelId: string, channelState: SecureChannelState): void;
22
+ removeChannel(channelId: string): boolean;
23
+ /**
24
+ * Remove all channels for a given destination by matching channel ID prefix.
25
+ * Channel IDs typically follow the pattern: auto-<destination>-<random>
26
+ * This is used to cleanup stale channels when a route is removed/rebound.
27
+ * @param destination The destination address (e.g., "math@fame.fabric")
28
+ * @returns Number of channels removed
29
+ */
30
+ removeChannelsForDestination(destination: string): number;
31
+ private isSupportedAlgorithm;
32
+ private deriveChannelKey;
33
+ private createChannelState;
34
+ private cleanupEphemeralKey;
35
+ private currentTimeSeconds;
36
+ }
37
+ //# sourceMappingURL=default-secure-channel-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-secure-channel-manager.d.ts","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/default-secure-channel-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAqD3B,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,qBAAa,2BAA4B,YAAW,oBAAoB;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyC;IACrE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IACxE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;gBAE/B,OAAO,GAAE,kCAAuC;IAI5D,IAAW,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAElE;IAEM,iBAAiB,CACtB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAA0B,GACpC,eAAe;IAkBL,eAAe,CAC1B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,iBAAiB,CAAC;IA8DhB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IA+CnE,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAU/C,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAI7C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAiBjE,YAAY,CACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,MAAyB,GAChC,gBAAgB;IAcZ,sBAAsB,IAAI,MAAM;IAgBhC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,GAAG,IAAI;IAIrE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAQhD;;;;;;OAMG;IACI,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IA0BhE,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,kBAAkB;CAG3B"}
@@ -0,0 +1,34 @@
1
+ import { type EncryptionManagerFactory } from "@naylence/runtime";
2
+ import type { EncryptionOptions } from "@naylence/runtime";
3
+ type EncryptionFactoryInfo = {
4
+ readonly totalFactories: number;
5
+ readonly autoDiscovered: boolean;
6
+ readonly algorithmMappings: Record<string, string>;
7
+ readonly typeMappings: Record<string, string[]>;
8
+ };
9
+ export declare class EncryptionManagerFactoryRegistry {
10
+ private readonly factories;
11
+ private readonly algorithmToFactory;
12
+ private readonly typeToFactories;
13
+ private readonly factorySet;
14
+ private readonly autoDiscoveredFactories;
15
+ private autoDiscovered;
16
+ constructor(autoDiscover?: boolean);
17
+ private autoDiscoverFactories;
18
+ registerFactory(factory: EncryptionManagerFactory, options?: {
19
+ autoDiscovered?: boolean;
20
+ }): void;
21
+ getFactoryForAlgorithm(algorithm: string): EncryptionManagerFactory | undefined;
22
+ getFactoryForOptions(opts?: EncryptionOptions | null): EncryptionManagerFactory | undefined;
23
+ getFactoriesByType(encryptionType: string): readonly EncryptionManagerFactory[];
24
+ getAllSupportedAlgorithms(): readonly string[];
25
+ getRegistryInfo(): EncryptionFactoryInfo;
26
+ forceRediscovery(): void;
27
+ isAutoDiscovered(): boolean;
28
+ ensureInitialized(): void;
29
+ private ensureAutoDiscovery;
30
+ }
31
+ export declare function getEncryptionManagerFactoryRegistry(): EncryptionManagerFactoryRegistry;
32
+ export declare function registerEncryptionManagerFactory(factory: EncryptionManagerFactory): void;
33
+ export {};
34
+ //# sourceMappingURL=encryption-manager-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryption-manager-registry.d.ts","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/encryption-manager-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACjD,CAAC;AAMF,qBAAa,gCAAgC;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAG/B;IACJ,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG5B;IACJ,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuC;IAClE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CACF;IACtC,OAAO,CAAC,cAAc,CAAS;gBAEnB,YAAY,GAAE,OAAc;IAMxC,OAAO,CAAC,qBAAqB;IA4DtB,eAAe,CACpB,OAAO,EAAE,wBAAwB,EACjC,OAAO,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO,GACzC,IAAI;IAsCA,sBAAsB,CAC3B,SAAS,EAAE,MAAM,GAChB,wBAAwB,GAAG,SAAS;IAKhC,oBAAoB,CACzB,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAC9B,wBAAwB,GAAG,SAAS;IAgBhC,kBAAkB,CACvB,cAAc,EAAE,MAAM,GACrB,SAAS,wBAAwB,EAAE;IAK/B,yBAAyB,IAAI,SAAS,MAAM,EAAE;IAK9C,eAAe,IAAI,qBAAqB;IAoBxC,gBAAgB,IAAI,IAAI;IAmBxB,gBAAgB,IAAI,OAAO;IAI3B,iBAAiB,IAAI,IAAI;IAIhC,OAAO,CAAC,mBAAmB;CAK5B;AAID,wBAAgB,mCAAmC,IAAI,gCAAgC,CAGtF;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,wBAAwB,GAChC,IAAI,CAEN"}
@@ -0,0 +1,7 @@
1
+ export * as sealedEncryption from "./sealed/index.js";
2
+ export * as channelEncryption from "./channel/index.js";
3
+ export { DefaultSecureChannelManager, type DefaultSecureChannelManagerOptions, } from "./default-secure-channel-manager.js";
4
+ export { DefaultSecureChannelManagerFactory, type DefaultSecureChannelManagerConfig, FACTORY_META as DEFAULT_SECURE_CHANNEL_MANAGER_FACTORY_META, } from "./default-secure-channel-manager-factory.js";
5
+ export { CompositeEncryptionManager, type CompositeEncryptionManagerDependencies, } from "./composite-encryption-manager.js";
6
+ export { CompositeEncryptionManagerFactory, type CompositeEncryptionManagerConfig, } from "./composite-encryption-manager-factory.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,iBAAiB,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,2BAA2B,EAC3B,KAAK,kCAAkC,GACxC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,kCAAkC,EAClC,KAAK,iCAAiC,EACtC,YAAY,IAAI,2CAA2C,GAC5D,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,0BAA0B,EAC1B,KAAK,sCAAsC,GAC5C,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,iCAAiC,EACjC,KAAK,gCAAgC,GACtC,MAAM,2CAA2C,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { X25519EncryptionManager } from "./x25519-encryption-manager.js";
2
+ export { X25519EncryptionManagerFactory } from "./x25519-encryption-manager-factory.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/sealed/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { EncryptionManagerFactory, type EncryptionManagerConfig } from "@naylence/runtime";
2
+ import type { EncryptionManager, EncryptionOptions } from "@naylence/runtime";
3
+ export interface X25519EncryptionManagerConfig extends EncryptionManagerConfig {
4
+ readonly type: "X25519EncryptionManager";
5
+ readonly priority: number;
6
+ readonly supportedAlgorithms: readonly string[];
7
+ readonly encryptionType: string;
8
+ }
9
+ export declare const FACTORY_META: {
10
+ readonly base: "EncryptionManagerFactory";
11
+ readonly key: "X25519EncryptionManager";
12
+ };
13
+ export declare class X25519EncryptionManagerFactory extends EncryptionManagerFactory<X25519EncryptionManagerConfig> {
14
+ readonly type: "X25519EncryptionManager";
15
+ readonly priority: number;
16
+ private readonly supportedAlgorithms;
17
+ private readonly encryptionType;
18
+ constructor(config?: Partial<X25519EncryptionManagerConfig> | null);
19
+ getSupportedAlgorithms(): readonly string[];
20
+ getEncryptionType(): string;
21
+ supportsOptions(opts?: EncryptionOptions | null): boolean;
22
+ create(_config?: X25519EncryptionManagerConfig | Record<string, unknown> | null, ...factoryArgs: unknown[]): Promise<EncryptionManager>;
23
+ private resolveKeyProvider;
24
+ private resolveCryptoProvider;
25
+ private resolveNodeLike;
26
+ }
27
+ export default X25519EncryptionManagerFactory;
28
+ //# sourceMappingURL=x25519-encryption-manager-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x25519-encryption-manager-factory.d.ts","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACxB,KAAK,uBAAuB,EAE7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAM9E,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAC5E,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AASD,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,qBAAa,8BAA+B,SAAQ,wBAAwB,CAAC,6BAA6B,CAAC;IACzG,SAAgB,IAAI,4BAAoB;IACxC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAoB;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,MAAM,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAAG,IAAI;IAQ3D,sBAAsB,IAAI,SAAS,MAAM,EAAE;IAI3C,iBAAiB,IAAI,MAAM;IAI3B,eAAe,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO;IAgBnD,MAAM,CACjB,OAAO,CAAC,EAAE,6BAA6B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACxE,GAAG,WAAW,EAAE,OAAO,EAAE,GACxB,OAAO,CAAC,iBAAiB,CAAC;IAqB7B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,eAAe;CAaxB;AAED,eAAe,8BAA8B,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { type FameEnvelope } from "@naylence/core";
2
+ import { EncryptionResult, type EncryptionManager, type EncryptionOptions } from "@naylence/runtime";
3
+ import type { KeyProvider } from "@naylence/runtime";
4
+ import type { CryptoProvider } from "@naylence/runtime";
5
+ import { NodeLike } from "@naylence/runtime";
6
+ interface X25519EncryptionManagerDependencies {
7
+ readonly keyProvider: KeyProvider;
8
+ readonly nodeLike?: NodeLike | null;
9
+ readonly cryptoProvider?: CryptoProvider | null;
10
+ }
11
+ export declare class X25519EncryptionManager implements EncryptionManager {
12
+ private readonly keyProvider;
13
+ private readonly nodeLike?;
14
+ private readonly cryptoProvider?;
15
+ private readonly pendingEnvelopes;
16
+ private readonly keyRequestsInProgress;
17
+ constructor({ keyProvider, nodeLike, cryptoProvider, }: X25519EncryptionManagerDependencies);
18
+ encryptEnvelope(envelope: FameEnvelope, opts?: EncryptionOptions | null): Promise<EncryptionResult>;
19
+ decryptEnvelope(envelope: FameEnvelope, opts?: EncryptionOptions | null): Promise<FameEnvelope>;
20
+ notifyKeyAvailable(keyId: string): Promise<void>;
21
+ private encryptWithKey;
22
+ private resolveRecipientKey;
23
+ private resolvePrivateKey;
24
+ private queueEnvelopeForKey;
25
+ private lookupKeyById;
26
+ private safeGetKeyRecord;
27
+ private extractPublicKeyFromRecord;
28
+ private extractPrivateKeyFromRecord;
29
+ private decodeKeyMaterial;
30
+ private decodePemToRawKey;
31
+ private extractKeyFromOptions;
32
+ private toUint8Array;
33
+ private deriveTemporaryKeyId;
34
+ private extractRecipientKeyId;
35
+ private isDataFrameEnvelope;
36
+ private hasPayload;
37
+ private isDecryptableEnvelope;
38
+ private makeJsonSerializable;
39
+ private decodeBase64Flexible;
40
+ private getRecordValue;
41
+ }
42
+ export {};
43
+ //# sourceMappingURL=x25519-encryption-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x25519-encryption-manager.d.ts","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/sealed/x25519-encryption-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAOlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAM7C,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACjD;AAUD,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqC;IACtE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAqB;gBAE/C,EACV,WAAW,EACX,QAAe,EACf,cAAqB,GACtB,EAAE,mCAAmC;IAMzB,eAAe,CAC1B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,iBAAiB,GAAG,IAAW,GACpC,OAAO,CAAC,gBAAgB,CAAC;IAsCf,eAAe,CAC1B,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,iBAAiB,GAAG,IAAW,GACpC,OAAO,CAAC,YAAY,CAAC;IAuDX,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA+C/C,cAAc;YA4Cd,mBAAmB;YAgCnB,iBAAiB;YAyFjB,mBAAmB;YAuEnB,aAAa;YAab,gBAAgB;IAkB9B,OAAO,CAAC,0BAA0B;IAqBlC,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,oBAAoB;IAmC5B,OAAO,CAAC,oBAAoB;IA2C5B,OAAO,CAAC,cAAc;CAIvB"}
@@ -0,0 +1,6 @@
1
+ export * from "./cert/index.js";
2
+ export * from "./encryption/index.js";
3
+ export * from "./keys/index.js";
4
+ export * from "./signing/eddsa-envelope-verifier.js";
5
+ export { registerAdvancedSecurityFactories } from "./register-advanced-security-factories.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/naylence/fame/security/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sCAAsC,CAAC;AACrD,OAAO,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { X5CKeyManager, type X5CKeyManagerOptions } from "./x5c-key-manager.js";
2
+ export { X5CKeyManagerFactory, FACTORY_META as X5C_KEY_MANAGER_FACTORY_META, type X5CKeyManagerConfig, } from "./x5c-key-manager-factory.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/keys/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EACL,oBAAoB,EACpB,YAAY,IAAI,4BAA4B,EAC5C,KAAK,mBAAmB,GACzB,MAAM,8BAA8B,CAAC"}