@futdevpro/nts-dynamo 1.15.64 → 1.15.68

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