@futdevpro/nts-dynamo 1.15.64 → 1.15.68

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 (932) 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/__main.mdc +64 -64
  5. package/.cursor/rules/_ag_backend-structure.mdc +85 -85
  6. package/.cursor/rules/_ag_backend.mdc +16 -16
  7. package/.cursor/rules/_ag_debug.mdc +7 -7
  8. package/.cursor/rules/_ag_documentation_writing_rules.mdc +372 -372
  9. package/.cursor/rules/_ag_file-refactoring.mdc +113 -113
  10. package/.cursor/rules/_ag_fixes_rules.mdc +5 -5
  11. package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
  12. package/.cursor/rules/_ag_frontend.mdc +39 -39
  13. package/.cursor/rules/_ag_import-rules.mdc +44 -44
  14. package/.cursor/rules/_ag_naming.mdc +115 -115
  15. package/.cursor/rules/_ag_running_commands.mdc +4 -4
  16. package/.cursor/rules/_ag_server-controller.mdc +5 -5
  17. package/.cursor/rules/_ag_should-be.mdc +6 -6
  18. package/.cursor/rules/_ag_swearing.mdc +47 -47
  19. package/.cursor/rules/ai_development_guide.md +60 -60
  20. package/.cursor/rules/ai_directives.md +114 -114
  21. package/.cursor/rules/cursor-rules.md +160 -160
  22. package/.cursor/rules/default-command.mdc +464 -464
  23. package/.cursor/rules/error_code_pattern.md +39 -39
  24. package/.cursor/rules/saved rule mcp server use.md +15 -15
  25. package/.dynamo/pipeline.cicd.config.json +180 -180
  26. package/.dynamo/version-bump.config.json +5 -5
  27. package/.github/workflows/main.yml +438 -438
  28. package/.husky/pre-commit +3 -3
  29. package/.vscode/settings.json +10 -10
  30. package/HOWTO.md +15 -15
  31. package/LICENSE +21 -21
  32. package/README.md +678 -678
  33. package/__documentations/2026-04-28-logs-module.md +49 -49
  34. package/__documentations/2026-05-17-oai-compatible-providers.md +229 -229
  35. package/__documentations/2026-05-17-static-client-serving-howto.md +144 -144
  36. package/__documentations/2026-06-01-fr041-cors-middleware.md +96 -96
  37. package/__documentations/2026-06-01-fr047-p2p3-function-calling.md +81 -81
  38. package/__documentations/2026-06-15-fr193-memory-guard.md +73 -73
  39. package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
  40. package/_specifications/BACKLOG.md +92 -92
  41. package/_specifications/TODO.md +15 -15
  42. package/_specifications/agent.md +138 -138
  43. package/build/_collections/archive.util.d.ts +12 -12
  44. package/build/_collections/archive.util.js +18 -18
  45. package/build/_collections/atlas-default-db-options.const.d.ts +2 -2
  46. package/build/_collections/atlas-default-db-options.const.js +9 -9
  47. package/build/_collections/default-fallback-cache-max-age.const.d.ts +2 -2
  48. package/build/_collections/default-fallback-cache-max-age.const.js +5 -5
  49. package/build/_collections/default-not-found-page.const.d.ts +5 -5
  50. package/build/_collections/default-not-found-page.const.js +24 -24
  51. package/build/_collections/default-socket-path.const.d.ts +2 -2
  52. package/build/_collections/default-socket-path.const.js +5 -5
  53. package/build/_collections/get-environment-settings.util.d.ts +2 -2
  54. package/build/_collections/get-environment-settings.util.js +43 -43
  55. package/build/_collections/global-settings.const.d.ts +6 -6
  56. package/build/_collections/global-settings.const.js +69 -69
  57. package/build/_collections/mongo-reconnect-guard.util.d.ts +73 -73
  58. package/build/_collections/mongo-reconnect-guard.util.js +110 -110
  59. package/build/_collections/star.controller.d.ts +7 -7
  60. package/build/_collections/star.controller.js +97 -97
  61. package/build/_enums/data-model-type.enum.d.ts +13 -13
  62. package/build/_enums/data-model-type.enum.js +17 -17
  63. package/build/_enums/data-service-function.enum.d.ts +18 -18
  64. package/build/_enums/data-service-function.enum.js +24 -24
  65. package/build/_enums/predefined-data-types.enum.d.ts +15 -15
  66. package/build/_enums/predefined-data-types.enum.js +19 -19
  67. package/build/_enums/route-security.enum.d.ts +11 -11
  68. package/build/_enums/route-security.enum.js +15 -15
  69. package/build/_models/control-models/api-call-params.control-model.d.ts +79 -79
  70. package/build/_models/control-models/api-call-params.control-model.js +101 -101
  71. package/build/_models/control-models/app-ext-system-controls.control-model.d.ts +6 -6
  72. package/build/_models/control-models/app-ext-system-controls.control-model.js +10 -10
  73. package/build/_models/control-models/app-params.control-model.d.ts +51 -51
  74. package/build/_models/control-models/app-params.control-model.js +119 -119
  75. package/build/_models/control-models/app-system-controls.control-model.d.ts +7 -7
  76. package/build/_models/control-models/app-system-controls.control-model.js +11 -11
  77. package/build/_models/control-models/endpoint-params.control-model.d.ts +114 -114
  78. package/build/_models/control-models/endpoint-params.control-model.js +442 -442
  79. package/build/_models/control-models/http-settings.control-model.d.ts +17 -17
  80. package/build/_models/control-models/http-settings.control-model.js +34 -34
  81. package/build/_models/control-models/system-control.control-model.d.ts +5 -5
  82. package/build/_models/control-models/system-control.control-model.js +11 -11
  83. package/build/_models/interfaces/certification-settings.interface.d.ts +5 -5
  84. package/build/_models/interfaces/certification-settings.interface.js +2 -2
  85. package/build/_models/interfaces/compare-data-options.interface.d.ts +26 -26
  86. package/build/_models/interfaces/compare-data-options.interface.js +2 -2
  87. package/build/_models/interfaces/compare-data-result.interface.d.ts +12 -12
  88. package/build/_models/interfaces/compare-data-result.interface.js +2 -2
  89. package/build/_models/interfaces/cors-settings.interface.d.ts +51 -51
  90. package/build/_models/interfaces/cors-settings.interface.js +2 -2
  91. package/build/_models/interfaces/environment-settings.interface.d.ts +34 -34
  92. package/build/_models/interfaces/environment-settings.interface.js +2 -2
  93. package/build/_models/interfaces/global-log-settings.interface.d.ts +145 -145
  94. package/build/_models/interfaces/global-log-settings.interface.js +2 -2
  95. package/build/_models/interfaces/global-service-settings.interface.d.ts +30 -30
  96. package/build/_models/interfaces/global-service-settings.interface.js +2 -2
  97. package/build/_models/interfaces/global-settings.interface.d.ts +161 -161
  98. package/build/_models/interfaces/global-settings.interface.js +2 -2
  99. package/build/_models/interfaces/routing-module-settings.interface.d.ts +19 -19
  100. package/build/_models/interfaces/routing-module-settings.interface.js +2 -2
  101. package/build/_models/interfaces/static-client-settings.interface.d.ts +28 -28
  102. package/build/_models/interfaces/static-client-settings.interface.js +2 -2
  103. package/build/_models/types/db-update.type.d.ts +129 -129
  104. package/build/_models/types/db-update.type.js +2 -2
  105. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.d.ts +31 -31
  106. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.js +2 -2
  107. package/build/_modules/admin-auth/admin-api-key.auth-service.d.ts +89 -89
  108. package/build/_modules/admin-auth/admin-api-key.auth-service.js +194 -194
  109. package/build/_modules/admin-auth/index.d.ts +2 -2
  110. package/build/_modules/admin-auth/index.js +5 -5
  111. package/build/_modules/ai/_models/ai-input-interfaces.d.ts +53 -53
  112. package/build/_modules/ai/_models/ai-input-interfaces.js +5 -5
  113. package/build/_modules/ai/_models/ai-test-generation-result.interface.d.ts +16 -16
  114. package/build/_modules/ai/_models/ai-test-generation-result.interface.js +2 -2
  115. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts +13 -13
  116. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js +2 -2
  117. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts +49 -49
  118. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js +2 -2
  119. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.d.ts +35 -35
  120. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.js +117 -117
  121. package/build/_modules/ai/_modules/anthropic/index.d.ts +2 -2
  122. package/build/_modules/ai/_modules/anthropic/index.js +7 -7
  123. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.d.ts +84 -84
  124. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.js +467 -467
  125. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.d.ts +109 -109
  126. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.js +418 -418
  127. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.d.ts +28 -28
  128. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.js +73 -73
  129. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.d.ts +6 -6
  130. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.js +10 -10
  131. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.d.ts +51 -51
  132. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.js +132 -132
  133. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.d.ts +47 -47
  134. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.js +136 -136
  135. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.d.ts +17 -17
  136. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.js +76 -76
  137. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.d.ts +49 -49
  138. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.js +2 -2
  139. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.d.ts +8 -8
  140. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.js +2 -2
  141. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.d.ts +11 -11
  142. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.js +2 -2
  143. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.d.ts +12 -12
  144. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.js +2 -2
  145. package/build/_modules/ai/_modules/document-ai/index.d.ts +12 -12
  146. package/build/_modules/ai/_modules/document-ai/index.js +27 -27
  147. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.d.ts +34 -34
  148. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.js +128 -128
  149. package/build/_modules/ai/_modules/fdp-ai/index.d.ts +2 -2
  150. package/build/_modules/ai/_modules/fdp-ai/index.js +7 -7
  151. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.d.ts +2 -2
  152. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.js +8 -8
  153. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.d.ts +2 -2
  154. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.js +74 -74
  155. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.d.ts +2 -2
  156. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.js +67 -67
  157. package/build/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.js +42 -42
  158. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.d.ts +5 -5
  159. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.js +2 -2
  160. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.js +6 -6
  161. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.d.ts +51 -51
  162. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.js +2 -2
  163. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.d.ts +21 -21
  164. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.js +187 -187
  165. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.d.ts +26 -26
  166. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.js +278 -278
  167. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.d.ts +22 -22
  168. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.js +322 -322
  169. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.d.ts +119 -119
  170. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.js +480 -480
  171. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts +25 -25
  172. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js +103 -103
  173. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +169 -169
  174. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +479 -479
  175. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +201 -201
  176. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +579 -579
  177. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.d.ts +39 -39
  178. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.js +110 -110
  179. package/build/_modules/ai/_modules/open-ai/index.d.ts +14 -14
  180. package/build/_modules/ai/_modules/open-ai/index.js +55 -55
  181. package/build/_modules/ai/_services/ai-embedding-mock.service.d.ts +80 -80
  182. package/build/_modules/ai/_services/ai-embedding-mock.service.js +166 -166
  183. package/build/_modules/ai/_services/ai-embedding-provider.registry.d.ts +51 -51
  184. package/build/_modules/ai/_services/ai-embedding-provider.registry.js +78 -78
  185. package/build/_modules/ai/_services/ai-embedding.service-base.d.ts +41 -41
  186. package/build/_modules/ai/_services/ai-embedding.service-base.js +11 -11
  187. package/build/_modules/ai/_services/ai-llm-chat.service-base.d.ts +39 -39
  188. package/build/_modules/ai/_services/ai-llm-chat.service-base.js +11 -11
  189. package/build/_modules/ai/_services/ai-llm.service-base.d.ts +132 -132
  190. package/build/_modules/ai/_services/ai-llm.service-base.js +313 -313
  191. package/build/_modules/ai/_services/ai-provider.service-base.d.ts +46 -46
  192. package/build/_modules/ai/_services/ai-provider.service-base.js +43 -43
  193. package/build/_modules/ai/_services/ai-user-key.service-base.d.ts +44 -44
  194. package/build/_modules/ai/_services/ai-user-key.service-base.js +14 -14
  195. package/build/_modules/ai/_services/lmstudio-embedding.control-service.d.ts +110 -110
  196. package/build/_modules/ai/_services/lmstudio-embedding.control-service.js +297 -297
  197. package/build/_modules/ai/index.d.ts +13 -13
  198. package/build/_modules/ai/index.js +22 -22
  199. package/build/_modules/assistant/_collections/ass-global-settings.const.d.ts +2 -2
  200. package/build/_modules/assistant/_collections/ass-global-settings.const.js +14 -14
  201. package/build/_modules/assistant/_collections/ass.util.d.ts +15 -15
  202. package/build/_modules/assistant/_collections/ass.util.js +42 -42
  203. package/build/_modules/assistant/_models/ass-global-settings.interface.d.ts +13 -13
  204. package/build/_modules/assistant/_models/ass-global-settings.interface.js +2 -2
  205. package/build/_modules/assistant/_services/ass-io.control-service.d.ts +19 -19
  206. package/build/_modules/assistant/_services/ass-io.control-service.js +57 -57
  207. package/build/_modules/assistant/_services/ass-main.control-service.d.ts +32 -32
  208. package/build/_modules/assistant/_services/ass-main.control-service.js +65 -65
  209. package/build/_modules/assistant/index.d.ts +6 -6
  210. package/build/_modules/assistant/index.js +18 -18
  211. package/build/_modules/bot/_collections/bot-default-commands.const.d.ts +2 -2
  212. package/build/_modules/bot/_collections/bot-default-commands.const.js +13 -13
  213. package/build/_modules/bot/_collections/bot-global-settings.const.d.ts +2 -2
  214. package/build/_modules/bot/_collections/bot-global-settings.const.js +31 -31
  215. package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts +25 -25
  216. package/build/_modules/bot/_models/bot-channel-wrapper.interface.js +38 -38
  217. package/build/_modules/bot/_models/bot-command.interface.d.ts +7 -7
  218. package/build/_modules/bot/_models/bot-command.interface.js +2 -2
  219. package/build/_modules/bot/_models/bot-global-settings.interface.d.ts +85 -85
  220. package/build/_modules/bot/_models/bot-global-settings.interface.js +2 -2
  221. package/build/_modules/bot/_models/bot-last-mention-date.interface.d.ts +6 -6
  222. package/build/_modules/bot/_models/bot-last-mention-date.interface.js +2 -2
  223. package/build/_modules/bot/_models/bot-last-message-date.interface.d.ts +5 -5
  224. package/build/_modules/bot/_models/bot-last-message-date.interface.js +2 -2
  225. package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts +37 -37
  226. package/build/_modules/bot/_models/bot-message-wrapper.interface.js +54 -54
  227. package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts +23 -23
  228. package/build/_modules/bot/_models/bot-user-wrapper.interface.js +28 -28
  229. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.js +10 -10
  230. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts +69 -69
  231. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +497 -497
  232. package/build/_modules/bot/_modules/discord-bot/index.d.ts +1 -1
  233. package/build/_modules/bot/_modules/discord-bot/index.js +12 -12
  234. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts +16 -16
  235. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.js +42 -42
  236. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.d.ts +9 -9
  237. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.js +2 -2
  238. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts +59 -59
  239. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js +349 -349
  240. package/build/_modules/bot/_modules/dynamo-bot/index.d.ts +3 -3
  241. package/build/_modules/bot/_modules/dynamo-bot/index.js +15 -15
  242. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.d.ts +6 -6
  243. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.js +2 -2
  244. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts +56 -56
  245. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js +137 -137
  246. package/build/_modules/bot/_modules/slack-bot/index.d.ts +2 -2
  247. package/build/_modules/bot/_modules/slack-bot/index.js +12 -12
  248. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.d.ts +6 -6
  249. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.js +2 -2
  250. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts +56 -56
  251. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js +137 -137
  252. package/build/_modules/bot/_modules/teams-bot/index.d.ts +2 -2
  253. package/build/_modules/bot/_modules/teams-bot/index.js +12 -12
  254. package/build/_modules/bot/_services/bot-commands.control-service.d.ts +12 -12
  255. package/build/_modules/bot/_services/bot-commands.control-service.js +117 -117
  256. package/build/_modules/bot/_services/bot-io.control-service.d.ts +23 -23
  257. package/build/_modules/bot/_services/bot-io.control-service.js +226 -226
  258. package/build/_modules/bot/_services/bot-main.control-service.d.ts +35 -35
  259. package/build/_modules/bot/_services/bot-main.control-service.js +195 -195
  260. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts +71 -71
  261. package/build/_modules/bot/_services/bot-messaging-provider.service-base.js +15 -15
  262. package/build/_modules/bot/_services/bot-routines.control-service.d.ts +13 -13
  263. package/build/_modules/bot/_services/bot-routines.control-service.js +59 -59
  264. package/build/_modules/bot/index.d.ts +17 -17
  265. package/build/_modules/bot/index.js +36 -36
  266. package/build/_modules/custom-data/custom-data.controller.d.ts +5 -5
  267. package/build/_modules/custom-data/custom-data.controller.js +56 -56
  268. package/build/_modules/custom-data/custom-data.data-service.d.ts +5 -5
  269. package/build/_modules/custom-data/custom-data.data-service.js +11 -11
  270. package/build/_modules/custom-data/get-custom-data-routing-module.util.d.ts +3 -3
  271. package/build/_modules/custom-data/get-custom-data-routing-module.util.js +16 -16
  272. package/build/_modules/custom-data/index.d.ts +4 -4
  273. package/build/_modules/custom-data/index.js +9 -9
  274. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.d.ts +58 -58
  275. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.js +168 -168
  276. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.d.ts +31 -31
  277. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.js +7 -7
  278. package/build/_modules/data-readers/index.d.ts +2 -2
  279. package/build/_modules/data-readers/index.js +10 -10
  280. package/build/_modules/defaults/_collections/default-endpoints.util.d.ts +248 -248
  281. package/build/_modules/defaults/_collections/default-endpoints.util.js +386 -386
  282. package/build/_modules/defaults/_models/default-user.data-model.d.ts +19 -19
  283. package/build/_modules/defaults/_models/default-user.data-model.js +72 -72
  284. package/build/_modules/defaults/_services/default-auth.service.d.ts +50 -50
  285. package/build/_modules/defaults/_services/default-auth.service.js +158 -158
  286. package/build/_modules/defaults/_services/default-socket-events.service.d.ts +23 -23
  287. package/build/_modules/defaults/_services/default-socket-events.service.js +60 -60
  288. package/build/_modules/defaults/_services/default-user.data-service.d.ts +24 -24
  289. package/build/_modules/defaults/_services/default-user.data-service.js +87 -87
  290. package/build/_modules/defaults/index.d.ts +5 -5
  291. package/build/_modules/defaults/index.js +17 -17
  292. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.d.ts +2 -2
  293. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.js +16 -16
  294. package/build/_modules/discord-assistant/_collections/dias.util.d.ts +31 -31
  295. package/build/_modules/discord-assistant/_collections/dias.util.js +85 -85
  296. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.d.ts +17 -17
  297. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.js +2 -2
  298. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.d.ts +8 -8
  299. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.js +46 -46
  300. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts +17 -17
  301. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js +123 -123
  302. package/build/_modules/discord-assistant/_services/dias-io.control-service.d.ts +10 -10
  303. package/build/_modules/discord-assistant/_services/dias-io.control-service.js +49 -49
  304. package/build/_modules/discord-assistant/_services/dias-main.control-service.d.ts +3 -3
  305. package/build/_modules/discord-assistant/_services/dias-main.control-service.js +7 -7
  306. package/build/_modules/discord-assistant/_services/dias.service-base.d.ts +18 -18
  307. package/build/_modules/discord-assistant/_services/dias.service-base.js +46 -46
  308. package/build/_modules/discord-assistant/index.d.ts +11 -11
  309. package/build/_modules/discord-assistant/index.js +24 -24
  310. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.d.ts +3 -3
  311. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.js +7 -7
  312. package/build/_modules/discord-assistant-voiced/index.d.ts +2 -2
  313. package/build/_modules/discord-assistant-voiced/index.js +28 -28
  314. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.d.ts +2 -2
  315. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.js +12 -12
  316. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.d.ts +2 -2
  317. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js +43 -43
  318. package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts +22 -22
  319. package/build/_modules/discord-bot/_collections/dibo-operations.util.js +275 -275
  320. package/build/_modules/discord-bot/_models/dibo-command.interface.d.ts +7 -7
  321. package/build/_modules/discord-bot/_models/dibo-command.interface.js +2 -2
  322. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.d.ts +87 -87
  323. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.js +2 -2
  324. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.d.ts +6 -6
  325. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.js +2 -2
  326. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.d.ts +5 -5
  327. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.js +2 -2
  328. package/build/_modules/discord-bot/_services/dibo-commands.control-service.d.ts +11 -11
  329. package/build/_modules/discord-bot/_services/dibo-commands.control-service.js +109 -109
  330. package/build/_modules/discord-bot/_services/dibo-io.control-service.d.ts +21 -21
  331. package/build/_modules/discord-bot/_services/dibo-io.control-service.js +218 -218
  332. package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts +89 -89
  333. package/build/_modules/discord-bot/_services/dibo-main.control-service.js +363 -363
  334. package/build/_modules/discord-bot/_services/dibo-routines.control-service.d.ts +13 -13
  335. package/build/_modules/discord-bot/_services/dibo-routines.control-service.js +73 -73
  336. package/build/_modules/discord-bot/index.d.ts +11 -11
  337. package/build/_modules/discord-bot/index.js +30 -30
  338. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts +34 -34
  339. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js +38 -38
  340. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.d.ts +35 -35
  341. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.js +53 -53
  342. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.d.ts +16 -16
  343. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.js +2 -2
  344. package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts +88 -88
  345. package/build/_modules/local-vector-search/_services/lvs-bm25.util.js +189 -189
  346. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.d.ts +26 -26
  347. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.js +197 -197
  348. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts +145 -145
  349. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js +294 -294
  350. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.d.ts +69 -69
  351. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.js +122 -122
  352. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.d.ts +42 -42
  353. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.js +71 -71
  354. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts +70 -70
  355. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js +181 -181
  356. package/build/_modules/local-vector-search/index.d.ts +8 -8
  357. package/build/_modules/local-vector-search/index.js +15 -15
  358. package/build/_modules/logs/_models/file-log-entry.interface.d.ts +13 -13
  359. package/build/_modules/logs/_models/file-log-entry.interface.js +2 -2
  360. package/build/_modules/logs/_models/file-log-read-result.interface.d.ts +35 -35
  361. package/build/_modules/logs/_models/file-log-read-result.interface.js +2 -2
  362. package/build/_modules/logs/file-log.service.d.ts +132 -132
  363. package/build/_modules/logs/file-log.service.js +444 -444
  364. package/build/_modules/logs/file-logs.controller.d.ts +40 -40
  365. package/build/_modules/logs/file-logs.controller.js +138 -138
  366. package/build/_modules/logs/get-file-logs-routing-module.util.d.ts +31 -31
  367. package/build/_modules/logs/get-file-logs-routing-module.util.js +37 -37
  368. package/build/_modules/logs/get-logs-routing-module.util.d.ts +18 -18
  369. package/build/_modules/logs/get-logs-routing-module.util.js +31 -31
  370. package/build/_modules/logs/index.d.ts +8 -8
  371. package/build/_modules/logs/index.js +15 -15
  372. package/build/_modules/logs/log-buffer.service.d.ts +37 -37
  373. package/build/_modules/logs/log-buffer.service.js +96 -96
  374. package/build/_modules/logs/logs.controller.d.ts +26 -26
  375. package/build/_modules/logs/logs.controller.js +89 -89
  376. package/build/_modules/logs/logs.service.d.ts +39 -39
  377. package/build/_modules/logs/logs.service.js +96 -96
  378. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.d.ts +108 -108
  379. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.js +13 -13
  380. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.d.ts +70 -70
  381. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.js +98 -98
  382. package/build/_modules/mcp/_services/dynts-mcp.adapter.d.ts +56 -56
  383. package/build/_modules/mcp/_services/dynts-mcp.adapter.js +138 -138
  384. package/build/_modules/mcp/index.d.ts +3 -3
  385. package/build/_modules/mcp/index.js +12 -12
  386. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.d.ts +7 -7
  387. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.js +20 -20
  388. package/build/_modules/messaging/_collections/msg-global-settings.const.d.ts +5 -5
  389. package/build/_modules/messaging/_collections/msg-global-settings.const.js +22 -22
  390. package/build/_modules/messaging/_collections/msg.util.d.ts +24 -24
  391. package/build/_modules/messaging/_collections/msg.util.js +62 -62
  392. package/build/_modules/messaging/_models/msg-global-settings.interface.d.ts +28 -28
  393. package/build/_modules/messaging/_models/msg-global-settings.interface.js +2 -2
  394. package/build/_modules/messaging/_services/msg-conversation.data-service.d.ts +28 -28
  395. package/build/_modules/messaging/_services/msg-conversation.data-service.js +109 -109
  396. package/build/_modules/messaging/_services/msg-events.service.d.ts +61 -61
  397. package/build/_modules/messaging/_services/msg-events.service.js +203 -203
  398. package/build/_modules/messaging/_services/msg-integration.control-service.js +180 -180
  399. package/build/_modules/messaging/_services/msg-main.control-service.d.ts +62 -62
  400. package/build/_modules/messaging/_services/msg-main.control-service.js +428 -428
  401. package/build/_modules/messaging/_services/msg-message.data-service.d.ts +28 -28
  402. package/build/_modules/messaging/_services/msg-message.data-service.js +103 -103
  403. package/build/_modules/messaging/_services/msg.controller.d.ts +12 -12
  404. package/build/_modules/messaging/_services/msg.controller.js +256 -256
  405. package/build/_modules/messaging/index.d.ts +10 -10
  406. package/build/_modules/messaging/index.js +27 -27
  407. package/build/_modules/mock/app-extended-server.mock.d.ts +41 -41
  408. package/build/_modules/mock/app-extended-server.mock.js +169 -169
  409. package/build/_modules/mock/app-integration-test.mock.d.ts +19 -19
  410. package/build/_modules/mock/app-integration-test.mock.js +45 -45
  411. package/build/_modules/mock/app-params.mock.d.ts +2 -2
  412. package/build/_modules/mock/app-params.mock.js +9 -9
  413. package/build/_modules/mock/app-server.mock.d.ts +41 -41
  414. package/build/_modules/mock/app-server.mock.js +148 -148
  415. package/build/_modules/mock/auth-service.mock.d.ts +10 -10
  416. package/build/_modules/mock/auth-service.mock.js +19 -19
  417. package/build/_modules/mock/controller.mock.d.ts +5 -5
  418. package/build/_modules/mock/controller.mock.js +14 -14
  419. package/build/_modules/mock/data-model.mock.d.ts +26 -26
  420. package/build/_modules/mock/data-model.mock.js +72 -72
  421. package/build/_modules/mock/email-service-collection.mock.d.ts +7 -7
  422. package/build/_modules/mock/email-service-collection.mock.js +12 -12
  423. package/build/_modules/mock/email-service.mock.d.ts +4 -4
  424. package/build/_modules/mock/email-service.mock.js +20 -20
  425. package/build/_modules/mock/endpoint.mock.d.ts +8 -8
  426. package/build/_modules/mock/endpoint.mock.js +79 -79
  427. package/build/_modules/mock/socket-client.mock.d.ts +9 -9
  428. package/build/_modules/mock/socket-client.mock.js +38 -38
  429. package/build/_modules/mock/socket-server.mock.d.ts +15 -15
  430. package/build/_modules/mock/socket-server.mock.js +32 -32
  431. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts +16 -16
  432. package/build/_modules/oauth2/_routes/oauth2.controller.js +96 -96
  433. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts +30 -30
  434. package/build/_modules/oauth2/_services/oauth2.auth-service.js +215 -215
  435. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts +132 -132
  436. package/build/_modules/oauth2/_services/oauth2.control-service.js +576 -576
  437. package/build/_modules/oauth2/index.d.ts +3 -3
  438. package/build/_modules/oauth2/index.js +14 -14
  439. package/build/_modules/rate-limit/_models/rate-limit-config.interface.d.ts +61 -61
  440. package/build/_modules/rate-limit/_models/rate-limit-config.interface.js +2 -2
  441. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.d.ts +15 -15
  442. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.js +2 -2
  443. package/build/_modules/rate-limit/index.d.ts +3 -3
  444. package/build/_modules/rate-limit/index.js +5 -5
  445. package/build/_modules/rate-limit/rate-limit.middleware.d.ts +132 -132
  446. package/build/_modules/rate-limit/rate-limit.middleware.js +289 -289
  447. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.d.ts +18 -18
  448. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.js +22 -22
  449. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.d.ts +43 -43
  450. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.js +67 -67
  451. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.d.ts +88 -88
  452. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.js +11 -11
  453. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.d.ts +83 -83
  454. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.js +219 -219
  455. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.d.ts +53 -53
  456. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.js +75 -75
  457. package/build/_modules/scoped-config/index.d.ts +5 -5
  458. package/build/_modules/scoped-config/index.js +14 -14
  459. package/build/_modules/server/errors/errors.control-service.d.ts +21 -19
  460. package/build/_modules/server/errors/errors.control-service.d.ts.map +1 -1
  461. package/build/_modules/server/errors/errors.control-service.js +10 -10
  462. package/build/_modules/server/errors/errors.control-service.js.map +1 -1
  463. package/build/_modules/server/errors/errors.controller.d.ts +100 -99
  464. package/build/_modules/server/errors/errors.controller.d.ts.map +1 -1
  465. package/build/_modules/server/errors/errors.controller.js +355 -313
  466. package/build/_modules/server/errors/errors.controller.js.map +1 -1
  467. package/build/_modules/server/errors/errors.data-service.d.ts +64 -47
  468. package/build/_modules/server/errors/errors.data-service.d.ts.map +1 -1
  469. package/build/_modules/server/errors/errors.data-service.js +628 -552
  470. package/build/_modules/server/errors/errors.data-service.js.map +1 -1
  471. package/build/_modules/server/index.d.ts +7 -7
  472. package/build/_modules/server/index.js +26 -26
  473. package/build/_modules/server/server-status/server-status-snapshot.control-service.d.ts +4 -4
  474. package/build/_modules/server/server-status/server-status-snapshot.control-service.js +7 -7
  475. package/build/_modules/server/server-status/server-status-snapshot.data-service.d.ts +6 -6
  476. package/build/_modules/server/server-status/server-status-snapshot.data-service.js +22 -22
  477. package/build/_modules/server/server-status/server-status.control-service.d.ts +74 -74
  478. package/build/_modules/server/server-status/server-status.control-service.js +234 -234
  479. package/build/_modules/server/server-status/server-status.controller.d.ts +84 -84
  480. package/build/_modules/server/server-status/server-status.controller.js +172 -172
  481. package/build/_modules/socket/_enums/socket-security.enum.d.ts +10 -10
  482. package/build/_modules/socket/_enums/socket-security.enum.js +14 -14
  483. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts +8 -8
  484. package/build/_modules/socket/_models/socket-client-service-params.control-model.js +16 -16
  485. package/build/_modules/socket/_models/socket-presence.control-model.d.ts +25 -25
  486. package/build/_modules/socket/_models/socket-presence.control-model.js +139 -139
  487. package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts +12 -12
  488. package/build/_modules/socket/_models/socket-server-service-params.control-model.js +20 -20
  489. package/build/_modules/socket/_services/socket-client.service.d.ts +37 -37
  490. package/build/_modules/socket/_services/socket-client.service.js +196 -196
  491. package/build/_modules/socket/_services/socket-server.service.d.ts +94 -94
  492. package/build/_modules/socket/_services/socket-server.service.js +689 -689
  493. package/build/_modules/socket/app-extended.server.d.ts +145 -145
  494. package/build/_modules/socket/app-extended.server.js +506 -506
  495. package/build/_modules/socket/index.d.ts +8 -8
  496. package/build/_modules/socket/index.js +35 -35
  497. package/build/_modules/test/get-test-routing-module.util.d.ts +3 -3
  498. package/build/_modules/test/get-test-routing-module.util.js +16 -16
  499. package/build/_modules/test/index.d.ts +3 -3
  500. package/build/_modules/test/index.js +11 -11
  501. package/build/_modules/test/test.controller.d.ts +5 -5
  502. package/build/_modules/test/test.controller.js +103 -103
  503. package/build/_modules/usage/get-usage-routing-module.util.d.ts +3 -3
  504. package/build/_modules/usage/get-usage-routing-module.util.js +16 -16
  505. package/build/_modules/usage/index.d.ts +4 -4
  506. package/build/_modules/usage/index.js +13 -13
  507. package/build/_modules/usage/usage.controller.d.ts +6 -6
  508. package/build/_modules/usage/usage.controller.js +95 -95
  509. package/build/_modules/usage/usage.data-service.d.ts +17 -17
  510. package/build/_modules/usage/usage.data-service.js +135 -135
  511. package/build/_services/base/api.service-base.d.ts +9 -9
  512. package/build/_services/base/api.service-base.js +46 -46
  513. package/build/_services/base/archive-data.service.d.ts +25 -25
  514. package/build/_services/base/archive-data.service.js +140 -140
  515. package/build/_services/base/data.service.d.ts +381 -381
  516. package/build/_services/base/data.service.js +2068 -2068
  517. package/build/_services/base/db.service.d.ts +393 -393
  518. package/build/_services/base/db.service.js +1256 -1256
  519. package/build/_services/base/singleton.service-base.d.ts +8 -8
  520. package/build/_services/base/singleton.service-base.js +21 -21
  521. package/build/_services/base/singleton.service.d.ts +11 -11
  522. package/build/_services/base/singleton.service.js +31 -31
  523. package/build/_services/core/api.service.d.ts +45 -45
  524. package/build/_services/core/api.service.js +436 -436
  525. package/build/_services/core/auth.service.d.ts +129 -129
  526. package/build/_services/core/auth.service.js +59 -59
  527. package/build/_services/core/email.service.d.ts +77 -77
  528. package/build/_services/core/email.service.js +489 -489
  529. package/build/_services/core/global.service.d.ts +76 -76
  530. package/build/_services/core/global.service.js +370 -370
  531. package/build/_services/core/memory-guard.service.d.ts +110 -110
  532. package/build/_services/core/memory-guard.service.js +197 -197
  533. package/build/_services/core/service-collection.service.d.ts +4 -4
  534. package/build/_services/core/service-collection.service.js +7 -7
  535. package/build/_services/route/controller.service.d.ts +124 -124
  536. package/build/_services/route/controller.service.js +95 -95
  537. package/build/_services/route/routing-module.service.d.ts +80 -80
  538. package/build/_services/route/routing-module.service.js +250 -250
  539. package/build/_services/server/app.server.d.ts +352 -352
  540. package/build/_services/server/app.server.js +1323 -1323
  541. package/build/_services/shared.static-service.d.ts +36 -36
  542. package/build/_services/shared.static-service.js +72 -72
  543. package/build/index.d.ts +43 -43
  544. package/build/index.js +80 -80
  545. package/eslint.config.js +3 -3
  546. package/nodemon.json +24 -24
  547. package/package.json +416 -417
  548. package/pnpm-workspace.yaml +5 -5
  549. package/scripts/run-coverage-tests.js +28 -28
  550. package/spec/support/helpers/spec-reporter-loader.js +359 -359
  551. package/spec/support/helpers/ts-node-helper.js +93 -93
  552. package/spec/support/jasmine.coverage.json +24 -24
  553. package/spec/support/jasmine.json +24 -24
  554. package/src/_collections/archive.util.spec.ts +57 -57
  555. package/src/_collections/archive.util.ts +18 -18
  556. package/src/_collections/atlas-default-db-options.const.ts +9 -9
  557. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -11
  558. package/src/_collections/default-fallback-cache-max-age.const.ts +2 -2
  559. package/src/_collections/default-not-found-page.const.spec.ts +19 -19
  560. package/src/_collections/default-not-found-page.const.ts +22 -22
  561. package/src/_collections/default-socket-path.const.spec.ts +12 -12
  562. package/src/_collections/default-socket-path.const.ts +2 -2
  563. package/src/_collections/get-environment-settings.util.spec.ts +210 -210
  564. package/src/_collections/get-environment-settings.util.ts +48 -48
  565. package/src/_collections/global-settings.const.ts +89 -89
  566. package/src/_collections/mongo-reconnect-guard.util.spec.ts +52 -52
  567. package/src/_collections/mongo-reconnect-guard.util.ts +172 -172
  568. package/src/_collections/sample.env +21 -21
  569. package/src/_collections/star.controller.spec.ts +224 -224
  570. package/src/_collections/star.controller.ts +129 -129
  571. package/src/_enums/data-model-type.enum.ts +14 -14
  572. package/src/_enums/data-service-function.enum.ts +24 -24
  573. package/src/_enums/predefined-data-types.enum.ts +16 -16
  574. package/src/_enums/route-security.enum.ts +12 -12
  575. package/src/_models/control-models/api-call-params.control-model.spec.ts +152 -152
  576. package/src/_models/control-models/api-call-params.control-model.ts +142 -142
  577. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -52
  578. package/src/_models/control-models/app-ext-system-controls.control-model.ts +9 -9
  579. package/src/_models/control-models/app-params.control-model.spec.ts +225 -225
  580. package/src/_models/control-models/app-params.control-model.ts +136 -136
  581. package/src/_models/control-models/app-system-controls.control-model.spec.ts +31 -31
  582. package/src/_models/control-models/app-system-controls.control-model.ts +9 -9
  583. package/src/_models/control-models/endpoint-params.control-model.spec.ts +627 -627
  584. package/src/_models/control-models/endpoint-params.control-model.ts +627 -627
  585. package/src/_models/control-models/http-settings.control-model.spec.ts +77 -77
  586. package/src/_models/control-models/http-settings.control-model.ts +37 -37
  587. package/src/_models/control-models/system-control.control-model.spec.ts +27 -27
  588. package/src/_models/control-models/system-control.control-model.ts +12 -12
  589. package/src/_models/interfaces/certification-settings.interface.ts +7 -7
  590. package/src/_models/interfaces/compare-data-options.interface.ts +27 -27
  591. package/src/_models/interfaces/compare-data-result.interface.ts +12 -12
  592. package/src/_models/interfaces/cors-settings.interface.spec.ts +52 -52
  593. package/src/_models/interfaces/cors-settings.interface.ts +56 -56
  594. package/src/_models/interfaces/environment-settings.interface.ts +59 -59
  595. package/src/_models/interfaces/global-log-settings.interface.ts +171 -171
  596. package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
  597. package/src/_models/interfaces/global-settings.interface.ts +185 -185
  598. package/src/_models/interfaces/routing-module-settings.interface.ts +21 -21
  599. package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -29
  600. package/src/_models/interfaces/static-client-settings.interface.ts +28 -28
  601. package/src/_models/types/db-update.type.ts +100 -100
  602. package/src/_modules/admin-auth/_models/admin-api-key-config.interface.ts +33 -33
  603. package/src/_modules/admin-auth/admin-api-key.auth-service.spec.ts +200 -200
  604. package/src/_modules/admin-auth/admin-api-key.auth-service.ts +220 -220
  605. package/src/_modules/admin-auth/index.ts +2 -2
  606. package/src/_modules/ai/_models/ai-input-interfaces.ts +117 -117
  607. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +16 -16
  608. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.ts +14 -14
  609. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.ts +56 -56
  610. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +138 -138
  611. package/src/_modules/ai/_modules/anthropic/index.ts +5 -5
  612. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -242
  613. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +639 -639
  614. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +295 -295
  615. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +552 -552
  616. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -209
  617. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +85 -85
  618. package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +7 -7
  619. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +146 -146
  620. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +162 -162
  621. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +99 -99
  622. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +68 -68
  623. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +18 -18
  624. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +19 -19
  625. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +25 -25
  626. package/src/_modules/ai/_modules/document-ai/index.ts +30 -30
  627. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +189 -189
  628. package/src/_modules/ai/_modules/fdp-ai/index.ts +5 -5
  629. package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +9 -9
  630. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +82 -82
  631. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +75 -75
  632. package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +45 -45
  633. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +7 -7
  634. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +7 -7
  635. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +57 -57
  636. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +292 -292
  637. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.ts +572 -572
  638. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -342
  639. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts +435 -435
  640. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -550
  641. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +630 -630
  642. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +332 -332
  643. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +132 -132
  644. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -462
  645. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +634 -634
  646. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +489 -489
  647. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +173 -173
  648. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +1033 -1033
  649. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
  650. package/src/_modules/ai/_modules/open-ai/index.ts +74 -74
  651. package/src/_modules/ai/_services/ai-embedding-mock.service.spec.ts +115 -115
  652. package/src/_modules/ai/_services/ai-embedding-mock.service.ts +233 -233
  653. package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +110 -110
  654. package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +114 -114
  655. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -98
  656. package/src/_modules/ai/_services/ai-embedding.service-base.ts +48 -48
  657. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -229
  658. package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +68 -68
  659. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -250
  660. package/src/_modules/ai/_services/ai-llm.service-base.ts +519 -519
  661. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +158 -158
  662. package/src/_modules/ai/_services/ai-provider.service-base.ts +67 -67
  663. package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
  664. package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +197 -197
  665. package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +399 -399
  666. package/src/_modules/ai/index.ts +23 -23
  667. package/src/_modules/assistant/_collections/ass-global-settings.const.ts +13 -13
  668. package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -176
  669. package/src/_modules/assistant/_collections/ass.util.ts +50 -50
  670. package/src/_modules/assistant/_models/ass-global-settings.interface.ts +15 -15
  671. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -140
  672. package/src/_modules/assistant/_services/ass-io.control-service.ts +74 -74
  673. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -192
  674. package/src/_modules/assistant/_services/ass-main.control-service.ts +107 -107
  675. package/src/_modules/assistant/index.ts +19 -19
  676. package/src/_modules/bot/_collections/bot-default-commands.const.ts +12 -12
  677. package/src/_modules/bot/_collections/bot-global-settings.const.ts +39 -39
  678. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +62 -62
  679. package/src/_modules/bot/_models/bot-command.interface.ts +8 -8
  680. package/src/_modules/bot/_models/bot-global-settings.interface.ts +96 -96
  681. package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +6 -6
  682. package/src/_modules/bot/_models/bot-last-message-date.interface.ts +5 -5
  683. package/src/_modules/bot/_models/bot-message-wrapper.interface.ts +90 -90
  684. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +41 -41
  685. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +9 -9
  686. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -431
  687. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts +641 -641
  688. package/src/_modules/bot/_modules/discord-bot/index.ts +12 -12
  689. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -160
  690. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +55 -55
  691. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +15 -15
  692. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -374
  693. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +447 -447
  694. package/src/_modules/bot/_modules/dynamo-bot/index.ts +15 -15
  695. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +9 -9
  696. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -344
  697. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +197 -197
  698. package/src/_modules/bot/_modules/slack-bot/index.ts +12 -12
  699. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +9 -9
  700. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -345
  701. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +197 -197
  702. package/src/_modules/bot/_modules/teams-bot/index.ts +11 -11
  703. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -116
  704. package/src/_modules/bot/_services/bot-commands.control-service.ts +158 -158
  705. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -285
  706. package/src/_modules/bot/_services/bot-io.control-service.ts +329 -329
  707. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -208
  708. package/src/_modules/bot/_services/bot-main.control-service.ts +489 -489
  709. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -349
  710. package/src/_modules/bot/_services/bot-messaging-provider.service-base.ts +158 -158
  711. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -111
  712. package/src/_modules/bot/_services/bot-routines.control-service.ts +78 -78
  713. package/src/_modules/bot/index.ts +37 -37
  714. package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -49
  715. package/src/_modules/custom-data/custom-data.controller.ts +67 -67
  716. package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -54
  717. package/src/_modules/custom-data/custom-data.data-service.ts +21 -21
  718. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -28
  719. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +24 -24
  720. package/src/_modules/custom-data/index.ts +9 -9
  721. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +176 -176
  722. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +203 -203
  723. package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +33 -33
  724. package/src/_modules/data-readers/index.ts +11 -11
  725. package/src/_modules/defaults/_collections/default-endpoints.util.ts +487 -487
  726. package/src/_modules/defaults/_models/default-user.data-model.ts +72 -72
  727. package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -269
  728. package/src/_modules/defaults/_services/default-auth.service.ts +177 -177
  729. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -42
  730. package/src/_modules/defaults/_services/default-socket-events.service.ts +61 -61
  731. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -187
  732. package/src/_modules/defaults/_services/default-user.data-service.ts +98 -98
  733. package/src/_modules/defaults/index.ts +17 -17
  734. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +19 -19
  735. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -366
  736. package/src/_modules/discord-assistant/_collections/dias.util.ts +132 -132
  737. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +19 -19
  738. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +52 -52
  739. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +177 -177
  740. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -108
  741. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +69 -69
  742. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -22
  743. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +27 -27
  744. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -195
  745. package/src/_modules/discord-assistant/_services/dias.service-base.ts +76 -76
  746. package/src/_modules/discord-assistant/index.ts +38 -38
  747. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -34
  748. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +11 -11
  749. package/src/_modules/discord-assistant-voiced/index.ts +36 -36
  750. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +16 -16
  751. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +55 -55
  752. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -214
  753. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +387 -387
  754. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +12 -12
  755. package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +98 -98
  756. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +7 -7
  757. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +6 -6
  758. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -154
  759. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +153 -153
  760. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -264
  761. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +306 -306
  762. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -408
  763. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +487 -487
  764. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -105
  765. package/src/_modules/discord-bot/_services/dibo-routines.control-service.ts +97 -97
  766. package/src/_modules/discord-bot/index.ts +36 -36
  767. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +35 -35
  768. package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +60 -60
  769. package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +17 -17
  770. package/src/_modules/local-vector-search/_services/lvs-bm25.util.spec.ts +159 -159
  771. package/src/_modules/local-vector-search/_services/lvs-bm25.util.ts +206 -206
  772. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -418
  773. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +276 -276
  774. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +480 -480
  775. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +416 -416
  776. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +198 -198
  777. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +150 -150
  778. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +167 -167
  779. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +108 -108
  780. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +393 -393
  781. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +220 -220
  782. package/src/_modules/local-vector-search/index.ts +16 -16
  783. package/src/_modules/logs/_models/file-log-entry.interface.ts +13 -13
  784. package/src/_modules/logs/_models/file-log-read-result.interface.ts +37 -37
  785. package/src/_modules/logs/file-log.service.spec.ts +341 -341
  786. package/src/_modules/logs/file-log.service.ts +466 -466
  787. package/src/_modules/logs/file-logs.controller.spec.ts +245 -245
  788. package/src/_modules/logs/file-logs.controller.ts +165 -165
  789. package/src/_modules/logs/get-file-logs-routing-module.util.ts +51 -51
  790. package/src/_modules/logs/get-logs-routing-module.util.ts +36 -36
  791. package/src/_modules/logs/index.ts +11 -11
  792. package/src/_modules/logs/log-buffer.service.ts +101 -101
  793. package/src/_modules/logs/logs.controller.ts +109 -109
  794. package/src/_modules/logs/logs.service.ts +100 -100
  795. package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +111 -111
  796. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +151 -151
  797. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +125 -125
  798. package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +168 -168
  799. package/src/_modules/mcp/index.ts +13 -13
  800. package/src/_modules/messaging/README.md +354 -354
  801. package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +26 -26
  802. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +22 -22
  803. package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -226
  804. package/src/_modules/messaging/_collections/msg.util.ts +83 -83
  805. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +37 -37
  806. package/src/_modules/messaging/_services/msg-conversation.data-service.ts +146 -146
  807. package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -219
  808. package/src/_modules/messaging/_services/msg-events.service.ts +267 -267
  809. package/src/_modules/messaging/_services/msg-integration.control-service.ts +179 -179
  810. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -147
  811. package/src/_modules/messaging/_services/msg-main.control-service.ts +571 -571
  812. package/src/_modules/messaging/_services/msg-message.data-service.ts +129 -129
  813. package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -201
  814. package/src/_modules/messaging/_services/msg.controller.ts +370 -370
  815. package/src/_modules/messaging/index.ts +30 -30
  816. package/src/_modules/mock/app-extended-server.mock.ts +201 -201
  817. package/src/_modules/mock/app-integration-test.mock.ts +51 -51
  818. package/src/_modules/mock/app-params.mock.spec.ts +21 -21
  819. package/src/_modules/mock/app-params.mock.ts +9 -9
  820. package/src/_modules/mock/app-server.mock.ts +188 -188
  821. package/src/_modules/mock/auth-service.mock.spec.ts +47 -47
  822. package/src/_modules/mock/auth-service.mock.ts +28 -28
  823. package/src/_modules/mock/controller.mock.spec.ts +26 -26
  824. package/src/_modules/mock/controller.mock.ts +16 -16
  825. package/src/_modules/mock/data-model.mock.spec.ts +111 -111
  826. package/src/_modules/mock/data-model.mock.ts +82 -82
  827. package/src/_modules/mock/email-service-collection.mock.spec.ts +24 -24
  828. package/src/_modules/mock/email-service-collection.mock.ts +15 -15
  829. package/src/_modules/mock/email-service.mock.spec.ts +17 -17
  830. package/src/_modules/mock/email-service.mock.ts +20 -20
  831. package/src/_modules/mock/email-template.mock.html +14 -14
  832. package/src/_modules/mock/endpoint.mock.ts +91 -91
  833. package/src/_modules/mock/socket-client.mock.spec.ts +40 -40
  834. package/src/_modules/mock/socket-client.mock.ts +45 -45
  835. package/src/_modules/mock/socket-server.mock.spec.ts +44 -44
  836. package/src/_modules/mock/socket-server.mock.ts +46 -46
  837. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -107
  838. package/src/_modules/oauth2/_routes/oauth2.controller.ts +98 -98
  839. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -254
  840. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -232
  841. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -585
  842. package/src/_modules/oauth2/_services/oauth2.control-service.ts +653 -653
  843. package/src/_modules/oauth2/index.ts +17 -17
  844. package/src/_modules/rate-limit/_models/rate-limit-config.interface.ts +69 -69
  845. package/src/_modules/rate-limit/_models/rate-limit-policy.interface.ts +16 -16
  846. package/src/_modules/rate-limit/index.ts +3 -3
  847. package/src/_modules/rate-limit/rate-limit.middleware.spec.ts +264 -264
  848. package/src/_modules/rate-limit/rate-limit.middleware.ts +343 -343
  849. package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +22 -22
  850. package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +82 -82
  851. package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +107 -107
  852. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +312 -312
  853. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +311 -311
  854. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +123 -123
  855. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +108 -108
  856. package/src/_modules/scoped-config/index.ts +17 -17
  857. package/src/_modules/server/errors/errors.control-service.spec.ts +246 -238
  858. package/src/_modules/server/errors/errors.control-service.ts +100 -85
  859. package/src/_modules/server/errors/errors.controller.spec.ts +249 -241
  860. package/src/_modules/server/errors/errors.controller.ts +489 -431
  861. package/src/_modules/server/errors/errors.data-service.spec.ts +480 -361
  862. package/src/_modules/server/errors/errors.data-service.ts +816 -722
  863. package/src/_modules/server/index.ts +30 -30
  864. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -70
  865. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +17 -17
  866. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -77
  867. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +37 -37
  868. package/src/_modules/server/server-status/server-status.control-service.spec.ts +584 -576
  869. package/src/_modules/server/server-status/server-status.control-service.ts +396 -396
  870. package/src/_modules/server/server-status/server-status.controller.spec.ts +248 -240
  871. package/src/_modules/server/server-status/server-status.controller.ts +253 -253
  872. package/src/_modules/socket/_enums/socket-security.enum.ts +11 -11
  873. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +32 -32
  874. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +22 -22
  875. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -164
  876. package/src/_modules/socket/_models/socket-presence.control-model.ts +210 -210
  877. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +46 -46
  878. package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +22 -22
  879. package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -15
  880. package/src/_modules/socket/_services/socket-client.service.ts +260 -260
  881. package/src/_modules/socket/_services/socket-server.service.spec.ts +11 -11
  882. package/src/_modules/socket/_services/socket-server.service.ts +1068 -1068
  883. package/src/_modules/socket/app-extended.integration.spec.ts +85 -85
  884. package/src/_modules/socket/app-extended.server.ts +630 -630
  885. package/src/_modules/socket/index.ts +42 -42
  886. package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -28
  887. package/src/_modules/test/get-test-routing-module.util.ts +23 -23
  888. package/src/_modules/test/index.ts +11 -11
  889. package/src/_modules/test/test.controller.spec.ts +72 -72
  890. package/src/_modules/test/test.controller.ts +115 -115
  891. package/src/_modules/usage/get-usage-routing-module.util.ts +22 -22
  892. package/src/_modules/usage/index.ts +15 -15
  893. package/src/_modules/usage/usage.controller.spec.ts +81 -81
  894. package/src/_modules/usage/usage.controller.ts +126 -126
  895. package/src/_modules/usage/usage.data-service.spec.ts +332 -332
  896. package/src/_modules/usage/usage.data-service.ts +185 -185
  897. package/src/_services/base/api.service-base.spec.ts +125 -125
  898. package/src/_services/base/api.service-base.ts +74 -74
  899. package/src/_services/base/archive-data.service.spec.ts +196 -196
  900. package/src/_services/base/archive-data.service.ts +216 -216
  901. package/src/_services/base/data.service.spec.ts +674 -674
  902. package/src/_services/base/data.service.ts +2719 -2719
  903. package/src/_services/base/db.service.spec.ts +73 -73
  904. package/src/_services/base/db.service.ts +1575 -1575
  905. package/src/_services/base/singleton.service-base.spec.ts +28 -28
  906. package/src/_services/base/singleton.service-base.ts +24 -24
  907. package/src/_services/base/singleton.service.spec.ts +114 -114
  908. package/src/_services/base/singleton.service.ts +38 -38
  909. package/src/_services/core/api.service.spec.ts +140 -140
  910. package/src/_services/core/api.service.ts +607 -607
  911. package/src/_services/core/auth.service.spec.ts +159 -159
  912. package/src/_services/core/auth.service.ts +174 -174
  913. package/src/_services/core/email.service.spec.ts +85 -85
  914. package/src/_services/core/email.service.ts +742 -742
  915. package/src/_services/core/global.service.spec.ts +292 -292
  916. package/src/_services/core/global.service.ts +475 -475
  917. package/src/_services/core/memory-guard.service.spec.ts +165 -165
  918. package/src/_services/core/memory-guard.service.ts +281 -281
  919. package/src/_services/core/service-collection.service.spec.ts +46 -46
  920. package/src/_services/core/service-collection.service.ts +6 -6
  921. package/src/_services/route/controller.service.spec.ts +53 -53
  922. package/src/_services/route/controller.service.ts +148 -148
  923. package/src/_services/route/routing-module.service.spec.ts +98 -98
  924. package/src/_services/route/routing-module.service.ts +330 -330
  925. package/src/_services/server/app.server.ts +1747 -1747
  926. package/src/_services/shared.static-service.spec.ts +99 -99
  927. package/src/_services/shared.static-service.ts +78 -78
  928. package/src/index.ts +96 -96
  929. package/tsconfig.app.json +12 -12
  930. package/tsconfig.json +42 -42
  931. package/.dynamo/logs/cicd-pipeline/output.log +0 -2771
  932. package/.dynamo/logs/cicd-pipeline/status.json +0 -94
package/README.md CHANGED
@@ -1,678 +1,678 @@
1
- # Dynamo-NTS
2
-
3
- ![Dynamo-NTS Logo](src/_assets/dynamo-nts-logo-256.png)
4
-
5
- **Dynamo-NTS** (NodeTS) is a comprehensive backend framework for building robust, secure, and scalable Node.js applications with TypeScript. Built on top of [Dynamo FSM](https://www.npmjs.com/package/@futdevpro/fsm-dynamo) (`@futdevpro/fsm-dynamo`), it provides a structured approach to server-side development with clear separation of concerns, extensive configuration options, and production-ready implementations for common backend tasks.
6
-
7
- Dynamo-NTS uses **[Dynamo FSM](https://www.npmjs.com/package/@futdevpro/fsm-dynamo)** as its foundational layer, implementing the server-side components of the FSM architecture. All core interfaces, types, and utilities are provided by FSM, ensuring consistency and type safety across the entire Dynamo ecosystem.
8
-
9
- Dynamo-NTS is part of the unified **Dynamo ecosystem**, a full-stack development framework designed to accelerate the development of scalable web applications. The ecosystem consists of interconnected packages that work together seamlessly, with Dynamo-NTS serving as the backend implementation layer. The frontend counterpart is **[Dynamo NGX](https://www.npmjs.com/package/@futdevpro/ngx-dynamo)**, which uses **[Dynamo NGX Models](https://www.npmjs.com/package/@futdevpro/ngx-dynamo-models)** for type-safe model definitions.
10
-
11
- ### Design Philosophy
12
-
13
- Dynamo-NTS is built with two key principles:
14
-
15
- - **Full Override Capability**: Every component, service, and class can be overridden or extended. The framework provides a solid foundation with sensible defaults, but you have complete control to customize or replace any part to fit your specific needs. This makes Dynamo-NTS highly customizable and adaptable to any project requirements.
16
-
17
- - **Complete Type Information**: All types, interfaces, and definitions are included in the compiled output. This ensures excellent readability and maintainability—everything you need is available at compile time through TypeScript's type system, providing full IntelliSense support and eliminating the need to reference external documentation during development.
18
-
19
- ### Simplified System Definitions
20
-
21
- Dynamo-NTS simplifies complex system definitions by abstracting common backend infrastructure into simple parameterization. Instead of manually configuring various libraries and services, you define your application through straightforward parameter objects:
22
-
23
- - **Express Usage**: HTTP/HTTPS server setup, routing, middleware, and error handling are configured through `DyNTS_App_Params`, `DyNTS_Http_Settings`, and `DyNTS_RoutingModule` parameters (simplifies Express server initialization and route management)
24
- - **MongoDB/Mongoose Usage**: Database connections, models, schemas, and operations are managed through `DyNTS_DBService` and `DyNTS_DataService` with simple data model parameter definitions (simplifies Mongoose schema creation and model management)
25
- - **Socket.io Usage**: Real-time communication setup, event handling, and presence tracking are configured through `DyNTS_SocketServerService` parameters and the `DyNTS_AppExtended` class (simplifies Socket.io server initialization and event management)
26
- - **Nodemailer Usage**: Email sending with templating, attachments, and async delivery is handled through `DyNTS_EmailService` with template component definitions (simplifies Nodemailer transporter setup and email template management)
27
- - **OAuth2 Implementation**: Complete OAuth2.0 protocol flows including authorization codes, token exchange, and refresh tokens are managed through `DyNTS_OAuth2_Controller` and `DyNTS_OAuth2_AuthService` (simplifies complex OAuth2 flow implementation)
28
- - **Axios Usage**: HTTP client requests to external APIs are standardized through `DyNTS_ApiService` with `DyNTS_ApiCall_Params` configuration (simplifies Axios request setup, error handling, and response management)
29
- - **Discord.js / Slack / Teams Bot Development**: Platform-agnostic bot framework through `DyNTS_Bot_MessagingProvider_ServiceBase` and bot modules (simplifies Discord.js, Slack, and Teams bot development with unified interfaces)
30
- - **OpenAI / AI Provider Integration**: AI/LLM operations including chat, embeddings, and vector search are abstracted through `DyNTS_AI_Provider_ServiceBase` and provider implementations (simplifies OpenAI SDK usage and enables multi-provider architecture)
31
- - **Location Tracking**: IP-based geolocation through `geoip-lite` is integrated into the usage tracking module (simplifies location data collection from HTTP requests)
32
-
33
- This parameterization approach eliminates boilerplate code and provides a consistent, type-safe interface for all backend operations. Instead of learning multiple library APIs and their configuration patterns, developers work with unified Dynamo-NTS parameter objects that handle the underlying complexity.
34
-
35
- ## Table of Contents
36
-
37
- - [Installation](#installation)
38
- - [Quick Start](#quick-start)
39
- - [Core Concepts](#core-concepts)
40
- - [Modules Overview](#modules-overview)
41
- - [Usage Examples](#usage-examples)
42
- - [Ecosystem Integration](#ecosystem-integration)
43
- - [API Reference](#api-reference)
44
-
45
- ## Installation
46
-
47
- Install Dynamo-NTS using pnpm (recommended) or npm:
48
-
49
- ```bash
50
- pnpm add @futdevpro/dynamo-nts
51
- # or
52
- npm install @futdevpro/dynamo-nts
53
- ```
54
-
55
- ### Peer Dependencies
56
-
57
- Dynamo-NTS requires peer dependencies that are divided into two categories: core dependencies (required for the main module) and module-specific dependencies (required only when using specific modules).
58
-
59
- #### Core Dependencies (Required)
60
-
61
- These dependencies are required for the main Dynamo-NTS functionality:
62
-
63
- - [`@futdevpro/fsm-dynamo`](https://www.npmjs.com/package/@futdevpro/fsm-dynamo) - The foundational package providing core interfaces and utilities (always required)
64
- - `express` - Web framework for Node.js (simplified through Dynamo-NTS parameterization)
65
- - `mongoose` - MongoDB object modeling (simplified through Dynamo-NTS data services)
66
- - `axios` - HTTP client (simplified through Dynamo-NTS API service)
67
- - `body-parser` - Request body parsing middleware
68
- - `dotenv` - Environment variable management
69
- - `rxjs` - Reactive programming library
70
- - `@types/express` - TypeScript types for Express
71
- - `@types/node` - TypeScript types for Node.js
72
- - `ts-node` - TypeScript execution environment
73
-
74
- Install core dependencies:
75
-
76
- ```bash
77
- pnpm add @futdevpro/fsm-dynamo express mongoose axios body-parser dotenv rxjs @types/express @types/node ts-node
78
- ```
79
-
80
- #### Module-Specific Dependencies (Optional)
81
-
82
- These dependencies are only required when using specific modules:
83
-
84
- - **Socket Module**: `socket.io` - Real-time communication (simplified through Dynamo-NTS socket services)
85
- - **Email Service**: `nodemailer` - Email sending (simplified through Dynamo-NTS email services)
86
- - **Usage Module**: `geoip-lite` and `@types/geoip-lite` - IP geolocation (simplified through Dynamo-NTS usage module)
87
- - **Bot Module (Discord)**: `discord.js` - Discord bot development (simplified through Dynamo-NTS bot module)
88
- - **AI Module (OpenAI)**: `openai` - OpenAI API integration (simplified through Dynamo-NTS AI module)
89
-
90
- Install module-specific dependencies as needed:
91
-
92
- ```bash
93
- # For Socket module
94
- pnpm add socket.io
95
-
96
- # For Email service
97
- pnpm add nodemailer
98
-
99
- # For Usage module
100
- pnpm add geoip-lite @types/geoip-lite
101
-
102
- # For Bot module (Discord)
103
- pnpm add discord.js
104
-
105
- # For AI module (OpenAI)
106
- pnpm add openai
107
- ```
108
-
109
- ## Quick Start
110
-
111
- The following example demonstrates how to set up a basic Dynamo-NTS application with routing and socket support:
112
-
113
- ```typescript
114
- import {
115
- DyNTS_AppExtended,
116
- DyNTS_App_Params,
117
- DyNTS_GlobalService_Settings,
118
- DyNTS_Http_Settings,
119
- DyNTS_RoutingModule
120
- } from '@futdevpro/nts-dynamo';
121
- import {
122
- DyNTS_SocketServerService
123
- } from '@futdevpro/nts-dynamo/socket';
124
- import { DyFM_usageSession_dataParams } from '@futdevpro/fsm-dynamo/usage';
125
- import { DyFM_customData_dataParams } from '@futdevpro/fsm-dynamo/custom-data';
126
- import { DyNTS_getUsageRoutingModule } from '@futdevpro/nts-dynamo/usage';
127
- import { DyNTS_getTestRoutingModule } from '@futdevpro/nts-dynamo/test';
128
-
129
- import { AuthService } from './core-services/auth.service';
130
- import { Email_ServiceCollection } from './core-services/email.service-collection';
131
- import { User_Controller } from './routes/user/user.controller';
132
- import { Chat_SocketServerService } from './socket-services/chat.socket-server-service';
133
-
134
- export class App extends DyNTS_AppExtended {
135
-
136
- getAppParams(): DyNTS_App_Params {
137
- return new DyNTS_App_Params({
138
- name: 'My Application',
139
- version: '1.0.0',
140
- dbName: 'myapp',
141
- dbUri: process.env.MONGO_URL || 'mongodb://localhost:27017/myapp',
142
- systemShortCodeName: 'MYAPP',
143
- });
144
- }
145
-
146
- getGlobalServiceCollection(): DyNTS_GlobalService_Settings {
147
- return {
148
- authService: AuthService.getInstance(),
149
- emailServiceCollection: Email_ServiceCollection.getInstance(),
150
- dbModels: [
151
- // Your data model parameters here
152
- DyFM_usageSession_dataParams,
153
- DyFM_customData_dataParams,
154
- ],
155
- };
156
- }
157
-
158
- getPortSettings(): DyNTS_Http_Settings {
159
- return new DyNTS_Http_Settings({
160
- httpPort: 3000,
161
- });
162
- }
163
-
164
- getRoutingModules(): DyNTS_RoutingModule[] {
165
- return [
166
- new DyNTS_RoutingModule({
167
- route: '/user',
168
- controllers: [
169
- User_Controller.getInstance(),
170
- ],
171
- }),
172
- DyNTS_getTestRoutingModule(),
173
- DyNTS_getUsageRoutingModule(),
174
- ];
175
- }
176
-
177
- getSocketServices(): DyNTS_SocketServerService<any>[] {
178
- return [
179
- Chat_SocketServerService.getInstance(),
180
- ];
181
- }
182
- }
183
-
184
- // Start the application
185
- const app = new App();
186
- ```
187
-
188
- ## Core Concepts
189
-
190
- Dynamo-NTS uses [Dynamo FSM](https://www.npmjs.com/package/@futdevpro/fsm-dynamo) as its foundation, implementing all server-side components defined in the FSM architecture. All types, interfaces, and base models are provided by FSM, ensuring full type safety and consistency.
191
-
192
- ### Extensibility and Customization
193
-
194
- Dynamo-NTS is designed with extensibility in mind. Every component, service, and class can be overridden or extended to meet your specific requirements:
195
-
196
- - **Service Override**: All services (authentication, email, data services, etc.) can be extended or completely replaced with custom implementations
197
- - **Method Override**: Abstract methods in base classes allow you to customize behavior while maintaining the framework structure
198
- - **Configuration Override**: Global settings, route security, and application parameters can be overridden at any level
199
- - **Type Safety**: All overrides maintain full TypeScript type safety, with all types and interfaces available at compile time
200
-
201
- This design philosophy ensures that Dynamo-NTS provides a solid foundation while remaining fully customizable for your specific use cases.
202
-
203
- ### Complete Type Information
204
-
205
- All types, interfaces, and definitions are included in the compiled output, ensuring excellent readability and maintainability. When you compile your project, you have access to:
206
-
207
- - Complete type definitions for all services, models, and interfaces
208
- - Full IntelliSense support in your IDE
209
- - Compile-time type checking for all framework components
210
- - Self-documenting code through TypeScript's type system
211
-
212
- This approach eliminates the need to reference external documentation during development—everything you need is available in your IDE's autocomplete and type hints.
213
-
214
- ### Application Classes
215
-
216
- Dynamo-NTS provides two main application base classes that simplify Express server setup:
217
-
218
- - **`DyNTS_App`**: Basic application class for standard HTTP server applications without real-time socket support
219
- - **`DyNTS_AppExtended`**: Extended application class that includes built-in socket server capabilities for real-time communication (simplifies Socket.io setup)
220
-
221
- Both classes abstract away Express server configuration, requiring you to implement several abstract methods with simple parameter objects:
222
-
223
- - `getAppParams()`: Define application parameters (name, version, database name, etc.) - replaces Express app initialization
224
- - `getGlobalServiceCollection()`: Configure global services (authentication, email, database models) - replaces manual service registration
225
- - `getPortSettings()`: Configure HTTP/HTTPS ports - replaces Express server.listen() configuration
226
- - `getRoutingModules()`: Define API routes and controllers - replaces Express router setup
227
-
228
- ### Data Services
229
-
230
- Data services provide a structured way to interact with MongoDB, simplifying Mongoose model and schema definitions:
231
-
232
- - **`DyNTS_DBService<T>`**: Low-level MongoDB service for direct database operations (simplifies Mongoose model creation)
233
- - **`DyNTS_DataService<T>`**: High-level data service with business logic, validation, and dependency management (simplifies MongoDB CRUD operations)
234
- - **`DyNTS_ArchiveDataService<T>`**: Service for managing archived data in separate collections
235
-
236
- Instead of manually creating Mongoose schemas and models, you define data models through `DyFM_DataModel_Params` (from FSM), and Dynamo-NTS handles schema generation, model creation, and connection management automatically. Data services handle CRUD operations, data validation, dependency tracking, and provide methods for searching, filtering, and managing data relationships.
237
-
238
- ### Routing System
239
-
240
- The routing system provides a structured approach to defining RESTful API endpoints, simplifying Express router configuration:
241
-
242
- - **`DyNTS_RoutingModule`**: Groups related controllers under a common route path (replaces Express Router setup)
243
- - **`DyNTS_Controller`**: Abstract base class for defining HTTP endpoints (simplifies Express route handlers)
244
- - **`DyNTS_Endpoint_Params`**: Configuration for individual API endpoints (replaces Express route definitions)
245
-
246
- Instead of manually setting up Express routers and route handlers, you define endpoints through parameter objects. Controllers define endpoints with support for:
247
- - Multiple HTTP methods (GET, POST, PUT, PATCH, DELETE)
248
- - Pre-processing middleware (authentication, validation)
249
- - Task functions for handling requests
250
- - Route security levels (open, secure, both)
251
-
252
- ### Global Services
253
-
254
- The `DyNTS_GlobalService` provides centralized access to:
255
-
256
- - Authentication service
257
- - Email service collection
258
- - Database models registry
259
- - Error handlers
260
- - Socket server instances
261
-
262
- ### Authentication
263
-
264
- Dynamo-NTS provides an abstract `DyNTS_AuthService` class that you can extend to implement your authentication logic. The framework supports:
265
-
266
- - Token-based authentication
267
- - OAuth2 flows (via the OAuth2 module)
268
- - Session management
269
- - Route-level security configuration
270
-
271
- ## Modules Overview
272
-
273
- Dynamo-NTS is organized into focused modules, each providing specific functionality:
274
-
275
- ### Main Module
276
-
277
- The core foundation providing essential components:
278
-
279
- - **Collections**: Archive utilities, global settings, environment configuration
280
- - **Enums**: Data model types, service functions, route security levels
281
- - **Models**: Application configuration interfaces, control models, database types
282
- - **Services**: Core services for API communication, authentication, data management, routing
283
-
284
- ### AI Module
285
-
286
- Provides abstractions and implementations for AI operations:
287
-
288
- - **Abstract Service Bases**: Base classes for AI providers, LLM services, LLM chat services, and embedding services
289
- - **OpenAI Implementation**: Complete OpenAI integration with LLM, chat, and embedding support
290
- - **Document AI**: Document chunking and preprocessing for AI models
291
- - **Vector Search**: MongoDB Atlas vector database operations with automatic data vectorization
292
-
293
- #### OpenAI-Compatible Providers
294
-
295
- The OAI service-ek (`DyNTS_OAI_LLM_ServiceBase`, `DyNTS_OAI_LLMChat_ServiceBase`, `DyNTS_OAI_Embedding_ControlService`) bármely OpenAI-API-kompatibilis endpoint-tal működnek — lokál LLM (LM Studio, Ollama), self-hosted (vLLM, LocalAI) is — a `DyFM_OAI_ClientOptions.baseURL` mező segítségével. Részletek + provider-konfig sample-ök: [`__documentations/2026-05-17-oai-compatible-providers.md`](__documentations/2026-05-17-oai-compatible-providers.md).
296
-
297
- ### Assistant Module
298
-
299
- Platform and AI provider agnostic solutions for creating intelligent assistants:
300
-
301
- - Integrates communication providers (bot) with AI providers (LLM Chat)
302
- - Message conversion utilities
303
- - Conversation management
304
- - Configurable settings for system prompts and message filtering
305
-
306
- ### Bot Module
307
-
308
- Platform-agnostic bot functionality:
309
-
310
- - Message, channel, and user wrappers for any messaging platform
311
- - Command system for bot commands
312
- - Routine system for scheduled and event-driven tasks
313
- - IO management for bot interactions
314
- - Provider support for Discord, Slack, and Teams
315
-
316
- ### Socket Module
317
-
318
- Real-time communication capabilities that simplify Socket.io setup:
319
-
320
- - Socket client and server implementations with secure and open connection options (simplifies Socket.io server initialization)
321
- - Event handling system for managing real-time communications (replaces manual Socket.io event handler setup)
322
- - Presence tracking for monitoring connected clients
323
- - Error handling and logging for reliable operation
324
- - Extended application class with built-in socket server capabilities (automatically configures Socket.io with Express server)
325
-
326
- ### Messaging Module
327
-
328
- Backend implementation for unified messaging system:
329
-
330
- - Data services for messages and conversations
331
- - Control services for business logic orchestration
332
- - Real-time socket events
333
- - RESTful HTTP endpoints
334
- - Integration with bot and assistant modules
335
-
336
- ### OAuth2 Module
337
-
338
- Complete OAuth2.0 protocol implementation:
339
-
340
- - OAuth2 authorization and token management
341
- - Client management and user authentication
342
- - Token exchange and refresh operations
343
- - Authorization code and access token generation
344
-
345
- ### Server Module
346
-
347
- Solutions for basic server endpoints:
348
-
349
- - Error handling for saving and retrieving server errors
350
- - Server status monitoring with version and uptime information
351
- - Server status snapshots for saving and retrieving status at specific times
352
- - Error statistics for monitoring and analysis
353
-
354
- ### Defaults Module
355
-
356
- Default implementations for common services:
357
-
358
- - Default user data model and service for authentication and user management
359
- - Default authentication service with basic token-based authentication
360
- - Default socket events service with graceful degradation
361
- - All services can be extended or replaced with custom implementations
362
-
363
- ### Custom Data Module
364
-
365
- Tools for managing custom data:
366
-
367
- - Data service for handling custom data operations with optional initialization
368
- - Controller with RESTful endpoints for data operations
369
- - GET endpoint for retrieving custom data by ID
370
- - POST endpoint for modifying custom data
371
- - Configurable routing module with optional security overrides
372
-
373
- ### Test Module
374
-
375
- Testing and monitoring tools:
376
-
377
- - Test endpoints for different HTTP methods (GET, POST, DELETE)
378
- - Server status endpoint with version and uptime information
379
- - Configurable routing module with security override options
380
- - Automatic controller registration for easy setup
381
-
382
- ### Usage Module
383
-
384
- Session and usage tracking tools:
385
-
386
- - Session management tools for creating, updating, and closing sessions
387
- - Usage data collection and analysis tools
388
- - Location tracking from HTTP requests
389
- - Usage statistics retrieval with time range filtering
390
- - Daily usage statistics calculation
391
-
392
- ## Usage Examples
393
-
394
- ### Basic Application Setup
395
-
396
- This example shows a complete application setup using `DyNTS_AppExtended`:
397
-
398
- ```typescript
399
- import {
400
- DyNTS_AppExtended,
401
- DyNTS_App_Params,
402
- DyNTS_GlobalService_Settings,
403
- DyNTS_Http_Settings,
404
- DyNTS_RoutingModule
405
- } from '@futdevpro/nts-dynamo';
406
- import { DyNTS_SocketServerService } from '@futdevpro/nts-dynamo/socket';
407
-
408
- export class App extends DyNTS_AppExtended {
409
-
410
- getAppParams(): DyNTS_App_Params {
411
- return new DyNTS_App_Params({
412
- name: 'My Server',
413
- version: '1.0.0',
414
- dbName: 'myapp',
415
- });
416
- }
417
-
418
- getGlobalServiceCollection(): DyNTS_GlobalService_Settings {
419
- return {
420
- authService: AuthService.getInstance(),
421
- dbModels: [
422
- // Your data models
423
- ],
424
- };
425
- }
426
-
427
- getPortSettings(): DyNTS_Http_Settings {
428
- return new DyNTS_Http_Settings({
429
- httpPort: 3000,
430
- });
431
- }
432
-
433
- getRoutingModules(): DyNTS_RoutingModule[] {
434
- return [
435
- new DyNTS_RoutingModule({
436
- route: '/api',
437
- controllers: [
438
- MyController.getInstance(),
439
- ],
440
- }),
441
- ];
442
- }
443
-
444
- getSocketServices(): DyNTS_SocketServerService<any>[] {
445
- return [
446
- MySocketService.getInstance(),
447
- ];
448
- }
449
- }
450
- ```
451
-
452
- ### Routing Module Configuration
453
-
454
- Multiple routing modules can be configured to organize your API:
455
-
456
- ```typescript
457
- getRoutingModules(): DyNTS_RoutingModule[] {
458
- return [
459
- new DyNTS_RoutingModule({
460
- route: '/user',
461
- controllers: [
462
- User_Controller.getInstance(),
463
- UserData_Controller.getInstance(),
464
- UserSettings_Controller.getInstance(),
465
- ],
466
- }),
467
- new DyNTS_RoutingModule({
468
- route: '/project',
469
- controllers: [
470
- Project_Controller.getInstance(),
471
- ProjectExtension_Controller.getInstance(),
472
- ],
473
- }),
474
- new DyNTS_RoutingModule({
475
- route: '/server',
476
- controllers: [
477
- ServerStatus_Controller.getInstance(),
478
- ],
479
- }),
480
- DyNTS_getTestRoutingModule(),
481
- DyNTS_getUsageRoutingModule(),
482
- ];
483
- }
484
- ```
485
-
486
- ### Controller Implementation
487
-
488
- Controllers define API endpoints with authentication and business logic:
489
-
490
- ```typescript
491
- import { Request, Response } from 'express';
492
- import { DyNTS_Controller, DyNTS_Endpoint_Params } from '@futdevpro/nts-dynamo';
493
- import { DyFM_HttpCallType } from '@futdevpro/fsm-dynamo';
494
-
495
- export class User_Controller extends DyNTS_Controller {
496
-
497
- static getInstance(): User_Controller {
498
- return User_Controller.getSingletonInstance();
499
- }
500
-
501
- private authService: AuthService = AuthService.getInstance();
502
-
503
- setupEndpoints(): void {
504
- this.endpoints = [
505
- new DyNTS_Endpoint_Params({
506
- name: 'getUser',
507
- type: DyFM_HttpCallType.get,
508
- endpoint: '/get/:userId',
509
- preProcesses: [this.authService.authenticate_tokenSelf],
510
- tasks: [
511
- async (req: Request, res: Response, issuer: string): Promise<void> => {
512
- const userService = new User_DataService({ issuer });
513
- await userService.getDataById(req.params.userId);
514
- res.send(userService.data);
515
- },
516
- ],
517
- }),
518
- new DyNTS_Endpoint_Params({
519
- name: 'updateUser',
520
- type: DyFM_HttpCallType.post,
521
- endpoint: '/update',
522
- preProcesses: [this.authService.authenticate_tokenSelf],
523
- tasks: [
524
- async (req: Request, res: Response, issuer: string): Promise<void> => {
525
- const userService = new User_DataService({ issuer });
526
- await userService.saveData(req.body);
527
- res.send(userService.data);
528
- },
529
- ],
530
- }),
531
- ];
532
- }
533
- }
534
- ```
535
-
536
- ### Data Service Implementation
537
-
538
- Data services provide a structured way to interact with MongoDB:
539
-
540
- ```typescript
541
- import { DyNTS_DataService } from '@futdevpro/nts-dynamo';
542
- import { DyFM_DataModel_Params } from '@futdevpro/fsm-dynamo'; // FSM provides the data model parameter definition
543
-
544
- // Define your data model parameters
545
- const userDataParams: DyFM_DataModel_Params<UserData> = new DyFM_DataModel_Params({
546
- dataName: 'userData',
547
- typeSample: {
548
- userId: '',
549
- preferences: {},
550
- },
551
- // ... additional configuration
552
- });
553
-
554
- export class User_DataService extends DyNTS_DataService<UserData> {
555
- constructor(params: { issuer: string }) {
556
- super(userDataParams);
557
- this.issuer = params.issuer;
558
- }
559
-
560
- // Custom business logic methods
561
- async getUserPreferences(userId: string): Promise<UserPreferences> {
562
- await this.getDataByDependencyId({ userId });
563
- return this.data?.preferences || {};
564
- }
565
- }
566
- ```
567
-
568
- ### Socket Server Service
569
-
570
- Socket services enable real-time communication:
571
-
572
- ```typescript
573
- import { DyNTS_SocketServerService, DyNTS_SocketPresence } from '@futdevpro/nts-dynamo/socket';
574
-
575
- export class Chat_SocketServerService extends DyNTS_SocketServerService<DyNTS_SocketPresence, any> {
576
-
577
- static getInstance(): Chat_SocketServerService {
578
- return Chat_SocketServerService.getSingletonInstance();
579
- }
580
-
581
- protected setupSocketEvents(): void {
582
- this.socketServer.on('connection', (socket) => {
583
- socket.on('joinRoom', (roomId: string) => {
584
- socket.join(roomId);
585
- });
586
-
587
- socket.on('sendMessage', async (data: { roomId: string; message: string }) => {
588
- this.socketServer.to(data.roomId).emit('newMessage', data);
589
- });
590
- });
591
- }
592
- }
593
- ```
594
-
595
- ### Vector Search with AI
596
-
597
- Dynamo-NTS provides built-in support for MongoDB Atlas vector search with automatic vectorization:
598
-
599
- ```typescript
600
- import { DyNTS_OAI_VectorDataService } from '@futdevpro/nts-dynamo/ai/open-ai';
601
-
602
- export class Knowledge_DataService extends DyNTS_OAI_VectorDataService<Knowledge> {
603
-
604
- constructor() {
605
- super(knowledgeDataParams);
606
- }
607
-
608
- async searchSimilarContent(query: string, limit: number = 10): Promise<Knowledge[]> {
609
- return await this.vectorSearch({
610
- input: query,
611
- searchInKey: 'content', // Property that has vectorization enabled
612
- limit: limit,
613
- numberOfCandidates: 100,
614
- });
615
- }
616
- }
617
- ```
618
-
619
- The vector search automatically:
620
- - Creates embeddings for search queries using the configured AI provider
621
- - Performs semantic search in MongoDB Atlas vector database
622
- - Returns results sorted by relevance
623
- - Supports filtering with additional MongoDB queries
624
-
625
- ## Ecosystem Integration
626
-
627
- Dynamo-NTS is part of the unified **Dynamo ecosystem**, which consists of several interconnected packages:
628
-
629
- ### Dynamo FSM (Full Stack Module)
630
-
631
- The foundational package [`@futdevpro/fsm-dynamo`](https://www.npmjs.com/package/@futdevpro/fsm-dynamo) that provides:
632
- - Core interfaces and types shared across the ecosystem
633
- - Base model definitions (used by all Dynamo-NTS data services)
634
- - Utility functions
635
- - Type definitions for system-wide use
636
- - Data model parameter definitions (`DyFM_DataModel_Params`)
637
-
638
- Dynamo-NTS is built on top of Dynamo FSM and implements the server-side components of the FSM architecture. All data models, interfaces, and type definitions used in Dynamo-NTS are provided by FSM, ensuring consistency and type safety across the entire ecosystem.
639
-
640
- ### Dynamo NGX (AngularX)
641
-
642
- The frontend counterpart [`@futdevpro/dynamo-ngx`](https://www.npmjs.com/package/@futdevpro/dynamo-ngx) provides:
643
- - Angular components and services
644
- - Frontend models that integrate with Dynamo-NTS backend (using shared FSM types)
645
- - Real-time communication clients (connects to Dynamo-NTS socket services)
646
- - Form management and data table components
647
-
648
- ### Unified Patterns
649
-
650
- The Dynamo ecosystem enforces consistent patterns across all packages:
651
-
652
- - **Naming Conventions**: Consistent prefixes (`DyNTS_` for backend, `DyNX_` for frontend, `DyFM_` for shared)
653
- - **Type Safety**: Full TypeScript support with shared type definitions
654
- - **Architecture Patterns**: Consistent service patterns, data models, and API structures
655
- - **Error Handling**: Unified error handling across the stack
656
- - **Logging**: Consistent logging patterns and utilities
657
-
658
- This unified approach ensures that:
659
- - Developers learn one set of patterns that apply everywhere
660
- - Frontend and backend code integrate seamlessly
661
- - Type safety is maintained across the entire stack
662
- - Maintenance and updates are simplified
663
-
664
- ## API Reference
665
-
666
- For detailed API documentation, see:
667
-
668
- - [Dynamo-NTS Documentation](documentations/specifications/dynamo-packages/dynamo-nts/dynamo-nts.md)
669
- - [Dynamo FSM Documentation](documentations/specifications/dynamo-packages/dynamo-fsm/dynamo-fsm.md)
670
- - [Dynamo Ecosystem Overview](documentations/specifications/dynamo-packages/dynamo_packages.md)
671
-
672
- ## License
673
-
674
- ISC
675
-
676
- ## Support
677
-
678
- For issues, questions, or contributions, please refer to the project repository.
1
+ # Dynamo-NTS
2
+
3
+ ![Dynamo-NTS Logo](src/_assets/dynamo-nts-logo-256.png)
4
+
5
+ **Dynamo-NTS** (NodeTS) is a comprehensive backend framework for building robust, secure, and scalable Node.js applications with TypeScript. Built on top of [Dynamo FSM](https://www.npmjs.com/package/@futdevpro/fsm-dynamo) (`@futdevpro/fsm-dynamo`), it provides a structured approach to server-side development with clear separation of concerns, extensive configuration options, and production-ready implementations for common backend tasks.
6
+
7
+ Dynamo-NTS uses **[Dynamo FSM](https://www.npmjs.com/package/@futdevpro/fsm-dynamo)** as its foundational layer, implementing the server-side components of the FSM architecture. All core interfaces, types, and utilities are provided by FSM, ensuring consistency and type safety across the entire Dynamo ecosystem.
8
+
9
+ Dynamo-NTS is part of the unified **Dynamo ecosystem**, a full-stack development framework designed to accelerate the development of scalable web applications. The ecosystem consists of interconnected packages that work together seamlessly, with Dynamo-NTS serving as the backend implementation layer. The frontend counterpart is **[Dynamo NGX](https://www.npmjs.com/package/@futdevpro/ngx-dynamo)**, which uses **[Dynamo NGX Models](https://www.npmjs.com/package/@futdevpro/ngx-dynamo-models)** for type-safe model definitions.
10
+
11
+ ### Design Philosophy
12
+
13
+ Dynamo-NTS is built with two key principles:
14
+
15
+ - **Full Override Capability**: Every component, service, and class can be overridden or extended. The framework provides a solid foundation with sensible defaults, but you have complete control to customize or replace any part to fit your specific needs. This makes Dynamo-NTS highly customizable and adaptable to any project requirements.
16
+
17
+ - **Complete Type Information**: All types, interfaces, and definitions are included in the compiled output. This ensures excellent readability and maintainability—everything you need is available at compile time through TypeScript's type system, providing full IntelliSense support and eliminating the need to reference external documentation during development.
18
+
19
+ ### Simplified System Definitions
20
+
21
+ Dynamo-NTS simplifies complex system definitions by abstracting common backend infrastructure into simple parameterization. Instead of manually configuring various libraries and services, you define your application through straightforward parameter objects:
22
+
23
+ - **Express Usage**: HTTP/HTTPS server setup, routing, middleware, and error handling are configured through `DyNTS_App_Params`, `DyNTS_Http_Settings`, and `DyNTS_RoutingModule` parameters (simplifies Express server initialization and route management)
24
+ - **MongoDB/Mongoose Usage**: Database connections, models, schemas, and operations are managed through `DyNTS_DBService` and `DyNTS_DataService` with simple data model parameter definitions (simplifies Mongoose schema creation and model management)
25
+ - **Socket.io Usage**: Real-time communication setup, event handling, and presence tracking are configured through `DyNTS_SocketServerService` parameters and the `DyNTS_AppExtended` class (simplifies Socket.io server initialization and event management)
26
+ - **Nodemailer Usage**: Email sending with templating, attachments, and async delivery is handled through `DyNTS_EmailService` with template component definitions (simplifies Nodemailer transporter setup and email template management)
27
+ - **OAuth2 Implementation**: Complete OAuth2.0 protocol flows including authorization codes, token exchange, and refresh tokens are managed through `DyNTS_OAuth2_Controller` and `DyNTS_OAuth2_AuthService` (simplifies complex OAuth2 flow implementation)
28
+ - **Axios Usage**: HTTP client requests to external APIs are standardized through `DyNTS_ApiService` with `DyNTS_ApiCall_Params` configuration (simplifies Axios request setup, error handling, and response management)
29
+ - **Discord.js / Slack / Teams Bot Development**: Platform-agnostic bot framework through `DyNTS_Bot_MessagingProvider_ServiceBase` and bot modules (simplifies Discord.js, Slack, and Teams bot development with unified interfaces)
30
+ - **OpenAI / AI Provider Integration**: AI/LLM operations including chat, embeddings, and vector search are abstracted through `DyNTS_AI_Provider_ServiceBase` and provider implementations (simplifies OpenAI SDK usage and enables multi-provider architecture)
31
+ - **Location Tracking**: IP-based geolocation through `geoip-lite` is integrated into the usage tracking module (simplifies location data collection from HTTP requests)
32
+
33
+ This parameterization approach eliminates boilerplate code and provides a consistent, type-safe interface for all backend operations. Instead of learning multiple library APIs and their configuration patterns, developers work with unified Dynamo-NTS parameter objects that handle the underlying complexity.
34
+
35
+ ## Table of Contents
36
+
37
+ - [Installation](#installation)
38
+ - [Quick Start](#quick-start)
39
+ - [Core Concepts](#core-concepts)
40
+ - [Modules Overview](#modules-overview)
41
+ - [Usage Examples](#usage-examples)
42
+ - [Ecosystem Integration](#ecosystem-integration)
43
+ - [API Reference](#api-reference)
44
+
45
+ ## Installation
46
+
47
+ Install Dynamo-NTS using pnpm (recommended) or npm:
48
+
49
+ ```bash
50
+ pnpm add @futdevpro/dynamo-nts
51
+ # or
52
+ npm install @futdevpro/dynamo-nts
53
+ ```
54
+
55
+ ### Peer Dependencies
56
+
57
+ Dynamo-NTS requires peer dependencies that are divided into two categories: core dependencies (required for the main module) and module-specific dependencies (required only when using specific modules).
58
+
59
+ #### Core Dependencies (Required)
60
+
61
+ These dependencies are required for the main Dynamo-NTS functionality:
62
+
63
+ - [`@futdevpro/fsm-dynamo`](https://www.npmjs.com/package/@futdevpro/fsm-dynamo) - The foundational package providing core interfaces and utilities (always required)
64
+ - `express` - Web framework for Node.js (simplified through Dynamo-NTS parameterization)
65
+ - `mongoose` - MongoDB object modeling (simplified through Dynamo-NTS data services)
66
+ - `axios` - HTTP client (simplified through Dynamo-NTS API service)
67
+ - `body-parser` - Request body parsing middleware
68
+ - `dotenv` - Environment variable management
69
+ - `rxjs` - Reactive programming library
70
+ - `@types/express` - TypeScript types for Express
71
+ - `@types/node` - TypeScript types for Node.js
72
+ - `ts-node` - TypeScript execution environment
73
+
74
+ Install core dependencies:
75
+
76
+ ```bash
77
+ pnpm add @futdevpro/fsm-dynamo express mongoose axios body-parser dotenv rxjs @types/express @types/node ts-node
78
+ ```
79
+
80
+ #### Module-Specific Dependencies (Optional)
81
+
82
+ These dependencies are only required when using specific modules:
83
+
84
+ - **Socket Module**: `socket.io` - Real-time communication (simplified through Dynamo-NTS socket services)
85
+ - **Email Service**: `nodemailer` - Email sending (simplified through Dynamo-NTS email services)
86
+ - **Usage Module**: `geoip-lite` and `@types/geoip-lite` - IP geolocation (simplified through Dynamo-NTS usage module)
87
+ - **Bot Module (Discord)**: `discord.js` - Discord bot development (simplified through Dynamo-NTS bot module)
88
+ - **AI Module (OpenAI)**: `openai` - OpenAI API integration (simplified through Dynamo-NTS AI module)
89
+
90
+ Install module-specific dependencies as needed:
91
+
92
+ ```bash
93
+ # For Socket module
94
+ pnpm add socket.io
95
+
96
+ # For Email service
97
+ pnpm add nodemailer
98
+
99
+ # For Usage module
100
+ pnpm add geoip-lite @types/geoip-lite
101
+
102
+ # For Bot module (Discord)
103
+ pnpm add discord.js
104
+
105
+ # For AI module (OpenAI)
106
+ pnpm add openai
107
+ ```
108
+
109
+ ## Quick Start
110
+
111
+ The following example demonstrates how to set up a basic Dynamo-NTS application with routing and socket support:
112
+
113
+ ```typescript
114
+ import {
115
+ DyNTS_AppExtended,
116
+ DyNTS_App_Params,
117
+ DyNTS_GlobalService_Settings,
118
+ DyNTS_Http_Settings,
119
+ DyNTS_RoutingModule
120
+ } from '@futdevpro/nts-dynamo';
121
+ import {
122
+ DyNTS_SocketServerService
123
+ } from '@futdevpro/nts-dynamo/socket';
124
+ import { DyFM_usageSession_dataParams } from '@futdevpro/fsm-dynamo/usage';
125
+ import { DyFM_customData_dataParams } from '@futdevpro/fsm-dynamo/custom-data';
126
+ import { DyNTS_getUsageRoutingModule } from '@futdevpro/nts-dynamo/usage';
127
+ import { DyNTS_getTestRoutingModule } from '@futdevpro/nts-dynamo/test';
128
+
129
+ import { AuthService } from './core-services/auth.service';
130
+ import { Email_ServiceCollection } from './core-services/email.service-collection';
131
+ import { User_Controller } from './routes/user/user.controller';
132
+ import { Chat_SocketServerService } from './socket-services/chat.socket-server-service';
133
+
134
+ export class App extends DyNTS_AppExtended {
135
+
136
+ getAppParams(): DyNTS_App_Params {
137
+ return new DyNTS_App_Params({
138
+ name: 'My Application',
139
+ version: '1.0.0',
140
+ dbName: 'myapp',
141
+ dbUri: process.env.MONGO_URL || 'mongodb://localhost:27017/myapp',
142
+ systemShortCodeName: 'MYAPP',
143
+ });
144
+ }
145
+
146
+ getGlobalServiceCollection(): DyNTS_GlobalService_Settings {
147
+ return {
148
+ authService: AuthService.getInstance(),
149
+ emailServiceCollection: Email_ServiceCollection.getInstance(),
150
+ dbModels: [
151
+ // Your data model parameters here
152
+ DyFM_usageSession_dataParams,
153
+ DyFM_customData_dataParams,
154
+ ],
155
+ };
156
+ }
157
+
158
+ getPortSettings(): DyNTS_Http_Settings {
159
+ return new DyNTS_Http_Settings({
160
+ httpPort: 3000,
161
+ });
162
+ }
163
+
164
+ getRoutingModules(): DyNTS_RoutingModule[] {
165
+ return [
166
+ new DyNTS_RoutingModule({
167
+ route: '/user',
168
+ controllers: [
169
+ User_Controller.getInstance(),
170
+ ],
171
+ }),
172
+ DyNTS_getTestRoutingModule(),
173
+ DyNTS_getUsageRoutingModule(),
174
+ ];
175
+ }
176
+
177
+ getSocketServices(): DyNTS_SocketServerService<any>[] {
178
+ return [
179
+ Chat_SocketServerService.getInstance(),
180
+ ];
181
+ }
182
+ }
183
+
184
+ // Start the application
185
+ const app = new App();
186
+ ```
187
+
188
+ ## Core Concepts
189
+
190
+ Dynamo-NTS uses [Dynamo FSM](https://www.npmjs.com/package/@futdevpro/fsm-dynamo) as its foundation, implementing all server-side components defined in the FSM architecture. All types, interfaces, and base models are provided by FSM, ensuring full type safety and consistency.
191
+
192
+ ### Extensibility and Customization
193
+
194
+ Dynamo-NTS is designed with extensibility in mind. Every component, service, and class can be overridden or extended to meet your specific requirements:
195
+
196
+ - **Service Override**: All services (authentication, email, data services, etc.) can be extended or completely replaced with custom implementations
197
+ - **Method Override**: Abstract methods in base classes allow you to customize behavior while maintaining the framework structure
198
+ - **Configuration Override**: Global settings, route security, and application parameters can be overridden at any level
199
+ - **Type Safety**: All overrides maintain full TypeScript type safety, with all types and interfaces available at compile time
200
+
201
+ This design philosophy ensures that Dynamo-NTS provides a solid foundation while remaining fully customizable for your specific use cases.
202
+
203
+ ### Complete Type Information
204
+
205
+ All types, interfaces, and definitions are included in the compiled output, ensuring excellent readability and maintainability. When you compile your project, you have access to:
206
+
207
+ - Complete type definitions for all services, models, and interfaces
208
+ - Full IntelliSense support in your IDE
209
+ - Compile-time type checking for all framework components
210
+ - Self-documenting code through TypeScript's type system
211
+
212
+ This approach eliminates the need to reference external documentation during development—everything you need is available in your IDE's autocomplete and type hints.
213
+
214
+ ### Application Classes
215
+
216
+ Dynamo-NTS provides two main application base classes that simplify Express server setup:
217
+
218
+ - **`DyNTS_App`**: Basic application class for standard HTTP server applications without real-time socket support
219
+ - **`DyNTS_AppExtended`**: Extended application class that includes built-in socket server capabilities for real-time communication (simplifies Socket.io setup)
220
+
221
+ Both classes abstract away Express server configuration, requiring you to implement several abstract methods with simple parameter objects:
222
+
223
+ - `getAppParams()`: Define application parameters (name, version, database name, etc.) - replaces Express app initialization
224
+ - `getGlobalServiceCollection()`: Configure global services (authentication, email, database models) - replaces manual service registration
225
+ - `getPortSettings()`: Configure HTTP/HTTPS ports - replaces Express server.listen() configuration
226
+ - `getRoutingModules()`: Define API routes and controllers - replaces Express router setup
227
+
228
+ ### Data Services
229
+
230
+ Data services provide a structured way to interact with MongoDB, simplifying Mongoose model and schema definitions:
231
+
232
+ - **`DyNTS_DBService<T>`**: Low-level MongoDB service for direct database operations (simplifies Mongoose model creation)
233
+ - **`DyNTS_DataService<T>`**: High-level data service with business logic, validation, and dependency management (simplifies MongoDB CRUD operations)
234
+ - **`DyNTS_ArchiveDataService<T>`**: Service for managing archived data in separate collections
235
+
236
+ Instead of manually creating Mongoose schemas and models, you define data models through `DyFM_DataModel_Params` (from FSM), and Dynamo-NTS handles schema generation, model creation, and connection management automatically. Data services handle CRUD operations, data validation, dependency tracking, and provide methods for searching, filtering, and managing data relationships.
237
+
238
+ ### Routing System
239
+
240
+ The routing system provides a structured approach to defining RESTful API endpoints, simplifying Express router configuration:
241
+
242
+ - **`DyNTS_RoutingModule`**: Groups related controllers under a common route path (replaces Express Router setup)
243
+ - **`DyNTS_Controller`**: Abstract base class for defining HTTP endpoints (simplifies Express route handlers)
244
+ - **`DyNTS_Endpoint_Params`**: Configuration for individual API endpoints (replaces Express route definitions)
245
+
246
+ Instead of manually setting up Express routers and route handlers, you define endpoints through parameter objects. Controllers define endpoints with support for:
247
+ - Multiple HTTP methods (GET, POST, PUT, PATCH, DELETE)
248
+ - Pre-processing middleware (authentication, validation)
249
+ - Task functions for handling requests
250
+ - Route security levels (open, secure, both)
251
+
252
+ ### Global Services
253
+
254
+ The `DyNTS_GlobalService` provides centralized access to:
255
+
256
+ - Authentication service
257
+ - Email service collection
258
+ - Database models registry
259
+ - Error handlers
260
+ - Socket server instances
261
+
262
+ ### Authentication
263
+
264
+ Dynamo-NTS provides an abstract `DyNTS_AuthService` class that you can extend to implement your authentication logic. The framework supports:
265
+
266
+ - Token-based authentication
267
+ - OAuth2 flows (via the OAuth2 module)
268
+ - Session management
269
+ - Route-level security configuration
270
+
271
+ ## Modules Overview
272
+
273
+ Dynamo-NTS is organized into focused modules, each providing specific functionality:
274
+
275
+ ### Main Module
276
+
277
+ The core foundation providing essential components:
278
+
279
+ - **Collections**: Archive utilities, global settings, environment configuration
280
+ - **Enums**: Data model types, service functions, route security levels
281
+ - **Models**: Application configuration interfaces, control models, database types
282
+ - **Services**: Core services for API communication, authentication, data management, routing
283
+
284
+ ### AI Module
285
+
286
+ Provides abstractions and implementations for AI operations:
287
+
288
+ - **Abstract Service Bases**: Base classes for AI providers, LLM services, LLM chat services, and embedding services
289
+ - **OpenAI Implementation**: Complete OpenAI integration with LLM, chat, and embedding support
290
+ - **Document AI**: Document chunking and preprocessing for AI models
291
+ - **Vector Search**: MongoDB Atlas vector database operations with automatic data vectorization
292
+
293
+ #### OpenAI-Compatible Providers
294
+
295
+ The OAI service-ek (`DyNTS_OAI_LLM_ServiceBase`, `DyNTS_OAI_LLMChat_ServiceBase`, `DyNTS_OAI_Embedding_ControlService`) bármely OpenAI-API-kompatibilis endpoint-tal működnek — lokál LLM (LM Studio, Ollama), self-hosted (vLLM, LocalAI) is — a `DyFM_OAI_ClientOptions.baseURL` mező segítségével. Részletek + provider-konfig sample-ök: [`__documentations/2026-05-17-oai-compatible-providers.md`](__documentations/2026-05-17-oai-compatible-providers.md).
296
+
297
+ ### Assistant Module
298
+
299
+ Platform and AI provider agnostic solutions for creating intelligent assistants:
300
+
301
+ - Integrates communication providers (bot) with AI providers (LLM Chat)
302
+ - Message conversion utilities
303
+ - Conversation management
304
+ - Configurable settings for system prompts and message filtering
305
+
306
+ ### Bot Module
307
+
308
+ Platform-agnostic bot functionality:
309
+
310
+ - Message, channel, and user wrappers for any messaging platform
311
+ - Command system for bot commands
312
+ - Routine system for scheduled and event-driven tasks
313
+ - IO management for bot interactions
314
+ - Provider support for Discord, Slack, and Teams
315
+
316
+ ### Socket Module
317
+
318
+ Real-time communication capabilities that simplify Socket.io setup:
319
+
320
+ - Socket client and server implementations with secure and open connection options (simplifies Socket.io server initialization)
321
+ - Event handling system for managing real-time communications (replaces manual Socket.io event handler setup)
322
+ - Presence tracking for monitoring connected clients
323
+ - Error handling and logging for reliable operation
324
+ - Extended application class with built-in socket server capabilities (automatically configures Socket.io with Express server)
325
+
326
+ ### Messaging Module
327
+
328
+ Backend implementation for unified messaging system:
329
+
330
+ - Data services for messages and conversations
331
+ - Control services for business logic orchestration
332
+ - Real-time socket events
333
+ - RESTful HTTP endpoints
334
+ - Integration with bot and assistant modules
335
+
336
+ ### OAuth2 Module
337
+
338
+ Complete OAuth2.0 protocol implementation:
339
+
340
+ - OAuth2 authorization and token management
341
+ - Client management and user authentication
342
+ - Token exchange and refresh operations
343
+ - Authorization code and access token generation
344
+
345
+ ### Server Module
346
+
347
+ Solutions for basic server endpoints:
348
+
349
+ - Error handling for saving and retrieving server errors
350
+ - Server status monitoring with version and uptime information
351
+ - Server status snapshots for saving and retrieving status at specific times
352
+ - Error statistics for monitoring and analysis
353
+
354
+ ### Defaults Module
355
+
356
+ Default implementations for common services:
357
+
358
+ - Default user data model and service for authentication and user management
359
+ - Default authentication service with basic token-based authentication
360
+ - Default socket events service with graceful degradation
361
+ - All services can be extended or replaced with custom implementations
362
+
363
+ ### Custom Data Module
364
+
365
+ Tools for managing custom data:
366
+
367
+ - Data service for handling custom data operations with optional initialization
368
+ - Controller with RESTful endpoints for data operations
369
+ - GET endpoint for retrieving custom data by ID
370
+ - POST endpoint for modifying custom data
371
+ - Configurable routing module with optional security overrides
372
+
373
+ ### Test Module
374
+
375
+ Testing and monitoring tools:
376
+
377
+ - Test endpoints for different HTTP methods (GET, POST, DELETE)
378
+ - Server status endpoint with version and uptime information
379
+ - Configurable routing module with security override options
380
+ - Automatic controller registration for easy setup
381
+
382
+ ### Usage Module
383
+
384
+ Session and usage tracking tools:
385
+
386
+ - Session management tools for creating, updating, and closing sessions
387
+ - Usage data collection and analysis tools
388
+ - Location tracking from HTTP requests
389
+ - Usage statistics retrieval with time range filtering
390
+ - Daily usage statistics calculation
391
+
392
+ ## Usage Examples
393
+
394
+ ### Basic Application Setup
395
+
396
+ This example shows a complete application setup using `DyNTS_AppExtended`:
397
+
398
+ ```typescript
399
+ import {
400
+ DyNTS_AppExtended,
401
+ DyNTS_App_Params,
402
+ DyNTS_GlobalService_Settings,
403
+ DyNTS_Http_Settings,
404
+ DyNTS_RoutingModule
405
+ } from '@futdevpro/nts-dynamo';
406
+ import { DyNTS_SocketServerService } from '@futdevpro/nts-dynamo/socket';
407
+
408
+ export class App extends DyNTS_AppExtended {
409
+
410
+ getAppParams(): DyNTS_App_Params {
411
+ return new DyNTS_App_Params({
412
+ name: 'My Server',
413
+ version: '1.0.0',
414
+ dbName: 'myapp',
415
+ });
416
+ }
417
+
418
+ getGlobalServiceCollection(): DyNTS_GlobalService_Settings {
419
+ return {
420
+ authService: AuthService.getInstance(),
421
+ dbModels: [
422
+ // Your data models
423
+ ],
424
+ };
425
+ }
426
+
427
+ getPortSettings(): DyNTS_Http_Settings {
428
+ return new DyNTS_Http_Settings({
429
+ httpPort: 3000,
430
+ });
431
+ }
432
+
433
+ getRoutingModules(): DyNTS_RoutingModule[] {
434
+ return [
435
+ new DyNTS_RoutingModule({
436
+ route: '/api',
437
+ controllers: [
438
+ MyController.getInstance(),
439
+ ],
440
+ }),
441
+ ];
442
+ }
443
+
444
+ getSocketServices(): DyNTS_SocketServerService<any>[] {
445
+ return [
446
+ MySocketService.getInstance(),
447
+ ];
448
+ }
449
+ }
450
+ ```
451
+
452
+ ### Routing Module Configuration
453
+
454
+ Multiple routing modules can be configured to organize your API:
455
+
456
+ ```typescript
457
+ getRoutingModules(): DyNTS_RoutingModule[] {
458
+ return [
459
+ new DyNTS_RoutingModule({
460
+ route: '/user',
461
+ controllers: [
462
+ User_Controller.getInstance(),
463
+ UserData_Controller.getInstance(),
464
+ UserSettings_Controller.getInstance(),
465
+ ],
466
+ }),
467
+ new DyNTS_RoutingModule({
468
+ route: '/project',
469
+ controllers: [
470
+ Project_Controller.getInstance(),
471
+ ProjectExtension_Controller.getInstance(),
472
+ ],
473
+ }),
474
+ new DyNTS_RoutingModule({
475
+ route: '/server',
476
+ controllers: [
477
+ ServerStatus_Controller.getInstance(),
478
+ ],
479
+ }),
480
+ DyNTS_getTestRoutingModule(),
481
+ DyNTS_getUsageRoutingModule(),
482
+ ];
483
+ }
484
+ ```
485
+
486
+ ### Controller Implementation
487
+
488
+ Controllers define API endpoints with authentication and business logic:
489
+
490
+ ```typescript
491
+ import { Request, Response } from 'express';
492
+ import { DyNTS_Controller, DyNTS_Endpoint_Params } from '@futdevpro/nts-dynamo';
493
+ import { DyFM_HttpCallType } from '@futdevpro/fsm-dynamo';
494
+
495
+ export class User_Controller extends DyNTS_Controller {
496
+
497
+ static getInstance(): User_Controller {
498
+ return User_Controller.getSingletonInstance();
499
+ }
500
+
501
+ private authService: AuthService = AuthService.getInstance();
502
+
503
+ setupEndpoints(): void {
504
+ this.endpoints = [
505
+ new DyNTS_Endpoint_Params({
506
+ name: 'getUser',
507
+ type: DyFM_HttpCallType.get,
508
+ endpoint: '/get/:userId',
509
+ preProcesses: [this.authService.authenticate_tokenSelf],
510
+ tasks: [
511
+ async (req: Request, res: Response, issuer: string): Promise<void> => {
512
+ const userService = new User_DataService({ issuer });
513
+ await userService.getDataById(req.params.userId);
514
+ res.send(userService.data);
515
+ },
516
+ ],
517
+ }),
518
+ new DyNTS_Endpoint_Params({
519
+ name: 'updateUser',
520
+ type: DyFM_HttpCallType.post,
521
+ endpoint: '/update',
522
+ preProcesses: [this.authService.authenticate_tokenSelf],
523
+ tasks: [
524
+ async (req: Request, res: Response, issuer: string): Promise<void> => {
525
+ const userService = new User_DataService({ issuer });
526
+ await userService.saveData(req.body);
527
+ res.send(userService.data);
528
+ },
529
+ ],
530
+ }),
531
+ ];
532
+ }
533
+ }
534
+ ```
535
+
536
+ ### Data Service Implementation
537
+
538
+ Data services provide a structured way to interact with MongoDB:
539
+
540
+ ```typescript
541
+ import { DyNTS_DataService } from '@futdevpro/nts-dynamo';
542
+ import { DyFM_DataModel_Params } from '@futdevpro/fsm-dynamo'; // FSM provides the data model parameter definition
543
+
544
+ // Define your data model parameters
545
+ const userDataParams: DyFM_DataModel_Params<UserData> = new DyFM_DataModel_Params({
546
+ dataName: 'userData',
547
+ typeSample: {
548
+ userId: '',
549
+ preferences: {},
550
+ },
551
+ // ... additional configuration
552
+ });
553
+
554
+ export class User_DataService extends DyNTS_DataService<UserData> {
555
+ constructor(params: { issuer: string }) {
556
+ super(userDataParams);
557
+ this.issuer = params.issuer;
558
+ }
559
+
560
+ // Custom business logic methods
561
+ async getUserPreferences(userId: string): Promise<UserPreferences> {
562
+ await this.getDataByDependencyId({ userId });
563
+ return this.data?.preferences || {};
564
+ }
565
+ }
566
+ ```
567
+
568
+ ### Socket Server Service
569
+
570
+ Socket services enable real-time communication:
571
+
572
+ ```typescript
573
+ import { DyNTS_SocketServerService, DyNTS_SocketPresence } from '@futdevpro/nts-dynamo/socket';
574
+
575
+ export class Chat_SocketServerService extends DyNTS_SocketServerService<DyNTS_SocketPresence, any> {
576
+
577
+ static getInstance(): Chat_SocketServerService {
578
+ return Chat_SocketServerService.getSingletonInstance();
579
+ }
580
+
581
+ protected setupSocketEvents(): void {
582
+ this.socketServer.on('connection', (socket) => {
583
+ socket.on('joinRoom', (roomId: string) => {
584
+ socket.join(roomId);
585
+ });
586
+
587
+ socket.on('sendMessage', async (data: { roomId: string; message: string }) => {
588
+ this.socketServer.to(data.roomId).emit('newMessage', data);
589
+ });
590
+ });
591
+ }
592
+ }
593
+ ```
594
+
595
+ ### Vector Search with AI
596
+
597
+ Dynamo-NTS provides built-in support for MongoDB Atlas vector search with automatic vectorization:
598
+
599
+ ```typescript
600
+ import { DyNTS_OAI_VectorDataService } from '@futdevpro/nts-dynamo/ai/open-ai';
601
+
602
+ export class Knowledge_DataService extends DyNTS_OAI_VectorDataService<Knowledge> {
603
+
604
+ constructor() {
605
+ super(knowledgeDataParams);
606
+ }
607
+
608
+ async searchSimilarContent(query: string, limit: number = 10): Promise<Knowledge[]> {
609
+ return await this.vectorSearch({
610
+ input: query,
611
+ searchInKey: 'content', // Property that has vectorization enabled
612
+ limit: limit,
613
+ numberOfCandidates: 100,
614
+ });
615
+ }
616
+ }
617
+ ```
618
+
619
+ The vector search automatically:
620
+ - Creates embeddings for search queries using the configured AI provider
621
+ - Performs semantic search in MongoDB Atlas vector database
622
+ - Returns results sorted by relevance
623
+ - Supports filtering with additional MongoDB queries
624
+
625
+ ## Ecosystem Integration
626
+
627
+ Dynamo-NTS is part of the unified **Dynamo ecosystem**, which consists of several interconnected packages:
628
+
629
+ ### Dynamo FSM (Full Stack Module)
630
+
631
+ The foundational package [`@futdevpro/fsm-dynamo`](https://www.npmjs.com/package/@futdevpro/fsm-dynamo) that provides:
632
+ - Core interfaces and types shared across the ecosystem
633
+ - Base model definitions (used by all Dynamo-NTS data services)
634
+ - Utility functions
635
+ - Type definitions for system-wide use
636
+ - Data model parameter definitions (`DyFM_DataModel_Params`)
637
+
638
+ Dynamo-NTS is built on top of Dynamo FSM and implements the server-side components of the FSM architecture. All data models, interfaces, and type definitions used in Dynamo-NTS are provided by FSM, ensuring consistency and type safety across the entire ecosystem.
639
+
640
+ ### Dynamo NGX (AngularX)
641
+
642
+ The frontend counterpart [`@futdevpro/dynamo-ngx`](https://www.npmjs.com/package/@futdevpro/dynamo-ngx) provides:
643
+ - Angular components and services
644
+ - Frontend models that integrate with Dynamo-NTS backend (using shared FSM types)
645
+ - Real-time communication clients (connects to Dynamo-NTS socket services)
646
+ - Form management and data table components
647
+
648
+ ### Unified Patterns
649
+
650
+ The Dynamo ecosystem enforces consistent patterns across all packages:
651
+
652
+ - **Naming Conventions**: Consistent prefixes (`DyNTS_` for backend, `DyNX_` for frontend, `DyFM_` for shared)
653
+ - **Type Safety**: Full TypeScript support with shared type definitions
654
+ - **Architecture Patterns**: Consistent service patterns, data models, and API structures
655
+ - **Error Handling**: Unified error handling across the stack
656
+ - **Logging**: Consistent logging patterns and utilities
657
+
658
+ This unified approach ensures that:
659
+ - Developers learn one set of patterns that apply everywhere
660
+ - Frontend and backend code integrate seamlessly
661
+ - Type safety is maintained across the entire stack
662
+ - Maintenance and updates are simplified
663
+
664
+ ## API Reference
665
+
666
+ For detailed API documentation, see:
667
+
668
+ - [Dynamo-NTS Documentation](documentations/specifications/dynamo-packages/dynamo-nts/dynamo-nts.md)
669
+ - [Dynamo FSM Documentation](documentations/specifications/dynamo-packages/dynamo-fsm/dynamo-fsm.md)
670
+ - [Dynamo Ecosystem Overview](documentations/specifications/dynamo-packages/dynamo_packages.md)
671
+
672
+ ## License
673
+
674
+ ISC
675
+
676
+ ## Support
677
+
678
+ For issues, questions, or contributions, please refer to the project repository.