@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.
- package/.c8rc.json +26 -26
- package/.cursor/rules/__assistant_guide.mdc +30 -30
- package/.cursor/rules/__main.mdc +64 -64
- package/.cursor/rules/_ag_backend-structure.mdc +85 -85
- package/.cursor/rules/_ag_backend.mdc +16 -16
- package/.cursor/rules/_ag_debug.mdc +7 -7
- package/.cursor/rules/_ag_documentation_writing_rules.mdc +372 -372
- package/.cursor/rules/_ag_file-refactoring.mdc +113 -113
- package/.cursor/rules/_ag_fixes_rules.mdc +5 -5
- package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
- package/.cursor/rules/_ag_frontend.mdc +39 -39
- package/.cursor/rules/_ag_import-rules.mdc +44 -44
- package/.cursor/rules/_ag_naming.mdc +115 -115
- package/.cursor/rules/_ag_running_commands.mdc +4 -4
- package/.cursor/rules/_ag_server-controller.mdc +5 -5
- package/.cursor/rules/_ag_should-be.mdc +6 -6
- package/.cursor/rules/_ag_swearing.mdc +47 -47
- package/.cursor/rules/ai_development_guide.md +60 -60
- package/.cursor/rules/ai_directives.md +114 -114
- package/.cursor/rules/cursor-rules.md +160 -160
- package/.cursor/rules/default-command.mdc +464 -464
- package/.cursor/rules/error_code_pattern.md +39 -39
- package/.cursor/rules/saved rule mcp server use.md +15 -15
- package/.dynamo/pipeline.cicd.config.json +157 -157
- package/.dynamo/version-bump.config.json +5 -5
- package/.github/workflows/main.yml +439 -439
- package/.husky/pre-commit +2 -2
- package/.vscode/settings.json +11 -11
- package/LICENSE +21 -21
- package/README.md +701 -693
- package/__documentations/2026-05-17-oai-compatible-providers-howto.md +282 -282
- package/__documentations/2026-06-01-fr047-fc-foundation.md +48 -48
- package/__documentations/2026-06-01-fr047-fr048-code-review.md +153 -153
- package/__documentations/2026-06-01-fr047-p1-function-calling-vocabulary.md +75 -75
- package/__documentations/2026-06-05-secret-mask-url-cred-any-scheme.md +37 -37
- package/__documentations/2026-06-06-ngx-models-merge-completion.md +100 -100
- package/__documentations/2026-06-22-dyfm-error-extends-error.md +109 -109
- package/__documentations/plans/00-MASTER-ngx-models-fsm-merge.md +75 -75
- package/__documentations/plans/01-naming-convention-DyNM-to-DyFM.md +103 -103
- package/__documentations/plans/02-consumer-rollout.md +84 -84
- package/_specifications/BACKLOG.md +43 -43
- package/build/_modules/crypto/_models/artifact-signature.interface.d.ts +37 -0
- package/build/_modules/crypto/_models/artifact-signature.interface.d.ts.map +1 -0
- package/build/_modules/crypto/_models/artifact-signature.interface.js +3 -0
- package/build/_modules/crypto/_models/artifact-signature.interface.js.map +1 -0
- package/build/_modules/crypto/_services/artifact-signature.control-service.d.ts +24 -0
- package/build/_modules/crypto/_services/artifact-signature.control-service.d.ts.map +1 -0
- package/build/_modules/crypto/_services/artifact-signature.control-service.js +281 -0
- package/build/_modules/crypto/_services/artifact-signature.control-service.js.map +1 -0
- package/build/_modules/crypto/index.d.ts +2 -0
- package/build/_modules/crypto/index.d.ts.map +1 -1
- package/build/_modules/crypto/index.js +2 -0
- package/build/_modules/crypto/index.js.map +1 -1
- package/build/_modules/socket/_models/sck-socket-event.control-model.d.ts +4 -6
- package/build/_modules/socket/_models/sck-socket-event.control-model.d.ts.map +1 -1
- package/build/_modules/socket/_models/sck-socket-event.control-model.js +9 -7
- package/build/_modules/socket/_models/sck-socket-event.control-model.js.map +1 -1
- package/eslint.config.js +4 -4
- package/nodemon.json +22 -22
- package/package.json +306 -306
- package/pnpm-workspace.yaml +2 -2
- package/scripts/_capture-out/ai-error-capture.json +398 -398
- package/scripts/ai-error-capture.js +171 -171
- package/scripts/ai-model-registry-check.js +132 -132
- package/scripts/crypto/CRYPTO-STABILITY-SOLUTION.md +196 -196
- package/scripts/crypto/README.md +113 -113
- package/scripts/crypto/demo-crypto-stability.js +120 -120
- package/scripts/crypto/stress-test-crypto.js +379 -379
- package/scripts/run-coverage-tests.js +24 -24
- package/scripts/verify-build-completeness.js +62 -62
- package/spec/support/helpers/ts-node-helper.js +9 -9
- package/spec/support/jasmine.coverage.json +23 -23
- package/spec/support/jasmine.json +24 -24
- package/src/_collections/constants/data-sizes.const.ts +40 -40
- package/src/_collections/constants/error-defaults.const.ts +20 -20
- package/src/_collections/constants/global-settings.const.spec.ts +32 -32
- package/src/_collections/constants/global-settings.const.ts +29 -29
- package/src/_collections/constants/numbers.const.ts +40 -40
- package/src/_collections/constants/times.const.ts +45 -45
- package/src/_collections/utils/array.util.spec.ts +306 -306
- package/src/_collections/utils/array.util.ts +813 -813
- package/src/_collections/utils/async.util.spec.ts +398 -398
- package/src/_collections/utils/async.util.ts +208 -208
- package/src/_collections/utils/data.util.spec.ts +345 -345
- package/src/_collections/utils/data.util.ts +226 -226
- package/src/_collections/utils/extract-error-message.util.spec.ts +204 -204
- package/src/_collections/utils/extract-error-message.util.ts +223 -223
- package/src/_collections/utils/json-error-helper.util.spec.ts +521 -521
- package/src/_collections/utils/json-error-helper.util.ts +301 -301
- package/src/_collections/utils/log.util.spec.ts +975 -975
- package/src/_collections/utils/log.util.ts +667 -667
- package/src/_collections/utils/math/box-bounds.spec.ts +73 -73
- package/src/_collections/utils/math/box-bounds.util.ts +183 -183
- package/src/_collections/utils/math/math.util.spec.ts +94 -94
- package/src/_collections/utils/math/math.util.ts +141 -141
- package/src/_collections/utils/math/random.util.spec.ts +82 -82
- package/src/_collections/utils/math/random.util.ts +139 -139
- package/src/_collections/utils/math/trigonometry.util.spec.ts +57 -57
- package/src/_collections/utils/math/trigonometry.util.ts +102 -102
- package/src/_collections/utils/math/vector2.util.spec.ts +94 -94
- package/src/_collections/utils/math/vector2.util.ts +653 -653
- package/src/_collections/utils/object.util.spec.ts +646 -646
- package/src/_collections/utils/object.util.ts +739 -739
- package/src/_collections/utils/regex/password-regex.util.spec.ts +51 -51
- package/src/_collections/utils/regex/password-regex.util.ts +65 -65
- package/src/_collections/utils/regex/regex.util.spec.ts +42 -42
- package/src/_collections/utils/regex/regex.util.ts +6 -6
- package/src/_collections/utils/regex/username-regex.util.spec.ts +61 -61
- package/src/_collections/utils/regex/username-regex.util.ts +35 -35
- package/src/_collections/utils/require-env.util.spec.ts +231 -231
- package/src/_collections/utils/require-env.util.ts +138 -138
- package/src/_collections/utils/round-list.util.spec.ts +79 -79
- package/src/_collections/utils/round-list.util.ts +162 -162
- package/src/_collections/utils/secret-mask.util.spec.ts +66 -66
- package/src/_collections/utils/secret-mask.util.ts +262 -262
- package/src/_collections/utils/stack.util.spec.ts +372 -372
- package/src/_collections/utils/stack.util.ts +164 -164
- package/src/_collections/utils/string-case.util.spec.ts +441 -441
- package/src/_collections/utils/string-case.util.ts +362 -362
- package/src/_collections/utils/string.util.spec.ts +975 -975
- package/src/_collections/utils/string.util.ts +449 -449
- package/src/_collections/utils/time.util.spec.ts +50 -50
- package/src/_collections/utils/time.util.ts +481 -481
- package/src/_collections/utils/type-cloning-facility.util.spec.ts +51 -51
- package/src/_collections/utils/type-cloning-facility.util.ts +168 -168
- package/src/_collections/utils/utilities.util.spec.ts +201 -201
- package/src/_collections/utils/utilities.util.ts +68 -68
- package/src/_collections/utils/uuid.util.spec.ts +30 -30
- package/src/_collections/utils/uuid.util.ts +50 -50
- package/src/_enums/basic-property-type.enum.ts +20 -20
- package/src/_enums/data-model-type.enum.ts +29 -29
- package/src/_enums/environment-flag.enum.ts +28 -28
- package/src/_enums/error-level.enum.ts +43 -43
- package/src/_enums/error-status.enum.ts +30 -30
- package/src/_enums/http/http-call-type.enum.ts +43 -43
- package/src/_enums/http/http-event-type.enum.ts +40 -40
- package/src/_enums/http/http-response-type.enum.ts +18 -18
- package/src/_enums/log-style.enum.ts +44 -44
- package/src/_enums/server-connection-status.enum.ts +6 -6
- package/src/_enums/time/day-of-week.enum.ts +55 -55
- package/src/_enums/time/month.enum.ts +25 -25
- package/src/_enums/time/relative-date.enum.ts +24 -24
- package/src/_models/control-models/data-model-params.control-model.spec.ts +156 -156
- package/src/_models/control-models/data-model-params.control-model.ts +362 -362
- package/src/_models/control-models/data-property-params.control-model.spec.ts +93 -93
- package/src/_models/control-models/data-property-params.control-model.ts +210 -210
- package/src/_models/control-models/error.control-model.spec.ts +975 -975
- package/src/_models/control-models/error.control-model.ts +1280 -1280
- package/src/_models/control-models/http/http-error-response.control-model.spec.ts +116 -116
- package/src/_models/control-models/http/http-error-response.control-model.ts +52 -52
- package/src/_models/control-models/http/http-headers.control-model.spec.ts +25 -25
- package/src/_models/control-models/http/http-headers.control-model.ts +124 -124
- package/src/_models/control-models/http/http-response.model-base.spec.ts +46 -46
- package/src/_models/control-models/http/http-response.model-base.ts +57 -57
- package/src/_models/control-models/poll.control-model.spec.ts +63 -63
- package/src/_models/control-models/poll.control-model.ts +151 -151
- package/src/_models/control-models/range-value.control-model.spec.ts +187 -187
- package/src/_models/control-models/range-value.control-model.ts +289 -289
- package/src/_models/control-models/server-status.control-model.spec.ts +66 -66
- package/src/_models/control-models/server-status.control-model.ts +94 -94
- package/src/_models/control-models/service-endpoint-settings-base.control-model.spec.ts +145 -145
- package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +186 -186
- package/src/_models/data-models/errors.data-model.spec.ts +71 -71
- package/src/_models/data-models/errors.data-model.ts +200 -200
- package/src/_models/data-models/metadata.data-model.spec.ts +184 -184
- package/src/_models/data-models/metadata.data-model.ts +153 -153
- package/src/_models/interfaces/box-bounds.interface.ts +7 -7
- package/src/_models/interfaces/environment/global-log-settings.interface.ts +86 -86
- package/src/_models/interfaces/environment/global-settings.interface.ts +69 -69
- package/src/_models/interfaces/error-defaults.interface.ts +18 -18
- package/src/_models/interfaces/paged.interface.ts +12 -12
- package/src/_models/interfaces/random-weight.interface.ts +7 -7
- package/src/_models/interfaces/route-settings.interface.ts +15 -15
- package/src/_models/interfaces/search-query.interface.ts +23 -23
- package/src/_models/interfaces/search-result.interface.ts +5 -5
- package/src/_models/interfaces/server-error-statistics.interface.ts +24 -24
- package/src/_models/interfaces/vector2.interface.ts +20 -20
- package/src/_models/types/db-filter.type.ts +110 -110
- package/src/_models/types/db-sort.type.ts +4 -4
- package/src/_models/types/ds-filter.type.ts +68 -68
- package/src/_models/types/ds-sort.type.ts +21 -21
- package/src/_modules/ai/_collections/ai-model-ref.util.ts +88 -88
- package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +37 -37
- package/src/_modules/ai/_collections/ai-model-registry.util.ts +30 -30
- package/src/_modules/ai/_enums/ai-message-role.enum.ts +7 -7
- package/src/_modules/ai/_enums/ai-model-type.enum.ts +7 -7
- package/src/_modules/ai/_enums/ai-provider.enum.ts +7 -7
- package/src/_modules/ai/_models/ai-call-settings.interface.ts +84 -84
- package/src/_modules/ai/_models/ai-config.interface.ts +14 -14
- package/src/_modules/ai/_models/ai-embedding-request.interface.ts +20 -20
- package/src/_modules/ai/_models/ai-embedding-response.interface.ts +26 -26
- package/src/_modules/ai/_models/ai-llm-request.interface.ts +24 -24
- package/src/_modules/ai/_models/ai-llm-response.interface.ts +30 -30
- package/src/_modules/ai/_models/ai-message.interface.ts +12 -12
- package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +35 -35
- package/src/_modules/ai/_models/ai-model-info.interface.ts +63 -63
- package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +52 -52
- package/src/_modules/ai/_models/ai-provider-capabilities.interface.ts +28 -28
- package/src/_modules/ai/_models/ai-settings.interface.ts +17 -17
- package/src/_modules/ai/_models/ai-tool-call.interface.ts +18 -18
- package/src/_modules/ai/_models/ai-tool-handler.type.ts +11 -11
- package/src/_modules/ai/_models/ai-tool-result.interface.ts +16 -16
- package/src/_modules/ai/_models/ai-tool.interface.ts +16 -16
- package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +29 -29
- package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +135 -135
- package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +19 -19
- package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.ts +28 -28
- package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.ts +23 -23
- package/src/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.ts +10 -10
- package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.ts +22 -22
- package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.ts +27 -27
- package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +20 -20
- package/src/_modules/ai/_modules/anthropic/index.ts +14 -14
- package/src/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.ts +12 -12
- package/src/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.ts +22 -22
- package/src/_modules/ai/_modules/document-ai/index.ts +4 -4
- package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +40 -40
- package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +6 -6
- package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +19 -19
- package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +11 -11
- package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +24 -24
- package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +20 -20
- package/src/_modules/ai/_modules/fdp-ai/index.ts +11 -11
- package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +161 -161
- package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +16 -16
- package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.ts +28 -28
- package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.ts +21 -21
- package/src/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.ts +8 -8
- package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.ts +22 -22
- package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.ts +25 -25
- package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +20 -20
- package/src/_modules/ai/_modules/google-ai/index.ts +14 -14
- package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +59 -59
- package/src/_modules/ai/_modules/local-ai/_enums/lai-model.enum.ts +6 -6
- package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.ts +28 -28
- package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.ts +18 -18
- package/src/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.ts +9 -9
- package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.ts +22 -22
- package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.ts +23 -23
- package/src/_modules/ai/_modules/local-ai/index.ts +14 -14
- package/src/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.ts +7 -7
- package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +404 -404
- package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +179 -179
- package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.ts +28 -28
- package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.ts +21 -21
- package/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts +81 -81
- package/src/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.ts +13 -13
- package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.ts +22 -22
- package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts +25 -25
- package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +21 -21
- package/src/_modules/ai/_modules/open-ai/index.ts +28 -28
- package/src/_modules/ai/index.ts +27 -27
- package/src/_modules/ci-tools/_enums/cit-ci-result-code.enum.ts +11 -11
- package/src/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.ts +9 -9
- package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.ts +58 -58
- package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.ts +77 -77
- package/src/_modules/ci-tools/_models/cit-ci-step-result.interface.ts +12 -12
- package/src/_modules/ci-tools/index.ts +8 -8
- package/src/_modules/crypto/_collections/crypto-v1.util.ts +225 -225
- package/src/_modules/crypto/_collections/crypto-v2.util.ts +331 -331
- package/src/_modules/crypto/_collections/crypto-v4.util.ts +702 -702
- package/src/_modules/crypto/_collections/crypto.util.db-envelope.spec.ts +51 -51
- package/src/_modules/crypto/_collections/crypto.util.edge.spec.ts +605 -605
- package/src/_modules/crypto/_collections/crypto.util.extra.spec.ts +642 -642
- package/src/_modules/crypto/_collections/crypto.util.simple.spec.ts +512 -512
- package/src/_modules/crypto/_collections/crypto.util.ts +748 -748
- package/src/_modules/crypto/_models/artifact-signature.interface.ts +39 -0
- package/src/_modules/crypto/_services/artifact-signature.control-service.spec.ts +223 -0
- package/src/_modules/crypto/_services/artifact-signature.control-service.ts +395 -0
- package/src/_modules/crypto/index.ts +16 -14
- package/src/_modules/custom-data/_collections/cud-module-settings.const.ts +21 -21
- package/src/_modules/custom-data/_models/cud.data-model.spec.ts +38 -38
- package/src/_modules/custom-data/_models/cud.data-model.ts +39 -39
- package/src/_modules/custom-data/index.ts +10 -10
- package/src/_modules/data-handler/_models/data-handler-settings.control-model.spec.ts +110 -110
- package/src/_modules/data-handler/_models/data-handler-settings.control-model.ts +110 -110
- package/src/_modules/data-handler/_models/data-handler.control-model.spec.ts +473 -473
- package/src/_modules/data-handler/_models/data-handler.control-model.ts +486 -486
- package/src/_modules/data-handler/_models/data-list-handler.control-model.spec.ts +263 -263
- package/src/_modules/data-handler/_models/data-list-handler.control-model.ts +252 -252
- package/src/_modules/data-handler/_models/data-search-handler.control-model.spec.ts +417 -417
- package/src/_modules/data-handler/_models/data-search-handler.control-model.ts +390 -390
- package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.ts +374 -374
- package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.ts +274 -274
- package/src/_modules/data-handler/index.ts +6 -6
- package/src/_modules/game/_collections/audio-mixer.util.spec.ts +198 -198
- package/src/_modules/game/_collections/audio-mixer.util.ts +143 -143
- package/src/_modules/game/_collections/audio-scale.util.spec.ts +140 -140
- package/src/_modules/game/_collections/audio-scale.util.ts +129 -129
- package/src/_modules/game/_enums/audio-channel.enum.ts +22 -22
- package/src/_modules/game/_models/audio-mixer-config.interface.ts +53 -53
- package/src/_modules/game/_models/audio-mixer-settings.interface.ts +38 -38
- package/src/_modules/game/_models/audio-mixer-state.interface.ts +36 -36
- package/src/_modules/game/_models/audio-mixer.control-model.spec.ts +376 -376
- package/src/_modules/game/_models/audio-mixer.control-model.ts +419 -419
- package/src/_modules/game/_models/audio-scale.interface.ts +21 -21
- package/src/_modules/game/_models/seeded-random-state.interface.ts +21 -21
- package/src/_modules/game/_models/seeded-random.control-model.spec.ts +290 -290
- package/src/_modules/game/_models/seeded-random.control-model.ts +311 -311
- package/src/_modules/game/index.ts +15 -15
- package/src/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -3239
- package/src/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19035 -19035
- package/src/_modules/location/_collections/assets/country-divisions-ISO-3166.json +4993 -4993
- package/src/_modules/location/_collections/assets/country-phone-codes.json +1203 -1203
- package/src/_modules/location/_collections/assets/country-subdivisions/afghanistan.json +137 -137
- package/src/_modules/location/_collections/assets/country-subdivisions/albania.json +49 -49
- package/src/_modules/location/_collections/assets/country-subdivisions/algeria.json +193 -193
- package/src/_modules/location/_collections/assets/country-subdivisions/andorra.json +29 -29
- package/src/_modules/location/_collections/assets/country-subdivisions/angola.json +73 -73
- package/src/_modules/location/_collections/assets/country-subdivisions/antigua-and-barbuda.json +33 -33
- package/src/_modules/location/_collections/assets/country-subdivisions/argentina.json +97 -97
- package/src/_modules/location/_collections/assets/country-subdivisions/armenia.json +45 -45
- package/src/_modules/location/_collections/assets/country-subdivisions/australia.json +33 -33
- package/src/_modules/location/_collections/assets/country-subdivisions/austria.json +37 -37
- package/src/_modules/location/_collections/assets/country-subdivisions/azerbaijan.json +5 -5
- package/src/_modules/location/_collections/assets/country-subdivisions/bahamas.json +125 -125
- package/src/_modules/location/_collections/assets/country-subdivisions/bahrain.json +21 -21
- package/src/_modules/location/_collections/assets/country-subdivisions/bangladesh.json +29 -29
- package/src/_modules/location/_collections/assets/country-subdivisions/barbados.json +45 -45
- package/src/_modules/location/_collections/assets/country-subdivisions/belarus.json +29 -29
- package/src/_modules/location/_collections/assets/country-subdivisions/belgium.json +13 -13
- package/src/_modules/location/_collections/assets/country-subdivisions/belize.json +25 -25
- package/src/_modules/location/_collections/assets/country-subdivisions/benin.json +49 -49
- package/src/_modules/location/_collections/assets/country-subdivisions/bhutan.json +81 -81
- package/src/_modules/location/_collections/assets/country-subdivisions/bolivia.json +37 -37
- package/src/_modules/location/_collections/assets/country-subdivisions/bosnia-and-herzegovina.json +13 -13
- package/src/_modules/location/_collections/assets/country-subdivisions/botswana.json +65 -65
- package/src/_modules/location/_collections/assets/country-subdivisions/brazil.json +109 -109
- package/src/_modules/location/_collections/assets/country-subdivisions/brunei-darussalam.json +17 -17
- package/src/_modules/location/_collections/assets/country-subdivisions/bulgaria.json +113 -113
- package/src/_modules/location/_collections/assets/country-subdivisions/burkina-faso.json +53 -53
- package/src/_modules/location/_collections/assets/country-subdivisions/burundi.json +69 -69
- package/src/_modules/location/_collections/assets/country-subdivisions/cambodia.json +97 -97
- package/src/_modules/location/_collections/assets/country-subdivisions/cameroon.json +41 -41
- package/src/_modules/location/_collections/assets/country-subdivisions/canada.json +79 -79
- package/src/_modules/location/_collections/assets/country-subdivisions/cape-verde.json +9 -9
- package/src/_modules/location/_collections/assets/country-subdivisions/central-african-republic.json +69 -69
- package/src/_modules/location/_collections/assets/country-subdivisions/chad.json +89 -89
- package/src/_modules/location/_collections/assets/country-subdivisions/chile.json +61 -61
- package/src/_modules/location/_collections/assets/country-subdivisions/china.json +205 -205
- package/src/_modules/location/_collections/assets/country-subdivisions/colombia.json +133 -133
- package/src/_modules/location/_collections/assets/country-subdivisions/comoros.json +13 -13
- package/src/_modules/location/_collections/assets/country-subdivisions/congo-the-democratic-republic-of-the.json +45 -45
- package/src/_modules/location/_collections/assets/country-subdivisions/congo.json +49 -49
- package/src/_modules/location/_collections/assets/country-subdivisions/costa-rica.json +29 -29
- package/src/_modules/location/_collections/assets/country-subdivisions/cote-d-ivoire-republic-of.json +77 -77
- package/src/_modules/location/_collections/assets/country-subdivisions/croatia.json +85 -85
- package/src/_modules/location/_collections/assets/country-subdivisions/cuba.json +65 -65
- package/src/_modules/location/_collections/assets/country-subdivisions/cyprus.json +25 -25
- package/src/_modules/location/_collections/assets/country-subdivisions/czech-republic.json +57 -57
- package/src/_modules/location/_collections/assets/country-subdivisions/denmark.json +21 -21
- package/src/_modules/location/_collections/assets/country-subdivisions/djibouti.json +25 -25
- package/src/_modules/location/_collections/assets/country-subdivisions/dominica.json +41 -41
- package/src/_modules/location/_collections/assets/country-subdivisions/dominican-republic.json +41 -41
- package/src/_modules/location/_collections/assets/country-subdivisions/ecuador.json +97 -97
- package/src/_modules/location/_collections/assets/country-subdivisions/egypt.json +117 -117
- package/src/_modules/location/_collections/assets/country-subdivisions/el-salvador.json +57 -57
- package/src/_modules/location/_collections/assets/country-subdivisions/equatorial-guinea.json +9 -9
- package/src/_modules/location/_collections/assets/country-subdivisions/eritrea.json +25 -25
- package/src/_modules/location/_collections/assets/country-subdivisions/estonia.json +61 -61
- package/src/_modules/location/_collections/assets/country-subdivisions/ethiopia.json +45 -45
- package/src/_modules/location/_collections/assets/country-subdivisions/fiji.json +21 -21
- package/src/_modules/location/_collections/assets/country-subdivisions/finland.json +77 -77
- package/src/_modules/location/_collections/assets/country-subdivisions/france.json +133 -133
- package/src/_modules/location/_collections/assets/country-subdivisions/gabon.json +37 -37
- package/src/_modules/location/_collections/assets/country-subdivisions/gambia.json +25 -25
- package/src/_modules/location/_collections/assets/country-subdivisions/georgia.json +49 -49
- package/src/_modules/location/_collections/assets/country-subdivisions/germany.json +65 -65
- package/src/_modules/location/_collections/assets/country-subdivisions/ghana.json +41 -41
- package/src/_modules/location/_collections/assets/country-subdivisions/greece.json +53 -53
- package/src/_modules/location/_collections/assets/country-subdivisions/greenland.json +17 -17
- package/src/_modules/location/_collections/assets/country-subdivisions/grenada.json +29 -29
- package/src/_modules/location/_collections/assets/country-subdivisions/guatemala.json +89 -89
- package/src/_modules/location/_collections/assets/country-subdivisions/guinea-bissau.json +13 -13
- package/src/_modules/location/_collections/assets/country-subdivisions/guinea.json +33 -33
- package/src/_modules/location/_collections/assets/country-subdivisions/guyana.json +41 -41
- package/src/_modules/location/_collections/assets/country-subdivisions/haiti.json +41 -41
- package/src/_modules/location/_collections/assets/country-subdivisions/honduras.json +73 -73
- package/src/_modules/location/_collections/assets/country-subdivisions/hong-kong.json +4 -4
- package/src/_modules/location/_collections/assets/country-subdivisions/hungary.json +173 -173
- package/src/_modules/location/_collections/assets/country-subdivisions/iceland.json +37 -37
- package/src/_modules/location/_collections/assets/country-subdivisions/india.json +181 -181
- package/src/_modules/location/_collections/assets/country-subdivisions/indonesia.json +29 -29
- package/src/_modules/location/_collections/assets/country-subdivisions/iran-islamic-republic-of.json +125 -125
- package/src/_modules/location/_collections/assets/country-subdivisions/iraq.json +73 -73
- package/src/_modules/location/_collections/assets/country-subdivisions/ireland.json +17 -17
- package/src/_modules/location/_collections/assets/country-subdivisions/israel.json +25 -25
- package/src/_modules/location/_collections/assets/country-subdivisions/italy.json +81 -81
- package/src/_modules/location/_collections/assets/country-subdivisions/jamaica.json +57 -57
- package/src/_modules/location/_collections/assets/country-subdivisions/japan.json +189 -189
- package/src/_modules/location/_collections/assets/country-subdivisions/jordan.json +49 -49
- package/src/_modules/location/_collections/assets/country-subdivisions/kazakhstan.json +65 -65
- package/src/_modules/location/_collections/assets/country-subdivisions/kenya.json +33 -33
- package/src/_modules/location/_collections/assets/country-subdivisions/kiribati.json +13 -13
- package/src/_modules/location/_collections/assets/country-subdivisions/korea-democratic-people-s-republic-of.json +45 -45
- package/src/_modules/location/_collections/assets/country-subdivisions/korea-republic-of.json +69 -69
- package/src/_modules/location/_collections/assets/country-subdivisions/kuwait.json +25 -25
- package/src/_modules/location/_collections/assets/country-subdivisions/kyrgyzstan.json +33 -33
- package/src/_modules/location/_collections/assets/country-subdivisions/lao-people-s-democratic-republic.json +73 -73
- package/src/_modules/location/_collections/assets/country-subdivisions/latvia.json +477 -477
- package/src/_modules/location/_collections/assets/country-subdivisions/lebanon.json +33 -33
- package/src/_modules/location/_collections/assets/country-subdivisions/lesotho.json +41 -41
- package/src/_modules/location/_collections/assets/country-subdivisions/liberia.json +61 -61
- package/src/_modules/location/_collections/assets/country-subdivisions/libyan-arab-jamahiriya.json +89 -89
- package/src/_modules/location/_collections/assets/country-subdivisions/liechtenstein.json +45 -45
- package/src/_modules/location/_collections/assets/country-subdivisions/lithuania.json +41 -41
- package/src/_modules/location/_collections/assets/country-subdivisions/luxembourg.json +13 -13
- package/src/_modules/location/_collections/assets/country-subdivisions/macedonia-the-former-yugoslav-republic-of.json +337 -337
- package/src/_modules/location/_collections/assets/country-subdivisions/madagascar.json +25 -25
- package/src/_modules/location/_collections/assets/country-subdivisions/malawi.json +13 -13
- package/src/_modules/location/_collections/assets/country-subdivisions/malaysia.json +81 -81
- package/src/_modules/location/_collections/assets/country-subdivisions/maldives.json +33 -33
- package/src/_modules/location/_collections/assets/country-subdivisions/mali.json +37 -37
- package/src/_modules/location/_collections/assets/country-subdivisions/malta.json +273 -273
- package/src/_modules/location/_collections/assets/country-subdivisions/marshall-islands.json +9 -9
- package/src/_modules/location/_collections/assets/country-subdivisions/mauritania.json +53 -53
- package/src/_modules/location/_collections/assets/country-subdivisions/mauritius.json +69 -69
- package/src/_modules/location/_collections/assets/country-subdivisions/mexico.json +161 -161
- package/src/_modules/location/_collections/assets/country-subdivisions/micronesia-federated-states-of.json +17 -17
- package/src/_modules/location/_collections/assets/country-subdivisions/moldova-republic-of.json +149 -149
- package/src/_modules/location/_collections/assets/country-subdivisions/monaco.json +69 -69
- package/src/_modules/location/_collections/assets/country-subdivisions/mongolia.json +89 -89
- package/src/_modules/location/_collections/assets/country-subdivisions/montenegro.json +93 -93
- package/src/_modules/location/_collections/assets/country-subdivisions/morocco.json +65 -65
- package/src/_modules/location/_collections/assets/country-subdivisions/mozambique.json +45 -45
- package/src/_modules/location/_collections/assets/country-subdivisions/myanmar.json +57 -57
- package/src/_modules/location/_collections/assets/country-subdivisions/namibia.json +57 -57
- package/src/_modules/location/_collections/assets/country-subdivisions/nauru.json +57 -57
- package/src/_modules/location/_collections/assets/country-subdivisions/nepal.json +21 -21
- package/src/_modules/location/_collections/assets/country-subdivisions/netherlands.json +91 -91
- package/src/_modules/location/_collections/assets/country-subdivisions/new-zealand.json +111 -111
- package/src/_modules/location/_collections/assets/country-subdivisions/nicaragua.json +69 -69
- package/src/_modules/location/_collections/assets/country-subdivisions/niger.json +33 -33
- package/src/_modules/location/_collections/assets/country-subdivisions/nigeria.json +149 -149
- package/src/_modules/location/_collections/assets/country-subdivisions/norway.json +85 -85
- package/src/_modules/location/_collections/assets/country-subdivisions/oman.json +37 -37
- package/src/_modules/location/_collections/assets/country-subdivisions/pakistan.json +33 -33
- package/src/_modules/location/_collections/assets/country-subdivisions/palau.json +65 -65
- package/src/_modules/location/_collections/assets/country-subdivisions/palestinian-territory-occupied.json +65 -65
- package/src/_modules/location/_collections/assets/country-subdivisions/panama.json +53 -53
- package/src/_modules/location/_collections/assets/country-subdivisions/papua-new-guinea.json +81 -81
- package/src/_modules/location/_collections/assets/country-subdivisions/paraguay.json +73 -73
- package/src/_modules/location/_collections/assets/country-subdivisions/peru.json +105 -105
- package/src/_modules/location/_collections/assets/country-subdivisions/philippines.json +69 -69
- package/src/_modules/location/_collections/assets/country-subdivisions/poland.json +65 -65
- package/src/_modules/location/_collections/assets/country-subdivisions/portugal.json +81 -81
- package/src/_modules/location/_collections/assets/country-subdivisions/qatar.json +29 -29
- package/src/_modules/location/_collections/assets/country-subdivisions/romania.json +169 -169
- package/src/_modules/location/_collections/assets/country-subdivisions/russian-federation.json +499 -499
- package/src/_modules/location/_collections/assets/country-subdivisions/rwanda.json +21 -21
- package/src/_modules/location/_collections/assets/country-subdivisions/saint-helena-ascension-and-tristan-da-cunha.json +13 -13
- package/src/_modules/location/_collections/assets/country-subdivisions/saint-kitts-and-nevis.json +9 -9
- package/src/_modules/location/_collections/assets/country-subdivisions/saint-lucia.json +45 -45
- package/src/_modules/location/_collections/assets/country-subdivisions/saint-vincent-and-the-grenadines.json +25 -25
- package/src/_modules/location/_collections/assets/country-subdivisions/samoa.json +45 -45
- package/src/_modules/location/_collections/assets/country-subdivisions/san-marino.json +37 -37
- package/src/_modules/location/_collections/assets/country-subdivisions/sao-tome-and-principe.json +9 -9
- package/src/_modules/location/_collections/assets/country-subdivisions/saudi-arabia.json +53 -53
- package/src/_modules/location/_collections/assets/country-subdivisions/senegal.json +57 -57
- package/src/_modules/location/_collections/assets/country-subdivisions/serbia.json +9 -9
- package/src/_modules/location/_collections/assets/country-subdivisions/seychelles.json +101 -101
- package/src/_modules/location/_collections/assets/country-subdivisions/sierra-leone.json +17 -17
- package/src/_modules/location/_collections/assets/country-subdivisions/singapore.json +21 -21
- package/src/_modules/location/_collections/assets/country-subdivisions/slovakia.json +33 -33
- package/src/_modules/location/_collections/assets/country-subdivisions/slovenia.json +841 -841
- package/src/_modules/location/_collections/assets/country-subdivisions/solomon-islands.json +41 -41
- package/src/_modules/location/_collections/assets/country-subdivisions/somalia.json +73 -73
- package/src/_modules/location/_collections/assets/country-subdivisions/south-africa.json +37 -37
- package/src/_modules/location/_collections/assets/country-subdivisions/south-sudan.json +41 -41
- package/src/_modules/location/_collections/assets/country-subdivisions/spain.json +346 -346
- package/src/_modules/location/_collections/assets/country-subdivisions/sri-lanka.json +37 -37
- package/src/_modules/location/_collections/assets/country-subdivisions/sudan.json +69 -69
- package/src/_modules/location/_collections/assets/country-subdivisions/suriname.json +41 -41
- package/src/_modules/location/_collections/assets/country-subdivisions/swaziland.json +17 -17
- package/src/_modules/location/_collections/assets/country-subdivisions/sweden.json +85 -85
- package/src/_modules/location/_collections/assets/country-subdivisions/switzerland.json +105 -105
- package/src/_modules/location/_collections/assets/country-subdivisions/syrian-arab-republic.json +57 -57
- package/src/_modules/location/_collections/assets/country-subdivisions/taiwan-province-of-china.json +93 -93
- package/src/_modules/location/_collections/assets/country-subdivisions/tajikistan.json +17 -17
- package/src/_modules/location/_collections/assets/country-subdivisions/tanzania-united-republic-of.json +105 -105
- package/src/_modules/location/_collections/assets/country-subdivisions/thailand.json +313 -313
- package/src/_modules/location/_collections/assets/country-subdivisions/timor-leste.json +53 -53
- package/src/_modules/location/_collections/assets/country-subdivisions/togo.json +21 -21
- package/src/_modules/location/_collections/assets/country-subdivisions/tonga.json +21 -21
- package/src/_modules/location/_collections/assets/country-subdivisions/trinidad-and-tobago.json +65 -65
- package/src/_modules/location/_collections/assets/country-subdivisions/tunisia.json +97 -97
- package/src/_modules/location/_collections/assets/country-subdivisions/turkey.json +325 -325
- package/src/_modules/location/_collections/assets/country-subdivisions/turkmenistan.json +25 -25
- package/src/_modules/location/_collections/assets/country-subdivisions/tuvalu.json +33 -33
- package/src/_modules/location/_collections/assets/country-subdivisions/uganda.json +17 -17
- package/src/_modules/location/_collections/assets/country-subdivisions/ukraine.json +109 -109
- package/src/_modules/location/_collections/assets/country-subdivisions/united-arab-emirates.json +29 -29
- package/src/_modules/location/_collections/assets/country-subdivisions/united-kingdom.json +1196 -1196
- package/src/_modules/location/_collections/assets/country-subdivisions/united-states-minor-outlying-islands.json +37 -37
- package/src/_modules/location/_collections/assets/country-subdivisions/united-states.json +286 -286
- package/src/_modules/location/_collections/assets/country-subdivisions/uruguay.json +77 -77
- package/src/_modules/location/_collections/assets/country-subdivisions/uzbekistan.json +57 -57
- package/src/_modules/location/_collections/assets/country-subdivisions/vanuatu.json +25 -25
- package/src/_modules/location/_collections/assets/country-subdivisions/venezuela.json +101 -101
- package/src/_modules/location/_collections/assets/country-subdivisions/viet-nam.json +257 -257
- package/src/_modules/location/_collections/assets/country-subdivisions/yemen.json +85 -85
- package/src/_modules/location/_collections/assets/country-subdivisions/zambia.json +37 -37
- package/src/_modules/location/_collections/assets/country-subdivisions/zimbabwe.json +41 -41
- package/src/_modules/location/_collections/loc-country-divisions.const.ts +10 -10
- package/src/_modules/location/_collections/loc-country-isos.const.ts +8 -8
- package/src/_modules/location/_collections/loc-regions.util.spec.ts +61 -61
- package/src/_modules/location/_collections/loc-regions.util.ts +137 -137
- package/src/_modules/location/_collections/loc.util.spec.ts +52 -52
- package/src/_modules/location/_collections/loc.util.ts +74 -74
- package/src/_modules/location/_enums/loc-region.enum.ts +14 -14
- package/src/_modules/location/_enums/loc-sub-region.enum.ts +31 -31
- package/src/_modules/location/_enums/loc-subdivision-region-type.enum.ts +47 -47
- package/src/_modules/location/_models/loc-coordinates.interface.ts +7 -7
- package/src/_modules/location/_models/loc-country-division.interface.ts +8 -8
- package/src/_modules/location/_models/loc-country-iso.interface.ts +23 -23
- package/src/_modules/location/_models/loc-country-phone-code.interface.ts +9 -9
- package/src/_modules/location/_models/loc-division-collection.interface.ts +12 -12
- package/src/_modules/location/_models/loc-division-region-data.interface.ts +9 -9
- package/src/_modules/location/_models/loc-geo-ip-location.interface.ts +27 -27
- package/src/_modules/location/index.ts +22 -22
- package/src/_modules/messaging/README.md +279 -279
- package/src/_modules/messaging/_collections/msg-module-settings.const.ts +46 -46
- package/src/_modules/messaging/_enums/msg-attachment-type.enum.ts +26 -26
- package/src/_modules/messaging/_enums/msg-conversation-type.enum.ts +20 -20
- package/src/_modules/messaging/_enums/msg-delivery-status.enum.ts +17 -17
- package/src/_modules/messaging/_enums/msg-event-key.enum.ts +31 -31
- package/src/_modules/messaging/_enums/msg-participant-role.enum.ts +20 -20
- package/src/_modules/messaging/_enums/msg-provider-type.enum.ts +7 -7
- package/src/_modules/messaging/_enums/msg-status.enum.ts +26 -26
- package/src/_modules/messaging/_enums/msg-type.enum.ts +23 -23
- package/src/_modules/messaging/_models/msg-attachment.interface.ts +46 -46
- package/src/_modules/messaging/_models/msg-conversation.data-model.spec.ts +69 -69
- package/src/_modules/messaging/_models/msg-conversation.data-model.ts +96 -96
- package/src/_modules/messaging/_models/msg-mention.interface.ts +29 -29
- package/src/_modules/messaging/_models/msg-message.data-model.spec.ts +79 -79
- package/src/_modules/messaging/_models/msg-message.data-model.ts +127 -127
- package/src/_modules/messaging/_models/msg-participant.interface.ts +46 -46
- package/src/_modules/messaging/_models/msg-reaction.interface.ts +20 -20
- package/src/_modules/messaging/_models/msg-thread-info.interface.ts +35 -35
- package/src/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.ts +35 -35
- package/src/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.ts +23 -23
- package/src/_modules/messaging/_modules/agent/_models/agt-process-step.interface.ts +55 -55
- package/src/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.ts +26 -26
- package/src/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.ts +37 -37
- package/src/_modules/messaging/_modules/agent/index.ts +8 -8
- package/src/_modules/messaging/index.ts +28 -28
- package/src/_modules/ngx-models/_collections/angular-placeholders.ts +34 -34
- package/src/_modules/ngx-models/_collections/button-new-style-settings-presets.const.ts +181 -181
- package/src/_modules/ngx-models/_collections/dynamo-global.settings.spec.ts +74 -74
- package/src/_modules/ngx-models/_collections/dynamo-global.settings.ts +103 -103
- package/src/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.ts +16 -16
- package/src/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.ts +14 -14
- package/src/_modules/ngx-models/_enums/button-new/button-new-size.enum.ts +16 -16
- package/src/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.ts +18 -18
- package/src/_modules/ngx-models/_enums/button-type.enum.ts +36 -36
- package/src/_modules/ngx-models/_enums/checkbox-label-position.enum.ts +8 -8
- package/src/_modules/ngx-models/_enums/container-type.enum.ts +11 -11
- package/src/_modules/ngx-models/_enums/errors/error-level.enum.ts +13 -13
- package/src/_modules/ngx-models/_enums/errors/error-notification-color.enum.ts +13 -13
- package/src/_modules/ngx-models/_enums/errors/error-ui-mode.enum.ts +13 -13
- package/src/_modules/ngx-models/_enums/field-appearance.enum.ts +14 -14
- package/src/_modules/ngx-models/_enums/field-type.enum.ts +52 -52
- package/src/_modules/ngx-models/_enums/file-type.enum.ts +12 -12
- package/src/_modules/ngx-models/_enums/flex/flex-layout-align.enum.ts +21 -21
- package/src/_modules/ngx-models/_enums/flex/flex-layout.enum.ts +5 -5
- package/src/_modules/ngx-models/_enums/form-access.enum.ts +9 -9
- package/src/_modules/ngx-models/_enums/form-reset-data.enum.ts +12 -12
- package/src/_modules/ngx-models/_enums/form-store-on.enum.ts +9 -9
- package/src/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.ts +20 -20
- package/src/_modules/ngx-models/_enums/frames/header-item-type.enum.ts +15 -15
- package/src/_modules/ngx-models/_enums/frames/header-position.enum.ts +10 -10
- package/src/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.ts +13 -13
- package/src/_modules/ngx-models/_enums/html/input-types.enum.ts +27 -27
- package/src/_modules/ngx-models/_enums/material-color.enum.ts +16 -16
- package/src/_modules/ngx-models/_enums/material-tooltip-position.enum.ts +16 -16
- package/src/_modules/ngx-models/_enums/preconfigured-field-type.enum.ts +8 -8
- package/src/_modules/ngx-models/_enums/storage-type.enum.ts +15 -15
- package/src/_modules/ngx-models/_enums/validator-type.enum.ts +9 -9
- package/src/_modules/ngx-models/_enums/voice/audio-mime-type.enum.ts +14 -14
- package/src/_modules/ngx-models/_enums/voice/voice-provider-type.enum.ts +26 -26
- package/src/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.ts +20 -20
- package/src/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.ts +37 -37
- package/src/_modules/ngx-models/_models/control-models/button-params.control-model.spec.ts +70 -70
- package/src/_modules/ngx-models/_models/control-models/button-params.control-model.ts +332 -332
- package/src/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.ts +28 -28
- package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.spec.ts +90 -90
- package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.ts +134 -134
- package/src/_modules/ngx-models/_models/control-models/data-handler.control-model.ts +529 -529
- package/src/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.ts +52 -52
- package/src/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.ts +34 -34
- package/src/_modules/ngx-models/_models/control-models/errors/errors-pojo.spec.ts +86 -86
- package/src/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.ts +52 -52
- package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.spec.ts +109 -109
- package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.ts +133 -133
- package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.spec.ts +109 -109
- package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.ts +160 -160
- package/src/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.ts +25 -25
- package/src/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.ts +26 -26
- package/src/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.ts +42 -42
- package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.ts +35 -35
- package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.ts +35 -35
- package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.ts +85 -85
- package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-types.ts +42 -42
- package/src/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.ts +40 -40
- package/src/_modules/ngx-models/_models/control-models/forms-new/forms-new.spec.ts +179 -179
- package/src/_modules/ngx-models/_models/control-models/forms-new/index.ts +20 -20
- package/src/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.ts +27 -27
- package/src/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.ts +24 -24
- package/src/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.ts +35 -35
- package/src/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.ts +35 -35
- package/src/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.ts +46 -46
- package/src/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.ts +37 -37
- package/src/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.ts +45 -45
- package/src/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.ts +30 -30
- package/src/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.ts +22 -22
- package/src/_modules/ngx-models/_models/control-models/frames/frames-pojo.spec.ts +108 -108
- package/src/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.ts +52 -52
- package/src/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.ts +40 -40
- package/src/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.ts +55 -55
- package/src/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.ts +30 -30
- package/src/_modules/ngx-models/_models/control-models/select.control-model.spec.ts +45 -45
- package/src/_modules/ngx-models/_models/control-models/select.control-model.ts +28 -28
- package/src/_modules/ngx-models/_models/control-models/voice/voice-pojo.spec.ts +111 -111
- package/src/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.ts +74 -74
- package/src/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.ts +42 -42
- package/src/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.ts +37 -37
- package/src/_modules/ngx-models/_models/interfaces/button-new-settings.interface.ts +74 -74
- package/src/_modules/ngx-models/_models/interfaces/confirm-settings.interface.ts +20 -20
- package/src/_modules/ngx-models/_models/interfaces/global-settings.interface.ts +67 -67
- package/src/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.ts +40 -40
- package/src/_modules/ngx-models/_models/interfaces/storage.service.spec.ts +18 -18
- package/src/_modules/ngx-models/_models/interfaces/storage.service.ts +40 -40
- package/src/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.ts +19 -19
- package/src/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.ts +14 -14
- package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.ts +14 -14
- package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.ts +15 -15
- package/src/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.ts +18 -18
- package/src/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.ts +21 -21
- package/src/_modules/ngx-models/_utils/shared.service.spec.ts +7 -7
- package/src/_modules/ngx-models/_utils/shared.service.ts +541 -541
- package/src/_modules/ngx-models/index.ts +110 -110
- package/src/_modules/pipe/_collections/pip-transforms.const.ts +42 -42
- package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.ts +47 -47
- package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.ts +41 -41
- package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.ts +39 -39
- package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.ts +30 -30
- package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.ts +41 -41
- package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.ts +36 -36
- package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.ts +62 -62
- package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.ts +17 -17
- package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.ts +34 -34
- package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.ts +25 -25
- package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.ts +67 -67
- package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts +226 -226
- package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.ts +28 -28
- package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.ts +21 -21
- package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.ts +59 -59
- package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts +106 -106
- package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.ts +31 -31
- package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.ts +35 -35
- package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.ts +44 -44
- package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.ts +23 -23
- package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.ts +21 -21
- package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.ts +33 -33
- package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +62 -62
- package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +80 -80
- package/src/_modules/pipe/_enums/pip-range-pipe-setting.enum.ts +15 -15
- package/src/_modules/pipe/_enums/pip.enum.ts +65 -65
- package/src/_modules/pipe/_models/pip-multi-pipe-settings.type.ts +8 -8
- package/src/_modules/pipe/_models/pip-transforms.interface.ts +30 -30
- package/src/_modules/pipe/index.ts +30 -30
- package/src/_modules/security/_collections/stored-secret.util.spec.ts +81 -81
- package/src/_modules/security/_collections/stored-secret.util.ts +96 -96
- package/src/_modules/security/_models/stored-secret.control-model.ts +55 -55
- package/src/_modules/security/index.ts +9 -9
- package/src/_modules/socket/_enums/sck-event-key.enum.ts +21 -21
- package/src/_modules/socket/_models/sck-client-params.control-model.spec.ts +67 -67
- package/src/_modules/socket/_models/sck-client-params.control-model.ts +50 -50
- package/src/_modules/socket/_models/sck-socket-event.control-model.spec.ts +89 -66
- package/src/_modules/socket/_models/sck-socket-event.control-model.ts +185 -172
- package/src/_modules/socket/_services/sck-client.service-base.spec.ts +99 -99
- package/src/_modules/socket/_services/sck-client.service-base.ts +353 -353
- package/src/_modules/socket/index.ts +14 -14
- package/src/_modules/state-machine/_models/state-machine-config.interface.ts +19 -19
- package/src/_modules/state-machine/_models/state-machine-event.interface.ts +25 -25
- package/src/_modules/state-machine/_models/state-machine.control-model.spec.ts +314 -314
- package/src/_modules/state-machine/_models/state-machine.control-model.ts +298 -298
- package/src/_modules/state-machine/_models/state-transition-result.interface.ts +53 -53
- package/src/_modules/state-machine/_models/state-transition.interface.ts +30 -30
- package/src/_modules/state-machine/index.ts +6 -6
- package/src/_modules/test/_collections/tst-module-settings.const.ts +67 -67
- package/src/_modules/test/index.ts +5 -5
- package/src/_modules/usage/_collections/usg-module-settings.const.ts +33 -33
- package/src/_modules/usage/_models/usg-action.control-model.spec.ts +27 -27
- package/src/_modules/usage/_models/usg-action.control-model.ts +28 -28
- package/src/_modules/usage/_models/usg-daily-usage-data.control-model.spec.ts +36 -36
- package/src/_modules/usage/_models/usg-daily-usage-data.control-model.ts +35 -35
- package/src/_modules/usage/_models/usg-data.control-model.spec.ts +41 -41
- package/src/_modules/usage/_models/usg-data.control-model.ts +35 -35
- package/src/_modules/usage/_models/usg-session.data-model.spec.ts +97 -97
- package/src/_modules/usage/_models/usg-session.data-model.ts +72 -72
- package/src/_modules/usage/index.ts +11 -11
- package/src/index.ts +104 -104
- package/tsconfig.app.json +12 -12
- package/tsconfig.json +31 -31
- package/tsconfig.test.json +16 -16
- 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.
|