@futdevpro/nts-dynamo 1.15.157 → 1.15.163
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/LICENSE +17 -17
- package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts +7 -1
- package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts.map +1 -1
- package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js +6 -0
- package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js.map +1 -1
- package/build/_modules/account-security/account-challenge.control-service.d.ts +1 -1
- package/build/_modules/account-security/account-challenge.control-service.d.ts.map +1 -1
- package/build/_modules/account-security/account-challenge.control-service.js +1 -1
- package/build/_modules/account-security/account-challenge.control-service.js.map +1 -1
- package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.d.ts +71 -0
- package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.d.ts.map +1 -0
- package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.js +3 -0
- package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.js.map +1 -0
- package/build/_modules/privacy-lifecycle/index.d.ts +3 -0
- package/build/_modules/privacy-lifecycle/index.d.ts.map +1 -1
- package/build/_modules/privacy-lifecycle/index.js +5 -1
- package/build/_modules/privacy-lifecycle/index.js.map +1 -1
- package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.d.ts +48 -0
- package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.d.ts.map +1 -0
- package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.js +332 -0
- package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.js.map +1 -0
- package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.d.ts +25 -0
- package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.d.ts.map +1 -0
- package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.js +126 -0
- package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.js.map +1 -0
- package/package.json +11 -4
- package/.c8rc.json +0 -26
- package/.copilot/patterns.json +0 -8
- package/.cursor/rules/__assistant_guide.mdc +0 -30
- package/.cursor/rules/__main.mdc +0 -64
- package/.cursor/rules/_ag_backend-structure.mdc +0 -86
- package/.cursor/rules/_ag_backend.mdc +0 -16
- package/.cursor/rules/_ag_debug.mdc +0 -8
- package/.cursor/rules/_ag_documentation_writing_rules.mdc +0 -372
- package/.cursor/rules/_ag_file-refactoring.mdc +0 -113
- package/.cursor/rules/_ag_fixes_rules.mdc +0 -6
- package/.cursor/rules/_ag_frontend-structure.mdc +0 -87
- package/.cursor/rules/_ag_frontend.mdc +0 -40
- package/.cursor/rules/_ag_import-rules.mdc +0 -45
- package/.cursor/rules/_ag_naming.mdc +0 -116
- package/.cursor/rules/_ag_running_commands.mdc +0 -5
- package/.cursor/rules/_ag_server-controller.mdc +0 -6
- package/.cursor/rules/_ag_should-be.mdc +0 -7
- package/.cursor/rules/_ag_swearing.mdc +0 -47
- package/.cursor/rules/ai_development_guide.md +0 -61
- package/.cursor/rules/ai_directives.md +0 -114
- package/.cursor/rules/cursor-rules.md +0 -160
- package/.cursor/rules/default-command.mdc +0 -465
- package/.cursor/rules/error_code_pattern.md +0 -40
- package/.cursor/rules/saved rule mcp server use.md +0 -16
- package/.dynamo/pipeline.cicd.config.json +0 -190
- package/.dynamo/version-bump.config.json +0 -5
- package/.github/workflows/main.yml +0 -438
- package/.husky/pre-commit +0 -3
- package/.vscode/settings.json +0 -11
- package/BuildPackage.bat +0 -1
- package/HOWTO.md +0 -15
- package/__documentations/2026-04-28-logs-module.md +0 -49
- package/__documentations/2026-05-17-oai-compatible-providers.md +0 -229
- package/__documentations/2026-05-17-static-client-serving-howto.md +0 -144
- package/__documentations/2026-06-01-fr041-cors-middleware.md +0 -96
- package/__documentations/2026-06-01-fr047-p2p3-function-calling.md +0 -81
- package/__documentations/2026-06-15-fr193-memory-guard.md +0 -73
- package/__documentations/2026-08-08-fr292-app-version-header.md +0 -38
- package/__documentations/2026-08-14-field-encryption-mongoose-document-spread.md +0 -124
- package/__documentations/2026-08-18-artifact-compiler.md +0 -46
- package/__documentations/2026-08-18-mongo-transaction-control-service.md +0 -82
- package/__documentations/2026-08-18-standalone-account-security-and-privacy-bedrock.md +0 -132
- package/__documentations/2026-08-21-distributed-rate-limit-bfr-ctm-010.md +0 -59
- package/__documentations/2026-08-22-bfr-ctm-018-content-free-endpoint-errors.md +0 -54
- package/__documentations/2026-08-22-bfr-ctm-020-content-free-request-telemetry.md +0 -65
- package/__documentations/2026-08-22-content-free-process-error-boundary.md +0 -111
- package/__documentations/2026-08-22-npm-token-state-classifier.md +0 -92
- package/__documentations/nts-integration-tests-2026-03-17.md +0 -26
- package/__documentations/plans/BEDROCK-HYPERPLAN.md +0 -95
- package/_specifications/BACKLOG.md +0 -92
- package/_specifications/TODO.md +0 -15
- package/_specifications/agent.md +0 -138
- package/eslint.config.js +0 -3
- package/nodemon.json +0 -24
- package/pnpm-workspace.yaml +0 -6
- package/scripts/_seed-out/aim-seed.fixtures.ts +0 -161
- package/scripts/_seed-out/image-raw.json +0 -1
- package/scripts/_seed-out/llm-expand-raw.json +0 -60
- package/scripts/_seed-out/sample-image.png +0 -0
- package/scripts/_seed-out/seed-raw.json +0 -153
- package/scripts/ai-fixture-seed.js +0 -126
- package/scripts/run-coverage-tests.js +0 -28
- package/spec/support/helpers/spec-reporter-loader.js +0 -359
- package/spec/support/helpers/ts-node-helper.js +0 -93
- package/spec/support/jasmine.coverage.json +0 -24
- package/spec/support/jasmine.json +0 -24
- package/src/_assets/dynamo-nts-logo-128.png +0 -0
- package/src/_assets/dynamo-nts-logo-256.png +0 -0
- package/src/_assets/dynamo-nts-logo-512.png +0 -0
- package/src/_assets/dynamo-nts-logo-64.png +0 -0
- package/src/_collections/app-version-header.util.spec.ts +0 -108
- package/src/_collections/app-version-header.util.ts +0 -74
- package/src/_collections/archive-service-registry.const.ts +0 -21
- package/src/_collections/archive.util.spec.ts +0 -57
- package/src/_collections/archive.util.ts +0 -18
- package/src/_collections/atlas-default-db-options.const.ts +0 -10
- package/src/_collections/client-safe-error.util.spec.ts +0 -151
- package/src/_collections/client-safe-error.util.ts +0 -107
- package/src/_collections/default-fallback-cache-max-age.const.spec.ts +0 -11
- package/src/_collections/default-fallback-cache-max-age.const.ts +0 -2
- package/src/_collections/default-not-found-page.const.spec.ts +0 -19
- package/src/_collections/default-not-found-page.const.ts +0 -22
- package/src/_collections/default-socket-path.const.spec.ts +0 -12
- package/src/_collections/default-socket-path.const.ts +0 -2
- package/src/_collections/field-encryption.util.spec.ts +0 -195
- package/src/_collections/field-encryption.util.ts +0 -222
- package/src/_collections/get-environment-settings.util.spec.ts +0 -210
- package/src/_collections/get-environment-settings.util.ts +0 -49
- package/src/_collections/global-settings.const.ts +0 -126
- package/src/_collections/load-shed.util.spec.ts +0 -62
- package/src/_collections/load-shed.util.ts +0 -51
- package/src/_collections/mongo-reconnect-guard.util.spec.ts +0 -52
- package/src/_collections/mongo-reconnect-guard.util.ts +0 -172
- package/src/_collections/npm-token-check.util.spec.ts +0 -218
- package/src/_collections/npm-token-check.util.ts +0 -327
- package/src/_collections/sample.env +0 -21
- package/src/_collections/security-headers.util.spec.ts +0 -98
- package/src/_collections/security-headers.util.ts +0 -96
- package/src/_collections/signed-url.util.spec.ts +0 -198
- package/src/_collections/signed-url.util.ts +0 -170
- package/src/_collections/star.controller.spec.ts +0 -224
- package/src/_collections/star.controller.ts +0 -130
- package/src/_collections/static-cache-control.util.spec.ts +0 -47
- package/src/_collections/static-cache-control.util.ts +0 -25
- package/src/_enums/data-model-type.enum.ts +0 -14
- package/src/_enums/data-service-function.enum.ts +0 -24
- package/src/_enums/predefined-data-types.enum.ts +0 -17
- package/src/_enums/route-security.enum.ts +0 -12
- package/src/_models/control-models/api-call-params.control-model.spec.ts +0 -152
- package/src/_models/control-models/api-call-params.control-model.ts +0 -142
- package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +0 -52
- package/src/_models/control-models/app-ext-system-controls.control-model.ts +0 -9
- package/src/_models/control-models/app-params.control-model.spec.ts +0 -229
- package/src/_models/control-models/app-params.control-model.ts +0 -137
- package/src/_models/control-models/app-system-controls.control-model.spec.ts +0 -31
- package/src/_models/control-models/app-system-controls.control-model.ts +0 -9
- package/src/_models/control-models/endpoint-params.control-model.spec.ts +0 -754
- package/src/_models/control-models/endpoint-params.control-model.ts +0 -575
- package/src/_models/control-models/http-settings.control-model.spec.ts +0 -77
- package/src/_models/control-models/http-settings.control-model.ts +0 -37
- package/src/_models/control-models/system-control.control-model.spec.ts +0 -27
- package/src/_models/control-models/system-control.control-model.ts +0 -12
- package/src/_models/data-models/schema-migration.data-model.ts +0 -50
- package/src/_models/interfaces/app-version-header-settings.interface.ts +0 -17
- package/src/_models/interfaces/certification-settings.interface.ts +0 -7
- package/src/_models/interfaces/compare-data-options.interface.ts +0 -27
- package/src/_models/interfaces/compare-data-result.interface.ts +0 -12
- package/src/_models/interfaces/cors-settings.interface.spec.ts +0 -52
- package/src/_models/interfaces/cors-settings.interface.ts +0 -56
- package/src/_models/interfaces/db-query-options.interface.ts +0 -33
- package/src/_models/interfaces/environment-settings.interface.ts +0 -59
- package/src/_models/interfaces/global-log-settings.interface.ts +0 -171
- package/src/_models/interfaces/global-service-settings.interface.ts +0 -47
- package/src/_models/interfaces/global-settings.interface.ts +0 -294
- package/src/_models/interfaces/migration-entry.interface.ts +0 -19
- package/src/_models/interfaces/mongo-transaction-settings.interface.ts +0 -9
- package/src/_models/interfaces/request-telemetry-settings.interface.ts +0 -9
- package/src/_models/interfaces/request-telemetry-snapshot.interface.ts +0 -30
- package/src/_models/interfaces/routing-module-settings.interface.ts +0 -21
- package/src/_models/interfaces/security-headers-settings.interface.ts +0 -50
- package/src/_models/interfaces/signed-url-verify-result.interface.ts +0 -13
- package/src/_models/interfaces/static-client-settings.interface.spec.ts +0 -29
- package/src/_models/interfaces/static-client-settings.interface.ts +0 -36
- package/src/_models/types/db-update.type.ts +0 -100
- package/src/_modules/account-security/_enums/account-challenge-purpose.type-enum.ts +0 -5
- package/src/_modules/account-security/_enums/account-refresh-token-state.type-enum.ts +0 -6
- package/src/_modules/account-security/_enums/account-session-state.type-enum.ts +0 -6
- package/src/_modules/account-security/_models/account-challenge-adapter.interface.ts +0 -17
- package/src/_modules/account-security/_models/account-challenge-issued.interface.ts +0 -6
- package/src/_modules/account-security/_models/account-challenge-record.interface.ts +0 -13
- package/src/_modules/account-security/_models/account-challenge-result.interface.ts +0 -8
- package/src/_modules/account-security/_models/account-challenge-settings.interface.ts +0 -9
- package/src/_modules/account-security/_models/account-password-policy.interface.ts +0 -11
- package/src/_modules/account-security/_models/account-password-verification.interface.ts +0 -5
- package/src/_modules/account-security/_models/account-refresh-token-record.interface.ts +0 -13
- package/src/_modules/account-security/_models/account-session-adapter.interface.ts +0 -19
- package/src/_modules/account-security/_models/account-session-claims.interface.ts +0 -7
- package/src/_modules/account-security/_models/account-session-context.interface.ts +0 -6
- package/src/_modules/account-security/_models/account-session-create.interface.ts +0 -8
- package/src/_modules/account-security/_models/account-session-record.interface.ts +0 -21
- package/src/_modules/account-security/_models/account-session-rotate.interface.ts +0 -11
- package/src/_modules/account-security/_models/account-session-settings.interface.ts +0 -11
- package/src/_modules/account-security/_models/account-session-token-pair.interface.ts +0 -8
- package/src/_modules/account-security/_models/account-session-view.interface.ts +0 -13
- package/src/_modules/account-security/account-challenge.control-service.spec.ts +0 -195
- package/src/_modules/account-security/account-challenge.control-service.ts +0 -164
- package/src/_modules/account-security/account-password.control-service.spec.ts +0 -96
- package/src/_modules/account-security/account-password.control-service.ts +0 -288
- package/src/_modules/account-security/account-session.control-service.spec.ts +0 -294
- package/src/_modules/account-security/account-session.control-service.ts +0 -376
- package/src/_modules/account-security/index.ts +0 -31
- package/src/_modules/admin-auth/_models/admin-api-key-config.interface.ts +0 -33
- package/src/_modules/admin-auth/admin-api-key.auth-service.spec.ts +0 -200
- package/src/_modules/admin-auth/admin-api-key.auth-service.ts +0 -220
- package/src/_modules/admin-auth/index.ts +0 -2
- package/src/_modules/ai/_collections/ai-model-config-validator.util.spec.ts +0 -150
- package/src/_modules/ai/_collections/ai-model-config-validator.util.ts +0 -131
- package/src/_modules/ai/_collections/ai-provider-error.util.ts +0 -144
- package/src/_modules/ai/_models/ai-input-interfaces.ts +0 -117
- package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +0 -16
- package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.ts +0 -14
- package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.ts +0 -56
- package/src/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.ts +0 -16
- package/src/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.ts +0 -72
- package/src/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.ts +0 -71
- package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.ts +0 -57
- package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.ts +0 -60
- package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.ts +0 -56
- package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.ts +0 -117
- package/src/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.ts +0 -28
- package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.ts +0 -14
- package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.ts +0 -11
- package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.ts +0 -30
- package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.ts +0 -19
- package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.ts +0 -20
- package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.ts +0 -115
- package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.ts +0 -233
- package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.ts +0 -134
- package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.ts +0 -127
- package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.ts +0 -105
- package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.ts +0 -50
- package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.ts +0 -65
- package/src/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.ts +0 -92
- package/src/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.ts +0 -112
- package/src/_modules/ai/_modules/ai-mock/_services/aim-mock.service.ts +0 -155
- package/src/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.ts +0 -649
- package/src/_modules/ai/_modules/ai-mock/index.ts +0 -47
- package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +0 -138
- package/src/_modules/ai/_modules/anthropic/index.ts +0 -5
- package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +0 -242
- package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +0 -639
- package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +0 -295
- package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +0 -552
- package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +0 -209
- package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +0 -85
- package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +0 -8
- package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +0 -146
- package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +0 -163
- package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +0 -100
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +0 -68
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +0 -18
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +0 -19
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +0 -25
- package/src/_modules/ai/_modules/document-ai/index.ts +0 -30
- package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +0 -189
- package/src/_modules/ai/_modules/fdp-ai/index.ts +0 -5
- package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +0 -9
- package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +0 -83
- package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +0 -76
- package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +0 -45
- package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +0 -8
- package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +0 -7
- package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +0 -57
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +0 -293
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.ts +0 -572
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +0 -342
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts +0 -435
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +0 -550
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +0 -631
- package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +0 -332
- package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +0 -132
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +0 -462
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +0 -635
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +0 -489
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +0 -173
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +0 -1085
- package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +0 -157
- package/src/_modules/ai/_modules/open-ai/index.ts +0 -74
- package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +0 -110
- package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +0 -114
- package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +0 -98
- package/src/_modules/ai/_services/ai-embedding.service-base.ts +0 -48
- package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +0 -229
- package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +0 -68
- package/src/_modules/ai/_services/ai-llm.service-base.reconciler.spec.ts +0 -133
- package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +0 -250
- package/src/_modules/ai/_services/ai-llm.service-base.ts +0 -599
- package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +0 -158
- package/src/_modules/ai/_services/ai-provider.service-base.ts +0 -67
- package/src/_modules/ai/_services/ai-user-key.service-base.ts +0 -59
- package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +0 -197
- package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +0 -399
- package/src/_modules/ai/index.ts +0 -33
- package/src/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.ts +0 -5
- package/src/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.ts +0 -8
- package/src/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.ts +0 -6
- package/src/_modules/artifact-compiler/_models/artifact-compile.interface.ts +0 -35
- package/src/_modules/artifact-compiler/artifact-compiler.control-service.spec.ts +0 -151
- package/src/_modules/artifact-compiler/artifact-compiler.control-service.ts +0 -356
- package/src/_modules/artifact-compiler/index.ts +0 -9
- package/src/_modules/assistant/_collections/ass-global-settings.const.ts +0 -13
- package/src/_modules/assistant/_collections/ass.util.spec.ts +0 -176
- package/src/_modules/assistant/_collections/ass.util.ts +0 -50
- package/src/_modules/assistant/_models/ass-global-settings.interface.ts +0 -15
- package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +0 -140
- package/src/_modules/assistant/_services/ass-io.control-service.ts +0 -74
- package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +0 -192
- package/src/_modules/assistant/_services/ass-main.control-service.ts +0 -107
- package/src/_modules/assistant/index.ts +0 -19
- package/src/_modules/bot/_collections/bot-default-commands.const.ts +0 -12
- package/src/_modules/bot/_collections/bot-global-settings.const.ts +0 -39
- package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +0 -62
- package/src/_modules/bot/_models/bot-command.interface.ts +0 -8
- package/src/_modules/bot/_models/bot-global-settings.interface.ts +0 -96
- package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +0 -6
- package/src/_modules/bot/_models/bot-last-message-date.interface.ts +0 -5
- package/src/_modules/bot/_models/bot-message-wrapper.interface.ts +0 -90
- package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +0 -41
- package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +0 -10
- package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +0 -431
- package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts +0 -641
- package/src/_modules/bot/_modules/discord-bot/index.ts +0 -12
- package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +0 -160
- package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +0 -55
- package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +0 -15
- package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +0 -374
- package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +0 -447
- package/src/_modules/bot/_modules/dynamo-bot/index.ts +0 -15
- package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +0 -9
- package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +0 -344
- package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +0 -197
- package/src/_modules/bot/_modules/slack-bot/index.ts +0 -12
- package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +0 -9
- package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +0 -345
- package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +0 -197
- package/src/_modules/bot/_modules/teams-bot/index.ts +0 -11
- package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +0 -116
- package/src/_modules/bot/_services/bot-commands.control-service.ts +0 -158
- package/src/_modules/bot/_services/bot-io.control-service.spec.ts +0 -285
- package/src/_modules/bot/_services/bot-io.control-service.ts +0 -329
- package/src/_modules/bot/_services/bot-main.control-service.spec.ts +0 -208
- package/src/_modules/bot/_services/bot-main.control-service.ts +0 -489
- package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +0 -349
- package/src/_modules/bot/_services/bot-messaging-provider.service-base.ts +0 -158
- package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +0 -111
- package/src/_modules/bot/_services/bot-routines.control-service.ts +0 -78
- package/src/_modules/bot/index.ts +0 -37
- package/src/_modules/custom-data/custom-data.controller.spec.ts +0 -49
- package/src/_modules/custom-data/custom-data.controller.ts +0 -67
- package/src/_modules/custom-data/custom-data.data-service.spec.ts +0 -54
- package/src/_modules/custom-data/custom-data.data-service.ts +0 -22
- package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +0 -28
- package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +0 -24
- package/src/_modules/custom-data/index.ts +0 -9
- package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +0 -176
- package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +0 -203
- package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +0 -33
- package/src/_modules/data-readers/index.ts +0 -11
- package/src/_modules/defaults/_collections/default-endpoints.util.ts +0 -487
- package/src/_modules/defaults/_models/default-user.data-model.ts +0 -72
- package/src/_modules/defaults/_services/default-auth.service.spec.ts +0 -269
- package/src/_modules/defaults/_services/default-auth.service.ts +0 -177
- package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +0 -42
- package/src/_modules/defaults/_services/default-socket-events.service.ts +0 -61
- package/src/_modules/defaults/_services/default-user.data-service.spec.ts +0 -187
- package/src/_modules/defaults/_services/default-user.data-service.ts +0 -98
- package/src/_modules/defaults/index.ts +0 -17
- package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +0 -19
- package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +0 -366
- package/src/_modules/discord-assistant/_collections/dias.util.ts +0 -133
- package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +0 -20
- package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +0 -53
- package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +0 -177
- package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +0 -108
- package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +0 -69
- package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +0 -22
- package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +0 -27
- package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +0 -195
- package/src/_modules/discord-assistant/_services/dias.service-base.ts +0 -77
- package/src/_modules/discord-assistant/index.ts +0 -38
- package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +0 -34
- package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +0 -11
- package/src/_modules/discord-assistant-voiced/index.ts +0 -36
- package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +0 -17
- package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +0 -56
- package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +0 -214
- package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +0 -387
- package/src/_modules/discord-bot/_models/dibo-command.interface.ts +0 -12
- package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +0 -98
- package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +0 -8
- package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +0 -6
- package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +0 -154
- package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +0 -153
- package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +0 -264
- package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +0 -306
- package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +0 -408
- package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +0 -488
- package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +0 -105
- package/src/_modules/discord-bot/_services/dibo-routines.control-service.ts +0 -97
- package/src/_modules/discord-bot/index.ts +0 -36
- package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +0 -35
- package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +0 -60
- package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +0 -17
- package/src/_modules/local-vector-search/_services/lvs-bm25.util.spec.ts +0 -159
- package/src/_modules/local-vector-search/_services/lvs-bm25.util.ts +0 -206
- package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +0 -418
- package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +0 -276
- package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +0 -480
- package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +0 -416
- package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +0 -214
- package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +0 -186
- package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +0 -167
- package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +0 -130
- package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +0 -509
- package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +0 -323
- package/src/_modules/local-vector-search/index.ts +0 -17
- package/src/_modules/logs/_models/file-log-entry.interface.ts +0 -13
- package/src/_modules/logs/_models/file-log-read-result.interface.ts +0 -37
- package/src/_modules/logs/file-log.service.spec.ts +0 -341
- package/src/_modules/logs/file-log.service.ts +0 -466
- package/src/_modules/logs/file-logs.controller.spec.ts +0 -245
- package/src/_modules/logs/file-logs.controller.ts +0 -165
- package/src/_modules/logs/get-file-logs-routing-module.util.ts +0 -51
- package/src/_modules/logs/get-logs-routing-module.util.ts +0 -36
- package/src/_modules/logs/index.ts +0 -11
- package/src/_modules/logs/log-buffer.service.ts +0 -101
- package/src/_modules/logs/logs.controller.ts +0 -109
- package/src/_modules/logs/logs.service.ts +0 -100
- package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +0 -111
- package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +0 -151
- package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +0 -125
- package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +0 -168
- package/src/_modules/mcp/index.ts +0 -13
- package/src/_modules/messaging/README.md +0 -354
- package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +0 -26
- package/src/_modules/messaging/_collections/msg-global-settings.const.ts +0 -22
- package/src/_modules/messaging/_collections/msg.util.spec.ts +0 -226
- package/src/_modules/messaging/_collections/msg.util.ts +0 -83
- package/src/_modules/messaging/_models/msg-global-settings.interface.ts +0 -37
- package/src/_modules/messaging/_services/msg-conversation.data-service.ts +0 -146
- package/src/_modules/messaging/_services/msg-events.service.spec.ts +0 -219
- package/src/_modules/messaging/_services/msg-events.service.ts +0 -267
- package/src/_modules/messaging/_services/msg-integration.control-service.ts +0 -180
- package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +0 -147
- package/src/_modules/messaging/_services/msg-main.control-service.ts +0 -572
- package/src/_modules/messaging/_services/msg-message.data-service.ts +0 -129
- package/src/_modules/messaging/_services/msg.controller.spec.ts +0 -201
- package/src/_modules/messaging/_services/msg.controller.ts +0 -370
- package/src/_modules/messaging/index.ts +0 -30
- package/src/_modules/mock/app-extended-server.mock.ts +0 -201
- package/src/_modules/mock/app-integration-test.mock.ts +0 -51
- package/src/_modules/mock/app-params.mock.spec.ts +0 -21
- package/src/_modules/mock/app-params.mock.ts +0 -9
- package/src/_modules/mock/app-server.mock.ts +0 -188
- package/src/_modules/mock/auth-service.mock.spec.ts +0 -47
- package/src/_modules/mock/auth-service.mock.ts +0 -28
- package/src/_modules/mock/controller.mock.spec.ts +0 -26
- package/src/_modules/mock/controller.mock.ts +0 -16
- package/src/_modules/mock/data-model.mock.spec.ts +0 -111
- package/src/_modules/mock/data-model.mock.ts +0 -82
- package/src/_modules/mock/email-service-collection.mock.spec.ts +0 -24
- package/src/_modules/mock/email-service-collection.mock.ts +0 -15
- package/src/_modules/mock/email-service.mock.spec.ts +0 -17
- package/src/_modules/mock/email-service.mock.ts +0 -20
- package/src/_modules/mock/email-template.mock.html +0 -15
- package/src/_modules/mock/endpoint.mock.ts +0 -91
- package/src/_modules/mock/socket-client.mock.spec.ts +0 -40
- package/src/_modules/mock/socket-client.mock.ts +0 -45
- package/src/_modules/mock/socket-server.mock.spec.ts +0 -44
- package/src/_modules/mock/socket-server.mock.ts +0 -46
- package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +0 -107
- package/src/_modules/oauth2/_routes/oauth2.controller.ts +0 -99
- package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +0 -254
- package/src/_modules/oauth2/_services/oauth2.auth-service.ts +0 -232
- package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +0 -585
- package/src/_modules/oauth2/_services/oauth2.control-service.ts +0 -654
- package/src/_modules/oauth2/index.ts +0 -17
- package/src/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.ts +0 -5
- package/src/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.ts +0 -10
- package/src/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.ts +0 -7
- package/src/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.ts +0 -15
- package/src/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.ts +0 -9
- package/src/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.ts +0 -12
- package/src/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.ts +0 -7
- package/src/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.ts +0 -15
- package/src/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.ts +0 -7
- package/src/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.ts +0 -13
- package/src/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.ts +0 -9
- package/src/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.ts +0 -14
- package/src/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.ts +0 -8
- package/src/_modules/privacy-lifecycle/_models/privacy-contributor.interface.ts +0 -17
- package/src/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.ts +0 -21
- package/src/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.ts +0 -9
- package/src/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.ts +0 -7
- package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.ts +0 -10
- package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.ts +0 -7
- package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.ts +0 -7
- package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.ts +0 -11
- package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.ts +0 -13
- package/src/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.ts +0 -19
- package/src/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.ts +0 -9
- package/src/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.ts +0 -7
- package/src/_modules/privacy-lifecycle/_models/privacy-request-open.interface.ts +0 -10
- package/src/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.ts +0 -7
- package/src/_modules/privacy-lifecycle/_models/privacy-request-record.interface.ts +0 -21
- package/src/_modules/privacy-lifecycle/_models/privacy-request-result.interface.ts +0 -8
- package/src/_modules/privacy-lifecycle/_models/privacy-request-view.interface.ts +0 -20
- package/src/_modules/privacy-lifecycle/index.ts +0 -40
- package/src/_modules/privacy-lifecycle/privacy-ledger.control-service.spec.ts +0 -206
- package/src/_modules/privacy-lifecycle/privacy-ledger.control-service.ts +0 -253
- package/src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.spec.ts +0 -353
- package/src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.ts +0 -586
- package/src/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.ts +0 -5
- package/src/_modules/rate-limit/_models/rate-limit-config.interface.ts +0 -82
- package/src/_modules/rate-limit/_models/rate-limit-consume-request.interface.ts +0 -9
- package/src/_modules/rate-limit/_models/rate-limit-consume-result.interface.ts +0 -6
- package/src/_modules/rate-limit/_models/rate-limit-policy.interface.ts +0 -16
- package/src/_modules/rate-limit/_models/rate-limit-store.interface.ts +0 -9
- package/src/_modules/rate-limit/index.ts +0 -8
- package/src/_modules/rate-limit/rate-limit-in-memory.store.ts +0 -91
- package/src/_modules/rate-limit/rate-limit.middleware.spec.ts +0 -488
- package/src/_modules/rate-limit/rate-limit.middleware.ts +0 -504
- package/src/_modules/scheduler/_models/scheduler-job.interface.ts +0 -35
- package/src/_modules/scheduler/get-scheduler-routing-module.util.ts +0 -33
- package/src/_modules/scheduler/index.ts +0 -8
- package/src/_modules/scheduler/scheduler.controller.spec.ts +0 -42
- package/src/_modules/scheduler/scheduler.controller.ts +0 -69
- package/src/_modules/scheduler/scheduler.service.spec.ts +0 -141
- package/src/_modules/scheduler/scheduler.service.ts +0 -176
- package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +0 -22
- package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +0 -82
- package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +0 -107
- package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +0 -312
- package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +0 -311
- package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +0 -123
- package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +0 -108
- package/src/_modules/scoped-config/index.ts +0 -17
- package/src/_modules/server/errors/errors.control-service.spec.ts +0 -246
- package/src/_modules/server/errors/errors.control-service.ts +0 -100
- package/src/_modules/server/errors/errors.controller.spec.ts +0 -340
- package/src/_modules/server/errors/errors.controller.ts +0 -559
- package/src/_modules/server/errors/errors.data-service.spec.ts +0 -480
- package/src/_modules/server/errors/errors.data-service.ts +0 -867
- package/src/_modules/server/index.ts +0 -40
- package/src/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.ts +0 -8
- package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +0 -20
- package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.spec.ts +0 -124
- package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.ts +0 -99
- package/src/_modules/server/safe-diagnostic/safe-diagnostic.interface.ts +0 -20
- package/src/_modules/server/server-status/db-readiness-probe-code.type-enum.ts +0 -13
- package/src/_modules/server/server-status/db-readiness-probe-stage.type-enum.ts +0 -7
- package/src/_modules/server/server-status/db-readiness-probe.control-service.spec.ts +0 -235
- package/src/_modules/server/server-status/db-readiness-probe.control-service.ts +0 -158
- package/src/_modules/server/server-status/db-readiness-probe.interface.ts +0 -20
- package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +0 -70
- package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +0 -17
- package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +0 -77
- package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +0 -37
- package/src/_modules/server/server-status/server-status.control-service.spec.ts +0 -672
- package/src/_modules/server/server-status/server-status.control-service.ts +0 -491
- package/src/_modules/server/server-status/server-status.controller.spec.ts +0 -276
- package/src/_modules/server/server-status/server-status.controller.ts +0 -336
- package/src/_modules/socket/_enums/socket-security.enum.ts +0 -11
- package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +0 -32
- package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +0 -22
- package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +0 -165
- package/src/_modules/socket/_models/socket-presence.control-model.ts +0 -211
- package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +0 -69
- package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +0 -33
- package/src/_modules/socket/_services/socket-client.service.spec.ts +0 -15
- package/src/_modules/socket/_services/socket-client.service.ts +0 -260
- package/src/_modules/socket/_services/socket-server.service.spec.ts +0 -272
- package/src/_modules/socket/_services/socket-server.service.ts +0 -1037
- package/src/_modules/socket/app-extended.integration.spec.ts +0 -85
- package/src/_modules/socket/app-extended.server.ts +0 -648
- package/src/_modules/socket/index.ts +0 -42
- package/src/_modules/test/get-test-routing-module.util.spec.ts +0 -28
- package/src/_modules/test/get-test-routing-module.util.ts +0 -23
- package/src/_modules/test/index.ts +0 -12
- package/src/_modules/test/test.controller.spec.ts +0 -72
- package/src/_modules/test/test.controller.ts +0 -115
- package/src/_modules/test-email-sink/_collections/test-email-pattern.const.ts +0 -10
- package/src/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.ts +0 -41
- package/src/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.ts +0 -112
- package/src/_modules/test-email-sink/_services/dynts-test-email-sink.service.ts +0 -141
- package/src/_modules/test-email-sink/get-sent-mail-routing-module.util.ts +0 -29
- package/src/_modules/test-email-sink/index.ts +0 -11
- package/src/_modules/test-email-sink/test-email-sink.controller.ts +0 -83
- package/src/_modules/usage/get-usage-routing-module.util.ts +0 -23
- package/src/_modules/usage/index.ts +0 -15
- package/src/_modules/usage/usage.controller.spec.ts +0 -106
- package/src/_modules/usage/usage.controller.ts +0 -140
- package/src/_modules/usage/usage.data-service.spec.ts +0 -332
- package/src/_modules/usage/usage.data-service.ts +0 -185
- package/src/_services/base/api.service-base.spec.ts +0 -125
- package/src/_services/base/api.service-base.ts +0 -75
- package/src/_services/base/archive-data.service.spec.ts +0 -209
- package/src/_services/base/archive-data.service.ts +0 -228
- package/src/_services/base/data.service.spec.ts +0 -784
- package/src/_services/base/data.service.ts +0 -2792
- package/src/_services/base/db.service.encryption.spec.ts +0 -76
- package/src/_services/base/db.service.spec.ts +0 -160
- package/src/_services/base/db.service.ts +0 -1698
- package/src/_services/base/singleton.service-base.spec.ts +0 -28
- package/src/_services/base/singleton.service-base.ts +0 -24
- package/src/_services/base/singleton.service.spec.ts +0 -114
- package/src/_services/base/singleton.service.ts +0 -38
- package/src/_services/core/api.service.spec.ts +0 -187
- package/src/_services/core/api.service.ts +0 -627
- package/src/_services/core/auth.service.spec.ts +0 -159
- package/src/_services/core/auth.service.ts +0 -174
- package/src/_services/core/collection-growth-monitor.service.spec.ts +0 -119
- package/src/_services/core/collection-growth-monitor.service.ts +0 -234
- package/src/_services/core/db-stats.service.ts +0 -104
- package/src/_services/core/diagnostics.service.spec.ts +0 -44
- package/src/_services/core/diagnostics.service.ts +0 -158
- package/src/_services/core/email.service.spec.ts +0 -85
- package/src/_services/core/email.service.ts +0 -757
- package/src/_services/core/event-loop-diag.service.spec.ts +0 -22
- package/src/_services/core/event-loop-diag.service.ts +0 -144
- package/src/_services/core/global.service.spec.ts +0 -292
- package/src/_services/core/global.service.ts +0 -488
- package/src/_services/core/memory-guard.service.spec.ts +0 -245
- package/src/_services/core/memory-guard.service.ts +0 -481
- package/src/_services/core/migration-runner.service.spec.ts +0 -91
- package/src/_services/core/migration-runner.service.ts +0 -106
- package/src/_services/core/mongo-transaction.control-service.spec.ts +0 -165
- package/src/_services/core/mongo-transaction.control-service.ts +0 -148
- package/src/_services/core/request-hunter.service.spec.ts +0 -124
- package/src/_services/core/request-hunter.service.ts +0 -157
- package/src/_services/core/request-telemetry.control-service.spec.ts +0 -217
- package/src/_services/core/request-telemetry.control-service.ts +0 -381
- package/src/_services/core/service-collection.service.spec.ts +0 -46
- package/src/_services/core/service-collection.service.ts +0 -6
- package/src/_services/route/controller.service.spec.ts +0 -53
- package/src/_services/route/controller.service.ts +0 -148
- package/src/_services/route/routing-module.service.spec.ts +0 -98
- package/src/_services/route/routing-module.service.ts +0 -339
- package/src/_services/server/app-safe-diagnostic.spec.ts +0 -124
- package/src/_services/server/app.server-retention.spec.ts +0 -106
- package/src/_services/server/app.server.ts +0 -1979
- package/src/_services/shared.static-service.spec.ts +0 -133
- package/src/_services/shared.static-service.ts +0 -107
- package/src/index.ts +0 -120
- package/tsconfig.app.json +0 -12
- package/tsconfig.json +0 -42
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyNTS_PrivacyExportArtifact_ControlService = void 0;
|
|
4
|
+
const node_crypto_1 = require("node:crypto");
|
|
5
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
6
|
+
/**
|
|
7
|
+
* Persists resumable privacy-export payloads as authenticated ciphertext with content-free evidence.
|
|
8
|
+
* Authentication and key resolution remain explicit consumer responsibilities.
|
|
9
|
+
*/
|
|
10
|
+
class DyNTS_PrivacyExportArtifact_ControlService {
|
|
11
|
+
static absoluteMaxPlaintextBytes = 16_777_216;
|
|
12
|
+
static absoluteMaxRetentionMs = 2_592_000_000;
|
|
13
|
+
static maxCiphertextLength = 33_554_432;
|
|
14
|
+
store;
|
|
15
|
+
cipher;
|
|
16
|
+
maxPlaintextBytes;
|
|
17
|
+
retentionMs;
|
|
18
|
+
clock;
|
|
19
|
+
/** Creates one policy-bounded artifact lifecycle without resolving authority or secret sources. */
|
|
20
|
+
constructor(set) {
|
|
21
|
+
if (!set.store
|
|
22
|
+
|| !set.cipher
|
|
23
|
+
|| !Number.isSafeInteger(set.maxPlaintextBytes)
|
|
24
|
+
|| set.maxPlaintextBytes < 1
|
|
25
|
+
|| set.maxPlaintextBytes > DyNTS_PrivacyExportArtifact_ControlService.absoluteMaxPlaintextBytes
|
|
26
|
+
|| !Number.isSafeInteger(set.retentionMs)
|
|
27
|
+
|| set.retentionMs < 1
|
|
28
|
+
|| set.retentionMs > DyNTS_PrivacyExportArtifact_ControlService.absoluteMaxRetentionMs) {
|
|
29
|
+
throw this.error('SETTINGS_INVALID', 500);
|
|
30
|
+
}
|
|
31
|
+
this.store = set.store;
|
|
32
|
+
this.cipher = set.cipher;
|
|
33
|
+
this.maxPlaintextBytes = set.maxPlaintextBytes;
|
|
34
|
+
this.retentionMs = set.retentionMs;
|
|
35
|
+
this.clock = set.clock ?? (() => new Date());
|
|
36
|
+
}
|
|
37
|
+
/** Encrypts and atomically creates or replays one request-contributor artifact. */
|
|
38
|
+
async write(request) {
|
|
39
|
+
this.validateWrite(request);
|
|
40
|
+
const context = this.context(request);
|
|
41
|
+
const plaintextBytes = Buffer.byteLength(request.plaintext, 'utf8');
|
|
42
|
+
const checksum = this.checksum(request.plaintext);
|
|
43
|
+
const now = this.now();
|
|
44
|
+
const expiresAt = new Date(now.getTime() + this.retentionMs);
|
|
45
|
+
let sealed;
|
|
46
|
+
if (!Number.isFinite(expiresAt.getTime())) {
|
|
47
|
+
throw this.error('EXPIRY_INVALID', 503);
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
sealed = this.cipher.seal(request.plaintext, context);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
throw this.error('ENCRYPTION_FAILED', 503);
|
|
54
|
+
}
|
|
55
|
+
if (typeof sealed !== 'object'
|
|
56
|
+
|| sealed === null
|
|
57
|
+
|| typeof sealed.keyId !== 'string'
|
|
58
|
+
|| !/^[a-z0-9][a-z0-9._-]{0,127}$/u.test(sealed.keyId)
|
|
59
|
+
|| typeof sealed.ciphertext !== 'string'
|
|
60
|
+
|| !sealed.ciphertext
|
|
61
|
+
|| sealed.ciphertext.length > DyNTS_PrivacyExportArtifact_ControlService.maxCiphertextLength
|
|
62
|
+
|| sealed.ciphertext === request.plaintext) {
|
|
63
|
+
throw this.error('CIPHERTEXT_INVALID', 503);
|
|
64
|
+
}
|
|
65
|
+
const record = {
|
|
66
|
+
contractVersion: 'dynts-privacy-export-artifact/1',
|
|
67
|
+
scopeHash: this.scopeHash(request),
|
|
68
|
+
requestId: request.requestId,
|
|
69
|
+
contributorId: request.contributorId,
|
|
70
|
+
subjectId: request.subjectId,
|
|
71
|
+
organizationId: request.organizationId,
|
|
72
|
+
contentType: request.contentType,
|
|
73
|
+
encryptedPayload: sealed.ciphertext,
|
|
74
|
+
encryptionKeyId: sealed.keyId,
|
|
75
|
+
plaintextChecksum: checksum,
|
|
76
|
+
plaintextBytes: plaintextBytes,
|
|
77
|
+
createdAt: now,
|
|
78
|
+
expiresAt: expiresAt,
|
|
79
|
+
};
|
|
80
|
+
let result;
|
|
81
|
+
try {
|
|
82
|
+
await this.store.ensureReady();
|
|
83
|
+
result = await this.store.createOrGet(record);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
throw this.error('STORE_UNAVAILABLE', 503);
|
|
87
|
+
}
|
|
88
|
+
if (typeof result !== 'object'
|
|
89
|
+
|| result === null
|
|
90
|
+
|| typeof result.created !== 'boolean'
|
|
91
|
+
|| typeof result.record !== 'object'
|
|
92
|
+
|| result.record === null) {
|
|
93
|
+
throw this.error('STORE_RESULT_INVALID', 503);
|
|
94
|
+
}
|
|
95
|
+
this.validateReplay(result.record, {
|
|
96
|
+
context: context,
|
|
97
|
+
checksum: checksum,
|
|
98
|
+
plaintextBytes: plaintextBytes,
|
|
99
|
+
contentType: request.contentType,
|
|
100
|
+
});
|
|
101
|
+
if (result.record.expiresAt.getTime() <= now.getTime()) {
|
|
102
|
+
throw this.error('ARTIFACT_EXPIRED', 410);
|
|
103
|
+
}
|
|
104
|
+
return this.view(result.record, result.created);
|
|
105
|
+
}
|
|
106
|
+
/** Decrypts one unexpired artifact after exact request, contributor, subject and organization matching. */
|
|
107
|
+
async read(request) {
|
|
108
|
+
const record = await this.requireRecord(request);
|
|
109
|
+
const context = this.context(request);
|
|
110
|
+
let plaintext;
|
|
111
|
+
try {
|
|
112
|
+
plaintext = this.cipher.open({
|
|
113
|
+
keyId: record.encryptionKeyId,
|
|
114
|
+
ciphertext: record.encryptedPayload,
|
|
115
|
+
}, context);
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
throw this.error('DECRYPTION_FAILED', 503);
|
|
119
|
+
}
|
|
120
|
+
if (typeof plaintext !== 'string'
|
|
121
|
+
|| Buffer.byteLength(plaintext, 'utf8') !== record.plaintextBytes
|
|
122
|
+
|| this.checksum(plaintext) !== record.plaintextChecksum) {
|
|
123
|
+
throw this.error('INTEGRITY_INVALID', 503);
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
artifact: this.view(record, false),
|
|
127
|
+
plaintext: plaintext,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/** Verifies content-free evidence without exposing plaintext or persistence metadata. */
|
|
131
|
+
async verify(request, artifactChecksum) {
|
|
132
|
+
if (!/^[a-f0-9]{64}$/u.test(artifactChecksum)) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
const result = await this.read(request);
|
|
137
|
+
return result.artifact.artifactChecksum === artifactChecksum;
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/** Deletes artifacts whose expiry is at or before the supplied trusted cutoff. */
|
|
144
|
+
async deleteExpired(cutoff) {
|
|
145
|
+
if (!(cutoff instanceof Date) || !Number.isFinite(cutoff.getTime())) {
|
|
146
|
+
throw this.error('EXPIRY_CUTOFF_INVALID', 400);
|
|
147
|
+
}
|
|
148
|
+
try {
|
|
149
|
+
await this.store.ensureReady();
|
|
150
|
+
return await this.store.deleteExpired(new Date(cutoff.getTime()));
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
throw this.error('STORE_UNAVAILABLE', 503);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
async requireRecord(request) {
|
|
157
|
+
this.validateLookup(request);
|
|
158
|
+
let record;
|
|
159
|
+
try {
|
|
160
|
+
await this.store.ensureReady();
|
|
161
|
+
record = await this.store.find(this.scopeHash(request));
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
throw this.error('STORE_UNAVAILABLE', 503);
|
|
165
|
+
}
|
|
166
|
+
if (!record) {
|
|
167
|
+
throw this.error('ARTIFACT_NOT_FOUND', 404);
|
|
168
|
+
}
|
|
169
|
+
const context = this.context(request);
|
|
170
|
+
if (!this.hasExactAuthority(record, context)) {
|
|
171
|
+
throw this.error('ARTIFACT_NOT_FOUND', 404);
|
|
172
|
+
}
|
|
173
|
+
this.validateStored(record, context);
|
|
174
|
+
if (record.expiresAt.getTime() <= this.now().getTime()) {
|
|
175
|
+
throw this.error('ARTIFACT_EXPIRED', 410);
|
|
176
|
+
}
|
|
177
|
+
return record;
|
|
178
|
+
}
|
|
179
|
+
validateWrite(request) {
|
|
180
|
+
const bytes = typeof request?.plaintext === 'string'
|
|
181
|
+
? Buffer.byteLength(request.plaintext, 'utf8')
|
|
182
|
+
: 0;
|
|
183
|
+
if (!this.hasExactKeys(request, [
|
|
184
|
+
'contractVersion', 'requestId', 'contributorId', 'subjectId', 'organizationId', 'contentType', 'plaintext',
|
|
185
|
+
])
|
|
186
|
+
|| request.contractVersion !== 'dynts-privacy-export-artifact-write/1'
|
|
187
|
+
|| request.contentType !== 'application/json'
|
|
188
|
+
|| !this.validContextFields(request)
|
|
189
|
+
|| !bytes
|
|
190
|
+
|| bytes > this.maxPlaintextBytes
|
|
191
|
+
|| !this.validJson(request.plaintext)) {
|
|
192
|
+
throw this.error('WRITE_REQUEST_INVALID', 400);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
validateLookup(request) {
|
|
196
|
+
if (!this.hasExactKeys(request, [
|
|
197
|
+
'contractVersion', 'requestId', 'contributorId', 'subjectId', 'organizationId',
|
|
198
|
+
])
|
|
199
|
+
|| request.contractVersion !== 'dynts-privacy-export-artifact-lookup/1'
|
|
200
|
+
|| !this.validContextFields(request)) {
|
|
201
|
+
throw this.error('LOOKUP_REQUEST_INVALID', 400);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
validateReplay(record, expected) {
|
|
205
|
+
try {
|
|
206
|
+
this.validateStored(record, expected.context);
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
throw this.error('IDEMPOTENCY_CONFLICT', 409);
|
|
210
|
+
}
|
|
211
|
+
if (record.plaintextChecksum !== expected.checksum
|
|
212
|
+
|| record.plaintextBytes !== expected.plaintextBytes
|
|
213
|
+
|| record.contentType !== expected.contentType) {
|
|
214
|
+
throw this.error('IDEMPOTENCY_CONFLICT', 409);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
validateStored(record, context) {
|
|
218
|
+
if (record.contractVersion !== context.contractVersion
|
|
219
|
+
|| record.scopeHash !== this.scopeHash(context)
|
|
220
|
+
|| record.requestId !== context.requestId
|
|
221
|
+
|| record.contributorId !== context.contributorId
|
|
222
|
+
|| record.subjectId !== context.subjectId
|
|
223
|
+
|| record.organizationId !== context.organizationId
|
|
224
|
+
|| record.contentType !== 'application/json'
|
|
225
|
+
|| !record.encryptedPayload
|
|
226
|
+
|| record.encryptedPayload.length > DyNTS_PrivacyExportArtifact_ControlService.maxCiphertextLength
|
|
227
|
+
|| !/^[a-z0-9][a-z0-9._-]{0,127}$/u.test(record.encryptionKeyId)
|
|
228
|
+
|| !/^[a-f0-9]{64}$/u.test(record.plaintextChecksum)
|
|
229
|
+
|| !Number.isSafeInteger(record.plaintextBytes)
|
|
230
|
+
|| record.plaintextBytes < 1
|
|
231
|
+
|| record.plaintextBytes > this.maxPlaintextBytes
|
|
232
|
+
|| !(record.createdAt instanceof Date)
|
|
233
|
+
|| !(record.expiresAt instanceof Date)
|
|
234
|
+
|| !Number.isFinite(record.createdAt.getTime())
|
|
235
|
+
|| !Number.isFinite(record.expiresAt.getTime())
|
|
236
|
+
|| record.expiresAt.getTime() <= record.createdAt.getTime()) {
|
|
237
|
+
throw this.error('RECORD_INVALID', 503);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
hasExactAuthority(record, context) {
|
|
241
|
+
return record.scopeHash === this.scopeHash(context)
|
|
242
|
+
&& record.requestId === context.requestId
|
|
243
|
+
&& record.contributorId === context.contributorId
|
|
244
|
+
&& record.subjectId === context.subjectId
|
|
245
|
+
&& record.organizationId === context.organizationId;
|
|
246
|
+
}
|
|
247
|
+
context(set) {
|
|
248
|
+
return {
|
|
249
|
+
contractVersion: 'dynts-privacy-export-artifact/1',
|
|
250
|
+
requestId: set.requestId,
|
|
251
|
+
contributorId: set.contributorId,
|
|
252
|
+
subjectId: set.subjectId,
|
|
253
|
+
organizationId: set.organizationId,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
view(record, created) {
|
|
257
|
+
return {
|
|
258
|
+
contractVersion: 'dynts-privacy-export-artifact-view/1',
|
|
259
|
+
artifactChecksum: record.plaintextChecksum,
|
|
260
|
+
plaintextBytes: record.plaintextBytes,
|
|
261
|
+
contentType: record.contentType,
|
|
262
|
+
created: created,
|
|
263
|
+
createdAt: record.createdAt.toISOString(),
|
|
264
|
+
expiresAt: record.expiresAt.toISOString(),
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
validContextFields(set) {
|
|
268
|
+
return [set.requestId, set.contributorId, set.subjectId, set.organizationId]
|
|
269
|
+
.every((value) => this.boundedText(value, 128));
|
|
270
|
+
}
|
|
271
|
+
boundedText(value, maximum) {
|
|
272
|
+
return typeof value === 'string'
|
|
273
|
+
&& !!value
|
|
274
|
+
&& value.trim() === value
|
|
275
|
+
&& value.length <= maximum
|
|
276
|
+
&& !/[\u0000-\u001f\u007f]/u.test(value);
|
|
277
|
+
}
|
|
278
|
+
hasExactKeys(value, expected) {
|
|
279
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
const actual = Object.keys(value).sort();
|
|
283
|
+
return actual.length === expected.length
|
|
284
|
+
&& expected.slice().sort().every((key, index) => key === actual[index]);
|
|
285
|
+
}
|
|
286
|
+
scopeHash(set) {
|
|
287
|
+
return (0, node_crypto_1.createHash)('sha256').update([
|
|
288
|
+
set.requestId,
|
|
289
|
+
set.contributorId,
|
|
290
|
+
set.subjectId,
|
|
291
|
+
set.organizationId,
|
|
292
|
+
].join('\u0000'), 'utf8').digest('hex');
|
|
293
|
+
}
|
|
294
|
+
checksum(value) {
|
|
295
|
+
return (0, node_crypto_1.createHash)('sha256').update(value, 'utf8').digest('hex');
|
|
296
|
+
}
|
|
297
|
+
validJson(value) {
|
|
298
|
+
try {
|
|
299
|
+
JSON.parse(value);
|
|
300
|
+
return true;
|
|
301
|
+
}
|
|
302
|
+
catch {
|
|
303
|
+
return false;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
now() {
|
|
307
|
+
const value = this.clock();
|
|
308
|
+
if (!(value instanceof Date) || !Number.isFinite(value.getTime())) {
|
|
309
|
+
throw this.error('CLOCK_INVALID', 503);
|
|
310
|
+
}
|
|
311
|
+
return new Date(value.getTime());
|
|
312
|
+
}
|
|
313
|
+
error(code, status) {
|
|
314
|
+
return new fsm_dynamo_1.DyFM_Error({
|
|
315
|
+
status: status,
|
|
316
|
+
errorCode: `DYNTS|PRIVACY_EXPORT_ARTIFACT|${code}`,
|
|
317
|
+
message: 'The privacy export artifact operation failed.',
|
|
318
|
+
userMessage: status === 400
|
|
319
|
+
? 'The privacy export artifact request is invalid.'
|
|
320
|
+
: status === 404
|
|
321
|
+
? 'The privacy export artifact was not found.'
|
|
322
|
+
: status === 410
|
|
323
|
+
? 'The privacy export artifact has expired.'
|
|
324
|
+
: status === 409
|
|
325
|
+
? 'The privacy export request conflicts with an existing artifact.'
|
|
326
|
+
: 'The privacy export artifact is temporarily unavailable.',
|
|
327
|
+
issuerService: this.constructor.name,
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
exports.DyNTS_PrivacyExportArtifact_ControlService = DyNTS_PrivacyExportArtifact_ControlService;
|
|
332
|
+
//# sourceMappingURL=privacy-export-artifact.control-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-artifact.control-service.js","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-export-artifact.control-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Model, Schema } from 'mongoose';
|
|
2
|
+
import { DyNTS_PrivacyExportArtifactCreateResult_Interface, DyNTS_PrivacyExportArtifactRecord_Interface, DyNTS_PrivacyExportArtifactStore_Interface } from './_models/privacy-export-artifact.interface';
|
|
3
|
+
/** Strict Mongo persistence with atomic replay, tenant metadata and automatic expiry. */
|
|
4
|
+
export declare class DyNTS_PrivacyExportArtifact_MongoStore implements DyNTS_PrivacyExportArtifactStore_Interface {
|
|
5
|
+
private readonly injectedModel?;
|
|
6
|
+
private readiness?;
|
|
7
|
+
/** Accepts an isolated model for integration tests; production resolves the singleton lazily. */
|
|
8
|
+
constructor(set?: {
|
|
9
|
+
model?: Model<DyNTS_PrivacyExportArtifactRecord_Interface>;
|
|
10
|
+
});
|
|
11
|
+
/** Creates the unique scope and TTL indexes before reads or writes. */
|
|
12
|
+
ensureReady(): Promise<void>;
|
|
13
|
+
/** Creates one artifact or returns the winner of an exact concurrent replay. */
|
|
14
|
+
createOrGet(record: DyNTS_PrivacyExportArtifactRecord_Interface): Promise<DyNTS_PrivacyExportArtifactCreateResult_Interface>;
|
|
15
|
+
/** Loads one encrypted record by its content-free request-contributor scope hash. */
|
|
16
|
+
find(scopeHash: string): Promise<DyNTS_PrivacyExportArtifactRecord_Interface | null>;
|
|
17
|
+
/** Deletes already expired records independently of Mongo TTL scheduling latency. */
|
|
18
|
+
deleteExpired(cutoff: Date): Promise<number>;
|
|
19
|
+
/** Builds the strict encrypted-artifact schema for production composition and contract tests. */
|
|
20
|
+
static createSchema(): Schema<DyNTS_PrivacyExportArtifactRecord_Interface>;
|
|
21
|
+
private getModel;
|
|
22
|
+
private static maxCiphertextLength;
|
|
23
|
+
private isDuplicateKey;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=privacy-export-artifact.mongo-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-artifact.mongo-store.d.ts","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.ts"],"names":[],"mappings":"AAAA,OAAiB,EAAoB,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAErE,OAAO,EACL,iDAAiD,EACjD,2CAA2C,EAC3C,0CAA0C,EAC3C,MAAM,6CAA6C,CAAC;AAIrD,yFAAyF;AACzF,qBAAa,sCACb,YAAW,0CAA0C;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAqD;IACpF,OAAO,CAAC,SAAS,CAAC,CAAgB;IAElC,iGAAiG;gBACrF,GAAG,GAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC,2CAA2C,CAAC,CAAA;KAAO;IAIpF,uEAAuE;IAC1D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAWzC,gFAAgF;IACnE,WAAW,CACtB,MAAM,EAAE,2CAA2C,GAClD,OAAO,CAAC,iDAAiD,CAAC;IA2B7D,qFAAqF;IAC9E,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2CAA2C,GAAG,IAAI,CAAC;IAK3F,qFAAqF;IACxE,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzD,iGAAiG;WACnF,YAAY,IAAI,MAAM,CAAC,2CAA2C,CAAC;IA0DjF,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAIlC,OAAO,CAAC,cAAc;CAIvB"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyNTS_PrivacyExportArtifact_MongoStore = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const mongoose_1 = tslib_1.__importStar(require("mongoose"));
|
|
6
|
+
const DyNTS_privacyExportArtifactModelName = 'DyNTSPrivacyExportArtifact';
|
|
7
|
+
/** Strict Mongo persistence with atomic replay, tenant metadata and automatic expiry. */
|
|
8
|
+
class DyNTS_PrivacyExportArtifact_MongoStore {
|
|
9
|
+
injectedModel;
|
|
10
|
+
readiness;
|
|
11
|
+
/** Accepts an isolated model for integration tests; production resolves the singleton lazily. */
|
|
12
|
+
constructor(set = {}) {
|
|
13
|
+
this.injectedModel = set.model;
|
|
14
|
+
}
|
|
15
|
+
/** Creates the unique scope and TTL indexes before reads or writes. */
|
|
16
|
+
async ensureReady() {
|
|
17
|
+
this.readiness ??= this.getModel().createIndexes()
|
|
18
|
+
.then(() => undefined)
|
|
19
|
+
.catch((error) => {
|
|
20
|
+
this.readiness = undefined;
|
|
21
|
+
throw error;
|
|
22
|
+
});
|
|
23
|
+
await this.readiness;
|
|
24
|
+
}
|
|
25
|
+
/** Creates one artifact or returns the winner of an exact concurrent replay. */
|
|
26
|
+
async createOrGet(record) {
|
|
27
|
+
try {
|
|
28
|
+
const created = await this.getModel().create([record]);
|
|
29
|
+
const value = created[0]?.toObject();
|
|
30
|
+
if (!value) {
|
|
31
|
+
throw new Error('DYNTS|PRIVACY_EXPORT_ARTIFACT|CREATE_EMPTY');
|
|
32
|
+
}
|
|
33
|
+
return { record: value, created: true };
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
if (!this.isDuplicateKey(error)) {
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
const existing = await this.find(record.scopeHash);
|
|
40
|
+
if (!existing) {
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
return { record: existing, created: false };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** Loads one encrypted record by its content-free request-contributor scope hash. */
|
|
47
|
+
find(scopeHash) {
|
|
48
|
+
return this.getModel().findOne({ scopeHash: scopeHash })
|
|
49
|
+
.lean().exec();
|
|
50
|
+
}
|
|
51
|
+
/** Deletes already expired records independently of Mongo TTL scheduling latency. */
|
|
52
|
+
async deleteExpired(cutoff) {
|
|
53
|
+
return (await this.getModel().deleteMany({ expiresAt: { $lte: cutoff } }).exec()).deletedCount;
|
|
54
|
+
}
|
|
55
|
+
/** Builds the strict encrypted-artifact schema for production composition and contract tests. */
|
|
56
|
+
static createSchema() {
|
|
57
|
+
const schema = new mongoose_1.Schema({
|
|
58
|
+
contractVersion: {
|
|
59
|
+
type: String,
|
|
60
|
+
required: true,
|
|
61
|
+
immutable: true,
|
|
62
|
+
enum: ['dynts-privacy-export-artifact/1'],
|
|
63
|
+
},
|
|
64
|
+
scopeHash: { type: String, required: true, immutable: true, match: /^[a-f0-9]{64}$/u },
|
|
65
|
+
requestId: { type: String, required: true, immutable: true, maxlength: 128 },
|
|
66
|
+
contributorId: { type: String, required: true, immutable: true, maxlength: 128 },
|
|
67
|
+
subjectId: { type: String, required: true, immutable: true, maxlength: 128 },
|
|
68
|
+
organizationId: { type: String, required: true, immutable: true, maxlength: 128 },
|
|
69
|
+
contentType: { type: String, required: true, immutable: true, enum: ['application/json'] },
|
|
70
|
+
encryptedPayload: {
|
|
71
|
+
type: String,
|
|
72
|
+
required: true,
|
|
73
|
+
immutable: true,
|
|
74
|
+
maxlength: DyNTS_PrivacyExportArtifact_MongoStore.maxCiphertextLength(),
|
|
75
|
+
},
|
|
76
|
+
encryptionKeyId: {
|
|
77
|
+
type: String,
|
|
78
|
+
required: true,
|
|
79
|
+
immutable: true,
|
|
80
|
+
match: /^[a-z0-9][a-z0-9._-]{0,127}$/u,
|
|
81
|
+
},
|
|
82
|
+
plaintextChecksum: {
|
|
83
|
+
type: String,
|
|
84
|
+
required: true,
|
|
85
|
+
immutable: true,
|
|
86
|
+
match: /^[a-f0-9]{64}$/u,
|
|
87
|
+
},
|
|
88
|
+
plaintextBytes: {
|
|
89
|
+
type: Number,
|
|
90
|
+
required: true,
|
|
91
|
+
immutable: true,
|
|
92
|
+
min: 1,
|
|
93
|
+
max: 16_777_216,
|
|
94
|
+
validate: Number.isSafeInteger,
|
|
95
|
+
},
|
|
96
|
+
createdAt: { type: Date, required: true, immutable: true },
|
|
97
|
+
expiresAt: { type: Date, required: true, immutable: true },
|
|
98
|
+
}, {
|
|
99
|
+
collection: 'dynts_privacy_export_artifacts',
|
|
100
|
+
strict: 'throw',
|
|
101
|
+
versionKey: false,
|
|
102
|
+
});
|
|
103
|
+
schema.index({ scopeHash: 1 }, { unique: true, name: 'uq_dynts_privacy_export_scope' });
|
|
104
|
+
schema.index({ expiresAt: 1 }, { expireAfterSeconds: 0, name: 'ttl_dynts_privacy_export_expiry' });
|
|
105
|
+
schema.index({ subjectId: 1, organizationId: 1, expiresAt: 1 }, { name: 'ix_dynts_privacy_export_authority_expiry' });
|
|
106
|
+
return schema;
|
|
107
|
+
}
|
|
108
|
+
getModel() {
|
|
109
|
+
if (this.injectedModel) {
|
|
110
|
+
return this.injectedModel;
|
|
111
|
+
}
|
|
112
|
+
if (mongoose_1.default.modelNames().includes(DyNTS_privacyExportArtifactModelName)) {
|
|
113
|
+
return mongoose_1.default.model(DyNTS_privacyExportArtifactModelName);
|
|
114
|
+
}
|
|
115
|
+
return mongoose_1.default.model(DyNTS_privacyExportArtifactModelName, DyNTS_PrivacyExportArtifact_MongoStore.createSchema());
|
|
116
|
+
}
|
|
117
|
+
static maxCiphertextLength() {
|
|
118
|
+
return 33_554_432;
|
|
119
|
+
}
|
|
120
|
+
isDuplicateKey(error) {
|
|
121
|
+
return typeof error === 'object' && error !== null && 'code' in error
|
|
122
|
+
&& Object.getOwnPropertyDescriptor(error, 'code')?.value === 11000;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.DyNTS_PrivacyExportArtifact_MongoStore = DyNTS_PrivacyExportArtifact_MongoStore;
|
|
126
|
+
//# sourceMappingURL=privacy-export-artifact.mongo-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-artifact.mongo-store.js","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/nts-dynamo",
|
|
3
|
-
"version": "01.15.
|
|
3
|
+
"version": "01.15.163",
|
|
4
4
|
"description": "Dynamic NodeTS (NodeJS-Typescript), MongoDB Backend System Framework by Future Development Program Ltd.",
|
|
5
5
|
"DyBu_settings": {
|
|
6
6
|
"packageType": "server-package",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"systemName": "dynamo"
|
|
9
9
|
},
|
|
10
10
|
"author": "Future Development Program Ltd.",
|
|
11
|
-
"license": "
|
|
11
|
+
"license": "MIT",
|
|
12
12
|
"bugs": {
|
|
13
13
|
"url": "https://github.com/futdevpro/dynamo-nts/issues"
|
|
14
14
|
},
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
"preprep-setup-safechain-linux": "curl -fsSL https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh",
|
|
35
35
|
"start-first": "npm run prep && nodemon",
|
|
36
36
|
"start": "npm run prep && nodemon",
|
|
37
|
-
"deploy": "npm run build",
|
|
37
|
+
"deploy": "npm run build && npm publish",
|
|
38
38
|
"clean-deploy": "npm run clean && npm run build-all",
|
|
39
|
-
"build": "npm run build-base && jasmine
|
|
39
|
+
"build": "npm run build-base && jasmine",
|
|
40
40
|
"build-tgz": "npm run build-base && jasmine && npm pack && move ./*.tgz ../tgz-collection/dynamo-nts",
|
|
41
41
|
"build-tgz-cheap": "pnpm i && npx tsc && npm pack && move ./*.tgz ../tgz-collection/dynamo-nts",
|
|
42
42
|
"build-all": "npm run build-tgz && npm run build-base",
|
|
@@ -64,6 +64,13 @@
|
|
|
64
64
|
"ldp:clear": "dc ldp-clear"
|
|
65
65
|
},
|
|
66
66
|
"main": "./build/index.js",
|
|
67
|
+
"files": [
|
|
68
|
+
"build",
|
|
69
|
+
"!build/**/*.spec.*",
|
|
70
|
+
"README.md",
|
|
71
|
+
"LICENSE",
|
|
72
|
+
"CHANGELOG.md"
|
|
73
|
+
],
|
|
67
74
|
"module": "./build/index.js",
|
|
68
75
|
"types": "./build/index.d.ts",
|
|
69
76
|
"typings": "./build/index.d.ts",
|
package/.c8rc.json
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"reporter": [
|
|
3
|
-
"html",
|
|
4
|
-
"text",
|
|
5
|
-
"lcov"
|
|
6
|
-
],
|
|
7
|
-
"reports-dir": "./coverage",
|
|
8
|
-
"include": [
|
|
9
|
-
"src/**/*.ts"
|
|
10
|
-
],
|
|
11
|
-
"exclude": [
|
|
12
|
-
"src/**/*.spec.ts",
|
|
13
|
-
"src/**/*.spec.js",
|
|
14
|
-
"src/spec/**",
|
|
15
|
-
"**/node_modules/**",
|
|
16
|
-
"**/coverage/**",
|
|
17
|
-
"**/*.d.ts",
|
|
18
|
-
"**/*.const.ts",
|
|
19
|
-
"**/*.enum.ts",
|
|
20
|
-
"**/*.interface.ts",
|
|
21
|
-
"**/*.type.ts",
|
|
22
|
-
"**/index.ts"
|
|
23
|
-
],
|
|
24
|
-
"all": true
|
|
25
|
-
}
|
|
26
|
-
|
package/.copilot/patterns.json
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Apply if planning or reviewing operations
|
|
3
|
-
alwaysApply: false
|
|
4
|
-
---
|
|
5
|
-
# Global planning and execution policy
|
|
6
|
-
- mindig amikor a user olyat vagy olyasmit, mond, hogy "ennek úgy kéne működnie, hogy ..." annak bele kell kerülni a specifikációba
|
|
7
|
-
- minden nagyobb fejlesztés végén dokumentációt kell készíteni
|
|
8
|
-
|
|
9
|
-
## fejlesztési folyamat;
|
|
10
|
-
Az alábbi folyamatot a user szoros közreműködésével fogjuk végezni
|
|
11
|
-
- valamilyen hibából vagy feature request-ből indulunk ki
|
|
12
|
-
- átnézzük az összes kapcsolódó elemet
|
|
13
|
-
- mindig kérjük, hogy
|
|
14
|
-
- "review the issue very carefully"
|
|
15
|
-
- "be very very careful"
|
|
16
|
-
- "plan comprehensive"
|
|
17
|
-
- "always check exisitng solutions"
|
|
18
|
-
- "always follow existing patterns very strictly"
|
|
19
|
-
- tervezünk egy megoldást
|
|
20
|
-
- implementáljuk a megoldást
|
|
21
|
-
- leteszteltetjük a felhasználóval, úgy hogy futtassa az alkalmazást és a lehető legtöbb féle képpen triggereljük a subjct feature-t
|
|
22
|
-
- ellenőriztetjük az érintett más funkcionalitásokat
|
|
23
|
-
- ha van hiba akkor megpróbáljuk megoldani
|
|
24
|
-
- a hibajavítások során figyelünk arra, hogy ha ugyan az a hiba újra előjön többször egymás után miközben javításokat végzünk, akkor az valamilyen nagyobb szintű hibára utal ami átfogóbb review-t és solution planning-et igényel. (ehhez hasonló párhuzamos session)
|
|
25
|
-
- ha minden javítás kész, újból átfogó tesztet végeztetünk, majd ha ezen is átment, akkor push-oltatjuk a megoldást a user-el. figyelve az automata GIT build-ek eredményére (hátha újabb error jelentkezik, ezt a user fogja tudni visszajelezni)
|
|
26
|
-
- dokumentációt készítünk a session-ről, amiben legyen benne a user kérése is (a legközelebbi "__documentations" folder-be)
|
|
27
|
-
- menet közben ahogy a user-el egyeztetünk, kieshetnek újabb feature request-ek és specifikációs kérések amiket fontos hogy feljegyezzünk!
|
|
28
|
-
- Amikor fázisonkénti fejlesztéseket hajtunk végre, mindig készítsünk dokumentációt az eredményekről, és update-eljük a soron következő-, már megtervezett fázisokat, amennyiben szükséges. (de csak miután a user elfogadta és véglegesítette a megoldást.)
|
|
29
|
-
|
|
30
|
-
|