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,691 @@
1
+ import { memoryManager } from '../../utils/memory/index.js';
2
+
3
+ /**
4
+ * XyPrissSecurity - Smart Cache System
5
+ *
6
+ * High-performance caching system with multiple eviction strategies (LRU, LFU, Adaptive),
7
+ * intelligent memory management, and real-time performance optimization.
8
+ *
9
+ * Features:
10
+ * - Multiple eviction strategies with automatic adaptation
11
+ * - Memory pressure detection and response
12
+ * - TTL-based expiration with automatic cleanup
13
+ * - Performance metrics and hit rate optimization
14
+ * - Predictive caching capabilities
15
+ * - Thread-safe operations with minimal overhead
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // Basic usage
20
+ * const cache = new SmartCache<string, User>({
21
+ * maxSize: 1000,
22
+ * ttl: 300000, // 5 minutes
23
+ * strategy: 'adaptive'
24
+ * });
25
+ *
26
+ * // Store and retrieve data
27
+ * cache.set('user:123', userData);
28
+ * const user = cache.get('user:123');
29
+ *
30
+ * // Monitor performance
31
+ * const stats = cache.getStats();
32
+ * console.log(`Hit rate: ${stats.hitRate}%`);
33
+ * ```
34
+ */
35
+ class SmartCache {
36
+ /**
37
+ * Creates a new SmartCache instance with intelligent caching strategies.
38
+ *
39
+ * @param config - Configuration options for the cache
40
+ * @param config.strategy - Eviction strategy: 'lru', 'lfu', or 'adaptive'
41
+ * @param config.maxSize - Maximum number of entries (default: 1000)
42
+ * @param config.ttl - Time-to-live in milliseconds (default: 300000 = 5 minutes)
43
+ * @param config.autoCleanup - Enable automatic cleanup of expired entries (default: true)
44
+ * @param config.compressionEnabled - Enable compression for large values (default: false)
45
+ * @param config.persistToDisk - Enable disk persistence (default: false)
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * // High-performance cache for API responses
50
+ * const apiCache = new SmartCache<string, ApiResponse>({
51
+ * strategy: 'adaptive',
52
+ * maxSize: 5000,
53
+ * ttl: 600000, // 10 minutes
54
+ * autoCleanup: true
55
+ * });
56
+ *
57
+ * // Memory-optimized cache for large objects
58
+ * const dataCache = new SmartCache<string, LargeData>({
59
+ * strategy: 'lfu',
60
+ * maxSize: 100,
61
+ * compressionEnabled: true
62
+ * });
63
+ * ```
64
+ */
65
+ constructor(config = {}) {
66
+ this.cache = new Map();
67
+ this.accessOrder = [];
68
+ this.frequencyMap = new Map();
69
+ this.priorityQueue = new Map();
70
+ this.lastAdaptation = 0;
71
+ this.stats = {
72
+ hits: 0,
73
+ misses: 0,
74
+ evictions: 0,
75
+ totalSize: 0,
76
+ compressionRatio: 0,
77
+ adaptations: 0,
78
+ memoryPressureEvents: 0,
79
+ };
80
+ this.config = {
81
+ strategy: "adaptive",
82
+ maxSize: 1000,
83
+ ttl: 300000, // 5 minutes
84
+ autoCleanup: true,
85
+ compressionEnabled: false,
86
+ persistToDisk: false,
87
+ adaptationThreshold: 0.1, // Adapt when hit rate changes by 10%
88
+ memoryCheckInterval: 30000, // Check memory every 30 seconds
89
+ maxMemoryUsage: 100 * 1024 * 1024, // 100MB default limit
90
+ ...config,
91
+ };
92
+ if (this.config.autoCleanup) {
93
+ this.setupAutoCleanup();
94
+ }
95
+ this.setupMemoryMonitoring();
96
+ }
97
+ /**
98
+ * Retrieves a value from the cache with intelligent access tracking.
99
+ *
100
+ * This method updates access patterns, frequency counters, and recency information
101
+ * to support adaptive eviction strategies. Expired entries are automatically removed.
102
+ *
103
+ * @param key - The key to retrieve
104
+ * @returns The cached value or null if not found/expired
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * const userData = cache.get('user:123');
109
+ * if (userData) {
110
+ * // Cache hit - data is fresh and valid
111
+ * processUser(userData);
112
+ * } else {
113
+ * // Cache miss - fetch from source
114
+ * const data = await fetchUser('123');
115
+ * cache.set('user:123', data);
116
+ * }
117
+ * ```
118
+ */
119
+ get(key) {
120
+ const entry = this.cache.get(key);
121
+ if (!entry) {
122
+ this.stats.misses++;
123
+ return null;
124
+ }
125
+ // Check TTL expiration with high precision
126
+ if (this.isExpired(entry)) {
127
+ this.internalDelete(key);
128
+ this.stats.misses++;
129
+ return null;
130
+ }
131
+ // Efficient access pattern updates
132
+ this.updateAccessPattern(key, entry);
133
+ this.stats.hits++;
134
+ return entry.result;
135
+ }
136
+ /**
137
+ * Stores a value in the cache with intelligent eviction and optimization.
138
+ *
139
+ * When the cache reaches capacity, this method uses the configured strategy
140
+ * to evict less valuable entries. Priority is calculated based on access patterns,
141
+ * frequency, recency, and value size.
142
+ *
143
+ * @param key - The key to store under
144
+ * @param value - The value to cache
145
+ * @param ttl - Optional TTL override in milliseconds
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * // Standard caching
150
+ * cache.set('config:app', appConfig);
151
+ *
152
+ * // With custom TTL (1 hour)
153
+ * cache.set('temp:data', tempData, 3600000);
154
+ *
155
+ * // High-priority caching
156
+ * cache.set('critical:settings', settings);
157
+ * ```
158
+ */
159
+ set(key, value, ttl) {
160
+ // Pre-eviction check for capacity management
161
+ if (this.cache.size >= this.config.maxSize && !this.cache.has(key)) {
162
+ this.evictEntries(1);
163
+ }
164
+ const now = Date.now();
165
+ const estimatedSize = this.estimateSize(value);
166
+ const currentFrequency = this.frequencyMap.get(key) || 0;
167
+ const entry = {
168
+ result: value,
169
+ timestamp: now,
170
+ accessCount: this.cache.has(key)
171
+ ? this.cache.get(key).accessCount + 1
172
+ : 1,
173
+ lastAccessed: new Date(now),
174
+ ttl: ttl || this.config.ttl,
175
+ priority: this.calculatePriority(key, value, currentFrequency),
176
+ size: estimatedSize,
177
+ frequency: currentFrequency + 1,
178
+ };
179
+ this.cache.set(key, entry);
180
+ this.updateFrequency(key);
181
+ this.updateAccessOrder(key);
182
+ this.priorityQueue.set(key, entry.priority || 0);
183
+ // Efficient stats update
184
+ this.stats.totalSize = this.cache.size;
185
+ // Check for memory pressure after significant additions
186
+ if (estimatedSize > 10000) {
187
+ // 10KB threshold
188
+ this.checkMemoryPressure();
189
+ }
190
+ }
191
+ /**
192
+ * Removes an entry from the cache and all associated tracking data.
193
+ *
194
+ * @param key - The key to remove
195
+ * @returns True if the entry existed and was removed, false otherwise
196
+ *
197
+ * @example
198
+ * ```typescript
199
+ * // Remove specific entry
200
+ * const wasRemoved = cache.delete('user:123');
201
+ *
202
+ * // Conditional removal
203
+ * if (userData.isExpired) {
204
+ * cache.delete('user:123');
205
+ * }
206
+ * ```
207
+ */
208
+ delete(key) {
209
+ return this.internalDelete(key);
210
+ }
211
+ /**
212
+ * Clears all entries from the cache and resets all metrics.
213
+ *
214
+ * This operation is atomic and efficiently resets all internal data structures.
215
+ *
216
+ * @example
217
+ * ```typescript
218
+ * // Complete cache reset
219
+ * cache.clear();
220
+ *
221
+ * // Verify clearing
222
+ * console.log(cache.getStats().size); // 0
223
+ * ```
224
+ */
225
+ clear() {
226
+ this.cache.clear();
227
+ this.accessOrder.length = 0; // Efficient array clearing
228
+ this.frequencyMap.clear();
229
+ this.priorityQueue.clear();
230
+ this.resetStats();
231
+ }
232
+ /**
233
+ * Returns comprehensive cache statistics and performance metrics.
234
+ *
235
+ * @returns Detailed statistics including hit rates, memory usage, and strategy effectiveness
236
+ *
237
+ * @example
238
+ * ```typescript
239
+ * const stats = cache.getStats();
240
+ * console.log(`Hit Rate: ${(stats.hitRate * 100).toFixed(2)}%`);
241
+ * console.log(`Memory Usage: ${(stats.memoryUsage / 1024 / 1024).toFixed(2)}MB`);
242
+ * console.log(`Evictions: ${stats.evictions}`);
243
+ *
244
+ * // Monitor performance trends
245
+ * if (stats.hitRate < 0.7) {
246
+ * console.warn('Cache hit rate is below optimal threshold');
247
+ * }
248
+ * ```
249
+ */
250
+ getStats() {
251
+ const totalRequests = this.stats.hits + this.stats.misses;
252
+ const hitRate = totalRequests > 0 ? this.stats.hits / totalRequests : 0;
253
+ const memoryUsage = this.estimateMemoryUsage();
254
+ return {
255
+ ...this.stats,
256
+ hitRate,
257
+ hitRatePercentage: Math.round(hitRate * 100),
258
+ size: this.cache.size,
259
+ maxSize: this.config.maxSize,
260
+ utilizationRate: this.cache.size / this.config.maxSize,
261
+ strategy: this.config.strategy,
262
+ averageAccessCount: this.getAverageAccessCount(),
263
+ memoryUsage,
264
+ memoryUsageMB: Math.round((memoryUsage / 1024 / 1024) * 100) / 100,
265
+ averageEntrySize: this.cache.size > 0 ? memoryUsage / this.cache.size : 0,
266
+ topFrequentKeys: this.getTopFrequentKeys(5),
267
+ recentEvictions: this.stats.evictions,
268
+ adaptationHistory: this.stats.adaptations,
269
+ };
270
+ }
271
+ /**
272
+ * Intelligently pre-warms the cache with high-priority entries.
273
+ *
274
+ * This method optimizes cache performance by preloading frequently accessed
275
+ * or critical data based on priority scores and usage patterns.
276
+ *
277
+ * @param patterns - Array of key-value pairs with priority scores
278
+ * @param patterns[].key - The cache key
279
+ * @param patterns[].value - The value to cache
280
+ * @param patterns[].priority - Priority score (higher = more important)
281
+ *
282
+ * @example
283
+ * ```typescript
284
+ * // Warm cache with critical application data
285
+ * cache.warmCache([
286
+ * { key: 'config:app', value: appConfig, priority: 10 },
287
+ * { key: 'user:admin', value: adminUser, priority: 8 },
288
+ * { key: 'settings:global', value: globalSettings, priority: 7 }
289
+ * ]);
290
+ *
291
+ * // Warm with user-specific data
292
+ * const userPatterns = recentUsers.map(user => ({
293
+ * key: `user:${user.id}`,
294
+ * value: user,
295
+ * priority: user.accessFrequency
296
+ * }));
297
+ * cache.warmCache(userPatterns);
298
+ * ```
299
+ */
300
+ warmCache(patterns) {
301
+ if (!patterns.length)
302
+ return;
303
+ // Calculate optimal warming size (30% of cache capacity)
304
+ const warmingSize = Math.min(Math.floor(this.config.maxSize * 0.3), patterns.length);
305
+ // Sort by priority (descending) and select top entries
306
+ const prioritizedPatterns = patterns
307
+ .sort((a, b) => b.priority - a.priority)
308
+ .slice(0, warmingSize);
309
+ // Batch warming for better performance
310
+ for (const { key, value } of prioritizedPatterns) {
311
+ // Skip if already cached and fresh
312
+ const existing = this.cache.get(key);
313
+ if (existing && !this.isExpired(existing)) {
314
+ continue;
315
+ }
316
+ this.set(key, value);
317
+ }
318
+ }
319
+ /**
320
+ * Implements predictive caching based on usage patterns and probability analysis.
321
+ *
322
+ * This method analyzes access patterns to predict future cache needs and
323
+ * preloads likely-to-be-accessed entries to improve hit rates.
324
+ *
325
+ * @param predictions - Array of predictions with keys and probability scores
326
+ * @param predictions[].key - The predicted cache key
327
+ * @param predictions[].probability - Probability of access (0-1)
328
+ * @param predictions[].estimatedValue - Optional estimated value for priority calculation
329
+ *
330
+ * @example
331
+ * ```typescript
332
+ * // Predict based on user behavior patterns
333
+ * const predictions = userAnalytics.getPredictions().map(pred => ({
334
+ * key: `user:${pred.userId}`,
335
+ * probability: pred.accessProbability,
336
+ * estimatedValue: pred.userData
337
+ * }));
338
+ *
339
+ * cache.preloadPredictedEntries(predictions);
340
+ *
341
+ * // Predict based on time patterns
342
+ * const timePredictions = [
343
+ * { key: 'report:daily', probability: 0.9 }, // High probability during business hours
344
+ * { key: 'config:night', probability: 0.3 } // Low probability during day
345
+ * ];
346
+ * cache.preloadPredictedEntries(timePredictions);
347
+ * ```
348
+ */
349
+ preloadPredictedEntries(predictions) {
350
+ if (!predictions.length)
351
+ return;
352
+ // Filter high-probability predictions (>70% confidence)
353
+ const highConfidencePredictions = predictions
354
+ .filter((p) => p.probability > 0.7)
355
+ .sort((a, b) => b.probability - a.probability);
356
+ // Limit preloading to 10% of cache capacity to avoid pollution
357
+ const preloadLimit = Math.floor(this.config.maxSize * 0.1);
358
+ const selectedPredictions = highConfidencePredictions.slice(0, preloadLimit);
359
+ // Mark for priority caching when values become available
360
+ for (const { key, probability } of selectedPredictions) {
361
+ this.priorityQueue.set(key, probability * 10); // Scale probability to priority
362
+ }
363
+ }
364
+ /**
365
+ * Dynamically adapts the caching strategy based on real-time performance metrics.
366
+ *
367
+ * This method continuously monitors cache performance and automatically switches
368
+ * between LRU, LFU, and adaptive strategies to optimize hit rates and memory usage.
369
+ *
370
+ * @param metrics - Current performance metrics from the application
371
+ * @param metrics.memoryUsage - Current memory usage ratio (0-1)
372
+ * @param metrics.cpuUsage - Current CPU usage ratio (0-1)
373
+ * @param metrics.requestRate - Current request rate (requests/second)
374
+ *
375
+ * @example
376
+ * ```typescript
377
+ * // Adapt based on system metrics
378
+ * const systemMetrics = {
379
+ * memoryUsage: process.memoryUsage().heapUsed / process.memoryUsage().heapTotal,
380
+ * cpuUsage: await getCpuUsage(),
381
+ * requestRate: getCurrentRequestRate()
382
+ * };
383
+ *
384
+ * cache.adaptStrategy(systemMetrics);
385
+ *
386
+ * // Automatic adaptation with monitoring
387
+ * setInterval(() => {
388
+ * const metrics = getSystemMetrics();
389
+ * cache.adaptStrategy(metrics);
390
+ * }, 60000); // Adapt every minute
391
+ * ```
392
+ */
393
+ adaptStrategy(metrics) {
394
+ const now = Date.now();
395
+ // Throttle adaptations to prevent thrashing
396
+ if (now - this.lastAdaptation < 30000) {
397
+ // 30-second cooldown
398
+ return;
399
+ }
400
+ const currentStats = this.getStats();
401
+ const hitRate = currentStats.hitRate;
402
+ const memoryPressure = metrics.memoryUsage || 0;
403
+ const previousStrategy = this.config.strategy;
404
+ // Strategy adaptation logic based on performance characteristics
405
+ if (hitRate < 0.4 && memoryPressure < 0.7) {
406
+ // Low hit rate, sufficient memory -> prioritize frequency (LFU)
407
+ this.config.strategy = "lfu";
408
+ }
409
+ else if (hitRate > 0.8 && memoryPressure > 0.8) {
410
+ // High hit rate, memory pressure -> prioritize recency (LRU)
411
+ this.config.strategy = "lru";
412
+ }
413
+ else if (memoryPressure > 0.9) {
414
+ // Critical memory pressure -> aggressive LRU
415
+ this.config.strategy = "lru";
416
+ }
417
+ else {
418
+ // Balanced conditions -> use adaptive strategy
419
+ this.config.strategy = "adaptive";
420
+ }
421
+ if (previousStrategy !== this.config.strategy) {
422
+ this.stats.adaptations++;
423
+ this.lastAdaptation = now;
424
+ }
425
+ }
426
+ /**
427
+ * Handles memory pressure events with intelligent cache reduction strategies.
428
+ *
429
+ * This method responds to memory pressure by selectively evicting entries
430
+ * based on the pressure level and current cache strategy.
431
+ *
432
+ * @param pressureLevel - The level of memory pressure detected
433
+ *
434
+ * @example
435
+ * ```typescript
436
+ * // Monitor memory and respond to pressure
437
+ * process.on('memoryUsage', (usage) => {
438
+ * const pressureRatio = usage.heapUsed / usage.heapTotal;
439
+ *
440
+ * if (pressureRatio > 0.9) {
441
+ * cache.handleMemoryPressure('high');
442
+ * } else if (pressureRatio > 0.7) {
443
+ * cache.handleMemoryPressure('medium');
444
+ * }
445
+ * });
446
+ *
447
+ * // Proactive memory management
448
+ * if (getAvailableMemory() < requiredMemory) {
449
+ * cache.handleMemoryPressure('medium');
450
+ * }
451
+ * ```
452
+ */
453
+ handleMemoryPressure(pressureLevel) {
454
+ this.stats.memoryPressureEvents++;
455
+ switch (pressureLevel) {
456
+ case "high":
457
+ // Aggressive cleanup - remove 50% of entries, prioritizing large/stale entries
458
+ this.evictEntries(Math.floor(this.cache.size * 0.5));
459
+ this.cleanupExpiredEntries();
460
+ break;
461
+ case "medium":
462
+ // Moderate cleanup - remove 25% of entries
463
+ this.evictEntries(Math.floor(this.cache.size * 0.25));
464
+ this.cleanupExpiredEntries();
465
+ break;
466
+ case "low":
467
+ // Light cleanup - remove only expired and lowest priority entries
468
+ this.cleanupExpiredEntries();
469
+ this.evictEntries(Math.floor(this.cache.size * 0.1));
470
+ break;
471
+ }
472
+ }
473
+ /**
474
+ * Safely destroys the cache instance and cleans up all resources.
475
+ *
476
+ * This method should be called when the cache is no longer needed to prevent
477
+ * memory leaks and stop background processes.
478
+ *
479
+ * @example
480
+ * ```typescript
481
+ * // Cleanup on application shutdown
482
+ * process.on('SIGTERM', () => {
483
+ * cache.destroy();
484
+ * });
485
+ *
486
+ * // Cleanup after use
487
+ * const tempCache = new SmartCache();
488
+ * // ... use cache
489
+ * tempCache.destroy();
490
+ * ```
491
+ */
492
+ destroy() {
493
+ if (this.cleanupInterval) {
494
+ clearInterval(this.cleanupInterval);
495
+ this.cleanupInterval = undefined;
496
+ }
497
+ if (this.memoryCheckInterval) {
498
+ clearInterval(this.memoryCheckInterval);
499
+ this.memoryCheckInterval = undefined;
500
+ }
501
+ this.clear();
502
+ }
503
+ // Private helper methods - optimized for performance
504
+ internalDelete(key) {
505
+ const deleted = this.cache.delete(key);
506
+ if (deleted) {
507
+ this.removeFromAccessOrder(key);
508
+ this.frequencyMap.delete(key);
509
+ this.priorityQueue.delete(key);
510
+ this.stats.totalSize = this.cache.size;
511
+ }
512
+ return deleted;
513
+ }
514
+ isExpired(entry) {
515
+ return ((entry.ttl || 0) > 0 &&
516
+ Date.now() - entry.timestamp > (entry.ttl || 0));
517
+ }
518
+ updateAccessPattern(key, entry) {
519
+ const now = Date.now();
520
+ entry.accessCount++;
521
+ entry.lastAccessed = new Date(now);
522
+ // Efficient frequency and order updates
523
+ this.updateFrequency(key);
524
+ this.updateAccessOrder(key);
525
+ // Update priority for adaptive strategy
526
+ if (this.config.strategy === "adaptive") {
527
+ const newPriority = this.calculatePriority(key, entry.result, entry.frequency);
528
+ this.priorityQueue.set(key, newPriority);
529
+ entry.priority = newPriority;
530
+ }
531
+ }
532
+ updateFrequency(key) {
533
+ const current = this.frequencyMap.get(key) || 0;
534
+ this.frequencyMap.set(key, current + 1);
535
+ }
536
+ updateAccessOrder(key) {
537
+ // Efficient LRU order maintenance
538
+ const index = this.accessOrder.indexOf(key);
539
+ if (index > -1) {
540
+ // Move to end (most recent) - O(n) but infrequent
541
+ this.accessOrder.splice(index, 1);
542
+ }
543
+ this.accessOrder.push(key);
544
+ }
545
+ removeFromAccessOrder(key) {
546
+ const index = this.accessOrder.indexOf(key);
547
+ if (index > -1) {
548
+ this.accessOrder.splice(index, 1);
549
+ }
550
+ }
551
+ calculatePriority(key, value, frequency = 0) {
552
+ const size = this.estimateSize(value);
553
+ const recency = 1; // Base recency score for new/accessed entries
554
+ const sizeWeight = Math.max(size / 10000, 1); // Normalize size impact
555
+ // Balanced priority calculation: frequency and recency boost, size penalty
556
+ return (((frequency * 0.4 + recency * 0.4) / sizeWeight) * 0.2 +
557
+ (this.priorityQueue.get(key) || 0) * 0.1); // Include existing priority
558
+ }
559
+ estimateSize(value) {
560
+ if (value === null || value === undefined)
561
+ return 8;
562
+ if (typeof value === "string")
563
+ return value.length * 2;
564
+ if (typeof value === "number")
565
+ return 8;
566
+ if (typeof value === "boolean")
567
+ return 4;
568
+ if (ArrayBuffer.isView(value))
569
+ return value.byteLength;
570
+ try {
571
+ // More accurate size estimation for objects
572
+ const jsonStr = JSON.stringify(value);
573
+ return jsonStr.length * 2; // UTF-16 encoding
574
+ }
575
+ catch {
576
+ return 1000; // Conservative estimate for non-serializable objects
577
+ }
578
+ }
579
+ evictEntries(count = 1) {
580
+ if (this.cache.size === 0 || count <= 0)
581
+ return;
582
+ const actualCount = Math.min(count, this.cache.size);
583
+ switch (this.config.strategy) {
584
+ case "lru":
585
+ this.evictLRU(actualCount);
586
+ break;
587
+ case "lfu":
588
+ this.evictLFU(actualCount);
589
+ break;
590
+ case "adaptive":
591
+ this.evictAdaptive(actualCount);
592
+ break;
593
+ }
594
+ this.stats.evictions += actualCount;
595
+ }
596
+ evictLRU(count) {
597
+ // Remove least recently used entries (from beginning of access order)
598
+ const toRemove = this.accessOrder.slice(0, count);
599
+ for (const key of toRemove) {
600
+ this.internalDelete(key);
601
+ }
602
+ }
603
+ evictLFU(count) {
604
+ // Remove least frequently used entries
605
+ const frequencyEntries = Array.from(this.frequencyMap.entries())
606
+ .sort((a, b) => a[1] - b[1]) // Sort by frequency ascending
607
+ .slice(0, count);
608
+ for (const [key] of frequencyEntries) {
609
+ this.internalDelete(key);
610
+ }
611
+ }
612
+ evictAdaptive(count) {
613
+ // Evict based on composite priority score (lowest priority first)
614
+ const priorityEntries = Array.from(this.priorityQueue.entries())
615
+ .sort((a, b) => a[1] - b[1]) // Sort by priority ascending
616
+ .slice(0, count);
617
+ for (const [key] of priorityEntries) {
618
+ this.internalDelete(key);
619
+ }
620
+ }
621
+ cleanupExpiredEntries() {
622
+ const expiredKeys = [];
623
+ // Collect expired keys efficiently
624
+ for (const [key, entry] of this.cache.entries()) {
625
+ if (this.isExpired(entry)) {
626
+ expiredKeys.push(key);
627
+ }
628
+ }
629
+ // Batch delete expired entries
630
+ for (const key of expiredKeys) {
631
+ this.internalDelete(key);
632
+ }
633
+ }
634
+ setupAutoCleanup() {
635
+ this.cleanupInterval = setInterval(() => {
636
+ this.cleanupExpiredEntries();
637
+ }, 60000); // Check every minute
638
+ }
639
+ setupMemoryMonitoring() {
640
+ this.memoryCheckInterval = setInterval(() => {
641
+ this.checkMemoryPressure();
642
+ }, 30000); // Check every 30 seconds
643
+ }
644
+ checkMemoryPressure() {
645
+ try {
646
+ const memoryStats = memoryManager?.getStats();
647
+ if (memoryStats?.pressure) {
648
+ const pressure = memoryStats.pressure;
649
+ if (pressure > 0.9) {
650
+ this.handleMemoryPressure("high");
651
+ }
652
+ else if (pressure > 0.7) {
653
+ this.handleMemoryPressure("medium");
654
+ }
655
+ else if (pressure > 0.5) {
656
+ this.handleMemoryPressure("low");
657
+ }
658
+ }
659
+ }
660
+ catch (error) {
661
+ // Silently handle memory manager unavailability
662
+ }
663
+ }
664
+ resetStats() {
665
+ this.stats.hits = 0;
666
+ this.stats.misses = 0;
667
+ this.stats.evictions = 0;
668
+ this.stats.totalSize = 0;
669
+ this.stats.compressionRatio = 0;
670
+ this.stats.adaptations = 0;
671
+ this.stats.memoryPressureEvents = 0;
672
+ }
673
+ getAverageAccessCount() {
674
+ if (this.cache.size === 0)
675
+ return 0;
676
+ const total = Array.from(this.cache.values()).reduce((sum, entry) => sum + entry.accessCount, 0);
677
+ return Math.round((total / this.cache.size) * 100) / 100;
678
+ }
679
+ estimateMemoryUsage() {
680
+ return Array.from(this.cache.values()).reduce((total, entry) => total + (entry.size || 0), 0);
681
+ }
682
+ getTopFrequentKeys(limit = 5) {
683
+ return Array.from(this.frequencyMap.entries())
684
+ .sort((a, b) => b[1] - a[1])
685
+ .slice(0, limit)
686
+ .map(([key, frequency]) => ({ key, frequency }));
687
+ }
688
+ }
689
+
690
+ export { SmartCache };
691
+ //# sourceMappingURL=smart-cache.js.map