@futdevpro/nts-dynamo 1.15.104 → 1.15.107

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 (479) hide show
  1. package/.c8rc.json +26 -26
  2. package/.copilot/patterns.json +7 -7
  3. package/.cursor/rules/__assistant_guide.mdc +30 -30
  4. package/.cursor/rules/_ag_backend-structure.mdc +85 -85
  5. package/.cursor/rules/_ag_backend.mdc +16 -16
  6. package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
  7. package/.cursor/rules/_ag_frontend.mdc +39 -39
  8. package/.cursor/rules/_ag_import-rules.mdc +44 -44
  9. package/.cursor/rules/_ag_naming.mdc +115 -115
  10. package/.cursor/rules/_ag_should-be.mdc +6 -6
  11. package/.cursor/rules/ai_development_guide.md +60 -60
  12. package/.cursor/rules/cursor-rules.md +160 -160
  13. package/.cursor/rules/default-command.mdc +464 -464
  14. package/.cursor/rules/error_code_pattern.md +39 -39
  15. package/.cursor/rules/saved rule mcp server use.md +15 -15
  16. package/.dynamo/logs/cicd-pipeline/output.log +2798 -0
  17. package/.dynamo/logs/cicd-pipeline/status.json +74 -0
  18. package/.vscode/settings.json +10 -10
  19. package/HOWTO.md +15 -15
  20. package/LICENSE +21 -21
  21. package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
  22. package/__documentations/plans/BEDROCK-HYPERPLAN.md +95 -95
  23. package/_specifications/BACKLOG.md +92 -92
  24. package/_specifications/TODO.md +15 -15
  25. package/_specifications/agent.md +138 -138
  26. package/build/_modules/ai/_collections/ai-model-config-validator.util.d.ts +32 -0
  27. package/build/_modules/ai/_collections/ai-model-config-validator.util.d.ts.map +1 -0
  28. package/build/_modules/ai/_collections/ai-model-config-validator.util.js +95 -0
  29. package/build/_modules/ai/_collections/ai-model-config-validator.util.js.map +1 -0
  30. package/build/_modules/ai/_collections/ai-provider-error.util.d.ts +35 -0
  31. package/build/_modules/ai/_collections/ai-provider-error.util.d.ts.map +1 -0
  32. package/build/_modules/ai/_collections/ai-provider-error.util.js +82 -0
  33. package/build/_modules/ai/_collections/ai-provider-error.util.js.map +1 -0
  34. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.d.ts +17 -0
  35. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.d.ts.map +1 -0
  36. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.js +3 -0
  37. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.js.map +1 -0
  38. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.d.ts +23 -0
  39. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.d.ts.map +1 -0
  40. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.js +52 -0
  41. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.js.map +1 -0
  42. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.d.ts +34 -0
  43. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.d.ts.map +1 -0
  44. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.js +56 -0
  45. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.js.map +1 -0
  46. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.d.ts +33 -0
  47. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.d.ts.map +1 -0
  48. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.js +89 -0
  49. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.js.map +1 -0
  50. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.d.ts +16 -0
  51. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.d.ts.map +1 -0
  52. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.js +20 -0
  53. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.js.map +1 -0
  54. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.d.ts +15 -0
  55. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.d.ts.map +1 -0
  56. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.js +3 -0
  57. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.js.map +1 -0
  58. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.d.ts +11 -0
  59. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.d.ts.map +1 -0
  60. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.js +3 -0
  61. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.js.map +1 -0
  62. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.d.ts +30 -0
  63. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.d.ts.map +1 -0
  64. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.js +3 -0
  65. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.js.map +1 -0
  66. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.d.ts +19 -0
  67. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.d.ts.map +1 -0
  68. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.js +3 -0
  69. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.js.map +1 -0
  70. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.d.ts +19 -0
  71. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.d.ts.map +1 -0
  72. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.js +3 -0
  73. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.js.map +1 -0
  74. package/build/_modules/ai/{_services → _modules/ai-mock/_services}/ai-embedding-mock.service.d.ts +2 -2
  75. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.d.ts.map +1 -0
  76. package/build/_modules/ai/{_services → _modules/ai-mock/_services}/ai-embedding-mock.service.js +1 -1
  77. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.js.map +1 -0
  78. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.d.ts +48 -0
  79. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.d.ts.map +1 -0
  80. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.js +104 -0
  81. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.js.map +1 -0
  82. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.d.ts +35 -0
  83. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.d.ts.map +1 -0
  84. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.js +60 -0
  85. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.js.map +1 -0
  86. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.d.ts +60 -0
  87. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.d.ts.map +1 -0
  88. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.js +121 -0
  89. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.js.map +1 -0
  90. package/build/_modules/ai/_modules/ai-mock/index.d.ts +14 -0
  91. package/build/_modules/ai/_modules/ai-mock/index.d.ts.map +1 -0
  92. package/build/_modules/ai/_modules/ai-mock/index.js +41 -0
  93. package/build/_modules/ai/_modules/ai-mock/index.js.map +1 -0
  94. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +18 -0
  95. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts.map +1 -1
  96. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +58 -30
  97. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js.map +1 -1
  98. package/build/_modules/ai/_services/ai-embedding-provider.registry.d.ts +1 -1
  99. package/build/_modules/ai/_services/ai-embedding-provider.registry.d.ts.map +1 -1
  100. package/build/_modules/ai/_services/ai-embedding-provider.registry.js +1 -1
  101. package/build/_modules/ai/_services/ai-embedding-provider.registry.js.map +1 -1
  102. package/build/_modules/ai/_services/ai-llm.service-base.d.ts +16 -0
  103. package/build/_modules/ai/_services/ai-llm.service-base.d.ts.map +1 -1
  104. package/build/_modules/ai/_services/ai-llm.service-base.js +65 -0
  105. package/build/_modules/ai/_services/ai-llm.service-base.js.map +1 -1
  106. package/build/_modules/ai/index.d.ts +4 -1
  107. package/build/_modules/ai/index.d.ts.map +1 -1
  108. package/build/_modules/ai/index.js +9 -1
  109. package/build/_modules/ai/index.js.map +1 -1
  110. package/build/_modules/server/server-status/server-status.control-service.d.ts +22 -1
  111. package/build/_modules/server/server-status/server-status.control-service.d.ts.map +1 -1
  112. package/build/_modules/server/server-status/server-status.control-service.js +22 -0
  113. package/build/_modules/server/server-status/server-status.control-service.js.map +1 -1
  114. package/eslint.config.js +3 -3
  115. package/nodemon.json +24 -24
  116. package/package.json +11 -2
  117. package/pnpm-workspace.yaml +5 -5
  118. package/scripts/run-coverage-tests.js +28 -28
  119. package/spec/support/helpers/spec-reporter-loader.js +359 -359
  120. package/spec/support/helpers/ts-node-helper.js +93 -93
  121. package/spec/support/jasmine.coverage.json +24 -24
  122. package/spec/support/jasmine.json +24 -24
  123. package/src/_collections/archive.util.spec.ts +57 -57
  124. package/src/_collections/archive.util.ts +18 -18
  125. package/src/_collections/atlas-default-db-options.const.ts +9 -9
  126. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -11
  127. package/src/_collections/default-fallback-cache-max-age.const.ts +2 -2
  128. package/src/_collections/default-not-found-page.const.spec.ts +19 -19
  129. package/src/_collections/default-not-found-page.const.ts +22 -22
  130. package/src/_collections/default-socket-path.const.spec.ts +12 -12
  131. package/src/_collections/default-socket-path.const.ts +2 -2
  132. package/src/_collections/get-environment-settings.util.spec.ts +210 -210
  133. package/src/_collections/get-environment-settings.util.ts +48 -48
  134. package/src/_collections/global-settings.const.ts +126 -126
  135. package/src/_collections/sample.env +21 -21
  136. package/src/_collections/star.controller.spec.ts +224 -224
  137. package/src/_collections/star.controller.ts +129 -129
  138. package/src/_enums/data-model-type.enum.ts +14 -14
  139. package/src/_enums/data-service-function.enum.ts +24 -24
  140. package/src/_enums/predefined-data-types.enum.ts +16 -16
  141. package/src/_enums/route-security.enum.ts +12 -12
  142. package/src/_models/control-models/api-call-params.control-model.spec.ts +152 -152
  143. package/src/_models/control-models/api-call-params.control-model.ts +142 -142
  144. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -52
  145. package/src/_models/control-models/app-ext-system-controls.control-model.ts +9 -9
  146. package/src/_models/control-models/app-params.control-model.spec.ts +225 -225
  147. package/src/_models/control-models/app-params.control-model.ts +136 -136
  148. package/src/_models/control-models/app-system-controls.control-model.spec.ts +31 -31
  149. package/src/_models/control-models/app-system-controls.control-model.ts +9 -9
  150. package/src/_models/control-models/endpoint-params.control-model.spec.ts +669 -669
  151. package/src/_models/control-models/endpoint-params.control-model.ts +628 -628
  152. package/src/_models/control-models/http-settings.control-model.spec.ts +77 -77
  153. package/src/_models/control-models/http-settings.control-model.ts +37 -37
  154. package/src/_models/control-models/system-control.control-model.spec.ts +27 -27
  155. package/src/_models/control-models/system-control.control-model.ts +12 -12
  156. package/src/_models/interfaces/certification-settings.interface.ts +7 -7
  157. package/src/_models/interfaces/environment-settings.interface.ts +59 -59
  158. package/src/_models/interfaces/global-log-settings.interface.ts +171 -171
  159. package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
  160. package/src/_models/interfaces/global-settings.interface.ts +286 -286
  161. package/src/_models/interfaces/routing-module-settings.interface.ts +21 -21
  162. package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -29
  163. package/src/_models/interfaces/static-client-settings.interface.ts +36 -36
  164. package/src/_models/types/db-update.type.ts +100 -100
  165. package/src/_modules/ai/_collections/ai-model-config-validator.util.spec.ts +150 -0
  166. package/src/_modules/ai/_collections/ai-model-config-validator.util.ts +131 -0
  167. package/src/_modules/ai/_collections/ai-provider-error.util.ts +98 -0
  168. package/src/_modules/ai/_models/ai-input-interfaces.ts +117 -117
  169. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +16 -16
  170. package/src/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.ts +16 -0
  171. package/src/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.ts +72 -0
  172. package/src/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.ts +71 -0
  173. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.ts +57 -0
  174. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.ts +60 -0
  175. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.ts +56 -0
  176. package/src/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.ts +107 -0
  177. package/src/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.ts +15 -0
  178. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.ts +14 -0
  179. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.ts +11 -0
  180. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.ts +30 -0
  181. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.ts +19 -0
  182. package/src/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.ts +20 -0
  183. package/src/_modules/ai/{_services → _modules/ai-mock/_services}/ai-embedding-mock.service.spec.ts +115 -115
  184. package/src/_modules/ai/{_services → _modules/ai-mock/_services}/ai-embedding-mock.service.ts +213 -213
  185. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.ts +134 -0
  186. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.ts +127 -0
  187. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.ts +105 -0
  188. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.ts +50 -0
  189. package/src/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.ts +65 -0
  190. package/src/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.ts +112 -0
  191. package/src/_modules/ai/_modules/ai-mock/_services/aim-mock.service.ts +142 -0
  192. package/src/_modules/ai/_modules/ai-mock/index.ts +44 -0
  193. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +138 -138
  194. package/src/_modules/ai/_modules/anthropic/index.ts +5 -5
  195. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -242
  196. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +639 -639
  197. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +295 -295
  198. package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +518 -518
  199. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -209
  200. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +85 -85
  201. package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +7 -7
  202. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +146 -146
  203. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +162 -162
  204. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +99 -99
  205. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +68 -68
  206. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +18 -18
  207. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +19 -19
  208. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +25 -25
  209. package/src/_modules/ai/_modules/document-ai/index.ts +30 -30
  210. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +189 -189
  211. package/src/_modules/ai/_modules/fdp-ai/index.ts +5 -5
  212. package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +9 -9
  213. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +82 -82
  214. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +75 -75
  215. package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +45 -45
  216. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +7 -7
  217. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +7 -7
  218. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +57 -57
  219. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +292 -292
  220. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -342
  221. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -550
  222. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +630 -630
  223. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +332 -332
  224. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -462
  225. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +634 -634
  226. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +489 -489
  227. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +173 -173
  228. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +1075 -1033
  229. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
  230. package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +110 -110
  231. package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +110 -110
  232. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -98
  233. package/src/_modules/ai/_services/ai-embedding.service-base.ts +48 -48
  234. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -229
  235. package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +68 -68
  236. package/src/_modules/ai/_services/ai-llm.service-base.reconciler.spec.ts +133 -0
  237. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -250
  238. package/src/_modules/ai/_services/ai-llm.service-base.ts +599 -519
  239. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +158 -158
  240. package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
  241. package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +197 -197
  242. package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +371 -371
  243. package/src/_modules/ai/index.ts +33 -23
  244. package/src/_modules/assistant/_collections/ass-global-settings.const.ts +13 -13
  245. package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -176
  246. package/src/_modules/assistant/_collections/ass.util.ts +50 -50
  247. package/src/_modules/assistant/_models/ass-global-settings.interface.ts +15 -15
  248. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -140
  249. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -192
  250. package/src/_modules/assistant/_services/ass-main.control-service.ts +107 -107
  251. package/src/_modules/bot/_collections/bot-default-commands.const.ts +12 -12
  252. package/src/_modules/bot/_collections/bot-global-settings.const.ts +39 -39
  253. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +62 -62
  254. package/src/_modules/bot/_models/bot-command.interface.ts +8 -8
  255. package/src/_modules/bot/_models/bot-global-settings.interface.ts +96 -96
  256. package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +6 -6
  257. package/src/_modules/bot/_models/bot-last-message-date.interface.ts +5 -5
  258. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +41 -41
  259. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +9 -9
  260. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -431
  261. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -160
  262. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +55 -55
  263. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +15 -15
  264. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -374
  265. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +447 -447
  266. package/src/_modules/bot/_modules/dynamo-bot/index.ts +15 -15
  267. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +9 -9
  268. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -344
  269. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +197 -197
  270. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +9 -9
  271. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -345
  272. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +197 -197
  273. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -116
  274. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -285
  275. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -208
  276. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -349
  277. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -111
  278. package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -49
  279. package/src/_modules/custom-data/custom-data.controller.ts +67 -67
  280. package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -54
  281. package/src/_modules/custom-data/custom-data.data-service.ts +21 -21
  282. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -28
  283. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +24 -24
  284. package/src/_modules/custom-data/index.ts +9 -9
  285. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +161 -161
  286. package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +203 -203
  287. package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +33 -33
  288. package/src/_modules/data-readers/index.ts +11 -11
  289. package/src/_modules/defaults/_collections/default-endpoints.util.ts +487 -487
  290. package/src/_modules/defaults/_models/default-user.data-model.ts +72 -72
  291. package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -269
  292. package/src/_modules/defaults/_services/default-auth.service.ts +177 -177
  293. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -42
  294. package/src/_modules/defaults/_services/default-socket-events.service.ts +61 -61
  295. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -187
  296. package/src/_modules/defaults/_services/default-user.data-service.ts +98 -98
  297. package/src/_modules/defaults/index.ts +17 -17
  298. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +19 -19
  299. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -366
  300. package/src/_modules/discord-assistant/_collections/dias.util.ts +132 -132
  301. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +19 -19
  302. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +52 -52
  303. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +177 -177
  304. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -108
  305. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +69 -69
  306. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -22
  307. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +27 -27
  308. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -195
  309. package/src/_modules/discord-assistant/_services/dias.service-base.ts +76 -76
  310. package/src/_modules/discord-assistant/index.ts +38 -38
  311. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -34
  312. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +11 -11
  313. package/src/_modules/discord-assistant-voiced/index.ts +36 -36
  314. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +16 -16
  315. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +55 -55
  316. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -214
  317. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +387 -387
  318. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +12 -12
  319. package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +98 -98
  320. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +7 -7
  321. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +6 -6
  322. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -154
  323. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +153 -153
  324. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -264
  325. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +306 -306
  326. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -408
  327. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +487 -487
  328. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -105
  329. package/src/_modules/discord-bot/index.ts +36 -36
  330. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +35 -35
  331. package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +59 -59
  332. package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +17 -17
  333. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -418
  334. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +276 -276
  335. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +480 -480
  336. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +416 -416
  337. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +198 -198
  338. package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +146 -146
  339. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +167 -167
  340. package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +106 -106
  341. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +507 -507
  342. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +272 -272
  343. package/src/_modules/local-vector-search/index.ts +16 -16
  344. package/src/_modules/logs/index.ts +11 -11
  345. package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +111 -111
  346. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +142 -142
  347. package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +120 -120
  348. package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +168 -168
  349. package/src/_modules/mcp/index.ts +13 -13
  350. package/src/_modules/messaging/README.md +354 -354
  351. package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +26 -26
  352. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +22 -22
  353. package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -226
  354. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +37 -37
  355. package/src/_modules/messaging/_services/msg-conversation.data-service.ts +146 -146
  356. package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -219
  357. package/src/_modules/messaging/_services/msg-events.service.ts +267 -267
  358. package/src/_modules/messaging/_services/msg-integration.control-service.ts +179 -179
  359. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -147
  360. package/src/_modules/messaging/_services/msg-main.control-service.ts +571 -571
  361. package/src/_modules/messaging/_services/msg-message.data-service.ts +129 -129
  362. package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -201
  363. package/src/_modules/messaging/index.ts +30 -30
  364. package/src/_modules/mock/app-extended-server.mock.ts +201 -201
  365. package/src/_modules/mock/app-integration-test.mock.ts +51 -51
  366. package/src/_modules/mock/app-params.mock.spec.ts +21 -21
  367. package/src/_modules/mock/app-params.mock.ts +9 -9
  368. package/src/_modules/mock/app-server.mock.ts +188 -188
  369. package/src/_modules/mock/auth-service.mock.spec.ts +47 -47
  370. package/src/_modules/mock/auth-service.mock.ts +28 -28
  371. package/src/_modules/mock/controller.mock.spec.ts +26 -26
  372. package/src/_modules/mock/controller.mock.ts +16 -16
  373. package/src/_modules/mock/data-model.mock.spec.ts +111 -111
  374. package/src/_modules/mock/data-model.mock.ts +82 -82
  375. package/src/_modules/mock/email-service-collection.mock.spec.ts +24 -24
  376. package/src/_modules/mock/email-service-collection.mock.ts +15 -15
  377. package/src/_modules/mock/email-service.mock.spec.ts +17 -17
  378. package/src/_modules/mock/email-service.mock.ts +20 -20
  379. package/src/_modules/mock/email-template.mock.html +14 -14
  380. package/src/_modules/mock/endpoint.mock.ts +91 -91
  381. package/src/_modules/mock/socket-client.mock.spec.ts +40 -40
  382. package/src/_modules/mock/socket-client.mock.ts +45 -45
  383. package/src/_modules/mock/socket-server.mock.spec.ts +44 -44
  384. package/src/_modules/mock/socket-server.mock.ts +46 -46
  385. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -107
  386. package/src/_modules/oauth2/_routes/oauth2.controller.ts +98 -98
  387. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -254
  388. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -232
  389. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -585
  390. package/src/_modules/oauth2/_services/oauth2.control-service.ts +653 -653
  391. package/src/_modules/oauth2/index.ts +17 -17
  392. package/src/_modules/scheduler/_models/scheduler-job.interface.ts +35 -35
  393. package/src/_modules/scheduler/get-scheduler-routing-module.util.ts +33 -33
  394. package/src/_modules/scheduler/index.ts +8 -8
  395. package/src/_modules/scheduler/scheduler.controller.spec.ts +42 -42
  396. package/src/_modules/scheduler/scheduler.controller.ts +69 -69
  397. package/src/_modules/scheduler/scheduler.service.spec.ts +141 -141
  398. package/src/_modules/scheduler/scheduler.service.ts +176 -176
  399. package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +22 -22
  400. package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +81 -81
  401. package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +107 -107
  402. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +306 -306
  403. package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +295 -295
  404. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +118 -118
  405. package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +105 -105
  406. package/src/_modules/scoped-config/index.ts +17 -17
  407. package/src/_modules/server/errors/errors.control-service.spec.ts +238 -238
  408. package/src/_modules/server/errors/errors.control-service.ts +100 -100
  409. package/src/_modules/server/errors/errors.controller.spec.ts +268 -268
  410. package/src/_modules/server/errors/errors.controller.ts +515 -515
  411. package/src/_modules/server/errors/errors.data-service.spec.ts +480 -480
  412. package/src/_modules/server/index.ts +30 -30
  413. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -70
  414. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +17 -17
  415. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -77
  416. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +37 -37
  417. package/src/_modules/server/server-status/server-status.control-service.spec.ts +576 -576
  418. package/src/_modules/server/server-status/server-status.control-service.ts +421 -396
  419. package/src/_modules/server/server-status/server-status.controller.spec.ts +255 -255
  420. package/src/_modules/server/server-status/server-status.controller.ts +292 -292
  421. package/src/_modules/socket/_enums/socket-security.enum.ts +11 -11
  422. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +32 -32
  423. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +22 -22
  424. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -164
  425. package/src/_modules/socket/_models/socket-presence.control-model.ts +210 -210
  426. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +46 -46
  427. package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +22 -22
  428. package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -15
  429. package/src/_modules/socket/_services/socket-client.service.ts +260 -260
  430. package/src/_modules/socket/_services/socket-server.service.spec.ts +11 -11
  431. package/src/_modules/socket/app-extended.integration.spec.ts +85 -85
  432. package/src/_modules/socket/app-extended.server.ts +642 -642
  433. package/src/_modules/socket/index.ts +42 -42
  434. package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -28
  435. package/src/_modules/test/get-test-routing-module.util.ts +23 -23
  436. package/src/_modules/test/index.ts +11 -11
  437. package/src/_modules/test/test.controller.spec.ts +72 -72
  438. package/src/_modules/test/test.controller.ts +115 -115
  439. package/src/_modules/usage/get-usage-routing-module.util.ts +22 -22
  440. package/src/_modules/usage/index.ts +15 -15
  441. package/src/_modules/usage/usage.controller.spec.ts +81 -81
  442. package/src/_modules/usage/usage.controller.ts +126 -126
  443. package/src/_modules/usage/usage.data-service.spec.ts +332 -332
  444. package/src/_modules/usage/usage.data-service.ts +185 -185
  445. package/src/_services/base/api.service-base.spec.ts +125 -125
  446. package/src/_services/base/api.service-base.ts +74 -74
  447. package/src/_services/base/archive-data.service.spec.ts +209 -209
  448. package/src/_services/base/archive-data.service.ts +223 -223
  449. package/src/_services/base/data.service.spec.ts +729 -729
  450. package/src/_services/base/data.service.ts +2758 -2758
  451. package/src/_services/base/db.service.spec.ts +160 -160
  452. package/src/_services/base/db.service.ts +1644 -1644
  453. package/src/_services/base/singleton.service-base.spec.ts +28 -28
  454. package/src/_services/base/singleton.service-base.ts +24 -24
  455. package/src/_services/base/singleton.service.spec.ts +114 -114
  456. package/src/_services/base/singleton.service.ts +38 -38
  457. package/src/_services/core/api.service.spec.ts +140 -140
  458. package/src/_services/core/auth.service.spec.ts +159 -159
  459. package/src/_services/core/auth.service.ts +174 -174
  460. package/src/_services/core/email.service.spec.ts +85 -85
  461. package/src/_services/core/email.service.ts +757 -757
  462. package/src/_services/core/global.service.spec.ts +292 -292
  463. package/src/_services/core/global.service.ts +487 -487
  464. package/src/_services/core/memory-guard.service.spec.ts +245 -245
  465. package/src/_services/core/memory-guard.service.ts +481 -481
  466. package/src/_services/core/service-collection.service.spec.ts +46 -46
  467. package/src/_services/core/service-collection.service.ts +6 -6
  468. package/src/_services/route/controller.service.spec.ts +53 -53
  469. package/src/_services/route/controller.service.ts +148 -148
  470. package/src/_services/route/routing-module.service.spec.ts +98 -98
  471. package/src/_services/route/routing-module.service.ts +330 -330
  472. package/src/_services/server/app.server.ts +1985 -1985
  473. package/src/_services/shared.static-service.spec.ts +99 -99
  474. package/src/_services/shared.static-service.ts +78 -78
  475. package/src/index.ts +100 -100
  476. package/tsconfig.app.json +12 -12
  477. package/tsconfig.json +42 -42
  478. package/build/_modules/ai/_services/ai-embedding-mock.service.d.ts.map +0 -1
  479. package/build/_modules/ai/_services/ai-embedding-mock.service.js.map +0 -1
@@ -1,99 +1,99 @@
1
- import { DyNTS_Shared } from './shared.static-service';
2
- import { Request } from 'express';
3
- import * as GeoIp from 'geoip-lite';
4
-
5
- describe('| DyNTS_Shared', () => {
6
- describe('| getIpFromRequest', () => {
7
- it('| should extract IP from x-forwarded-for header', () => {
8
- const mockRequest = {
9
- headers: {
10
- 'x-forwarded-for': '192.168.1.1, 10.0.0.1, 172.16.0.1',
11
- },
12
- socket: {
13
- remoteAddress: '127.0.0.1',
14
- },
15
- } as any as Request;
16
-
17
- const ip = DyNTS_Shared.getIpFromRequest(mockRequest);
18
-
19
- expect(ip).toBe('172.16.0.1');
20
- });
21
-
22
- it('| should extract IP from socket.remoteAddress when x-forwarded-for is not present', () => {
23
- const mockRequest = {
24
- headers: {},
25
- socket: {
26
- remoteAddress: '192.168.1.100',
27
- },
28
- } as any as Request;
29
-
30
- const ip = DyNTS_Shared.getIpFromRequest(mockRequest);
31
-
32
- expect(ip).toBe('192.168.1.100');
33
- });
34
-
35
- it('| should handle single IP in x-forwarded-for header', () => {
36
- const mockRequest = {
37
- headers: {
38
- 'x-forwarded-for': '192.168.1.1',
39
- },
40
- socket: {
41
- remoteAddress: '127.0.0.1',
42
- },
43
- } as any as Request;
44
-
45
- const ip = DyNTS_Shared.getIpFromRequest(mockRequest);
46
-
47
- expect(ip).toBe('192.168.1.1');
48
- });
49
-
50
- it('| should handle empty x-forwarded-for header', () => {
51
- const mockRequest = {
52
- headers: {
53
- 'x-forwarded-for': '',
54
- },
55
- socket: {
56
- remoteAddress: '127.0.0.1',
57
- },
58
- } as any as Request;
59
-
60
- const ip = DyNTS_Shared.getIpFromRequest(mockRequest);
61
-
62
- expect(ip).toBe('127.0.0.1');
63
- });
64
- });
65
-
66
- // Skip geoip tests - GeoIp.lookup is not writable/mockable
67
- describe('| getLocationDataByRequest', () => {
68
- it('| should return location data for request IP', () => {
69
- // Skipped - GeoIp.lookup cannot be mocked
70
- });
71
- });
72
-
73
- describe('| getLocationByIp', () => {
74
- it('| should return location data for IP address', () => {
75
- // Skipped - GeoIp.lookup cannot be mocked
76
- });
77
-
78
- it('| should return null for invalid IP', () => {
79
- // Skipped - GeoIp.lookup cannot be mocked
80
- });
81
- });
82
-
83
- describe('| prompt', () => {
84
- it('| should be accessible', () => {
85
- expect(DyNTS_Shared.prompt).toBeTruthy();
86
- expect(typeof DyNTS_Shared.prompt).toBe('function');
87
- });
88
-
89
- // Note: prompt() is difficult to test in unit tests as it requires stdin/stdout interaction
90
- // Integration tests would be more appropriate for this method
91
- });
92
-
93
- it('| getIpFromRequest should be accessible', () => {
94
- expect(DyNTS_Shared.getIpFromRequest).toBeTruthy();
95
- expect(DyNTS_Shared.getLocationByIp).toBeTruthy();
96
- expect(DyNTS_Shared.getLocationDataByRequest).toBeTruthy();
97
- expect(DyNTS_Shared.prompt).toBeTruthy();
98
- });
99
- });
1
+ import { DyNTS_Shared } from './shared.static-service';
2
+ import { Request } from 'express';
3
+ import * as GeoIp from 'geoip-lite';
4
+
5
+ describe('| DyNTS_Shared', () => {
6
+ describe('| getIpFromRequest', () => {
7
+ it('| should extract IP from x-forwarded-for header', () => {
8
+ const mockRequest = {
9
+ headers: {
10
+ 'x-forwarded-for': '192.168.1.1, 10.0.0.1, 172.16.0.1',
11
+ },
12
+ socket: {
13
+ remoteAddress: '127.0.0.1',
14
+ },
15
+ } as any as Request;
16
+
17
+ const ip = DyNTS_Shared.getIpFromRequest(mockRequest);
18
+
19
+ expect(ip).toBe('172.16.0.1');
20
+ });
21
+
22
+ it('| should extract IP from socket.remoteAddress when x-forwarded-for is not present', () => {
23
+ const mockRequest = {
24
+ headers: {},
25
+ socket: {
26
+ remoteAddress: '192.168.1.100',
27
+ },
28
+ } as any as Request;
29
+
30
+ const ip = DyNTS_Shared.getIpFromRequest(mockRequest);
31
+
32
+ expect(ip).toBe('192.168.1.100');
33
+ });
34
+
35
+ it('| should handle single IP in x-forwarded-for header', () => {
36
+ const mockRequest = {
37
+ headers: {
38
+ 'x-forwarded-for': '192.168.1.1',
39
+ },
40
+ socket: {
41
+ remoteAddress: '127.0.0.1',
42
+ },
43
+ } as any as Request;
44
+
45
+ const ip = DyNTS_Shared.getIpFromRequest(mockRequest);
46
+
47
+ expect(ip).toBe('192.168.1.1');
48
+ });
49
+
50
+ it('| should handle empty x-forwarded-for header', () => {
51
+ const mockRequest = {
52
+ headers: {
53
+ 'x-forwarded-for': '',
54
+ },
55
+ socket: {
56
+ remoteAddress: '127.0.0.1',
57
+ },
58
+ } as any as Request;
59
+
60
+ const ip = DyNTS_Shared.getIpFromRequest(mockRequest);
61
+
62
+ expect(ip).toBe('127.0.0.1');
63
+ });
64
+ });
65
+
66
+ // Skip geoip tests - GeoIp.lookup is not writable/mockable
67
+ describe('| getLocationDataByRequest', () => {
68
+ it('| should return location data for request IP', () => {
69
+ // Skipped - GeoIp.lookup cannot be mocked
70
+ });
71
+ });
72
+
73
+ describe('| getLocationByIp', () => {
74
+ it('| should return location data for IP address', () => {
75
+ // Skipped - GeoIp.lookup cannot be mocked
76
+ });
77
+
78
+ it('| should return null for invalid IP', () => {
79
+ // Skipped - GeoIp.lookup cannot be mocked
80
+ });
81
+ });
82
+
83
+ describe('| prompt', () => {
84
+ it('| should be accessible', () => {
85
+ expect(DyNTS_Shared.prompt).toBeTruthy();
86
+ expect(typeof DyNTS_Shared.prompt).toBe('function');
87
+ });
88
+
89
+ // Note: prompt() is difficult to test in unit tests as it requires stdin/stdout interaction
90
+ // Integration tests would be more appropriate for this method
91
+ });
92
+
93
+ it('| getIpFromRequest should be accessible', () => {
94
+ expect(DyNTS_Shared.getIpFromRequest).toBeTruthy();
95
+ expect(DyNTS_Shared.getLocationByIp).toBeTruthy();
96
+ expect(DyNTS_Shared.getLocationDataByRequest).toBeTruthy();
97
+ expect(DyNTS_Shared.prompt).toBeTruthy();
98
+ });
99
+ });
@@ -1,78 +1,78 @@
1
-
2
- import * as ReadLine from 'readline';
3
- import * as GeoIp from 'geoip-lite';
4
- import { Request } from 'express';
5
-
6
- import { DyFM_Object } from '@futdevpro/fsm-dynamo';
7
- import { DyFM_GeoIpLocation } from '@futdevpro/fsm-dynamo/location';
8
-
9
- /**
10
- * Collection of static helper utilities shared across modules.
11
- */
12
- export class DyNTS_Shared extends DyFM_Object {
13
-
14
- /**
15
- * Extract the IP address from an Express request.
16
- *
17
- * @param request Incoming HTTP request
18
- * @returns Resolved IP string
19
- */
20
- static getIpFromRequest(request: Request): string {
21
- let ip: string;
22
-
23
- if (request?.headers?.['x-forwarded-for']) {
24
- const route: string[] = (request.headers['x-forwarded-for'] as string).split(', ');
25
-
26
- console.log('TESTTTT route:', route);
27
- ip = route[route.length - 1];
28
- } else {
29
- ip = request.socket.remoteAddress;
30
- }
31
-
32
- return ip;
33
- }
34
-
35
- /**
36
- * Lookup the Geo location of a request based on its IP address.
37
- *
38
- * @param request Incoming request
39
- * @returns Resolved geo location information
40
- */
41
- static getLocationDataByRequest(request: Request): DyFM_GeoIpLocation {
42
- return GeoIp.lookup(this.getIpFromRequest(request));
43
- }
44
-
45
- /**
46
- * Lookup the Geo location of a raw IP address.
47
- *
48
- * @param ip IP address string
49
- * @returns Geo location information
50
- */
51
- static getLocationByIp(ip: string): DyFM_GeoIpLocation {
52
- return GeoIp.lookup(ip);
53
- }
54
-
55
- /**
56
- * Simple CLI helper to prompt the user for input.
57
- *
58
- * @param question Text displayed to the user
59
- * @returns Entered string value
60
- */
61
- static async prompt(question: string): Promise<string> {
62
- const readLine = ReadLine.createInterface({
63
- input: process.stdin,
64
- output: process.stdout,
65
- });
66
-
67
- return new Promise((resolve, reject) => {
68
- try {
69
- readLine.question(question, (result: string) => {
70
- resolve(result);
71
- readLine.close();
72
- });
73
- } catch (error) {
74
- reject(error);
75
- }
76
- });
77
- }
78
- }
1
+
2
+ import * as ReadLine from 'readline';
3
+ import * as GeoIp from 'geoip-lite';
4
+ import { Request } from 'express';
5
+
6
+ import { DyFM_Object } from '@futdevpro/fsm-dynamo';
7
+ import { DyFM_GeoIpLocation } from '@futdevpro/fsm-dynamo/location';
8
+
9
+ /**
10
+ * Collection of static helper utilities shared across modules.
11
+ */
12
+ export class DyNTS_Shared extends DyFM_Object {
13
+
14
+ /**
15
+ * Extract the IP address from an Express request.
16
+ *
17
+ * @param request Incoming HTTP request
18
+ * @returns Resolved IP string
19
+ */
20
+ static getIpFromRequest(request: Request): string {
21
+ let ip: string;
22
+
23
+ if (request?.headers?.['x-forwarded-for']) {
24
+ const route: string[] = (request.headers['x-forwarded-for'] as string).split(', ');
25
+
26
+ console.log('TESTTTT route:', route);
27
+ ip = route[route.length - 1];
28
+ } else {
29
+ ip = request.socket.remoteAddress;
30
+ }
31
+
32
+ return ip;
33
+ }
34
+
35
+ /**
36
+ * Lookup the Geo location of a request based on its IP address.
37
+ *
38
+ * @param request Incoming request
39
+ * @returns Resolved geo location information
40
+ */
41
+ static getLocationDataByRequest(request: Request): DyFM_GeoIpLocation {
42
+ return GeoIp.lookup(this.getIpFromRequest(request));
43
+ }
44
+
45
+ /**
46
+ * Lookup the Geo location of a raw IP address.
47
+ *
48
+ * @param ip IP address string
49
+ * @returns Geo location information
50
+ */
51
+ static getLocationByIp(ip: string): DyFM_GeoIpLocation {
52
+ return GeoIp.lookup(ip);
53
+ }
54
+
55
+ /**
56
+ * Simple CLI helper to prompt the user for input.
57
+ *
58
+ * @param question Text displayed to the user
59
+ * @returns Entered string value
60
+ */
61
+ static async prompt(question: string): Promise<string> {
62
+ const readLine = ReadLine.createInterface({
63
+ input: process.stdin,
64
+ output: process.stdout,
65
+ });
66
+
67
+ return new Promise((resolve, reject) => {
68
+ try {
69
+ readLine.question(question, (result: string) => {
70
+ resolve(result);
71
+ readLine.close();
72
+ });
73
+ } catch (error) {
74
+ reject(error);
75
+ }
76
+ });
77
+ }
78
+ }
package/src/index.ts CHANGED
@@ -1,103 +1,103 @@
1
-
2
-
3
- /* try {
4
- require('@futdevpro/fsm-dynamo');
5
- } catch (error) {
6
- console.log(
7
- '❌ FSM-Dynamo package not found, please install it with: pnpm add @futdevpro/fsm-dynamo'
8
- );
9
- }
10
-
11
- try {
12
- require('express');
13
- } catch (error) {
14
- console.log(
15
- '❌ Express package not found, please install it with: pnpm add express'
16
- );
17
- }
18
-
19
- try {
20
- require('axios');
21
- } catch (error) {
22
- console.log(
23
- '❌ Axios package not found, please install it with: pnpm add axios'
24
- );
25
- } */
26
-
27
- // COLLECTIONS
28
- export * from './_collections/archive.util';
29
- export * from './_collections/atlas-default-db-options.const';
30
- export * from './_collections/default-fallback-cache-max-age.const';
31
- export * from './_collections/default-not-found-page.const';
32
- export * from './_collections/default-socket-path.const';
33
- export * from './_collections/get-environment-settings.util';
34
- export * from './_collections/global-settings.const';
35
-
36
-
37
- // ENUMS
38
- export * from './_enums/data-model-type.enum';
39
- export * from './_enums/data-service-function.enum';
40
- export * from './_enums/predefined-data-types.enum';
41
- export * from './_enums/route-security.enum';
42
-
43
-
44
- // MODELS (CONTROL-MODELS, INTERFACES, TYPES)
45
-
46
- /** Interfaces describing global configuration and certificates. */
47
- export * from './_models/interfaces/certification-settings.interface';
48
- export * from './_models/interfaces/environment-settings.interface';
49
- export * from './_models/interfaces/global-service-settings.interface';
50
- export * from './_models/interfaces/global-settings.interface';
51
- export * from './_models/interfaces/routing-module-settings.interface';
52
- export * from './_models/interfaces/static-client-settings.interface';
53
- export * from './_models/interfaces/cors-settings.interface';
54
- export * from './_models/interfaces/security-headers-settings.interface';
55
- export * from './_models/interfaces/db-query-options.interface';
1
+
2
+
3
+ /* try {
4
+ require('@futdevpro/fsm-dynamo');
5
+ } catch (error) {
6
+ console.log(
7
+ '❌ FSM-Dynamo package not found, please install it with: pnpm add @futdevpro/fsm-dynamo'
8
+ );
9
+ }
10
+
11
+ try {
12
+ require('express');
13
+ } catch (error) {
14
+ console.log(
15
+ '❌ Express package not found, please install it with: pnpm add express'
16
+ );
17
+ }
18
+
19
+ try {
20
+ require('axios');
21
+ } catch (error) {
22
+ console.log(
23
+ '❌ Axios package not found, please install it with: pnpm add axios'
24
+ );
25
+ } */
26
+
27
+ // COLLECTIONS
28
+ export * from './_collections/archive.util';
29
+ export * from './_collections/atlas-default-db-options.const';
30
+ export * from './_collections/default-fallback-cache-max-age.const';
31
+ export * from './_collections/default-not-found-page.const';
32
+ export * from './_collections/default-socket-path.const';
33
+ export * from './_collections/get-environment-settings.util';
34
+ export * from './_collections/global-settings.const';
35
+
36
+
37
+ // ENUMS
38
+ export * from './_enums/data-model-type.enum';
39
+ export * from './_enums/data-service-function.enum';
40
+ export * from './_enums/predefined-data-types.enum';
41
+ export * from './_enums/route-security.enum';
42
+
43
+
44
+ // MODELS (CONTROL-MODELS, INTERFACES, TYPES)
45
+
46
+ /** Interfaces describing global configuration and certificates. */
47
+ export * from './_models/interfaces/certification-settings.interface';
48
+ export * from './_models/interfaces/environment-settings.interface';
49
+ export * from './_models/interfaces/global-service-settings.interface';
50
+ export * from './_models/interfaces/global-settings.interface';
51
+ export * from './_models/interfaces/routing-module-settings.interface';
52
+ export * from './_models/interfaces/static-client-settings.interface';
53
+ export * from './_models/interfaces/cors-settings.interface';
54
+ export * from './_models/interfaces/security-headers-settings.interface';
55
+ export * from './_models/interfaces/db-query-options.interface';
56
56
  export * from './_collections/security-headers.util';
57
57
  export * from './_collections/client-safe-error.util';
58
58
  export * from './_collections/load-shed.util';
59
- export * from './_services/core/event-loop-diag.service';
60
-
61
- // models/CONTROL MODELS
62
- export * from './_models/control-models/api-call-params.control-model';
63
- export * from './_models/control-models/app-ext-system-controls.control-model'
64
- export * from './_models/control-models/app-params.control-model';
65
- export * from './_models/control-models/app-system-controls.control-model';
66
- export * from './_models/control-models/endpoint-params.control-model';
67
- export * from './_models/control-models/http-settings.control-model';
68
- export * from './_models/control-models/system-control.control-model';
69
-
70
- // models/TYPES
71
- export * from './_models/types/db-update.type';
72
-
73
-
74
- // SERVICES
75
- // services/CORE
76
- export * from './_services/core/api.service';
77
- export * from './_services/core/auth.service';
78
-
79
- export * from './_services/core/email.service';
80
- export * from './_services/core/collection-growth-monitor.service';
81
- export * from './_services/core/global.service';
82
- export * from './_services/core/memory-guard.service';
83
-
84
- export * from './_services/core/service-collection.service';
85
-
86
- // services/BASE
87
- export * from './_services/base/api.service-base';
88
- export * from './_services/base/archive-data.service';
89
- export * from './_services/base/data.service';
90
- export * from './_services/base/db.service';
91
- export * from './_services/base/singleton.service-base';
92
- export * from './_services/base/singleton.service';
93
-
94
- // services/SERVER
95
- export * from './_services/server/app.server';
96
-
97
- // services/ROUTE
98
- export * from './_services/route/controller.service';
99
- export * from './_services/route/routing-module.service';
100
-
101
- // services/SHARED
102
- export * from './_services/shared.static-service';
103
-
59
+ export * from './_services/core/event-loop-diag.service';
60
+
61
+ // models/CONTROL MODELS
62
+ export * from './_models/control-models/api-call-params.control-model';
63
+ export * from './_models/control-models/app-ext-system-controls.control-model'
64
+ export * from './_models/control-models/app-params.control-model';
65
+ export * from './_models/control-models/app-system-controls.control-model';
66
+ export * from './_models/control-models/endpoint-params.control-model';
67
+ export * from './_models/control-models/http-settings.control-model';
68
+ export * from './_models/control-models/system-control.control-model';
69
+
70
+ // models/TYPES
71
+ export * from './_models/types/db-update.type';
72
+
73
+
74
+ // SERVICES
75
+ // services/CORE
76
+ export * from './_services/core/api.service';
77
+ export * from './_services/core/auth.service';
78
+
79
+ export * from './_services/core/email.service';
80
+ export * from './_services/core/collection-growth-monitor.service';
81
+ export * from './_services/core/global.service';
82
+ export * from './_services/core/memory-guard.service';
83
+
84
+ export * from './_services/core/service-collection.service';
85
+
86
+ // services/BASE
87
+ export * from './_services/base/api.service-base';
88
+ export * from './_services/base/archive-data.service';
89
+ export * from './_services/base/data.service';
90
+ export * from './_services/base/db.service';
91
+ export * from './_services/base/singleton.service-base';
92
+ export * from './_services/base/singleton.service';
93
+
94
+ // services/SERVER
95
+ export * from './_services/server/app.server';
96
+
97
+ // services/ROUTE
98
+ export * from './_services/route/controller.service';
99
+ export * from './_services/route/routing-module.service';
100
+
101
+ // services/SHARED
102
+ export * from './_services/shared.static-service';
103
+
package/tsconfig.app.json CHANGED
@@ -1,12 +1,12 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
- {
3
- "extends": "./tsconfig.json",
4
- "compilerOptions": {
5
- "types": [
6
- "_assets/html.d"
7
- ]
8
- },
9
- "include": [
10
- "src/_assets"
11
- ]
12
- }
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.json",
4
+ "compilerOptions": {
5
+ "types": [
6
+ "_assets/html.d"
7
+ ]
8
+ },
9
+ "include": [
10
+ "src/_assets"
11
+ ]
12
+ }
package/tsconfig.json CHANGED
@@ -1,42 +1,42 @@
1
- {
2
- "compilerOptions": {
3
- "incremental": false,
4
- "module": "commonjs",
5
- "target": "es2022",
6
- "lib": [
7
- "es6",
8
- "es2018",
9
- "es2022",
10
- "dom"
11
- ],
12
- "allowJs": true,
13
- "declaration": true,
14
- "declarationMap": true,
15
- "sourceMap": true,
16
- "outDir": "./build",
17
- "rootDir": "./src",
18
- "importHelpers": true,
19
- "moduleResolution": "node",
20
- "esModuleInterop": true,
21
- "skipLibCheck": true,
22
- "noImplicitOverride": true,
23
- "allowSyntheticDefaultImports": true,
24
- "forceConsistentCasingInFileNames": true,
25
- "resolveJsonModule": true,
26
- "paths": {
27
- }
28
- },
29
- "include": [
30
- "src"
31
- ],
32
- "DISABLED": {
33
- "paths": {
34
- "@futdevpro/fsm-dynamo": [
35
- "../dynamo-fsm/src/index.ts"
36
- ],
37
- "@futdevpro/fsm-dynamo/*": [
38
- "../dynamo-fsm/src/_modules/*.index.ts"
39
- ]
40
- }
41
- }
42
- }
1
+ {
2
+ "compilerOptions": {
3
+ "incremental": false,
4
+ "module": "commonjs",
5
+ "target": "es2022",
6
+ "lib": [
7
+ "es6",
8
+ "es2018",
9
+ "es2022",
10
+ "dom"
11
+ ],
12
+ "allowJs": true,
13
+ "declaration": true,
14
+ "declarationMap": true,
15
+ "sourceMap": true,
16
+ "outDir": "./build",
17
+ "rootDir": "./src",
18
+ "importHelpers": true,
19
+ "moduleResolution": "node",
20
+ "esModuleInterop": true,
21
+ "skipLibCheck": true,
22
+ "noImplicitOverride": true,
23
+ "allowSyntheticDefaultImports": true,
24
+ "forceConsistentCasingInFileNames": true,
25
+ "resolveJsonModule": true,
26
+ "paths": {
27
+ }
28
+ },
29
+ "include": [
30
+ "src"
31
+ ],
32
+ "DISABLED": {
33
+ "paths": {
34
+ "@futdevpro/fsm-dynamo": [
35
+ "../dynamo-fsm/src/index.ts"
36
+ ],
37
+ "@futdevpro/fsm-dynamo/*": [
38
+ "../dynamo-fsm/src/_modules/*.index.ts"
39
+ ]
40
+ }
41
+ }
42
+ }