@futdevpro/nts-dynamo 1.14.29 → 1.14.31

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 (255) hide show
  1. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +0 -3
  2. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts.map +1 -1
  3. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +20 -15
  4. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js.map +1 -1
  5. package/build/_modules/ai/_services/ai-llm.service-base.d.ts +0 -2
  6. package/build/_modules/ai/_services/ai-llm.service-base.d.ts.map +1 -1
  7. package/build/_modules/ai/_services/ai-provider.service-base.d.ts +2 -1
  8. package/build/_modules/ai/_services/ai-provider.service-base.d.ts.map +1 -1
  9. package/build/_modules/ai/_services/ai-provider.service-base.js +2 -1
  10. package/build/_modules/ai/_services/ai-provider.service-base.js.map +1 -1
  11. package/build/_modules/assistant/_collections/ass.util.d.ts +2 -2
  12. package/build/_modules/assistant/_collections/ass.util.d.ts.map +1 -1
  13. package/build/_modules/assistant/_services/ass-io.control-service.d.ts +5 -9
  14. package/build/_modules/assistant/_services/ass-io.control-service.d.ts.map +1 -1
  15. package/build/_modules/assistant/_services/ass-io.control-service.js +9 -10
  16. package/build/_modules/assistant/_services/ass-io.control-service.js.map +1 -1
  17. package/build/_modules/assistant/_services/ass-main.control-service.d.ts +26 -10
  18. package/build/_modules/assistant/_services/ass-main.control-service.d.ts.map +1 -1
  19. package/build/_modules/assistant/_services/ass-main.control-service.js +49 -4
  20. package/build/_modules/assistant/_services/ass-main.control-service.js.map +1 -1
  21. package/build/_modules/assistant/index.d.ts +1 -1
  22. package/build/_modules/assistant/index.d.ts.map +1 -1
  23. package/build/_modules/assistant/index.js +1 -1
  24. package/build/_modules/assistant/index.js.map +1 -1
  25. package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts +17 -0
  26. package/build/_modules/bot/_models/bot-channel-wrapper.interface.d.ts.map +1 -0
  27. package/build/_modules/bot/_models/{bot-message.interface.js → bot-channel-wrapper.interface.js} +1 -1
  28. package/build/_modules/bot/_models/bot-channel-wrapper.interface.js.map +1 -0
  29. package/build/_modules/bot/_models/bot-command.interface.d.ts +2 -2
  30. package/build/_modules/bot/_models/bot-command.interface.d.ts.map +1 -1
  31. package/build/_modules/bot/_models/bot-global-settings.interface.d.ts +1 -1
  32. package/build/_modules/bot/_models/bot-global-settings.interface.d.ts.map +1 -1
  33. package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts +16 -13
  34. package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts.map +1 -1
  35. package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts +17 -0
  36. package/build/_modules/bot/_models/bot-user-wrapper.interface.d.ts.map +1 -0
  37. package/build/_modules/bot/_models/{bot-channel.interface.js → bot-user-wrapper.interface.js} +1 -1
  38. package/build/_modules/bot/_models/bot-user-wrapper.interface.js.map +1 -0
  39. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.d.ts +0 -7
  40. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.d.ts.map +1 -1
  41. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.js +10 -2
  42. package/build/_modules/bot/_modules/discord-bot/_models/dib-platform.types.js.map +1 -1
  43. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts +67 -0
  44. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.d.ts.map +1 -0
  45. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js +391 -0
  46. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.js.map +1 -0
  47. package/build/_modules/bot/_modules/discord-bot/index.d.ts +1 -4
  48. package/build/_modules/bot/_modules/discord-bot/index.d.ts.map +1 -1
  49. package/build/_modules/bot/_modules/discord-bot/index.js +2 -5
  50. package/build/_modules/bot/_modules/discord-bot/index.js.map +1 -1
  51. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts +3 -3
  52. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts.map +1 -1
  53. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.js +2 -2
  54. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.js.map +1 -1
  55. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.d.ts +6 -6
  56. package/build/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.d.ts.map +1 -1
  57. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts +59 -0
  58. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.d.ts.map +1 -0
  59. package/build/_modules/bot/_modules/dynamo-bot/_services/{dyb-messaging-provider.service.js → dyb-messaging-provider.control-service.js} +130 -108
  60. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.js.map +1 -0
  61. package/build/_modules/bot/_modules/dynamo-bot/index.d.ts +1 -2
  62. package/build/_modules/bot/_modules/dynamo-bot/index.d.ts.map +1 -1
  63. package/build/_modules/bot/_modules/dynamo-bot/index.js +1 -2
  64. package/build/_modules/bot/_modules/dynamo-bot/index.js.map +1 -1
  65. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.d.ts +6 -6
  66. package/build/_modules/bot/_modules/slack-bot/_models/slb-platform.types.d.ts.map +1 -1
  67. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts +55 -0
  68. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.d.ts.map +1 -0
  69. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js +132 -0
  70. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.js.map +1 -0
  71. package/build/_modules/bot/_modules/slack-bot/index.d.ts +1 -2
  72. package/build/_modules/bot/_modules/slack-bot/index.d.ts.map +1 -1
  73. package/build/_modules/bot/_modules/slack-bot/index.js +1 -3
  74. package/build/_modules/bot/_modules/slack-bot/index.js.map +1 -1
  75. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.d.ts +6 -6
  76. package/build/_modules/bot/_modules/teams-bot/_models/teb-platform.types.d.ts.map +1 -1
  77. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts +55 -0
  78. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.d.ts.map +1 -0
  79. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js +132 -0
  80. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.js.map +1 -0
  81. package/build/_modules/bot/_modules/teams-bot/index.d.ts +1 -2
  82. package/build/_modules/bot/_modules/teams-bot/index.d.ts.map +1 -1
  83. package/build/_modules/bot/_modules/teams-bot/index.js +1 -3
  84. package/build/_modules/bot/_modules/teams-bot/index.js.map +1 -1
  85. package/build/_modules/bot/_services/bot-commands.control-service.d.ts +8 -11
  86. package/build/_modules/bot/_services/bot-commands.control-service.d.ts.map +1 -1
  87. package/build/_modules/bot/_services/bot-commands.control-service.js +60 -15
  88. package/build/_modules/bot/_services/bot-commands.control-service.js.map +1 -1
  89. package/build/_modules/bot/_services/bot-io.control-service.d.ts +16 -17
  90. package/build/_modules/bot/_services/bot-io.control-service.d.ts.map +1 -1
  91. package/build/_modules/bot/_services/bot-io.control-service.js +60 -51
  92. package/build/_modules/bot/_services/bot-io.control-service.js.map +1 -1
  93. package/build/_modules/bot/_services/bot-main.control-service.d.ts +17 -37
  94. package/build/_modules/bot/_services/bot-main.control-service.d.ts.map +1 -1
  95. package/build/_modules/bot/_services/bot-main.control-service.js +107 -263
  96. package/build/_modules/bot/_services/bot-main.control-service.js.map +1 -1
  97. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts +70 -0
  98. package/build/_modules/bot/_services/bot-messaging-provider.service-base.d.ts.map +1 -0
  99. package/build/_modules/bot/_services/bot-messaging-provider.service-base.js +16 -0
  100. package/build/_modules/bot/_services/bot-messaging-provider.service-base.js.map +1 -0
  101. package/build/_modules/bot/_services/bot-routines.control-service.d.ts +6 -9
  102. package/build/_modules/bot/_services/bot-routines.control-service.d.ts.map +1 -1
  103. package/build/_modules/bot/_services/bot-routines.control-service.js +29 -9
  104. package/build/_modules/bot/_services/bot-routines.control-service.js.map +1 -1
  105. package/build/_modules/bot/index.d.ts +3 -7
  106. package/build/_modules/bot/index.d.ts.map +1 -1
  107. package/build/_modules/bot/index.js +9 -7
  108. package/build/_modules/bot/index.js.map +1 -1
  109. package/build/_modules/messaging/_collections/msg-global-settings.const.d.ts.map +1 -1
  110. package/build/_modules/messaging/_collections/msg-global-settings.const.js +0 -5
  111. package/build/_modules/messaging/_collections/msg-global-settings.const.js.map +1 -1
  112. package/build/_modules/messaging/_collections/msg.util.d.ts +2 -2
  113. package/build/_modules/messaging/_collections/msg.util.d.ts.map +1 -1
  114. package/build/_modules/messaging/_collections/msg.util.js.map +1 -1
  115. package/build/_modules/messaging/_models/msg-global-settings.interface.d.ts +0 -9
  116. package/build/_modules/messaging/_models/msg-global-settings.interface.d.ts.map +1 -1
  117. package/build/_modules/messaging/_services/msg-integration.control-service.d.ts +0 -25
  118. package/build/_modules/messaging/_services/msg-integration.control-service.d.ts.map +1 -1
  119. package/build/_modules/messaging/_services/msg-integration.control-service.js +180 -125
  120. package/build/_modules/messaging/_services/msg-integration.control-service.js.map +1 -1
  121. package/build/_modules/messaging/index.d.ts +0 -1
  122. package/build/_modules/messaging/index.d.ts.map +1 -1
  123. package/build/_modules/messaging/index.js +1 -1
  124. package/build/_modules/messaging/index.js.map +1 -1
  125. package/package.json +1 -1
  126. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +4 -4
  127. package/src/_modules/ai/_services/ai-llm.service-base.ts +2 -2
  128. package/src/_modules/ai/_services/ai-provider.service-base.ts +2 -1
  129. package/src/_modules/assistant/_collections/ass.util.ts +2 -2
  130. package/src/_modules/assistant/_services/ass-io.control-service.ts +17 -48
  131. package/src/_modules/assistant/_services/ass-main.control-service.ts +83 -32
  132. package/src/_modules/assistant/index.ts +1 -1
  133. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +24 -0
  134. package/src/_modules/bot/_models/bot-command.interface.ts +2 -2
  135. package/src/_modules/bot/_models/bot-global-settings.interface.ts +1 -1
  136. package/src/_modules/bot/_models/bot-message-wrapper.interface.ts +18 -18
  137. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +35 -0
  138. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +8 -7
  139. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts +521 -0
  140. package/src/_modules/bot/_modules/discord-bot/index.ts +2 -5
  141. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +8 -5
  142. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +6 -6
  143. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +431 -0
  144. package/src/_modules/bot/_modules/dynamo-bot/index.ts +1 -2
  145. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +6 -6
  146. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +186 -0
  147. package/src/_modules/bot/_modules/slack-bot/index.ts +1 -3
  148. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +6 -6
  149. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +186 -0
  150. package/src/_modules/bot/_modules/teams-bot/index.ts +1 -4
  151. package/src/_modules/bot/_services/bot-commands.control-service.ts +64 -34
  152. package/src/_modules/bot/_services/bot-io.control-service.ts +86 -95
  153. package/src/_modules/bot/_services/bot-main.control-service.ts +249 -240
  154. package/src/_modules/bot/_services/bot-messaging-provider.service-base.ts +152 -0
  155. package/src/_modules/bot/_services/bot-routines.control-service.ts +39 -44
  156. package/src/_modules/bot/index.ts +9 -7
  157. package/src/_modules/messaging/README.md +2 -7
  158. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +0 -6
  159. package/src/_modules/messaging/_collections/msg.util.ts +2 -2
  160. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +0 -12
  161. package/src/_modules/messaging/_services/msg-integration.control-service.ts +180 -179
  162. package/src/_modules/messaging/index.ts +1 -1
  163. package/build/_modules/ai/_modules/open-ai/_services/oai-doc-chunk-data.service.d.ts +0 -22
  164. package/build/_modules/ai/_modules/open-ai/_services/oai-doc-chunk-data.service.d.ts.map +0 -1
  165. package/build/_modules/ai/_modules/open-ai/_services/oai-doc-chunk-data.service.js +0 -187
  166. package/build/_modules/ai/_modules/open-ai/_services/oai-doc-chunk-data.service.js.map +0 -1
  167. package/build/_modules/ai/_modules/open-ai/_services/oai-doc-page.data-service.d.ts +0 -27
  168. package/build/_modules/ai/_modules/open-ai/_services/oai-doc-page.data-service.d.ts.map +0 -1
  169. package/build/_modules/ai/_modules/open-ai/_services/oai-doc-page.data-service.js +0 -277
  170. package/build/_modules/ai/_modules/open-ai/_services/oai-doc-page.data-service.js.map +0 -1
  171. package/build/_modules/ai/_modules/open-ai/_services/oai-document.data-service.d.ts +0 -23
  172. package/build/_modules/ai/_modules/open-ai/_services/oai-document.data-service.d.ts.map +0 -1
  173. package/build/_modules/ai/_modules/open-ai/_services/oai-document.data-service.js +0 -319
  174. package/build/_modules/ai/_modules/open-ai/_services/oai-document.data-service.js.map +0 -1
  175. package/build/_modules/ai/_modules/open-ai/_services/oai-vector-data.service.d.ts +0 -118
  176. package/build/_modules/ai/_modules/open-ai/_services/oai-vector-data.service.d.ts.map +0 -1
  177. package/build/_modules/ai/_modules/open-ai/_services/oai-vector-data.service.js +0 -460
  178. package/build/_modules/ai/_modules/open-ai/_services/oai-vector-data.service.js.map +0 -1
  179. package/build/_modules/assistant/_services/ass.service-base.d.ts +0 -33
  180. package/build/_modules/assistant/_services/ass.service-base.d.ts.map +0 -1
  181. package/build/_modules/assistant/_services/ass.service-base.js +0 -58
  182. package/build/_modules/assistant/_services/ass.service-base.js.map +0 -1
  183. package/build/_modules/bot/_collections/bot-operations.util.d.ts +0 -21
  184. package/build/_modules/bot/_collections/bot-operations.util.d.ts.map +0 -1
  185. package/build/_modules/bot/_collections/bot-operations.util.js +0 -74
  186. package/build/_modules/bot/_collections/bot-operations.util.js.map +0 -1
  187. package/build/_modules/bot/_models/bot-channel.interface.d.ts +0 -8
  188. package/build/_modules/bot/_models/bot-channel.interface.d.ts.map +0 -1
  189. package/build/_modules/bot/_models/bot-channel.interface.js.map +0 -1
  190. package/build/_modules/bot/_models/bot-message.interface.d.ts +0 -15
  191. package/build/_modules/bot/_models/bot-message.interface.d.ts.map +0 -1
  192. package/build/_modules/bot/_models/bot-message.interface.js.map +0 -1
  193. package/build/_modules/bot/_models/bot-messaging-provider.interface.d.ts +0 -68
  194. package/build/_modules/bot/_models/bot-messaging-provider.interface.d.ts.map +0 -1
  195. package/build/_modules/bot/_models/bot-messaging-provider.interface.js +0 -3
  196. package/build/_modules/bot/_models/bot-messaging-provider.interface.js.map +0 -1
  197. package/build/_modules/bot/_models/bot-user.interface.d.ts +0 -8
  198. package/build/_modules/bot/_models/bot-user.interface.d.ts.map +0 -1
  199. package/build/_modules/bot/_models/bot-user.interface.js +0 -3
  200. package/build/_modules/bot/_models/bot-user.interface.js.map +0 -1
  201. package/build/_modules/bot/_modules/discord-bot/_collections/dib-operations.util.d.ts +0 -11
  202. package/build/_modules/bot/_modules/discord-bot/_collections/dib-operations.util.d.ts.map +0 -1
  203. package/build/_modules/bot/_modules/discord-bot/_collections/dib-operations.util.js +0 -13
  204. package/build/_modules/bot/_modules/discord-bot/_collections/dib-operations.util.js.map +0 -1
  205. package/build/_modules/bot/_modules/discord-bot/_collections/dib.util.d.ts +0 -5
  206. package/build/_modules/bot/_modules/discord-bot/_collections/dib.util.d.ts.map +0 -1
  207. package/build/_modules/bot/_modules/discord-bot/_collections/dib.util.js +0 -19
  208. package/build/_modules/bot/_modules/discord-bot/_collections/dib.util.js.map +0 -1
  209. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.service.d.ts +0 -56
  210. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.service.d.ts.map +0 -1
  211. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.service.js +0 -379
  212. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.service.js.map +0 -1
  213. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb.util.d.ts +0 -5
  214. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb.util.d.ts.map +0 -1
  215. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb.util.js +0 -26
  216. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb.util.js.map +0 -1
  217. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.service.d.ts +0 -55
  218. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.service.d.ts.map +0 -1
  219. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.service.js.map +0 -1
  220. package/build/_modules/bot/_modules/slack-bot/_collections/slb-operations.util.d.ts +0 -11
  221. package/build/_modules/bot/_modules/slack-bot/_collections/slb-operations.util.d.ts.map +0 -1
  222. package/build/_modules/bot/_modules/slack-bot/_collections/slb-operations.util.js +0 -13
  223. package/build/_modules/bot/_modules/slack-bot/_collections/slb-operations.util.js.map +0 -1
  224. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.service.d.ts +0 -41
  225. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.service.d.ts.map +0 -1
  226. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.service.js +0 -119
  227. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.service.js.map +0 -1
  228. package/build/_modules/bot/_modules/teams-bot/_collections/teb-operations.util.d.ts +0 -11
  229. package/build/_modules/bot/_modules/teams-bot/_collections/teb-operations.util.d.ts.map +0 -1
  230. package/build/_modules/bot/_modules/teams-bot/_collections/teb-operations.util.js +0 -13
  231. package/build/_modules/bot/_modules/teams-bot/_collections/teb-operations.util.js.map +0 -1
  232. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.service.d.ts +0 -41
  233. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.service.d.ts.map +0 -1
  234. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.service.js +0 -119
  235. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.service.js.map +0 -1
  236. package/build/_modules/bot/_services/bot-messaging-provider-factory.service.d.ts +0 -6
  237. package/build/_modules/bot/_services/bot-messaging-provider-factory.service.d.ts.map +0 -1
  238. package/build/_modules/bot/_services/bot-messaging-provider-factory.service.js +0 -47
  239. package/build/_modules/bot/_services/bot-messaging-provider-factory.service.js.map +0 -1
  240. package/src/_modules/assistant/_services/ass.service-base.ts +0 -100
  241. package/src/_modules/bot/_collections/bot-operations.util.ts +0 -149
  242. package/src/_modules/bot/_models/bot-channel.interface.ts +0 -7
  243. package/src/_modules/bot/_models/bot-message.interface.ts +0 -14
  244. package/src/_modules/bot/_models/bot-messaging-provider.interface.ts +0 -88
  245. package/src/_modules/bot/_models/bot-user.interface.ts +0 -7
  246. package/src/_modules/bot/_modules/discord-bot/_collections/dib-operations.util.ts +0 -18
  247. package/src/_modules/bot/_modules/discord-bot/_collections/dib.util.ts +0 -20
  248. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.service.ts +0 -475
  249. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb.util.ts +0 -26
  250. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.service.ts +0 -403
  251. package/src/_modules/bot/_modules/slack-bot/_collections/slb-operations.util.ts +0 -18
  252. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.service.ts +0 -156
  253. package/src/_modules/bot/_modules/teams-bot/_collections/teb-operations.util.ts +0 -18
  254. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.service.ts +0 -156
  255. package/src/_modules/bot/_services/bot-messaging-provider-factory.service.ts +0 -56
@@ -0,0 +1,431 @@
1
+ import { DyFM_AnyError, DyFM_Error, DyFM_Log, week } from '@futdevpro/fsm-dynamo';
2
+ import { DyNTS_Bot_MessagingProvider_ServiceBase, DyNTS_Bot_MessagingProvider_Config } from '../../../_services/bot-messaging-provider.service-base';
3
+ import { DyNTS_Bot_ChannelWrapper } from '../../../_models/bot-channel-wrapper.interface';
4
+ import { DyNTS_Bot_LastMessageDate } from '../../../_models/bot-last-message-date.interface';
5
+ import { DyNTS_Bot_LastMentionDate } from '../../../_models/bot-last-mention-date.interface';
6
+ import { DyNTS_Bot_MessagingProvider_Type } from '../../../_enums/bot-message-provider.enum';
7
+ import { DyNTS_Bot_MessageWrapper } from '../../../_models/bot-message-wrapper.interface';
8
+ import { DyNTS_Bot_UserWrapper } from '../../../_models/bot-user-wrapper.interface';
9
+ import { DyNTS_DyB_Message, DyNTS_DyB_Channel, DyNTS_DyB_User } from '../_models/dyb-platform.types';
10
+ import { DyNTS_global_settings } from '../../../../../_collections/global-settings.const';
11
+ import { DyNTS_Msg_Main_ControlService } from '../../../../messaging/_services/msg-main.control-service';
12
+ import { DyNTS_Msg_Message_DataService } from '../../../../messaging/_services/msg-message.data-service';
13
+ import { DyNTS_Msg_Conversation_DataService } from '../../../../messaging/_services/msg-conversation.data-service';
14
+ import { DyNTS_Msg_Events_Service } from '../../../../messaging/_services/msg-events.service';
15
+ import { DyFM_Msg_Conversation, DyFM_Msg_EventKey, DyFM_Msg_Message, DyFM_Msg_Participant } from '@futdevpro/fsm-dynamo/messaging';
16
+
17
+ export interface Dynamo_MessagingProviderConfig extends DyNTS_Bot_MessagingProvider_Config {
18
+ botUserId?: string;
19
+ botDisplayName?: string;
20
+ }
21
+
22
+ export class DyNTS_DyB_MessagingProvider_ControlService extends DyNTS_Bot_MessagingProvider_ServiceBase<
23
+ DyFM_Msg_Conversation,
24
+ DyFM_Msg_Message,
25
+ DyFM_Msg_Participant,
26
+ Dynamo_MessagingProviderConfig,
27
+ any
28
+ > {
29
+ readonly name = 'dynamo';
30
+ readonly type = DyNTS_Bot_MessagingProvider_Type.dynamo;
31
+
32
+ get botId(): string {
33
+ return this.config.botUserId || 'dynamo-bot';
34
+ }
35
+
36
+ get botDisplayName(): string {
37
+ return this.config.botDisplayName || 'Dynamo Bot';
38
+ }
39
+
40
+ readonly config: Dynamo_MessagingProviderConfig;
41
+
42
+ /* protected override readonly channelCache: Map<string, DyFM_Msg_Conversation> = new Map();
43
+ protected override readonly roleCache: Map<string, any> = new Map(); */
44
+
45
+ // Services
46
+ private messagingService: DyNTS_Msg_Main_ControlService;
47
+ private eventsService: DyNTS_Msg_Events_Service;
48
+
49
+ constructor(setConfig: Dynamo_MessagingProviderConfig) {
50
+ super();
51
+ this.config = setConfig;
52
+ this.messagingService = DyNTS_Msg_Main_ControlService.getInstance();
53
+ this.eventsService = DyNTS_Msg_Events_Service.getInstance();
54
+ }
55
+
56
+ async setup(issuer: string): Promise<void> {
57
+ try {
58
+ DyFM_Log.success('Dynamo bot provider setup completed');
59
+ } catch (error) {
60
+ DyFM_Error.logSimple('Error during Dynamo bot setup:', error);
61
+
62
+ throw new DyFM_Error({
63
+ ...this.getDefaultErrorSettings('setup', error, issuer),
64
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-DyB-MessagingProvider-S000`,
65
+ });
66
+ }
67
+ }
68
+
69
+ async start(issuer: string): Promise<void> {
70
+ try {
71
+ // Setup event listeners for messaging events
72
+ this.setupEventListeners();
73
+ DyFM_Log.success('Dynamo bot provider started');
74
+ } catch (error) {
75
+ DyFM_Error.logSimple('Error during Dynamo bot start:', error);
76
+
77
+ throw new DyFM_Error({
78
+ ...this.getDefaultErrorSettings('start', error, issuer),
79
+ errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-DyB-MessagingProvider-S001`,
80
+ });
81
+ }
82
+ }
83
+
84
+ private setupEventListeners(): void {
85
+ // Listen to messaging events and convert them to bot events
86
+ // Note: This would require extending the events service to support custom listeners
87
+ // For now, we'll implement a basic approach
88
+ DyFM_Log.info('Dynamo bot event listeners setup (messaging integration)');
89
+ }
90
+
91
+ // Channel operations
92
+ async getChannelByName(name: string): Promise<DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>> {
93
+ if (this.channelCache.has(name)) {
94
+ return this.wrapChannel(this.channelCache.get(name));
95
+ }
96
+
97
+ const conversationService: DyNTS_Msg_Conversation_DataService = new DyNTS_Msg_Conversation_DataService({
98
+ issuer: 'dynamo-bot',
99
+ });
100
+
101
+ // Try to find conversation by name or platformChannelId
102
+ const conversation: DyFM_Msg_Conversation = await conversationService.dataDBService.findOne({
103
+ $or: [
104
+ { name: name },
105
+ { platformChannelId: name }
106
+ ],
107
+ __deleted: { $exists: false }
108
+ });
109
+
110
+ if (!conversation) {
111
+ throw new Error(`No conversation found with name "${name}"`);
112
+ }
113
+
114
+ this.channelCache.set(name, conversation);
115
+ return this.wrapChannel(conversation);
116
+ }
117
+
118
+ async getChannelById(id: string): Promise<DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>> {
119
+ if (this.channelCache.has(id)) {
120
+ return this.wrapChannel(this.channelCache.get(id));
121
+ }
122
+
123
+ const conversationService: DyNTS_Msg_Conversation_DataService = new DyNTS_Msg_Conversation_DataService({
124
+ issuer: 'dynamo-bot',
125
+ });
126
+
127
+ const conversation: DyFM_Msg_Conversation = await conversationService.dataDBService.findOne({
128
+ _id: id,
129
+ __deleted: { $exists: false }
130
+ });
131
+
132
+ if (!conversation) {
133
+ throw new Error(`No conversation found with ID "${id}"`);
134
+ }
135
+
136
+ this.channelCache.set(id, conversation);
137
+ return this.wrapChannel(conversation);
138
+ }
139
+
140
+ async sendMessageToChannelByName(channelName: string, message: string, issuer: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
141
+ const channel: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
142
+ return this.sendMessage(channel, message);
143
+ }
144
+
145
+ async getMessagesFromChannelByChannelName(channelName: string, limit: number = 100): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[]> {
146
+ const channel: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
147
+ return this.fetchMessages(channel, limit);
148
+ }
149
+
150
+ async getLastMessageInChannel(channelName: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
151
+ const channel: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
152
+ const messages: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[] = await this.fetchMessages(channel, 1);
153
+ return messages.length > 0 ? messages[0] : null;
154
+ }
155
+
156
+ async clearChannel(channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>): Promise<void> {
157
+ // For messaging system, we don't actually delete messages
158
+ // This could be implemented to mark messages as deleted or archived
159
+ DyFM_Log.warn('Clear channel not implemented for messaging system');
160
+ }
161
+
162
+ // Message operations
163
+ async sendMessage(channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>, content: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
164
+ const message: DyFM_Msg_Message = await this.messagingService.sendMessage(
165
+ channelWrapper.id,
166
+ {
167
+ content,
168
+ type: 'text' as any,
169
+ },
170
+ this.botId,
171
+ 'dynamo-bot'
172
+ );
173
+
174
+ return this.wrapMessage(message);
175
+ }
176
+
177
+ async replyToMessage(messageWrapper: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>, content: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
178
+ // In messaging system, we can't directly reply to a message
179
+ // Instead, we'll send a new message with reference to the original
180
+ const replyContent: string = `[Reply to message ${messageWrapper.id}] ${content}`;
181
+
182
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(messageWrapper.channelName);
183
+ return this.sendMessage(channelWrapper, replyContent);
184
+ }
185
+
186
+ async sendTyping(channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>): Promise<void> {
187
+ // Typing indicators not implemented for messaging system
188
+ DyFM_Log.info('Typing indicator not supported in messaging system');
189
+ }
190
+
191
+ async fetchMessages(channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>, limit: number): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[]> {
192
+ const messageService: DyNTS_Msg_Message_DataService = new DyNTS_Msg_Message_DataService({
193
+ issuer: 'dynamo-bot',
194
+ });
195
+
196
+ const messages: DyFM_Msg_Message[] = await messageService.dataDBService.find({
197
+ conversationId: channelWrapper.id,
198
+ __deleted: { $exists: false },
199
+ $sort: { sentAt: -1 },
200
+ $limit: limit
201
+ });
202
+
203
+ return messages.map((msg: DyFM_Msg_Message) => this.wrapMessage(msg));
204
+ }
205
+
206
+ async fetchMessagesById(id: string, limit: number): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[]> {
207
+ const messageService: DyNTS_Msg_Message_DataService = new DyNTS_Msg_Message_DataService({
208
+ issuer: 'dynamo-bot',
209
+ });
210
+
211
+ const messages: DyFM_Msg_Message[] = await messageService.dataDBService.find({
212
+ _id: id,
213
+ __deleted: { $exists: false },
214
+ $sort: { sentAt: -1 },
215
+ $limit: limit
216
+ });
217
+
218
+ return messages.map((msg: DyFM_Msg_Message) => this.wrapMessage(msg));
219
+ }
220
+
221
+ async fetchMessagesForMessage(messageWrapper: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>, limit: number): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[]> {
222
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(messageWrapper.channelName);
223
+ return this.fetchMessages(channelWrapper, limit);
224
+ }
225
+
226
+ async fetchAllMessagesWithPaging(channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>, maxFetch: number = 1000): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[]> {
227
+ return this.fetchMessages(channelWrapper, maxFetch);
228
+ }
229
+
230
+ async deleteMessage(messageWrapper: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>): Promise<void> {
231
+ await this.messagingService.deleteMessage(messageWrapper.id, 'dynamo-bot', 'dynamo-bot');
232
+ }
233
+
234
+ // User operations
235
+ async getUserByName(username: string): Promise<DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>> {
236
+ // In messaging system, we don't have a direct user lookup by name
237
+ // This would need to be implemented based on your user management system
238
+ const userData: any = {
239
+ userId: username,
240
+ username: username,
241
+ displayName: username,
242
+ isBot: false,
243
+ role: 'member',
244
+ joinedAt: new Date()
245
+ };
246
+
247
+ return this.wrapUser(userData);
248
+ }
249
+
250
+ getUserMention(userId: string): string {
251
+ return `@${userId}`;
252
+ }
253
+
254
+ async readMembersInChannel(channelName: string): Promise<DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>[]> {
255
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
256
+ const participants: DyFM_Msg_Participant[] = channelWrapper.rawPlatformChannel.participants || [];
257
+
258
+ return participants.map(participant => this.wrapUser(participant));
259
+ }
260
+
261
+ async readMemberNamesInChannel(channelName: string): Promise<string[]> {
262
+ const members: DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>[] = await this.readMembersInChannel(channelName);
263
+ return members.map(member => member.username);
264
+ }
265
+
266
+ // Advanced message queries
267
+ async getLastMessageSentBy(channelName: string, username: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
268
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
269
+ const messages: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[] = await this.fetchAllMessagesWithPaging(channelWrapper, 1000);
270
+
271
+ return messages.find(msg => msg.authorName === username) || null;
272
+ }
273
+
274
+ async getLastMentionOf(channelName: string, username: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
275
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
276
+ const messages: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[] = await this.fetchAllMessagesWithPaging(channelWrapper, 1000);
277
+
278
+ return messages.find(msg =>
279
+ msg.content.includes(`@${username}`) ||
280
+ msg.content.includes(username)
281
+ ) || null;
282
+ }
283
+
284
+ async readLastMessageDatesByMembers(channelName: string, memberNames: string[]): Promise<DyNTS_Bot_LastMessageDate[]> {
285
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
286
+ const messages: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[] = await this.fetchAllMessagesWithPaging(channelWrapper, 1000);
287
+
288
+ const memberStatus: Record<string, { lastMessageDate: Date | null, allMessages: number }> = {};
289
+ memberNames.forEach((name: string) => {
290
+ memberStatus[name] = { lastMessageDate: null, allMessages: 0 };
291
+ });
292
+
293
+ const cutoffTime: number = Date.now() - (3 * week); // 3 weeks
294
+
295
+ messages.forEach((message: DyNTS_DyB_Message) => {
296
+ if (message.timestamp < cutoffTime) return;
297
+
298
+ const author = message.authorName;
299
+ if (memberStatus[author] !== undefined) {
300
+ memberStatus[author].allMessages++;
301
+ if (!memberStatus[author].lastMessageDate) {
302
+ memberStatus[author].lastMessageDate = new Date(message.timestamp);
303
+ }
304
+ }
305
+ });
306
+
307
+ return memberNames.map((memberName: string) => {
308
+ const status: { lastMessageDate: Date | null, allMessages: number } = memberStatus[memberName];
309
+ return {
310
+ memberName: memberName,
311
+ allMessages: status.allMessages,
312
+ lastMessageDate: status.lastMessageDate
313
+ };
314
+ });
315
+ }
316
+
317
+ async readLastMessageWithMemberNamePingInIt(channelName: string, users: DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>[]): Promise<DyNTS_Bot_LastMentionDate[]> {
318
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
319
+ const messages: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[] = await this.fetchAllMessagesWithPaging(channelWrapper, 1000);
320
+
321
+ const memberStatus: Record<string, { lastMentionDate: Date | null; allMentions: number }> = {};
322
+ users.forEach((user: DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>) => {
323
+ memberStatus[user.username] = { lastMentionDate: null, allMentions: 0 };
324
+ });
325
+
326
+ const cutoffTime: number = Date.now() - (3 * week); // 3 weeks
327
+
328
+ messages.forEach((message: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>) => {
329
+ if (message.timestamp < cutoffTime) return;
330
+
331
+ users.forEach((user: DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>) => {
332
+ if (
333
+ message.content.includes(`@${user.id}`) &&
334
+ !memberStatus[user.username].lastMentionDate
335
+ ) {
336
+ memberStatus[user.username].lastMentionDate = new Date(message.timestamp);
337
+ memberStatus[user.username].allMentions++;
338
+ }
339
+ });
340
+ });
341
+
342
+ return users.map((user: DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>) => {
343
+ const status: { lastMentionDate: Date | null; allMentions: number } = memberStatus[user.username];
344
+ return {
345
+ memberId: user.id,
346
+ memberName: user.username,
347
+ allMentions: status.allMentions,
348
+ lastMentionDate: status.lastMentionDate
349
+ };
350
+ });
351
+ }
352
+
353
+ // Platform-specific features (not applicable for messaging system)
354
+ getRoleByName?(roleName: string): any {
355
+ return null; // Not applicable for messaging system
356
+ }
357
+
358
+ getRolePingByName?(roleName: string): Promise<string> {
359
+ return Promise.resolve(''); // Not applicable for messaging system
360
+ }
361
+
362
+ getRolePingsByName?(roleNames: string[]): Promise<string> {
363
+ return Promise.resolve(''); // Not applicable for messaging system
364
+ }
365
+
366
+ // Event binding
367
+ create_onMessageEventListener(
368
+ handler: (message: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>, issuer: string) => void
369
+ ): void {
370
+ // TODO: Implement message event listener for messaging system
371
+ DyFM_Log.info('Message event listener created (messaging integration)');
372
+ }
373
+
374
+ create_onErrorEventListener(handler: (error: DyFM_AnyError) => void): void {
375
+ // TODO: Implement error event listener for messaging system
376
+ DyFM_Log.info('Error event listener created (messaging integration)');
377
+ }
378
+
379
+ async sendReport(message: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
380
+ return await this.sendMessageToChannelByName(this.config.reportChannelName, message, 'dynamo-bot');
381
+ }
382
+
383
+ async sendReportIn(message: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
384
+ return await this.sendMessageToChannelByName(
385
+ this.config.reportChannelName,
386
+ `${this.botDisplayName} report for duty! ` +
387
+ `(v${DyNTS_global_settings.systemVersion} ${DyNTS_global_settings.env_settings?.environment})`,
388
+ 'dynamo-bot'
389
+ );
390
+ }
391
+
392
+ wrapMessage(msgMessage: any): DyNTS_Bot_MessageWrapper<DyFM_Msg_Message> {
393
+ return {
394
+ id: msgMessage._id || msgMessage.id,
395
+ content: msgMessage.content || '',
396
+ authorId: msgMessage.senderId || msgMessage.authorId,
397
+ authorName: msgMessage.senderName || msgMessage.authorName,
398
+ authorDisplayName: msgMessage.senderDisplayName || msgMessage.authorDisplayName,
399
+ channelId: msgMessage.conversationId || msgMessage.channelId,
400
+ channelName: msgMessage.conversationName || msgMessage.channelName || 'unknown',
401
+ timestamp: msgMessage.sentAt ? new Date(msgMessage.sentAt).getTime() : Date.now(),
402
+ isBot: msgMessage.isAIGenerated || false,
403
+ replyToMessageId: msgMessage.replyToMessageId,
404
+ mentions: msgMessage.mentions || [],
405
+ rawPlatformMessage: msgMessage,
406
+ provider: this
407
+ };
408
+ }
409
+
410
+ wrapChannel(conversation: any): DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> {
411
+ return {
412
+ id: conversation._id || conversation.id,
413
+ name: conversation.name || conversation.platformChannelId || 'unknown',
414
+ isTextBased: true,
415
+ isDM: conversation.type === 'direct',
416
+ rawPlatformChannel: conversation,
417
+ provider: this
418
+ };
419
+ }
420
+
421
+ wrapUser(user: any): DyNTS_Bot_UserWrapper<DyFM_Msg_Participant> {
422
+ return {
423
+ id: user.userId || user.id,
424
+ username: user.username || user.userId || user.id,
425
+ displayName: user.displayName || user.username || user.userId,
426
+ isBot: user.isBot || false,
427
+ rawPlatformUser: user,
428
+ provider: this
429
+ };
430
+ }
431
+ }
@@ -9,8 +9,7 @@
9
9
  export * from './_models/dyb-platform.types';
10
10
 
11
11
  // SERVICES
12
- export * from './_services/dyb-messaging-provider.service';
12
+ export * from './_services/dyb-messaging-provider.control-service';
13
13
 
14
14
  // COLLECTIONS
15
15
  export * from './_collections/dyb-operations.util';
16
- export * from './_collections/dyb.util';
@@ -1,9 +1,9 @@
1
- import { DyNTS_Bot_Message } from '../../../_models/bot-message.interface';
2
- import { DyNTS_Bot_Channel } from '../../../_models/bot-channel.interface';
3
- import { DyNTS_Bot_User } from '../../../_models/bot-user.interface';
1
+ import { DyNTS_Bot_MessageWrapper } from '../../../_models/bot-message-wrapper.interface';
2
+ import { DyNTS_Bot_ChannelWrapper } from '../../../_models/bot-channel-wrapper.interface';
3
+ import { DyNTS_Bot_UserWrapper } from '../../../_models/bot-user-wrapper.interface';
4
4
 
5
5
  // Slack Bot Platform-Specific Types
6
6
  // TODO: Replace 'any' with actual Slack SDK types when implementing
7
- export type DyNTS_SlB_Message = DyNTS_Bot_Message<any>;
8
- export type DyNTS_SlB_Channel = DyNTS_Bot_Channel<any>;
9
- export type DyNTS_SlB_User = DyNTS_Bot_User<any>;
7
+ export type DyNTS_SlB_Message = DyNTS_Bot_MessageWrapper<any>;
8
+ export type DyNTS_SlB_Channel = DyNTS_Bot_ChannelWrapper<any>;
9
+ export type DyNTS_SlB_User = DyNTS_Bot_UserWrapper<any>;
@@ -0,0 +1,186 @@
1
+ import { DyFM_AnyError, DyFM_Error } from '@futdevpro/fsm-dynamo';
2
+ import { DyNTS_Bot_MessagingProvider_ServiceBase, DyNTS_Bot_MessagingProvider_Config, Slack_MessagingProviderConfig } from '../../../_services/bot-messaging-provider.service-base';
3
+ import { DyNTS_Bot_ChannelWrapper } from '../../../_models/bot-channel-wrapper.interface';
4
+ import { DyNTS_Bot_LastMessageDate } from '../../../_models/bot-last-message-date.interface';
5
+ import { DyNTS_Bot_LastMentionDate } from '../../../_models/bot-last-mention-date.interface';
6
+ import { DyNTS_Bot_MessagingProvider_Type } from '../../../_enums/bot-message-provider.enum';
7
+ import { DyNTS_Bot_MessageWrapper } from '../../../_models/bot-message-wrapper.interface';
8
+ import { DyNTS_Bot_UserWrapper } from '../../../_models/bot-user-wrapper.interface';
9
+
10
+ // Stub types for Slack - will be replaced with actual Slack SDK types when implemented
11
+ type SlackChannel = any;
12
+ type SlackMessage = any;
13
+ type SlackUser = any;
14
+
15
+ export class DyNTS_SlB_MessagingProvider_ControlService extends DyNTS_Bot_MessagingProvider_ServiceBase<
16
+ SlackChannel,
17
+ SlackMessage,
18
+ SlackUser,
19
+ Slack_MessagingProviderConfig,
20
+ any
21
+ > {
22
+ readonly name = 'slack';
23
+ readonly type = DyNTS_Bot_MessagingProvider_Type.slack;
24
+
25
+ get botId(): string {
26
+ return 'slack-bot-stub';
27
+ }
28
+
29
+ get botDisplayName(): string {
30
+ return 'Slack Bot (Stub)';
31
+ }
32
+
33
+ override readonly config: Slack_MessagingProviderConfig;
34
+
35
+ /* override protected readonly channelCache: Map<string, SlackChannel> = new Map();
36
+ override protected readonly roleCache: Map<string, any> = new Map(); */
37
+
38
+ constructor(setConfig: Slack_MessagingProviderConfig) {
39
+ super();
40
+ this.config = setConfig;
41
+ }
42
+
43
+ async setup(issuer: string): Promise<void> {
44
+ throw new Error('Slack provider not yet implemented');
45
+ }
46
+
47
+ async start(issuer: string): Promise<void> {
48
+ throw new Error('Slack provider not yet implemented');
49
+ }
50
+
51
+ // Channel operations
52
+ async getChannelByName(name: string): Promise<DyNTS_Bot_ChannelWrapper<SlackChannel>> {
53
+ throw new Error('Slack provider not yet implemented');
54
+ }
55
+
56
+ async getChannelById(id: string): Promise<DyNTS_Bot_ChannelWrapper<SlackChannel>> {
57
+ throw new Error('Slack provider not yet implemented');
58
+ }
59
+
60
+ async sendMessageToChannelByName(channelName: string, message: string, issuer: string): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
61
+ throw new Error('Slack provider not yet implemented');
62
+ }
63
+
64
+ async getMessagesFromChannelByChannelName(channelName: string, limit?: number): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>[]> {
65
+ throw new Error('Slack provider not yet implemented');
66
+ }
67
+
68
+ async getLastMessageInChannel(channelName: string): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
69
+ throw new Error('Slack provider not yet implemented');
70
+ }
71
+
72
+ async clearChannel(channelWrapper: DyNTS_Bot_ChannelWrapper<SlackChannel>): Promise<void> {
73
+ throw new Error('Slack provider not yet implemented');
74
+ }
75
+
76
+ // Message operations
77
+ async sendMessage(channelWrapper: DyNTS_Bot_ChannelWrapper<SlackChannel>, content: string): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
78
+ throw new Error('Slack provider not yet implemented');
79
+ }
80
+
81
+ async replyToMessage(messageWrapper: DyNTS_Bot_MessageWrapper<SlackMessage>, content: string): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
82
+ throw new Error('Slack provider not yet implemented');
83
+ }
84
+
85
+ async sendTyping(channelWrapper: DyNTS_Bot_ChannelWrapper<SlackChannel>): Promise<void> {
86
+ throw new Error('Slack provider not yet implemented');
87
+ }
88
+
89
+ async fetchMessages(channelWrapper: DyNTS_Bot_ChannelWrapper<SlackChannel>, limit: number): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>[]> {
90
+ throw new Error('Slack provider not yet implemented');
91
+ }
92
+
93
+ async fetchMessagesById(id: string, limit: number): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>[]> {
94
+ throw new Error('Slack provider not yet implemented');
95
+ }
96
+
97
+ async fetchMessagesForMessage(messageWrapper: DyNTS_Bot_MessageWrapper<SlackMessage>, limit: number): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>[]> {
98
+ throw new Error('Slack provider not yet implemented');
99
+ }
100
+
101
+ async fetchAllMessagesWithPaging(channelWrapper: DyNTS_Bot_ChannelWrapper<SlackChannel>, maxFetch?: number): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>[]> {
102
+ throw new Error('Slack provider not yet implemented');
103
+ }
104
+
105
+ async deleteMessage(messageWrapper: DyNTS_Bot_MessageWrapper<SlackMessage>): Promise<void> {
106
+ throw new Error('Slack provider not yet implemented');
107
+ }
108
+
109
+ // User operations
110
+ async getUserByName(username: string): Promise<DyNTS_Bot_UserWrapper<SlackUser>> {
111
+ throw new Error('Slack provider not yet implemented');
112
+ }
113
+
114
+ getUserMention(userId: string): string {
115
+ return `<@${userId}>`;
116
+ }
117
+
118
+ async readMembersInChannel(channelName: string): Promise<DyNTS_Bot_UserWrapper<SlackUser>[]> {
119
+ throw new Error('Slack provider not yet implemented');
120
+ }
121
+
122
+ async readMemberNamesInChannel(channelName: string): Promise<string[]> {
123
+ throw new Error('Slack provider not yet implemented');
124
+ }
125
+
126
+ // Advanced message queries
127
+ async getLastMessageSentBy(channelName: string, username: string): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
128
+ throw new Error('Slack provider not yet implemented');
129
+ }
130
+
131
+ async getLastMentionOf(channelName: string, username: string): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
132
+ throw new Error('Slack provider not yet implemented');
133
+ }
134
+
135
+ async readLastMessageDatesByMembers(channelName: string, memberNames: string[]): Promise<DyNTS_Bot_LastMessageDate[]> {
136
+ throw new Error('Slack provider not yet implemented');
137
+ }
138
+
139
+ async readLastMessageWithMemberNamePingInIt(channelName: string, users: DyNTS_Bot_UserWrapper<SlackUser>[]): Promise<DyNTS_Bot_LastMentionDate[]> {
140
+ throw new Error('Slack provider not yet implemented');
141
+ }
142
+
143
+ // Platform-specific features
144
+ getRoleByName?(roleName: string): any {
145
+ throw new Error('Slack provider not yet implemented');
146
+ }
147
+
148
+ getRolePingByName?(roleName: string): Promise<string> {
149
+ throw new Error('Slack provider not yet implemented');
150
+ }
151
+
152
+ getRolePingsByName?(roleNames: string[]): Promise<string> {
153
+ throw new Error('Slack provider not yet implemented');
154
+ }
155
+
156
+ // Event binding
157
+ create_onMessageEventListener(
158
+ handler: (message: DyNTS_Bot_MessageWrapper<SlackMessage>, issuer: string) => void
159
+ ): void {
160
+ throw new Error('Slack provider not yet implemented');
161
+ }
162
+
163
+ create_onErrorEventListener(handler: (error: DyFM_AnyError) => void): void {
164
+ throw new Error('Slack provider not yet implemented');
165
+ }
166
+
167
+ async sendReport(message: string): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
168
+ throw new Error('Slack provider not yet implemented');
169
+ }
170
+
171
+ async sendReportIn(message: string): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
172
+ throw new Error('Slack provider not yet implemented');
173
+ }
174
+
175
+ wrapMessage(message: SlackMessage): DyNTS_Bot_MessageWrapper<SlackMessage> {
176
+ throw new Error('Slack provider not yet implemented');
177
+ }
178
+
179
+ wrapChannel(channel: SlackChannel): DyNTS_Bot_ChannelWrapper<SlackChannel> {
180
+ throw new Error('Slack provider not yet implemented');
181
+ }
182
+
183
+ wrapUser(user: SlackUser): DyNTS_Bot_UserWrapper<SlackUser> {
184
+ throw new Error('Slack provider not yet implemented');
185
+ }
186
+ }
@@ -8,7 +8,5 @@
8
8
  export * from './_models/slb-platform.types';
9
9
 
10
10
  // SERVICES
11
- export * from './_services/slb-messaging-provider.service';
11
+ export * from './_services/slb-messaging-provider.control-service';
12
12
 
13
- // COLLECTIONS
14
- export * from './_collections/slb-operations.util';
@@ -1,9 +1,9 @@
1
- import { DyNTS_Bot_Message } from '../../../_models/bot-message.interface';
2
- import { DyNTS_Bot_Channel } from '../../../_models/bot-channel.interface';
3
- import { DyNTS_Bot_User } from '../../../_models/bot-user.interface';
1
+ import { DyNTS_Bot_MessageWrapper } from '../../../_models/bot-message-wrapper.interface';
2
+ import { DyNTS_Bot_ChannelWrapper } from '../../../_models/bot-channel-wrapper.interface';
3
+ import { DyNTS_Bot_UserWrapper } from '../../../_models/bot-user-wrapper.interface';
4
4
 
5
5
  // Teams Bot Platform-Specific Types
6
6
  // TODO: Replace 'any' with actual Teams SDK types when implementing
7
- export type DyNTS_TeB_Message = DyNTS_Bot_Message<any>;
8
- export type DyNTS_TeB_Channel = DyNTS_Bot_Channel<any>;
9
- export type DyNTS_TeB_User = DyNTS_Bot_User<any>;
7
+ export type DyNTS_TeB_Message = DyNTS_Bot_MessageWrapper<any>;
8
+ export type DyNTS_TeB_Channel = DyNTS_Bot_ChannelWrapper<any>;
9
+ export type DyNTS_TeB_User = DyNTS_Bot_UserWrapper<any>;