@futdevpro/nts-dynamo 1.15.86 → 1.15.89

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 (382) hide show
  1. package/.c8rc.json +26 -26
  2. package/.copilot/patterns.json +7 -7
  3. package/.cursor/rules/__assistant_guide.mdc +30 -30
  4. package/.cursor/rules/_ag_backend-structure.mdc +85 -85
  5. package/.cursor/rules/_ag_backend.mdc +16 -16
  6. package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
  7. package/.cursor/rules/_ag_frontend.mdc +39 -39
  8. package/.cursor/rules/_ag_import-rules.mdc +44 -44
  9. package/.cursor/rules/_ag_naming.mdc +115 -115
  10. package/.cursor/rules/_ag_should-be.mdc +6 -6
  11. package/.cursor/rules/ai_development_guide.md +60 -60
  12. package/.cursor/rules/cursor-rules.md +160 -160
  13. package/.cursor/rules/default-command.mdc +464 -464
  14. package/.cursor/rules/error_code_pattern.md +39 -39
  15. package/.cursor/rules/saved rule mcp server use.md +15 -15
  16. package/.dynamo/pipeline.cicd.config.json +4 -0
  17. package/.vscode/settings.json +10 -10
  18. package/HOWTO.md +15 -15
  19. package/LICENSE +21 -21
  20. package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
  21. package/__documentations/plans/BEDROCK-HYPERPLAN.md +95 -95
  22. package/_specifications/BACKLOG.md +92 -92
  23. package/_specifications/TODO.md +15 -15
  24. package/_specifications/agent.md +138 -138
  25. package/build/_collections/global-settings.const.d.ts.map +1 -1
  26. package/build/_collections/global-settings.const.js +7 -0
  27. package/build/_collections/global-settings.const.js.map +1 -1
  28. package/build/_collections/security-headers.util.d.ts +17 -0
  29. package/build/_collections/security-headers.util.d.ts.map +1 -0
  30. package/build/_collections/security-headers.util.js +78 -0
  31. package/build/_collections/security-headers.util.js.map +1 -0
  32. package/build/_models/interfaces/global-settings.interface.d.ts +8 -0
  33. package/build/_models/interfaces/global-settings.interface.d.ts.map +1 -1
  34. package/build/_models/interfaces/security-headers-settings.interface.d.ts +42 -0
  35. package/build/_models/interfaces/security-headers-settings.interface.d.ts.map +1 -0
  36. package/build/_models/interfaces/security-headers-settings.interface.js +3 -0
  37. package/build/_models/interfaces/security-headers-settings.interface.js.map +1 -0
  38. package/build/_services/server/app.server.d.ts +7 -0
  39. package/build/_services/server/app.server.d.ts.map +1 -1
  40. package/build/_services/server/app.server.js +22 -0
  41. package/build/_services/server/app.server.js.map +1 -1
  42. package/build/index.d.ts +2 -0
  43. package/build/index.d.ts.map +1 -1
  44. package/build/index.js +2 -0
  45. package/build/index.js.map +1 -1
  46. package/eslint.config.js +3 -3
  47. package/nodemon.json +24 -24
  48. package/package.json +5 -5
  49. package/pnpm-workspace.yaml +5 -5
  50. package/scripts/run-coverage-tests.js +28 -28
  51. package/spec/support/helpers/spec-reporter-loader.js +359 -359
  52. package/spec/support/helpers/ts-node-helper.js +93 -93
  53. package/spec/support/jasmine.coverage.json +24 -24
  54. package/spec/support/jasmine.json +24 -24
  55. package/src/_collections/archive.util.spec.ts +57 -57
  56. package/src/_collections/archive.util.ts +18 -18
  57. package/src/_collections/atlas-default-db-options.const.ts +9 -9
  58. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -11
  59. package/src/_collections/default-fallback-cache-max-age.const.ts +2 -2
  60. package/src/_collections/default-not-found-page.const.spec.ts +19 -19
  61. package/src/_collections/default-not-found-page.const.ts +22 -22
  62. package/src/_collections/default-socket-path.const.spec.ts +12 -12
  63. package/src/_collections/default-socket-path.const.ts +2 -2
  64. package/src/_collections/get-environment-settings.util.spec.ts +210 -210
  65. package/src/_collections/get-environment-settings.util.ts +48 -48
  66. package/src/_collections/global-settings.const.ts +114 -106
  67. package/src/_collections/sample.env +21 -21
  68. package/src/_collections/security-headers.util.spec.ts +98 -0
  69. package/src/_collections/security-headers.util.ts +96 -0
  70. package/src/_collections/star.controller.spec.ts +224 -224
  71. package/src/_collections/star.controller.ts +129 -129
  72. package/src/_enums/data-model-type.enum.ts +14 -14
  73. package/src/_enums/data-service-function.enum.ts +24 -24
  74. package/src/_enums/predefined-data-types.enum.ts +16 -16
  75. package/src/_enums/route-security.enum.ts +12 -12
  76. package/src/_models/control-models/api-call-params.control-model.spec.ts +152 -152
  77. package/src/_models/control-models/api-call-params.control-model.ts +142 -142
  78. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -52
  79. package/src/_models/control-models/app-ext-system-controls.control-model.ts +9 -9
  80. package/src/_models/control-models/app-params.control-model.spec.ts +225 -225
  81. package/src/_models/control-models/app-params.control-model.ts +136 -136
  82. package/src/_models/control-models/app-system-controls.control-model.spec.ts +31 -31
  83. package/src/_models/control-models/app-system-controls.control-model.ts +9 -9
  84. package/src/_models/control-models/endpoint-params.control-model.spec.ts +627 -627
  85. package/src/_models/control-models/endpoint-params.control-model.ts +627 -627
  86. package/src/_models/control-models/http-settings.control-model.spec.ts +77 -77
  87. package/src/_models/control-models/http-settings.control-model.ts +37 -37
  88. package/src/_models/control-models/system-control.control-model.spec.ts +27 -27
  89. package/src/_models/control-models/system-control.control-model.ts +12 -12
  90. package/src/_models/interfaces/certification-settings.interface.ts +7 -7
  91. package/src/_models/interfaces/environment-settings.interface.ts +59 -59
  92. package/src/_models/interfaces/global-log-settings.interface.ts +171 -171
  93. package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
  94. package/src/_models/interfaces/global-settings.interface.ts +244 -235
  95. package/src/_models/interfaces/routing-module-settings.interface.ts +21 -21
  96. package/src/_models/interfaces/security-headers-settings.interface.ts +50 -0
  97. package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -29
  98. package/src/_models/interfaces/static-client-settings.interface.ts +28 -28
  99. package/src/_models/types/db-update.type.ts +100 -100
  100. package/src/_modules/ai/_models/ai-input-interfaces.ts +117 -117
  101. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +16 -16
  102. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +138 -138
  103. package/src/_modules/ai/_modules/anthropic/index.ts +5 -5
  104. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -242
  105. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +639 -639
  106. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +295 -295
  107. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +518 -518
  108. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -209
  109. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +85 -85
  110. package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +7 -7
  111. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +146 -146
  112. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +162 -162
  113. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +99 -99
  114. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +68 -68
  115. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +18 -18
  116. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +19 -19
  117. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +25 -25
  118. package/src/_modules/ai/_modules/document-ai/index.ts +30 -30
  119. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +189 -189
  120. package/src/_modules/ai/_modules/fdp-ai/index.ts +5 -5
  121. package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +9 -9
  122. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +82 -82
  123. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +75 -75
  124. package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +45 -45
  125. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +7 -7
  126. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +7 -7
  127. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +57 -57
  128. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +292 -292
  129. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -342
  130. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -550
  131. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +630 -630
  132. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +332 -332
  133. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -462
  134. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +634 -634
  135. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +489 -489
  136. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +173 -173
  137. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +1033 -1033
  138. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
  139. package/src/_modules/ai/_services/ai-embedding-mock.service.spec.ts +115 -115
  140. package/src/_modules/ai/_services/ai-embedding-mock.service.ts +212 -212
  141. package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +110 -110
  142. package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +110 -110
  143. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -98
  144. package/src/_modules/ai/_services/ai-embedding.service-base.ts +48 -48
  145. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -229
  146. package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +68 -68
  147. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -250
  148. package/src/_modules/ai/_services/ai-llm.service-base.ts +519 -519
  149. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +158 -158
  150. package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
  151. package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +197 -197
  152. package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +371 -371
  153. package/src/_modules/ai/index.ts +23 -23
  154. package/src/_modules/assistant/_collections/ass-global-settings.const.ts +13 -13
  155. package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -176
  156. package/src/_modules/assistant/_collections/ass.util.ts +50 -50
  157. package/src/_modules/assistant/_models/ass-global-settings.interface.ts +15 -15
  158. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -140
  159. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -192
  160. package/src/_modules/assistant/_services/ass-main.control-service.ts +107 -107
  161. package/src/_modules/bot/_collections/bot-default-commands.const.ts +12 -12
  162. package/src/_modules/bot/_collections/bot-global-settings.const.ts +39 -39
  163. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +62 -62
  164. package/src/_modules/bot/_models/bot-command.interface.ts +8 -8
  165. package/src/_modules/bot/_models/bot-global-settings.interface.ts +96 -96
  166. package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +6 -6
  167. package/src/_modules/bot/_models/bot-last-message-date.interface.ts +5 -5
  168. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +41 -41
  169. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +9 -9
  170. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -431
  171. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -160
  172. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +55 -55
  173. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +15 -15
  174. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -374
  175. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +447 -447
  176. package/src/_modules/bot/_modules/dynamo-bot/index.ts +15 -15
  177. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +9 -9
  178. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -344
  179. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +197 -197
  180. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +9 -9
  181. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -345
  182. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +197 -197
  183. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -116
  184. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -285
  185. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -208
  186. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -349
  187. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -111
  188. package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -49
  189. package/src/_modules/custom-data/custom-data.controller.ts +67 -67
  190. package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -54
  191. package/src/_modules/custom-data/custom-data.data-service.ts +21 -21
  192. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -28
  193. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +24 -24
  194. package/src/_modules/custom-data/index.ts +9 -9
  195. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +161 -161
  196. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +203 -203
  197. package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +33 -33
  198. package/src/_modules/data-readers/index.ts +11 -11
  199. package/src/_modules/defaults/_collections/default-endpoints.util.ts +487 -487
  200. package/src/_modules/defaults/_models/default-user.data-model.ts +72 -72
  201. package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -269
  202. package/src/_modules/defaults/_services/default-auth.service.ts +177 -177
  203. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -42
  204. package/src/_modules/defaults/_services/default-socket-events.service.ts +61 -61
  205. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -187
  206. package/src/_modules/defaults/_services/default-user.data-service.ts +98 -98
  207. package/src/_modules/defaults/index.ts +17 -17
  208. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +19 -19
  209. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -366
  210. package/src/_modules/discord-assistant/_collections/dias.util.ts +132 -132
  211. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +19 -19
  212. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +52 -52
  213. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +177 -177
  214. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -108
  215. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +69 -69
  216. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -22
  217. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +27 -27
  218. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -195
  219. package/src/_modules/discord-assistant/_services/dias.service-base.ts +76 -76
  220. package/src/_modules/discord-assistant/index.ts +38 -38
  221. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -34
  222. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +11 -11
  223. package/src/_modules/discord-assistant-voiced/index.ts +36 -36
  224. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +16 -16
  225. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +55 -55
  226. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -214
  227. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +387 -387
  228. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +12 -12
  229. package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +98 -98
  230. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +7 -7
  231. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +6 -6
  232. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -154
  233. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +153 -153
  234. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -264
  235. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +306 -306
  236. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -408
  237. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +487 -487
  238. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -105
  239. package/src/_modules/discord-bot/index.ts +36 -36
  240. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +35 -35
  241. package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +59 -59
  242. package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +17 -17
  243. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -418
  244. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +276 -276
  245. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +480 -480
  246. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +416 -416
  247. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +198 -198
  248. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +146 -146
  249. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +167 -167
  250. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +106 -106
  251. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +507 -507
  252. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +272 -272
  253. package/src/_modules/local-vector-search/index.ts +16 -16
  254. package/src/_modules/logs/index.ts +11 -11
  255. package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +111 -111
  256. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +142 -142
  257. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +120 -120
  258. package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +168 -168
  259. package/src/_modules/mcp/index.ts +13 -13
  260. package/src/_modules/messaging/README.md +354 -354
  261. package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +26 -26
  262. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +22 -22
  263. package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -226
  264. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +37 -37
  265. package/src/_modules/messaging/_services/msg-conversation.data-service.ts +146 -146
  266. package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -219
  267. package/src/_modules/messaging/_services/msg-events.service.ts +267 -267
  268. package/src/_modules/messaging/_services/msg-integration.control-service.ts +179 -179
  269. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -147
  270. package/src/_modules/messaging/_services/msg-main.control-service.ts +571 -571
  271. package/src/_modules/messaging/_services/msg-message.data-service.ts +129 -129
  272. package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -201
  273. package/src/_modules/messaging/index.ts +30 -30
  274. package/src/_modules/mock/app-extended-server.mock.ts +201 -201
  275. package/src/_modules/mock/app-integration-test.mock.ts +51 -51
  276. package/src/_modules/mock/app-params.mock.spec.ts +21 -21
  277. package/src/_modules/mock/app-params.mock.ts +9 -9
  278. package/src/_modules/mock/app-server.mock.ts +188 -188
  279. package/src/_modules/mock/auth-service.mock.spec.ts +47 -47
  280. package/src/_modules/mock/auth-service.mock.ts +28 -28
  281. package/src/_modules/mock/controller.mock.spec.ts +26 -26
  282. package/src/_modules/mock/controller.mock.ts +16 -16
  283. package/src/_modules/mock/data-model.mock.spec.ts +111 -111
  284. package/src/_modules/mock/data-model.mock.ts +82 -82
  285. package/src/_modules/mock/email-service-collection.mock.spec.ts +24 -24
  286. package/src/_modules/mock/email-service-collection.mock.ts +15 -15
  287. package/src/_modules/mock/email-service.mock.spec.ts +17 -17
  288. package/src/_modules/mock/email-service.mock.ts +20 -20
  289. package/src/_modules/mock/email-template.mock.html +14 -14
  290. package/src/_modules/mock/endpoint.mock.ts +91 -91
  291. package/src/_modules/mock/socket-client.mock.spec.ts +40 -40
  292. package/src/_modules/mock/socket-client.mock.ts +45 -45
  293. package/src/_modules/mock/socket-server.mock.spec.ts +44 -44
  294. package/src/_modules/mock/socket-server.mock.ts +46 -46
  295. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -107
  296. package/src/_modules/oauth2/_routes/oauth2.controller.ts +98 -98
  297. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -254
  298. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -232
  299. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -585
  300. package/src/_modules/oauth2/_services/oauth2.control-service.ts +653 -653
  301. package/src/_modules/oauth2/index.ts +17 -17
  302. package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +22 -22
  303. package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +81 -81
  304. package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +107 -107
  305. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +306 -306
  306. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +295 -295
  307. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +118 -118
  308. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +105 -105
  309. package/src/_modules/scoped-config/index.ts +17 -17
  310. package/src/_modules/server/errors/errors.control-service.spec.ts +238 -238
  311. package/src/_modules/server/errors/errors.control-service.ts +100 -100
  312. package/src/_modules/server/errors/errors.controller.spec.ts +268 -268
  313. package/src/_modules/server/errors/errors.controller.ts +515 -515
  314. package/src/_modules/server/errors/errors.data-service.spec.ts +480 -480
  315. package/src/_modules/server/index.ts +30 -30
  316. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -70
  317. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +17 -17
  318. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -77
  319. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +37 -37
  320. package/src/_modules/server/server-status/server-status.control-service.spec.ts +576 -576
  321. package/src/_modules/server/server-status/server-status.control-service.ts +396 -396
  322. package/src/_modules/server/server-status/server-status.controller.spec.ts +255 -255
  323. package/src/_modules/server/server-status/server-status.controller.ts +272 -272
  324. package/src/_modules/socket/_enums/socket-security.enum.ts +11 -11
  325. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +32 -32
  326. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +22 -22
  327. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -164
  328. package/src/_modules/socket/_models/socket-presence.control-model.ts +210 -210
  329. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +46 -46
  330. package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +22 -22
  331. package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -15
  332. package/src/_modules/socket/_services/socket-client.service.ts +260 -260
  333. package/src/_modules/socket/_services/socket-server.service.spec.ts +11 -11
  334. package/src/_modules/socket/app-extended.integration.spec.ts +85 -85
  335. package/src/_modules/socket/app-extended.server.ts +630 -630
  336. package/src/_modules/socket/index.ts +42 -42
  337. package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -28
  338. package/src/_modules/test/get-test-routing-module.util.ts +23 -23
  339. package/src/_modules/test/index.ts +11 -11
  340. package/src/_modules/test/test.controller.spec.ts +72 -72
  341. package/src/_modules/test/test.controller.ts +115 -115
  342. package/src/_modules/usage/get-usage-routing-module.util.ts +22 -22
  343. package/src/_modules/usage/index.ts +15 -15
  344. package/src/_modules/usage/usage.controller.spec.ts +81 -81
  345. package/src/_modules/usage/usage.controller.ts +126 -126
  346. package/src/_modules/usage/usage.data-service.spec.ts +332 -332
  347. package/src/_modules/usage/usage.data-service.ts +185 -185
  348. package/src/_services/base/api.service-base.spec.ts +125 -125
  349. package/src/_services/base/api.service-base.ts +74 -74
  350. package/src/_services/base/archive-data.service.spec.ts +209 -209
  351. package/src/_services/base/archive-data.service.ts +224 -224
  352. package/src/_services/base/data.service.spec.ts +729 -729
  353. package/src/_services/base/data.service.ts +2740 -2740
  354. package/src/_services/base/db.service.spec.ts +73 -73
  355. package/src/_services/base/db.service.ts +1575 -1575
  356. package/src/_services/base/singleton.service-base.spec.ts +28 -28
  357. package/src/_services/base/singleton.service-base.ts +24 -24
  358. package/src/_services/base/singleton.service.spec.ts +114 -114
  359. package/src/_services/base/singleton.service.ts +38 -38
  360. package/src/_services/core/api.service.spec.ts +140 -140
  361. package/src/_services/core/auth.service.spec.ts +159 -159
  362. package/src/_services/core/auth.service.ts +174 -174
  363. package/src/_services/core/email.service.spec.ts +85 -85
  364. package/src/_services/core/email.service.ts +742 -742
  365. package/src/_services/core/global.service.spec.ts +292 -292
  366. package/src/_services/core/global.service.ts +487 -487
  367. package/src/_services/core/memory-guard.service.spec.ts +245 -245
  368. package/src/_services/core/memory-guard.service.ts +481 -481
  369. package/src/_services/core/service-collection.service.spec.ts +46 -46
  370. package/src/_services/core/service-collection.service.ts +6 -6
  371. package/src/_services/route/controller.service.spec.ts +53 -53
  372. package/src/_services/route/controller.service.ts +148 -148
  373. package/src/_services/route/routing-module.service.spec.ts +98 -98
  374. package/src/_services/route/routing-module.service.ts +330 -330
  375. package/src/_services/server/app.server.ts +1941 -1912
  376. package/src/_services/shared.static-service.spec.ts +99 -99
  377. package/src/_services/shared.static-service.ts +78 -78
  378. package/src/index.ts +98 -96
  379. package/tsconfig.app.json +12 -12
  380. package/tsconfig.json +42 -42
  381. package/.dynamo/logs/cicd-pipeline/output.log +0 -2818
  382. package/.dynamo/logs/cicd-pipeline/status.json +0 -94
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_resolveSecurityHeaders = DyNTS_resolveSecurityHeaders;
4
+ exports.DyNTS_createSecurityHeadersMiddleware = DyNTS_createSecurityHeadersMiddleware;
5
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
6
+ /**
7
+ * A security response-headerek TISZTA (Express-mentes, unit-tesztelhető) resolvere
8
+ * (BFR-MASTERPROMPTER-011 / SEC-R2-8). A `DyNTS_App.mountSecurityHeaders` ebből épít middleware-t.
9
+ *
10
+ * **HSTS AUTO-env-gate**: ha a `hsts` beállítás nem explicit, CSAK prod environment-en emittálunk
11
+ * (a test-környezeti sticky-HSTS elkerülésére); explicit `hsts.enabled` felülbírálja mindkét irányba.
12
+ */
13
+ function DyNTS_resolveSecurityHeaders(settings, environment) {
14
+ const headers = {};
15
+ if (!settings.enabled) {
16
+ return headers;
17
+ }
18
+ // Clickjacking-védelem — default SAMEORIGIN.
19
+ const frameOptions = settings.frameOptions ?? 'SAMEORIGIN';
20
+ if (frameOptions) {
21
+ headers['X-Frame-Options'] = frameOptions;
22
+ }
23
+ // MIME-sniffing tiltás — default nosniff.
24
+ const contentTypeOptions = settings.contentTypeOptions ?? 'nosniff';
25
+ if (contentTypeOptions) {
26
+ headers['X-Content-Type-Options'] = contentTypeOptions;
27
+ }
28
+ // Referrer-szivárgás korlátozás — default strict-origin-when-cross-origin.
29
+ const referrerPolicy = settings.referrerPolicy ?? 'strict-origin-when-cross-origin';
30
+ if (referrerPolicy) {
31
+ headers['Referrer-Policy'] = referrerPolicy;
32
+ }
33
+ // Permissions-Policy — opt-in (app-specifikus feature-készlet).
34
+ if (settings.permissionsPolicy) {
35
+ headers['Permissions-Policy'] = settings.permissionsPolicy;
36
+ }
37
+ // HSTS — AUTO-env-gate: default CSAK prod-on; explicit enabled felülbírál.
38
+ if (settings.hsts !== false) {
39
+ const hstsExplicitlyEnabled = settings.hsts?.enabled === true;
40
+ const hstsExplicitlyDisabled = settings.hsts?.enabled === false;
41
+ const hstsAutoOn = environment === fsm_dynamo_1.DyFM_EnvironmentFlag.prod;
42
+ if (!hstsExplicitlyDisabled && (hstsExplicitlyEnabled || hstsAutoOn)) {
43
+ const maxAge = settings.hsts?.maxAgeSeconds ?? 15768000;
44
+ const includeSubDomains = (settings.hsts?.includeSubDomains ?? true) ? '; includeSubDomains' : '';
45
+ const preload = settings.hsts?.preload ? '; preload' : '';
46
+ headers['Strict-Transport-Security'] = `max-age=${maxAge}${includeSubDomains}${preload}`;
47
+ }
48
+ }
49
+ // CSP — opt-in string; a Report-Only header-név a fokozatos bevezetéshez.
50
+ if (settings.csp) {
51
+ const cspHeaderName = settings.cspReportOnly
52
+ ? 'Content-Security-Policy-Report-Only'
53
+ : 'Content-Security-Policy';
54
+ headers[cspHeaderName] = settings.csp;
55
+ }
56
+ // Tetszőleges további headerek (merge, felülírással).
57
+ if (settings.additionalHeaders) {
58
+ for (const [key, value] of Object.entries(settings.additionalHeaders)) {
59
+ headers[key] = value;
60
+ }
61
+ }
62
+ return headers;
63
+ }
64
+ /**
65
+ * Express-middleware factory a resolvelt headerekből. A headereket boot-kor EGYSZER resolvoljuk
66
+ * (a settings boot után nem változik), a middleware kérésenként csak setHeader-öl.
67
+ */
68
+ function DyNTS_createSecurityHeadersMiddleware(settings, environment) {
69
+ const resolvedHeaders = DyNTS_resolveSecurityHeaders(settings, environment);
70
+ const headerEntries = Object.entries(resolvedHeaders);
71
+ return (req, res, next) => {
72
+ for (const [key, value] of headerEntries) {
73
+ res.setHeader(key, value);
74
+ }
75
+ next();
76
+ };
77
+ }
78
+ //# sourceMappingURL=security-headers.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-headers.util.js","sourceRoot":"","sources":["../../src/_collections/security-headers.util.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { DyNTS_RouteSecurity } from '../../_enums/route-security.enum';
2
+ import { DyNTS_SecurityHeaders_Settings } from './security-headers-settings.interface';
2
3
  import { DyNTS_SocketSecurity } from '../../_modules/socket/_enums/socket-security.enum';
3
4
  import { DyNTS_GlobalLog_Settings } from './global-log-settings.interface';
4
5
  import { DyNTS_Environment_Settings } from './environment-settings.interface';
@@ -137,6 +138,13 @@ export interface DyNTS_Global_Settings {
137
138
  * default settings: {@link DyNTS_Msg_global_settings}
138
139
  */
139
140
  messaging_settings?: any;
141
+ /**
142
+ * BFR-MASTERPROMPTER-011 / SEC-R2-8 — security response-header middleware. Ha enabled
143
+ * (default: true), a base App az open+secure Express-en a CORS-mount ELŐTT minden válaszra
144
+ * ráteszi a biztonsági headereket (x-powered-by removal + X-Frame-Options + nosniff +
145
+ * Referrer-Policy; HSTS auto-prod-gated; CSP opt-in). Lásd {@link DyNTS_SecurityHeaders_Settings}.
146
+ */
147
+ securityHeaders?: DyNTS_SecurityHeaders_Settings;
140
148
  /**
141
149
  * FR-193 — bedrock OOM korai-figyelmeztető heap-watchdog ({@link DyNTS_MemoryGuard}).
142
150
  * Ha `enabled`, a base `App` startup automatikusan feltelepíti. Periodikusan figyeli a
@@ -1 +1 @@
1
- {"version":3,"file":"global-settings.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/global-settings.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-settings.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/global-settings.interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * `DyNTS_SecurityHeaders_Settings` — a bedrock security response-header middleware beállításai
3
+ * (BFR-MASTERPROMPTER-011 / SEC-R2-8). A middleware minden `DyNTS_App`-leszármazott open+secure
4
+ * Express-én, a CORS-mount ELŐTT fut (így az OPTIONS preflight-válaszok is megkapják a headereket).
5
+ *
6
+ * **Default-ON, safe-by-default**: zéró-konfiggal a bizonyítottan nem-törő készlet megy ki
7
+ * (x-powered-by removal + X-Frame-Options + nosniff + Referrer-Policy). A HSTS auto-env-gated
8
+ * (csak prod), a CSP opt-in (app-specifikus). Bármely header `false`-szal kikapcsolható;
9
+ * `enabled: false` = teljes opt-out.
10
+ */
11
+ export interface DyNTS_SecurityHeaders_Settings {
12
+ /** Fő kapcsoló. Default: true (a middleware minden szerveren aktív). */
13
+ enabled: boolean;
14
+ /** `app.disable('x-powered-by')` — Express tech-leak eltávolítás. Default: true. */
15
+ removePoweredBy?: boolean;
16
+ /** `X-Frame-Options` értéke, vagy `false` a kihagyáshoz. Default: 'SAMEORIGIN'. */
17
+ frameOptions?: string | false;
18
+ /** `X-Content-Type-Options` értéke, vagy `false`. Default: 'nosniff'. */
19
+ contentTypeOptions?: string | false;
20
+ /** `Referrer-Policy` értéke, vagy `false`. Default: 'strict-origin-when-cross-origin'. */
21
+ referrerPolicy?: string | false;
22
+ /** `Permissions-Policy` értéke, vagy `false`. Default: false (opt-in — app-specifikus). */
23
+ permissionsPolicy?: string | false;
24
+ /**
25
+ * HSTS (`Strict-Transport-Security`). Default: AUTO — CSAK prod environment-en emittál
26
+ * (`max-age=15768000; includeSubDomains`); a test-en a sticky-HSTS strukturálisan elkerülve.
27
+ * Explicit `{ enabled: true }` bármely env-en bekapcsolja; `false` mindenhol kikapcsolja.
28
+ */
29
+ hsts?: {
30
+ enabled?: boolean;
31
+ maxAgeSeconds?: number;
32
+ includeSubDomains?: boolean;
33
+ preload?: boolean;
34
+ } | false;
35
+ /** `Content-Security-Policy` string, vagy `false`. Default: false (app-specifikus, OPT-IN). */
36
+ csp?: string | false;
37
+ /** Ha true, a CSP a `Content-Security-Policy-Report-Only` header-névvel megy ki (rollout-segéd). */
38
+ cspReportOnly?: boolean;
39
+ /** További tetszőleges fix headerek (merge a resolvelt készletre). */
40
+ additionalHeaders?: Record<string, string>;
41
+ }
42
+ //# sourceMappingURL=security-headers-settings.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-headers-settings.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/security-headers-settings.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,8BAA8B;IAC7C,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;IAEjB,oFAAoF;IACpF,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE9B,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEpC,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEhC,2FAA2F;IAC3F,iBAAiB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEnC;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,KAAK,CAAC;IAEV,+FAA+F;IAC/F,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAErB,oGAAoG;IACpG,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=security-headers-settings.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-headers-settings.interface.js","sourceRoot":"","sources":["../../../src/_models/interfaces/security-headers-settings.interface.ts"],"names":[],"mappings":""}
@@ -325,6 +325,13 @@ export declare abstract class DyNTS_App extends DyNTS_SingletonService {
325
325
  * - Full control over Vary/credentials/preflight semantics.
326
326
  * - Aligns with FDP "no unnecessary deps" philosophy.
327
327
  */
328
+ /**
329
+ * BFR-011 / SEC-R2-8 — security response-headerek mountolása (a `mountCors` tükörképe).
330
+ * A `DyNTS_global_settings.securityHeaders` alapján (default-ON) minden válaszra ráteszi a
331
+ * biztonsági headereket + eltávolítja az `x-powered-by`-t. A CORS-mount ELŐTT hívandó, hogy az
332
+ * OPTIONS preflight-válaszok (amiket a mountCors 204-gyel rövidre zár) is megkapják.
333
+ */
334
+ protected mountSecurityHeaders(express: Express.Application): void;
328
335
  protected mountCors(express: Express.Application): void;
329
336
  /**
330
337
  * Generikus, auth-agnosztikus extension-point orchestrator. A `registerCustomMiddleware`
@@ -1 +1 @@
1
- {"version":3,"file":"app.server.d.ts","sourceRoot":"","sources":["../../../src/_services/server/app.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.server.d.ts","sourceRoot":"","sources":["../../../src/_services/server/app.server.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
15
15
  const default_fallback_cache_max_age_const_1 = require("../../_collections/default-fallback-cache-max-age.const");
16
16
  const default_not_found_page_const_1 = require("../../_collections/default-not-found-page.const");
17
17
  const global_settings_const_1 = require("../../_collections/global-settings.const");
18
+ const get_environment_settings_util_1 = require("../../_collections/get-environment-settings.util");
19
+ const security_headers_util_1 = require("../../_collections/security-headers.util");
18
20
  const mongo_reconnect_guard_util_1 = require("../../_collections/mongo-reconnect-guard.util");
19
21
  const static_cache_control_util_1 = require("../../_collections/static-cache-control.util");
20
22
  const route_security_enum_1 = require("../../_enums/route-security.enum");
@@ -825,6 +827,8 @@ class DyNTS_App extends singleton_service_1.DyNTS_SingletonService {
825
827
  this.openExpress.set('maxHeaderSize', 10 * fsm_dynamo_1.megabyte); // 1024 * 1024 * 10, // 10MB
826
828
  this.openExpress.use(BodyParser.urlencoded(this._portSettings.httpUrlencoded));
827
829
  this.openExpress.use(BodyParser.json(this._portSettings.httpJson));
830
+ // BFR-011 / SEC-R2-8 — security headerek a CORS ELŐTT (az OPTIONS preflight-válaszok is kapják).
831
+ this.mountSecurityHeaders(this.openExpress);
828
832
  // FR-041 — CORS allowlist enforcement. No-op if getCorsSettings() is not overridden.
829
833
  this.mountCors(this.openExpress);
830
834
  }
@@ -837,6 +841,8 @@ class DyNTS_App extends singleton_service_1.DyNTS_SingletonService {
837
841
  this.secureExpress = Express();
838
842
  this.secureExpress.use(BodyParser.urlencoded(this._portSettings.httpsUrlencoded));
839
843
  this.secureExpress.use(BodyParser.json(this._portSettings.httpsJson));
844
+ // BFR-011 / SEC-R2-8 — security headerek a CORS ELŐTT (mint az open expressen).
845
+ this.mountSecurityHeaders(this.secureExpress);
840
846
  // FR-041 — CORS allowlist enforcement (same as open express).
841
847
  this.mountCors(this.secureExpress);
842
848
  const options = {
@@ -1091,6 +1097,22 @@ class DyNTS_App extends singleton_service_1.DyNTS_SingletonService {
1091
1097
  * - Full control over Vary/credentials/preflight semantics.
1092
1098
  * - Aligns with FDP "no unnecessary deps" philosophy.
1093
1099
  */
1100
+ /**
1101
+ * BFR-011 / SEC-R2-8 — security response-headerek mountolása (a `mountCors` tükörképe).
1102
+ * A `DyNTS_global_settings.securityHeaders` alapján (default-ON) minden válaszra ráteszi a
1103
+ * biztonsági headereket + eltávolítja az `x-powered-by`-t. A CORS-mount ELŐTT hívandó, hogy az
1104
+ * OPTIONS preflight-válaszok (amiket a mountCors 204-gyel rövidre zár) is megkapják.
1105
+ */
1106
+ mountSecurityHeaders(express) {
1107
+ const settings = global_settings_const_1.DyNTS_global_settings.securityHeaders;
1108
+ if (!settings || !settings.enabled) {
1109
+ return;
1110
+ }
1111
+ if (settings.removePoweredBy !== false) {
1112
+ express.disable('x-powered-by');
1113
+ }
1114
+ express.use((0, security_headers_util_1.DyNTS_createSecurityHeadersMiddleware)(settings, (0, get_environment_settings_util_1.DyNTS_getEnvironment_settings)().environment));
1115
+ }
1094
1116
  mountCors(express) {
1095
1117
  const settings = this.getCorsSettings?.();
1096
1118
  if (!settings) {
@@ -1 +1 @@
1
- {"version":3,"file":"app.server.js","sourceRoot":"","sources":["../../../src/_services/server/app.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.server.js","sourceRoot":"","sources":["../../../src/_services/server/app.server.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -17,6 +17,8 @@ export * from './_models/interfaces/global-settings.interface';
17
17
  export * from './_models/interfaces/routing-module-settings.interface';
18
18
  export * from './_models/interfaces/static-client-settings.interface';
19
19
  export * from './_models/interfaces/cors-settings.interface';
20
+ export * from './_models/interfaces/security-headers-settings.interface';
21
+ export * from './_collections/security-headers.util';
20
22
  export * from './_models/control-models/api-call-params.control-model';
21
23
  export * from './_models/control-models/app-ext-system-controls.control-model';
22
24
  export * from './_models/control-models/app-params.control-model';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2BA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,sCAAsC,CAAC;AAIrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAK7C,mEAAmE;AACnE,cAAc,uDAAuD,CAAC;AACtE,cAAc,qDAAqD,CAAC;AACpE,cAAc,wDAAwD,CAAC;AACvE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wDAAwD,CAAC;AACvE,cAAc,uDAAuD,CAAC;AACtE,cAAc,8CAA8C,CAAC;AAG7D,cAAc,wDAAwD,CAAC;AACvE,cAAc,gEAAgE,CAAA;AAC9E,cAAc,mDAAmD,CAAC;AAClE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,wDAAwD,CAAC;AACvE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uDAAuD,CAAC;AAGtE,cAAc,gCAAgC,CAAC;AAK/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oDAAoD,CAAC;AACnE,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,6CAA6C,CAAC;AAG5D,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AAGnD,cAAc,+BAA+B,CAAC;AAG9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AAGzD,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2BA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,sCAAsC,CAAC;AAIrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAK7C,mEAAmE;AACnE,cAAc,uDAAuD,CAAC;AACtE,cAAc,qDAAqD,CAAC;AACpE,cAAc,wDAAwD,CAAC;AACvE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wDAAwD,CAAC;AACvE,cAAc,uDAAuD,CAAC;AACtE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0DAA0D,CAAC;AACzE,cAAc,sCAAsC,CAAC;AAGrD,cAAc,wDAAwD,CAAC;AACvE,cAAc,gEAAgE,CAAA;AAC9E,cAAc,mDAAmD,CAAC;AAClE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,wDAAwD,CAAC;AACvE,cAAc,sDAAsD,CAAC;AACrE,cAAc,uDAAuD,CAAC;AAGtE,cAAc,gCAAgC,CAAC;AAK/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oDAAoD,CAAC;AACnE,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,6CAA6C,CAAC;AAG5D,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AAGnD,cAAc,+BAA+B,CAAC;AAG9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AAGzD,cAAc,mCAAmC,CAAC"}
package/build/index.js CHANGED
@@ -46,6 +46,8 @@ tslib_1.__exportStar(require("./_models/interfaces/global-settings.interface"),
46
46
  tslib_1.__exportStar(require("./_models/interfaces/routing-module-settings.interface"), exports);
47
47
  tslib_1.__exportStar(require("./_models/interfaces/static-client-settings.interface"), exports);
48
48
  tslib_1.__exportStar(require("./_models/interfaces/cors-settings.interface"), exports);
49
+ tslib_1.__exportStar(require("./_models/interfaces/security-headers-settings.interface"), exports);
50
+ tslib_1.__exportStar(require("./_collections/security-headers.util"), exports);
49
51
  // models/CONTROL MODELS
50
52
  tslib_1.__exportStar(require("./_models/control-models/api-call-params.control-model"), exports);
51
53
  tslib_1.__exportStar(require("./_models/control-models/app-ext-system-controls.control-model"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;IAsBI;;;AAEJ,cAAc;AACd,sEAA4C;AAC5C,wFAA8D;AAC9D,8FAAoE;AACpE,sFAA4D;AAC5D,mFAAyD;AACzD,uFAA6D;AAC7D,+EAAqD;AAGrD,QAAQ;AACR,wEAA8C;AAC9C,8EAAoD;AACpD,8EAAoD;AACpD,uEAA6C;AAG7C,6CAA6C;AAE7C,mEAAmE;AACnE,gGAAsE;AACtE,8FAAoE;AACpE,iGAAuE;AACvE,yFAA+D;AAC/D,iGAAuE;AACvE,gGAAsE;AACtE,uFAA6D;AAE7D,wBAAwB;AACxB,iGAAuE;AACvE,yGAA8E;AAC9E,4FAAkE;AAClE,qGAA2E;AAC3E,iGAAuE;AACvE,+FAAqE;AACrE,gGAAsE;AAEtE,eAAe;AACf,yEAA+C;AAG/C,WAAW;AACX,gBAAgB;AAChB,uEAA6C;AAC7C,wEAA8C;AAE9C,yEAA+C;AAC/C,6FAAmE;AACnE,0EAAgD;AAChD,gFAAsD;AAEtD,sFAA4D;AAE5D,gBAAgB;AAChB,4EAAkD;AAClD,gFAAsD;AACtD,wEAA8C;AAC9C,sEAA4C;AAC5C,kFAAwD;AACxD,6EAAmD;AAEnD,kBAAkB;AAClB,wEAA8C;AAE9C,iBAAiB;AACjB,+EAAqD;AACrD,mFAAyD;AAEzD,kBAAkB;AAClB,4EAAkD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;IAsBI;;;AAEJ,cAAc;AACd,sEAA4C;AAC5C,wFAA8D;AAC9D,8FAAoE;AACpE,sFAA4D;AAC5D,mFAAyD;AACzD,uFAA6D;AAC7D,+EAAqD;AAGrD,QAAQ;AACR,wEAA8C;AAC9C,8EAAoD;AACpD,8EAAoD;AACpD,uEAA6C;AAG7C,6CAA6C;AAE7C,mEAAmE;AACnE,gGAAsE;AACtE,8FAAoE;AACpE,iGAAuE;AACvE,yFAA+D;AAC/D,iGAAuE;AACvE,gGAAsE;AACtE,uFAA6D;AAC7D,mGAAyE;AACzE,+EAAqD;AAErD,wBAAwB;AACxB,iGAAuE;AACvE,yGAA8E;AAC9E,4FAAkE;AAClE,qGAA2E;AAC3E,iGAAuE;AACvE,+FAAqE;AACrE,gGAAsE;AAEtE,eAAe;AACf,yEAA+C;AAG/C,WAAW;AACX,gBAAgB;AAChB,uEAA6C;AAC7C,wEAA8C;AAE9C,yEAA+C;AAC/C,6FAAmE;AACnE,0EAAgD;AAChD,gFAAsD;AAEtD,sFAA4D;AAE5D,gBAAgB;AAChB,4EAAkD;AAClD,gFAAsD;AACtD,wEAA8C;AAC9C,sEAA4C;AAC5C,kFAAwD;AACxD,6EAAmD;AAEnD,kBAAkB;AAClB,wEAA8C;AAE9C,iBAAiB;AACjB,+EAAqD;AACrD,mFAAyD;AAEzD,kBAAkB;AAClB,4EAAkD"}
package/eslint.config.js CHANGED
@@ -1,3 +1,3 @@
1
- const ntsPackageConfig = require('@futdevpro/dynamo-eslint/nts-package');
2
-
3
- module.exports = ntsPackageConfig;
1
+ const ntsPackageConfig = require('@futdevpro/dynamo-eslint/nts-package');
2
+
3
+ module.exports = ntsPackageConfig;
package/nodemon.json CHANGED
@@ -1,24 +1,24 @@
1
- {
2
- "exec": "title Dynamo NTS && npm run nodemon-run",
3
- "restartable": "rs",
4
- "ext": "ts,json,tgz",
5
- "delay": "5000",
6
- "verbose": false,
7
- "legacyWatch": false,
8
- "watch": [
9
- "./src/*",
10
- "./package.json",
11
- "./tsconfig.json",
12
- "../tgz-collection/dynamo-fsm/*"
13
- ],
14
- "ignore": [
15
- "./node_modules",
16
- "./build"
17
- ],
18
- "events": {
19
- "start": "echo 🚀 Starting nodemon...",
20
- "restart": "echo 🔄 Restarting due to changes...",
21
- "crash": "echo 💥 Application crashed!",
22
- "exit": "echo 🛑 Application stopped!"
23
- }
24
- }
1
+ {
2
+ "exec": "title Dynamo NTS && npm run nodemon-run",
3
+ "restartable": "rs",
4
+ "ext": "ts,json,tgz",
5
+ "delay": "5000",
6
+ "verbose": false,
7
+ "legacyWatch": false,
8
+ "watch": [
9
+ "./src/*",
10
+ "./package.json",
11
+ "./tsconfig.json",
12
+ "../tgz-collection/dynamo-fsm/*"
13
+ ],
14
+ "ignore": [
15
+ "./node_modules",
16
+ "./build"
17
+ ],
18
+ "events": {
19
+ "start": "echo 🚀 Starting nodemon...",
20
+ "restart": "echo 🔄 Restarting due to changes...",
21
+ "crash": "echo 💥 Application crashed!",
22
+ "exit": "echo 🛑 Application stopped!"
23
+ }
24
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/nts-dynamo",
3
- "version": "01.15.86",
3
+ "version": "01.15.89",
4
4
  "description": "Dynamic NodeTS (NodeJS-Typescript), MongoDB Backend System Framework by Future Development Program Ltd.",
5
5
  "DyBu_settings": {
6
6
  "packageType": "server-package",
@@ -351,18 +351,18 @@
351
351
  "@anthropic-ai/sdk": "~0.39.0",
352
352
  "@modelcontextprotocol/sdk": "~1.29.0",
353
353
  "better-sqlite3": "~12.4.1",
354
- "@futdevpro/fsm-dynamo": "1.16.12",
354
+ "@futdevpro/fsm-dynamo": "1.16.13",
355
355
  "@types/express": "4.17.21",
356
356
  "@types/geoip-lite": "~1.4.1",
357
357
  "@types/node": "~24.1.0",
358
- "axios": "~1.8.1",
358
+ "axios": ">=1.8.1 <2",
359
359
  "body-parser": "~1.20.2",
360
360
  "discord.js": "~14.24.2",
361
361
  "dotenv": "~16.5.0",
362
362
  "express": "4.21.2",
363
363
  "geoip-lite": "~1.4.7",
364
364
  "mongoose": "~8.10.1",
365
- "nodemailer": "~6.9.4",
365
+ "nodemailer": ">=6.9.4 <8",
366
366
  "openai": "~5.23.2",
367
367
  "rxjs": "7.8.1",
368
368
  "ts-node": "~10.9.2"
@@ -385,7 +385,7 @@
385
385
  }
386
386
  },
387
387
  "devDependencies": {
388
- "@futdevpro/dynamo-eslint": "1.15.18",
388
+ "@futdevpro/dynamo-eslint": "1.15.19",
389
389
  "@discordjs/opus": "^0.10.0",
390
390
  "@discordjs/voice": "^0.18.0",
391
391
  "@types/jasmine": "~4.3.5",
@@ -1,5 +1,5 @@
1
- allowBuilds:
2
- '@discordjs/opus': false
3
- better-sqlite3: true
4
- minimumReleaseAgeExclude:
5
- - '@futdevpro/*'
1
+ allowBuilds:
2
+ '@discordjs/opus': false
3
+ better-sqlite3: true
4
+ minimumReleaseAgeExclude:
5
+ - '@futdevpro/*'