@futdevpro/fsm-dynamo 1.16.38 → 1.16.40

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 (707) hide show
  1. package/.c8rc.json +26 -26
  2. package/.cursor/rules/__assistant_guide.mdc +30 -30
  3. package/.cursor/rules/__main.mdc +64 -64
  4. package/.cursor/rules/_ag_backend-structure.mdc +85 -85
  5. package/.cursor/rules/_ag_backend.mdc +16 -16
  6. package/.cursor/rules/_ag_debug.mdc +7 -7
  7. package/.cursor/rules/_ag_documentation_writing_rules.mdc +372 -372
  8. package/.cursor/rules/_ag_file-refactoring.mdc +113 -113
  9. package/.cursor/rules/_ag_fixes_rules.mdc +5 -5
  10. package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
  11. package/.cursor/rules/_ag_frontend.mdc +39 -39
  12. package/.cursor/rules/_ag_import-rules.mdc +44 -44
  13. package/.cursor/rules/_ag_naming.mdc +115 -115
  14. package/.cursor/rules/_ag_running_commands.mdc +4 -4
  15. package/.cursor/rules/_ag_server-controller.mdc +5 -5
  16. package/.cursor/rules/_ag_should-be.mdc +6 -6
  17. package/.cursor/rules/_ag_swearing.mdc +47 -47
  18. package/.cursor/rules/ai_development_guide.md +60 -60
  19. package/.cursor/rules/ai_directives.md +114 -114
  20. package/.cursor/rules/cursor-rules.md +160 -160
  21. package/.cursor/rules/default-command.mdc +464 -464
  22. package/.cursor/rules/error_code_pattern.md +39 -39
  23. package/.cursor/rules/saved rule mcp server use.md +15 -15
  24. package/.dynamo/pipeline.cicd.config.json +157 -157
  25. package/.dynamo/version-bump.config.json +5 -5
  26. package/.github/workflows/main.yml +439 -439
  27. package/.husky/pre-commit +2 -2
  28. package/.vscode/settings.json +11 -11
  29. package/LICENSE +21 -21
  30. package/README.md +701 -693
  31. package/__documentations/2026-05-17-oai-compatible-providers-howto.md +282 -282
  32. package/__documentations/2026-06-01-fr047-fc-foundation.md +48 -48
  33. package/__documentations/2026-06-01-fr047-fr048-code-review.md +153 -153
  34. package/__documentations/2026-06-01-fr047-p1-function-calling-vocabulary.md +75 -75
  35. package/__documentations/2026-06-05-secret-mask-url-cred-any-scheme.md +37 -37
  36. package/__documentations/2026-06-06-ngx-models-merge-completion.md +100 -100
  37. package/__documentations/2026-06-22-dyfm-error-extends-error.md +109 -109
  38. package/__documentations/plans/00-MASTER-ngx-models-fsm-merge.md +75 -75
  39. package/__documentations/plans/01-naming-convention-DyNM-to-DyFM.md +103 -103
  40. package/__documentations/plans/02-consumer-rollout.md +84 -84
  41. package/_specifications/BACKLOG.md +43 -43
  42. package/build/_modules/crypto/_models/artifact-signature.interface.d.ts +37 -0
  43. package/build/_modules/crypto/_models/artifact-signature.interface.d.ts.map +1 -0
  44. package/build/_modules/crypto/_models/artifact-signature.interface.js +3 -0
  45. package/build/_modules/crypto/_models/artifact-signature.interface.js.map +1 -0
  46. package/build/_modules/crypto/_services/artifact-signature.control-service.d.ts +24 -0
  47. package/build/_modules/crypto/_services/artifact-signature.control-service.d.ts.map +1 -0
  48. package/build/_modules/crypto/_services/artifact-signature.control-service.js +281 -0
  49. package/build/_modules/crypto/_services/artifact-signature.control-service.js.map +1 -0
  50. package/build/_modules/crypto/index.d.ts +2 -0
  51. package/build/_modules/crypto/index.d.ts.map +1 -1
  52. package/build/_modules/crypto/index.js +2 -0
  53. package/build/_modules/crypto/index.js.map +1 -1
  54. package/build/_modules/socket/_models/sck-socket-event.control-model.d.ts +4 -6
  55. package/build/_modules/socket/_models/sck-socket-event.control-model.d.ts.map +1 -1
  56. package/build/_modules/socket/_models/sck-socket-event.control-model.js +9 -7
  57. package/build/_modules/socket/_models/sck-socket-event.control-model.js.map +1 -1
  58. package/eslint.config.js +4 -4
  59. package/nodemon.json +22 -22
  60. package/package.json +306 -306
  61. package/pnpm-workspace.yaml +2 -2
  62. package/scripts/_capture-out/ai-error-capture.json +398 -398
  63. package/scripts/ai-error-capture.js +171 -171
  64. package/scripts/ai-model-registry-check.js +132 -132
  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/scripts/verify-build-completeness.js +62 -62
  71. package/spec/support/helpers/ts-node-helper.js +9 -9
  72. package/spec/support/jasmine.coverage.json +23 -23
  73. package/spec/support/jasmine.json +24 -24
  74. package/src/_collections/constants/data-sizes.const.ts +40 -40
  75. package/src/_collections/constants/error-defaults.const.ts +20 -20
  76. package/src/_collections/constants/global-settings.const.spec.ts +32 -32
  77. package/src/_collections/constants/global-settings.const.ts +29 -29
  78. package/src/_collections/constants/numbers.const.ts +40 -40
  79. package/src/_collections/constants/times.const.ts +45 -45
  80. package/src/_collections/utils/array.util.spec.ts +306 -306
  81. package/src/_collections/utils/array.util.ts +813 -813
  82. package/src/_collections/utils/async.util.spec.ts +398 -398
  83. package/src/_collections/utils/async.util.ts +208 -208
  84. package/src/_collections/utils/data.util.spec.ts +345 -345
  85. package/src/_collections/utils/data.util.ts +226 -226
  86. package/src/_collections/utils/extract-error-message.util.spec.ts +204 -204
  87. package/src/_collections/utils/extract-error-message.util.ts +223 -223
  88. package/src/_collections/utils/json-error-helper.util.spec.ts +521 -521
  89. package/src/_collections/utils/json-error-helper.util.ts +301 -301
  90. package/src/_collections/utils/log.util.spec.ts +975 -975
  91. package/src/_collections/utils/log.util.ts +667 -667
  92. package/src/_collections/utils/math/box-bounds.spec.ts +73 -73
  93. package/src/_collections/utils/math/box-bounds.util.ts +183 -183
  94. package/src/_collections/utils/math/math.util.spec.ts +94 -94
  95. package/src/_collections/utils/math/math.util.ts +141 -141
  96. package/src/_collections/utils/math/random.util.spec.ts +82 -82
  97. package/src/_collections/utils/math/random.util.ts +139 -139
  98. package/src/_collections/utils/math/trigonometry.util.spec.ts +57 -57
  99. package/src/_collections/utils/math/trigonometry.util.ts +102 -102
  100. package/src/_collections/utils/math/vector2.util.spec.ts +94 -94
  101. package/src/_collections/utils/math/vector2.util.ts +653 -653
  102. package/src/_collections/utils/object.util.spec.ts +646 -646
  103. package/src/_collections/utils/object.util.ts +739 -739
  104. package/src/_collections/utils/regex/password-regex.util.spec.ts +51 -51
  105. package/src/_collections/utils/regex/password-regex.util.ts +65 -65
  106. package/src/_collections/utils/regex/regex.util.spec.ts +42 -42
  107. package/src/_collections/utils/regex/regex.util.ts +6 -6
  108. package/src/_collections/utils/regex/username-regex.util.spec.ts +61 -61
  109. package/src/_collections/utils/regex/username-regex.util.ts +35 -35
  110. package/src/_collections/utils/require-env.util.spec.ts +231 -231
  111. package/src/_collections/utils/require-env.util.ts +138 -138
  112. package/src/_collections/utils/round-list.util.spec.ts +79 -79
  113. package/src/_collections/utils/round-list.util.ts +162 -162
  114. package/src/_collections/utils/secret-mask.util.spec.ts +66 -66
  115. package/src/_collections/utils/secret-mask.util.ts +262 -262
  116. package/src/_collections/utils/stack.util.spec.ts +372 -372
  117. package/src/_collections/utils/stack.util.ts +164 -164
  118. package/src/_collections/utils/string-case.util.spec.ts +441 -441
  119. package/src/_collections/utils/string-case.util.ts +362 -362
  120. package/src/_collections/utils/string.util.spec.ts +975 -975
  121. package/src/_collections/utils/string.util.ts +449 -449
  122. package/src/_collections/utils/time.util.spec.ts +50 -50
  123. package/src/_collections/utils/time.util.ts +481 -481
  124. package/src/_collections/utils/type-cloning-facility.util.spec.ts +51 -51
  125. package/src/_collections/utils/type-cloning-facility.util.ts +168 -168
  126. package/src/_collections/utils/utilities.util.spec.ts +201 -201
  127. package/src/_collections/utils/utilities.util.ts +68 -68
  128. package/src/_collections/utils/uuid.util.spec.ts +30 -30
  129. package/src/_collections/utils/uuid.util.ts +50 -50
  130. package/src/_enums/basic-property-type.enum.ts +20 -20
  131. package/src/_enums/data-model-type.enum.ts +29 -29
  132. package/src/_enums/environment-flag.enum.ts +28 -28
  133. package/src/_enums/error-level.enum.ts +43 -43
  134. package/src/_enums/error-status.enum.ts +30 -30
  135. package/src/_enums/http/http-call-type.enum.ts +43 -43
  136. package/src/_enums/http/http-event-type.enum.ts +40 -40
  137. package/src/_enums/http/http-response-type.enum.ts +18 -18
  138. package/src/_enums/log-style.enum.ts +44 -44
  139. package/src/_enums/server-connection-status.enum.ts +6 -6
  140. package/src/_enums/time/day-of-week.enum.ts +55 -55
  141. package/src/_enums/time/month.enum.ts +25 -25
  142. package/src/_enums/time/relative-date.enum.ts +24 -24
  143. package/src/_models/control-models/data-model-params.control-model.spec.ts +156 -156
  144. package/src/_models/control-models/data-model-params.control-model.ts +362 -362
  145. package/src/_models/control-models/data-property-params.control-model.spec.ts +93 -93
  146. package/src/_models/control-models/data-property-params.control-model.ts +210 -210
  147. package/src/_models/control-models/error.control-model.spec.ts +975 -975
  148. package/src/_models/control-models/error.control-model.ts +1280 -1280
  149. package/src/_models/control-models/http/http-error-response.control-model.spec.ts +116 -116
  150. package/src/_models/control-models/http/http-error-response.control-model.ts +52 -52
  151. package/src/_models/control-models/http/http-headers.control-model.spec.ts +25 -25
  152. package/src/_models/control-models/http/http-headers.control-model.ts +124 -124
  153. package/src/_models/control-models/http/http-response.model-base.spec.ts +46 -46
  154. package/src/_models/control-models/http/http-response.model-base.ts +57 -57
  155. package/src/_models/control-models/poll.control-model.spec.ts +63 -63
  156. package/src/_models/control-models/poll.control-model.ts +151 -151
  157. package/src/_models/control-models/range-value.control-model.spec.ts +187 -187
  158. package/src/_models/control-models/range-value.control-model.ts +289 -289
  159. package/src/_models/control-models/server-status.control-model.spec.ts +66 -66
  160. package/src/_models/control-models/server-status.control-model.ts +94 -94
  161. package/src/_models/control-models/service-endpoint-settings-base.control-model.spec.ts +145 -145
  162. package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +186 -186
  163. package/src/_models/data-models/errors.data-model.spec.ts +71 -71
  164. package/src/_models/data-models/errors.data-model.ts +200 -200
  165. package/src/_models/data-models/metadata.data-model.spec.ts +184 -184
  166. package/src/_models/data-models/metadata.data-model.ts +153 -153
  167. package/src/_models/interfaces/box-bounds.interface.ts +7 -7
  168. package/src/_models/interfaces/environment/global-log-settings.interface.ts +86 -86
  169. package/src/_models/interfaces/environment/global-settings.interface.ts +69 -69
  170. package/src/_models/interfaces/error-defaults.interface.ts +18 -18
  171. package/src/_models/interfaces/paged.interface.ts +12 -12
  172. package/src/_models/interfaces/random-weight.interface.ts +7 -7
  173. package/src/_models/interfaces/route-settings.interface.ts +15 -15
  174. package/src/_models/interfaces/search-query.interface.ts +23 -23
  175. package/src/_models/interfaces/search-result.interface.ts +5 -5
  176. package/src/_models/interfaces/server-error-statistics.interface.ts +24 -24
  177. package/src/_models/interfaces/vector2.interface.ts +20 -20
  178. package/src/_models/types/db-filter.type.ts +110 -110
  179. package/src/_models/types/db-sort.type.ts +4 -4
  180. package/src/_models/types/ds-filter.type.ts +68 -68
  181. package/src/_models/types/ds-sort.type.ts +21 -21
  182. package/src/_modules/ai/_collections/ai-model-ref.util.ts +88 -88
  183. package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +37 -37
  184. package/src/_modules/ai/_collections/ai-model-registry.util.ts +30 -30
  185. package/src/_modules/ai/_enums/ai-message-role.enum.ts +7 -7
  186. package/src/_modules/ai/_enums/ai-model-type.enum.ts +7 -7
  187. package/src/_modules/ai/_enums/ai-provider.enum.ts +7 -7
  188. package/src/_modules/ai/_models/ai-call-settings.interface.ts +84 -84
  189. package/src/_modules/ai/_models/ai-config.interface.ts +14 -14
  190. package/src/_modules/ai/_models/ai-embedding-request.interface.ts +20 -20
  191. package/src/_modules/ai/_models/ai-embedding-response.interface.ts +26 -26
  192. package/src/_modules/ai/_models/ai-llm-request.interface.ts +24 -24
  193. package/src/_modules/ai/_models/ai-llm-response.interface.ts +30 -30
  194. package/src/_modules/ai/_models/ai-message.interface.ts +12 -12
  195. package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +35 -35
  196. package/src/_modules/ai/_models/ai-model-info.interface.ts +63 -63
  197. package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +52 -52
  198. package/src/_modules/ai/_models/ai-provider-capabilities.interface.ts +28 -28
  199. package/src/_modules/ai/_models/ai-settings.interface.ts +17 -17
  200. package/src/_modules/ai/_models/ai-tool-call.interface.ts +18 -18
  201. package/src/_modules/ai/_models/ai-tool-handler.type.ts +11 -11
  202. package/src/_modules/ai/_models/ai-tool-result.interface.ts +16 -16
  203. package/src/_modules/ai/_models/ai-tool.interface.ts +16 -16
  204. package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +29 -29
  205. package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +135 -135
  206. package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +19 -19
  207. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.ts +28 -28
  208. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.ts +23 -23
  209. package/src/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.ts +10 -10
  210. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.ts +22 -22
  211. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.ts +27 -27
  212. package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +20 -20
  213. package/src/_modules/ai/_modules/anthropic/index.ts +14 -14
  214. package/src/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.ts +12 -12
  215. package/src/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.ts +22 -22
  216. package/src/_modules/ai/_modules/document-ai/index.ts +4 -4
  217. package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +40 -40
  218. package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +6 -6
  219. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +19 -19
  220. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +11 -11
  221. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +24 -24
  222. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +20 -20
  223. package/src/_modules/ai/_modules/fdp-ai/index.ts +11 -11
  224. package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +161 -161
  225. package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +16 -16
  226. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.ts +28 -28
  227. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.ts +21 -21
  228. package/src/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.ts +8 -8
  229. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.ts +22 -22
  230. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.ts +25 -25
  231. package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +20 -20
  232. package/src/_modules/ai/_modules/google-ai/index.ts +14 -14
  233. package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +59 -59
  234. package/src/_modules/ai/_modules/local-ai/_enums/lai-model.enum.ts +6 -6
  235. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.ts +28 -28
  236. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.ts +18 -18
  237. package/src/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.ts +9 -9
  238. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.ts +22 -22
  239. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.ts +23 -23
  240. package/src/_modules/ai/_modules/local-ai/index.ts +14 -14
  241. package/src/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.ts +7 -7
  242. package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +404 -404
  243. package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +179 -179
  244. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.ts +28 -28
  245. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.ts +21 -21
  246. package/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts +81 -81
  247. package/src/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.ts +13 -13
  248. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.ts +22 -22
  249. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts +25 -25
  250. package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +21 -21
  251. package/src/_modules/ai/_modules/open-ai/index.ts +28 -28
  252. package/src/_modules/ai/index.ts +27 -27
  253. package/src/_modules/ci-tools/_enums/cit-ci-result-code.enum.ts +11 -11
  254. package/src/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.ts +9 -9
  255. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.ts +58 -58
  256. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.ts +77 -77
  257. package/src/_modules/ci-tools/_models/cit-ci-step-result.interface.ts +12 -12
  258. package/src/_modules/ci-tools/index.ts +8 -8
  259. package/src/_modules/crypto/_collections/crypto-v1.util.ts +225 -225
  260. package/src/_modules/crypto/_collections/crypto-v2.util.ts +331 -331
  261. package/src/_modules/crypto/_collections/crypto-v4.util.ts +702 -702
  262. package/src/_modules/crypto/_collections/crypto.util.db-envelope.spec.ts +51 -51
  263. package/src/_modules/crypto/_collections/crypto.util.edge.spec.ts +605 -605
  264. package/src/_modules/crypto/_collections/crypto.util.extra.spec.ts +642 -642
  265. package/src/_modules/crypto/_collections/crypto.util.simple.spec.ts +512 -512
  266. package/src/_modules/crypto/_collections/crypto.util.ts +748 -748
  267. package/src/_modules/crypto/_models/artifact-signature.interface.ts +39 -0
  268. package/src/_modules/crypto/_services/artifact-signature.control-service.spec.ts +223 -0
  269. package/src/_modules/crypto/_services/artifact-signature.control-service.ts +395 -0
  270. package/src/_modules/crypto/index.ts +16 -14
  271. package/src/_modules/custom-data/_collections/cud-module-settings.const.ts +21 -21
  272. package/src/_modules/custom-data/_models/cud.data-model.spec.ts +38 -38
  273. package/src/_modules/custom-data/_models/cud.data-model.ts +39 -39
  274. package/src/_modules/custom-data/index.ts +10 -10
  275. package/src/_modules/data-handler/_models/data-handler-settings.control-model.spec.ts +110 -110
  276. package/src/_modules/data-handler/_models/data-handler-settings.control-model.ts +110 -110
  277. package/src/_modules/data-handler/_models/data-handler.control-model.spec.ts +473 -473
  278. package/src/_modules/data-handler/_models/data-handler.control-model.ts +486 -486
  279. package/src/_modules/data-handler/_models/data-list-handler.control-model.spec.ts +263 -263
  280. package/src/_modules/data-handler/_models/data-list-handler.control-model.ts +252 -252
  281. package/src/_modules/data-handler/_models/data-search-handler.control-model.spec.ts +417 -417
  282. package/src/_modules/data-handler/_models/data-search-handler.control-model.ts +390 -390
  283. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.ts +374 -374
  284. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.ts +274 -274
  285. package/src/_modules/data-handler/index.ts +6 -6
  286. package/src/_modules/game/_collections/audio-mixer.util.spec.ts +198 -198
  287. package/src/_modules/game/_collections/audio-mixer.util.ts +143 -143
  288. package/src/_modules/game/_collections/audio-scale.util.spec.ts +140 -140
  289. package/src/_modules/game/_collections/audio-scale.util.ts +129 -129
  290. package/src/_modules/game/_enums/audio-channel.enum.ts +22 -22
  291. package/src/_modules/game/_models/audio-mixer-config.interface.ts +53 -53
  292. package/src/_modules/game/_models/audio-mixer-settings.interface.ts +38 -38
  293. package/src/_modules/game/_models/audio-mixer-state.interface.ts +36 -36
  294. package/src/_modules/game/_models/audio-mixer.control-model.spec.ts +376 -376
  295. package/src/_modules/game/_models/audio-mixer.control-model.ts +419 -419
  296. package/src/_modules/game/_models/audio-scale.interface.ts +21 -21
  297. package/src/_modules/game/_models/seeded-random-state.interface.ts +21 -21
  298. package/src/_modules/game/_models/seeded-random.control-model.spec.ts +290 -290
  299. package/src/_modules/game/_models/seeded-random.control-model.ts +311 -311
  300. package/src/_modules/game/index.ts +15 -15
  301. package/src/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -3239
  302. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19035 -19035
  303. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166.json +4993 -4993
  304. package/src/_modules/location/_collections/assets/country-phone-codes.json +1203 -1203
  305. package/src/_modules/location/_collections/assets/country-subdivisions/afghanistan.json +137 -137
  306. package/src/_modules/location/_collections/assets/country-subdivisions/albania.json +49 -49
  307. package/src/_modules/location/_collections/assets/country-subdivisions/algeria.json +193 -193
  308. package/src/_modules/location/_collections/assets/country-subdivisions/andorra.json +29 -29
  309. package/src/_modules/location/_collections/assets/country-subdivisions/angola.json +73 -73
  310. package/src/_modules/location/_collections/assets/country-subdivisions/antigua-and-barbuda.json +33 -33
  311. package/src/_modules/location/_collections/assets/country-subdivisions/argentina.json +97 -97
  312. package/src/_modules/location/_collections/assets/country-subdivisions/armenia.json +45 -45
  313. package/src/_modules/location/_collections/assets/country-subdivisions/australia.json +33 -33
  314. package/src/_modules/location/_collections/assets/country-subdivisions/austria.json +37 -37
  315. package/src/_modules/location/_collections/assets/country-subdivisions/azerbaijan.json +5 -5
  316. package/src/_modules/location/_collections/assets/country-subdivisions/bahamas.json +125 -125
  317. package/src/_modules/location/_collections/assets/country-subdivisions/bahrain.json +21 -21
  318. package/src/_modules/location/_collections/assets/country-subdivisions/bangladesh.json +29 -29
  319. package/src/_modules/location/_collections/assets/country-subdivisions/barbados.json +45 -45
  320. package/src/_modules/location/_collections/assets/country-subdivisions/belarus.json +29 -29
  321. package/src/_modules/location/_collections/assets/country-subdivisions/belgium.json +13 -13
  322. package/src/_modules/location/_collections/assets/country-subdivisions/belize.json +25 -25
  323. package/src/_modules/location/_collections/assets/country-subdivisions/benin.json +49 -49
  324. package/src/_modules/location/_collections/assets/country-subdivisions/bhutan.json +81 -81
  325. package/src/_modules/location/_collections/assets/country-subdivisions/bolivia.json +37 -37
  326. package/src/_modules/location/_collections/assets/country-subdivisions/bosnia-and-herzegovina.json +13 -13
  327. package/src/_modules/location/_collections/assets/country-subdivisions/botswana.json +65 -65
  328. package/src/_modules/location/_collections/assets/country-subdivisions/brazil.json +109 -109
  329. package/src/_modules/location/_collections/assets/country-subdivisions/brunei-darussalam.json +17 -17
  330. package/src/_modules/location/_collections/assets/country-subdivisions/bulgaria.json +113 -113
  331. package/src/_modules/location/_collections/assets/country-subdivisions/burkina-faso.json +53 -53
  332. package/src/_modules/location/_collections/assets/country-subdivisions/burundi.json +69 -69
  333. package/src/_modules/location/_collections/assets/country-subdivisions/cambodia.json +97 -97
  334. package/src/_modules/location/_collections/assets/country-subdivisions/cameroon.json +41 -41
  335. package/src/_modules/location/_collections/assets/country-subdivisions/canada.json +79 -79
  336. package/src/_modules/location/_collections/assets/country-subdivisions/cape-verde.json +9 -9
  337. package/src/_modules/location/_collections/assets/country-subdivisions/central-african-republic.json +69 -69
  338. package/src/_modules/location/_collections/assets/country-subdivisions/chad.json +89 -89
  339. package/src/_modules/location/_collections/assets/country-subdivisions/chile.json +61 -61
  340. package/src/_modules/location/_collections/assets/country-subdivisions/china.json +205 -205
  341. package/src/_modules/location/_collections/assets/country-subdivisions/colombia.json +133 -133
  342. package/src/_modules/location/_collections/assets/country-subdivisions/comoros.json +13 -13
  343. package/src/_modules/location/_collections/assets/country-subdivisions/congo-the-democratic-republic-of-the.json +45 -45
  344. package/src/_modules/location/_collections/assets/country-subdivisions/congo.json +49 -49
  345. package/src/_modules/location/_collections/assets/country-subdivisions/costa-rica.json +29 -29
  346. package/src/_modules/location/_collections/assets/country-subdivisions/cote-d-ivoire-republic-of.json +77 -77
  347. package/src/_modules/location/_collections/assets/country-subdivisions/croatia.json +85 -85
  348. package/src/_modules/location/_collections/assets/country-subdivisions/cuba.json +65 -65
  349. package/src/_modules/location/_collections/assets/country-subdivisions/cyprus.json +25 -25
  350. package/src/_modules/location/_collections/assets/country-subdivisions/czech-republic.json +57 -57
  351. package/src/_modules/location/_collections/assets/country-subdivisions/denmark.json +21 -21
  352. package/src/_modules/location/_collections/assets/country-subdivisions/djibouti.json +25 -25
  353. package/src/_modules/location/_collections/assets/country-subdivisions/dominica.json +41 -41
  354. package/src/_modules/location/_collections/assets/country-subdivisions/dominican-republic.json +41 -41
  355. package/src/_modules/location/_collections/assets/country-subdivisions/ecuador.json +97 -97
  356. package/src/_modules/location/_collections/assets/country-subdivisions/egypt.json +117 -117
  357. package/src/_modules/location/_collections/assets/country-subdivisions/el-salvador.json +57 -57
  358. package/src/_modules/location/_collections/assets/country-subdivisions/equatorial-guinea.json +9 -9
  359. package/src/_modules/location/_collections/assets/country-subdivisions/eritrea.json +25 -25
  360. package/src/_modules/location/_collections/assets/country-subdivisions/estonia.json +61 -61
  361. package/src/_modules/location/_collections/assets/country-subdivisions/ethiopia.json +45 -45
  362. package/src/_modules/location/_collections/assets/country-subdivisions/fiji.json +21 -21
  363. package/src/_modules/location/_collections/assets/country-subdivisions/finland.json +77 -77
  364. package/src/_modules/location/_collections/assets/country-subdivisions/france.json +133 -133
  365. package/src/_modules/location/_collections/assets/country-subdivisions/gabon.json +37 -37
  366. package/src/_modules/location/_collections/assets/country-subdivisions/gambia.json +25 -25
  367. package/src/_modules/location/_collections/assets/country-subdivisions/georgia.json +49 -49
  368. package/src/_modules/location/_collections/assets/country-subdivisions/germany.json +65 -65
  369. package/src/_modules/location/_collections/assets/country-subdivisions/ghana.json +41 -41
  370. package/src/_modules/location/_collections/assets/country-subdivisions/greece.json +53 -53
  371. package/src/_modules/location/_collections/assets/country-subdivisions/greenland.json +17 -17
  372. package/src/_modules/location/_collections/assets/country-subdivisions/grenada.json +29 -29
  373. package/src/_modules/location/_collections/assets/country-subdivisions/guatemala.json +89 -89
  374. package/src/_modules/location/_collections/assets/country-subdivisions/guinea-bissau.json +13 -13
  375. package/src/_modules/location/_collections/assets/country-subdivisions/guinea.json +33 -33
  376. package/src/_modules/location/_collections/assets/country-subdivisions/guyana.json +41 -41
  377. package/src/_modules/location/_collections/assets/country-subdivisions/haiti.json +41 -41
  378. package/src/_modules/location/_collections/assets/country-subdivisions/honduras.json +73 -73
  379. package/src/_modules/location/_collections/assets/country-subdivisions/hong-kong.json +4 -4
  380. package/src/_modules/location/_collections/assets/country-subdivisions/hungary.json +173 -173
  381. package/src/_modules/location/_collections/assets/country-subdivisions/iceland.json +37 -37
  382. package/src/_modules/location/_collections/assets/country-subdivisions/india.json +181 -181
  383. package/src/_modules/location/_collections/assets/country-subdivisions/indonesia.json +29 -29
  384. package/src/_modules/location/_collections/assets/country-subdivisions/iran-islamic-republic-of.json +125 -125
  385. package/src/_modules/location/_collections/assets/country-subdivisions/iraq.json +73 -73
  386. package/src/_modules/location/_collections/assets/country-subdivisions/ireland.json +17 -17
  387. package/src/_modules/location/_collections/assets/country-subdivisions/israel.json +25 -25
  388. package/src/_modules/location/_collections/assets/country-subdivisions/italy.json +81 -81
  389. package/src/_modules/location/_collections/assets/country-subdivisions/jamaica.json +57 -57
  390. package/src/_modules/location/_collections/assets/country-subdivisions/japan.json +189 -189
  391. package/src/_modules/location/_collections/assets/country-subdivisions/jordan.json +49 -49
  392. package/src/_modules/location/_collections/assets/country-subdivisions/kazakhstan.json +65 -65
  393. package/src/_modules/location/_collections/assets/country-subdivisions/kenya.json +33 -33
  394. package/src/_modules/location/_collections/assets/country-subdivisions/kiribati.json +13 -13
  395. package/src/_modules/location/_collections/assets/country-subdivisions/korea-democratic-people-s-republic-of.json +45 -45
  396. package/src/_modules/location/_collections/assets/country-subdivisions/korea-republic-of.json +69 -69
  397. package/src/_modules/location/_collections/assets/country-subdivisions/kuwait.json +25 -25
  398. package/src/_modules/location/_collections/assets/country-subdivisions/kyrgyzstan.json +33 -33
  399. package/src/_modules/location/_collections/assets/country-subdivisions/lao-people-s-democratic-republic.json +73 -73
  400. package/src/_modules/location/_collections/assets/country-subdivisions/latvia.json +477 -477
  401. package/src/_modules/location/_collections/assets/country-subdivisions/lebanon.json +33 -33
  402. package/src/_modules/location/_collections/assets/country-subdivisions/lesotho.json +41 -41
  403. package/src/_modules/location/_collections/assets/country-subdivisions/liberia.json +61 -61
  404. package/src/_modules/location/_collections/assets/country-subdivisions/libyan-arab-jamahiriya.json +89 -89
  405. package/src/_modules/location/_collections/assets/country-subdivisions/liechtenstein.json +45 -45
  406. package/src/_modules/location/_collections/assets/country-subdivisions/lithuania.json +41 -41
  407. package/src/_modules/location/_collections/assets/country-subdivisions/luxembourg.json +13 -13
  408. package/src/_modules/location/_collections/assets/country-subdivisions/macedonia-the-former-yugoslav-republic-of.json +337 -337
  409. package/src/_modules/location/_collections/assets/country-subdivisions/madagascar.json +25 -25
  410. package/src/_modules/location/_collections/assets/country-subdivisions/malawi.json +13 -13
  411. package/src/_modules/location/_collections/assets/country-subdivisions/malaysia.json +81 -81
  412. package/src/_modules/location/_collections/assets/country-subdivisions/maldives.json +33 -33
  413. package/src/_modules/location/_collections/assets/country-subdivisions/mali.json +37 -37
  414. package/src/_modules/location/_collections/assets/country-subdivisions/malta.json +273 -273
  415. package/src/_modules/location/_collections/assets/country-subdivisions/marshall-islands.json +9 -9
  416. package/src/_modules/location/_collections/assets/country-subdivisions/mauritania.json +53 -53
  417. package/src/_modules/location/_collections/assets/country-subdivisions/mauritius.json +69 -69
  418. package/src/_modules/location/_collections/assets/country-subdivisions/mexico.json +161 -161
  419. package/src/_modules/location/_collections/assets/country-subdivisions/micronesia-federated-states-of.json +17 -17
  420. package/src/_modules/location/_collections/assets/country-subdivisions/moldova-republic-of.json +149 -149
  421. package/src/_modules/location/_collections/assets/country-subdivisions/monaco.json +69 -69
  422. package/src/_modules/location/_collections/assets/country-subdivisions/mongolia.json +89 -89
  423. package/src/_modules/location/_collections/assets/country-subdivisions/montenegro.json +93 -93
  424. package/src/_modules/location/_collections/assets/country-subdivisions/morocco.json +65 -65
  425. package/src/_modules/location/_collections/assets/country-subdivisions/mozambique.json +45 -45
  426. package/src/_modules/location/_collections/assets/country-subdivisions/myanmar.json +57 -57
  427. package/src/_modules/location/_collections/assets/country-subdivisions/namibia.json +57 -57
  428. package/src/_modules/location/_collections/assets/country-subdivisions/nauru.json +57 -57
  429. package/src/_modules/location/_collections/assets/country-subdivisions/nepal.json +21 -21
  430. package/src/_modules/location/_collections/assets/country-subdivisions/netherlands.json +91 -91
  431. package/src/_modules/location/_collections/assets/country-subdivisions/new-zealand.json +111 -111
  432. package/src/_modules/location/_collections/assets/country-subdivisions/nicaragua.json +69 -69
  433. package/src/_modules/location/_collections/assets/country-subdivisions/niger.json +33 -33
  434. package/src/_modules/location/_collections/assets/country-subdivisions/nigeria.json +149 -149
  435. package/src/_modules/location/_collections/assets/country-subdivisions/norway.json +85 -85
  436. package/src/_modules/location/_collections/assets/country-subdivisions/oman.json +37 -37
  437. package/src/_modules/location/_collections/assets/country-subdivisions/pakistan.json +33 -33
  438. package/src/_modules/location/_collections/assets/country-subdivisions/palau.json +65 -65
  439. package/src/_modules/location/_collections/assets/country-subdivisions/palestinian-territory-occupied.json +65 -65
  440. package/src/_modules/location/_collections/assets/country-subdivisions/panama.json +53 -53
  441. package/src/_modules/location/_collections/assets/country-subdivisions/papua-new-guinea.json +81 -81
  442. package/src/_modules/location/_collections/assets/country-subdivisions/paraguay.json +73 -73
  443. package/src/_modules/location/_collections/assets/country-subdivisions/peru.json +105 -105
  444. package/src/_modules/location/_collections/assets/country-subdivisions/philippines.json +69 -69
  445. package/src/_modules/location/_collections/assets/country-subdivisions/poland.json +65 -65
  446. package/src/_modules/location/_collections/assets/country-subdivisions/portugal.json +81 -81
  447. package/src/_modules/location/_collections/assets/country-subdivisions/qatar.json +29 -29
  448. package/src/_modules/location/_collections/assets/country-subdivisions/romania.json +169 -169
  449. package/src/_modules/location/_collections/assets/country-subdivisions/russian-federation.json +499 -499
  450. package/src/_modules/location/_collections/assets/country-subdivisions/rwanda.json +21 -21
  451. package/src/_modules/location/_collections/assets/country-subdivisions/saint-helena-ascension-and-tristan-da-cunha.json +13 -13
  452. package/src/_modules/location/_collections/assets/country-subdivisions/saint-kitts-and-nevis.json +9 -9
  453. package/src/_modules/location/_collections/assets/country-subdivisions/saint-lucia.json +45 -45
  454. package/src/_modules/location/_collections/assets/country-subdivisions/saint-vincent-and-the-grenadines.json +25 -25
  455. package/src/_modules/location/_collections/assets/country-subdivisions/samoa.json +45 -45
  456. package/src/_modules/location/_collections/assets/country-subdivisions/san-marino.json +37 -37
  457. package/src/_modules/location/_collections/assets/country-subdivisions/sao-tome-and-principe.json +9 -9
  458. package/src/_modules/location/_collections/assets/country-subdivisions/saudi-arabia.json +53 -53
  459. package/src/_modules/location/_collections/assets/country-subdivisions/senegal.json +57 -57
  460. package/src/_modules/location/_collections/assets/country-subdivisions/serbia.json +9 -9
  461. package/src/_modules/location/_collections/assets/country-subdivisions/seychelles.json +101 -101
  462. package/src/_modules/location/_collections/assets/country-subdivisions/sierra-leone.json +17 -17
  463. package/src/_modules/location/_collections/assets/country-subdivisions/singapore.json +21 -21
  464. package/src/_modules/location/_collections/assets/country-subdivisions/slovakia.json +33 -33
  465. package/src/_modules/location/_collections/assets/country-subdivisions/slovenia.json +841 -841
  466. package/src/_modules/location/_collections/assets/country-subdivisions/solomon-islands.json +41 -41
  467. package/src/_modules/location/_collections/assets/country-subdivisions/somalia.json +73 -73
  468. package/src/_modules/location/_collections/assets/country-subdivisions/south-africa.json +37 -37
  469. package/src/_modules/location/_collections/assets/country-subdivisions/south-sudan.json +41 -41
  470. package/src/_modules/location/_collections/assets/country-subdivisions/spain.json +346 -346
  471. package/src/_modules/location/_collections/assets/country-subdivisions/sri-lanka.json +37 -37
  472. package/src/_modules/location/_collections/assets/country-subdivisions/sudan.json +69 -69
  473. package/src/_modules/location/_collections/assets/country-subdivisions/suriname.json +41 -41
  474. package/src/_modules/location/_collections/assets/country-subdivisions/swaziland.json +17 -17
  475. package/src/_modules/location/_collections/assets/country-subdivisions/sweden.json +85 -85
  476. package/src/_modules/location/_collections/assets/country-subdivisions/switzerland.json +105 -105
  477. package/src/_modules/location/_collections/assets/country-subdivisions/syrian-arab-republic.json +57 -57
  478. package/src/_modules/location/_collections/assets/country-subdivisions/taiwan-province-of-china.json +93 -93
  479. package/src/_modules/location/_collections/assets/country-subdivisions/tajikistan.json +17 -17
  480. package/src/_modules/location/_collections/assets/country-subdivisions/tanzania-united-republic-of.json +105 -105
  481. package/src/_modules/location/_collections/assets/country-subdivisions/thailand.json +313 -313
  482. package/src/_modules/location/_collections/assets/country-subdivisions/timor-leste.json +53 -53
  483. package/src/_modules/location/_collections/assets/country-subdivisions/togo.json +21 -21
  484. package/src/_modules/location/_collections/assets/country-subdivisions/tonga.json +21 -21
  485. package/src/_modules/location/_collections/assets/country-subdivisions/trinidad-and-tobago.json +65 -65
  486. package/src/_modules/location/_collections/assets/country-subdivisions/tunisia.json +97 -97
  487. package/src/_modules/location/_collections/assets/country-subdivisions/turkey.json +325 -325
  488. package/src/_modules/location/_collections/assets/country-subdivisions/turkmenistan.json +25 -25
  489. package/src/_modules/location/_collections/assets/country-subdivisions/tuvalu.json +33 -33
  490. package/src/_modules/location/_collections/assets/country-subdivisions/uganda.json +17 -17
  491. package/src/_modules/location/_collections/assets/country-subdivisions/ukraine.json +109 -109
  492. package/src/_modules/location/_collections/assets/country-subdivisions/united-arab-emirates.json +29 -29
  493. package/src/_modules/location/_collections/assets/country-subdivisions/united-kingdom.json +1196 -1196
  494. package/src/_modules/location/_collections/assets/country-subdivisions/united-states-minor-outlying-islands.json +37 -37
  495. package/src/_modules/location/_collections/assets/country-subdivisions/united-states.json +286 -286
  496. package/src/_modules/location/_collections/assets/country-subdivisions/uruguay.json +77 -77
  497. package/src/_modules/location/_collections/assets/country-subdivisions/uzbekistan.json +57 -57
  498. package/src/_modules/location/_collections/assets/country-subdivisions/vanuatu.json +25 -25
  499. package/src/_modules/location/_collections/assets/country-subdivisions/venezuela.json +101 -101
  500. package/src/_modules/location/_collections/assets/country-subdivisions/viet-nam.json +257 -257
  501. package/src/_modules/location/_collections/assets/country-subdivisions/yemen.json +85 -85
  502. package/src/_modules/location/_collections/assets/country-subdivisions/zambia.json +37 -37
  503. package/src/_modules/location/_collections/assets/country-subdivisions/zimbabwe.json +41 -41
  504. package/src/_modules/location/_collections/loc-country-divisions.const.ts +10 -10
  505. package/src/_modules/location/_collections/loc-country-isos.const.ts +8 -8
  506. package/src/_modules/location/_collections/loc-regions.util.spec.ts +61 -61
  507. package/src/_modules/location/_collections/loc-regions.util.ts +137 -137
  508. package/src/_modules/location/_collections/loc.util.spec.ts +52 -52
  509. package/src/_modules/location/_collections/loc.util.ts +74 -74
  510. package/src/_modules/location/_enums/loc-region.enum.ts +14 -14
  511. package/src/_modules/location/_enums/loc-sub-region.enum.ts +31 -31
  512. package/src/_modules/location/_enums/loc-subdivision-region-type.enum.ts +47 -47
  513. package/src/_modules/location/_models/loc-coordinates.interface.ts +7 -7
  514. package/src/_modules/location/_models/loc-country-division.interface.ts +8 -8
  515. package/src/_modules/location/_models/loc-country-iso.interface.ts +23 -23
  516. package/src/_modules/location/_models/loc-country-phone-code.interface.ts +9 -9
  517. package/src/_modules/location/_models/loc-division-collection.interface.ts +12 -12
  518. package/src/_modules/location/_models/loc-division-region-data.interface.ts +9 -9
  519. package/src/_modules/location/_models/loc-geo-ip-location.interface.ts +27 -27
  520. package/src/_modules/location/index.ts +22 -22
  521. package/src/_modules/messaging/README.md +279 -279
  522. package/src/_modules/messaging/_collections/msg-module-settings.const.ts +46 -46
  523. package/src/_modules/messaging/_enums/msg-attachment-type.enum.ts +26 -26
  524. package/src/_modules/messaging/_enums/msg-conversation-type.enum.ts +20 -20
  525. package/src/_modules/messaging/_enums/msg-delivery-status.enum.ts +17 -17
  526. package/src/_modules/messaging/_enums/msg-event-key.enum.ts +31 -31
  527. package/src/_modules/messaging/_enums/msg-participant-role.enum.ts +20 -20
  528. package/src/_modules/messaging/_enums/msg-provider-type.enum.ts +7 -7
  529. package/src/_modules/messaging/_enums/msg-status.enum.ts +26 -26
  530. package/src/_modules/messaging/_enums/msg-type.enum.ts +23 -23
  531. package/src/_modules/messaging/_models/msg-attachment.interface.ts +46 -46
  532. package/src/_modules/messaging/_models/msg-conversation.data-model.spec.ts +69 -69
  533. package/src/_modules/messaging/_models/msg-conversation.data-model.ts +96 -96
  534. package/src/_modules/messaging/_models/msg-mention.interface.ts +29 -29
  535. package/src/_modules/messaging/_models/msg-message.data-model.spec.ts +79 -79
  536. package/src/_modules/messaging/_models/msg-message.data-model.ts +127 -127
  537. package/src/_modules/messaging/_models/msg-participant.interface.ts +46 -46
  538. package/src/_modules/messaging/_models/msg-reaction.interface.ts +20 -20
  539. package/src/_modules/messaging/_models/msg-thread-info.interface.ts +35 -35
  540. package/src/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.ts +35 -35
  541. package/src/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.ts +23 -23
  542. package/src/_modules/messaging/_modules/agent/_models/agt-process-step.interface.ts +55 -55
  543. package/src/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.ts +26 -26
  544. package/src/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.ts +37 -37
  545. package/src/_modules/messaging/_modules/agent/index.ts +8 -8
  546. package/src/_modules/messaging/index.ts +28 -28
  547. package/src/_modules/ngx-models/_collections/angular-placeholders.ts +34 -34
  548. package/src/_modules/ngx-models/_collections/button-new-style-settings-presets.const.ts +181 -181
  549. package/src/_modules/ngx-models/_collections/dynamo-global.settings.spec.ts +74 -74
  550. package/src/_modules/ngx-models/_collections/dynamo-global.settings.ts +103 -103
  551. package/src/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.ts +16 -16
  552. package/src/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.ts +14 -14
  553. package/src/_modules/ngx-models/_enums/button-new/button-new-size.enum.ts +16 -16
  554. package/src/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.ts +18 -18
  555. package/src/_modules/ngx-models/_enums/button-type.enum.ts +36 -36
  556. package/src/_modules/ngx-models/_enums/checkbox-label-position.enum.ts +8 -8
  557. package/src/_modules/ngx-models/_enums/container-type.enum.ts +11 -11
  558. package/src/_modules/ngx-models/_enums/errors/error-level.enum.ts +13 -13
  559. package/src/_modules/ngx-models/_enums/errors/error-notification-color.enum.ts +13 -13
  560. package/src/_modules/ngx-models/_enums/errors/error-ui-mode.enum.ts +13 -13
  561. package/src/_modules/ngx-models/_enums/field-appearance.enum.ts +14 -14
  562. package/src/_modules/ngx-models/_enums/field-type.enum.ts +52 -52
  563. package/src/_modules/ngx-models/_enums/file-type.enum.ts +12 -12
  564. package/src/_modules/ngx-models/_enums/flex/flex-layout-align.enum.ts +21 -21
  565. package/src/_modules/ngx-models/_enums/flex/flex-layout.enum.ts +5 -5
  566. package/src/_modules/ngx-models/_enums/form-access.enum.ts +9 -9
  567. package/src/_modules/ngx-models/_enums/form-reset-data.enum.ts +12 -12
  568. package/src/_modules/ngx-models/_enums/form-store-on.enum.ts +9 -9
  569. package/src/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.ts +20 -20
  570. package/src/_modules/ngx-models/_enums/frames/header-item-type.enum.ts +15 -15
  571. package/src/_modules/ngx-models/_enums/frames/header-position.enum.ts +10 -10
  572. package/src/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.ts +13 -13
  573. package/src/_modules/ngx-models/_enums/html/input-types.enum.ts +27 -27
  574. package/src/_modules/ngx-models/_enums/material-color.enum.ts +16 -16
  575. package/src/_modules/ngx-models/_enums/material-tooltip-position.enum.ts +16 -16
  576. package/src/_modules/ngx-models/_enums/preconfigured-field-type.enum.ts +8 -8
  577. package/src/_modules/ngx-models/_enums/storage-type.enum.ts +15 -15
  578. package/src/_modules/ngx-models/_enums/validator-type.enum.ts +9 -9
  579. package/src/_modules/ngx-models/_enums/voice/audio-mime-type.enum.ts +14 -14
  580. package/src/_modules/ngx-models/_enums/voice/voice-provider-type.enum.ts +26 -26
  581. package/src/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.ts +20 -20
  582. package/src/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.ts +37 -37
  583. package/src/_modules/ngx-models/_models/control-models/button-params.control-model.spec.ts +70 -70
  584. package/src/_modules/ngx-models/_models/control-models/button-params.control-model.ts +332 -332
  585. package/src/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.ts +28 -28
  586. package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.spec.ts +90 -90
  587. package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.ts +134 -134
  588. package/src/_modules/ngx-models/_models/control-models/data-handler.control-model.ts +529 -529
  589. package/src/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.ts +52 -52
  590. package/src/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.ts +34 -34
  591. package/src/_modules/ngx-models/_models/control-models/errors/errors-pojo.spec.ts +86 -86
  592. package/src/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.ts +52 -52
  593. package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.spec.ts +109 -109
  594. package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.ts +133 -133
  595. package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.spec.ts +109 -109
  596. package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.ts +160 -160
  597. package/src/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.ts +25 -25
  598. package/src/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.ts +26 -26
  599. package/src/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.ts +42 -42
  600. package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.ts +35 -35
  601. package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.ts +35 -35
  602. package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.ts +85 -85
  603. package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-types.ts +42 -42
  604. package/src/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.ts +40 -40
  605. package/src/_modules/ngx-models/_models/control-models/forms-new/forms-new.spec.ts +179 -179
  606. package/src/_modules/ngx-models/_models/control-models/forms-new/index.ts +20 -20
  607. package/src/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.ts +27 -27
  608. package/src/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.ts +24 -24
  609. package/src/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.ts +35 -35
  610. package/src/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.ts +35 -35
  611. package/src/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.ts +46 -46
  612. package/src/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.ts +37 -37
  613. package/src/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.ts +45 -45
  614. package/src/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.ts +30 -30
  615. package/src/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.ts +22 -22
  616. package/src/_modules/ngx-models/_models/control-models/frames/frames-pojo.spec.ts +108 -108
  617. package/src/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.ts +52 -52
  618. package/src/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.ts +40 -40
  619. package/src/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.ts +55 -55
  620. package/src/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.ts +30 -30
  621. package/src/_modules/ngx-models/_models/control-models/select.control-model.spec.ts +45 -45
  622. package/src/_modules/ngx-models/_models/control-models/select.control-model.ts +28 -28
  623. package/src/_modules/ngx-models/_models/control-models/voice/voice-pojo.spec.ts +111 -111
  624. package/src/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.ts +74 -74
  625. package/src/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.ts +42 -42
  626. package/src/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.ts +37 -37
  627. package/src/_modules/ngx-models/_models/interfaces/button-new-settings.interface.ts +74 -74
  628. package/src/_modules/ngx-models/_models/interfaces/confirm-settings.interface.ts +20 -20
  629. package/src/_modules/ngx-models/_models/interfaces/global-settings.interface.ts +67 -67
  630. package/src/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.ts +40 -40
  631. package/src/_modules/ngx-models/_models/interfaces/storage.service.spec.ts +18 -18
  632. package/src/_modules/ngx-models/_models/interfaces/storage.service.ts +40 -40
  633. package/src/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.ts +19 -19
  634. package/src/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.ts +14 -14
  635. package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.ts +14 -14
  636. package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.ts +15 -15
  637. package/src/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.ts +18 -18
  638. package/src/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.ts +21 -21
  639. package/src/_modules/ngx-models/_utils/shared.service.spec.ts +7 -7
  640. package/src/_modules/ngx-models/_utils/shared.service.ts +541 -541
  641. package/src/_modules/ngx-models/index.ts +110 -110
  642. package/src/_modules/pipe/_collections/pip-transforms.const.ts +42 -42
  643. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.ts +47 -47
  644. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.ts +41 -41
  645. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.ts +39 -39
  646. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.ts +30 -30
  647. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.ts +41 -41
  648. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.ts +36 -36
  649. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.ts +62 -62
  650. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.ts +17 -17
  651. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.ts +34 -34
  652. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.ts +25 -25
  653. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.ts +67 -67
  654. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts +226 -226
  655. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.ts +28 -28
  656. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.ts +21 -21
  657. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.ts +59 -59
  658. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts +106 -106
  659. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.ts +31 -31
  660. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.ts +35 -35
  661. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.ts +44 -44
  662. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.ts +23 -23
  663. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.ts +21 -21
  664. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.ts +33 -33
  665. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +62 -62
  666. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +80 -80
  667. package/src/_modules/pipe/_enums/pip-range-pipe-setting.enum.ts +15 -15
  668. package/src/_modules/pipe/_enums/pip.enum.ts +65 -65
  669. package/src/_modules/pipe/_models/pip-multi-pipe-settings.type.ts +8 -8
  670. package/src/_modules/pipe/_models/pip-transforms.interface.ts +30 -30
  671. package/src/_modules/pipe/index.ts +30 -30
  672. package/src/_modules/security/_collections/stored-secret.util.spec.ts +81 -81
  673. package/src/_modules/security/_collections/stored-secret.util.ts +96 -96
  674. package/src/_modules/security/_models/stored-secret.control-model.ts +55 -55
  675. package/src/_modules/security/index.ts +9 -9
  676. package/src/_modules/socket/_enums/sck-event-key.enum.ts +21 -21
  677. package/src/_modules/socket/_models/sck-client-params.control-model.spec.ts +67 -67
  678. package/src/_modules/socket/_models/sck-client-params.control-model.ts +50 -50
  679. package/src/_modules/socket/_models/sck-socket-event.control-model.spec.ts +89 -66
  680. package/src/_modules/socket/_models/sck-socket-event.control-model.ts +185 -172
  681. package/src/_modules/socket/_services/sck-client.service-base.spec.ts +99 -99
  682. package/src/_modules/socket/_services/sck-client.service-base.ts +353 -353
  683. package/src/_modules/socket/index.ts +14 -14
  684. package/src/_modules/state-machine/_models/state-machine-config.interface.ts +19 -19
  685. package/src/_modules/state-machine/_models/state-machine-event.interface.ts +25 -25
  686. package/src/_modules/state-machine/_models/state-machine.control-model.spec.ts +314 -314
  687. package/src/_modules/state-machine/_models/state-machine.control-model.ts +298 -298
  688. package/src/_modules/state-machine/_models/state-transition-result.interface.ts +53 -53
  689. package/src/_modules/state-machine/_models/state-transition.interface.ts +30 -30
  690. package/src/_modules/state-machine/index.ts +6 -6
  691. package/src/_modules/test/_collections/tst-module-settings.const.ts +67 -67
  692. package/src/_modules/test/index.ts +5 -5
  693. package/src/_modules/usage/_collections/usg-module-settings.const.ts +33 -33
  694. package/src/_modules/usage/_models/usg-action.control-model.spec.ts +27 -27
  695. package/src/_modules/usage/_models/usg-action.control-model.ts +28 -28
  696. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.spec.ts +36 -36
  697. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.ts +35 -35
  698. package/src/_modules/usage/_models/usg-data.control-model.spec.ts +41 -41
  699. package/src/_modules/usage/_models/usg-data.control-model.ts +35 -35
  700. package/src/_modules/usage/_models/usg-session.data-model.spec.ts +97 -97
  701. package/src/_modules/usage/_models/usg-session.data-model.ts +72 -72
  702. package/src/_modules/usage/index.ts +11 -11
  703. package/src/index.ts +104 -104
  704. package/tsconfig.app.json +12 -12
  705. package/tsconfig.json +31 -31
  706. package/tsconfig.test.json +16 -16
  707. package/tslint.json +153 -153
@@ -1,100 +1,100 @@
1
- # ✅ ngx-dynamo-models → fsm-dynamo merge — COMPLETION REPORT
2
-
3
- > **UI-20260604-002** · Dátum: **2026-06-06** · Státusz: **KÉSZ (rollout lezárva)**
4
- > Kapcsolódó tervek: [`plans/00-MASTER-ngx-models-fsm-merge.md`](./plans/00-MASTER-ngx-models-fsm-merge.md),
5
- > [`plans/01-naming-convention-DyNM-to-DyFM.md`](./plans/01-naming-convention-DyNM-to-DyFM.md),
6
- > [`plans/02-consumer-rollout.md`](./plans/02-consumer-rollout.md).
7
-
8
- ## Context — miért
9
-
10
- A `@futdevpro/ngx-dynamo-models` (`DyNM_` prefix, 76 forrás + 12 spec) egy **framework-agnosztikus** model/enum/control-model
11
- gyűjtemény volt (az egyetlen `@angular` import ki volt kommentezve). **Körkörös függésben** állt a `fsm-dynamo`-val
12
- (peerDependency), miközben tartalmilag a fsm `DyFM_` rétegének UI-közeli kiterjesztése.
13
-
14
- **Cél:** bemozgatni a `fsm-dynamo` egy submodulja alá (`_modules/ngx-models`), egységesíteni a névkonvenciót
15
- `DyNM_`→`DyFM_`-re (user-direktíva 2026-06-06), átállítani az összes fogyasztót, deprecate-elni a régi package-et.
16
- **Eredmény:** egyetlen bedrock model-package, megszűnt körkörös függés, egységes `DyFM_` névkonvenció.
17
-
18
- ## Mit csináltunk — végrehajtott állapot
19
-
20
- ### Wave 0 — modul-integráció + rename (fsm-dynamo, additív)
21
- - Új submodul: `src/_modules/ngx-models/` (88 fájl: `_collections`, `_enums`, `_models`, `_utils`, `index.ts`).
22
- - A 8 db `@futdevpro/fsm-dynamo` (+1 `/socket`) import → **belső relatív** importtá írva (a fsm submodul-minta szerint).
23
- - Subpath export: `package.json` `exports` + `typesVersions` → `@futdevpro/fsm-dynamo/ngx-models`.
24
- - **`DyNM_`→`DyFM_` rename**: 105 exportált szimbólum, identifier-only (AST-biztos) codemod.
25
- - Build + jasmine: **1409 spec, 0 failure** (a 12 áthozott ngx spec is). Publikálva: **`fsm-dynamo@1.15.22`**.
26
-
27
- ### Collision-kezelés — 3 kategória (VERIFIKÁLT besorolás)
28
- 10 db `DyNM_X` ütközött már létező `DyFM_X`-szel. Forrás-ellenőrzéssel kiderült, hogy a settings-cluster
29
- **paradigma-kötött** (signal `dependencyDataHandler` vs rxjs) → összeolvasztásuk eltörné a signal-handlert.
30
- **Döntés: 0 converge, mind a 10 → distinct `DyFM_` név, a tényleges konvergencia → Phase 5.**
31
-
32
- | Régi `DyNM_` | Új distinct `DyFM_` |
33
- |---|---|
34
- | `DyNM_DataHandler` | `DyFM_SignalDataHandler` |
35
- | `DyNM_DataHandlerDataLoadInProgress` | `DyFM_SignalDataHandlerDataLoadInProgress` |
36
- | `DyNM_DataHandlerDataLoadPostProcess` | `DyFM_SignalDataHandlerDataLoadPostProcess` |
37
- | `DyNM_DataHandler_Settings` | `DyFM_SignalDataHandler_Settings` |
38
- | `DyNM_DataListHandler_Settings` | `DyFM_SignalDataListHandler_Settings` |
39
- | `DyNM_DataSearchHandler_Settings` | `DyFM_SignalDataSearchHandler_Settings` |
40
- | `DyNM_ListCollectorDataHandler_Settings` | `DyFM_SignalListCollectorDataHandler_Settings` |
41
- | `DyNM_Error_Settings` | `DyFM_ErrorDisplay_Settings` |
42
- | `DyNM_Global_Settings` | `DyFM_UiGlobal_Settings` |
43
- | `DyNM_global_settings` | `DyFM_uiGlobal_settings` |
44
-
45
- A maradék **95** szimbólum tiszta `DyNM_X`→`DyFM_X`. **Kivétel:** a `DyNM_STORAGE_ENCRYPTION_KEY` **string-literál**
46
- (runtime env-var kulcs) **VÁLTOZATLAN** — átnevezése a Keystore/deploy-kontraktust törné (FR-015).
47
-
48
- ### Hard cutover (NEM bridge-shim)
49
- A `dynamo-ngx-models` GitHub repo **archivált (read-only)** → bridge-shim nem publikálható. Ezért **tiszta hard cutover**:
50
- minden fogyasztó közvetlenül átállt, a régi `ngx-dynamo-models@1.15.14` npm-en marad fallbacknek, majd **deprecate-elve**.
51
-
52
- ## Rollout — publikált/pushed (commit-hash-ekkel)
53
-
54
- | Réteg | Verzió / commit | Build |
55
- |---|---|---|
56
- | **fsm-dynamo** | `1.15.22` (`319c512`) | ✅ 1409/0 |
57
- | **dynamo-ngx** | `18.15.11` (`236a82f`) | ✅ ng-packagr (DyNX_DataHandler → extends DyFM_SignalDataHandler) |
58
- | **dynamo-builder-models** | `1.15.13` (`c152f2a`) | ✅ tsc + 232/0 |
59
- | **ngx-fdp-templates** | `18.15.21` (`893bdfb`) | ✅ karma 48/0 (teszt-fix után) |
60
- | **LIVE (10)** | art-tarot `c5548ee` · dum `3042efc` · war-factory `a611fc8` · adventor `6c2d194` · fdp-assistant `3ebcf50` · overseer `309fea3` · organizer `885430d` · warbots `062331b` · fdp-pal `3837635` · dynamo-builder `bb63b1a` | 8 lokál build-green; 2 lásd alább |
61
- | **Template (2)** | dynamo-template-project `7a11c11` · fdp-template-project `bf98bd3` | codemod (client+mobile) |
62
- | **OGS** | oldlight-site `f50f520` (docs/ogs-site-spec-plan branch) | codemod |
63
- | **ngx-dynamo-models** | `1.15.14` — **DEPRECATED** az npm-en | fallback fury/STALE-nek |
64
-
65
- ## Megoldott akadályok + rendszerszintű tanulságok
66
-
67
- 1. **Supply-chain policy (`minimumReleaseAge`)** — a frissen publikált bedrock-verziókat blokkolta. **GLOBÁLIS SZABÁLY:**
68
- `minimumReleaseAgeExclude: ['@futdevpro/*']` wildcard minden repó `pnpm-workspace.yaml`-jában.
69
- 2. **Semver vezető-nulla gotcha** — a dep-spec **NEM** lehet vezető-nullás (`1.15.22`, nem `01.15.22`); peer-ként nem matchel.
70
- (A `version` mező marad vezető-nullás — csak a dep-spec tiszta semver.)
71
- 3. **`allowBuilds` placeholder** — a pnpm v11 `set this to true or false` placeholdert generál; `true`-ra kell állítani,
72
- különben az esbuild/lmdb natív build kimarad és az Angular build elhal.
73
- 4. **FR-014 auth-interceptor teszt** (ngx-fdp-templates) — a mai auth-proxy SSOT config-drift (`/auth-api`→`/api`,
74
- `/auth/refresh-pair`→`/refresh-pair`) miatt bukott; a teszt a régi URL-t drótozta. **Fix:** a teszt a
75
- `FDP_authApiEnv_settings`-ből építi az auth-flow URL-t (robusztus, nem drótozott). NEM az ngx-models migráció okozta.
76
- 5. **check-dev-leftovers CI-step (MINDEN consumer!)** — a `dc ci-ck-dl` PACKAGE_VERSIONS ellenőrzés a
77
- `.dynamo/pipeline.cicd.config.json` (template-eknél root `pipeline.cicd.config.json`) `packages` listájában elvárja
78
- az ott felsorolt @futdevpro csomagokat. A dep eltávolítása után a checker "not found in package.json"-nal BUKIK,
79
- és a step `fatal:true` a LIVE/template configokban → az egész CI elhal (a client-build maga zöld!). **KÖTELEZŐ záró-lépés:
80
- minden migrált consumer CICD-configjából kivenni a `@futdevpro/ngx-dynamo-models`-t a PACKAGE_VERSIONS listából.**
81
- Elvégezve mind a 12 consumer-en (dum 85d6064, war-factory e43a497, organizer 086d134, art-tarot 79901e9,
82
- fdp-template-project ebdfbed, dynamo-builder 05f5f1e, oldlight-site b5b3f30, fdp-pal accc04f, fdp-assistant 038a45d,
83
- warbots 82979d2, dynamo-template-project 1fbbafb, adventor 6219b06).
84
-
85
- ## Ismert, tudatosan hagyott elemek (follow-up)
86
-
87
- - **fdp-pal** (`3837635`): **PRE-EXISTING** build-hiba (`NgxMaskPipe` AOT) — a migráció nélkül is reprodukálódik
88
- (stash-elt pristine build is bukik). NEM az ngx-models migráció; a fdp-pal-tulaj külön javítja.
89
- - **dynamo-builder** (`bb63b1a`): lokál **Windows natív postinstall crash** (esbuild/lmdb); a Linux CI-runner tisztán épít.
90
- - **Phase 5** (külön feladat): a 10 distinct-re keresztelt signal/UI cluster **tényleges összevonása** a rxjs `DyFM_`
91
- réteggel (signal↔observable paradigma-refaktor). Lásd a megmaradt `DyFM_Signal*` neveket.
92
- - **fury** (STALE): a deprecated `ngx-dynamo-models@1.15.14`-en marad (tudatosan elengedve).
93
- - **fdp-github-actions** dev-leftovers fixture-ök: szándékos teszt-adat, NEM migrálandó.
94
-
95
- ## Verifikáció
96
-
97
- - **Workspace-sweep:** `grep -rl '@futdevpro/ngx-dynamo-models'` (node_modules/build/DISABLED/tgz nélkül) → **0 valódi találat**.
98
- - **npm:** `npm view @futdevpro/ngx-dynamo-models deprecated` → a deprecation-üzenetet adja.
99
- - **fsm-dynamo modul:** `grep -rE '\bDyNM_' src/_modules/ngx-models` → csak a védett `DyNM_STORAGE_ENCRYPTION_KEY` env-kulcs.
100
- - Minden publikált package + 8 LIVE: build-green (lokál és/vagy CI).
1
+ # ✅ ngx-dynamo-models → fsm-dynamo merge — COMPLETION REPORT
2
+
3
+ > **UI-20260604-002** · Dátum: **2026-06-06** · Státusz: **KÉSZ (rollout lezárva)**
4
+ > Kapcsolódó tervek: [`plans/00-MASTER-ngx-models-fsm-merge.md`](./plans/00-MASTER-ngx-models-fsm-merge.md),
5
+ > [`plans/01-naming-convention-DyNM-to-DyFM.md`](./plans/01-naming-convention-DyNM-to-DyFM.md),
6
+ > [`plans/02-consumer-rollout.md`](./plans/02-consumer-rollout.md).
7
+
8
+ ## Context — miért
9
+
10
+ A `@futdevpro/ngx-dynamo-models` (`DyNM_` prefix, 76 forrás + 12 spec) egy **framework-agnosztikus** model/enum/control-model
11
+ gyűjtemény volt (az egyetlen `@angular` import ki volt kommentezve). **Körkörös függésben** állt a `fsm-dynamo`-val
12
+ (peerDependency), miközben tartalmilag a fsm `DyFM_` rétegének UI-közeli kiterjesztése.
13
+
14
+ **Cél:** bemozgatni a `fsm-dynamo` egy submodulja alá (`_modules/ngx-models`), egységesíteni a névkonvenciót
15
+ `DyNM_`→`DyFM_`-re (user-direktíva 2026-06-06), átállítani az összes fogyasztót, deprecate-elni a régi package-et.
16
+ **Eredmény:** egyetlen bedrock model-package, megszűnt körkörös függés, egységes `DyFM_` névkonvenció.
17
+
18
+ ## Mit csináltunk — végrehajtott állapot
19
+
20
+ ### Wave 0 — modul-integráció + rename (fsm-dynamo, additív)
21
+ - Új submodul: `src/_modules/ngx-models/` (88 fájl: `_collections`, `_enums`, `_models`, `_utils`, `index.ts`).
22
+ - A 8 db `@futdevpro/fsm-dynamo` (+1 `/socket`) import → **belső relatív** importtá írva (a fsm submodul-minta szerint).
23
+ - Subpath export: `package.json` `exports` + `typesVersions` → `@futdevpro/fsm-dynamo/ngx-models`.
24
+ - **`DyNM_`→`DyFM_` rename**: 105 exportált szimbólum, identifier-only (AST-biztos) codemod.
25
+ - Build + jasmine: **1409 spec, 0 failure** (a 12 áthozott ngx spec is). Publikálva: **`fsm-dynamo@1.15.22`**.
26
+
27
+ ### Collision-kezelés — 3 kategória (VERIFIKÁLT besorolás)
28
+ 10 db `DyNM_X` ütközött már létező `DyFM_X`-szel. Forrás-ellenőrzéssel kiderült, hogy a settings-cluster
29
+ **paradigma-kötött** (signal `dependencyDataHandler` vs rxjs) → összeolvasztásuk eltörné a signal-handlert.
30
+ **Döntés: 0 converge, mind a 10 → distinct `DyFM_` név, a tényleges konvergencia → Phase 5.**
31
+
32
+ | Régi `DyNM_` | Új distinct `DyFM_` |
33
+ |---|---|
34
+ | `DyNM_DataHandler` | `DyFM_SignalDataHandler` |
35
+ | `DyNM_DataHandlerDataLoadInProgress` | `DyFM_SignalDataHandlerDataLoadInProgress` |
36
+ | `DyNM_DataHandlerDataLoadPostProcess` | `DyFM_SignalDataHandlerDataLoadPostProcess` |
37
+ | `DyNM_DataHandler_Settings` | `DyFM_SignalDataHandler_Settings` |
38
+ | `DyNM_DataListHandler_Settings` | `DyFM_SignalDataListHandler_Settings` |
39
+ | `DyNM_DataSearchHandler_Settings` | `DyFM_SignalDataSearchHandler_Settings` |
40
+ | `DyNM_ListCollectorDataHandler_Settings` | `DyFM_SignalListCollectorDataHandler_Settings` |
41
+ | `DyNM_Error_Settings` | `DyFM_ErrorDisplay_Settings` |
42
+ | `DyNM_Global_Settings` | `DyFM_UiGlobal_Settings` |
43
+ | `DyNM_global_settings` | `DyFM_uiGlobal_settings` |
44
+
45
+ A maradék **95** szimbólum tiszta `DyNM_X`→`DyFM_X`. **Kivétel:** a `DyNM_STORAGE_ENCRYPTION_KEY` **string-literál**
46
+ (runtime env-var kulcs) **VÁLTOZATLAN** — átnevezése a Keystore/deploy-kontraktust törné (FR-015).
47
+
48
+ ### Hard cutover (NEM bridge-shim)
49
+ A `dynamo-ngx-models` GitHub repo **archivált (read-only)** → bridge-shim nem publikálható. Ezért **tiszta hard cutover**:
50
+ minden fogyasztó közvetlenül átállt, a régi `ngx-dynamo-models@1.15.14` npm-en marad fallbacknek, majd **deprecate-elve**.
51
+
52
+ ## Rollout — publikált/pushed (commit-hash-ekkel)
53
+
54
+ | Réteg | Verzió / commit | Build |
55
+ |---|---|---|
56
+ | **fsm-dynamo** | `1.15.22` (`319c512`) | ✅ 1409/0 |
57
+ | **dynamo-ngx** | `18.15.11` (`236a82f`) | ✅ ng-packagr (DyNX_DataHandler → extends DyFM_SignalDataHandler) |
58
+ | **dynamo-builder-models** | `1.15.13` (`c152f2a`) | ✅ tsc + 232/0 |
59
+ | **ngx-fdp-templates** | `18.15.21` (`893bdfb`) | ✅ karma 48/0 (teszt-fix után) |
60
+ | **LIVE (10)** | art-tarot `c5548ee` · dum `3042efc` · war-factory `a611fc8` · adventor `6c2d194` · fdp-assistant `3ebcf50` · overseer `309fea3` · organizer `885430d` · warbots `062331b` · fdp-pal `3837635` · dynamo-builder `bb63b1a` | 8 lokál build-green; 2 lásd alább |
61
+ | **Template (2)** | dynamo-template-project `7a11c11` · fdp-template-project `bf98bd3` | codemod (client+mobile) |
62
+ | **OGS** | oldlight-site `f50f520` (docs/ogs-site-spec-plan branch) | codemod |
63
+ | **ngx-dynamo-models** | `1.15.14` — **DEPRECATED** az npm-en | fallback fury/STALE-nek |
64
+
65
+ ## Megoldott akadályok + rendszerszintű tanulságok
66
+
67
+ 1. **Supply-chain policy (`minimumReleaseAge`)** — a frissen publikált bedrock-verziókat blokkolta. **GLOBÁLIS SZABÁLY:**
68
+ `minimumReleaseAgeExclude: ['@futdevpro/*']` wildcard minden repó `pnpm-workspace.yaml`-jában.
69
+ 2. **Semver vezető-nulla gotcha** — a dep-spec **NEM** lehet vezető-nullás (`1.15.22`, nem `01.15.22`); peer-ként nem matchel.
70
+ (A `version` mező marad vezető-nullás — csak a dep-spec tiszta semver.)
71
+ 3. **`allowBuilds` placeholder** — a pnpm v11 `set this to true or false` placeholdert generál; `true`-ra kell állítani,
72
+ különben az esbuild/lmdb natív build kimarad és az Angular build elhal.
73
+ 4. **FR-014 auth-interceptor teszt** (ngx-fdp-templates) — a mai auth-proxy SSOT config-drift (`/auth-api`→`/api`,
74
+ `/auth/refresh-pair`→`/refresh-pair`) miatt bukott; a teszt a régi URL-t drótozta. **Fix:** a teszt a
75
+ `FDP_authApiEnv_settings`-ből építi az auth-flow URL-t (robusztus, nem drótozott). NEM az ngx-models migráció okozta.
76
+ 5. **check-dev-leftovers CI-step (MINDEN consumer!)** — a `dc ci-ck-dl` PACKAGE_VERSIONS ellenőrzés a
77
+ `.dynamo/pipeline.cicd.config.json` (template-eknél root `pipeline.cicd.config.json`) `packages` listájában elvárja
78
+ az ott felsorolt @futdevpro csomagokat. A dep eltávolítása után a checker "not found in package.json"-nal BUKIK,
79
+ és a step `fatal:true` a LIVE/template configokban → az egész CI elhal (a client-build maga zöld!). **KÖTELEZŐ záró-lépés:
80
+ minden migrált consumer CICD-configjából kivenni a `@futdevpro/ngx-dynamo-models`-t a PACKAGE_VERSIONS listából.**
81
+ Elvégezve mind a 12 consumer-en (dum 85d6064, war-factory e43a497, organizer 086d134, art-tarot 79901e9,
82
+ fdp-template-project ebdfbed, dynamo-builder 05f5f1e, oldlight-site b5b3f30, fdp-pal accc04f, fdp-assistant 038a45d,
83
+ warbots 82979d2, dynamo-template-project 1fbbafb, adventor 6219b06).
84
+
85
+ ## Ismert, tudatosan hagyott elemek (follow-up)
86
+
87
+ - **fdp-pal** (`3837635`): **PRE-EXISTING** build-hiba (`NgxMaskPipe` AOT) — a migráció nélkül is reprodukálódik
88
+ (stash-elt pristine build is bukik). NEM az ngx-models migráció; a fdp-pal-tulaj külön javítja.
89
+ - **dynamo-builder** (`bb63b1a`): lokál **Windows natív postinstall crash** (esbuild/lmdb); a Linux CI-runner tisztán épít.
90
+ - **Phase 5** (külön feladat): a 10 distinct-re keresztelt signal/UI cluster **tényleges összevonása** a rxjs `DyFM_`
91
+ réteggel (signal↔observable paradigma-refaktor). Lásd a megmaradt `DyFM_Signal*` neveket.
92
+ - **fury** (STALE): a deprecated `ngx-dynamo-models@1.15.14`-en marad (tudatosan elengedve).
93
+ - **fdp-github-actions** dev-leftovers fixture-ök: szándékos teszt-adat, NEM migrálandó.
94
+
95
+ ## Verifikáció
96
+
97
+ - **Workspace-sweep:** `grep -rl '@futdevpro/ngx-dynamo-models'` (node_modules/build/DISABLED/tgz nélkül) → **0 valódi találat**.
98
+ - **npm:** `npm view @futdevpro/ngx-dynamo-models deprecated` → a deprecation-üzenetet adja.
99
+ - **fsm-dynamo modul:** `grep -rE '\bDyNM_' src/_modules/ngx-models` → csak a védett `DyNM_STORAGE_ENCRYPTION_KEY` env-kulcs.
100
+ - Minden publikált package + 8 LIVE: build-green (lokál és/vagy CI).
@@ -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.
@@ -1,75 +1,75 @@
1
- > ✅ **KÉSZ (2026-06-06)** — rollout lezárva. Végrehajtott állapot + commit-hash-ek + tanulságok:
2
- > [`../2026-06-06-ngx-models-merge-completion.md`](../2026-06-06-ngx-models-merge-completion.md).
3
- > Eltérés a tervtől: 0 converge / 10 distinct (settings paradigma-kötött → Phase 5); bridge-shim helyett
4
- > hard cutover (a repo archivált). Globális arch-doc: `fdp-documentations/guidelines/development/ngx-models-fsm-merge.md`.
5
-
6
- # MASTER — `@futdevpro/ngx-dynamo-models` → `@futdevpro/fsm-dynamo` merge + `DyNM_`→`DyFM_` rename
7
-
8
- > Koordinációs master-plan (UI-20260604-002). Dátum: 2026-06-06.
9
- > Egyedi al-tervek: [`01-naming-convention-DyNM-to-DyFM.md`](./01-naming-convention-DyNM-to-DyFM.md),
10
- > [`02-consumer-rollout.md`](./02-consumer-rollout.md).
11
- > Ez a fájl CSAK koordinál — a részletek az al-tervekben.
12
-
13
- ## Context — miért
14
-
15
- A `@futdevpro/ngx-dynamo-models` (mappa: `NPM-packages/dynamo-ngx-models`, `DyNM_` prefix, 76 forrás + 12 spec)
16
- egy **framework-agnosztikus** model/enum/control-model gyűjtemény (az egyetlen `@angular` import ki van
17
- kommentezve). Ma **körkörös függésben** van a `@futdevpro/fsm-dynamo`-val (peerDependency `fsm-dynamo` 1.15.21),
18
- miközben tartalmilag a fsm-dynamo `DyFM_` rétegének UI-közeli kiterjesztése.
19
-
20
- **Cél**: bemozgatni a fsm-dynamo egy submodulja alá (`_modules/ngx-models`), átnevezni a `DyNM_` szimbólumokat
21
- `DyFM_`-re (user-direktíva 2026-06-06), átállítani az összes fogyasztót, majd az ngx-dynamo-models-t deprecate-elni.
22
- Eredmény: egy bedrock model-package, megszűnő körkörös függés, egységes `DyFM_` névkonvenció.
23
-
24
- ## A három fő munka
25
-
26
- | # | Al-terv | Lényeg |
27
- |---|---------|--------|
28
- | A | [01 — Naming](./01-naming-convention-DyNM-to-DyFM.md) | 105 `DyNM_` szimbólum → `DyFM_`: 95 tiszta, 6 konvergál, 4 külön-névre. Codemod + ütközés-feloldás. |
29
- | B | [02 — Consumer rollout](./02-consumer-rollout.md) | 113 fájl / 15 projekt top-down, hullámokban, bridge-shimmel + validation gate-ekkel. |
30
- | C | Modul-integráció (lent) | A kód fizikai bemozgatása a fsm-dynamo-ba + subpath export. |
31
-
32
- ## C — Modul-integráció a fsm-dynamo-ba (additív)
33
-
34
- Követett minta: meglévő `src/_modules/<modul>/index.ts` + `package.json` `exports`/`typesVersions` subpath
35
- (pl. `./crypto`, `./state-machine`). Belső modulok **relatív** importtal hivatkoznak a root-ra (`from '../../..'`).
36
-
37
- 1. Új mappa `src/_modules/ngx-models/` — az ngx `_collections`, `_enums`, `_models` bemozgatva.
38
- 2. A 8 `@futdevpro/fsm-dynamo` (+1 `/socket`) import → relatív belső import. A 9 szimbólum mind létezik a fsm-ben.
39
- 3. `package.json`: `"./ngx-models"` export + `typesVersions["ngx-models"]`.
40
- 4. A `DyNM_`→`DyFM_` rename (A al-terv) a bemozgatott modulon belül történik.
41
-
42
- ## Sorrend (gate-elt hullámok)
43
-
44
- ```
45
- Wave 0 Modul-integráció + rename a fsm-dynamo-ban (C + A) ──┐ bedrock, additív+rename
46
- ├─ publish fsm-dynamo
47
- Wave 0b ngx-dynamo-models → bridge-shim (re-export fsm/ngx-models) + DyNM_ deprecated-alias réteg
48
- ───────────────────────────── USER VALIDATION GATE ─────────────────────────────
49
- Wave 1 NPM hubok: dynamo-ngx (7 collision-fájl!), fdp-templates-ngx, dynamo-builder-models
50
- ───────────────────────────── USER VALIDATION GATE ─────────────────────────────
51
- Wave 2 LIVE prio szerint: organizer(46) → dynamo-builder(18) → overseer(13) → fdp-assistant(6) → adventor(5) → ...
52
- Wave 3 TEMPLATE-ek (+ `dc pattern` snapshot refresh) + OGS oldlight-site
53
- Wave 4 Tooling (fdp-github-actions fixture-ök) + `npm deprecate` ngx-dynamo-models + sunset
54
- ```
55
-
56
- > A bridge-shim + `DyNM_` deprecated-aliasok miatt a Wave 1–4 NEM törésveszélyes: a régi `DyNM_` nevek és a régi
57
- > package-import is működik, amíg a fogyasztó migrál. Lásd [02](./02-consumer-rollout.md).
58
-
59
- ## Phase 5 (külön feladat, NEM ez)
60
-
61
- A 4 divergens collision (signal-vs-observable DataHandler, UI-vs-data Error_Settings, UI-vs-infra Global_Settings)
62
- tényleges **összevonása/leépítése** — önálló plan, a rename után. Itt CSAK külön-névre keresztelünk + deprecated.
63
-
64
- ## Bedrock-megkötések, amik érvényesek
65
-
66
- - A rename most **user-engedélyezett** (felülírja a `bedrock-no-unverified-rename` defaultot) — de a 4 divergens esetnél
67
- NEM nevezünk át foglalt névre, hanem distinct `DyFM_` névre + alias-bridge (behavior-megőrzés).
68
- - `forward-only / no-rollback`: minden hullám előre lép; a shim a visszafelé-kompat eszköze, nem rollback.
69
- - `push-discipline`: hullámonként bundle-ölt commit, zöld teszt után push.
70
-
71
- ## Globális verifikáció
72
-
73
- - Wave 0 után: `dynamo-fsm` build+jasmine zöld (12 áthozott spec is); subpath-feloldás füstteszt.
74
- - Minden hullám: érintett package/projekt build+teszt zöld a gate előtt.
75
- - Záró: workspace-szintű `grep DyNM_` csak a deprecated-alias rétegben ad találatot.
1
+ > ✅ **KÉSZ (2026-06-06)** — rollout lezárva. Végrehajtott állapot + commit-hash-ek + tanulságok:
2
+ > [`../2026-06-06-ngx-models-merge-completion.md`](../2026-06-06-ngx-models-merge-completion.md).
3
+ > Eltérés a tervtől: 0 converge / 10 distinct (settings paradigma-kötött → Phase 5); bridge-shim helyett
4
+ > hard cutover (a repo archivált). Globális arch-doc: `fdp-documentations/guidelines/development/ngx-models-fsm-merge.md`.
5
+
6
+ # MASTER — `@futdevpro/ngx-dynamo-models` → `@futdevpro/fsm-dynamo` merge + `DyNM_`→`DyFM_` rename
7
+
8
+ > Koordinációs master-plan (UI-20260604-002). Dátum: 2026-06-06.
9
+ > Egyedi al-tervek: [`01-naming-convention-DyNM-to-DyFM.md`](./01-naming-convention-DyNM-to-DyFM.md),
10
+ > [`02-consumer-rollout.md`](./02-consumer-rollout.md).
11
+ > Ez a fájl CSAK koordinál — a részletek az al-tervekben.
12
+
13
+ ## Context — miért
14
+
15
+ A `@futdevpro/ngx-dynamo-models` (mappa: `NPM-packages/dynamo-ngx-models`, `DyNM_` prefix, 76 forrás + 12 spec)
16
+ egy **framework-agnosztikus** model/enum/control-model gyűjtemény (az egyetlen `@angular` import ki van
17
+ kommentezve). Ma **körkörös függésben** van a `@futdevpro/fsm-dynamo`-val (peerDependency `fsm-dynamo` 1.15.21),
18
+ miközben tartalmilag a fsm-dynamo `DyFM_` rétegének UI-közeli kiterjesztése.
19
+
20
+ **Cél**: bemozgatni a fsm-dynamo egy submodulja alá (`_modules/ngx-models`), átnevezni a `DyNM_` szimbólumokat
21
+ `DyFM_`-re (user-direktíva 2026-06-06), átállítani az összes fogyasztót, majd az ngx-dynamo-models-t deprecate-elni.
22
+ Eredmény: egy bedrock model-package, megszűnő körkörös függés, egységes `DyFM_` névkonvenció.
23
+
24
+ ## A három fő munka
25
+
26
+ | # | Al-terv | Lényeg |
27
+ |---|---------|--------|
28
+ | A | [01 — Naming](./01-naming-convention-DyNM-to-DyFM.md) | 105 `DyNM_` szimbólum → `DyFM_`: 95 tiszta, 6 konvergál, 4 külön-névre. Codemod + ütközés-feloldás. |
29
+ | B | [02 — Consumer rollout](./02-consumer-rollout.md) | 113 fájl / 15 projekt top-down, hullámokban, bridge-shimmel + validation gate-ekkel. |
30
+ | C | Modul-integráció (lent) | A kód fizikai bemozgatása a fsm-dynamo-ba + subpath export. |
31
+
32
+ ## C — Modul-integráció a fsm-dynamo-ba (additív)
33
+
34
+ Követett minta: meglévő `src/_modules/<modul>/index.ts` + `package.json` `exports`/`typesVersions` subpath
35
+ (pl. `./crypto`, `./state-machine`). Belső modulok **relatív** importtal hivatkoznak a root-ra (`from '../../..'`).
36
+
37
+ 1. Új mappa `src/_modules/ngx-models/` — az ngx `_collections`, `_enums`, `_models` bemozgatva.
38
+ 2. A 8 `@futdevpro/fsm-dynamo` (+1 `/socket`) import → relatív belső import. A 9 szimbólum mind létezik a fsm-ben.
39
+ 3. `package.json`: `"./ngx-models"` export + `typesVersions["ngx-models"]`.
40
+ 4. A `DyNM_`→`DyFM_` rename (A al-terv) a bemozgatott modulon belül történik.
41
+
42
+ ## Sorrend (gate-elt hullámok)
43
+
44
+ ```
45
+ Wave 0 Modul-integráció + rename a fsm-dynamo-ban (C + A) ──┐ bedrock, additív+rename
46
+ ├─ publish fsm-dynamo
47
+ Wave 0b ngx-dynamo-models → bridge-shim (re-export fsm/ngx-models) + DyNM_ deprecated-alias réteg
48
+ ───────────────────────────── USER VALIDATION GATE ─────────────────────────────
49
+ Wave 1 NPM hubok: dynamo-ngx (7 collision-fájl!), fdp-templates-ngx, dynamo-builder-models
50
+ ───────────────────────────── USER VALIDATION GATE ─────────────────────────────
51
+ Wave 2 LIVE prio szerint: organizer(46) → dynamo-builder(18) → overseer(13) → fdp-assistant(6) → adventor(5) → ...
52
+ Wave 3 TEMPLATE-ek (+ `dc pattern` snapshot refresh) + OGS oldlight-site
53
+ Wave 4 Tooling (fdp-github-actions fixture-ök) + `npm deprecate` ngx-dynamo-models + sunset
54
+ ```
55
+
56
+ > A bridge-shim + `DyNM_` deprecated-aliasok miatt a Wave 1–4 NEM törésveszélyes: a régi `DyNM_` nevek és a régi
57
+ > package-import is működik, amíg a fogyasztó migrál. Lásd [02](./02-consumer-rollout.md).
58
+
59
+ ## Phase 5 (külön feladat, NEM ez)
60
+
61
+ A 4 divergens collision (signal-vs-observable DataHandler, UI-vs-data Error_Settings, UI-vs-infra Global_Settings)
62
+ tényleges **összevonása/leépítése** — önálló plan, a rename után. Itt CSAK külön-névre keresztelünk + deprecated.
63
+
64
+ ## Bedrock-megkötések, amik érvényesek
65
+
66
+ - A rename most **user-engedélyezett** (felülírja a `bedrock-no-unverified-rename` defaultot) — de a 4 divergens esetnél
67
+ NEM nevezünk át foglalt névre, hanem distinct `DyFM_` névre + alias-bridge (behavior-megőrzés).
68
+ - `forward-only / no-rollback`: minden hullám előre lép; a shim a visszafelé-kompat eszköze, nem rollback.
69
+ - `push-discipline`: hullámonként bundle-ölt commit, zöld teszt után push.
70
+
71
+ ## Globális verifikáció
72
+
73
+ - Wave 0 után: `dynamo-fsm` build+jasmine zöld (12 áthozott spec is); subpath-feloldás füstteszt.
74
+ - Minden hullám: érintett package/projekt build+teszt zöld a gate előtt.
75
+ - Záró: workspace-szintű `grep DyNM_` csak a deprecated-alias rétegben ad találatot.