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