@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,38 +0,0 @@
1
- # FR-292 (szerver-fél) — a deployolt app-verzió minden válasz headerében
2
-
3
- **Dátum:** 2026-08-08 · **Csomag:** `@futdevpro/nts-dynamo`
4
-
5
- > A teljes (kliens+szerver) leírás a kliens-oldalon:
6
- > `NPM-packages/dynamo-ngx/__documentations/2026-08-08-fr292-app-update-watch.md`.
7
- > Ez a lap csak a szerver-fél szerződését rögzíti.
8
-
9
- ## Mit csinál
10
-
11
- Minden HTTP-válaszra rákerül a deployolt **app-verzió**:
12
-
13
- ```
14
- X-App-Version: 01.15.460
15
- Access-Control-Expose-Headers: Content-Length, Content-Type, X-App-Version
16
- ```
17
-
18
- A kliens (ngx-dynamo `DyNX_AppVersion_Interceptor`) ebből veszi észre, hogy a böngészőben
19
- **betöltött bundle elavult** — anélkül, hogy bárki pollingolna: a jelzés a már menő
20
- API-forgalmon utazik.
21
-
22
- ## Szerződés / döntések
23
-
24
- - **Default: BEKAPCSOLVA.** Informatív header, se PII, se belső részlet. Kikapcsolás:
25
- `DyNTS_global_settings.appVersionHeader = { enabled: false }`.
26
- - **A verzió hívásonként olvasódik** (getter, nem befagyasztott érték): a `systemVersion` az
27
- app-params betöltésekor áll be, ami a middleware felszerelése UTÁN történik. Befagyasztva
28
- örökre `unknown-version` maradna — pont a friss deployon hiányozna a jelzés.
29
- - **`unknown-version` esetén NINCS header.** Egy bizonytalan jelzés hamis „új verzió elérhető"
30
- riasztást szülne a kliensen; inkább hallgatunk.
31
- - **A CORS expose-listához hozzáfűz, nem felülír** (idempotensen). Enélkül a cross-origin
32
- kliens JS-e nem olvashatná ki a headert. Ezért a middleware a **CORS-mount UTÁN** települ
33
- — `initOpenExpress` és `initSecureExpress` egyaránt.
34
-
35
- ## Verifikáció
36
-
37
- `tsc` ✅ 0 hiba · unit ✅ **1634 spec, 0 failure** (ebből 8 új: expose-lista bővítés/idempotencia,
38
- ismeretlen verzió → nincs header de a lánc továbbmegy, hívásonkénti verzió-olvasás, egyedi header-név).
@@ -1,124 +0,0 @@
1
- # 🔴 `DyNTS_FieldEncryption_Util._transform` spread-elte a Mongoose-Documentet — a lista-endpointok burkot adtak vissza
2
-
3
- **Dátum:** 2026-08-14 · **Kérő:** `BFR-MASTERPROMPTER-027` · **Súlyosság:** high (funkcionálisan törött lista-UI)
4
-
5
- ---
6
-
7
- ## 1. A hiba
8
-
9
- ```ts
10
- // field-encryption.util.ts — ELŐTTE
11
- const result: any = Array.isArray(value) ? [ ...(value as any[]) ] : { ...(value as any) };
12
- ```
13
-
14
- Egy mongoose-**Document** adatai **nem saját mezők** — a belső `_doc`-ban ülnek. Ezért a `{ ...doc }`
15
- a **belső burkot** másolja (`$__`, `$isNew`, `_doc`), és az eredmény **már nem Document**, tehát a
16
- `JSON.stringify` sem hívja a `toJSON()`-ját. A kliens így ezt kapja:
17
-
18
- ```json
19
- [{ "$__": {...}, "$isNew": false, "_doc": { "_id": "…", "name": "…" } }]
20
- ```
21
-
22
- `_id` a legfelső szinten **nincs** → a fogyasztó minden id-alapú művelete elhasal.
23
-
24
- ### Élesben mért bizonyíték (`test.master-prompter.hu`, 2026-08-14)
25
-
26
- | endpoint | státusz | első elem KULCSAI | `_id` |
27
- |---|---|---|---|
28
- | `GET /api/flow/flow/get/:userId/:flowId` (egyedi) | 200 | `_id`, `userId`, `ownerId`, `name`, … | ✅ |
29
- | `GET /api/flow/flow/get-all-my/:userId` (**lista**) | 200 | **`$__`, `$isNew`, `_doc`** | ❌ **undefined** |
30
-
31
- Kliens-oldali tünet: a lista-kártyák linkje `/editor/undefined`, a törlés
32
- `DyNX_ApiService call "deleteFlow" ERROR: missing pathParam: "flowId"` dialógussal állt meg.
33
-
34
- ---
35
-
36
- ## 2. Miért CSAK a lista tört el — a mért aszimmetria
37
-
38
- A `DyNTS_DBService` **egyedi** olvasásai már ma is `toObject()`-tel adnak vissza sima objektumot
39
- (`getDataById`, `getDataByDependencyId`, `findByIdAndUpdate`, `findOneAndUpdate`, `createData`).
40
- A **lista/find metódusok NYERS Documentet** adnak tovább — kimérve **11 db**:
41
-
42
- `getDataListByIds` · `getDataListByDependencyId` · `getDataListByDependencyIds` · `getAll` ·
43
- `getDeletedDataList` · `trueDeleteAllData` · `searchData` · `findOne` · `find` · `findWithPaging` ·
44
- (`findLeanBatched` — ez `.lean()`-nel már sima objektumot ad)
45
-
46
- Titkosítás **nélkül** ez ártalmatlan: a nyers Document a `res.send`-en át a `toJSON()`-nal helyesen
47
- szerializálódik. `encrypt: true` mező esetén viszont a read-post-processor (`stringifyDataId` →
48
- `decryptDoc` → `_transform`) **spread-eli** a Documentet, és ezzel elrontja.
49
-
50
- ---
51
-
52
- ## 3. A javítás
53
-
54
- ```ts
55
- // UTÁNA
56
- const plain: any = this._toPlainIfDocument(value);
57
- const result: any = Array.isArray(plain) ? [ ...(plain as any[]) ] : { ...(plain as any) };
58
- ```
59
-
60
- `_toPlainIfDocument` a `$__` **saját mező** + `toJSON` függvény kettősével azonosít egy Documentet
61
- (pontosan az, ami a hibás payloadba kiszivárgott — mongoose-import nélküli, pontos diszkriminátor),
62
- és `toJSON()`-t hív rá.
63
-
64
- **Miért itt, és nem a 11 DB-metódusban:**
65
- 1. Ez az **egy pont** mind a 11 utat rendezi.
66
- 2. A 11 metódus visszatérési **típusát** megváltoztatni (Document → sima objektum) **minden modell
67
- minden fogyasztóját** érintené. Az itteni javítás viszont **csak az `encrypt: true` modelleket**
68
- érinti — ahol a `_transform` amúgy is **már ma is** sima (csak **rossz**) objektumot ad vissza.
69
- ⇒ **a változás nem tud elrontani olyat, ami ma működik.**
70
- 3. `toJSON()` (nem `toObject()`): a titkosítás bevezetése ELŐTT a nyers Document a `res.send`-en át a
71
- `JSON.stringify` → `toJSON()` úton szerializálódott — ez adja vissza **ugyanazt a kimeneti alakot**
72
- (schema-transzformok, virtuals, `__v` együtt).
73
-
74
- ---
75
-
76
- ## 4. 🔴 BLAST-RADIUS — a flotta érintettsége
77
-
78
- A defekt akkor él, ha **mind a három** teljesül: (a) a modellnek van `encrypt: true` mezője ·
79
- (b) a `FDP_CORE_DBCONTENT_CRYPT_KEY` be van állítva (kulcs nélkül a `decryptDoc` korán visszatér) ·
80
- (c) az olvasás **lista-metóduson** megy.
81
-
82
- | Projekt | Modell | Titkosított mezők | Állapot |
83
- |---|---|---|---|
84
- | **master-prompter** | `flow` | `flowSteps.prompt` | 🔴 **élesben igazoltan törött** |
85
- | **master-prompter** | `flow-run` | `results`, `sourceFlow`, `flowRunValues.value` | 🔴 ugyanaz az osztály |
86
- | **adventor** | `campaign` | `storyState`, `memory`, `epilogue` | ⚠️ ugyanaz az osztály — élesben nem mérve |
87
- | **adventor** | `generation` | `content`, `prompt` | ⚠️ ugyanaz az osztály — élesben nem mérve |
88
- | **fdp-token-service** | `token-purchase` | `requestIp`, `euVatNumber` (PII) | ⚠️ ugyanaz az osztály — élesben nem mérve |
89
- | **fdp-token-service** | `manual-invoice` | `realID`, `title`, `fullName`, `companyName`, … | ⚠️ ugyanaz az osztály — élesben nem mérve |
90
-
91
- ⇒ **6 modell, 3 projekt.** A master-prompteren kívül egyik sincs élesben visszamérve — ezeket a
92
- projektek `nts-dynamo`-bumpja után kell ellenőrizni (a lista-endpointjaik `_id`-t adnak-e).
93
- A `manual-invoice` és a `token-purchase` külön figyelmet érdemel: számlázási/PII adat.
94
-
95
- > **Miért nem tűnt fel eddig:** a szerver **200**-at ad, a válasz JSON-ként **érvényes** — csak épp a
96
- > burkot tartalmazza. A UI „üresnek"/működésképtelennek látszik, de sehol nincs hibajelzés.
97
- > Az MP-ben azért derült ki, mert az `e2e-feature` step (a 30m→60m timeout-emelés után) **most futott
98
- > le először végig**.
99
-
100
- ---
101
-
102
- ## 5. Kontroll-mérés — VALÓDI mongoose-Documenttel
103
-
104
- A regresszió-őr **szándékosan nem mockkal** dolgozik: a hiba pont abból eredt, hogy a Document adatai
105
- nem saját mezők — egy kézzel gyártott mock ezt a jellemzőt nem hordozza, tehát a mock-alapú teszt
106
- **akkor is zöld maradna**, ha a hiba visszakerülne. DB-kapcsolat nem kell: a `new Model({...})`
107
- offline is valódi Documentet ad.
108
-
109
- | Eset | A fix nélkül |
110
- |---|---|
111
- | a visszafejtett eredmény sima objektum (nincs `$__`/`$isNew`/`_doc`) | ❌ `Expected [ '$__', '_doc' ] not to contain '$__'` |
112
- | az `_id` megmarad | ❌ `az _id elveszett a transzform során: Expected undefined to be defined` |
113
- | a JSON-szerializált alak a valódi adatot adja | ❌ `… not to contain '_doc'` |
114
- | Document-**tömb** (lista-alak) minden eleme sima objektum, `_id`-vel | ❌ `… not to contain '_doc'` |
115
- | **összesen** | ❌ **4 FAILED** → javítva: ✅ **1644 specs, 0 failures** |
116
-
117
- A mezők helyes visszafejtését is asszertáljuk Documenten (top-level + beágyazott tömb-elem).
118
-
119
- ---
120
-
121
- ## 6. Adopció
122
-
123
- `@futdevpro/nts-dynamo` bump minden érintett szerver-projektben (master-prompter, adventor,
124
- fdp-token-service), majd a lista-endpointok visszamérése (`_id` jelen van-e a válaszban).
@@ -1,46 +0,0 @@
1
- # Dynamo NTS in-memory artifact compiler
2
-
3
- **Contract:** `dynts-artifact-compiler/1`
4
-
5
- **Release candidate:** `@futdevpro/nts-dynamo@1.15.144`
6
-
7
- ## Purpose
8
-
9
- The artifact compiler turns one already policy-validated TypeScript program into a self-contained JavaScript bundle
10
- for a classic browser Worker. It is a shared build capability, not a sandbox, an authorization layer or a source
11
- policy validator. Consumers must validate source before compilation and execute the output inside an independently
12
- enforced runtime boundary.
13
-
14
- ## Guarantees
15
-
16
- - source is supplied through an in-memory virtual entry;
17
- - output uses the asynchronous esbuild API with `bundle:true`, `platform:'browser'`, `format:'iife'` and
18
- `write:false`;
19
- - no sourcemap, embedded source content, legal comment file, plugin supplied by the caller or filesystem output;
20
- - the TypeScript AST is traversed before bundling, so unused imports cannot disappear through tree-shaking before
21
- policy evaluation;
22
- - only caller-allowlisted static package roots resolve from the supplied absolute dependency directory;
23
- - relative, absolute, re-export, import-equals, `require()` and dynamic `import()` module loads fail closed;
24
- - transitive modules resolve only through the installed dependency graph;
25
- - source and output byte limits, allowlist cardinality, package names and path fields have absolute Bedrock
26
- ceilings;
27
- - success returns exactly one JavaScript output with SHA-256 metadata;
28
- - errors return stable codes and optional line/column only, never esbuild message text, source excerpt or path.
29
-
30
- The output is deterministic for the same source, settings, installed lock graph, platform and compiler version. The
31
- consumer must therefore version and checksum the compiler version and dependency lock together with the bundle.
32
-
33
- ## Security boundary
34
-
35
- esbuild's own documentation explicitly states that esbuild is not a sandbox. This module never executes generated
36
- code, and successful compilation must not be interpreted as permission to run it. Direct relative/absolute, Node,
37
- HTTP or non-allowlisted imports fail because only package roots in `allowedPackages` can resolve from the virtual
38
- entry. Trusted allowed packages may resolve their own installed transitive graph.
39
-
40
- ## Verification
41
-
42
- The eight focused Bedrock specs cover deterministic output, a real bundled dependency, non-allowlisted imports,
43
- all supported static and dynamic module-load syntax, content-free syntax diagnostics, invalid request contracts and
44
- source/output budgets. Company Toolmaker is the first direct consumer under `BFR-CTM-008`. The request was
45
- initially recorded as `BFR-CTM-007`, but that identifier already belonged to the atomic Mongo transaction boundary;
46
- the correction preserves both trace histories.
@@ -1,82 +0,0 @@
1
- # Mongo transaction control service
2
-
3
- **Date:** 2026-08-18
4
- **Status:** implemented and verified
5
- **Bedrock capability:** atomic multi-document MongoDB business operation
6
-
7
- ## Purpose
8
-
9
- `DyNTS_MongoTransaction_ControlService` provides one reusable Dynamo NTS transaction boundary for consumers
10
- that must persist related state and audit records atomically. The first consumer is Company Toolmaker's
11
- approval-gated pipeline lifecycle, where a state transition and its immutable transition event must either both
12
- commit or both remain absent.
13
-
14
- The primitive owns transaction lifecycle and safety policy. It deliberately does not own a consuming product's
15
- business rules, collection schemas, idempotency contract or authorization decisions.
16
-
17
- ## Contract
18
-
19
- The caller supplies:
20
-
21
- - a non-empty, diagnostic-only `transactionName`;
22
- - a non-empty `issuer`;
23
- - an optional positive safe-integer `maxCommitTimeMs`;
24
- - an asynchronous task receiving the active Mongoose `ClientSession`.
25
-
26
- The service:
27
-
28
- 1. validates settings before allocating a session;
29
- 2. creates exactly one Mongoose session;
30
- 3. executes the task through `ClientSession.withTransaction`;
31
- 4. uses `snapshot` read concern, `majority` write concern and `primary` read preference;
32
- 5. returns the committed task value, including a legitimate `undefined` task value through an internal wrapper;
33
- 6. always attempts session cleanup after a session was created;
34
- 7. fails closed when no committed result is returned.
35
-
36
- Every MongoDB read or write participating in the atomic operation must explicitly receive the callback's
37
- session. Starting a transaction does not automatically attach the session to unrelated model calls.
38
-
39
- Mongoose may invoke the transaction task more than once when retrying a transient transaction error. The task
40
- must therefore keep all mutations inside the MongoDB transaction and must not send messages, call external
41
- mutation endpoints or perform any other non-transactional side effect. Such work belongs after a successful
42
- commit and requires its own idempotency contract.
43
-
44
- ## Stable failures and data minimization
45
-
46
- | Code | Meaning |
47
- |---|---|
48
- | `DyNTS|MONGO_TRANSACTION|SETTINGS_INVALID` | Required settings are absent or invalid. |
49
- | `DyNTS|MONGO_TRANSACTION|COMMIT_TIME_INVALID` | Commit budget is not a positive safe integer. |
50
- | `DyNTS|MONGO_TRANSACTION|SESSION_FAILED` | A MongoDB session could not be created. |
51
- | `DyNTS|MONGO_TRANSACTION|NO_COMMIT_RESULT` | The transaction callback produced no committed wrapper result. |
52
- | `DyNTS|MONGO_TRANSACTION|FAILED` | Transaction execution or commit failed. |
53
-
54
- Failure objects include only the transaction name and the JavaScript error class name. The original error
55
- message, stack, database payload and task input are not copied into the stable error, preventing accidental
56
- sensitive-data disclosure. Cleanup warnings likewise log only the transaction name and error class name.
57
-
58
- ## Deployment requirement
59
-
60
- MongoDB multi-document transactions require a replica set or a sharded cluster. Production and integration-test
61
- deployments using this primitive must therefore provide a transaction-capable MongoDB topology. A standalone
62
- MongoDB process must fail the operation rather than silently degrading to non-atomic writes.
63
-
64
- ## Verification
65
-
66
- The focused Jasmine suite covers successful commit and result forwarding, shared-session forwarding,
67
- transaction failure sanitization, pre-session validation, invalid commit-budget rejection, session-creation
68
- failure, missing commit result, cleanup failure tolerance and singleton access.
69
-
70
- Measured on 2026-08-18:
71
-
72
- - focused suite: 8 specs, 0 failures;
73
- - complete package suite: 1,653 specs, 0 failures, 146 explicitly pending specs;
74
- - TypeScript build: passed;
75
- - changed-file ESLint: passed without findings;
76
- - package-wide ESLint: completed with the repository's pre-existing warning baseline;
77
- - import validator: blocked by the existing Dynamo ESLint v9 flat-config incompatibility in unrelated files;
78
- - naming validator: reports the repository's existing 6,400-finding baseline in 230 files.
79
-
80
- The two convention-validator baselines are not introduced by this capability. The changed source files pass the
81
- direct ESLint gate, and the full compiler and regression suite are green. Repairing the repository-wide
82
- validator baseline is separate technical-debt work and must not be represented as completed by this change.
@@ -1,132 +0,0 @@
1
- # Standalone account security and privacy Bedrock
2
-
3
- **Date:** 2026-08-18
4
- **Status:** implemented and verified at package-contract level
5
- **Packages:** `@futdevpro/nts-dynamo/account-security`, `@futdevpro/nts-dynamo/privacy-lifecycle`
6
-
7
- ## Purpose and boundary
8
-
9
- This capability lets a Dynamo application own its identity and GDPR lifecycle without redirecting to, or
10
- depending on, a shared Fleet account. It is reusable Bedrock code, not a complete application account system.
11
- The consuming product remains responsible for typed persistence models, email delivery, organization and
12
- permission decisions, HTTP transport, secure browser credential handling, rate limiting, audit wiring and each
13
- product data-domain contributor.
14
-
15
- The modules deliberately expose direct Dynamo contracts. They do not add provider-swapping or replacement
16
- abstractions around Dynamo.
17
-
18
- ## Account-security contract
19
-
20
- ### Passwords
21
-
22
- `DyNTS_AccountPassword_ControlService` uses the versioned `dyn-scrypt-v1` format with a unique random salt,
23
- bounded scrypt parameters and timing-safe verification. It supports a SHA-256 common-password denylist and
24
- returns `needsRehash` when stored parameters differ from current policy. Malformed stored hashes and
25
- attacker-controlled work factors produce a safe negative result while still performing bounded dummy work.
26
- Passwords are never copied into errors.
27
-
28
- ### Email verification and password reset
29
-
30
- `DyNTS_AccountChallenge_ControlService` issues opaque 256-bit-or-stronger credentials for two isolated purposes:
31
- email verification and password reset. Only SHA-256 token hashes enter persistence. Issuing a replacement
32
- atomically revokes its active predecessor for the same subject and purpose. Consumption must be a single
33
- compare-and-set operation that validates purpose, active state and expiry before marking the record consumed.
34
- Raw tokens are returned only once after successful persistence.
35
-
36
- Enumeration-neutral register/reset responses are an HTTP-boundary responsibility: the service must not reveal
37
- whether an email exists. The application must rate-limit issue and consume operations and deliver the raw token
38
- only through an approved out-of-band channel.
39
-
40
- ### Sessions
41
-
42
- `DyNTS_AccountSession_ControlService` uses opaque random access and refresh credentials; no self-contained JWT is
43
- required. Only hashes are stored. An access credential resolves through an active server-side session, so
44
- logout, password change, account restriction and incident response can revoke it immediately.
45
-
46
- Refresh credentials are one-time ledger entries. Rotation uses an adapter-provided compare-and-set transaction.
47
- Reuse of an already consumed credential, including a concurrent rotation race, revokes the entire family. The
48
- user-safe session projection excludes subject, family and token hashes. The application decides authorization
49
- before calling individual or subject-wide revocation methods.
50
-
51
- The adapter contract is normative: session creation, token replacement and token-state changes must be atomic.
52
- An in-memory or multi-step production adapter would invalidate replay protection.
53
-
54
- ## Privacy lifecycle contract
55
-
56
- ### Data-subject requests
57
-
58
- `DyNTS_PrivacyLifecycle_ControlService` creates subject-, organization- and request-type-scoped idempotency
59
- hashes. The raw idempotency key is never stored. Each request has an explicit policy-supplied deadline and uses
60
- the following durable state family:
61
-
62
- `received → identity-verified → scoped → planned → executing → verifying → completed`
63
-
64
- Supported terminal/non-happy states are `partially-completed`, `rejected-with-reason`, `cancelled`,
65
- `failed-retryable` and `failed-terminal`. The current orchestrator produces `completed` or
66
- `partially-completed`; policy-specific rejection/cancellation/failure entry points remain consumer-owned until a
67
- shared cross-product transition contract is justified.
68
-
69
- Every registered contributor is ordered deterministically. Its durable `plan`, idempotent `execute` and
70
- read-only `verify` operations return content-free structured outcomes. Planning finishes and is persisted before
71
- the request enters `planned`; a planning failure becomes a resumable partial outcome without executing another
72
- domain against an incomplete plan set. Successful contributors are skipped on resume and failed contributors
73
- are retried. A retention result is valid only with an explicit matching basis code. Cross-subject reads return
74
- the same not-found response as an absent request.
75
-
76
- The consuming application must register contributors for identity, session, membership, pipelines/projects,
77
- agent sessions, artifacts, audit, support, subscription/billing and backup where those domains exist. Export
78
- contributors must generate machine-readable, checksummed, short-lived artifacts; erasure contributors must use
79
- hard delete by default and anonymize only where a documented retention basis requires it.
80
-
81
- ### Legal acceptance and consent
82
-
83
- `DyNTS_PrivacyLedger_ControlService` keeps legal acceptance separate from optional-purpose consent. Legal records
84
- bind the subject to an exact document type, version and SHA-256 checksum. Consent is append-only and scoped by
85
- purpose and policy version; withdrawal creates a new event instead of mutating history. The ledger projection
86
- returns both full history and the latest decision per purpose.
87
-
88
- Adapters must enforce tenant/subject scoping and idempotency uniqueness. Document and privacy-notice content is
89
- not stored in these event records; the checksum binds the separately versioned canonical document.
90
-
91
- ## Data-minimization and diagnostics
92
-
93
- - No password, bearer credential, challenge credential or raw idempotency key is persisted by these services.
94
- - Stable error messages contain no email address, token, password, file content, cell content or contributor
95
- exception text.
96
- - Session context is intentionally pre-redacted: device label plus IP and user-agent hashes only.
97
- - Contributor outcomes carry codes, counts, checksums and retention basis, not exported personal data.
98
- - User-facing request, consent and legal-acceptance views omit idempotency hashes and request fingerprints;
99
- those fields remain server-side persistence metadata.
100
- - Consumers must preserve this boundary in logs, audits, HTTP errors and analytics snapshots.
101
-
102
- ## Required production integrations
103
-
104
- Before a product can claim production readiness, it must provide and test:
105
-
106
- 1. transaction-safe MongoDB adapters for challenges, sessions, privacy requests and ledgers;
107
- 2. normalized unique identity records and verified-email privilege gates;
108
- 3. API rate limits for register, login, challenge issue/consume and refresh;
109
- 4. a reviewed browser credential transport/storage threat model;
110
- 5. organization membership and permission checks at every tenant-scoped route;
111
- 6. all applicable DSAR contributors, export delivery expiry and backup restore/re-erasure procedure;
112
- 7. content-redaction snapshots for logs, errors, analytics and audit events;
113
- 8. automated feature and cross-feature user-journey E2E coverage including cleanup.
114
-
115
- ## Verification
116
-
117
- Measured on 2026-08-18:
118
-
119
- - account password suite: 7 specs, 0 failures;
120
- - session suite: 10 specs, 0 failures;
121
- - one-time challenge suite: 5 specs, 0 failures;
122
- - privacy lifecycle suite: 7 specs, 0 failures;
123
- - privacy ledger suite: 5 specs, 0 failures;
124
- - complete package suite: 1,687 specs, 0 failures, 146 explicitly pending specs;
125
- - TypeScript build: passed;
126
- - changed-module ESLint: passed with zero warnings;
127
- - release tarball: local untracked `SKILLS.md` explicitly excluded by `.npmignore`;
128
- - package import validator: existing baseline, 82 findings in 76 files;
129
- - package naming validator: existing baseline, 101 findings in 68 files.
130
-
131
- The repository-wide convention findings predate this capability and are not represented as fixed. The new
132
- modules pass their direct compiler, lint and regression gates.
@@ -1,59 +0,0 @@
1
- # Dynamo NTS distributed rate-limit boundary
2
-
3
- **Contract:** `dynts-rate-limit/2`
4
-
5
- **Release candidate:** `@futdevpro/nts-dynamo@1.15.147`
6
-
7
- **Consumer trace:** `BFR-CTM-010`
8
-
9
- ## Purpose
10
-
11
- This Bedrock boundary makes one rate-limit decision atomic across application processes while keeping persistence
12
- application-owned. It replaces the former process-local-only middleware behavior without adding a replaceable
13
- framework abstraction: consumers use the published `@futdevpro/nts-dynamo/rate-limit` types and middleware
14
- directly and provide the storage adapter required by their deployment.
15
-
16
- ## Contract
17
-
18
- `DyNTS_RateLimit_Store_Interface.consume(...)` receives one opaque bucket key, the active limit and window, the
19
- positive request cost and a caller-supplied millisecond timestamp. It resolves one committed decision containing
20
- `allowed`, `remaining` and `resetAt`. A production host enables `requireSharedStore` and supplies:
21
-
22
- - a store advertising `storeKind: shared`;
23
- - an explicit opaque subject extractor;
24
- - an explicit stable endpoint-group extractor.
25
-
26
- Configuration fails closed when any of these requirements is absent. Runtime store exceptions and malformed
27
- store results become stable 503 errors without reflecting the bucket, the adapter exception or request content.
28
- Policy rejection remains a stable 429 and includes the committed reset interval in response headers.
29
-
30
- ## Security and privacy properties
31
-
32
- - The middleware never reads `x-forwarded-for` directly. Its local default uses Express `req.ip`, whose proxy
33
- trust policy belongs to the host; production still requires an explicit extractor.
34
- - Extractor exceptions, invalid callbacks, invalid clocks and malformed bucket components are converted to
35
- content-free errors.
36
- - Limits, windows, costs, timestamps, bucket component lengths and store results have hard numeric/structural
37
- bounds.
38
- - No raw storage key or adapter exception is placed in the generated error.
39
- - The shared-store interface carries opaque identifiers only. The consuming application is responsible for
40
- purpose-scoped pseudonymization and retention.
41
- - The module starts no timer, cleanup loop, polling process or background task. Local cleanup is caller-triggered.
42
-
43
- ## Semantics
44
-
45
- The provided in-memory implementation uses exact sliding-window timestamps. It exists for deterministic tests and
46
- explicitly single-instance development, not production. A shared implementation may use exact sliding-window
47
- semantics or a conservatively safe equivalent, but its read/prune/admit/write decision must be atomic. Concurrent
48
- requests for the final permit may produce exactly one successful decision.
49
-
50
- Weighted requests consume multiple permit units. An unsuccessful weighted request does not mutate the committed
51
- usage, so `remaining` can be positive but lower than the attempted cost.
52
-
53
- ## Verification
54
-
55
- The focused Bedrock suite covers singleton behavior, forwarding-header spoof resistance, deterministic window
56
- reset, weighted cost, subject/endpoint isolation, headers, policy precedence, invalid configuration atomicity,
57
- the production shared-store gate, cross-instance state, concurrent final-permit behavior, non-reflective store
58
- failure, malformed store results and explicit timer-free cleanup. Full-package compilation, tests, lint, import and
59
- naming validation are release gates for the candidate.
@@ -1,54 +0,0 @@
1
- # BFR-CTM-018 — content-free endpoint error boundary
2
-
3
- **Date:** 2026-08-22
4
- **Status:** implemented and package-verified; consumer adoption is recorded by the requesting project
5
- **Target:** `@futdevpro/nts-dynamo`
6
- **Contract:** `dynts-safe-diagnostic/1`
7
-
8
- ## Measured defect
9
-
10
- The shared `DyNTS_Endpoint_Params` error path constructed framework logs from route identity, path parameter
11
- values, raw `Error.message`, stack location and a request snapshot. The snapshot included URL, query, request
12
- metadata, header keys, IP address and an authorization-header shape. A plain error and a consumer global-handler
13
- rejection were also passed directly to Dynamo loggers. The primary raw log was unconditional, so disabling
14
- application API-error logging did not close the disclosure path.
15
-
16
- The same execution function declared a second local `issuer` variable inside the request callback. It shadowed
17
- the issuer captured by the error path, so a failing endpoint forwarded `undefined` rather than the resolved
18
- account identity to the consumer global handler.
19
-
20
- ## Implemented Bedrock response
21
-
22
- - Added the closed `endpoint` safe-diagnostic stage.
23
- - Projected constructor, issuer-resolution, task/pre-process, consumer-handler, secondary-handler and circulation
24
- failures through `DyNTS_SafeDiagnostic_ControlService`.
25
- - Removed framework-owned raw message, stack, route, request and response-preview logging from endpoint failures.
26
- - Removed mutation of caller errors with `endpointInfo` and `requestDebug` snapshots.
27
- - Wrapped plain failures with a static internal message and the immutable safe diagnostic while retaining the
28
- existing public endpoint error-code shape and validated HTTP status behavior.
29
- - Sanitized and bounded developer-owned system and endpoint identifiers used in the compatibility error code.
30
- - Preserved raw failure/request access only for the explicitly installed application global handler; a rejection
31
- from that handler is itself projected before logging.
32
- - Removed the issuer shadow so the resolved account identity reaches the application-owned error persistence
33
- boundary.
34
-
35
- Normal successful-request logging is outside this change. Its existing request-param, body and response fields
36
- remain explicit caller-controlled options. This BFR makes the error path content-free regardless of those options
37
- or detailed logging mode.
38
-
39
- ## Verification evidence
40
-
41
- - TypeScript production build: passed.
42
- - Focused BFR canary regression: 1/1 passed.
43
- - Full Jasmine package regression: 1750 specs, 0 failures, 146 explicit pending specs.
44
- - Package ESLint: 0 errors; the repository retains its pre-existing warning baseline.
45
- - Canary matrix: raw error message, secondary handler stack/token, workbook/sheet value, URL, query, header,
46
- authorization value and path parameter are absent from every captured Dynamo logger call and from the client
47
- response. The 503 status, safe diagnostic and resolved issuer are asserted.
48
- - Import validator baseline: 80 findings in 74 pre-existing files; the modified endpoint and safe-diagnostic files
49
- introduce no import finding.
50
- - Naming validator baseline: 100 findings in 67 pre-existing files. The endpoint class carries its existing public
51
- naming findings; this compatible security fix does not rename that public API.
52
-
53
- The validator baselines are reported as measured debt, not as green evidence. No unrelated mass rename or import
54
- rewrite is bundled into this security BFR.
@@ -1,65 +0,0 @@
1
- # BFR-CTM-020 — content-free request correlation and telemetry
2
-
3
- **Date:** 2026-08-22
4
- **Status:** implemented and package-verified; consumer adoption is recorded by the requesting project
5
- **Target:** `@futdevpro/nts-dynamo`
6
- **Contract:** `dynts-request-telemetry/1`
7
-
8
- ## Measured platform gap
9
-
10
- `DyNTS_App` previously exposed only an application middleware hook after API routing. A consumer could not install
11
- one correlation and request-metric boundary before load shedding and every open and secure route without
12
- duplicating Bedrock server setup or depending on Express internals. This prevented a direct Dynamo implementation
13
- of content-free, route-aware operational telemetry.
14
-
15
- ## Implemented Bedrock capability
16
-
17
- - `DyNTS_App.getRequestTelemetrySettings()` opts the application into one immutable process-wide configuration.
18
- - Both Express applications mount the telemetry middleware after CORS and the application-version header, but
19
- before load shedding and API routes.
20
- - Every request receives a server-generated UUID in `X-Correlation-Id`. Incoming correlation values are never
21
- trusted or reused, and the response header is exposed through the existing CORS-header composition utility.
22
- - `DyNTS_RoutingModule` labels a request only from its declared full route template before endpoint execution.
23
- - `DyNTS_RequestTelemetry_ControlService.snapshot()` returns a synchronous copy of bounded, event-driven counters:
24
- started, completed, aborted and in-flight requests; status classes; duration buckets; and per method/declared-route
25
- counts, aborts, server errors, total duration and maximum duration.
26
- - Response `finish` and `close` listeners settle exactly once and remove each other. Header, listener or completion
27
- observation failures are contained and cannot change the application response path.
28
- - Configuration is validated and idempotent. Conflicting configuration, invalid cardinality and invalid duration
29
- buckets fail with stable content-free codes during application setup.
30
-
31
- ## Privacy and boundedness contract
32
-
33
- The telemetry implementation never reads or retains concrete URL, query, request or response body, request header
34
- values, IP address, user agent, account identity, workbook data, error content or stack information. Correlation IDs
35
- are generated opaque identifiers and are not accepted from callers.
36
-
37
- Route labels accept only the closed declared-template character set and a 160-character maximum. Invalid labels and
38
- identities beyond the configured cardinality cap aggregate into `__other__`; requests that do not reach a Dynamo
39
- route aggregate into `__unmatched__`. Methods use a fixed allowlist, duration buckets are strictly increasing and
40
- bounded, and every numeric accumulator saturates at `Number.MAX_SAFE_INTEGER`. No timer, poller, background worker,
41
- network exporter or persistence layer is started by this capability.
42
-
43
- ## Consumer adoption contract
44
-
45
- A consumer enables the capability directly in its `DyNTS_App` subclass and reads the singleton snapshot directly
46
- for its authenticated operator surface or synchronous diagnostic evidence. An application error boundary may call
47
- `getCorrelationId(req)` while the request is active and persist that opaque identifier beside its own content-free
48
- error record. Alert evaluation, retention and external export remain explicit consumer policies; Bedrock supplies
49
- the safe measurement primitive and does not invent those policies.
50
-
51
- ## Verification evidence
52
-
53
- - TypeScript build: passed.
54
- - Focused BFR regression: 8/8 specs passed.
55
- - Final full Jasmine regression: 1758 specs, 0 failures, 146 explicit pending specs.
56
- - New telemetry source and specs: zero ESLint errors and zero warnings.
57
- - Package ESLint baseline: zero errors and 17,600 pre-existing warnings in 376 files. The new telemetry files are
58
- warning-free; the modified routing and app hosts retain their existing warning baseline.
59
- - Import validator baseline: 80 findings in 74 pre-existing files; none is in a new telemetry file or caused by the
60
- added imports.
61
- - Naming validator baseline: 100 findings in 67 pre-existing files; none is in a new telemetry file.
62
- - Canary coverage: generated correlation, caller-value rejection, CORS exposure, finish/close exactly-once behavior,
63
- aborted requests, 5xx aggregation, declared-route identity, invalid-route redaction, cardinality overflow, disabled
64
- no-op behavior, per-template method preservation, immutable configuration, invalid bounds, header setup containment
65
- and late completion containment.