@futdevpro/nts-dynamo 1.15.157 → 1.15.160
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/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
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Copyright (c) Future Development Program Ltd. (HU)
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/** Exact request, contributor, subject and organization authority boundary. */
|
|
2
|
+
export interface DyNTS_PrivacyExportArtifactAuthority_Interface {
|
|
3
|
+
requestId: string;
|
|
4
|
+
contributorId: string;
|
|
5
|
+
subjectId: string;
|
|
6
|
+
organizationId: string;
|
|
7
|
+
}
|
|
8
|
+
/** Authenticated scope bound into every encrypted privacy-export artifact. */
|
|
9
|
+
export interface DyNTS_PrivacyExportArtifactContext_Interface extends DyNTS_PrivacyExportArtifactAuthority_Interface {
|
|
10
|
+
contractVersion: 'dynts-privacy-export-artifact/1';
|
|
11
|
+
}
|
|
12
|
+
/** Cipher output containing a rotation identifier and authenticated ciphertext only. */
|
|
13
|
+
export interface DyNTS_PrivacyExportArtifactSealed_Interface {
|
|
14
|
+
keyId: string;
|
|
15
|
+
ciphertext: string;
|
|
16
|
+
}
|
|
17
|
+
/** Consumer-composed encryption boundary; key material never belongs to Dynamo. */
|
|
18
|
+
export interface DyNTS_PrivacyExportArtifactCipher_Interface {
|
|
19
|
+
seal(plaintext: string, context: DyNTS_PrivacyExportArtifactContext_Interface): DyNTS_PrivacyExportArtifactSealed_Interface;
|
|
20
|
+
open(sealed: DyNTS_PrivacyExportArtifactSealed_Interface, context: DyNTS_PrivacyExportArtifactContext_Interface): string;
|
|
21
|
+
}
|
|
22
|
+
/** Sensitive in-memory write request. Implementations must never log or persist `plaintext`. */
|
|
23
|
+
export interface DyNTS_PrivacyExportArtifactWrite_Interface extends DyNTS_PrivacyExportArtifactAuthority_Interface {
|
|
24
|
+
contractVersion: 'dynts-privacy-export-artifact-write/1';
|
|
25
|
+
contentType: 'application/json';
|
|
26
|
+
plaintext: string;
|
|
27
|
+
}
|
|
28
|
+
/** Exact-authority request used to read or verify one artifact without caller-owned storage metadata. */
|
|
29
|
+
export interface DyNTS_PrivacyExportArtifactLookup_Interface extends DyNTS_PrivacyExportArtifactAuthority_Interface {
|
|
30
|
+
contractVersion: 'dynts-privacy-export-artifact-lookup/1';
|
|
31
|
+
}
|
|
32
|
+
/** Encrypted durable record. Plaintext and secret key material are deliberately absent. */
|
|
33
|
+
export interface DyNTS_PrivacyExportArtifactRecord_Interface extends DyNTS_PrivacyExportArtifactAuthority_Interface {
|
|
34
|
+
contractVersion: 'dynts-privacy-export-artifact/1';
|
|
35
|
+
scopeHash: string;
|
|
36
|
+
contentType: 'application/json';
|
|
37
|
+
encryptedPayload: string;
|
|
38
|
+
encryptionKeyId: string;
|
|
39
|
+
plaintextChecksum: string;
|
|
40
|
+
plaintextBytes: number;
|
|
41
|
+
createdAt: Date;
|
|
42
|
+
expiresAt: Date;
|
|
43
|
+
}
|
|
44
|
+
/** Atomic create-or-replay result returned by a privacy-export artifact store. */
|
|
45
|
+
export interface DyNTS_PrivacyExportArtifactCreateResult_Interface {
|
|
46
|
+
record: DyNTS_PrivacyExportArtifactRecord_Interface;
|
|
47
|
+
created: boolean;
|
|
48
|
+
}
|
|
49
|
+
/** Persistence boundary for encrypted, expiring privacy-export artifacts. */
|
|
50
|
+
export interface DyNTS_PrivacyExportArtifactStore_Interface {
|
|
51
|
+
ensureReady(): Promise<void>;
|
|
52
|
+
createOrGet(record: DyNTS_PrivacyExportArtifactRecord_Interface): Promise<DyNTS_PrivacyExportArtifactCreateResult_Interface>;
|
|
53
|
+
find(scopeHash: string): Promise<DyNTS_PrivacyExportArtifactRecord_Interface | null>;
|
|
54
|
+
deleteExpired(cutoff: Date): Promise<number>;
|
|
55
|
+
}
|
|
56
|
+
/** Content-free artifact metadata suitable for lifecycle evidence and user-facing status. */
|
|
57
|
+
export interface DyNTS_PrivacyExportArtifactView_Interface {
|
|
58
|
+
contractVersion: 'dynts-privacy-export-artifact-view/1';
|
|
59
|
+
artifactChecksum: string;
|
|
60
|
+
plaintextBytes: number;
|
|
61
|
+
contentType: 'application/json';
|
|
62
|
+
createdAt: string;
|
|
63
|
+
expiresAt: string;
|
|
64
|
+
created: boolean;
|
|
65
|
+
}
|
|
66
|
+
/** Sensitive server-side read result used only by the authorized export assembler. */
|
|
67
|
+
export interface DyNTS_PrivacyExportArtifactReadResult_Interface {
|
|
68
|
+
artifact: DyNTS_PrivacyExportArtifactView_Interface;
|
|
69
|
+
plaintext: string;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=privacy-export-artifact.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-artifact.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,WAAW,8CAA8C;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,8EAA8E;AAC9E,MAAM,WAAW,4CACjB,SAAQ,8CAA8C;IACpD,eAAe,EAAE,iCAAiC,CAAC;CACpD;AAED,wFAAwF;AACxF,MAAM,WAAW,2CAA2C;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,mFAAmF;AACnF,MAAM,WAAW,2CAA2C;IAC1D,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,4CAA4C,GACpD,2CAA2C,CAAC;IAC/C,IAAI,CACF,MAAM,EAAE,2CAA2C,EACnD,OAAO,EAAE,4CAA4C,GACpD,MAAM,CAAC;CACX;AAED,gGAAgG;AAChG,MAAM,WAAW,0CACjB,SAAQ,8CAA8C;IACpD,eAAe,EAAE,uCAAuC,CAAC;IACzD,WAAW,EAAE,kBAAkB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,yGAAyG;AACzG,MAAM,WAAW,2CACjB,SAAQ,8CAA8C;IACpD,eAAe,EAAE,wCAAwC,CAAC;CAC3D;AAED,2FAA2F;AAC3F,MAAM,WAAW,2CACjB,SAAQ,8CAA8C;IACpD,eAAe,EAAE,iCAAiC,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,kBAAkB,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,kFAAkF;AAClF,MAAM,WAAW,iDAAiD;IAChE,MAAM,EAAE,2CAA2C,CAAC;IACpD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,6EAA6E;AAC7E,MAAM,WAAW,0CAA0C;IACzD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,CACT,MAAM,EAAE,2CAA2C,GAClD,OAAO,CAAC,iDAAiD,CAAC,CAAC;IAC9D,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2CAA2C,GAAG,IAAI,CAAC,CAAC;IACrF,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED,6FAA6F;AAC7F,MAAM,WAAW,yCAAyC;IACxD,eAAe,EAAE,sCAAsC,CAAC;IACxD,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,kBAAkB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,sFAAsF;AACtF,MAAM,WAAW,+CAA+C;IAC9D,QAAQ,EAAE,yCAAyC,CAAC;IACpD,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-artifact.interface.js","sourceRoot":"","sources":["../../../../src/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { DyNTS_PrivacyLifecycle_ControlService } from './privacy-lifecycle.control-service';
|
|
2
2
|
export { DyNTS_PrivacyLedger_ControlService } from './privacy-ledger.control-service';
|
|
3
|
+
export { DyNTS_PrivacyExportArtifact_ControlService } from './privacy-export-artifact.control-service';
|
|
4
|
+
export { DyNTS_PrivacyExportArtifact_MongoStore } from './privacy-export-artifact.mongo-store';
|
|
3
5
|
export { DyNTS_PrivacyConsentDecision_Type } from './_enums/privacy-consent-decision.type-enum';
|
|
4
6
|
export { DyNTS_PrivacyContributorAction_Type } from './_enums/privacy-contributor-action.type-enum';
|
|
5
7
|
export { DyNTS_PrivacyContributorOutcome_Type } from './_enums/privacy-contributor-outcome.type-enum';
|
|
@@ -30,4 +32,5 @@ export { DyNTS_PrivacyRequestPersistenceCreateResult_Interface } from './_models
|
|
|
30
32
|
export { DyNTS_PrivacyRequestRecord_Interface } from './_models/privacy-request-record.interface';
|
|
31
33
|
export { DyNTS_PrivacyRequestResult_Interface } from './_models/privacy-request-result.interface';
|
|
32
34
|
export { DyNTS_PrivacyRequestView_Interface } from './_models/privacy-request-view.interface';
|
|
35
|
+
export { DyNTS_PrivacyExportArtifactAuthority_Interface, DyNTS_PrivacyExportArtifactCipher_Interface, DyNTS_PrivacyExportArtifactContext_Interface, DyNTS_PrivacyExportArtifactCreateResult_Interface, DyNTS_PrivacyExportArtifactLookup_Interface, DyNTS_PrivacyExportArtifactReadResult_Interface, DyNTS_PrivacyExportArtifactRecord_Interface, DyNTS_PrivacyExportArtifactSealed_Interface, DyNTS_PrivacyExportArtifactStore_Interface, DyNTS_PrivacyExportArtifactView_Interface, DyNTS_PrivacyExportArtifactWrite_Interface } from './_models/privacy-export-artifact.interface';
|
|
33
36
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,qCAAqC,CAAC;AAC5F,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,EAAE,oCAAoC,EAAE,MAAM,gDAAgD,CAAC;AACtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,yCAAyC,EAAE,MAAM,iDAAiD,CAAC;AAC5G,OAAO,EAAE,yCAAyC,EAAE,MAAM,iDAAiD,CAAC;AAC5G,OAAO,EAAE,sCAAsC,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,+CAA+C,CAAC;AACxG,OAAO,EAAE,wCAAwC,EAAE,MAAM,gDAAgD,CAAC;AAC1G,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EACL,+CAA+C,EAChD,MAAM,wDAAwD,CAAC;AAChE,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,qCAAqC,EAAE,MAAM,6CAA6C,CAAC;AACpG,OAAO,EAAE,2CAA2C,EAAE,MAAM,oDAAoD,CAAC;AACjH,OAAO,EACL,uDAAuD,EACxD,MAAM,iEAAiE,CAAC;AACzE,OAAO,EAAE,4CAA4C,EAAE,MAAM,qDAAqD,CAAC;AACnH,OAAO,EACL,0CAA0C,EAC3C,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,sCAAsC,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAAE,0CAA0C,EAAE,MAAM,mDAAmD,CAAC;AAC/G,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EACL,qDAAqD,EACtD,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,qCAAqC,CAAC;AAC5F,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,0CAA0C,EAAE,MAAM,2CAA2C,CAAC;AACvG,OAAO,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAC;AAC/F,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,EAAE,oCAAoC,EAAE,MAAM,gDAAgD,CAAC;AACtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,yCAAyC,EAAE,MAAM,iDAAiD,CAAC;AAC5G,OAAO,EAAE,yCAAyC,EAAE,MAAM,iDAAiD,CAAC;AAC5G,OAAO,EAAE,sCAAsC,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,+CAA+C,CAAC;AACxG,OAAO,EAAE,wCAAwC,EAAE,MAAM,gDAAgD,CAAC;AAC1G,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EACL,+CAA+C,EAChD,MAAM,wDAAwD,CAAC;AAChE,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,qCAAqC,EAAE,MAAM,6CAA6C,CAAC;AACpG,OAAO,EAAE,2CAA2C,EAAE,MAAM,oDAAoD,CAAC;AACjH,OAAO,EACL,uDAAuD,EACxD,MAAM,iEAAiE,CAAC;AACzE,OAAO,EAAE,4CAA4C,EAAE,MAAM,qDAAqD,CAAC;AACnH,OAAO,EACL,0CAA0C,EAC3C,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,sCAAsC,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAAE,0CAA0C,EAAE,MAAM,mDAAmD,CAAC;AAC/G,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EACL,qDAAqD,EACtD,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EACL,8CAA8C,EAC9C,2CAA2C,EAC3C,4CAA4C,EAC5C,iDAAiD,EACjD,2CAA2C,EAC3C,+CAA+C,EAC/C,2CAA2C,EAC3C,2CAA2C,EAC3C,0CAA0C,EAC1C,yCAAyC,EACzC,0CAA0C,EAC3C,MAAM,6CAA6C,CAAC"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DyNTS_PrivacyRequest_Type = exports.DyNTS_PrivacyRequestState_Type = exports.DyNTS_PrivacyContributorOutcome_Type = exports.DyNTS_PrivacyContributorAction_Type = exports.DyNTS_PrivacyConsentDecision_Type = exports.DyNTS_PrivacyLedger_ControlService = exports.DyNTS_PrivacyLifecycle_ControlService = void 0;
|
|
3
|
+
exports.DyNTS_PrivacyRequest_Type = exports.DyNTS_PrivacyRequestState_Type = exports.DyNTS_PrivacyContributorOutcome_Type = exports.DyNTS_PrivacyContributorAction_Type = exports.DyNTS_PrivacyConsentDecision_Type = exports.DyNTS_PrivacyExportArtifact_MongoStore = exports.DyNTS_PrivacyExportArtifact_ControlService = exports.DyNTS_PrivacyLedger_ControlService = exports.DyNTS_PrivacyLifecycle_ControlService = void 0;
|
|
4
4
|
var privacy_lifecycle_control_service_1 = require("./privacy-lifecycle.control-service");
|
|
5
5
|
Object.defineProperty(exports, "DyNTS_PrivacyLifecycle_ControlService", { enumerable: true, get: function () { return privacy_lifecycle_control_service_1.DyNTS_PrivacyLifecycle_ControlService; } });
|
|
6
6
|
var privacy_ledger_control_service_1 = require("./privacy-ledger.control-service");
|
|
7
7
|
Object.defineProperty(exports, "DyNTS_PrivacyLedger_ControlService", { enumerable: true, get: function () { return privacy_ledger_control_service_1.DyNTS_PrivacyLedger_ControlService; } });
|
|
8
|
+
var privacy_export_artifact_control_service_1 = require("./privacy-export-artifact.control-service");
|
|
9
|
+
Object.defineProperty(exports, "DyNTS_PrivacyExportArtifact_ControlService", { enumerable: true, get: function () { return privacy_export_artifact_control_service_1.DyNTS_PrivacyExportArtifact_ControlService; } });
|
|
10
|
+
var privacy_export_artifact_mongo_store_1 = require("./privacy-export-artifact.mongo-store");
|
|
11
|
+
Object.defineProperty(exports, "DyNTS_PrivacyExportArtifact_MongoStore", { enumerable: true, get: function () { return privacy_export_artifact_mongo_store_1.DyNTS_PrivacyExportArtifact_MongoStore; } });
|
|
8
12
|
var privacy_consent_decision_type_enum_1 = require("./_enums/privacy-consent-decision.type-enum");
|
|
9
13
|
Object.defineProperty(exports, "DyNTS_PrivacyConsentDecision_Type", { enumerable: true, get: function () { return privacy_consent_decision_type_enum_1.DyNTS_PrivacyConsentDecision_Type; } });
|
|
10
14
|
var privacy_contributor_action_type_enum_1 = require("./_enums/privacy-contributor-action.type-enum");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/index.ts"],"names":[],"mappings":";;;AAAA,yFAA4F;AAAnF,0JAAA,qCAAqC,OAAA;AAC9C,mFAAsF;AAA7E,oJAAA,kCAAkC,OAAA;AAC3C,kGAAgG;AAAvF,uJAAA,iCAAiC,OAAA;AAC1C,sGAAoG;AAA3F,2JAAA,mCAAmC,OAAA;AAC5C,wGAAsG;AAA7F,6JAAA,oCAAoC,OAAA;AAC7C,4FAA0F;AAAjF,iJAAA,8BAA8B,OAAA;AACvC,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/index.ts"],"names":[],"mappings":";;;AAAA,yFAA4F;AAAnF,0JAAA,qCAAqC,OAAA;AAC9C,mFAAsF;AAA7E,oJAAA,kCAAkC,OAAA;AAC3C,qGAAuG;AAA9F,qKAAA,0CAA0C,OAAA;AACnD,6FAA+F;AAAtF,6JAAA,sCAAsC,OAAA;AAC/C,kGAAgG;AAAvF,uJAAA,iCAAiC,OAAA;AAC1C,sGAAoG;AAA3F,2JAAA,mCAAmC,OAAA;AAC5C,wGAAsG;AAA7F,6JAAA,oCAAoC,OAAA;AAC7C,4FAA0F;AAAjF,iJAAA,8BAA8B,OAAA;AACvC,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { DyNTS_PrivacyExportArtifactCipher_Interface, DyNTS_PrivacyExportArtifactLookup_Interface, DyNTS_PrivacyExportArtifactReadResult_Interface, DyNTS_PrivacyExportArtifactStore_Interface, DyNTS_PrivacyExportArtifactView_Interface, DyNTS_PrivacyExportArtifactWrite_Interface } from './_models/privacy-export-artifact.interface';
|
|
2
|
+
/**
|
|
3
|
+
* Persists resumable privacy-export payloads as authenticated ciphertext with content-free evidence.
|
|
4
|
+
* Authentication and key resolution remain explicit consumer responsibilities.
|
|
5
|
+
*/
|
|
6
|
+
export declare class DyNTS_PrivacyExportArtifact_ControlService {
|
|
7
|
+
private static readonly absoluteMaxPlaintextBytes;
|
|
8
|
+
private static readonly absoluteMaxRetentionMs;
|
|
9
|
+
private static readonly maxCiphertextLength;
|
|
10
|
+
private readonly store;
|
|
11
|
+
private readonly cipher;
|
|
12
|
+
private readonly maxPlaintextBytes;
|
|
13
|
+
private readonly retentionMs;
|
|
14
|
+
private readonly clock;
|
|
15
|
+
/** Creates one policy-bounded artifact lifecycle without resolving authority or secret sources. */
|
|
16
|
+
constructor(set: {
|
|
17
|
+
store: DyNTS_PrivacyExportArtifactStore_Interface;
|
|
18
|
+
cipher: DyNTS_PrivacyExportArtifactCipher_Interface;
|
|
19
|
+
maxPlaintextBytes: number;
|
|
20
|
+
retentionMs: number;
|
|
21
|
+
clock?: () => Date;
|
|
22
|
+
});
|
|
23
|
+
/** Encrypts and atomically creates or replays one request-contributor artifact. */
|
|
24
|
+
write(request: DyNTS_PrivacyExportArtifactWrite_Interface): Promise<DyNTS_PrivacyExportArtifactView_Interface>;
|
|
25
|
+
/** Decrypts one unexpired artifact after exact request, contributor, subject and organization matching. */
|
|
26
|
+
read(request: DyNTS_PrivacyExportArtifactLookup_Interface): Promise<DyNTS_PrivacyExportArtifactReadResult_Interface>;
|
|
27
|
+
/** Verifies content-free evidence without exposing plaintext or persistence metadata. */
|
|
28
|
+
verify(request: DyNTS_PrivacyExportArtifactLookup_Interface, artifactChecksum: string): Promise<boolean>;
|
|
29
|
+
/** Deletes artifacts whose expiry is at or before the supplied trusted cutoff. */
|
|
30
|
+
deleteExpired(cutoff: Date): Promise<number>;
|
|
31
|
+
private requireRecord;
|
|
32
|
+
private validateWrite;
|
|
33
|
+
private validateLookup;
|
|
34
|
+
private validateReplay;
|
|
35
|
+
private validateStored;
|
|
36
|
+
private hasExactAuthority;
|
|
37
|
+
private context;
|
|
38
|
+
private view;
|
|
39
|
+
private validContextFields;
|
|
40
|
+
private boundedText;
|
|
41
|
+
private hasExactKeys;
|
|
42
|
+
private scopeHash;
|
|
43
|
+
private checksum;
|
|
44
|
+
private validJson;
|
|
45
|
+
private now;
|
|
46
|
+
private error;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=privacy-export-artifact.control-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-artifact.control-service.d.ts","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-export-artifact.control-service.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,2CAA2C,EAI3C,2CAA2C,EAC3C,+CAA+C,EAG/C,0CAA0C,EAC1C,yCAAyC,EACzC,0CAA0C,EAC3C,MAAM,6CAA6C,CAAC;AAErD;;;GAGG;AACH,qBAAa,0CAA0C;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAsB;IACvE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IACvE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6C;IACnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IAEnC,mGAAmG;gBACvF,GAAG,EAAE;QACf,KAAK,EAAE,0CAA0C,CAAC;QAClD,MAAM,EAAE,2CAA2C,CAAC;QACpD,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;KACpB;IAqBD,mFAAmF;IACtE,KAAK,CAChB,OAAO,EAAE,0CAA0C,GAClD,OAAO,CAAC,yCAAyC,CAAC;IAgFrD,2GAA2G;IAC9F,IAAI,CACf,OAAO,EAAE,2CAA2C,GACnD,OAAO,CAAC,+CAA+C,CAAC;IA4B3D,yFAAyF;IAC5E,MAAM,CACjB,OAAO,EAAE,2CAA2C,EACpD,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;IAcnB,kFAAkF;IACrE,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;YAc3C,aAAa;IAgC3B,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,GAAG;IAUX,OAAO,CAAC,KAAK;CAiBd"}
|
|
@@ -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"}
|