@futdevpro/nts-dynamo 1.15.68 → 1.15.71

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 (928) 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/logs/cicd-pipeline/output.log +2782 -0
  26. package/.dynamo/logs/cicd-pipeline/status.json +94 -0
  27. package/.dynamo/pipeline.cicd.config.json +180 -180
  28. package/.dynamo/version-bump.config.json +5 -5
  29. package/.github/workflows/main.yml +438 -438
  30. package/.husky/pre-commit +3 -3
  31. package/.vscode/settings.json +10 -10
  32. package/HOWTO.md +15 -15
  33. package/LICENSE +21 -21
  34. package/README.md +678 -678
  35. package/__documentations/2026-04-28-logs-module.md +49 -49
  36. package/__documentations/2026-05-17-oai-compatible-providers.md +229 -229
  37. package/__documentations/2026-05-17-static-client-serving-howto.md +144 -144
  38. package/__documentations/2026-06-01-fr041-cors-middleware.md +96 -96
  39. package/__documentations/2026-06-01-fr047-p2p3-function-calling.md +81 -81
  40. package/__documentations/2026-06-15-fr193-memory-guard.md +73 -73
  41. package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
  42. package/_specifications/BACKLOG.md +92 -92
  43. package/_specifications/TODO.md +15 -15
  44. package/_specifications/agent.md +138 -138
  45. package/build/_collections/archive.util.d.ts +12 -12
  46. package/build/_collections/archive.util.js +18 -18
  47. package/build/_collections/atlas-default-db-options.const.d.ts +2 -2
  48. package/build/_collections/atlas-default-db-options.const.js +9 -9
  49. package/build/_collections/default-fallback-cache-max-age.const.d.ts +2 -2
  50. package/build/_collections/default-fallback-cache-max-age.const.js +5 -5
  51. package/build/_collections/default-not-found-page.const.d.ts +5 -5
  52. package/build/_collections/default-not-found-page.const.js +24 -24
  53. package/build/_collections/default-socket-path.const.d.ts +2 -2
  54. package/build/_collections/default-socket-path.const.js +5 -5
  55. package/build/_collections/get-environment-settings.util.d.ts +2 -2
  56. package/build/_collections/get-environment-settings.util.js +43 -43
  57. package/build/_collections/global-settings.const.d.ts +6 -6
  58. package/build/_collections/global-settings.const.js +69 -69
  59. package/build/_collections/mongo-reconnect-guard.util.d.ts +73 -73
  60. package/build/_collections/mongo-reconnect-guard.util.js +110 -110
  61. package/build/_collections/star.controller.d.ts +7 -7
  62. package/build/_collections/star.controller.js +97 -97
  63. package/build/_enums/data-model-type.enum.d.ts +13 -13
  64. package/build/_enums/data-model-type.enum.js +17 -17
  65. package/build/_enums/data-service-function.enum.d.ts +18 -18
  66. package/build/_enums/data-service-function.enum.js +24 -24
  67. package/build/_enums/predefined-data-types.enum.d.ts +15 -15
  68. package/build/_enums/predefined-data-types.enum.js +19 -19
  69. package/build/_enums/route-security.enum.d.ts +11 -11
  70. package/build/_enums/route-security.enum.js +15 -15
  71. package/build/_models/control-models/api-call-params.control-model.d.ts +79 -79
  72. package/build/_models/control-models/api-call-params.control-model.js +101 -101
  73. package/build/_models/control-models/app-ext-system-controls.control-model.d.ts +6 -6
  74. package/build/_models/control-models/app-ext-system-controls.control-model.js +10 -10
  75. package/build/_models/control-models/app-params.control-model.d.ts +51 -51
  76. package/build/_models/control-models/app-params.control-model.js +119 -119
  77. package/build/_models/control-models/app-system-controls.control-model.d.ts +7 -7
  78. package/build/_models/control-models/app-system-controls.control-model.js +11 -11
  79. package/build/_models/control-models/endpoint-params.control-model.d.ts +114 -114
  80. package/build/_models/control-models/endpoint-params.control-model.js +442 -442
  81. package/build/_models/control-models/http-settings.control-model.d.ts +17 -17
  82. package/build/_models/control-models/http-settings.control-model.js +34 -34
  83. package/build/_models/control-models/system-control.control-model.d.ts +5 -5
  84. package/build/_models/control-models/system-control.control-model.js +11 -11
  85. package/build/_models/interfaces/certification-settings.interface.d.ts +5 -5
  86. package/build/_models/interfaces/certification-settings.interface.js +2 -2
  87. package/build/_models/interfaces/compare-data-options.interface.d.ts +26 -26
  88. package/build/_models/interfaces/compare-data-options.interface.js +2 -2
  89. package/build/_models/interfaces/compare-data-result.interface.d.ts +12 -12
  90. package/build/_models/interfaces/compare-data-result.interface.js +2 -2
  91. package/build/_models/interfaces/cors-settings.interface.d.ts +51 -51
  92. package/build/_models/interfaces/cors-settings.interface.js +2 -2
  93. package/build/_models/interfaces/environment-settings.interface.d.ts +34 -34
  94. package/build/_models/interfaces/environment-settings.interface.js +2 -2
  95. package/build/_models/interfaces/global-log-settings.interface.d.ts +145 -145
  96. package/build/_models/interfaces/global-log-settings.interface.js +2 -2
  97. package/build/_models/interfaces/global-service-settings.interface.d.ts +30 -30
  98. package/build/_models/interfaces/global-service-settings.interface.js +2 -2
  99. package/build/_models/interfaces/global-settings.interface.d.ts +161 -161
  100. package/build/_models/interfaces/global-settings.interface.js +2 -2
  101. package/build/_models/interfaces/routing-module-settings.interface.d.ts +19 -19
  102. package/build/_models/interfaces/routing-module-settings.interface.js +2 -2
  103. package/build/_models/interfaces/static-client-settings.interface.d.ts +28 -28
  104. package/build/_models/interfaces/static-client-settings.interface.js +2 -2
  105. package/build/_models/types/db-update.type.d.ts +129 -129
  106. package/build/_models/types/db-update.type.js +2 -2
  107. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.d.ts +31 -31
  108. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.js +2 -2
  109. package/build/_modules/admin-auth/admin-api-key.auth-service.d.ts +89 -89
  110. package/build/_modules/admin-auth/admin-api-key.auth-service.js +194 -194
  111. package/build/_modules/admin-auth/index.d.ts +2 -2
  112. package/build/_modules/admin-auth/index.js +5 -5
  113. package/build/_modules/ai/_models/ai-input-interfaces.d.ts +53 -53
  114. package/build/_modules/ai/_models/ai-input-interfaces.js +5 -5
  115. package/build/_modules/ai/_models/ai-test-generation-result.interface.d.ts +16 -16
  116. package/build/_modules/ai/_models/ai-test-generation-result.interface.js +2 -2
  117. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts +13 -13
  118. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js +2 -2
  119. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts +49 -49
  120. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js +2 -2
  121. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.d.ts +35 -35
  122. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.js +117 -117
  123. package/build/_modules/ai/_modules/anthropic/index.d.ts +2 -2
  124. package/build/_modules/ai/_modules/anthropic/index.js +7 -7
  125. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.d.ts +84 -84
  126. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.js +467 -467
  127. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.d.ts +109 -109
  128. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.js +418 -418
  129. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.d.ts +28 -28
  130. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.js +73 -73
  131. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.d.ts +6 -6
  132. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.js +10 -10
  133. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.d.ts +51 -51
  134. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.js +132 -132
  135. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.d.ts +47 -47
  136. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.js +136 -136
  137. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.d.ts +17 -17
  138. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.js +76 -76
  139. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.d.ts +49 -49
  140. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.js +2 -2
  141. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.d.ts +8 -8
  142. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.js +2 -2
  143. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.d.ts +11 -11
  144. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.js +2 -2
  145. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.d.ts +12 -12
  146. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.js +2 -2
  147. package/build/_modules/ai/_modules/document-ai/index.d.ts +12 -12
  148. package/build/_modules/ai/_modules/document-ai/index.js +27 -27
  149. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.d.ts +34 -34
  150. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.js +128 -128
  151. package/build/_modules/ai/_modules/fdp-ai/index.d.ts +2 -2
  152. package/build/_modules/ai/_modules/fdp-ai/index.js +7 -7
  153. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.d.ts +2 -2
  154. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.js +8 -8
  155. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.d.ts +2 -2
  156. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.js +74 -74
  157. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.d.ts +2 -2
  158. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.js +67 -67
  159. package/build/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.js +42 -42
  160. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.d.ts +5 -5
  161. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.js +2 -2
  162. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.js +6 -6
  163. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.d.ts +51 -51
  164. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.js +2 -2
  165. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.d.ts +21 -21
  166. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.js +187 -187
  167. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.d.ts +26 -26
  168. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.js +278 -278
  169. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.d.ts +22 -22
  170. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.js +322 -322
  171. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.d.ts +119 -119
  172. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.js +480 -480
  173. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts +25 -25
  174. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js +103 -103
  175. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +169 -169
  176. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +479 -479
  177. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +201 -201
  178. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +579 -579
  179. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.d.ts +39 -39
  180. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.js +110 -110
  181. package/build/_modules/ai/_modules/open-ai/index.d.ts +14 -14
  182. package/build/_modules/ai/_modules/open-ai/index.js +55 -55
  183. package/build/_modules/ai/_services/ai-embedding-mock.service.d.ts +80 -80
  184. package/build/_modules/ai/_services/ai-embedding-mock.service.js +166 -166
  185. package/build/_modules/ai/_services/ai-embedding-provider.registry.d.ts +51 -51
  186. package/build/_modules/ai/_services/ai-embedding-provider.registry.js +78 -78
  187. package/build/_modules/ai/_services/ai-embedding.service-base.d.ts +41 -41
  188. package/build/_modules/ai/_services/ai-embedding.service-base.js +11 -11
  189. package/build/_modules/ai/_services/ai-llm-chat.service-base.d.ts +39 -39
  190. package/build/_modules/ai/_services/ai-llm-chat.service-base.js +11 -11
  191. package/build/_modules/ai/_services/ai-llm.service-base.d.ts +132 -132
  192. package/build/_modules/ai/_services/ai-llm.service-base.js +313 -313
  193. package/build/_modules/ai/_services/ai-provider.service-base.d.ts +46 -46
  194. package/build/_modules/ai/_services/ai-provider.service-base.js +43 -43
  195. package/build/_modules/ai/_services/ai-user-key.service-base.d.ts +44 -44
  196. package/build/_modules/ai/_services/ai-user-key.service-base.js +14 -14
  197. package/build/_modules/ai/_services/lmstudio-embedding.control-service.d.ts +110 -110
  198. package/build/_modules/ai/_services/lmstudio-embedding.control-service.js +297 -297
  199. package/build/_modules/ai/index.d.ts +13 -13
  200. package/build/_modules/ai/index.js +22 -22
  201. package/build/_modules/assistant/_collections/ass-global-settings.const.d.ts +2 -2
  202. package/build/_modules/assistant/_collections/ass-global-settings.const.js +14 -14
  203. package/build/_modules/assistant/_collections/ass.util.d.ts +15 -15
  204. package/build/_modules/assistant/_collections/ass.util.js +42 -42
  205. package/build/_modules/assistant/_models/ass-global-settings.interface.d.ts +13 -13
  206. package/build/_modules/assistant/_models/ass-global-settings.interface.js +2 -2
  207. package/build/_modules/assistant/_services/ass-io.control-service.d.ts +19 -19
  208. package/build/_modules/assistant/_services/ass-io.control-service.js +57 -57
  209. package/build/_modules/assistant/_services/ass-main.control-service.d.ts +32 -32
  210. package/build/_modules/assistant/_services/ass-main.control-service.js +65 -65
  211. package/build/_modules/assistant/index.d.ts +6 -6
  212. package/build/_modules/assistant/index.js +18 -18
  213. package/build/_modules/bot/_collections/bot-default-commands.const.d.ts +2 -2
  214. package/build/_modules/bot/_collections/bot-default-commands.const.js +13 -13
  215. package/build/_modules/bot/_collections/bot-global-settings.const.d.ts +2 -2
  216. package/build/_modules/bot/_collections/bot-global-settings.const.js +31 -31
  217. package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts +25 -25
  218. package/build/_modules/bot/_models/bot-channel-wrapper.interface.js +38 -38
  219. package/build/_modules/bot/_models/bot-command.interface.d.ts +7 -7
  220. package/build/_modules/bot/_models/bot-command.interface.js +2 -2
  221. package/build/_modules/bot/_models/bot-global-settings.interface.d.ts +85 -85
  222. package/build/_modules/bot/_models/bot-global-settings.interface.js +2 -2
  223. package/build/_modules/bot/_models/bot-last-mention-date.interface.d.ts +6 -6
  224. package/build/_modules/bot/_models/bot-last-mention-date.interface.js +2 -2
  225. package/build/_modules/bot/_models/bot-last-message-date.interface.d.ts +5 -5
  226. package/build/_modules/bot/_models/bot-last-message-date.interface.js +2 -2
  227. package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts +37 -37
  228. package/build/_modules/bot/_models/bot-message-wrapper.interface.js +54 -54
  229. package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts +23 -23
  230. package/build/_modules/bot/_models/bot-user-wrapper.interface.js +28 -28
  231. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.js +10 -10
  232. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts +69 -69
  233. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +497 -497
  234. package/build/_modules/bot/_modules/discord-bot/index.d.ts +1 -1
  235. package/build/_modules/bot/_modules/discord-bot/index.js +12 -12
  236. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts +16 -16
  237. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.js +42 -42
  238. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.d.ts +9 -9
  239. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.js +2 -2
  240. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts +59 -59
  241. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js +349 -349
  242. package/build/_modules/bot/_modules/dynamo-bot/index.d.ts +3 -3
  243. package/build/_modules/bot/_modules/dynamo-bot/index.js +15 -15
  244. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.d.ts +6 -6
  245. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.js +2 -2
  246. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts +56 -56
  247. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js +137 -137
  248. package/build/_modules/bot/_modules/slack-bot/index.d.ts +2 -2
  249. package/build/_modules/bot/_modules/slack-bot/index.js +12 -12
  250. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.d.ts +6 -6
  251. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.js +2 -2
  252. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts +56 -56
  253. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js +137 -137
  254. package/build/_modules/bot/_modules/teams-bot/index.d.ts +2 -2
  255. package/build/_modules/bot/_modules/teams-bot/index.js +12 -12
  256. package/build/_modules/bot/_services/bot-commands.control-service.d.ts +12 -12
  257. package/build/_modules/bot/_services/bot-commands.control-service.js +117 -117
  258. package/build/_modules/bot/_services/bot-io.control-service.d.ts +23 -23
  259. package/build/_modules/bot/_services/bot-io.control-service.js +226 -226
  260. package/build/_modules/bot/_services/bot-main.control-service.d.ts +35 -35
  261. package/build/_modules/bot/_services/bot-main.control-service.js +195 -195
  262. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts +71 -71
  263. package/build/_modules/bot/_services/bot-messaging-provider.service-base.js +15 -15
  264. package/build/_modules/bot/_services/bot-routines.control-service.d.ts +13 -13
  265. package/build/_modules/bot/_services/bot-routines.control-service.js +59 -59
  266. package/build/_modules/bot/index.d.ts +17 -17
  267. package/build/_modules/bot/index.js +36 -36
  268. package/build/_modules/custom-data/custom-data.controller.d.ts +5 -5
  269. package/build/_modules/custom-data/custom-data.controller.js +56 -56
  270. package/build/_modules/custom-data/custom-data.data-service.d.ts +5 -5
  271. package/build/_modules/custom-data/custom-data.data-service.js +11 -11
  272. package/build/_modules/custom-data/get-custom-data-routing-module.util.d.ts +3 -3
  273. package/build/_modules/custom-data/get-custom-data-routing-module.util.js +16 -16
  274. package/build/_modules/custom-data/index.d.ts +4 -4
  275. package/build/_modules/custom-data/index.js +9 -9
  276. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.d.ts +58 -58
  277. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.js +168 -168
  278. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.d.ts +31 -31
  279. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.js +7 -7
  280. package/build/_modules/data-readers/index.d.ts +2 -2
  281. package/build/_modules/data-readers/index.js +10 -10
  282. package/build/_modules/defaults/_collections/default-endpoints.util.d.ts +248 -248
  283. package/build/_modules/defaults/_collections/default-endpoints.util.js +386 -386
  284. package/build/_modules/defaults/_models/default-user.data-model.d.ts +19 -19
  285. package/build/_modules/defaults/_models/default-user.data-model.js +72 -72
  286. package/build/_modules/defaults/_services/default-auth.service.d.ts +50 -50
  287. package/build/_modules/defaults/_services/default-auth.service.js +158 -158
  288. package/build/_modules/defaults/_services/default-socket-events.service.d.ts +23 -23
  289. package/build/_modules/defaults/_services/default-socket-events.service.js +60 -60
  290. package/build/_modules/defaults/_services/default-user.data-service.d.ts +24 -24
  291. package/build/_modules/defaults/_services/default-user.data-service.js +87 -87
  292. package/build/_modules/defaults/index.d.ts +5 -5
  293. package/build/_modules/defaults/index.js +17 -17
  294. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.d.ts +2 -2
  295. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.js +16 -16
  296. package/build/_modules/discord-assistant/_collections/dias.util.d.ts +31 -31
  297. package/build/_modules/discord-assistant/_collections/dias.util.js +85 -85
  298. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.d.ts +17 -17
  299. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.js +2 -2
  300. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.d.ts +8 -8
  301. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.js +46 -46
  302. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts +17 -17
  303. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js +123 -123
  304. package/build/_modules/discord-assistant/_services/dias-io.control-service.d.ts +10 -10
  305. package/build/_modules/discord-assistant/_services/dias-io.control-service.js +49 -49
  306. package/build/_modules/discord-assistant/_services/dias-main.control-service.d.ts +3 -3
  307. package/build/_modules/discord-assistant/_services/dias-main.control-service.js +7 -7
  308. package/build/_modules/discord-assistant/_services/dias.service-base.d.ts +18 -18
  309. package/build/_modules/discord-assistant/_services/dias.service-base.js +46 -46
  310. package/build/_modules/discord-assistant/index.d.ts +11 -11
  311. package/build/_modules/discord-assistant/index.js +24 -24
  312. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.d.ts +3 -3
  313. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.js +7 -7
  314. package/build/_modules/discord-assistant-voiced/index.d.ts +2 -2
  315. package/build/_modules/discord-assistant-voiced/index.js +28 -28
  316. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.d.ts +2 -2
  317. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.js +12 -12
  318. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.d.ts +2 -2
  319. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js +43 -43
  320. package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts +22 -22
  321. package/build/_modules/discord-bot/_collections/dibo-operations.util.js +275 -275
  322. package/build/_modules/discord-bot/_models/dibo-command.interface.d.ts +7 -7
  323. package/build/_modules/discord-bot/_models/dibo-command.interface.js +2 -2
  324. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.d.ts +87 -87
  325. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.js +2 -2
  326. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.d.ts +6 -6
  327. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.js +2 -2
  328. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.d.ts +5 -5
  329. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.js +2 -2
  330. package/build/_modules/discord-bot/_services/dibo-commands.control-service.d.ts +11 -11
  331. package/build/_modules/discord-bot/_services/dibo-commands.control-service.js +109 -109
  332. package/build/_modules/discord-bot/_services/dibo-io.control-service.d.ts +21 -21
  333. package/build/_modules/discord-bot/_services/dibo-io.control-service.js +218 -218
  334. package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts +89 -89
  335. package/build/_modules/discord-bot/_services/dibo-main.control-service.js +363 -363
  336. package/build/_modules/discord-bot/_services/dibo-routines.control-service.d.ts +13 -13
  337. package/build/_modules/discord-bot/_services/dibo-routines.control-service.js +73 -73
  338. package/build/_modules/discord-bot/index.d.ts +11 -11
  339. package/build/_modules/discord-bot/index.js +30 -30
  340. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts +34 -34
  341. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js +38 -38
  342. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.d.ts +35 -35
  343. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.js +53 -53
  344. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.d.ts +16 -16
  345. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.js +2 -2
  346. package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts +88 -88
  347. package/build/_modules/local-vector-search/_services/lvs-bm25.util.js +189 -189
  348. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.d.ts +26 -26
  349. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.js +197 -197
  350. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts +145 -145
  351. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js +294 -294
  352. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.d.ts +69 -69
  353. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.js +122 -122
  354. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.d.ts +42 -42
  355. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.js +71 -71
  356. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts +74 -70
  357. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts.map +1 -1
  358. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js +201 -181
  359. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js.map +1 -1
  360. package/build/_modules/local-vector-search/index.d.ts +8 -8
  361. package/build/_modules/local-vector-search/index.js +15 -15
  362. package/build/_modules/logs/_models/file-log-entry.interface.d.ts +13 -13
  363. package/build/_modules/logs/_models/file-log-entry.interface.js +2 -2
  364. package/build/_modules/logs/_models/file-log-read-result.interface.d.ts +35 -35
  365. package/build/_modules/logs/_models/file-log-read-result.interface.js +2 -2
  366. package/build/_modules/logs/file-log.service.d.ts +132 -132
  367. package/build/_modules/logs/file-log.service.js +444 -444
  368. package/build/_modules/logs/file-logs.controller.d.ts +40 -40
  369. package/build/_modules/logs/file-logs.controller.js +138 -138
  370. package/build/_modules/logs/get-file-logs-routing-module.util.d.ts +31 -31
  371. package/build/_modules/logs/get-file-logs-routing-module.util.js +37 -37
  372. package/build/_modules/logs/get-logs-routing-module.util.d.ts +18 -18
  373. package/build/_modules/logs/get-logs-routing-module.util.js +31 -31
  374. package/build/_modules/logs/index.d.ts +8 -8
  375. package/build/_modules/logs/index.js +15 -15
  376. package/build/_modules/logs/log-buffer.service.d.ts +37 -37
  377. package/build/_modules/logs/log-buffer.service.js +96 -96
  378. package/build/_modules/logs/logs.controller.d.ts +26 -26
  379. package/build/_modules/logs/logs.controller.js +89 -89
  380. package/build/_modules/logs/logs.service.d.ts +39 -39
  381. package/build/_modules/logs/logs.service.js +96 -96
  382. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.d.ts +108 -108
  383. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.js +13 -13
  384. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.d.ts +70 -70
  385. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.js +98 -98
  386. package/build/_modules/mcp/_services/dynts-mcp.adapter.d.ts +56 -56
  387. package/build/_modules/mcp/_services/dynts-mcp.adapter.js +138 -138
  388. package/build/_modules/mcp/index.d.ts +3 -3
  389. package/build/_modules/mcp/index.js +12 -12
  390. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.d.ts +7 -7
  391. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.js +20 -20
  392. package/build/_modules/messaging/_collections/msg-global-settings.const.d.ts +5 -5
  393. package/build/_modules/messaging/_collections/msg-global-settings.const.js +22 -22
  394. package/build/_modules/messaging/_collections/msg.util.d.ts +24 -24
  395. package/build/_modules/messaging/_collections/msg.util.js +62 -62
  396. package/build/_modules/messaging/_models/msg-global-settings.interface.d.ts +28 -28
  397. package/build/_modules/messaging/_models/msg-global-settings.interface.js +2 -2
  398. package/build/_modules/messaging/_services/msg-conversation.data-service.d.ts +28 -28
  399. package/build/_modules/messaging/_services/msg-conversation.data-service.js +109 -109
  400. package/build/_modules/messaging/_services/msg-events.service.d.ts +61 -61
  401. package/build/_modules/messaging/_services/msg-events.service.js +203 -203
  402. package/build/_modules/messaging/_services/msg-integration.control-service.js +180 -180
  403. package/build/_modules/messaging/_services/msg-main.control-service.d.ts +62 -62
  404. package/build/_modules/messaging/_services/msg-main.control-service.js +428 -428
  405. package/build/_modules/messaging/_services/msg-message.data-service.d.ts +28 -28
  406. package/build/_modules/messaging/_services/msg-message.data-service.js +103 -103
  407. package/build/_modules/messaging/_services/msg.controller.d.ts +12 -12
  408. package/build/_modules/messaging/_services/msg.controller.js +256 -256
  409. package/build/_modules/messaging/index.d.ts +10 -10
  410. package/build/_modules/messaging/index.js +27 -27
  411. package/build/_modules/mock/app-extended-server.mock.d.ts +41 -41
  412. package/build/_modules/mock/app-extended-server.mock.js +169 -169
  413. package/build/_modules/mock/app-integration-test.mock.d.ts +19 -19
  414. package/build/_modules/mock/app-integration-test.mock.js +45 -45
  415. package/build/_modules/mock/app-params.mock.d.ts +2 -2
  416. package/build/_modules/mock/app-params.mock.js +9 -9
  417. package/build/_modules/mock/app-server.mock.d.ts +41 -41
  418. package/build/_modules/mock/app-server.mock.js +148 -148
  419. package/build/_modules/mock/auth-service.mock.d.ts +10 -10
  420. package/build/_modules/mock/auth-service.mock.js +19 -19
  421. package/build/_modules/mock/controller.mock.d.ts +5 -5
  422. package/build/_modules/mock/controller.mock.js +14 -14
  423. package/build/_modules/mock/data-model.mock.d.ts +26 -26
  424. package/build/_modules/mock/data-model.mock.js +72 -72
  425. package/build/_modules/mock/email-service-collection.mock.d.ts +7 -7
  426. package/build/_modules/mock/email-service-collection.mock.js +12 -12
  427. package/build/_modules/mock/email-service.mock.d.ts +4 -4
  428. package/build/_modules/mock/email-service.mock.js +20 -20
  429. package/build/_modules/mock/endpoint.mock.d.ts +8 -8
  430. package/build/_modules/mock/endpoint.mock.js +79 -79
  431. package/build/_modules/mock/socket-client.mock.d.ts +9 -9
  432. package/build/_modules/mock/socket-client.mock.js +38 -38
  433. package/build/_modules/mock/socket-server.mock.d.ts +15 -15
  434. package/build/_modules/mock/socket-server.mock.js +32 -32
  435. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts +16 -16
  436. package/build/_modules/oauth2/_routes/oauth2.controller.js +96 -96
  437. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts +30 -30
  438. package/build/_modules/oauth2/_services/oauth2.auth-service.js +215 -215
  439. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts +132 -132
  440. package/build/_modules/oauth2/_services/oauth2.control-service.js +576 -576
  441. package/build/_modules/oauth2/index.d.ts +3 -3
  442. package/build/_modules/oauth2/index.js +14 -14
  443. package/build/_modules/rate-limit/_models/rate-limit-config.interface.d.ts +61 -61
  444. package/build/_modules/rate-limit/_models/rate-limit-config.interface.js +2 -2
  445. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.d.ts +15 -15
  446. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.js +2 -2
  447. package/build/_modules/rate-limit/index.d.ts +3 -3
  448. package/build/_modules/rate-limit/index.js +5 -5
  449. package/build/_modules/rate-limit/rate-limit.middleware.d.ts +132 -132
  450. package/build/_modules/rate-limit/rate-limit.middleware.js +289 -289
  451. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.d.ts +18 -18
  452. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.js +22 -22
  453. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.d.ts +43 -43
  454. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.js +67 -67
  455. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.d.ts +88 -88
  456. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.js +11 -11
  457. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.d.ts +83 -83
  458. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.js +219 -219
  459. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.d.ts +53 -53
  460. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.js +75 -75
  461. package/build/_modules/scoped-config/index.d.ts +5 -5
  462. package/build/_modules/scoped-config/index.js +14 -14
  463. package/build/_modules/server/errors/errors.control-service.d.ts +21 -21
  464. package/build/_modules/server/errors/errors.control-service.js +10 -10
  465. package/build/_modules/server/errors/errors.controller.d.ts +100 -100
  466. package/build/_modules/server/errors/errors.controller.js +355 -355
  467. package/build/_modules/server/errors/errors.data-service.d.ts +64 -64
  468. package/build/_modules/server/errors/errors.data-service.js +628 -628
  469. package/build/_modules/server/index.d.ts +7 -7
  470. package/build/_modules/server/index.js +26 -26
  471. package/build/_modules/server/server-status/server-status-snapshot.control-service.d.ts +4 -4
  472. package/build/_modules/server/server-status/server-status-snapshot.control-service.js +7 -7
  473. package/build/_modules/server/server-status/server-status-snapshot.data-service.d.ts +6 -6
  474. package/build/_modules/server/server-status/server-status-snapshot.data-service.js +22 -22
  475. package/build/_modules/server/server-status/server-status.control-service.d.ts +74 -74
  476. package/build/_modules/server/server-status/server-status.control-service.js +234 -234
  477. package/build/_modules/server/server-status/server-status.controller.d.ts +84 -84
  478. package/build/_modules/server/server-status/server-status.controller.js +172 -172
  479. package/build/_modules/socket/_enums/socket-security.enum.d.ts +10 -10
  480. package/build/_modules/socket/_enums/socket-security.enum.js +14 -14
  481. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts +8 -8
  482. package/build/_modules/socket/_models/socket-client-service-params.control-model.js +16 -16
  483. package/build/_modules/socket/_models/socket-presence.control-model.d.ts +25 -25
  484. package/build/_modules/socket/_models/socket-presence.control-model.js +139 -139
  485. package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts +12 -12
  486. package/build/_modules/socket/_models/socket-server-service-params.control-model.js +20 -20
  487. package/build/_modules/socket/_services/socket-client.service.d.ts +37 -37
  488. package/build/_modules/socket/_services/socket-client.service.js +196 -196
  489. package/build/_modules/socket/_services/socket-server.service.d.ts +94 -94
  490. package/build/_modules/socket/_services/socket-server.service.js +689 -689
  491. package/build/_modules/socket/app-extended.server.d.ts +145 -145
  492. package/build/_modules/socket/app-extended.server.js +506 -506
  493. package/build/_modules/socket/index.d.ts +8 -8
  494. package/build/_modules/socket/index.js +35 -35
  495. package/build/_modules/test/get-test-routing-module.util.d.ts +3 -3
  496. package/build/_modules/test/get-test-routing-module.util.js +16 -16
  497. package/build/_modules/test/index.d.ts +3 -3
  498. package/build/_modules/test/index.js +11 -11
  499. package/build/_modules/test/test.controller.d.ts +5 -5
  500. package/build/_modules/test/test.controller.js +103 -103
  501. package/build/_modules/usage/get-usage-routing-module.util.d.ts +3 -3
  502. package/build/_modules/usage/get-usage-routing-module.util.js +16 -16
  503. package/build/_modules/usage/index.d.ts +4 -4
  504. package/build/_modules/usage/index.js +13 -13
  505. package/build/_modules/usage/usage.controller.d.ts +6 -6
  506. package/build/_modules/usage/usage.controller.js +95 -95
  507. package/build/_modules/usage/usage.data-service.d.ts +17 -17
  508. package/build/_modules/usage/usage.data-service.js +135 -135
  509. package/build/_services/base/api.service-base.d.ts +9 -9
  510. package/build/_services/base/api.service-base.js +46 -46
  511. package/build/_services/base/archive-data.service.d.ts +25 -25
  512. package/build/_services/base/archive-data.service.js +140 -140
  513. package/build/_services/base/data.service.d.ts +381 -381
  514. package/build/_services/base/data.service.js +2068 -2068
  515. package/build/_services/base/db.service.d.ts +393 -393
  516. package/build/_services/base/db.service.js +1256 -1256
  517. package/build/_services/base/singleton.service-base.d.ts +8 -8
  518. package/build/_services/base/singleton.service-base.js +21 -21
  519. package/build/_services/base/singleton.service.d.ts +11 -11
  520. package/build/_services/base/singleton.service.js +31 -31
  521. package/build/_services/core/api.service.d.ts +45 -45
  522. package/build/_services/core/api.service.js +436 -436
  523. package/build/_services/core/auth.service.d.ts +129 -129
  524. package/build/_services/core/auth.service.js +59 -59
  525. package/build/_services/core/email.service.d.ts +77 -77
  526. package/build/_services/core/email.service.js +489 -489
  527. package/build/_services/core/global.service.d.ts +76 -76
  528. package/build/_services/core/global.service.js +370 -370
  529. package/build/_services/core/memory-guard.service.d.ts +110 -110
  530. package/build/_services/core/memory-guard.service.js +197 -197
  531. package/build/_services/core/service-collection.service.d.ts +4 -4
  532. package/build/_services/core/service-collection.service.js +7 -7
  533. package/build/_services/route/controller.service.d.ts +124 -124
  534. package/build/_services/route/controller.service.js +95 -95
  535. package/build/_services/route/routing-module.service.d.ts +80 -80
  536. package/build/_services/route/routing-module.service.js +250 -250
  537. package/build/_services/server/app.server.d.ts +352 -352
  538. package/build/_services/server/app.server.js +1323 -1323
  539. package/build/_services/shared.static-service.d.ts +36 -36
  540. package/build/_services/shared.static-service.js +72 -72
  541. package/build/index.d.ts +43 -43
  542. package/build/index.js +80 -80
  543. package/eslint.config.js +3 -3
  544. package/nodemon.json +24 -24
  545. package/package.json +417 -416
  546. package/pnpm-workspace.yaml +5 -5
  547. package/scripts/run-coverage-tests.js +28 -28
  548. package/spec/support/helpers/spec-reporter-loader.js +359 -359
  549. package/spec/support/helpers/ts-node-helper.js +93 -93
  550. package/spec/support/jasmine.coverage.json +24 -24
  551. package/spec/support/jasmine.json +24 -24
  552. package/src/_collections/archive.util.spec.ts +57 -57
  553. package/src/_collections/archive.util.ts +18 -18
  554. package/src/_collections/atlas-default-db-options.const.ts +9 -9
  555. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -11
  556. package/src/_collections/default-fallback-cache-max-age.const.ts +2 -2
  557. package/src/_collections/default-not-found-page.const.spec.ts +19 -19
  558. package/src/_collections/default-not-found-page.const.ts +22 -22
  559. package/src/_collections/default-socket-path.const.spec.ts +12 -12
  560. package/src/_collections/default-socket-path.const.ts +2 -2
  561. package/src/_collections/get-environment-settings.util.spec.ts +210 -210
  562. package/src/_collections/get-environment-settings.util.ts +48 -48
  563. package/src/_collections/global-settings.const.ts +89 -89
  564. package/src/_collections/mongo-reconnect-guard.util.spec.ts +52 -52
  565. package/src/_collections/mongo-reconnect-guard.util.ts +172 -172
  566. package/src/_collections/sample.env +21 -21
  567. package/src/_collections/star.controller.spec.ts +224 -224
  568. package/src/_collections/star.controller.ts +129 -129
  569. package/src/_enums/data-model-type.enum.ts +14 -14
  570. package/src/_enums/data-service-function.enum.ts +24 -24
  571. package/src/_enums/predefined-data-types.enum.ts +16 -16
  572. package/src/_enums/route-security.enum.ts +12 -12
  573. package/src/_models/control-models/api-call-params.control-model.spec.ts +152 -152
  574. package/src/_models/control-models/api-call-params.control-model.ts +142 -142
  575. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -52
  576. package/src/_models/control-models/app-ext-system-controls.control-model.ts +9 -9
  577. package/src/_models/control-models/app-params.control-model.spec.ts +225 -225
  578. package/src/_models/control-models/app-params.control-model.ts +136 -136
  579. package/src/_models/control-models/app-system-controls.control-model.spec.ts +31 -31
  580. package/src/_models/control-models/app-system-controls.control-model.ts +9 -9
  581. package/src/_models/control-models/endpoint-params.control-model.spec.ts +627 -627
  582. package/src/_models/control-models/endpoint-params.control-model.ts +627 -627
  583. package/src/_models/control-models/http-settings.control-model.spec.ts +77 -77
  584. package/src/_models/control-models/http-settings.control-model.ts +37 -37
  585. package/src/_models/control-models/system-control.control-model.spec.ts +27 -27
  586. package/src/_models/control-models/system-control.control-model.ts +12 -12
  587. package/src/_models/interfaces/certification-settings.interface.ts +7 -7
  588. package/src/_models/interfaces/compare-data-options.interface.ts +27 -27
  589. package/src/_models/interfaces/compare-data-result.interface.ts +12 -12
  590. package/src/_models/interfaces/cors-settings.interface.spec.ts +52 -52
  591. package/src/_models/interfaces/cors-settings.interface.ts +56 -56
  592. package/src/_models/interfaces/environment-settings.interface.ts +59 -59
  593. package/src/_models/interfaces/global-log-settings.interface.ts +171 -171
  594. package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
  595. package/src/_models/interfaces/global-settings.interface.ts +185 -185
  596. package/src/_models/interfaces/routing-module-settings.interface.ts +21 -21
  597. package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -29
  598. package/src/_models/interfaces/static-client-settings.interface.ts +28 -28
  599. package/src/_models/types/db-update.type.ts +100 -100
  600. package/src/_modules/admin-auth/_models/admin-api-key-config.interface.ts +33 -33
  601. package/src/_modules/admin-auth/admin-api-key.auth-service.spec.ts +200 -200
  602. package/src/_modules/admin-auth/admin-api-key.auth-service.ts +220 -220
  603. package/src/_modules/admin-auth/index.ts +2 -2
  604. package/src/_modules/ai/_models/ai-input-interfaces.ts +117 -117
  605. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +16 -16
  606. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.ts +14 -14
  607. package/src/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.ts +56 -56
  608. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +138 -138
  609. package/src/_modules/ai/_modules/anthropic/index.ts +5 -5
  610. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -242
  611. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +639 -639
  612. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +295 -295
  613. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +552 -552
  614. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -209
  615. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +85 -85
  616. package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +7 -7
  617. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +146 -146
  618. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +162 -162
  619. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +99 -99
  620. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +68 -68
  621. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +18 -18
  622. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +19 -19
  623. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +25 -25
  624. package/src/_modules/ai/_modules/document-ai/index.ts +30 -30
  625. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +189 -189
  626. package/src/_modules/ai/_modules/fdp-ai/index.ts +5 -5
  627. package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +9 -9
  628. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +82 -82
  629. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +75 -75
  630. package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +45 -45
  631. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +7 -7
  632. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +7 -7
  633. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +57 -57
  634. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +292 -292
  635. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.ts +572 -572
  636. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -342
  637. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts +435 -435
  638. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -550
  639. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +630 -630
  640. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +332 -332
  641. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +132 -132
  642. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -462
  643. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +634 -634
  644. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +489 -489
  645. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +173 -173
  646. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +1033 -1033
  647. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
  648. package/src/_modules/ai/_modules/open-ai/index.ts +74 -74
  649. package/src/_modules/ai/_services/ai-embedding-mock.service.spec.ts +115 -115
  650. package/src/_modules/ai/_services/ai-embedding-mock.service.ts +233 -233
  651. package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +110 -110
  652. package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +114 -114
  653. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -98
  654. package/src/_modules/ai/_services/ai-embedding.service-base.ts +48 -48
  655. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -229
  656. package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +68 -68
  657. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -250
  658. package/src/_modules/ai/_services/ai-llm.service-base.ts +519 -519
  659. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +158 -158
  660. package/src/_modules/ai/_services/ai-provider.service-base.ts +67 -67
  661. package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
  662. package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +197 -197
  663. package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +399 -399
  664. package/src/_modules/ai/index.ts +23 -23
  665. package/src/_modules/assistant/_collections/ass-global-settings.const.ts +13 -13
  666. package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -176
  667. package/src/_modules/assistant/_collections/ass.util.ts +50 -50
  668. package/src/_modules/assistant/_models/ass-global-settings.interface.ts +15 -15
  669. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -140
  670. package/src/_modules/assistant/_services/ass-io.control-service.ts +74 -74
  671. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -192
  672. package/src/_modules/assistant/_services/ass-main.control-service.ts +107 -107
  673. package/src/_modules/assistant/index.ts +19 -19
  674. package/src/_modules/bot/_collections/bot-default-commands.const.ts +12 -12
  675. package/src/_modules/bot/_collections/bot-global-settings.const.ts +39 -39
  676. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +62 -62
  677. package/src/_modules/bot/_models/bot-command.interface.ts +8 -8
  678. package/src/_modules/bot/_models/bot-global-settings.interface.ts +96 -96
  679. package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +6 -6
  680. package/src/_modules/bot/_models/bot-last-message-date.interface.ts +5 -5
  681. package/src/_modules/bot/_models/bot-message-wrapper.interface.ts +90 -90
  682. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +41 -41
  683. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +9 -9
  684. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -431
  685. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts +641 -641
  686. package/src/_modules/bot/_modules/discord-bot/index.ts +12 -12
  687. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -160
  688. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +55 -55
  689. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +15 -15
  690. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -374
  691. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +447 -447
  692. package/src/_modules/bot/_modules/dynamo-bot/index.ts +15 -15
  693. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +9 -9
  694. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -344
  695. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +197 -197
  696. package/src/_modules/bot/_modules/slack-bot/index.ts +12 -12
  697. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +9 -9
  698. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -345
  699. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +197 -197
  700. package/src/_modules/bot/_modules/teams-bot/index.ts +11 -11
  701. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -116
  702. package/src/_modules/bot/_services/bot-commands.control-service.ts +158 -158
  703. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -285
  704. package/src/_modules/bot/_services/bot-io.control-service.ts +329 -329
  705. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -208
  706. package/src/_modules/bot/_services/bot-main.control-service.ts +489 -489
  707. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -349
  708. package/src/_modules/bot/_services/bot-messaging-provider.service-base.ts +158 -158
  709. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -111
  710. package/src/_modules/bot/_services/bot-routines.control-service.ts +78 -78
  711. package/src/_modules/bot/index.ts +37 -37
  712. package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -49
  713. package/src/_modules/custom-data/custom-data.controller.ts +67 -67
  714. package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -54
  715. package/src/_modules/custom-data/custom-data.data-service.ts +21 -21
  716. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -28
  717. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +24 -24
  718. package/src/_modules/custom-data/index.ts +9 -9
  719. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +176 -176
  720. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +203 -203
  721. package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +33 -33
  722. package/src/_modules/data-readers/index.ts +11 -11
  723. package/src/_modules/defaults/_collections/default-endpoints.util.ts +487 -487
  724. package/src/_modules/defaults/_models/default-user.data-model.ts +72 -72
  725. package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -269
  726. package/src/_modules/defaults/_services/default-auth.service.ts +177 -177
  727. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -42
  728. package/src/_modules/defaults/_services/default-socket-events.service.ts +61 -61
  729. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -187
  730. package/src/_modules/defaults/_services/default-user.data-service.ts +98 -98
  731. package/src/_modules/defaults/index.ts +17 -17
  732. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +19 -19
  733. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -366
  734. package/src/_modules/discord-assistant/_collections/dias.util.ts +132 -132
  735. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +19 -19
  736. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +52 -52
  737. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +177 -177
  738. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -108
  739. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +69 -69
  740. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -22
  741. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +27 -27
  742. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -195
  743. package/src/_modules/discord-assistant/_services/dias.service-base.ts +76 -76
  744. package/src/_modules/discord-assistant/index.ts +38 -38
  745. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -34
  746. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +11 -11
  747. package/src/_modules/discord-assistant-voiced/index.ts +36 -36
  748. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +16 -16
  749. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +55 -55
  750. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -214
  751. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +387 -387
  752. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +12 -12
  753. package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +98 -98
  754. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +7 -7
  755. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +6 -6
  756. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -154
  757. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +153 -153
  758. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -264
  759. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +306 -306
  760. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -408
  761. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +487 -487
  762. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -105
  763. package/src/_modules/discord-bot/_services/dibo-routines.control-service.ts +97 -97
  764. package/src/_modules/discord-bot/index.ts +36 -36
  765. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +35 -35
  766. package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +60 -60
  767. package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +17 -17
  768. package/src/_modules/local-vector-search/_services/lvs-bm25.util.spec.ts +159 -159
  769. package/src/_modules/local-vector-search/_services/lvs-bm25.util.ts +206 -206
  770. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -418
  771. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +276 -276
  772. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +480 -480
  773. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +416 -416
  774. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +198 -198
  775. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +150 -150
  776. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +167 -167
  777. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +108 -108
  778. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +455 -393
  779. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +239 -220
  780. package/src/_modules/local-vector-search/index.ts +16 -16
  781. package/src/_modules/logs/_models/file-log-entry.interface.ts +13 -13
  782. package/src/_modules/logs/_models/file-log-read-result.interface.ts +37 -37
  783. package/src/_modules/logs/file-log.service.spec.ts +341 -341
  784. package/src/_modules/logs/file-log.service.ts +466 -466
  785. package/src/_modules/logs/file-logs.controller.spec.ts +245 -245
  786. package/src/_modules/logs/file-logs.controller.ts +165 -165
  787. package/src/_modules/logs/get-file-logs-routing-module.util.ts +51 -51
  788. package/src/_modules/logs/get-logs-routing-module.util.ts +36 -36
  789. package/src/_modules/logs/index.ts +11 -11
  790. package/src/_modules/logs/log-buffer.service.ts +101 -101
  791. package/src/_modules/logs/logs.controller.ts +109 -109
  792. package/src/_modules/logs/logs.service.ts +100 -100
  793. package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +111 -111
  794. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +151 -151
  795. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +125 -125
  796. package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +168 -168
  797. package/src/_modules/mcp/index.ts +13 -13
  798. package/src/_modules/messaging/README.md +354 -354
  799. package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +26 -26
  800. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +22 -22
  801. package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -226
  802. package/src/_modules/messaging/_collections/msg.util.ts +83 -83
  803. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +37 -37
  804. package/src/_modules/messaging/_services/msg-conversation.data-service.ts +146 -146
  805. package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -219
  806. package/src/_modules/messaging/_services/msg-events.service.ts +267 -267
  807. package/src/_modules/messaging/_services/msg-integration.control-service.ts +179 -179
  808. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -147
  809. package/src/_modules/messaging/_services/msg-main.control-service.ts +571 -571
  810. package/src/_modules/messaging/_services/msg-message.data-service.ts +129 -129
  811. package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -201
  812. package/src/_modules/messaging/_services/msg.controller.ts +370 -370
  813. package/src/_modules/messaging/index.ts +30 -30
  814. package/src/_modules/mock/app-extended-server.mock.ts +201 -201
  815. package/src/_modules/mock/app-integration-test.mock.ts +51 -51
  816. package/src/_modules/mock/app-params.mock.spec.ts +21 -21
  817. package/src/_modules/mock/app-params.mock.ts +9 -9
  818. package/src/_modules/mock/app-server.mock.ts +188 -188
  819. package/src/_modules/mock/auth-service.mock.spec.ts +47 -47
  820. package/src/_modules/mock/auth-service.mock.ts +28 -28
  821. package/src/_modules/mock/controller.mock.spec.ts +26 -26
  822. package/src/_modules/mock/controller.mock.ts +16 -16
  823. package/src/_modules/mock/data-model.mock.spec.ts +111 -111
  824. package/src/_modules/mock/data-model.mock.ts +82 -82
  825. package/src/_modules/mock/email-service-collection.mock.spec.ts +24 -24
  826. package/src/_modules/mock/email-service-collection.mock.ts +15 -15
  827. package/src/_modules/mock/email-service.mock.spec.ts +17 -17
  828. package/src/_modules/mock/email-service.mock.ts +20 -20
  829. package/src/_modules/mock/email-template.mock.html +14 -14
  830. package/src/_modules/mock/endpoint.mock.ts +91 -91
  831. package/src/_modules/mock/socket-client.mock.spec.ts +40 -40
  832. package/src/_modules/mock/socket-client.mock.ts +45 -45
  833. package/src/_modules/mock/socket-server.mock.spec.ts +44 -44
  834. package/src/_modules/mock/socket-server.mock.ts +46 -46
  835. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -107
  836. package/src/_modules/oauth2/_routes/oauth2.controller.ts +98 -98
  837. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -254
  838. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -232
  839. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -585
  840. package/src/_modules/oauth2/_services/oauth2.control-service.ts +653 -653
  841. package/src/_modules/oauth2/index.ts +17 -17
  842. package/src/_modules/rate-limit/_models/rate-limit-config.interface.ts +69 -69
  843. package/src/_modules/rate-limit/_models/rate-limit-policy.interface.ts +16 -16
  844. package/src/_modules/rate-limit/index.ts +3 -3
  845. package/src/_modules/rate-limit/rate-limit.middleware.spec.ts +264 -264
  846. package/src/_modules/rate-limit/rate-limit.middleware.ts +343 -343
  847. package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +22 -22
  848. package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +82 -82
  849. package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +107 -107
  850. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +312 -312
  851. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +311 -311
  852. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +123 -123
  853. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +108 -108
  854. package/src/_modules/scoped-config/index.ts +17 -17
  855. package/src/_modules/server/errors/errors.control-service.spec.ts +246 -246
  856. package/src/_modules/server/errors/errors.control-service.ts +100 -100
  857. package/src/_modules/server/errors/errors.controller.spec.ts +249 -249
  858. package/src/_modules/server/errors/errors.controller.ts +489 -489
  859. package/src/_modules/server/errors/errors.data-service.spec.ts +480 -480
  860. package/src/_modules/server/errors/errors.data-service.ts +816 -816
  861. package/src/_modules/server/index.ts +30 -30
  862. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -70
  863. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +17 -17
  864. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -77
  865. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +37 -37
  866. package/src/_modules/server/server-status/server-status.control-service.spec.ts +584 -584
  867. package/src/_modules/server/server-status/server-status.control-service.ts +396 -396
  868. package/src/_modules/server/server-status/server-status.controller.spec.ts +248 -248
  869. package/src/_modules/server/server-status/server-status.controller.ts +253 -253
  870. package/src/_modules/socket/_enums/socket-security.enum.ts +11 -11
  871. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +32 -32
  872. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +22 -22
  873. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -164
  874. package/src/_modules/socket/_models/socket-presence.control-model.ts +210 -210
  875. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +46 -46
  876. package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +22 -22
  877. package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -15
  878. package/src/_modules/socket/_services/socket-client.service.ts +260 -260
  879. package/src/_modules/socket/_services/socket-server.service.spec.ts +11 -11
  880. package/src/_modules/socket/_services/socket-server.service.ts +1068 -1068
  881. package/src/_modules/socket/app-extended.integration.spec.ts +85 -85
  882. package/src/_modules/socket/app-extended.server.ts +630 -630
  883. package/src/_modules/socket/index.ts +42 -42
  884. package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -28
  885. package/src/_modules/test/get-test-routing-module.util.ts +23 -23
  886. package/src/_modules/test/index.ts +11 -11
  887. package/src/_modules/test/test.controller.spec.ts +72 -72
  888. package/src/_modules/test/test.controller.ts +115 -115
  889. package/src/_modules/usage/get-usage-routing-module.util.ts +22 -22
  890. package/src/_modules/usage/index.ts +15 -15
  891. package/src/_modules/usage/usage.controller.spec.ts +81 -81
  892. package/src/_modules/usage/usage.controller.ts +126 -126
  893. package/src/_modules/usage/usage.data-service.spec.ts +332 -332
  894. package/src/_modules/usage/usage.data-service.ts +185 -185
  895. package/src/_services/base/api.service-base.spec.ts +125 -125
  896. package/src/_services/base/api.service-base.ts +74 -74
  897. package/src/_services/base/archive-data.service.spec.ts +196 -196
  898. package/src/_services/base/archive-data.service.ts +216 -216
  899. package/src/_services/base/data.service.spec.ts +674 -674
  900. package/src/_services/base/data.service.ts +2719 -2719
  901. package/src/_services/base/db.service.spec.ts +73 -73
  902. package/src/_services/base/db.service.ts +1575 -1575
  903. package/src/_services/base/singleton.service-base.spec.ts +28 -28
  904. package/src/_services/base/singleton.service-base.ts +24 -24
  905. package/src/_services/base/singleton.service.spec.ts +114 -114
  906. package/src/_services/base/singleton.service.ts +38 -38
  907. package/src/_services/core/api.service.spec.ts +140 -140
  908. package/src/_services/core/api.service.ts +607 -607
  909. package/src/_services/core/auth.service.spec.ts +159 -159
  910. package/src/_services/core/auth.service.ts +174 -174
  911. package/src/_services/core/email.service.spec.ts +85 -85
  912. package/src/_services/core/email.service.ts +742 -742
  913. package/src/_services/core/global.service.spec.ts +292 -292
  914. package/src/_services/core/global.service.ts +475 -475
  915. package/src/_services/core/memory-guard.service.spec.ts +165 -165
  916. package/src/_services/core/memory-guard.service.ts +281 -281
  917. package/src/_services/core/service-collection.service.spec.ts +46 -46
  918. package/src/_services/core/service-collection.service.ts +6 -6
  919. package/src/_services/route/controller.service.spec.ts +53 -53
  920. package/src/_services/route/controller.service.ts +148 -148
  921. package/src/_services/route/routing-module.service.spec.ts +98 -98
  922. package/src/_services/route/routing-module.service.ts +330 -330
  923. package/src/_services/server/app.server.ts +1747 -1747
  924. package/src/_services/shared.static-service.spec.ts +99 -99
  925. package/src/_services/shared.static-service.ts +78 -78
  926. package/src/index.ts +96 -96
  927. package/tsconfig.app.json +12 -12
  928. package/tsconfig.json +42 -42
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.