@futdevpro/nts-dynamo 1.14.29 → 1.14.32

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 +68 -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 +397 -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 +60 -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} +134 -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 +56 -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 +135 -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 +56 -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 +135 -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 +18 -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 +127 -264
  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 +71 -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 +82 -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 +529 -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 +436 -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 +190 -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 +190 -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 +253 -240
  154. package/src/_modules/bot/_services/bot-messaging-provider.service-base.ts +153 -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,436 @@
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 sendTypingForMessage(messageWrapper: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>): Promise<void> {
192
+ // Typing indicators not implemented for messaging system
193
+ DyFM_Log.info('Typing indicator not supported in messaging system');
194
+ }
195
+
196
+ async fetchMessages(channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>, limit: number): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[]> {
197
+ const messageService: DyNTS_Msg_Message_DataService = new DyNTS_Msg_Message_DataService({
198
+ issuer: 'dynamo-bot',
199
+ });
200
+
201
+ const messages: DyFM_Msg_Message[] = await messageService.dataDBService.find({
202
+ conversationId: channelWrapper.id,
203
+ __deleted: { $exists: false },
204
+ $sort: { sentAt: -1 },
205
+ $limit: limit
206
+ });
207
+
208
+ return messages.map((msg: DyFM_Msg_Message) => this.wrapMessage(msg));
209
+ }
210
+
211
+ async fetchMessagesById(id: string, limit: number): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[]> {
212
+ const messageService: DyNTS_Msg_Message_DataService = new DyNTS_Msg_Message_DataService({
213
+ issuer: 'dynamo-bot',
214
+ });
215
+
216
+ const messages: DyFM_Msg_Message[] = await messageService.dataDBService.find({
217
+ _id: id,
218
+ __deleted: { $exists: false },
219
+ $sort: { sentAt: -1 },
220
+ $limit: limit
221
+ });
222
+
223
+ return messages.map((msg: DyFM_Msg_Message) => this.wrapMessage(msg));
224
+ }
225
+
226
+ async fetchMessagesForMessage(messageWrapper: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>, limit: number): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[]> {
227
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(messageWrapper.channelName);
228
+ return this.fetchMessages(channelWrapper, limit);
229
+ }
230
+
231
+ async fetchAllMessagesWithPaging(channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation>, maxFetch: number = 1000): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[]> {
232
+ return this.fetchMessages(channelWrapper, maxFetch);
233
+ }
234
+
235
+ async deleteMessage(messageWrapper: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>): Promise<void> {
236
+ await this.messagingService.deleteMessage(messageWrapper.id, 'dynamo-bot', 'dynamo-bot');
237
+ }
238
+
239
+ // User operations
240
+ async getUserByName(username: string): Promise<DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>> {
241
+ // In messaging system, we don't have a direct user lookup by name
242
+ // This would need to be implemented based on your user management system
243
+ const userData: any = {
244
+ userId: username,
245
+ username: username,
246
+ displayName: username,
247
+ isBot: false,
248
+ role: 'member',
249
+ joinedAt: new Date()
250
+ };
251
+
252
+ return this.wrapUser(userData);
253
+ }
254
+
255
+ getUserMention(userId: string): string {
256
+ return `@${userId}`;
257
+ }
258
+
259
+ async readMembersInChannel(channelName: string): Promise<DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>[]> {
260
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
261
+ const participants: DyFM_Msg_Participant[] = channelWrapper.rawPlatformChannel.participants || [];
262
+
263
+ return participants.map(participant => this.wrapUser(participant));
264
+ }
265
+
266
+ async readMemberNamesInChannel(channelName: string): Promise<string[]> {
267
+ const members: DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>[] = await this.readMembersInChannel(channelName);
268
+ return members.map(member => member.username);
269
+ }
270
+
271
+ // Advanced message queries
272
+ async getLastMessageSentBy(channelName: string, username: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
273
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
274
+ const messages: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[] = await this.fetchAllMessagesWithPaging(channelWrapper, 1000);
275
+
276
+ return messages.find(msg => msg.authorName === username) || null;
277
+ }
278
+
279
+ async getLastMentionOf(channelName: string, username: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
280
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
281
+ const messages: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[] = await this.fetchAllMessagesWithPaging(channelWrapper, 1000);
282
+
283
+ return messages.find(msg =>
284
+ msg.content.includes(`@${username}`) ||
285
+ msg.content.includes(username)
286
+ ) || null;
287
+ }
288
+
289
+ async readLastMessageDatesByMembers(channelName: string, memberNames: string[]): Promise<DyNTS_Bot_LastMessageDate[]> {
290
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
291
+ const messages: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[] = await this.fetchAllMessagesWithPaging(channelWrapper, 1000);
292
+
293
+ const memberStatus: Record<string, { lastMessageDate: Date | null, allMessages: number }> = {};
294
+ memberNames.forEach((name: string) => {
295
+ memberStatus[name] = { lastMessageDate: null, allMessages: 0 };
296
+ });
297
+
298
+ const cutoffTime: number = Date.now() - (3 * week); // 3 weeks
299
+
300
+ messages.forEach((message: DyNTS_DyB_Message) => {
301
+ if (message.timestamp < cutoffTime) return;
302
+
303
+ const author = message.authorName;
304
+ if (memberStatus[author] !== undefined) {
305
+ memberStatus[author].allMessages++;
306
+ if (!memberStatus[author].lastMessageDate) {
307
+ memberStatus[author].lastMessageDate = new Date(message.timestamp);
308
+ }
309
+ }
310
+ });
311
+
312
+ return memberNames.map((memberName: string) => {
313
+ const status: { lastMessageDate: Date | null, allMessages: number } = memberStatus[memberName];
314
+ return {
315
+ memberName: memberName,
316
+ allMessages: status.allMessages,
317
+ lastMessageDate: status.lastMessageDate
318
+ };
319
+ });
320
+ }
321
+
322
+ async readLastMessageWithMemberNamePingInIt(channelName: string, users: DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>[]): Promise<DyNTS_Bot_LastMentionDate[]> {
323
+ const channelWrapper: DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> = await this.getChannelByName(channelName);
324
+ const messages: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>[] = await this.fetchAllMessagesWithPaging(channelWrapper, 1000);
325
+
326
+ const memberStatus: Record<string, { lastMentionDate: Date | null; allMentions: number }> = {};
327
+ users.forEach((user: DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>) => {
328
+ memberStatus[user.username] = { lastMentionDate: null, allMentions: 0 };
329
+ });
330
+
331
+ const cutoffTime: number = Date.now() - (3 * week); // 3 weeks
332
+
333
+ messages.forEach((message: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>) => {
334
+ if (message.timestamp < cutoffTime) return;
335
+
336
+ users.forEach((user: DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>) => {
337
+ if (
338
+ message.content.includes(`@${user.id}`) &&
339
+ !memberStatus[user.username].lastMentionDate
340
+ ) {
341
+ memberStatus[user.username].lastMentionDate = new Date(message.timestamp);
342
+ memberStatus[user.username].allMentions++;
343
+ }
344
+ });
345
+ });
346
+
347
+ return users.map((user: DyNTS_Bot_UserWrapper<DyFM_Msg_Participant>) => {
348
+ const status: { lastMentionDate: Date | null; allMentions: number } = memberStatus[user.username];
349
+ return {
350
+ memberId: user.id,
351
+ memberName: user.username,
352
+ allMentions: status.allMentions,
353
+ lastMentionDate: status.lastMentionDate
354
+ };
355
+ });
356
+ }
357
+
358
+ // Platform-specific features (not applicable for messaging system)
359
+ getRoleByName?(roleName: string): any {
360
+ return null; // Not applicable for messaging system
361
+ }
362
+
363
+ getRolePingByName?(roleName: string): Promise<string> {
364
+ return Promise.resolve(''); // Not applicable for messaging system
365
+ }
366
+
367
+ getRolePingsByName?(roleNames: string[]): Promise<string> {
368
+ return Promise.resolve(''); // Not applicable for messaging system
369
+ }
370
+
371
+ // Event binding
372
+ create_onMessageEventListener(
373
+ handler: (message: DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>, issuer: string) => void
374
+ ): void {
375
+ // TODO: Implement message event listener for messaging system
376
+ DyFM_Log.info('Message event listener created (messaging integration)');
377
+ }
378
+
379
+ create_onErrorEventListener(handler: (error: DyFM_AnyError) => void): void {
380
+ // TODO: Implement error event listener for messaging system
381
+ DyFM_Log.info('Error event listener created (messaging integration)');
382
+ }
383
+
384
+ async sendReport(message: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
385
+ return await this.sendMessageToChannelByName(this.config.reportChannelName, message, 'dynamo-bot');
386
+ }
387
+
388
+ async sendReportIn(message: string): Promise<DyNTS_Bot_MessageWrapper<DyFM_Msg_Message>> {
389
+ return await this.sendMessageToChannelByName(
390
+ this.config.reportChannelName,
391
+ `${this.botDisplayName} report for duty! ` +
392
+ `(v${DyNTS_global_settings.systemVersion} ${DyNTS_global_settings.env_settings?.environment})`,
393
+ 'dynamo-bot'
394
+ );
395
+ }
396
+
397
+ wrapMessage(msgMessage: any): DyNTS_Bot_MessageWrapper<DyFM_Msg_Message> {
398
+ return {
399
+ id: msgMessage._id || msgMessage.id,
400
+ content: msgMessage.content || '',
401
+ authorId: msgMessage.senderId || msgMessage.authorId,
402
+ authorName: msgMessage.senderName || msgMessage.authorName,
403
+ authorDisplayName: msgMessage.senderDisplayName || msgMessage.authorDisplayName,
404
+ channelId: msgMessage.conversationId || msgMessage.channelId,
405
+ channelName: msgMessage.conversationName || msgMessage.channelName || 'unknown',
406
+ timestamp: msgMessage.sentAt ? new Date(msgMessage.sentAt).getTime() : Date.now(),
407
+ isBot: msgMessage.isAIGenerated || false,
408
+ replyToMessageId: msgMessage.replyToMessageId,
409
+ mentions: msgMessage.mentions || [],
410
+ rawPlatformMessage: msgMessage,
411
+ provider: this
412
+ };
413
+ }
414
+
415
+ wrapChannel(conversation: any): DyNTS_Bot_ChannelWrapper<DyFM_Msg_Conversation> {
416
+ return {
417
+ id: conversation._id || conversation.id,
418
+ name: conversation.name || conversation.platformChannelId || 'unknown',
419
+ isTextBased: true,
420
+ isDM: conversation.type === 'direct',
421
+ rawPlatformChannel: conversation,
422
+ provider: this
423
+ };
424
+ }
425
+
426
+ wrapUser(user: any): DyNTS_Bot_UserWrapper<DyFM_Msg_Participant> {
427
+ return {
428
+ id: user.userId || user.id,
429
+ username: user.username || user.userId || user.id,
430
+ displayName: user.displayName || user.username || user.userId,
431
+ isBot: user.isBot || false,
432
+ rawPlatformUser: user,
433
+ provider: this
434
+ };
435
+ }
436
+ }
@@ -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,190 @@
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 sendTypingForMessage(messageWrapper: DyNTS_Bot_MessageWrapper<SlackMessage>): Promise<void> {
90
+ throw new Error('Slack provider not yet implemented');
91
+ }
92
+
93
+ async fetchMessages(channelWrapper: DyNTS_Bot_ChannelWrapper<SlackChannel>, limit: number): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>[]> {
94
+ throw new Error('Slack provider not yet implemented');
95
+ }
96
+
97
+ async fetchMessagesById(id: string, limit: number): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>[]> {
98
+ throw new Error('Slack provider not yet implemented');
99
+ }
100
+
101
+ async fetchMessagesForMessage(messageWrapper: DyNTS_Bot_MessageWrapper<SlackMessage>, limit: number): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>[]> {
102
+ throw new Error('Slack provider not yet implemented');
103
+ }
104
+
105
+ async fetchAllMessagesWithPaging(channelWrapper: DyNTS_Bot_ChannelWrapper<SlackChannel>, maxFetch?: number): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>[]> {
106
+ throw new Error('Slack provider not yet implemented');
107
+ }
108
+
109
+ async deleteMessage(messageWrapper: DyNTS_Bot_MessageWrapper<SlackMessage>): Promise<void> {
110
+ throw new Error('Slack provider not yet implemented');
111
+ }
112
+
113
+ // User operations
114
+ async getUserByName(username: string): Promise<DyNTS_Bot_UserWrapper<SlackUser>> {
115
+ throw new Error('Slack provider not yet implemented');
116
+ }
117
+
118
+ getUserMention(userId: string): string {
119
+ return `<@${userId}>`;
120
+ }
121
+
122
+ async readMembersInChannel(channelName: string): Promise<DyNTS_Bot_UserWrapper<SlackUser>[]> {
123
+ throw new Error('Slack provider not yet implemented');
124
+ }
125
+
126
+ async readMemberNamesInChannel(channelName: string): Promise<string[]> {
127
+ throw new Error('Slack provider not yet implemented');
128
+ }
129
+
130
+ // Advanced message queries
131
+ async getLastMessageSentBy(channelName: string, username: string): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
132
+ throw new Error('Slack provider not yet implemented');
133
+ }
134
+
135
+ async getLastMentionOf(channelName: string, username: string): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
136
+ throw new Error('Slack provider not yet implemented');
137
+ }
138
+
139
+ async readLastMessageDatesByMembers(channelName: string, memberNames: string[]): Promise<DyNTS_Bot_LastMessageDate[]> {
140
+ throw new Error('Slack provider not yet implemented');
141
+ }
142
+
143
+ async readLastMessageWithMemberNamePingInIt(channelName: string, users: DyNTS_Bot_UserWrapper<SlackUser>[]): Promise<DyNTS_Bot_LastMentionDate[]> {
144
+ throw new Error('Slack provider not yet implemented');
145
+ }
146
+
147
+ // Platform-specific features
148
+ getRoleByName?(roleName: string): any {
149
+ throw new Error('Slack provider not yet implemented');
150
+ }
151
+
152
+ getRolePingByName?(roleName: string): Promise<string> {
153
+ throw new Error('Slack provider not yet implemented');
154
+ }
155
+
156
+ getRolePingsByName?(roleNames: string[]): Promise<string> {
157
+ throw new Error('Slack provider not yet implemented');
158
+ }
159
+
160
+ // Event binding
161
+ create_onMessageEventListener(
162
+ handler: (message: DyNTS_Bot_MessageWrapper<SlackMessage>, issuer: string) => void
163
+ ): void {
164
+ throw new Error('Slack provider not yet implemented');
165
+ }
166
+
167
+ create_onErrorEventListener(handler: (error: DyFM_AnyError) => void): void {
168
+ throw new Error('Slack provider not yet implemented');
169
+ }
170
+
171
+ async sendReport(message: string): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
172
+ throw new Error('Slack provider not yet implemented');
173
+ }
174
+
175
+ async sendReportIn(message: string): Promise<DyNTS_Bot_MessageWrapper<SlackMessage>> {
176
+ throw new Error('Slack provider not yet implemented');
177
+ }
178
+
179
+ wrapMessage(message: SlackMessage): DyNTS_Bot_MessageWrapper<SlackMessage> {
180
+ throw new Error('Slack provider not yet implemented');
181
+ }
182
+
183
+ wrapChannel(channel: SlackChannel): DyNTS_Bot_ChannelWrapper<SlackChannel> {
184
+ throw new Error('Slack provider not yet implemented');
185
+ }
186
+
187
+ wrapUser(user: SlackUser): DyNTS_Bot_UserWrapper<SlackUser> {
188
+ throw new Error('Slack provider not yet implemented');
189
+ }
190
+ }
@@ -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>;