@futdevpro/nts-dynamo 1.15.157 → 1.15.163

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (642) hide show
  1. package/LICENSE +17 -17
  2. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts +7 -1
  3. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts.map +1 -1
  4. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js +6 -0
  5. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js.map +1 -1
  6. package/build/_modules/account-security/account-challenge.control-service.d.ts +1 -1
  7. package/build/_modules/account-security/account-challenge.control-service.d.ts.map +1 -1
  8. package/build/_modules/account-security/account-challenge.control-service.js +1 -1
  9. package/build/_modules/account-security/account-challenge.control-service.js.map +1 -1
  10. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.d.ts +71 -0
  11. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.d.ts.map +1 -0
  12. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.js +3 -0
  13. package/build/_modules/privacy-lifecycle/_models/privacy-export-artifact.interface.js.map +1 -0
  14. package/build/_modules/privacy-lifecycle/index.d.ts +3 -0
  15. package/build/_modules/privacy-lifecycle/index.d.ts.map +1 -1
  16. package/build/_modules/privacy-lifecycle/index.js +5 -1
  17. package/build/_modules/privacy-lifecycle/index.js.map +1 -1
  18. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.d.ts +48 -0
  19. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.d.ts.map +1 -0
  20. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.js +332 -0
  21. package/build/_modules/privacy-lifecycle/privacy-export-artifact.control-service.js.map +1 -0
  22. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.d.ts +25 -0
  23. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.d.ts.map +1 -0
  24. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.js +126 -0
  25. package/build/_modules/privacy-lifecycle/privacy-export-artifact.mongo-store.js.map +1 -0
  26. package/package.json +11 -4
  27. package/.c8rc.json +0 -26
  28. package/.copilot/patterns.json +0 -8
  29. package/.cursor/rules/__assistant_guide.mdc +0 -30
  30. package/.cursor/rules/__main.mdc +0 -64
  31. package/.cursor/rules/_ag_backend-structure.mdc +0 -86
  32. package/.cursor/rules/_ag_backend.mdc +0 -16
  33. package/.cursor/rules/_ag_debug.mdc +0 -8
  34. package/.cursor/rules/_ag_documentation_writing_rules.mdc +0 -372
  35. package/.cursor/rules/_ag_file-refactoring.mdc +0 -113
  36. package/.cursor/rules/_ag_fixes_rules.mdc +0 -6
  37. package/.cursor/rules/_ag_frontend-structure.mdc +0 -87
  38. package/.cursor/rules/_ag_frontend.mdc +0 -40
  39. package/.cursor/rules/_ag_import-rules.mdc +0 -45
  40. package/.cursor/rules/_ag_naming.mdc +0 -116
  41. package/.cursor/rules/_ag_running_commands.mdc +0 -5
  42. package/.cursor/rules/_ag_server-controller.mdc +0 -6
  43. package/.cursor/rules/_ag_should-be.mdc +0 -7
  44. package/.cursor/rules/_ag_swearing.mdc +0 -47
  45. package/.cursor/rules/ai_development_guide.md +0 -61
  46. package/.cursor/rules/ai_directives.md +0 -114
  47. package/.cursor/rules/cursor-rules.md +0 -160
  48. package/.cursor/rules/default-command.mdc +0 -465
  49. package/.cursor/rules/error_code_pattern.md +0 -40
  50. package/.cursor/rules/saved rule mcp server use.md +0 -16
  51. package/.dynamo/pipeline.cicd.config.json +0 -190
  52. package/.dynamo/version-bump.config.json +0 -5
  53. package/.github/workflows/main.yml +0 -438
  54. package/.husky/pre-commit +0 -3
  55. package/.vscode/settings.json +0 -11
  56. package/BuildPackage.bat +0 -1
  57. package/HOWTO.md +0 -15
  58. package/__documentations/2026-04-28-logs-module.md +0 -49
  59. package/__documentations/2026-05-17-oai-compatible-providers.md +0 -229
  60. package/__documentations/2026-05-17-static-client-serving-howto.md +0 -144
  61. package/__documentations/2026-06-01-fr041-cors-middleware.md +0 -96
  62. package/__documentations/2026-06-01-fr047-p2p3-function-calling.md +0 -81
  63. package/__documentations/2026-06-15-fr193-memory-guard.md +0 -73
  64. package/__documentations/2026-08-08-fr292-app-version-header.md +0 -38
  65. package/__documentations/2026-08-14-field-encryption-mongoose-document-spread.md +0 -124
  66. package/__documentations/2026-08-18-artifact-compiler.md +0 -46
  67. package/__documentations/2026-08-18-mongo-transaction-control-service.md +0 -82
  68. package/__documentations/2026-08-18-standalone-account-security-and-privacy-bedrock.md +0 -132
  69. package/__documentations/2026-08-21-distributed-rate-limit-bfr-ctm-010.md +0 -59
  70. package/__documentations/2026-08-22-bfr-ctm-018-content-free-endpoint-errors.md +0 -54
  71. package/__documentations/2026-08-22-bfr-ctm-020-content-free-request-telemetry.md +0 -65
  72. package/__documentations/2026-08-22-content-free-process-error-boundary.md +0 -111
  73. package/__documentations/2026-08-22-npm-token-state-classifier.md +0 -92
  74. package/__documentations/nts-integration-tests-2026-03-17.md +0 -26
  75. package/__documentations/plans/BEDROCK-HYPERPLAN.md +0 -95
  76. package/_specifications/BACKLOG.md +0 -92
  77. package/_specifications/TODO.md +0 -15
  78. package/_specifications/agent.md +0 -138
  79. package/eslint.config.js +0 -3
  80. package/nodemon.json +0 -24
  81. package/pnpm-workspace.yaml +0 -6
  82. package/scripts/_seed-out/aim-seed.fixtures.ts +0 -161
  83. package/scripts/_seed-out/image-raw.json +0 -1
  84. package/scripts/_seed-out/llm-expand-raw.json +0 -60
  85. package/scripts/_seed-out/sample-image.png +0 -0
  86. package/scripts/_seed-out/seed-raw.json +0 -153
  87. package/scripts/ai-fixture-seed.js +0 -126
  88. package/scripts/run-coverage-tests.js +0 -28
  89. package/spec/support/helpers/spec-reporter-loader.js +0 -359
  90. package/spec/support/helpers/ts-node-helper.js +0 -93
  91. package/spec/support/jasmine.coverage.json +0 -24
  92. package/spec/support/jasmine.json +0 -24
  93. package/src/_assets/dynamo-nts-logo-128.png +0 -0
  94. package/src/_assets/dynamo-nts-logo-256.png +0 -0
  95. package/src/_assets/dynamo-nts-logo-512.png +0 -0
  96. package/src/_assets/dynamo-nts-logo-64.png +0 -0
  97. package/src/_collections/app-version-header.util.spec.ts +0 -108
  98. package/src/_collections/app-version-header.util.ts +0 -74
  99. package/src/_collections/archive-service-registry.const.ts +0 -21
  100. package/src/_collections/archive.util.spec.ts +0 -57
  101. package/src/_collections/archive.util.ts +0 -18
  102. package/src/_collections/atlas-default-db-options.const.ts +0 -10
  103. package/src/_collections/client-safe-error.util.spec.ts +0 -151
  104. package/src/_collections/client-safe-error.util.ts +0 -107
  105. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +0 -11
  106. package/src/_collections/default-fallback-cache-max-age.const.ts +0 -2
  107. package/src/_collections/default-not-found-page.const.spec.ts +0 -19
  108. package/src/_collections/default-not-found-page.const.ts +0 -22
  109. package/src/_collections/default-socket-path.const.spec.ts +0 -12
  110. package/src/_collections/default-socket-path.const.ts +0 -2
  111. package/src/_collections/field-encryption.util.spec.ts +0 -195
  112. package/src/_collections/field-encryption.util.ts +0 -222
  113. package/src/_collections/get-environment-settings.util.spec.ts +0 -210
  114. package/src/_collections/get-environment-settings.util.ts +0 -49
  115. package/src/_collections/global-settings.const.ts +0 -126
  116. package/src/_collections/load-shed.util.spec.ts +0 -62
  117. package/src/_collections/load-shed.util.ts +0 -51
  118. package/src/_collections/mongo-reconnect-guard.util.spec.ts +0 -52
  119. package/src/_collections/mongo-reconnect-guard.util.ts +0 -172
  120. package/src/_collections/npm-token-check.util.spec.ts +0 -218
  121. package/src/_collections/npm-token-check.util.ts +0 -327
  122. package/src/_collections/sample.env +0 -21
  123. package/src/_collections/security-headers.util.spec.ts +0 -98
  124. package/src/_collections/security-headers.util.ts +0 -96
  125. package/src/_collections/signed-url.util.spec.ts +0 -198
  126. package/src/_collections/signed-url.util.ts +0 -170
  127. package/src/_collections/star.controller.spec.ts +0 -224
  128. package/src/_collections/star.controller.ts +0 -130
  129. package/src/_collections/static-cache-control.util.spec.ts +0 -47
  130. package/src/_collections/static-cache-control.util.ts +0 -25
  131. package/src/_enums/data-model-type.enum.ts +0 -14
  132. package/src/_enums/data-service-function.enum.ts +0 -24
  133. package/src/_enums/predefined-data-types.enum.ts +0 -17
  134. package/src/_enums/route-security.enum.ts +0 -12
  135. package/src/_models/control-models/api-call-params.control-model.spec.ts +0 -152
  136. package/src/_models/control-models/api-call-params.control-model.ts +0 -142
  137. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +0 -52
  138. package/src/_models/control-models/app-ext-system-controls.control-model.ts +0 -9
  139. package/src/_models/control-models/app-params.control-model.spec.ts +0 -229
  140. package/src/_models/control-models/app-params.control-model.ts +0 -137
  141. package/src/_models/control-models/app-system-controls.control-model.spec.ts +0 -31
  142. package/src/_models/control-models/app-system-controls.control-model.ts +0 -9
  143. package/src/_models/control-models/endpoint-params.control-model.spec.ts +0 -754
  144. package/src/_models/control-models/endpoint-params.control-model.ts +0 -575
  145. package/src/_models/control-models/http-settings.control-model.spec.ts +0 -77
  146. package/src/_models/control-models/http-settings.control-model.ts +0 -37
  147. package/src/_models/control-models/system-control.control-model.spec.ts +0 -27
  148. package/src/_models/control-models/system-control.control-model.ts +0 -12
  149. package/src/_models/data-models/schema-migration.data-model.ts +0 -50
  150. package/src/_models/interfaces/app-version-header-settings.interface.ts +0 -17
  151. package/src/_models/interfaces/certification-settings.interface.ts +0 -7
  152. package/src/_models/interfaces/compare-data-options.interface.ts +0 -27
  153. package/src/_models/interfaces/compare-data-result.interface.ts +0 -12
  154. package/src/_models/interfaces/cors-settings.interface.spec.ts +0 -52
  155. package/src/_models/interfaces/cors-settings.interface.ts +0 -56
  156. package/src/_models/interfaces/db-query-options.interface.ts +0 -33
  157. package/src/_models/interfaces/environment-settings.interface.ts +0 -59
  158. package/src/_models/interfaces/global-log-settings.interface.ts +0 -171
  159. package/src/_models/interfaces/global-service-settings.interface.ts +0 -47
  160. package/src/_models/interfaces/global-settings.interface.ts +0 -294
  161. package/src/_models/interfaces/migration-entry.interface.ts +0 -19
  162. package/src/_models/interfaces/mongo-transaction-settings.interface.ts +0 -9
  163. package/src/_models/interfaces/request-telemetry-settings.interface.ts +0 -9
  164. package/src/_models/interfaces/request-telemetry-snapshot.interface.ts +0 -30
  165. package/src/_models/interfaces/routing-module-settings.interface.ts +0 -21
  166. package/src/_models/interfaces/security-headers-settings.interface.ts +0 -50
  167. package/src/_models/interfaces/signed-url-verify-result.interface.ts +0 -13
  168. package/src/_models/interfaces/static-client-settings.interface.spec.ts +0 -29
  169. package/src/_models/interfaces/static-client-settings.interface.ts +0 -36
  170. package/src/_models/types/db-update.type.ts +0 -100
  171. package/src/_modules/account-security/_enums/account-challenge-purpose.type-enum.ts +0 -5
  172. package/src/_modules/account-security/_enums/account-refresh-token-state.type-enum.ts +0 -6
  173. package/src/_modules/account-security/_enums/account-session-state.type-enum.ts +0 -6
  174. package/src/_modules/account-security/_models/account-challenge-adapter.interface.ts +0 -17
  175. package/src/_modules/account-security/_models/account-challenge-issued.interface.ts +0 -6
  176. package/src/_modules/account-security/_models/account-challenge-record.interface.ts +0 -13
  177. package/src/_modules/account-security/_models/account-challenge-result.interface.ts +0 -8
  178. package/src/_modules/account-security/_models/account-challenge-settings.interface.ts +0 -9
  179. package/src/_modules/account-security/_models/account-password-policy.interface.ts +0 -11
  180. package/src/_modules/account-security/_models/account-password-verification.interface.ts +0 -5
  181. package/src/_modules/account-security/_models/account-refresh-token-record.interface.ts +0 -13
  182. package/src/_modules/account-security/_models/account-session-adapter.interface.ts +0 -19
  183. package/src/_modules/account-security/_models/account-session-claims.interface.ts +0 -7
  184. package/src/_modules/account-security/_models/account-session-context.interface.ts +0 -6
  185. package/src/_modules/account-security/_models/account-session-create.interface.ts +0 -8
  186. package/src/_modules/account-security/_models/account-session-record.interface.ts +0 -21
  187. package/src/_modules/account-security/_models/account-session-rotate.interface.ts +0 -11
  188. package/src/_modules/account-security/_models/account-session-settings.interface.ts +0 -11
  189. package/src/_modules/account-security/_models/account-session-token-pair.interface.ts +0 -8
  190. package/src/_modules/account-security/_models/account-session-view.interface.ts +0 -13
  191. package/src/_modules/account-security/account-challenge.control-service.spec.ts +0 -195
  192. package/src/_modules/account-security/account-challenge.control-service.ts +0 -164
  193. package/src/_modules/account-security/account-password.control-service.spec.ts +0 -96
  194. package/src/_modules/account-security/account-password.control-service.ts +0 -288
  195. package/src/_modules/account-security/account-session.control-service.spec.ts +0 -294
  196. package/src/_modules/account-security/account-session.control-service.ts +0 -376
  197. package/src/_modules/account-security/index.ts +0 -31
  198. package/src/_modules/admin-auth/_models/admin-api-key-config.interface.ts +0 -33
  199. package/src/_modules/admin-auth/admin-api-key.auth-service.spec.ts +0 -200
  200. package/src/_modules/admin-auth/admin-api-key.auth-service.ts +0 -220
  201. package/src/_modules/admin-auth/index.ts +0 -2
  202. package/src/_modules/ai/_collections/ai-model-config-validator.util.spec.ts +0 -150
  203. package/src/_modules/ai/_collections/ai-model-config-validator.util.ts +0 -131
  204. package/src/_modules/ai/_collections/ai-provider-error.util.ts +0 -144
  205. package/src/_modules/ai/_models/ai-input-interfaces.ts +0 -117
  206. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +0 -16
  207. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.ts +0 -14
  208. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.ts +0 -56
  209. package/src/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.ts +0 -16
  210. package/src/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.ts +0 -72
  211. package/src/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.ts +0 -71
  212. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.ts +0 -57
  213. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.ts +0 -60
  214. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.ts +0 -56
  215. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.ts +0 -117
  216. package/src/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.ts +0 -28
  217. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.ts +0 -14
  218. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.ts +0 -11
  219. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.ts +0 -30
  220. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.ts +0 -19
  221. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.ts +0 -20
  222. package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.ts +0 -115
  223. package/src/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.ts +0 -233
  224. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.ts +0 -134
  225. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.ts +0 -127
  226. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.ts +0 -105
  227. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.ts +0 -50
  228. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.ts +0 -65
  229. package/src/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.ts +0 -92
  230. package/src/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.ts +0 -112
  231. package/src/_modules/ai/_modules/ai-mock/_services/aim-mock.service.ts +0 -155
  232. package/src/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.ts +0 -649
  233. package/src/_modules/ai/_modules/ai-mock/index.ts +0 -47
  234. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +0 -138
  235. package/src/_modules/ai/_modules/anthropic/index.ts +0 -5
  236. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +0 -242
  237. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +0 -639
  238. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +0 -295
  239. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +0 -552
  240. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +0 -209
  241. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +0 -85
  242. package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +0 -8
  243. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +0 -146
  244. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +0 -163
  245. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +0 -100
  246. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +0 -68
  247. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +0 -18
  248. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +0 -19
  249. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +0 -25
  250. package/src/_modules/ai/_modules/document-ai/index.ts +0 -30
  251. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +0 -189
  252. package/src/_modules/ai/_modules/fdp-ai/index.ts +0 -5
  253. package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +0 -9
  254. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +0 -83
  255. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +0 -76
  256. package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +0 -45
  257. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +0 -8
  258. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +0 -7
  259. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +0 -57
  260. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +0 -293
  261. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.ts +0 -572
  262. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +0 -342
  263. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts +0 -435
  264. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +0 -550
  265. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +0 -631
  266. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +0 -332
  267. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +0 -132
  268. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +0 -462
  269. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +0 -635
  270. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +0 -489
  271. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +0 -173
  272. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +0 -1085
  273. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +0 -157
  274. package/src/_modules/ai/_modules/open-ai/index.ts +0 -74
  275. package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +0 -110
  276. package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +0 -114
  277. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +0 -98
  278. package/src/_modules/ai/_services/ai-embedding.service-base.ts +0 -48
  279. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +0 -229
  280. package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +0 -68
  281. package/src/_modules/ai/_services/ai-llm.service-base.reconciler.spec.ts +0 -133
  282. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +0 -250
  283. package/src/_modules/ai/_services/ai-llm.service-base.ts +0 -599
  284. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +0 -158
  285. package/src/_modules/ai/_services/ai-provider.service-base.ts +0 -67
  286. package/src/_modules/ai/_services/ai-user-key.service-base.ts +0 -59
  287. package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +0 -197
  288. package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +0 -399
  289. package/src/_modules/ai/index.ts +0 -33
  290. package/src/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.ts +0 -5
  291. package/src/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.ts +0 -8
  292. package/src/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.ts +0 -6
  293. package/src/_modules/artifact-compiler/_models/artifact-compile.interface.ts +0 -35
  294. package/src/_modules/artifact-compiler/artifact-compiler.control-service.spec.ts +0 -151
  295. package/src/_modules/artifact-compiler/artifact-compiler.control-service.ts +0 -356
  296. package/src/_modules/artifact-compiler/index.ts +0 -9
  297. package/src/_modules/assistant/_collections/ass-global-settings.const.ts +0 -13
  298. package/src/_modules/assistant/_collections/ass.util.spec.ts +0 -176
  299. package/src/_modules/assistant/_collections/ass.util.ts +0 -50
  300. package/src/_modules/assistant/_models/ass-global-settings.interface.ts +0 -15
  301. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +0 -140
  302. package/src/_modules/assistant/_services/ass-io.control-service.ts +0 -74
  303. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +0 -192
  304. package/src/_modules/assistant/_services/ass-main.control-service.ts +0 -107
  305. package/src/_modules/assistant/index.ts +0 -19
  306. package/src/_modules/bot/_collections/bot-default-commands.const.ts +0 -12
  307. package/src/_modules/bot/_collections/bot-global-settings.const.ts +0 -39
  308. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +0 -62
  309. package/src/_modules/bot/_models/bot-command.interface.ts +0 -8
  310. package/src/_modules/bot/_models/bot-global-settings.interface.ts +0 -96
  311. package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +0 -6
  312. package/src/_modules/bot/_models/bot-last-message-date.interface.ts +0 -5
  313. package/src/_modules/bot/_models/bot-message-wrapper.interface.ts +0 -90
  314. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +0 -41
  315. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +0 -10
  316. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +0 -431
  317. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts +0 -641
  318. package/src/_modules/bot/_modules/discord-bot/index.ts +0 -12
  319. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +0 -160
  320. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +0 -55
  321. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +0 -15
  322. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +0 -374
  323. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +0 -447
  324. package/src/_modules/bot/_modules/dynamo-bot/index.ts +0 -15
  325. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +0 -9
  326. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +0 -344
  327. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +0 -197
  328. package/src/_modules/bot/_modules/slack-bot/index.ts +0 -12
  329. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +0 -9
  330. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +0 -345
  331. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +0 -197
  332. package/src/_modules/bot/_modules/teams-bot/index.ts +0 -11
  333. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +0 -116
  334. package/src/_modules/bot/_services/bot-commands.control-service.ts +0 -158
  335. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +0 -285
  336. package/src/_modules/bot/_services/bot-io.control-service.ts +0 -329
  337. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +0 -208
  338. package/src/_modules/bot/_services/bot-main.control-service.ts +0 -489
  339. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +0 -349
  340. package/src/_modules/bot/_services/bot-messaging-provider.service-base.ts +0 -158
  341. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +0 -111
  342. package/src/_modules/bot/_services/bot-routines.control-service.ts +0 -78
  343. package/src/_modules/bot/index.ts +0 -37
  344. package/src/_modules/custom-data/custom-data.controller.spec.ts +0 -49
  345. package/src/_modules/custom-data/custom-data.controller.ts +0 -67
  346. package/src/_modules/custom-data/custom-data.data-service.spec.ts +0 -54
  347. package/src/_modules/custom-data/custom-data.data-service.ts +0 -22
  348. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +0 -28
  349. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +0 -24
  350. package/src/_modules/custom-data/index.ts +0 -9
  351. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +0 -176
  352. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +0 -203
  353. package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +0 -33
  354. package/src/_modules/data-readers/index.ts +0 -11
  355. package/src/_modules/defaults/_collections/default-endpoints.util.ts +0 -487
  356. package/src/_modules/defaults/_models/default-user.data-model.ts +0 -72
  357. package/src/_modules/defaults/_services/default-auth.service.spec.ts +0 -269
  358. package/src/_modules/defaults/_services/default-auth.service.ts +0 -177
  359. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +0 -42
  360. package/src/_modules/defaults/_services/default-socket-events.service.ts +0 -61
  361. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +0 -187
  362. package/src/_modules/defaults/_services/default-user.data-service.ts +0 -98
  363. package/src/_modules/defaults/index.ts +0 -17
  364. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +0 -19
  365. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +0 -366
  366. package/src/_modules/discord-assistant/_collections/dias.util.ts +0 -133
  367. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +0 -20
  368. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +0 -53
  369. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +0 -177
  370. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +0 -108
  371. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +0 -69
  372. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +0 -22
  373. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +0 -27
  374. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +0 -195
  375. package/src/_modules/discord-assistant/_services/dias.service-base.ts +0 -77
  376. package/src/_modules/discord-assistant/index.ts +0 -38
  377. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +0 -34
  378. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +0 -11
  379. package/src/_modules/discord-assistant-voiced/index.ts +0 -36
  380. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +0 -17
  381. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +0 -56
  382. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +0 -214
  383. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +0 -387
  384. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +0 -12
  385. package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +0 -98
  386. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +0 -8
  387. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +0 -6
  388. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +0 -154
  389. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +0 -153
  390. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +0 -264
  391. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +0 -306
  392. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +0 -408
  393. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +0 -488
  394. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +0 -105
  395. package/src/_modules/discord-bot/_services/dibo-routines.control-service.ts +0 -97
  396. package/src/_modules/discord-bot/index.ts +0 -36
  397. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +0 -35
  398. package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +0 -60
  399. package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +0 -17
  400. package/src/_modules/local-vector-search/_services/lvs-bm25.util.spec.ts +0 -159
  401. package/src/_modules/local-vector-search/_services/lvs-bm25.util.ts +0 -206
  402. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +0 -418
  403. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +0 -276
  404. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +0 -480
  405. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +0 -416
  406. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +0 -214
  407. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +0 -186
  408. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +0 -167
  409. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +0 -130
  410. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +0 -509
  411. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +0 -323
  412. package/src/_modules/local-vector-search/index.ts +0 -17
  413. package/src/_modules/logs/_models/file-log-entry.interface.ts +0 -13
  414. package/src/_modules/logs/_models/file-log-read-result.interface.ts +0 -37
  415. package/src/_modules/logs/file-log.service.spec.ts +0 -341
  416. package/src/_modules/logs/file-log.service.ts +0 -466
  417. package/src/_modules/logs/file-logs.controller.spec.ts +0 -245
  418. package/src/_modules/logs/file-logs.controller.ts +0 -165
  419. package/src/_modules/logs/get-file-logs-routing-module.util.ts +0 -51
  420. package/src/_modules/logs/get-logs-routing-module.util.ts +0 -36
  421. package/src/_modules/logs/index.ts +0 -11
  422. package/src/_modules/logs/log-buffer.service.ts +0 -101
  423. package/src/_modules/logs/logs.controller.ts +0 -109
  424. package/src/_modules/logs/logs.service.ts +0 -100
  425. package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +0 -111
  426. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +0 -151
  427. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +0 -125
  428. package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +0 -168
  429. package/src/_modules/mcp/index.ts +0 -13
  430. package/src/_modules/messaging/README.md +0 -354
  431. package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +0 -26
  432. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +0 -22
  433. package/src/_modules/messaging/_collections/msg.util.spec.ts +0 -226
  434. package/src/_modules/messaging/_collections/msg.util.ts +0 -83
  435. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +0 -37
  436. package/src/_modules/messaging/_services/msg-conversation.data-service.ts +0 -146
  437. package/src/_modules/messaging/_services/msg-events.service.spec.ts +0 -219
  438. package/src/_modules/messaging/_services/msg-events.service.ts +0 -267
  439. package/src/_modules/messaging/_services/msg-integration.control-service.ts +0 -180
  440. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +0 -147
  441. package/src/_modules/messaging/_services/msg-main.control-service.ts +0 -572
  442. package/src/_modules/messaging/_services/msg-message.data-service.ts +0 -129
  443. package/src/_modules/messaging/_services/msg.controller.spec.ts +0 -201
  444. package/src/_modules/messaging/_services/msg.controller.ts +0 -370
  445. package/src/_modules/messaging/index.ts +0 -30
  446. package/src/_modules/mock/app-extended-server.mock.ts +0 -201
  447. package/src/_modules/mock/app-integration-test.mock.ts +0 -51
  448. package/src/_modules/mock/app-params.mock.spec.ts +0 -21
  449. package/src/_modules/mock/app-params.mock.ts +0 -9
  450. package/src/_modules/mock/app-server.mock.ts +0 -188
  451. package/src/_modules/mock/auth-service.mock.spec.ts +0 -47
  452. package/src/_modules/mock/auth-service.mock.ts +0 -28
  453. package/src/_modules/mock/controller.mock.spec.ts +0 -26
  454. package/src/_modules/mock/controller.mock.ts +0 -16
  455. package/src/_modules/mock/data-model.mock.spec.ts +0 -111
  456. package/src/_modules/mock/data-model.mock.ts +0 -82
  457. package/src/_modules/mock/email-service-collection.mock.spec.ts +0 -24
  458. package/src/_modules/mock/email-service-collection.mock.ts +0 -15
  459. package/src/_modules/mock/email-service.mock.spec.ts +0 -17
  460. package/src/_modules/mock/email-service.mock.ts +0 -20
  461. package/src/_modules/mock/email-template.mock.html +0 -15
  462. package/src/_modules/mock/endpoint.mock.ts +0 -91
  463. package/src/_modules/mock/socket-client.mock.spec.ts +0 -40
  464. package/src/_modules/mock/socket-client.mock.ts +0 -45
  465. package/src/_modules/mock/socket-server.mock.spec.ts +0 -44
  466. package/src/_modules/mock/socket-server.mock.ts +0 -46
  467. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +0 -107
  468. package/src/_modules/oauth2/_routes/oauth2.controller.ts +0 -99
  469. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +0 -254
  470. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +0 -232
  471. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +0 -585
  472. package/src/_modules/oauth2/_services/oauth2.control-service.ts +0 -654
  473. package/src/_modules/oauth2/index.ts +0 -17
  474. package/src/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.ts +0 -5
  475. package/src/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.ts +0 -10
  476. package/src/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.ts +0 -7
  477. package/src/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.ts +0 -15
  478. package/src/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.ts +0 -9
  479. package/src/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.ts +0 -12
  480. package/src/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.ts +0 -7
  481. package/src/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.ts +0 -15
  482. package/src/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.ts +0 -7
  483. package/src/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.ts +0 -13
  484. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.ts +0 -9
  485. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.ts +0 -14
  486. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.ts +0 -8
  487. package/src/_modules/privacy-lifecycle/_models/privacy-contributor.interface.ts +0 -17
  488. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.ts +0 -21
  489. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.ts +0 -9
  490. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.ts +0 -7
  491. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.ts +0 -10
  492. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.ts +0 -7
  493. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.ts +0 -7
  494. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.ts +0 -11
  495. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.ts +0 -13
  496. package/src/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.ts +0 -19
  497. package/src/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.ts +0 -9
  498. package/src/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.ts +0 -7
  499. package/src/_modules/privacy-lifecycle/_models/privacy-request-open.interface.ts +0 -10
  500. package/src/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.ts +0 -7
  501. package/src/_modules/privacy-lifecycle/_models/privacy-request-record.interface.ts +0 -21
  502. package/src/_modules/privacy-lifecycle/_models/privacy-request-result.interface.ts +0 -8
  503. package/src/_modules/privacy-lifecycle/_models/privacy-request-view.interface.ts +0 -20
  504. package/src/_modules/privacy-lifecycle/index.ts +0 -40
  505. package/src/_modules/privacy-lifecycle/privacy-ledger.control-service.spec.ts +0 -206
  506. package/src/_modules/privacy-lifecycle/privacy-ledger.control-service.ts +0 -253
  507. package/src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.spec.ts +0 -353
  508. package/src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.ts +0 -586
  509. package/src/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.ts +0 -5
  510. package/src/_modules/rate-limit/_models/rate-limit-config.interface.ts +0 -82
  511. package/src/_modules/rate-limit/_models/rate-limit-consume-request.interface.ts +0 -9
  512. package/src/_modules/rate-limit/_models/rate-limit-consume-result.interface.ts +0 -6
  513. package/src/_modules/rate-limit/_models/rate-limit-policy.interface.ts +0 -16
  514. package/src/_modules/rate-limit/_models/rate-limit-store.interface.ts +0 -9
  515. package/src/_modules/rate-limit/index.ts +0 -8
  516. package/src/_modules/rate-limit/rate-limit-in-memory.store.ts +0 -91
  517. package/src/_modules/rate-limit/rate-limit.middleware.spec.ts +0 -488
  518. package/src/_modules/rate-limit/rate-limit.middleware.ts +0 -504
  519. package/src/_modules/scheduler/_models/scheduler-job.interface.ts +0 -35
  520. package/src/_modules/scheduler/get-scheduler-routing-module.util.ts +0 -33
  521. package/src/_modules/scheduler/index.ts +0 -8
  522. package/src/_modules/scheduler/scheduler.controller.spec.ts +0 -42
  523. package/src/_modules/scheduler/scheduler.controller.ts +0 -69
  524. package/src/_modules/scheduler/scheduler.service.spec.ts +0 -141
  525. package/src/_modules/scheduler/scheduler.service.ts +0 -176
  526. package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +0 -22
  527. package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +0 -82
  528. package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +0 -107
  529. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +0 -312
  530. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +0 -311
  531. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +0 -123
  532. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +0 -108
  533. package/src/_modules/scoped-config/index.ts +0 -17
  534. package/src/_modules/server/errors/errors.control-service.spec.ts +0 -246
  535. package/src/_modules/server/errors/errors.control-service.ts +0 -100
  536. package/src/_modules/server/errors/errors.controller.spec.ts +0 -340
  537. package/src/_modules/server/errors/errors.controller.ts +0 -559
  538. package/src/_modules/server/errors/errors.data-service.spec.ts +0 -480
  539. package/src/_modules/server/errors/errors.data-service.ts +0 -867
  540. package/src/_modules/server/index.ts +0 -40
  541. package/src/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.ts +0 -8
  542. package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +0 -20
  543. package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.spec.ts +0 -124
  544. package/src/_modules/server/safe-diagnostic/safe-diagnostic.control-service.ts +0 -99
  545. package/src/_modules/server/safe-diagnostic/safe-diagnostic.interface.ts +0 -20
  546. package/src/_modules/server/server-status/db-readiness-probe-code.type-enum.ts +0 -13
  547. package/src/_modules/server/server-status/db-readiness-probe-stage.type-enum.ts +0 -7
  548. package/src/_modules/server/server-status/db-readiness-probe.control-service.spec.ts +0 -235
  549. package/src/_modules/server/server-status/db-readiness-probe.control-service.ts +0 -158
  550. package/src/_modules/server/server-status/db-readiness-probe.interface.ts +0 -20
  551. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +0 -70
  552. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +0 -17
  553. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +0 -77
  554. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +0 -37
  555. package/src/_modules/server/server-status/server-status.control-service.spec.ts +0 -672
  556. package/src/_modules/server/server-status/server-status.control-service.ts +0 -491
  557. package/src/_modules/server/server-status/server-status.controller.spec.ts +0 -276
  558. package/src/_modules/server/server-status/server-status.controller.ts +0 -336
  559. package/src/_modules/socket/_enums/socket-security.enum.ts +0 -11
  560. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +0 -32
  561. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +0 -22
  562. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +0 -165
  563. package/src/_modules/socket/_models/socket-presence.control-model.ts +0 -211
  564. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +0 -69
  565. package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +0 -33
  566. package/src/_modules/socket/_services/socket-client.service.spec.ts +0 -15
  567. package/src/_modules/socket/_services/socket-client.service.ts +0 -260
  568. package/src/_modules/socket/_services/socket-server.service.spec.ts +0 -272
  569. package/src/_modules/socket/_services/socket-server.service.ts +0 -1037
  570. package/src/_modules/socket/app-extended.integration.spec.ts +0 -85
  571. package/src/_modules/socket/app-extended.server.ts +0 -648
  572. package/src/_modules/socket/index.ts +0 -42
  573. package/src/_modules/test/get-test-routing-module.util.spec.ts +0 -28
  574. package/src/_modules/test/get-test-routing-module.util.ts +0 -23
  575. package/src/_modules/test/index.ts +0 -12
  576. package/src/_modules/test/test.controller.spec.ts +0 -72
  577. package/src/_modules/test/test.controller.ts +0 -115
  578. package/src/_modules/test-email-sink/_collections/test-email-pattern.const.ts +0 -10
  579. package/src/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.ts +0 -41
  580. package/src/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.ts +0 -112
  581. package/src/_modules/test-email-sink/_services/dynts-test-email-sink.service.ts +0 -141
  582. package/src/_modules/test-email-sink/get-sent-mail-routing-module.util.ts +0 -29
  583. package/src/_modules/test-email-sink/index.ts +0 -11
  584. package/src/_modules/test-email-sink/test-email-sink.controller.ts +0 -83
  585. package/src/_modules/usage/get-usage-routing-module.util.ts +0 -23
  586. package/src/_modules/usage/index.ts +0 -15
  587. package/src/_modules/usage/usage.controller.spec.ts +0 -106
  588. package/src/_modules/usage/usage.controller.ts +0 -140
  589. package/src/_modules/usage/usage.data-service.spec.ts +0 -332
  590. package/src/_modules/usage/usage.data-service.ts +0 -185
  591. package/src/_services/base/api.service-base.spec.ts +0 -125
  592. package/src/_services/base/api.service-base.ts +0 -75
  593. package/src/_services/base/archive-data.service.spec.ts +0 -209
  594. package/src/_services/base/archive-data.service.ts +0 -228
  595. package/src/_services/base/data.service.spec.ts +0 -784
  596. package/src/_services/base/data.service.ts +0 -2792
  597. package/src/_services/base/db.service.encryption.spec.ts +0 -76
  598. package/src/_services/base/db.service.spec.ts +0 -160
  599. package/src/_services/base/db.service.ts +0 -1698
  600. package/src/_services/base/singleton.service-base.spec.ts +0 -28
  601. package/src/_services/base/singleton.service-base.ts +0 -24
  602. package/src/_services/base/singleton.service.spec.ts +0 -114
  603. package/src/_services/base/singleton.service.ts +0 -38
  604. package/src/_services/core/api.service.spec.ts +0 -187
  605. package/src/_services/core/api.service.ts +0 -627
  606. package/src/_services/core/auth.service.spec.ts +0 -159
  607. package/src/_services/core/auth.service.ts +0 -174
  608. package/src/_services/core/collection-growth-monitor.service.spec.ts +0 -119
  609. package/src/_services/core/collection-growth-monitor.service.ts +0 -234
  610. package/src/_services/core/db-stats.service.ts +0 -104
  611. package/src/_services/core/diagnostics.service.spec.ts +0 -44
  612. package/src/_services/core/diagnostics.service.ts +0 -158
  613. package/src/_services/core/email.service.spec.ts +0 -85
  614. package/src/_services/core/email.service.ts +0 -757
  615. package/src/_services/core/event-loop-diag.service.spec.ts +0 -22
  616. package/src/_services/core/event-loop-diag.service.ts +0 -144
  617. package/src/_services/core/global.service.spec.ts +0 -292
  618. package/src/_services/core/global.service.ts +0 -488
  619. package/src/_services/core/memory-guard.service.spec.ts +0 -245
  620. package/src/_services/core/memory-guard.service.ts +0 -481
  621. package/src/_services/core/migration-runner.service.spec.ts +0 -91
  622. package/src/_services/core/migration-runner.service.ts +0 -106
  623. package/src/_services/core/mongo-transaction.control-service.spec.ts +0 -165
  624. package/src/_services/core/mongo-transaction.control-service.ts +0 -148
  625. package/src/_services/core/request-hunter.service.spec.ts +0 -124
  626. package/src/_services/core/request-hunter.service.ts +0 -157
  627. package/src/_services/core/request-telemetry.control-service.spec.ts +0 -217
  628. package/src/_services/core/request-telemetry.control-service.ts +0 -381
  629. package/src/_services/core/service-collection.service.spec.ts +0 -46
  630. package/src/_services/core/service-collection.service.ts +0 -6
  631. package/src/_services/route/controller.service.spec.ts +0 -53
  632. package/src/_services/route/controller.service.ts +0 -148
  633. package/src/_services/route/routing-module.service.spec.ts +0 -98
  634. package/src/_services/route/routing-module.service.ts +0 -339
  635. package/src/_services/server/app-safe-diagnostic.spec.ts +0 -124
  636. package/src/_services/server/app.server-retention.spec.ts +0 -106
  637. package/src/_services/server/app.server.ts +0 -1979
  638. package/src/_services/shared.static-service.spec.ts +0 -133
  639. package/src/_services/shared.static-service.ts +0 -107
  640. package/src/index.ts +0 -120
  641. package/tsconfig.app.json +0 -12
  642. package/tsconfig.json +0 -42
@@ -1,222 +0,0 @@
1
- import {
2
- DyFM_DataProperties,
3
- DyFM_Error,
4
- } from '@futdevpro/fsm-dynamo';
5
- import { DyFM_Crypto } from '@futdevpro/fsm-dynamo/crypto';
6
-
7
- /**
8
- * AT-REST field-encryption transzform (Option B, bedrock). A DBService a közös írási úton
9
- * (`createData` / `modifyData`) a persist ELŐTT titkosítja, a read-post-processor
10
- * (`stringifyDataId`) a load UTÁN visszafejti az `encrypt:true` mezőket.
11
- *
12
- * **App-rétegben fut, NEM mongoose-hook** — a `modifyData` `findByIdAndUpdate`-je megkerüli a
13
- * mongoose settereket/pre-save-hookokat, ezért a transzform explicit itt történik.
14
- *
15
- * **Opt-in, default-off:** ha egy modell egyetlen mezője sem `encrypt:true`, a transzform tiszta
16
- * NO-OP (ugyanaz az objektum-referencia, nincs klónozás, nincs viselkedés-változás, kulcs sem kell).
17
- *
18
- * **Legacy-plaintext biztonságos:** a read-transzform CSAK a `DYENC1:` envelope-értékeket fejti vissza
19
- * (`isEncryptedDbValue`); a régi, még nem migrált plaintext értékek változatlanul jönnek vissza.
20
- *
21
- * Kulcs: `FDP_CORE_DBCONTENT_CRYPT_KEY` (Keystore/CI-env). Verzió: `FDP_CORE_DBCONTENT_CRYPT_KEY_VERSION`
22
- * (default 1) — a kulcs-rotációhoz (a verzió az envelope-ban utazik).
23
- */
24
- export class DyNTS_FieldEncryption_Util {
25
- static readonly ENV_KEY: string = 'FDP_CORE_DBCONTENT_CRYPT_KEY';
26
- static readonly ENV_KEY_VERSION: string = 'FDP_CORE_DBCONTENT_CRYPT_KEY_VERSION';
27
-
28
- /** `hasEncryptedFields` cache per properties-objektum (referencia szerint). */
29
- private static readonly _hasEncCache: WeakMap<object, boolean> = new WeakMap();
30
-
31
- /** A titkosító kulcs env-ből (üres string, ha nincs beállítva). */
32
- static getKey(): string {
33
- return process.env[this.ENV_KEY] ?? '';
34
- }
35
-
36
- /** Az aktuális kulcs-verzió (default 1). */
37
- static getKeyVersion(): number {
38
- const parsed: number = Number(process.env[this.ENV_KEY_VERSION]);
39
- return Number.isFinite(parsed) && parsed > 0 ? parsed : 1;
40
- }
41
-
42
- /**
43
- * True, ha a properties-fa (rekurzívan a `subObjectParams`-on át) tartalmaz `encrypt:true` mezőt.
44
- * Cache-elt (a properties-objektum immutábilis a modell-élettartam alatt).
45
- */
46
- static hasEncryptedFields(properties?: DyFM_DataProperties<any>): boolean {
47
- if (!properties) {
48
- return false;
49
- }
50
-
51
- const cached: boolean | undefined = this._hasEncCache.get(properties);
52
- if (cached !== undefined) {
53
- return cached;
54
- }
55
-
56
- let has: boolean = false;
57
- for (const key in properties) {
58
- const prop: any = properties[key]; // ccap-review-disable-line no-any-type
59
- if (!prop) {
60
- continue;
61
- }
62
- if (prop.encrypt === true) {
63
- has = true;
64
- break;
65
- }
66
- if (prop.subObjectParams && this.hasEncryptedFields(prop.subObjectParams)) {
67
- has = true;
68
- break;
69
- }
70
- }
71
-
72
- this._hasEncCache.set(properties, has);
73
- return has;
74
- }
75
-
76
- /**
77
- * Titkosítja a doc `encrypt:true` mezőit persist előtt. **Klónt ad vissza** — az eredeti (hívó)
78
- * objektumot NEM mutálja (különben a `this.data` ciphertextté válna). NO-OP, ha nincs enc-mező.
79
- * @throws ha van enc-mező, de a kulcs env-var nincs beállítva (fail-loud misconfiguration).
80
- */
81
- static encryptDoc<T>(data: T, properties?: DyFM_DataProperties<any>): T {
82
- if (data == null || !this.hasEncryptedFields(properties)) {
83
- return data;
84
- }
85
-
86
- const key: string = this.getKey();
87
- if (!key) {
88
- throw new DyFM_Error({
89
- status: 500,
90
- errorCode: 'DyNTS-ENC-KEY-MISSING',
91
- message:
92
- `At-rest encryption: "${this.ENV_KEY}" env-var is not set, but a model field is encrypt:true. ` +
93
- `Set the key in the Keystore/CI-env and redeploy.`,
94
- });
95
- }
96
-
97
- return this._transform(data, properties as DyFM_DataProperties<any>, 'encrypt', key, this.getKeyVersion());
98
- }
99
-
100
- /**
101
- * Visszafejti a doc `encrypt:true` mezőit load után. CSAK a `DYENC1:` envelope-értékeket bántja
102
- * (legacy plaintext változatlan). NO-OP, ha nincs enc-mező. Kulcs hiányában read-en NEM dob
103
- * (a read ne törjön el) — az envelope-értékek visszafejtetlenül maradnak (a hívó látja + a hiba loggolt).
104
- */
105
- static decryptDoc<T>(data: T, properties?: DyFM_DataProperties<any>): T {
106
- if (data == null || !this.hasEncryptedFields(properties)) {
107
- return data;
108
- }
109
-
110
- const key: string = this.getKey();
111
- if (!key) {
112
- return data;
113
- }
114
-
115
- return this._transform(data, properties as DyFM_DataProperties<any>, 'decrypt', key, this.getKeyVersion());
116
- }
117
-
118
- /**
119
- * Egy mongoose-**Document** sima objektummá alakítása (más érték változatlanul jön vissza).
120
- *
121
- * @description 🔴 **MIÉRT KELL** (BFR-MASTERPROMPTER-027, 2026-08-14): a `_transform` sekély spreaddel
122
- * klónoz. Egy mongoose-Documentnek viszont az adatok NEM saját mezői — azok a belső `_doc`-ban
123
- * ülnek —, ezért a `{ ...doc }` a **belső burkot** másolja (`$__`, `$isNew`, `_doc`), és az eredmény
124
- * **már nem Document**, tehát a `JSON.stringify` sem hívja a `toJSON()`-ját. A kliens így
125
- * `{"$__":…,"$isNew":…,"_doc":{…}}`-t kap `_id` nélkül.
126
- *
127
- * **Élesben mérve** (`test.master-prompter.hu`, 2026-08-14): a `flow` lista-endpoint válaszának
128
- * első elemén a kulcsok `["$__","$isNew","_doc"]`, `_id: undefined` → a kliens-oldali linkek
129
- * `/editor/undefined`-ra mutattak, a törlés `missing pathParam: "flowId"`-vel állt meg. Az EGYEDI
130
- * get ugyanakkor ép volt — mert a `DyNTS_DBService` az egyedi olvasásoknál **már `toObject()`-et**
131
- * hív (`db.service.ts` getDataById / getDataByDependencyId / findByIdAndUpdate / findOneAndUpdate),
132
- * a **lista-metódusok (11 db) viszont NYERS Documentet adnak tovább**. Titkosítás nélküli
133
- * modelleknél ez ártalmatlan (a `res.send` a `toJSON()`-on át szerializál), `encrypt:true` mező
134
- * esetén viszont a spread elrontja.
135
- *
136
- * **Miért ITT javítjuk, és nem a 11 DB-metódusban:** (1) ez az EGY pont mind a 11 utat rendezi;
137
- * (2) a 11 metódus visszatérési TÍPUSÁT megváltoztatni (Document → sima objektum) minden modell
138
- * minden fogyasztóját érintené — az itteni javítás viszont **csak az `encrypt:true` modelleket**
139
- * érinti, ahol a `_transform` amúgy is **már ma is** sima (csak ROSSZ) objektumot ad vissza.
140
- * Vagyis a változás nem tud elrontani olyat, ami ma működik.
141
- *
142
- * `toJSON()`-t használunk (nem `toObject()`-et): a titkosítás bevezetése ELŐTT a nyers Document a
143
- * `res.send`-en át a `JSON.stringify` → `toJSON()` úton szerializálódott, tehát ez adja vissza
144
- * **bitre ugyanazt a kimeneti alakot** (schema-transzformok, virtuals, `__v`-kezelés együtt).
145
- *
146
- * @param value tetszőleges érték
147
- * @returns a Document sima alakja, vagy az eredeti érték
148
- */
149
- private static _toPlainIfDocument(value: any): any { // ccap-review-disable-line no-any-type
150
- // A `$__` a mongoose-Document SAJÁT mezője — pontosan ez szivárgott ki a hibás payloadba,
151
- // ezért ez a legpontosabb (és mongoose-import nélküli) diszkriminátor.
152
- if (
153
- value != null
154
- && typeof value === 'object'
155
- && typeof value.toJSON === 'function'
156
- && Object.prototype.hasOwnProperty.call(value, '$__')
157
- ) {
158
- return value.toJSON();
159
- }
160
-
161
- return value;
162
- }
163
-
164
- /**
165
- * Rekurzív per-field walk: az `encrypt:true` mezőket titkosítja/visszafejti, a `subObjectParams`-os
166
- * mezőkbe (objektum VAGY objektum-tömb) leszáll. Immutábilis: minden érintett konténert sekélyen
167
- * klónoz (az eredetit nem mutálja); a nem-érintett ágakat referencia szerint megosztja (read-only).
168
- *
169
- * ⚠️ A klónozás ELŐTT a mongoose-Documentek sima objektummá alakulnak — lásd {@link _toPlainIfDocument}.
170
- */
171
- private static _transform<T>(
172
- value: T,
173
- properties: DyFM_DataProperties<any>,
174
- mode: 'encrypt' | 'decrypt',
175
- key: string,
176
- keyVersion: number,
177
- ): T {
178
- if (value == null || typeof value !== 'object') {
179
- return value;
180
- }
181
-
182
- const plain: any = this._toPlainIfDocument(value); // ccap-review-disable-line no-any-type
183
- const result: any = Array.isArray(plain) ? [ ...(plain as any[]) ] : { ...(plain as any) }; // ccap-review-disable-line no-any-type
184
-
185
- for (const propKey in properties) {
186
- const prop: any = properties[propKey]; // ccap-review-disable-line no-any-type
187
- if (!prop) {
188
- continue;
189
- }
190
-
191
- if (prop.encrypt === true) {
192
- const current: any = result[propKey]; // ccap-review-disable-line no-any-type
193
-
194
- if (mode === 'encrypt') {
195
- // Üres/undefined/null-t NEM titkosítunk (a DyFM_Crypto ezekre dob); már-envelope-ot sem (idempotens).
196
- if (current != null && current !== '' && !DyFM_Crypto.isEncryptedDbValue(current)) {
197
- result[propKey] = DyFM_Crypto.encryptDbValue(current, key, keyVersion);
198
- }
199
- } else {
200
- // CSAK envelope-ot fejtünk vissza (legacy plaintext változatlan).
201
- if (DyFM_Crypto.isEncryptedDbValue(current)) {
202
- result[propKey] = DyFM_Crypto.decryptDbValue(current, key);
203
- }
204
- }
205
- } else if (prop.subObjectParams) {
206
- const current: any = result[propKey]; // ccap-review-disable-line no-any-type
207
-
208
- if (current != null && typeof current === 'object') {
209
- if (Array.isArray(current)) {
210
- result[propKey] = current.map(
211
- (item: any): any => this._transform(item, prop.subObjectParams, mode, key, keyVersion), // ccap-review-disable-line no-any-type
212
- );
213
- } else {
214
- result[propKey] = this._transform(current, prop.subObjectParams, mode, key, keyVersion);
215
- }
216
- }
217
- }
218
- }
219
-
220
- return result as T;
221
- }
222
- }
@@ -1,210 +0,0 @@
1
-
2
- import { DyFM_EnvironmentFlag, DyFM_Log } from '@futdevpro/fsm-dynamo';
3
- import { DyNTS_getEnvironment_settings } from './get-environment-settings.util';
4
-
5
- describe('| DyNTS_getEnvironment_settings', () => {
6
- let originalEnv: string | undefined;
7
- let originalNodeEnv: string | undefined;
8
- let originalEnvironment: string | undefined;
9
-
10
- beforeEach(() => {
11
- // Save original environment variables
12
- originalEnv = process.env.ENV;
13
- originalNodeEnv = process.env.NODE_ENV;
14
- originalEnvironment = process.env.ENVIRONMENT;
15
-
16
- // Clear environment variables
17
- delete process.env.ENV;
18
- delete process.env.NODE_ENV;
19
- delete process.env.ENVIRONMENT;
20
- delete process.env.DISCORD_GUILD_ID;
21
- delete process.env.DISCORD_BOT_TOKEN;
22
- delete process.env.DISCORD_BOT_CLIENT_ID;
23
- delete process.env.DISCORD_BOT_OAUTH2_URL;
24
- delete process.env.MONGO_URL;
25
- delete process.env.MONGO_URI;
26
- delete process.env.OPENAI_API_KEY;
27
- delete process.env.OPENAI_ORGANIZATION;
28
- delete process.env.OPENAI_PROJECT;
29
- delete process.env.OPENAI_TTS_API_KEY;
30
- });
31
-
32
- afterEach(() => {
33
- // Restore original environment variables
34
- if (originalEnv !== undefined) {
35
- process.env.ENV = originalEnv;
36
- } else {
37
- delete process.env.ENV;
38
- }
39
- if (originalNodeEnv !== undefined) {
40
- process.env.NODE_ENV = originalNodeEnv;
41
- } else {
42
- delete process.env.NODE_ENV;
43
- }
44
- if (originalEnvironment !== undefined) {
45
- process.env.ENVIRONMENT = originalEnvironment;
46
- } else {
47
- delete process.env.ENVIRONMENT;
48
- }
49
- });
50
-
51
- it('| should return local environment when no environment variables are set', () => {
52
- const settings = DyNTS_getEnvironment_settings();
53
-
54
- expect(settings.environment).toBe(DyFM_EnvironmentFlag.local);
55
- });
56
-
57
- it('| should use ENV variable when set', () => {
58
- process.env.ENV = 'prod';
59
-
60
- const settings = DyNTS_getEnvironment_settings();
61
-
62
- expect(settings.environment).toBe(DyFM_EnvironmentFlag.prod);
63
- });
64
-
65
- it('| should use NODE_ENV when ENV is not set', () => {
66
- process.env.NODE_ENV = 'dev';
67
-
68
- const settings = DyNTS_getEnvironment_settings();
69
-
70
- expect(settings.environment).toBe(DyFM_EnvironmentFlag.local);
71
- });
72
-
73
- it('| should use ENVIRONMENT when ENV and NODE_ENV are not set', () => {
74
- process.env.ENVIRONMENT = 'test';
75
-
76
- const settings = DyNTS_getEnvironment_settings();
77
-
78
- expect(settings.environment).toBe(DyFM_EnvironmentFlag.local);
79
- });
80
-
81
- it('| should prioritize ENV over NODE_ENV and ENVIRONMENT', () => {
82
- process.env.ENV = 'prod';
83
- process.env.NODE_ENV = 'dev';
84
- process.env.ENVIRONMENT = 'test';
85
-
86
- const settings = DyNTS_getEnvironment_settings();
87
-
88
- expect(settings.environment).toBe(DyFM_EnvironmentFlag.prod);
89
- });
90
-
91
- it('| should handle lowercase environment values', () => {
92
- process.env.ENV = 'prod';
93
-
94
- const settings = DyNTS_getEnvironment_settings();
95
-
96
- expect(settings.environment).toBe(DyFM_EnvironmentFlag.prod);
97
- });
98
-
99
- it('| should log error and use local for unknown environment', () => {
100
- const logSpy = spyOn(DyFM_Log, 'error');
101
- process.env.ENV = 'unknown-env';
102
-
103
- const settings = DyNTS_getEnvironment_settings();
104
-
105
- expect(logSpy).toHaveBeenCalled();
106
- expect(settings.environment).toBe(DyFM_EnvironmentFlag.local);
107
- });
108
-
109
- it('| should return discord settings from environment variables', () => {
110
- process.env.DISCORD_GUILD_ID = 'guild123';
111
- process.env.DISCORD_BOT_TOKEN = 'token123';
112
- process.env.DISCORD_BOT_CLIENT_ID = 'client123';
113
- process.env.DISCORD_BOT_OAUTH2_URL = 'https://discord.com/oauth2';
114
-
115
- const settings = DyNTS_getEnvironment_settings();
116
-
117
- expect(settings.discord.guildId).toBe('guild123');
118
- expect(settings.discord.token).toBe('token123');
119
- expect(settings.discord.clientId).toBe('client123');
120
- expect(settings.discord.oauth2Url).toBe('https://discord.com/oauth2');
121
- });
122
-
123
- it('| should return undefined for discord settings when not set', () => {
124
- const settings = DyNTS_getEnvironment_settings();
125
-
126
- expect(settings.discord.guildId).toBeUndefined();
127
- expect(settings.discord.token).toBeUndefined();
128
- expect(settings.discord.clientId).toBeUndefined();
129
- expect(settings.discord.oauth2Url).toBeUndefined();
130
- });
131
-
132
- it('| should return mongoUri from MONGO_URL', () => {
133
- process.env.MONGO_URL = 'mongodb://localhost:27017';
134
-
135
- const settings = DyNTS_getEnvironment_settings();
136
-
137
- expect(settings.mongoUri).toBe('mongodb://localhost:27017');
138
- });
139
-
140
- it('| should return mongoUri from MONGO_URI when MONGO_URL is not set', () => {
141
- process.env.MONGO_URI = 'mongodb://localhost:27017';
142
-
143
- const settings = DyNTS_getEnvironment_settings();
144
-
145
- expect(settings.mongoUri).toBe('mongodb://localhost:27017');
146
- });
147
-
148
- it('| should prioritize MONGO_URL over MONGO_URI', () => {
149
- process.env.MONGO_URL = 'mongodb://localhost:27017';
150
- process.env.MONGO_URI = 'mongodb://other:27017';
151
-
152
- const settings = DyNTS_getEnvironment_settings();
153
-
154
- expect(settings.mongoUri).toBe('mongodb://localhost:27017');
155
- });
156
-
157
- it('| should return undefined for mongoUri when not set', () => {
158
- const settings = DyNTS_getEnvironment_settings();
159
-
160
- expect(settings.mongoUri).toBeUndefined();
161
- });
162
-
163
- it('| should return openAi settings from environment variables', () => {
164
- process.env.OPENAI_API_KEY = 'api-key-123';
165
- process.env.OPENAI_ORGANIZATION = 'org-123';
166
- process.env.OPENAI_PROJECT = 'project-123';
167
- process.env.OPENAI_TTS_API_KEY = 'tts-key-123';
168
-
169
- const settings = DyNTS_getEnvironment_settings();
170
-
171
- expect(settings.openAi.apiKey).toBe('api-key-123');
172
- expect(settings.openAi.organization).toBe('org-123');
173
- expect(settings.openAi.project).toBe('project-123');
174
- expect(settings.openAi.ttsApiKey).toBe('tts-key-123');
175
- });
176
-
177
- it('| should return undefined for openAi settings when not set', () => {
178
- const settings = DyNTS_getEnvironment_settings();
179
-
180
- expect(settings.openAi.apiKey).toBeUndefined();
181
- expect(settings.openAi.organization).toBeUndefined();
182
- expect(settings.openAi.project).toBeUndefined();
183
- expect(settings.openAi.ttsApiKey).toBeUndefined();
184
- });
185
-
186
- it('| should handle dotenv.config() being called', () => {
187
- // This test ensures that dotenv.config() is called without errors
188
- const settings = DyNTS_getEnvironment_settings();
189
- expect(settings).toBeDefined();
190
- expect(settings.environment).toBeDefined();
191
- });
192
-
193
- it('| should return consistent results on multiple calls', () => {
194
- const settings1 = DyNTS_getEnvironment_settings();
195
- const settings2 = DyNTS_getEnvironment_settings();
196
-
197
- expect(settings1.environment).toBe(settings2.environment);
198
- expect(settings1.discord).toEqual(settings2.discord);
199
- expect(settings1.mongoUri).toBe(settings2.mongoUri);
200
- expect(settings1.openAi).toEqual(settings2.openAi);
201
- });
202
-
203
- it('| should handle mixed case environment variables', () => {
204
- process.env.ENV = 'PROD';
205
- const settings = DyNTS_getEnvironment_settings();
206
- // The function should handle case conversion
207
- expect(settings.environment).toBeDefined();
208
- });
209
- });
210
-
@@ -1,49 +0,0 @@
1
- import { DyFM_allEnvironmentFlags, DyFM_EnvironmentFlag, DyFM_Log } from '@futdevpro/fsm-dynamo';
2
- import { DyNTS_Environment_Settings } from '../_models/interfaces/environment-settings.interface';
3
- import * as dotenv from 'dotenv';
4
-
5
- export function DyNTS_getEnvironment_settings(): DyNTS_Environment_Settings {
6
- dotenv.config()
7
-
8
- let env = process.env.ENV ?? process.env.NODE_ENV ?? process.env.ENVIRONMENT ?? DyFM_EnvironmentFlag.local;
9
- env = env.toLocaleLowerCase();
10
-
11
- if (!DyFM_allEnvironmentFlags.includes(env as DyFM_EnvironmentFlag)) {
12
- DyFM_Log.error(`Unknown environment: "${env}", it will be set to "local"`);
13
- env = DyFM_EnvironmentFlag.local;
14
- }
15
-
16
- return {
17
- environment: DyFM_allEnvironmentFlags.includes(process.env.ENV as DyFM_EnvironmentFlag) ?
18
- process.env.ENV as DyFM_EnvironmentFlag :
19
- DyFM_EnvironmentFlag.local,
20
-
21
-
22
- discord: {
23
- guildId: process.env.DISCORD_GUILD_ID,
24
- token: process.env.DISCORD_BOT_TOKEN,
25
- clientId: process.env.DISCORD_BOT_CLIENT_ID,
26
- oauth2Url: process.env.DISCORD_BOT_OAUTH2_URL,
27
- },
28
-
29
- mongoUri: process.env.MONGO_URL || process.env.MONGO_URI,
30
-
31
- openAi: {
32
- apiKey: process.env.OPENAI_API_KEY,
33
- organization: process.env.OPENAI_ORGANIZATION,
34
- project: process.env.OPENAI_PROJECT,
35
- ttsApiKey: process.env.OPENAI_TTS_API_KEY,
36
- },
37
-
38
- /* elevenLabs: {
39
- apiKey: process.env.ELEVENLABS_API_KEY,
40
- },
41
-
42
- clickup: {
43
- apiKey: process.env.CLICKUP_API_KEY,
44
- workspaceId: process.env.CLICKUP_WORKSPACE_ID,
45
- spaceId: process.env.CLICKUP_SPACE_ID,
46
- listId: process.env.CLICKUP_LIST_ID,
47
- }, */
48
- }
49
- }
@@ -1,126 +0,0 @@
1
-
2
-
3
- import { DyNTS_RouteSecurity } from '../_enums/route-security.enum';
4
- import { DyNTS_Global_Settings } from '../_models/interfaces/global-settings.interface';
5
- import { DyNTS_SocketSecurity } from '../_modules/socket/_enums/socket-security.enum';
6
- import { DyNTS_getEnvironment_settings } from './get-environment-settings.util';
7
-
8
- /**
9
- * Default configuration used across the NodeTS framework.
10
- * These values can be overridden when bootstrapping the server.
11
- */
12
- export const DyNTS_global_settings: DyNTS_Global_Settings = {
13
- baseUrl: '/api',
14
- systemVersion: 'unknown-version',
15
- defaultRouteSecurity: DyNTS_RouteSecurity.open,
16
- defaultSocketSecurity: DyNTS_SocketSecurity.open,
17
-
18
- defaultPageSize: 10,
19
- archiveListAfter: 100,
20
- env_settings: DyNTS_getEnvironment_settings(),
21
-
22
- autoResolveEndpointCirculationErrors: true,
23
- compactErrorResponse: true,
24
-
25
- log_settings: {
26
- highDetailedLogs: false,
27
-
28
- setup: false,
29
-
30
- request: true,
31
- requestsContent: false,
32
- responseContent: false,
33
- requestStackLocation: false,
34
-
35
- socket_allEvents: true,
36
- socket_mainEvents: true,
37
- socket_eventContent: false,
38
-
39
- api_events: true,
40
- api_requestContents: false,
41
- api_requestSettings: false,
42
- api_responseContents: false,
43
- api_errors: true,
44
-
45
- detailedErrors: false,
46
-
47
- server_debug: false,
48
-
49
- logs_endpoint: {
50
- enabled: false,
51
- maxEntries: 2000,
52
- },
53
- },
54
-
55
- autoResearchIssues: true,
56
-
57
- // Auth-service kötelező alapból (régi viselkedés). Public / no-auth szervereknél
58
- // `auth_settings.optional = true` → getAuthService() undefined-ot ad dobás helyett,
59
- // és a startup 'Authentication Service missing!' warn is elmarad.
60
- auth_settings: {
61
- optional: false,
62
- },
63
-
64
- bot_settings: null,
65
-
66
- openAi_settings: null,
67
-
68
- dias_settings: null,
69
-
70
- assistant_settings: null,
71
-
72
- docChunking: {
73
- maxChunkSize: 1000,
74
- maxChunkCount: 1000,
75
- },
76
-
77
- // BFR-MASTERPROMPTER-011 / SEC-R2-8 — security response-headerek default-ON (safe-by-default
78
- // készlet: x-powered-by removal + SAMEORIGIN + nosniff + strict-origin-when-cross-origin;
79
- // HSTS AUTO csak prod-on; CSP opt-in). Per-app tweak az overrideDynamoNTSGlobalSettings()-ben.
80
- securityHeaders: {
81
- enabled: true,
82
- removePoweredBy: true,
83
- },
84
-
85
- // FR-193 — bedrock OOM korai-figyelmeztető heap-watchdog. Default-on: minden nts-szerver
86
- // megkapja a heap-nyomás-figyelést a base App startup-ban (lásd DyNTS_MemoryGuard). Csak
87
- // MEGFIGYELÉS + tartós rögzítés a near-OOM küszöböknél — nem változtat a viselkedésen.
88
- memoryGuard: {
89
- enabled: true,
90
- pollIntervalMs: 10000,
91
- heapWarningThreshold: 85,
92
- heapCriticalThreshold: 95,
93
- recoveryMargin: 10,
94
- maxHistoryCount: 100,
95
- // GC-thrash precursor (a %-küszöb által gyakran KÉSŐN/sosem fogott OOM) + crash-entry + opcionális graceful-exit.
96
- gcWarningFraction: 0.40,
97
- gcCriticalFraction: 0.60,
98
- installCrashHandlers: true,
99
- exitOnSustainedCritical: false,
100
- sustainedCriticalPolls: 3,
101
- exitCode: 137,
102
- bootGraceMs: 60000,
103
- // Auto-load-shed 503 (BFR-OVERSEER-009 maradék) — opt-in; esszenciális útvonalak kivételével.
104
- loadShedEnabled: false,
105
- loadShedExemptPathParts: ['/health', '/readiness', '/status', '/diag'],
106
- },
107
- // Event-loop-lag diag (BFR-OVERSEER-007) — olcsó natív mérés, default ON (opt-out lehetséges).
108
- eventLoopDiag: {
109
- enabled: true,
110
- pollIntervalMs: 5000,
111
- maxHistoryCount: 120,
112
- },
113
-
114
- // FR-258 / SR-4 — proactive collection-growth monitor (companion to memoryGuard). Periodically
115
- // samples each collection's document count (scan-free estimatedDocumentCount) and warns into the
116
- // Errors-sink BEFORE an unbounded collection can be loaded into heap and OOM. Observation only —
117
- // never deletes (retention SR-1/SR-2 does the deleting). Slow cadence (5 min) — growth is slow.
118
- collectionGrowthMonitor: {
119
- enabled: true,
120
- pollIntervalMs: 300000,
121
- sizeThresholdDocCount: 250000,
122
- growthRateThresholdPct: 50,
123
- reAlertCooldownMs: 3600000,
124
- },
125
- };
126
-
@@ -1,62 +0,0 @@
1
- import * as Express from 'express';
2
-
3
- import { DyNTS_createLoadShedMiddleware } from './load-shed.util';
4
- import { DyNTS_MemoryGuard } from '../_services/core/memory-guard.service';
5
-
6
- // Az auto-load-shed middleware tesztjei (BFR-OVERSEER-009 maradék): critical-nyomásnál 503,
7
- // esszenciális útvonalon SOHA, ok-nyomásnál átenged.
8
- describe('| DyNTS_createLoadShedMiddleware', (): void => {
9
-
10
- /** Minimál Express req/res/next hármas a middleware meghajtásához. */
11
- function buildContext(path: string): {
12
- req: Express.Request; res: Express.Response; next: jasmine.Spy;
13
- sent: { status?: number; body?: unknown };
14
- } {
15
- const sent: { status?: number; body?: unknown } = {};
16
- const res: Partial<Express.Response> = {
17
- status: (code: number): Express.Response => { sent.status = code; return res as Express.Response; },
18
- setHeader: (): Express.Response => res as Express.Response,
19
- send: (body: unknown): Express.Response => { sent.body = body; return res as Express.Response; },
20
- };
21
-
22
- return {
23
- req: { path: path } as Express.Request,
24
- res: res as Express.Response,
25
- next: jasmine.createSpy('next'),
26
- sent: sent,
27
- };
28
- }
29
-
30
- it('| critical nyomásnál 503-mal ejti a nem-esszenciális kérést', (): void => {
31
- spyOn(DyNTS_MemoryGuard.getInstance(), 'shouldShedLoad').and.returnValue(true);
32
- const middleware: Express.Handler = DyNTS_createLoadShedMiddleware();
33
- const ctx = buildContext('/api/heavy-operation');
34
-
35
- middleware(ctx.req, ctx.res, ctx.next);
36
-
37
- expect(ctx.sent.status).toBe(503);
38
- expect(ctx.next).not.toHaveBeenCalled();
39
- });
40
-
41
- it('| esszenciális útvonalon (health) critical alatt SEM shed-el', (): void => {
42
- spyOn(DyNTS_MemoryGuard.getInstance(), 'shouldShedLoad').and.returnValue(true);
43
- const middleware: Express.Handler = DyNTS_createLoadShedMiddleware();
44
- const ctx = buildContext('/api/server/health');
45
-
46
- middleware(ctx.req, ctx.res, ctx.next);
47
-
48
- expect(ctx.next).toHaveBeenCalled();
49
- expect(ctx.sent.status).toBeUndefined();
50
- });
51
-
52
- it('| ok-nyomásnál átengedi a kérést', (): void => {
53
- spyOn(DyNTS_MemoryGuard.getInstance(), 'shouldShedLoad').and.returnValue(false);
54
- const middleware: Express.Handler = DyNTS_createLoadShedMiddleware();
55
- const ctx = buildContext('/api/anything');
56
-
57
- middleware(ctx.req, ctx.res, ctx.next);
58
-
59
- expect(ctx.next).toHaveBeenCalled();
60
- expect(ctx.sent.status).toBeUndefined();
61
- });
62
- });