@futdevpro/fsm-dynamo 1.16.30 → 1.16.33

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 (578) 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/cursor-rules.md +160 -160
  11. package/.cursor/rules/default-command.mdc +464 -464
  12. package/.cursor/rules/error_code_pattern.md +39 -39
  13. package/.cursor/rules/saved rule mcp server use.md +15 -15
  14. package/.vscode/settings.json +11 -11
  15. package/LICENSE +21 -21
  16. package/__documentations/2026-06-22-dyfm-error-extends-error.md +109 -109
  17. package/build/_modules/game/_collections/audio-mixer.util.d.ts +55 -0
  18. package/build/_modules/game/_collections/audio-mixer.util.d.ts.map +1 -0
  19. package/build/_modules/game/_collections/audio-mixer.util.js +114 -0
  20. package/build/_modules/game/_collections/audio-mixer.util.js.map +1 -0
  21. package/build/_modules/game/_collections/audio-scale.util.d.ts +57 -0
  22. package/build/_modules/game/_collections/audio-scale.util.d.ts.map +1 -0
  23. package/build/_modules/game/_collections/audio-scale.util.js +105 -0
  24. package/build/_modules/game/_collections/audio-scale.util.js.map +1 -0
  25. package/build/_modules/game/_enums/audio-channel.enum.d.ts +21 -0
  26. package/build/_modules/game/_enums/audio-channel.enum.d.ts.map +1 -0
  27. package/build/_modules/game/_enums/audio-channel.enum.js +25 -0
  28. package/build/_modules/game/_enums/audio-channel.enum.js.map +1 -0
  29. package/build/_modules/game/_models/audio-mixer-config.interface.d.ts +37 -0
  30. package/build/_modules/game/_models/audio-mixer-config.interface.d.ts.map +1 -0
  31. package/build/_modules/game/_models/audio-mixer-config.interface.js +3 -0
  32. package/build/_modules/game/_models/audio-mixer-config.interface.js.map +1 -0
  33. package/build/_modules/game/_models/audio-mixer-settings.interface.d.ts +23 -0
  34. package/build/_modules/game/_models/audio-mixer-settings.interface.d.ts.map +1 -0
  35. package/build/_modules/game/_models/audio-mixer-settings.interface.js +3 -0
  36. package/build/_modules/game/_models/audio-mixer-settings.interface.js.map +1 -0
  37. package/build/_modules/game/_models/audio-mixer-state.interface.d.ts +19 -0
  38. package/build/_modules/game/_models/audio-mixer-state.interface.d.ts.map +1 -0
  39. package/build/_modules/game/_models/audio-mixer-state.interface.js +3 -0
  40. package/build/_modules/game/_models/audio-mixer-state.interface.js.map +1 -0
  41. package/build/_modules/game/_models/audio-mixer.control-model.d.ts +123 -0
  42. package/build/_modules/game/_models/audio-mixer.control-model.d.ts.map +1 -0
  43. package/build/_modules/game/_models/audio-mixer.control-model.js +312 -0
  44. package/build/_modules/game/_models/audio-mixer.control-model.js.map +1 -0
  45. package/build/_modules/game/_models/audio-scale.interface.d.ts +18 -0
  46. package/build/_modules/game/_models/audio-scale.interface.d.ts.map +1 -0
  47. package/build/_modules/game/_models/audio-scale.interface.js +3 -0
  48. package/build/_modules/game/_models/audio-scale.interface.js.map +1 -0
  49. package/build/_modules/game/_models/seeded-random-state.interface.d.ts +17 -0
  50. package/build/_modules/game/_models/seeded-random-state.interface.d.ts.map +1 -0
  51. package/build/_modules/game/_models/seeded-random-state.interface.js +3 -0
  52. package/build/_modules/game/_models/seeded-random-state.interface.js.map +1 -0
  53. package/build/_modules/game/_models/seeded-random.control-model.d.ts +125 -0
  54. package/build/_modules/game/_models/seeded-random.control-model.d.ts.map +1 -0
  55. package/build/_modules/game/_models/seeded-random.control-model.js +263 -0
  56. package/build/_modules/game/_models/seeded-random.control-model.js.map +1 -0
  57. package/build/_modules/game/index.d.ts +11 -0
  58. package/build/_modules/game/index.d.ts.map +1 -0
  59. package/build/_modules/game/index.js +17 -0
  60. package/build/_modules/game/index.js.map +1 -0
  61. package/build/_modules/socket/_models/sck-socket-event.control-model.js +1 -1
  62. package/eslint.config.js +4 -4
  63. package/nodemon.json +22 -22
  64. package/package.json +11 -2
  65. package/scripts/crypto/CRYPTO-STABILITY-SOLUTION.md +196 -196
  66. package/scripts/crypto/README.md +113 -113
  67. package/scripts/crypto/demo-crypto-stability.js +120 -120
  68. package/scripts/crypto/stress-test-crypto.js +379 -379
  69. package/scripts/run-coverage-tests.js +24 -24
  70. package/spec/support/helpers/ts-node-helper.js +9 -9
  71. package/spec/support/jasmine.coverage.json +23 -23
  72. package/spec/support/jasmine.json +24 -24
  73. package/src/_collections/constants/data-sizes.const.ts +40 -40
  74. package/src/_collections/constants/error-defaults.const.ts +20 -20
  75. package/src/_collections/constants/global-settings.const.ts +24 -24
  76. package/src/_collections/constants/numbers.const.ts +40 -40
  77. package/src/_collections/constants/times.const.ts +45 -45
  78. package/src/_collections/utils/array.util.spec.ts +306 -306
  79. package/src/_collections/utils/array.util.ts +813 -813
  80. package/src/_collections/utils/async.util.spec.ts +354 -354
  81. package/src/_collections/utils/async.util.ts +197 -197
  82. package/src/_collections/utils/data.util.spec.ts +345 -345
  83. package/src/_collections/utils/data.util.ts +226 -226
  84. package/src/_collections/utils/json-error-helper.util.spec.ts +521 -521
  85. package/src/_collections/utils/json-error-helper.util.ts +301 -301
  86. package/src/_collections/utils/log.util.spec.ts +975 -975
  87. package/src/_collections/utils/log.util.ts +667 -667
  88. package/src/_collections/utils/math/box-bounds.spec.ts +73 -73
  89. package/src/_collections/utils/math/box-bounds.util.ts +183 -183
  90. package/src/_collections/utils/math/math.util.spec.ts +94 -94
  91. package/src/_collections/utils/math/math.util.ts +141 -141
  92. package/src/_collections/utils/math/random.util.spec.ts +82 -82
  93. package/src/_collections/utils/math/random.util.ts +139 -139
  94. package/src/_collections/utils/math/trigonometry.util.spec.ts +57 -57
  95. package/src/_collections/utils/math/trigonometry.util.ts +102 -102
  96. package/src/_collections/utils/math/vector2.util.spec.ts +94 -94
  97. package/src/_collections/utils/math/vector2.util.ts +653 -653
  98. package/src/_collections/utils/object.util.spec.ts +646 -646
  99. package/src/_collections/utils/regex/password-regex.util.spec.ts +51 -51
  100. package/src/_collections/utils/regex/password-regex.util.ts +65 -65
  101. package/src/_collections/utils/regex/regex.util.spec.ts +42 -42
  102. package/src/_collections/utils/regex/regex.util.ts +6 -6
  103. package/src/_collections/utils/regex/username-regex.util.spec.ts +61 -61
  104. package/src/_collections/utils/regex/username-regex.util.ts +35 -35
  105. package/src/_collections/utils/round-list.util.spec.ts +79 -79
  106. package/src/_collections/utils/round-list.util.ts +162 -162
  107. package/src/_collections/utils/stack.util.spec.ts +372 -372
  108. package/src/_collections/utils/stack.util.ts +164 -164
  109. package/src/_collections/utils/string-case.util.spec.ts +441 -441
  110. package/src/_collections/utils/string-case.util.ts +362 -362
  111. package/src/_collections/utils/string.util.spec.ts +975 -975
  112. package/src/_collections/utils/string.util.ts +449 -449
  113. package/src/_collections/utils/time.util.spec.ts +50 -50
  114. package/src/_collections/utils/time.util.ts +481 -481
  115. package/src/_collections/utils/type-cloning-facility.util.spec.ts +51 -51
  116. package/src/_collections/utils/type-cloning-facility.util.ts +168 -168
  117. package/src/_collections/utils/utilities.util.spec.ts +201 -201
  118. package/src/_collections/utils/utilities.util.ts +68 -68
  119. package/src/_collections/utils/uuid.util.spec.ts +30 -30
  120. package/src/_collections/utils/uuid.util.ts +50 -50
  121. package/src/_enums/basic-property-type.enum.ts +20 -20
  122. package/src/_enums/data-model-type.enum.ts +29 -29
  123. package/src/_enums/environment-flag.enum.ts +28 -28
  124. package/src/_enums/error-level.enum.ts +43 -43
  125. package/src/_enums/http/http-call-type.enum.ts +43 -43
  126. package/src/_enums/http/http-event-type.enum.ts +40 -40
  127. package/src/_enums/http/http-response-type.enum.ts +18 -18
  128. package/src/_enums/log-style.enum.ts +44 -44
  129. package/src/_enums/server-connection-status.enum.ts +6 -6
  130. package/src/_enums/time/day-of-week.enum.ts +55 -55
  131. package/src/_enums/time/month.enum.ts +25 -25
  132. package/src/_enums/time/relative-date.enum.ts +24 -24
  133. package/src/_models/control-models/data-model-params.control-model.spec.ts +133 -133
  134. package/src/_models/control-models/data-model-params.control-model.ts +352 -352
  135. package/src/_models/control-models/data-property-params.control-model.spec.ts +93 -93
  136. package/src/_models/control-models/data-property-params.control-model.ts +210 -210
  137. package/src/_models/control-models/error.control-model.spec.ts +912 -912
  138. package/src/_models/control-models/error.control-model.ts +1274 -1274
  139. package/src/_models/control-models/http/http-error-response.control-model.spec.ts +116 -116
  140. package/src/_models/control-models/http/http-error-response.control-model.ts +52 -52
  141. package/src/_models/control-models/http/http-headers.control-model.spec.ts +25 -25
  142. package/src/_models/control-models/http/http-headers.control-model.ts +124 -124
  143. package/src/_models/control-models/http/http-response.model-base.spec.ts +46 -46
  144. package/src/_models/control-models/http/http-response.model-base.ts +57 -57
  145. package/src/_models/control-models/poll.control-model.spec.ts +63 -63
  146. package/src/_models/control-models/poll.control-model.ts +151 -151
  147. package/src/_models/control-models/range-value.control-model.spec.ts +187 -187
  148. package/src/_models/control-models/range-value.control-model.ts +289 -289
  149. package/src/_models/control-models/server-status.control-model.spec.ts +66 -66
  150. package/src/_models/control-models/server-status.control-model.ts +94 -94
  151. package/src/_models/control-models/service-endpoint-settings-base.control-model.spec.ts +145 -145
  152. package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +186 -186
  153. package/src/_models/data-models/errors.data-model.spec.ts +71 -71
  154. package/src/_models/data-models/errors.data-model.ts +175 -175
  155. package/src/_models/data-models/metadata.data-model.spec.ts +184 -184
  156. package/src/_models/data-models/metadata.data-model.ts +153 -153
  157. package/src/_models/interfaces/box-bounds.interface.ts +7 -7
  158. package/src/_models/interfaces/environment/global-log-settings.interface.ts +86 -86
  159. package/src/_models/interfaces/environment/global-settings.interface.ts +47 -47
  160. package/src/_models/interfaces/error-defaults.interface.ts +11 -11
  161. package/src/_models/interfaces/paged.interface.ts +12 -12
  162. package/src/_models/interfaces/random-weight.interface.ts +7 -7
  163. package/src/_models/interfaces/route-settings.interface.ts +15 -15
  164. package/src/_models/interfaces/search-query.interface.ts +23 -23
  165. package/src/_models/interfaces/search-result.interface.ts +5 -5
  166. package/src/_models/interfaces/server-error-statistics.interface.ts +24 -24
  167. package/src/_models/interfaces/vector2.interface.ts +20 -20
  168. package/src/_models/types/db-filter.type.ts +110 -110
  169. package/src/_models/types/db-sort.type.ts +4 -4
  170. package/src/_models/types/ds-filter.type.ts +68 -68
  171. package/src/_models/types/ds-sort.type.ts +21 -21
  172. package/src/_modules/ai/_collections/ai-model-ref.util.ts +88 -88
  173. package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +37 -37
  174. package/src/_modules/ai/_collections/ai-model-registry.util.ts +30 -30
  175. package/src/_modules/ai/_enums/ai-message-role.enum.ts +7 -7
  176. package/src/_modules/ai/_enums/ai-model-type.enum.ts +7 -7
  177. package/src/_modules/ai/_enums/ai-provider.enum.ts +7 -7
  178. package/src/_modules/ai/_models/ai-call-settings.interface.ts +84 -84
  179. package/src/_modules/ai/_models/ai-embedding-request.interface.ts +20 -20
  180. package/src/_modules/ai/_models/ai-embedding-response.interface.ts +26 -26
  181. package/src/_modules/ai/_models/ai-llm-request.interface.ts +24 -24
  182. package/src/_modules/ai/_models/ai-llm-response.interface.ts +30 -30
  183. package/src/_modules/ai/_models/ai-message.interface.ts +12 -12
  184. package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +35 -35
  185. package/src/_modules/ai/_models/ai-model-info.interface.ts +63 -63
  186. package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +52 -52
  187. package/src/_modules/ai/_models/ai-provider-capabilities.interface.ts +28 -28
  188. package/src/_modules/ai/_models/ai-settings.interface.ts +17 -17
  189. package/src/_modules/ai/_models/ai-tool-call.interface.ts +18 -18
  190. package/src/_modules/ai/_models/ai-tool-handler.type.ts +11 -11
  191. package/src/_modules/ai/_models/ai-tool-result.interface.ts +16 -16
  192. package/src/_modules/ai/_models/ai-tool.interface.ts +16 -16
  193. package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +29 -29
  194. package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +135 -135
  195. package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +19 -19
  196. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.ts +28 -28
  197. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.ts +23 -23
  198. package/src/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.ts +10 -10
  199. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.ts +22 -22
  200. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.ts +27 -27
  201. package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +20 -20
  202. package/src/_modules/ai/_modules/anthropic/index.ts +14 -14
  203. package/src/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.ts +12 -12
  204. package/src/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.ts +22 -22
  205. package/src/_modules/ai/_modules/document-ai/index.ts +4 -4
  206. package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +40 -40
  207. package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +6 -6
  208. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +19 -19
  209. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +11 -11
  210. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +24 -24
  211. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +20 -20
  212. package/src/_modules/ai/_modules/fdp-ai/index.ts +11 -11
  213. package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +161 -161
  214. package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +16 -16
  215. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.ts +28 -28
  216. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.ts +21 -21
  217. package/src/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.ts +8 -8
  218. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.ts +22 -22
  219. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.ts +25 -25
  220. package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +20 -20
  221. package/src/_modules/ai/_modules/google-ai/index.ts +14 -14
  222. package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +59 -59
  223. package/src/_modules/ai/_modules/local-ai/_enums/lai-model.enum.ts +6 -6
  224. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.ts +28 -28
  225. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.ts +18 -18
  226. package/src/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.ts +9 -9
  227. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.ts +22 -22
  228. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.ts +23 -23
  229. package/src/_modules/ai/_modules/local-ai/index.ts +14 -14
  230. package/src/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.ts +7 -7
  231. package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +404 -404
  232. package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +179 -179
  233. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.ts +28 -28
  234. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.ts +21 -21
  235. package/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts +81 -81
  236. package/src/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.ts +13 -13
  237. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.ts +22 -22
  238. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts +25 -25
  239. package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +21 -21
  240. package/src/_modules/ai/_modules/open-ai/index.ts +28 -28
  241. package/src/_modules/ai/index.ts +27 -27
  242. package/src/_modules/ci-tools/_enums/cit-ci-result-code.enum.ts +11 -11
  243. package/src/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.ts +9 -9
  244. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.ts +58 -58
  245. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.ts +77 -77
  246. package/src/_modules/ci-tools/_models/cit-ci-step-result.interface.ts +12 -12
  247. package/src/_modules/ci-tools/index.ts +8 -8
  248. package/src/_modules/crypto/_collections/crypto.util.simple.spec.ts +512 -512
  249. package/src/_modules/crypto/index.ts +13 -13
  250. package/src/_modules/custom-data/_collections/cud-module-settings.const.ts +21 -21
  251. package/src/_modules/custom-data/_models/cud.data-model.spec.ts +38 -38
  252. package/src/_modules/custom-data/_models/cud.data-model.ts +39 -39
  253. package/src/_modules/custom-data/index.ts +10 -10
  254. package/src/_modules/data-handler/_models/data-handler-settings.control-model.spec.ts +110 -110
  255. package/src/_modules/data-handler/_models/data-handler-settings.control-model.ts +110 -110
  256. package/src/_modules/data-handler/_models/data-handler.control-model.spec.ts +473 -473
  257. package/src/_modules/data-handler/_models/data-handler.control-model.ts +486 -486
  258. package/src/_modules/data-handler/_models/data-list-handler.control-model.spec.ts +263 -263
  259. package/src/_modules/data-handler/_models/data-list-handler.control-model.ts +252 -252
  260. package/src/_modules/data-handler/_models/data-search-handler.control-model.spec.ts +417 -417
  261. package/src/_modules/data-handler/_models/data-search-handler.control-model.ts +390 -390
  262. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.ts +374 -374
  263. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.ts +274 -274
  264. package/src/_modules/data-handler/index.ts +6 -6
  265. package/src/_modules/game/_collections/audio-mixer.util.spec.ts +198 -0
  266. package/src/_modules/game/_collections/audio-mixer.util.ts +143 -0
  267. package/src/_modules/game/_collections/audio-scale.util.spec.ts +140 -0
  268. package/src/_modules/game/_collections/audio-scale.util.ts +129 -0
  269. package/src/_modules/game/_enums/audio-channel.enum.ts +22 -0
  270. package/src/_modules/game/_models/audio-mixer-config.interface.ts +45 -0
  271. package/src/_modules/game/_models/audio-mixer-settings.interface.ts +28 -0
  272. package/src/_modules/game/_models/audio-mixer-state.interface.ts +23 -0
  273. package/src/_modules/game/_models/audio-mixer.control-model.spec.ts +306 -0
  274. package/src/_modules/game/_models/audio-mixer.control-model.ts +378 -0
  275. package/src/_modules/game/_models/audio-scale.interface.ts +21 -0
  276. package/src/_modules/game/_models/seeded-random-state.interface.ts +21 -0
  277. package/src/_modules/game/_models/seeded-random.control-model.spec.ts +290 -0
  278. package/src/_modules/game/_models/seeded-random.control-model.ts +311 -0
  279. package/src/_modules/game/index.ts +15 -0
  280. package/src/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -3239
  281. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19035 -19035
  282. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166.json +4993 -4993
  283. package/src/_modules/location/_collections/assets/country-phone-codes.json +1203 -1203
  284. package/src/_modules/location/_collections/assets/country-subdivisions/afghanistan.json +137 -137
  285. package/src/_modules/location/_collections/assets/country-subdivisions/albania.json +49 -49
  286. package/src/_modules/location/_collections/assets/country-subdivisions/algeria.json +193 -193
  287. package/src/_modules/location/_collections/assets/country-subdivisions/andorra.json +29 -29
  288. package/src/_modules/location/_collections/assets/country-subdivisions/angola.json +73 -73
  289. package/src/_modules/location/_collections/assets/country-subdivisions/antigua-and-barbuda.json +33 -33
  290. package/src/_modules/location/_collections/assets/country-subdivisions/argentina.json +97 -97
  291. package/src/_modules/location/_collections/assets/country-subdivisions/armenia.json +45 -45
  292. package/src/_modules/location/_collections/assets/country-subdivisions/australia.json +33 -33
  293. package/src/_modules/location/_collections/assets/country-subdivisions/austria.json +37 -37
  294. package/src/_modules/location/_collections/assets/country-subdivisions/azerbaijan.json +5 -5
  295. package/src/_modules/location/_collections/assets/country-subdivisions/bahamas.json +125 -125
  296. package/src/_modules/location/_collections/assets/country-subdivisions/bahrain.json +21 -21
  297. package/src/_modules/location/_collections/assets/country-subdivisions/bangladesh.json +29 -29
  298. package/src/_modules/location/_collections/assets/country-subdivisions/barbados.json +45 -45
  299. package/src/_modules/location/_collections/assets/country-subdivisions/belarus.json +29 -29
  300. package/src/_modules/location/_collections/assets/country-subdivisions/belgium.json +13 -13
  301. package/src/_modules/location/_collections/assets/country-subdivisions/belize.json +25 -25
  302. package/src/_modules/location/_collections/assets/country-subdivisions/benin.json +49 -49
  303. package/src/_modules/location/_collections/assets/country-subdivisions/bhutan.json +81 -81
  304. package/src/_modules/location/_collections/assets/country-subdivisions/bolivia.json +37 -37
  305. package/src/_modules/location/_collections/assets/country-subdivisions/bosnia-and-herzegovina.json +13 -13
  306. package/src/_modules/location/_collections/assets/country-subdivisions/botswana.json +65 -65
  307. package/src/_modules/location/_collections/assets/country-subdivisions/brazil.json +109 -109
  308. package/src/_modules/location/_collections/assets/country-subdivisions/brunei-darussalam.json +17 -17
  309. package/src/_modules/location/_collections/assets/country-subdivisions/bulgaria.json +113 -113
  310. package/src/_modules/location/_collections/assets/country-subdivisions/burkina-faso.json +53 -53
  311. package/src/_modules/location/_collections/assets/country-subdivisions/burundi.json +69 -69
  312. package/src/_modules/location/_collections/assets/country-subdivisions/cambodia.json +97 -97
  313. package/src/_modules/location/_collections/assets/country-subdivisions/cameroon.json +41 -41
  314. package/src/_modules/location/_collections/assets/country-subdivisions/canada.json +79 -79
  315. package/src/_modules/location/_collections/assets/country-subdivisions/cape-verde.json +9 -9
  316. package/src/_modules/location/_collections/assets/country-subdivisions/central-african-republic.json +69 -69
  317. package/src/_modules/location/_collections/assets/country-subdivisions/chad.json +89 -89
  318. package/src/_modules/location/_collections/assets/country-subdivisions/chile.json +61 -61
  319. package/src/_modules/location/_collections/assets/country-subdivisions/china.json +205 -205
  320. package/src/_modules/location/_collections/assets/country-subdivisions/colombia.json +133 -133
  321. package/src/_modules/location/_collections/assets/country-subdivisions/comoros.json +13 -13
  322. package/src/_modules/location/_collections/assets/country-subdivisions/congo-the-democratic-republic-of-the.json +45 -45
  323. package/src/_modules/location/_collections/assets/country-subdivisions/congo.json +49 -49
  324. package/src/_modules/location/_collections/assets/country-subdivisions/costa-rica.json +29 -29
  325. package/src/_modules/location/_collections/assets/country-subdivisions/cote-d-ivoire-republic-of.json +77 -77
  326. package/src/_modules/location/_collections/assets/country-subdivisions/croatia.json +85 -85
  327. package/src/_modules/location/_collections/assets/country-subdivisions/cuba.json +65 -65
  328. package/src/_modules/location/_collections/assets/country-subdivisions/cyprus.json +25 -25
  329. package/src/_modules/location/_collections/assets/country-subdivisions/czech-republic.json +57 -57
  330. package/src/_modules/location/_collections/assets/country-subdivisions/denmark.json +21 -21
  331. package/src/_modules/location/_collections/assets/country-subdivisions/djibouti.json +25 -25
  332. package/src/_modules/location/_collections/assets/country-subdivisions/dominica.json +41 -41
  333. package/src/_modules/location/_collections/assets/country-subdivisions/dominican-republic.json +41 -41
  334. package/src/_modules/location/_collections/assets/country-subdivisions/ecuador.json +97 -97
  335. package/src/_modules/location/_collections/assets/country-subdivisions/egypt.json +117 -117
  336. package/src/_modules/location/_collections/assets/country-subdivisions/el-salvador.json +57 -57
  337. package/src/_modules/location/_collections/assets/country-subdivisions/equatorial-guinea.json +9 -9
  338. package/src/_modules/location/_collections/assets/country-subdivisions/eritrea.json +25 -25
  339. package/src/_modules/location/_collections/assets/country-subdivisions/estonia.json +61 -61
  340. package/src/_modules/location/_collections/assets/country-subdivisions/ethiopia.json +45 -45
  341. package/src/_modules/location/_collections/assets/country-subdivisions/fiji.json +21 -21
  342. package/src/_modules/location/_collections/assets/country-subdivisions/finland.json +77 -77
  343. package/src/_modules/location/_collections/assets/country-subdivisions/france.json +133 -133
  344. package/src/_modules/location/_collections/assets/country-subdivisions/gabon.json +37 -37
  345. package/src/_modules/location/_collections/assets/country-subdivisions/gambia.json +25 -25
  346. package/src/_modules/location/_collections/assets/country-subdivisions/georgia.json +49 -49
  347. package/src/_modules/location/_collections/assets/country-subdivisions/germany.json +65 -65
  348. package/src/_modules/location/_collections/assets/country-subdivisions/ghana.json +41 -41
  349. package/src/_modules/location/_collections/assets/country-subdivisions/greece.json +53 -53
  350. package/src/_modules/location/_collections/assets/country-subdivisions/greenland.json +17 -17
  351. package/src/_modules/location/_collections/assets/country-subdivisions/grenada.json +29 -29
  352. package/src/_modules/location/_collections/assets/country-subdivisions/guatemala.json +89 -89
  353. package/src/_modules/location/_collections/assets/country-subdivisions/guinea-bissau.json +13 -13
  354. package/src/_modules/location/_collections/assets/country-subdivisions/guinea.json +33 -33
  355. package/src/_modules/location/_collections/assets/country-subdivisions/guyana.json +41 -41
  356. package/src/_modules/location/_collections/assets/country-subdivisions/haiti.json +41 -41
  357. package/src/_modules/location/_collections/assets/country-subdivisions/honduras.json +73 -73
  358. package/src/_modules/location/_collections/assets/country-subdivisions/hong-kong.json +4 -4
  359. package/src/_modules/location/_collections/assets/country-subdivisions/hungary.json +173 -173
  360. package/src/_modules/location/_collections/assets/country-subdivisions/iceland.json +37 -37
  361. package/src/_modules/location/_collections/assets/country-subdivisions/india.json +181 -181
  362. package/src/_modules/location/_collections/assets/country-subdivisions/indonesia.json +29 -29
  363. package/src/_modules/location/_collections/assets/country-subdivisions/iran-islamic-republic-of.json +125 -125
  364. package/src/_modules/location/_collections/assets/country-subdivisions/iraq.json +73 -73
  365. package/src/_modules/location/_collections/assets/country-subdivisions/ireland.json +17 -17
  366. package/src/_modules/location/_collections/assets/country-subdivisions/israel.json +25 -25
  367. package/src/_modules/location/_collections/assets/country-subdivisions/italy.json +81 -81
  368. package/src/_modules/location/_collections/assets/country-subdivisions/jamaica.json +57 -57
  369. package/src/_modules/location/_collections/assets/country-subdivisions/japan.json +189 -189
  370. package/src/_modules/location/_collections/assets/country-subdivisions/jordan.json +49 -49
  371. package/src/_modules/location/_collections/assets/country-subdivisions/kazakhstan.json +65 -65
  372. package/src/_modules/location/_collections/assets/country-subdivisions/kenya.json +33 -33
  373. package/src/_modules/location/_collections/assets/country-subdivisions/kiribati.json +13 -13
  374. package/src/_modules/location/_collections/assets/country-subdivisions/korea-democratic-people-s-republic-of.json +45 -45
  375. package/src/_modules/location/_collections/assets/country-subdivisions/korea-republic-of.json +69 -69
  376. package/src/_modules/location/_collections/assets/country-subdivisions/kuwait.json +25 -25
  377. package/src/_modules/location/_collections/assets/country-subdivisions/kyrgyzstan.json +33 -33
  378. package/src/_modules/location/_collections/assets/country-subdivisions/lao-people-s-democratic-republic.json +73 -73
  379. package/src/_modules/location/_collections/assets/country-subdivisions/latvia.json +477 -477
  380. package/src/_modules/location/_collections/assets/country-subdivisions/lebanon.json +33 -33
  381. package/src/_modules/location/_collections/assets/country-subdivisions/lesotho.json +41 -41
  382. package/src/_modules/location/_collections/assets/country-subdivisions/liberia.json +61 -61
  383. package/src/_modules/location/_collections/assets/country-subdivisions/libyan-arab-jamahiriya.json +89 -89
  384. package/src/_modules/location/_collections/assets/country-subdivisions/liechtenstein.json +45 -45
  385. package/src/_modules/location/_collections/assets/country-subdivisions/lithuania.json +41 -41
  386. package/src/_modules/location/_collections/assets/country-subdivisions/luxembourg.json +13 -13
  387. package/src/_modules/location/_collections/assets/country-subdivisions/macedonia-the-former-yugoslav-republic-of.json +337 -337
  388. package/src/_modules/location/_collections/assets/country-subdivisions/madagascar.json +25 -25
  389. package/src/_modules/location/_collections/assets/country-subdivisions/malawi.json +13 -13
  390. package/src/_modules/location/_collections/assets/country-subdivisions/malaysia.json +81 -81
  391. package/src/_modules/location/_collections/assets/country-subdivisions/maldives.json +33 -33
  392. package/src/_modules/location/_collections/assets/country-subdivisions/mali.json +37 -37
  393. package/src/_modules/location/_collections/assets/country-subdivisions/malta.json +273 -273
  394. package/src/_modules/location/_collections/assets/country-subdivisions/marshall-islands.json +9 -9
  395. package/src/_modules/location/_collections/assets/country-subdivisions/mauritania.json +53 -53
  396. package/src/_modules/location/_collections/assets/country-subdivisions/mauritius.json +69 -69
  397. package/src/_modules/location/_collections/assets/country-subdivisions/mexico.json +161 -161
  398. package/src/_modules/location/_collections/assets/country-subdivisions/micronesia-federated-states-of.json +17 -17
  399. package/src/_modules/location/_collections/assets/country-subdivisions/moldova-republic-of.json +149 -149
  400. package/src/_modules/location/_collections/assets/country-subdivisions/monaco.json +69 -69
  401. package/src/_modules/location/_collections/assets/country-subdivisions/mongolia.json +89 -89
  402. package/src/_modules/location/_collections/assets/country-subdivisions/montenegro.json +93 -93
  403. package/src/_modules/location/_collections/assets/country-subdivisions/morocco.json +65 -65
  404. package/src/_modules/location/_collections/assets/country-subdivisions/mozambique.json +45 -45
  405. package/src/_modules/location/_collections/assets/country-subdivisions/myanmar.json +57 -57
  406. package/src/_modules/location/_collections/assets/country-subdivisions/namibia.json +57 -57
  407. package/src/_modules/location/_collections/assets/country-subdivisions/nauru.json +57 -57
  408. package/src/_modules/location/_collections/assets/country-subdivisions/nepal.json +21 -21
  409. package/src/_modules/location/_collections/assets/country-subdivisions/netherlands.json +91 -91
  410. package/src/_modules/location/_collections/assets/country-subdivisions/new-zealand.json +111 -111
  411. package/src/_modules/location/_collections/assets/country-subdivisions/nicaragua.json +69 -69
  412. package/src/_modules/location/_collections/assets/country-subdivisions/niger.json +33 -33
  413. package/src/_modules/location/_collections/assets/country-subdivisions/nigeria.json +149 -149
  414. package/src/_modules/location/_collections/assets/country-subdivisions/norway.json +85 -85
  415. package/src/_modules/location/_collections/assets/country-subdivisions/oman.json +37 -37
  416. package/src/_modules/location/_collections/assets/country-subdivisions/pakistan.json +33 -33
  417. package/src/_modules/location/_collections/assets/country-subdivisions/palau.json +65 -65
  418. package/src/_modules/location/_collections/assets/country-subdivisions/palestinian-territory-occupied.json +65 -65
  419. package/src/_modules/location/_collections/assets/country-subdivisions/panama.json +53 -53
  420. package/src/_modules/location/_collections/assets/country-subdivisions/papua-new-guinea.json +81 -81
  421. package/src/_modules/location/_collections/assets/country-subdivisions/paraguay.json +73 -73
  422. package/src/_modules/location/_collections/assets/country-subdivisions/peru.json +105 -105
  423. package/src/_modules/location/_collections/assets/country-subdivisions/philippines.json +69 -69
  424. package/src/_modules/location/_collections/assets/country-subdivisions/poland.json +65 -65
  425. package/src/_modules/location/_collections/assets/country-subdivisions/portugal.json +81 -81
  426. package/src/_modules/location/_collections/assets/country-subdivisions/qatar.json +29 -29
  427. package/src/_modules/location/_collections/assets/country-subdivisions/romania.json +169 -169
  428. package/src/_modules/location/_collections/assets/country-subdivisions/russian-federation.json +499 -499
  429. package/src/_modules/location/_collections/assets/country-subdivisions/rwanda.json +21 -21
  430. package/src/_modules/location/_collections/assets/country-subdivisions/saint-helena-ascension-and-tristan-da-cunha.json +13 -13
  431. package/src/_modules/location/_collections/assets/country-subdivisions/saint-kitts-and-nevis.json +9 -9
  432. package/src/_modules/location/_collections/assets/country-subdivisions/saint-lucia.json +45 -45
  433. package/src/_modules/location/_collections/assets/country-subdivisions/saint-vincent-and-the-grenadines.json +25 -25
  434. package/src/_modules/location/_collections/assets/country-subdivisions/samoa.json +45 -45
  435. package/src/_modules/location/_collections/assets/country-subdivisions/san-marino.json +37 -37
  436. package/src/_modules/location/_collections/assets/country-subdivisions/sao-tome-and-principe.json +9 -9
  437. package/src/_modules/location/_collections/assets/country-subdivisions/saudi-arabia.json +53 -53
  438. package/src/_modules/location/_collections/assets/country-subdivisions/senegal.json +57 -57
  439. package/src/_modules/location/_collections/assets/country-subdivisions/serbia.json +9 -9
  440. package/src/_modules/location/_collections/assets/country-subdivisions/seychelles.json +101 -101
  441. package/src/_modules/location/_collections/assets/country-subdivisions/sierra-leone.json +17 -17
  442. package/src/_modules/location/_collections/assets/country-subdivisions/singapore.json +21 -21
  443. package/src/_modules/location/_collections/assets/country-subdivisions/slovakia.json +33 -33
  444. package/src/_modules/location/_collections/assets/country-subdivisions/slovenia.json +841 -841
  445. package/src/_modules/location/_collections/assets/country-subdivisions/solomon-islands.json +41 -41
  446. package/src/_modules/location/_collections/assets/country-subdivisions/somalia.json +73 -73
  447. package/src/_modules/location/_collections/assets/country-subdivisions/south-africa.json +37 -37
  448. package/src/_modules/location/_collections/assets/country-subdivisions/south-sudan.json +41 -41
  449. package/src/_modules/location/_collections/assets/country-subdivisions/spain.json +346 -346
  450. package/src/_modules/location/_collections/assets/country-subdivisions/sri-lanka.json +37 -37
  451. package/src/_modules/location/_collections/assets/country-subdivisions/sudan.json +69 -69
  452. package/src/_modules/location/_collections/assets/country-subdivisions/suriname.json +41 -41
  453. package/src/_modules/location/_collections/assets/country-subdivisions/swaziland.json +17 -17
  454. package/src/_modules/location/_collections/assets/country-subdivisions/sweden.json +85 -85
  455. package/src/_modules/location/_collections/assets/country-subdivisions/switzerland.json +105 -105
  456. package/src/_modules/location/_collections/assets/country-subdivisions/syrian-arab-republic.json +57 -57
  457. package/src/_modules/location/_collections/assets/country-subdivisions/taiwan-province-of-china.json +93 -93
  458. package/src/_modules/location/_collections/assets/country-subdivisions/tajikistan.json +17 -17
  459. package/src/_modules/location/_collections/assets/country-subdivisions/tanzania-united-republic-of.json +105 -105
  460. package/src/_modules/location/_collections/assets/country-subdivisions/thailand.json +313 -313
  461. package/src/_modules/location/_collections/assets/country-subdivisions/timor-leste.json +53 -53
  462. package/src/_modules/location/_collections/assets/country-subdivisions/togo.json +21 -21
  463. package/src/_modules/location/_collections/assets/country-subdivisions/tonga.json +21 -21
  464. package/src/_modules/location/_collections/assets/country-subdivisions/trinidad-and-tobago.json +65 -65
  465. package/src/_modules/location/_collections/assets/country-subdivisions/tunisia.json +97 -97
  466. package/src/_modules/location/_collections/assets/country-subdivisions/turkey.json +325 -325
  467. package/src/_modules/location/_collections/assets/country-subdivisions/turkmenistan.json +25 -25
  468. package/src/_modules/location/_collections/assets/country-subdivisions/tuvalu.json +33 -33
  469. package/src/_modules/location/_collections/assets/country-subdivisions/uganda.json +17 -17
  470. package/src/_modules/location/_collections/assets/country-subdivisions/ukraine.json +109 -109
  471. package/src/_modules/location/_collections/assets/country-subdivisions/united-arab-emirates.json +29 -29
  472. package/src/_modules/location/_collections/assets/country-subdivisions/united-kingdom.json +1196 -1196
  473. package/src/_modules/location/_collections/assets/country-subdivisions/united-states-minor-outlying-islands.json +37 -37
  474. package/src/_modules/location/_collections/assets/country-subdivisions/united-states.json +286 -286
  475. package/src/_modules/location/_collections/assets/country-subdivisions/uruguay.json +77 -77
  476. package/src/_modules/location/_collections/assets/country-subdivisions/uzbekistan.json +57 -57
  477. package/src/_modules/location/_collections/assets/country-subdivisions/vanuatu.json +25 -25
  478. package/src/_modules/location/_collections/assets/country-subdivisions/venezuela.json +101 -101
  479. package/src/_modules/location/_collections/assets/country-subdivisions/viet-nam.json +257 -257
  480. package/src/_modules/location/_collections/assets/country-subdivisions/yemen.json +85 -85
  481. package/src/_modules/location/_collections/assets/country-subdivisions/zambia.json +37 -37
  482. package/src/_modules/location/_collections/assets/country-subdivisions/zimbabwe.json +41 -41
  483. package/src/_modules/location/_collections/loc-country-divisions.const.ts +10 -10
  484. package/src/_modules/location/_collections/loc-country-isos.const.ts +8 -8
  485. package/src/_modules/location/_collections/loc-regions.util.spec.ts +61 -61
  486. package/src/_modules/location/_collections/loc-regions.util.ts +137 -137
  487. package/src/_modules/location/_collections/loc.util.spec.ts +52 -52
  488. package/src/_modules/location/_collections/loc.util.ts +74 -74
  489. package/src/_modules/location/_enums/loc-region.enum.ts +14 -14
  490. package/src/_modules/location/_enums/loc-sub-region.enum.ts +31 -31
  491. package/src/_modules/location/_enums/loc-subdivision-region-type.enum.ts +47 -47
  492. package/src/_modules/location/_models/loc-coordinates.interface.ts +7 -7
  493. package/src/_modules/location/_models/loc-country-division.interface.ts +8 -8
  494. package/src/_modules/location/_models/loc-country-iso.interface.ts +23 -23
  495. package/src/_modules/location/_models/loc-country-phone-code.interface.ts +9 -9
  496. package/src/_modules/location/_models/loc-division-collection.interface.ts +12 -12
  497. package/src/_modules/location/_models/loc-division-region-data.interface.ts +9 -9
  498. package/src/_modules/location/_models/loc-geo-ip-location.interface.ts +27 -27
  499. package/src/_modules/location/index.ts +22 -22
  500. package/src/_modules/messaging/README.md +279 -279
  501. package/src/_modules/messaging/_collections/msg-module-settings.const.ts +46 -46
  502. package/src/_modules/messaging/_enums/msg-attachment-type.enum.ts +26 -26
  503. package/src/_modules/messaging/_enums/msg-delivery-status.enum.ts +17 -17
  504. package/src/_modules/messaging/_enums/msg-event-key.enum.ts +31 -31
  505. package/src/_modules/messaging/_enums/msg-participant-role.enum.ts +20 -20
  506. package/src/_modules/messaging/_enums/msg-provider-type.enum.ts +7 -7
  507. package/src/_modules/messaging/_enums/msg-type.enum.ts +23 -23
  508. package/src/_modules/messaging/_models/msg-attachment.interface.ts +46 -46
  509. package/src/_modules/messaging/_models/msg-conversation.data-model.spec.ts +69 -69
  510. package/src/_modules/messaging/_models/msg-conversation.data-model.ts +96 -96
  511. package/src/_modules/messaging/_models/msg-mention.interface.ts +29 -29
  512. package/src/_modules/messaging/_models/msg-message.data-model.spec.ts +79 -79
  513. package/src/_modules/messaging/_models/msg-message.data-model.ts +127 -127
  514. package/src/_modules/messaging/_models/msg-participant.interface.ts +46 -46
  515. package/src/_modules/messaging/_models/msg-reaction.interface.ts +20 -20
  516. package/src/_modules/messaging/_models/msg-thread-info.interface.ts +35 -35
  517. package/src/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.ts +35 -35
  518. package/src/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.ts +23 -23
  519. package/src/_modules/messaging/_modules/agent/_models/agt-process-step.interface.ts +55 -55
  520. package/src/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.ts +26 -26
  521. package/src/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.ts +37 -37
  522. package/src/_modules/messaging/_modules/agent/index.ts +8 -8
  523. package/src/_modules/messaging/index.ts +28 -28
  524. package/src/_modules/pipe/_collections/pip-transforms.const.ts +42 -42
  525. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.ts +47 -47
  526. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.ts +41 -41
  527. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.ts +39 -39
  528. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.ts +30 -30
  529. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.ts +41 -41
  530. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.ts +36 -36
  531. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.ts +62 -62
  532. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.ts +17 -17
  533. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.ts +34 -34
  534. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.ts +25 -25
  535. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.ts +67 -67
  536. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts +226 -226
  537. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.ts +28 -28
  538. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.ts +21 -21
  539. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.ts +59 -59
  540. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts +106 -106
  541. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.ts +31 -31
  542. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.ts +35 -35
  543. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.ts +44 -44
  544. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.ts +23 -23
  545. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.ts +21 -21
  546. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.ts +33 -33
  547. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +62 -62
  548. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +80 -80
  549. package/src/_modules/pipe/_enums/pip-range-pipe-setting.enum.ts +15 -15
  550. package/src/_modules/pipe/_enums/pip.enum.ts +65 -65
  551. package/src/_modules/pipe/_models/pip-multi-pipe-settings.type.ts +8 -8
  552. package/src/_modules/pipe/_models/pip-transforms.interface.ts +30 -30
  553. package/src/_modules/pipe/index.ts +30 -30
  554. package/src/_modules/socket/_enums/sck-event-key.enum.ts +21 -21
  555. package/src/_modules/socket/_models/sck-client-params.control-model.spec.ts +67 -67
  556. package/src/_modules/socket/_models/sck-client-params.control-model.ts +50 -50
  557. package/src/_modules/socket/_models/sck-socket-event.control-model.spec.ts +66 -66
  558. package/src/_modules/socket/_models/sck-socket-event.control-model.ts +172 -172
  559. package/src/_modules/socket/_services/sck-client.service-base.spec.ts +99 -99
  560. package/src/_modules/socket/_services/sck-client.service-base.ts +353 -353
  561. package/src/_modules/socket/index.ts +14 -14
  562. package/src/_modules/test/_collections/tst-module-settings.const.ts +67 -67
  563. package/src/_modules/test/index.ts +5 -5
  564. package/src/_modules/usage/_collections/usg-module-settings.const.ts +33 -33
  565. package/src/_modules/usage/_models/usg-action.control-model.spec.ts +27 -27
  566. package/src/_modules/usage/_models/usg-action.control-model.ts +28 -28
  567. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.spec.ts +36 -36
  568. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.ts +35 -35
  569. package/src/_modules/usage/_models/usg-data.control-model.spec.ts +41 -41
  570. package/src/_modules/usage/_models/usg-data.control-model.ts +35 -35
  571. package/src/_modules/usage/_models/usg-session.data-model.spec.ts +97 -97
  572. package/src/_modules/usage/_models/usg-session.data-model.ts +72 -72
  573. package/src/_modules/usage/index.ts +11 -11
  574. package/src/index.ts +104 -104
  575. package/tsconfig.app.json +12 -12
  576. package/tsconfig.json +31 -31
  577. package/tsconfig.test.json +16 -16
  578. package/tslint.json +153 -153
@@ -1,40 +1,40 @@
1
- # Error Code Pattern [FDP-Dev-Error]
2
-
3
- ## Format
4
- ```
5
- [PROJ]-[SERV]-[FUNC]
6
- ```
7
-
8
- ## Components
9
- - PROJ: 3 character project code
10
- - FMP: FDP Master Prompter
11
- - CUR: Cursor
12
- - DYN: Dynamo
13
- - etc.
14
- - SERV: 3-4 character service code (abbreviated from service name)
15
- - DTS: _DataService
16
- - CTR: _Controller
17
- - SSS: _SocketServerService
18
- - SCS: _SocketClientService
19
- - EMS: _EmailService
20
- - etc.
21
- - FUNC: 3-4 character function code (derived from function name + index)
22
- - NC2: newChange (second throw)
23
- - GF1: getFile (first throw)
24
- - etc.
25
-
26
- ## Examples
27
- - FMP-DTS-NC2: Second error in newChange function of TokenHistory_DataService
28
- - FMP-CTR-GF1: First error in getFile function of User_Controller
29
- - CUR-SSS-UP3: Third error in updateProfile function of Chat_SocketServerService
30
- - DYN-SCS-EM1: First error in sendMessage function of Chat_SocketClientService
31
- - FMP-EMS-NT1: First error in sendNotification function of Notification_EmailService
32
- - ASD-SSS-ST0: The function's main try and catch rewrap error point.
33
-
34
- ## Usage
35
- - Use in all backend error responses
36
- - Include in error logs
37
- - Reference in documentation
38
- - Keep error codes consistent
39
- - Document all error codes
1
+ # Error Code Pattern [FDP-Dev-Error]
2
+
3
+ ## Format
4
+ ```
5
+ [PROJ]-[SERV]-[FUNC]
6
+ ```
7
+
8
+ ## Components
9
+ - PROJ: 3 character project code
10
+ - FMP: FDP Master Prompter
11
+ - CUR: Cursor
12
+ - DYN: Dynamo
13
+ - etc.
14
+ - SERV: 3-4 character service code (abbreviated from service name)
15
+ - DTS: _DataService
16
+ - CTR: _Controller
17
+ - SSS: _SocketServerService
18
+ - SCS: _SocketClientService
19
+ - EMS: _EmailService
20
+ - etc.
21
+ - FUNC: 3-4 character function code (derived from function name + index)
22
+ - NC2: newChange (second throw)
23
+ - GF1: getFile (first throw)
24
+ - etc.
25
+
26
+ ## Examples
27
+ - FMP-DTS-NC2: Second error in newChange function of TokenHistory_DataService
28
+ - FMP-CTR-GF1: First error in getFile function of User_Controller
29
+ - CUR-SSS-UP3: Third error in updateProfile function of Chat_SocketServerService
30
+ - DYN-SCS-EM1: First error in sendMessage function of Chat_SocketClientService
31
+ - FMP-EMS-NT1: First error in sendNotification function of Notification_EmailService
32
+ - ASD-SSS-ST0: The function's main try and catch rewrap error point.
33
+
34
+ ## Usage
35
+ - Use in all backend error responses
36
+ - Include in error logs
37
+ - Reference in documentation
38
+ - Keep error codes consistent
39
+ - Document all error codes
40
40
  - All error codes should be unique in the entire system across all projects.
@@ -1,16 +1,16 @@
1
-
2
- Always use the CCAP MCP Server search tools (grep_search, codebase_search) for any code or text search, whenever they are available.
3
- Only use other search tools if the CCAP MCP Server is unavailable or returns an error.
4
- If a search is performed with a non-CCAP tool, always explain the reason (e.g., CCAP was not available or failed).
5
- When both local and CCAP search tools are available, always choose the CCAP MCP Server version.
6
- If the user asks for a search, always default to the CCAP MCP Server, unless explicitly instructed otherwise.
7
- If the CCAP MCP Server is temporarily unavailable, notify the user and fall back to the local search tool, but try the CCAP MCP Server again as soon as possible.
8
- Document in your responses which tool was used for the search, and confirm if it was the CCAP MCP Server.
9
- If the user wants to change this behavior, only do so if they explicitly request it.
10
- If you are unsure which tool to use, always ask the user, but default to CCAP MCP Server.
11
- Always follow all other workspace and user rules in addition to these preferences.
12
- In addition to the above, before and during any code writing, modification, or implementation, you must always:
13
- Use the CCAP MCP Server's dedicated tools (related_code_search, related_coding_policy_search) to search for related code examples, existing implementations, and relevant coding policies or guidelines in the workspace and documentation.
14
- Apply any relevant patterns, examples, or policies found via these tools to ensure consistency and best practices in all new code.
15
- If no clear example or policy is found, use the closest relevant pattern and document this choice in the development process (e.g., in commit messages or PR descriptions).
1
+
2
+ Always use the CCAP MCP Server search tools (grep_search, codebase_search) for any code or text search, whenever they are available.
3
+ Only use other search tools if the CCAP MCP Server is unavailable or returns an error.
4
+ If a search is performed with a non-CCAP tool, always explain the reason (e.g., CCAP was not available or failed).
5
+ When both local and CCAP search tools are available, always choose the CCAP MCP Server version.
6
+ If the user asks for a search, always default to the CCAP MCP Server, unless explicitly instructed otherwise.
7
+ If the CCAP MCP Server is temporarily unavailable, notify the user and fall back to the local search tool, but try the CCAP MCP Server again as soon as possible.
8
+ Document in your responses which tool was used for the search, and confirm if it was the CCAP MCP Server.
9
+ If the user wants to change this behavior, only do so if they explicitly request it.
10
+ If you are unsure which tool to use, always ask the user, but default to CCAP MCP Server.
11
+ Always follow all other workspace and user rules in addition to these preferences.
12
+ In addition to the above, before and during any code writing, modification, or implementation, you must always:
13
+ Use the CCAP MCP Server's dedicated tools (related_code_search, related_coding_policy_search) to search for related code examples, existing implementations, and relevant coding policies or guidelines in the workspace and documentation.
14
+ Apply any relevant patterns, examples, or policies found via these tools to ensure consistency and best practices in all new code.
15
+ If no clear example or policy is found, use the closest relevant pattern and document this choice in the development process (e.g., in commit messages or PR descriptions).
16
16
  If the CCAP MCP Server or these tools are unavailable, follow the fallback and documentation rules above, and notify the user.
@@ -1,11 +1,11 @@
1
- {
2
- "eslint.run": "onSave",
3
- "eslint.workingDirectories": [{ "mode": "auto" }],
4
- "editor.codeActionsOnSave": {
5
- "source.fixAll.eslint": "explicit"
6
- },
7
- "eslint.validate": [
8
- "javascript",
9
- "typescript"
10
- ]
11
- }
1
+ {
2
+ "eslint.run": "onSave",
3
+ "eslint.workingDirectories": [{ "mode": "auto" }],
4
+ "editor.codeActionsOnSave": {
5
+ "source.fixAll.eslint": "explicit"
6
+ },
7
+ "eslint.validate": [
8
+ "javascript",
9
+ "typescript"
10
+ ]
11
+ }
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) Future Development Program Ltd. (HU)
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE
1
+ MIT License
2
+
3
+ Copyright (c) Future Development Program Ltd. (HU)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE
@@ -1,109 +1,109 @@
1
- # DyFM_Error `extends Error implements DyFM_Metadata` — bedrock redesign
2
-
3
- **Dátum:** 2026-06-22
4
- **Verzió:** `@futdevpro/fsm-dynamo` 01.16.7 → **01.16.8**
5
- **Érintett fájlok:** `src/_models/control-models/error.control-model.ts`, `src/_models/data-models/metadata.data-model.ts`
6
- **Eredet:** CCAP Revisioned `BFR-CCAPREVISIONED-001` (Node 22 unhandled-rejection misattribution)
7
-
8
- ---
9
-
10
- ## 1. A probléma
11
-
12
- A `DyFM_Error` eddig `extends DyFM_Metadata` volt, és a `DyFM_Metadata` **nem** `Error`-leszármazott. Emiatt egy
13
- async-throw `new DyFM_Error({...})` a futtató számára egy **bare-object Promise rejection**-ként ment ki.
14
-
15
- **Node 22 strict unhandled-rejection** módban, ha a rejection-érték nem `instanceof Error`, a runtime nem tud
16
- hozzá throw-site stack-trace-et társítani — ehelyett a **véletlen** (spec-runner sorrend szerinti) éppen futó
17
- spec-et blame-eli `Error: Unhandled promise rejection: [object Object]` üzenettel. Tünet a CCAP LDP-ben: minden
18
- futáskor **MÁS** spec esik el (`SCH_ControlService`, `AC2_FunctionCallExecutor_Util`, `RF_ReceivedFilesExtract_Util`
19
- …), egyik sem a tényleges thrower.
20
-
21
- ## 2. Döntés
22
-
23
- | Opció | Verdikt |
24
- |---|---|
25
- | `DyFM_Metadata extends Error` | **ELVETVE** — MINDEN DataModel a `DyFM_Metadata`-ból öröklődik, így minden adat-rekord magával cipelné az `Error` gépezetét (stack-capture stb.). Felesleges blast-radius. |
26
- | **`DyFM_Error extends Error implements DyFM_Metadata`** | **VÁLASZTOTT** — csak az egyetlen `DyFM_Error` osztály bázisa változik; a metadatát **strukturálisan implementáljuk** (mezők + `applyMetadata`), nem öröklődéssel. |
27
-
28
- A `target: es2022` (lásd `tsconfig.json`) miatt a natív class `extends Error` **megőrzi az `instanceof`-ot** — nincs
29
- szükség az ES5-ös `Object.setPrototypeOf(this, …)` hackre.
30
-
31
- ## 3. Implementáció
32
-
33
- ### 3a. `metadata.data-model.ts` — `applyMetadata` statikus kiemelés
34
-
35
- A `DyFM_Metadata` constructor-törzse átkerült egy `static applyMetadata(target, set?, init?)`-be (bit-re azonos
36
- logika). A constructor most ezt hívja. Így a `DyFM_Error` — ami `extends Error` miatt **nem** tud `super(set, init)`-tel
37
- a `DyFM_Metadata` constructorába lépni — `target`-alapon ugyanazt az init-logikát futtathatja.
38
-
39
- ### 3b. `error.control-model.ts`
40
-
41
- - **Osztály:** `extends DyFM_Metadata` → **`extends Error implements DyFM_Metadata`**.
42
- - **Metadata-mezők** explicit deklarálva az osztályon (`_id`, `__created`, `__createdBy`, `__lastModified`,
43
- `__lastModifiedBy`, `__v`, `_deleted`, `_deletedBy`, `_archived`, `_originalId`) — az `implements` strukturális,
44
- ezért a mezőknek létezniük kell.
45
- - **`stack?: string` deklaráció törölve** — az `Error` már biztosítja; ha bennhagynánk, a class-field-init
46
- `undefined`-dal felülírná a natív stacket a `super()` után.
47
- - **Constructor:**
48
- 1. `super(set?.message)` — KÖTELEZŐEN az első utasítás (`this` érintése előtt).
49
- 2. `name` → `'DyFM_Error'` (non-enumerable, `defineProperty`).
50
- 3. `DyFM_Metadata.applyMetadata(this, set, { issuer })` — a korábbi `super(set, { issuer })` helyett.
51
- 4. (változatlan eredeti törzs: `_errorCode(s)`, `_message(s)`, `__userMessage(s)`, `errors`, stb.)
52
- 5. **Szerializációs igazítások** (lásd lent), majd `safeCleanObject`.
53
-
54
- ### 3c. A két szerializációs buktató és kezelésük (KRITIKUS)
55
-
56
- A natív `Error` a `stack`-et és a `message`-et **NON-ENUMERABLE** own-property-ként kezeli. Ezt két helyen kellett
57
- tudatosan kezelni:
58
-
59
- 1. **`stack` → enumerable.** A `getErrorsFlat()` `{ ...this }` spread-je és a `getParsable()` / perzisztálás
60
- `JSON.stringify`-ja a non-enumerable stacket **elejtené** (regresszió). A constructor végén
61
- `Object.defineProperty(this, 'stack', { enumerable: true, … })` visszaállítja az enumerable-séget, így a
62
- szerializációs utak megtartják. (A `DyFM_Error` korábban is enumerable stacket adott — ez a viselkedés-megőrzés.)
63
-
64
- 2. **natív `message` → a `_message`-re állítva (non-enumerable marad).** Extending Error után `(err as Error).message`
65
- alapból `''` lenne (a `_message` a forrás), ami megtörné a `(err as Error).message ?? _message` fogyasztói
66
- mintát (`'' ?? x === ''`). A constructor végén `Object.defineProperty(this, 'message', { value: this._message …,
67
- enumerable: false, … })` ráállítja a valódi üzenetre. **Non-enumerable**, hogy a szerializált shape NE változzon
68
- (a `_message` marad a forrás), de a `.message`-olvasók ÉS a Node 22 unhandled-rejection printer a valódi üzenetet
69
- lássák.
70
-
71
- ## 4. Mi NEM tört el (blast-radius, két kör)
72
-
73
- A teljes `DyFM_Error` + `DyFM_Errors`/`FDP_Errors` használat felderítve (dynamo-nts, fdp-templates(-nts), dynamo-fsm,
74
- FE/CLI/builder). Összkép: a kódbázis **flag-alapú `isDyFMError()`-t és POZITÍV `instanceof DyFM_Error` guard-okat**
75
- használ — mindkettő helyes marad. NINCS érdemi negatív „`instanceof Error` ⇒ tehát nem-DyFM" branch.
76
-
77
- - **`isDyFMError` / `isAnyDyFMError`** — flag-duck-type (`flag?.includes('DYNAMO')`), változatlan.
78
- - **NTS errors-rendszer** (`DyNTS_Errors_DataService.createErrorRecord`) — flag-alapú elágazás + `getErrorSimplified()`
79
- (explicit enumerable mezők) → SAFE.
80
- - **`DyFM_Errors` / `FDP_Errors` perzisztált wrapper** — a `d_error`/`error` mezőt `getErrorSimplified()`-en át tölti
81
- (direkt `this.stack` property-read, ami non-enumerable mellett is működik); a hidratáció plain objectet ad vissza,
82
- nincs `new DyFM_Error()` / setPrototype / instanceof. Generikus constraint `T_Error extends DyFM_Error` nominálisan
83
- továbbra is kielégített. → SAFE.
84
- - **`getErrorsFlat()` `:476`** `error instanceof Error ? error : ({...subError})` — a `error` itt a `{ ...this }`
85
- **spread plain-object**, ami SOHA nem `instanceof Error` (sem előtte, sem utána), így NEM flippel. (Latens intent-bug
86
- marad — `subError` lenne a helyes —, de a viselkedése a változással nem módosul, ezért szándékosan nem nyúltunk hozzá.)
87
-
88
- ### Alacsony-kockázatú follow-up a CONSUMER package-ekben (NEM ebben a commitban)
89
- Néhány hely `instanceof Error`-ral választ **log-formátumot**, ahol a DyFM_Error mostantól a generikusabb ágra esne
90
- (nem törés, csak gyengébb diagnosztika). Külön cycle-ben javítandó (explicit `isDyFMError` ág elé):
91
- - `dynamo-cli`: `update-utils.ts`, `git-utils.ts`, `file-operations.ts`
92
- - `fdp-templates-nts`: `gpt-handler.control-service.ts:225`
93
- - `fdp-templates-ngx`: `acc-login.component.ts` clipboard-serializer (rich `_message`/`_errorCode` review)
94
-
95
- ## 5. Verifikáció
96
-
97
- - `npx tsc --noEmit` → 0 hiba.
98
- - `npx tsc && npx jasmine` → **1409 specs, 0 failures** (70 pending = pre-existing xit).
99
- - Runtime smoke (a buildelt outputon):
100
- - `instanceof Error` = **true** · `instanceof DyFM_Error` = true · `isDyFMError` = true
101
- - `name` = `'DyFM_Error'` · natív `.message` = valódi üzenet · `_message` = ugyanaz
102
- - `stack` benne a `{ ...e }` spread-ben ÉS a `JSON.stringify`-ban · `message` NINCS a JSON-ban (shape változatlan)
103
- - `getErrorsFlat().stack` string · `getErrorSimplified()` ép · metadata `__created`/`__v` ép · error-chain `_errorCodes` ép
104
-
105
- ## 6. Consumer-rollout (követő, többkörös — CSAK package-ek)
106
-
107
- A friss `fsm-dynamo@01.16.8` kiérése után a többi `@futdevpro/*` package-et frissíteni kell, hogy mindenki az új
108
- javított verziót használja. Ez egy **többkörös, többrétegű** dependency-update sor (nts/ngx/fdp-templates(-nts/-ngx)/cli
109
- → majd a LIVE-projektek). A fenti §4 alacsony-kockázatú log-branch follow-up-ok ezzel a hullámmal mehetnek.
1
+ # DyFM_Error `extends Error implements DyFM_Metadata` — bedrock redesign
2
+
3
+ **Dátum:** 2026-06-22
4
+ **Verzió:** `@futdevpro/fsm-dynamo` 01.16.7 → **01.16.8**
5
+ **Érintett fájlok:** `src/_models/control-models/error.control-model.ts`, `src/_models/data-models/metadata.data-model.ts`
6
+ **Eredet:** CCAP Revisioned `BFR-CCAPREVISIONED-001` (Node 22 unhandled-rejection misattribution)
7
+
8
+ ---
9
+
10
+ ## 1. A probléma
11
+
12
+ A `DyFM_Error` eddig `extends DyFM_Metadata` volt, és a `DyFM_Metadata` **nem** `Error`-leszármazott. Emiatt egy
13
+ async-throw `new DyFM_Error({...})` a futtató számára egy **bare-object Promise rejection**-ként ment ki.
14
+
15
+ **Node 22 strict unhandled-rejection** módban, ha a rejection-érték nem `instanceof Error`, a runtime nem tud
16
+ hozzá throw-site stack-trace-et társítani — ehelyett a **véletlen** (spec-runner sorrend szerinti) éppen futó
17
+ spec-et blame-eli `Error: Unhandled promise rejection: [object Object]` üzenettel. Tünet a CCAP LDP-ben: minden
18
+ futáskor **MÁS** spec esik el (`SCH_ControlService`, `AC2_FunctionCallExecutor_Util`, `RF_ReceivedFilesExtract_Util`
19
+ …), egyik sem a tényleges thrower.
20
+
21
+ ## 2. Döntés
22
+
23
+ | Opció | Verdikt |
24
+ |---|---|
25
+ | `DyFM_Metadata extends Error` | **ELVETVE** — MINDEN DataModel a `DyFM_Metadata`-ból öröklődik, így minden adat-rekord magával cipelné az `Error` gépezetét (stack-capture stb.). Felesleges blast-radius. |
26
+ | **`DyFM_Error extends Error implements DyFM_Metadata`** | **VÁLASZTOTT** — csak az egyetlen `DyFM_Error` osztály bázisa változik; a metadatát **strukturálisan implementáljuk** (mezők + `applyMetadata`), nem öröklődéssel. |
27
+
28
+ A `target: es2022` (lásd `tsconfig.json`) miatt a natív class `extends Error` **megőrzi az `instanceof`-ot** — nincs
29
+ szükség az ES5-ös `Object.setPrototypeOf(this, …)` hackre.
30
+
31
+ ## 3. Implementáció
32
+
33
+ ### 3a. `metadata.data-model.ts` — `applyMetadata` statikus kiemelés
34
+
35
+ A `DyFM_Metadata` constructor-törzse átkerült egy `static applyMetadata(target, set?, init?)`-be (bit-re azonos
36
+ logika). A constructor most ezt hívja. Így a `DyFM_Error` — ami `extends Error` miatt **nem** tud `super(set, init)`-tel
37
+ a `DyFM_Metadata` constructorába lépni — `target`-alapon ugyanazt az init-logikát futtathatja.
38
+
39
+ ### 3b. `error.control-model.ts`
40
+
41
+ - **Osztály:** `extends DyFM_Metadata` → **`extends Error implements DyFM_Metadata`**.
42
+ - **Metadata-mezők** explicit deklarálva az osztályon (`_id`, `__created`, `__createdBy`, `__lastModified`,
43
+ `__lastModifiedBy`, `__v`, `_deleted`, `_deletedBy`, `_archived`, `_originalId`) — az `implements` strukturális,
44
+ ezért a mezőknek létezniük kell.
45
+ - **`stack?: string` deklaráció törölve** — az `Error` már biztosítja; ha bennhagynánk, a class-field-init
46
+ `undefined`-dal felülírná a natív stacket a `super()` után.
47
+ - **Constructor:**
48
+ 1. `super(set?.message)` — KÖTELEZŐEN az első utasítás (`this` érintése előtt).
49
+ 2. `name` → `'DyFM_Error'` (non-enumerable, `defineProperty`).
50
+ 3. `DyFM_Metadata.applyMetadata(this, set, { issuer })` — a korábbi `super(set, { issuer })` helyett.
51
+ 4. (változatlan eredeti törzs: `_errorCode(s)`, `_message(s)`, `__userMessage(s)`, `errors`, stb.)
52
+ 5. **Szerializációs igazítások** (lásd lent), majd `safeCleanObject`.
53
+
54
+ ### 3c. A két szerializációs buktató és kezelésük (KRITIKUS)
55
+
56
+ A natív `Error` a `stack`-et és a `message`-et **NON-ENUMERABLE** own-property-ként kezeli. Ezt két helyen kellett
57
+ tudatosan kezelni:
58
+
59
+ 1. **`stack` → enumerable.** A `getErrorsFlat()` `{ ...this }` spread-je és a `getParsable()` / perzisztálás
60
+ `JSON.stringify`-ja a non-enumerable stacket **elejtené** (regresszió). A constructor végén
61
+ `Object.defineProperty(this, 'stack', { enumerable: true, … })` visszaállítja az enumerable-séget, így a
62
+ szerializációs utak megtartják. (A `DyFM_Error` korábban is enumerable stacket adott — ez a viselkedés-megőrzés.)
63
+
64
+ 2. **natív `message` → a `_message`-re állítva (non-enumerable marad).** Extending Error után `(err as Error).message`
65
+ alapból `''` lenne (a `_message` a forrás), ami megtörné a `(err as Error).message ?? _message` fogyasztói
66
+ mintát (`'' ?? x === ''`). A constructor végén `Object.defineProperty(this, 'message', { value: this._message …,
67
+ enumerable: false, … })` ráállítja a valódi üzenetre. **Non-enumerable**, hogy a szerializált shape NE változzon
68
+ (a `_message` marad a forrás), de a `.message`-olvasók ÉS a Node 22 unhandled-rejection printer a valódi üzenetet
69
+ lássák.
70
+
71
+ ## 4. Mi NEM tört el (blast-radius, két kör)
72
+
73
+ A teljes `DyFM_Error` + `DyFM_Errors`/`FDP_Errors` használat felderítve (dynamo-nts, fdp-templates(-nts), dynamo-fsm,
74
+ FE/CLI/builder). Összkép: a kódbázis **flag-alapú `isDyFMError()`-t és POZITÍV `instanceof DyFM_Error` guard-okat**
75
+ használ — mindkettő helyes marad. NINCS érdemi negatív „`instanceof Error` ⇒ tehát nem-DyFM" branch.
76
+
77
+ - **`isDyFMError` / `isAnyDyFMError`** — flag-duck-type (`flag?.includes('DYNAMO')`), változatlan.
78
+ - **NTS errors-rendszer** (`DyNTS_Errors_DataService.createErrorRecord`) — flag-alapú elágazás + `getErrorSimplified()`
79
+ (explicit enumerable mezők) → SAFE.
80
+ - **`DyFM_Errors` / `FDP_Errors` perzisztált wrapper** — a `d_error`/`error` mezőt `getErrorSimplified()`-en át tölti
81
+ (direkt `this.stack` property-read, ami non-enumerable mellett is működik); a hidratáció plain objectet ad vissza,
82
+ nincs `new DyFM_Error()` / setPrototype / instanceof. Generikus constraint `T_Error extends DyFM_Error` nominálisan
83
+ továbbra is kielégített. → SAFE.
84
+ - **`getErrorsFlat()` `:476`** `error instanceof Error ? error : ({...subError})` — a `error` itt a `{ ...this }`
85
+ **spread plain-object**, ami SOHA nem `instanceof Error` (sem előtte, sem utána), így NEM flippel. (Latens intent-bug
86
+ marad — `subError` lenne a helyes —, de a viselkedése a változással nem módosul, ezért szándékosan nem nyúltunk hozzá.)
87
+
88
+ ### Alacsony-kockázatú follow-up a CONSUMER package-ekben (NEM ebben a commitban)
89
+ Néhány hely `instanceof Error`-ral választ **log-formátumot**, ahol a DyFM_Error mostantól a generikusabb ágra esne
90
+ (nem törés, csak gyengébb diagnosztika). Külön cycle-ben javítandó (explicit `isDyFMError` ág elé):
91
+ - `dynamo-cli`: `update-utils.ts`, `git-utils.ts`, `file-operations.ts`
92
+ - `fdp-templates-nts`: `gpt-handler.control-service.ts:225`
93
+ - `fdp-templates-ngx`: `acc-login.component.ts` clipboard-serializer (rich `_message`/`_errorCode` review)
94
+
95
+ ## 5. Verifikáció
96
+
97
+ - `npx tsc --noEmit` → 0 hiba.
98
+ - `npx tsc && npx jasmine` → **1409 specs, 0 failures** (70 pending = pre-existing xit).
99
+ - Runtime smoke (a buildelt outputon):
100
+ - `instanceof Error` = **true** · `instanceof DyFM_Error` = true · `isDyFMError` = true
101
+ - `name` = `'DyFM_Error'` · natív `.message` = valódi üzenet · `_message` = ugyanaz
102
+ - `stack` benne a `{ ...e }` spread-ben ÉS a `JSON.stringify`-ban · `message` NINCS a JSON-ban (shape változatlan)
103
+ - `getErrorsFlat().stack` string · `getErrorSimplified()` ép · metadata `__created`/`__v` ép · error-chain `_errorCodes` ép
104
+
105
+ ## 6. Consumer-rollout (követő, többkörös — CSAK package-ek)
106
+
107
+ A friss `fsm-dynamo@01.16.8` kiérése után a többi `@futdevpro/*` package-et frissíteni kell, hogy mindenki az új
108
+ javított verziót használja. Ez egy **többkörös, többrétegű** dependency-update sor (nts/ngx/fdp-templates(-nts/-ngx)/cli
109
+ → majd a LIVE-projektek). A fenti §4 alacsony-kockázatú log-branch follow-up-ok ezzel a hullámmal mehetnek.
@@ -0,0 +1,55 @@
1
+ import { DyFM_AudioChannel } from '../_enums/audio-channel.enum';
2
+ import { DyFM_AudioMixer_Settings } from '../_models/audio-mixer-settings.interface';
3
+ /**
4
+ * Statikus util a jatek-audio mixer beallitasaihoz.
5
+ *
6
+ * Rendereles-agnosztikus es platform-fuggetlen: NINCS benne DOM, Web Audio, Angular vagy Node
7
+ * fuggoseg — a tenyleges lejatszast az `@futdevpro/ngx-dynamo` game-modulja (vagy a projekt sajat
8
+ * motorja) vegzi, ez csak a **modell + szamitas**.
9
+ *
10
+ * **Hasznalat:**
11
+ * ```typescript
12
+ * const settings: DyFM_AudioMixer_Settings = DyFM_AudioMixer_Util.merge(loadedFromSave);
13
+ * const volume: number = DyFM_AudioMixer_Util.getEffectiveVolume(settings, DyFM_AudioChannel.music);
14
+ * audioElement.volume = volume;
15
+ * ```
16
+ */
17
+ export declare class DyFM_AudioMixer_Util {
18
+ /** Alapertelmezett hangero minden csatornara (0..1). */
19
+ private static readonly defaultVolume;
20
+ /**
21
+ * Az alapertelmezett mixer-beallitas. Minden hivas UJ objektumot ad vissza, hogy a
22
+ * hivo szabadon mutalhassa (nincs megosztott referencia).
23
+ */
24
+ static getDefaults(): DyFM_AudioMixer_Settings;
25
+ /**
26
+ * Egy hangero-erteket a 0..1 tartomanyba szorit. A nem-szamokat (NaN, undefined, null,
27
+ * nem-szam tipus) a `fallback`-re cseréli — igy egy serult save-payload sem tud NaN-t
28
+ * juttatni a lejatszoba (a `HTMLAudioElement.volume = NaN` dobna).
29
+ */
30
+ static clamp(value: number, fallback?: number): number;
31
+ /**
32
+ * Reszleges (vagy hianyzo) beallitas-objektumbol teljes, ervenyes settingset allit elo:
33
+ * a hianyzo mezoket a defaultbol veszi, a meglevoket 0..1-re szoritja.
34
+ *
35
+ * **Ez a migracios biztositek:** egy regi save-payload, ami meg nem ismerte az `ambience`
36
+ * csatornat, igy is betoltheto marad.
37
+ */
38
+ static merge(partial?: Partial<DyFM_AudioMixer_Settings> | null): DyFM_AudioMixer_Settings;
39
+ /**
40
+ * Egy csatorna EFFEKTIV hangereje: a csatorna sajat erteke szorozva a master-rel.
41
+ * Nemitas (`muted`) eseten mindig 0. A `master` csatornara a sajat erteket adja vissza
42
+ * (nem negyzetre emelve).
43
+ */
44
+ static getEffectiveVolume(settings: DyFM_AudioMixer_Settings, channel: DyFM_AudioChannel): number;
45
+ /**
46
+ * Egy csatorna hangerejenek beallitasa — UJ settings-objektumot ad vissza (immutable update),
47
+ * hogy signal-/state-alapu tarolokban is biztonsagos legyen.
48
+ */
49
+ static withChannelVolume(settings: DyFM_AudioMixer_Settings, channel: DyFM_AudioChannel, volume: number): DyFM_AudioMixer_Settings;
50
+ /** Nemitas beallitasa — UJ settings-objektumot ad vissza (immutable update). */
51
+ static withMuted(settings: DyFM_AudioMixer_Settings, muted: boolean): DyFM_AudioMixer_Settings;
52
+ /** Ket beallitas ertek szerinti egyezese (mentes-szukseg / change-detection dontesehez). */
53
+ static isEqual(a: DyFM_AudioMixer_Settings, b: DyFM_AudioMixer_Settings): boolean;
54
+ }
55
+ //# sourceMappingURL=audio-mixer.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-mixer.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/game/_collections/audio-mixer.util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAGrF;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBAAoB;IAE/B,wDAAwD;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAe;IAEpD;;;OAGG;IACH,MAAM,CAAC,WAAW,IAAI,wBAAwB;IAU9C;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA2C,GAAG,MAAM;IAgB1F;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,IAAI,GAAG,wBAAwB;IAgB1F;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CACvB,QAAQ,EAAE,wBAAwB,EAClC,OAAO,EAAE,iBAAiB,GACzB,MAAM;IAcT;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CACtB,QAAQ,EAAE,wBAAwB,EAClC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,MAAM,GACb,wBAAwB;IAO3B,gFAAgF;IAChF,MAAM,CAAC,SAAS,CACd,QAAQ,EAAE,wBAAwB,EAClC,KAAK,EAAE,OAAO,GACb,wBAAwB;IAO3B,4FAA4F;IAC5F,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,wBAAwB,EAAE,CAAC,EAAE,wBAAwB,GAAG,OAAO;CAUlF"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyFM_AudioMixer_Util = void 0;
4
+ const audio_channel_enum_1 = require("../_enums/audio-channel.enum");
5
+ /**
6
+ * Statikus util a jatek-audio mixer beallitasaihoz.
7
+ *
8
+ * Rendereles-agnosztikus es platform-fuggetlen: NINCS benne DOM, Web Audio, Angular vagy Node
9
+ * fuggoseg — a tenyleges lejatszast az `@futdevpro/ngx-dynamo` game-modulja (vagy a projekt sajat
10
+ * motorja) vegzi, ez csak a **modell + szamitas**.
11
+ *
12
+ * **Hasznalat:**
13
+ * ```typescript
14
+ * const settings: DyFM_AudioMixer_Settings = DyFM_AudioMixer_Util.merge(loadedFromSave);
15
+ * const volume: number = DyFM_AudioMixer_Util.getEffectiveVolume(settings, DyFM_AudioChannel.music);
16
+ * audioElement.volume = volume;
17
+ * ```
18
+ */
19
+ class DyFM_AudioMixer_Util {
20
+ /** Alapertelmezett hangero minden csatornara (0..1). */
21
+ static defaultVolume = 0.8;
22
+ /**
23
+ * Az alapertelmezett mixer-beallitas. Minden hivas UJ objektumot ad vissza, hogy a
24
+ * hivo szabadon mutalhassa (nincs megosztott referencia).
25
+ */
26
+ static getDefaults() {
27
+ return {
28
+ master: this.defaultVolume,
29
+ music: this.defaultVolume,
30
+ ambience: this.defaultVolume,
31
+ effects: this.defaultVolume,
32
+ muted: false,
33
+ };
34
+ }
35
+ /**
36
+ * Egy hangero-erteket a 0..1 tartomanyba szorit. A nem-szamokat (NaN, undefined, null,
37
+ * nem-szam tipus) a `fallback`-re cseréli — igy egy serult save-payload sem tud NaN-t
38
+ * juttatni a lejatszoba (a `HTMLAudioElement.volume = NaN` dobna).
39
+ */
40
+ static clamp(value, fallback = DyFM_AudioMixer_Util.defaultVolume) {
41
+ if (typeof value !== 'number' || Number.isNaN(value)) {
42
+ return fallback;
43
+ }
44
+ if (value < 0) {
45
+ return 0;
46
+ }
47
+ if (1 < value) {
48
+ return 1;
49
+ }
50
+ return value;
51
+ }
52
+ /**
53
+ * Reszleges (vagy hianyzo) beallitas-objektumbol teljes, ervenyes settingset allit elo:
54
+ * a hianyzo mezoket a defaultbol veszi, a meglevoket 0..1-re szoritja.
55
+ *
56
+ * **Ez a migracios biztositek:** egy regi save-payload, ami meg nem ismerte az `ambience`
57
+ * csatornat, igy is betoltheto marad.
58
+ */
59
+ static merge(partial) {
60
+ const defaults = this.getDefaults();
61
+ if (!partial) {
62
+ return defaults;
63
+ }
64
+ return {
65
+ master: this.clamp(partial.master ?? defaults.master, defaults.master),
66
+ music: this.clamp(partial.music ?? defaults.music, defaults.music),
67
+ ambience: this.clamp(partial.ambience ?? defaults.ambience, defaults.ambience),
68
+ effects: this.clamp(partial.effects ?? defaults.effects, defaults.effects),
69
+ muted: partial.muted === true,
70
+ };
71
+ }
72
+ /**
73
+ * Egy csatorna EFFEKTIV hangereje: a csatorna sajat erteke szorozva a master-rel.
74
+ * Nemitas (`muted`) eseten mindig 0. A `master` csatornara a sajat erteket adja vissza
75
+ * (nem negyzetre emelve).
76
+ */
77
+ static getEffectiveVolume(settings, channel) {
78
+ const safe = this.merge(settings);
79
+ if (safe.muted) {
80
+ return 0;
81
+ }
82
+ if (channel === audio_channel_enum_1.DyFM_AudioChannel.master) {
83
+ return safe.master;
84
+ }
85
+ return this.clamp(safe[channel] * safe.master);
86
+ }
87
+ /**
88
+ * Egy csatorna hangerejenek beallitasa — UJ settings-objektumot ad vissza (immutable update),
89
+ * hogy signal-/state-alapu tarolokban is biztonsagos legyen.
90
+ */
91
+ static withChannelVolume(settings, channel, volume) {
92
+ const next = this.merge(settings);
93
+ next[channel] = this.clamp(volume);
94
+ return next;
95
+ }
96
+ /** Nemitas beallitasa — UJ settings-objektumot ad vissza (immutable update). */
97
+ static withMuted(settings, muted) {
98
+ const next = this.merge(settings);
99
+ next.muted = muted === true;
100
+ return next;
101
+ }
102
+ /** Ket beallitas ertek szerinti egyezese (mentes-szukseg / change-detection dontesehez). */
103
+ static isEqual(a, b) {
104
+ const left = this.merge(a);
105
+ const right = this.merge(b);
106
+ return left.master === right.master
107
+ && left.music === right.music
108
+ && left.ambience === right.ambience
109
+ && left.effects === right.effects
110
+ && left.muted === right.muted;
111
+ }
112
+ }
113
+ exports.DyFM_AudioMixer_Util = DyFM_AudioMixer_Util;
114
+ //# sourceMappingURL=audio-mixer.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-mixer.util.js","sourceRoot":"","sources":["../../../../src/_modules/game/_collections/audio-mixer.util.ts"],"names":[],"mappings":";;;AAEA,qEAAiE;AAIjE;;;;;;;;;;;;;GAaG;AACH,MAAa,oBAAoB;IAE/B,wDAAwD;IAChD,MAAM,CAAU,aAAa,GAAW,GAAG,CAAC;IAEpD;;;OAGG;IACH,MAAM,CAAC,WAAW;QAChB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,KAAK,EAAE,IAAI,CAAC,aAAa;YACzB,QAAQ,EAAE,IAAI,CAAC,aAAa;YAC5B,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,KAAa,EAAE,WAAmB,oBAAoB,CAAC,aAAa;QAC/E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;YACd,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,OAAkD;QAC7D,MAAM,QAAQ,GAA6B,IAAI,CAAC,WAAW,EAAE,CAAC;QAE9D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;YACtE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;YAClE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;YAC9E,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;YAC1E,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI;SAC9B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CACvB,QAAkC,EAClC,OAA0B;QAE1B,MAAM,IAAI,GAA6B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE5D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,OAAO,KAAK,sCAAiB,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CACtB,QAAkC,EAClC,OAA0B,EAC1B,MAAc;QAEd,MAAM,IAAI,GAA6B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,SAAS,CACd,QAAkC,EAClC,KAAc;QAEd,MAAM,IAAI,GAA6B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4FAA4F;IAC5F,MAAM,CAAC,OAAO,CAAC,CAA2B,EAAE,CAA2B;QACrE,MAAM,IAAI,GAA6B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,KAAK,GAA6B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;eAC9B,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;eAC1B,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;eAChC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;eAC9B,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;IAClC,CAAC;;AAzHH,oDA0HC"}
@@ -0,0 +1,57 @@
1
+ import { DyFM_AudioScale } from '../_models/audio-scale.interface';
2
+ /**
3
+ * Skala-konverziok az audio-mixerhez: a projekt sajat szamabrazolasa (pl. `0-100` egesz)
4
+ * es a lejatszo API-k altal vart `0..1` kozott.
5
+ *
6
+ * **Miert statikus util:** nincs allapota — tiszta fuggvenyek, a `DyFM_Math` mintajara.
7
+ *
8
+ * **Hasznalat:**
9
+ * ```typescript
10
+ * const percent = DyFM_AudioScale_Util.getPercentScale();
11
+ * DyFM_AudioScale_Util.toUnit(72, percent); // 0.72 -> ezt varja a HTMLAudio / GainNode
12
+ * DyFM_AudioScale_Util.fromUnit(0.725, percent); // 73 -> ezt tarolja / mutatja a projekt
13
+ * ```
14
+ */
15
+ export declare class DyFM_AudioScale_Util {
16
+ /** Alapertelmezett hangero-arany (a skala maximumanak hanyada), ha nincs jobb ertek. */
17
+ static readonly defaultRatio: number;
18
+ /**
19
+ * A `0..1` lebegopontos skala — a Prototyper prototipusai (es a round-1
20
+ * `DyFM_AudioMixer_Settings`) ezt hasznaljak. Minden hivas UJ objektumot ad vissza, hogy a
21
+ * hivo szabadon mutalhassa.
22
+ */
23
+ static getUnitScale(): DyFM_AudioScale;
24
+ /**
25
+ * A `0-100` egesz skala — a Hero Coordinator ezt tarolja a localStorage-ban
26
+ * (`clampVolume` = `Math.round`). Minden hivas UJ objektumot ad vissza.
27
+ */
28
+ static getPercentScale(): DyFM_AudioScale;
29
+ /**
30
+ * Sajat skalan levo erteket `0..1`-re normalizal, es a tartomanyba szorit.
31
+ * Ervenytelen bemenet (NaN, nem-szam, null/undefined) eseten a `fallbackUnit`-ot adja —
32
+ * igy egy serult save-payload sem tud NaN-t juttatni a lejatszoba
33
+ * (`HTMLAudioElement.volume = NaN` dobna, a `GainNode.gain.value = NaN` elnemitana).
34
+ */
35
+ static toUnit(value: number, scale: DyFM_AudioScale, fallbackUnit?: number): number;
36
+ /**
37
+ * `0..1` erteket a sajat skalara alakit vissza. Egesz skalanal (`integer: true`) kerekit,
38
+ * igy a `0-100`-as UI-nak nem kell tortszamokkal dolgoznia.
39
+ */
40
+ static fromUnit(unit: number, scale: DyFM_AudioScale): number;
41
+ /**
42
+ * Egy erteket a sajat skala `0..max` tartomanyaba szorit (egesz skalanal kerekit is).
43
+ *
44
+ * Ervenytelen bemenetre (NaN, nem-szam) a `fallbackScaleValue`-t adja — **a sajat skalan**.
45
+ * Alapertelmezesben `0`; a mixer viszont a csatorna DEFAULT-jat adja at, mert egy serult
46
+ * mentesbol jobb a hallhato alapertek, mint a nema 0 (a felhasznalo eszre sem venne).
47
+ */
48
+ static clampToScale(value: number, scale: DyFM_AudioScale, fallbackScaleValue?: number): number;
49
+ /** Egy `0..1` erteket a tartomanyba szorit. */
50
+ static clampUnit(value: number): number;
51
+ /**
52
+ * A skala maximuma vedve: a hianyzo / nem-pozitiv / NaN maximumot `1`-re cseréli, hogy a
53
+ * nullaval valo osztas es a NaN-terjedes kizart legyen.
54
+ */
55
+ private static getSafeMax;
56
+ }
57
+ //# sourceMappingURL=audio-scale.util.d.ts.map