@futdevpro/fsm-dynamo 1.20.88 → 1.20.93
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/build/_models/control-models/data-model-params.control-model.d.ts +0 -1
- package/build/_models/control-models/data-model-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/data-model-params.control-model.js +1 -4
- package/build/_models/control-models/data-model-params.control-model.js.map +1 -1
- package/build/_models/control-models/data-property-params.control-model.d.ts +0 -1
- package/build/_models/control-models/data-property-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/data-property-params.control-model.js +1 -4
- package/build/_models/control-models/data-property-params.control-model.js.map +1 -1
- package/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts +0 -1
- package/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts.map +1 -1
- package/build/_models/control-models/service-endpoint-settings-base.control-model.js +4 -4
- package/build/_models/control-models/service-endpoint-settings-base.control-model.js.map +1 -1
- package/build/_modules/data-handler/_models/data-handler-settings.control-model.d.ts +0 -3
- package/build/_modules/data-handler/_models/data-handler-settings.control-model.d.ts.map +1 -1
- package/build/_modules/data-handler/_models/data-handler-settings.control-model.js +4 -10
- package/build/_modules/data-handler/_models/data-handler-settings.control-model.js.map +1 -1
- package/build/_modules/data-handler/_models/data-handler.control-model.d.ts.map +1 -1
- package/build/_modules/data-handler/_models/data-handler.control-model.js +10 -4
- package/build/_modules/data-handler/_models/data-handler.control-model.js.map +1 -1
- package/build/_modules/data-handler/_models/data-list-handler.control-model.d.ts +1 -1
- package/build/_modules/data-handler/_models/data-list-handler.control-model.d.ts.map +1 -1
- package/build/_modules/data-handler/_models/data-search-handler.control-model.d.ts +1 -1
- package/build/_modules/data-handler/_models/data-search-handler.control-model.d.ts.map +1 -1
- package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.d.ts +1 -1
- package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.d.ts.map +1 -1
- package/build/_modules/data-handler/index.d.ts +3 -0
- package/build/_modules/data-handler/index.d.ts.map +1 -1
- package/build/_modules/data-handler/index.js +3 -0
- package/build/_modules/data-handler/index.js.map +1 -1
- package/build/_modules/game/_models/flying-effect.control-model.d.ts +34 -0
- package/build/_modules/game/_models/flying-effect.control-model.d.ts.map +1 -0
- package/build/_modules/game/_models/flying-effect.control-model.js +217 -0
- package/build/_modules/game/_models/flying-effect.control-model.js.map +1 -0
- package/build/_modules/game/_models/flying-effect.interface.d.ts +53 -0
- package/build/_modules/game/_models/flying-effect.interface.d.ts.map +1 -0
- package/build/_modules/game/_models/flying-effect.interface.js +3 -0
- package/build/_modules/game/_models/flying-effect.interface.js.map +1 -0
- package/build/_modules/game/index.d.ts +2 -0
- package/build/_modules/game/index.d.ts.map +1 -1
- package/build/_modules/game/index.js +2 -0
- package/build/_modules/game/index.js.map +1 -1
- package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.d.ts +0 -3
- package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.d.ts.map +1 -1
- package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js +4 -10
- package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js.map +1 -1
- package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.d.ts.map +1 -1
- package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.js +10 -4
- package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.js.map +1 -1
- package/build/_modules/ngx-models/index.d.ts +3 -0
- package/build/_modules/ngx-models/index.d.ts.map +1 -1
- package/build/_modules/ngx-models/index.js +3 -0
- package/build/_modules/ngx-models/index.js.map +1 -1
- package/build/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.d.ts.map +1 -1
- package/build/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.js +2 -0
- package/build/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.js.map +1 -1
- package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.d.ts +2 -0
- package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.d.ts.map +1 -1
- package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.js +2 -0
- package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.js.map +1 -1
- package/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -0
- package/build/index.js.map +1 -1
- package/build-esm/_collections/constants/data-sizes.const.js +37 -0
- package/build-esm/_collections/constants/error-defaults.const.js +17 -0
- package/build-esm/_collections/constants/global-settings.const.js +17 -0
- package/build-esm/_collections/constants/numbers.const.js +36 -0
- package/build-esm/_collections/constants/times.const.js +38 -0
- package/build-esm/_collections/utils/array.util.js +632 -0
- package/build-esm/_collections/utils/async.util.js +183 -0
- package/build-esm/_collections/utils/data.util.js +203 -0
- package/build-esm/_collections/utils/extract-error-message.util.js +183 -0
- package/build-esm/_collections/utils/json-error-helper.util.js +251 -0
- package/build-esm/_collections/utils/log.util.js +555 -0
- package/build-esm/_collections/utils/math/box-bounds.util.js +159 -0
- package/build-esm/_collections/utils/math/math.util.js +183 -0
- package/build-esm/_collections/utils/math/random.util.js +117 -0
- package/build-esm/_collections/utils/math/trigonometry.util.js +89 -0
- package/build-esm/_collections/utils/math/vector2.util.js +587 -0
- package/build-esm/_collections/utils/object.util.js +591 -0
- package/build-esm/_collections/utils/operation-authz.util.js +136 -0
- package/build-esm/_collections/utils/operation-guardrails.util.js +220 -0
- package/build-esm/_collections/utils/operation-run.util.js +81 -0
- package/build-esm/_collections/utils/operation-schema.util.js +159 -0
- package/build-esm/_collections/utils/regex/password-regex.util.js +56 -0
- package/build-esm/_collections/utils/regex/regex.util.js +1 -0
- package/build-esm/_collections/utils/regex/username-regex.util.js +28 -0
- package/build-esm/_collections/utils/require-env.util.js +90 -0
- package/build-esm/_collections/utils/round-list.util.js +108 -0
- package/build-esm/_collections/utils/secret-mask.util.js +219 -0
- package/build-esm/_collections/utils/stack.util.js +126 -0
- package/build-esm/_collections/utils/string-case.util.js +332 -0
- package/build-esm/_collections/utils/string.util.js +366 -0
- package/build-esm/_collections/utils/time.util.js +431 -0
- package/build-esm/_collections/utils/type-cloning-facility.util.js +122 -0
- package/build-esm/_collections/utils/utilities.util.js +61 -0
- package/build-esm/_collections/utils/uuid.util.js +33 -0
- package/build-esm/_enums/basic-property-type.enum.js +18 -0
- package/build-esm/_enums/data-model-type.enum.js +24 -0
- package/build-esm/_enums/environment-flag.enum.js +26 -0
- package/build-esm/_enums/error-level.enum.js +35 -0
- package/build-esm/_enums/error-status.enum.js +28 -0
- package/build-esm/_enums/http/http-call-type.enum.js +42 -0
- package/build-esm/_enums/http/http-event-type.enum.js +39 -0
- package/build-esm/_enums/http/http-response-type.enum.js +18 -0
- package/build-esm/_enums/log-style.enum.js +38 -0
- package/build-esm/_enums/operation-auth.type-enum.js +19 -0
- package/build-esm/_enums/operation-if-match.type-enum.js +17 -0
- package/build-esm/_enums/operation-patch-field.type-enum.js +40 -0
- package/build-esm/_enums/server-connection-status.enum.js +5 -0
- package/build-esm/_enums/time/day-of-week.enum.js +47 -0
- package/build-esm/_enums/time/month.enum.js +23 -0
- package/build-esm/_enums/time/relative-date.enum.js +19 -0
- package/build-esm/_models/control-models/data-model-params.control-model.js +259 -0
- package/build-esm/_models/control-models/data-model-settings.control-model.js +63 -0
- package/build-esm/_models/control-models/data-property-params.control-model.js +101 -0
- package/build-esm/_models/control-models/data-property-settings.control-model.js +61 -0
- package/build-esm/_models/control-models/error.control-model.js +787 -0
- package/build-esm/_models/control-models/http/http-error-response.control-model.js +48 -0
- package/build-esm/_models/control-models/http/http-headers.control-model.js +43 -0
- package/build-esm/_models/control-models/http/http-response.model-base.js +62 -0
- package/build-esm/_models/control-models/operation-context.control-model.js +110 -0
- package/build-esm/_models/control-models/operation-settings.control-model.js +184 -0
- package/build-esm/_models/control-models/poll.control-model.js +202 -0
- package/build-esm/_models/control-models/range-value.control-model.js +247 -0
- package/build-esm/_models/control-models/server-route-settings-base.control-model.js +19 -0
- package/build-esm/_models/control-models/server-status.control-model.js +73 -0
- package/build-esm/_models/control-models/service-endpoint-settings-base.control-model.js +110 -0
- package/build-esm/_models/data-models/errors.data-model.js +156 -0
- package/build-esm/_models/data-models/metadata.data-model.js +120 -0
- package/build-esm/_models/interfaces/box-bounds.interface.js +1 -0
- package/build-esm/_models/interfaces/environment/global-log-settings.interface.js +1 -0
- package/build-esm/_models/interfaces/environment/global-settings.interface.js +1 -0
- package/build-esm/_models/interfaces/error-defaults.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-authz-result.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-authz.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-exposure.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-guardrails.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-input-settings.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-json-schema.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-patch-field.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-patch-result.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-patch-violation.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-run-result.interface.js +1 -0
- package/build-esm/_models/interfaces/paged.interface.js +1 -0
- package/build-esm/_models/interfaces/poll-handle.interface.js +1 -0
- package/build-esm/_models/interfaces/random-weight.interface.js +1 -0
- package/build-esm/_models/interfaces/route-settings.interface.js +1 -0
- package/build-esm/_models/interfaces/search-query.interface.js +1 -0
- package/build-esm/_models/interfaces/search-result.interface.js +1 -0
- package/build-esm/_models/interfaces/server-error-statistics.interface.js +1 -0
- package/build-esm/_models/interfaces/vector2.interface.js +1 -0
- package/build-esm/_models/types/db-filter.type.js +1 -0
- package/build-esm/_models/types/db-sort.type.js +1 -0
- package/build-esm/_models/types/deprecated-boolean-alias.type.js +1 -0
- package/build-esm/_models/types/ds-filter.type.js +15 -0
- package/build-esm/_models/types/ds-sort.type.js +1 -0
- package/build-esm/_modules/ai/_collections/ai-media-provenance.util.js +24 -0
- package/build-esm/_modules/ai/_collections/ai-model-ref.util.js +70 -0
- package/build-esm/_modules/ai/_collections/ai-model-registry.util.js +37 -0
- package/build-esm/_modules/ai/_enums/ai-message-role.enum.js +8 -0
- package/build-esm/_modules/ai/_enums/ai-model-type.enum.js +8 -0
- package/build-esm/_modules/ai/_enums/ai-provider.enum.js +8 -0
- package/build-esm/_modules/ai/_models/ai-call-settings.interface.js +88 -0
- package/build-esm/_modules/ai/_models/ai-config.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-embedding-request.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-embedding-response.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-image-request.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-image-response.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-llm-request.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-llm-response.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-media-file.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-media-provenance.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-message.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-model-capabilities.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-model-info.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-model-settings-schema.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-model3d-request.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-model3d-response.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-provider-capabilities.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-settings.interface.js +10 -0
- package/build-esm/_modules/ai/_models/ai-speech-request.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-speech-response.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-tool-call.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-tool-handler.type.js +1 -0
- package/build-esm/_modules/ai/_models/ai-tool-result.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-tool.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-user-provider-config.control-model.js +31 -0
- package/build-esm/_modules/ai/_modules/anthropic/_collections/aai-models.const.js +130 -0
- package/build-esm/_modules/ai/_modules/anthropic/_enums/aai-model.enum.js +17 -0
- package/build-esm/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.js +23 -0
- package/build-esm/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.js +25 -0
- package/build-esm/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.js +22 -0
- package/build-esm/_modules/ai/_modules/anthropic/index.js +9 -0
- package/build-esm/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/document-ai/index.js +3 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js +38 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.js +7 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.js +21 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.js +24 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.js +22 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/index.js +9 -0
- package/build-esm/_modules/ai/_modules/google-ai/_collections/gai-models.const.js +155 -0
- package/build-esm/_modules/ai/_modules/google-ai/_enums/gai-model.enum.js +14 -0
- package/build-esm/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.js +23 -0
- package/build-esm/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.js +25 -0
- package/build-esm/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.js +22 -0
- package/build-esm/_modules/ai/_modules/google-ai/index.js +9 -0
- package/build-esm/_modules/ai/_modules/local-ai/_collections/lai-models.const.js +57 -0
- package/build-esm/_modules/ai/_modules/local-ai/_enums/lai-model.enum.js +5 -0
- package/build-esm/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.js +19 -0
- package/build-esm/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.js +22 -0
- package/build-esm/_modules/ai/_modules/local-ai/index.js +8 -0
- package/build-esm/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.js +6 -0
- package/build-esm/_modules/ai/_modules/open-ai/_collections/oai-models.const.js +455 -0
- package/build-esm/_modules/ai/_modules/open-ai/_enums/oai-model.enum.js +146 -0
- package/build-esm/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.js +23 -0
- package/build-esm/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.js +25 -0
- package/build-esm/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.js +23 -0
- package/build-esm/_modules/ai/_modules/open-ai/index.js +19 -0
- package/build-esm/_modules/ai/index.js +34 -0
- package/build-esm/_modules/application-alert/_collections/application-alert-envelope.util.js +267 -0
- package/build-esm/_modules/application-alert/_enums/application-alert-evaluation-state.type-enum.js +6 -0
- package/build-esm/_modules/application-alert/_enums/application-alert-severity.type-enum.js +8 -0
- package/build-esm/_modules/application-alert/_models/application-alert.interface.js +1 -0
- package/build-esm/_modules/application-alert/index.js +4 -0
- package/build-esm/_modules/ci-tools/_enums/cit-ci-result-code.enum.js +9 -0
- package/build-esm/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.js +9 -0
- package/build-esm/_modules/ci-tools/_models/cit-ci-result-info.data-models.js +63 -0
- package/build-esm/_modules/ci-tools/_models/cit-ci-step-result.interface.js +1 -0
- package/build-esm/_modules/ci-tools/index.js +6 -0
- package/build-esm/_modules/crypto/_collections/crypto-v1.util.js +199 -0
- package/build-esm/_modules/crypto/_collections/crypto-v2.util.js +273 -0
- package/build-esm/_modules/crypto/_collections/crypto-v4.util.js +605 -0
- package/build-esm/_modules/crypto/_collections/crypto.util.js +651 -0
- package/build-esm/_modules/crypto/_models/artifact-signature.interface.js +1 -0
- package/build-esm/_modules/crypto/_services/artifact-signature.control-service.js +276 -0
- package/build-esm/_modules/crypto/index.js +11 -0
- package/build-esm/_modules/custom-data/_collections/cud-module-settings.const.js +18 -0
- package/build-esm/_modules/custom-data/_models/cud.data-model.js +30 -0
- package/build-esm/_modules/custom-data/index.js +4 -0
- package/build-esm/_modules/data-handler/_models/data-handler-settings.control-model.js +78 -0
- package/build-esm/_modules/data-handler/_models/data-handler.control-model.js +386 -0
- package/build-esm/_modules/data-handler/_models/data-list-handler-settings.control-model.js +11 -0
- package/build-esm/_modules/data-handler/_models/data-list-handler.control-model.js +222 -0
- package/build-esm/_modules/data-handler/_models/data-search-handler-settings.control-model.js +25 -0
- package/build-esm/_modules/data-handler/_models/data-search-handler.control-model.js +334 -0
- package/build-esm/_modules/data-handler/_models/list-collector-data-handler-settings.control-model.js +12 -0
- package/build-esm/_modules/data-handler/_models/list-collector-data-handler.control-model.js +243 -0
- package/build-esm/_modules/data-handler/index.js +9 -0
- package/build-esm/_modules/deployment/_collections/atomic-rollback-manifest.util.js +348 -0
- package/build-esm/_modules/deployment/_models/atomic-rollback-manifest.interface.js +1 -0
- package/build-esm/_modules/deployment/index.js +2 -0
- package/build-esm/_modules/game/_collections/audio-mixer.util.js +109 -0
- package/build-esm/_modules/game/_collections/audio-scale.util.js +100 -0
- package/build-esm/_modules/game/_enums/audio-channel.enum.js +21 -0
- package/build-esm/_modules/game/_models/audio-mixer-config.interface.js +1 -0
- package/build-esm/_modules/game/_models/audio-mixer-settings.interface.js +1 -0
- package/build-esm/_modules/game/_models/audio-mixer-state.interface.js +1 -0
- package/build-esm/_modules/game/_models/audio-mixer.control-model.js +337 -0
- package/build-esm/_modules/game/_models/audio-scale.interface.js +1 -0
- package/build-esm/_modules/game/_models/flying-effect.control-model.js +212 -0
- package/build-esm/_modules/game/_models/flying-effect.interface.js +1 -0
- package/build-esm/_modules/game/_models/seeded-random-registry.control-model.js +124 -0
- package/build-esm/_modules/game/_models/seeded-random-registry.interface.js +1 -0
- package/build-esm/_modules/game/_models/seeded-random-state.interface.js +1 -0
- package/build-esm/_modules/game/_models/seeded-random.control-model.js +261 -0
- package/build-esm/_modules/game/index.js +17 -0
- package/build-esm/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -0
- package/build-esm/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19036 -0
- package/build-esm/_modules/location/_collections/assets/country-phone-codes.json +1202 -0
- package/build-esm/_modules/location/_collections/loc-country-divisions.const.js +3 -0
- package/build-esm/_modules/location/_collections/loc-country-isos.const.js +2 -0
- package/build-esm/_modules/location/_collections/loc-regions.util.js +107 -0
- package/build-esm/_modules/location/_collections/loc.util.js +56 -0
- package/build-esm/_modules/location/_enums/loc-region.enum.js +11 -0
- package/build-esm/_modules/location/_enums/loc-sub-region.enum.js +23 -0
- package/build-esm/_modules/location/_enums/loc-subdivision-region-type.enum.js +45 -0
- package/build-esm/_modules/location/_models/loc-coordinates.interface.js +1 -0
- package/build-esm/_modules/location/_models/loc-country-division.interface.js +1 -0
- package/build-esm/_modules/location/_models/loc-country-iso.interface.js +1 -0
- package/build-esm/_modules/location/_models/loc-country-phone-code.interface.js +1 -0
- package/build-esm/_modules/location/_models/loc-division-collection.interface.js +1 -0
- package/build-esm/_modules/location/_models/loc-division-region-data.interface.js +1 -0
- package/build-esm/_modules/location/_models/loc-geo-ip-location.interface.js +1 -0
- package/build-esm/_modules/location/index.js +17 -0
- package/build-esm/_modules/messaging/_collections/msg-module-settings.const.js +44 -0
- package/build-esm/_modules/messaging/_enums/msg-attachment-type.enum.js +21 -0
- package/build-esm/_modules/messaging/_enums/msg-conversation-type.enum.js +17 -0
- package/build-esm/_modules/messaging/_enums/msg-delivery-status.enum.js +15 -0
- package/build-esm/_modules/messaging/_enums/msg-event-key.enum.js +28 -0
- package/build-esm/_modules/messaging/_enums/msg-participant-role.enum.js +17 -0
- package/build-esm/_modules/messaging/_enums/msg-provider-type.enum.js +8 -0
- package/build-esm/_modules/messaging/_enums/msg-status.enum.js +21 -0
- package/build-esm/_modules/messaging/_enums/msg-type.enum.js +19 -0
- package/build-esm/_modules/messaging/_models/msg-attachment.interface.js +1 -0
- package/build-esm/_modules/messaging/_models/msg-conversation.data-model.js +80 -0
- package/build-esm/_modules/messaging/_models/msg-mention.interface.js +1 -0
- package/build-esm/_modules/messaging/_models/msg-message.data-model.js +102 -0
- package/build-esm/_modules/messaging/_models/msg-participant.interface.js +1 -0
- package/build-esm/_modules/messaging/_models/msg-reaction.interface.js +1 -0
- package/build-esm/_modules/messaging/_models/msg-thread-info.interface.js +1 -0
- package/build-esm/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.js +27 -0
- package/build-esm/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.js +19 -0
- package/build-esm/_modules/messaging/_modules/agent/_models/agt-process-step.interface.js +1 -0
- package/build-esm/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.js +1 -0
- package/build-esm/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.js +1 -0
- package/build-esm/_modules/messaging/_modules/agent/index.js +7 -0
- package/build-esm/_modules/messaging/index.js +25 -0
- package/build-esm/_modules/ngx-models/_collections/angular-placeholders.js +1 -0
- package/build-esm/_modules/ngx-models/_collections/button-new-style-settings-presets.const.js +170 -0
- package/build-esm/_modules/ngx-models/_collections/dynamo-global.settings.js +88 -0
- package/build-esm/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.js +14 -0
- package/build-esm/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.js +12 -0
- package/build-esm/_modules/ngx-models/_enums/button-new/button-new-size.enum.js +15 -0
- package/build-esm/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.js +17 -0
- package/build-esm/_modules/ngx-models/_enums/button-type.enum.js +35 -0
- package/build-esm/_modules/ngx-models/_enums/checkbox-label-position.enum.js +8 -0
- package/build-esm/_modules/ngx-models/_enums/container-type.enum.js +11 -0
- package/build-esm/_modules/ngx-models/_enums/errors/error-level.enum.js +14 -0
- package/build-esm/_modules/ngx-models/_enums/errors/error-notification-color.enum.js +14 -0
- package/build-esm/_modules/ngx-models/_enums/errors/error-ui-mode.enum.js +14 -0
- package/build-esm/_modules/ngx-models/_enums/field-appearance.enum.js +13 -0
- package/build-esm/_modules/ngx-models/_enums/field-type.enum.js +49 -0
- package/build-esm/_modules/ngx-models/_enums/file-type.enum.js +12 -0
- package/build-esm/_modules/ngx-models/_enums/flex/flex-layout-align.enum.js +21 -0
- package/build-esm/_modules/ngx-models/_enums/flex/flex-layout.enum.js +6 -0
- package/build-esm/_modules/ngx-models/_enums/form-access.enum.js +9 -0
- package/build-esm/_modules/ngx-models/_enums/form-reset-data.enum.js +12 -0
- package/build-esm/_modules/ngx-models/_enums/form-store-on.enum.js +8 -0
- package/build-esm/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.js +21 -0
- package/build-esm/_modules/ngx-models/_enums/frames/header-item-type.enum.js +16 -0
- package/build-esm/_modules/ngx-models/_enums/frames/header-position.enum.js +11 -0
- package/build-esm/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.js +14 -0
- package/build-esm/_modules/ngx-models/_enums/html/input-types.enum.js +26 -0
- package/build-esm/_modules/ngx-models/_enums/material-color.enum.js +14 -0
- package/build-esm/_modules/ngx-models/_enums/material-tooltip-position.enum.js +13 -0
- package/build-esm/_modules/ngx-models/_enums/preconfigured-field-type.enum.js +8 -0
- package/build-esm/_modules/ngx-models/_enums/storage-type.enum.js +13 -0
- package/build-esm/_modules/ngx-models/_enums/validator-type.enum.js +7 -0
- package/build-esm/_modules/ngx-models/_enums/voice/audio-mime-type.enum.js +15 -0
- package/build-esm/_modules/ngx-models/_enums/voice/voice-provider-type.enum.js +32 -0
- package/build-esm/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.js +21 -0
- package/build-esm/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.js +44 -0
- package/build-esm/_modules/ngx-models/_models/control-models/button-params.control-model.js +304 -0
- package/build-esm/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.js +59 -0
- package/build-esm/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js +94 -0
- package/build-esm/_modules/ngx-models/_models/control-models/data-handler.control-model.js +407 -0
- package/build-esm/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.js +43 -0
- package/build-esm/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.js +64 -0
- package/build-esm/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.js +52 -0
- package/build-esm/_modules/ngx-models/_models/control-models/field-settings.control-model.js +207 -0
- package/build-esm/_modules/ngx-models/_models/control-models/form-settings.control-model.js +275 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.js +29 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/color-picker-field-new-settings.control-model.js +36 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.js +31 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.js +46 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.js +38 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.js +48 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/emoji-picker-field-new-settings.control-model.js +21 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.js +91 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/field-new-types.js +1 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.js +39 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/icon-picker-field-new-settings.control-model.js +39 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/index.js +23 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.js +31 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.js +29 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.js +51 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/picker-field-new-option.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.js +38 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.js +35 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.js +50 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.js +47 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.js +35 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.js +27 -0
- package/build-esm/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.js +44 -0
- package/build-esm/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.js +56 -0
- package/build-esm/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.js +58 -0
- package/build-esm/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.js +38 -0
- package/build-esm/_modules/ngx-models/_models/control-models/select.control-model.js +27 -0
- package/build-esm/_modules/ngx-models/_models/control-models/signal-data-list-handler-settings.control-model.js +23 -0
- package/build-esm/_modules/ngx-models/_models/control-models/signal-data-search-handler-settings.control-model.js +25 -0
- package/build-esm/_modules/ngx-models/_models/control-models/signal-list-collector-data-handler-settings.control-model.js +12 -0
- package/build-esm/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.js +22 -0
- package/build-esm/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.js +91 -0
- package/build-esm/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.js +42 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/button-new-settings.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/confirm-settings.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/global-settings.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/storage.service.js +40 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_utils/shared.service.js +407 -0
- package/build-esm/_modules/ngx-models/index.js +89 -0
- package/build-esm/_modules/operation-control/_collections/operation-lease.util.js +323 -0
- package/build-esm/_modules/operation-control/_enums/operation-decision-code.type-enum.js +22 -0
- package/build-esm/_modules/operation-control/_enums/operation-state.type-enum.js +9 -0
- package/build-esm/_modules/operation-control/_models/operation-lease.interface.js +1 -0
- package/build-esm/_modules/operation-control/index.js +4 -0
- package/build-esm/_modules/pipe/_collections/pip-transforms.const.js +32 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-country-pipe.util.js +29 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-custom-pipe.util.js +22 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-division-pipe.util.js +21 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-json-pipe.util.js +18 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-list-pipe.util.js +19 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.js +164 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.js +16 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-range-pipe.util.js +64 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-region-pipe.util.js +22 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-replace-pipe.util.js +15 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-slider-pipe.util.js +26 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.js +40 -0
- package/build-esm/_modules/pipe/_enums/pip-range-pipe-setting.enum.js +14 -0
- package/build-esm/_modules/pipe/_enums/pip.enum.js +48 -0
- package/build-esm/_modules/pipe/_models/pip-multi-pipe-settings.type.js +1 -0
- package/build-esm/_modules/pipe/_models/pip-transforms.interface.js +1 -0
- package/build-esm/_modules/pipe/index.js +22 -0
- package/build-esm/_modules/request-safety/_collections/request-safety-inspector.util.js +317 -0
- package/build-esm/_modules/request-safety/_enums/request-safety-finding.type-enum.js +39 -0
- package/build-esm/_modules/request-safety/_models/request-safety.interface.js +1 -0
- package/build-esm/_modules/request-safety/index.js +3 -0
- package/build-esm/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.js +154 -0
- package/build-esm/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.js +36 -0
- package/build-esm/_modules/sandbox-runtime/_enums/zero-egress-outcome.type-enum.js +11 -0
- package/build-esm/_modules/sandbox-runtime/_models/zero-egress-receipt.interface.js +1 -0
- package/build-esm/_modules/sandbox-runtime/index.js +4 -0
- package/build-esm/_modules/security/_collections/stored-secret.util.js +68 -0
- package/build-esm/_modules/security/_models/stored-secret.control-model.js +52 -0
- package/build-esm/_modules/security/index.js +7 -0
- package/build-esm/_modules/socket/_enums/sck-event-key.enum.js +18 -0
- package/build-esm/_modules/socket/_models/sck-client-params.control-model.js +47 -0
- package/build-esm/_modules/socket/_models/sck-socket-event.control-model.js +133 -0
- package/build-esm/_modules/socket/_services/sck-client.service-base.js +314 -0
- package/build-esm/_modules/socket/index.js +7 -0
- package/build-esm/_modules/state-machine/_models/state-machine-config.interface.js +1 -0
- package/build-esm/_modules/state-machine/_models/state-machine-event.interface.js +1 -0
- package/build-esm/_modules/state-machine/_models/state-machine.control-model.js +262 -0
- package/build-esm/_modules/state-machine/_models/state-transition-result.interface.js +1 -0
- package/build-esm/_modules/state-machine/_models/state-transition.interface.js +1 -0
- package/build-esm/_modules/state-machine/index.js +6 -0
- package/build-esm/_modules/test/_collections/tst-module-settings.const.js +38 -0
- package/build-esm/_modules/test/index.js +2 -0
- package/build-esm/_modules/usage/_collections/usg-module-settings.const.js +16 -0
- package/build-esm/_modules/usage/_models/usg-action.control-model.js +25 -0
- package/build-esm/_modules/usage/_models/usg-daily-usage-data.control-model.js +30 -0
- package/build-esm/_modules/usage/_models/usg-data.control-model.js +30 -0
- package/build-esm/_modules/usage/_models/usg-session.data-model.js +60 -0
- package/build-esm/_modules/usage/index.js +7 -0
- package/build-esm/index.js +108 -0
- package/package.json +86 -85
|
@@ -0,0 +1,787 @@
|
|
|
1
|
+
import { DyFM_error_defaults } from '../../_collections/constants/error-defaults.const';
|
|
2
|
+
import { DyFM_Log } from '../../_collections/utils/log.util';
|
|
3
|
+
import { DyFM_Object } from '../../_collections/utils/object.util';
|
|
4
|
+
import { DyFM_getLocalStackLocation } from '../../_collections/utils/stack.util';
|
|
5
|
+
import { DyFM_ErrorLevel } from '../../_enums/error-level.enum';
|
|
6
|
+
import { DyFM_LogStyle } from '../../_enums/log-style.enum';
|
|
7
|
+
import { DyFM_Metadata } from '../data-models/metadata.data-model';
|
|
8
|
+
import { DyFM_httpErrorResponse_name } from './http/http-error-response.control-model';
|
|
9
|
+
export const DyFM_errorFlag = 'DYNAMO-ERROR-OBJECT';
|
|
10
|
+
export const DyFM_errorĐFlagParts = [
|
|
11
|
+
'DyNTS-',
|
|
12
|
+
'DyFM-',
|
|
13
|
+
'DyNX_',
|
|
14
|
+
'DyNM_',
|
|
15
|
+
'DyBu_',
|
|
16
|
+
'DyCLI_',
|
|
17
|
+
];
|
|
18
|
+
export class DyFM_Error_ControlModel extends Error {
|
|
19
|
+
flag = DyFM_errorFlag + '-v2';
|
|
20
|
+
// ─── DyFM_Metadata mezok (implements DyFM_Metadata) ─────────────────────────
|
|
21
|
+
// A DyFM_Error_ControlModel mostantol `extends Error` — igy `err instanceof Error === true`, es a
|
|
22
|
+
// Node 22 strict unhandled-rejection riport a VALODI throw-site stacket mutatja (a korabbi
|
|
23
|
+
// `extends DyFM_Metadata` mellett a bare-object Promise rejection veletlen specet blame-elt).
|
|
24
|
+
// A metadata-orokles helyett strukturalisan IMPLEMENTALJUK a DyFM_Metadata-t: a mezoket itt
|
|
25
|
+
// deklaraljuk, az init-logikat a constructorban a DyFM_Metadata.applyMetadata statikus vegzi.
|
|
26
|
+
_id;
|
|
27
|
+
__created;
|
|
28
|
+
__createdBy;
|
|
29
|
+
__lastModified;
|
|
30
|
+
__lastModifiedBy;
|
|
31
|
+
__v;
|
|
32
|
+
_deleted;
|
|
33
|
+
_deletedBy;
|
|
34
|
+
_archived;
|
|
35
|
+
_originalId;
|
|
36
|
+
_errorCode;
|
|
37
|
+
_errorCodes = [];
|
|
38
|
+
/**
|
|
39
|
+
* The TECHNICAL (developer / log) message — e.g. `buildListItem failed`. ⛔ Not for the UI.
|
|
40
|
+
* `_messages` contains all sub error messages, in reversed order.
|
|
41
|
+
*/
|
|
42
|
+
_message;
|
|
43
|
+
_messages = [];
|
|
44
|
+
/**
|
|
45
|
+
* The USER-FACING sentence (the `userMessage` setting) — this is what a UI shows, and what the server's
|
|
46
|
+
* client-safe response keeps. A separate role from the technical `_message`, NOT its predecessor
|
|
47
|
+
* (BFR-CREDIT-041: the former `@deprecated use _message` pointed consumers to technical text).
|
|
48
|
+
* Read it from ANY caught error — a `DyFM_Error` or a raw `HttpErrorResponse` — with `DyFM_Error.getUserMessage`.
|
|
49
|
+
*/
|
|
50
|
+
__userMessage;
|
|
51
|
+
/** All user-facing messages of the chain, in reversed order (see `__userMessage`). */
|
|
52
|
+
__userMessages = [];
|
|
53
|
+
/** message translation code */
|
|
54
|
+
__userMessageTranslateCode;
|
|
55
|
+
/**
|
|
56
|
+
* The public diagnostic context (see `DyFM_Error_Settings.publicContext`), merged along the wrap chain: the inner
|
|
57
|
+
* error's keys are kept, the outer one's win on a clash.
|
|
58
|
+
*/
|
|
59
|
+
__publicContext;
|
|
60
|
+
/** @deprecated Use isHandled; ___handled remains the serialized compatibility key. */
|
|
61
|
+
___handled;
|
|
62
|
+
/** @deprecated Use isLogged; ___logged remains the serialized compatibility key. */
|
|
63
|
+
___logged;
|
|
64
|
+
___status;
|
|
65
|
+
___issuer;
|
|
66
|
+
___issuerSystem;
|
|
67
|
+
___issuerService;
|
|
68
|
+
___systemVersion;
|
|
69
|
+
error;
|
|
70
|
+
errors = [];
|
|
71
|
+
validationErrors;
|
|
72
|
+
// `stack` az Error-bol jon (`extends Error`) — itt NEM deklaraljuk ujra, kulonben a
|
|
73
|
+
// class-field-init undefined-dal felulirna a natancsolt stacket a super() utan.
|
|
74
|
+
__localStack;
|
|
75
|
+
level;
|
|
76
|
+
/** @deprecated Use isLevelUpEnabled; levelUpThis remains the serialized compatibility key. */
|
|
77
|
+
levelUpThis;
|
|
78
|
+
additionalContent = {};
|
|
79
|
+
confidentialContent = {};
|
|
80
|
+
constructor(set) {
|
|
81
|
+
// az Error-constructort a nyers input-message-dzsel hivjuk (a vegleges _message kesobb all
|
|
82
|
+
// ossze; a natancsolt Error.message-et a constructor vegen allitjuk ra) — super() KOTELEZOEN
|
|
83
|
+
// az elso utasitas, a this- erintese elott.
|
|
84
|
+
super(set?.message);
|
|
85
|
+
// Keep the historical Error.name for log, telemetry and consumer compatibility. The new
|
|
86
|
+
// naming-conformant class export points to this same constructor without changing instances.
|
|
87
|
+
Object.defineProperty(this, 'name', {
|
|
88
|
+
value: 'DyFM_Error',
|
|
89
|
+
enumerable: false,
|
|
90
|
+
writable: true,
|
|
91
|
+
configurable: true,
|
|
92
|
+
});
|
|
93
|
+
// metadata-init: a korabbi `super(set, { issuer })` helyett (a super most az Error),
|
|
94
|
+
// target-alapon a DyFM_Metadata.applyMetadata statikuson at.
|
|
95
|
+
DyFM_Metadata.applyMetadata(this, set, {
|
|
96
|
+
issuer: set?.issuerService ??
|
|
97
|
+
set?.error?.___issuerService ??
|
|
98
|
+
DyFM_error_defaults.issuerService,
|
|
99
|
+
});
|
|
100
|
+
try {
|
|
101
|
+
if (!set) {
|
|
102
|
+
set = {};
|
|
103
|
+
}
|
|
104
|
+
/** set simple properties */
|
|
105
|
+
this.___handled = Boolean(set.handled ?? set.error?.___handled);
|
|
106
|
+
this.___status = set.status ?? set.error?.___status;
|
|
107
|
+
this.___issuer = set.issuer ??
|
|
108
|
+
set.error?.___issuer ??
|
|
109
|
+
DyFM_error_defaults.issuer;
|
|
110
|
+
this.___issuerSystem = set.issuerSystem ??
|
|
111
|
+
set.error?.___issuerSystem ??
|
|
112
|
+
DyFM_error_defaults.issuerSystem;
|
|
113
|
+
this.___issuerService = set.issuerService ??
|
|
114
|
+
set.error?.___issuerService ??
|
|
115
|
+
DyFM_error_defaults.issuerService;
|
|
116
|
+
this.___systemVersion = set.systemVersion ??
|
|
117
|
+
set.error?.___systemVersion ??
|
|
118
|
+
DyFM_error_defaults.systemVersion;
|
|
119
|
+
this.__localStack = set?.__localStack ??
|
|
120
|
+
set.error?.__localStack ??
|
|
121
|
+
DyFM_getLocalStackLocation();
|
|
122
|
+
this.validationErrors = set.validationErrors ?? set.error?.validationErrors;
|
|
123
|
+
this.level = set.level ?? set.error?.level ?? DyFM_ErrorLevel.error;
|
|
124
|
+
this.levelUpThis = set.levelUpThis;
|
|
125
|
+
set.allowCircular = set.allowCircular ??
|
|
126
|
+
set.additionalContent?.allowCircular ??
|
|
127
|
+
set.error?.additionalContent?.allowCircular ??
|
|
128
|
+
false;
|
|
129
|
+
if (set.allowCircular) {
|
|
130
|
+
this.additionalContent.allowCircular = true;
|
|
131
|
+
}
|
|
132
|
+
if (set?.error?.___logged) {
|
|
133
|
+
this.___logged = true;
|
|
134
|
+
}
|
|
135
|
+
if (!set.allowCircular &&
|
|
136
|
+
set.additionalContent &&
|
|
137
|
+
Object.keys(set.additionalContent)?.length) {
|
|
138
|
+
try {
|
|
139
|
+
JSON.stringify(set.additionalContent);
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
DyFM_Log.error('Internal Dynamo ERROR: additionalContent is not JSON.stringifyable... ' +
|
|
143
|
+
'(it will be removed!)', '\nerrorCode:', set.errorCode);
|
|
144
|
+
delete set.additionalContent;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (!set.allowCircular &&
|
|
148
|
+
!set.additionalContent?.allowCircular &&
|
|
149
|
+
set.error?.additionalContent &&
|
|
150
|
+
!set.error?.additionalContent?.allowCircular &&
|
|
151
|
+
Object.keys(set.error?.additionalContent)?.length) {
|
|
152
|
+
try {
|
|
153
|
+
JSON.stringify(set.error?.additionalContent);
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
DyFM_Log.error('Internal Dynamo ERROR: additionalContent is not JSON.stringifyable... ' +
|
|
157
|
+
'(it will be removed!)', '\nerrorCode:', set.errorCode);
|
|
158
|
+
delete set.error?.additionalContent;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// ADDITIONAL CONTENT
|
|
162
|
+
if (set.error?.additionalContent) {
|
|
163
|
+
Object.assign(this.additionalContent, set.error?.additionalContent);
|
|
164
|
+
}
|
|
165
|
+
if (set.additionalContent) {
|
|
166
|
+
Object.assign(this.additionalContent, set.additionalContent);
|
|
167
|
+
}
|
|
168
|
+
// CONFIDENTIAL CONTENT
|
|
169
|
+
if (set.error?.confidentialContent) {
|
|
170
|
+
Object.assign(this.confidentialContent, set.error?.confidentialContent);
|
|
171
|
+
}
|
|
172
|
+
if (set.confidentialContent) {
|
|
173
|
+
Object.assign(this.confidentialContent, set.confidentialContent);
|
|
174
|
+
}
|
|
175
|
+
// ERROR CODE
|
|
176
|
+
if (!set.errorCode) {
|
|
177
|
+
set.errorCode = DyFM_error_defaults.errorCode;
|
|
178
|
+
}
|
|
179
|
+
/** set default error (self defined) */
|
|
180
|
+
if (!set.error) {
|
|
181
|
+
set.error = new Error();
|
|
182
|
+
const errorStack = set.error.stack?.split('\n');
|
|
183
|
+
errorStack.splice(1, 1);
|
|
184
|
+
set.error.stack = errorStack.join('\n');
|
|
185
|
+
}
|
|
186
|
+
if (set?.stack) {
|
|
187
|
+
this.stack = set?.stack;
|
|
188
|
+
}
|
|
189
|
+
else if (set.error?.stack) {
|
|
190
|
+
this.stack = set.error?.stack;
|
|
191
|
+
}
|
|
192
|
+
else if (set.error?.name === DyFM_httpErrorResponse_name &&
|
|
193
|
+
set.error?.error?.stack) {
|
|
194
|
+
this.stack = set.error?.error?.stack;
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
this.stack = new Error().stack;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* BFR-CCAPREVISIONED-007 — the own chain level of a PLAIN (non-Dynamo) source error.
|
|
201
|
+
*
|
|
202
|
+
* If `set.error` is a plain `Error` (no `_messages`) and the caller passes its OWN, DIFFERENT
|
|
203
|
+
* message, the source error's message is a SEPARATE chain level. Previously this message was
|
|
204
|
+
* pushed into a dead array (`previousErrorCodes`), after the code chain was already built — so
|
|
205
|
+
* the root-cause message appeared neither in `_messages` nor in `_message`, only in the stack.
|
|
206
|
+
*
|
|
207
|
+
* ⚠️ If the caller passes NO own message, the outer level ADOPTS the source message — then
|
|
208
|
+
* there is no separate level (otherwise the same message would appear twice).
|
|
209
|
+
*
|
|
210
|
+
* ⭐ The level also gets a PLACEHOLDER code (`DyFM_error_defaults.errorCode`), exactly like a
|
|
211
|
+
* Dynamo level without a code: this keeps `_messages` and `_errorCodes` INDEX-ALIGNED, so the
|
|
212
|
+
* highlighted-code based `_message` selection does not shift.
|
|
213
|
+
*/
|
|
214
|
+
const plainSourceMessage = !set.error?._messages && typeof set.error !== 'string'
|
|
215
|
+
? (set.error?.message || undefined)
|
|
216
|
+
: undefined;
|
|
217
|
+
const isPlainSourceLevel = !!plainSourceMessage && !!set.message && set.message !== plainSourceMessage;
|
|
218
|
+
/** set errorCodes */
|
|
219
|
+
let previousErrorCodes = [];
|
|
220
|
+
if (set.error?._errorCodes) {
|
|
221
|
+
previousErrorCodes.push(...(set.error?._errorCodes ?? []));
|
|
222
|
+
}
|
|
223
|
+
if (!set.errorCode) {
|
|
224
|
+
set.errorCode = DyFM_error_defaults.errorCode;
|
|
225
|
+
}
|
|
226
|
+
previousErrorCodes = previousErrorCodes.filter((code) => code !== set.errorCode);
|
|
227
|
+
// The placeholder is added AFTER the dedupe: for an outer level without a code the dedupe would
|
|
228
|
+
// otherwise filter it out and the chain would shift (BFR-CCAPREVISIONED-007).
|
|
229
|
+
this._errorCodes = [
|
|
230
|
+
...previousErrorCodes,
|
|
231
|
+
...(isPlainSourceLevel ? [DyFM_error_defaults.errorCode] : []),
|
|
232
|
+
set.errorCode,
|
|
233
|
+
].filter(Boolean);
|
|
234
|
+
/** bring up non NTS and non default first error */
|
|
235
|
+
const filteredErrorCodes = this._errorCodes.filter((code) => code && code !== DyFM_error_defaults.errorCode &&
|
|
236
|
+
!DyFM_errorĐFlagParts.some((part) => code.includes(part)));
|
|
237
|
+
// Fallback: the first REAL code. The BFR-CCAPREVISIONED-007 placeholder sits at index 0 of a plain-source
|
|
238
|
+
// chain; when every real code is a framework (e.g. DyNTS) code, `_errorCodes[0]` would surface the
|
|
239
|
+
// placeholder instead of the caller's code (measured: nts DataService / ClientSafeError specs).
|
|
240
|
+
this._errorCode = filteredErrorCodes[0] ??
|
|
241
|
+
this._errorCodes?.find((code) => code !== DyFM_error_defaults.errorCode) ??
|
|
242
|
+
this._errorCodes?.[0];
|
|
243
|
+
// the message follows the highlighted code, also when only framework codes are present — otherwise the
|
|
244
|
+
// plain-source chain level (BFR-CCAPREVISIONED-007) at index 0 would become the primary message
|
|
245
|
+
const highlightedErrorCodeIndex = this._errorCodes.findIndex((code) => code === (filteredErrorCodes?.[0] ?? this._errorCode));
|
|
246
|
+
/** set message */
|
|
247
|
+
if (!set.message) {
|
|
248
|
+
if (typeof set.error === 'string') {
|
|
249
|
+
/** string error */
|
|
250
|
+
set.message = set.error;
|
|
251
|
+
}
|
|
252
|
+
else if (!set.error?.flag?.includes('DYNAMO') &&
|
|
253
|
+
set.error?.message) {
|
|
254
|
+
/** simple - non-dynamo - error */
|
|
255
|
+
set.message = set.error?.message;
|
|
256
|
+
}
|
|
257
|
+
else if (set.error.stack) {
|
|
258
|
+
/** error not defined - self defining */
|
|
259
|
+
const posFull = set.error.stack?.split('\n')?.[1]?.split('\\');
|
|
260
|
+
if (posFull?.[posFull?.length - 1]) {
|
|
261
|
+
set.message = DyFM_error_defaults.message + '; ' + posFull[posFull.length - 1];
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
set.message = DyFM_error_defaults.message;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
/** set messages */
|
|
269
|
+
let previousMessages = [];
|
|
270
|
+
if (set.error?._messages) {
|
|
271
|
+
previousMessages.push(...(set.error?._messages ?? []));
|
|
272
|
+
}
|
|
273
|
+
else if (isPlainSourceLevel) {
|
|
274
|
+
// BFR-CCAPREVISIONED-007: the plain source error's message is PART OF THE CHAIN, never lost.
|
|
275
|
+
previousMessages.push(plainSourceMessage);
|
|
276
|
+
}
|
|
277
|
+
previousMessages = previousMessages.filter((msg) => msg !== set.message);
|
|
278
|
+
this._messages = [...previousMessages, set.message].filter(Boolean);
|
|
279
|
+
if (-1 < highlightedErrorCodeIndex &&
|
|
280
|
+
this._messages[highlightedErrorCodeIndex] &&
|
|
281
|
+
this._messages[highlightedErrorCodeIndex] !== DyFM_error_defaults.message) {
|
|
282
|
+
this._message = this._messages[highlightedErrorCodeIndex];
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
this._message = this._messages?.[0];
|
|
286
|
+
}
|
|
287
|
+
/** @deprecated use _messages instead */
|
|
288
|
+
let previousUserMessages = [];
|
|
289
|
+
if (set.error?.__userMessages) {
|
|
290
|
+
previousUserMessages.push(...(set.error?.__userMessages ?? []));
|
|
291
|
+
}
|
|
292
|
+
if (!set.userMessage) {
|
|
293
|
+
set.userMessage = DyFM_error_defaults.userMessage;
|
|
294
|
+
}
|
|
295
|
+
// BFR-FDPTOKENSERVICE-013: (1) a `DyFM_error_defaults.addECToUserMsg === false` globális
|
|
296
|
+
// kill-switch minden utótagot letilt (a kód a `_errorCode`-ban úgyis ott van);
|
|
297
|
+
// (2) ha a userMessage MÁR hordoz `ErrorCode:` sort (wrapper-lánc), nem fűzünk újra —
|
|
298
|
+
// a dupla-fűzés a KÜLSŐ wrapper kódját mutatta a valódi `_errorCode` helyett.
|
|
299
|
+
if (set.addECToUserMsg &&
|
|
300
|
+
DyFM_error_defaults.addECToUserMsg !== false &&
|
|
301
|
+
set.userMessage !== DyFM_error_defaults.userMessage &&
|
|
302
|
+
set.errorCode &&
|
|
303
|
+
!set.userMessage.includes('ErrorCode: ')) {
|
|
304
|
+
set.userMessage += `\n ErrorCode: ${set.errorCode}`;
|
|
305
|
+
}
|
|
306
|
+
previousUserMessages = previousUserMessages.filter((msg) => msg !== set.userMessage);
|
|
307
|
+
this.__userMessages = [...previousUserMessages, set.userMessage].filter(Boolean);
|
|
308
|
+
if (-1 < highlightedErrorCodeIndex &&
|
|
309
|
+
this.__userMessages[highlightedErrorCodeIndex] &&
|
|
310
|
+
this.__userMessages[highlightedErrorCodeIndex] !== DyFM_error_defaults.userMessage) {
|
|
311
|
+
this.__userMessage = this.__userMessages[highlightedErrorCodeIndex];
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
this.__userMessage = this.__userMessages.filter((msg) => msg && msg !== DyFM_error_defaults.userMessage)?.[0];
|
|
315
|
+
}
|
|
316
|
+
/** set userMessageTranslateCode */
|
|
317
|
+
set.userMessageTranslateCode =
|
|
318
|
+
set.userMessageTranslateCode ??
|
|
319
|
+
set.error?.__userMessageTranslateCode;
|
|
320
|
+
/** set the public context — BFR-CCAPREVISIONED-011: carried along the wrap chain, the outer keys win */
|
|
321
|
+
const innerPublicContext = Reflect.get(Object(set.error), '__publicContext');
|
|
322
|
+
const publicContext = {
|
|
323
|
+
...(DyFM_Error_ControlModel.isPlainObject(innerPublicContext) ? innerPublicContext : {}),
|
|
324
|
+
...(DyFM_Error_ControlModel.isPlainObject(set.publicContext) ? set.publicContext : {}),
|
|
325
|
+
};
|
|
326
|
+
if (Object.keys(publicContext).length) {
|
|
327
|
+
this.__publicContext = publicContext;
|
|
328
|
+
}
|
|
329
|
+
/** set errors */
|
|
330
|
+
let previousErrors = [];
|
|
331
|
+
if (set.error?.errors?.length) {
|
|
332
|
+
previousErrors.push(...set.error.errors);
|
|
333
|
+
}
|
|
334
|
+
else if (typeof set.error?.errors == 'object') {
|
|
335
|
+
this.additionalContent.errors = set.error.errors;
|
|
336
|
+
}
|
|
337
|
+
previousErrors = previousErrors.filter((error) => error !== set.error);
|
|
338
|
+
this.errors = [...previousErrors, set.error].filter(Boolean);
|
|
339
|
+
if (set.errors) {
|
|
340
|
+
if (0 < this.errors.length) {
|
|
341
|
+
this.errors.push(...(set.errors ?? []));
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
this.errors.push(new Error('there are multiple errors. check errors after this one'), ...(set.errors ?? []));
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
this.error = this.errors?.[0];
|
|
348
|
+
this.errors = this.errors.map((subError) => {
|
|
349
|
+
if (subError?.errors) {
|
|
350
|
+
subError = { ...subError };
|
|
351
|
+
delete subError.errors;
|
|
352
|
+
delete subError.additionalContent;
|
|
353
|
+
}
|
|
354
|
+
if (subError.error?.errors) {
|
|
355
|
+
subError.error = { ...subError.error };
|
|
356
|
+
delete subError.error.errors;
|
|
357
|
+
delete subError.error.additionalContent;
|
|
358
|
+
}
|
|
359
|
+
return subError;
|
|
360
|
+
});
|
|
361
|
+
this.errors = this.errors.filter((error) => Boolean(error) && (error instanceof Error || Boolean(Object.keys(error).length)));
|
|
362
|
+
// ─── `extends Error` szerializacios igazitasok ─────────────────────────
|
|
363
|
+
// A natancsolt Error a stacket NON-ENUMERABLE own-property-kent kezeli, igy a
|
|
364
|
+
// `{ ...this }` spread (getErrorsFlat) es a JSON.stringify (getParsable / perzisztalas)
|
|
365
|
+
// elejtene. Enumerable-kent ujradefinialjuk, hogy a szerializacios utak megtartsak.
|
|
366
|
+
if (this.stack !== undefined) {
|
|
367
|
+
Object.defineProperty(this, 'stack', {
|
|
368
|
+
value: this.stack,
|
|
369
|
+
enumerable: true,
|
|
370
|
+
writable: true,
|
|
371
|
+
configurable: true,
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
// A natancsolt Error.message-et a sajat _message-unkre allitjuk (NON-enumerable marad,
|
|
375
|
+
// hogy a szerializalt shape valtozatlan legyen — a forras tovabbra is a _message): igy a
|
|
376
|
+
// `(err as Error).message` fogyasztok ES a Node 22 unhandled-rejection printer a valodi
|
|
377
|
+
// uzenetet latjak, nem ures stringet.
|
|
378
|
+
Object.defineProperty(this, 'message', {
|
|
379
|
+
value: this._message ?? this.__userMessage ?? '',
|
|
380
|
+
enumerable: false,
|
|
381
|
+
writable: true,
|
|
382
|
+
configurable: true,
|
|
383
|
+
});
|
|
384
|
+
DyFM_Object.safeCleanObject(this);
|
|
385
|
+
if (!set.allowCircular) {
|
|
386
|
+
this.errors = this.errors.filter((subError) => {
|
|
387
|
+
if (subError instanceof Error) {
|
|
388
|
+
return true;
|
|
389
|
+
}
|
|
390
|
+
try {
|
|
391
|
+
JSON.stringify(subError);
|
|
392
|
+
return true;
|
|
393
|
+
}
|
|
394
|
+
catch (error) {
|
|
395
|
+
DyFM_Log.error('Internal Dynamo ERROR: error is not JSON.stringifyable... ' +
|
|
396
|
+
'(it will be removed!)', '\nerrorCode:', subError?._errorCode);
|
|
397
|
+
return false;
|
|
398
|
+
}
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
if (set.modestLog) {
|
|
402
|
+
console.error(this._message ?? this.__userMessage ?? this.error);
|
|
403
|
+
}
|
|
404
|
+
if (set.log) {
|
|
405
|
+
console.error(this);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
catch (error) {
|
|
409
|
+
DyFM_Log.H_error('Internal Dynamo ERROR: Failed to create DyFM_Error_ControlModel...' +
|
|
410
|
+
'error:\n', error, 'stack:', new Error().stack, 'set:', set);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
getErrorSimplified() {
|
|
414
|
+
return {
|
|
415
|
+
errorCode: this._errorCode,
|
|
416
|
+
message: this._message,
|
|
417
|
+
userMessage: this.__userMessage,
|
|
418
|
+
stack: this.stack,
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
getErrorsFlat() {
|
|
422
|
+
const error = { ...this };
|
|
423
|
+
if (error.error?.error) {
|
|
424
|
+
delete error.error.error;
|
|
425
|
+
}
|
|
426
|
+
if (error.error?.errors) {
|
|
427
|
+
delete error.error.errors;
|
|
428
|
+
}
|
|
429
|
+
error.errors = error.errors.map((subError) => error instanceof Error ? error : ({ ...subError }));
|
|
430
|
+
error.errors.forEach((subError) => {
|
|
431
|
+
if (subError.errors) {
|
|
432
|
+
delete subError.errors;
|
|
433
|
+
}
|
|
434
|
+
if (subError.error?.errors) {
|
|
435
|
+
delete subError.error.errors;
|
|
436
|
+
}
|
|
437
|
+
if (subError.error?.error) {
|
|
438
|
+
delete subError.error.error;
|
|
439
|
+
}
|
|
440
|
+
if (subError.additionalContent) {
|
|
441
|
+
delete subError.additionalContent;
|
|
442
|
+
}
|
|
443
|
+
});
|
|
444
|
+
return error;
|
|
445
|
+
}
|
|
446
|
+
logShort(title, setLog, forceLog) {
|
|
447
|
+
if (this.___logged && !forceLog) {
|
|
448
|
+
DyFM_Log.warn(`logShort: already logged (${this._errorCode})`);
|
|
449
|
+
return;
|
|
450
|
+
}
|
|
451
|
+
/* switch (logType) { */
|
|
452
|
+
DyFM_Log.testError(title, '\n ErrorCode:', this._errorCode, '\n Message:', this._message?.replaceAll?.('\n', '\n '));
|
|
453
|
+
if (setLog) {
|
|
454
|
+
this.___logged = true;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
warnShort(title, setLog, forceLog) {
|
|
458
|
+
if (this.___logged && !forceLog) {
|
|
459
|
+
DyFM_Log.warn(`warnShort: already logged (${this._errorCode})`);
|
|
460
|
+
return;
|
|
461
|
+
}
|
|
462
|
+
DyFM_Log.testWarn(title, '\n ErrorCode:', this._errorCode, '\n Message:', this._message?.replaceAll?.('\n', '\n '));
|
|
463
|
+
if (setLog) {
|
|
464
|
+
this.___logged = true;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
logSimple(title, logAdditionalContent, forceLog, logNodeModules) {
|
|
468
|
+
if (this.___logged && !forceLog) {
|
|
469
|
+
DyFM_Log.warn(`logSimple: already logged ${title} (${this._message}; ${this._errorCode})`);
|
|
470
|
+
return;
|
|
471
|
+
}
|
|
472
|
+
// remove node_modules from stack and replace with '...'
|
|
473
|
+
/* const stack: string = this.stack?.split?.('\n').map((line: string): string => {
|
|
474
|
+
if (line.includes('node_modules')) {
|
|
475
|
+
return '...';
|
|
476
|
+
}
|
|
477
|
+
return line;
|
|
478
|
+
}).filter((line: string, index: number, array: string[]): boolean => {
|
|
479
|
+
if (line === '...' && index < array.length - 1 && array[index + 1] === '...') {
|
|
480
|
+
return false;
|
|
481
|
+
}
|
|
482
|
+
return true;
|
|
483
|
+
}).join('\n'); */
|
|
484
|
+
DyFM_Log.H_error(title, `\n${DyFM_Log.errorStyle}ErrorCode:`, this._errorCode, `\n${DyFM_Log.errorStyle}${DyFM_LogStyle.bold}Message:`, this._message?.replaceAll?.('\n', '\n '), `\n\n${DyFM_LogStyle.reset}${DyFM_Log.errorStyle}UserMessage:`, this.__userMessage?.replaceAll?.('\n', '\n '), this.__localStack ?
|
|
485
|
+
`\n${DyFM_Log.errorStyle}LocalStack:\n ` + this.__localStack : '', `\n\n${DyFM_Log.errorStyle}Stack:`, this.stack?.replaceAll?.('\n', '\n '), logAdditionalContent && this.additionalContent ?
|
|
486
|
+
`\n\n${DyFM_Log.errorStyle}AdditionalContent:\n` + this.additionalContent : '');
|
|
487
|
+
this.___logged = true;
|
|
488
|
+
}
|
|
489
|
+
/* static getSimpleLogContent(error: DyFM_Error_ControlModel): string {
|
|
490
|
+
return `\n${DyFM_Log.errorStyle}ErrorCode:`, this._errorCode,
|
|
491
|
+
`\n${DyFM_Log.errorStyle}${DyFM_LogStyle.bold}Message:`,
|
|
492
|
+
this._message?.replaceAll?.('\n', '\n '),
|
|
493
|
+
`\n\n${DyFM_LogStyle.reset}${DyFM_Log.errorStyle}UserMessage:`,
|
|
494
|
+
this.__userMessage?.replaceAll?.('\n', '\n '),
|
|
495
|
+
this.__localStack ?
|
|
496
|
+
`\n${DyFM_Log.errorStyle}LocalStack:\n ` + this.__localStack : '',
|
|
497
|
+
`\n\n${DyFM_Log.errorStyle}Stack:`, this.stack?.replaceAll?.('\n', '\n '),
|
|
498
|
+
logAdditionalContent && this.additionalContent ?
|
|
499
|
+
`\n\n${DyFM_Log.errorStyle}AdditionalContent:\n` + this.additionalContent : '' */
|
|
500
|
+
/**
|
|
501
|
+
* Checks if the error is parsable,
|
|
502
|
+
* simplifies the error,
|
|
503
|
+
* and returns the error as a string.
|
|
504
|
+
*/
|
|
505
|
+
getParsable() {
|
|
506
|
+
try {
|
|
507
|
+
const flat = this.getErrorsFlat();
|
|
508
|
+
return JSON.stringify(flat);
|
|
509
|
+
}
|
|
510
|
+
catch (error) {
|
|
511
|
+
DyFM_Log.error('Error getting parsable error', error);
|
|
512
|
+
return JSON.stringify(this.getErrorSimplified());
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
static logSimple(message, error) {
|
|
516
|
+
if (error instanceof DyFM_Error_ControlModel) {
|
|
517
|
+
error.logSimple(message);
|
|
518
|
+
}
|
|
519
|
+
else {
|
|
520
|
+
DyFM_Log.T_error(message, error);
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
static getErrorMessage(error) {
|
|
524
|
+
return error?._message ??
|
|
525
|
+
error?.message ??
|
|
526
|
+
error?.error?._message ??
|
|
527
|
+
error?.error?.message;
|
|
528
|
+
}
|
|
529
|
+
/**
|
|
530
|
+
* Returns the message of the error.
|
|
531
|
+
* Returns the userMessage if the message is not set.
|
|
532
|
+
* (prioritizes the message over the userMessage)
|
|
533
|
+
*/
|
|
534
|
+
static getAnyMessage(error) {
|
|
535
|
+
return this.getErrorMessage(error) ?? this.getUserMessage(error);
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* The USER-FACING message of any caught error: a `DyFM_Error`, a raw `HttpErrorResponse` whose body is a
|
|
539
|
+
* serialized `DyFM_Error` (`error.error.__userMessage`), or error settings. `undefined` when there is none —
|
|
540
|
+
* then the caller shows its own business fallback (BFR-CREDIT-041).
|
|
541
|
+
*/
|
|
542
|
+
static getUserMessage(error) {
|
|
543
|
+
return error?.__userMessage ??
|
|
544
|
+
error?.error?.__userMessage ??
|
|
545
|
+
error?.userMessage;
|
|
546
|
+
}
|
|
547
|
+
/**
|
|
548
|
+
* Returns the user message of the error.
|
|
549
|
+
* Returns the message if the userMessage is not set.
|
|
550
|
+
* (prioritizes the userMessage over the message)
|
|
551
|
+
*
|
|
552
|
+
* ⚠️ NOT UI-safe as a fallback: without a user message it returns the TECHNICAL message — for a raw
|
|
553
|
+
* `HttpErrorResponse` that is Angular's `Http failure response for <internal URL>: …`. For a UI use
|
|
554
|
+
* `DyFM_Error.getUserMessage(error) ?? <business fallback>` (BFR-CREDIT-041).
|
|
555
|
+
*/
|
|
556
|
+
static getAnyUserMessage(error) {
|
|
557
|
+
return this.getUserMessage(error) ?? this.getErrorMessage(error);
|
|
558
|
+
}
|
|
559
|
+
/**
|
|
560
|
+
* A hiba szemantikus szöveges változata: saját üzenet + zárójelben a _messages lista első eleme
|
|
561
|
+
* (gyökér Dynamo Error üzenete), ha van lánc. Nem az object láncon járunk végig, a _messages-t használjuk.
|
|
562
|
+
*/
|
|
563
|
+
static getSemanticMessage(error) {
|
|
564
|
+
const ourMessage = this.getErrorMessage(error);
|
|
565
|
+
if (!this.isDyFMError(error)) {
|
|
566
|
+
return ourMessage;
|
|
567
|
+
}
|
|
568
|
+
const messages = error._messages;
|
|
569
|
+
const firstMessage = messages && messages.length > 1 ? messages[0] : undefined;
|
|
570
|
+
if (firstMessage && firstMessage !== ourMessage) {
|
|
571
|
+
return `${ourMessage} (${firstMessage})`;
|
|
572
|
+
}
|
|
573
|
+
return ourMessage;
|
|
574
|
+
}
|
|
575
|
+
static getErrorStatus(error) {
|
|
576
|
+
return error?.___status ??
|
|
577
|
+
error?.status ??
|
|
578
|
+
error?.error?.___status ?? 500;
|
|
579
|
+
}
|
|
580
|
+
/**
|
|
581
|
+
* Returns the error code of the error, searching the known shapes in order.
|
|
582
|
+
*
|
|
583
|
+
* ⚠️ **At runtime this CAN return `undefined`** — e.g. for a plain `Error` without a `code`
|
|
584
|
+
* (BFR-CCAPREVISIONED-007). The declared return type is still `string` ONLY for compatibility:
|
|
585
|
+
* changing it to `string | undefined` breaks strict consumers at compile time (measured
|
|
586
|
+
* 2026-09-17: 14 definite + 11 probable sites in `ccap-revisioned/server`, `strict: true`).
|
|
587
|
+
* The type change is staged — until then, ALWAYS apply a fallback (`?? ''` / `?? 'X-CODE'`)
|
|
588
|
+
* before reading `.length` or other members.
|
|
589
|
+
*/
|
|
590
|
+
static getErrorCode(error) {
|
|
591
|
+
return error?._errorCode ??
|
|
592
|
+
error?.error?._errorCode ??
|
|
593
|
+
error?.errorCode ??
|
|
594
|
+
error?.error?.errorCode ??
|
|
595
|
+
error?.code ??
|
|
596
|
+
error?.error?.code;
|
|
597
|
+
}
|
|
598
|
+
static getErrorStack(error) {
|
|
599
|
+
return error?.stack ??
|
|
600
|
+
error?.error?.stack;
|
|
601
|
+
}
|
|
602
|
+
static isDyFMError(error) {
|
|
603
|
+
return error?.flag?.includes('DYNAMO');
|
|
604
|
+
}
|
|
605
|
+
/** A plain `{ … }` object (not an array, not a class instance) — the only accepted `publicContext` shape. */
|
|
606
|
+
static isPlainObject(value) {
|
|
607
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value)
|
|
608
|
+
&& Object.getPrototypeOf(value) === Object.prototype;
|
|
609
|
+
}
|
|
610
|
+
static isAnyDyFMError(error) {
|
|
611
|
+
return this.isDyFMError(error) ||
|
|
612
|
+
error?.name === DyFM_httpErrorResponse_name ||
|
|
613
|
+
error instanceof Error;
|
|
614
|
+
}
|
|
615
|
+
static deleteErrorContent(error) {
|
|
616
|
+
delete error.confidentialContent;
|
|
617
|
+
delete error.additionalContent;
|
|
618
|
+
delete error.error;
|
|
619
|
+
delete error.errors;
|
|
620
|
+
delete error.stack;
|
|
621
|
+
}
|
|
622
|
+
static getStatusText(status) {
|
|
623
|
+
switch (status) {
|
|
624
|
+
case 100:
|
|
625
|
+
return 'Continue';
|
|
626
|
+
case 101:
|
|
627
|
+
return 'Switching Protocols';
|
|
628
|
+
case 102:
|
|
629
|
+
return 'Processing';
|
|
630
|
+
case 103:
|
|
631
|
+
return 'Early Hints';
|
|
632
|
+
case 200:
|
|
633
|
+
return 'OK';
|
|
634
|
+
case 201:
|
|
635
|
+
return 'Created';
|
|
636
|
+
case 202:
|
|
637
|
+
return 'Accepted';
|
|
638
|
+
case 203:
|
|
639
|
+
return 'Non-Authoritative Information';
|
|
640
|
+
case 204:
|
|
641
|
+
return 'No Content';
|
|
642
|
+
case 205:
|
|
643
|
+
return 'Reset Content';
|
|
644
|
+
case 206:
|
|
645
|
+
return 'Partial Content';
|
|
646
|
+
case 207:
|
|
647
|
+
return 'Multi-Status';
|
|
648
|
+
case 208:
|
|
649
|
+
return 'Already Reported';
|
|
650
|
+
case 226:
|
|
651
|
+
return 'IM Used';
|
|
652
|
+
case 300:
|
|
653
|
+
return 'Multiple Choices';
|
|
654
|
+
case 301:
|
|
655
|
+
return 'Moved Permanently';
|
|
656
|
+
case 302:
|
|
657
|
+
return 'Found';
|
|
658
|
+
case 303:
|
|
659
|
+
return 'See Other';
|
|
660
|
+
case 304:
|
|
661
|
+
return 'Not Modified';
|
|
662
|
+
case 305:
|
|
663
|
+
return 'Use Proxy';
|
|
664
|
+
case 306:
|
|
665
|
+
return 'Switch Proxy';
|
|
666
|
+
case 307:
|
|
667
|
+
return 'Temporary Redirect';
|
|
668
|
+
case 308:
|
|
669
|
+
return 'Permanent Redirect';
|
|
670
|
+
case 400:
|
|
671
|
+
return 'Bad Request';
|
|
672
|
+
case 401:
|
|
673
|
+
return 'Unauthorized';
|
|
674
|
+
case 402:
|
|
675
|
+
return 'Payment Required';
|
|
676
|
+
case 403:
|
|
677
|
+
return 'Forbidden';
|
|
678
|
+
case 404:
|
|
679
|
+
return 'Not Found';
|
|
680
|
+
case 405:
|
|
681
|
+
return 'Method Not Allowed';
|
|
682
|
+
case 406:
|
|
683
|
+
return 'Not Acceptable';
|
|
684
|
+
case 407:
|
|
685
|
+
return 'Proxy Authentication Required';
|
|
686
|
+
case 408:
|
|
687
|
+
return 'Request Timeout';
|
|
688
|
+
case 409:
|
|
689
|
+
return 'Conflict';
|
|
690
|
+
case 410:
|
|
691
|
+
return 'Gone';
|
|
692
|
+
case 411:
|
|
693
|
+
return 'Length Required';
|
|
694
|
+
case 412:
|
|
695
|
+
return 'Precondition Failed';
|
|
696
|
+
case 413:
|
|
697
|
+
return 'Payload Too Large';
|
|
698
|
+
case 414:
|
|
699
|
+
return 'URI Too Long';
|
|
700
|
+
case 415:
|
|
701
|
+
return 'Unsupported Media Type';
|
|
702
|
+
case 416:
|
|
703
|
+
return 'Range Not Satisfiable';
|
|
704
|
+
case 417:
|
|
705
|
+
return 'Expectation Failed';
|
|
706
|
+
case 418:
|
|
707
|
+
return "I'm a teapot";
|
|
708
|
+
case 421:
|
|
709
|
+
return 'Misdirected Request';
|
|
710
|
+
case 422:
|
|
711
|
+
return 'Unprocessable Entity';
|
|
712
|
+
case 423:
|
|
713
|
+
return 'Locked';
|
|
714
|
+
case 424:
|
|
715
|
+
return 'Failed Dependency';
|
|
716
|
+
case 425:
|
|
717
|
+
return 'Too Early';
|
|
718
|
+
case 426:
|
|
719
|
+
return 'Upgrade Required';
|
|
720
|
+
case 428:
|
|
721
|
+
return 'Precondition Required';
|
|
722
|
+
case 429:
|
|
723
|
+
return 'Too Many Requests';
|
|
724
|
+
case 431:
|
|
725
|
+
return 'Request Header Fields Too Large';
|
|
726
|
+
case 451:
|
|
727
|
+
return 'Unavailable For Legal Reasons';
|
|
728
|
+
case 500:
|
|
729
|
+
return 'Internal Server Error';
|
|
730
|
+
case 501:
|
|
731
|
+
return 'Not Implemented';
|
|
732
|
+
case 502:
|
|
733
|
+
return 'Bad Gateway';
|
|
734
|
+
case 503:
|
|
735
|
+
return 'Service Unavailable';
|
|
736
|
+
case 504:
|
|
737
|
+
return 'Gateway Timeout';
|
|
738
|
+
case 505:
|
|
739
|
+
return 'HTTP Version Not Supported';
|
|
740
|
+
case 506:
|
|
741
|
+
return 'Variant Also Negotiates';
|
|
742
|
+
case 507:
|
|
743
|
+
return 'Insufficient Storage';
|
|
744
|
+
case 508:
|
|
745
|
+
return 'Loop Detected';
|
|
746
|
+
case 510:
|
|
747
|
+
return 'Not Extended';
|
|
748
|
+
case 511:
|
|
749
|
+
return 'Network Authentication Required';
|
|
750
|
+
default:
|
|
751
|
+
return 'Unknown';
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
Object.defineProperty(DyFM_Error_ControlModel, 'name', { value: 'DyFM_Error' });
|
|
756
|
+
/** @deprecated Use DyFM_Error_ControlModel. Same constructor; no API removal. */
|
|
757
|
+
export { DyFM_Error_ControlModel as DyFM_Error };
|
|
758
|
+
Object.defineProperty(DyFM_Error_ControlModel.prototype, 'isHandled', {
|
|
759
|
+
configurable: true,
|
|
760
|
+
enumerable: false,
|
|
761
|
+
get: function () {
|
|
762
|
+
return this.___handled;
|
|
763
|
+
},
|
|
764
|
+
set: function (isValue) {
|
|
765
|
+
this.___handled = isValue;
|
|
766
|
+
},
|
|
767
|
+
});
|
|
768
|
+
Object.defineProperty(DyFM_Error_ControlModel.prototype, 'isLogged', {
|
|
769
|
+
configurable: true,
|
|
770
|
+
enumerable: false,
|
|
771
|
+
get: function () {
|
|
772
|
+
return this.___logged;
|
|
773
|
+
},
|
|
774
|
+
set: function (isValue) {
|
|
775
|
+
this.___logged = isValue;
|
|
776
|
+
},
|
|
777
|
+
});
|
|
778
|
+
Object.defineProperty(DyFM_Error_ControlModel.prototype, 'isLevelUpEnabled', {
|
|
779
|
+
configurable: true,
|
|
780
|
+
enumerable: false,
|
|
781
|
+
get: function () {
|
|
782
|
+
return this.levelUpThis;
|
|
783
|
+
},
|
|
784
|
+
set: function (isValue) {
|
|
785
|
+
this.levelUpThis = isValue;
|
|
786
|
+
},
|
|
787
|
+
});
|