@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.
Files changed (634) hide show
  1. package/LICENSE +17 -17
  2. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.d.ts +71 -0
  3. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.d.ts.map +1 -0
  4. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.js +3 -0
  5. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.js.map +1 -0
  6. package/build/_modules/privacy-lifecycle/index.d.ts +3 -0
  7. package/build/_modules/privacy-lifecycle/index.d.ts.map +1 -1
  8. package/build/_modules/privacy-lifecycle/index.js +5 -1
  9. package/build/_modules/privacy-lifecycle/index.js.map +1 -1
  10. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.d.ts +48 -0
  11. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.d.ts.map +1 -0
  12. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.js +332 -0
  13. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.js.map +1 -0
  14. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.d.ts +25 -0
  15. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.d.ts.map +1 -0
  16. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.js +126 -0
  17. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.js.map +1 -0
  18. package/package.json +11 -4
  19. package/.c8rc.json +0 -26
  20. package/.copilot/patterns.json +0 -8
  21. package/.cursor/rules/__assistant_guide.mdc +0 -30
  22. package/.cursor/rules/__main.mdc +0 -64
  23. package/.cursor/rules/_ag_backend-structure.mdc +0 -86
  24. package/.cursor/rules/_ag_backend.mdc +0 -16
  25. package/.cursor/rules/_ag_debug.mdc +0 -8
  26. package/.cursor/rules/_ag_documentation_writing_rules.mdc +0 -372
  27. package/.cursor/rules/_ag_file-refactoring.mdc +0 -113
  28. package/.cursor/rules/_ag_fixes_rules.mdc +0 -6
  29. package/.cursor/rules/_ag_frontend-structure.mdc +0 -87
  30. package/.cursor/rules/_ag_frontend.mdc +0 -40
  31. package/.cursor/rules/_ag_import-rules.mdc +0 -45
  32. package/.cursor/rules/_ag_naming.mdc +0 -116
  33. package/.cursor/rules/_ag_running_commands.mdc +0 -5
  34. package/.cursor/rules/_ag_server-controller.mdc +0 -6
  35. package/.cursor/rules/_ag_should-be.mdc +0 -7
  36. package/.cursor/rules/_ag_swearing.mdc +0 -47
  37. package/.cursor/rules/ai_development_guide.md +0 -61
  38. package/.cursor/rules/ai_directives.md +0 -114
  39. package/.cursor/rules/cursor-rules.md +0 -160
  40. package/.cursor/rules/default-command.mdc +0 -465
  41. package/.cursor/rules/error_code_pattern.md +0 -40
  42. package/.cursor/rules/saved rule mcp server use.md +0 -16
  43. package/.dynamo/pipeline.cicd.config.json +0 -190
  44. package/.dynamo/version-bump.config.json +0 -5
  45. package/.github/workflows/main.yml +0 -438
  46. package/.husky/pre-commit +0 -3
  47. package/.vscode/settings.json +0 -11
  48. package/BuildPackage.bat +0 -1
  49. package/HOWTO.md +0 -15
  50. package/__documentations/2026-04-28-logs-module.md +0 -49
  51. package/__documentations/2026-05-17-oai-compatible-providers.md +0 -229
  52. package/__documentations/2026-05-17-static-client-serving-howto.md +0 -144
  53. package/__documentations/2026-06-01-fr041-cors-middleware.md +0 -96
  54. package/__documentations/2026-06-01-fr047-p2p3-function-calling.md +0 -81
  55. package/__documentations/2026-06-15-fr193-memory-guard.md +0 -73
  56. package/__documentations/2026-08-08-fr292-app-version-header.md +0 -38
  57. package/__documentations/2026-08-14-field-encryption-mongoose-document-spread.md +0 -124
  58. package/__documentations/2026-08-18-artifact-compiler.md +0 -46
  59. package/__documentations/2026-08-18-mongo-transaction-control-service.md +0 -82
  60. package/__documentations/2026-08-18-standalone-account-security-and-privacy-bedrock.md +0 -132
  61. package/__documentations/2026-08-21-distributed-rate-limit-bfr-ctm-010.md +0 -59
  62. package/__documentations/2026-08-22-bfr-ctm-018-content-free-endpoint-errors.md +0 -54
  63. package/__documentations/2026-08-22-bfr-ctm-020-content-free-request-telemetry.md +0 -65
  64. package/__documentations/2026-08-22-content-free-process-error-boundary.md +0 -111
  65. package/__documentations/2026-08-22-npm-token-state-classifier.md +0 -92
  66. package/__documentations/nts-integration-tests-2026-03-17.md +0 -26
  67. package/__documentations/plans/BEDROCK-HYPERPLAN.md +0 -95
  68. package/_specifications/BACKLOG.md +0 -92
  69. package/_specifications/TODO.md +0 -15
  70. package/_specifications/agent.md +0 -138
  71. package/eslint.config.js +0 -3
  72. package/nodemon.json +0 -24
  73. package/pnpm-workspace.yaml +0 -6
  74. package/scripts/_seed-out/aim-seed.fixtures.ts +0 -161
  75. package/scripts/_seed-out/image-raw.json +0 -1
  76. package/scripts/_seed-out/llm-expand-raw.json +0 -60
  77. package/scripts/_seed-out/sample-image.png +0 -0
  78. package/scripts/_seed-out/seed-raw.json +0 -153
  79. package/scripts/ai-fixture-seed.js +0 -126
  80. package/scripts/run-coverage-tests.js +0 -28
  81. package/spec/support/helpers/spec-reporter-loader.js +0 -359
  82. package/spec/support/helpers/ts-node-helper.js +0 -93
  83. package/spec/support/jasmine.coverage.json +0 -24
  84. package/spec/support/jasmine.json +0 -24
  85. package/src/_assets/dynamo-nts-logo-128.png +0 -0
  86. package/src/_assets/dynamo-nts-logo-256.png +0 -0
  87. package/src/_assets/dynamo-nts-logo-512.png +0 -0
  88. package/src/_assets/dynamo-nts-logo-64.png +0 -0
  89. package/src/_collections/app-version-header.util.spec.ts +0 -108
  90. package/src/_collections/app-version-header.util.ts +0 -74
  91. package/src/_collections/archive-service-registry.const.ts +0 -21
  92. package/src/_collections/archive.util.spec.ts +0 -57
  93. package/src/_collections/archive.util.ts +0 -18
  94. package/src/_collections/atlas-default-db-options.const.ts +0 -10
  95. package/src/_collections/client-safe-error.util.spec.ts +0 -151
  96. package/src/_collections/client-safe-error.util.ts +0 -107
  97. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +0 -11
  98. package/src/_collections/default-fallback-cache-max-age.const.ts +0 -2
  99. package/src/_collections/default-not-found-page.const.spec.ts +0 -19
  100. package/src/_collections/default-not-found-page.const.ts +0 -22
  101. package/src/_collections/default-socket-path.const.spec.ts +0 -12
  102. package/src/_collections/default-socket-path.const.ts +0 -2
  103. package/src/_collections/field-encryption.util.spec.ts +0 -195
  104. package/src/_collections/field-encryption.util.ts +0 -222
  105. package/src/_collections/get-environment-settings.util.spec.ts +0 -210
  106. package/src/_collections/get-environment-settings.util.ts +0 -49
  107. package/src/_collections/global-settings.const.ts +0 -126
  108. package/src/_collections/load-shed.util.spec.ts +0 -62
  109. package/src/_collections/load-shed.util.ts +0 -51
  110. package/src/_collections/mongo-reconnect-guard.util.spec.ts +0 -52
  111. package/src/_collections/mongo-reconnect-guard.util.ts +0 -172
  112. package/src/_collections/npm-token-check.util.spec.ts +0 -218
  113. package/src/_collections/npm-token-check.util.ts +0 -327
  114. package/src/_collections/sample.env +0 -21
  115. package/src/_collections/security-headers.util.spec.ts +0 -98
  116. package/src/_collections/security-headers.util.ts +0 -96
  117. package/src/_collections/signed-url.util.spec.ts +0 -198
  118. package/src/_collections/signed-url.util.ts +0 -170
  119. package/src/_collections/star.controller.spec.ts +0 -224
  120. package/src/_collections/star.controller.ts +0 -130
  121. package/src/_collections/static-cache-control.util.spec.ts +0 -47
  122. package/src/_collections/static-cache-control.util.ts +0 -25
  123. package/src/_enums/data-model-type.enum.ts +0 -14
  124. package/src/_enums/data-service-function.enum.ts +0 -24
  125. package/src/_enums/predefined-data-types.enum.ts +0 -17
  126. package/src/_enums/route-security.enum.ts +0 -12
  127. package/src/_models/control-models/api-call-params.control-model.spec.ts +0 -152
  128. package/src/_models/control-models/api-call-params.control-model.ts +0 -142
  129. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +0 -52
  130. package/src/_models/control-models/app-ext-system-controls.control-model.ts +0 -9
  131. package/src/_models/control-models/app-params.control-model.spec.ts +0 -229
  132. package/src/_models/control-models/app-params.control-model.ts +0 -137
  133. package/src/_models/control-models/app-system-controls.control-model.spec.ts +0 -31
  134. package/src/_models/control-models/app-system-controls.control-model.ts +0 -9
  135. package/src/_models/control-models/endpoint-params.control-model.spec.ts +0 -754
  136. package/src/_models/control-models/endpoint-params.control-model.ts +0 -575
  137. package/src/_models/control-models/http-settings.control-model.spec.ts +0 -77
  138. package/src/_models/control-models/http-settings.control-model.ts +0 -37
  139. package/src/_models/control-models/system-control.control-model.spec.ts +0 -27
  140. package/src/_models/control-models/system-control.control-model.ts +0 -12
  141. package/src/_models/data-models/schema-migration.data-model.ts +0 -50
  142. package/src/_models/interfaces/app-version-header-settings.interface.ts +0 -17
  143. package/src/_models/interfaces/certification-settings.interface.ts +0 -7
  144. package/src/_models/interfaces/compare-data-options.interface.ts +0 -27
  145. package/src/_models/interfaces/compare-data-result.interface.ts +0 -12
  146. package/src/_models/interfaces/cors-settings.interface.spec.ts +0 -52
  147. package/src/_models/interfaces/cors-settings.interface.ts +0 -56
  148. package/src/_models/interfaces/db-query-options.interface.ts +0 -33
  149. package/src/_models/interfaces/environment-settings.interface.ts +0 -59
  150. package/src/_models/interfaces/global-log-settings.interface.ts +0 -171
  151. package/src/_models/interfaces/global-service-settings.interface.ts +0 -47
  152. package/src/_models/interfaces/global-settings.interface.ts +0 -294
  153. package/src/_models/interfaces/migration-entry.interface.ts +0 -19
  154. package/src/_models/interfaces/mongo-transaction-settings.interface.ts +0 -9
  155. package/src/_models/interfaces/request-telemetry-settings.interface.ts +0 -9
  156. package/src/_models/interfaces/request-telemetry-snapshot.interface.ts +0 -30
  157. package/src/_models/interfaces/routing-module-settings.interface.ts +0 -21
  158. package/src/_models/interfaces/security-headers-settings.interface.ts +0 -50
  159. package/src/_models/interfaces/signed-url-verify-result.interface.ts +0 -13
  160. package/src/_models/interfaces/static-client-settings.interface.spec.ts +0 -29
  161. package/src/_models/interfaces/static-client-settings.interface.ts +0 -36
  162. package/src/_models/types/db-update.type.ts +0 -100
  163. package/src/_modules/account-security/_enums/account-challenge-purpose.type-enum.ts +0 -5
  164. package/src/_modules/account-security/_enums/account-refresh-token-state.type-enum.ts +0 -6
  165. package/src/_modules/account-security/_enums/account-session-state.type-enum.ts +0 -6
  166. package/src/_modules/account-security/_models/account-challenge-adapter.interface.ts +0 -17
  167. package/src/_modules/account-security/_models/account-challenge-issued.interface.ts +0 -6
  168. package/src/_modules/account-security/_models/account-challenge-record.interface.ts +0 -13
  169. package/src/_modules/account-security/_models/account-challenge-result.interface.ts +0 -8
  170. package/src/_modules/account-security/_models/account-challenge-settings.interface.ts +0 -9
  171. package/src/_modules/account-security/_models/account-password-policy.interface.ts +0 -11
  172. package/src/_modules/account-security/_models/account-password-verification.interface.ts +0 -5
  173. package/src/_modules/account-security/_models/account-refresh-token-record.interface.ts +0 -13
  174. package/src/_modules/account-security/_models/account-session-adapter.interface.ts +0 -19
  175. package/src/_modules/account-security/_models/account-session-claims.interface.ts +0 -7
  176. package/src/_modules/account-security/_models/account-session-context.interface.ts +0 -6
  177. package/src/_modules/account-security/_models/account-session-create.interface.ts +0 -8
  178. package/src/_modules/account-security/_models/account-session-record.interface.ts +0 -21
  179. package/src/_modules/account-security/_models/account-session-rotate.interface.ts +0 -11
  180. package/src/_modules/account-security/_models/account-session-settings.interface.ts +0 -11
  181. package/src/_modules/account-security/_models/account-session-token-pair.interface.ts +0 -8
  182. package/src/_modules/account-security/_models/account-session-view.interface.ts +0 -13
  183. package/src/_modules/account-security/account-challenge.control-service.spec.ts +0 -195
  184. package/src/_modules/account-security/account-challenge.control-service.ts +0 -164
  185. package/src/_modules/account-security/account-password.control-service.spec.ts +0 -96
  186. package/src/_modules/account-security/account-password.control-service.ts +0 -288
  187. package/src/_modules/account-security/account-session.control-service.spec.ts +0 -294
  188. package/src/_modules/account-security/account-session.control-service.ts +0 -376
  189. package/src/_modules/account-security/index.ts +0 -31
  190. package/src/_modules/admin-auth/_models/admin-api-key-config.interface.ts +0 -33
  191. package/src/_modules/admin-auth/admin-api-key.auth-service.spec.ts +0 -200
  192. package/src/_modules/admin-auth/admin-api-key.auth-service.ts +0 -220
  193. package/src/_modules/admin-auth/index.ts +0 -2
  194. package/src/_modules/ai/_collections/ai-model-config-validator.util.spec.ts +0 -150
  195. package/src/_modules/ai/_collections/ai-model-config-validator.util.ts +0 -131
  196. package/src/_modules/ai/_collections/ai-provider-error.util.ts +0 -144
  197. package/src/_modules/ai/_models/ai-input-interfaces.ts +0 -117
  198. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +0 -16
  199. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.ts +0 -14
  200. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.ts +0 -56
  201. package/src/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.ts +0 -16
  202. package/src/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.ts +0 -72
  203. package/src/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.ts +0 -71
  204. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.ts +0 -57
  205. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.ts +0 -60
  206. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.ts +0 -56
  207. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.ts +0 -117
  208. package/src/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.ts +0 -28
  209. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.ts +0 -14
  210. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.ts +0 -11
  211. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.ts +0 -30
  212. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.ts +0 -19
  213. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.ts +0 -20
  214. package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.ts +0 -115
  215. package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.ts +0 -233
  216. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.ts +0 -134
  217. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.ts +0 -127
  218. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.ts +0 -105
  219. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.ts +0 -50
  220. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.ts +0 -65
  221. package/src/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.ts +0 -92
  222. package/src/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.ts +0 -112
  223. package/src/_modules/ai/_modules/ai-mock/_services/aim-mock.service.ts +0 -155
  224. package/src/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.ts +0 -649
  225. package/src/_modules/ai/_modules/ai-mock/index.ts +0 -47
  226. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +0 -138
  227. package/src/_modules/ai/_modules/anthropic/index.ts +0 -5
  228. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +0 -242
  229. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +0 -639
  230. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +0 -295
  231. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +0 -552
  232. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +0 -209
  233. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +0 -85
  234. package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +0 -8
  235. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +0 -146
  236. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +0 -163
  237. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +0 -100
  238. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +0 -68
  239. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +0 -18
  240. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +0 -19
  241. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +0 -25
  242. package/src/_modules/ai/_modules/document-ai/index.ts +0 -30
  243. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +0 -189
  244. package/src/_modules/ai/_modules/fdp-ai/index.ts +0 -5
  245. package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +0 -9
  246. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +0 -83
  247. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +0 -76
  248. package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +0 -45
  249. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +0 -8
  250. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +0 -7
  251. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +0 -57
  252. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +0 -293
  253. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.ts +0 -572
  254. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +0 -342
  255. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts +0 -435
  256. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +0 -550
  257. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +0 -631
  258. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +0 -332
  259. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +0 -132
  260. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +0 -462
  261. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +0 -635
  262. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +0 -489
  263. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +0 -173
  264. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +0 -1085
  265. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +0 -157
  266. package/src/_modules/ai/_modules/open-ai/index.ts +0 -74
  267. package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +0 -110
  268. package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +0 -114
  269. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +0 -98
  270. package/src/_modules/ai/_services/ai-embedding.service-base.ts +0 -48
  271. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +0 -229
  272. package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +0 -68
  273. package/src/_modules/ai/_services/ai-llm.service-base.reconciler.spec.ts +0 -133
  274. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +0 -250
  275. package/src/_modules/ai/_services/ai-llm.service-base.ts +0 -599
  276. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +0 -158
  277. package/src/_modules/ai/_services/ai-provider.service-base.ts +0 -67
  278. package/src/_modules/ai/_services/ai-user-key.service-base.ts +0 -59
  279. package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +0 -197
  280. package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +0 -399
  281. package/src/_modules/ai/index.ts +0 -33
  282. package/src/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.ts +0 -5
  283. package/src/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.ts +0 -8
  284. package/src/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.ts +0 -6
  285. package/src/_modules/artifact-compiler/_models/artifact-compile.interface.ts +0 -35
  286. package/src/_modules/artifact-compiler/artifact-compiler.control-service.spec.ts +0 -151
  287. package/src/_modules/artifact-compiler/artifact-compiler.control-service.ts +0 -356
  288. package/src/_modules/artifact-compiler/index.ts +0 -9
  289. package/src/_modules/assistant/_collections/ass-global-settings.const.ts +0 -13
  290. package/src/_modules/assistant/_collections/ass.util.spec.ts +0 -176
  291. package/src/_modules/assistant/_collections/ass.util.ts +0 -50
  292. package/src/_modules/assistant/_models/ass-global-settings.interface.ts +0 -15
  293. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +0 -140
  294. package/src/_modules/assistant/_services/ass-io.control-service.ts +0 -74
  295. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +0 -192
  296. package/src/_modules/assistant/_services/ass-main.control-service.ts +0 -107
  297. package/src/_modules/assistant/index.ts +0 -19
  298. package/src/_modules/bot/_collections/bot-default-commands.const.ts +0 -12
  299. package/src/_modules/bot/_collections/bot-global-settings.const.ts +0 -39
  300. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +0 -62
  301. package/src/_modules/bot/_models/bot-command.interface.ts +0 -8
  302. package/src/_modules/bot/_models/bot-global-settings.interface.ts +0 -96
  303. package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +0 -6
  304. package/src/_modules/bot/_models/bot-last-message-date.interface.ts +0 -5
  305. package/src/_modules/bot/_models/bot-message-wrapper.interface.ts +0 -90
  306. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +0 -41
  307. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +0 -10
  308. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +0 -431
  309. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts +0 -641
  310. package/src/_modules/bot/_modules/discord-bot/index.ts +0 -12
  311. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +0 -160
  312. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +0 -55
  313. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +0 -15
  314. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +0 -374
  315. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +0 -447
  316. package/src/_modules/bot/_modules/dynamo-bot/index.ts +0 -15
  317. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +0 -9
  318. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +0 -344
  319. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +0 -197
  320. package/src/_modules/bot/_modules/slack-bot/index.ts +0 -12
  321. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +0 -9
  322. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +0 -345
  323. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +0 -197
  324. package/src/_modules/bot/_modules/teams-bot/index.ts +0 -11
  325. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +0 -116
  326. package/src/_modules/bot/_services/bot-commands.control-service.ts +0 -158
  327. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +0 -285
  328. package/src/_modules/bot/_services/bot-io.control-service.ts +0 -329
  329. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +0 -208
  330. package/src/_modules/bot/_services/bot-main.control-service.ts +0 -489
  331. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +0 -349
  332. package/src/_modules/bot/_services/bot-messaging-provider.service-base.ts +0 -158
  333. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +0 -111
  334. package/src/_modules/bot/_services/bot-routines.control-service.ts +0 -78
  335. package/src/_modules/bot/index.ts +0 -37
  336. package/src/_modules/custom-data/custom-data.controller.spec.ts +0 -49
  337. package/src/_modules/custom-data/custom-data.controller.ts +0 -67
  338. package/src/_modules/custom-data/custom-data.data-service.spec.ts +0 -54
  339. package/src/_modules/custom-data/custom-data.data-service.ts +0 -22
  340. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +0 -28
  341. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +0 -24
  342. package/src/_modules/custom-data/index.ts +0 -9
  343. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +0 -176
  344. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +0 -203
  345. package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +0 -33
  346. package/src/_modules/data-readers/index.ts +0 -11
  347. package/src/_modules/defaults/_collections/default-endpoints.util.ts +0 -487
  348. package/src/_modules/defaults/_models/default-user.data-model.ts +0 -72
  349. package/src/_modules/defaults/_services/default-auth.service.spec.ts +0 -269
  350. package/src/_modules/defaults/_services/default-auth.service.ts +0 -177
  351. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +0 -42
  352. package/src/_modules/defaults/_services/default-socket-events.service.ts +0 -61
  353. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +0 -187
  354. package/src/_modules/defaults/_services/default-user.data-service.ts +0 -98
  355. package/src/_modules/defaults/index.ts +0 -17
  356. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +0 -19
  357. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +0 -366
  358. package/src/_modules/discord-assistant/_collections/dias.util.ts +0 -133
  359. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +0 -20
  360. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +0 -53
  361. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +0 -177
  362. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +0 -108
  363. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +0 -69
  364. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +0 -22
  365. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +0 -27
  366. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +0 -195
  367. package/src/_modules/discord-assistant/_services/dias.service-base.ts +0 -77
  368. package/src/_modules/discord-assistant/index.ts +0 -38
  369. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +0 -34
  370. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +0 -11
  371. package/src/_modules/discord-assistant-voiced/index.ts +0 -36
  372. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +0 -17
  373. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +0 -56
  374. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +0 -214
  375. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +0 -387
  376. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +0 -12
  377. package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +0 -98
  378. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +0 -8
  379. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +0 -6
  380. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +0 -154
  381. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +0 -153
  382. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +0 -264
  383. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +0 -306
  384. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +0 -408
  385. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +0 -488
  386. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +0 -105
  387. package/src/_modules/discord-bot/_services/dibo-routines.control-service.ts +0 -97
  388. package/src/_modules/discord-bot/index.ts +0 -36
  389. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +0 -35
  390. package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +0 -60
  391. package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +0 -17
  392. package/src/_modules/local-vector-search/_services/lvs-bm25.util.spec.ts +0 -159
  393. package/src/_modules/local-vector-search/_services/lvs-bm25.util.ts +0 -206
  394. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +0 -418
  395. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +0 -276
  396. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +0 -480
  397. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +0 -416
  398. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +0 -214
  399. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +0 -186
  400. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +0 -167
  401. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +0 -130
  402. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +0 -509
  403. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +0 -323
  404. package/src/_modules/local-vector-search/index.ts +0 -17
  405. package/src/_modules/logs/_models/file-log-entry.interface.ts +0 -13
  406. package/src/_modules/logs/_models/file-log-read-result.interface.ts +0 -37
  407. package/src/_modules/logs/file-log.service.spec.ts +0 -341
  408. package/src/_modules/logs/file-log.service.ts +0 -466
  409. package/src/_modules/logs/file-logs.controller.spec.ts +0 -245
  410. package/src/_modules/logs/file-logs.controller.ts +0 -165
  411. package/src/_modules/logs/get-file-logs-routing-module.util.ts +0 -51
  412. package/src/_modules/logs/get-logs-routing-module.util.ts +0 -36
  413. package/src/_modules/logs/index.ts +0 -11
  414. package/src/_modules/logs/log-buffer.service.ts +0 -101
  415. package/src/_modules/logs/logs.controller.ts +0 -109
  416. package/src/_modules/logs/logs.service.ts +0 -100
  417. package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +0 -111
  418. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +0 -151
  419. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +0 -125
  420. package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +0 -168
  421. package/src/_modules/mcp/index.ts +0 -13
  422. package/src/_modules/messaging/README.md +0 -354
  423. package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +0 -26
  424. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +0 -22
  425. package/src/_modules/messaging/_collections/msg.util.spec.ts +0 -226
  426. package/src/_modules/messaging/_collections/msg.util.ts +0 -83
  427. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +0 -37
  428. package/src/_modules/messaging/_services/msg-conversation.data-service.ts +0 -146
  429. package/src/_modules/messaging/_services/msg-events.service.spec.ts +0 -219
  430. package/src/_modules/messaging/_services/msg-events.service.ts +0 -267
  431. package/src/_modules/messaging/_services/msg-integration.control-service.ts +0 -180
  432. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +0 -147
  433. package/src/_modules/messaging/_services/msg-main.control-service.ts +0 -572
  434. package/src/_modules/messaging/_services/msg-message.data-service.ts +0 -129
  435. package/src/_modules/messaging/_services/msg.controller.spec.ts +0 -201
  436. package/src/_modules/messaging/_services/msg.controller.ts +0 -370
  437. package/src/_modules/messaging/index.ts +0 -30
  438. package/src/_modules/mock/app-extended-server.mock.ts +0 -201
  439. package/src/_modules/mock/app-integration-test.mock.ts +0 -51
  440. package/src/_modules/mock/app-params.mock.spec.ts +0 -21
  441. package/src/_modules/mock/app-params.mock.ts +0 -9
  442. package/src/_modules/mock/app-server.mock.ts +0 -188
  443. package/src/_modules/mock/auth-service.mock.spec.ts +0 -47
  444. package/src/_modules/mock/auth-service.mock.ts +0 -28
  445. package/src/_modules/mock/controller.mock.spec.ts +0 -26
  446. package/src/_modules/mock/controller.mock.ts +0 -16
  447. package/src/_modules/mock/data-model.mock.spec.ts +0 -111
  448. package/src/_modules/mock/data-model.mock.ts +0 -82
  449. package/src/_modules/mock/email-service-collection.mock.spec.ts +0 -24
  450. package/src/_modules/mock/email-service-collection.mock.ts +0 -15
  451. package/src/_modules/mock/email-service.mock.spec.ts +0 -17
  452. package/src/_modules/mock/email-service.mock.ts +0 -20
  453. package/src/_modules/mock/email-template.mock.html +0 -15
  454. package/src/_modules/mock/endpoint.mock.ts +0 -91
  455. package/src/_modules/mock/socket-client.mock.spec.ts +0 -40
  456. package/src/_modules/mock/socket-client.mock.ts +0 -45
  457. package/src/_modules/mock/socket-server.mock.spec.ts +0 -44
  458. package/src/_modules/mock/socket-server.mock.ts +0 -46
  459. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +0 -107
  460. package/src/_modules/oauth2/_routes/oauth2.controller.ts +0 -99
  461. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +0 -254
  462. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +0 -232
  463. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +0 -585
  464. package/src/_modules/oauth2/_services/oauth2.control-service.ts +0 -654
  465. package/src/_modules/oauth2/index.ts +0 -17
  466. package/src/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.ts +0 -5
  467. package/src/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.ts +0 -10
  468. package/src/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.ts +0 -7
  469. package/src/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.ts +0 -15
  470. package/src/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.ts +0 -9
  471. package/src/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.ts +0 -12
  472. package/src/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.ts +0 -7
  473. package/src/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.ts +0 -15
  474. package/src/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.ts +0 -7
  475. package/src/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.ts +0 -13
  476. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.ts +0 -9
  477. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.ts +0 -14
  478. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.ts +0 -8
  479. package/src/_modules/privacy-lifecycle/_models/privacy-contributor.interface.ts +0 -17
  480. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.ts +0 -21
  481. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.ts +0 -9
  482. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.ts +0 -7
  483. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.ts +0 -10
  484. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.ts +0 -7
  485. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.ts +0 -7
  486. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.ts +0 -11
  487. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.ts +0 -13
  488. package/src/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.ts +0 -19
  489. package/src/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.ts +0 -9
  490. package/src/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.ts +0 -7
  491. package/src/_modules/privacy-lifecycle/_models/privacy-request-open.interface.ts +0 -10
  492. package/src/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.ts +0 -7
  493. package/src/_modules/privacy-lifecycle/_models/privacy-request-record.interface.ts +0 -21
  494. package/src/_modules/privacy-lifecycle/_models/privacy-request-result.interface.ts +0 -8
  495. package/src/_modules/privacy-lifecycle/_models/privacy-request-view.interface.ts +0 -20
  496. package/src/_modules/privacy-lifecycle/index.ts +0 -40
  497. package/src/_modules/privacy-lifecycle/privacy-ledger.control-service.spec.ts +0 -206
  498. package/src/_modules/privacy-lifecycle/privacy-ledger.control-service.ts +0 -253
  499. package/src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.spec.ts +0 -353
  500. package/src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.ts +0 -586
  501. package/src/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.ts +0 -5
  502. package/src/_modules/rate-limit/_models/rate-limit-config.interface.ts +0 -82
  503. package/src/_modules/rate-limit/_models/rate-limit-consume-request.interface.ts +0 -9
  504. package/src/_modules/rate-limit/_models/rate-limit-consume-result.interface.ts +0 -6
  505. package/src/_modules/rate-limit/_models/rate-limit-policy.interface.ts +0 -16
  506. package/src/_modules/rate-limit/_models/rate-limit-store.interface.ts +0 -9
  507. package/src/_modules/rate-limit/index.ts +0 -8
  508. package/src/_modules/rate-limit/rate-limit-in-memory.store.ts +0 -91
  509. package/src/_modules/rate-limit/rate-limit.middleware.spec.ts +0 -488
  510. package/src/_modules/rate-limit/rate-limit.middleware.ts +0 -504
  511. package/src/_modules/scheduler/_models/scheduler-job.interface.ts +0 -35
  512. package/src/_modules/scheduler/get-scheduler-routing-module.util.ts +0 -33
  513. package/src/_modules/scheduler/index.ts +0 -8
  514. package/src/_modules/scheduler/scheduler.controller.spec.ts +0 -42
  515. package/src/_modules/scheduler/scheduler.controller.ts +0 -69
  516. package/src/_modules/scheduler/scheduler.service.spec.ts +0 -141
  517. package/src/_modules/scheduler/scheduler.service.ts +0 -176
  518. package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +0 -22
  519. package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +0 -82
  520. package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +0 -107
  521. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +0 -312
  522. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +0 -311
  523. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +0 -123
  524. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +0 -108
  525. package/src/_modules/scoped-config/index.ts +0 -17
  526. package/src/_modules/server/errors/errors.control-service.spec.ts +0 -246
  527. package/src/_modules/server/errors/errors.control-service.ts +0 -100
  528. package/src/_modules/server/errors/errors.controller.spec.ts +0 -340
  529. package/src/_modules/server/errors/errors.controller.ts +0 -559
  530. package/src/_modules/server/errors/errors.data-service.spec.ts +0 -480
  531. package/src/_modules/server/errors/errors.data-service.ts +0 -867
  532. package/src/_modules/server/index.ts +0 -40
  533. package/src/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.ts +0 -8
  534. package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +0 -20
  535. package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.spec.ts +0 -124
  536. package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.ts +0 -99
  537. package/src/_modules/server/safe-diagnostic/safe-diagnostic.interface.ts +0 -20
  538. package/src/_modules/server/server-status/db-readiness-probe-code.type-enum.ts +0 -13
  539. package/src/_modules/server/server-status/db-readiness-probe-stage.type-enum.ts +0 -7
  540. package/src/_modules/server/server-status/db-readiness-probe.control-service.spec.ts +0 -235
  541. package/src/_modules/server/server-status/db-readiness-probe.control-service.ts +0 -158
  542. package/src/_modules/server/server-status/db-readiness-probe.interface.ts +0 -20
  543. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +0 -70
  544. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +0 -17
  545. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +0 -77
  546. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +0 -37
  547. package/src/_modules/server/server-status/server-status.control-service.spec.ts +0 -672
  548. package/src/_modules/server/server-status/server-status.control-service.ts +0 -491
  549. package/src/_modules/server/server-status/server-status.controller.spec.ts +0 -276
  550. package/src/_modules/server/server-status/server-status.controller.ts +0 -336
  551. package/src/_modules/socket/_enums/socket-security.enum.ts +0 -11
  552. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +0 -32
  553. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +0 -22
  554. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +0 -165
  555. package/src/_modules/socket/_models/socket-presence.control-model.ts +0 -211
  556. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +0 -69
  557. package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +0 -33
  558. package/src/_modules/socket/_services/socket-client.service.spec.ts +0 -15
  559. package/src/_modules/socket/_services/socket-client.service.ts +0 -260
  560. package/src/_modules/socket/_services/socket-server.service.spec.ts +0 -272
  561. package/src/_modules/socket/_services/socket-server.service.ts +0 -1037
  562. package/src/_modules/socket/app-extended.integration.spec.ts +0 -85
  563. package/src/_modules/socket/app-extended.server.ts +0 -648
  564. package/src/_modules/socket/index.ts +0 -42
  565. package/src/_modules/test/get-test-routing-module.util.spec.ts +0 -28
  566. package/src/_modules/test/get-test-routing-module.util.ts +0 -23
  567. package/src/_modules/test/index.ts +0 -12
  568. package/src/_modules/test/test.controller.spec.ts +0 -72
  569. package/src/_modules/test/test.controller.ts +0 -115
  570. package/src/_modules/test-email-sink/_collections/test-email-pattern.const.ts +0 -10
  571. package/src/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.ts +0 -41
  572. package/src/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.ts +0 -112
  573. package/src/_modules/test-email-sink/_services/dynts-test-email-sink.service.ts +0 -141
  574. package/src/_modules/test-email-sink/get-sent-mail-routing-module.util.ts +0 -29
  575. package/src/_modules/test-email-sink/index.ts +0 -11
  576. package/src/_modules/test-email-sink/test-email-sink.controller.ts +0 -83
  577. package/src/_modules/usage/get-usage-routing-module.util.ts +0 -23
  578. package/src/_modules/usage/index.ts +0 -15
  579. package/src/_modules/usage/usage.controller.spec.ts +0 -106
  580. package/src/_modules/usage/usage.controller.ts +0 -140
  581. package/src/_modules/usage/usage.data-service.spec.ts +0 -332
  582. package/src/_modules/usage/usage.data-service.ts +0 -185
  583. package/src/_services/base/api.service-base.spec.ts +0 -125
  584. package/src/_services/base/api.service-base.ts +0 -75
  585. package/src/_services/base/archive-data.service.spec.ts +0 -209
  586. package/src/_services/base/archive-data.service.ts +0 -228
  587. package/src/_services/base/data.service.spec.ts +0 -784
  588. package/src/_services/base/data.service.ts +0 -2792
  589. package/src/_services/base/db.service.encryption.spec.ts +0 -76
  590. package/src/_services/base/db.service.spec.ts +0 -160
  591. package/src/_services/base/db.service.ts +0 -1698
  592. package/src/_services/base/singleton.service-base.spec.ts +0 -28
  593. package/src/_services/base/singleton.service-base.ts +0 -24
  594. package/src/_services/base/singleton.service.spec.ts +0 -114
  595. package/src/_services/base/singleton.service.ts +0 -38
  596. package/src/_services/core/api.service.spec.ts +0 -187
  597. package/src/_services/core/api.service.ts +0 -627
  598. package/src/_services/core/auth.service.spec.ts +0 -159
  599. package/src/_services/core/auth.service.ts +0 -174
  600. package/src/_services/core/collection-growth-monitor.service.spec.ts +0 -119
  601. package/src/_services/core/collection-growth-monitor.service.ts +0 -234
  602. package/src/_services/core/db-stats.service.ts +0 -104
  603. package/src/_services/core/diagnostics.service.spec.ts +0 -44
  604. package/src/_services/core/diagnostics.service.ts +0 -158
  605. package/src/_services/core/email.service.spec.ts +0 -85
  606. package/src/_services/core/email.service.ts +0 -757
  607. package/src/_services/core/event-loop-diag.service.spec.ts +0 -22
  608. package/src/_services/core/event-loop-diag.service.ts +0 -144
  609. package/src/_services/core/global.service.spec.ts +0 -292
  610. package/src/_services/core/global.service.ts +0 -488
  611. package/src/_services/core/memory-guard.service.spec.ts +0 -245
  612. package/src/_services/core/memory-guard.service.ts +0 -481
  613. package/src/_services/core/migration-runner.service.spec.ts +0 -91
  614. package/src/_services/core/migration-runner.service.ts +0 -106
  615. package/src/_services/core/mongo-transaction.control-service.spec.ts +0 -165
  616. package/src/_services/core/mongo-transaction.control-service.ts +0 -148
  617. package/src/_services/core/request-hunter.service.spec.ts +0 -124
  618. package/src/_services/core/request-hunter.service.ts +0 -157
  619. package/src/_services/core/request-telemetry.control-service.spec.ts +0 -217
  620. package/src/_services/core/request-telemetry.control-service.ts +0 -381
  621. package/src/_services/core/service-collection.service.spec.ts +0 -46
  622. package/src/_services/core/service-collection.service.ts +0 -6
  623. package/src/_services/route/controller.service.spec.ts +0 -53
  624. package/src/_services/route/controller.service.ts +0 -148
  625. package/src/_services/route/routing-module.service.spec.ts +0 -98
  626. package/src/_services/route/routing-module.service.ts +0 -339
  627. package/src/_services/server/app-safe-diagnostic.spec.ts +0 -124
  628. package/src/_services/server/app.server-retention.spec.ts +0 -106
  629. package/src/_services/server/app.server.ts +0 -1979
  630. package/src/_services/shared.static-service.spec.ts +0 -133
  631. package/src/_services/shared.static-service.ts +0 -107
  632. package/src/index.ts +0 -120
  633. package/tsconfig.app.json +0 -12
  634. package/tsconfig.json +0 -42
@@ -1,376 +0,0 @@
1
- import {
2
- createHash,
3
- randomBytes,
4
- randomUUID
5
- } from 'crypto';
6
-
7
- import { DyFM_Error } from '@futdevpro/fsm-dynamo';
8
-
9
- import { DyNTS_global_settings } from '../../_collections/global-settings.const';
10
- import { DyNTS_AccountRefreshTokenState_Type } from './_enums/account-refresh-token-state.type-enum';
11
- import { DyNTS_AccountSessionState_Type } from './_enums/account-session-state.type-enum';
12
- import {
13
- DyNTS_AccountRefreshTokenRecord_Interface
14
- } from './_models/account-refresh-token-record.interface';
15
- import {
16
- DyNTS_AccountSessionAdapter_Interface
17
- } from './_models/account-session-adapter.interface';
18
- import { DyNTS_AccountSessionRotate_Interface } from './_models/account-session-rotate.interface';
19
- import { DyNTS_AccountSessionClaims_Interface } from './_models/account-session-claims.interface';
20
- import { DyNTS_AccountSessionContext_Interface } from './_models/account-session-context.interface';
21
- import { DyNTS_AccountSessionRecord_Interface } from './_models/account-session-record.interface';
22
- import { DyNTS_AccountSessionSettings_Interface } from './_models/account-session-settings.interface';
23
- import { DyNTS_AccountSessionTokenPair_Interface } from './_models/account-session-token-pair.interface';
24
- import { DyNTS_AccountSessionView_Interface } from './_models/account-session-view.interface';
25
-
26
- const DEFAULT_ACCESS_TTL_MS: number = 15 * 60 * 1000;
27
- const DEFAULT_REFRESH_TTL_MS: number = 30 * 24 * 60 * 60 * 1000;
28
- const DEFAULT_TOKEN_BYTES: number = 32;
29
- const DEFAULT_MAX_REFRESH_ROTATIONS: number = 100;
30
-
31
- interface DyNTS_NewSessionMaterial {
32
- rawAccessToken: string;
33
- rawRefreshToken: string;
34
- session: DyNTS_AccountSessionRecord_Interface;
35
- refreshToken: DyNTS_AccountRefreshTokenRecord_Interface;
36
- }
37
-
38
- /**
39
- * Opaque, server-revocable account session families with one-time refresh rotation and replay detection.
40
- */
41
- export class DyNTS_AccountSession_ControlService {
42
- private readonly adapter: DyNTS_AccountSessionAdapter_Interface;
43
- private readonly accessTtlMs: number;
44
- private readonly refreshTtlMs: number;
45
- private readonly tokenBytes: number;
46
- private readonly maxRefreshRotations: number;
47
- private readonly clock: () => Date;
48
-
49
- /** Creates a validated session service over an atomic persistence adapter. */
50
- constructor(set: DyNTS_AccountSessionSettings_Interface) {
51
- this.adapter = set.adapter;
52
- this.accessTtlMs = set.accessTtlMs ?? DEFAULT_ACCESS_TTL_MS;
53
- this.refreshTtlMs = set.refreshTtlMs ?? DEFAULT_REFRESH_TTL_MS;
54
- this.tokenBytes = set.tokenBytes ?? DEFAULT_TOKEN_BYTES;
55
- this.maxRefreshRotations = set.maxRefreshRotations ?? DEFAULT_MAX_REFRESH_ROTATIONS;
56
- this.clock = set.clock ?? ((): Date => new Date());
57
- this.validateSettings();
58
- }
59
-
60
- /** Atomically persists a new session family before returning its raw credentials. */
61
- public async issueSession(
62
- subjectId: string,
63
- authorizationVersion: number,
64
- context: DyNTS_AccountSessionContext_Interface
65
- ): Promise<DyNTS_AccountSessionTokenPair_Interface> {
66
- if (
67
- !subjectId
68
- || subjectId.length > 256
69
- || !Number.isSafeInteger(authorizationVersion)
70
- || authorizationVersion < 0
71
- ) {
72
- throw this.buildUnauthorized('SESSION_SUBJECT_MISSING');
73
- }
74
-
75
- this.validateContext(context);
76
-
77
- const now: Date = this.clock();
78
- const material: DyNTS_NewSessionMaterial = this.createMaterial({
79
- subjectId: subjectId,
80
- sessionId: randomUUID(),
81
- familyId: randomUUID(),
82
- generation: 0,
83
- revision: 0,
84
- authorizationVersion: authorizationVersion,
85
- createdAt: now.toISOString(),
86
- refreshExpiresAt: new Date(now.getTime() + this.refreshTtlMs).toISOString(),
87
- materialCreatedAt: now.toISOString(),
88
- context: context,
89
- });
90
-
91
- await this.adapter.createSession({
92
- session: material.session,
93
- refreshToken: material.refreshToken,
94
- });
95
-
96
- return this.toTokenPair(material);
97
- }
98
-
99
- /** Resolves an opaque access token through the server-side active-session record. */
100
- public async authenticateAccessToken(
101
- accessToken: string
102
- ): Promise<DyNTS_AccountSessionClaims_Interface> {
103
- if (!accessToken || accessToken.length > 512) {
104
- throw this.buildUnauthorized('ACCESS_TOKEN_INVALID');
105
- }
106
-
107
- const now: Date = this.clock();
108
- const session: DyNTS_AccountSessionRecord_Interface | null =
109
- await this.adapter.findSessionByAccessTokenHash(this.hashToken(accessToken));
110
-
111
- if (
112
- session?.state !== DyNTS_AccountSessionState_Type.active
113
- || session.accessTokenHash !== this.hashToken(accessToken)
114
- || !this.isFutureDate(session.accessExpiresAt, now)
115
- || !session.subjectId
116
- || !session.sessionId
117
- || !session.familyId
118
- || !Number.isSafeInteger(session.authorizationVersion)
119
- || session.authorizationVersion < 0
120
- ) {
121
- throw this.buildUnauthorized('ACCESS_TOKEN_INVALID');
122
- }
123
-
124
- return {
125
- subjectId: session.subjectId,
126
- sessionId: session.sessionId,
127
- familyId: session.familyId,
128
- authorizationVersion: session.authorizationVersion,
129
- };
130
- }
131
-
132
- /** Rotates a one-time refresh token; replay revokes the complete token family. */
133
- public async rotateRefreshToken(
134
- refreshToken: string,
135
- context: DyNTS_AccountSessionContext_Interface
136
- ): Promise<DyNTS_AccountSessionTokenPair_Interface> {
137
- if (!refreshToken || refreshToken.length > 512) {
138
- throw this.buildUnauthorized('REFRESH_TOKEN_INVALID');
139
- }
140
-
141
- this.validateContext(context);
142
- const now: Date = this.clock();
143
- const tokenHash: string = this.hashToken(refreshToken);
144
- const token: DyNTS_AccountRefreshTokenRecord_Interface | null =
145
- await this.adapter.findRefreshTokenByHash(tokenHash);
146
-
147
- if (!token) {
148
- throw this.buildUnauthorized('REFRESH_TOKEN_INVALID');
149
- }
150
-
151
- if (token.state !== DyNTS_AccountRefreshTokenState_Type.active) {
152
- await this.adapter.revokeFamily(token.familyId, now.toISOString(), 'refresh-token-reuse');
153
-
154
- throw this.buildUnauthorized('REFRESH_TOKEN_REUSE');
155
- }
156
-
157
- const session: DyNTS_AccountSessionRecord_Interface | null =
158
- await this.adapter.findSessionById(token.sessionId);
159
-
160
- if (
161
- session?.state !== DyNTS_AccountSessionState_Type.active
162
- || session.familyId !== token.familyId
163
- || session.subjectId !== token.subjectId
164
- || session.generation !== token.generation
165
- || token.tokenHash !== tokenHash
166
- || !this.isFutureDate(token.expiresAt, now)
167
- || !this.isFutureDate(session.refreshExpiresAt, now)
168
- ) {
169
- await this.adapter.revokeFamily(token.familyId, now.toISOString(), 'refresh-token-invalid-state');
170
-
171
- throw this.buildUnauthorized('REFRESH_TOKEN_INVALID');
172
- }
173
-
174
- if (session.generation >= this.maxRefreshRotations) {
175
- await this.adapter.revokeFamily(token.familyId, now.toISOString(), 'refresh-rotation-limit');
176
-
177
- throw this.buildUnauthorized('REFRESH_ROTATION_LIMIT');
178
- }
179
-
180
- const material: DyNTS_NewSessionMaterial = this.createMaterial({
181
- subjectId: session.subjectId,
182
- sessionId: session.sessionId,
183
- familyId: session.familyId,
184
- generation: session.generation + 1,
185
- revision: session.revision + 1,
186
- authorizationVersion: session.authorizationVersion,
187
- createdAt: session.createdAt,
188
- refreshExpiresAt: session.refreshExpiresAt,
189
- materialCreatedAt: now.toISOString(),
190
- context: context,
191
- });
192
- const rotation: DyNTS_AccountSessionRotate_Interface = {
193
- expectedSessionRevision: session.revision,
194
- currentRefreshTokenHash: tokenHash,
195
- usedAt: now.toISOString(),
196
- replacementSession: material.session,
197
- replacementRefreshToken: material.refreshToken,
198
- };
199
- const didRotate: boolean = await this.adapter.rotateSession(rotation);
200
-
201
- if (!didRotate) {
202
- const winner: DyNTS_AccountRefreshTokenRecord_Interface | null =
203
- await this.adapter.findRefreshTokenByHash(tokenHash);
204
-
205
- if (winner?.state === DyNTS_AccountRefreshTokenState_Type.used) {
206
- await this.adapter.revokeFamily(token.familyId, now.toISOString(), 'refresh-token-reuse-race');
207
-
208
- throw this.buildUnauthorized('REFRESH_TOKEN_REUSE');
209
- }
210
-
211
- throw this.buildUnauthorized('REFRESH_TOKEN_CONFLICT');
212
- }
213
-
214
- return this.toTokenPair(material);
215
- }
216
-
217
- /** Revokes one server-side session. */
218
- public async revokeSession(sessionId: string, reasonCode: string): Promise<void> {
219
- this.validateRevocation(sessionId, reasonCode);
220
- await this.adapter.revokeSession(sessionId, this.clock().toISOString(), reasonCode);
221
- }
222
-
223
- /** Revokes every session belonging to one subject. */
224
- public async revokeAllSubjectSessions(subjectId: string, reasonCode: string): Promise<void> {
225
- this.validateRevocation(subjectId, reasonCode);
226
- await this.adapter.revokeSubject(subjectId, this.clock().toISOString(), reasonCode);
227
- }
228
-
229
- /** Returns a user-safe session projection without token hashes. */
230
- public async listSubjectSessions(subjectId: string): Promise<DyNTS_AccountSessionView_Interface[]> {
231
- if (!subjectId || subjectId.length > 256) {
232
- throw this.buildUnauthorized('SESSION_SUBJECT_MISSING');
233
- }
234
-
235
- const sessions: DyNTS_AccountSessionRecord_Interface[] =
236
- await this.adapter.listSubjectSessions(subjectId);
237
-
238
- return sessions.map((session: DyNTS_AccountSessionRecord_Interface): DyNTS_AccountSessionView_Interface => ({
239
- sessionId: session.sessionId,
240
- state: session.state,
241
- createdAt: session.createdAt,
242
- lastRotatedAt: session.lastRotatedAt,
243
- accessExpiresAt: session.accessExpiresAt,
244
- refreshExpiresAt: session.refreshExpiresAt,
245
- context: { ...session.context },
246
- }));
247
- }
248
-
249
- private createMaterial(set: {
250
- subjectId: string;
251
- sessionId: string;
252
- familyId: string;
253
- generation: number;
254
- revision: number;
255
- authorizationVersion: number;
256
- createdAt: string;
257
- refreshExpiresAt: string;
258
- materialCreatedAt: string;
259
- context: DyNTS_AccountSessionContext_Interface;
260
- }): DyNTS_NewSessionMaterial {
261
- const rawAccessToken: string = randomBytes(this.tokenBytes).toString('base64url');
262
- const rawRefreshToken: string = randomBytes(this.tokenBytes).toString('base64url');
263
- const materialCreatedAt: Date = new Date(set.materialCreatedAt);
264
- const accessExpiresAt: string = new Date(materialCreatedAt.getTime() + this.accessTtlMs).toISOString();
265
- const session: DyNTS_AccountSessionRecord_Interface = {
266
- sessionId: set.sessionId,
267
- familyId: set.familyId,
268
- subjectId: set.subjectId,
269
- accessTokenHash: this.hashToken(rawAccessToken),
270
- accessExpiresAt: accessExpiresAt,
271
- refreshExpiresAt: set.refreshExpiresAt,
272
- state: DyNTS_AccountSessionState_Type.active,
273
- generation: set.generation,
274
- revision: set.revision,
275
- authorizationVersion: set.authorizationVersion,
276
- createdAt: set.createdAt,
277
- lastRotatedAt: set.materialCreatedAt,
278
- revokedAt: '',
279
- revocationReason: '',
280
- context: { ...set.context },
281
- };
282
- const refreshTokenRecord: DyNTS_AccountRefreshTokenRecord_Interface = {
283
- tokenHash: this.hashToken(rawRefreshToken),
284
- sessionId: set.sessionId,
285
- familyId: set.familyId,
286
- subjectId: set.subjectId,
287
- generation: set.generation,
288
- state: DyNTS_AccountRefreshTokenState_Type.active,
289
- expiresAt: set.refreshExpiresAt,
290
- usedAt: '',
291
- };
292
-
293
- return {
294
- rawAccessToken: rawAccessToken,
295
- rawRefreshToken: rawRefreshToken,
296
- session: session,
297
- refreshToken: refreshTokenRecord,
298
- };
299
- }
300
-
301
- private toTokenPair(material: DyNTS_NewSessionMaterial): DyNTS_AccountSessionTokenPair_Interface {
302
- return {
303
- sessionId: material.session.sessionId,
304
- accessToken: material.rawAccessToken,
305
- refreshToken: material.rawRefreshToken,
306
- accessExpiresAt: material.session.accessExpiresAt,
307
- refreshExpiresAt: material.session.refreshExpiresAt,
308
- };
309
- }
310
-
311
- private hashToken(token: string): string {
312
- return createHash('sha256').update(token).digest('hex');
313
- }
314
-
315
- private validateSettings(): void {
316
- if (
317
- !this.adapter
318
- || !Number.isSafeInteger(this.accessTtlMs)
319
- || this.accessTtlMs < 1_000
320
- || this.accessTtlMs > 24 * 60 * 60 * 1000
321
- || !Number.isSafeInteger(this.refreshTtlMs)
322
- || this.refreshTtlMs <= this.accessTtlMs
323
- || this.refreshTtlMs > 366 * 24 * 60 * 60 * 1000
324
- || !Number.isSafeInteger(this.tokenBytes)
325
- || this.tokenBytes < 32
326
- || this.tokenBytes > 128
327
- || !Number.isSafeInteger(this.maxRefreshRotations)
328
- || this.maxRefreshRotations < 1
329
- || this.maxRefreshRotations > 10_000
330
- ) {
331
- throw new DyFM_Error({
332
- status: 500,
333
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|ACCOUNT_SECURITY|SESSION_SETTINGS_INVALID`,
334
- message: 'The account session settings are outside supported safe bounds.',
335
- userMessage: 'The account security service is unavailable.',
336
- issuerService: this.constructor.name,
337
- });
338
- }
339
- }
340
-
341
- private validateContext(context: DyNTS_AccountSessionContext_Interface): void {
342
- if (
343
- !context
344
- || typeof context.deviceName !== 'string'
345
- || typeof context.ipAddressHash !== 'string'
346
- || typeof context.userAgentHash !== 'string'
347
- || context.deviceName.length > 160
348
- || context.ipAddressHash.length > 128
349
- || context.userAgentHash.length > 128
350
- ) {
351
- throw this.buildUnauthorized('SESSION_CONTEXT_INVALID');
352
- }
353
- }
354
-
355
- private validateRevocation(targetId: string, reasonCode: string): void {
356
- if (!targetId || !reasonCode || reasonCode.length > 128) {
357
- throw this.buildUnauthorized('SESSION_REVOCATION_INVALID');
358
- }
359
- }
360
-
361
- private isFutureDate(value: string, now: Date): boolean {
362
- const timestamp: number = new Date(value).getTime();
363
-
364
- return Number.isFinite(timestamp) && timestamp > now.getTime();
365
- }
366
-
367
- private buildUnauthorized(errorCode: string): DyFM_Error {
368
- return new DyFM_Error({
369
- status: 401,
370
- errorCode: `${DyNTS_global_settings.systemShortCodeName}|ACCOUNT_SECURITY|${errorCode}`,
371
- message: 'Opaque account credential validation failed.',
372
- userMessage: 'The session is invalid or has expired. Please sign in again.',
373
- issuerService: this.constructor.name,
374
- });
375
- }
376
- }
@@ -1,31 +0,0 @@
1
- export { DyNTS_AccountPassword_ControlService } from './account-password.control-service';
2
- export { DyNTS_AccountChallenge_ControlService } from './account-challenge.control-service';
3
- export { DyNTS_AccountSession_ControlService } from './account-session.control-service';
4
- export { DyNTS_AccountChallengePurpose_Type } from './_enums/account-challenge-purpose.type-enum';
5
- export { DyNTS_AccountRefreshTokenState_Type } from './_enums/account-refresh-token-state.type-enum';
6
- export { DyNTS_AccountSessionState_Type } from './_enums/account-session-state.type-enum';
7
- export {
8
- DyNTS_AccountRefreshTokenRecord_Interface
9
- } from './_models/account-refresh-token-record.interface';
10
- export { DyNTS_AccountChallengeAdapter_Interface } from './_models/account-challenge-adapter.interface';
11
- export { DyNTS_AccountChallengeIssued_Interface } from './_models/account-challenge-issued.interface';
12
- export { DyNTS_AccountChallengeRecord_Interface } from './_models/account-challenge-record.interface';
13
- export { DyNTS_AccountChallengeResult_Interface } from './_models/account-challenge-result.interface';
14
- export { DyNTS_AccountChallengeSettings_Interface } from './_models/account-challenge-settings.interface';
15
- export {
16
- DyNTS_AccountSessionAdapter_Interface
17
- } from './_models/account-session-adapter.interface';
18
- export { DyNTS_AccountSessionCreate_Interface } from './_models/account-session-create.interface';
19
- export { DyNTS_AccountSessionRotate_Interface } from './_models/account-session-rotate.interface';
20
- export { DyNTS_AccountSessionClaims_Interface } from './_models/account-session-claims.interface';
21
- export { DyNTS_AccountSessionContext_Interface } from './_models/account-session-context.interface';
22
- export { DyNTS_AccountSessionRecord_Interface } from './_models/account-session-record.interface';
23
- export { DyNTS_AccountSessionSettings_Interface } from './_models/account-session-settings.interface';
24
- export { DyNTS_AccountSessionTokenPair_Interface } from './_models/account-session-token-pair.interface';
25
- export { DyNTS_AccountSessionView_Interface } from './_models/account-session-view.interface';
26
- export {
27
- DyNTS_AccountPasswordPolicy_Interface
28
- } from './_models/account-password-policy.interface';
29
- export {
30
- DyNTS_AccountPasswordVerification_Interface
31
- } from './_models/account-password-verification.interface';
@@ -1,33 +0,0 @@
1
- /**
2
- * Config a `DyNTS_AdminApiKey_AuthService.configure(...)`-hoz.
3
- *
4
- * Minden mezo opcionalis — a default-ok megfelelnek a tipikus hasznalat-eset
5
- * elvarasanak (DYNTS_ADMIN_API_KEY env var + x-admin-api-key header +
6
- * Bearer fallback).
7
- */
8
- export interface DyNTS_AdminApiKey_Config {
9
- /**
10
- * Env var nev, ahonnan az admin API key olvasodik.
11
- * Default: `DYNTS_ADMIN_API_KEY`.
12
- *
13
- * Override-olhato pl. multi-tenant deploy-okhoz vagy ha a host app
14
- * mas konvenciot kovet (`MY_APP_ADMIN_KEY`, stb.).
15
- */
16
- envVarName?: string;
17
-
18
- /**
19
- * HTTP header nev (case-insensitive — Express normalizalja lowercase-re).
20
- * Default: `x-admin-api-key`.
21
- */
22
- headerName?: string;
23
-
24
- /**
25
- * Engedi-e az `Authorization: Bearer <key>` fallback-et a primer header
26
- * helyett. Default: `true`.
27
- *
28
- * Hasznos amikor a kliens egy generikus HTTP klienst hasznal ami csak
29
- * az Authorization header-t allitja, vagy amikor proxy-k strippelik
30
- * a custom header-eket.
31
- */
32
- allowAuthorizationBearer?: boolean;
33
- }
@@ -1,200 +0,0 @@
1
- import { Request, Response } from 'express';
2
-
3
- import { DyFM_Error } from '@futdevpro/fsm-dynamo';
4
-
5
- import { DyNTS_AdminApiKey_AuthService } from './admin-api-key.auth-service';
6
-
7
-
8
- const TEST_KEY: string = 'super-secret-admin-key-1234567890';
9
- const TEST_ENV_VAR: string = 'DYNTS_ADMIN_API_KEY';
10
-
11
-
12
- /** Test-only — minimal Request mock-ot ad vissza adott headers-szel. */
13
- const mockReq = (headers: Record<string, string | undefined> = {}): Request => {
14
- return { headers: headers } as unknown as Request;
15
- };
16
-
17
- /** Test-only — minimal Response stub (verify nem irja, csak typing miatt kell). */
18
- const mockRes = (): Response => {
19
- return {} as unknown as Response;
20
- };
21
-
22
-
23
- describe('| DyNTS_AdminApiKey_AuthService', (): void => {
24
- let svc: DyNTS_AdminApiKey_AuthService;
25
- let originalEnv: string | undefined;
26
-
27
- beforeEach((): void => {
28
- svc = DyNTS_AdminApiKey_AuthService.getInstance();
29
- svc._resetForTesting();
30
- originalEnv = process.env[TEST_ENV_VAR];
31
- });
32
-
33
- afterEach((): void => {
34
- svc._resetForTesting();
35
- if (originalEnv === undefined) {
36
- delete process.env[TEST_ENV_VAR];
37
- } else {
38
- process.env[TEST_ENV_VAR] = originalEnv;
39
- }
40
- });
41
-
42
-
43
- describe('| verify() — config errors', (): void => {
44
- it('| 500 ha az env var nincs beallitva', async (): Promise<void> => {
45
- delete process.env[TEST_ENV_VAR];
46
- let thrown: any = null;
47
- try { await svc.verify(mockReq({}), mockRes()); } catch (e) { thrown = e; }
48
- expect(thrown).not.toBeNull();
49
- expect(DyFM_Error.getErrorStatus(thrown)).toBe(500);
50
- expect(DyFM_Error.getErrorCode(thrown)).toContain('DyNTS-AAK-CONFIG');
51
- });
52
-
53
- it('| 500 ha az env var ures string', async (): Promise<void> => {
54
- process.env[TEST_ENV_VAR] = '';
55
- let thrown: any = null;
56
- try { await svc.verify(mockReq({}), mockRes()); } catch (e) { thrown = e; }
57
- expect(thrown).not.toBeNull();
58
- expect(DyFM_Error.getErrorStatus(thrown)).toBe(500);
59
- });
60
- });
61
-
62
- describe('| verify() — auth errors', (): void => {
63
- beforeEach((): void => { process.env[TEST_ENV_VAR] = TEST_KEY; });
64
-
65
- it('| 401 ha a header teljesen hianyzik', async (): Promise<void> => {
66
- let thrown: any = null;
67
- try { await svc.verify(mockReq({}), mockRes()); } catch (e) { thrown = e; }
68
- expect(thrown).not.toBeNull();
69
- expect(DyFM_Error.getErrorStatus(thrown)).toBe(401);
70
- expect(DyFM_Error.getErrorCode(thrown)).toContain('DyNTS-AAK-MISSING');
71
- });
72
-
73
- it('| 401 ha a header rossz erteku', async (): Promise<void> => {
74
- let thrown: any = null;
75
- try {
76
- await svc.verify(mockReq({ 'x-admin-api-key': 'wrong-key' }), mockRes());
77
- } catch (e) { thrown = e; }
78
- expect(thrown).not.toBeNull();
79
- expect(DyFM_Error.getErrorStatus(thrown)).toBe(401);
80
- expect(DyFM_Error.getErrorCode(thrown)).toContain('DyNTS-AAK-INVALID');
81
- });
82
-
83
- it('| 401 length-mismatch eseten is (timing-safe path)', async (): Promise<void> => {
84
- let thrown: any = null;
85
- try {
86
- await svc.verify(mockReq({ 'x-admin-api-key': 'short' }), mockRes());
87
- } catch (e) { thrown = e; }
88
- expect(thrown).not.toBeNull();
89
- expect(DyFM_Error.getErrorStatus(thrown)).toBe(401);
90
- expect(DyFM_Error.getErrorCode(thrown)).toContain('DyNTS-AAK-INVALID');
91
- });
92
- });
93
-
94
- describe('| verify() — happy paths', (): void => {
95
- beforeEach((): void => { process.env[TEST_ENV_VAR] = TEST_KEY; });
96
-
97
- it('| silent pass ha az x-admin-api-key header egyezik', async (): Promise<void> => {
98
- await expectAsync(
99
- svc.verify(mockReq({ 'x-admin-api-key': TEST_KEY }), mockRes()),
100
- ).toBeResolved();
101
- });
102
-
103
- it('| silent pass Authorization Bearer fallback-bol (default engedelyezve)', async (): Promise<void> => {
104
- await expectAsync(
105
- svc.verify(mockReq({ authorization: `Bearer ${TEST_KEY}` }), mockRes()),
106
- ).toBeResolved();
107
- });
108
-
109
- it('| silent pass Authorization Bearer kis-nagybetu case-insensitive', async (): Promise<void> => {
110
- await expectAsync(
111
- svc.verify(mockReq({ authorization: `bearer ${TEST_KEY}` }), mockRes()),
112
- ).toBeResolved();
113
- });
114
- });
115
-
116
- describe('| configure() — overrides', (): void => {
117
- it('| custom envVarName-bol olvas', async (): Promise<void> => {
118
- svc.configure({ envVarName: 'MY_CUSTOM_KEY' });
119
- process.env['MY_CUSTOM_KEY'] = TEST_KEY;
120
-
121
- await expectAsync(
122
- svc.verify(mockReq({ 'x-admin-api-key': TEST_KEY }), mockRes()),
123
- ).toBeResolved();
124
-
125
- delete process.env['MY_CUSTOM_KEY'];
126
- });
127
-
128
- it('| custom headerName-rol olvas', async (): Promise<void> => {
129
- process.env[TEST_ENV_VAR] = TEST_KEY;
130
- svc.configure({ headerName: 'x-my-admin' });
131
-
132
- // Default x-admin-api-key MOSTANTOL NEM mukodik
133
- let thrown: any = null;
134
- try {
135
- await svc.verify(mockReq({ 'x-admin-api-key': TEST_KEY }), mockRes());
136
- } catch (e) { thrown = e; }
137
- expect(thrown).not.toBeNull();
138
- expect(DyFM_Error.getErrorStatus(thrown)).toBe(401);
139
-
140
- // Az uj header viszont igen
141
- await expectAsync(
142
- svc.verify(mockReq({ 'x-my-admin': TEST_KEY }), mockRes()),
143
- ).toBeResolved();
144
- });
145
-
146
- it('| allowAuthorizationBearer=false letiltja a Bearer fallback-et', async (): Promise<void> => {
147
- process.env[TEST_ENV_VAR] = TEST_KEY;
148
- svc.configure({ allowAuthorizationBearer: false });
149
-
150
- let thrown: any = null;
151
- try {
152
- await svc.verify(mockReq({ authorization: `Bearer ${TEST_KEY}` }), mockRes());
153
- } catch (e) { thrown = e; }
154
- expect(thrown).not.toBeNull();
155
- expect(DyFM_Error.getErrorStatus(thrown)).toBe(401);
156
- });
157
-
158
- it('| configure() partial override — a tobbi mezo default marad', (): void => {
159
- svc.configure({ headerName: 'x-only-header' });
160
- const config = svc.getConfig();
161
- expect(config.headerName).toBe('x-only-header');
162
- expect(config.envVarName).toBe('DYNTS_ADMIN_API_KEY');
163
- expect(config.allowAuthorizationBearer).toBe(true);
164
- });
165
-
166
- it('| configure() headerName lowercase-re normalizal', (): void => {
167
- svc.configure({ headerName: 'X-Mixed-Case-Header' });
168
- expect(svc.getConfig().headerName).toBe('x-mixed-case-header');
169
- });
170
- });
171
-
172
- describe('| env-read-on-each-call (dynamic)', (): void => {
173
- it('| env var update kozben hat: install-utani env-modositas ervenyes', async (): Promise<void> => {
174
- delete process.env[TEST_ENV_VAR];
175
- // Elso hivas: env hianyzik → 500
176
- let thrown: any = null;
177
- try { await svc.verify(mockReq({}), mockRes()); } catch (e) { thrown = e; }
178
- expect(DyFM_Error.getErrorStatus(thrown)).toBe(500);
179
-
180
- // Most allitsuk be az env-et
181
- process.env[TEST_ENV_VAR] = TEST_KEY;
182
-
183
- // Masodik hivas helyes header-rel → pass
184
- await expectAsync(
185
- svc.verify(mockReq({ 'x-admin-api-key': TEST_KEY }), mockRes()),
186
- ).toBeResolved();
187
- });
188
- });
189
-
190
- describe('| .verify binding', (): void => {
191
- it('| verify atadhato preProcesses-be detached method-kent (this-binding megtarttva)', async (): Promise<void> => {
192
- process.env[TEST_ENV_VAR] = TEST_KEY;
193
- const detached: (req: Request, res: Response) => Promise<void> = svc.verify;
194
- // NEM call-ban svc.verify(...) hanem szabad fuggveny-kent — bindelt this-re kell hagyatkozni
195
- await expectAsync(
196
- detached(mockReq({ 'x-admin-api-key': TEST_KEY }), mockRes()),
197
- ).toBeResolved();
198
- });
199
- });
200
- });