@futdevpro/nts-dynamo 1.15.89 → 1.15.91
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/.copilot/patterns.json +7 -7
- package/.cursor/rules/__assistant_guide.mdc +30 -30
- package/.cursor/rules/_ag_backend-structure.mdc +85 -85
- package/.cursor/rules/_ag_backend.mdc +16 -16
- 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_should-be.mdc +6 -6
- package/.cursor/rules/ai_development_guide.md +60 -60
- 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/logs/cicd-pipeline/output.log +2856 -0
- package/.dynamo/logs/cicd-pipeline/status.json +74 -0
- package/.dynamo/pipeline.cicd.config.json +5 -1
- package/.vscode/settings.json +10 -10
- package/HOWTO.md +15 -15
- package/LICENSE +21 -21
- package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
- package/__documentations/plans/BEDROCK-HYPERPLAN.md +95 -95
- package/_specifications/BACKLOG.md +92 -92
- package/_specifications/TODO.md +15 -15
- package/_specifications/agent.md +138 -138
- package/build/_modules/scheduler/_models/scheduler-job.interface.d.ts +34 -0
- package/build/_modules/scheduler/_models/scheduler-job.interface.d.ts.map +1 -0
- package/build/_modules/scheduler/_models/scheduler-job.interface.js +3 -0
- package/build/_modules/scheduler/_models/scheduler-job.interface.js.map +1 -0
- package/build/_modules/scheduler/get-scheduler-routing-module.util.d.ts +18 -0
- package/build/_modules/scheduler/get-scheduler-routing-module.util.d.ts.map +1 -0
- package/build/_modules/scheduler/get-scheduler-routing-module.util.js +31 -0
- package/build/_modules/scheduler/get-scheduler-routing-module.util.js.map +1 -0
- package/build/_modules/scheduler/index.d.ts +5 -0
- package/build/_modules/scheduler/index.d.ts.map +1 -0
- package/build/_modules/scheduler/index.js +10 -0
- package/build/_modules/scheduler/index.js.map +1 -0
- package/build/_modules/scheduler/scheduler.controller.d.ts +25 -0
- package/build/_modules/scheduler/scheduler.controller.d.ts.map +1 -0
- package/build/_modules/scheduler/scheduler.controller.js +54 -0
- package/build/_modules/scheduler/scheduler.controller.js.map +1 -0
- package/build/_modules/scheduler/scheduler.service.d.ts +54 -0
- package/build/_modules/scheduler/scheduler.service.d.ts.map +1 -0
- package/build/_modules/scheduler/scheduler.service.js +164 -0
- package/build/_modules/scheduler/scheduler.service.js.map +1 -0
- package/eslint.config.js +3 -3
- package/nodemon.json +24 -24
- package/package.json +10 -1
- package/pnpm-workspace.yaml +5 -5
- package/scripts/run-coverage-tests.js +28 -28
- package/spec/support/helpers/spec-reporter-loader.js +359 -359
- package/spec/support/helpers/ts-node-helper.js +93 -93
- package/spec/support/jasmine.coverage.json +24 -24
- package/spec/support/jasmine.json +24 -24
- package/src/_collections/archive.util.spec.ts +57 -57
- package/src/_collections/archive.util.ts +18 -18
- package/src/_collections/atlas-default-db-options.const.ts +9 -9
- package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -11
- package/src/_collections/default-fallback-cache-max-age.const.ts +2 -2
- package/src/_collections/default-not-found-page.const.spec.ts +19 -19
- package/src/_collections/default-not-found-page.const.ts +22 -22
- package/src/_collections/default-socket-path.const.spec.ts +12 -12
- package/src/_collections/default-socket-path.const.ts +2 -2
- package/src/_collections/get-environment-settings.util.spec.ts +210 -210
- package/src/_collections/get-environment-settings.util.ts +48 -48
- package/src/_collections/global-settings.const.ts +109 -109
- package/src/_collections/sample.env +21 -21
- package/src/_collections/star.controller.spec.ts +224 -224
- package/src/_collections/star.controller.ts +129 -129
- package/src/_enums/data-model-type.enum.ts +14 -14
- package/src/_enums/data-service-function.enum.ts +24 -24
- package/src/_enums/predefined-data-types.enum.ts +16 -16
- package/src/_enums/route-security.enum.ts +12 -12
- package/src/_models/control-models/api-call-params.control-model.spec.ts +152 -152
- package/src/_models/control-models/api-call-params.control-model.ts +142 -142
- package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -52
- package/src/_models/control-models/app-ext-system-controls.control-model.ts +9 -9
- package/src/_models/control-models/app-params.control-model.spec.ts +225 -225
- package/src/_models/control-models/app-params.control-model.ts +136 -136
- package/src/_models/control-models/app-system-controls.control-model.spec.ts +31 -31
- package/src/_models/control-models/app-system-controls.control-model.ts +9 -9
- package/src/_models/control-models/endpoint-params.control-model.spec.ts +627 -627
- package/src/_models/control-models/endpoint-params.control-model.ts +627 -627
- package/src/_models/control-models/http-settings.control-model.spec.ts +77 -77
- package/src/_models/control-models/http-settings.control-model.ts +37 -37
- package/src/_models/control-models/system-control.control-model.spec.ts +27 -27
- package/src/_models/control-models/system-control.control-model.ts +12 -12
- package/src/_models/interfaces/certification-settings.interface.ts +7 -7
- package/src/_models/interfaces/environment-settings.interface.ts +59 -59
- package/src/_models/interfaces/global-log-settings.interface.ts +171 -171
- package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
- package/src/_models/interfaces/global-settings.interface.ts +244 -244
- package/src/_models/interfaces/routing-module-settings.interface.ts +21 -21
- package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -29
- package/src/_models/interfaces/static-client-settings.interface.ts +28 -28
- package/src/_models/types/db-update.type.ts +100 -100
- package/src/_modules/ai/_models/ai-input-interfaces.ts +117 -117
- package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +16 -16
- package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +138 -138
- package/src/_modules/ai/_modules/anthropic/index.ts +5 -5
- package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -242
- package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +639 -639
- package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +295 -295
- package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +518 -518
- package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -209
- package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +85 -85
- package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +7 -7
- package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +146 -146
- package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +162 -162
- package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +99 -99
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +68 -68
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +18 -18
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +19 -19
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +25 -25
- package/src/_modules/ai/_modules/document-ai/index.ts +30 -30
- package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +189 -189
- package/src/_modules/ai/_modules/fdp-ai/index.ts +5 -5
- package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +9 -9
- package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +82 -82
- package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +75 -75
- package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +45 -45
- package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +7 -7
- package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +7 -7
- package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +57 -57
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +292 -292
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -342
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -550
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +630 -630
- package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +332 -332
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -462
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +634 -634
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +489 -489
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +173 -173
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +1033 -1033
- package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
- package/src/_modules/ai/_services/ai-embedding-mock.service.spec.ts +115 -115
- package/src/_modules/ai/_services/ai-embedding-mock.service.ts +212 -212
- package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +110 -110
- package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +110 -110
- package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -98
- package/src/_modules/ai/_services/ai-embedding.service-base.ts +48 -48
- package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -229
- package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +68 -68
- package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -250
- package/src/_modules/ai/_services/ai-llm.service-base.ts +519 -519
- package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +158 -158
- package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
- package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +197 -197
- package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +371 -371
- package/src/_modules/ai/index.ts +23 -23
- package/src/_modules/assistant/_collections/ass-global-settings.const.ts +13 -13
- package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -176
- package/src/_modules/assistant/_collections/ass.util.ts +50 -50
- package/src/_modules/assistant/_models/ass-global-settings.interface.ts +15 -15
- package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -140
- package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -192
- package/src/_modules/assistant/_services/ass-main.control-service.ts +107 -107
- package/src/_modules/bot/_collections/bot-default-commands.const.ts +12 -12
- package/src/_modules/bot/_collections/bot-global-settings.const.ts +39 -39
- package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +62 -62
- package/src/_modules/bot/_models/bot-command.interface.ts +8 -8
- package/src/_modules/bot/_models/bot-global-settings.interface.ts +96 -96
- package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +6 -6
- package/src/_modules/bot/_models/bot-last-message-date.interface.ts +5 -5
- package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +41 -41
- package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +9 -9
- package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -431
- package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -160
- package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +55 -55
- package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +15 -15
- package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -374
- package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +447 -447
- package/src/_modules/bot/_modules/dynamo-bot/index.ts +15 -15
- package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +9 -9
- package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -344
- package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +197 -197
- package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +9 -9
- package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -345
- package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +197 -197
- package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -116
- package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -285
- package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -208
- package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -349
- package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -111
- package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -49
- package/src/_modules/custom-data/custom-data.controller.ts +67 -67
- package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -54
- package/src/_modules/custom-data/custom-data.data-service.ts +21 -21
- package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -28
- package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +24 -24
- package/src/_modules/custom-data/index.ts +9 -9
- package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +161 -161
- package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +203 -203
- package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +33 -33
- package/src/_modules/data-readers/index.ts +11 -11
- package/src/_modules/defaults/_collections/default-endpoints.util.ts +487 -487
- package/src/_modules/defaults/_models/default-user.data-model.ts +72 -72
- package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -269
- package/src/_modules/defaults/_services/default-auth.service.ts +177 -177
- package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -42
- package/src/_modules/defaults/_services/default-socket-events.service.ts +61 -61
- package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -187
- package/src/_modules/defaults/_services/default-user.data-service.ts +98 -98
- package/src/_modules/defaults/index.ts +17 -17
- package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +19 -19
- package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -366
- package/src/_modules/discord-assistant/_collections/dias.util.ts +132 -132
- package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +19 -19
- package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +52 -52
- package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +177 -177
- package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -108
- package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +69 -69
- package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -22
- package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +27 -27
- package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -195
- package/src/_modules/discord-assistant/_services/dias.service-base.ts +76 -76
- package/src/_modules/discord-assistant/index.ts +38 -38
- package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -34
- package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +11 -11
- package/src/_modules/discord-assistant-voiced/index.ts +36 -36
- package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +16 -16
- package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +55 -55
- package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -214
- package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +387 -387
- package/src/_modules/discord-bot/_models/dibo-command.interface.ts +12 -12
- package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +98 -98
- package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +7 -7
- package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +6 -6
- package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -154
- package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +153 -153
- package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -264
- package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +306 -306
- package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -408
- package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +487 -487
- package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -105
- package/src/_modules/discord-bot/index.ts +36 -36
- package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +35 -35
- package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +59 -59
- package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +17 -17
- package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -418
- package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +276 -276
- package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +480 -480
- package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +416 -416
- package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +198 -198
- package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +146 -146
- package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +167 -167
- package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +106 -106
- package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +507 -507
- package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +272 -272
- package/src/_modules/local-vector-search/index.ts +16 -16
- package/src/_modules/logs/index.ts +11 -11
- package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +111 -111
- package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +142 -142
- package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +120 -120
- package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +168 -168
- package/src/_modules/mcp/index.ts +13 -13
- package/src/_modules/messaging/README.md +354 -354
- package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +26 -26
- package/src/_modules/messaging/_collections/msg-global-settings.const.ts +22 -22
- package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -226
- package/src/_modules/messaging/_models/msg-global-settings.interface.ts +37 -37
- package/src/_modules/messaging/_services/msg-conversation.data-service.ts +146 -146
- package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -219
- package/src/_modules/messaging/_services/msg-events.service.ts +267 -267
- package/src/_modules/messaging/_services/msg-integration.control-service.ts +179 -179
- package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -147
- package/src/_modules/messaging/_services/msg-main.control-service.ts +571 -571
- package/src/_modules/messaging/_services/msg-message.data-service.ts +129 -129
- package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -201
- package/src/_modules/messaging/index.ts +30 -30
- package/src/_modules/mock/app-extended-server.mock.ts +201 -201
- package/src/_modules/mock/app-integration-test.mock.ts +51 -51
- package/src/_modules/mock/app-params.mock.spec.ts +21 -21
- package/src/_modules/mock/app-params.mock.ts +9 -9
- package/src/_modules/mock/app-server.mock.ts +188 -188
- package/src/_modules/mock/auth-service.mock.spec.ts +47 -47
- package/src/_modules/mock/auth-service.mock.ts +28 -28
- package/src/_modules/mock/controller.mock.spec.ts +26 -26
- package/src/_modules/mock/controller.mock.ts +16 -16
- package/src/_modules/mock/data-model.mock.spec.ts +111 -111
- package/src/_modules/mock/data-model.mock.ts +82 -82
- package/src/_modules/mock/email-service-collection.mock.spec.ts +24 -24
- package/src/_modules/mock/email-service-collection.mock.ts +15 -15
- package/src/_modules/mock/email-service.mock.spec.ts +17 -17
- package/src/_modules/mock/email-service.mock.ts +20 -20
- package/src/_modules/mock/email-template.mock.html +14 -14
- package/src/_modules/mock/endpoint.mock.ts +91 -91
- package/src/_modules/mock/socket-client.mock.spec.ts +40 -40
- package/src/_modules/mock/socket-client.mock.ts +45 -45
- package/src/_modules/mock/socket-server.mock.spec.ts +44 -44
- package/src/_modules/mock/socket-server.mock.ts +46 -46
- package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -107
- package/src/_modules/oauth2/_routes/oauth2.controller.ts +98 -98
- package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -254
- package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -232
- package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -585
- package/src/_modules/oauth2/_services/oauth2.control-service.ts +653 -653
- package/src/_modules/oauth2/index.ts +17 -17
- package/src/_modules/scheduler/_models/scheduler-job.interface.ts +35 -0
- package/src/_modules/scheduler/get-scheduler-routing-module.util.ts +33 -0
- package/src/_modules/scheduler/index.ts +8 -0
- package/src/_modules/scheduler/scheduler.controller.spec.ts +42 -0
- package/src/_modules/scheduler/scheduler.controller.ts +69 -0
- package/src/_modules/scheduler/scheduler.service.spec.ts +141 -0
- package/src/_modules/scheduler/scheduler.service.ts +176 -0
- package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +22 -22
- package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +81 -81
- package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +107 -107
- package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +306 -306
- package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +295 -295
- package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +118 -118
- package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +105 -105
- package/src/_modules/scoped-config/index.ts +17 -17
- package/src/_modules/server/errors/errors.control-service.spec.ts +238 -238
- package/src/_modules/server/errors/errors.control-service.ts +100 -100
- package/src/_modules/server/errors/errors.controller.spec.ts +268 -268
- package/src/_modules/server/errors/errors.controller.ts +515 -515
- package/src/_modules/server/errors/errors.data-service.spec.ts +480 -480
- package/src/_modules/server/index.ts +30 -30
- package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -70
- package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +17 -17
- package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -77
- package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +37 -37
- package/src/_modules/server/server-status/server-status.control-service.spec.ts +576 -576
- package/src/_modules/server/server-status/server-status.control-service.ts +396 -396
- package/src/_modules/server/server-status/server-status.controller.spec.ts +255 -255
- package/src/_modules/server/server-status/server-status.controller.ts +272 -272
- package/src/_modules/socket/_enums/socket-security.enum.ts +11 -11
- package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +32 -32
- package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +22 -22
- package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -164
- package/src/_modules/socket/_models/socket-presence.control-model.ts +210 -210
- package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +46 -46
- package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +22 -22
- package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -15
- package/src/_modules/socket/_services/socket-client.service.ts +260 -260
- package/src/_modules/socket/_services/socket-server.service.spec.ts +11 -11
- package/src/_modules/socket/app-extended.integration.spec.ts +85 -85
- package/src/_modules/socket/app-extended.server.ts +630 -630
- package/src/_modules/socket/index.ts +42 -42
- package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -28
- package/src/_modules/test/get-test-routing-module.util.ts +23 -23
- package/src/_modules/test/index.ts +11 -11
- package/src/_modules/test/test.controller.spec.ts +72 -72
- package/src/_modules/test/test.controller.ts +115 -115
- package/src/_modules/usage/get-usage-routing-module.util.ts +22 -22
- package/src/_modules/usage/index.ts +15 -15
- package/src/_modules/usage/usage.controller.spec.ts +81 -81
- package/src/_modules/usage/usage.controller.ts +126 -126
- package/src/_modules/usage/usage.data-service.spec.ts +332 -332
- package/src/_modules/usage/usage.data-service.ts +185 -185
- package/src/_services/base/api.service-base.spec.ts +125 -125
- package/src/_services/base/api.service-base.ts +74 -74
- package/src/_services/base/archive-data.service.spec.ts +209 -209
- package/src/_services/base/archive-data.service.ts +224 -224
- package/src/_services/base/data.service.spec.ts +729 -729
- package/src/_services/base/data.service.ts +2740 -2740
- package/src/_services/base/db.service.spec.ts +73 -73
- package/src/_services/base/db.service.ts +1575 -1575
- package/src/_services/base/singleton.service-base.spec.ts +28 -28
- package/src/_services/base/singleton.service-base.ts +24 -24
- package/src/_services/base/singleton.service.spec.ts +114 -114
- package/src/_services/base/singleton.service.ts +38 -38
- package/src/_services/core/api.service.spec.ts +140 -140
- package/src/_services/core/auth.service.spec.ts +159 -159
- package/src/_services/core/auth.service.ts +174 -174
- package/src/_services/core/email.service.spec.ts +85 -85
- package/src/_services/core/email.service.ts +742 -742
- package/src/_services/core/global.service.spec.ts +292 -292
- package/src/_services/core/global.service.ts +487 -487
- package/src/_services/core/memory-guard.service.spec.ts +245 -245
- package/src/_services/core/memory-guard.service.ts +481 -481
- package/src/_services/core/service-collection.service.spec.ts +46 -46
- package/src/_services/core/service-collection.service.ts +6 -6
- package/src/_services/route/controller.service.spec.ts +53 -53
- package/src/_services/route/controller.service.ts +148 -148
- package/src/_services/route/routing-module.service.spec.ts +98 -98
- package/src/_services/route/routing-module.service.ts +330 -330
- package/src/_services/server/app.server.ts +1941 -1941
- package/src/_services/shared.static-service.spec.ts +99 -99
- package/src/_services/shared.static-service.ts +78 -78
- package/src/index.ts +97 -97
- package/tsconfig.app.json +12 -12
- package/tsconfig.json +42 -42
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
|
|
2
|
-
import { DyFM_DataModel_Params, DyFM_Metadata, DyFM_Object } from '@futdevpro/fsm-dynamo';
|
|
3
|
-
|
|
4
|
-
import { DyNTS_ScopedConfig_Level } from '../../_enums/dynts-scoped-config-level.enum';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* `DyNTS_ScopedConfig` entitás (BFR-AM-004) — egy dokumentum = **egy setting-érték egy adott szinten**.
|
|
8
|
-
* A `level` + `tableScope` + `scopeId` hármas adja a feloldási-kulcsot (a `key`-vel együtt a logikai
|
|
9
|
-
* unique-constraint); a precedencia: **scope (leaf→root) > table > global > builtin-default**.
|
|
10
|
-
*
|
|
11
|
-
* `extends DyFM_Metadata`: az identitás/metadata (`_id`, `__created`, `__lastModified`, `_deleted`)
|
|
12
|
-
* az ősből jön; a `_deleted` soft-delete marker (Date), amit a `DyNTS_ArchiveDataService` kezel — ez
|
|
13
|
-
* a felülírás-history alapja (egy `set` a régi aktív rekordot archiválja, az újat aktívan írja).
|
|
14
|
-
*
|
|
15
|
-
* **Domain-agnosztikus:** a `key` `string`, a `value` `unknown` (Mongoose `Mixed`, séma-szinten
|
|
16
|
-
* `type:'object'`). A bedrock NEM validál séma-szinten — a típushelyesség / katalógus a FOGYASZTÓ
|
|
17
|
-
* dolga. A `value` írása **`$set`-tel atomikus** (Mongoose Mixed silent-drop ellen — lásd
|
|
18
|
-
* `DyNTS_ScopedConfig_DataService.setValue`).
|
|
19
|
-
*/
|
|
20
|
-
export class DyNTS_ScopedConfig extends DyFM_Metadata {
|
|
21
|
-
|
|
22
|
-
// --- a feloldási kulcs ---
|
|
23
|
-
|
|
24
|
-
/** A feloldási-szint (`global`|`table`|`scope`). */
|
|
25
|
-
level?: DyNTS_ScopedConfig_Level;
|
|
26
|
-
|
|
27
|
-
/** `level='table'|'scope'` esetén kötelező: melyik logikai tár. */
|
|
28
|
-
tableScope?: string;
|
|
29
|
-
|
|
30
|
-
/** `level='scope'` esetén kötelező: a scope-entitás logikai azonosítója. */
|
|
31
|
-
scopeId?: string;
|
|
32
|
-
|
|
33
|
-
// --- a setting maga ---
|
|
34
|
-
|
|
35
|
-
/** A config-kulcs (a fogyasztó katalógusából; string-ként perzistált). */
|
|
36
|
-
key?: string;
|
|
37
|
-
|
|
38
|
-
/** A setting-érték; típusa a fogyasztó katalógusa szerint. Mongoose `Mixed`. */
|
|
39
|
-
value?: unknown;
|
|
40
|
-
|
|
41
|
-
// --- audit ---
|
|
42
|
-
|
|
43
|
-
/** Ki/mi állította be (audit). */
|
|
44
|
-
setBy?: string;
|
|
45
|
-
|
|
46
|
-
/** Beállítás-részlet (pl. preset-név, CLI-user). */
|
|
47
|
-
setByDetail?: string;
|
|
48
|
-
|
|
49
|
-
/** Opcionális indoklás. */
|
|
50
|
-
note?: string;
|
|
51
|
-
|
|
52
|
-
constructor(set?: Partial<DyNTS_ScopedConfig>) {
|
|
1
|
+
|
|
2
|
+
import { DyFM_DataModel_Params, DyFM_Metadata, DyFM_Object } from '@futdevpro/fsm-dynamo';
|
|
3
|
+
|
|
4
|
+
import { DyNTS_ScopedConfig_Level } from '../../_enums/dynts-scoped-config-level.enum';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* `DyNTS_ScopedConfig` entitás (BFR-AM-004) — egy dokumentum = **egy setting-érték egy adott szinten**.
|
|
8
|
+
* A `level` + `tableScope` + `scopeId` hármas adja a feloldási-kulcsot (a `key`-vel együtt a logikai
|
|
9
|
+
* unique-constraint); a precedencia: **scope (leaf→root) > table > global > builtin-default**.
|
|
10
|
+
*
|
|
11
|
+
* `extends DyFM_Metadata`: az identitás/metadata (`_id`, `__created`, `__lastModified`, `_deleted`)
|
|
12
|
+
* az ősből jön; a `_deleted` soft-delete marker (Date), amit a `DyNTS_ArchiveDataService` kezel — ez
|
|
13
|
+
* a felülírás-history alapja (egy `set` a régi aktív rekordot archiválja, az újat aktívan írja).
|
|
14
|
+
*
|
|
15
|
+
* **Domain-agnosztikus:** a `key` `string`, a `value` `unknown` (Mongoose `Mixed`, séma-szinten
|
|
16
|
+
* `type:'object'`). A bedrock NEM validál séma-szinten — a típushelyesség / katalógus a FOGYASZTÓ
|
|
17
|
+
* dolga. A `value` írása **`$set`-tel atomikus** (Mongoose Mixed silent-drop ellen — lásd
|
|
18
|
+
* `DyNTS_ScopedConfig_DataService.setValue`).
|
|
19
|
+
*/
|
|
20
|
+
export class DyNTS_ScopedConfig extends DyFM_Metadata {
|
|
21
|
+
|
|
22
|
+
// --- a feloldási kulcs ---
|
|
23
|
+
|
|
24
|
+
/** A feloldási-szint (`global`|`table`|`scope`). */
|
|
25
|
+
level?: DyNTS_ScopedConfig_Level;
|
|
26
|
+
|
|
27
|
+
/** `level='table'|'scope'` esetén kötelező: melyik logikai tár. */
|
|
28
|
+
tableScope?: string;
|
|
29
|
+
|
|
30
|
+
/** `level='scope'` esetén kötelező: a scope-entitás logikai azonosítója. */
|
|
31
|
+
scopeId?: string;
|
|
32
|
+
|
|
33
|
+
// --- a setting maga ---
|
|
34
|
+
|
|
35
|
+
/** A config-kulcs (a fogyasztó katalógusából; string-ként perzistált). */
|
|
36
|
+
key?: string;
|
|
37
|
+
|
|
38
|
+
/** A setting-érték; típusa a fogyasztó katalógusa szerint. Mongoose `Mixed`. */
|
|
39
|
+
value?: unknown;
|
|
40
|
+
|
|
41
|
+
// --- audit ---
|
|
42
|
+
|
|
43
|
+
/** Ki/mi állította be (audit). */
|
|
44
|
+
setBy?: string;
|
|
45
|
+
|
|
46
|
+
/** Beállítás-részlet (pl. preset-név, CLI-user). */
|
|
47
|
+
setByDetail?: string;
|
|
48
|
+
|
|
49
|
+
/** Opcionális indoklás. */
|
|
50
|
+
note?: string;
|
|
51
|
+
|
|
52
|
+
constructor(set?: Partial<DyNTS_ScopedConfig>) {
|
|
53
53
|
super(set);
|
|
54
|
-
|
|
55
|
-
if (set) {
|
|
56
|
-
DyFM_Object.cleanAssign(this, set);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* MongoDB data-params a `dynts_scoped_config` collection-höz (BFR-AM-004). `addArchive: true` → a
|
|
63
|
-
* felülírt (régi) értékek soft-delete-elve megőrződnek (audit-trail / history).
|
|
64
|
-
*
|
|
65
|
-
* A `value` `type:'object'` (Mongoose `Mixed`) — a séma NEM validál; a típushelyesség a fogyasztó
|
|
66
|
-
* katalógusának + set-kori validációjának dolga.
|
|
67
|
-
*/
|
|
68
|
-
export const DyNTS_scopedConfig_dataParams: DyFM_DataModel_Params<DyNTS_ScopedConfig> =
|
|
69
|
-
new DyFM_DataModel_Params<DyNTS_ScopedConfig>({
|
|
70
|
-
dataName: 'dynts_scoped_config',
|
|
71
|
-
addArchive: true,
|
|
72
|
-
properties: {
|
|
73
|
-
level: { type: 'string', index: true, required: true },
|
|
74
|
-
tableScope: { type: 'string', index: true },
|
|
75
|
-
scopeId: { type: 'string', index: true },
|
|
76
|
-
key: { type: 'string', index: true, required: true },
|
|
77
|
-
value: { type: 'object' },
|
|
78
|
-
setBy: { type: 'string', index: true },
|
|
79
|
-
setByDetail: { type: 'string' },
|
|
80
|
-
note: { type: 'string' },
|
|
81
|
-
},
|
|
82
|
-
});
|
|
54
|
+
|
|
55
|
+
if (set) {
|
|
56
|
+
DyFM_Object.cleanAssign(this, set);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* MongoDB data-params a `dynts_scoped_config` collection-höz (BFR-AM-004). `addArchive: true` → a
|
|
63
|
+
* felülírt (régi) értékek soft-delete-elve megőrződnek (audit-trail / history).
|
|
64
|
+
*
|
|
65
|
+
* A `value` `type:'object'` (Mongoose `Mixed`) — a séma NEM validál; a típushelyesség a fogyasztó
|
|
66
|
+
* katalógusának + set-kori validációjának dolga.
|
|
67
|
+
*/
|
|
68
|
+
export const DyNTS_scopedConfig_dataParams: DyFM_DataModel_Params<DyNTS_ScopedConfig> =
|
|
69
|
+
new DyFM_DataModel_Params<DyNTS_ScopedConfig>({
|
|
70
|
+
dataName: 'dynts_scoped_config',
|
|
71
|
+
addArchive: true,
|
|
72
|
+
properties: {
|
|
73
|
+
level: { type: 'string', index: true, required: true },
|
|
74
|
+
tableScope: { type: 'string', index: true },
|
|
75
|
+
scopeId: { type: 'string', index: true },
|
|
76
|
+
key: { type: 'string', index: true, required: true },
|
|
77
|
+
value: { type: 'object' },
|
|
78
|
+
setBy: { type: 'string', index: true },
|
|
79
|
+
setByDetail: { type: 'string' },
|
|
80
|
+
note: { type: 'string' },
|
|
81
|
+
},
|
|
82
|
+
});
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Scoped-config shared vokabulár (BFR-AM-004). Egy fájlban a szorosan összetartozó típusok
|
|
4
|
-
* (a `*.interface.ts` az egy-export-per-file konvenció ismert kivétele — mint a FAM `fam-config.interface.ts`).
|
|
5
|
-
*
|
|
6
|
-
* **Domain-agnosztikus:** a bedrock CSAK a generikus resolve-precedencia engine-t + a tárolást adja;
|
|
7
|
-
* a konkrét kulcs-katalógus, a kulcs-típusok és a default-ok a fogyasztó projekté (pl. FAM
|
|
8
|
-
* `CONFIG_CATALOG`). Ezért a `value` itt `unknown`, a `key` `string`, és a `builtinDefault`-ot a
|
|
9
|
-
* hívó adja át (nincs beépített katalógus).
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Egy scoped-config érték generikus típusa. A típushelyesség a FOGYASZTÓ felelőssége (a bedrock nem
|
|
14
|
-
* validál séma-szinten — a `value` Mongoose `Mixed`). A `null` megengedett (pl. "nincs plafon").
|
|
15
|
-
*/
|
|
16
|
-
export type DyNTS_ScopedConfigValue =
|
|
17
|
-
number | string | boolean | string[] | null | { [key: string]: unknown };
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* A precedencia-feloldás forrás-szintje. A `resolve` ezt adja vissza, hogy a fogyasztó átlátható módon
|
|
21
|
-
* tudja, **honnan** jön egy érték (`builtin` = a hívó által átadott `builtinDefault`).
|
|
22
|
-
*/
|
|
23
|
-
export type DyNTS_ScopedConfigResolvedFrom = 'scope' | 'table' | 'global' | 'builtin';
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Egy canonical scope-referencia a `scopePath`-ban (BFR-AM-004). A `scopeId` a logikai scope-azonosító
|
|
27
|
-
* (a fogyasztó adja, pl. egy `FAM_Scope._id`); a feloldás a path **levéből** (utolsó elem) indul a
|
|
28
|
-
* gyökér (első elem) felé — a legmélyebb találat nyer.
|
|
29
|
-
*/
|
|
30
|
-
export interface DyNTS_ScopedConfigScopeRef {
|
|
31
|
-
/** A scope logikai azonosítója (a `DyNTS_ScopedConfig.scopeId`-vel egyezik). */
|
|
32
|
-
scopeId: string;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* A `resolve(key, ctx)` / `resolveAll(ctx)` kontextusa (BFR-AM-004). A `table` + `scopePath` nélkül
|
|
37
|
-
* csak a global + builtin szint értelmezett. A `scopePath` canonical formában érkezik (a fogyasztó
|
|
38
|
-
* read/write-path-ja oldotta fel) — a config-engine nyers stringgel NEM dolgozik.
|
|
39
|
-
*/
|
|
40
|
-
export interface DyNTS_ScopedConfigResolveContext {
|
|
41
|
-
/** Melyik logikai tár szintjén oldjuk fel (a table + scope ág; nélküle csak global+builtin). */
|
|
42
|
-
table?: string;
|
|
43
|
-
|
|
44
|
-
/** Canonical scope-lánc (gyökér→levél); a feloldás a **levéből** indul a gyökér felé. */
|
|
45
|
-
scopePath?: DyNTS_ScopedConfigScopeRef[];
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Egy feloldott config-érték a forrás-szinttel (BFR-AM-004). Átlátható: jelzi, melyik szintről jött
|
|
50
|
-
* az effektív érték + ki állította be (audit). A `builtin` esetén csak a `value` + `resolvedFrom` van.
|
|
51
|
-
*/
|
|
52
|
-
export interface DyNTS_ScopedConfigResolvedValue<T = DyNTS_ScopedConfigValue> {
|
|
53
|
-
/** A feloldott effektív érték. */
|
|
54
|
-
value: T;
|
|
55
|
-
|
|
56
|
-
/** A forrás-szint (`scope`/`table`/`global`/`builtin`). */
|
|
57
|
-
resolvedFrom: DyNTS_ScopedConfigResolvedFrom;
|
|
58
|
-
|
|
59
|
-
/** Ha `resolvedFrom='scope'`, melyik scope-entitásról (a legmélyebb találat). */
|
|
60
|
-
scopeId?: string;
|
|
61
|
-
|
|
62
|
-
/** Ki/mi állította be (a forrás-rekordról; `builtin` esetén nincs). */
|
|
63
|
-
setBy?: string;
|
|
64
|
-
|
|
65
|
-
/** Beállítás-részlet (pl. preset-név / CLI-user), ha van. */
|
|
66
|
-
setByDetail?: string;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* A `resolve(key, opts)` opciói (BFR-AM-004). A `builtinDefault` a hívó által átadott fallback —
|
|
71
|
-
* ha egyik DB-szinten sincs érték, ezt adja vissza `resolvedFrom='builtin'`-nal (a bedrock nem
|
|
72
|
-
* tart beépített katalógust). Ha nincs `builtinDefault` és nincs DB-érték, az érték `undefined`.
|
|
73
|
-
*/
|
|
74
|
-
export interface DyNTS_ScopedConfigResolveOptions<T = DyNTS_ScopedConfigValue> {
|
|
75
|
-
/** Melyik logikai tár szintjén oldjuk fel (a table + scope ág). */
|
|
76
|
-
table?: string;
|
|
77
|
-
|
|
78
|
-
/** Canonical scope-lánc (gyökér→levél); a feloldás a **levéből** indul a gyökér felé. */
|
|
79
|
-
scopePath?: DyNTS_ScopedConfigScopeRef[];
|
|
80
|
-
|
|
81
|
-
/** A hívó által átadott builtin fallback (a katalógus a fogyasztóé). */
|
|
82
|
-
builtinDefault?: T;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* A `set(level, key, value, opts)` opció-objektuma (BFR-AM-004). A `level`+`tableScope`+`scopeId` adja
|
|
87
|
-
* a feloldási-kulcsot; az audit-mezők (`setBy`/`setByDetail`/`note`) a felülírás-history-hez.
|
|
88
|
-
*/
|
|
89
|
-
export interface DyNTS_ScopedConfigSetOptions {
|
|
90
|
-
/** `level='table'|'scope'` esetén kötelező: melyik logikai tár. */
|
|
91
|
-
tableScope?: string;
|
|
92
|
-
|
|
93
|
-
/** `level='scope'` esetén kötelező: a scope-entitás logikai azonosítója. */
|
|
94
|
-
scopeId?: string;
|
|
95
|
-
|
|
96
|
-
/** Ki/mi állította be (audit; default `'system'`). */
|
|
97
|
-
setBy?: string;
|
|
98
|
-
|
|
99
|
-
/** Beállítás-részlet (pl. preset-név / CLI-user). */
|
|
100
|
-
setByDetail?: string;
|
|
101
|
-
|
|
102
|
-
/** Opcionális indoklás. */
|
|
103
|
-
note?: string;
|
|
104
|
-
|
|
105
|
-
/** A hibák / write-ok `issuer`-e. */
|
|
106
|
-
issuer?: string;
|
|
107
|
-
}
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* Scoped-config shared vokabulár (BFR-AM-004). Egy fájlban a szorosan összetartozó típusok
|
|
4
|
+
* (a `*.interface.ts` az egy-export-per-file konvenció ismert kivétele — mint a FAM `fam-config.interface.ts`).
|
|
5
|
+
*
|
|
6
|
+
* **Domain-agnosztikus:** a bedrock CSAK a generikus resolve-precedencia engine-t + a tárolást adja;
|
|
7
|
+
* a konkrét kulcs-katalógus, a kulcs-típusok és a default-ok a fogyasztó projekté (pl. FAM
|
|
8
|
+
* `CONFIG_CATALOG`). Ezért a `value` itt `unknown`, a `key` `string`, és a `builtinDefault`-ot a
|
|
9
|
+
* hívó adja át (nincs beépített katalógus).
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Egy scoped-config érték generikus típusa. A típushelyesség a FOGYASZTÓ felelőssége (a bedrock nem
|
|
14
|
+
* validál séma-szinten — a `value` Mongoose `Mixed`). A `null` megengedett (pl. "nincs plafon").
|
|
15
|
+
*/
|
|
16
|
+
export type DyNTS_ScopedConfigValue =
|
|
17
|
+
number | string | boolean | string[] | null | { [key: string]: unknown };
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* A precedencia-feloldás forrás-szintje. A `resolve` ezt adja vissza, hogy a fogyasztó átlátható módon
|
|
21
|
+
* tudja, **honnan** jön egy érték (`builtin` = a hívó által átadott `builtinDefault`).
|
|
22
|
+
*/
|
|
23
|
+
export type DyNTS_ScopedConfigResolvedFrom = 'scope' | 'table' | 'global' | 'builtin';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Egy canonical scope-referencia a `scopePath`-ban (BFR-AM-004). A `scopeId` a logikai scope-azonosító
|
|
27
|
+
* (a fogyasztó adja, pl. egy `FAM_Scope._id`); a feloldás a path **levéből** (utolsó elem) indul a
|
|
28
|
+
* gyökér (első elem) felé — a legmélyebb találat nyer.
|
|
29
|
+
*/
|
|
30
|
+
export interface DyNTS_ScopedConfigScopeRef {
|
|
31
|
+
/** A scope logikai azonosítója (a `DyNTS_ScopedConfig.scopeId`-vel egyezik). */
|
|
32
|
+
scopeId: string;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* A `resolve(key, ctx)` / `resolveAll(ctx)` kontextusa (BFR-AM-004). A `table` + `scopePath` nélkül
|
|
37
|
+
* csak a global + builtin szint értelmezett. A `scopePath` canonical formában érkezik (a fogyasztó
|
|
38
|
+
* read/write-path-ja oldotta fel) — a config-engine nyers stringgel NEM dolgozik.
|
|
39
|
+
*/
|
|
40
|
+
export interface DyNTS_ScopedConfigResolveContext {
|
|
41
|
+
/** Melyik logikai tár szintjén oldjuk fel (a table + scope ág; nélküle csak global+builtin). */
|
|
42
|
+
table?: string;
|
|
43
|
+
|
|
44
|
+
/** Canonical scope-lánc (gyökér→levél); a feloldás a **levéből** indul a gyökér felé. */
|
|
45
|
+
scopePath?: DyNTS_ScopedConfigScopeRef[];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Egy feloldott config-érték a forrás-szinttel (BFR-AM-004). Átlátható: jelzi, melyik szintről jött
|
|
50
|
+
* az effektív érték + ki állította be (audit). A `builtin` esetén csak a `value` + `resolvedFrom` van.
|
|
51
|
+
*/
|
|
52
|
+
export interface DyNTS_ScopedConfigResolvedValue<T = DyNTS_ScopedConfigValue> {
|
|
53
|
+
/** A feloldott effektív érték. */
|
|
54
|
+
value: T;
|
|
55
|
+
|
|
56
|
+
/** A forrás-szint (`scope`/`table`/`global`/`builtin`). */
|
|
57
|
+
resolvedFrom: DyNTS_ScopedConfigResolvedFrom;
|
|
58
|
+
|
|
59
|
+
/** Ha `resolvedFrom='scope'`, melyik scope-entitásról (a legmélyebb találat). */
|
|
60
|
+
scopeId?: string;
|
|
61
|
+
|
|
62
|
+
/** Ki/mi állította be (a forrás-rekordról; `builtin` esetén nincs). */
|
|
63
|
+
setBy?: string;
|
|
64
|
+
|
|
65
|
+
/** Beállítás-részlet (pl. preset-név / CLI-user), ha van. */
|
|
66
|
+
setByDetail?: string;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* A `resolve(key, opts)` opciói (BFR-AM-004). A `builtinDefault` a hívó által átadott fallback —
|
|
71
|
+
* ha egyik DB-szinten sincs érték, ezt adja vissza `resolvedFrom='builtin'`-nal (a bedrock nem
|
|
72
|
+
* tart beépített katalógust). Ha nincs `builtinDefault` és nincs DB-érték, az érték `undefined`.
|
|
73
|
+
*/
|
|
74
|
+
export interface DyNTS_ScopedConfigResolveOptions<T = DyNTS_ScopedConfigValue> {
|
|
75
|
+
/** Melyik logikai tár szintjén oldjuk fel (a table + scope ág). */
|
|
76
|
+
table?: string;
|
|
77
|
+
|
|
78
|
+
/** Canonical scope-lánc (gyökér→levél); a feloldás a **levéből** indul a gyökér felé. */
|
|
79
|
+
scopePath?: DyNTS_ScopedConfigScopeRef[];
|
|
80
|
+
|
|
81
|
+
/** A hívó által átadott builtin fallback (a katalógus a fogyasztóé). */
|
|
82
|
+
builtinDefault?: T;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* A `set(level, key, value, opts)` opció-objektuma (BFR-AM-004). A `level`+`tableScope`+`scopeId` adja
|
|
87
|
+
* a feloldási-kulcsot; az audit-mezők (`setBy`/`setByDetail`/`note`) a felülírás-history-hez.
|
|
88
|
+
*/
|
|
89
|
+
export interface DyNTS_ScopedConfigSetOptions {
|
|
90
|
+
/** `level='table'|'scope'` esetén kötelező: melyik logikai tár. */
|
|
91
|
+
tableScope?: string;
|
|
92
|
+
|
|
93
|
+
/** `level='scope'` esetén kötelező: a scope-entitás logikai azonosítója. */
|
|
94
|
+
scopeId?: string;
|
|
95
|
+
|
|
96
|
+
/** Ki/mi állította be (audit; default `'system'`). */
|
|
97
|
+
setBy?: string;
|
|
98
|
+
|
|
99
|
+
/** Beállítás-részlet (pl. preset-név / CLI-user). */
|
|
100
|
+
setByDetail?: string;
|
|
101
|
+
|
|
102
|
+
/** Opcionális indoklás. */
|
|
103
|
+
note?: string;
|
|
104
|
+
|
|
105
|
+
/** A hibák / write-ok `issuer`-e. */
|
|
106
|
+
issuer?: string;
|
|
107
|
+
}
|