xypriss 1.0.0 → 1.0.1

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 (788) hide show
  1. package/README.md +2 -0
  2. package/dist/cjs/ServerFactory.js +195 -0
  3. package/dist/cjs/ServerFactory.js.map +1 -0
  4. package/dist/cjs/cache/CacheFactory.js +406 -0
  5. package/dist/cjs/cache/CacheFactory.js.map +1 -0
  6. package/dist/cjs/cache/SecureCacheAdapter.js +1227 -0
  7. package/dist/cjs/cache/SecureCacheAdapter.js.map +1 -0
  8. package/dist/cjs/cluster/cluster-manager.js +1011 -0
  9. package/dist/cjs/cluster/cluster-manager.js.map +1 -0
  10. package/dist/cjs/cluster/index.js +343 -0
  11. package/dist/cjs/cluster/index.js.map +1 -0
  12. package/dist/cjs/cluster/modules/AutoScaler.js +532 -0
  13. package/dist/cjs/cluster/modules/AutoScaler.js.map +1 -0
  14. package/dist/cjs/cluster/modules/ClusterFactory.js +518 -0
  15. package/dist/cjs/cluster/modules/ClusterFactory.js.map +1 -0
  16. package/dist/cjs/cluster/modules/ClusterPersistenceManager.js +436 -0
  17. package/dist/cjs/cluster/modules/ClusterPersistenceManager.js.map +1 -0
  18. package/dist/cjs/cluster/modules/HealthMonitor.js +461 -0
  19. package/dist/cjs/cluster/modules/HealthMonitor.js.map +1 -0
  20. package/dist/cjs/cluster/modules/IPCManager.js +781 -0
  21. package/dist/cjs/cluster/modules/IPCManager.js.map +1 -0
  22. package/dist/cjs/cluster/modules/LoadBalancer.js +1123 -0
  23. package/dist/cjs/cluster/modules/LoadBalancer.js.map +1 -0
  24. package/dist/cjs/cluster/modules/MetricsCollector.js +559 -0
  25. package/dist/cjs/cluster/modules/MetricsCollector.js.map +1 -0
  26. package/dist/cjs/cluster/modules/WorkerManager.js +1187 -0
  27. package/dist/cjs/cluster/modules/WorkerManager.js.map +1 -0
  28. package/dist/cjs/encryption/EncryptionService.js +399 -0
  29. package/dist/cjs/encryption/EncryptionService.js.map +1 -0
  30. package/dist/cjs/index.js.map +1 -0
  31. package/dist/cjs/middleware/safe-json-middleware.js +159 -0
  32. package/dist/cjs/middleware/safe-json-middleware.js.map +1 -0
  33. package/dist/cjs/mods/toolkit/src/algorithms/hash-algorithms.js +727 -0
  34. package/dist/cjs/mods/toolkit/src/algorithms/hash-algorithms.js.map +1 -0
  35. package/dist/cjs/mods/toolkit/src/algorithms/registry.js +83 -0
  36. package/dist/cjs/mods/toolkit/src/algorithms/registry.js.map +1 -0
  37. package/dist/cjs/mods/toolkit/src/components/attestation.js +1065 -0
  38. package/dist/cjs/mods/toolkit/src/components/attestation.js.map +1 -0
  39. package/dist/cjs/mods/toolkit/src/components/cache/FastLRU.js +323 -0
  40. package/dist/cjs/mods/toolkit/src/components/cache/FastLRU.js.map +1 -0
  41. package/dist/cjs/mods/toolkit/src/components/cache/UFSIMC.js +1131 -0
  42. package/dist/cjs/mods/toolkit/src/components/cache/UFSIMC.js.map +1 -0
  43. package/dist/cjs/mods/toolkit/src/components/cache/cacheSys.js +624 -0
  44. package/dist/cjs/mods/toolkit/src/components/cache/cacheSys.js.map +1 -0
  45. package/dist/cjs/mods/toolkit/src/components/cache/cacheSys.utils.js +136 -0
  46. package/dist/cjs/mods/toolkit/src/components/cache/cacheSys.utils.js.map +1 -0
  47. package/dist/cjs/mods/toolkit/src/components/cache/config/cache.config.js +39 -0
  48. package/dist/cjs/mods/toolkit/src/components/cache/config/cache.config.js.map +1 -0
  49. package/dist/cjs/mods/toolkit/src/components/cache/index.js +459 -0
  50. package/dist/cjs/mods/toolkit/src/components/cache/index.js.map +1 -0
  51. package/dist/cjs/mods/toolkit/src/components/cache/useCache.js +243 -0
  52. package/dist/cjs/mods/toolkit/src/components/cache/useCache.js.map +1 -0
  53. package/dist/cjs/mods/toolkit/src/components/canary-tokens.js +351 -0
  54. package/dist/cjs/mods/toolkit/src/components/canary-tokens.js.map +1 -0
  55. package/dist/cjs/mods/toolkit/src/components/entropy-augmentation.js +478 -0
  56. package/dist/cjs/mods/toolkit/src/components/entropy-augmentation.js.map +1 -0
  57. package/dist/cjs/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-allocator.js +338 -0
  58. package/dist/cjs/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-allocator.js.map +1 -0
  59. package/dist/cjs/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-cache.js +536 -0
  60. package/dist/cjs/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-cache.js.map +1 -0
  61. package/dist/cjs/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-engine.js +631 -0
  62. package/dist/cjs/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-engine.js.map +1 -0
  63. package/dist/cjs/mods/toolkit/src/components/fortified-function/const/exec.const.js +18 -0
  64. package/dist/cjs/mods/toolkit/src/components/fortified-function/const/exec.const.js.map +1 -0
  65. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/fortified-config.js +356 -0
  66. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/fortified-config.js.map +1 -0
  67. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/fortified-function-core.js +520 -0
  68. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/fortified-function-core.js.map +1 -0
  69. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/fortified-logger.js +246 -0
  70. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/fortified-logger.js.map +1 -0
  71. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/api-manager.js +189 -0
  72. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/api-manager.js.map +1 -0
  73. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/cache-manager.js +107 -0
  74. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/cache-manager.js.map +1 -0
  75. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/execution-context.js +105 -0
  76. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/execution-context.js.map +1 -0
  77. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/execution-engine.js +127 -0
  78. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/execution-engine.js.map +1 -0
  79. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/execution-router.js +93 -0
  80. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/execution-router.js.map +1 -0
  81. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/memory-manager.js +147 -0
  82. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/memory-manager.js.map +1 -0
  83. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/security-manager.js +102 -0
  84. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/security-manager.js.map +1 -0
  85. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/stats-manager.js +159 -0
  86. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/stats-manager.js.map +1 -0
  87. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/timing-manager.js +125 -0
  88. package/dist/cjs/mods/toolkit/src/components/fortified-function/core/mods/timing-manager.js.map +1 -0
  89. package/dist/cjs/mods/toolkit/src/components/fortified-function/engines/analytics-engine.js +370 -0
  90. package/dist/cjs/mods/toolkit/src/components/fortified-function/engines/analytics-engine.js.map +1 -0
  91. package/dist/cjs/mods/toolkit/src/components/fortified-function/engines/execution-engine.js +402 -0
  92. package/dist/cjs/mods/toolkit/src/components/fortified-function/engines/execution-engine.js.map +1 -0
  93. package/dist/cjs/mods/toolkit/src/components/fortified-function/index.js +172 -0
  94. package/dist/cjs/mods/toolkit/src/components/fortified-function/index.js.map +1 -0
  95. package/dist/cjs/mods/toolkit/src/components/fortified-function/performance/performance-monitor.js +240 -0
  96. package/dist/cjs/mods/toolkit/src/components/fortified-function/performance/performance-monitor.js.map +1 -0
  97. package/dist/cjs/mods/toolkit/src/components/fortified-function/performance/performance-timer.js +188 -0
  98. package/dist/cjs/mods/toolkit/src/components/fortified-function/performance/performance-timer.js.map +1 -0
  99. package/dist/cjs/mods/toolkit/src/components/fortified-function/security/security-handler.js +253 -0
  100. package/dist/cjs/mods/toolkit/src/components/fortified-function/security/security-handler.js.map +1 -0
  101. package/dist/cjs/mods/toolkit/src/components/fortified-function/serializer/safe-serializer.js +350 -0
  102. package/dist/cjs/mods/toolkit/src/components/fortified-function/serializer/safe-serializer.js.map +1 -0
  103. package/dist/cjs/mods/toolkit/src/components/fortified-function/smart-cache.js +693 -0
  104. package/dist/cjs/mods/toolkit/src/components/fortified-function/smart-cache.js.map +1 -0
  105. package/dist/cjs/mods/toolkit/src/components/fortified-function/types/types.js +16 -0
  106. package/dist/cjs/mods/toolkit/src/components/fortified-function/types/types.js.map +1 -0
  107. package/dist/cjs/mods/toolkit/src/components/fortified-function/utils/utils.js +68 -0
  108. package/dist/cjs/mods/toolkit/src/components/fortified-function/utils/utils.js.map +1 -0
  109. package/dist/cjs/mods/toolkit/src/components/memory-hard.js +922 -0
  110. package/dist/cjs/mods/toolkit/src/components/memory-hard.js.map +1 -0
  111. package/dist/cjs/mods/toolkit/src/components/post-quantum.js +323 -0
  112. package/dist/cjs/mods/toolkit/src/components/post-quantum.js.map +1 -0
  113. package/dist/cjs/mods/toolkit/src/components/runtime-verification.js +645 -0
  114. package/dist/cjs/mods/toolkit/src/components/runtime-verification.js.map +1 -0
  115. package/dist/cjs/mods/toolkit/src/components/secure-array/core/secure-array-core.js +1572 -0
  116. package/dist/cjs/mods/toolkit/src/components/secure-array/core/secure-array-core.js.map +1 -0
  117. package/dist/cjs/mods/toolkit/src/components/secure-array/crypto/ArrayCryptoHandler.js +330 -0
  118. package/dist/cjs/mods/toolkit/src/components/secure-array/crypto/ArrayCryptoHandler.js.map +1 -0
  119. package/dist/cjs/mods/toolkit/src/components/secure-array/events/event-manager.js +270 -0
  120. package/dist/cjs/mods/toolkit/src/components/secure-array/events/event-manager.js.map +1 -0
  121. package/dist/cjs/mods/toolkit/src/components/secure-array/index.js +66 -0
  122. package/dist/cjs/mods/toolkit/src/components/secure-array/index.js.map +1 -0
  123. package/dist/cjs/mods/toolkit/src/components/secure-array/metadata/metadata-manager.js +331 -0
  124. package/dist/cjs/mods/toolkit/src/components/secure-array/metadata/metadata-manager.js.map +1 -0
  125. package/dist/cjs/mods/toolkit/src/components/secure-array/serialization/ArraySerializationHandler.js +390 -0
  126. package/dist/cjs/mods/toolkit/src/components/secure-array/serialization/ArraySerializationHandler.js.map +1 -0
  127. package/dist/cjs/mods/toolkit/src/components/secure-array/types/index.js +87 -0
  128. package/dist/cjs/mods/toolkit/src/components/secure-array/types/index.js.map +1 -0
  129. package/dist/cjs/mods/toolkit/src/components/secure-array/utils/id-generator.js +80 -0
  130. package/dist/cjs/mods/toolkit/src/components/secure-array/utils/id-generator.js.map +1 -0
  131. package/dist/cjs/mods/toolkit/src/components/secure-array/utils/validation.js +275 -0
  132. package/dist/cjs/mods/toolkit/src/components/secure-array/utils/validation.js.map +1 -0
  133. package/dist/cjs/mods/toolkit/src/components/secure-memory.js +906 -0
  134. package/dist/cjs/mods/toolkit/src/components/secure-memory.js.map +1 -0
  135. package/dist/cjs/mods/toolkit/src/components/secure-object/core/secure-object-core.js +1605 -0
  136. package/dist/cjs/mods/toolkit/src/components/secure-object/core/secure-object-core.js.map +1 -0
  137. package/dist/cjs/mods/toolkit/src/components/secure-object/encryption/crypto-handler.js +362 -0
  138. package/dist/cjs/mods/toolkit/src/components/secure-object/encryption/crypto-handler.js.map +1 -0
  139. package/dist/cjs/mods/toolkit/src/components/secure-object/encryption/sensitive-keys.js +206 -0
  140. package/dist/cjs/mods/toolkit/src/components/secure-object/encryption/sensitive-keys.js.map +1 -0
  141. package/dist/cjs/mods/toolkit/src/components/secure-object/events/event-manager.js +197 -0
  142. package/dist/cjs/mods/toolkit/src/components/secure-object/events/event-manager.js.map +1 -0
  143. package/dist/cjs/mods/toolkit/src/components/secure-object/index.js +67 -0
  144. package/dist/cjs/mods/toolkit/src/components/secure-object/index.js.map +1 -0
  145. package/dist/cjs/mods/toolkit/src/components/secure-object/metadata/metadata-manager.js +183 -0
  146. package/dist/cjs/mods/toolkit/src/components/secure-object/metadata/metadata-manager.js.map +1 -0
  147. package/dist/cjs/mods/toolkit/src/components/secure-object/serialization/serialization-handler.js +197 -0
  148. package/dist/cjs/mods/toolkit/src/components/secure-object/serialization/serialization-handler.js.map +1 -0
  149. package/dist/cjs/mods/toolkit/src/components/secure-object/utils/id-generator.js +64 -0
  150. package/dist/cjs/mods/toolkit/src/components/secure-object/utils/id-generator.js.map +1 -0
  151. package/dist/cjs/mods/toolkit/src/components/secure-object/utils/validation.js +239 -0
  152. package/dist/cjs/mods/toolkit/src/components/secure-object/utils/validation.js.map +1 -0
  153. package/dist/cjs/mods/toolkit/src/components/secure-serialization.js +772 -0
  154. package/dist/cjs/mods/toolkit/src/components/secure-serialization.js.map +1 -0
  155. package/dist/cjs/mods/toolkit/src/components/secure-string/advanced/entropy-analyzer.js +308 -0
  156. package/dist/cjs/mods/toolkit/src/components/secure-string/advanced/entropy-analyzer.js.map +1 -0
  157. package/dist/cjs/mods/toolkit/src/components/secure-string/advanced/performance-monitor.js +335 -0
  158. package/dist/cjs/mods/toolkit/src/components/secure-string/advanced/performance-monitor.js.map +1 -0
  159. package/dist/cjs/mods/toolkit/src/components/secure-string/advanced/quantum-safe.js +245 -0
  160. package/dist/cjs/mods/toolkit/src/components/secure-string/advanced/quantum-safe.js.map +1 -0
  161. package/dist/cjs/mods/toolkit/src/components/secure-string/buffer/buffer-manager.js +205 -0
  162. package/dist/cjs/mods/toolkit/src/components/secure-string/buffer/buffer-manager.js.map +1 -0
  163. package/dist/cjs/mods/toolkit/src/components/secure-string/core/secure-string-core.js +788 -0
  164. package/dist/cjs/mods/toolkit/src/components/secure-string/core/secure-string-core.js.map +1 -0
  165. package/dist/cjs/mods/toolkit/src/components/secure-string/crypto/crypto-operations.js +319 -0
  166. package/dist/cjs/mods/toolkit/src/components/secure-string/crypto/crypto-operations.js.map +1 -0
  167. package/dist/cjs/mods/toolkit/src/components/secure-string/operations/comparison-operations.js +221 -0
  168. package/dist/cjs/mods/toolkit/src/components/secure-string/operations/comparison-operations.js.map +1 -0
  169. package/dist/cjs/mods/toolkit/src/components/secure-string/operations/string-operations.js +234 -0
  170. package/dist/cjs/mods/toolkit/src/components/secure-string/operations/string-operations.js.map +1 -0
  171. package/dist/cjs/mods/toolkit/src/components/secure-string/types/index.js +41 -0
  172. package/dist/cjs/mods/toolkit/src/components/secure-string/types/index.js.map +1 -0
  173. package/dist/cjs/mods/toolkit/src/components/secure-string/validation/string-validator.js +334 -0
  174. package/dist/cjs/mods/toolkit/src/components/secure-string/validation/string-validator.js.map +1 -0
  175. package/dist/cjs/mods/toolkit/src/components/side-channel.js +146 -0
  176. package/dist/cjs/mods/toolkit/src/components/side-channel.js.map +1 -0
  177. package/dist/cjs/mods/toolkit/src/components/tamper-evident-logging.js +391 -0
  178. package/dist/cjs/mods/toolkit/src/components/tamper-evident-logging.js.map +1 -0
  179. package/dist/cjs/mods/toolkit/src/const/buffer.const.js +15 -0
  180. package/dist/cjs/mods/toolkit/src/const/buffer.const.js.map +1 -0
  181. package/dist/cjs/mods/toolkit/src/core/crypto.js +722 -0
  182. package/dist/cjs/mods/toolkit/src/core/crypto.js.map +1 -0
  183. package/dist/cjs/mods/toolkit/src/core/hash/hash-advanced.js +388 -0
  184. package/dist/cjs/mods/toolkit/src/core/hash/hash-advanced.js.map +1 -0
  185. package/dist/cjs/mods/toolkit/src/core/hash/hash-core.js +376 -0
  186. package/dist/cjs/mods/toolkit/src/core/hash/hash-core.js.map +1 -0
  187. package/dist/cjs/mods/toolkit/src/core/hash/hash-entropy.js +307 -0
  188. package/dist/cjs/mods/toolkit/src/core/hash/hash-entropy.js.map +1 -0
  189. package/dist/cjs/mods/toolkit/src/core/hash/hash-security.js +372 -0
  190. package/dist/cjs/mods/toolkit/src/core/hash/hash-security.js.map +1 -0
  191. package/dist/cjs/mods/toolkit/src/core/hash/hash-types.js +16 -0
  192. package/dist/cjs/mods/toolkit/src/core/hash/hash-types.js.map +1 -0
  193. package/dist/cjs/mods/toolkit/src/core/hash/hash-utils.js +328 -0
  194. package/dist/cjs/mods/toolkit/src/core/hash/hash-utils.js.map +1 -0
  195. package/dist/cjs/mods/toolkit/src/core/hash/hash-validator.js +312 -0
  196. package/dist/cjs/mods/toolkit/src/core/hash/hash-validator.js.map +1 -0
  197. package/dist/cjs/mods/toolkit/src/core/hash.js +25 -0
  198. package/dist/cjs/mods/toolkit/src/core/hash.js.map +1 -0
  199. package/dist/cjs/mods/toolkit/src/core/keys/algorithms/mods/Argon2Algo.js +135 -0
  200. package/dist/cjs/mods/toolkit/src/core/keys/algorithms/mods/Argon2Algo.js.map +1 -0
  201. package/dist/cjs/mods/toolkit/src/core/keys/algorithms/mods/PBKDF2Algo.js +293 -0
  202. package/dist/cjs/mods/toolkit/src/core/keys/algorithms/mods/PBKDF2Algo.js.map +1 -0
  203. package/dist/cjs/mods/toolkit/src/core/keys/algorithms/mods/ScryptAlgo.js +317 -0
  204. package/dist/cjs/mods/toolkit/src/core/keys/algorithms/mods/ScryptAlgo.js.map +1 -0
  205. package/dist/cjs/mods/toolkit/src/core/keys/keys-core.js +201 -0
  206. package/dist/cjs/mods/toolkit/src/core/keys/keys-core.js.map +1 -0
  207. package/dist/cjs/mods/toolkit/src/core/keys/keys-logger.js +234 -0
  208. package/dist/cjs/mods/toolkit/src/core/keys/keys-logger.js.map +1 -0
  209. package/dist/cjs/mods/toolkit/src/core/keys/keys-types.js +65 -0
  210. package/dist/cjs/mods/toolkit/src/core/keys/keys-types.js.map +1 -0
  211. package/dist/cjs/mods/toolkit/src/core/keys/keys-utils.js +322 -0
  212. package/dist/cjs/mods/toolkit/src/core/keys/keys-utils.js.map +1 -0
  213. package/dist/cjs/mods/toolkit/src/core/keys.js +136 -0
  214. package/dist/cjs/mods/toolkit/src/core/keys.js.map +1 -0
  215. package/dist/cjs/mods/toolkit/src/core/password/index.js +122 -0
  216. package/dist/cjs/mods/toolkit/src/core/password/index.js.map +1 -0
  217. package/dist/cjs/mods/toolkit/src/core/password/password-algorithms.js +397 -0
  218. package/dist/cjs/mods/toolkit/src/core/password/password-algorithms.js.map +1 -0
  219. package/dist/cjs/mods/toolkit/src/core/password/password-core.js +294 -0
  220. package/dist/cjs/mods/toolkit/src/core/password/password-core.js.map +1 -0
  221. package/dist/cjs/mods/toolkit/src/core/password/password-generator.js +365 -0
  222. package/dist/cjs/mods/toolkit/src/core/password/password-generator.js.map +1 -0
  223. package/dist/cjs/mods/toolkit/src/core/password/password-migration.js +237 -0
  224. package/dist/cjs/mods/toolkit/src/core/password/password-migration.js.map +1 -0
  225. package/dist/cjs/mods/toolkit/src/core/password/password-security.js +534 -0
  226. package/dist/cjs/mods/toolkit/src/core/password/password-security.js.map +1 -0
  227. package/dist/cjs/mods/toolkit/src/core/password/password-types.js +39 -0
  228. package/dist/cjs/mods/toolkit/src/core/password/password-types.js.map +1 -0
  229. package/dist/cjs/mods/toolkit/src/core/password/password-utils.js +651 -0
  230. package/dist/cjs/mods/toolkit/src/core/password/password-utils.js.map +1 -0
  231. package/dist/cjs/mods/toolkit/src/core/password/swlist.js +1122 -0
  232. package/dist/cjs/mods/toolkit/src/core/password/swlist.js.map +1 -0
  233. package/dist/cjs/mods/toolkit/src/core/random/random-core.js +328 -0
  234. package/dist/cjs/mods/toolkit/src/core/random/random-core.js.map +1 -0
  235. package/dist/cjs/mods/toolkit/src/core/random/random-crypto.js +339 -0
  236. package/dist/cjs/mods/toolkit/src/core/random/random-crypto.js.map +1 -0
  237. package/dist/cjs/mods/toolkit/src/core/random/random-entropy.js +388 -0
  238. package/dist/cjs/mods/toolkit/src/core/random/random-entropy.js.map +1 -0
  239. package/dist/cjs/mods/toolkit/src/core/random/random-generators.js +344 -0
  240. package/dist/cjs/mods/toolkit/src/core/random/random-generators.js.map +1 -0
  241. package/dist/cjs/mods/toolkit/src/core/random/random-sources.js +426 -0
  242. package/dist/cjs/mods/toolkit/src/core/random/random-sources.js.map +1 -0
  243. package/dist/cjs/mods/toolkit/src/core/random/random-tokens.js +309 -0
  244. package/dist/cjs/mods/toolkit/src/core/random/random-tokens.js.map +1 -0
  245. package/dist/cjs/mods/toolkit/src/core/random/random-types.js +36 -0
  246. package/dist/cjs/mods/toolkit/src/core/random/random-types.js.map +1 -0
  247. package/dist/cjs/mods/toolkit/src/core/validators.js +200 -0
  248. package/dist/cjs/mods/toolkit/src/core/validators.js.map +1 -0
  249. package/dist/cjs/mods/toolkit/src/helpers/Uint8Array.js +335 -0
  250. package/dist/cjs/mods/toolkit/src/helpers/Uint8Array.js.map +1 -0
  251. package/dist/cjs/mods/toolkit/src/helpers/createEnu.js +27 -0
  252. package/dist/cjs/mods/toolkit/src/helpers/createEnu.js.map +1 -0
  253. package/dist/cjs/mods/toolkit/src/index.js +417 -0
  254. package/dist/cjs/mods/toolkit/src/index.js.map +1 -0
  255. package/dist/cjs/mods/toolkit/src/types/global.js +51 -0
  256. package/dist/cjs/mods/toolkit/src/types/global.js.map +1 -0
  257. package/dist/cjs/mods/toolkit/src/types/secure-mem.type.js +100 -0
  258. package/dist/cjs/mods/toolkit/src/types/secure-mem.type.js.map +1 -0
  259. package/dist/cjs/mods/toolkit/src/types/secure-memory.js +20 -0
  260. package/dist/cjs/mods/toolkit/src/types/secure-memory.js.map +1 -0
  261. package/dist/cjs/mods/toolkit/src/types.js +63 -0
  262. package/dist/cjs/mods/toolkit/src/types.js.map +1 -0
  263. package/dist/cjs/mods/toolkit/src/utils/CryptoAlgorithmUtils.js +71 -0
  264. package/dist/cjs/mods/toolkit/src/utils/CryptoAlgorithmUtils.js.map +1 -0
  265. package/dist/cjs/mods/toolkit/src/utils/constants.js +111 -0
  266. package/dist/cjs/mods/toolkit/src/utils/constants.js.map +1 -0
  267. package/dist/cjs/mods/toolkit/src/utils/dataConverter.js +74 -0
  268. package/dist/cjs/mods/toolkit/src/utils/dataConverter.js.map +1 -0
  269. package/dist/cjs/mods/toolkit/src/utils/encoding.js +290 -0
  270. package/dist/cjs/mods/toolkit/src/utils/encoding.js.map +1 -0
  271. package/dist/cjs/mods/toolkit/src/utils/errorHandler.js +140 -0
  272. package/dist/cjs/mods/toolkit/src/utils/errorHandler.js.map +1 -0
  273. package/dist/cjs/mods/toolkit/src/utils/memory/config-manager.js +282 -0
  274. package/dist/cjs/mods/toolkit/src/utils/memory/config-manager.js.map +1 -0
  275. package/dist/cjs/mods/toolkit/src/utils/memory/event-manager.js +277 -0
  276. package/dist/cjs/mods/toolkit/src/utils/memory/event-manager.js.map +1 -0
  277. package/dist/cjs/mods/toolkit/src/utils/memory/index.js +162 -0
  278. package/dist/cjs/mods/toolkit/src/utils/memory/index.js.map +1 -0
  279. package/dist/cjs/mods/toolkit/src/utils/memory/memory-manager.js +888 -0
  280. package/dist/cjs/mods/toolkit/src/utils/memory/memory-manager.js.map +1 -0
  281. package/dist/cjs/mods/toolkit/src/utils/memory/memory-pool.js +356 -0
  282. package/dist/cjs/mods/toolkit/src/utils/memory/memory-pool.js.map +1 -0
  283. package/dist/cjs/mods/toolkit/src/utils/memory/reference-tracker.js +376 -0
  284. package/dist/cjs/mods/toolkit/src/utils/memory/reference-tracker.js.map +1 -0
  285. package/dist/cjs/mods/toolkit/src/utils/memory/types.js +56 -0
  286. package/dist/cjs/mods/toolkit/src/utils/memory/types.js.map +1 -0
  287. package/dist/cjs/mods/toolkit/src/utils/patterns.js +127 -0
  288. package/dist/cjs/mods/toolkit/src/utils/patterns.js.map +1 -0
  289. package/dist/cjs/mods/toolkit/src/utils/performanceMonitor.js +249 -0
  290. package/dist/cjs/mods/toolkit/src/utils/performanceMonitor.js.map +1 -0
  291. package/dist/cjs/mods/toolkit/src/utils/stats.js +182 -0
  292. package/dist/cjs/mods/toolkit/src/utils/stats.js.map +1 -0
  293. package/dist/cjs/performance-monitor.js +162 -0
  294. package/dist/cjs/performance-monitor.js.map +1 -0
  295. package/dist/cjs/plugins/plugin-manager.js +151 -0
  296. package/dist/cjs/plugins/plugin-manager.js.map +1 -0
  297. package/dist/cjs/plugins/route-optimization-plugin.js +413 -0
  298. package/dist/cjs/plugins/route-optimization-plugin.js.map +1 -0
  299. package/dist/cjs/plugins/server-maintenance-plugin.js +510 -0
  300. package/dist/cjs/plugins/server-maintenance-plugin.js.map +1 -0
  301. package/dist/cjs/quick-start.js +47 -0
  302. package/dist/cjs/quick-start.js.map +1 -0
  303. package/dist/cjs/security-middleware.js +415 -0
  304. package/dist/cjs/security-middleware.js.map +1 -0
  305. package/dist/cjs/server/FastServer.js +988 -0
  306. package/dist/cjs/server/FastServer.js.map +1 -0
  307. package/dist/cjs/server/components/fastapi/CacheManager.js +245 -0
  308. package/dist/cjs/server/components/fastapi/CacheManager.js.map +1 -0
  309. package/dist/cjs/server/components/fastapi/ClusterManagerComponent.js +327 -0
  310. package/dist/cjs/server/components/fastapi/ClusterManagerComponent.js.map +1 -0
  311. package/dist/cjs/server/components/fastapi/FileWatcherManager.js +493 -0
  312. package/dist/cjs/server/components/fastapi/FileWatcherManager.js.map +1 -0
  313. package/dist/cjs/server/components/fastapi/MonitoringManager.js +307 -0
  314. package/dist/cjs/server/components/fastapi/MonitoringManager.js.map +1 -0
  315. package/dist/cjs/server/components/fastapi/PerformanceManager.js +297 -0
  316. package/dist/cjs/server/components/fastapi/PerformanceManager.js.map +1 -0
  317. package/dist/cjs/server/components/fastapi/PluginManager.js +312 -0
  318. package/dist/cjs/server/components/fastapi/PluginManager.js.map +1 -0
  319. package/dist/cjs/server/components/fastapi/RedirectManager.js +492 -0
  320. package/dist/cjs/server/components/fastapi/RedirectManager.js.map +1 -0
  321. package/dist/cjs/server/components/fastapi/RequestProcessor.js +213 -0
  322. package/dist/cjs/server/components/fastapi/RequestProcessor.js.map +1 -0
  323. package/dist/cjs/server/components/fastapi/RouteManager.js +272 -0
  324. package/dist/cjs/server/components/fastapi/RouteManager.js.map +1 -0
  325. package/dist/cjs/server/components/fastapi/UltraFastRequestProcessor.js +668 -0
  326. package/dist/cjs/server/components/fastapi/UltraFastRequestProcessor.js.map +1 -0
  327. package/dist/cjs/server/components/fastapi/console/ConsoleInterceptor.js +812 -0
  328. package/dist/cjs/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -0
  329. package/dist/cjs/server/components/fastapi/console/encryption/ConsoleEncryption.js +216 -0
  330. package/dist/cjs/server/components/fastapi/console/encryption/ConsoleEncryption.js.map +1 -0
  331. package/dist/cjs/server/components/fastapi/console/types.js +163 -0
  332. package/dist/cjs/server/components/fastapi/console/types.js.map +1 -0
  333. package/dist/cjs/server/components/fastapi/middlewares/MiddlewareAPI.js +347 -0
  334. package/dist/cjs/server/components/fastapi/middlewares/MiddlewareAPI.js.map +1 -0
  335. package/dist/cjs/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +204 -0
  336. package/dist/cjs/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +1 -0
  337. package/dist/cjs/server/components/fastapi/middlewares/middlewareManager.js +953 -0
  338. package/dist/cjs/server/components/fastapi/middlewares/middlewareManager.js.map +1 -0
  339. package/dist/cjs/server/components/fastapi/modules/UFRP/WorkerPool.js +56 -0
  340. package/dist/cjs/server/components/fastapi/modules/UFRP/WorkerPool.js.map +1 -0
  341. package/dist/cjs/server/components/fastapi/templates/redirectTemp.js +101 -0
  342. package/dist/cjs/server/components/fastapi/templates/redirectTemp.js.map +1 -0
  343. package/dist/cjs/server/components/fastapi/typescript/TypeScriptChecker.js +373 -0
  344. package/dist/cjs/server/components/fastapi/typescript/TypeScriptChecker.js.map +1 -0
  345. package/dist/cjs/server/const/Cluster.config.js +72 -0
  346. package/dist/cjs/server/const/Cluster.config.js.map +1 -0
  347. package/dist/cjs/server/const/ExecutionPredictor_EP.const.js +73 -0
  348. package/dist/cjs/server/const/ExecutionPredictor_EP.const.js.map +1 -0
  349. package/dist/cjs/server/const/FileWatcher.config.js +98 -0
  350. package/dist/cjs/server/const/FileWatcher.config.js.map +1 -0
  351. package/dist/cjs/server/const/default.js +122 -0
  352. package/dist/cjs/server/const/default.js.map +1 -0
  353. package/dist/cjs/server/optimization/ExecutionPredictor.js +218 -0
  354. package/dist/cjs/server/optimization/ExecutionPredictor.js.map +1 -0
  355. package/dist/cjs/server/optimization/PerformanceProfiler.js +234 -0
  356. package/dist/cjs/server/optimization/PerformanceProfiler.js.map +1 -0
  357. package/dist/cjs/server/optimization/RequestPreCompiler.js +708 -0
  358. package/dist/cjs/server/optimization/RequestPreCompiler.js.map +1 -0
  359. package/dist/cjs/server/optimization/UltraFastOptimizer.js +400 -0
  360. package/dist/cjs/server/optimization/UltraFastOptimizer.js.map +1 -0
  361. package/dist/cjs/server/plugins/PluginEngine.js +378 -0
  362. package/dist/cjs/server/plugins/PluginEngine.js.map +1 -0
  363. package/dist/cjs/server/plugins/PluginRegistry.js +339 -0
  364. package/dist/cjs/server/plugins/PluginRegistry.js.map +1 -0
  365. package/dist/cjs/server/plugins/builtin/JWTAuthPlugin.js +591 -0
  366. package/dist/cjs/server/plugins/builtin/JWTAuthPlugin.js.map +1 -0
  367. package/dist/cjs/server/plugins/builtin/ResponseTimePlugin.js +413 -0
  368. package/dist/cjs/server/plugins/builtin/ResponseTimePlugin.js.map +1 -0
  369. package/dist/cjs/server/plugins/builtin/SmartCachePlugin.js +843 -0
  370. package/dist/cjs/server/plugins/builtin/SmartCachePlugin.js.map +1 -0
  371. package/dist/cjs/server/plugins/core/CachePlugin.js +1975 -0
  372. package/dist/cjs/server/plugins/core/CachePlugin.js.map +1 -0
  373. package/dist/cjs/server/plugins/core/PerformancePlugin.js +894 -0
  374. package/dist/cjs/server/plugins/core/PerformancePlugin.js.map +1 -0
  375. package/dist/cjs/server/plugins/core/SecurityPlugin.js +799 -0
  376. package/dist/cjs/server/plugins/core/SecurityPlugin.js.map +1 -0
  377. package/dist/cjs/server/plugins/types/PluginTypes.js +47 -0
  378. package/dist/cjs/server/plugins/types/PluginTypes.js.map +1 -0
  379. package/dist/cjs/server/service/Reload/FileWatcher.js +756 -0
  380. package/dist/cjs/server/service/Reload/FileWatcher.js.map +1 -0
  381. package/dist/cjs/server/service/Reload/HotReloader.js +738 -0
  382. package/dist/cjs/server/service/Reload/HotReloader.js.map +1 -0
  383. package/dist/cjs/server/service/Reload/exec/TypeScriptExecutor.js +342 -0
  384. package/dist/cjs/server/service/Reload/exec/TypeScriptExecutor.js.map +1 -0
  385. package/dist/cjs/server/utils/ConfigLoader.js +209 -0
  386. package/dist/cjs/server/utils/ConfigLoader.js.map +1 -0
  387. package/dist/cjs/server/utils/Logger.js +238 -0
  388. package/dist/cjs/server/utils/Logger.js.map +1 -0
  389. package/dist/cjs/server/utils/PortManager.js +157 -0
  390. package/dist/cjs/server/utils/PortManager.js.map +1 -0
  391. package/dist/cjs/server/utils/forceClosePort.js +126 -0
  392. package/dist/cjs/server/utils/forceClosePort.js.map +1 -0
  393. package/dist/cjs/smart-routes.js +347 -0
  394. package/dist/cjs/smart-routes.js.map +1 -0
  395. package/dist/esm/ServerFactory.js +184 -0
  396. package/dist/esm/ServerFactory.js.map +1 -0
  397. package/dist/esm/cache/CacheFactory.js +402 -0
  398. package/dist/esm/cache/CacheFactory.js.map +1 -0
  399. package/dist/esm/cache/SecureCacheAdapter.js +1225 -0
  400. package/dist/esm/cache/SecureCacheAdapter.js.map +1 -0
  401. package/dist/esm/cluster/cluster-manager.js +990 -0
  402. package/dist/esm/cluster/cluster-manager.js.map +1 -0
  403. package/dist/esm/cluster/index.js +321 -0
  404. package/dist/esm/cluster/index.js.map +1 -0
  405. package/dist/esm/cluster/modules/AutoScaler.js +530 -0
  406. package/dist/esm/cluster/modules/AutoScaler.js.map +1 -0
  407. package/dist/esm/cluster/modules/ClusterFactory.js +490 -0
  408. package/dist/esm/cluster/modules/ClusterFactory.js.map +1 -0
  409. package/dist/esm/cluster/modules/ClusterPersistenceManager.js +434 -0
  410. package/dist/esm/cluster/modules/ClusterPersistenceManager.js.map +1 -0
  411. package/dist/esm/cluster/modules/HealthMonitor.js +440 -0
  412. package/dist/esm/cluster/modules/HealthMonitor.js.map +1 -0
  413. package/dist/esm/cluster/modules/IPCManager.js +759 -0
  414. package/dist/esm/cluster/modules/IPCManager.js.map +1 -0
  415. package/dist/esm/cluster/modules/LoadBalancer.js +1102 -0
  416. package/dist/esm/cluster/modules/LoadBalancer.js.map +1 -0
  417. package/dist/esm/cluster/modules/MetricsCollector.js +538 -0
  418. package/dist/esm/cluster/modules/MetricsCollector.js.map +1 -0
  419. package/dist/esm/cluster/modules/WorkerManager.js +1165 -0
  420. package/dist/esm/cluster/modules/WorkerManager.js.map +1 -0
  421. package/dist/esm/encryption/EncryptionService.js +378 -0
  422. package/dist/esm/encryption/EncryptionService.js.map +1 -0
  423. package/dist/esm/index.js.map +1 -0
  424. package/dist/esm/middleware/safe-json-middleware.js +153 -0
  425. package/dist/esm/middleware/safe-json-middleware.js.map +1 -0
  426. package/dist/esm/mods/toolkit/src/algorithms/hash-algorithms.js +705 -0
  427. package/dist/esm/mods/toolkit/src/algorithms/hash-algorithms.js.map +1 -0
  428. package/dist/esm/mods/toolkit/src/algorithms/registry.js +81 -0
  429. package/dist/esm/mods/toolkit/src/algorithms/registry.js.map +1 -0
  430. package/dist/esm/mods/toolkit/src/components/attestation.js +1059 -0
  431. package/dist/esm/mods/toolkit/src/components/attestation.js.map +1 -0
  432. package/dist/esm/mods/toolkit/src/components/cache/FastLRU.js +320 -0
  433. package/dist/esm/mods/toolkit/src/components/cache/FastLRU.js.map +1 -0
  434. package/dist/esm/mods/toolkit/src/components/cache/UFSIMC.js +1109 -0
  435. package/dist/esm/mods/toolkit/src/components/cache/UFSIMC.js.map +1 -0
  436. package/dist/esm/mods/toolkit/src/components/cache/cacheSys.js +622 -0
  437. package/dist/esm/mods/toolkit/src/components/cache/cacheSys.js.map +1 -0
  438. package/dist/esm/mods/toolkit/src/components/cache/cacheSys.utils.js +111 -0
  439. package/dist/esm/mods/toolkit/src/components/cache/cacheSys.utils.js.map +1 -0
  440. package/dist/esm/mods/toolkit/src/components/cache/config/cache.config.js +36 -0
  441. package/dist/esm/mods/toolkit/src/components/cache/config/cache.config.js.map +1 -0
  442. package/dist/esm/mods/toolkit/src/components/cache/index.js +449 -0
  443. package/dist/esm/mods/toolkit/src/components/cache/index.js.map +1 -0
  444. package/dist/esm/mods/toolkit/src/components/cache/useCache.js +240 -0
  445. package/dist/esm/mods/toolkit/src/components/cache/useCache.js.map +1 -0
  446. package/dist/esm/mods/toolkit/src/components/canary-tokens.js +346 -0
  447. package/dist/esm/mods/toolkit/src/components/canary-tokens.js.map +1 -0
  448. package/dist/esm/mods/toolkit/src/components/entropy-augmentation.js +476 -0
  449. package/dist/esm/mods/toolkit/src/components/entropy-augmentation.js.map +1 -0
  450. package/dist/esm/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-allocator.js +336 -0
  451. package/dist/esm/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-allocator.js.map +1 -0
  452. package/dist/esm/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-cache.js +534 -0
  453. package/dist/esm/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-cache.js.map +1 -0
  454. package/dist/esm/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-engine.js +629 -0
  455. package/dist/esm/mods/toolkit/src/components/fortified-function/UFA/ultra-fast-engine.js.map +1 -0
  456. package/dist/esm/mods/toolkit/src/components/fortified-function/const/exec.const.js +11 -0
  457. package/dist/esm/mods/toolkit/src/components/fortified-function/const/exec.const.js.map +1 -0
  458. package/dist/esm/mods/toolkit/src/components/fortified-function/core/fortified-config.js +351 -0
  459. package/dist/esm/mods/toolkit/src/components/fortified-function/core/fortified-config.js.map +1 -0
  460. package/dist/esm/mods/toolkit/src/components/fortified-function/core/fortified-function-core.js +518 -0
  461. package/dist/esm/mods/toolkit/src/components/fortified-function/core/fortified-function-core.js.map +1 -0
  462. package/dist/esm/mods/toolkit/src/components/fortified-function/core/fortified-logger.js +243 -0
  463. package/dist/esm/mods/toolkit/src/components/fortified-function/core/fortified-logger.js.map +1 -0
  464. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/api-manager.js +187 -0
  465. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/api-manager.js.map +1 -0
  466. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/cache-manager.js +105 -0
  467. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/cache-manager.js.map +1 -0
  468. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/execution-context.js +103 -0
  469. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/execution-context.js.map +1 -0
  470. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/execution-engine.js +125 -0
  471. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/execution-engine.js.map +1 -0
  472. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/execution-router.js +91 -0
  473. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/execution-router.js.map +1 -0
  474. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/memory-manager.js +145 -0
  475. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/memory-manager.js.map +1 -0
  476. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/security-manager.js +100 -0
  477. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/security-manager.js.map +1 -0
  478. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/stats-manager.js +157 -0
  479. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/stats-manager.js.map +1 -0
  480. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/timing-manager.js +123 -0
  481. package/dist/esm/mods/toolkit/src/components/fortified-function/core/mods/timing-manager.js.map +1 -0
  482. package/dist/esm/mods/toolkit/src/components/fortified-function/engines/analytics-engine.js +368 -0
  483. package/dist/esm/mods/toolkit/src/components/fortified-function/engines/analytics-engine.js.map +1 -0
  484. package/dist/esm/mods/toolkit/src/components/fortified-function/engines/execution-engine.js +400 -0
  485. package/dist/esm/mods/toolkit/src/components/fortified-function/engines/execution-engine.js.map +1 -0
  486. package/dist/esm/mods/toolkit/src/components/fortified-function/index.js +165 -0
  487. package/dist/esm/mods/toolkit/src/components/fortified-function/index.js.map +1 -0
  488. package/dist/esm/mods/toolkit/src/components/fortified-function/performance/performance-monitor.js +238 -0
  489. package/dist/esm/mods/toolkit/src/components/fortified-function/performance/performance-monitor.js.map +1 -0
  490. package/dist/esm/mods/toolkit/src/components/fortified-function/performance/performance-timer.js +186 -0
  491. package/dist/esm/mods/toolkit/src/components/fortified-function/performance/performance-timer.js.map +1 -0
  492. package/dist/esm/mods/toolkit/src/components/fortified-function/security/security-handler.js +251 -0
  493. package/dist/esm/mods/toolkit/src/components/fortified-function/security/security-handler.js.map +1 -0
  494. package/dist/esm/mods/toolkit/src/components/fortified-function/serializer/safe-serializer.js +344 -0
  495. package/dist/esm/mods/toolkit/src/components/fortified-function/serializer/safe-serializer.js.map +1 -0
  496. package/dist/esm/mods/toolkit/src/components/fortified-function/smart-cache.js +691 -0
  497. package/dist/esm/mods/toolkit/src/components/fortified-function/smart-cache.js.map +1 -0
  498. package/dist/esm/mods/toolkit/src/components/fortified-function/types/types.js +14 -0
  499. package/dist/esm/mods/toolkit/src/components/fortified-function/types/types.js.map +1 -0
  500. package/dist/esm/mods/toolkit/src/components/fortified-function/utils/utils.js +66 -0
  501. package/dist/esm/mods/toolkit/src/components/fortified-function/utils/utils.js.map +1 -0
  502. package/dist/esm/mods/toolkit/src/components/memory-hard.js +919 -0
  503. package/dist/esm/mods/toolkit/src/components/memory-hard.js.map +1 -0
  504. package/dist/esm/mods/toolkit/src/components/post-quantum.js +316 -0
  505. package/dist/esm/mods/toolkit/src/components/post-quantum.js.map +1 -0
  506. package/dist/esm/mods/toolkit/src/components/runtime-verification.js +643 -0
  507. package/dist/esm/mods/toolkit/src/components/runtime-verification.js.map +1 -0
  508. package/dist/esm/mods/toolkit/src/components/secure-array/core/secure-array-core.js +1570 -0
  509. package/dist/esm/mods/toolkit/src/components/secure-array/core/secure-array-core.js.map +1 -0
  510. package/dist/esm/mods/toolkit/src/components/secure-array/crypto/ArrayCryptoHandler.js +328 -0
  511. package/dist/esm/mods/toolkit/src/components/secure-array/crypto/ArrayCryptoHandler.js.map +1 -0
  512. package/dist/esm/mods/toolkit/src/components/secure-array/events/event-manager.js +268 -0
  513. package/dist/esm/mods/toolkit/src/components/secure-array/events/event-manager.js.map +1 -0
  514. package/dist/esm/mods/toolkit/src/components/secure-array/index.js +61 -0
  515. package/dist/esm/mods/toolkit/src/components/secure-array/index.js.map +1 -0
  516. package/dist/esm/mods/toolkit/src/components/secure-array/metadata/metadata-manager.js +329 -0
  517. package/dist/esm/mods/toolkit/src/components/secure-array/metadata/metadata-manager.js.map +1 -0
  518. package/dist/esm/mods/toolkit/src/components/secure-array/serialization/ArraySerializationHandler.js +388 -0
  519. package/dist/esm/mods/toolkit/src/components/secure-array/serialization/ArraySerializationHandler.js.map +1 -0
  520. package/dist/esm/mods/toolkit/src/components/secure-array/types/index.js +84 -0
  521. package/dist/esm/mods/toolkit/src/components/secure-array/types/index.js.map +1 -0
  522. package/dist/esm/mods/toolkit/src/components/secure-array/utils/id-generator.js +78 -0
  523. package/dist/esm/mods/toolkit/src/components/secure-array/utils/id-generator.js.map +1 -0
  524. package/dist/esm/mods/toolkit/src/components/secure-array/utils/validation.js +273 -0
  525. package/dist/esm/mods/toolkit/src/components/secure-array/utils/validation.js.map +1 -0
  526. package/dist/esm/mods/toolkit/src/components/secure-memory.js +884 -0
  527. package/dist/esm/mods/toolkit/src/components/secure-memory.js.map +1 -0
  528. package/dist/esm/mods/toolkit/src/components/secure-object/core/secure-object-core.js +1603 -0
  529. package/dist/esm/mods/toolkit/src/components/secure-object/core/secure-object-core.js.map +1 -0
  530. package/dist/esm/mods/toolkit/src/components/secure-object/encryption/crypto-handler.js +360 -0
  531. package/dist/esm/mods/toolkit/src/components/secure-object/encryption/crypto-handler.js.map +1 -0
  532. package/dist/esm/mods/toolkit/src/components/secure-object/encryption/sensitive-keys.js +203 -0
  533. package/dist/esm/mods/toolkit/src/components/secure-object/encryption/sensitive-keys.js.map +1 -0
  534. package/dist/esm/mods/toolkit/src/components/secure-object/events/event-manager.js +195 -0
  535. package/dist/esm/mods/toolkit/src/components/secure-object/events/event-manager.js.map +1 -0
  536. package/dist/esm/mods/toolkit/src/components/secure-object/index.js +63 -0
  537. package/dist/esm/mods/toolkit/src/components/secure-object/index.js.map +1 -0
  538. package/dist/esm/mods/toolkit/src/components/secure-object/metadata/metadata-manager.js +181 -0
  539. package/dist/esm/mods/toolkit/src/components/secure-object/metadata/metadata-manager.js.map +1 -0
  540. package/dist/esm/mods/toolkit/src/components/secure-object/serialization/serialization-handler.js +195 -0
  541. package/dist/esm/mods/toolkit/src/components/secure-object/serialization/serialization-handler.js.map +1 -0
  542. package/dist/esm/mods/toolkit/src/components/secure-object/utils/id-generator.js +62 -0
  543. package/dist/esm/mods/toolkit/src/components/secure-object/utils/id-generator.js.map +1 -0
  544. package/dist/esm/mods/toolkit/src/components/secure-object/utils/validation.js +237 -0
  545. package/dist/esm/mods/toolkit/src/components/secure-object/utils/validation.js.map +1 -0
  546. package/dist/esm/mods/toolkit/src/components/secure-serialization.js +769 -0
  547. package/dist/esm/mods/toolkit/src/components/secure-serialization.js.map +1 -0
  548. package/dist/esm/mods/toolkit/src/components/secure-string/advanced/entropy-analyzer.js +306 -0
  549. package/dist/esm/mods/toolkit/src/components/secure-string/advanced/entropy-analyzer.js.map +1 -0
  550. package/dist/esm/mods/toolkit/src/components/secure-string/advanced/performance-monitor.js +333 -0
  551. package/dist/esm/mods/toolkit/src/components/secure-string/advanced/performance-monitor.js.map +1 -0
  552. package/dist/esm/mods/toolkit/src/components/secure-string/advanced/quantum-safe.js +243 -0
  553. package/dist/esm/mods/toolkit/src/components/secure-string/advanced/quantum-safe.js.map +1 -0
  554. package/dist/esm/mods/toolkit/src/components/secure-string/buffer/buffer-manager.js +203 -0
  555. package/dist/esm/mods/toolkit/src/components/secure-string/buffer/buffer-manager.js.map +1 -0
  556. package/dist/esm/mods/toolkit/src/components/secure-string/core/secure-string-core.js +786 -0
  557. package/dist/esm/mods/toolkit/src/components/secure-string/core/secure-string-core.js.map +1 -0
  558. package/dist/esm/mods/toolkit/src/components/secure-string/crypto/crypto-operations.js +298 -0
  559. package/dist/esm/mods/toolkit/src/components/secure-string/crypto/crypto-operations.js.map +1 -0
  560. package/dist/esm/mods/toolkit/src/components/secure-string/operations/comparison-operations.js +219 -0
  561. package/dist/esm/mods/toolkit/src/components/secure-string/operations/comparison-operations.js.map +1 -0
  562. package/dist/esm/mods/toolkit/src/components/secure-string/operations/string-operations.js +232 -0
  563. package/dist/esm/mods/toolkit/src/components/secure-string/operations/string-operations.js.map +1 -0
  564. package/dist/esm/mods/toolkit/src/components/secure-string/types/index.js +37 -0
  565. package/dist/esm/mods/toolkit/src/components/secure-string/types/index.js.map +1 -0
  566. package/dist/esm/mods/toolkit/src/components/secure-string/validation/string-validator.js +332 -0
  567. package/dist/esm/mods/toolkit/src/components/secure-string/validation/string-validator.js.map +1 -0
  568. package/dist/esm/mods/toolkit/src/components/side-channel.js +142 -0
  569. package/dist/esm/mods/toolkit/src/components/side-channel.js.map +1 -0
  570. package/dist/esm/mods/toolkit/src/components/tamper-evident-logging.js +389 -0
  571. package/dist/esm/mods/toolkit/src/components/tamper-evident-logging.js.map +1 -0
  572. package/dist/esm/mods/toolkit/src/const/buffer.const.js +13 -0
  573. package/dist/esm/mods/toolkit/src/const/buffer.const.js.map +1 -0
  574. package/dist/esm/mods/toolkit/src/core/crypto.js +720 -0
  575. package/dist/esm/mods/toolkit/src/core/crypto.js.map +1 -0
  576. package/dist/esm/mods/toolkit/src/core/hash/hash-advanced.js +367 -0
  577. package/dist/esm/mods/toolkit/src/core/hash/hash-advanced.js.map +1 -0
  578. package/dist/esm/mods/toolkit/src/core/hash/hash-core.js +355 -0
  579. package/dist/esm/mods/toolkit/src/core/hash/hash-core.js.map +1 -0
  580. package/dist/esm/mods/toolkit/src/core/hash/hash-entropy.js +286 -0
  581. package/dist/esm/mods/toolkit/src/core/hash/hash-entropy.js.map +1 -0
  582. package/dist/esm/mods/toolkit/src/core/hash/hash-security.js +351 -0
  583. package/dist/esm/mods/toolkit/src/core/hash/hash-security.js.map +1 -0
  584. package/dist/esm/mods/toolkit/src/core/hash/hash-types.js +16 -0
  585. package/dist/esm/mods/toolkit/src/core/hash/hash-types.js.map +1 -0
  586. package/dist/esm/mods/toolkit/src/core/hash/hash-utils.js +307 -0
  587. package/dist/esm/mods/toolkit/src/core/hash/hash-utils.js.map +1 -0
  588. package/dist/esm/mods/toolkit/src/core/hash/hash-validator.js +310 -0
  589. package/dist/esm/mods/toolkit/src/core/hash/hash-validator.js.map +1 -0
  590. package/dist/esm/mods/toolkit/src/core/hash.js +9 -0
  591. package/dist/esm/mods/toolkit/src/core/hash.js.map +1 -0
  592. package/dist/esm/mods/toolkit/src/core/keys/algorithms/mods/Argon2Algo.js +133 -0
  593. package/dist/esm/mods/toolkit/src/core/keys/algorithms/mods/Argon2Algo.js.map +1 -0
  594. package/dist/esm/mods/toolkit/src/core/keys/algorithms/mods/PBKDF2Algo.js +272 -0
  595. package/dist/esm/mods/toolkit/src/core/keys/algorithms/mods/PBKDF2Algo.js.map +1 -0
  596. package/dist/esm/mods/toolkit/src/core/keys/algorithms/mods/ScryptAlgo.js +296 -0
  597. package/dist/esm/mods/toolkit/src/core/keys/algorithms/mods/ScryptAlgo.js.map +1 -0
  598. package/dist/esm/mods/toolkit/src/core/keys/keys-core.js +199 -0
  599. package/dist/esm/mods/toolkit/src/core/keys/keys-core.js.map +1 -0
  600. package/dist/esm/mods/toolkit/src/core/keys/keys-logger.js +231 -0
  601. package/dist/esm/mods/toolkit/src/core/keys/keys-logger.js.map +1 -0
  602. package/dist/esm/mods/toolkit/src/core/keys/keys-types.js +63 -0
  603. package/dist/esm/mods/toolkit/src/core/keys/keys-types.js.map +1 -0
  604. package/dist/esm/mods/toolkit/src/core/keys/keys-utils.js +316 -0
  605. package/dist/esm/mods/toolkit/src/core/keys/keys-utils.js.map +1 -0
  606. package/dist/esm/mods/toolkit/src/core/keys.js +134 -0
  607. package/dist/esm/mods/toolkit/src/core/keys.js.map +1 -0
  608. package/dist/esm/mods/toolkit/src/core/password/index.js +110 -0
  609. package/dist/esm/mods/toolkit/src/core/password/index.js.map +1 -0
  610. package/dist/esm/mods/toolkit/src/core/password/password-algorithms.js +395 -0
  611. package/dist/esm/mods/toolkit/src/core/password/password-algorithms.js.map +1 -0
  612. package/dist/esm/mods/toolkit/src/core/password/password-core.js +292 -0
  613. package/dist/esm/mods/toolkit/src/core/password/password-core.js.map +1 -0
  614. package/dist/esm/mods/toolkit/src/core/password/password-generator.js +363 -0
  615. package/dist/esm/mods/toolkit/src/core/password/password-generator.js.map +1 -0
  616. package/dist/esm/mods/toolkit/src/core/password/password-migration.js +235 -0
  617. package/dist/esm/mods/toolkit/src/core/password/password-migration.js.map +1 -0
  618. package/dist/esm/mods/toolkit/src/core/password/password-security.js +532 -0
  619. package/dist/esm/mods/toolkit/src/core/password/password-security.js.map +1 -0
  620. package/dist/esm/mods/toolkit/src/core/password/password-types.js +34 -0
  621. package/dist/esm/mods/toolkit/src/core/password/password-types.js.map +1 -0
  622. package/dist/esm/mods/toolkit/src/core/password/password-utils.js +630 -0
  623. package/dist/esm/mods/toolkit/src/core/password/password-utils.js.map +1 -0
  624. package/dist/esm/mods/toolkit/src/core/password/swlist.js +1120 -0
  625. package/dist/esm/mods/toolkit/src/core/password/swlist.js.map +1 -0
  626. package/dist/esm/mods/toolkit/src/core/random/random-core.js +326 -0
  627. package/dist/esm/mods/toolkit/src/core/random/random-core.js.map +1 -0
  628. package/dist/esm/mods/toolkit/src/core/random/random-crypto.js +337 -0
  629. package/dist/esm/mods/toolkit/src/core/random/random-crypto.js.map +1 -0
  630. package/dist/esm/mods/toolkit/src/core/random/random-entropy.js +367 -0
  631. package/dist/esm/mods/toolkit/src/core/random/random-entropy.js.map +1 -0
  632. package/dist/esm/mods/toolkit/src/core/random/random-generators.js +323 -0
  633. package/dist/esm/mods/toolkit/src/core/random/random-generators.js.map +1 -0
  634. package/dist/esm/mods/toolkit/src/core/random/random-sources.js +405 -0
  635. package/dist/esm/mods/toolkit/src/core/random/random-sources.js.map +1 -0
  636. package/dist/esm/mods/toolkit/src/core/random/random-tokens.js +307 -0
  637. package/dist/esm/mods/toolkit/src/core/random/random-tokens.js.map +1 -0
  638. package/dist/esm/mods/toolkit/src/core/random/random-types.js +27 -0
  639. package/dist/esm/mods/toolkit/src/core/random/random-types.js.map +1 -0
  640. package/dist/esm/mods/toolkit/src/core/validators.js +198 -0
  641. package/dist/esm/mods/toolkit/src/core/validators.js.map +1 -0
  642. package/dist/esm/mods/toolkit/src/helpers/Uint8Array.js +333 -0
  643. package/dist/esm/mods/toolkit/src/helpers/Uint8Array.js.map +1 -0
  644. package/dist/esm/mods/toolkit/src/helpers/createEnu.js +25 -0
  645. package/dist/esm/mods/toolkit/src/helpers/createEnu.js.map +1 -0
  646. package/dist/esm/mods/toolkit/src/index.js +373 -0
  647. package/dist/esm/mods/toolkit/src/index.js.map +1 -0
  648. package/dist/esm/mods/toolkit/src/types/global.js +49 -0
  649. package/dist/esm/mods/toolkit/src/types/global.js.map +1 -0
  650. package/dist/esm/mods/toolkit/src/types/secure-mem.type.js +96 -0
  651. package/dist/esm/mods/toolkit/src/types/secure-mem.type.js.map +1 -0
  652. package/dist/esm/mods/toolkit/src/types/secure-memory.js +20 -0
  653. package/dist/esm/mods/toolkit/src/types/secure-memory.js.map +1 -0
  654. package/dist/esm/mods/toolkit/src/types.js +63 -0
  655. package/dist/esm/mods/toolkit/src/types.js.map +1 -0
  656. package/dist/esm/mods/toolkit/src/utils/CryptoAlgorithmUtils.js +69 -0
  657. package/dist/esm/mods/toolkit/src/utils/CryptoAlgorithmUtils.js.map +1 -0
  658. package/dist/esm/mods/toolkit/src/utils/constants.js +105 -0
  659. package/dist/esm/mods/toolkit/src/utils/constants.js.map +1 -0
  660. package/dist/esm/mods/toolkit/src/utils/dataConverter.js +72 -0
  661. package/dist/esm/mods/toolkit/src/utils/dataConverter.js.map +1 -0
  662. package/dist/esm/mods/toolkit/src/utils/encoding.js +279 -0
  663. package/dist/esm/mods/toolkit/src/utils/encoding.js.map +1 -0
  664. package/dist/esm/mods/toolkit/src/utils/errorHandler.js +137 -0
  665. package/dist/esm/mods/toolkit/src/utils/errorHandler.js.map +1 -0
  666. package/dist/esm/mods/toolkit/src/utils/memory/config-manager.js +280 -0
  667. package/dist/esm/mods/toolkit/src/utils/memory/config-manager.js.map +1 -0
  668. package/dist/esm/mods/toolkit/src/utils/memory/event-manager.js +275 -0
  669. package/dist/esm/mods/toolkit/src/utils/memory/event-manager.js.map +1 -0
  670. package/dist/esm/mods/toolkit/src/utils/memory/index.js +141 -0
  671. package/dist/esm/mods/toolkit/src/utils/memory/index.js.map +1 -0
  672. package/dist/esm/mods/toolkit/src/utils/memory/memory-manager.js +886 -0
  673. package/dist/esm/mods/toolkit/src/utils/memory/memory-manager.js.map +1 -0
  674. package/dist/esm/mods/toolkit/src/utils/memory/memory-pool.js +354 -0
  675. package/dist/esm/mods/toolkit/src/utils/memory/memory-pool.js.map +1 -0
  676. package/dist/esm/mods/toolkit/src/utils/memory/reference-tracker.js +374 -0
  677. package/dist/esm/mods/toolkit/src/utils/memory/reference-tracker.js.map +1 -0
  678. package/dist/esm/mods/toolkit/src/utils/memory/types.js +56 -0
  679. package/dist/esm/mods/toolkit/src/utils/memory/types.js.map +1 -0
  680. package/dist/esm/mods/toolkit/src/utils/patterns.js +124 -0
  681. package/dist/esm/mods/toolkit/src/utils/patterns.js.map +1 -0
  682. package/dist/esm/mods/toolkit/src/utils/performanceMonitor.js +246 -0
  683. package/dist/esm/mods/toolkit/src/utils/performanceMonitor.js.map +1 -0
  684. package/dist/esm/mods/toolkit/src/utils/stats.js +180 -0
  685. package/dist/esm/mods/toolkit/src/utils/stats.js.map +1 -0
  686. package/dist/esm/performance-monitor.js +160 -0
  687. package/dist/esm/performance-monitor.js.map +1 -0
  688. package/dist/esm/plugins/plugin-manager.js +149 -0
  689. package/dist/esm/plugins/plugin-manager.js.map +1 -0
  690. package/dist/esm/plugins/route-optimization-plugin.js +411 -0
  691. package/dist/esm/plugins/route-optimization-plugin.js.map +1 -0
  692. package/dist/esm/plugins/server-maintenance-plugin.js +488 -0
  693. package/dist/esm/plugins/server-maintenance-plugin.js.map +1 -0
  694. package/dist/esm/quick-start.js +45 -0
  695. package/dist/esm/quick-start.js.map +1 -0
  696. package/dist/esm/security-middleware.js +413 -0
  697. package/dist/esm/security-middleware.js.map +1 -0
  698. package/dist/esm/server/FastServer.js +985 -0
  699. package/dist/esm/server/FastServer.js.map +1 -0
  700. package/dist/esm/server/components/fastapi/CacheManager.js +243 -0
  701. package/dist/esm/server/components/fastapi/CacheManager.js.map +1 -0
  702. package/dist/esm/server/components/fastapi/ClusterManagerComponent.js +325 -0
  703. package/dist/esm/server/components/fastapi/ClusterManagerComponent.js.map +1 -0
  704. package/dist/esm/server/components/fastapi/FileWatcherManager.js +491 -0
  705. package/dist/esm/server/components/fastapi/FileWatcherManager.js.map +1 -0
  706. package/dist/esm/server/components/fastapi/MonitoringManager.js +305 -0
  707. package/dist/esm/server/components/fastapi/MonitoringManager.js.map +1 -0
  708. package/dist/esm/server/components/fastapi/PerformanceManager.js +295 -0
  709. package/dist/esm/server/components/fastapi/PerformanceManager.js.map +1 -0
  710. package/dist/esm/server/components/fastapi/PluginManager.js +310 -0
  711. package/dist/esm/server/components/fastapi/PluginManager.js.map +1 -0
  712. package/dist/esm/server/components/fastapi/RedirectManager.js +490 -0
  713. package/dist/esm/server/components/fastapi/RedirectManager.js.map +1 -0
  714. package/dist/esm/server/components/fastapi/RequestProcessor.js +211 -0
  715. package/dist/esm/server/components/fastapi/RequestProcessor.js.map +1 -0
  716. package/dist/esm/server/components/fastapi/RouteManager.js +270 -0
  717. package/dist/esm/server/components/fastapi/RouteManager.js.map +1 -0
  718. package/dist/esm/server/components/fastapi/UltraFastRequestProcessor.js +647 -0
  719. package/dist/esm/server/components/fastapi/UltraFastRequestProcessor.js.map +1 -0
  720. package/dist/esm/server/components/fastapi/console/ConsoleInterceptor.js +810 -0
  721. package/dist/esm/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -0
  722. package/dist/esm/server/components/fastapi/console/encryption/ConsoleEncryption.js +214 -0
  723. package/dist/esm/server/components/fastapi/console/encryption/ConsoleEncryption.js.map +1 -0
  724. package/dist/esm/server/components/fastapi/console/types.js +160 -0
  725. package/dist/esm/server/components/fastapi/console/types.js.map +1 -0
  726. package/dist/esm/server/components/fastapi/middlewares/MiddlewareAPI.js +345 -0
  727. package/dist/esm/server/components/fastapi/middlewares/MiddlewareAPI.js.map +1 -0
  728. package/dist/esm/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +202 -0
  729. package/dist/esm/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +1 -0
  730. package/dist/esm/server/components/fastapi/middlewares/middlewareManager.js +951 -0
  731. package/dist/esm/server/components/fastapi/middlewares/middlewareManager.js.map +1 -0
  732. package/dist/esm/server/components/fastapi/modules/UFRP/WorkerPool.js +54 -0
  733. package/dist/esm/server/components/fastapi/modules/UFRP/WorkerPool.js.map +1 -0
  734. package/dist/esm/server/components/fastapi/templates/redirectTemp.js +99 -0
  735. package/dist/esm/server/components/fastapi/templates/redirectTemp.js.map +1 -0
  736. package/dist/esm/server/components/fastapi/typescript/TypeScriptChecker.js +351 -0
  737. package/dist/esm/server/components/fastapi/typescript/TypeScriptChecker.js.map +1 -0
  738. package/dist/esm/server/const/Cluster.config.js +70 -0
  739. package/dist/esm/server/const/Cluster.config.js.map +1 -0
  740. package/dist/esm/server/const/ExecutionPredictor_EP.const.js +62 -0
  741. package/dist/esm/server/const/ExecutionPredictor_EP.const.js.map +1 -0
  742. package/dist/esm/server/const/FileWatcher.config.js +96 -0
  743. package/dist/esm/server/const/FileWatcher.config.js.map +1 -0
  744. package/dist/esm/server/const/default.js +120 -0
  745. package/dist/esm/server/const/default.js.map +1 -0
  746. package/dist/esm/server/optimization/ExecutionPredictor.js +216 -0
  747. package/dist/esm/server/optimization/ExecutionPredictor.js.map +1 -0
  748. package/dist/esm/server/optimization/PerformanceProfiler.js +232 -0
  749. package/dist/esm/server/optimization/PerformanceProfiler.js.map +1 -0
  750. package/dist/esm/server/optimization/RequestPreCompiler.js +706 -0
  751. package/dist/esm/server/optimization/RequestPreCompiler.js.map +1 -0
  752. package/dist/esm/server/optimization/UltraFastOptimizer.js +398 -0
  753. package/dist/esm/server/optimization/UltraFastOptimizer.js.map +1 -0
  754. package/dist/esm/server/plugins/PluginEngine.js +376 -0
  755. package/dist/esm/server/plugins/PluginEngine.js.map +1 -0
  756. package/dist/esm/server/plugins/PluginRegistry.js +337 -0
  757. package/dist/esm/server/plugins/PluginRegistry.js.map +1 -0
  758. package/dist/esm/server/plugins/builtin/JWTAuthPlugin.js +589 -0
  759. package/dist/esm/server/plugins/builtin/JWTAuthPlugin.js.map +1 -0
  760. package/dist/esm/server/plugins/builtin/ResponseTimePlugin.js +411 -0
  761. package/dist/esm/server/plugins/builtin/ResponseTimePlugin.js.map +1 -0
  762. package/dist/esm/server/plugins/builtin/SmartCachePlugin.js +841 -0
  763. package/dist/esm/server/plugins/builtin/SmartCachePlugin.js.map +1 -0
  764. package/dist/esm/server/plugins/core/CachePlugin.js +1973 -0
  765. package/dist/esm/server/plugins/core/CachePlugin.js.map +1 -0
  766. package/dist/esm/server/plugins/core/PerformancePlugin.js +872 -0
  767. package/dist/esm/server/plugins/core/PerformancePlugin.js.map +1 -0
  768. package/dist/esm/server/plugins/core/SecurityPlugin.js +797 -0
  769. package/dist/esm/server/plugins/core/SecurityPlugin.js.map +1 -0
  770. package/dist/esm/server/plugins/types/PluginTypes.js +47 -0
  771. package/dist/esm/server/plugins/types/PluginTypes.js.map +1 -0
  772. package/dist/esm/server/service/Reload/FileWatcher.js +734 -0
  773. package/dist/esm/server/service/Reload/FileWatcher.js.map +1 -0
  774. package/dist/esm/server/service/Reload/HotReloader.js +735 -0
  775. package/dist/esm/server/service/Reload/HotReloader.js.map +1 -0
  776. package/dist/esm/server/service/Reload/exec/TypeScriptExecutor.js +339 -0
  777. package/dist/esm/server/service/Reload/exec/TypeScriptExecutor.js.map +1 -0
  778. package/dist/esm/server/utils/ConfigLoader.js +207 -0
  779. package/dist/esm/server/utils/ConfigLoader.js.map +1 -0
  780. package/dist/esm/server/utils/Logger.js +234 -0
  781. package/dist/esm/server/utils/Logger.js.map +1 -0
  782. package/dist/esm/server/utils/PortManager.js +155 -0
  783. package/dist/esm/server/utils/PortManager.js.map +1 -0
  784. package/dist/esm/server/utils/forceClosePort.js +124 -0
  785. package/dist/esm/server/utils/forceClosePort.js.map +1 -0
  786. package/dist/esm/smart-routes.js +345 -0
  787. package/dist/esm/smart-routes.js.map +1 -0
  788. package/package.json +5 -6
@@ -0,0 +1,1605 @@
1
+ 'use strict';
2
+
3
+ var secureMemory = require('../../secure-memory.js');
4
+ var index = require('../../../utils/memory/index.js');
5
+ var sensitiveKeys = require('../encryption/sensitive-keys.js');
6
+ var cryptoHandler = require('../encryption/crypto-handler.js');
7
+ var metadataManager = require('../metadata/metadata-manager.js');
8
+ var eventManager = require('../events/event-manager.js');
9
+ var serializationHandler = require('../serialization/serialization-handler.js');
10
+ var idGenerator = require('../utils/id-generator.js');
11
+ var validation = require('../utils/validation.js');
12
+ var secureStringCore = require('../../secure-string/core/secure-string-core.js');
13
+ require('crypto');
14
+ require('../../secure-string/advanced/entropy-analyzer.js');
15
+ require('../../secure-string/advanced/quantum-safe.js');
16
+ require('../../secure-string/advanced/performance-monitor.js');
17
+ var types = require('../../../utils/memory/types.js');
18
+
19
+ /***************************************************************************
20
+ * XyPrissSecurity - Secure Array Types
21
+ *
22
+ * This file contains type definitions for the SecureArray modular architecture
23
+ *
24
+ * @author Nehonix
25
+ *
26
+ * @license MIT
27
+ *
28
+ * Copyright (c) 2025 Nehonix. All rights reserved.
29
+ *
30
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
31
+ * of this software and associated documentation files (the "Software"), to deal
32
+ * in the Software without restriction, including without limitation the rights
33
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
34
+ * copies of the Software, and to permit persons to whom the Software is
35
+ * furnished to do so, subject to the following conditions:
36
+ *
37
+ * The above copyright notice and this permission notice shall be included in all
38
+ * copies or substantial portions of the Software.
39
+ *
40
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
41
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
42
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
43
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
44
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
45
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
46
+ * SOFTWARE.
47
+ ***************************************************************************** */
48
+ /**
49
+ * A secure object that can store sensitive data
50
+ * T represents the initial type, but the object can be extended with additional keys
51
+ */
52
+ class SecureObject {
53
+ /**
54
+ * Creates a new secure object
55
+ */
56
+ constructor(initialData, options) {
57
+ // Core data storage
58
+ this.data = new Map();
59
+ this.secureBuffers = new Map();
60
+ // State management
61
+ this._isDestroyed = false;
62
+ this._isReadOnly = false;
63
+ // Enhanced memory management
64
+ this._memoryTracking = false;
65
+ this._autoCleanup = false;
66
+ this._createdAt = Date.now();
67
+ this._lastAccessed = Date.now();
68
+ this._id = idGenerator.IdGenerator.generate();
69
+ this._isReadOnly = false; // Start as writable
70
+ // Initialize modular components
71
+ this.sensitiveKeysManager = new sensitiveKeys.SensitiveKeysManager();
72
+ this.cryptoHandler = new cryptoHandler.CryptoHandler(this._id);
73
+ this.metadataManager = new metadataManager.MetadataManager();
74
+ this.eventManager = new eventManager.EventManager();
75
+ this.serializationHandler = new serializationHandler.SerializationHandler(this.cryptoHandler, this.metadataManager);
76
+ // Set encryption key if provided
77
+ if (options?.encryptionKey) {
78
+ this.cryptoHandler.setEncryptionKey(options.encryptionKey);
79
+ }
80
+ // Configure memory management with enhanced features
81
+ this._memoryTracking = options?.enableMemoryTracking ?? true; // Enable by default
82
+ this._autoCleanup = options?.autoCleanup ?? true; // Enable by default
83
+ // Set memory limits if provided
84
+ if (options?.maxMemory) {
85
+ index.memoryManager.setLimits(options.maxMemory, options.gcThreshold || 0.8);
86
+ }
87
+ // Register with advanced memory manager if tracking is enabled
88
+ if (this._memoryTracking) {
89
+ index.memoryManager.registerObject(this, this._id);
90
+ // Listen to memory events for proactive management
91
+ index.memoryManager.on(types.MemoryEventType.MEMORY_PRESSURE, (event) => {
92
+ if (event.data?.pressure > 0.8) {
93
+ this.handleMemoryPressure();
94
+ }
95
+ });
96
+ index.memoryManager.on(types.MemoryEventType.LEAK_DETECTED, (event) => {
97
+ if (event.data?.leaks?.includes(this._id)) {
98
+ console.warn(`Potential memory leak detected in SecureObject ${this._id}`);
99
+ }
100
+ });
101
+ }
102
+ // Create memory pool for secure buffers if not exists
103
+ this.initializeSecureBufferPool();
104
+ // Set initial data
105
+ if (initialData) {
106
+ this.setAll(initialData);
107
+ }
108
+ // Set read-only status after initial data is set
109
+ this._isReadOnly = options?.readOnly ?? false;
110
+ }
111
+ /**
112
+ * Creates a SecureObject from another SecureObject (deep copy)
113
+ */
114
+ static from(other) {
115
+ other.ensureNotDestroyed();
116
+ const copy = new SecureObject();
117
+ for (const key of other.keys()) {
118
+ const value = other.get(key);
119
+ copy.set(String(key), value);
120
+ }
121
+ return copy;
122
+ }
123
+ /**
124
+ * Creates a read-only SecureObject
125
+ */
126
+ static readOnly(data) {
127
+ return new SecureObject(data, { readOnly: true });
128
+ }
129
+ /**
130
+ * Creates a read-only SecureObject (public usage)
131
+ */
132
+ /** Permanently enable read-only mode (cannot be disabled). */
133
+ enableReadOnly() {
134
+ this.ensureNotDestroyed();
135
+ this._isReadOnly = true;
136
+ return this;
137
+ }
138
+ // ===== PROPERTY ACCESSORS =====
139
+ /**
140
+ * Gets the unique ID of this SecureObject
141
+ */
142
+ get id() {
143
+ return this._id;
144
+ }
145
+ /**
146
+ * Checks if the SecureObject is read-only
147
+ */
148
+ get isReadOnly() {
149
+ return this._isReadOnly;
150
+ }
151
+ /**
152
+ * Checks if the SecureObject has been destroyed
153
+ */
154
+ get isDestroyed() {
155
+ return this._isDestroyed;
156
+ }
157
+ /**
158
+ * Gets the number of stored values
159
+ */
160
+ get size() {
161
+ this.ensureNotDestroyed();
162
+ return this.data.size;
163
+ }
164
+ /**
165
+ * Checks if the object is empty
166
+ */
167
+ get isEmpty() {
168
+ this.ensureNotDestroyed();
169
+ return this.data.size === 0;
170
+ }
171
+ // ===== VALIDATION METHODS =====
172
+ /**
173
+ * Ensures the SecureObject hasn't been destroyed
174
+ */
175
+ ensureNotDestroyed() {
176
+ if (this._isDestroyed) {
177
+ throw new Error("SecureObject has been destroyed and cannot be used");
178
+ }
179
+ }
180
+ /**
181
+ * Ensures the SecureObject is not read-only for write operations
182
+ */
183
+ ensureNotReadOnly() {
184
+ if (this._isReadOnly) {
185
+ throw new Error("SecureObject is read-only");
186
+ }
187
+ }
188
+ /**
189
+ * Updates the last accessed timestamp for memory management
190
+ */
191
+ updateLastAccessed() {
192
+ this._lastAccessed = Date.now();
193
+ }
194
+ // ===== MEMORY MANAGEMENT =====
195
+ /**
196
+ * Initialize secure buffer pool for efficient memory reuse
197
+ */
198
+ initializeSecureBufferPool() {
199
+ if (!this.secureBufferPool) {
200
+ try {
201
+ this.secureBufferPool =
202
+ index.memoryManager.getPool("secure-buffer-pool") ||
203
+ index.memoryManager.createPool({
204
+ name: "secure-buffer-pool",
205
+ factory: () => new Uint8Array(1024), // 1KB buffers
206
+ reset: (buffer) => {
207
+ // Secure wipe before reuse
208
+ this.secureWipe(buffer);
209
+ },
210
+ capacity: 50,
211
+ strategy: types.PoolStrategy.LRU,
212
+ validator: (buffer) => buffer instanceof Uint8Array,
213
+ });
214
+ }
215
+ catch (error) {
216
+ // Pool might already exist, try to get it
217
+ this.secureBufferPool =
218
+ index.memoryManager.getPool("secure-buffer-pool");
219
+ }
220
+ }
221
+ }
222
+ /**
223
+ * Handle memory pressure situations
224
+ */
225
+ handleMemoryPressure() {
226
+ if (this._autoCleanup) {
227
+ // Clean up unused secure buffers
228
+ this.forceGarbageCollection();
229
+ // Emit event for external handlers
230
+ this.eventManager.emit("gc", undefined, {
231
+ timestamp: Date.now(),
232
+ objectId: this._id,
233
+ action: "memory_pressure_cleanup",
234
+ });
235
+ }
236
+ }
237
+ /**
238
+ * Secure wipe of buffer memory
239
+ */
240
+ secureWipe(buffer) {
241
+ if (!buffer || buffer.length === 0)
242
+ return;
243
+ // Multiple-pass secure wipe
244
+ const passes = [0x00, 0xff, 0xaa, 0x55, 0x00];
245
+ for (const pattern of passes) {
246
+ buffer.fill(pattern);
247
+ }
248
+ // Final random pass if crypto is available
249
+ if (typeof crypto !== "undefined" && crypto.getRandomValues) {
250
+ crypto.getRandomValues(buffer);
251
+ }
252
+ buffer.fill(0x00); // Final zero pass
253
+ }
254
+ /**
255
+ * Gets enhanced memory usage statistics for this SecureObject
256
+ */
257
+ getMemoryUsage() {
258
+ this.ensureNotDestroyed();
259
+ let allocatedMemory = 0;
260
+ for (const buffer of this.secureBuffers.values()) {
261
+ allocatedMemory += buffer.length();
262
+ }
263
+ const now = Date.now();
264
+ const usage = {
265
+ allocatedMemory,
266
+ bufferCount: this.secureBuffers.size,
267
+ dataSize: this.data.size,
268
+ createdAt: this._createdAt,
269
+ lastAccessed: this._lastAccessed,
270
+ age: now - this._createdAt,
271
+ formattedMemory: index.MemoryUtils.formatBytes(allocatedMemory),
272
+ poolStats: this.secureBufferPool?.getStats(),
273
+ };
274
+ return usage;
275
+ }
276
+ /**
277
+ * Forces enhanced garbage collection for this SecureObject
278
+ */
279
+ forceGarbageCollection() {
280
+ this.ensureNotDestroyed();
281
+ if (this._memoryTracking) {
282
+ const beforeUsage = this.getMemoryUsage();
283
+ // Clean up unused secure buffers with secure wipe
284
+ for (const [key, buffer] of this.secureBuffers.entries()) {
285
+ if (!this.data.has(key)) {
286
+ // Secure wipe before destroying (get buffer data safely)
287
+ try {
288
+ const bufferData = buffer.getBuffer(); // Use correct method
289
+ if (bufferData instanceof Uint8Array) {
290
+ this.secureWipe(bufferData);
291
+ }
292
+ }
293
+ catch (error) {
294
+ // Buffer might already be destroyed, continue
295
+ }
296
+ buffer.destroy();
297
+ this.secureBuffers.delete(key);
298
+ }
299
+ }
300
+ // Return unused buffers to pool
301
+ if (this.secureBufferPool) ;
302
+ // Trigger global GC with enhanced features
303
+ const gcResult = index.memoryManager.forceGC();
304
+ const afterUsage = this.getMemoryUsage();
305
+ const freedMemory = beforeUsage.allocatedMemory - afterUsage.allocatedMemory;
306
+ this.eventManager.emit("gc", undefined, {
307
+ timestamp: Date.now(),
308
+ bufferCount: this.secureBuffers.size,
309
+ freedMemory,
310
+ gcDuration: gcResult.duration,
311
+ gcSuccess: gcResult.success,
312
+ beforeUsage: beforeUsage.formattedMemory,
313
+ afterUsage: afterUsage.formattedMemory,
314
+ });
315
+ }
316
+ }
317
+ /**
318
+ * Enables memory tracking for this SecureObject
319
+ */
320
+ enableMemoryTracking() {
321
+ this.ensureNotDestroyed();
322
+ if (!this._memoryTracking) {
323
+ this._memoryTracking = true;
324
+ index.memoryManager.registerObject(this, this._id);
325
+ }
326
+ return this;
327
+ }
328
+ /**
329
+ * Disables memory tracking for this SecureObject
330
+ */
331
+ disableMemoryTracking() {
332
+ this.ensureNotDestroyed();
333
+ if (this._memoryTracking) {
334
+ this._memoryTracking = false;
335
+ index.memoryManager.removeReference(this._id);
336
+ }
337
+ return this;
338
+ }
339
+ // ===== SENSITIVE KEYS MANAGEMENT =====
340
+ /**
341
+ * Adds keys to the sensitive keys list
342
+ */
343
+ addSensitiveKeys(...keys) {
344
+ this.ensureNotDestroyed();
345
+ validation.ValidationUtils.validateKeys(keys);
346
+ this.sensitiveKeysManager.add(...keys);
347
+ return this;
348
+ }
349
+ /**
350
+ * Removes keys from the sensitive keys list
351
+ */
352
+ removeSensitiveKeys(...keys) {
353
+ this.ensureNotDestroyed();
354
+ validation.ValidationUtils.validateKeys(keys);
355
+ this.sensitiveKeysManager.remove(...keys);
356
+ return this;
357
+ }
358
+ /**
359
+ * Sets the complete list of sensitive keys (replaces existing list)
360
+ */
361
+ setSensitiveKeys(keys) {
362
+ this.ensureNotDestroyed();
363
+ validation.ValidationUtils.validateKeys(keys);
364
+ this.sensitiveKeysManager.set(keys);
365
+ return this;
366
+ }
367
+ /**
368
+ * Gets the current list of sensitive keys
369
+ */
370
+ getSensitiveKeys() {
371
+ this.ensureNotDestroyed();
372
+ return this.sensitiveKeysManager.getAll();
373
+ }
374
+ /**
375
+ * Checks if a key is marked as sensitive
376
+ */
377
+ isSensitiveKey(key) {
378
+ validation.ValidationUtils.validateKey(key);
379
+ return this.sensitiveKeysManager.isSensitive(key);
380
+ }
381
+ /**
382
+ * Clears all sensitive keys
383
+ */
384
+ clearSensitiveKeys() {
385
+ this.ensureNotDestroyed();
386
+ this.sensitiveKeysManager.clear();
387
+ return this;
388
+ }
389
+ /**
390
+ * Resets sensitive keys to default values
391
+ */
392
+ resetToDefaultSensitiveKeys() {
393
+ this.ensureNotDestroyed();
394
+ this.sensitiveKeysManager.resetToDefault();
395
+ return this;
396
+ }
397
+ /**
398
+ * Gets the default sensitive keys that are automatically initialized
399
+ */
400
+ static get getDefaultSensitiveKeys() {
401
+ return sensitiveKeys.SensitiveKeysManager.getDefaultKeys();
402
+ }
403
+ /**
404
+ * Adds custom regex patterns for sensitive key detection
405
+ * @param patterns - Regex patterns or strings to match sensitive keys
406
+ */
407
+ addSensitivePatterns(...patterns) {
408
+ this.ensureNotDestroyed();
409
+ this.sensitiveKeysManager.addCustomPatterns(...patterns);
410
+ return this;
411
+ }
412
+ /**
413
+ * Removes custom sensitive patterns
414
+ */
415
+ removeSensitivePatterns(...patterns) {
416
+ this.ensureNotDestroyed();
417
+ this.sensitiveKeysManager.removeCustomPatterns(...patterns);
418
+ return this;
419
+ }
420
+ /**
421
+ * Clears all custom sensitive patterns
422
+ */
423
+ clearSensitivePatterns() {
424
+ this.ensureNotDestroyed();
425
+ this.sensitiveKeysManager.clearCustomPatterns();
426
+ return this;
427
+ }
428
+ /**
429
+ * Gets all custom sensitive patterns
430
+ */
431
+ getSensitivePatterns() {
432
+ this.ensureNotDestroyed();
433
+ return this.sensitiveKeysManager.getCustomPatterns();
434
+ }
435
+ // ===== ENCRYPTION MANAGEMENT =====
436
+ /**
437
+ * Sets the encryption key for sensitive data encryption
438
+ */
439
+ setEncryptionKey(key = null) {
440
+ this.ensureNotDestroyed();
441
+ validation.ValidationUtils.validateEncryptionKey(key);
442
+ this.cryptoHandler.setEncryptionKey(key);
443
+ return this;
444
+ }
445
+ /**
446
+ * Gets the current encryption key
447
+ */
448
+ get getEncryptionKey() {
449
+ return this.cryptoHandler.getEncryptionKey();
450
+ }
451
+ /**
452
+ * Decrypts a value using the encryption key
453
+ */
454
+ decryptValue(encryptedValue) {
455
+ this.ensureNotDestroyed();
456
+ return this.cryptoHandler.decryptValue(encryptedValue);
457
+ }
458
+ /**
459
+ * Decrypts all encrypted values in an object
460
+ */
461
+ decryptObject(obj) {
462
+ this.ensureNotDestroyed();
463
+ return this.cryptoHandler.decryptObject(obj);
464
+ }
465
+ /**
466
+ * Encrypts all values in the object using AES-256-CTR-HMAC encryption
467
+ * with proper memory management and atomic operations
468
+ */
469
+ encryptAll() {
470
+ this.ensureNotDestroyed();
471
+ this.ensureNotReadOnly();
472
+ // Check if encryption key is set
473
+ const encryptionStatus = this.cryptoHandler.getEncryptionStatus();
474
+ if (!encryptionStatus.hasEncryptionKey) {
475
+ throw new Error("Encryption key must be set before calling encryptAll()");
476
+ }
477
+ // Prepare temporary map for atomic operation
478
+ const encryptedEntries = new Map();
479
+ const originalMetadata = new Map();
480
+ const keysToProcess = [];
481
+ try {
482
+ // First pass: encrypt all values into temporary storage
483
+ for (const [key, value] of this.data.entries()) {
484
+ if (value !== undefined) {
485
+ // Skip already encrypted values to avoid double encryption
486
+ if (typeof value === "string" &&
487
+ this.cryptoHandler.isEncrypted(value)) {
488
+ continue;
489
+ }
490
+ // Store original metadata for rollback
491
+ if (this.metadataManager.has(key)) {
492
+ originalMetadata.set(key, this.metadataManager.get(key));
493
+ }
494
+ // Get the actual value to encrypt
495
+ let valueToEncrypt = value;
496
+ // If it's a SecureBuffer, convert it back to its original form
497
+ if (value instanceof secureMemory.SecureBuffer) {
498
+ const metadata = this.metadataManager.get(key);
499
+ if (metadata?.type === "string") {
500
+ valueToEncrypt = new TextDecoder().decode(value.getBuffer());
501
+ }
502
+ else if (metadata?.type === "Uint8Array") {
503
+ valueToEncrypt = new Uint8Array(value.getBuffer());
504
+ }
505
+ else {
506
+ valueToEncrypt = new TextDecoder().decode(value.getBuffer());
507
+ }
508
+ }
509
+ // Encrypt the value
510
+ const encryptedValue = this.cryptoHandler.encryptValue(valueToEncrypt);
511
+ encryptedEntries.set(key, encryptedValue);
512
+ keysToProcess.push(key);
513
+ }
514
+ }
515
+ // Second pass: atomically commit all changes
516
+ for (const key of keysToProcess) {
517
+ const encryptedValue = encryptedEntries.get(key);
518
+ const originalValue = this.data.get(key);
519
+ // Clean up any existing SecureBuffer for this key
520
+ this.cleanupKey(key);
521
+ // Store encrypted value
522
+ this.data.set(key, encryptedValue);
523
+ // Update metadata with correct type information
524
+ // Store original type in the type field using special format
525
+ const originalType = typeof originalValue;
526
+ this.metadataManager.update(key, `encrypted:${originalType}`, true);
527
+ }
528
+ }
529
+ catch (error) {
530
+ // Rollback: restore original state on any failure
531
+ for (const key of keysToProcess) {
532
+ if (originalMetadata.has(key)) {
533
+ // Restore original metadata
534
+ const original = originalMetadata.get(key);
535
+ this.metadataManager.update(key, original.type, original.isSecure);
536
+ }
537
+ }
538
+ throw new Error(`Encryption failed: ${error.message}`);
539
+ }
540
+ this.updateLastAccessed();
541
+ this.eventManager.emit("set", "encrypt_all", `${keysToProcess.length}_values_encrypted`);
542
+ return this;
543
+ }
544
+ /**
545
+ * Gets the raw encrypted data without decryption (for verification)
546
+ */
547
+ getRawEncryptedData() {
548
+ this.ensureNotDestroyed();
549
+ return new Map(this.data);
550
+ }
551
+ /**
552
+ * Gets a specific key's raw encrypted form (for verification)
553
+ */
554
+ getRawEncryptedValue(key) {
555
+ this.ensureNotDestroyed();
556
+ const stringKey = validation.ValidationUtils.sanitizeKey(key);
557
+ return this.data.get(stringKey);
558
+ }
559
+ /**
560
+ * Gets encryption status from the crypto handler
561
+ */
562
+ getEncryptionStatus() {
563
+ return this.cryptoHandler.getEncryptionStatus();
564
+ }
565
+ // ===== EVENT MANAGEMENT =====
566
+ /**
567
+ * Adds an event listener
568
+ */
569
+ addEventListener(event, listener) {
570
+ validation.ValidationUtils.validateEventType(event);
571
+ validation.ValidationUtils.validateEventListener(listener);
572
+ this.eventManager.addEventListener(event, listener);
573
+ }
574
+ /**
575
+ * Removes an event listener
576
+ */
577
+ removeEventListener(event, listener) {
578
+ validation.ValidationUtils.validateEventType(event);
579
+ validation.ValidationUtils.validateEventListener(listener);
580
+ this.eventManager.removeEventListener(event, listener);
581
+ }
582
+ /**
583
+ * Creates a one-time event listener
584
+ */
585
+ once(event, listener) {
586
+ validation.ValidationUtils.validateEventType(event);
587
+ validation.ValidationUtils.validateEventListener(listener);
588
+ this.eventManager.once(event, listener);
589
+ }
590
+ /**
591
+ * Waits for a specific event to be emitted
592
+ */
593
+ waitFor(event, timeout) {
594
+ validation.ValidationUtils.validateEventType(event);
595
+ if (timeout !== undefined) {
596
+ validation.ValidationUtils.validateTimeout(timeout);
597
+ }
598
+ return this.eventManager.waitFor(event, timeout);
599
+ }
600
+ // ===== CORE DATA OPERATIONS =====
601
+ /**
602
+ * Sets a value - allows both existing keys and new dynamic keys
603
+ */
604
+ set(key, value) {
605
+ this.ensureNotDestroyed();
606
+ this.ensureNotReadOnly();
607
+ this.updateLastAccessed();
608
+ const stringKey = validation.ValidationUtils.sanitizeKey(key);
609
+ validation.ValidationUtils.isValidSecureValue(value);
610
+ // Clean up any existing secure buffer for this key
611
+ this.cleanupKey(stringKey);
612
+ // Handle different types of values
613
+ if (value &&
614
+ typeof value === "object" &&
615
+ value.constructor.name === "Uint8Array") {
616
+ // Store Uint8Array in a secure buffer
617
+ const secureBuffer = secureMemory.SecureBuffer.from(value);
618
+ this.secureBuffers.set(stringKey, secureBuffer);
619
+ this.data.set(stringKey, secureBuffer);
620
+ this.metadataManager.update(stringKey, "Uint8Array", true);
621
+ }
622
+ else if (typeof value === "string") {
623
+ // Store strings in secure buffers
624
+ const secureBuffer = secureMemory.SecureBuffer.from(value);
625
+ this.secureBuffers.set(stringKey, secureBuffer);
626
+ this.data.set(stringKey, secureBuffer);
627
+ this.metadataManager.update(stringKey, "string", true);
628
+ }
629
+ else if (validation.ValidationUtils.isSecureString(value)) {
630
+ // Store SecureString reference
631
+ this.data.set(stringKey, value);
632
+ this.metadataManager.update(stringKey, "SecureString", true);
633
+ }
634
+ else if (validation.ValidationUtils.isSecureObject(value)) {
635
+ // Store SecureObject reference
636
+ this.data.set(stringKey, value);
637
+ this.metadataManager.update(stringKey, "SecureObject", true);
638
+ }
639
+ else {
640
+ // Store other values directly (numbers, booleans, null, undefined)
641
+ this.data.set(stringKey, value);
642
+ this.metadataManager.update(stringKey, typeof value, false);
643
+ }
644
+ this.eventManager.emit("set", stringKey, value);
645
+ return this;
646
+ }
647
+ /**
648
+ * Sets multiple values at once
649
+ */
650
+ setAll(values) {
651
+ this.ensureNotDestroyed();
652
+ this.ensureNotReadOnly();
653
+ for (const key in values) {
654
+ if (Object.prototype.hasOwnProperty.call(values, key)) {
655
+ this.set(String(key), values[key]);
656
+ }
657
+ }
658
+ return this;
659
+ }
660
+ /**
661
+ * Gets a value with automatic decryption
662
+ */
663
+ get(key) {
664
+ this.ensureNotDestroyed();
665
+ this.updateLastAccessed();
666
+ const stringKey = validation.ValidationUtils.sanitizeKey(key);
667
+ const value = this.data.get(stringKey);
668
+ // Update access metadata
669
+ if (this.metadataManager.has(stringKey)) {
670
+ const metadata = this.metadataManager.get(stringKey);
671
+ this.metadataManager.update(stringKey, metadata.type, metadata.isSecure);
672
+ }
673
+ // Check if value is encrypted (starts with [ENCRYPTED:)
674
+ if (typeof value === "string" &&
675
+ this.cryptoHandler.isEncrypted(value)) {
676
+ try {
677
+ // Decrypt the value automatically
678
+ const decryptedValue = this.cryptoHandler.decryptValue(value);
679
+ this.eventManager.emit("get", stringKey, decryptedValue);
680
+ return decryptedValue;
681
+ }
682
+ catch (error) {
683
+ console.error(`Failed to decrypt value for key ${stringKey}:`, error);
684
+ // Return the encrypted value if decryption fails
685
+ this.eventManager.emit("get", stringKey, value);
686
+ return value;
687
+ }
688
+ }
689
+ if (value instanceof secureMemory.SecureBuffer) {
690
+ // Convert SecureBuffer back to original type based on metadata
691
+ const buffer = value.getBuffer();
692
+ const metadata = this.metadataManager.get(stringKey);
693
+ if (metadata?.type === "Uint8Array" ||
694
+ metadata?.type === "encrypted:Uint8Array") {
695
+ // Return as Uint8Array for binary data
696
+ const result = new Uint8Array(buffer);
697
+ this.eventManager.emit("get", stringKey, result);
698
+ return result;
699
+ }
700
+ else {
701
+ // Return as string for text data
702
+ const result = new TextDecoder().decode(buffer);
703
+ this.eventManager.emit("get", stringKey, result);
704
+ return result;
705
+ }
706
+ }
707
+ this.eventManager.emit("get", stringKey, value);
708
+ return value;
709
+ }
710
+ /**
711
+ * Gets a value safely, returning undefined if key doesn't exist
712
+ */
713
+ getSafe(key) {
714
+ try {
715
+ return this.has(key) ? this.get(key) : undefined;
716
+ }
717
+ catch {
718
+ return undefined;
719
+ }
720
+ }
721
+ /**
722
+ * Gets a value with a default fallback
723
+ */
724
+ getWithDefault(key, defaultValue) {
725
+ return this.has(key) ? this.get(key) : defaultValue;
726
+ }
727
+ /**
728
+ * Checks if a key exists
729
+ */
730
+ has(key) {
731
+ this.ensureNotDestroyed();
732
+ const stringKey = validation.ValidationUtils.sanitizeKey(key);
733
+ return this.data.has(stringKey);
734
+ }
735
+ /**
736
+ * Deletes a key - allows both existing keys and dynamic keys
737
+ */
738
+ delete(key) {
739
+ this.ensureNotDestroyed();
740
+ this.ensureNotReadOnly();
741
+ const stringKey = validation.ValidationUtils.sanitizeKey(key);
742
+ if (!this.data.has(stringKey)) {
743
+ return false;
744
+ }
745
+ // Clean up any secure buffer
746
+ this.cleanupKey(stringKey);
747
+ const deleted = this.data.delete(stringKey);
748
+ this.metadataManager.delete(stringKey);
749
+ this.eventManager.emit("delete", stringKey);
750
+ return deleted;
751
+ }
752
+ /**
753
+ * Cleans up resources associated with a key
754
+ */
755
+ cleanupKey(key) {
756
+ if (this.secureBuffers.has(key)) {
757
+ this.secureBuffers.get(key)?.destroy();
758
+ this.secureBuffers.delete(key);
759
+ }
760
+ // Note: We don't destroy SecureString or SecureObject instances
761
+ // as they might be used elsewhere
762
+ }
763
+ /**
764
+ * Clears all data
765
+ */
766
+ clear() {
767
+ this.ensureNotDestroyed();
768
+ this.ensureNotReadOnly();
769
+ // Destroy all secure buffers
770
+ for (const buffer of this.secureBuffers.values()) {
771
+ buffer.destroy();
772
+ }
773
+ this.secureBuffers.clear();
774
+ this.data.clear();
775
+ this.metadataManager.clear();
776
+ this.eventManager.emit("clear");
777
+ }
778
+ // ===== ITERATION AND COLLECTION METHODS =====
779
+ /**
780
+ * Gets all keys
781
+ */
782
+ keys() {
783
+ this.ensureNotDestroyed();
784
+ return Array.from(this.data.keys());
785
+ }
786
+ /**
787
+ * Gets all values
788
+ */
789
+ values() {
790
+ this.ensureNotDestroyed();
791
+ return this.keys().map((key) => this.get(key));
792
+ }
793
+ /**
794
+ * Gets all entries as [key, value] pairs
795
+ */
796
+ entries() {
797
+ this.ensureNotDestroyed();
798
+ return this.keys().map((key) => [key, this.get(key)]);
799
+ }
800
+ /**
801
+ * Iterates over each key-value pair
802
+ */
803
+ forEach(callback) {
804
+ this.ensureNotDestroyed();
805
+ validation.ValidationUtils.validateCallback(callback, "forEach callback");
806
+ for (const key of this.keys()) {
807
+ callback(this.get(key), key, this);
808
+ }
809
+ }
810
+ /**
811
+ * Maps over values and returns a new array
812
+ */
813
+ map(callback) {
814
+ this.ensureNotDestroyed();
815
+ validation.ValidationUtils.validateMapper(callback);
816
+ return this.keys().map((key) => callback(this.get(key), key, this));
817
+ }
818
+ /**
819
+ * Filters entries based on a predicate function (like Array.filter)
820
+ * Returns a new SecureObject with only the entries that match the condition
821
+ */
822
+ filter(predicate) {
823
+ this.ensureNotDestroyed();
824
+ validation.ValidationUtils.validatePredicate(predicate);
825
+ const filtered = new SecureObject();
826
+ for (const key of this.keys()) {
827
+ const value = this.get(key);
828
+ if (predicate(value, key, this)) {
829
+ filtered.set(String(key), value);
830
+ }
831
+ }
832
+ // Emit event with filter details
833
+ this.eventManager.emit("filtered", undefined, {
834
+ operation: "filter",
835
+ resultSize: filtered.size,
836
+ originalSize: this.size,
837
+ });
838
+ return filtered;
839
+ }
840
+ /**
841
+ * Filters entries by specific key names (type-safe for known keys)
842
+ * Returns a new SecureObject with only the specified keys
843
+ *
844
+ * @example
845
+ * const user = createSecureObject({ name: "John", password: "secret", age: 30 });
846
+ * const credentials = user.filterByKeys("name", "password");
847
+ */
848
+ filterByKeys(...keys) {
849
+ this.ensureNotDestroyed();
850
+ const filtered = new SecureObject();
851
+ for (const key of keys) {
852
+ if (this.has(key)) {
853
+ const stringKey = String(key);
854
+ filtered.set(stringKey, this.get(key));
855
+ }
856
+ }
857
+ // Copy sensitive keys that are included in the filter
858
+ const relevantSensitiveKeys = this.getSensitiveKeys().filter((k) => keys.includes(k));
859
+ if (relevantSensitiveKeys.length > 0) {
860
+ filtered.setSensitiveKeys(relevantSensitiveKeys);
861
+ }
862
+ this.eventManager.emit("filtered", undefined, {
863
+ operation: "filterByKeys",
864
+ keys: keys.map((k) => String(k)),
865
+ resultSize: filtered.size,
866
+ });
867
+ return filtered;
868
+ }
869
+ /**
870
+ * Filters entries by value type using a type guard function
871
+ * Returns a new SecureObject with only values of the specified type
872
+ *
873
+ * @example
874
+ * const data = createSecureObject({ name: "John", age: 30, active: true });
875
+ * const strings = data.filterByType((v): v is string => typeof v === "string");
876
+ */
877
+ filterByType(typeGuard) {
878
+ this.ensureNotDestroyed();
879
+ const filtered = new SecureObject();
880
+ for (const key of this.keys()) {
881
+ const value = this.get(key);
882
+ if (typeGuard(value)) {
883
+ const stringKey = String(key);
884
+ filtered.set(stringKey, value);
885
+ }
886
+ }
887
+ this.eventManager.emit("filtered", undefined, {
888
+ operation: "filterByType",
889
+ resultSize: filtered.size,
890
+ });
891
+ return filtered;
892
+ }
893
+ /**
894
+ * Filters entries to only include sensitive keys
895
+ * Returns a new SecureObject with only sensitive data
896
+ *
897
+ * @example
898
+ * const user = createSecureObject({ name: "John", password: "secret", age: 30 });
899
+ * user.addSensitiveKeys("password");
900
+ * const sensitiveData = user.filterSensitive(); // Only contains password
901
+ */
902
+ filterSensitive() {
903
+ this.ensureNotDestroyed();
904
+ const filtered = new SecureObject();
905
+ const sensitiveKeys = this.getSensitiveKeys();
906
+ for (const key of this.keys()) {
907
+ const stringKey = String(key);
908
+ if (sensitiveKeys.includes(stringKey)) {
909
+ filtered.set(stringKey, this.get(key));
910
+ }
911
+ }
912
+ // Copy all sensitive keys to the filtered object
913
+ filtered.setSensitiveKeys([...sensitiveKeys]);
914
+ this.eventManager.emit("filtered", undefined, {
915
+ operation: "filterSensitive",
916
+ resultSize: filtered.size,
917
+ });
918
+ return filtered;
919
+ }
920
+ /**
921
+ * Filters entries to exclude sensitive keys
922
+ * Returns a new SecureObject with only non-sensitive data
923
+ *
924
+ * @example
925
+ * const user = createSecureObject({ name: "John", password: "secret", age: 30 });
926
+ * user.addSensitiveKeys("password");
927
+ * const publicData = user.filterNonSensitive(); // Contains name and age
928
+ */
929
+ filterNonSensitive(options) {
930
+ this.ensureNotDestroyed();
931
+ // Default to non-strict mode (false) - only exact matches
932
+ const strictMode = options?.strictMode === true;
933
+ const filtered = new SecureObject();
934
+ for (const key of this.keys()) {
935
+ const stringKey = String(key);
936
+ // Use the enhanced sensitive key detection with strictMode
937
+ if (!this.sensitiveKeysManager.isSensitive(stringKey, strictMode)) {
938
+ const value = this.get(key);
939
+ // If the value is a nested object, process it with the same strictMode
940
+ if (value &&
941
+ typeof value === "object" &&
942
+ value !== null &&
943
+ !Array.isArray(value)) {
944
+ // Process nested object with the same strict mode
945
+ const processedValue = this.processNestedObjectForFiltering(value, strictMode);
946
+ filtered.set(stringKey, processedValue);
947
+ }
948
+ else {
949
+ filtered.set(stringKey, value);
950
+ }
951
+ }
952
+ }
953
+ this.eventManager.emit("filtered", undefined, {
954
+ operation: "filterNonSensitive",
955
+ resultSize: filtered.size,
956
+ });
957
+ return filtered;
958
+ }
959
+ /**
960
+ * Processes nested objects for filtering with the same strict mode
961
+ */
962
+ processNestedObjectForFiltering(obj, strictMode) {
963
+ if (Array.isArray(obj)) {
964
+ // Handle arrays
965
+ return obj.map((item) => typeof item === "object" && item !== null
966
+ ? this.processNestedObjectForFiltering(item, strictMode)
967
+ : item);
968
+ }
969
+ else if (typeof obj === "object" && obj !== null) {
970
+ // Handle objects
971
+ const result = {};
972
+ for (const [key, value] of Object.entries(obj)) {
973
+ if (!this.sensitiveKeysManager.isSensitive(key, strictMode)) {
974
+ if (typeof value === "object" && value !== null) {
975
+ // Recursively process nested objects/arrays
976
+ result[key] = this.processNestedObjectForFiltering(value, strictMode);
977
+ }
978
+ else {
979
+ result[key] = value;
980
+ }
981
+ }
982
+ // If key is sensitive, skip it (don't add to result)
983
+ }
984
+ return result;
985
+ }
986
+ return obj;
987
+ }
988
+ // ===== METADATA OPERATIONS =====
989
+ /**
990
+ * Gets metadata for a specific key
991
+ */
992
+ getMetadata(key) {
993
+ this.ensureNotDestroyed();
994
+ const stringKey = validation.ValidationUtils.sanitizeKey(key);
995
+ return this.metadataManager.get(stringKey);
996
+ }
997
+ /**
998
+ * Gets metadata for all keys
999
+ */
1000
+ getAllMetadata() {
1001
+ this.ensureNotDestroyed();
1002
+ return this.metadataManager.getAll();
1003
+ }
1004
+ // ===== SERIALIZATION METHODS =====
1005
+ /**
1006
+ * Converts to a regular object with security-focused serialization
1007
+ *
1008
+ * BEHAVIOR: This is the security-focused method that handles sensitive key filtering.
1009
+ * Use this method when you need controlled access to data with security considerations.
1010
+ * For simple object conversion without filtering, use toObject().
1011
+ *
1012
+ * @example
1013
+ * const user = fObject({
1014
+ id: "1",
1015
+ email: "test@test.com",
1016
+ password: "test123",
1017
+ isVerified: true,
1018
+ userName: "test",
1019
+ firstName: "test",
1020
+ lastName: "test",
1021
+ bio: "test",
1022
+ });
1023
+
1024
+ const getAllResult = user.getAll();
1025
+ console.log("getAllResult.email:", getAllResult.email);
1026
+ console.log("getAllResult.password:", getAllResult.password);
1027
+ console.log("Has password?", "password" in getAllResult);
1028
+
1029
+ // Purpose: Security-conscious data access
1030
+ // Behavior: Filters out sensitive keys by default
1031
+ // Result: password: undefined (filtered for security)
1032
+ // With encryptSensitive: true: ✔ password: "[ENCRYPTED:...]" (encrypted but included)
1033
+ */
1034
+ getAll(options = {}) {
1035
+ this.ensureNotDestroyed();
1036
+ validation.ValidationUtils.validateSerializationOptions(options);
1037
+ const sensitiveKeys = new Set(this.sensitiveKeysManager.getAll());
1038
+ return this.serializationHandler.toObject(this.data, sensitiveKeys, options);
1039
+ }
1040
+ /**
1041
+ * Gets the full object as a regular JavaScript object
1042
+ *
1043
+ * BEHAVIOR: Returns ALL data including sensitive keys (like standard JS object conversion).
1044
+ * This method does NOT filter sensitive keys by default - use getAll() for security-focused serialization.
1045
+ *
1046
+ * @example
1047
+ * const user = fObject({
1048
+ id: "1",
1049
+ email: "test@test.com",
1050
+ password: "test123",
1051
+ isVerified: true,
1052
+ userName: "test",
1053
+ firstName: "test",
1054
+ lastName: "test",
1055
+ bio: "test",
1056
+ });
1057
+
1058
+ const toObjectResult = user.toObject();
1059
+ console.log("toObjectResult.email:", toObjectResult.email);
1060
+ console.log("toObjectResult.password:", toObjectResult.password);
1061
+ console.log("Has password?", "password" in toObjectResult);
1062
+
1063
+ // Purpose: Standard JavaScript object conversion
1064
+ // Behavior: Returns ALL data including sensitive keys (like password)
1065
+ // Result: ✔ password: "test123" (included)
1066
+
1067
+ Sensitive keys can be handled using .add/removeSensitiveKeys()
1068
+ */
1069
+ toObject(options) {
1070
+ // toObject() should return ALL data by default (no filtering)
1071
+ // Pass an empty Set to indicate no keys should be filtered
1072
+ const noFiltering = new Set();
1073
+ return this.serializationHandler.toObject(this.data, noFiltering, options);
1074
+ }
1075
+ /**
1076
+ * Converts to JSON string
1077
+ */
1078
+ toJSON(options = {}) {
1079
+ this.ensureNotDestroyed();
1080
+ validation.ValidationUtils.validateSerializationOptions(options);
1081
+ // Use non-strict mode by default (only exact matches)
1082
+ const strictMode = options.strictSensitiveKeys === true;
1083
+ const isSensitiveKey = (key) => this.sensitiveKeysManager.isSensitive(key, strictMode);
1084
+ return this.serializationHandler.toJSON(this.data, isSensitiveKey, options);
1085
+ }
1086
+ // ===== UTILITY METHODS =====
1087
+ /**
1088
+ * Creates a hash of the entire object content
1089
+ */
1090
+ async hash(algorithm = "SHA-256", format = "hex") {
1091
+ this.ensureNotDestroyed();
1092
+ const serialized = this.serializationHandler.createHashableRepresentation(this.entries());
1093
+ const secureString = new secureStringCore.SecureString(serialized);
1094
+ try {
1095
+ return await secureString.hash(algorithm, format);
1096
+ }
1097
+ finally {
1098
+ secureString.destroy();
1099
+ }
1100
+ }
1101
+ /**
1102
+ * Executes a function with the object data and optionally clears it afterward
1103
+ */
1104
+ use(fn, autoClear = false) {
1105
+ this.ensureNotDestroyed();
1106
+ validation.ValidationUtils.validateCallback(fn, "use function");
1107
+ try {
1108
+ return fn(this);
1109
+ }
1110
+ finally {
1111
+ if (autoClear) {
1112
+ this.destroy();
1113
+ }
1114
+ }
1115
+ }
1116
+ /**
1117
+ * Creates a shallow copy of the SecureObject
1118
+ */
1119
+ clone() {
1120
+ this.ensureNotDestroyed();
1121
+ return SecureObject.from(this);
1122
+ }
1123
+ /**
1124
+ * Merges another object into this one
1125
+ */
1126
+ merge(other, overwrite = true) {
1127
+ this.ensureNotDestroyed();
1128
+ this.ensureNotReadOnly();
1129
+ if (other instanceof SecureObject) {
1130
+ for (const key of other.keys()) {
1131
+ const stringKey = String(key);
1132
+ if (overwrite || !this.has(key)) {
1133
+ this.set(stringKey, other.get(key));
1134
+ }
1135
+ }
1136
+ }
1137
+ else {
1138
+ for (const key in other) {
1139
+ if (Object.prototype.hasOwnProperty.call(other, key)) {
1140
+ if (overwrite || !this.has(key)) {
1141
+ this.set(String(key), other[key]);
1142
+ }
1143
+ }
1144
+ }
1145
+ }
1146
+ return this;
1147
+ }
1148
+ // ===== AMAZING NEW FEATURES =====
1149
+ /**
1150
+ * Transform values with a mapper function (like Array.map but returns SecureObject)
1151
+ * Returns a new SecureObject with transformed values
1152
+ */
1153
+ transform(mapper) {
1154
+ this.ensureNotDestroyed();
1155
+ validation.ValidationUtils.validateMapper(mapper);
1156
+ const transformed = new SecureObject();
1157
+ for (const key of this.keys()) {
1158
+ const value = this.get(key);
1159
+ const newValue = mapper(value, key, this);
1160
+ const stringKey = String(key);
1161
+ transformed.set(stringKey, newValue);
1162
+ }
1163
+ this.eventManager.emit("filtered", undefined, {
1164
+ operation: "transform",
1165
+ resultSize: transformed.size,
1166
+ });
1167
+ return transformed;
1168
+ }
1169
+ /**
1170
+ * Group entries by a classifier function
1171
+ * Returns a Map where keys are group identifiers and values are SecureObjects
1172
+ */
1173
+ groupBy(classifier) {
1174
+ this.ensureNotDestroyed();
1175
+ validation.ValidationUtils.validateCallback(classifier, "Classifier function");
1176
+ const groups = new Map();
1177
+ for (const key of this.keys()) {
1178
+ const value = this.get(key);
1179
+ const groupKey = classifier(value, key);
1180
+ if (!groups.has(groupKey)) {
1181
+ groups.set(groupKey, new SecureObject());
1182
+ }
1183
+ const group = groups.get(groupKey);
1184
+ const stringKey = String(key);
1185
+ group.set(stringKey, value);
1186
+ }
1187
+ this.eventManager.emit("filtered", undefined, {
1188
+ operation: "groupBy",
1189
+ resultSize: groups.size,
1190
+ });
1191
+ return groups;
1192
+ }
1193
+ /**
1194
+ * Partition entries into two groups based on a predicate
1195
+ * Returns [matching, notMatching] SecureObjects
1196
+ */
1197
+ partition(predicate) {
1198
+ this.ensureNotDestroyed();
1199
+ validation.ValidationUtils.validatePredicate(predicate);
1200
+ const matching = new SecureObject();
1201
+ const notMatching = new SecureObject();
1202
+ for (const key of this.keys()) {
1203
+ const value = this.get(key);
1204
+ const stringKey = String(key);
1205
+ if (predicate(value, key)) {
1206
+ matching.set(stringKey, value);
1207
+ }
1208
+ else {
1209
+ notMatching.set(stringKey, value);
1210
+ }
1211
+ }
1212
+ this.eventManager.emit("filtered", undefined, {
1213
+ operation: "partition",
1214
+ resultSize: matching.size + notMatching.size,
1215
+ });
1216
+ return [matching, notMatching];
1217
+ }
1218
+ /**
1219
+ * Pick specific keys (like Lodash pick but type-safe)
1220
+ * Returns a new SecureObject with only the specified keys
1221
+ */
1222
+ pick(...keys) {
1223
+ return this.filterByKeys(...keys);
1224
+ }
1225
+ /**
1226
+ * Omit specific keys (opposite of pick)
1227
+ * Returns a new SecureObject without the specified keys
1228
+ */
1229
+ omit(...keys) {
1230
+ this.ensureNotDestroyed();
1231
+ const omitted = new SecureObject();
1232
+ const keysToOmit = new Set(keys.map((k) => String(k)));
1233
+ for (const key of this.keys()) {
1234
+ const stringKey = String(key);
1235
+ if (!keysToOmit.has(stringKey)) {
1236
+ omitted.set(stringKey, this.get(key));
1237
+ }
1238
+ }
1239
+ this.eventManager.emit("filtered", undefined, {
1240
+ operation: "omit",
1241
+ keys: keys.map((k) => String(k)),
1242
+ resultSize: omitted.size,
1243
+ });
1244
+ return omitted;
1245
+ }
1246
+ /**
1247
+ * Flatten nested objects (one level deep)
1248
+ * Converts { user: { name: "John" } } to { "user.name": "John" }
1249
+ */
1250
+ flatten(separator = ".") {
1251
+ this.ensureNotDestroyed();
1252
+ const flattened = new SecureObject();
1253
+ for (const key of this.keys()) {
1254
+ const value = this.get(key);
1255
+ const stringKey = String(key);
1256
+ if (value &&
1257
+ typeof value === "object" &&
1258
+ !Array.isArray(value) &&
1259
+ !(value instanceof Date)) {
1260
+ // Flatten nested object
1261
+ for (const [nestedKey, nestedValue] of Object.entries(value)) {
1262
+ const flatKey = `${stringKey}${separator}${nestedKey}`;
1263
+ flattened.set(flatKey, nestedValue);
1264
+ }
1265
+ }
1266
+ else {
1267
+ flattened.set(stringKey, value);
1268
+ }
1269
+ }
1270
+ this.eventManager.emit("filtered", undefined, {
1271
+ operation: "flatten",
1272
+ resultSize: flattened.size,
1273
+ });
1274
+ return flattened;
1275
+ }
1276
+ /**
1277
+ * Compact - removes null, undefined, and empty values
1278
+ * Returns a new SecureObject with only truthy values
1279
+ */
1280
+ compact() {
1281
+ return this.filter((value) => {
1282
+ if (value === null || value === undefined)
1283
+ return false;
1284
+ if (typeof value === "string" && value.trim() === "")
1285
+ return false;
1286
+ if (Array.isArray(value) && value.length === 0)
1287
+ return false;
1288
+ if (typeof value === "object" && Object.keys(value).length === 0)
1289
+ return false;
1290
+ return true;
1291
+ });
1292
+ }
1293
+ /**
1294
+ * Invert - swap keys and values
1295
+ * Returns a new SecureObject with keys and values swapped
1296
+ */
1297
+ invert() {
1298
+ this.ensureNotDestroyed();
1299
+ const inverted = new SecureObject();
1300
+ for (const key of this.keys()) {
1301
+ const value = this.get(key);
1302
+ const stringValue = String(value);
1303
+ const stringKey = String(key);
1304
+ inverted.set(stringValue, stringKey);
1305
+ }
1306
+ this.eventManager.emit("filtered", undefined, {
1307
+ operation: "invert",
1308
+ resultSize: inverted.size,
1309
+ });
1310
+ return inverted;
1311
+ }
1312
+ /**
1313
+ * Defaults - merge with default values (only for missing keys)
1314
+ * Returns a new SecureObject with defaults applied
1315
+ */
1316
+ defaults(defaultValues) {
1317
+ this.ensureNotDestroyed();
1318
+ const result = new SecureObject();
1319
+ // First, copy all existing values
1320
+ for (const key of this.keys()) {
1321
+ const stringKey = String(key);
1322
+ result.set(stringKey, this.get(key));
1323
+ }
1324
+ // Then, add defaults for missing keys
1325
+ for (const [key, value] of Object.entries(defaultValues)) {
1326
+ if (!this.has(key)) {
1327
+ result.set(key, value);
1328
+ }
1329
+ }
1330
+ this.eventManager.emit("filtered", undefined, {
1331
+ operation: "defaults",
1332
+ resultSize: result.size,
1333
+ });
1334
+ return result;
1335
+ }
1336
+ /**
1337
+ * Tap - execute a function with the object and return the object (for chaining)
1338
+ * Useful for debugging or side effects in method chains
1339
+ */
1340
+ tap(fn) {
1341
+ this.ensureNotDestroyed();
1342
+ validation.ValidationUtils.validateCallback(fn, "Tap function");
1343
+ fn(this);
1344
+ return this;
1345
+ }
1346
+ pipe(...fns) {
1347
+ this.ensureNotDestroyed();
1348
+ return fns.reduce((result, fn) => {
1349
+ validation.ValidationUtils.validateCallback(fn, "Pipe function");
1350
+ return fn(result);
1351
+ }, this);
1352
+ }
1353
+ /**
1354
+ * Sample - get random entries from the object
1355
+ * Returns a new SecureObject with randomly selected entries
1356
+ */
1357
+ sample(count = 1) {
1358
+ this.ensureNotDestroyed();
1359
+ if (count <= 0) {
1360
+ return new SecureObject();
1361
+ }
1362
+ const allKeys = this.keys();
1363
+ const sampleSize = Math.min(count, allKeys.length);
1364
+ const sampledKeys = [];
1365
+ // Simple random sampling without replacement
1366
+ const availableKeys = [...allKeys];
1367
+ for (let i = 0; i < sampleSize; i++) {
1368
+ const randomIndex = Math.floor(Math.random() * availableKeys.length);
1369
+ sampledKeys.push(availableKeys.splice(randomIndex, 1)[0]);
1370
+ }
1371
+ const sampled = new SecureObject();
1372
+ for (const key of sampledKeys) {
1373
+ const stringKey = String(key);
1374
+ sampled.set(stringKey, this.get(key));
1375
+ }
1376
+ this.eventManager.emit("filtered", undefined, {
1377
+ operation: "sample",
1378
+ resultSize: sampled.size,
1379
+ });
1380
+ return sampled;
1381
+ }
1382
+ /**
1383
+ * Shuffle - return a new SecureObject with keys in random order
1384
+ * Returns a new SecureObject with the same data but shuffled key order
1385
+ */
1386
+ shuffle() {
1387
+ this.ensureNotDestroyed();
1388
+ const allKeys = this.keys();
1389
+ const shuffledKeys = [...allKeys];
1390
+ // Fisher-Yates shuffle
1391
+ for (let i = shuffledKeys.length - 1; i > 0; i--) {
1392
+ const j = Math.floor(Math.random() * (i + 1));
1393
+ [shuffledKeys[i], shuffledKeys[j]] = [
1394
+ shuffledKeys[j],
1395
+ shuffledKeys[i],
1396
+ ];
1397
+ }
1398
+ const shuffled = new SecureObject();
1399
+ for (const key of shuffledKeys) {
1400
+ const stringKey = String(key);
1401
+ shuffled.set(stringKey, this.get(key));
1402
+ }
1403
+ this.eventManager.emit("filtered", undefined, {
1404
+ operation: "shuffle",
1405
+ resultSize: shuffled.size,
1406
+ });
1407
+ return shuffled;
1408
+ }
1409
+ /**
1410
+ * Chunk - split object into chunks of specified size
1411
+ * Returns an array of SecureObjects, each containing up to 'size' entries
1412
+ */
1413
+ chunk(size) {
1414
+ this.ensureNotDestroyed();
1415
+ if (size <= 0) {
1416
+ throw new Error("Chunk size must be greater than 0");
1417
+ }
1418
+ const allKeys = this.keys();
1419
+ const chunks = [];
1420
+ for (let i = 0; i < allKeys.length; i += size) {
1421
+ const chunk = new SecureObject();
1422
+ const chunkKeys = allKeys.slice(i, i + size);
1423
+ for (const key of chunkKeys) {
1424
+ const stringKey = String(key);
1425
+ chunk.set(stringKey, this.get(key));
1426
+ }
1427
+ chunks.push(chunk);
1428
+ }
1429
+ this.eventManager.emit("filtered", undefined, {
1430
+ operation: "chunk",
1431
+ resultSize: chunks.length,
1432
+ });
1433
+ return chunks;
1434
+ }
1435
+ // ===== SERIALIZATION AND EXPORT =====
1436
+ /**
1437
+ * Serializes the SecureObject to a secure format
1438
+ */
1439
+ serialize(options = {}) {
1440
+ this.ensureNotDestroyed();
1441
+ try {
1442
+ const { includeMetadata = true, encryptSensitive = false, format = "json", } = options;
1443
+ // Create serialization package
1444
+ const package_ = {
1445
+ version: "2.0.0",
1446
+ format: "XyPrissSecurity-SecureObject",
1447
+ timestamp: Date.now(),
1448
+ objectId: this._id,
1449
+ data: this.serializationHandler.toObject(this.data, (key) => this.sensitiveKeysManager.isSensitive(key, true), // Use strict mode
1450
+ options),
1451
+ metadata: includeMetadata
1452
+ ? this.getSerializationMetadata()
1453
+ : null,
1454
+ size: this.size,
1455
+ isReadOnly: this._isReadOnly,
1456
+ encryptionEnabled: this.cryptoHandler.getEncryptionStatus().hasEncryptionKey,
1457
+ };
1458
+ // Return as JSON string or binary based on format
1459
+ if (format === "binary") {
1460
+ const jsonString = JSON.stringify(package_);
1461
+ const binaryData = new TextEncoder().encode(jsonString);
1462
+ return Array.from(binaryData)
1463
+ .map((b) => b.toString(16).padStart(2, "0"))
1464
+ .join("");
1465
+ }
1466
+ else {
1467
+ return JSON.stringify(package_, null, 2);
1468
+ }
1469
+ }
1470
+ catch (error) {
1471
+ console.error("Serialization failed:", error);
1472
+ throw new Error(`Serialization failed: ${error.message}`);
1473
+ }
1474
+ }
1475
+ /**
1476
+ * Exports the SecureObject data in various formats
1477
+ */
1478
+ exportData(format = "json") {
1479
+ this.ensureNotDestroyed();
1480
+ try {
1481
+ const data = this.toObject();
1482
+ switch (format) {
1483
+ case "json":
1484
+ return JSON.stringify(data, null, 2);
1485
+ case "csv":
1486
+ return this.exportToCSV(data);
1487
+ case "xml":
1488
+ return this.exportToXML(data);
1489
+ case "yaml":
1490
+ return this.exportToYAML(data);
1491
+ default:
1492
+ throw new Error(`Unsupported export format: ${format}`);
1493
+ }
1494
+ }
1495
+ catch (error) {
1496
+ console.error("Export failed:", error);
1497
+ throw new Error(`Export failed: ${error.message}`);
1498
+ }
1499
+ }
1500
+ /**
1501
+ * Gets serialization metadata
1502
+ */
1503
+ getSerializationMetadata() {
1504
+ const stats = this.metadataManager.getStats();
1505
+ const memoryUsage = this.getMemoryUsage();
1506
+ return {
1507
+ totalEntries: stats.totalEntries,
1508
+ secureEntries: stats.secureEntries,
1509
+ memoryUsage: memoryUsage.allocatedMemory,
1510
+ lastModified: stats.newestEntry?.getTime() || this._createdAt,
1511
+ createdAt: this._createdAt,
1512
+ accessCount: stats.totalAccesses,
1513
+ averageAccesses: stats.averageAccesses,
1514
+ oldestEntry: stats.oldestEntry?.getTime() || null,
1515
+ newestEntry: stats.newestEntry?.getTime() || null,
1516
+ };
1517
+ }
1518
+ /**
1519
+ * Exports to CSV format
1520
+ */
1521
+ exportToCSV(data) {
1522
+ const entries = Object.entries(data);
1523
+ if (entries.length === 0)
1524
+ return "Key,Value,Type\n";
1525
+ let csv = "Key,Value,Type\n";
1526
+ for (const [key, value] of entries) {
1527
+ const type = typeof value;
1528
+ const valueStr = type === "object" ? JSON.stringify(value) : String(value);
1529
+ const escapedValue = `"${valueStr.replace(/"/g, '""')}"`;
1530
+ csv += `"${key}",${escapedValue},${type}\n`;
1531
+ }
1532
+ return csv;
1533
+ }
1534
+ /**
1535
+ * Exports to XML format
1536
+ */
1537
+ exportToXML(data) {
1538
+ let xml = '<?xml version="1.0" encoding="UTF-8"?>\n<SecureObject>\n';
1539
+ for (const [key, value] of Object.entries(data)) {
1540
+ const type = typeof value;
1541
+ const valueStr = type === "object" ? JSON.stringify(value) : String(value);
1542
+ xml += ` <entry key="${this.escapeXML(key)}" type="${type}">${this.escapeXML(valueStr)}</entry>\n`;
1543
+ }
1544
+ xml += "</SecureObject>";
1545
+ return xml;
1546
+ }
1547
+ /**
1548
+ * Exports to YAML format
1549
+ */
1550
+ exportToYAML(data) {
1551
+ let yaml = "# SecureObject Export\n";
1552
+ yaml += `# Generated: ${new Date().toISOString()}\n\n`;
1553
+ for (const [key, value] of Object.entries(data)) {
1554
+ const type = typeof value;
1555
+ if (type === "object") {
1556
+ yaml += `${key}:\n`;
1557
+ yaml += ` value: ${JSON.stringify(value)}\n`;
1558
+ yaml += ` type: ${type}\n\n`;
1559
+ }
1560
+ else {
1561
+ yaml += `${key}: ${JSON.stringify(value)}\n`;
1562
+ }
1563
+ }
1564
+ return yaml;
1565
+ }
1566
+ /**
1567
+ * Escapes XML special characters
1568
+ */
1569
+ escapeXML(str) {
1570
+ return str
1571
+ .replace(/&/g, "&amp;")
1572
+ .replace(/</g, "&lt;")
1573
+ .replace(/>/g, "&gt;")
1574
+ .replace(/"/g, "&quot;")
1575
+ .replace(/'/g, "&#39;");
1576
+ }
1577
+ /**
1578
+ * Destroys the SecureObject and clears all data
1579
+ */
1580
+ destroy() {
1581
+ if (!this._isDestroyed) {
1582
+ // Clean up memory tracking
1583
+ if (this._memoryTracking) {
1584
+ index.memoryManager.removeReference(this._id);
1585
+ }
1586
+ this.clear();
1587
+ this.eventManager.clear();
1588
+ this._isDestroyed = true;
1589
+ this.eventManager.emit("destroy");
1590
+ }
1591
+ }
1592
+ /**
1593
+ * Custom inspection for debugging (masks sensitive data)
1594
+ */
1595
+ [Symbol.for("nodejs.util.inspect.custom")]() {
1596
+ if (this._isDestroyed) {
1597
+ return "SecureObject [DESTROYED]";
1598
+ }
1599
+ const stats = this.metadataManager.getStats();
1600
+ return `SecureObject [${this.size} items, ${stats.secureEntries} secure] ${this._isReadOnly ? "[READ-ONLY]" : ""}`;
1601
+ }
1602
+ }
1603
+
1604
+ exports.SecureObject = SecureObject;
1605
+ //# sourceMappingURL=secure-object-core.js.map