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,1570 @@
1
+ import { DEFAULT_SECURE_ARRAY_OPTIONS } from '../types/index.js';
2
+ import { ArrayMetadataManager } from '../metadata/metadata-manager.js';
3
+ import { ArrayValidationUtils } from '../utils/validation.js';
4
+ import { ArrayIdGenerator } from '../utils/id-generator.js';
5
+ import { SecureBuffer } from '../../secure-memory.js';
6
+ import { memoryManager } from '../../../utils/memory/index.js';
7
+ import { ArrayEventManager } from '../events/event-manager.js';
8
+ import { ArrayCryptoHandler } from '../crypto/ArrayCryptoHandler.js';
9
+ import { ArraySerializationHandler } from '../serialization/ArraySerializationHandler.js';
10
+ import '../../../index.js';
11
+ import { XyPrissSecurity } from '../../../core/crypto.js';
12
+ import { MemoryEventType } from '../../../utils/memory/types.js';
13
+
14
+ /***************************************************************************
15
+ * XyPrissSecurity - Enhanced Secure Array Core Implementation
16
+ *
17
+ * security features and array methods
18
+ *
19
+ * @author Nehonix & Community
20
+ *
21
+ * @license MIT
22
+ ***************************************************************************** */
23
+ /**
24
+ * A secure array that can store sensitive data with enhanced security features
25
+ * T represents the type of elements stored in the array
26
+ */
27
+ class SecureArray {
28
+ /**
29
+ * Creates a new secure array
30
+ */
31
+ constructor(initialData, options) {
32
+ // Core data storage
33
+ this.elements = [];
34
+ this.secureBuffers = new Map();
35
+ // State management
36
+ this._isDestroyed = false;
37
+ this._isReadOnly = false;
38
+ this._isFrozen = false;
39
+ this._version = 1;
40
+ this._lastModified = Date.now();
41
+ this._createdAt = Date.now();
42
+ // Memory management
43
+ this._memoryTracking = false;
44
+ // Snapshot functionality
45
+ this.snapshots = new Map();
46
+ this._id = ArrayIdGenerator.generate();
47
+ this.options = { ...DEFAULT_SECURE_ARRAY_OPTIONS, ...options };
48
+ this._isReadOnly = this.options.readOnly;
49
+ this._maxSize = this.options.maxSize;
50
+ // Initialize modular components
51
+ this.metadataManager = new ArrayMetadataManager();
52
+ this.eventManager = new ArrayEventManager();
53
+ this.cryptoHandler = new ArrayCryptoHandler(this._id);
54
+ this.serializationHandler = new ArraySerializationHandler(this.cryptoHandler, this.metadataManager);
55
+ // Set encryption key if provided
56
+ if (this.options.encryptionKey) {
57
+ this.cryptoHandler.setEncryptionKey(this.options.encryptionKey);
58
+ }
59
+ // Enable memory tracking
60
+ this._memoryTracking = this.options.enableMemoryTracking;
61
+ // Register with advanced memory manager if tracking is enabled
62
+ if (this._memoryTracking) {
63
+ memoryManager.registerObject(this, this._id);
64
+ // Listen to memory events for proactive management
65
+ memoryManager.on(MemoryEventType.MEMORY_PRESSURE, (event) => {
66
+ if (event.data?.pressure > 0.8) {
67
+ this.handleMemoryPressure();
68
+ }
69
+ });
70
+ memoryManager.on(MemoryEventType.LEAK_DETECTED, (event) => {
71
+ if (event.data?.leaks?.includes(this._id)) {
72
+ console.warn(`Potential memory leak detected in SecureArray ${this._id}`);
73
+ }
74
+ });
75
+ }
76
+ // Initialize secure buffer pool
77
+ this.initializeSecureBufferPool();
78
+ // Set initial data
79
+ if (initialData) {
80
+ this.pushAll(initialData);
81
+ }
82
+ this.eventManager.emit("created", -1, undefined, { id: this._id });
83
+ }
84
+ // ===== MEMORY MANAGEMENT =====
85
+ /**
86
+ * Initialize secure buffer pool for efficient memory reuse
87
+ */
88
+ initializeSecureBufferPool() {
89
+ if (!this.secureBufferPool) {
90
+ try {
91
+ this.secureBufferPool =
92
+ memoryManager.getPool("secure-array-buffer-pool") ||
93
+ memoryManager.createPool({
94
+ name: "secure-array-buffer-pool",
95
+ factory: () => new Uint8Array(1024), // 1KB buffers
96
+ reset: (buffer) => {
97
+ // Secure wipe before reuse
98
+ this.secureWipe(buffer);
99
+ },
100
+ capacity: 50,
101
+ strategy: "LRU",
102
+ validator: (buffer) => buffer instanceof Uint8Array,
103
+ });
104
+ }
105
+ catch (error) {
106
+ // Pool might already exist, try to get it
107
+ this.secureBufferPool = memoryManager.getPool("secure-array-buffer-pool");
108
+ }
109
+ }
110
+ }
111
+ /**
112
+ * Handle memory pressure by cleaning up unused resources
113
+ */
114
+ handleMemoryPressure() {
115
+ // Clean up unused secure buffers
116
+ for (const [index, buffer] of this.secureBuffers.entries()) {
117
+ if (index >= this.elements.length) {
118
+ buffer.destroy();
119
+ this.secureBuffers.delete(index);
120
+ }
121
+ }
122
+ // Clear old snapshots (keep only the latest 3)
123
+ const sortedSnapshots = Array.from(this.snapshots.entries()).sort(([, a], [, b]) => b.timestamp - a.timestamp);
124
+ if (sortedSnapshots.length > 3) {
125
+ for (let i = 3; i < sortedSnapshots.length; i++) {
126
+ this.snapshots.delete(sortedSnapshots[i][0]);
127
+ }
128
+ }
129
+ // Trigger garbage collection if available
130
+ if (global.gc) {
131
+ global.gc();
132
+ }
133
+ this.eventManager.emit("gc", -1, undefined, {
134
+ operation: "memory_pressure_cleanup",
135
+ buffersCleared: this.secureBuffers.size,
136
+ });
137
+ }
138
+ /**
139
+ * Secure wipe of buffer contents
140
+ */
141
+ secureWipe(buffer) {
142
+ return XyPrissSecurity.secureWipe(buffer);
143
+ }
144
+ // ===== UTILITY METHODS =====
145
+ /**
146
+ * Ensures the array is not destroyed
147
+ */
148
+ ensureNotDestroyed() {
149
+ if (this._isDestroyed) {
150
+ console.error("Array has been destroyed and cannot be used.");
151
+ throw new Error("Cannot use destroyed fortified Array. ");
152
+ }
153
+ }
154
+ /**
155
+ * Ensures the array is not read-only
156
+ */
157
+ ensureNotReadOnly() {
158
+ if (this._isReadOnly) {
159
+ throw new Error("SecureArray is read-only");
160
+ }
161
+ }
162
+ /**
163
+ * Ensures the array is not frozen
164
+ */
165
+ ensureNotFrozen() {
166
+ if (this._isFrozen) {
167
+ throw new Error("SecureArray is frozen");
168
+ }
169
+ }
170
+ /**
171
+ * Check if adding elements would exceed max size
172
+ */
173
+ checkSizeLimit(additionalElements = 1) {
174
+ if (this._maxSize &&
175
+ this.elements.length + additionalElements > this._maxSize) {
176
+ throw new Error(`Operation would exceed maximum size limit of ${this._maxSize}`);
177
+ }
178
+ }
179
+ /**
180
+ * Updates the last modified timestamp and version
181
+ */
182
+ updateLastModified() {
183
+ this._lastModified = Date.now();
184
+ this._version++;
185
+ }
186
+ /**
187
+ * Validates an index
188
+ */
189
+ validateIndex(index) {
190
+ if (this.options.enableIndexValidation) {
191
+ if (!Number.isInteger(index) || index < 0) {
192
+ throw new Error(`Invalid index: ${index}`);
193
+ }
194
+ }
195
+ }
196
+ /**
197
+ * Validates a value
198
+ */
199
+ validateValue(value) {
200
+ if (this.options.enableTypeValidation) {
201
+ ArrayValidationUtils.validateSecureArrayValue(value);
202
+ }
203
+ }
204
+ // ===== CORE ARRAY OPERATIONS =====
205
+ /**
206
+ * Gets the length of the array
207
+ */
208
+ get length() {
209
+ this.ensureNotDestroyed();
210
+ return this.elements.length;
211
+ }
212
+ /**
213
+ * Gets the unique identifier of this array
214
+ */
215
+ get id() {
216
+ return this._id;
217
+ }
218
+ /**
219
+ * Gets the version number (increments on each mutation)
220
+ */
221
+ get version() {
222
+ return this._version;
223
+ }
224
+ /**
225
+ * Gets when the array was last modified
226
+ */
227
+ get lastModified() {
228
+ return this._lastModified;
229
+ }
230
+ /**
231
+ * Gets when the array was created
232
+ */
233
+ get createdAt() {
234
+ return this._createdAt;
235
+ }
236
+ /**
237
+ * Check if the array is empty
238
+ */
239
+ get isEmpty() {
240
+ return this.elements.length === 0;
241
+ }
242
+ /**
243
+ * Check if the array is read-only
244
+ */
245
+ get isReadOnly() {
246
+ return this._isReadOnly;
247
+ }
248
+ /**
249
+ * Check if the array is frozen
250
+ */
251
+ get isFrozen() {
252
+ return this._isFrozen;
253
+ }
254
+ /**
255
+ * Check if the array is destroyed
256
+ */
257
+ get isDestroyed() {
258
+ return this._isDestroyed;
259
+ }
260
+ /**
261
+ * Gets an element at the specified index with automatic decryption
262
+ */
263
+ get(index) {
264
+ this.ensureNotDestroyed();
265
+ this.validateIndex(index);
266
+ if (index >= this.elements.length) {
267
+ return undefined;
268
+ }
269
+ const value = this.elements[index];
270
+ // Update access metadata
271
+ if (this.metadataManager.has(index)) {
272
+ const metadata = this.metadataManager.get(index);
273
+ this.metadataManager.update(index, metadata.type, metadata.isSecure, true);
274
+ }
275
+ // Check if value is encrypted (starts with [ENCRYPTED:)
276
+ if (typeof value === "string" &&
277
+ this.cryptoHandler.isEncrypted(value)) {
278
+ try {
279
+ // Decrypt the value automatically
280
+ const decryptedValue = this.cryptoHandler.decryptValue(value);
281
+ this.eventManager.emit("get", index, decryptedValue);
282
+ return decryptedValue;
283
+ }
284
+ catch (error) {
285
+ console.error(`Failed to decrypt value at index ${index}:`, error);
286
+ // Return the encrypted value if decryption fails
287
+ this.eventManager.emit("get", index, value);
288
+ return value;
289
+ }
290
+ }
291
+ // Convert SecureBuffer back to original type based on metadata
292
+ if (value instanceof SecureBuffer) {
293
+ const metadata = this.metadataManager.get(index);
294
+ if (metadata?.type === "string") {
295
+ // Convert SecureBuffer back to string
296
+ const buffer = value.getBuffer();
297
+ const result = new TextDecoder().decode(buffer);
298
+ this.eventManager.emit("get", index, result);
299
+ return result;
300
+ }
301
+ }
302
+ this.eventManager.emit("get", index, value);
303
+ return value;
304
+ }
305
+ /**
306
+ * Gets element at index with bounds checking
307
+ */
308
+ at(index) {
309
+ this.ensureNotDestroyed();
310
+ // Handle negative indices
311
+ if (index < 0) {
312
+ index = this.elements.length + index;
313
+ }
314
+ return this.get(index);
315
+ }
316
+ /**
317
+ * Sets an element at the specified index
318
+ */
319
+ set(index, value) {
320
+ this.ensureNotDestroyed();
321
+ this.ensureNotReadOnly();
322
+ this.ensureNotFrozen();
323
+ this.validateIndex(index);
324
+ this.validateValue(value);
325
+ // Check size limit for new indices
326
+ if (index >= this.elements.length) {
327
+ this.checkSizeLimit(index - this.elements.length + 1);
328
+ }
329
+ // Extend array if necessary
330
+ while (index >= this.elements.length) {
331
+ this.elements.push(undefined);
332
+ }
333
+ // Clean up any existing secure buffer for this index
334
+ this.cleanupIndex(index);
335
+ // Handle secure storage for strings
336
+ if (typeof value === "string") {
337
+ const secureBuffer = SecureBuffer.from(value);
338
+ this.secureBuffers.set(index, secureBuffer);
339
+ this.elements[index] = secureBuffer;
340
+ this.metadataManager.update(index, "string", true);
341
+ }
342
+ else {
343
+ this.elements[index] = value;
344
+ this.metadataManager.update(index, typeof value, false);
345
+ }
346
+ this.updateLastModified();
347
+ this.eventManager.emit("set", index, value);
348
+ return this;
349
+ }
350
+ /**
351
+ * Cleans up resources associated with an index
352
+ */
353
+ cleanupIndex(index) {
354
+ if (this.secureBuffers.has(index)) {
355
+ this.secureBuffers.get(index)?.destroy();
356
+ this.secureBuffers.delete(index);
357
+ }
358
+ }
359
+ /**
360
+ * Adds an element to the end of the array
361
+ */
362
+ push(value) {
363
+ this.ensureNotDestroyed();
364
+ this.ensureNotReadOnly();
365
+ this.ensureNotFrozen();
366
+ this.validateValue(value);
367
+ this.checkSizeLimit(1);
368
+ const index = this.elements.length;
369
+ // Handle secure storage for strings
370
+ if (typeof value === "string") {
371
+ const secureBuffer = SecureBuffer.from(value);
372
+ this.secureBuffers.set(index, secureBuffer);
373
+ this.elements.push(secureBuffer);
374
+ this.metadataManager.update(index, "string", true);
375
+ }
376
+ else {
377
+ this.elements.push(value);
378
+ this.metadataManager.update(index, typeof value, false);
379
+ }
380
+ this.updateLastModified();
381
+ this.eventManager.emit("push", index, value);
382
+ return this.elements.length;
383
+ }
384
+ /**
385
+ * Removes and returns the last element
386
+ */
387
+ pop() {
388
+ this.ensureNotDestroyed();
389
+ this.ensureNotReadOnly();
390
+ this.ensureNotFrozen();
391
+ if (this.elements.length === 0) {
392
+ return undefined;
393
+ }
394
+ const index = this.elements.length - 1;
395
+ const value = this.get(index);
396
+ // Clean up resources
397
+ this.cleanupIndex(index);
398
+ this.elements.pop();
399
+ this.metadataManager.delete(index);
400
+ this.updateLastModified();
401
+ this.eventManager.emit("pop", index, value);
402
+ return value;
403
+ }
404
+ /**
405
+ * Removes and returns the first element
406
+ */
407
+ shift() {
408
+ this.ensureNotDestroyed();
409
+ this.ensureNotReadOnly();
410
+ this.ensureNotFrozen();
411
+ if (this.elements.length === 0) {
412
+ return undefined;
413
+ }
414
+ const value = this.get(0);
415
+ // Clean up resources for index 0
416
+ this.cleanupIndex(0);
417
+ this.elements.shift();
418
+ // Shift all metadata indices down by 1
419
+ this.metadataManager.shiftIndices(0, -1);
420
+ // Shift all secure buffer indices down by 1
421
+ const newSecureBuffers = new Map();
422
+ for (const [index, buffer] of this.secureBuffers.entries()) {
423
+ if (index > 0) {
424
+ newSecureBuffers.set(index - 1, buffer);
425
+ }
426
+ }
427
+ this.secureBuffers = newSecureBuffers;
428
+ this.updateLastModified();
429
+ this.eventManager.emit("shift", 0, value);
430
+ return value;
431
+ }
432
+ /**
433
+ * Adds elements to the beginning of the array
434
+ */
435
+ unshift(...values) {
436
+ this.ensureNotDestroyed();
437
+ this.ensureNotReadOnly();
438
+ this.ensureNotFrozen();
439
+ this.checkSizeLimit(values.length);
440
+ for (const value of values) {
441
+ this.validateValue(value);
442
+ }
443
+ // Shift existing secure buffers and metadata
444
+ const shiftAmount = values.length;
445
+ this.metadataManager.shiftIndices(0, shiftAmount);
446
+ const newSecureBuffers = new Map();
447
+ for (const [index, buffer] of this.secureBuffers.entries()) {
448
+ newSecureBuffers.set(index + shiftAmount, buffer);
449
+ }
450
+ this.secureBuffers = newSecureBuffers;
451
+ // Add new values at the beginning
452
+ for (let i = 0; i < values.length; i++) {
453
+ const value = values[i];
454
+ if (typeof value === "string") {
455
+ const secureBuffer = SecureBuffer.from(value);
456
+ this.secureBuffers.set(i, secureBuffer);
457
+ this.metadataManager.update(i, "string", true);
458
+ }
459
+ else {
460
+ this.metadataManager.update(i, typeof value, false);
461
+ }
462
+ }
463
+ this.elements.unshift(...values);
464
+ this.updateLastModified();
465
+ this.eventManager.emit("unshift", 0, values);
466
+ return this.elements.length;
467
+ }
468
+ /**
469
+ * Adds multiple elements to the array
470
+ */
471
+ pushAll(values) {
472
+ this.ensureNotDestroyed();
473
+ this.ensureNotReadOnly();
474
+ this.ensureNotFrozen();
475
+ this.checkSizeLimit(values.length);
476
+ for (const value of values) {
477
+ this.push(value);
478
+ }
479
+ return this.elements.length;
480
+ }
481
+ // ===== ENHANCED ARRAY METHODS =====
482
+ /**
483
+ * Removes elements from array and optionally inserts new elements
484
+ */
485
+ splice(start, deleteCount, ...items) {
486
+ this.ensureNotDestroyed();
487
+ this.ensureNotReadOnly();
488
+ this.ensureNotFrozen();
489
+ if (start < 0) {
490
+ start = Math.max(0, this.elements.length + start);
491
+ }
492
+ deleteCount =
493
+ deleteCount === undefined
494
+ ? this.elements.length - start
495
+ : Math.max(0, deleteCount);
496
+ if (items.length > 0) {
497
+ this.checkSizeLimit(items.length - deleteCount);
498
+ for (const item of items) {
499
+ this.validateValue(item);
500
+ }
501
+ }
502
+ // Create a new SecureArray for removed elements
503
+ const removedElements = new SecureArray();
504
+ // Get elements to be removed
505
+ for (let i = start; i < start + deleteCount && i < this.elements.length; i++) {
506
+ const value = this.get(i);
507
+ if (value !== undefined) {
508
+ removedElements.push(value);
509
+ }
510
+ }
511
+ // Clean up secure buffers for removed elements
512
+ for (let i = start; i < start + deleteCount; i++) {
513
+ this.cleanupIndex(i);
514
+ }
515
+ // Perform the splice operation
516
+ const removed = this.elements.splice(start, deleteCount, ...items);
517
+ // Update metadata and secure buffers
518
+ this.metadataManager.splice(start, deleteCount, items.length);
519
+ // Handle secure storage for new items
520
+ for (let i = 0; i < items.length; i++) {
521
+ const value = items[i];
522
+ const index = start + i;
523
+ if (typeof value === "string") {
524
+ const secureBuffer = SecureBuffer.from(value);
525
+ this.secureBuffers.set(index, secureBuffer);
526
+ this.metadataManager.update(index, "string", true);
527
+ }
528
+ else {
529
+ this.metadataManager.update(index, typeof value, false);
530
+ }
531
+ }
532
+ this.updateLastModified();
533
+ this.eventManager.emit("splice", start, { removed, added: items });
534
+ return removedElements;
535
+ }
536
+ /**
537
+ * Returns a shallow copy of a portion of the array
538
+ */
539
+ slice(start, end) {
540
+ this.ensureNotDestroyed();
541
+ const slicedElements = [];
542
+ const actualStart = start === undefined
543
+ ? 0
544
+ : start < 0
545
+ ? Math.max(0, this.elements.length + start)
546
+ : start;
547
+ const actualEnd = end === undefined
548
+ ? this.elements.length
549
+ : end < 0
550
+ ? this.elements.length + end
551
+ : end;
552
+ for (let i = actualStart; i < actualEnd && i < this.elements.length; i++) {
553
+ const value = this.get(i);
554
+ if (value !== undefined) {
555
+ slicedElements.push(value);
556
+ }
557
+ }
558
+ const newArray = new SecureArray(slicedElements, {
559
+ ...this.options,
560
+ });
561
+ this.eventManager.emit("slice", actualStart, {
562
+ start: actualStart,
563
+ end: actualEnd,
564
+ result: newArray,
565
+ });
566
+ return newArray;
567
+ }
568
+ /**
569
+ * Concatenates arrays and returns a new SecureArray
570
+ */
571
+ concat(...arrays) {
572
+ this.ensureNotDestroyed();
573
+ const newElements = [];
574
+ // Add current array elements
575
+ for (let i = 0; i < this.elements.length; i++) {
576
+ const value = this.get(i);
577
+ if (value !== undefined) {
578
+ newElements.push(value);
579
+ }
580
+ }
581
+ // Add elements from other arrays
582
+ for (const arr of arrays) {
583
+ if (arr instanceof SecureArray) {
584
+ for (let i = 0; i < arr.length; i++) {
585
+ const value = arr.get(i);
586
+ if (value !== undefined) {
587
+ newElements.push(value);
588
+ }
589
+ }
590
+ }
591
+ else {
592
+ newElements.push(...arr);
593
+ }
594
+ }
595
+ return new SecureArray(newElements, { ...this.options });
596
+ }
597
+ /**
598
+ * Joins all elements into a string
599
+ */
600
+ join(separator = ",") {
601
+ this.ensureNotDestroyed();
602
+ const stringElements = [];
603
+ for (let i = 0; i < this.elements.length; i++) {
604
+ const value = this.get(i);
605
+ stringElements.push(value?.toString() ?? "");
606
+ }
607
+ return stringElements.join(separator);
608
+ }
609
+ /**
610
+ * Reverses the array in place
611
+ */
612
+ reverse() {
613
+ this.ensureNotDestroyed();
614
+ this.ensureNotReadOnly();
615
+ this.ensureNotFrozen();
616
+ // Create new mappings for secure buffers
617
+ const newSecureBuffers = new Map();
618
+ const length = this.elements.length;
619
+ for (const [index, buffer] of this.secureBuffers.entries()) {
620
+ newSecureBuffers.set(length - 1 - index, buffer);
621
+ }
622
+ this.secureBuffers = newSecureBuffers;
623
+ this.elements.reverse();
624
+ this.metadataManager.reverse(length);
625
+ this.updateLastModified();
626
+ this.eventManager.emit("reverse", -1, undefined);
627
+ return this;
628
+ }
629
+ /**
630
+ * Sorts the array in place
631
+ */
632
+ sort(compareFn) {
633
+ this.ensureNotDestroyed();
634
+ this.ensureNotReadOnly();
635
+ this.ensureNotFrozen();
636
+ // Get actual values for sorting
637
+ const indexValuePairs = [];
638
+ for (let i = 0; i < this.elements.length; i++) {
639
+ const value = this.get(i);
640
+ if (value !== undefined) {
641
+ indexValuePairs.push({ index: i, value });
642
+ }
643
+ }
644
+ // Sort the pairs
645
+ indexValuePairs.sort((a, b) => {
646
+ if (compareFn) {
647
+ return compareFn(a.value, b.value);
648
+ }
649
+ const aStr = String(a.value);
650
+ const bStr = String(b.value);
651
+ return aStr < bStr ? -1 : aStr > bStr ? 1 : 0;
652
+ });
653
+ // Rebuild the array in sorted order
654
+ const newElements = [];
655
+ const newSecureBuffers = new Map();
656
+ for (let i = 0; i < indexValuePairs.length; i++) {
657
+ const { index: oldIndex, value } = indexValuePairs[i];
658
+ newElements[i] = this.elements[oldIndex];
659
+ if (this.secureBuffers.has(oldIndex)) {
660
+ newSecureBuffers.set(i, this.secureBuffers.get(oldIndex));
661
+ }
662
+ }
663
+ this.elements = newElements;
664
+ this.secureBuffers = newSecureBuffers;
665
+ this.metadataManager.reorder(indexValuePairs.map((p) => p.index));
666
+ this.updateLastModified();
667
+ this.eventManager.emit("sort", -1, undefined);
668
+ return this;
669
+ }
670
+ // ===== FUNCTIONAL PROGRAMMING METHODS =====
671
+ /**
672
+ * Calls a function for each element
673
+ */
674
+ forEach(callback, thisArg) {
675
+ this.ensureNotDestroyed();
676
+ for (let i = 0; i < this.elements.length; i++) {
677
+ const value = this.get(i);
678
+ if (value !== undefined) {
679
+ callback.call(thisArg, value, i, this);
680
+ }
681
+ }
682
+ }
683
+ /**
684
+ * Creates a new array with results of calling a function for every element
685
+ */
686
+ map(callback, thisArg) {
687
+ this.ensureNotDestroyed();
688
+ const mappedElements = [];
689
+ for (let i = 0; i < this.elements.length; i++) {
690
+ const value = this.get(i);
691
+ if (value !== undefined) {
692
+ mappedElements.push(callback.call(thisArg, value, i, this));
693
+ }
694
+ }
695
+ return new SecureArray(mappedElements, { ...this.options });
696
+ }
697
+ /**
698
+ * Creates a new array with elements that pass a test
699
+ */
700
+ filter(predicate, thisArg) {
701
+ this.ensureNotDestroyed();
702
+ const filteredElements = [];
703
+ for (let i = 0; i < this.elements.length; i++) {
704
+ const value = this.get(i);
705
+ if (value !== undefined &&
706
+ predicate.call(thisArg, value, i, this)) {
707
+ filteredElements.push(value);
708
+ }
709
+ }
710
+ return new SecureArray(filteredElements, { ...this.options });
711
+ }
712
+ /**
713
+ * Reduces the array to a single value
714
+ */
715
+ reduce(callback, initialValue) {
716
+ this.ensureNotDestroyed();
717
+ let accumulator = initialValue;
718
+ let startIndex = 0;
719
+ if (accumulator === undefined) {
720
+ if (this.elements.length === 0) {
721
+ throw new TypeError("Reduce of empty array with no initial value");
722
+ }
723
+ accumulator = this.get(0);
724
+ startIndex = 1;
725
+ }
726
+ for (let i = startIndex; i < this.elements.length; i++) {
727
+ const value = this.get(i);
728
+ if (value !== undefined) {
729
+ accumulator = callback(accumulator, value, i, this);
730
+ }
731
+ }
732
+ return accumulator;
733
+ }
734
+ /**
735
+ * Tests whether at least one element passes the test
736
+ */
737
+ some(predicate, thisArg) {
738
+ this.ensureNotDestroyed();
739
+ for (let i = 0; i < this.elements.length; i++) {
740
+ const value = this.get(i);
741
+ if (value !== undefined &&
742
+ predicate.call(thisArg, value, i, this)) {
743
+ return true;
744
+ }
745
+ }
746
+ return false;
747
+ }
748
+ /**
749
+ * Tests whether all elements pass the test
750
+ */
751
+ every(predicate, thisArg) {
752
+ this.ensureNotDestroyed();
753
+ for (let i = 0; i < this.elements.length; i++) {
754
+ const value = this.get(i);
755
+ if (value !== undefined &&
756
+ !predicate.call(thisArg, value, i, this)) {
757
+ return false;
758
+ }
759
+ }
760
+ return true;
761
+ }
762
+ /**
763
+ * Finds the first element that satisfies the predicate
764
+ */
765
+ find(predicate, thisArg) {
766
+ this.ensureNotDestroyed();
767
+ for (let i = 0; i < this.elements.length; i++) {
768
+ const value = this.get(i);
769
+ if (value !== undefined &&
770
+ predicate.call(thisArg, value, i, this)) {
771
+ return value;
772
+ }
773
+ }
774
+ return undefined;
775
+ }
776
+ /**
777
+ * Finds the index of the first element that satisfies the predicate
778
+ */
779
+ findIndex(predicate, thisArg) {
780
+ this.ensureNotDestroyed();
781
+ for (let i = 0; i < this.elements.length; i++) {
782
+ const value = this.get(i);
783
+ if (value !== undefined &&
784
+ predicate.call(thisArg, value, i, this)) {
785
+ return i;
786
+ }
787
+ }
788
+ return -1;
789
+ }
790
+ /**
791
+ * Finds the last element that satisfies the predicate
792
+ */
793
+ findLast(predicate, thisArg) {
794
+ this.ensureNotDestroyed();
795
+ for (let i = this.elements.length - 1; i >= 0; i--) {
796
+ const value = this.get(i);
797
+ if (value !== undefined &&
798
+ predicate.call(thisArg, value, i, this)) {
799
+ return value;
800
+ }
801
+ }
802
+ return undefined;
803
+ }
804
+ /**
805
+ * Finds the index of the last element that satisfies the predicate
806
+ */
807
+ findLastIndex(predicate, thisArg) {
808
+ this.ensureNotDestroyed();
809
+ for (let i = this.elements.length - 1; i >= 0; i--) {
810
+ const value = this.get(i);
811
+ if (value !== undefined &&
812
+ predicate.call(thisArg, value, i, this)) {
813
+ return i;
814
+ }
815
+ }
816
+ return -1;
817
+ }
818
+ /**
819
+ * Returns the first index of an element
820
+ */
821
+ indexOf(searchElement, fromIndex = 0) {
822
+ this.ensureNotDestroyed();
823
+ const startIndex = fromIndex < 0
824
+ ? Math.max(0, this.elements.length + fromIndex)
825
+ : fromIndex;
826
+ for (let i = startIndex; i < this.elements.length; i++) {
827
+ const value = this.get(i);
828
+ if (value === searchElement) {
829
+ return i;
830
+ }
831
+ }
832
+ return -1;
833
+ }
834
+ /**
835
+ * Returns the last index of an element
836
+ */
837
+ lastIndexOf(searchElement, fromIndex) {
838
+ this.ensureNotDestroyed();
839
+ const startIndex = fromIndex === undefined
840
+ ? this.elements.length - 1
841
+ : fromIndex < 0
842
+ ? this.elements.length + fromIndex
843
+ : fromIndex;
844
+ for (let i = Math.min(startIndex, this.elements.length - 1); i >= 0; i--) {
845
+ const value = this.get(i);
846
+ if (value === searchElement) {
847
+ return i;
848
+ }
849
+ }
850
+ return -1;
851
+ }
852
+ /**
853
+ * Checks if an element exists in the array
854
+ */
855
+ includes(searchElement, fromIndex = 0) {
856
+ return this.indexOf(searchElement, fromIndex) !== -1;
857
+ }
858
+ // ===== ENHANCED SECURITY METHODS =====
859
+ /**
860
+ * Creates a snapshot of the current array state
861
+ */
862
+ createSnapshot(name) {
863
+ this.ensureNotDestroyed();
864
+ const snapshotId = name ||
865
+ `snapshot_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
866
+ // Deep copy elements
867
+ const elementsCopy = [];
868
+ for (let i = 0; i < this.elements.length; i++) {
869
+ const value = this.get(i);
870
+ if (value !== undefined) {
871
+ elementsCopy.push(value);
872
+ }
873
+ }
874
+ // Copy metadata
875
+ const metadataCopy = new Map(this.metadataManager.getAllMetadata());
876
+ this.snapshots.set(snapshotId, {
877
+ elements: elementsCopy,
878
+ metadata: metadataCopy,
879
+ timestamp: Date.now(),
880
+ });
881
+ this.eventManager.emit("snapshot_created", -1, undefined, {
882
+ snapshotId,
883
+ });
884
+ return snapshotId;
885
+ }
886
+ /**
887
+ * Restores the array from a snapshot
888
+ */
889
+ restoreFromSnapshot(snapshotId) {
890
+ this.ensureNotDestroyed();
891
+ this.ensureNotReadOnly();
892
+ this.ensureNotFrozen();
893
+ const snapshot = this.snapshots.get(snapshotId);
894
+ if (!snapshot) {
895
+ return false;
896
+ }
897
+ // Clear current state
898
+ this.clear();
899
+ // Restore from snapshot
900
+ for (const element of snapshot.elements) {
901
+ this.push(element);
902
+ }
903
+ this.eventManager.emit("snapshot_restored", -1, undefined, {
904
+ snapshotId,
905
+ });
906
+ return true;
907
+ }
908
+ /**
909
+ * Lists available snapshots
910
+ */
911
+ listSnapshots() {
912
+ return Array.from(this.snapshots.entries()).map(([id, snapshot]) => ({
913
+ id,
914
+ timestamp: snapshot.timestamp,
915
+ }));
916
+ }
917
+ /**
918
+ * Deletes a snapshot
919
+ */
920
+ deleteSnapshot(snapshotId) {
921
+ return this.snapshots.delete(snapshotId);
922
+ }
923
+ /**
924
+ * Clears all elements from the array
925
+ */
926
+ clear() {
927
+ this.ensureNotDestroyed();
928
+ this.ensureNotReadOnly();
929
+ this.ensureNotFrozen();
930
+ // Clean up all secure buffers
931
+ for (const buffer of this.secureBuffers.values()) {
932
+ buffer.destroy();
933
+ }
934
+ this.secureBuffers.clear();
935
+ // Clear elements and metadata
936
+ this.elements.length = 0;
937
+ this.metadataManager.clear();
938
+ this.updateLastModified();
939
+ this.eventManager.emit("clear", -1, undefined);
940
+ return this;
941
+ }
942
+ /**
943
+ * Freezes the array to prevent modifications
944
+ */
945
+ freeze() {
946
+ this.ensureNotDestroyed();
947
+ this._isFrozen = true;
948
+ this.eventManager.emit("freeze", -1, undefined);
949
+ return this;
950
+ }
951
+ /**
952
+ * Unfreezes the array to allow modifications
953
+ */
954
+ unfreeze() {
955
+ this.ensureNotDestroyed();
956
+ this._isFrozen = false;
957
+ this.eventManager.emit("unfreeze", -1, undefined);
958
+ return this;
959
+ }
960
+ /**
961
+ * Makes the array read-only
962
+ */
963
+ makeReadOnly() {
964
+ this.ensureNotDestroyed();
965
+ this._isReadOnly = true;
966
+ this.eventManager.emit("readonly", -1, undefined);
967
+ return this;
968
+ }
969
+ /**
970
+ * Removes read-only restriction
971
+ */
972
+ makeWritable() {
973
+ this.ensureNotDestroyed();
974
+ this._isReadOnly = false;
975
+ this.eventManager.emit("writable", -1, undefined);
976
+ return this;
977
+ }
978
+ /**
979
+ * Securely wipes all data and destroys the array
980
+ * @example
981
+ * //===================== correct ===========
982
+ const x = fArray([] as number[]);
983
+ x.push(12);
984
+
985
+ console.log(x._array);
986
+ x.destroy();
987
+
988
+ //================ incorrect ===============
989
+ const x = fArray([] as number[]);
990
+ x.destroy(); // will destroy the array
991
+ x.push(12); // x.push will throw an error
992
+
993
+ console.log(x._array); // will throw an error
994
+ */
995
+ destroy() {
996
+ if (this._isDestroyed) {
997
+ return;
998
+ }
999
+ // Clean up all secure buffers
1000
+ for (const buffer of this.secureBuffers.values()) {
1001
+ buffer.destroy();
1002
+ }
1003
+ this.secureBuffers.clear();
1004
+ // Clear snapshots
1005
+ this.snapshots.clear();
1006
+ // Secure wipe of elements array
1007
+ if (this.elements.length > 0) {
1008
+ this.elements.fill(null);
1009
+ this.elements.length = 0;
1010
+ }
1011
+ // Clear metadata
1012
+ this.metadataManager.clear();
1013
+ // Unregister from memory manager
1014
+ if (this._memoryTracking) {
1015
+ memoryManager.unregisterObject(this._id);
1016
+ }
1017
+ this._isDestroyed = true;
1018
+ this.eventManager.emit("destroyed", -1, undefined);
1019
+ // Clear event listeners
1020
+ this.eventManager.removeAllListeners();
1021
+ }
1022
+ // ===== UTILITY AND STATISTICS METHODS =====
1023
+ /**
1024
+ * Gets comprehensive statistics about the array
1025
+ */
1026
+ getStats() {
1027
+ this.ensureNotDestroyed();
1028
+ const typeCount = new Map();
1029
+ let secureElementCount = 0;
1030
+ let totalMemoryUsage = 0;
1031
+ let totalAccesses = 0;
1032
+ for (let i = 0; i < this.elements.length; i++) {
1033
+ const metadata = this.metadataManager.get(i);
1034
+ if (metadata) {
1035
+ const type = metadata.type;
1036
+ typeCount.set(type, (typeCount.get(type) || 0) + 1);
1037
+ if (metadata.isSecure) {
1038
+ secureElementCount++;
1039
+ }
1040
+ totalAccesses += metadata.accessCount;
1041
+ }
1042
+ // Estimate memory usage
1043
+ const value = this.get(i);
1044
+ if (value !== undefined) {
1045
+ if (typeof value === "string") {
1046
+ totalMemoryUsage += value.length * 2; // UTF-16
1047
+ }
1048
+ else if (typeof value === "number") {
1049
+ totalMemoryUsage += 8; // 64-bit number
1050
+ }
1051
+ else if (typeof value === "boolean") {
1052
+ totalMemoryUsage += 1;
1053
+ }
1054
+ else {
1055
+ totalMemoryUsage += 64; // Estimate for objects
1056
+ }
1057
+ }
1058
+ }
1059
+ return {
1060
+ length: this.elements.length,
1061
+ secureElements: secureElementCount,
1062
+ totalAccesses,
1063
+ memoryUsage: totalMemoryUsage,
1064
+ lastModified: this._lastModified,
1065
+ version: this._version,
1066
+ createdAt: this._createdAt,
1067
+ isReadOnly: this._isReadOnly,
1068
+ isFrozen: this._isFrozen,
1069
+ typeDistribution: Object.fromEntries(typeCount),
1070
+ secureElementCount,
1071
+ estimatedMemoryUsage: totalMemoryUsage,
1072
+ snapshotCount: this.snapshots.size,
1073
+ encryptionEnabled: this.cryptoHandler.getEncryptionStatus().hasEncryptionKey,
1074
+ };
1075
+ }
1076
+ /**
1077
+ * Validates the integrity of the array
1078
+ */
1079
+ validateIntegrity() {
1080
+ this.ensureNotDestroyed();
1081
+ const errors = [];
1082
+ // Check if elements length matches metadata count
1083
+ const metadataCount = this.metadataManager.size();
1084
+ if (this.elements.length !== metadataCount) {
1085
+ errors.push(`Element count (${this.elements.length}) doesn't match metadata count (${metadataCount})`);
1086
+ }
1087
+ // Check secure buffer consistency
1088
+ for (const [index, buffer] of this.secureBuffers.entries()) {
1089
+ if (index >= this.elements.length) {
1090
+ errors.push(`Secure buffer exists for invalid index: ${index}`);
1091
+ }
1092
+ const metadata = this.metadataManager.get(index);
1093
+ if (!metadata || !metadata.isSecure) {
1094
+ errors.push(`Secure buffer exists but metadata indicates non-secure element at index: ${index}`);
1095
+ }
1096
+ try {
1097
+ buffer.getBuffer(); // Test if buffer is still valid
1098
+ }
1099
+ catch (error) {
1100
+ errors.push(`Invalid secure buffer at index ${index}: ${error}`);
1101
+ }
1102
+ }
1103
+ // Check for memory leaks in metadata
1104
+ for (let i = 0; i < this.metadataManager.size(); i++) {
1105
+ if (!this.metadataManager.has(i) && i < this.elements.length) {
1106
+ errors.push(`Missing metadata for element at index: ${i}`);
1107
+ }
1108
+ }
1109
+ return {
1110
+ isValid: errors.length === 0,
1111
+ errors,
1112
+ };
1113
+ }
1114
+ /**
1115
+ * Compacts the array by removing undefined/null elements
1116
+ */
1117
+ compact() {
1118
+ this.ensureNotDestroyed();
1119
+ this.ensureNotReadOnly();
1120
+ this.ensureNotFrozen();
1121
+ const compactedElements = [];
1122
+ const newSecureBuffers = new Map();
1123
+ let newIndex = 0;
1124
+ for (let i = 0; i < this.elements.length; i++) {
1125
+ const value = this.get(i);
1126
+ if (value !== null && value !== undefined) {
1127
+ compactedElements.push(this.elements[i]);
1128
+ if (this.secureBuffers.has(i)) {
1129
+ newSecureBuffers.set(newIndex, this.secureBuffers.get(i));
1130
+ }
1131
+ const metadata = this.metadataManager.get(i);
1132
+ if (metadata) {
1133
+ this.metadataManager.update(newIndex, metadata.type, metadata.isSecure);
1134
+ }
1135
+ newIndex++;
1136
+ }
1137
+ else {
1138
+ // Clean up secure buffer for removed element
1139
+ this.cleanupIndex(i);
1140
+ }
1141
+ }
1142
+ // Clean up old metadata
1143
+ this.metadataManager.clear();
1144
+ this.elements = compactedElements;
1145
+ this.secureBuffers = newSecureBuffers;
1146
+ this.updateLastModified();
1147
+ this.eventManager.emit("compact", -1, undefined, {
1148
+ originalLength: this.elements.length +
1149
+ (this.elements.length - compactedElements.length),
1150
+ newLength: compactedElements.length,
1151
+ });
1152
+ return this;
1153
+ }
1154
+ /**
1155
+ * Removes duplicate elements
1156
+ */
1157
+ unique() {
1158
+ this.ensureNotDestroyed();
1159
+ this.ensureNotReadOnly();
1160
+ this.ensureNotFrozen();
1161
+ const seen = new Set();
1162
+ const uniqueElements = [];
1163
+ const newSecureBuffers = new Map();
1164
+ let newIndex = 0;
1165
+ for (let i = 0; i < this.elements.length; i++) {
1166
+ const value = this.get(i);
1167
+ if (value !== undefined && !seen.has(value)) {
1168
+ seen.add(value);
1169
+ uniqueElements.push(this.elements[i]);
1170
+ if (this.secureBuffers.has(i)) {
1171
+ newSecureBuffers.set(newIndex, this.secureBuffers.get(i));
1172
+ }
1173
+ const metadata = this.metadataManager.get(i);
1174
+ if (metadata) {
1175
+ this.metadataManager.update(newIndex, metadata.type, metadata.isSecure);
1176
+ }
1177
+ newIndex++;
1178
+ }
1179
+ else if (value !== undefined) {
1180
+ // Clean up duplicate's secure buffer
1181
+ this.cleanupIndex(i);
1182
+ }
1183
+ }
1184
+ // Clean up old metadata
1185
+ this.metadataManager.clear();
1186
+ this.elements = uniqueElements;
1187
+ this.secureBuffers = newSecureBuffers;
1188
+ this.updateLastModified();
1189
+ this.eventManager.emit("unique", -1, undefined, {
1190
+ originalLength: this.elements.length +
1191
+ (this.elements.length - uniqueElements.length),
1192
+ newLength: uniqueElements.length,
1193
+ });
1194
+ return this;
1195
+ }
1196
+ /**
1197
+ * Groups elements by a key function
1198
+ */
1199
+ groupBy(keyFn) {
1200
+ this.ensureNotDestroyed();
1201
+ const groups = new Map();
1202
+ for (let i = 0; i < this.elements.length; i++) {
1203
+ const value = this.get(i);
1204
+ if (value !== undefined) {
1205
+ const key = keyFn(value, i);
1206
+ if (!groups.has(key)) {
1207
+ groups.set(key, new SecureArray([], { ...this.options }));
1208
+ }
1209
+ groups.get(key).push(value);
1210
+ }
1211
+ }
1212
+ return groups;
1213
+ }
1214
+ /**
1215
+ * Returns the minimum value
1216
+ */
1217
+ min(compareFn) {
1218
+ this.ensureNotDestroyed();
1219
+ if (this.elements.length === 0) {
1220
+ return undefined;
1221
+ }
1222
+ let min = this.get(0);
1223
+ if (min === undefined) {
1224
+ return undefined;
1225
+ }
1226
+ for (let i = 1; i < this.elements.length; i++) {
1227
+ const value = this.get(i);
1228
+ if (value !== undefined) {
1229
+ if (compareFn) {
1230
+ if (compareFn(value, min) < 0) {
1231
+ min = value;
1232
+ }
1233
+ }
1234
+ else {
1235
+ if (value < min) {
1236
+ min = value;
1237
+ }
1238
+ }
1239
+ }
1240
+ }
1241
+ return min;
1242
+ }
1243
+ /**
1244
+ * Returns the maximum value
1245
+ */
1246
+ max(compareFn) {
1247
+ this.ensureNotDestroyed();
1248
+ if (this.elements.length === 0) {
1249
+ return undefined;
1250
+ }
1251
+ let max = this.get(0);
1252
+ if (max === undefined) {
1253
+ return undefined;
1254
+ }
1255
+ for (let i = 1; i < this.elements.length; i++) {
1256
+ const value = this.get(i);
1257
+ if (value !== undefined) {
1258
+ if (compareFn) {
1259
+ if (compareFn(value, max) > 0) {
1260
+ max = value;
1261
+ }
1262
+ }
1263
+ else {
1264
+ if (value > max) {
1265
+ max = value;
1266
+ }
1267
+ }
1268
+ }
1269
+ }
1270
+ return max;
1271
+ }
1272
+ /**
1273
+ * Shuffles the array in place using Fisher-Yates algorithm
1274
+ */
1275
+ shuffle() {
1276
+ this.ensureNotDestroyed();
1277
+ this.ensureNotReadOnly();
1278
+ this.ensureNotFrozen();
1279
+ for (let i = this.elements.length - 1; i > 0; i--) {
1280
+ const j = Math.floor(Math.random() * (i + 1));
1281
+ // Swap elements
1282
+ [this.elements[i], this.elements[j]] = [
1283
+ this.elements[j],
1284
+ this.elements[i],
1285
+ ];
1286
+ // Swap secure buffers if they exist
1287
+ const bufferI = this.secureBuffers.get(i);
1288
+ const bufferJ = this.secureBuffers.get(j);
1289
+ if (bufferI) {
1290
+ this.secureBuffers.set(j, bufferI);
1291
+ }
1292
+ else {
1293
+ this.secureBuffers.delete(j);
1294
+ }
1295
+ if (bufferJ) {
1296
+ this.secureBuffers.set(i, bufferJ);
1297
+ }
1298
+ else {
1299
+ this.secureBuffers.delete(i);
1300
+ }
1301
+ // Swap metadata
1302
+ const metaI = this.metadataManager.get(i);
1303
+ const metaJ = this.metadataManager.get(j);
1304
+ if (metaI && metaJ) {
1305
+ this.metadataManager.update(i, metaJ.type, metaJ.isSecure);
1306
+ this.metadataManager.update(j, metaI.type, metaI.isSecure);
1307
+ }
1308
+ }
1309
+ this.updateLastModified();
1310
+ this.eventManager.emit("shuffle", -1, undefined);
1311
+ return this;
1312
+ }
1313
+ /**
1314
+ * Returns a random sample of elements
1315
+ */
1316
+ sample(count = 1) {
1317
+ this.ensureNotDestroyed();
1318
+ if (count <= 0 || this.elements.length === 0) {
1319
+ return new SecureArray([], { ...this.options });
1320
+ }
1321
+ const sampleCount = Math.min(count, this.elements.length);
1322
+ const indices = new Set();
1323
+ const sampledElements = [];
1324
+ while (indices.size < sampleCount) {
1325
+ const randomIndex = Math.floor(Math.random() * this.elements.length);
1326
+ if (!indices.has(randomIndex)) {
1327
+ indices.add(randomIndex);
1328
+ const value = this.get(randomIndex);
1329
+ if (value !== undefined) {
1330
+ sampledElements.push(value);
1331
+ }
1332
+ }
1333
+ }
1334
+ return new SecureArray(sampledElements, { ...this.options });
1335
+ }
1336
+ // ===== ITERATOR IMPLEMENTATION =====
1337
+ /**
1338
+ * Returns an iterator for the array
1339
+ */
1340
+ *[Symbol.iterator]() {
1341
+ this.ensureNotDestroyed();
1342
+ for (let i = 0; i < this.elements.length; i++) {
1343
+ const value = this.get(i);
1344
+ if (value !== undefined) {
1345
+ yield value;
1346
+ }
1347
+ }
1348
+ }
1349
+ /**
1350
+ * Returns an iterator for array entries [index, value]
1351
+ */
1352
+ *entries() {
1353
+ this.ensureNotDestroyed();
1354
+ for (let i = 0; i < this.elements.length; i++) {
1355
+ const value = this.get(i);
1356
+ if (value !== undefined) {
1357
+ yield [i, value];
1358
+ }
1359
+ }
1360
+ }
1361
+ /**
1362
+ * Returns an iterator for array indices
1363
+ */
1364
+ *keys() {
1365
+ this.ensureNotDestroyed();
1366
+ for (let i = 0; i < this.elements.length; i++) {
1367
+ yield i;
1368
+ }
1369
+ }
1370
+ /**
1371
+ * Returns an iterator for array values
1372
+ */
1373
+ *values() {
1374
+ return this[Symbol.iterator]();
1375
+ }
1376
+ // ===== EVENT MANAGEMENT =====
1377
+ /**
1378
+ * Adds an event listener
1379
+ */
1380
+ on(event, listener) {
1381
+ this.eventManager.on(event, listener);
1382
+ return this;
1383
+ }
1384
+ /**
1385
+ * Removes an event listener
1386
+ */
1387
+ off(event, listener) {
1388
+ this.eventManager.off(event, listener);
1389
+ return this;
1390
+ }
1391
+ /**
1392
+ * Adds a one-time event listener
1393
+ */
1394
+ once(event, listener) {
1395
+ this.eventManager.once(event, listener);
1396
+ return this;
1397
+ }
1398
+ // ===== SERIALIZATION AND EXPORT =====
1399
+ /**
1400
+ * Serializes the SecureArray to a secure format
1401
+ */
1402
+ serialize(options) {
1403
+ this.ensureNotDestroyed();
1404
+ return this.serializationHandler.serialize(this.elements, options);
1405
+ }
1406
+ /**
1407
+ * Exports the SecureArray data in various formats
1408
+ */
1409
+ exportData(format = "json") {
1410
+ this.ensureNotDestroyed();
1411
+ // Get the actual values (not SecureBuffers)
1412
+ const actualElements = [];
1413
+ for (let i = 0; i < this.elements.length; i++) {
1414
+ const value = this.get(i);
1415
+ if (value !== undefined) {
1416
+ actualElements.push(value);
1417
+ }
1418
+ }
1419
+ return this.serializationHandler.exportData(actualElements, format);
1420
+ }
1421
+ /**
1422
+ * Converts to a regular JavaScript array (loses security features)
1423
+ */
1424
+ toArray() {
1425
+ this.ensureNotDestroyed();
1426
+ const regularArray = [];
1427
+ for (let i = 0; i < this.elements.length; i++) {
1428
+ const value = this.get(i);
1429
+ if (value !== undefined) {
1430
+ regularArray.push(value);
1431
+ }
1432
+ }
1433
+ return regularArray;
1434
+ }
1435
+ /**
1436
+ * Converts to a regular JavaScript array (same as toArray method)
1437
+ */
1438
+ get _array() {
1439
+ return this.toArray();
1440
+ }
1441
+ /**
1442
+ * Creates a SecureArray from a regular array
1443
+ */
1444
+ static from(arrayLike, options) {
1445
+ const elements = Array.from(arrayLike);
1446
+ return new SecureArray(elements, options);
1447
+ }
1448
+ /**
1449
+ * Creates a SecureArray with specified length and fill value
1450
+ */
1451
+ static of(...elements) {
1452
+ return new SecureArray(elements);
1453
+ }
1454
+ // ===== ENCRYPTION METHODS =====
1455
+ /**
1456
+ * Gets encryption status from the crypto handler
1457
+ */
1458
+ getEncryptionStatus() {
1459
+ return this.cryptoHandler.getEncryptionStatus();
1460
+ }
1461
+ /**
1462
+ * Sets an encryption key for the array
1463
+ */
1464
+ setEncryptionKey(key) {
1465
+ this.ensureNotDestroyed();
1466
+ this.cryptoHandler.setEncryptionKey(key);
1467
+ }
1468
+ /**
1469
+ * Gets the raw encrypted data without decryption (for verification)
1470
+ */
1471
+ getRawEncryptedData() {
1472
+ this.ensureNotDestroyed();
1473
+ return [...this.elements];
1474
+ }
1475
+ /**
1476
+ * Gets a specific element's raw encrypted form (for verification)
1477
+ */
1478
+ getRawEncryptedElement(index) {
1479
+ this.ensureNotDestroyed();
1480
+ this.validateIndex(index);
1481
+ if (index >= this.elements.length) {
1482
+ return undefined;
1483
+ }
1484
+ return this.elements[index];
1485
+ }
1486
+ /**
1487
+ * Encrypts all elements in the array using AES-256-CTR-HMAC encryption
1488
+ * with proper memory management and atomic operations
1489
+ */
1490
+ encryptAll() {
1491
+ this.ensureNotDestroyed();
1492
+ this.ensureNotReadOnly();
1493
+ this.ensureNotFrozen();
1494
+ // Check if encryption key is set
1495
+ const encryptionStatus = this.cryptoHandler.getEncryptionStatus();
1496
+ if (!encryptionStatus.hasEncryptionKey) {
1497
+ throw new Error("Encryption key must be set before calling encryptAll()");
1498
+ }
1499
+ // Prepare temporary storage for atomic operation
1500
+ const encryptedValues = [];
1501
+ const originalMetadata = new Map();
1502
+ const indicesToProcess = [];
1503
+ try {
1504
+ // First pass: encrypt all values into temporary storage
1505
+ for (let i = 0; i < this.elements.length; i++) {
1506
+ const value = this.elements[i]; // Get raw value, not through get() method
1507
+ if (value !== undefined) {
1508
+ // Skip already encrypted values to avoid double encryption
1509
+ if (typeof value === "string" &&
1510
+ this.cryptoHandler.isEncrypted(value)) {
1511
+ continue;
1512
+ }
1513
+ // Store original metadata for rollback
1514
+ if (this.metadataManager.has(i)) {
1515
+ originalMetadata.set(i, this.metadataManager.get(i));
1516
+ }
1517
+ // Get the actual value to encrypt
1518
+ let valueToEncrypt = value;
1519
+ // If it's a SecureBuffer, convert it back to its original form
1520
+ if (value instanceof SecureBuffer) {
1521
+ const metadata = this.metadataManager.get(i);
1522
+ if (metadata?.type === "string") {
1523
+ valueToEncrypt = new TextDecoder().decode(value.getBuffer());
1524
+ }
1525
+ else if (metadata?.type === "Uint8Array") {
1526
+ valueToEncrypt = new Uint8Array(value.getBuffer());
1527
+ }
1528
+ else {
1529
+ valueToEncrypt = new TextDecoder().decode(value.getBuffer());
1530
+ }
1531
+ }
1532
+ // Encrypt the value
1533
+ const encryptedValue = this.cryptoHandler.encryptValue(valueToEncrypt);
1534
+ encryptedValues[i] = encryptedValue;
1535
+ indicesToProcess.push(i);
1536
+ }
1537
+ }
1538
+ // Second pass: atomically commit all changes
1539
+ for (const i of indicesToProcess) {
1540
+ const encryptedValue = encryptedValues[i];
1541
+ const originalValue = this.elements[i];
1542
+ // Clean up any existing SecureBuffer for this index
1543
+ this.cleanupIndex(i);
1544
+ // Store encrypted value
1545
+ this.elements[i] = encryptedValue;
1546
+ // Update metadata with correct type information
1547
+ // Store original type in the type field using special format
1548
+ const originalType = typeof originalValue;
1549
+ this.metadataManager.update(i, `encrypted:${originalType}`, true);
1550
+ }
1551
+ }
1552
+ catch (error) {
1553
+ // Rollback: restore original state on any failure
1554
+ for (const i of indicesToProcess) {
1555
+ if (originalMetadata.has(i)) {
1556
+ // Restore original metadata
1557
+ const original = originalMetadata.get(i);
1558
+ this.metadataManager.update(i, original.type, original.isSecure);
1559
+ }
1560
+ }
1561
+ throw new Error(`Encryption failed: ${error?.message || "Unknown error"}`);
1562
+ }
1563
+ this.updateLastModified();
1564
+ this.eventManager.emit("encrypt_all", -1, `${indicesToProcess.length}_elements_encrypted`);
1565
+ return this;
1566
+ }
1567
+ }
1568
+
1569
+ export { SecureArray };
1570
+ //# sourceMappingURL=secure-array-core.js.map