@futdevpro/fsm-dynamo 1.16.28 → 1.16.29

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 (532) hide show
  1. package/.cursor/rules/__assistant_guide.mdc +30 -30
  2. package/.cursor/rules/_ag_backend-structure.mdc +85 -85
  3. package/.cursor/rules/_ag_backend.mdc +16 -16
  4. package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
  5. package/.cursor/rules/_ag_frontend.mdc +39 -39
  6. package/.cursor/rules/_ag_import-rules.mdc +44 -44
  7. package/.cursor/rules/_ag_naming.mdc +115 -115
  8. package/.cursor/rules/_ag_should-be.mdc +6 -6
  9. package/.cursor/rules/ai_development_guide.md +60 -60
  10. package/.cursor/rules/ai_directives.md +2 -2
  11. package/.cursor/rules/cursor-rules.md +160 -160
  12. package/.cursor/rules/default-command.mdc +464 -464
  13. package/.cursor/rules/error_code_pattern.md +39 -39
  14. package/.cursor/rules/saved rule mcp server use.md +15 -15
  15. package/.vscode/settings.json +11 -11
  16. package/LICENSE +21 -21
  17. package/__documentations/2026-06-01-fr047-fc-foundation.md +1 -1
  18. package/__documentations/2026-06-01-fr047-p1-function-calling-vocabulary.md +3 -3
  19. package/__documentations/2026-06-22-dyfm-error-extends-error.md +109 -109
  20. package/__documentations/plans/00-MASTER-ngx-models-fsm-merge.md +1 -1
  21. package/build/_modules/ai/_models/ai-call-settings.interface.d.ts +1 -1
  22. package/build/_modules/ai/_models/ai-call-settings.interface.js +1 -1
  23. package/build/_modules/ai/_models/ai-model-settings-schema.interface.d.ts +1 -1
  24. package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.js +1 -1
  25. package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.d.ts +1 -1
  26. package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js +1 -1
  27. package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.d.ts +1 -1
  28. package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.js +1 -1
  29. package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.js +1 -1
  30. package/build/_modules/socket/_models/sck-socket-event.control-model.js +1 -1
  31. package/eslint.config.js +4 -4
  32. package/nodemon.json +22 -22
  33. package/package.json +1 -1
  34. package/scripts/crypto/CRYPTO-STABILITY-SOLUTION.md +196 -196
  35. package/scripts/crypto/README.md +113 -113
  36. package/scripts/crypto/demo-crypto-stability.js +120 -120
  37. package/scripts/crypto/stress-test-crypto.js +379 -379
  38. package/scripts/run-coverage-tests.js +24 -24
  39. package/spec/support/helpers/ts-node-helper.js +9 -9
  40. package/spec/support/jasmine.coverage.json +23 -23
  41. package/spec/support/jasmine.json +24 -24
  42. package/src/_collections/constants/data-sizes.const.ts +40 -40
  43. package/src/_collections/constants/error-defaults.const.ts +20 -20
  44. package/src/_collections/constants/global-settings.const.ts +24 -24
  45. package/src/_collections/constants/numbers.const.ts +40 -40
  46. package/src/_collections/constants/times.const.ts +45 -45
  47. package/src/_collections/utils/array.util.spec.ts +306 -306
  48. package/src/_collections/utils/array.util.ts +813 -813
  49. package/src/_collections/utils/async.util.spec.ts +354 -354
  50. package/src/_collections/utils/async.util.ts +197 -197
  51. package/src/_collections/utils/data.util.spec.ts +345 -345
  52. package/src/_collections/utils/data.util.ts +226 -226
  53. package/src/_collections/utils/json-error-helper.util.spec.ts +521 -521
  54. package/src/_collections/utils/json-error-helper.util.ts +301 -301
  55. package/src/_collections/utils/log.util.spec.ts +975 -975
  56. package/src/_collections/utils/log.util.ts +667 -667
  57. package/src/_collections/utils/math/box-bounds.spec.ts +73 -73
  58. package/src/_collections/utils/math/box-bounds.util.ts +183 -183
  59. package/src/_collections/utils/math/math.util.spec.ts +94 -94
  60. package/src/_collections/utils/math/math.util.ts +141 -141
  61. package/src/_collections/utils/math/random.util.spec.ts +82 -82
  62. package/src/_collections/utils/math/random.util.ts +139 -139
  63. package/src/_collections/utils/math/trigonometry.util.spec.ts +57 -57
  64. package/src/_collections/utils/math/trigonometry.util.ts +102 -102
  65. package/src/_collections/utils/math/vector2.util.spec.ts +94 -94
  66. package/src/_collections/utils/math/vector2.util.ts +653 -653
  67. package/src/_collections/utils/object.util.spec.ts +646 -646
  68. package/src/_collections/utils/regex/password-regex.util.spec.ts +51 -51
  69. package/src/_collections/utils/regex/password-regex.util.ts +65 -65
  70. package/src/_collections/utils/regex/regex.util.spec.ts +42 -42
  71. package/src/_collections/utils/regex/regex.util.ts +6 -6
  72. package/src/_collections/utils/regex/username-regex.util.spec.ts +61 -61
  73. package/src/_collections/utils/regex/username-regex.util.ts +35 -35
  74. package/src/_collections/utils/round-list.util.spec.ts +79 -79
  75. package/src/_collections/utils/round-list.util.ts +162 -162
  76. package/src/_collections/utils/stack.util.spec.ts +372 -372
  77. package/src/_collections/utils/stack.util.ts +164 -164
  78. package/src/_collections/utils/string-case.util.spec.ts +441 -441
  79. package/src/_collections/utils/string-case.util.ts +362 -362
  80. package/src/_collections/utils/string.util.spec.ts +975 -975
  81. package/src/_collections/utils/string.util.ts +449 -449
  82. package/src/_collections/utils/time.util.spec.ts +50 -50
  83. package/src/_collections/utils/time.util.ts +481 -481
  84. package/src/_collections/utils/type-cloning-facility.util.spec.ts +51 -51
  85. package/src/_collections/utils/type-cloning-facility.util.ts +168 -168
  86. package/src/_collections/utils/utilities.util.spec.ts +201 -201
  87. package/src/_collections/utils/utilities.util.ts +68 -68
  88. package/src/_collections/utils/uuid.util.spec.ts +30 -30
  89. package/src/_collections/utils/uuid.util.ts +50 -50
  90. package/src/_enums/basic-property-type.enum.ts +20 -20
  91. package/src/_enums/data-model-type.enum.ts +29 -29
  92. package/src/_enums/environment-flag.enum.ts +28 -28
  93. package/src/_enums/error-level.enum.ts +43 -43
  94. package/src/_enums/http/http-call-type.enum.ts +43 -43
  95. package/src/_enums/http/http-event-type.enum.ts +40 -40
  96. package/src/_enums/http/http-response-type.enum.ts +18 -18
  97. package/src/_enums/log-style.enum.ts +44 -44
  98. package/src/_enums/server-connection-status.enum.ts +6 -6
  99. package/src/_enums/time/day-of-week.enum.ts +55 -55
  100. package/src/_enums/time/month.enum.ts +25 -25
  101. package/src/_enums/time/relative-date.enum.ts +24 -24
  102. package/src/_models/control-models/data-model-params.control-model.spec.ts +133 -133
  103. package/src/_models/control-models/data-model-params.control-model.ts +352 -352
  104. package/src/_models/control-models/data-property-params.control-model.spec.ts +93 -93
  105. package/src/_models/control-models/data-property-params.control-model.ts +210 -210
  106. package/src/_models/control-models/error.control-model.spec.ts +912 -912
  107. package/src/_models/control-models/error.control-model.ts +1274 -1274
  108. package/src/_models/control-models/http/http-error-response.control-model.spec.ts +116 -116
  109. package/src/_models/control-models/http/http-error-response.control-model.ts +52 -52
  110. package/src/_models/control-models/http/http-headers.control-model.spec.ts +25 -25
  111. package/src/_models/control-models/http/http-headers.control-model.ts +124 -124
  112. package/src/_models/control-models/http/http-response.model-base.spec.ts +46 -46
  113. package/src/_models/control-models/http/http-response.model-base.ts +57 -57
  114. package/src/_models/control-models/poll.control-model.spec.ts +63 -63
  115. package/src/_models/control-models/poll.control-model.ts +151 -151
  116. package/src/_models/control-models/range-value.control-model.spec.ts +187 -187
  117. package/src/_models/control-models/range-value.control-model.ts +289 -289
  118. package/src/_models/control-models/server-status.control-model.spec.ts +66 -66
  119. package/src/_models/control-models/server-status.control-model.ts +94 -94
  120. package/src/_models/control-models/service-endpoint-settings-base.control-model.spec.ts +145 -145
  121. package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +186 -186
  122. package/src/_models/data-models/errors.data-model.spec.ts +71 -71
  123. package/src/_models/data-models/errors.data-model.ts +175 -175
  124. package/src/_models/data-models/metadata.data-model.spec.ts +184 -184
  125. package/src/_models/data-models/metadata.data-model.ts +153 -153
  126. package/src/_models/interfaces/box-bounds.interface.ts +7 -7
  127. package/src/_models/interfaces/environment/global-log-settings.interface.ts +86 -86
  128. package/src/_models/interfaces/environment/global-settings.interface.ts +47 -47
  129. package/src/_models/interfaces/error-defaults.interface.ts +11 -11
  130. package/src/_models/interfaces/paged.interface.ts +12 -12
  131. package/src/_models/interfaces/random-weight.interface.ts +7 -7
  132. package/src/_models/interfaces/route-settings.interface.ts +15 -15
  133. package/src/_models/interfaces/search-query.interface.ts +23 -23
  134. package/src/_models/interfaces/search-result.interface.ts +5 -5
  135. package/src/_models/interfaces/server-error-statistics.interface.ts +24 -24
  136. package/src/_models/interfaces/vector2.interface.ts +20 -20
  137. package/src/_models/types/db-filter.type.ts +110 -110
  138. package/src/_models/types/db-sort.type.ts +4 -4
  139. package/src/_models/types/ds-filter.type.ts +68 -68
  140. package/src/_models/types/ds-sort.type.ts +21 -21
  141. package/src/_modules/ai/_collections/ai-model-ref.util.ts +88 -88
  142. package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +37 -37
  143. package/src/_modules/ai/_collections/ai-model-registry.util.ts +30 -30
  144. package/src/_modules/ai/_enums/ai-message-role.enum.ts +7 -7
  145. package/src/_modules/ai/_enums/ai-model-type.enum.ts +7 -7
  146. package/src/_modules/ai/_enums/ai-provider.enum.ts +7 -7
  147. package/src/_modules/ai/_models/ai-call-settings.interface.ts +84 -84
  148. package/src/_modules/ai/_models/ai-embedding-request.interface.ts +20 -20
  149. package/src/_modules/ai/_models/ai-embedding-response.interface.ts +26 -26
  150. package/src/_modules/ai/_models/ai-llm-request.interface.ts +24 -24
  151. package/src/_modules/ai/_models/ai-llm-response.interface.ts +30 -30
  152. package/src/_modules/ai/_models/ai-message.interface.ts +12 -12
  153. package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +35 -35
  154. package/src/_modules/ai/_models/ai-model-info.interface.ts +63 -63
  155. package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +52 -52
  156. package/src/_modules/ai/_models/ai-provider-capabilities.interface.ts +28 -28
  157. package/src/_modules/ai/_models/ai-settings.interface.ts +17 -17
  158. package/src/_modules/ai/_models/ai-tool-call.interface.ts +18 -18
  159. package/src/_modules/ai/_models/ai-tool-handler.type.ts +11 -11
  160. package/src/_modules/ai/_models/ai-tool-result.interface.ts +16 -16
  161. package/src/_modules/ai/_models/ai-tool.interface.ts +16 -16
  162. package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +29 -29
  163. package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +135 -135
  164. package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +19 -19
  165. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.ts +28 -28
  166. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.ts +23 -23
  167. package/src/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.ts +10 -10
  168. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.ts +22 -22
  169. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.ts +27 -27
  170. package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +20 -20
  171. package/src/_modules/ai/_modules/anthropic/index.ts +14 -14
  172. package/src/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.ts +12 -12
  173. package/src/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.ts +22 -22
  174. package/src/_modules/ai/_modules/document-ai/index.ts +4 -4
  175. package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +40 -40
  176. package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +6 -6
  177. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +19 -19
  178. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +11 -11
  179. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +24 -24
  180. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +20 -20
  181. package/src/_modules/ai/_modules/fdp-ai/index.ts +11 -11
  182. package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +161 -161
  183. package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +16 -16
  184. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.ts +28 -28
  185. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.ts +21 -21
  186. package/src/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.ts +8 -8
  187. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.ts +22 -22
  188. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.ts +25 -25
  189. package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +20 -20
  190. package/src/_modules/ai/_modules/google-ai/index.ts +14 -14
  191. package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +59 -59
  192. package/src/_modules/ai/_modules/local-ai/_enums/lai-model.enum.ts +6 -6
  193. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.ts +28 -28
  194. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.ts +18 -18
  195. package/src/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.ts +9 -9
  196. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.ts +22 -22
  197. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.ts +23 -23
  198. package/src/_modules/ai/_modules/local-ai/index.ts +14 -14
  199. package/src/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.ts +7 -7
  200. package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +404 -404
  201. package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +179 -179
  202. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.ts +28 -28
  203. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.ts +21 -21
  204. package/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts +81 -81
  205. package/src/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.ts +13 -13
  206. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.ts +22 -22
  207. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts +25 -25
  208. package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +21 -21
  209. package/src/_modules/ai/_modules/open-ai/index.ts +28 -28
  210. package/src/_modules/ai/index.ts +27 -27
  211. package/src/_modules/ci-tools/_enums/cit-ci-result-code.enum.ts +11 -11
  212. package/src/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.ts +9 -9
  213. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.ts +58 -58
  214. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.ts +77 -77
  215. package/src/_modules/ci-tools/_models/cit-ci-step-result.interface.ts +12 -12
  216. package/src/_modules/ci-tools/index.ts +8 -8
  217. package/src/_modules/crypto/_collections/crypto.util.simple.spec.ts +512 -512
  218. package/src/_modules/crypto/index.ts +13 -13
  219. package/src/_modules/custom-data/_collections/cud-module-settings.const.ts +21 -21
  220. package/src/_modules/custom-data/_models/cud.data-model.spec.ts +38 -38
  221. package/src/_modules/custom-data/_models/cud.data-model.ts +39 -39
  222. package/src/_modules/custom-data/index.ts +10 -10
  223. package/src/_modules/data-handler/_models/data-handler-settings.control-model.spec.ts +110 -110
  224. package/src/_modules/data-handler/_models/data-handler-settings.control-model.ts +110 -110
  225. package/src/_modules/data-handler/_models/data-handler.control-model.spec.ts +473 -473
  226. package/src/_modules/data-handler/_models/data-handler.control-model.ts +486 -486
  227. package/src/_modules/data-handler/_models/data-list-handler.control-model.spec.ts +263 -263
  228. package/src/_modules/data-handler/_models/data-list-handler.control-model.ts +252 -252
  229. package/src/_modules/data-handler/_models/data-search-handler.control-model.spec.ts +417 -417
  230. package/src/_modules/data-handler/_models/data-search-handler.control-model.ts +390 -390
  231. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.ts +374 -374
  232. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.ts +274 -274
  233. package/src/_modules/data-handler/index.ts +6 -6
  234. package/src/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -3239
  235. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19035 -19035
  236. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166.json +4993 -4993
  237. package/src/_modules/location/_collections/assets/country-phone-codes.json +1203 -1203
  238. package/src/_modules/location/_collections/assets/country-subdivisions/afghanistan.json +137 -137
  239. package/src/_modules/location/_collections/assets/country-subdivisions/albania.json +49 -49
  240. package/src/_modules/location/_collections/assets/country-subdivisions/algeria.json +193 -193
  241. package/src/_modules/location/_collections/assets/country-subdivisions/andorra.json +29 -29
  242. package/src/_modules/location/_collections/assets/country-subdivisions/angola.json +73 -73
  243. package/src/_modules/location/_collections/assets/country-subdivisions/antigua-and-barbuda.json +33 -33
  244. package/src/_modules/location/_collections/assets/country-subdivisions/argentina.json +97 -97
  245. package/src/_modules/location/_collections/assets/country-subdivisions/armenia.json +45 -45
  246. package/src/_modules/location/_collections/assets/country-subdivisions/australia.json +33 -33
  247. package/src/_modules/location/_collections/assets/country-subdivisions/austria.json +37 -37
  248. package/src/_modules/location/_collections/assets/country-subdivisions/azerbaijan.json +5 -5
  249. package/src/_modules/location/_collections/assets/country-subdivisions/bahamas.json +125 -125
  250. package/src/_modules/location/_collections/assets/country-subdivisions/bahrain.json +21 -21
  251. package/src/_modules/location/_collections/assets/country-subdivisions/bangladesh.json +29 -29
  252. package/src/_modules/location/_collections/assets/country-subdivisions/barbados.json +45 -45
  253. package/src/_modules/location/_collections/assets/country-subdivisions/belarus.json +29 -29
  254. package/src/_modules/location/_collections/assets/country-subdivisions/belgium.json +13 -13
  255. package/src/_modules/location/_collections/assets/country-subdivisions/belize.json +25 -25
  256. package/src/_modules/location/_collections/assets/country-subdivisions/benin.json +49 -49
  257. package/src/_modules/location/_collections/assets/country-subdivisions/bhutan.json +81 -81
  258. package/src/_modules/location/_collections/assets/country-subdivisions/bolivia.json +37 -37
  259. package/src/_modules/location/_collections/assets/country-subdivisions/bosnia-and-herzegovina.json +13 -13
  260. package/src/_modules/location/_collections/assets/country-subdivisions/botswana.json +65 -65
  261. package/src/_modules/location/_collections/assets/country-subdivisions/brazil.json +109 -109
  262. package/src/_modules/location/_collections/assets/country-subdivisions/brunei-darussalam.json +17 -17
  263. package/src/_modules/location/_collections/assets/country-subdivisions/bulgaria.json +113 -113
  264. package/src/_modules/location/_collections/assets/country-subdivisions/burkina-faso.json +53 -53
  265. package/src/_modules/location/_collections/assets/country-subdivisions/burundi.json +69 -69
  266. package/src/_modules/location/_collections/assets/country-subdivisions/cambodia.json +97 -97
  267. package/src/_modules/location/_collections/assets/country-subdivisions/cameroon.json +41 -41
  268. package/src/_modules/location/_collections/assets/country-subdivisions/canada.json +79 -79
  269. package/src/_modules/location/_collections/assets/country-subdivisions/cape-verde.json +9 -9
  270. package/src/_modules/location/_collections/assets/country-subdivisions/central-african-republic.json +69 -69
  271. package/src/_modules/location/_collections/assets/country-subdivisions/chad.json +89 -89
  272. package/src/_modules/location/_collections/assets/country-subdivisions/chile.json +61 -61
  273. package/src/_modules/location/_collections/assets/country-subdivisions/china.json +205 -205
  274. package/src/_modules/location/_collections/assets/country-subdivisions/colombia.json +133 -133
  275. package/src/_modules/location/_collections/assets/country-subdivisions/comoros.json +13 -13
  276. package/src/_modules/location/_collections/assets/country-subdivisions/congo-the-democratic-republic-of-the.json +45 -45
  277. package/src/_modules/location/_collections/assets/country-subdivisions/congo.json +49 -49
  278. package/src/_modules/location/_collections/assets/country-subdivisions/costa-rica.json +29 -29
  279. package/src/_modules/location/_collections/assets/country-subdivisions/cote-d-ivoire-republic-of.json +77 -77
  280. package/src/_modules/location/_collections/assets/country-subdivisions/croatia.json +85 -85
  281. package/src/_modules/location/_collections/assets/country-subdivisions/cuba.json +65 -65
  282. package/src/_modules/location/_collections/assets/country-subdivisions/cyprus.json +25 -25
  283. package/src/_modules/location/_collections/assets/country-subdivisions/czech-republic.json +57 -57
  284. package/src/_modules/location/_collections/assets/country-subdivisions/denmark.json +21 -21
  285. package/src/_modules/location/_collections/assets/country-subdivisions/djibouti.json +25 -25
  286. package/src/_modules/location/_collections/assets/country-subdivisions/dominica.json +41 -41
  287. package/src/_modules/location/_collections/assets/country-subdivisions/dominican-republic.json +41 -41
  288. package/src/_modules/location/_collections/assets/country-subdivisions/ecuador.json +97 -97
  289. package/src/_modules/location/_collections/assets/country-subdivisions/egypt.json +117 -117
  290. package/src/_modules/location/_collections/assets/country-subdivisions/el-salvador.json +57 -57
  291. package/src/_modules/location/_collections/assets/country-subdivisions/equatorial-guinea.json +9 -9
  292. package/src/_modules/location/_collections/assets/country-subdivisions/eritrea.json +25 -25
  293. package/src/_modules/location/_collections/assets/country-subdivisions/estonia.json +61 -61
  294. package/src/_modules/location/_collections/assets/country-subdivisions/ethiopia.json +45 -45
  295. package/src/_modules/location/_collections/assets/country-subdivisions/fiji.json +21 -21
  296. package/src/_modules/location/_collections/assets/country-subdivisions/finland.json +77 -77
  297. package/src/_modules/location/_collections/assets/country-subdivisions/france.json +133 -133
  298. package/src/_modules/location/_collections/assets/country-subdivisions/gabon.json +37 -37
  299. package/src/_modules/location/_collections/assets/country-subdivisions/gambia.json +25 -25
  300. package/src/_modules/location/_collections/assets/country-subdivisions/georgia.json +49 -49
  301. package/src/_modules/location/_collections/assets/country-subdivisions/germany.json +65 -65
  302. package/src/_modules/location/_collections/assets/country-subdivisions/ghana.json +41 -41
  303. package/src/_modules/location/_collections/assets/country-subdivisions/greece.json +53 -53
  304. package/src/_modules/location/_collections/assets/country-subdivisions/greenland.json +17 -17
  305. package/src/_modules/location/_collections/assets/country-subdivisions/grenada.json +29 -29
  306. package/src/_modules/location/_collections/assets/country-subdivisions/guatemala.json +89 -89
  307. package/src/_modules/location/_collections/assets/country-subdivisions/guinea-bissau.json +13 -13
  308. package/src/_modules/location/_collections/assets/country-subdivisions/guinea.json +33 -33
  309. package/src/_modules/location/_collections/assets/country-subdivisions/guyana.json +41 -41
  310. package/src/_modules/location/_collections/assets/country-subdivisions/haiti.json +41 -41
  311. package/src/_modules/location/_collections/assets/country-subdivisions/honduras.json +73 -73
  312. package/src/_modules/location/_collections/assets/country-subdivisions/hong-kong.json +4 -4
  313. package/src/_modules/location/_collections/assets/country-subdivisions/hungary.json +173 -173
  314. package/src/_modules/location/_collections/assets/country-subdivisions/iceland.json +37 -37
  315. package/src/_modules/location/_collections/assets/country-subdivisions/india.json +181 -181
  316. package/src/_modules/location/_collections/assets/country-subdivisions/indonesia.json +29 -29
  317. package/src/_modules/location/_collections/assets/country-subdivisions/iran-islamic-republic-of.json +125 -125
  318. package/src/_modules/location/_collections/assets/country-subdivisions/iraq.json +73 -73
  319. package/src/_modules/location/_collections/assets/country-subdivisions/ireland.json +17 -17
  320. package/src/_modules/location/_collections/assets/country-subdivisions/israel.json +25 -25
  321. package/src/_modules/location/_collections/assets/country-subdivisions/italy.json +81 -81
  322. package/src/_modules/location/_collections/assets/country-subdivisions/jamaica.json +57 -57
  323. package/src/_modules/location/_collections/assets/country-subdivisions/japan.json +189 -189
  324. package/src/_modules/location/_collections/assets/country-subdivisions/jordan.json +49 -49
  325. package/src/_modules/location/_collections/assets/country-subdivisions/kazakhstan.json +65 -65
  326. package/src/_modules/location/_collections/assets/country-subdivisions/kenya.json +33 -33
  327. package/src/_modules/location/_collections/assets/country-subdivisions/kiribati.json +13 -13
  328. package/src/_modules/location/_collections/assets/country-subdivisions/korea-democratic-people-s-republic-of.json +45 -45
  329. package/src/_modules/location/_collections/assets/country-subdivisions/korea-republic-of.json +69 -69
  330. package/src/_modules/location/_collections/assets/country-subdivisions/kuwait.json +25 -25
  331. package/src/_modules/location/_collections/assets/country-subdivisions/kyrgyzstan.json +33 -33
  332. package/src/_modules/location/_collections/assets/country-subdivisions/lao-people-s-democratic-republic.json +73 -73
  333. package/src/_modules/location/_collections/assets/country-subdivisions/latvia.json +477 -477
  334. package/src/_modules/location/_collections/assets/country-subdivisions/lebanon.json +33 -33
  335. package/src/_modules/location/_collections/assets/country-subdivisions/lesotho.json +41 -41
  336. package/src/_modules/location/_collections/assets/country-subdivisions/liberia.json +61 -61
  337. package/src/_modules/location/_collections/assets/country-subdivisions/libyan-arab-jamahiriya.json +89 -89
  338. package/src/_modules/location/_collections/assets/country-subdivisions/liechtenstein.json +45 -45
  339. package/src/_modules/location/_collections/assets/country-subdivisions/lithuania.json +41 -41
  340. package/src/_modules/location/_collections/assets/country-subdivisions/luxembourg.json +13 -13
  341. package/src/_modules/location/_collections/assets/country-subdivisions/macedonia-the-former-yugoslav-republic-of.json +337 -337
  342. package/src/_modules/location/_collections/assets/country-subdivisions/madagascar.json +25 -25
  343. package/src/_modules/location/_collections/assets/country-subdivisions/malawi.json +13 -13
  344. package/src/_modules/location/_collections/assets/country-subdivisions/malaysia.json +81 -81
  345. package/src/_modules/location/_collections/assets/country-subdivisions/maldives.json +33 -33
  346. package/src/_modules/location/_collections/assets/country-subdivisions/mali.json +37 -37
  347. package/src/_modules/location/_collections/assets/country-subdivisions/malta.json +273 -273
  348. package/src/_modules/location/_collections/assets/country-subdivisions/marshall-islands.json +9 -9
  349. package/src/_modules/location/_collections/assets/country-subdivisions/mauritania.json +53 -53
  350. package/src/_modules/location/_collections/assets/country-subdivisions/mauritius.json +69 -69
  351. package/src/_modules/location/_collections/assets/country-subdivisions/mexico.json +161 -161
  352. package/src/_modules/location/_collections/assets/country-subdivisions/micronesia-federated-states-of.json +17 -17
  353. package/src/_modules/location/_collections/assets/country-subdivisions/moldova-republic-of.json +149 -149
  354. package/src/_modules/location/_collections/assets/country-subdivisions/monaco.json +69 -69
  355. package/src/_modules/location/_collections/assets/country-subdivisions/mongolia.json +89 -89
  356. package/src/_modules/location/_collections/assets/country-subdivisions/montenegro.json +93 -93
  357. package/src/_modules/location/_collections/assets/country-subdivisions/morocco.json +65 -65
  358. package/src/_modules/location/_collections/assets/country-subdivisions/mozambique.json +45 -45
  359. package/src/_modules/location/_collections/assets/country-subdivisions/myanmar.json +57 -57
  360. package/src/_modules/location/_collections/assets/country-subdivisions/namibia.json +57 -57
  361. package/src/_modules/location/_collections/assets/country-subdivisions/nauru.json +57 -57
  362. package/src/_modules/location/_collections/assets/country-subdivisions/nepal.json +21 -21
  363. package/src/_modules/location/_collections/assets/country-subdivisions/netherlands.json +91 -91
  364. package/src/_modules/location/_collections/assets/country-subdivisions/new-zealand.json +111 -111
  365. package/src/_modules/location/_collections/assets/country-subdivisions/nicaragua.json +69 -69
  366. package/src/_modules/location/_collections/assets/country-subdivisions/niger.json +33 -33
  367. package/src/_modules/location/_collections/assets/country-subdivisions/nigeria.json +149 -149
  368. package/src/_modules/location/_collections/assets/country-subdivisions/norway.json +85 -85
  369. package/src/_modules/location/_collections/assets/country-subdivisions/oman.json +37 -37
  370. package/src/_modules/location/_collections/assets/country-subdivisions/pakistan.json +33 -33
  371. package/src/_modules/location/_collections/assets/country-subdivisions/palau.json +65 -65
  372. package/src/_modules/location/_collections/assets/country-subdivisions/palestinian-territory-occupied.json +65 -65
  373. package/src/_modules/location/_collections/assets/country-subdivisions/panama.json +53 -53
  374. package/src/_modules/location/_collections/assets/country-subdivisions/papua-new-guinea.json +81 -81
  375. package/src/_modules/location/_collections/assets/country-subdivisions/paraguay.json +73 -73
  376. package/src/_modules/location/_collections/assets/country-subdivisions/peru.json +105 -105
  377. package/src/_modules/location/_collections/assets/country-subdivisions/philippines.json +69 -69
  378. package/src/_modules/location/_collections/assets/country-subdivisions/poland.json +65 -65
  379. package/src/_modules/location/_collections/assets/country-subdivisions/portugal.json +81 -81
  380. package/src/_modules/location/_collections/assets/country-subdivisions/qatar.json +29 -29
  381. package/src/_modules/location/_collections/assets/country-subdivisions/romania.json +169 -169
  382. package/src/_modules/location/_collections/assets/country-subdivisions/russian-federation.json +499 -499
  383. package/src/_modules/location/_collections/assets/country-subdivisions/rwanda.json +21 -21
  384. package/src/_modules/location/_collections/assets/country-subdivisions/saint-helena-ascension-and-tristan-da-cunha.json +13 -13
  385. package/src/_modules/location/_collections/assets/country-subdivisions/saint-kitts-and-nevis.json +9 -9
  386. package/src/_modules/location/_collections/assets/country-subdivisions/saint-lucia.json +45 -45
  387. package/src/_modules/location/_collections/assets/country-subdivisions/saint-vincent-and-the-grenadines.json +25 -25
  388. package/src/_modules/location/_collections/assets/country-subdivisions/samoa.json +45 -45
  389. package/src/_modules/location/_collections/assets/country-subdivisions/san-marino.json +37 -37
  390. package/src/_modules/location/_collections/assets/country-subdivisions/sao-tome-and-principe.json +9 -9
  391. package/src/_modules/location/_collections/assets/country-subdivisions/saudi-arabia.json +53 -53
  392. package/src/_modules/location/_collections/assets/country-subdivisions/senegal.json +57 -57
  393. package/src/_modules/location/_collections/assets/country-subdivisions/serbia.json +9 -9
  394. package/src/_modules/location/_collections/assets/country-subdivisions/seychelles.json +101 -101
  395. package/src/_modules/location/_collections/assets/country-subdivisions/sierra-leone.json +17 -17
  396. package/src/_modules/location/_collections/assets/country-subdivisions/singapore.json +21 -21
  397. package/src/_modules/location/_collections/assets/country-subdivisions/slovakia.json +33 -33
  398. package/src/_modules/location/_collections/assets/country-subdivisions/slovenia.json +841 -841
  399. package/src/_modules/location/_collections/assets/country-subdivisions/solomon-islands.json +41 -41
  400. package/src/_modules/location/_collections/assets/country-subdivisions/somalia.json +73 -73
  401. package/src/_modules/location/_collections/assets/country-subdivisions/south-africa.json +37 -37
  402. package/src/_modules/location/_collections/assets/country-subdivisions/south-sudan.json +41 -41
  403. package/src/_modules/location/_collections/assets/country-subdivisions/spain.json +346 -346
  404. package/src/_modules/location/_collections/assets/country-subdivisions/sri-lanka.json +37 -37
  405. package/src/_modules/location/_collections/assets/country-subdivisions/sudan.json +69 -69
  406. package/src/_modules/location/_collections/assets/country-subdivisions/suriname.json +41 -41
  407. package/src/_modules/location/_collections/assets/country-subdivisions/swaziland.json +17 -17
  408. package/src/_modules/location/_collections/assets/country-subdivisions/sweden.json +85 -85
  409. package/src/_modules/location/_collections/assets/country-subdivisions/switzerland.json +105 -105
  410. package/src/_modules/location/_collections/assets/country-subdivisions/syrian-arab-republic.json +57 -57
  411. package/src/_modules/location/_collections/assets/country-subdivisions/taiwan-province-of-china.json +93 -93
  412. package/src/_modules/location/_collections/assets/country-subdivisions/tajikistan.json +17 -17
  413. package/src/_modules/location/_collections/assets/country-subdivisions/tanzania-united-republic-of.json +105 -105
  414. package/src/_modules/location/_collections/assets/country-subdivisions/thailand.json +313 -313
  415. package/src/_modules/location/_collections/assets/country-subdivisions/timor-leste.json +53 -53
  416. package/src/_modules/location/_collections/assets/country-subdivisions/togo.json +21 -21
  417. package/src/_modules/location/_collections/assets/country-subdivisions/tonga.json +21 -21
  418. package/src/_modules/location/_collections/assets/country-subdivisions/trinidad-and-tobago.json +65 -65
  419. package/src/_modules/location/_collections/assets/country-subdivisions/tunisia.json +97 -97
  420. package/src/_modules/location/_collections/assets/country-subdivisions/turkey.json +325 -325
  421. package/src/_modules/location/_collections/assets/country-subdivisions/turkmenistan.json +25 -25
  422. package/src/_modules/location/_collections/assets/country-subdivisions/tuvalu.json +33 -33
  423. package/src/_modules/location/_collections/assets/country-subdivisions/uganda.json +17 -17
  424. package/src/_modules/location/_collections/assets/country-subdivisions/ukraine.json +109 -109
  425. package/src/_modules/location/_collections/assets/country-subdivisions/united-arab-emirates.json +29 -29
  426. package/src/_modules/location/_collections/assets/country-subdivisions/united-kingdom.json +1196 -1196
  427. package/src/_modules/location/_collections/assets/country-subdivisions/united-states-minor-outlying-islands.json +37 -37
  428. package/src/_modules/location/_collections/assets/country-subdivisions/united-states.json +286 -286
  429. package/src/_modules/location/_collections/assets/country-subdivisions/uruguay.json +77 -77
  430. package/src/_modules/location/_collections/assets/country-subdivisions/uzbekistan.json +57 -57
  431. package/src/_modules/location/_collections/assets/country-subdivisions/vanuatu.json +25 -25
  432. package/src/_modules/location/_collections/assets/country-subdivisions/venezuela.json +101 -101
  433. package/src/_modules/location/_collections/assets/country-subdivisions/viet-nam.json +257 -257
  434. package/src/_modules/location/_collections/assets/country-subdivisions/yemen.json +85 -85
  435. package/src/_modules/location/_collections/assets/country-subdivisions/zambia.json +37 -37
  436. package/src/_modules/location/_collections/assets/country-subdivisions/zimbabwe.json +41 -41
  437. package/src/_modules/location/_collections/loc-country-divisions.const.ts +10 -10
  438. package/src/_modules/location/_collections/loc-country-isos.const.ts +8 -8
  439. package/src/_modules/location/_collections/loc-regions.util.spec.ts +61 -61
  440. package/src/_modules/location/_collections/loc-regions.util.ts +137 -137
  441. package/src/_modules/location/_collections/loc.util.spec.ts +52 -52
  442. package/src/_modules/location/_collections/loc.util.ts +74 -74
  443. package/src/_modules/location/_enums/loc-region.enum.ts +14 -14
  444. package/src/_modules/location/_enums/loc-sub-region.enum.ts +31 -31
  445. package/src/_modules/location/_enums/loc-subdivision-region-type.enum.ts +47 -47
  446. package/src/_modules/location/_models/loc-coordinates.interface.ts +7 -7
  447. package/src/_modules/location/_models/loc-country-division.interface.ts +8 -8
  448. package/src/_modules/location/_models/loc-country-iso.interface.ts +23 -23
  449. package/src/_modules/location/_models/loc-country-phone-code.interface.ts +9 -9
  450. package/src/_modules/location/_models/loc-division-collection.interface.ts +12 -12
  451. package/src/_modules/location/_models/loc-division-region-data.interface.ts +9 -9
  452. package/src/_modules/location/_models/loc-geo-ip-location.interface.ts +27 -27
  453. package/src/_modules/location/index.ts +22 -22
  454. package/src/_modules/messaging/README.md +279 -279
  455. package/src/_modules/messaging/_collections/msg-module-settings.const.ts +46 -46
  456. package/src/_modules/messaging/_enums/msg-attachment-type.enum.ts +26 -26
  457. package/src/_modules/messaging/_enums/msg-delivery-status.enum.ts +17 -17
  458. package/src/_modules/messaging/_enums/msg-event-key.enum.ts +31 -31
  459. package/src/_modules/messaging/_enums/msg-participant-role.enum.ts +20 -20
  460. package/src/_modules/messaging/_enums/msg-provider-type.enum.ts +7 -7
  461. package/src/_modules/messaging/_enums/msg-type.enum.ts +23 -23
  462. package/src/_modules/messaging/_models/msg-attachment.interface.ts +46 -46
  463. package/src/_modules/messaging/_models/msg-conversation.data-model.spec.ts +69 -69
  464. package/src/_modules/messaging/_models/msg-conversation.data-model.ts +96 -96
  465. package/src/_modules/messaging/_models/msg-mention.interface.ts +29 -29
  466. package/src/_modules/messaging/_models/msg-message.data-model.spec.ts +79 -79
  467. package/src/_modules/messaging/_models/msg-message.data-model.ts +127 -127
  468. package/src/_modules/messaging/_models/msg-participant.interface.ts +46 -46
  469. package/src/_modules/messaging/_models/msg-reaction.interface.ts +20 -20
  470. package/src/_modules/messaging/_models/msg-thread-info.interface.ts +35 -35
  471. package/src/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.ts +35 -35
  472. package/src/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.ts +23 -23
  473. package/src/_modules/messaging/_modules/agent/_models/agt-process-step.interface.ts +55 -55
  474. package/src/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.ts +26 -26
  475. package/src/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.ts +37 -37
  476. package/src/_modules/messaging/_modules/agent/index.ts +8 -8
  477. package/src/_modules/messaging/index.ts +28 -28
  478. package/src/_modules/pipe/_collections/pip-transforms.const.ts +42 -42
  479. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.ts +47 -47
  480. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.ts +41 -41
  481. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.ts +39 -39
  482. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.ts +30 -30
  483. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.ts +41 -41
  484. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.ts +36 -36
  485. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.ts +62 -62
  486. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.ts +17 -17
  487. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.ts +34 -34
  488. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.ts +25 -25
  489. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.ts +67 -67
  490. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts +226 -226
  491. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.ts +28 -28
  492. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.ts +21 -21
  493. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.ts +59 -59
  494. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts +106 -106
  495. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.ts +31 -31
  496. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.ts +35 -35
  497. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.ts +44 -44
  498. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.ts +23 -23
  499. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.ts +21 -21
  500. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.ts +33 -33
  501. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +62 -62
  502. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +80 -80
  503. package/src/_modules/pipe/_enums/pip-range-pipe-setting.enum.ts +15 -15
  504. package/src/_modules/pipe/_enums/pip.enum.ts +65 -65
  505. package/src/_modules/pipe/_models/pip-multi-pipe-settings.type.ts +8 -8
  506. package/src/_modules/pipe/_models/pip-transforms.interface.ts +30 -30
  507. package/src/_modules/pipe/index.ts +30 -30
  508. package/src/_modules/socket/_enums/sck-event-key.enum.ts +21 -21
  509. package/src/_modules/socket/_models/sck-client-params.control-model.spec.ts +67 -67
  510. package/src/_modules/socket/_models/sck-client-params.control-model.ts +50 -50
  511. package/src/_modules/socket/_models/sck-socket-event.control-model.spec.ts +66 -66
  512. package/src/_modules/socket/_models/sck-socket-event.control-model.ts +172 -172
  513. package/src/_modules/socket/_services/sck-client.service-base.spec.ts +99 -99
  514. package/src/_modules/socket/_services/sck-client.service-base.ts +353 -353
  515. package/src/_modules/socket/index.ts +14 -14
  516. package/src/_modules/test/_collections/tst-module-settings.const.ts +67 -67
  517. package/src/_modules/test/index.ts +5 -5
  518. package/src/_modules/usage/_collections/usg-module-settings.const.ts +33 -33
  519. package/src/_modules/usage/_models/usg-action.control-model.spec.ts +27 -27
  520. package/src/_modules/usage/_models/usg-action.control-model.ts +28 -28
  521. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.spec.ts +36 -36
  522. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.ts +35 -35
  523. package/src/_modules/usage/_models/usg-data.control-model.spec.ts +41 -41
  524. package/src/_modules/usage/_models/usg-data.control-model.ts +35 -35
  525. package/src/_modules/usage/_models/usg-session.data-model.spec.ts +97 -97
  526. package/src/_modules/usage/_models/usg-session.data-model.ts +72 -72
  527. package/src/_modules/usage/index.ts +11 -11
  528. package/src/index.ts +104 -104
  529. package/tsconfig.app.json +12 -12
  530. package/tsconfig.json +31 -31
  531. package/tsconfig.test.json +16 -16
  532. package/tslint.json +153 -153
@@ -1,380 +1,380 @@
1
- /**
2
- * Crypto Stress Test - Valódi Világ Szimuláció
3
- * Teszteli a legkülönbözőbb edge case-eket és hosszú távú stabilitást
4
- */
5
-
6
- const { DyFM_Crypto } = require('../../build/_modules/crypto/index.js');
7
- const crypto = require('crypto');
8
-
9
- console.log('🔥 Crypto Stress Test - Valódi Világ Szimuláció\n');
10
-
11
- // Test 1: Különböző adattípusok és méretek
12
- console.log('1️⃣ Adattípus és Méret Stress Test:');
13
- const dataTypes = [
14
- // Primitív típusok
15
- 'simple string',
16
- 42,
17
- true,
18
- null,
19
-
20
- // Komplex objektumok
21
- { id: 1, name: 'test' },
22
- [1, 2, 3, 'array'],
23
- { nested: { deep: { value: true } } },
24
-
25
- // Nagy adatok
26
- { data: 'x'.repeat(10000) }, // 10KB string
27
- { array: Array.from({length: 1000}, (_, i) => i) }, // 1000 elemű tömb
28
-
29
- // Különleges karakterek
30
- { hungarian: 'árvíztűrő tükörfúrógép' },
31
- { chinese: '你好世界' },
32
- { emoji: '🚀💻🔒🎯' },
33
- { special: '!@#$%^&*()_+-=[]{}|;:,.<>?' },
34
-
35
- // Edge case-ek
36
- { empty: {} },
37
- { nulls: { a: null, b: null, c: null } },
38
- { mixed: [null, '', 0, false, 'string', 123, true] } // Removed undefined as it gets filtered out
39
- ];
40
-
41
- const testKey = 'stress-test-key-123';
42
- let allDataTypesPassed = true;
43
-
44
- dataTypes.forEach((data, index) => {
45
- try {
46
- console.log(` Testing ${index + 1}: ${typeof data} - ${JSON.stringify(data).substring(0, 50)}...`);
47
- const encrypted = DyFM_Crypto.encrypt(data, testKey);
48
- const decrypted = DyFM_Crypto.decrypt(encrypted, testKey);
49
-
50
- // JSON.stringify összehasonlítás (null/undefined kezelés miatt)
51
- const originalStr = JSON.stringify(data);
52
- const decryptedStr = JSON.stringify(decrypted);
53
-
54
- if (originalStr !== decryptedStr) {
55
- console.log(` ❌ Test ${index + 1} failed: ${typeof data}`);
56
- console.log(` Original: ${originalStr.substring(0, 100)}...`);
57
- console.log(` Decrypted: ${decryptedStr.substring(0, 100)}...`);
58
- allDataTypesPassed = false;
59
- } else {
60
- console.log(` ✅ Test ${index + 1} passed: ${typeof data}`);
61
- }
62
- } catch (error) {
63
- console.log(` ❌ Test ${index + 1} crashed: ${typeof data} - ${error.message}`);
64
- console.log(` Data: ${JSON.stringify(data).substring(0, 100)}...`);
65
- allDataTypesPassed = false;
66
- }
67
- });
68
-
69
- console.log(` Adattípusok teszt: ${allDataTypesPassed ? '✅ PASS' : '❌ FAIL'}`);
70
-
71
- // Test 2: Hosszú távú stabilitás szimuláció
72
- console.log('\n2️⃣ Hosszú Távú Stabilitás Szimuláció:');
73
- const longTermData = { id: 1, name: 'long-term-test', timestamp: new Date().toISOString() };
74
- const longTermKey = 'long-term-key-123';
75
-
76
- // 10,000 iteráció (valós életben ez évek lehet)
77
- const iterations = 10000;
78
- let longTermPassed = true;
79
- let lastEncrypted = null;
80
-
81
- console.log(` Futtatás ${iterations.toLocaleString()} iteráció...`);
82
-
83
- for (let i = 0; i < iterations; i++) {
84
- try {
85
- const encrypted = DyFM_Crypto.encrypt(longTermData, longTermKey);
86
- const decrypted = DyFM_Crypto.decrypt(encrypted, longTermKey);
87
-
88
- // Ellenőrizzük, hogy mindig ugyanazt kapjuk-e
89
- if (lastEncrypted && lastEncrypted !== encrypted) {
90
- console.log(` ❌ Inkonzisztens eredmény iteráció ${i + 1}-nél`);
91
- longTermPassed = false;
92
- break;
93
- }
94
-
95
- // Ellenőrizzük, hogy helyesen dekódolódik-e
96
- if (JSON.stringify(decrypted) !== JSON.stringify(longTermData)) {
97
- console.log(` ❌ Dekódolási hiba iteráció ${i + 1}-nél`);
98
- longTermPassed = false;
99
- break;
100
- }
101
-
102
- lastEncrypted = encrypted;
103
-
104
- // Progress jelzés
105
- if ((i + 1) % 1000 === 0) {
106
- process.stdout.write(` ${i + 1}/${iterations} ✅\r`);
107
- }
108
- } catch (error) {
109
- console.log(`\n ❌ Hiba iteráció ${i + 1}-nél: ${error.message}`);
110
- longTermPassed = false;
111
- break;
112
- }
113
- }
114
-
115
- console.log(`\n Hosszú távú stabilitás: ${longTermPassed ? '✅ PASS' : '❌ FAIL'}`);
116
-
117
- // Test 3: Adatbázis szimuláció
118
- console.log('\n3️⃣ Adatbázis Szimuláció:');
119
- const dbScenarios = [
120
- // MongoDB dokumentum
121
- {
122
- _id: '507f1f77bcf86cd799439011',
123
- username: 'testuser',
124
- email: 'test@example.com',
125
- profile: {
126
- firstName: 'John',
127
- lastName: 'Doe',
128
- age: 30,
129
- preferences: {
130
- theme: 'dark',
131
- language: 'hu',
132
- notifications: true
133
- }
134
- },
135
- createdAt: new Date().toISOString(),
136
- updatedAt: new Date().toISOString(),
137
- __v: 0
138
- },
139
-
140
- // PostgreSQL rekord
141
- {
142
- id: 1,
143
- name: 'test_record',
144
- description: 'This is a test record with special chars: áéíóöőúüű',
145
- metadata: {
146
- tags: ['test', 'demo', 'crypto'],
147
- flags: [true, false, true],
148
- numbers: [1, 2, 3, 4, 5]
149
- },
150
- created_at: '2024-01-01T00:00:00.000Z',
151
- updated_at: '2024-12-31T23:59:59.999Z'
152
- },
153
-
154
- // MySQL rekord
155
- {
156
- user_id: 12345,
157
- username: 'mysql_user',
158
- password_hash: 'hashed_password_123',
159
- email: 'mysql@example.com',
160
- is_active: 1,
161
- last_login: '2024-12-31 23:59:59',
162
- settings: JSON.stringify({
163
- timezone: 'Europe/Budapest',
164
- currency: 'HUF',
165
- date_format: 'YYYY-MM-DD'
166
- })
167
- }
168
- ];
169
-
170
- let dbTestPassed = true;
171
- dbScenarios.forEach((scenario, index) => {
172
- try {
173
- const encrypted = DyFM_Crypto.encrypt(scenario, testKey);
174
- const decrypted = DyFM_Crypto.decrypt(encrypted, testKey);
175
-
176
- // Részletes összehasonlítás
177
- const originalStr = JSON.stringify(scenario);
178
- const decryptedStr = JSON.stringify(decrypted);
179
-
180
- if (originalStr !== decryptedStr) {
181
- console.log(` ❌ DB scenario ${index + 1} failed`);
182
- console.log(` Original keys: ${Object.keys(scenario).join(', ')}`);
183
- console.log(` Decrypted keys: ${Object.keys(decrypted).join(', ')}`);
184
- dbTestPassed = false;
185
- }
186
- } catch (error) {
187
- console.log(` ❌ DB scenario ${index + 1} crashed: ${error.message}`);
188
- dbTestPassed = false;
189
- }
190
- });
191
-
192
- console.log(` Adatbázis szimuláció: ${dbTestPassed ? '✅ PASS' : '❌ FAIL'}`);
193
-
194
- // Test 4: Hálózati kommunikáció szimuláció
195
- console.log('\n4️⃣ Hálózati Kommunikáció Szimuláció:');
196
- const networkScenarios = [
197
- // HTTP Header
198
- {
199
- type: 'http_header',
200
- data: {
201
- 'Authorization': 'Bearer token123',
202
- 'X-User-ID': 'user_456',
203
- 'X-Session-ID': 'session_789',
204
- 'X-Request-ID': crypto.randomUUID(),
205
- 'X-Timestamp': new Date().toISOString()
206
- }
207
- },
208
-
209
- // WebSocket üzenet
210
- {
211
- type: 'websocket_message',
212
- data: {
213
- event: 'user_action',
214
- payload: {
215
- action: 'button_click',
216
- button_id: 'submit_form',
217
- timestamp: Date.now(),
218
- user_agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
219
- },
220
- metadata: {
221
- version: '1.0.0',
222
- source: 'web_client',
223
- correlation_id: crypto.randomUUID()
224
- }
225
- }
226
- },
227
-
228
- // API Response
229
- {
230
- type: 'api_response',
231
- data: {
232
- success: true,
233
- data: {
234
- users: [
235
- { id: 1, name: 'Alice', email: 'alice@example.com' },
236
- { id: 2, name: 'Bob', email: 'bob@example.com' },
237
- { id: 3, name: 'Charlie', email: 'charlie@example.com' }
238
- ],
239
- pagination: {
240
- page: 1,
241
- limit: 10,
242
- total: 3,
243
- has_next: false
244
- }
245
- },
246
- timestamp: new Date().toISOString(),
247
- request_id: crypto.randomUUID()
248
- }
249
- }
250
- ];
251
-
252
- let networkTestPassed = true;
253
- networkScenarios.forEach((scenario, index) => {
254
- try {
255
- const encrypted = DyFM_Crypto.encrypt(scenario, testKey);
256
- const decrypted = DyFM_Crypto.decrypt(encrypted, testKey);
257
-
258
- const originalStr = JSON.stringify(scenario);
259
- const decryptedStr = JSON.stringify(decrypted);
260
-
261
- if (originalStr !== decryptedStr) {
262
- console.log(` ❌ Network scenario ${index + 1} failed: ${scenario.type}`);
263
- networkTestPassed = false;
264
- }
265
- } catch (error) {
266
- console.log(` ❌ Network scenario ${index + 1} crashed: ${error.message}`);
267
- networkTestPassed = false;
268
- }
269
- });
270
-
271
- console.log(` Hálózati kommunikáció: ${networkTestPassed ? '✅ PASS' : '❌ FAIL'}`);
272
-
273
- // Test 5: Különböző kulcsok és konfigurációk
274
- console.log('\n5️⃣ Különböző Kulcsok és Konfigurációk:');
275
- const keyScenarios = [
276
- { key: 'simple-key', config: undefined },
277
- { key: 'a'.repeat(100), config: undefined }, // 100 karakter hosszú
278
- { key: 'special-chars!@#$%^&*()', config: undefined },
279
- { key: 'unicode-ключ-世界', config: undefined },
280
- { key: 'normal-key', config: { keyIterations: 500, keySize: 6 } },
281
- { key: 'fast-key', config: { keyIterations: 100, keySize: 4 } },
282
- { key: 'secure-key', config: { keyIterations: 2000, keySize: 10 } }
283
- ];
284
-
285
- let keyTestPassed = true;
286
- const testData = { id: 1, name: 'key-test' };
287
-
288
- keyScenarios.forEach((scenario, index) => {
289
- try {
290
- const encrypted = DyFM_Crypto.encrypt(testData, scenario.key, scenario.config);
291
- const decrypted = DyFM_Crypto.decrypt(encrypted, scenario.key, scenario.config);
292
-
293
- if (JSON.stringify(decrypted) !== JSON.stringify(testData)) {
294
- console.log(` ❌ Key scenario ${index + 1} failed: ${scenario.key.substring(0, 20)}...`);
295
- keyTestPassed = false;
296
- }
297
- } catch (error) {
298
- console.log(` ❌ Key scenario ${index + 1} crashed: ${error.message}`);
299
- keyTestPassed = false;
300
- }
301
- });
302
-
303
- console.log(` Kulcs és konfiguráció teszt: ${keyTestPassed ? '✅ PASS' : '❌ FAIL'}`);
304
-
305
- // Test 6: Memória és teljesítmény stress test
306
- console.log('\n6️⃣ Memória és Teljesítmény Stress Test:');
307
- const memoryData = { id: 1, data: 'x'.repeat(1000) }; // 1KB adat
308
- const memoryKey = 'memory-test-key';
309
- const memoryIterations = 10000;
310
-
311
- console.log(` Futtatás ${memoryIterations.toLocaleString()} iteráció ${(memoryData.data.length / 1024).toFixed(1)}KB adattal...`);
312
-
313
- const startTime = Date.now();
314
- let memoryTestPassed = true;
315
- const encryptedResults = [];
316
-
317
- try {
318
- for (let i = 0; i < memoryIterations; i++) {
319
- const encrypted = DyFM_Crypto.encrypt(memoryData, memoryKey);
320
- encryptedResults.push(encrypted);
321
-
322
- // Minden 1000. iterációban ellenőrizzük a memóriát
323
- if ((i + 1) % 1000 === 0) {
324
- const decrypted = DyFM_Crypto.decrypt(encrypted, memoryKey);
325
- if (JSON.stringify(decrypted) !== JSON.stringify(memoryData)) {
326
- console.log(` ❌ Memória teszt hiba iteráció ${i + 1}-nél`);
327
- memoryTestPassed = false;
328
- break;
329
- }
330
- process.stdout.write(` ${i + 1}/${memoryIterations} ✅\r`);
331
- }
332
- }
333
- } catch (error) {
334
- console.log(`\n ❌ Memória teszt crash: ${error.message}`);
335
- memoryTestPassed = false;
336
- }
337
-
338
- const endTime = Date.now();
339
- const duration = endTime - startTime;
340
- const memoryUsage = process.memoryUsage();
341
-
342
- console.log(`\n Memória teszt: ${memoryTestPassed ? '✅ PASS' : '❌ FAIL'}`);
343
- console.log(` Időtartam: ${duration}ms`);
344
- console.log(` Memória használat: ${(memoryUsage.heapUsed / 1024 / 1024).toFixed(2)}MB`);
345
-
346
- // Összesítés
347
- console.log('\n🎯 STRESS TEST ÖSSZESÍTÉS:');
348
- console.log('========================');
349
-
350
- const allTests = [
351
- { name: 'Adattípusok', passed: allDataTypesPassed },
352
- { name: 'Hosszú távú stabilitás', passed: longTermPassed },
353
- { name: 'Adatbázis szimuláció', passed: dbTestPassed },
354
- { name: 'Hálózati kommunikáció', passed: networkTestPassed },
355
- { name: 'Kulcsok és konfigurációk', passed: keyTestPassed },
356
- { name: 'Memória és teljesítmény', passed: memoryTestPassed }
357
- ];
358
-
359
- const passedTests = allTests.filter(test => test.passed).length;
360
- const totalTests = allTests.length;
361
-
362
- allTests.forEach(test => {
363
- console.log(` ${test.passed ? '✅' : '❌'} ${test.name}`);
364
- });
365
-
366
- console.log(`\n📊 Eredmény: ${passedTests}/${totalTests} teszt sikeres`);
367
- console.log(` Sikeresség: ${((passedTests / totalTests) * 100).toFixed(1)}%`);
368
-
369
- if (passedTests === totalTests) {
370
- console.log('\n🎉 MINDEN TESZT SIKERES!');
371
- console.log(' A kriptográfiai implementáció valóban stabil és megbízható!');
372
- console.log(' Biztonságosan használható hosszú távon különböző rendszerek között.');
373
- } else {
374
- console.log('\n⚠️ FIGYELEM: Néhány teszt nem sikerült!');
375
- console.log(' A kriptográfiai implementáció további finomhangolásra szorul.');
376
- }
377
-
378
- // Memória tisztítás
379
- encryptedResults.length = 0;
1
+ /**
2
+ * Crypto Stress Test - Valódi Világ Szimuláció
3
+ * Teszteli a legkülönbözőbb edge case-eket és hosszú távú stabilitást
4
+ */
5
+
6
+ const { DyFM_Crypto } = require('../../build/_modules/crypto/index.js');
7
+ const crypto = require('crypto');
8
+
9
+ console.log('🔥 Crypto Stress Test - Valódi Világ Szimuláció\n');
10
+
11
+ // Test 1: Különböző adattípusok és méretek
12
+ console.log('1️⃣ Adattípus és Méret Stress Test:');
13
+ const dataTypes = [
14
+ // Primitív típusok
15
+ 'simple string',
16
+ 42,
17
+ true,
18
+ null,
19
+
20
+ // Komplex objektumok
21
+ { id: 1, name: 'test' },
22
+ [1, 2, 3, 'array'],
23
+ { nested: { deep: { value: true } } },
24
+
25
+ // Nagy adatok
26
+ { data: 'x'.repeat(10000) }, // 10KB string
27
+ { array: Array.from({length: 1000}, (_, i) => i) }, // 1000 elemű tömb
28
+
29
+ // Különleges karakterek
30
+ { hungarian: 'árvíztűrő tükörfúrógép' },
31
+ { chinese: '你好世界' },
32
+ { emoji: '🚀💻🔒🎯' },
33
+ { special: '!@#$%^&*()_+-=[]{}|;:,.<>?' },
34
+
35
+ // Edge case-ek
36
+ { empty: {} },
37
+ { nulls: { a: null, b: null, c: null } },
38
+ { mixed: [null, '', 0, false, 'string', 123, true] } // Removed undefined as it gets filtered out
39
+ ];
40
+
41
+ const testKey = 'stress-test-key-123';
42
+ let allDataTypesPassed = true;
43
+
44
+ dataTypes.forEach((data, index) => {
45
+ try {
46
+ console.log(` Testing ${index + 1}: ${typeof data} - ${JSON.stringify(data).substring(0, 50)}...`);
47
+ const encrypted = DyFM_Crypto.encrypt(data, testKey);
48
+ const decrypted = DyFM_Crypto.decrypt(encrypted, testKey);
49
+
50
+ // JSON.stringify összehasonlítás (null/undefined kezelés miatt)
51
+ const originalStr = JSON.stringify(data);
52
+ const decryptedStr = JSON.stringify(decrypted);
53
+
54
+ if (originalStr !== decryptedStr) {
55
+ console.log(` ❌ Test ${index + 1} failed: ${typeof data}`);
56
+ console.log(` Original: ${originalStr.substring(0, 100)}...`);
57
+ console.log(` Decrypted: ${decryptedStr.substring(0, 100)}...`);
58
+ allDataTypesPassed = false;
59
+ } else {
60
+ console.log(` ✅ Test ${index + 1} passed: ${typeof data}`);
61
+ }
62
+ } catch (error) {
63
+ console.log(` ❌ Test ${index + 1} crashed: ${typeof data} - ${error.message}`);
64
+ console.log(` Data: ${JSON.stringify(data).substring(0, 100)}...`);
65
+ allDataTypesPassed = false;
66
+ }
67
+ });
68
+
69
+ console.log(` Adattípusok teszt: ${allDataTypesPassed ? '✅ PASS' : '❌ FAIL'}`);
70
+
71
+ // Test 2: Hosszú távú stabilitás szimuláció
72
+ console.log('\n2️⃣ Hosszú Távú Stabilitás Szimuláció:');
73
+ const longTermData = { id: 1, name: 'long-term-test', timestamp: new Date().toISOString() };
74
+ const longTermKey = 'long-term-key-123';
75
+
76
+ // 10,000 iteráció (valós életben ez évek lehet)
77
+ const iterations = 10000;
78
+ let longTermPassed = true;
79
+ let lastEncrypted = null;
80
+
81
+ console.log(` Futtatás ${iterations.toLocaleString()} iteráció...`);
82
+
83
+ for (let i = 0; i < iterations; i++) {
84
+ try {
85
+ const encrypted = DyFM_Crypto.encrypt(longTermData, longTermKey);
86
+ const decrypted = DyFM_Crypto.decrypt(encrypted, longTermKey);
87
+
88
+ // Ellenőrizzük, hogy mindig ugyanazt kapjuk-e
89
+ if (lastEncrypted && lastEncrypted !== encrypted) {
90
+ console.log(` ❌ Inkonzisztens eredmény iteráció ${i + 1}-nél`);
91
+ longTermPassed = false;
92
+ break;
93
+ }
94
+
95
+ // Ellenőrizzük, hogy helyesen dekódolódik-e
96
+ if (JSON.stringify(decrypted) !== JSON.stringify(longTermData)) {
97
+ console.log(` ❌ Dekódolási hiba iteráció ${i + 1}-nél`);
98
+ longTermPassed = false;
99
+ break;
100
+ }
101
+
102
+ lastEncrypted = encrypted;
103
+
104
+ // Progress jelzés
105
+ if ((i + 1) % 1000 === 0) {
106
+ process.stdout.write(` ${i + 1}/${iterations} ✅\r`);
107
+ }
108
+ } catch (error) {
109
+ console.log(`\n ❌ Hiba iteráció ${i + 1}-nél: ${error.message}`);
110
+ longTermPassed = false;
111
+ break;
112
+ }
113
+ }
114
+
115
+ console.log(`\n Hosszú távú stabilitás: ${longTermPassed ? '✅ PASS' : '❌ FAIL'}`);
116
+
117
+ // Test 3: Adatbázis szimuláció
118
+ console.log('\n3️⃣ Adatbázis Szimuláció:');
119
+ const dbScenarios = [
120
+ // MongoDB dokumentum
121
+ {
122
+ _id: '507f1f77bcf86cd799439011',
123
+ username: 'testuser',
124
+ email: 'test@example.com',
125
+ profile: {
126
+ firstName: 'John',
127
+ lastName: 'Doe',
128
+ age: 30,
129
+ preferences: {
130
+ theme: 'dark',
131
+ language: 'hu',
132
+ notifications: true
133
+ }
134
+ },
135
+ createdAt: new Date().toISOString(),
136
+ updatedAt: new Date().toISOString(),
137
+ __v: 0
138
+ },
139
+
140
+ // PostgreSQL rekord
141
+ {
142
+ id: 1,
143
+ name: 'test_record',
144
+ description: 'This is a test record with special chars: áéíóöőúüű',
145
+ metadata: {
146
+ tags: ['test', 'demo', 'crypto'],
147
+ flags: [true, false, true],
148
+ numbers: [1, 2, 3, 4, 5]
149
+ },
150
+ created_at: '2024-01-01T00:00:00.000Z',
151
+ updated_at: '2024-12-31T23:59:59.999Z'
152
+ },
153
+
154
+ // MySQL rekord
155
+ {
156
+ user_id: 12345,
157
+ username: 'mysql_user',
158
+ password_hash: 'hashed_password_123',
159
+ email: 'mysql@example.com',
160
+ is_active: 1,
161
+ last_login: '2024-12-31 23:59:59',
162
+ settings: JSON.stringify({
163
+ timezone: 'Europe/Budapest',
164
+ currency: 'HUF',
165
+ date_format: 'YYYY-MM-DD'
166
+ })
167
+ }
168
+ ];
169
+
170
+ let dbTestPassed = true;
171
+ dbScenarios.forEach((scenario, index) => {
172
+ try {
173
+ const encrypted = DyFM_Crypto.encrypt(scenario, testKey);
174
+ const decrypted = DyFM_Crypto.decrypt(encrypted, testKey);
175
+
176
+ // Részletes összehasonlítás
177
+ const originalStr = JSON.stringify(scenario);
178
+ const decryptedStr = JSON.stringify(decrypted);
179
+
180
+ if (originalStr !== decryptedStr) {
181
+ console.log(` ❌ DB scenario ${index + 1} failed`);
182
+ console.log(` Original keys: ${Object.keys(scenario).join(', ')}`);
183
+ console.log(` Decrypted keys: ${Object.keys(decrypted).join(', ')}`);
184
+ dbTestPassed = false;
185
+ }
186
+ } catch (error) {
187
+ console.log(` ❌ DB scenario ${index + 1} crashed: ${error.message}`);
188
+ dbTestPassed = false;
189
+ }
190
+ });
191
+
192
+ console.log(` Adatbázis szimuláció: ${dbTestPassed ? '✅ PASS' : '❌ FAIL'}`);
193
+
194
+ // Test 4: Hálózati kommunikáció szimuláció
195
+ console.log('\n4️⃣ Hálózati Kommunikáció Szimuláció:');
196
+ const networkScenarios = [
197
+ // HTTP Header
198
+ {
199
+ type: 'http_header',
200
+ data: {
201
+ 'Authorization': 'Bearer token123',
202
+ 'X-User-ID': 'user_456',
203
+ 'X-Session-ID': 'session_789',
204
+ 'X-Request-ID': crypto.randomUUID(),
205
+ 'X-Timestamp': new Date().toISOString()
206
+ }
207
+ },
208
+
209
+ // WebSocket üzenet
210
+ {
211
+ type: 'websocket_message',
212
+ data: {
213
+ event: 'user_action',
214
+ payload: {
215
+ action: 'button_click',
216
+ button_id: 'submit_form',
217
+ timestamp: Date.now(),
218
+ user_agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
219
+ },
220
+ metadata: {
221
+ version: '1.0.0',
222
+ source: 'web_client',
223
+ correlation_id: crypto.randomUUID()
224
+ }
225
+ }
226
+ },
227
+
228
+ // API Response
229
+ {
230
+ type: 'api_response',
231
+ data: {
232
+ success: true,
233
+ data: {
234
+ users: [
235
+ { id: 1, name: 'Alice', email: 'alice@example.com' },
236
+ { id: 2, name: 'Bob', email: 'bob@example.com' },
237
+ { id: 3, name: 'Charlie', email: 'charlie@example.com' }
238
+ ],
239
+ pagination: {
240
+ page: 1,
241
+ limit: 10,
242
+ total: 3,
243
+ has_next: false
244
+ }
245
+ },
246
+ timestamp: new Date().toISOString(),
247
+ request_id: crypto.randomUUID()
248
+ }
249
+ }
250
+ ];
251
+
252
+ let networkTestPassed = true;
253
+ networkScenarios.forEach((scenario, index) => {
254
+ try {
255
+ const encrypted = DyFM_Crypto.encrypt(scenario, testKey);
256
+ const decrypted = DyFM_Crypto.decrypt(encrypted, testKey);
257
+
258
+ const originalStr = JSON.stringify(scenario);
259
+ const decryptedStr = JSON.stringify(decrypted);
260
+
261
+ if (originalStr !== decryptedStr) {
262
+ console.log(` ❌ Network scenario ${index + 1} failed: ${scenario.type}`);
263
+ networkTestPassed = false;
264
+ }
265
+ } catch (error) {
266
+ console.log(` ❌ Network scenario ${index + 1} crashed: ${error.message}`);
267
+ networkTestPassed = false;
268
+ }
269
+ });
270
+
271
+ console.log(` Hálózati kommunikáció: ${networkTestPassed ? '✅ PASS' : '❌ FAIL'}`);
272
+
273
+ // Test 5: Különböző kulcsok és konfigurációk
274
+ console.log('\n5️⃣ Különböző Kulcsok és Konfigurációk:');
275
+ const keyScenarios = [
276
+ { key: 'simple-key', config: undefined },
277
+ { key: 'a'.repeat(100), config: undefined }, // 100 karakter hosszú
278
+ { key: 'special-chars!@#$%^&*()', config: undefined },
279
+ { key: 'unicode-ключ-世界', config: undefined },
280
+ { key: 'normal-key', config: { keyIterations: 500, keySize: 6 } },
281
+ { key: 'fast-key', config: { keyIterations: 100, keySize: 4 } },
282
+ { key: 'secure-key', config: { keyIterations: 2000, keySize: 10 } }
283
+ ];
284
+
285
+ let keyTestPassed = true;
286
+ const testData = { id: 1, name: 'key-test' };
287
+
288
+ keyScenarios.forEach((scenario, index) => {
289
+ try {
290
+ const encrypted = DyFM_Crypto.encrypt(testData, scenario.key, scenario.config);
291
+ const decrypted = DyFM_Crypto.decrypt(encrypted, scenario.key, scenario.config);
292
+
293
+ if (JSON.stringify(decrypted) !== JSON.stringify(testData)) {
294
+ console.log(` ❌ Key scenario ${index + 1} failed: ${scenario.key.substring(0, 20)}...`);
295
+ keyTestPassed = false;
296
+ }
297
+ } catch (error) {
298
+ console.log(` ❌ Key scenario ${index + 1} crashed: ${error.message}`);
299
+ keyTestPassed = false;
300
+ }
301
+ });
302
+
303
+ console.log(` Kulcs és konfiguráció teszt: ${keyTestPassed ? '✅ PASS' : '❌ FAIL'}`);
304
+
305
+ // Test 6: Memória és teljesítmény stress test
306
+ console.log('\n6️⃣ Memória és Teljesítmény Stress Test:');
307
+ const memoryData = { id: 1, data: 'x'.repeat(1000) }; // 1KB adat
308
+ const memoryKey = 'memory-test-key';
309
+ const memoryIterations = 10000;
310
+
311
+ console.log(` Futtatás ${memoryIterations.toLocaleString()} iteráció ${(memoryData.data.length / 1024).toFixed(1)}KB adattal...`);
312
+
313
+ const startTime = Date.now();
314
+ let memoryTestPassed = true;
315
+ const encryptedResults = [];
316
+
317
+ try {
318
+ for (let i = 0; i < memoryIterations; i++) {
319
+ const encrypted = DyFM_Crypto.encrypt(memoryData, memoryKey);
320
+ encryptedResults.push(encrypted);
321
+
322
+ // Minden 1000. iterációban ellenőrizzük a memóriát
323
+ if ((i + 1) % 1000 === 0) {
324
+ const decrypted = DyFM_Crypto.decrypt(encrypted, memoryKey);
325
+ if (JSON.stringify(decrypted) !== JSON.stringify(memoryData)) {
326
+ console.log(` ❌ Memória teszt hiba iteráció ${i + 1}-nél`);
327
+ memoryTestPassed = false;
328
+ break;
329
+ }
330
+ process.stdout.write(` ${i + 1}/${memoryIterations} ✅\r`);
331
+ }
332
+ }
333
+ } catch (error) {
334
+ console.log(`\n ❌ Memória teszt crash: ${error.message}`);
335
+ memoryTestPassed = false;
336
+ }
337
+
338
+ const endTime = Date.now();
339
+ const duration = endTime - startTime;
340
+ const memoryUsage = process.memoryUsage();
341
+
342
+ console.log(`\n Memória teszt: ${memoryTestPassed ? '✅ PASS' : '❌ FAIL'}`);
343
+ console.log(` Időtartam: ${duration}ms`);
344
+ console.log(` Memória használat: ${(memoryUsage.heapUsed / 1024 / 1024).toFixed(2)}MB`);
345
+
346
+ // Összesítés
347
+ console.log('\n🎯 STRESS TEST ÖSSZESÍTÉS:');
348
+ console.log('========================');
349
+
350
+ const allTests = [
351
+ { name: 'Adattípusok', passed: allDataTypesPassed },
352
+ { name: 'Hosszú távú stabilitás', passed: longTermPassed },
353
+ { name: 'Adatbázis szimuláció', passed: dbTestPassed },
354
+ { name: 'Hálózati kommunikáció', passed: networkTestPassed },
355
+ { name: 'Kulcsok és konfigurációk', passed: keyTestPassed },
356
+ { name: 'Memória és teljesítmény', passed: memoryTestPassed }
357
+ ];
358
+
359
+ const passedTests = allTests.filter(test => test.passed).length;
360
+ const totalTests = allTests.length;
361
+
362
+ allTests.forEach(test => {
363
+ console.log(` ${test.passed ? '✅' : '❌'} ${test.name}`);
364
+ });
365
+
366
+ console.log(`\n📊 Eredmény: ${passedTests}/${totalTests} teszt sikeres`);
367
+ console.log(` Sikeresség: ${((passedTests / totalTests) * 100).toFixed(1)}%`);
368
+
369
+ if (passedTests === totalTests) {
370
+ console.log('\n🎉 MINDEN TESZT SIKERES!');
371
+ console.log(' A kriptográfiai implementáció valóban stabil és megbízható!');
372
+ console.log(' Biztonságosan használható hosszú távon különböző rendszerek között.');
373
+ } else {
374
+ console.log('\n⚠️ FIGYELEM: Néhány teszt nem sikerült!');
375
+ console.log(' A kriptográfiai implementáció további finomhangolásra szorul.');
376
+ }
377
+
378
+ // Memória tisztítás
379
+ encryptedResults.length = 0;
380
380
  global.gc && global.gc(); // Garbage collection (ha elérhető)