xypriss 1.0.1 → 1.1.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 (570) hide show
  1. package/README.md +187 -84
  2. package/dist/cjs/ServerFactory.js +1 -1
  3. package/dist/cjs/cache/SecureCacheAdapter.js +2 -2
  4. package/dist/cjs/cluster/cluster-manager.js +1 -1
  5. package/dist/cjs/cluster/index.js +30 -30
  6. package/dist/cjs/cluster/modules/AutoScaler.js +2 -2
  7. package/dist/cjs/cluster/modules/ClusterPersistenceManager.js +3 -3
  8. package/dist/cjs/cluster/modules/HealthMonitor.js +2 -2
  9. package/dist/cjs/cluster/modules/IPCManager.js +2 -2
  10. package/dist/cjs/cluster/modules/MetricsCollector.js +1 -1
  11. package/dist/cjs/cluster/modules/WorkerManager.js +2 -2
  12. package/dist/cjs/encryption/EncryptionService.js +12 -12
  13. package/dist/cjs/encryption/EncryptionService.js.map +1 -1
  14. package/dist/cjs/index.js +1 -1
  15. package/dist/cjs/middleware/safe-json-middleware.js +1 -1
  16. package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js +727 -0
  17. package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js.map +1 -0
  18. package/dist/cjs/mods/security/src/algorithms/registry.js +83 -0
  19. package/dist/cjs/mods/security/src/algorithms/registry.js.map +1 -0
  20. package/dist/cjs/mods/security/src/components/attestation.js +1065 -0
  21. package/dist/cjs/mods/security/src/components/attestation.js.map +1 -0
  22. package/dist/cjs/mods/security/src/components/cache/FastLRU.js +323 -0
  23. package/dist/cjs/mods/security/src/components/cache/FastLRU.js.map +1 -0
  24. package/dist/cjs/mods/security/src/components/cache/UFSIMC.js +1131 -0
  25. package/dist/cjs/mods/security/src/components/cache/UFSIMC.js.map +1 -0
  26. package/dist/cjs/mods/security/src/components/cache/cacheSys.js +624 -0
  27. package/dist/cjs/mods/security/src/components/cache/cacheSys.js.map +1 -0
  28. package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js +136 -0
  29. package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js.map +1 -0
  30. package/dist/cjs/mods/security/src/components/cache/config/cache.config.js +39 -0
  31. package/dist/cjs/mods/security/src/components/cache/config/cache.config.js.map +1 -0
  32. package/dist/cjs/mods/security/src/components/cache/index.js +459 -0
  33. package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -0
  34. package/dist/cjs/mods/security/src/components/cache/useCache.js +243 -0
  35. package/dist/cjs/mods/security/src/components/cache/useCache.js.map +1 -0
  36. package/dist/cjs/mods/security/src/components/canary-tokens.js +351 -0
  37. package/dist/cjs/mods/security/src/components/canary-tokens.js.map +1 -0
  38. package/dist/cjs/mods/security/src/components/entropy-augmentation.js +478 -0
  39. package/dist/cjs/mods/security/src/components/entropy-augmentation.js.map +1 -0
  40. package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js +338 -0
  41. package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js.map +1 -0
  42. package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js +536 -0
  43. package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js.map +1 -0
  44. package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js +631 -0
  45. package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js.map +1 -0
  46. package/dist/cjs/mods/security/src/components/fortified-function/const/exec.const.js +18 -0
  47. package/dist/cjs/mods/security/src/components/fortified-function/const/exec.const.js.map +1 -0
  48. package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-config.js +356 -0
  49. package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-config.js.map +1 -0
  50. package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-function-core.js +520 -0
  51. package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-function-core.js.map +1 -0
  52. package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-logger.js +246 -0
  53. package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-logger.js.map +1 -0
  54. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/api-manager.js +189 -0
  55. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/api-manager.js.map +1 -0
  56. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/cache-manager.js +107 -0
  57. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/cache-manager.js.map +1 -0
  58. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-context.js +105 -0
  59. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-context.js.map +1 -0
  60. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-engine.js +127 -0
  61. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-engine.js.map +1 -0
  62. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-router.js +93 -0
  63. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-router.js.map +1 -0
  64. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/memory-manager.js +147 -0
  65. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/memory-manager.js.map +1 -0
  66. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/security-manager.js +102 -0
  67. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/security-manager.js.map +1 -0
  68. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/stats-manager.js +159 -0
  69. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/stats-manager.js.map +1 -0
  70. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/timing-manager.js +125 -0
  71. package/dist/cjs/mods/security/src/components/fortified-function/core/mods/timing-manager.js.map +1 -0
  72. package/dist/cjs/mods/security/src/components/fortified-function/engines/analytics-engine.js +370 -0
  73. package/dist/cjs/mods/security/src/components/fortified-function/engines/analytics-engine.js.map +1 -0
  74. package/dist/cjs/mods/security/src/components/fortified-function/engines/execution-engine.js +402 -0
  75. package/dist/cjs/mods/security/src/components/fortified-function/engines/execution-engine.js.map +1 -0
  76. package/dist/cjs/mods/security/src/components/fortified-function/index.js +172 -0
  77. package/dist/cjs/mods/security/src/components/fortified-function/index.js.map +1 -0
  78. package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-monitor.js +240 -0
  79. package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-monitor.js.map +1 -0
  80. package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-timer.js +188 -0
  81. package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-timer.js.map +1 -0
  82. package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js +253 -0
  83. package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -0
  84. package/dist/cjs/mods/security/src/components/fortified-function/serializer/safe-serializer.js +350 -0
  85. package/dist/cjs/mods/security/src/components/fortified-function/serializer/safe-serializer.js.map +1 -0
  86. package/dist/cjs/mods/security/src/components/fortified-function/smart-cache.js +693 -0
  87. package/dist/cjs/mods/security/src/components/fortified-function/smart-cache.js.map +1 -0
  88. package/dist/cjs/mods/security/src/components/fortified-function/types/types.js +16 -0
  89. package/dist/cjs/mods/security/src/components/fortified-function/types/types.js.map +1 -0
  90. package/dist/cjs/mods/security/src/components/fortified-function/utils/utils.js +68 -0
  91. package/dist/cjs/mods/security/src/components/fortified-function/utils/utils.js.map +1 -0
  92. package/dist/cjs/mods/security/src/components/memory-hard.js +922 -0
  93. package/dist/cjs/mods/security/src/components/memory-hard.js.map +1 -0
  94. package/dist/cjs/mods/security/src/components/post-quantum.js +323 -0
  95. package/dist/cjs/mods/security/src/components/post-quantum.js.map +1 -0
  96. package/dist/cjs/mods/security/src/components/runtime-verification.js +645 -0
  97. package/dist/cjs/mods/security/src/components/runtime-verification.js.map +1 -0
  98. package/dist/cjs/mods/security/src/components/secure-array/core/secure-array-core.js +1572 -0
  99. package/dist/cjs/mods/security/src/components/secure-array/core/secure-array-core.js.map +1 -0
  100. package/dist/cjs/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js +330 -0
  101. package/dist/cjs/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js.map +1 -0
  102. package/dist/cjs/mods/security/src/components/secure-array/events/event-manager.js +270 -0
  103. package/dist/cjs/mods/security/src/components/secure-array/events/event-manager.js.map +1 -0
  104. package/dist/cjs/mods/security/src/components/secure-array/index.js +66 -0
  105. package/dist/cjs/mods/security/src/components/secure-array/index.js.map +1 -0
  106. package/dist/cjs/mods/security/src/components/secure-array/metadata/metadata-manager.js +331 -0
  107. package/dist/cjs/mods/security/src/components/secure-array/metadata/metadata-manager.js.map +1 -0
  108. package/dist/cjs/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js +390 -0
  109. package/dist/cjs/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js.map +1 -0
  110. package/dist/cjs/mods/security/src/components/secure-array/types/index.js +87 -0
  111. package/dist/cjs/mods/security/src/components/secure-array/types/index.js.map +1 -0
  112. package/dist/cjs/mods/security/src/components/secure-array/utils/id-generator.js +80 -0
  113. package/dist/cjs/mods/security/src/components/secure-array/utils/id-generator.js.map +1 -0
  114. package/dist/cjs/mods/security/src/components/secure-array/utils/validation.js +275 -0
  115. package/dist/cjs/mods/security/src/components/secure-array/utils/validation.js.map +1 -0
  116. package/dist/cjs/mods/security/src/components/secure-memory.js +906 -0
  117. package/dist/cjs/mods/security/src/components/secure-memory.js.map +1 -0
  118. package/dist/cjs/mods/security/src/components/secure-object/core/secure-object-core.js +1605 -0
  119. package/dist/cjs/mods/security/src/components/secure-object/core/secure-object-core.js.map +1 -0
  120. package/dist/cjs/mods/security/src/components/secure-object/encryption/crypto-handler.js +362 -0
  121. package/dist/cjs/mods/security/src/components/secure-object/encryption/crypto-handler.js.map +1 -0
  122. package/dist/cjs/mods/security/src/components/secure-object/encryption/sensitive-keys.js +206 -0
  123. package/dist/cjs/mods/security/src/components/secure-object/encryption/sensitive-keys.js.map +1 -0
  124. package/dist/cjs/mods/security/src/components/secure-object/events/event-manager.js +197 -0
  125. package/dist/cjs/mods/security/src/components/secure-object/events/event-manager.js.map +1 -0
  126. package/dist/cjs/mods/security/src/components/secure-object/index.js +67 -0
  127. package/dist/cjs/mods/security/src/components/secure-object/index.js.map +1 -0
  128. package/dist/cjs/mods/security/src/components/secure-object/metadata/metadata-manager.js +183 -0
  129. package/dist/cjs/mods/security/src/components/secure-object/metadata/metadata-manager.js.map +1 -0
  130. package/dist/cjs/mods/security/src/components/secure-object/serialization/serialization-handler.js +197 -0
  131. package/dist/cjs/mods/security/src/components/secure-object/serialization/serialization-handler.js.map +1 -0
  132. package/dist/cjs/mods/security/src/components/secure-object/utils/id-generator.js +64 -0
  133. package/dist/cjs/mods/security/src/components/secure-object/utils/id-generator.js.map +1 -0
  134. package/dist/cjs/mods/security/src/components/secure-object/utils/validation.js +239 -0
  135. package/dist/cjs/mods/security/src/components/secure-object/utils/validation.js.map +1 -0
  136. package/dist/cjs/mods/security/src/components/secure-serialization.js +772 -0
  137. package/dist/cjs/mods/security/src/components/secure-serialization.js.map +1 -0
  138. package/dist/cjs/mods/security/src/components/secure-string/advanced/entropy-analyzer.js +308 -0
  139. package/dist/cjs/mods/security/src/components/secure-string/advanced/entropy-analyzer.js.map +1 -0
  140. package/dist/cjs/mods/security/src/components/secure-string/advanced/performance-monitor.js +335 -0
  141. package/dist/cjs/mods/security/src/components/secure-string/advanced/performance-monitor.js.map +1 -0
  142. package/dist/cjs/mods/security/src/components/secure-string/advanced/quantum-safe.js +245 -0
  143. package/dist/cjs/mods/security/src/components/secure-string/advanced/quantum-safe.js.map +1 -0
  144. package/dist/cjs/mods/security/src/components/secure-string/buffer/buffer-manager.js +205 -0
  145. package/dist/cjs/mods/security/src/components/secure-string/buffer/buffer-manager.js.map +1 -0
  146. package/dist/cjs/mods/security/src/components/secure-string/core/secure-string-core.js +788 -0
  147. package/dist/cjs/mods/security/src/components/secure-string/core/secure-string-core.js.map +1 -0
  148. package/dist/cjs/mods/security/src/components/secure-string/crypto/crypto-operations.js +319 -0
  149. package/dist/cjs/mods/security/src/components/secure-string/crypto/crypto-operations.js.map +1 -0
  150. package/dist/cjs/mods/security/src/components/secure-string/operations/comparison-operations.js +221 -0
  151. package/dist/cjs/mods/security/src/components/secure-string/operations/comparison-operations.js.map +1 -0
  152. package/dist/cjs/mods/security/src/components/secure-string/operations/string-operations.js +234 -0
  153. package/dist/cjs/mods/security/src/components/secure-string/operations/string-operations.js.map +1 -0
  154. package/dist/cjs/mods/security/src/components/secure-string/types/index.js +41 -0
  155. package/dist/cjs/mods/security/src/components/secure-string/types/index.js.map +1 -0
  156. package/dist/cjs/mods/security/src/components/secure-string/validation/string-validator.js +334 -0
  157. package/dist/cjs/mods/security/src/components/secure-string/validation/string-validator.js.map +1 -0
  158. package/dist/cjs/mods/security/src/components/side-channel.js +146 -0
  159. package/dist/cjs/mods/security/src/components/side-channel.js.map +1 -0
  160. package/dist/cjs/mods/security/src/components/tamper-evident-logging.js +391 -0
  161. package/dist/cjs/mods/security/src/components/tamper-evident-logging.js.map +1 -0
  162. package/dist/cjs/mods/security/src/const/buffer.const.js +15 -0
  163. package/dist/cjs/mods/security/src/const/buffer.const.js.map +1 -0
  164. package/dist/cjs/mods/security/src/core/crypto.js +722 -0
  165. package/dist/cjs/mods/security/src/core/crypto.js.map +1 -0
  166. package/dist/cjs/mods/security/src/core/hash/hash-advanced.js +388 -0
  167. package/dist/cjs/mods/security/src/core/hash/hash-advanced.js.map +1 -0
  168. package/dist/cjs/mods/security/src/core/hash/hash-core.js +376 -0
  169. package/dist/cjs/mods/security/src/core/hash/hash-core.js.map +1 -0
  170. package/dist/cjs/mods/security/src/core/hash/hash-entropy.js +307 -0
  171. package/dist/cjs/mods/security/src/core/hash/hash-entropy.js.map +1 -0
  172. package/dist/cjs/mods/security/src/core/hash/hash-security.js +372 -0
  173. package/dist/cjs/mods/security/src/core/hash/hash-security.js.map +1 -0
  174. package/dist/cjs/mods/security/src/core/hash/hash-types.js +16 -0
  175. package/dist/cjs/mods/security/src/core/hash/hash-types.js.map +1 -0
  176. package/dist/cjs/mods/security/src/core/hash/hash-utils.js +328 -0
  177. package/dist/cjs/mods/security/src/core/hash/hash-utils.js.map +1 -0
  178. package/dist/cjs/mods/security/src/core/hash/hash-validator.js +312 -0
  179. package/dist/cjs/mods/security/src/core/hash/hash-validator.js.map +1 -0
  180. package/dist/cjs/mods/security/src/core/hash.js +25 -0
  181. package/dist/cjs/mods/security/src/core/hash.js.map +1 -0
  182. package/dist/cjs/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js +135 -0
  183. package/dist/cjs/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js.map +1 -0
  184. package/dist/cjs/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js +293 -0
  185. package/dist/cjs/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js.map +1 -0
  186. package/dist/cjs/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js +317 -0
  187. package/dist/cjs/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js.map +1 -0
  188. package/dist/cjs/mods/security/src/core/keys/keys-core.js +201 -0
  189. package/dist/cjs/mods/security/src/core/keys/keys-core.js.map +1 -0
  190. package/dist/cjs/mods/security/src/core/keys/keys-logger.js +234 -0
  191. package/dist/cjs/mods/security/src/core/keys/keys-logger.js.map +1 -0
  192. package/dist/cjs/mods/security/src/core/keys/keys-types.js +65 -0
  193. package/dist/cjs/mods/security/src/core/keys/keys-types.js.map +1 -0
  194. package/dist/cjs/mods/security/src/core/keys/keys-utils.js +322 -0
  195. package/dist/cjs/mods/security/src/core/keys/keys-utils.js.map +1 -0
  196. package/dist/cjs/mods/security/src/core/keys.js +136 -0
  197. package/dist/cjs/mods/security/src/core/keys.js.map +1 -0
  198. package/dist/cjs/mods/security/src/core/password/index.js +122 -0
  199. package/dist/cjs/mods/security/src/core/password/index.js.map +1 -0
  200. package/dist/cjs/mods/security/src/core/password/password-algorithms.js +397 -0
  201. package/dist/cjs/mods/security/src/core/password/password-algorithms.js.map +1 -0
  202. package/dist/cjs/mods/security/src/core/password/password-core.js +294 -0
  203. package/dist/cjs/mods/security/src/core/password/password-core.js.map +1 -0
  204. package/dist/cjs/mods/security/src/core/password/password-generator.js +365 -0
  205. package/dist/cjs/mods/security/src/core/password/password-generator.js.map +1 -0
  206. package/dist/cjs/mods/security/src/core/password/password-migration.js +237 -0
  207. package/dist/cjs/mods/security/src/core/password/password-migration.js.map +1 -0
  208. package/dist/cjs/mods/security/src/core/password/password-security.js +534 -0
  209. package/dist/cjs/mods/security/src/core/password/password-security.js.map +1 -0
  210. package/dist/cjs/mods/security/src/core/password/password-types.js +39 -0
  211. package/dist/cjs/mods/security/src/core/password/password-types.js.map +1 -0
  212. package/dist/cjs/mods/security/src/core/password/password-utils.js +651 -0
  213. package/dist/cjs/mods/security/src/core/password/password-utils.js.map +1 -0
  214. package/dist/cjs/mods/security/src/core/password/swlist.js +1122 -0
  215. package/dist/cjs/mods/security/src/core/password/swlist.js.map +1 -0
  216. package/dist/cjs/mods/security/src/core/random/random-core.js +328 -0
  217. package/dist/cjs/mods/security/src/core/random/random-core.js.map +1 -0
  218. package/dist/cjs/mods/security/src/core/random/random-crypto.js +339 -0
  219. package/dist/cjs/mods/security/src/core/random/random-crypto.js.map +1 -0
  220. package/dist/cjs/mods/security/src/core/random/random-entropy.js +388 -0
  221. package/dist/cjs/mods/security/src/core/random/random-entropy.js.map +1 -0
  222. package/dist/cjs/mods/security/src/core/random/random-generators.js +344 -0
  223. package/dist/cjs/mods/security/src/core/random/random-generators.js.map +1 -0
  224. package/dist/cjs/mods/security/src/core/random/random-sources.js +426 -0
  225. package/dist/cjs/mods/security/src/core/random/random-sources.js.map +1 -0
  226. package/dist/cjs/mods/security/src/core/random/random-tokens.js +309 -0
  227. package/dist/cjs/mods/security/src/core/random/random-tokens.js.map +1 -0
  228. package/dist/cjs/mods/security/src/core/random/random-types.js +36 -0
  229. package/dist/cjs/mods/security/src/core/random/random-types.js.map +1 -0
  230. package/dist/cjs/mods/security/src/core/validators.js +200 -0
  231. package/dist/cjs/mods/security/src/core/validators.js.map +1 -0
  232. package/dist/cjs/mods/security/src/helpers/Uint8Array.js +335 -0
  233. package/dist/cjs/mods/security/src/helpers/Uint8Array.js.map +1 -0
  234. package/dist/cjs/mods/security/src/helpers/createEnu.js +27 -0
  235. package/dist/cjs/mods/security/src/helpers/createEnu.js.map +1 -0
  236. package/dist/cjs/mods/security/src/index.js +417 -0
  237. package/dist/cjs/mods/security/src/index.js.map +1 -0
  238. package/dist/cjs/mods/security/src/types/global.js +51 -0
  239. package/dist/cjs/mods/security/src/types/global.js.map +1 -0
  240. package/dist/cjs/mods/security/src/types/secure-mem.type.js +100 -0
  241. package/dist/cjs/mods/security/src/types/secure-mem.type.js.map +1 -0
  242. package/dist/cjs/mods/security/src/types/secure-memory.js +20 -0
  243. package/dist/cjs/mods/security/src/types/secure-memory.js.map +1 -0
  244. package/dist/cjs/mods/security/src/types.js +63 -0
  245. package/dist/cjs/mods/security/src/types.js.map +1 -0
  246. package/dist/cjs/mods/security/src/utils/CryptoAlgorithmUtils.js +71 -0
  247. package/dist/cjs/mods/security/src/utils/CryptoAlgorithmUtils.js.map +1 -0
  248. package/dist/cjs/mods/security/src/utils/constants.js +111 -0
  249. package/dist/cjs/mods/security/src/utils/constants.js.map +1 -0
  250. package/dist/cjs/mods/security/src/utils/dataConverter.js +74 -0
  251. package/dist/cjs/mods/security/src/utils/dataConverter.js.map +1 -0
  252. package/dist/cjs/mods/security/src/utils/encoding.js +290 -0
  253. package/dist/cjs/mods/security/src/utils/encoding.js.map +1 -0
  254. package/dist/cjs/mods/security/src/utils/errorHandler.js +140 -0
  255. package/dist/cjs/mods/security/src/utils/errorHandler.js.map +1 -0
  256. package/dist/cjs/mods/security/src/utils/memory/config-manager.js +282 -0
  257. package/dist/cjs/mods/security/src/utils/memory/config-manager.js.map +1 -0
  258. package/dist/cjs/mods/security/src/utils/memory/event-manager.js +277 -0
  259. package/dist/cjs/mods/security/src/utils/memory/event-manager.js.map +1 -0
  260. package/dist/cjs/mods/security/src/utils/memory/index.js +162 -0
  261. package/dist/cjs/mods/security/src/utils/memory/index.js.map +1 -0
  262. package/dist/cjs/mods/security/src/utils/memory/memory-manager.js +888 -0
  263. package/dist/cjs/mods/security/src/utils/memory/memory-manager.js.map +1 -0
  264. package/dist/cjs/mods/security/src/utils/memory/memory-pool.js +356 -0
  265. package/dist/cjs/mods/security/src/utils/memory/memory-pool.js.map +1 -0
  266. package/dist/cjs/mods/security/src/utils/memory/reference-tracker.js +376 -0
  267. package/dist/cjs/mods/security/src/utils/memory/reference-tracker.js.map +1 -0
  268. package/dist/cjs/mods/security/src/utils/memory/types.js +56 -0
  269. package/dist/cjs/mods/security/src/utils/memory/types.js.map +1 -0
  270. package/dist/cjs/mods/security/src/utils/patterns.js +127 -0
  271. package/dist/cjs/mods/security/src/utils/patterns.js.map +1 -0
  272. package/dist/cjs/mods/security/src/utils/performanceMonitor.js +249 -0
  273. package/dist/cjs/mods/security/src/utils/performanceMonitor.js.map +1 -0
  274. package/dist/cjs/mods/security/src/utils/stats.js +182 -0
  275. package/dist/cjs/mods/security/src/utils/stats.js.map +1 -0
  276. package/dist/cjs/security-middleware.js +15 -15
  277. package/dist/cjs/server/components/fastapi/UltraFastRequestProcessor.js +1 -1
  278. package/dist/cjs/server/components/fastapi/console/ConsoleInterceptor.js +23 -23
  279. package/dist/cjs/server/components/fastapi/middlewares/MiddlewareAPI.js +1 -1
  280. package/dist/cjs/server/optimization/RequestPreCompiler.js +1 -1
  281. package/dist/cjs/server/plugins/PluginRegistry.js +1 -1
  282. package/dist/cjs/server/plugins/core/CachePlugin.js +7 -7
  283. package/dist/cjs/server/plugins/core/PerformancePlugin.js +2 -2
  284. package/dist/cjs/server/plugins/core/SecurityPlugin.js +10 -10
  285. package/dist/cjs/smart-routes.js +1 -1
  286. package/dist/esm/ServerFactory.js +1 -1
  287. package/dist/esm/cache/SecureCacheAdapter.js +2 -2
  288. package/dist/esm/cluster/cluster-manager.js +1 -1
  289. package/dist/esm/cluster/index.js +30 -30
  290. package/dist/esm/cluster/modules/AutoScaler.js +2 -2
  291. package/dist/esm/cluster/modules/ClusterPersistenceManager.js +3 -3
  292. package/dist/esm/cluster/modules/HealthMonitor.js +2 -2
  293. package/dist/esm/cluster/modules/IPCManager.js +2 -2
  294. package/dist/esm/cluster/modules/MetricsCollector.js +1 -1
  295. package/dist/esm/cluster/modules/WorkerManager.js +2 -2
  296. package/dist/esm/encryption/EncryptionService.js +12 -12
  297. package/dist/esm/encryption/EncryptionService.js.map +1 -1
  298. package/dist/esm/index.js +1 -1
  299. package/dist/esm/middleware/safe-json-middleware.js +1 -1
  300. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +705 -0
  301. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -0
  302. package/dist/esm/mods/security/src/algorithms/registry.js +81 -0
  303. package/dist/esm/mods/security/src/algorithms/registry.js.map +1 -0
  304. package/dist/esm/mods/security/src/components/attestation.js +1059 -0
  305. package/dist/esm/mods/security/src/components/attestation.js.map +1 -0
  306. package/dist/esm/mods/security/src/components/cache/FastLRU.js +320 -0
  307. package/dist/esm/mods/security/src/components/cache/FastLRU.js.map +1 -0
  308. package/dist/esm/mods/security/src/components/cache/UFSIMC.js +1109 -0
  309. package/dist/esm/mods/security/src/components/cache/UFSIMC.js.map +1 -0
  310. package/dist/esm/mods/security/src/components/cache/cacheSys.js +622 -0
  311. package/dist/esm/mods/security/src/components/cache/cacheSys.js.map +1 -0
  312. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +111 -0
  313. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -0
  314. package/dist/esm/mods/security/src/components/cache/config/cache.config.js +36 -0
  315. package/dist/esm/mods/security/src/components/cache/config/cache.config.js.map +1 -0
  316. package/dist/esm/mods/security/src/components/cache/index.js +449 -0
  317. package/dist/esm/mods/security/src/components/cache/index.js.map +1 -0
  318. package/dist/esm/mods/security/src/components/cache/useCache.js +240 -0
  319. package/dist/esm/mods/security/src/components/cache/useCache.js.map +1 -0
  320. package/dist/esm/mods/security/src/components/canary-tokens.js +346 -0
  321. package/dist/esm/mods/security/src/components/canary-tokens.js.map +1 -0
  322. package/dist/esm/mods/security/src/components/entropy-augmentation.js +476 -0
  323. package/dist/esm/mods/security/src/components/entropy-augmentation.js.map +1 -0
  324. package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js +336 -0
  325. package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js.map +1 -0
  326. package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js +534 -0
  327. package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js.map +1 -0
  328. package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js +629 -0
  329. package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js.map +1 -0
  330. package/dist/esm/mods/security/src/components/fortified-function/const/exec.const.js +11 -0
  331. package/dist/esm/mods/security/src/components/fortified-function/const/exec.const.js.map +1 -0
  332. package/dist/esm/mods/security/src/components/fortified-function/core/fortified-config.js +351 -0
  333. package/dist/esm/mods/security/src/components/fortified-function/core/fortified-config.js.map +1 -0
  334. package/dist/esm/mods/security/src/components/fortified-function/core/fortified-function-core.js +518 -0
  335. package/dist/esm/mods/security/src/components/fortified-function/core/fortified-function-core.js.map +1 -0
  336. package/dist/esm/mods/security/src/components/fortified-function/core/fortified-logger.js +243 -0
  337. package/dist/esm/mods/security/src/components/fortified-function/core/fortified-logger.js.map +1 -0
  338. package/dist/esm/mods/security/src/components/fortified-function/core/mods/api-manager.js +187 -0
  339. package/dist/esm/mods/security/src/components/fortified-function/core/mods/api-manager.js.map +1 -0
  340. package/dist/esm/mods/security/src/components/fortified-function/core/mods/cache-manager.js +105 -0
  341. package/dist/esm/mods/security/src/components/fortified-function/core/mods/cache-manager.js.map +1 -0
  342. package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-context.js +103 -0
  343. package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-context.js.map +1 -0
  344. package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-engine.js +125 -0
  345. package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-engine.js.map +1 -0
  346. package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-router.js +91 -0
  347. package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-router.js.map +1 -0
  348. package/dist/esm/mods/security/src/components/fortified-function/core/mods/memory-manager.js +145 -0
  349. package/dist/esm/mods/security/src/components/fortified-function/core/mods/memory-manager.js.map +1 -0
  350. package/dist/esm/mods/security/src/components/fortified-function/core/mods/security-manager.js +100 -0
  351. package/dist/esm/mods/security/src/components/fortified-function/core/mods/security-manager.js.map +1 -0
  352. package/dist/esm/mods/security/src/components/fortified-function/core/mods/stats-manager.js +157 -0
  353. package/dist/esm/mods/security/src/components/fortified-function/core/mods/stats-manager.js.map +1 -0
  354. package/dist/esm/mods/security/src/components/fortified-function/core/mods/timing-manager.js +123 -0
  355. package/dist/esm/mods/security/src/components/fortified-function/core/mods/timing-manager.js.map +1 -0
  356. package/dist/esm/mods/security/src/components/fortified-function/engines/analytics-engine.js +368 -0
  357. package/dist/esm/mods/security/src/components/fortified-function/engines/analytics-engine.js.map +1 -0
  358. package/dist/esm/mods/security/src/components/fortified-function/engines/execution-engine.js +400 -0
  359. package/dist/esm/mods/security/src/components/fortified-function/engines/execution-engine.js.map +1 -0
  360. package/dist/esm/mods/security/src/components/fortified-function/index.js +165 -0
  361. package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -0
  362. package/dist/esm/mods/security/src/components/fortified-function/performance/performance-monitor.js +238 -0
  363. package/dist/esm/mods/security/src/components/fortified-function/performance/performance-monitor.js.map +1 -0
  364. package/dist/esm/mods/security/src/components/fortified-function/performance/performance-timer.js +186 -0
  365. package/dist/esm/mods/security/src/components/fortified-function/performance/performance-timer.js.map +1 -0
  366. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +251 -0
  367. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -0
  368. package/dist/esm/mods/security/src/components/fortified-function/serializer/safe-serializer.js +344 -0
  369. package/dist/esm/mods/security/src/components/fortified-function/serializer/safe-serializer.js.map +1 -0
  370. package/dist/esm/mods/security/src/components/fortified-function/smart-cache.js +691 -0
  371. package/dist/esm/mods/security/src/components/fortified-function/smart-cache.js.map +1 -0
  372. package/dist/esm/mods/security/src/components/fortified-function/types/types.js +14 -0
  373. package/dist/esm/mods/security/src/components/fortified-function/types/types.js.map +1 -0
  374. package/dist/esm/mods/security/src/components/fortified-function/utils/utils.js +66 -0
  375. package/dist/esm/mods/security/src/components/fortified-function/utils/utils.js.map +1 -0
  376. package/dist/esm/mods/security/src/components/memory-hard.js +919 -0
  377. package/dist/esm/mods/security/src/components/memory-hard.js.map +1 -0
  378. package/dist/esm/mods/security/src/components/post-quantum.js +316 -0
  379. package/dist/esm/mods/security/src/components/post-quantum.js.map +1 -0
  380. package/dist/esm/mods/security/src/components/runtime-verification.js +643 -0
  381. package/dist/esm/mods/security/src/components/runtime-verification.js.map +1 -0
  382. package/dist/esm/mods/security/src/components/secure-array/core/secure-array-core.js +1570 -0
  383. package/dist/esm/mods/security/src/components/secure-array/core/secure-array-core.js.map +1 -0
  384. package/dist/esm/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js +328 -0
  385. package/dist/esm/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js.map +1 -0
  386. package/dist/esm/mods/security/src/components/secure-array/events/event-manager.js +268 -0
  387. package/dist/esm/mods/security/src/components/secure-array/events/event-manager.js.map +1 -0
  388. package/dist/esm/mods/security/src/components/secure-array/index.js +61 -0
  389. package/dist/esm/mods/security/src/components/secure-array/index.js.map +1 -0
  390. package/dist/esm/mods/security/src/components/secure-array/metadata/metadata-manager.js +329 -0
  391. package/dist/esm/mods/security/src/components/secure-array/metadata/metadata-manager.js.map +1 -0
  392. package/dist/esm/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js +388 -0
  393. package/dist/esm/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js.map +1 -0
  394. package/dist/esm/mods/security/src/components/secure-array/types/index.js +84 -0
  395. package/dist/esm/mods/security/src/components/secure-array/types/index.js.map +1 -0
  396. package/dist/esm/mods/security/src/components/secure-array/utils/id-generator.js +78 -0
  397. package/dist/esm/mods/security/src/components/secure-array/utils/id-generator.js.map +1 -0
  398. package/dist/esm/mods/security/src/components/secure-array/utils/validation.js +273 -0
  399. package/dist/esm/mods/security/src/components/secure-array/utils/validation.js.map +1 -0
  400. package/dist/esm/mods/security/src/components/secure-memory.js +884 -0
  401. package/dist/esm/mods/security/src/components/secure-memory.js.map +1 -0
  402. package/dist/esm/mods/security/src/components/secure-object/core/secure-object-core.js +1603 -0
  403. package/dist/esm/mods/security/src/components/secure-object/core/secure-object-core.js.map +1 -0
  404. package/dist/esm/mods/security/src/components/secure-object/encryption/crypto-handler.js +360 -0
  405. package/dist/esm/mods/security/src/components/secure-object/encryption/crypto-handler.js.map +1 -0
  406. package/dist/esm/mods/security/src/components/secure-object/encryption/sensitive-keys.js +203 -0
  407. package/dist/esm/mods/security/src/components/secure-object/encryption/sensitive-keys.js.map +1 -0
  408. package/dist/esm/mods/security/src/components/secure-object/events/event-manager.js +195 -0
  409. package/dist/esm/mods/security/src/components/secure-object/events/event-manager.js.map +1 -0
  410. package/dist/esm/mods/security/src/components/secure-object/index.js +63 -0
  411. package/dist/esm/mods/security/src/components/secure-object/index.js.map +1 -0
  412. package/dist/esm/mods/security/src/components/secure-object/metadata/metadata-manager.js +181 -0
  413. package/dist/esm/mods/security/src/components/secure-object/metadata/metadata-manager.js.map +1 -0
  414. package/dist/esm/mods/security/src/components/secure-object/serialization/serialization-handler.js +195 -0
  415. package/dist/esm/mods/security/src/components/secure-object/serialization/serialization-handler.js.map +1 -0
  416. package/dist/esm/mods/security/src/components/secure-object/utils/id-generator.js +62 -0
  417. package/dist/esm/mods/security/src/components/secure-object/utils/id-generator.js.map +1 -0
  418. package/dist/esm/mods/security/src/components/secure-object/utils/validation.js +237 -0
  419. package/dist/esm/mods/security/src/components/secure-object/utils/validation.js.map +1 -0
  420. package/dist/esm/mods/security/src/components/secure-serialization.js +769 -0
  421. package/dist/esm/mods/security/src/components/secure-serialization.js.map +1 -0
  422. package/dist/esm/mods/security/src/components/secure-string/advanced/entropy-analyzer.js +306 -0
  423. package/dist/esm/mods/security/src/components/secure-string/advanced/entropy-analyzer.js.map +1 -0
  424. package/dist/esm/mods/security/src/components/secure-string/advanced/performance-monitor.js +333 -0
  425. package/dist/esm/mods/security/src/components/secure-string/advanced/performance-monitor.js.map +1 -0
  426. package/dist/esm/mods/security/src/components/secure-string/advanced/quantum-safe.js +243 -0
  427. package/dist/esm/mods/security/src/components/secure-string/advanced/quantum-safe.js.map +1 -0
  428. package/dist/esm/mods/security/src/components/secure-string/buffer/buffer-manager.js +203 -0
  429. package/dist/esm/mods/security/src/components/secure-string/buffer/buffer-manager.js.map +1 -0
  430. package/dist/esm/mods/security/src/components/secure-string/core/secure-string-core.js +786 -0
  431. package/dist/esm/mods/security/src/components/secure-string/core/secure-string-core.js.map +1 -0
  432. package/dist/esm/mods/security/src/components/secure-string/crypto/crypto-operations.js +298 -0
  433. package/dist/esm/mods/security/src/components/secure-string/crypto/crypto-operations.js.map +1 -0
  434. package/dist/esm/mods/security/src/components/secure-string/operations/comparison-operations.js +219 -0
  435. package/dist/esm/mods/security/src/components/secure-string/operations/comparison-operations.js.map +1 -0
  436. package/dist/esm/mods/security/src/components/secure-string/operations/string-operations.js +232 -0
  437. package/dist/esm/mods/security/src/components/secure-string/operations/string-operations.js.map +1 -0
  438. package/dist/esm/mods/security/src/components/secure-string/types/index.js +37 -0
  439. package/dist/esm/mods/security/src/components/secure-string/types/index.js.map +1 -0
  440. package/dist/esm/mods/security/src/components/secure-string/validation/string-validator.js +332 -0
  441. package/dist/esm/mods/security/src/components/secure-string/validation/string-validator.js.map +1 -0
  442. package/dist/esm/mods/security/src/components/side-channel.js +142 -0
  443. package/dist/esm/mods/security/src/components/side-channel.js.map +1 -0
  444. package/dist/esm/mods/security/src/components/tamper-evident-logging.js +389 -0
  445. package/dist/esm/mods/security/src/components/tamper-evident-logging.js.map +1 -0
  446. package/dist/esm/mods/security/src/const/buffer.const.js +13 -0
  447. package/dist/esm/mods/security/src/const/buffer.const.js.map +1 -0
  448. package/dist/esm/mods/security/src/core/crypto.js +720 -0
  449. package/dist/esm/mods/security/src/core/crypto.js.map +1 -0
  450. package/dist/esm/mods/security/src/core/hash/hash-advanced.js +367 -0
  451. package/dist/esm/mods/security/src/core/hash/hash-advanced.js.map +1 -0
  452. package/dist/esm/mods/security/src/core/hash/hash-core.js +355 -0
  453. package/dist/esm/mods/security/src/core/hash/hash-core.js.map +1 -0
  454. package/dist/esm/mods/security/src/core/hash/hash-entropy.js +286 -0
  455. package/dist/esm/mods/security/src/core/hash/hash-entropy.js.map +1 -0
  456. package/dist/esm/mods/security/src/core/hash/hash-security.js +351 -0
  457. package/dist/esm/mods/security/src/core/hash/hash-security.js.map +1 -0
  458. package/dist/esm/mods/security/src/core/hash/hash-types.js +16 -0
  459. package/dist/esm/mods/security/src/core/hash/hash-types.js.map +1 -0
  460. package/dist/esm/mods/security/src/core/hash/hash-utils.js +307 -0
  461. package/dist/esm/mods/security/src/core/hash/hash-utils.js.map +1 -0
  462. package/dist/esm/mods/security/src/core/hash/hash-validator.js +310 -0
  463. package/dist/esm/mods/security/src/core/hash/hash-validator.js.map +1 -0
  464. package/dist/esm/mods/security/src/core/hash.js +9 -0
  465. package/dist/esm/mods/security/src/core/hash.js.map +1 -0
  466. package/dist/esm/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js +133 -0
  467. package/dist/esm/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js.map +1 -0
  468. package/dist/esm/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js +272 -0
  469. package/dist/esm/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js.map +1 -0
  470. package/dist/esm/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js +296 -0
  471. package/dist/esm/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js.map +1 -0
  472. package/dist/esm/mods/security/src/core/keys/keys-core.js +199 -0
  473. package/dist/esm/mods/security/src/core/keys/keys-core.js.map +1 -0
  474. package/dist/esm/mods/security/src/core/keys/keys-logger.js +231 -0
  475. package/dist/esm/mods/security/src/core/keys/keys-logger.js.map +1 -0
  476. package/dist/esm/mods/security/src/core/keys/keys-types.js +63 -0
  477. package/dist/esm/mods/security/src/core/keys/keys-types.js.map +1 -0
  478. package/dist/esm/mods/security/src/core/keys/keys-utils.js +316 -0
  479. package/dist/esm/mods/security/src/core/keys/keys-utils.js.map +1 -0
  480. package/dist/esm/mods/security/src/core/keys.js +134 -0
  481. package/dist/esm/mods/security/src/core/keys.js.map +1 -0
  482. package/dist/esm/mods/security/src/core/password/index.js +110 -0
  483. package/dist/esm/mods/security/src/core/password/index.js.map +1 -0
  484. package/dist/esm/mods/security/src/core/password/password-algorithms.js +395 -0
  485. package/dist/esm/mods/security/src/core/password/password-algorithms.js.map +1 -0
  486. package/dist/esm/mods/security/src/core/password/password-core.js +292 -0
  487. package/dist/esm/mods/security/src/core/password/password-core.js.map +1 -0
  488. package/dist/esm/mods/security/src/core/password/password-generator.js +363 -0
  489. package/dist/esm/mods/security/src/core/password/password-generator.js.map +1 -0
  490. package/dist/esm/mods/security/src/core/password/password-migration.js +235 -0
  491. package/dist/esm/mods/security/src/core/password/password-migration.js.map +1 -0
  492. package/dist/esm/mods/security/src/core/password/password-security.js +532 -0
  493. package/dist/esm/mods/security/src/core/password/password-security.js.map +1 -0
  494. package/dist/esm/mods/security/src/core/password/password-types.js +34 -0
  495. package/dist/esm/mods/security/src/core/password/password-types.js.map +1 -0
  496. package/dist/esm/mods/security/src/core/password/password-utils.js +630 -0
  497. package/dist/esm/mods/security/src/core/password/password-utils.js.map +1 -0
  498. package/dist/esm/mods/security/src/core/password/swlist.js +1120 -0
  499. package/dist/esm/mods/security/src/core/password/swlist.js.map +1 -0
  500. package/dist/esm/mods/security/src/core/random/random-core.js +326 -0
  501. package/dist/esm/mods/security/src/core/random/random-core.js.map +1 -0
  502. package/dist/esm/mods/security/src/core/random/random-crypto.js +337 -0
  503. package/dist/esm/mods/security/src/core/random/random-crypto.js.map +1 -0
  504. package/dist/esm/mods/security/src/core/random/random-entropy.js +367 -0
  505. package/dist/esm/mods/security/src/core/random/random-entropy.js.map +1 -0
  506. package/dist/esm/mods/security/src/core/random/random-generators.js +323 -0
  507. package/dist/esm/mods/security/src/core/random/random-generators.js.map +1 -0
  508. package/dist/esm/mods/security/src/core/random/random-sources.js +405 -0
  509. package/dist/esm/mods/security/src/core/random/random-sources.js.map +1 -0
  510. package/dist/esm/mods/security/src/core/random/random-tokens.js +307 -0
  511. package/dist/esm/mods/security/src/core/random/random-tokens.js.map +1 -0
  512. package/dist/esm/mods/security/src/core/random/random-types.js +27 -0
  513. package/dist/esm/mods/security/src/core/random/random-types.js.map +1 -0
  514. package/dist/esm/mods/security/src/core/validators.js +198 -0
  515. package/dist/esm/mods/security/src/core/validators.js.map +1 -0
  516. package/dist/esm/mods/security/src/helpers/Uint8Array.js +333 -0
  517. package/dist/esm/mods/security/src/helpers/Uint8Array.js.map +1 -0
  518. package/dist/esm/mods/security/src/helpers/createEnu.js +25 -0
  519. package/dist/esm/mods/security/src/helpers/createEnu.js.map +1 -0
  520. package/dist/esm/mods/security/src/index.js +373 -0
  521. package/dist/esm/mods/security/src/index.js.map +1 -0
  522. package/dist/esm/mods/security/src/types/global.js +49 -0
  523. package/dist/esm/mods/security/src/types/global.js.map +1 -0
  524. package/dist/esm/mods/security/src/types/secure-mem.type.js +96 -0
  525. package/dist/esm/mods/security/src/types/secure-mem.type.js.map +1 -0
  526. package/dist/esm/mods/security/src/types/secure-memory.js +20 -0
  527. package/dist/esm/mods/security/src/types/secure-memory.js.map +1 -0
  528. package/dist/esm/mods/security/src/types.js +63 -0
  529. package/dist/esm/mods/security/src/types.js.map +1 -0
  530. package/dist/esm/mods/security/src/utils/CryptoAlgorithmUtils.js +69 -0
  531. package/dist/esm/mods/security/src/utils/CryptoAlgorithmUtils.js.map +1 -0
  532. package/dist/esm/mods/security/src/utils/constants.js +105 -0
  533. package/dist/esm/mods/security/src/utils/constants.js.map +1 -0
  534. package/dist/esm/mods/security/src/utils/dataConverter.js +72 -0
  535. package/dist/esm/mods/security/src/utils/dataConverter.js.map +1 -0
  536. package/dist/esm/mods/security/src/utils/encoding.js +279 -0
  537. package/dist/esm/mods/security/src/utils/encoding.js.map +1 -0
  538. package/dist/esm/mods/security/src/utils/errorHandler.js +137 -0
  539. package/dist/esm/mods/security/src/utils/errorHandler.js.map +1 -0
  540. package/dist/esm/mods/security/src/utils/memory/config-manager.js +280 -0
  541. package/dist/esm/mods/security/src/utils/memory/config-manager.js.map +1 -0
  542. package/dist/esm/mods/security/src/utils/memory/event-manager.js +275 -0
  543. package/dist/esm/mods/security/src/utils/memory/event-manager.js.map +1 -0
  544. package/dist/esm/mods/security/src/utils/memory/index.js +141 -0
  545. package/dist/esm/mods/security/src/utils/memory/index.js.map +1 -0
  546. package/dist/esm/mods/security/src/utils/memory/memory-manager.js +886 -0
  547. package/dist/esm/mods/security/src/utils/memory/memory-manager.js.map +1 -0
  548. package/dist/esm/mods/security/src/utils/memory/memory-pool.js +354 -0
  549. package/dist/esm/mods/security/src/utils/memory/memory-pool.js.map +1 -0
  550. package/dist/esm/mods/security/src/utils/memory/reference-tracker.js +374 -0
  551. package/dist/esm/mods/security/src/utils/memory/reference-tracker.js.map +1 -0
  552. package/dist/esm/mods/security/src/utils/memory/types.js +56 -0
  553. package/dist/esm/mods/security/src/utils/memory/types.js.map +1 -0
  554. package/dist/esm/mods/security/src/utils/patterns.js +124 -0
  555. package/dist/esm/mods/security/src/utils/patterns.js.map +1 -0
  556. package/dist/esm/mods/security/src/utils/performanceMonitor.js +246 -0
  557. package/dist/esm/mods/security/src/utils/performanceMonitor.js.map +1 -0
  558. package/dist/esm/mods/security/src/utils/stats.js +180 -0
  559. package/dist/esm/mods/security/src/utils/stats.js.map +1 -0
  560. package/dist/esm/security-middleware.js +15 -15
  561. package/dist/esm/server/components/fastapi/UltraFastRequestProcessor.js +1 -1
  562. package/dist/esm/server/components/fastapi/console/ConsoleInterceptor.js +23 -23
  563. package/dist/esm/server/components/fastapi/middlewares/MiddlewareAPI.js +1 -1
  564. package/dist/esm/server/optimization/RequestPreCompiler.js +1 -1
  565. package/dist/esm/server/plugins/PluginRegistry.js +1 -1
  566. package/dist/esm/server/plugins/core/CachePlugin.js +7 -7
  567. package/dist/esm/server/plugins/core/PerformancePlugin.js +2 -2
  568. package/dist/esm/server/plugins/core/SecurityPlugin.js +10 -10
  569. package/dist/esm/smart-routes.js +1 -1
  570. package/package.json +2 -2
@@ -0,0 +1,243 @@
1
+ 'use strict';
2
+
3
+ var events = require('events');
4
+ var cache_config = require('./config/cache.config.js');
5
+ var UFSIMC = require('./UFSIMC.js');
6
+
7
+ /**
8
+ * Secure In-Memory Cache (SIMC) v2.0
9
+ *
10
+ * Backward-compatible wrapper around UFSIMC that provides the same API as SIMC v1.0
11
+ * while delivering significantly performance and advanced features.
12
+ */
13
+ /**
14
+ * Secure In-Memory Cache (SIMC) v2.0
15
+ *
16
+ * Now powered by Ultra-Fast Secure In-Memory Cache (UFSIMC) for significantly improved performance
17
+ * while maintaining 100% backward compatibility with existing SIMC API.
18
+ *
19
+ * Performance improvements over SIMC v1.0:
20
+ * - 10-50x faster cache operations through optimized algorithms
21
+ * - Advanced hotness tracking and intelligent caching strategies
22
+ * - Optimized memory management with object pooling
23
+ * - Smart compression and encryption with minimal overhead
24
+ * - Real-time performance monitoring and adaptive optimization
25
+ * - Sub-millisecond cache hits with predictive prefetching
26
+ *
27
+ * Backward Compatibility:
28
+ * All existing SIMC code will work without any changes while automatically benefiting
29
+ * from UFSIMC's performance and advanced features. No API changes required.
30
+ *
31
+ * Migration Benefits:
32
+ * - Existing applications get instant performance boost
33
+ * - Same security guarantees with encryption
34
+ * - Better memory efficiency and automatic cleanup
35
+ * - Advanced monitoring and health diagnostics
36
+ * - Zero code changes required for existing users
37
+ */
38
+ class SIMC extends events.EventEmitter {
39
+ constructor() {
40
+ super();
41
+ // Initialize UFSIMC with SIMC-compatible settings
42
+ this.ultraCache = new UFSIMC.UltraFastSecureInMemoryCache(cache_config.CONFIG.MAX_ENTRIES);
43
+ // Forward UFSIMC events to maintain compatibility
44
+ this.setupEventForwarding();
45
+ }
46
+ /**
47
+ * Setup event forwarding from UFSIMC to maintain compatibility
48
+ */
49
+ setupEventForwarding() {
50
+ // Forward all UFSIMC events to SIMC listeners
51
+ this.ultraCache.on("key_rotation", (data) => this.emit("key_rotation", data));
52
+ this.ultraCache.on("memory_pressure", (data) => this.emit("memory_pressure", data));
53
+ this.ultraCache.on("cache_overflow", (data) => this.emit("cache_overflow", data));
54
+ this.ultraCache.on("suspicious_access", (data) => this.emit("suspicious_access", data));
55
+ this.ultraCache.on("integrity_violation", (data) => this.emit("integrity_violation", data));
56
+ this.ultraCache.on("cleanup_completed", (data) => this.emit("cleanup_completed", data));
57
+ this.ultraCache.on("encryption_failure", (data) => this.emit("encryption_failure", data));
58
+ this.ultraCache.on("shutdown", (data) => this.emit("shutdown", data));
59
+ }
60
+ /**
61
+ * Convert SIMC options to UFSIMC-compatible format
62
+ */
63
+ convertToUFSIMCOptions(options = {}) {
64
+ return {
65
+ ttl: options.ttl,
66
+ compress: options.compress,
67
+ encrypt: options.encrypt,
68
+ priority: "normal", // Default priority for UFSIMC
69
+ tags: [], // Default tags for UFSIMC
70
+ };
71
+ }
72
+ /**
73
+ * Convert UFSIMC stats to SIMC-compatible format
74
+ */
75
+ convertToSIMCStats() {
76
+ const ultraStats = this.ultraCache.getUltraStats;
77
+ return {
78
+ hits: ultraStats.hits,
79
+ misses: ultraStats.misses,
80
+ evictions: ultraStats.evictions,
81
+ totalSize: ultraStats.memoryUsage.used,
82
+ entryCount: ultraStats.entryCount,
83
+ hitRate: ultraStats.hitRate,
84
+ totalAccesses: ultraStats.totalAccesses,
85
+ size: ultraStats.size,
86
+ capacity: ultraStats.capacity,
87
+ memoryUsage: {
88
+ used: ultraStats.memoryUsage.used,
89
+ limit: ultraStats.memoryUsage.limit,
90
+ percentage: ultraStats.memoryUsage.percentage,
91
+ },
92
+ };
93
+ }
94
+ /**
95
+ * Validate and normalize cache key
96
+ */
97
+ validateKey(key) {
98
+ if (!key || typeof key !== "string") {
99
+ throw new Error("Cache key must be a non-empty string");
100
+ }
101
+ if (key.length > 250) {
102
+ throw new Error("Cache key too long (max 250 characters)");
103
+ }
104
+ return key.trim();
105
+ }
106
+ // ========================================
107
+ // PUBLIC API - SIMC COMPATIBLE METHODS
108
+ // ========================================
109
+ /**
110
+ * Store data in cache with optional TTL and compression
111
+ *
112
+ * with UFSIMC's intelligent caching strategies while maintaining
113
+ * the exact same API as SIMC v1.0 for seamless backward compatibility.
114
+ *
115
+ * @param key - Unique identifier for the cached data
116
+ * @param data - Data to cache (any serializable type)
117
+ * @param options - Optional cache configuration
118
+ * @returns Promise resolving to true if successful
119
+ */
120
+ async set(key, data, options = {}) {
121
+ try {
122
+ const normalizedKey = this.validateKey(key);
123
+ const ufsimcOptions = this.convertToUFSIMCOptions(options);
124
+ return await this.ultraCache.set(normalizedKey, data, ufsimcOptions);
125
+ }
126
+ catch (error) {
127
+ console.error("Cache set error:", error);
128
+ return false;
129
+ }
130
+ }
131
+ /**
132
+ * Retrieve data from cache
133
+ *
134
+ * with UFSIMC's predictive prefetching and hotness tracking
135
+ * for significantly faster retrieval times.
136
+ *
137
+ * @param key - Unique identifier for the cached data
138
+ * @returns Promise resolving to cached data or null
139
+ */
140
+ async get(key) {
141
+ try {
142
+ const normalizedKey = this.validateKey(key);
143
+ return await this.ultraCache.get(normalizedKey);
144
+ }
145
+ catch (error) {
146
+ console.error("Cache get error:", error);
147
+ return null;
148
+ }
149
+ }
150
+ /**
151
+ * Delete entry from cache
152
+ *
153
+ * @param key - Cache key to remove
154
+ * @returns True if entry was deleted, false otherwise
155
+ */
156
+ delete(key) {
157
+ try {
158
+ const normalizedKey = this.validateKey(key);
159
+ return this.ultraCache.delete(normalizedKey);
160
+ }
161
+ catch (error) {
162
+ console.error("Cache delete error:", error);
163
+ return false;
164
+ }
165
+ }
166
+ /**
167
+ * Check if key exists in cache
168
+ *
169
+ * @param key - Cache key to check
170
+ * @returns True if key exists and is not expired
171
+ */
172
+ has(key) {
173
+ try {
174
+ const normalizedKey = this.validateKey(key);
175
+ return this.ultraCache.has(normalizedKey);
176
+ }
177
+ catch (error) {
178
+ console.error("Cache has error:", error);
179
+ return false;
180
+ }
181
+ }
182
+ /**
183
+ * Clear all cache entries
184
+ */
185
+ clear() {
186
+ this.ultraCache.clear();
187
+ }
188
+ /**
189
+ * Get cache statistics in SIMC v1.0 compatible format
190
+ *
191
+ * with additional performance metrics from UFSIMC
192
+ * while maintaining the same return structure for compatibility.
193
+ *
194
+ * @returns Cache statistics
195
+ */
196
+ get getStats() {
197
+ return this.convertToSIMCStats();
198
+ }
199
+ /**
200
+ * Get cache size information
201
+ *
202
+ * @returns Object with entries count and total bytes
203
+ */
204
+ get size() {
205
+ const stats = this.convertToSIMCStats();
206
+ return {
207
+ entries: stats.entryCount,
208
+ bytes: stats.totalSize,
209
+ };
210
+ }
211
+ /**
212
+ * Clean up expired entries
213
+ *
214
+ * with UFSIMC's intelligent cleanup strategies.
215
+ * Note: UFSIMC handles cleanup automatically, this method is for compatibility.
216
+ *
217
+ * @returns Number of entries cleaned up (estimated based on stats)
218
+ */
219
+ cleanup() {
220
+ // UFSIMC handles cleanup automatically through its internal mechanisms
221
+ // We return 0 for compatibility since we can't access the private cleanup method
222
+ // The actual cleanup happens automatically in the background
223
+ const statsBefore = this.convertToSIMCStats();
224
+ // Trigger a manual check by accessing stats which may trigger internal cleanup
225
+ const statsAfter = this.convertToSIMCStats();
226
+ // Return estimated cleanup count (this is for compatibility only)
227
+ return Math.max(0, statsBefore.entryCount - statsAfter.entryCount);
228
+ }
229
+ /**
230
+ * Shutdown cache and cleanup resources
231
+ *
232
+ * Properly shuts down UFSIMC and cleans up all resources.
233
+ */
234
+ shutdown() {
235
+ this.ultraCache.shutdown();
236
+ this.removeAllListeners();
237
+ process.exit(1);
238
+ }
239
+ }
240
+
241
+ exports.SecureInMemoryCache = SIMC;
242
+ exports.default = SIMC;
243
+ //# sourceMappingURL=useCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCache.js","sources":["../../../../../../../mods/security/src/components/cache/useCache.ts"],"sourcesContent":[null],"names":["EventEmitter","UFSIMC","CONFIG"],"mappings":"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"}
@@ -0,0 +1,351 @@
1
+ 'use strict';
2
+
3
+ var randomCore = require('../core/random/random-core.js');
4
+ require('../core/random/random-types.js');
5
+ require('crypto');
6
+ require('../core/random/random-sources.js');
7
+ require('nehonix-uri-processor');
8
+ var encoding = require('../utils/encoding.js');
9
+ require('../utils/memory/index.js');
10
+ require('../types.js');
11
+ var hashCore = require('../core/hash/hash-core.js');
12
+ require('../core/hash/hash-types.js');
13
+ require('../core/hash/hash-security.js');
14
+ require('../core/hash/hash-advanced.js');
15
+ require('../algorithms/hash-algorithms.js');
16
+ var https = require('https');
17
+
18
+ /**
19
+ * Canary Tokens Module
20
+ *
21
+ * This module provides functionality for creating and managing canary tokens,
22
+ * which are special tokens that can detect unauthorized access or data breaches.
23
+ *
24
+ * Canary tokens can be embedded in sensitive data or systems, and when accessed,
25
+ * they trigger alerts or other actions to notify of potential security breaches.
26
+ */
27
+ // Store for registered canaries
28
+ const canaries = new Map();
29
+ // Store for canary callbacks
30
+ const callbacks = new Map();
31
+ /**
32
+ * Creates a canary token
33
+ *
34
+ * @param options - Canary options
35
+ * @returns Canary token
36
+ */
37
+ function createCanary(options = {}) {
38
+ // Generate a unique ID
39
+ const id = encoding.bufferToHex(randomCore.SecureRandom.getRandomBytes(16));
40
+ // Generate a key if not provided
41
+ const key = options.key || encoding.bufferToHex(randomCore.SecureRandom.getRandomBytes(32));
42
+ // Create canary data
43
+ const canaryData = {
44
+ id,
45
+ created: Date.now(),
46
+ };
47
+ // Add expiration if provided
48
+ if (options.expiresIn) {
49
+ canaryData.expires = canaryData.created + options.expiresIn;
50
+ }
51
+ // Add context if provided
52
+ if (options.context) {
53
+ canaryData.context = options.context;
54
+ }
55
+ // Add notify URL if provided
56
+ if (options.notifyUrl) {
57
+ canaryData.notifyUrl = options.notifyUrl;
58
+ }
59
+ // Register the canary
60
+ canaries.set(id, canaryData);
61
+ // Register the callback if provided
62
+ if (options.callback) {
63
+ callbacks.set(id, options.callback);
64
+ }
65
+ // Create the token
66
+ const tokenData = JSON.stringify({
67
+ id,
68
+ key,
69
+ });
70
+ // Encrypt the token
71
+ return encryptCanary(tokenData, key);
72
+ }
73
+ /**
74
+ * Triggers a canary token
75
+ *
76
+ * @param token - Canary token to trigger
77
+ * @param context - Additional context for the trigger
78
+ * @returns True if the canary was triggered successfully
79
+ */
80
+ function triggerCanary(token, context = {}) {
81
+ try {
82
+ // Decrypt the token
83
+ const tokenData = decryptCanary(token, "");
84
+ if (!tokenData) {
85
+ return false;
86
+ }
87
+ // Parse the token data
88
+ const { id, key } = JSON.parse(tokenData);
89
+ // Verify with the correct key
90
+ const verifiedData = decryptCanary(token, key);
91
+ if (!verifiedData) {
92
+ return false;
93
+ }
94
+ // Get the canary data
95
+ const canaryData = canaries.get(id);
96
+ if (!canaryData) {
97
+ return false;
98
+ }
99
+ // Check if expired
100
+ if (canaryData.expires && Date.now() > canaryData.expires) {
101
+ return false;
102
+ }
103
+ // Combine contexts
104
+ const triggerContext = {
105
+ ...canaryData.context,
106
+ ...context,
107
+ triggeredAt: Date.now(),
108
+ canaryId: id,
109
+ };
110
+ // Execute the callback if registered
111
+ const callback = callbacks.get(id);
112
+ if (callback) {
113
+ callback(triggerContext);
114
+ }
115
+ // Send notification if URL is provided
116
+ if (canaryData.notifyUrl) {
117
+ // Send an actual HTTP request to notify about the triggered canary
118
+ try {
119
+ const notificationData = JSON.stringify({
120
+ canaryId: id,
121
+ triggeredAt: Date.now(),
122
+ context: triggerContext,
123
+ });
124
+ // Use fetch API if available (browser environment)
125
+ if (typeof fetch === "function") {
126
+ fetch(canaryData.notifyUrl, {
127
+ method: "POST",
128
+ headers: {
129
+ "Content-Type": "application/json",
130
+ "X-Canary-Alert": "true",
131
+ },
132
+ body: notificationData,
133
+ }).catch((err) => {
134
+ console.error("Failed to send canary notification:", err);
135
+ });
136
+ }
137
+ else if (typeof XMLHttpRequest === "function") {
138
+ // Fallback to XMLHttpRequest
139
+ const xhr = new XMLHttpRequest();
140
+ xhr.open("POST", canaryData.notifyUrl, true);
141
+ xhr.setRequestHeader("Content-Type", "application/json");
142
+ xhr.setRequestHeader("X-Canary-Alert", "true");
143
+ xhr.send(notificationData);
144
+ }
145
+ else if (typeof require === "function") {
146
+ // Node.js environment
147
+ try {
148
+ // const https = ("https");
149
+ const url = new URL(canaryData.notifyUrl);
150
+ const options = {
151
+ hostname: url.hostname,
152
+ port: url.port || 443,
153
+ path: url.pathname + url.search,
154
+ method: "POST",
155
+ headers: {
156
+ "Content-Type": "application/json",
157
+ "Content-Length": Buffer.byteLength(notificationData),
158
+ "X-Canary-Alert": "true",
159
+ },
160
+ };
161
+ const req = https.request(options);
162
+ req.write(notificationData);
163
+ req.end();
164
+ }
165
+ catch (e) {
166
+ console.error("Failed to send canary notification in Node.js:", e);
167
+ }
168
+ }
169
+ else if (typeof window !== "undefined" &&
170
+ typeof window.XMLHttpRequest === "function") {
171
+ // Fallback to XMLHttpRequest in browser environments
172
+ const xhr = new window.XMLHttpRequest();
173
+ xhr.open("POST", canaryData.notifyUrl, true);
174
+ xhr.setRequestHeader("Content-Type", "application/json");
175
+ xhr.setRequestHeader("X-Canary-Alert", "true");
176
+ xhr.onerror = () => {
177
+ console.error("Failed to send canary notification via XMLHttpRequest");
178
+ };
179
+ xhr.send(notificationData);
180
+ }
181
+ else {
182
+ // Use Node.js https module as a last resort
183
+ try {
184
+ const url = new URL(canaryData.notifyUrl);
185
+ const options = {
186
+ hostname: url.hostname,
187
+ port: url.port ||
188
+ (url.protocol === "https:" ? 443 : 80),
189
+ path: url.pathname + url.search,
190
+ method: "POST",
191
+ headers: {
192
+ "Content-Type": "application/json",
193
+ "Content-Length": Buffer.byteLength(notificationData),
194
+ "X-Canary-Alert": "true",
195
+ },
196
+ };
197
+ const req = https.request(options);
198
+ req.write(notificationData);
199
+ req.end();
200
+ }
201
+ catch (e) {
202
+ console.error("Failed to send canary notification in Node.js:", e);
203
+ }
204
+ }
205
+ }
206
+ catch (e) {
207
+ console.error("Error sending canary notification:", e);
208
+ }
209
+ }
210
+ return true;
211
+ }
212
+ catch (e) {
213
+ return false;
214
+ }
215
+ }
216
+ /**
217
+ * Creates a canary object that triggers when accessed
218
+ *
219
+ * @param target - Object to wrap with a canary
220
+ * @param options - Canary options
221
+ * @returns Proxy object that triggers the canary when accessed
222
+ */
223
+ function createCanaryObject(target, options = {}) {
224
+ // Create a canary token
225
+ const canaryToken = createCanary(options);
226
+ // Create a proxy that triggers the canary when accessed
227
+ return new Proxy(target, {
228
+ get(obj, prop) {
229
+ // Trigger the canary
230
+ triggerCanary(canaryToken, {
231
+ action: "get",
232
+ property: String(prop),
233
+ timestamp: Date.now(),
234
+ });
235
+ // Return the property
236
+ return obj[prop];
237
+ },
238
+ set(obj, prop, value) {
239
+ // Trigger the canary
240
+ triggerCanary(canaryToken, {
241
+ action: "set",
242
+ property: String(prop),
243
+ timestamp: Date.now(),
244
+ });
245
+ // Set the property
246
+ obj[prop] = value;
247
+ return true;
248
+ },
249
+ });
250
+ }
251
+ /**
252
+ * Creates a canary function that triggers when called
253
+ *
254
+ * @param fn - Function to wrap with a canary
255
+ * @param options - Canary options
256
+ * @returns Function that triggers the canary when called
257
+ */
258
+ function createCanaryFunction(fn, options = {}) {
259
+ // Create a canary token
260
+ const canaryToken = createCanary(options);
261
+ // Create a wrapper function that triggers the canary when called
262
+ const wrapper = function (...args) {
263
+ // Trigger the canary
264
+ triggerCanary(canaryToken, {
265
+ action: "call",
266
+ arguments: args,
267
+ timestamp: Date.now(),
268
+ });
269
+ // Call the original function
270
+ return fn.apply(this, args);
271
+ };
272
+ // Copy properties from the original function
273
+ Object.defineProperties(wrapper, Object.getOwnPropertyDescriptors(fn));
274
+ return wrapper;
275
+ }
276
+ /**
277
+ * Simple encryption function for canary tokens
278
+ *
279
+ * @param data - Data to encrypt
280
+ * @param key - Encryption key
281
+ * @returns Encrypted data
282
+ */
283
+ function encryptCanary(data, key) {
284
+ // Convert data to bytes
285
+ const dataBytes = new TextEncoder().encode(data);
286
+ // Create a key stream by hashing the key repeatedly
287
+ const keyStream = new Uint8Array(dataBytes.length);
288
+ let hashResult = hashCore.Hash.create(key, { outputFormat: "hex" });
289
+ let keyBlock = encoding.hexToBuffer(hashResult);
290
+ for (let i = 0; i < keyStream.length; i += keyBlock.length) {
291
+ // Copy as much of the key block as needed
292
+ const bytesToCopy = Math.min(keyBlock.length, keyStream.length - i);
293
+ keyStream.set(keyBlock.subarray(0, bytesToCopy), i);
294
+ // Generate the next key block
295
+ hashResult = hashCore.Hash.create(encoding.bufferToHex(keyBlock), {
296
+ outputFormat: "hex",
297
+ });
298
+ keyBlock = encoding.hexToBuffer(hashResult);
299
+ }
300
+ // XOR the data with the key stream
301
+ const encrypted = new Uint8Array(dataBytes.length);
302
+ for (let i = 0; i < dataBytes.length; i++) {
303
+ encrypted[i] = dataBytes[i] ^ keyStream[i];
304
+ }
305
+ return encoding.bufferToHex(encrypted);
306
+ }
307
+ /**
308
+ * Simple decryption function for canary tokens
309
+ *
310
+ * @param encrypted - Encrypted data
311
+ * @param key - Decryption key
312
+ * @returns Decrypted data, or null if decryption fails
313
+ */
314
+ function decryptCanary(encrypted, key) {
315
+ try {
316
+ // Convert encrypted data to bytes
317
+ const encryptedBytes = encoding.hexToBuffer(encrypted);
318
+ // Create a key stream by hashing the key repeatedly
319
+ const keyStream = new Uint8Array(encryptedBytes.length);
320
+ let hashResult = hashCore.Hash.create(key, {
321
+ outputFormat: "hex",
322
+ });
323
+ let keyBlock = encoding.hexToBuffer(hashResult);
324
+ for (let i = 0; i < keyStream.length; i += keyBlock.length) {
325
+ // Copy as much of the key block as needed
326
+ const bytesToCopy = Math.min(keyBlock.length, keyStream.length - i);
327
+ keyStream.set(keyBlock.subarray(0, bytesToCopy), i);
328
+ // Generate the next key block
329
+ hashResult = hashCore.Hash.create(encoding.bufferToHex(keyBlock), {
330
+ outputFormat: "hex",
331
+ });
332
+ keyBlock = encoding.hexToBuffer(hashResult);
333
+ }
334
+ // XOR the encrypted data with the key stream
335
+ const decrypted = new Uint8Array(encryptedBytes.length);
336
+ for (let i = 0; i < encryptedBytes.length; i++) {
337
+ decrypted[i] = encryptedBytes[i] ^ keyStream[i];
338
+ }
339
+ // Convert back to string
340
+ return new TextDecoder().decode(decrypted);
341
+ }
342
+ catch (e) {
343
+ return null;
344
+ }
345
+ }
346
+
347
+ exports.createCanary = createCanary;
348
+ exports.createCanaryFunction = createCanaryFunction;
349
+ exports.createCanaryObject = createCanaryObject;
350
+ exports.triggerCanary = triggerCanary;
351
+ //# sourceMappingURL=canary-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canary-tokens.js","sources":["../../../../../../mods/security/src/components/canary-tokens.ts"],"sourcesContent":[null],"names":["bufferToHex","SecureRandom","Hash","hexToBuffer"],"mappings":"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"}