@futdevpro/nts-dynamo 1.15.156 → 1.15.157

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 (782) hide show
  1. package/__documentations/2026-08-22-bfr-ctm-018-content-free-endpoint-errors.md +54 -54
  2. package/__documentations/2026-08-22-bfr-ctm-020-content-free-request-telemetry.md +65 -0
  3. package/__documentations/2026-08-22-content-free-process-error-boundary.md +26 -26
  4. package/build/_collections/app-version-header.util.d.ts +41 -41
  5. package/build/_collections/app-version-header.util.js +66 -66
  6. package/build/_collections/archive-service-registry.const.d.ts +15 -15
  7. package/build/_collections/archive-service-registry.const.js +14 -14
  8. package/build/_collections/archive.util.d.ts +12 -12
  9. package/build/_collections/archive.util.js +18 -18
  10. package/build/_collections/atlas-default-db-options.const.d.ts +2 -2
  11. package/build/_collections/atlas-default-db-options.const.js +9 -9
  12. package/build/_collections/client-safe-error.util.d.ts +38 -38
  13. package/build/_collections/client-safe-error.util.js +96 -96
  14. package/build/_collections/default-fallback-cache-max-age.const.d.ts +2 -2
  15. package/build/_collections/default-fallback-cache-max-age.const.js +5 -5
  16. package/build/_collections/default-not-found-page.const.d.ts +5 -5
  17. package/build/_collections/default-not-found-page.const.js +24 -24
  18. package/build/_collections/default-socket-path.const.d.ts +2 -2
  19. package/build/_collections/default-socket-path.const.js +5 -5
  20. package/build/_collections/field-encryption.util.d.ts +85 -85
  21. package/build/_collections/field-encryption.util.js +192 -192
  22. package/build/_collections/get-environment-settings.util.d.ts +2 -2
  23. package/build/_collections/get-environment-settings.util.js +43 -43
  24. package/build/_collections/global-settings.const.d.ts +6 -6
  25. package/build/_collections/global-settings.const.js +104 -104
  26. package/build/_collections/load-shed.util.d.ts +15 -15
  27. package/build/_collections/load-shed.util.js +42 -42
  28. package/build/_collections/mongo-reconnect-guard.util.d.ts +73 -73
  29. package/build/_collections/mongo-reconnect-guard.util.js +110 -110
  30. package/build/_collections/npm-token-check.util.d.ts +138 -138
  31. package/build/_collections/npm-token-check.util.js +301 -301
  32. package/build/_collections/security-headers.util.d.ts +16 -16
  33. package/build/_collections/security-headers.util.js +77 -77
  34. package/build/_collections/signed-url.util.d.ts +84 -84
  35. package/build/_collections/signed-url.util.js +145 -145
  36. package/build/_collections/star.controller.d.ts +7 -7
  37. package/build/_collections/star.controller.js +97 -97
  38. package/build/_collections/static-cache-control.util.d.ts +17 -17
  39. package/build/_collections/static-cache-control.util.js +23 -23
  40. package/build/_enums/data-model-type.enum.d.ts +13 -13
  41. package/build/_enums/data-model-type.enum.js +17 -17
  42. package/build/_enums/data-service-function.enum.d.ts +18 -18
  43. package/build/_enums/data-service-function.enum.js +24 -24
  44. package/build/_enums/predefined-data-types.enum.d.ts +15 -15
  45. package/build/_enums/predefined-data-types.enum.js +19 -19
  46. package/build/_enums/route-security.enum.d.ts +11 -11
  47. package/build/_enums/route-security.enum.js +15 -15
  48. package/build/_models/control-models/api-call-params.control-model.d.ts +79 -79
  49. package/build/_models/control-models/api-call-params.control-model.js +101 -101
  50. package/build/_models/control-models/app-ext-system-controls.control-model.d.ts +6 -6
  51. package/build/_models/control-models/app-ext-system-controls.control-model.js +10 -10
  52. package/build/_models/control-models/app-params.control-model.d.ts +51 -51
  53. package/build/_models/control-models/app-params.control-model.js +118 -118
  54. package/build/_models/control-models/app-system-controls.control-model.d.ts +7 -7
  55. package/build/_models/control-models/app-system-controls.control-model.js +11 -11
  56. package/build/_models/control-models/endpoint-params.control-model.d.ts +125 -125
  57. package/build/_models/control-models/endpoint-params.control-model.js +409 -409
  58. package/build/_models/control-models/http-settings.control-model.d.ts +17 -17
  59. package/build/_models/control-models/http-settings.control-model.js +34 -34
  60. package/build/_models/control-models/system-control.control-model.d.ts +5 -5
  61. package/build/_models/control-models/system-control.control-model.js +11 -11
  62. package/build/_models/data-models/schema-migration.data-model.d.ts +28 -28
  63. package/build/_models/data-models/schema-migration.data-model.js +46 -46
  64. package/build/_models/interfaces/app-version-header-settings.interface.d.ts +16 -16
  65. package/build/_models/interfaces/app-version-header-settings.interface.js +2 -2
  66. package/build/_models/interfaces/certification-settings.interface.d.ts +5 -5
  67. package/build/_models/interfaces/certification-settings.interface.js +2 -2
  68. package/build/_models/interfaces/compare-data-options.interface.d.ts +26 -26
  69. package/build/_models/interfaces/compare-data-options.interface.js +2 -2
  70. package/build/_models/interfaces/compare-data-result.interface.d.ts +12 -12
  71. package/build/_models/interfaces/compare-data-result.interface.js +2 -2
  72. package/build/_models/interfaces/cors-settings.interface.d.ts +51 -51
  73. package/build/_models/interfaces/cors-settings.interface.js +2 -2
  74. package/build/_models/interfaces/db-query-options.interface.d.ts +32 -32
  75. package/build/_models/interfaces/db-query-options.interface.js +2 -2
  76. package/build/_models/interfaces/environment-settings.interface.d.ts +34 -34
  77. package/build/_models/interfaces/environment-settings.interface.js +2 -2
  78. package/build/_models/interfaces/global-log-settings.interface.d.ts +145 -145
  79. package/build/_models/interfaces/global-log-settings.interface.js +2 -2
  80. package/build/_models/interfaces/global-service-settings.interface.d.ts +30 -30
  81. package/build/_models/interfaces/global-service-settings.interface.js +2 -2
  82. package/build/_models/interfaces/global-settings.interface.d.ts +265 -265
  83. package/build/_models/interfaces/global-settings.interface.js +2 -2
  84. package/build/_models/interfaces/migration-entry.interface.d.ts +19 -19
  85. package/build/_models/interfaces/migration-entry.interface.js +2 -2
  86. package/build/_models/interfaces/mongo-transaction-settings.interface.d.ts +8 -8
  87. package/build/_models/interfaces/mongo-transaction-settings.interface.js +2 -2
  88. package/build/_models/interfaces/request-telemetry-settings.interface.d.ts +10 -0
  89. package/build/_models/interfaces/request-telemetry-settings.interface.d.ts.map +1 -0
  90. package/build/_models/interfaces/request-telemetry-settings.interface.js +3 -0
  91. package/build/_models/interfaces/request-telemetry-settings.interface.js.map +1 -0
  92. package/build/_models/interfaces/request-telemetry-snapshot.interface.d.ts +29 -0
  93. package/build/_models/interfaces/request-telemetry-snapshot.interface.d.ts.map +1 -0
  94. package/build/_models/interfaces/request-telemetry-snapshot.interface.js +3 -0
  95. package/build/_models/interfaces/request-telemetry-snapshot.interface.js.map +1 -0
  96. package/build/_models/interfaces/routing-module-settings.interface.d.ts +19 -19
  97. package/build/_models/interfaces/routing-module-settings.interface.js +2 -2
  98. package/build/_models/interfaces/security-headers-settings.interface.d.ts +41 -41
  99. package/build/_models/interfaces/security-headers-settings.interface.js +2 -2
  100. package/build/_models/interfaces/signed-url-verify-result.interface.d.ts +13 -13
  101. package/build/_models/interfaces/signed-url-verify-result.interface.js +2 -2
  102. package/build/_models/interfaces/static-client-settings.interface.d.ts +36 -36
  103. package/build/_models/interfaces/static-client-settings.interface.js +2 -2
  104. package/build/_models/types/db-update.type.d.ts +129 -129
  105. package/build/_models/types/db-update.type.js +2 -2
  106. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts +5 -5
  107. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js +9 -9
  108. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.d.ts +6 -6
  109. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.js +10 -10
  110. package/build/_modules/account-security/_enums/account-session-state.type-enum.d.ts +6 -6
  111. package/build/_modules/account-security/_enums/account-session-state.type-enum.js +10 -10
  112. package/build/_modules/account-security/_models/account-challenge-adapter.interface.d.ts +8 -8
  113. package/build/_modules/account-security/_models/account-challenge-adapter.interface.js +2 -2
  114. package/build/_modules/account-security/_models/account-challenge-issued.interface.d.ts +6 -6
  115. package/build/_modules/account-security/_models/account-challenge-issued.interface.js +2 -2
  116. package/build/_modules/account-security/_models/account-challenge-record.interface.d.ts +12 -12
  117. package/build/_modules/account-security/_models/account-challenge-record.interface.js +2 -2
  118. package/build/_modules/account-security/_models/account-challenge-result.interface.d.ts +7 -7
  119. package/build/_modules/account-security/_models/account-challenge-result.interface.js +2 -2
  120. package/build/_modules/account-security/_models/account-challenge-settings.interface.d.ts +8 -8
  121. package/build/_modules/account-security/_models/account-challenge-settings.interface.js +2 -2
  122. package/build/_modules/account-security/_models/account-password-policy.interface.d.ts +11 -11
  123. package/build/_modules/account-security/_models/account-password-policy.interface.js +2 -2
  124. package/build/_modules/account-security/_models/account-password-verification.interface.d.ts +5 -5
  125. package/build/_modules/account-security/_models/account-password-verification.interface.js +2 -2
  126. package/build/_modules/account-security/_models/account-refresh-token-record.interface.d.ts +12 -12
  127. package/build/_modules/account-security/_models/account-refresh-token-record.interface.js +2 -2
  128. package/build/_modules/account-security/_models/account-session-adapter.interface.d.ts +18 -18
  129. package/build/_modules/account-security/_models/account-session-adapter.interface.js +2 -2
  130. package/build/_modules/account-security/_models/account-session-claims.interface.d.ts +7 -7
  131. package/build/_modules/account-security/_models/account-session-claims.interface.js +2 -2
  132. package/build/_modules/account-security/_models/account-session-context.interface.d.ts +6 -6
  133. package/build/_modules/account-security/_models/account-session-context.interface.js +2 -2
  134. package/build/_modules/account-security/_models/account-session-create.interface.d.ts +7 -7
  135. package/build/_modules/account-security/_models/account-session-create.interface.js +2 -2
  136. package/build/_modules/account-security/_models/account-session-record.interface.d.ts +20 -20
  137. package/build/_modules/account-security/_models/account-session-record.interface.js +2 -2
  138. package/build/_modules/account-security/_models/account-session-rotate.interface.d.ts +10 -10
  139. package/build/_modules/account-security/_models/account-session-rotate.interface.js +2 -2
  140. package/build/_modules/account-security/_models/account-session-settings.interface.d.ts +10 -10
  141. package/build/_modules/account-security/_models/account-session-settings.interface.js +2 -2
  142. package/build/_modules/account-security/_models/account-session-token-pair.interface.d.ts +8 -8
  143. package/build/_modules/account-security/_models/account-session-token-pair.interface.js +2 -2
  144. package/build/_modules/account-security/_models/account-session-view.interface.d.ts +12 -12
  145. package/build/_modules/account-security/_models/account-session-view.interface.js +2 -2
  146. package/build/_modules/account-security/account-challenge.control-service.d.ts +23 -23
  147. package/build/_modules/account-security/account-challenge.control-service.js +116 -116
  148. package/build/_modules/account-security/account-password.control-service.d.ts +23 -23
  149. package/build/_modules/account-security/account-password.control-service.js +213 -213
  150. package/build/_modules/account-security/account-session.control-service.d.ts +38 -38
  151. package/build/_modules/account-security/account-session.control-service.js +276 -276
  152. package/build/_modules/account-security/index.d.ts +23 -23
  153. package/build/_modules/account-security/index.js +15 -15
  154. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.d.ts +31 -31
  155. package/build/_modules/admin-auth/_models/admin-api-key-config.interface.js +2 -2
  156. package/build/_modules/admin-auth/admin-api-key.auth-service.d.ts +89 -89
  157. package/build/_modules/admin-auth/admin-api-key.auth-service.js +194 -194
  158. package/build/_modules/admin-auth/index.d.ts +2 -2
  159. package/build/_modules/admin-auth/index.js +5 -5
  160. package/build/_modules/ai/_collections/ai-model-config-validator.util.d.ts +31 -31
  161. package/build/_modules/ai/_collections/ai-model-config-validator.util.js +94 -94
  162. package/build/_modules/ai/_collections/ai-provider-error.util.d.ts +43 -43
  163. package/build/_modules/ai/_collections/ai-provider-error.util.js +120 -120
  164. package/build/_modules/ai/_models/ai-input-interfaces.d.ts +53 -53
  165. package/build/_modules/ai/_models/ai-input-interfaces.js +5 -5
  166. package/build/_modules/ai/_models/ai-test-generation-result.interface.d.ts +16 -16
  167. package/build/_modules/ai/_models/ai-test-generation-result.interface.js +2 -2
  168. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.d.ts +13 -13
  169. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event-callback.interface.js +2 -2
  170. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.d.ts +49 -49
  171. package/build/_modules/ai/_models/interfaces/dynts-ai-cost-event.interface.js +2 -2
  172. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.d.ts +16 -16
  173. package/build/_modules/ai/_models/interfaces/dynts-ai-provider-error.interface.js +2 -2
  174. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.d.ts +22 -22
  175. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.js +51 -51
  176. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.d.ts +33 -33
  177. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.js +55 -55
  178. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.d.ts +40 -40
  179. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.js +89 -89
  180. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.d.ts +27 -27
  181. package/build/_modules/ai/_modules/ai-mock/_enums/aim-modality.enum.js +28 -28
  182. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.d.ts +14 -14
  183. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-call-input.interface.js +2 -2
  184. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.d.ts +10 -10
  185. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-error.interface.js +2 -2
  186. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.d.ts +29 -29
  187. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-fixture.interface.js +2 -2
  188. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.d.ts +18 -18
  189. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-request.interface.js +2 -2
  190. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.d.ts +18 -18
  191. package/build/_modules/ai/_modules/ai-mock/_models/interfaces/aim-service-collection.interface.js +2 -2
  192. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.d.ts +80 -80
  193. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.js +166 -166
  194. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.d.ts +47 -47
  195. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.js +103 -103
  196. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.d.ts +34 -34
  197. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.js +59 -59
  198. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.d.ts +73 -73
  199. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.js +133 -133
  200. package/build/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.d.ts +8 -8
  201. package/build/_modules/ai/_modules/ai-mock/fixtures/aim-text.fixtures.js +650 -650
  202. package/build/_modules/ai/_modules/ai-mock/index.d.ts +14 -14
  203. package/build/_modules/ai/_modules/ai-mock/index.js +42 -42
  204. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.d.ts +35 -35
  205. package/build/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.js +117 -117
  206. package/build/_modules/ai/_modules/anthropic/index.d.ts +2 -2
  207. package/build/_modules/ai/_modules/anthropic/index.js +7 -7
  208. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.d.ts +84 -84
  209. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.js +467 -467
  210. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.d.ts +109 -109
  211. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.js +418 -418
  212. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.d.ts +28 -28
  213. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.js +73 -73
  214. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.d.ts +6 -6
  215. package/build/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.js +10 -10
  216. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.d.ts +51 -51
  217. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.js +132 -132
  218. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.d.ts +47 -47
  219. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.js +136 -136
  220. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.d.ts +17 -17
  221. package/build/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.js +76 -76
  222. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.d.ts +49 -49
  223. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.js +2 -2
  224. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.d.ts +8 -8
  225. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.js +2 -2
  226. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.d.ts +11 -11
  227. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.js +2 -2
  228. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.d.ts +12 -12
  229. package/build/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.js +2 -2
  230. package/build/_modules/ai/_modules/document-ai/index.d.ts +12 -12
  231. package/build/_modules/ai/_modules/document-ai/index.js +27 -27
  232. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.d.ts +34 -34
  233. package/build/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.js +128 -128
  234. package/build/_modules/ai/_modules/fdp-ai/index.d.ts +2 -2
  235. package/build/_modules/ai/_modules/fdp-ai/index.js +7 -7
  236. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.d.ts +2 -2
  237. package/build/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.js +8 -8
  238. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.d.ts +2 -2
  239. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.js +74 -74
  240. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.d.ts +2 -2
  241. package/build/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.js +67 -67
  242. package/build/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.js +42 -42
  243. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.d.ts +5 -5
  244. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.js +2 -2
  245. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.js +6 -6
  246. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.d.ts +51 -51
  247. package/build/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.js +2 -2
  248. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.d.ts +21 -21
  249. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.js +187 -187
  250. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.d.ts +26 -26
  251. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.js +278 -278
  252. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.d.ts +22 -22
  253. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.js +322 -322
  254. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.d.ts +119 -119
  255. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.js +480 -480
  256. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts +25 -25
  257. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js +103 -103
  258. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +169 -169
  259. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +479 -479
  260. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +229 -229
  261. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +617 -617
  262. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.d.ts +39 -39
  263. package/build/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.js +110 -110
  264. package/build/_modules/ai/_modules/open-ai/index.d.ts +14 -14
  265. package/build/_modules/ai/_modules/open-ai/index.js +55 -55
  266. package/build/_modules/ai/_services/ai-embedding-provider.registry.d.ts +51 -51
  267. package/build/_modules/ai/_services/ai-embedding-provider.registry.js +78 -78
  268. package/build/_modules/ai/_services/ai-embedding.service-base.d.ts +41 -41
  269. package/build/_modules/ai/_services/ai-embedding.service-base.js +11 -11
  270. package/build/_modules/ai/_services/ai-llm-chat.service-base.d.ts +39 -39
  271. package/build/_modules/ai/_services/ai-llm-chat.service-base.js +11 -11
  272. package/build/_modules/ai/_services/ai-llm.service-base.d.ts +148 -148
  273. package/build/_modules/ai/_services/ai-llm.service-base.js +378 -378
  274. package/build/_modules/ai/_services/ai-provider.service-base.d.ts +46 -46
  275. package/build/_modules/ai/_services/ai-provider.service-base.js +43 -43
  276. package/build/_modules/ai/_services/ai-user-key.service-base.d.ts +44 -44
  277. package/build/_modules/ai/_services/ai-user-key.service-base.js +14 -14
  278. package/build/_modules/ai/_services/lmstudio-embedding.control-service.d.ts +110 -110
  279. package/build/_modules/ai/_services/lmstudio-embedding.control-service.js +297 -297
  280. package/build/_modules/ai/index.d.ts +16 -16
  281. package/build/_modules/ai/index.js +30 -30
  282. package/build/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.d.ts +5 -5
  283. package/build/_modules/artifact-compiler/_enums/artifact-compile-outcome.type-enum.js +9 -9
  284. package/build/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.d.ts +8 -8
  285. package/build/_modules/artifact-compiler/_enums/artifact-compile-stage.type-enum.js +12 -12
  286. package/build/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.d.ts +6 -6
  287. package/build/_modules/artifact-compiler/_enums/artifact-retry-class.type-enum.js +10 -10
  288. package/build/_modules/artifact-compiler/_models/artifact-compile.interface.d.ts +32 -32
  289. package/build/_modules/artifact-compiler/_models/artifact-compile.interface.js +2 -2
  290. package/build/_modules/artifact-compiler/artifact-compiler.control-service.d.ts +36 -36
  291. package/build/_modules/artifact-compiler/artifact-compiler.control-service.js +273 -273
  292. package/build/_modules/artifact-compiler/index.d.ts +5 -5
  293. package/build/_modules/artifact-compiler/index.js +11 -11
  294. package/build/_modules/assistant/_collections/ass-global-settings.const.d.ts +2 -2
  295. package/build/_modules/assistant/_collections/ass-global-settings.const.js +14 -14
  296. package/build/_modules/assistant/_collections/ass.util.d.ts +15 -15
  297. package/build/_modules/assistant/_collections/ass.util.js +42 -42
  298. package/build/_modules/assistant/_models/ass-global-settings.interface.d.ts +13 -13
  299. package/build/_modules/assistant/_models/ass-global-settings.interface.js +2 -2
  300. package/build/_modules/assistant/_services/ass-io.control-service.d.ts +19 -19
  301. package/build/_modules/assistant/_services/ass-io.control-service.js +57 -57
  302. package/build/_modules/assistant/_services/ass-main.control-service.d.ts +32 -32
  303. package/build/_modules/assistant/_services/ass-main.control-service.js +65 -65
  304. package/build/_modules/assistant/index.d.ts +6 -6
  305. package/build/_modules/assistant/index.js +18 -18
  306. package/build/_modules/bot/_collections/bot-default-commands.const.d.ts +2 -2
  307. package/build/_modules/bot/_collections/bot-default-commands.const.js +13 -13
  308. package/build/_modules/bot/_collections/bot-global-settings.const.d.ts +2 -2
  309. package/build/_modules/bot/_collections/bot-global-settings.const.js +31 -31
  310. package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts +25 -25
  311. package/build/_modules/bot/_models/bot-channel-wrapper.interface.js +38 -38
  312. package/build/_modules/bot/_models/bot-command.interface.d.ts +7 -7
  313. package/build/_modules/bot/_models/bot-command.interface.js +2 -2
  314. package/build/_modules/bot/_models/bot-global-settings.interface.d.ts +85 -85
  315. package/build/_modules/bot/_models/bot-global-settings.interface.js +2 -2
  316. package/build/_modules/bot/_models/bot-last-mention-date.interface.d.ts +6 -6
  317. package/build/_modules/bot/_models/bot-last-mention-date.interface.js +2 -2
  318. package/build/_modules/bot/_models/bot-last-message-date.interface.d.ts +5 -5
  319. package/build/_modules/bot/_models/bot-last-message-date.interface.js +2 -2
  320. package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts +37 -37
  321. package/build/_modules/bot/_models/bot-message-wrapper.interface.js +54 -54
  322. package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts +23 -23
  323. package/build/_modules/bot/_models/bot-user-wrapper.interface.js +28 -28
  324. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.js +10 -10
  325. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts +69 -69
  326. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +497 -497
  327. package/build/_modules/bot/_modules/discord-bot/index.d.ts +1 -1
  328. package/build/_modules/bot/_modules/discord-bot/index.js +12 -12
  329. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts +16 -16
  330. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.js +42 -42
  331. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.d.ts +9 -9
  332. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.js +2 -2
  333. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts +59 -59
  334. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js +349 -349
  335. package/build/_modules/bot/_modules/dynamo-bot/index.d.ts +3 -3
  336. package/build/_modules/bot/_modules/dynamo-bot/index.js +15 -15
  337. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.d.ts +6 -6
  338. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.js +2 -2
  339. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts +56 -56
  340. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js +137 -137
  341. package/build/_modules/bot/_modules/slack-bot/index.d.ts +2 -2
  342. package/build/_modules/bot/_modules/slack-bot/index.js +12 -12
  343. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.d.ts +6 -6
  344. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.js +2 -2
  345. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts +56 -56
  346. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js +137 -137
  347. package/build/_modules/bot/_modules/teams-bot/index.d.ts +2 -2
  348. package/build/_modules/bot/_modules/teams-bot/index.js +12 -12
  349. package/build/_modules/bot/_services/bot-commands.control-service.d.ts +12 -12
  350. package/build/_modules/bot/_services/bot-commands.control-service.js +117 -117
  351. package/build/_modules/bot/_services/bot-io.control-service.d.ts +23 -23
  352. package/build/_modules/bot/_services/bot-io.control-service.js +226 -226
  353. package/build/_modules/bot/_services/bot-main.control-service.d.ts +35 -35
  354. package/build/_modules/bot/_services/bot-main.control-service.js +195 -195
  355. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts +71 -71
  356. package/build/_modules/bot/_services/bot-messaging-provider.service-base.js +15 -15
  357. package/build/_modules/bot/_services/bot-routines.control-service.d.ts +13 -13
  358. package/build/_modules/bot/_services/bot-routines.control-service.js +59 -59
  359. package/build/_modules/bot/index.d.ts +17 -17
  360. package/build/_modules/bot/index.js +36 -36
  361. package/build/_modules/custom-data/custom-data.controller.d.ts +5 -5
  362. package/build/_modules/custom-data/custom-data.controller.js +56 -56
  363. package/build/_modules/custom-data/custom-data.data-service.d.ts +5 -5
  364. package/build/_modules/custom-data/custom-data.data-service.js +11 -11
  365. package/build/_modules/custom-data/get-custom-data-routing-module.util.d.ts +3 -3
  366. package/build/_modules/custom-data/get-custom-data-routing-module.util.js +16 -16
  367. package/build/_modules/custom-data/index.d.ts +4 -4
  368. package/build/_modules/custom-data/index.js +9 -9
  369. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.d.ts +58 -58
  370. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.js +168 -168
  371. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.d.ts +31 -31
  372. package/build/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.js +7 -7
  373. package/build/_modules/data-readers/index.d.ts +2 -2
  374. package/build/_modules/data-readers/index.js +10 -10
  375. package/build/_modules/defaults/_collections/default-endpoints.util.d.ts +248 -248
  376. package/build/_modules/defaults/_collections/default-endpoints.util.js +386 -386
  377. package/build/_modules/defaults/_models/default-user.data-model.d.ts +19 -19
  378. package/build/_modules/defaults/_models/default-user.data-model.js +72 -72
  379. package/build/_modules/defaults/_services/default-auth.service.d.ts +50 -50
  380. package/build/_modules/defaults/_services/default-auth.service.js +158 -158
  381. package/build/_modules/defaults/_services/default-socket-events.service.d.ts +23 -23
  382. package/build/_modules/defaults/_services/default-socket-events.service.js +60 -60
  383. package/build/_modules/defaults/_services/default-user.data-service.d.ts +24 -24
  384. package/build/_modules/defaults/_services/default-user.data-service.js +87 -87
  385. package/build/_modules/defaults/index.d.ts +5 -5
  386. package/build/_modules/defaults/index.js +17 -17
  387. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.d.ts +2 -2
  388. package/build/_modules/discord-assistant/_collections/dias-global-settings.const.js +16 -16
  389. package/build/_modules/discord-assistant/_collections/dias.util.d.ts +31 -31
  390. package/build/_modules/discord-assistant/_collections/dias.util.js +85 -85
  391. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.d.ts +17 -17
  392. package/build/_modules/discord-assistant/_models/dias-global-settings.interface.js +2 -2
  393. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.d.ts +8 -8
  394. package/build/_modules/discord-assistant/_models/dias-knowledge.data-model.js +46 -46
  395. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts +17 -17
  396. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js +123 -123
  397. package/build/_modules/discord-assistant/_services/dias-io.control-service.d.ts +10 -10
  398. package/build/_modules/discord-assistant/_services/dias-io.control-service.js +49 -49
  399. package/build/_modules/discord-assistant/_services/dias-main.control-service.d.ts +3 -3
  400. package/build/_modules/discord-assistant/_services/dias-main.control-service.js +7 -7
  401. package/build/_modules/discord-assistant/_services/dias.service-base.d.ts +18 -18
  402. package/build/_modules/discord-assistant/_services/dias.service-base.js +46 -46
  403. package/build/_modules/discord-assistant/index.d.ts +11 -11
  404. package/build/_modules/discord-assistant/index.js +24 -24
  405. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.d.ts +3 -3
  406. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.js +7 -7
  407. package/build/_modules/discord-assistant-voiced/index.d.ts +2 -2
  408. package/build/_modules/discord-assistant-voiced/index.js +28 -28
  409. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.d.ts +2 -2
  410. package/build/_modules/discord-bot/_collections/dibo-default-commands.const.js +12 -12
  411. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.d.ts +2 -2
  412. package/build/_modules/discord-bot/_collections/dibo-global-settings.conts.js +43 -43
  413. package/build/_modules/discord-bot/_collections/dibo-operations.util.d.ts +22 -22
  414. package/build/_modules/discord-bot/_collections/dibo-operations.util.js +275 -275
  415. package/build/_modules/discord-bot/_models/dibo-command.interface.d.ts +7 -7
  416. package/build/_modules/discord-bot/_models/dibo-command.interface.js +2 -2
  417. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.d.ts +87 -87
  418. package/build/_modules/discord-bot/_models/dibo-global-settings.interface.js +2 -2
  419. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.d.ts +6 -6
  420. package/build/_modules/discord-bot/_models/dibo-last-mention-date.inteface.js +2 -2
  421. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.d.ts +5 -5
  422. package/build/_modules/discord-bot/_models/dibo-last-message-date.interface.js +2 -2
  423. package/build/_modules/discord-bot/_services/dibo-commands.control-service.d.ts +11 -11
  424. package/build/_modules/discord-bot/_services/dibo-commands.control-service.js +109 -109
  425. package/build/_modules/discord-bot/_services/dibo-io.control-service.d.ts +21 -21
  426. package/build/_modules/discord-bot/_services/dibo-io.control-service.js +218 -218
  427. package/build/_modules/discord-bot/_services/dibo-main.control-service.d.ts +89 -89
  428. package/build/_modules/discord-bot/_services/dibo-main.control-service.js +363 -363
  429. package/build/_modules/discord-bot/_services/dibo-routines.control-service.d.ts +13 -13
  430. package/build/_modules/discord-bot/_services/dibo-routines.control-service.js +73 -73
  431. package/build/_modules/discord-bot/index.d.ts +11 -11
  432. package/build/_modules/discord-bot/index.js +30 -30
  433. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.d.ts +34 -34
  434. package/build/_modules/local-vector-search/_enums/lvs-search-mode.enum.js +38 -38
  435. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.d.ts +35 -35
  436. package/build/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.js +53 -53
  437. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.d.ts +16 -16
  438. package/build/_modules/local-vector-search/_models/lvs-search-result.interface.js +2 -2
  439. package/build/_modules/local-vector-search/_services/lvs-bm25.util.d.ts +88 -88
  440. package/build/_modules/local-vector-search/_services/lvs-bm25.util.js +189 -189
  441. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.d.ts +26 -26
  442. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.js +197 -197
  443. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.d.ts +145 -145
  444. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.js +294 -294
  445. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.d.ts +74 -74
  446. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.js +152 -152
  447. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.d.ts +51 -51
  448. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.js +83 -83
  449. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts +99 -99
  450. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js +276 -276
  451. package/build/_modules/local-vector-search/index.d.ts +8 -8
  452. package/build/_modules/local-vector-search/index.js +15 -15
  453. package/build/_modules/logs/_models/file-log-entry.interface.d.ts +13 -13
  454. package/build/_modules/logs/_models/file-log-entry.interface.js +2 -2
  455. package/build/_modules/logs/_models/file-log-read-result.interface.d.ts +35 -35
  456. package/build/_modules/logs/_models/file-log-read-result.interface.js +2 -2
  457. package/build/_modules/logs/file-log.service.d.ts +132 -132
  458. package/build/_modules/logs/file-log.service.js +444 -444
  459. package/build/_modules/logs/file-logs.controller.d.ts +40 -40
  460. package/build/_modules/logs/file-logs.controller.js +138 -138
  461. package/build/_modules/logs/get-file-logs-routing-module.util.d.ts +31 -31
  462. package/build/_modules/logs/get-file-logs-routing-module.util.js +37 -37
  463. package/build/_modules/logs/get-logs-routing-module.util.d.ts +18 -18
  464. package/build/_modules/logs/get-logs-routing-module.util.js +31 -31
  465. package/build/_modules/logs/index.d.ts +8 -8
  466. package/build/_modules/logs/index.js +15 -15
  467. package/build/_modules/logs/log-buffer.service.d.ts +37 -37
  468. package/build/_modules/logs/log-buffer.service.js +96 -96
  469. package/build/_modules/logs/logs.controller.d.ts +26 -26
  470. package/build/_modules/logs/logs.controller.js +89 -89
  471. package/build/_modules/logs/logs.service.d.ts +39 -39
  472. package/build/_modules/logs/logs.service.js +96 -96
  473. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.d.ts +108 -108
  474. package/build/_modules/mcp/_models/interfaces/dynts-mcp.interface.js +13 -13
  475. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.d.ts +70 -70
  476. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.js +98 -98
  477. package/build/_modules/mcp/_services/dynts-mcp.adapter.d.ts +56 -56
  478. package/build/_modules/mcp/_services/dynts-mcp.adapter.js +138 -138
  479. package/build/_modules/mcp/index.d.ts +3 -3
  480. package/build/_modules/mcp/index.js +12 -12
  481. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.d.ts +7 -7
  482. package/build/_modules/messaging/_collections/get-messaging-routing-module.util.js +20 -20
  483. package/build/_modules/messaging/_collections/msg-global-settings.const.d.ts +5 -5
  484. package/build/_modules/messaging/_collections/msg-global-settings.const.js +22 -22
  485. package/build/_modules/messaging/_collections/msg.util.d.ts +24 -24
  486. package/build/_modules/messaging/_collections/msg.util.js +62 -62
  487. package/build/_modules/messaging/_models/msg-global-settings.interface.d.ts +28 -28
  488. package/build/_modules/messaging/_models/msg-global-settings.interface.js +2 -2
  489. package/build/_modules/messaging/_services/msg-conversation.data-service.d.ts +28 -28
  490. package/build/_modules/messaging/_services/msg-conversation.data-service.js +109 -109
  491. package/build/_modules/messaging/_services/msg-events.service.d.ts +61 -61
  492. package/build/_modules/messaging/_services/msg-events.service.js +203 -203
  493. package/build/_modules/messaging/_services/msg-integration.control-service.js +180 -180
  494. package/build/_modules/messaging/_services/msg-main.control-service.d.ts +62 -62
  495. package/build/_modules/messaging/_services/msg-main.control-service.js +428 -428
  496. package/build/_modules/messaging/_services/msg-message.data-service.d.ts +28 -28
  497. package/build/_modules/messaging/_services/msg-message.data-service.js +103 -103
  498. package/build/_modules/messaging/_services/msg.controller.d.ts +12 -12
  499. package/build/_modules/messaging/_services/msg.controller.js +256 -256
  500. package/build/_modules/messaging/index.d.ts +10 -10
  501. package/build/_modules/messaging/index.js +27 -27
  502. package/build/_modules/mock/app-extended-server.mock.d.ts +41 -41
  503. package/build/_modules/mock/app-extended-server.mock.js +169 -169
  504. package/build/_modules/mock/app-integration-test.mock.d.ts +19 -19
  505. package/build/_modules/mock/app-integration-test.mock.js +45 -45
  506. package/build/_modules/mock/app-params.mock.d.ts +2 -2
  507. package/build/_modules/mock/app-params.mock.js +9 -9
  508. package/build/_modules/mock/app-server.mock.d.ts +41 -41
  509. package/build/_modules/mock/app-server.mock.js +148 -148
  510. package/build/_modules/mock/auth-service.mock.d.ts +10 -10
  511. package/build/_modules/mock/auth-service.mock.js +19 -19
  512. package/build/_modules/mock/controller.mock.d.ts +5 -5
  513. package/build/_modules/mock/controller.mock.js +14 -14
  514. package/build/_modules/mock/data-model.mock.d.ts +26 -26
  515. package/build/_modules/mock/data-model.mock.js +72 -72
  516. package/build/_modules/mock/email-service-collection.mock.d.ts +7 -7
  517. package/build/_modules/mock/email-service-collection.mock.js +12 -12
  518. package/build/_modules/mock/email-service.mock.d.ts +4 -4
  519. package/build/_modules/mock/email-service.mock.js +20 -20
  520. package/build/_modules/mock/endpoint.mock.d.ts +8 -8
  521. package/build/_modules/mock/endpoint.mock.js +79 -79
  522. package/build/_modules/mock/socket-client.mock.d.ts +9 -9
  523. package/build/_modules/mock/socket-client.mock.js +38 -38
  524. package/build/_modules/mock/socket-server.mock.d.ts +15 -15
  525. package/build/_modules/mock/socket-server.mock.js +32 -32
  526. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts +16 -16
  527. package/build/_modules/oauth2/_routes/oauth2.controller.js +96 -96
  528. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts +30 -30
  529. package/build/_modules/oauth2/_services/oauth2.auth-service.js +215 -215
  530. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts +132 -132
  531. package/build/_modules/oauth2/_services/oauth2.control-service.js +576 -576
  532. package/build/_modules/oauth2/index.d.ts +3 -3
  533. package/build/_modules/oauth2/index.js +14 -14
  534. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.d.ts +5 -5
  535. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.js +9 -9
  536. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.d.ts +10 -10
  537. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.js +14 -14
  538. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.d.ts +7 -7
  539. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.js +11 -11
  540. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.d.ts +15 -15
  541. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.js +19 -19
  542. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.d.ts +9 -9
  543. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.js +13 -13
  544. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.d.ts +11 -11
  545. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.js +2 -2
  546. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.d.ts +6 -6
  547. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.js +2 -2
  548. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.d.ts +14 -14
  549. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.js +2 -2
  550. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.d.ts +6 -6
  551. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.js +2 -2
  552. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.d.ts +12 -12
  553. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.js +2 -2
  554. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.d.ts +8 -8
  555. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.js +2 -2
  556. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.d.ts +13 -13
  557. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.js +2 -2
  558. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.d.ts +7 -7
  559. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.js +2 -2
  560. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.d.ts +10 -10
  561. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.js +2 -2
  562. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.d.ts +12 -12
  563. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.js +2 -2
  564. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.d.ts +8 -8
  565. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.js +2 -2
  566. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.d.ts +6 -6
  567. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.js +2 -2
  568. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.d.ts +10 -10
  569. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.js +2 -2
  570. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.d.ts +6 -6
  571. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.js +2 -2
  572. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.d.ts +6 -6
  573. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.js +2 -2
  574. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.d.ts +11 -11
  575. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.js +2 -2
  576. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.d.ts +13 -13
  577. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.js +2 -2
  578. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.d.ts +14 -14
  579. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.js +2 -2
  580. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.d.ts +8 -8
  581. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.js +2 -2
  582. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.d.ts +6 -6
  583. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.js +2 -2
  584. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.d.ts +9 -9
  585. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.js +2 -2
  586. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.d.ts +6 -6
  587. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.js +2 -2
  588. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.d.ts +20 -20
  589. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.js +2 -2
  590. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.d.ts +7 -7
  591. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.js +2 -2
  592. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.d.ts +19 -19
  593. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.js +2 -2
  594. package/build/_modules/privacy-lifecycle/index.d.ts +32 -32
  595. package/build/_modules/privacy-lifecycle/index.js +17 -17
  596. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.d.ts +27 -27
  597. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.js +167 -167
  598. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.d.ts +41 -41
  599. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.js +363 -363
  600. package/build/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.d.ts +5 -5
  601. package/build/_modules/rate-limit/_enums/rate-limit-store-kind.type-enum.js +9 -9
  602. package/build/_modules/rate-limit/_models/rate-limit-config.interface.d.ts +70 -70
  603. package/build/_modules/rate-limit/_models/rate-limit-config.interface.js +2 -2
  604. package/build/_modules/rate-limit/_models/rate-limit-consume-request.interface.d.ts +8 -8
  605. package/build/_modules/rate-limit/_models/rate-limit-consume-request.interface.js +2 -2
  606. package/build/_modules/rate-limit/_models/rate-limit-consume-result.interface.d.ts +6 -6
  607. package/build/_modules/rate-limit/_models/rate-limit-consume-result.interface.js +2 -2
  608. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.d.ts +15 -15
  609. package/build/_modules/rate-limit/_models/rate-limit-policy.interface.js +2 -2
  610. package/build/_modules/rate-limit/_models/rate-limit-store.interface.d.ts +8 -8
  611. package/build/_modules/rate-limit/_models/rate-limit-store.interface.js +2 -2
  612. package/build/_modules/rate-limit/index.d.ts +8 -8
  613. package/build/_modules/rate-limit/index.js +9 -9
  614. package/build/_modules/rate-limit/rate-limit-in-memory.store.d.ts +18 -18
  615. package/build/_modules/rate-limit/rate-limit-in-memory.store.js +70 -70
  616. package/build/_modules/rate-limit/rate-limit.middleware.d.ts +68 -68
  617. package/build/_modules/rate-limit/rate-limit.middleware.js +378 -378
  618. package/build/_modules/scheduler/_models/scheduler-job.interface.d.ts +33 -33
  619. package/build/_modules/scheduler/_models/scheduler-job.interface.js +2 -2
  620. package/build/_modules/scheduler/get-scheduler-routing-module.util.d.ts +17 -17
  621. package/build/_modules/scheduler/get-scheduler-routing-module.util.js +30 -30
  622. package/build/_modules/scheduler/index.d.ts +4 -4
  623. package/build/_modules/scheduler/index.js +9 -9
  624. package/build/_modules/scheduler/scheduler.controller.d.ts +24 -24
  625. package/build/_modules/scheduler/scheduler.controller.js +53 -53
  626. package/build/_modules/scheduler/scheduler.service.d.ts +53 -53
  627. package/build/_modules/scheduler/scheduler.service.js +163 -163
  628. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.d.ts +18 -18
  629. package/build/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.js +22 -22
  630. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.d.ts +43 -43
  631. package/build/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.js +67 -67
  632. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.d.ts +88 -88
  633. package/build/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.js +11 -11
  634. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.d.ts +83 -83
  635. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.js +219 -219
  636. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.d.ts +53 -53
  637. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.js +75 -75
  638. package/build/_modules/scoped-config/index.d.ts +5 -5
  639. package/build/_modules/scoped-config/index.js +14 -14
  640. package/build/_modules/server/errors/errors.control-service.d.ts +21 -21
  641. package/build/_modules/server/errors/errors.control-service.js +10 -10
  642. package/build/_modules/server/errors/errors.controller.d.ts +144 -144
  643. package/build/_modules/server/errors/errors.controller.js +404 -404
  644. package/build/_modules/server/errors/errors.data-service.d.ts +70 -70
  645. package/build/_modules/server/errors/errors.data-service.js +677 -677
  646. package/build/_modules/server/index.d.ts +15 -15
  647. package/build/_modules/server/index.js +35 -35
  648. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.d.ts +8 -8
  649. package/build/_modules/server/safe-diagnostic/safe-diagnostic-cause.type-enum.js +12 -12
  650. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts +20 -20
  651. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js +24 -24
  652. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.d.ts +18 -18
  653. package/build/_modules/server/safe-diagnostic/safe-diagnostic.control-service.js +82 -82
  654. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.d.ts +18 -18
  655. package/build/_modules/server/safe-diagnostic/safe-diagnostic.interface.js +2 -2
  656. package/build/_modules/server/server-status/db-readiness-probe-code.type-enum.d.ts +13 -13
  657. package/build/_modules/server/server-status/db-readiness-probe-code.type-enum.js +17 -17
  658. package/build/_modules/server/server-status/db-readiness-probe-stage.type-enum.d.ts +7 -7
  659. package/build/_modules/server/server-status/db-readiness-probe-stage.type-enum.js +11 -11
  660. package/build/_modules/server/server-status/db-readiness-probe.control-service.d.ts +13 -13
  661. package/build/_modules/server/server-status/db-readiness-probe.control-service.js +125 -125
  662. package/build/_modules/server/server-status/db-readiness-probe.interface.d.ts +17 -17
  663. package/build/_modules/server/server-status/db-readiness-probe.interface.js +2 -2
  664. package/build/_modules/server/server-status/server-status-snapshot.control-service.d.ts +4 -4
  665. package/build/_modules/server/server-status/server-status-snapshot.control-service.js +7 -7
  666. package/build/_modules/server/server-status/server-status-snapshot.data-service.d.ts +6 -6
  667. package/build/_modules/server/server-status/server-status-snapshot.data-service.js +22 -22
  668. package/build/_modules/server/server-status/server-status.control-service.d.ts +111 -111
  669. package/build/_modules/server/server-status/server-status.control-service.js +302 -302
  670. package/build/_modules/server/server-status/server-status.controller.d.ts +92 -92
  671. package/build/_modules/server/server-status/server-status.controller.js +253 -253
  672. package/build/_modules/socket/_enums/socket-security.enum.d.ts +10 -10
  673. package/build/_modules/socket/_enums/socket-security.enum.js +14 -14
  674. package/build/_modules/socket/_models/socket-client-service-params.control-model.d.ts +8 -8
  675. package/build/_modules/socket/_models/socket-client-service-params.control-model.js +16 -16
  676. package/build/_modules/socket/_models/socket-presence.control-model.d.ts +25 -25
  677. package/build/_modules/socket/_models/socket-presence.control-model.js +140 -140
  678. package/build/_modules/socket/_models/socket-server-service-params.control-model.d.ts +22 -22
  679. package/build/_modules/socket/_models/socket-server-service-params.control-model.js +31 -31
  680. package/build/_modules/socket/_services/socket-client.service.d.ts +37 -37
  681. package/build/_modules/socket/_services/socket-client.service.js +196 -196
  682. package/build/_modules/socket/_services/socket-server.service.d.ts +98 -98
  683. package/build/_modules/socket/_services/socket-server.service.js +673 -673
  684. package/build/_modules/socket/app-extended.server.d.ts +145 -145
  685. package/build/_modules/socket/app-extended.server.js +521 -521
  686. package/build/_modules/socket/index.d.ts +8 -8
  687. package/build/_modules/socket/index.js +35 -35
  688. package/build/_modules/test/get-test-routing-module.util.d.ts +3 -3
  689. package/build/_modules/test/get-test-routing-module.util.js +16 -16
  690. package/build/_modules/test/index.d.ts +3 -3
  691. package/build/_modules/test/index.js +11 -11
  692. package/build/_modules/test/test.controller.d.ts +5 -5
  693. package/build/_modules/test/test.controller.js +103 -103
  694. package/build/_modules/test-email-sink/_collections/test-email-pattern.const.d.ts +10 -10
  695. package/build/_modules/test-email-sink/_collections/test-email-pattern.const.js +13 -13
  696. package/build/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.d.ts +21 -21
  697. package/build/_modules/test-email-sink/_models/data-models/dynts-sent-test-mail.data-model.js +38 -38
  698. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.d.ts +49 -49
  699. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.js +117 -117
  700. package/build/_modules/test-email-sink/get-sent-mail-routing-module.util.d.ts +14 -14
  701. package/build/_modules/test-email-sink/get-sent-mail-routing-module.util.js +26 -26
  702. package/build/_modules/test-email-sink/index.d.ts +11 -11
  703. package/build/_modules/test-email-sink/index.js +14 -14
  704. package/build/_modules/test-email-sink/test-email-sink.controller.d.ts +23 -23
  705. package/build/_modules/test-email-sink/test-email-sink.controller.js +66 -66
  706. package/build/_modules/usage/get-usage-routing-module.util.d.ts +3 -3
  707. package/build/_modules/usage/get-usage-routing-module.util.js +16 -16
  708. package/build/_modules/usage/index.d.ts +4 -4
  709. package/build/_modules/usage/index.js +13 -13
  710. package/build/_modules/usage/usage.controller.d.ts +6 -6
  711. package/build/_modules/usage/usage.controller.js +105 -105
  712. package/build/_modules/usage/usage.data-service.d.ts +17 -17
  713. package/build/_modules/usage/usage.data-service.js +135 -135
  714. package/build/_services/base/api.service-base.d.ts +9 -9
  715. package/build/_services/base/api.service-base.js +46 -46
  716. package/build/_services/base/archive-data.service.d.ts +25 -25
  717. package/build/_services/base/archive-data.service.js +151 -151
  718. package/build/_services/base/data.service.d.ts +402 -402
  719. package/build/_services/base/data.service.js +2131 -2131
  720. package/build/_services/base/db.service.d.ts +424 -424
  721. package/build/_services/base/db.service.js +1356 -1356
  722. package/build/_services/base/singleton.service-base.d.ts +8 -8
  723. package/build/_services/base/singleton.service-base.js +21 -21
  724. package/build/_services/base/singleton.service.d.ts +11 -11
  725. package/build/_services/base/singleton.service.js +31 -31
  726. package/build/_services/core/api.service.d.ts +45 -45
  727. package/build/_services/core/api.service.js +456 -456
  728. package/build/_services/core/auth.service.d.ts +129 -129
  729. package/build/_services/core/auth.service.js +59 -59
  730. package/build/_services/core/collection-growth-monitor.service.d.ts +76 -76
  731. package/build/_services/core/collection-growth-monitor.service.js +165 -165
  732. package/build/_services/core/db-stats.service.d.ts +33 -33
  733. package/build/_services/core/db-stats.service.js +64 -64
  734. package/build/_services/core/diagnostics.service.d.ts +42 -42
  735. package/build/_services/core/diagnostics.service.js +121 -121
  736. package/build/_services/core/email.service.d.ts +77 -77
  737. package/build/_services/core/email.service.js +503 -503
  738. package/build/_services/core/event-loop-diag.service.d.ts +49 -49
  739. package/build/_services/core/event-loop-diag.service.js +106 -106
  740. package/build/_services/core/global.service.d.ts +83 -83
  741. package/build/_services/core/global.service.js +386 -386
  742. package/build/_services/core/memory-guard.service.d.ts +166 -166
  743. package/build/_services/core/memory-guard.service.js +369 -369
  744. package/build/_services/core/migration-runner.service.d.ts +39 -39
  745. package/build/_services/core/migration-runner.service.js +74 -74
  746. package/build/_services/core/mongo-transaction.control-service.d.ts +18 -18
  747. package/build/_services/core/mongo-transaction.control-service.js +94 -94
  748. package/build/_services/core/request-hunter.service.d.ts +73 -73
  749. package/build/_services/core/request-hunter.service.js +122 -122
  750. package/build/_services/core/request-telemetry.control-service.d.ts +51 -0
  751. package/build/_services/core/request-telemetry.control-service.d.ts.map +1 -0
  752. package/build/_services/core/request-telemetry.control-service.js +286 -0
  753. package/build/_services/core/request-telemetry.control-service.js.map +1 -0
  754. package/build/_services/core/service-collection.service.d.ts +4 -4
  755. package/build/_services/core/service-collection.service.js +7 -7
  756. package/build/_services/route/controller.service.d.ts +124 -124
  757. package/build/_services/route/controller.service.js +95 -95
  758. package/build/_services/route/routing-module.service.d.ts +80 -80
  759. package/build/_services/route/routing-module.service.d.ts.map +1 -1
  760. package/build/_services/route/routing-module.service.js +253 -250
  761. package/build/_services/route/routing-module.service.js.map +1 -1
  762. package/build/_services/server/app.server.d.ts +434 -429
  763. package/build/_services/server/app.server.d.ts.map +1 -1
  764. package/build/_services/server/app.server.js +1239 -1226
  765. package/build/_services/server/app.server.js.map +1 -1
  766. package/build/_services/shared.static-service.d.ts +43 -43
  767. package/build/_services/shared.static-service.js +92 -92
  768. package/build/index.d.ts +66 -63
  769. package/build/index.d.ts.map +1 -1
  770. package/build/index.js +104 -101
  771. package/build/index.js.map +1 -1
  772. package/package.json +1 -1
  773. package/src/_models/control-models/endpoint-params.control-model.spec.ts +102 -102
  774. package/src/_models/control-models/endpoint-params.control-model.ts +131 -131
  775. package/src/_models/interfaces/request-telemetry-settings.interface.ts +9 -0
  776. package/src/_models/interfaces/request-telemetry-snapshot.interface.ts +30 -0
  777. package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +3 -3
  778. package/src/_services/core/request-telemetry.control-service.spec.ts +217 -0
  779. package/src/_services/core/request-telemetry.control-service.ts +381 -0
  780. package/src/_services/route/routing-module.service.ts +27 -18
  781. package/src/_services/server/app.server.ts +29 -9
  782. package/src/index.ts +5 -2
@@ -1,498 +1,498 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DyNTS_DiB_MessagingProvider_ControlService = void 0;
4
- const discord_js_1 = require("discord.js");
5
- const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
6
- const bot_messaging_provider_service_base_1 = require("../../../_services/bot-messaging-provider.service-base");
7
- const messaging_1 = require("@futdevpro/fsm-dynamo/messaging");
8
- const global_settings_const_1 = require("../../../../../_collections/global-settings.const");
9
- const bot_channel_wrapper_interface_1 = require("../../../_models/bot-channel-wrapper.interface");
10
- const bot_message_wrapper_interface_1 = require("../../../_models/bot-message-wrapper.interface");
11
- const bot_user_wrapper_interface_1 = require("../../../_models/bot-user-wrapper.interface");
12
- class DyNTS_DiB_MessagingProvider_ControlService extends bot_messaging_provider_service_base_1.DyNTS_Bot_MessagingProvider_ServiceBase {
13
- name = 'discord';
14
- type = messaging_1.DyFM_Msg_Provider_Type.discord;
15
- get botId() {
16
- return this.client.user?.id;
17
- }
18
- get botDisplayName() {
19
- return this.client.user?.displayName;
20
- }
21
- config;
22
- client;
23
- guild;
24
- constructor(setConfig) {
25
- super();
26
- this.config = setConfig;
27
- }
28
- // Public accessors for Discord-specific objects (for backward compatibility with CCAP)
29
- get discordClient() {
30
- return this.client;
31
- }
32
- get discordGuild() {
33
- return this.guild;
34
- }
35
- async setup(issuer) {
36
- try {
37
- this.client = new discord_js_1.Client({
38
- intents: this.config.intents,
39
- partials: this.config.partials,
40
- });
41
- }
42
- catch (error) {
43
- fsm_dynamo_1.DyFM_Error.logSimple('Error during Discord bot setup:', error);
44
- throw new fsm_dynamo_1.DyFM_Error({
45
- ...this.getDefaultErrorSettings('setup', error, issuer),
46
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DiB-MessagingProvider-S000`,
47
- });
48
- }
49
- }
50
- async start(issuer) {
51
- try {
52
- if (!this.client) {
53
- throw new Error('Discord client not initialized. Call setup() first.');
54
- }
55
- return new Promise((resolve, reject) => {
56
- this.client.on('ready', async () => {
57
- if (global_settings_const_1.DyNTS_global_settings.bot_settings?.debugLevel >= 1) {
58
- fsm_dynamo_1.DyFM_Log.success(`Discord bot logged in as ${this.client.user?.tag}`);
59
- }
60
- // Get guild
61
- this.guild = this.client.guilds.cache.get(this.config.guildId);
62
- if (!this.guild) {
63
- reject(new Error(`Discord server not found with ID: ${this.config.guildId}`));
64
- return;
65
- }
66
- resolve();
67
- });
68
- this.client.login(this.config.token).catch(reject);
69
- });
70
- }
71
- catch (error) {
72
- fsm_dynamo_1.DyFM_Error.logSimple('Error during Discord bot start:', error);
73
- throw new fsm_dynamo_1.DyFM_Error({
74
- ...this.getDefaultErrorSettings('start', error, issuer),
75
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DiB-MessagingProvider-S001`,
76
- });
77
- }
78
- }
79
- async getChannelByName(name) {
80
- if (this.channelCache.has(name)) {
81
- return await this.wrapChannel(this.channelCache.get(name));
82
- }
83
- const channel = this.guild.channels.cache.find((ch) => ch.name === name && ch.isTextBased());
84
- if (!channel) {
85
- throw new Error(`No text channel found with name "${name}"`);
86
- }
87
- this.channelCache.set(name, channel);
88
- return await this.wrapChannel(channel);
89
- }
90
- async getChannelById(id) {
91
- const channel = this.guild.channels.cache.get(id);
92
- if (!channel) {
93
- throw new Error(`No text channel found with ID "${id}"`);
94
- }
95
- if (!this.channelCache.has(channel.name)) {
96
- this.channelCache.set(channel.name, channel);
97
- }
98
- return await this.wrapChannel(channel);
99
- }
100
- async sendMessageToChannelByName(channelName, message) {
101
- const discordChannel = await this.getChannelByName(channelName);
102
- return await this.sendMessageToChannel(discordChannel, message);
103
- /* if (!discordChannel) {
104
- throw new Error(`No text channel found with name "${channelName}"`);
105
- }
106
-
107
- if (!discordChannel.rawPlatformChannel.isTextBased()) {
108
- throw new Error(`Channel "${channelName}" is not a text channel`);
109
- }
110
-
111
- //const sentMessage: Message = await (discordChannel.rawPlatformChannel as TextChannel).send(message);
112
- const channel: TextChannel = discordChannel.rawPlatformChannel as TextChannel;
113
-
114
- let firstMessage: Message;
115
- const originalMessage: string = message;
116
- if (message.length > 2_000) { // 2000 characters per message
117
- while (message.length) {
118
- if (!firstMessage) {
119
- firstMessage = await channel.send(message.substring(0, 2_000));
120
- } else {
121
- await channel.send(message.substring(0, 2_000));
122
- }
123
-
124
- message = message.substring(2_000);
125
- }
126
-
127
- firstMessage.content = originalMessage;
128
- return this.wrapMessage(firstMessage);
129
- } else {
130
- const messageSent: Message = await channel.send(message);
131
- return this.wrapMessage(messageSent);
132
- } */
133
- }
134
- async getMessagesFromChannelByChannelName(channelName, limit = 100) {
135
- const channel = await this.getChannelByName(channelName);
136
- if (!channel.rawPlatformChannel.isTextBased()) {
137
- throw new Error(`Channel "${channelName}" is not a text channel`);
138
- }
139
- const messages = await channel.rawPlatformChannel.messages.fetch({
140
- limit: limit
141
- });
142
- return await Promise.all(Array.from(messages.values()).map(async (msg) => await this.wrapMessage(msg)));
143
- }
144
- async getLastMessageInChannel(channelName) {
145
- const channel = await this.getChannelByName(channelName);
146
- if (!channel.rawPlatformChannel.isTextBased()) {
147
- throw new Error(`Channel "${channelName}" is not a text channel`);
148
- }
149
- const messages = await channel.rawPlatformChannel.messages.fetch({
150
- limit: 1
151
- });
152
- const lastMessage = messages.first();
153
- return lastMessage ? await this.wrapMessage(lastMessage) : null;
154
- }
155
- async clearChannel(channel) {
156
- if (!channel.rawPlatformChannel.isTextBased()) {
157
- throw new Error(`Channel "${channel.name}" is not a text channel`);
158
- }
159
- let lastId = undefined;
160
- let fetched = 0;
161
- const maxFetch = 1000;
162
- while (fetched < maxFetch) {
163
- const options = { limit: 100 };
164
- if (lastId) {
165
- options.before = lastId;
166
- }
167
- const messageCollection = await channel.rawPlatformChannel.messages.fetch(options);
168
- if (messageCollection.size === 0) {
169
- break;
170
- }
171
- const deletePromises = Array.from(messageCollection.values()).map((message) => message.delete().catch((error) => {
172
- fsm_dynamo_1.DyFM_Error.logSimple('Failed to delete message', error);
173
- }));
174
- await Promise.all(deletePromises);
175
- lastId = Array.from(messageCollection.values()).pop()?.id;
176
- fetched += messageCollection.size;
177
- }
178
- }
179
- // Message operations
180
- async sendMessageToChannel(channel, content) {
181
- if (!channel.rawPlatformChannel.isTextBased()) {
182
- throw new Error(`Channel "${channel.name}" is not a text channel`);
183
- }
184
- const discordTextChannel = channel.rawPlatformChannel;
185
- const originalContent = content;
186
- let firstMessage;
187
- if (content.length > 2_000) { // 2000 characters per message
188
- while (content.length) {
189
- if (!firstMessage) {
190
- firstMessage = await discordTextChannel.send(content.substring(0, 2_000));
191
- }
192
- else {
193
- await discordTextChannel.send(content.substring(0, 2_000));
194
- }
195
- content = content.substring(2_000);
196
- }
197
- firstMessage.content = originalContent;
198
- return await this.wrapMessage(firstMessage);
199
- }
200
- else {
201
- const message = await discordTextChannel.send(content);
202
- return await this.wrapMessage(message);
203
- }
204
- }
205
- async replyToMessage(message, content) {
206
- try {
207
- /* const channel = this.guild.channels.cache.get(channelId) as TextChannel;
208
- if (!channel) {
209
- throw new Error(`Channel not found with ID: ${channelId}`);
210
- }
211
- const message = await channel.messages.fetch(messageId); */
212
- if (!message.rawPlatformMessage.channel.isTextBased()) {
213
- throw new Error(`Message "${message.id}" is not a text message`);
214
- }
215
- const originalContent = content;
216
- if (content.length > 2_000) {
217
- let firstMessage;
218
- while (content.length) {
219
- if (!firstMessage) {
220
- firstMessage = await message.rawPlatformMessage.channel.send(content.substring(0, 2_000));
221
- }
222
- else {
223
- await message.reply(content.substring(0, 2_000));
224
- }
225
- content = content.substring(2_000);
226
- }
227
- firstMessage.content = originalContent;
228
- return await this.wrapMessage(firstMessage);
229
- }
230
- else {
231
- const reply = await message.rawPlatformMessage.reply(content);
232
- return await this.wrapMessage(reply);
233
- }
234
- }
235
- catch (error) {
236
- fsm_dynamo_1.DyFM_Error.logSimple('Error replying to message:', error);
237
- throw new fsm_dynamo_1.DyFM_Error({
238
- ...this.getDefaultErrorSettings('replyToMessage', error, message.issuer),
239
- errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DiB-MessagingProvider-S002`,
240
- });
241
- }
242
- }
243
- async sendTyping(channel) {
244
- if (!channel.rawPlatformChannel.isTextBased()) {
245
- throw new Error(`Channel "${channel.name}" is not a text channel`);
246
- }
247
- await channel.rawPlatformChannel.sendTyping();
248
- }
249
- async sendTypingForMessage(message) {
250
- if (!message.rawPlatformMessage.channel.isTextBased()) {
251
- throw new Error(`Message "${message.id}" is not a text message`);
252
- }
253
- await message.rawPlatformMessage.channel.sendTyping();
254
- }
255
- async fetchMessages(channel, limit) {
256
- if (!channel.rawPlatformChannel.isTextBased()) {
257
- throw new Error(`Channel "${channel.name}" is not a text channel`);
258
- }
259
- const messages = await channel.rawPlatformChannel.messages.fetch({
260
- limit: limit
261
- });
262
- return await Promise.all(Array.from(messages.values()).map(async (msg) => await this.wrapMessage(msg)));
263
- }
264
- async fetchMessagesById(id, limit) {
265
- const channel = await this.getChannelById(id);
266
- return this.fetchMessages(channel, limit);
267
- }
268
- async fetchMessagesForMessage(message, limit) {
269
- if (!message.rawPlatformMessage.channel.isTextBased()) {
270
- throw new Error(`Message "${message.id}" is not a text message`);
271
- }
272
- const messages = await message.rawPlatformMessage.channel.messages.fetch({
273
- limit: limit
274
- });
275
- return await Promise.all(Array.from(messages.values()).map(async (msg) => await this.wrapMessage(msg)));
276
- }
277
- async fetchAllMessagesWithPaging(channel, maxFetch = 1000) {
278
- if (!channel.rawPlatformChannel.isTextBased()) {
279
- throw new Error(`Channel "${channel.name}" is not a text channel`);
280
- }
281
- let lastId = undefined;
282
- let fetched = 0;
283
- const allMessages = [];
284
- while (fetched < maxFetch) {
285
- const options = { limit: 100 };
286
- if (lastId)
287
- options.before = lastId;
288
- const messageCollection = await channel.rawPlatformChannel.messages.fetch(options);
289
- if (messageCollection.size === 0)
290
- break;
291
- await fsm_dynamo_1.DyFM_Array.asyncForEach(Array.from(messageCollection.values()), async (msg) => {
292
- allMessages.push(await this.wrapMessage(msg));
293
- });
294
- lastId = Array.from(messageCollection.values()).pop()?.id;
295
- fetched += messageCollection.size;
296
- }
297
- return allMessages;
298
- }
299
- async deleteMessage(message) {
300
- await message.rawPlatformMessage.delete();
301
- }
302
- // User operations
303
- async updateMessage(message, issuer) {
304
- throw new Error('Discord provider not yet implemented');
305
- }
306
- async getUserByName(username) {
307
- const member = this.guild.members.cache.find((m) => m.user.username === username);
308
- if (!member) {
309
- throw new Error(`User not found with username: ${username}`);
310
- }
311
- return await this.wrapUser(member);
312
- }
313
- getUserMention(userId) {
314
- return `<@${userId}>`;
315
- }
316
- async readMembersInChannel(channelName) {
317
- const channel = await this.getChannelByName(channelName);
318
- const members = await this.fetchMembersInGuild(this.guild);
319
- const allowedMembers = members.filter((member) => channel.rawPlatformChannel.isTextBased() &&
320
- channel.rawPlatformChannel.permissionsFor(member)?.has('ViewChannel'));
321
- return await fsm_dynamo_1.DyFM_Array.asyncMap(Array.from(allowedMembers.values()), async (member) => await this.wrapUser(member));
322
- }
323
- async fetchMembersInGuild(guild) {
324
- try {
325
- // Try to fetch with a limit to avoid timeout
326
- return await guild?.members.fetch({ limit: 1000 });
327
- }
328
- catch (fetchError) {
329
- throw new fsm_dynamo_1.DyFM_Error({
330
- errorCode: 'DIB-OPS-FMI0',
331
- message: 'Failed to fetch members',
332
- error: fetchError,
333
- });
334
- }
335
- }
336
- async readMemberNamesInChannel(channelName) {
337
- const members = await this.readMembersInChannel(channelName);
338
- return members.map((member) => member.username);
339
- }
340
- // Advanced message queries
341
- async getLastMessageSentBy(channelName, username) {
342
- const channel = await this.getChannelByName(channelName);
343
- const messages = await this.fetchAllMessagesWithPaging(channel, 1000);
344
- return messages.find((msg) => msg.authorName === username) || null;
345
- }
346
- async getLastMentionOf(channelName, username) {
347
- const channel = await this.getChannelByName(channelName);
348
- const messages = await this.fetchAllMessagesWithPaging(channel, 1000);
349
- return messages.find((msg) => msg.content.includes(`@${username}`) ||
350
- msg.content.includes(`<@${username}>`)) || null;
351
- }
352
- // Advanced message queries
353
- async readLastMessageDatesByMembers(channelName, memberNames) {
354
- const channel = await this.getChannelByName(channelName);
355
- const messages = await this.fetchAllMessagesWithPaging(channel, 1000);
356
- const memberStatus = {};
357
- memberNames.forEach((name) => {
358
- memberStatus[name] = { lastMessageDate: null, allMessages: 0 };
359
- });
360
- const cutoffTime = Date.now() - (3 * fsm_dynamo_1.week); // 3 weeks
361
- messages.forEach((message) => {
362
- if (message.timestamp < cutoffTime)
363
- return;
364
- const author = message.authorName;
365
- if (memberStatus[author] !== undefined) {
366
- memberStatus[author].allMessages++;
367
- if (!memberStatus[author].lastMessageDate) {
368
- memberStatus[author].lastMessageDate = new Date(message.timestamp);
369
- }
370
- }
371
- });
372
- return memberNames.map((memberName) => {
373
- const status = memberStatus[memberName];
374
- return {
375
- memberName: memberName,
376
- allMessages: status.allMessages,
377
- lastMessageDate: status.lastMessageDate
378
- };
379
- });
380
- }
381
- // Advanced message queries
382
- async readLastMessageWithMemberNamePingInIt(channelName, users) {
383
- const channel = await this.getChannelByName(channelName);
384
- const messages = await this.fetchAllMessagesWithPaging(channel, 1000);
385
- const memberStatus = {};
386
- users.forEach((user) => {
387
- memberStatus[user.username] = { lastMentionDate: null, allMentions: 0 };
388
- });
389
- const cutoffTime = Date.now() - (3 * fsm_dynamo_1.week); // 3 weeks
390
- messages.forEach((message) => {
391
- if (message.timestamp < cutoffTime)
392
- return;
393
- users.forEach((user) => {
394
- if (message.content.includes(`@${user.id}`) &&
395
- !memberStatus[user.username].lastMentionDate) {
396
- memberStatus[user.username].lastMentionDate = new Date(message.timestamp);
397
- memberStatus[user.username].allMentions++;
398
- }
399
- });
400
- });
401
- return users.map((user) => {
402
- const status = memberStatus[user.username];
403
- return {
404
- memberId: user.id,
405
- memberName: user.username,
406
- allMentions: status.allMentions,
407
- lastMentionDate: status.lastMentionDate
408
- };
409
- });
410
- }
411
- // Discord-specific features
412
- getRoleByName(roleName) {
413
- if (this.roleCache.has(roleName)) {
414
- return this.roleCache.get(roleName);
415
- }
416
- const role = this.guild.roles.cache.find((r) => r.name === roleName);
417
- if (role) {
418
- this.roleCache.set(roleName, role);
419
- }
420
- return role;
421
- }
422
- async getRolePingByName(roleName) {
423
- const role = this.getRoleByName(roleName);
424
- return role ? `<@&${role.id}>` : '';
425
- }
426
- async getRolePingsByName(roleNames) {
427
- const pings = await Promise.all(roleNames.map((roleName) => this.getRolePingByName(roleName)));
428
- return pings.join(' ');
429
- }
430
- async create_onMessageEventListener(handler) {
431
- this.client.on('messageCreate', async (message) => {
432
- await handler(await this.wrapMessage(message), 'discord');
433
- });
434
- }
435
- create_onErrorEventListener(handler) {
436
- this.client.on('error', (error) => {
437
- handler(error);
438
- });
439
- }
440
- async sendReport(message) {
441
- return await this.sendMessageToChannelByName(this.config.reportChannelName, message);
442
- }
443
- async sendReportIn(message) {
444
- return await this.sendMessageToChannelByName(this.config.reportChannelName, `${this.botDisplayName} report for duty! ` +
445
- `(v${global_settings_const_1.DyNTS_global_settings.systemVersion} ${global_settings_const_1.DyNTS_global_settings.env_settings?.environment})`);
446
- }
447
- async wrapMessage(message) {
448
- let replyTo = null;
449
- if (message.reference?.messageId) {
450
- replyTo = message.channel.messages.cache.get(message.reference.messageId);
451
- }
452
- return new bot_message_wrapper_interface_1.DyNTS_Bot_MessageWrapper({
453
- id: message.id,
454
- content: message.content,
455
- authorId: message.author.id,
456
- authorName: message.author.username,
457
- authorDisplayName: message.author.displayName,
458
- channelId: message.channel.id,
459
- channelName: message.channel?.name || 'DM Channel with ' + message.channel.recipient.username,
460
- timestamp: message.createdTimestamp,
461
- isBot: message.author.bot,
462
- isTextBased: message.channel.isTextBased(),
463
- isVoiceBased: false, /* message.channel.isVoiceBased(), */
464
- isDM: message.channel.isDMBased(),
465
- mentions: Array.from(message.mentions.users.keys()),
466
- replyToMessageId: message.reference?.messageId,
467
- replyToMessageAuthorId: replyTo?.author?.id,
468
- rawPlatformMessage: message,
469
- issuer: message.author.id,
470
- channel: await this.wrapChannel(message.channel),
471
- /* user: this.wrapUser(message.author), */
472
- provider: this,
473
- });
474
- }
475
- async wrapChannel(channel) {
476
- return new bot_channel_wrapper_interface_1.DyNTS_Bot_ChannelWrapper({
477
- id: channel.id,
478
- name: channel.name || ('DM Channel with ' + channel.recipient.username),
479
- isTextBased: channel.isTextBased(),
480
- isDM: channel.isDMBased(),
481
- isVoiceBased: channel.isVoiceBased(),
482
- rawPlatformChannel: channel,
483
- provider: this,
484
- });
485
- }
486
- async wrapUser(user) {
487
- return new bot_user_wrapper_interface_1.DyNTS_Bot_UserWrapper({
488
- id: user.user.id,
489
- username: user.user.username,
490
- displayName: user.displayName,
491
- isBot: user.user.bot,
492
- rawPlatformUser: user,
493
- provider: this,
494
- });
495
- }
496
- }
497
- exports.DyNTS_DiB_MessagingProvider_ControlService = DyNTS_DiB_MessagingProvider_ControlService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_DiB_MessagingProvider_ControlService = void 0;
4
+ const discord_js_1 = require("discord.js");
5
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
6
+ const bot_messaging_provider_service_base_1 = require("../../../_services/bot-messaging-provider.service-base");
7
+ const messaging_1 = require("@futdevpro/fsm-dynamo/messaging");
8
+ const global_settings_const_1 = require("../../../../../_collections/global-settings.const");
9
+ const bot_channel_wrapper_interface_1 = require("../../../_models/bot-channel-wrapper.interface");
10
+ const bot_message_wrapper_interface_1 = require("../../../_models/bot-message-wrapper.interface");
11
+ const bot_user_wrapper_interface_1 = require("../../../_models/bot-user-wrapper.interface");
12
+ class DyNTS_DiB_MessagingProvider_ControlService extends bot_messaging_provider_service_base_1.DyNTS_Bot_MessagingProvider_ServiceBase {
13
+ name = 'discord';
14
+ type = messaging_1.DyFM_Msg_Provider_Type.discord;
15
+ get botId() {
16
+ return this.client.user?.id;
17
+ }
18
+ get botDisplayName() {
19
+ return this.client.user?.displayName;
20
+ }
21
+ config;
22
+ client;
23
+ guild;
24
+ constructor(setConfig) {
25
+ super();
26
+ this.config = setConfig;
27
+ }
28
+ // Public accessors for Discord-specific objects (for backward compatibility with CCAP)
29
+ get discordClient() {
30
+ return this.client;
31
+ }
32
+ get discordGuild() {
33
+ return this.guild;
34
+ }
35
+ async setup(issuer) {
36
+ try {
37
+ this.client = new discord_js_1.Client({
38
+ intents: this.config.intents,
39
+ partials: this.config.partials,
40
+ });
41
+ }
42
+ catch (error) {
43
+ fsm_dynamo_1.DyFM_Error.logSimple('Error during Discord bot setup:', error);
44
+ throw new fsm_dynamo_1.DyFM_Error({
45
+ ...this.getDefaultErrorSettings('setup', error, issuer),
46
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DiB-MessagingProvider-S000`,
47
+ });
48
+ }
49
+ }
50
+ async start(issuer) {
51
+ try {
52
+ if (!this.client) {
53
+ throw new Error('Discord client not initialized. Call setup() first.');
54
+ }
55
+ return new Promise((resolve, reject) => {
56
+ this.client.on('ready', async () => {
57
+ if (global_settings_const_1.DyNTS_global_settings.bot_settings?.debugLevel >= 1) {
58
+ fsm_dynamo_1.DyFM_Log.success(`Discord bot logged in as ${this.client.user?.tag}`);
59
+ }
60
+ // Get guild
61
+ this.guild = this.client.guilds.cache.get(this.config.guildId);
62
+ if (!this.guild) {
63
+ reject(new Error(`Discord server not found with ID: ${this.config.guildId}`));
64
+ return;
65
+ }
66
+ resolve();
67
+ });
68
+ this.client.login(this.config.token).catch(reject);
69
+ });
70
+ }
71
+ catch (error) {
72
+ fsm_dynamo_1.DyFM_Error.logSimple('Error during Discord bot start:', error);
73
+ throw new fsm_dynamo_1.DyFM_Error({
74
+ ...this.getDefaultErrorSettings('start', error, issuer),
75
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DiB-MessagingProvider-S001`,
76
+ });
77
+ }
78
+ }
79
+ async getChannelByName(name) {
80
+ if (this.channelCache.has(name)) {
81
+ return await this.wrapChannel(this.channelCache.get(name));
82
+ }
83
+ const channel = this.guild.channels.cache.find((ch) => ch.name === name && ch.isTextBased());
84
+ if (!channel) {
85
+ throw new Error(`No text channel found with name "${name}"`);
86
+ }
87
+ this.channelCache.set(name, channel);
88
+ return await this.wrapChannel(channel);
89
+ }
90
+ async getChannelById(id) {
91
+ const channel = this.guild.channels.cache.get(id);
92
+ if (!channel) {
93
+ throw new Error(`No text channel found with ID "${id}"`);
94
+ }
95
+ if (!this.channelCache.has(channel.name)) {
96
+ this.channelCache.set(channel.name, channel);
97
+ }
98
+ return await this.wrapChannel(channel);
99
+ }
100
+ async sendMessageToChannelByName(channelName, message) {
101
+ const discordChannel = await this.getChannelByName(channelName);
102
+ return await this.sendMessageToChannel(discordChannel, message);
103
+ /* if (!discordChannel) {
104
+ throw new Error(`No text channel found with name "${channelName}"`);
105
+ }
106
+
107
+ if (!discordChannel.rawPlatformChannel.isTextBased()) {
108
+ throw new Error(`Channel "${channelName}" is not a text channel`);
109
+ }
110
+
111
+ //const sentMessage: Message = await (discordChannel.rawPlatformChannel as TextChannel).send(message);
112
+ const channel: TextChannel = discordChannel.rawPlatformChannel as TextChannel;
113
+
114
+ let firstMessage: Message;
115
+ const originalMessage: string = message;
116
+ if (message.length > 2_000) { // 2000 characters per message
117
+ while (message.length) {
118
+ if (!firstMessage) {
119
+ firstMessage = await channel.send(message.substring(0, 2_000));
120
+ } else {
121
+ await channel.send(message.substring(0, 2_000));
122
+ }
123
+
124
+ message = message.substring(2_000);
125
+ }
126
+
127
+ firstMessage.content = originalMessage;
128
+ return this.wrapMessage(firstMessage);
129
+ } else {
130
+ const messageSent: Message = await channel.send(message);
131
+ return this.wrapMessage(messageSent);
132
+ } */
133
+ }
134
+ async getMessagesFromChannelByChannelName(channelName, limit = 100) {
135
+ const channel = await this.getChannelByName(channelName);
136
+ if (!channel.rawPlatformChannel.isTextBased()) {
137
+ throw new Error(`Channel "${channelName}" is not a text channel`);
138
+ }
139
+ const messages = await channel.rawPlatformChannel.messages.fetch({
140
+ limit: limit
141
+ });
142
+ return await Promise.all(Array.from(messages.values()).map(async (msg) => await this.wrapMessage(msg)));
143
+ }
144
+ async getLastMessageInChannel(channelName) {
145
+ const channel = await this.getChannelByName(channelName);
146
+ if (!channel.rawPlatformChannel.isTextBased()) {
147
+ throw new Error(`Channel "${channelName}" is not a text channel`);
148
+ }
149
+ const messages = await channel.rawPlatformChannel.messages.fetch({
150
+ limit: 1
151
+ });
152
+ const lastMessage = messages.first();
153
+ return lastMessage ? await this.wrapMessage(lastMessage) : null;
154
+ }
155
+ async clearChannel(channel) {
156
+ if (!channel.rawPlatformChannel.isTextBased()) {
157
+ throw new Error(`Channel "${channel.name}" is not a text channel`);
158
+ }
159
+ let lastId = undefined;
160
+ let fetched = 0;
161
+ const maxFetch = 1000;
162
+ while (fetched < maxFetch) {
163
+ const options = { limit: 100 };
164
+ if (lastId) {
165
+ options.before = lastId;
166
+ }
167
+ const messageCollection = await channel.rawPlatformChannel.messages.fetch(options);
168
+ if (messageCollection.size === 0) {
169
+ break;
170
+ }
171
+ const deletePromises = Array.from(messageCollection.values()).map((message) => message.delete().catch((error) => {
172
+ fsm_dynamo_1.DyFM_Error.logSimple('Failed to delete message', error);
173
+ }));
174
+ await Promise.all(deletePromises);
175
+ lastId = Array.from(messageCollection.values()).pop()?.id;
176
+ fetched += messageCollection.size;
177
+ }
178
+ }
179
+ // Message operations
180
+ async sendMessageToChannel(channel, content) {
181
+ if (!channel.rawPlatformChannel.isTextBased()) {
182
+ throw new Error(`Channel "${channel.name}" is not a text channel`);
183
+ }
184
+ const discordTextChannel = channel.rawPlatformChannel;
185
+ const originalContent = content;
186
+ let firstMessage;
187
+ if (content.length > 2_000) { // 2000 characters per message
188
+ while (content.length) {
189
+ if (!firstMessage) {
190
+ firstMessage = await discordTextChannel.send(content.substring(0, 2_000));
191
+ }
192
+ else {
193
+ await discordTextChannel.send(content.substring(0, 2_000));
194
+ }
195
+ content = content.substring(2_000);
196
+ }
197
+ firstMessage.content = originalContent;
198
+ return await this.wrapMessage(firstMessage);
199
+ }
200
+ else {
201
+ const message = await discordTextChannel.send(content);
202
+ return await this.wrapMessage(message);
203
+ }
204
+ }
205
+ async replyToMessage(message, content) {
206
+ try {
207
+ /* const channel = this.guild.channels.cache.get(channelId) as TextChannel;
208
+ if (!channel) {
209
+ throw new Error(`Channel not found with ID: ${channelId}`);
210
+ }
211
+ const message = await channel.messages.fetch(messageId); */
212
+ if (!message.rawPlatformMessage.channel.isTextBased()) {
213
+ throw new Error(`Message "${message.id}" is not a text message`);
214
+ }
215
+ const originalContent = content;
216
+ if (content.length > 2_000) {
217
+ let firstMessage;
218
+ while (content.length) {
219
+ if (!firstMessage) {
220
+ firstMessage = await message.rawPlatformMessage.channel.send(content.substring(0, 2_000));
221
+ }
222
+ else {
223
+ await message.reply(content.substring(0, 2_000));
224
+ }
225
+ content = content.substring(2_000);
226
+ }
227
+ firstMessage.content = originalContent;
228
+ return await this.wrapMessage(firstMessage);
229
+ }
230
+ else {
231
+ const reply = await message.rawPlatformMessage.reply(content);
232
+ return await this.wrapMessage(reply);
233
+ }
234
+ }
235
+ catch (error) {
236
+ fsm_dynamo_1.DyFM_Error.logSimple('Error replying to message:', error);
237
+ throw new fsm_dynamo_1.DyFM_Error({
238
+ ...this.getDefaultErrorSettings('replyToMessage', error, message.issuer),
239
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-DiB-MessagingProvider-S002`,
240
+ });
241
+ }
242
+ }
243
+ async sendTyping(channel) {
244
+ if (!channel.rawPlatformChannel.isTextBased()) {
245
+ throw new Error(`Channel "${channel.name}" is not a text channel`);
246
+ }
247
+ await channel.rawPlatformChannel.sendTyping();
248
+ }
249
+ async sendTypingForMessage(message) {
250
+ if (!message.rawPlatformMessage.channel.isTextBased()) {
251
+ throw new Error(`Message "${message.id}" is not a text message`);
252
+ }
253
+ await message.rawPlatformMessage.channel.sendTyping();
254
+ }
255
+ async fetchMessages(channel, limit) {
256
+ if (!channel.rawPlatformChannel.isTextBased()) {
257
+ throw new Error(`Channel "${channel.name}" is not a text channel`);
258
+ }
259
+ const messages = await channel.rawPlatformChannel.messages.fetch({
260
+ limit: limit
261
+ });
262
+ return await Promise.all(Array.from(messages.values()).map(async (msg) => await this.wrapMessage(msg)));
263
+ }
264
+ async fetchMessagesById(id, limit) {
265
+ const channel = await this.getChannelById(id);
266
+ return this.fetchMessages(channel, limit);
267
+ }
268
+ async fetchMessagesForMessage(message, limit) {
269
+ if (!message.rawPlatformMessage.channel.isTextBased()) {
270
+ throw new Error(`Message "${message.id}" is not a text message`);
271
+ }
272
+ const messages = await message.rawPlatformMessage.channel.messages.fetch({
273
+ limit: limit
274
+ });
275
+ return await Promise.all(Array.from(messages.values()).map(async (msg) => await this.wrapMessage(msg)));
276
+ }
277
+ async fetchAllMessagesWithPaging(channel, maxFetch = 1000) {
278
+ if (!channel.rawPlatformChannel.isTextBased()) {
279
+ throw new Error(`Channel "${channel.name}" is not a text channel`);
280
+ }
281
+ let lastId = undefined;
282
+ let fetched = 0;
283
+ const allMessages = [];
284
+ while (fetched < maxFetch) {
285
+ const options = { limit: 100 };
286
+ if (lastId)
287
+ options.before = lastId;
288
+ const messageCollection = await channel.rawPlatformChannel.messages.fetch(options);
289
+ if (messageCollection.size === 0)
290
+ break;
291
+ await fsm_dynamo_1.DyFM_Array.asyncForEach(Array.from(messageCollection.values()), async (msg) => {
292
+ allMessages.push(await this.wrapMessage(msg));
293
+ });
294
+ lastId = Array.from(messageCollection.values()).pop()?.id;
295
+ fetched += messageCollection.size;
296
+ }
297
+ return allMessages;
298
+ }
299
+ async deleteMessage(message) {
300
+ await message.rawPlatformMessage.delete();
301
+ }
302
+ // User operations
303
+ async updateMessage(message, issuer) {
304
+ throw new Error('Discord provider not yet implemented');
305
+ }
306
+ async getUserByName(username) {
307
+ const member = this.guild.members.cache.find((m) => m.user.username === username);
308
+ if (!member) {
309
+ throw new Error(`User not found with username: ${username}`);
310
+ }
311
+ return await this.wrapUser(member);
312
+ }
313
+ getUserMention(userId) {
314
+ return `<@${userId}>`;
315
+ }
316
+ async readMembersInChannel(channelName) {
317
+ const channel = await this.getChannelByName(channelName);
318
+ const members = await this.fetchMembersInGuild(this.guild);
319
+ const allowedMembers = members.filter((member) => channel.rawPlatformChannel.isTextBased() &&
320
+ channel.rawPlatformChannel.permissionsFor(member)?.has('ViewChannel'));
321
+ return await fsm_dynamo_1.DyFM_Array.asyncMap(Array.from(allowedMembers.values()), async (member) => await this.wrapUser(member));
322
+ }
323
+ async fetchMembersInGuild(guild) {
324
+ try {
325
+ // Try to fetch with a limit to avoid timeout
326
+ return await guild?.members.fetch({ limit: 1000 });
327
+ }
328
+ catch (fetchError) {
329
+ throw new fsm_dynamo_1.DyFM_Error({
330
+ errorCode: 'DIB-OPS-FMI0',
331
+ message: 'Failed to fetch members',
332
+ error: fetchError,
333
+ });
334
+ }
335
+ }
336
+ async readMemberNamesInChannel(channelName) {
337
+ const members = await this.readMembersInChannel(channelName);
338
+ return members.map((member) => member.username);
339
+ }
340
+ // Advanced message queries
341
+ async getLastMessageSentBy(channelName, username) {
342
+ const channel = await this.getChannelByName(channelName);
343
+ const messages = await this.fetchAllMessagesWithPaging(channel, 1000);
344
+ return messages.find((msg) => msg.authorName === username) || null;
345
+ }
346
+ async getLastMentionOf(channelName, username) {
347
+ const channel = await this.getChannelByName(channelName);
348
+ const messages = await this.fetchAllMessagesWithPaging(channel, 1000);
349
+ return messages.find((msg) => msg.content.includes(`@${username}`) ||
350
+ msg.content.includes(`<@${username}>`)) || null;
351
+ }
352
+ // Advanced message queries
353
+ async readLastMessageDatesByMembers(channelName, memberNames) {
354
+ const channel = await this.getChannelByName(channelName);
355
+ const messages = await this.fetchAllMessagesWithPaging(channel, 1000);
356
+ const memberStatus = {};
357
+ memberNames.forEach((name) => {
358
+ memberStatus[name] = { lastMessageDate: null, allMessages: 0 };
359
+ });
360
+ const cutoffTime = Date.now() - (3 * fsm_dynamo_1.week); // 3 weeks
361
+ messages.forEach((message) => {
362
+ if (message.timestamp < cutoffTime)
363
+ return;
364
+ const author = message.authorName;
365
+ if (memberStatus[author] !== undefined) {
366
+ memberStatus[author].allMessages++;
367
+ if (!memberStatus[author].lastMessageDate) {
368
+ memberStatus[author].lastMessageDate = new Date(message.timestamp);
369
+ }
370
+ }
371
+ });
372
+ return memberNames.map((memberName) => {
373
+ const status = memberStatus[memberName];
374
+ return {
375
+ memberName: memberName,
376
+ allMessages: status.allMessages,
377
+ lastMessageDate: status.lastMessageDate
378
+ };
379
+ });
380
+ }
381
+ // Advanced message queries
382
+ async readLastMessageWithMemberNamePingInIt(channelName, users) {
383
+ const channel = await this.getChannelByName(channelName);
384
+ const messages = await this.fetchAllMessagesWithPaging(channel, 1000);
385
+ const memberStatus = {};
386
+ users.forEach((user) => {
387
+ memberStatus[user.username] = { lastMentionDate: null, allMentions: 0 };
388
+ });
389
+ const cutoffTime = Date.now() - (3 * fsm_dynamo_1.week); // 3 weeks
390
+ messages.forEach((message) => {
391
+ if (message.timestamp < cutoffTime)
392
+ return;
393
+ users.forEach((user) => {
394
+ if (message.content.includes(`@${user.id}`) &&
395
+ !memberStatus[user.username].lastMentionDate) {
396
+ memberStatus[user.username].lastMentionDate = new Date(message.timestamp);
397
+ memberStatus[user.username].allMentions++;
398
+ }
399
+ });
400
+ });
401
+ return users.map((user) => {
402
+ const status = memberStatus[user.username];
403
+ return {
404
+ memberId: user.id,
405
+ memberName: user.username,
406
+ allMentions: status.allMentions,
407
+ lastMentionDate: status.lastMentionDate
408
+ };
409
+ });
410
+ }
411
+ // Discord-specific features
412
+ getRoleByName(roleName) {
413
+ if (this.roleCache.has(roleName)) {
414
+ return this.roleCache.get(roleName);
415
+ }
416
+ const role = this.guild.roles.cache.find((r) => r.name === roleName);
417
+ if (role) {
418
+ this.roleCache.set(roleName, role);
419
+ }
420
+ return role;
421
+ }
422
+ async getRolePingByName(roleName) {
423
+ const role = this.getRoleByName(roleName);
424
+ return role ? `<@&${role.id}>` : '';
425
+ }
426
+ async getRolePingsByName(roleNames) {
427
+ const pings = await Promise.all(roleNames.map((roleName) => this.getRolePingByName(roleName)));
428
+ return pings.join(' ');
429
+ }
430
+ async create_onMessageEventListener(handler) {
431
+ this.client.on('messageCreate', async (message) => {
432
+ await handler(await this.wrapMessage(message), 'discord');
433
+ });
434
+ }
435
+ create_onErrorEventListener(handler) {
436
+ this.client.on('error', (error) => {
437
+ handler(error);
438
+ });
439
+ }
440
+ async sendReport(message) {
441
+ return await this.sendMessageToChannelByName(this.config.reportChannelName, message);
442
+ }
443
+ async sendReportIn(message) {
444
+ return await this.sendMessageToChannelByName(this.config.reportChannelName, `${this.botDisplayName} report for duty! ` +
445
+ `(v${global_settings_const_1.DyNTS_global_settings.systemVersion} ${global_settings_const_1.DyNTS_global_settings.env_settings?.environment})`);
446
+ }
447
+ async wrapMessage(message) {
448
+ let replyTo = null;
449
+ if (message.reference?.messageId) {
450
+ replyTo = message.channel.messages.cache.get(message.reference.messageId);
451
+ }
452
+ return new bot_message_wrapper_interface_1.DyNTS_Bot_MessageWrapper({
453
+ id: message.id,
454
+ content: message.content,
455
+ authorId: message.author.id,
456
+ authorName: message.author.username,
457
+ authorDisplayName: message.author.displayName,
458
+ channelId: message.channel.id,
459
+ channelName: message.channel?.name || 'DM Channel with ' + message.channel.recipient.username,
460
+ timestamp: message.createdTimestamp,
461
+ isBot: message.author.bot,
462
+ isTextBased: message.channel.isTextBased(),
463
+ isVoiceBased: false, /* message.channel.isVoiceBased(), */
464
+ isDM: message.channel.isDMBased(),
465
+ mentions: Array.from(message.mentions.users.keys()),
466
+ replyToMessageId: message.reference?.messageId,
467
+ replyToMessageAuthorId: replyTo?.author?.id,
468
+ rawPlatformMessage: message,
469
+ issuer: message.author.id,
470
+ channel: await this.wrapChannel(message.channel),
471
+ /* user: this.wrapUser(message.author), */
472
+ provider: this,
473
+ });
474
+ }
475
+ async wrapChannel(channel) {
476
+ return new bot_channel_wrapper_interface_1.DyNTS_Bot_ChannelWrapper({
477
+ id: channel.id,
478
+ name: channel.name || ('DM Channel with ' + channel.recipient.username),
479
+ isTextBased: channel.isTextBased(),
480
+ isDM: channel.isDMBased(),
481
+ isVoiceBased: channel.isVoiceBased(),
482
+ rawPlatformChannel: channel,
483
+ provider: this,
484
+ });
485
+ }
486
+ async wrapUser(user) {
487
+ return new bot_user_wrapper_interface_1.DyNTS_Bot_UserWrapper({
488
+ id: user.user.id,
489
+ username: user.user.username,
490
+ displayName: user.displayName,
491
+ isBot: user.user.bot,
492
+ rawPlatformUser: user,
493
+ provider: this,
494
+ });
495
+ }
496
+ }
497
+ exports.DyNTS_DiB_MessagingProvider_ControlService = DyNTS_DiB_MessagingProvider_ControlService;
498
498
  //# sourceMappingURL=dib-messaging-provider.control-service.js.map