@microsoft/agents-hosting-extensions-teams 0.5.1-g2e246ff274

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 (317) hide show
  1. package/dist/src/activity-extensions/channelInfo.d.ts +38 -0
  2. package/dist/src/activity-extensions/channelInfo.js +17 -0
  3. package/dist/src/activity-extensions/channelInfo.js.map +1 -0
  4. package/dist/src/activity-extensions/index.d.ts +15 -0
  5. package/dist/src/activity-extensions/index.js +25 -0
  6. package/dist/src/activity-extensions/index.js.map +1 -0
  7. package/dist/src/activity-extensions/notificationInfo.d.ts +38 -0
  8. package/dist/src/activity-extensions/notificationInfo.js +17 -0
  9. package/dist/src/activity-extensions/notificationInfo.js.map +1 -0
  10. package/dist/src/activity-extensions/onBehalfOf.d.ts +45 -0
  11. package/dist/src/activity-extensions/onBehalfOf.js +18 -0
  12. package/dist/src/activity-extensions/onBehalfOf.js.map +1 -0
  13. package/dist/src/activity-extensions/teamInfo.d.ts +38 -0
  14. package/dist/src/activity-extensions/teamInfo.js +17 -0
  15. package/dist/src/activity-extensions/teamInfo.js.map +1 -0
  16. package/dist/src/activity-extensions/teamsChannelAccount.d.ts +34 -0
  17. package/dist/src/activity-extensions/teamsChannelAccount.js +7 -0
  18. package/dist/src/activity-extensions/teamsChannelAccount.js.map +1 -0
  19. package/dist/src/activity-extensions/teamsChannelData.d.ts +230 -0
  20. package/dist/src/activity-extensions/teamsChannelData.js +39 -0
  21. package/dist/src/activity-extensions/teamsChannelData.js.map +1 -0
  22. package/dist/src/activity-extensions/teamsChannelDataParser.d.ts +12 -0
  23. package/dist/src/activity-extensions/teamsChannelDataParser.js +19 -0
  24. package/dist/src/activity-extensions/teamsChannelDataParser.js.map +1 -0
  25. package/dist/src/activity-extensions/teamsChannelDataSettings.d.ts +49 -0
  26. package/dist/src/activity-extensions/teamsChannelDataSettings.js +16 -0
  27. package/dist/src/activity-extensions/teamsChannelDataSettings.js.map +1 -0
  28. package/dist/src/activity-extensions/teamsConversationUpdateEvents.d.ts +58 -0
  29. package/dist/src/activity-extensions/teamsConversationUpdateEvents.js +7 -0
  30. package/dist/src/activity-extensions/teamsConversationUpdateEvents.js.map +1 -0
  31. package/dist/src/activity-extensions/teamsMeetingInfo.d.ts +24 -0
  32. package/dist/src/activity-extensions/teamsMeetingInfo.js +15 -0
  33. package/dist/src/activity-extensions/teamsMeetingInfo.js.map +1 -0
  34. package/dist/src/activity-extensions/teamsMessageEvents.d.ts +5 -0
  35. package/dist/src/activity-extensions/teamsMessageEvents.js +7 -0
  36. package/dist/src/activity-extensions/teamsMessageEvents.js.map +1 -0
  37. package/dist/src/activity-extensions/tenantInfo.d.ts +24 -0
  38. package/dist/src/activity-extensions/tenantInfo.js +15 -0
  39. package/dist/src/activity-extensions/tenantInfo.js.map +1 -0
  40. package/dist/src/client/index.d.ts +6 -0
  41. package/dist/src/client/index.js +23 -0
  42. package/dist/src/client/index.js.map +1 -0
  43. package/dist/src/client/teamsConnectorClient.d.ts +146 -0
  44. package/dist/src/client/teamsConnectorClient.js +313 -0
  45. package/dist/src/client/teamsConnectorClient.js.map +1 -0
  46. package/dist/src/client/teamsConnectorClient.types.d.ts +157 -0
  47. package/dist/src/client/teamsConnectorClient.types.js +7 -0
  48. package/dist/src/client/teamsConnectorClient.types.js.map +1 -0
  49. package/dist/src/compat/readReceipInfo.d.ts +31 -0
  50. package/dist/src/compat/readReceipInfo.js +48 -0
  51. package/dist/src/compat/readReceipInfo.js.map +1 -0
  52. package/dist/src/compat/teamsActivityHandler.d.ts +423 -0
  53. package/dist/src/compat/teamsActivityHandler.js +911 -0
  54. package/dist/src/compat/teamsActivityHandler.js.map +1 -0
  55. package/dist/src/file/fileConsentCardResponse.d.ts +26 -0
  56. package/dist/src/file/fileConsentCardResponse.js +7 -0
  57. package/dist/src/file/fileConsentCardResponse.js.map +1 -0
  58. package/dist/src/file/fileUploadInfo.d.ts +29 -0
  59. package/dist/src/file/fileUploadInfo.js +7 -0
  60. package/dist/src/file/fileUploadInfo.js.map +1 -0
  61. package/dist/src/file/index.d.ts +6 -0
  62. package/dist/src/file/index.js +23 -0
  63. package/dist/src/file/index.js.map +1 -0
  64. package/dist/src/index.d.ts +10 -0
  65. package/dist/src/index.js +27 -0
  66. package/dist/src/index.js.map +1 -0
  67. package/dist/src/meeting/index.d.ts +22 -0
  68. package/dist/src/meeting/index.js +39 -0
  69. package/dist/src/meeting/index.js.map +1 -0
  70. package/dist/src/meeting/meeting.d.ts +115 -0
  71. package/dist/src/meeting/meeting.js +257 -0
  72. package/dist/src/meeting/meeting.js.map +1 -0
  73. package/dist/src/meeting/meetingDetails.d.ts +18 -0
  74. package/dist/src/meeting/meetingDetails.js +7 -0
  75. package/dist/src/meeting/meetingDetails.js.map +1 -0
  76. package/dist/src/meeting/meetingDetailsBase.d.ts +15 -0
  77. package/dist/src/meeting/meetingDetailsBase.js +7 -0
  78. package/dist/src/meeting/meetingDetailsBase.js.map +1 -0
  79. package/dist/src/meeting/meetingEndEventDetails.d.ts +12 -0
  80. package/dist/src/meeting/meetingEndEventDetails.js +7 -0
  81. package/dist/src/meeting/meetingEndEventDetails.js.map +1 -0
  82. package/dist/src/meeting/meetingEventDetails.d.ts +12 -0
  83. package/dist/src/meeting/meetingEventDetails.js +7 -0
  84. package/dist/src/meeting/meetingEventDetails.js.map +1 -0
  85. package/dist/src/meeting/meetingInfo.d.ts +24 -0
  86. package/dist/src/meeting/meetingInfo.js +7 -0
  87. package/dist/src/meeting/meetingInfo.js.map +1 -0
  88. package/dist/src/meeting/meetingNotification.d.ts +9 -0
  89. package/dist/src/meeting/meetingNotification.js +7 -0
  90. package/dist/src/meeting/meetingNotification.js.map +1 -0
  91. package/dist/src/meeting/meetingNotificationBase.d.ts +14 -0
  92. package/dist/src/meeting/meetingNotificationBase.js +7 -0
  93. package/dist/src/meeting/meetingNotificationBase.js.map +1 -0
  94. package/dist/src/meeting/meetingNotificationChannelData.d.ts +12 -0
  95. package/dist/src/meeting/meetingNotificationChannelData.js +7 -0
  96. package/dist/src/meeting/meetingNotificationChannelData.js.map +1 -0
  97. package/dist/src/meeting/meetingNotificationRecipientFailureInfo.d.ts +15 -0
  98. package/dist/src/meeting/meetingNotificationRecipientFailureInfo.js +7 -0
  99. package/dist/src/meeting/meetingNotificationRecipientFailureInfo.js.map +1 -0
  100. package/dist/src/meeting/meetingNotificationResponse.d.ts +14 -0
  101. package/dist/src/meeting/meetingNotificationResponse.js +7 -0
  102. package/dist/src/meeting/meetingNotificationResponse.js.map +1 -0
  103. package/dist/src/meeting/meetingParticipantsEventDetails.d.ts +12 -0
  104. package/dist/src/meeting/meetingParticipantsEventDetails.js +7 -0
  105. package/dist/src/meeting/meetingParticipantsEventDetails.js.map +1 -0
  106. package/dist/src/meeting/meetingStageSurface.d.ts +16 -0
  107. package/dist/src/meeting/meetingStageSurface.js +7 -0
  108. package/dist/src/meeting/meetingStageSurface.js.map +1 -0
  109. package/dist/src/meeting/meetingStartEventDetails.d.ts +14 -0
  110. package/dist/src/meeting/meetingStartEventDetails.js +7 -0
  111. package/dist/src/meeting/meetingStartEventDetails.js.map +1 -0
  112. package/dist/src/meeting/meetingSurface.d.ts +10 -0
  113. package/dist/src/meeting/meetingSurface.js +7 -0
  114. package/dist/src/meeting/meetingSurface.js.map +1 -0
  115. package/dist/src/meeting/meetingTabIconSurface.d.ts +17 -0
  116. package/dist/src/meeting/meetingTabIconSurface.js +7 -0
  117. package/dist/src/meeting/meetingTabIconSurface.js.map +1 -0
  118. package/dist/src/meeting/targetedMeetingNotification.d.ts +20 -0
  119. package/dist/src/meeting/targetedMeetingNotification.js +7 -0
  120. package/dist/src/meeting/targetedMeetingNotification.js.map +1 -0
  121. package/dist/src/meeting/targetedMeetingNotificationValue.d.ts +18 -0
  122. package/dist/src/meeting/targetedMeetingNotificationValue.js +7 -0
  123. package/dist/src/meeting/targetedMeetingNotificationValue.js.map +1 -0
  124. package/dist/src/meeting/teamsMeetingMember.d.ts +19 -0
  125. package/dist/src/meeting/teamsMeetingMember.js +7 -0
  126. package/dist/src/meeting/teamsMeetingMember.js.map +1 -0
  127. package/dist/src/meeting/teamsMeetingParticipant.d.ts +25 -0
  128. package/dist/src/meeting/teamsMeetingParticipant.js +7 -0
  129. package/dist/src/meeting/teamsMeetingParticipant.js.map +1 -0
  130. package/dist/src/meeting/userMeetingDetails.d.ts +17 -0
  131. package/dist/src/meeting/userMeetingDetails.js +7 -0
  132. package/dist/src/meeting/userMeetingDetails.js.map +1 -0
  133. package/dist/src/message-actions-payload/index.d.ts +13 -0
  134. package/dist/src/message-actions-payload/index.js +30 -0
  135. package/dist/src/message-actions-payload/index.js.map +1 -0
  136. package/dist/src/message-actions-payload/messageActionsPayload.d.ts +90 -0
  137. package/dist/src/message-actions-payload/messageActionsPayload.js +7 -0
  138. package/dist/src/message-actions-payload/messageActionsPayload.js.map +1 -0
  139. package/dist/src/message-actions-payload/messageActionsPayloadApp.d.ts +25 -0
  140. package/dist/src/message-actions-payload/messageActionsPayloadApp.js +7 -0
  141. package/dist/src/message-actions-payload/messageActionsPayloadApp.js.map +1 -0
  142. package/dist/src/message-actions-payload/messageActionsPayloadAttachment.d.ts +33 -0
  143. package/dist/src/message-actions-payload/messageActionsPayloadAttachment.js +7 -0
  144. package/dist/src/message-actions-payload/messageActionsPayloadAttachment.js.map +1 -0
  145. package/dist/src/message-actions-payload/messageActionsPayloadBody.d.ts +25 -0
  146. package/dist/src/message-actions-payload/messageActionsPayloadBody.js +7 -0
  147. package/dist/src/message-actions-payload/messageActionsPayloadBody.js.map +1 -0
  148. package/dist/src/message-actions-payload/messageActionsPayloadConversation.d.ts +25 -0
  149. package/dist/src/message-actions-payload/messageActionsPayloadConversation.js +7 -0
  150. package/dist/src/message-actions-payload/messageActionsPayloadConversation.js.map +1 -0
  151. package/dist/src/message-actions-payload/messageActionsPayloadFrom.d.ts +24 -0
  152. package/dist/src/message-actions-payload/messageActionsPayloadFrom.js +7 -0
  153. package/dist/src/message-actions-payload/messageActionsPayloadFrom.js.map +1 -0
  154. package/dist/src/message-actions-payload/messageActionsPayloadMention.d.ts +22 -0
  155. package/dist/src/message-actions-payload/messageActionsPayloadMention.js +7 -0
  156. package/dist/src/message-actions-payload/messageActionsPayloadMention.js.map +1 -0
  157. package/dist/src/message-actions-payload/messageActionsPayloadReaction.d.ts +26 -0
  158. package/dist/src/message-actions-payload/messageActionsPayloadReaction.js +7 -0
  159. package/dist/src/message-actions-payload/messageActionsPayloadReaction.js.map +1 -0
  160. package/dist/src/message-actions-payload/messageActionsPayloadUser.d.ts +29 -0
  161. package/dist/src/message-actions-payload/messageActionsPayloadUser.js +7 -0
  162. package/dist/src/message-actions-payload/messageActionsPayloadUser.js.map +1 -0
  163. package/dist/src/messageExtension/appBasedLinkQuery.d.ts +19 -0
  164. package/dist/src/messageExtension/appBasedLinkQuery.js +7 -0
  165. package/dist/src/messageExtension/appBasedLinkQuery.js.map +1 -0
  166. package/dist/src/messageExtension/index.d.ts +14 -0
  167. package/dist/src/messageExtension/index.js +29 -0
  168. package/dist/src/messageExtension/index.js.map +1 -0
  169. package/dist/src/messageExtension/messageExtension.d.ts +88 -0
  170. package/dist/src/messageExtension/messageExtension.js +283 -0
  171. package/dist/src/messageExtension/messageExtension.js.map +1 -0
  172. package/dist/src/messageExtension/messagingExtensionAction.d.ts +40 -0
  173. package/dist/src/messageExtension/messagingExtensionAction.js +7 -0
  174. package/dist/src/messageExtension/messagingExtensionAction.js.map +1 -0
  175. package/dist/src/messageExtension/messagingExtensionActionResponse.d.ts +23 -0
  176. package/dist/src/messageExtension/messagingExtensionActionResponse.js +7 -0
  177. package/dist/src/messageExtension/messagingExtensionActionResponse.js.map +1 -0
  178. package/dist/src/messageExtension/messagingExtensionAttachment.d.ts +14 -0
  179. package/dist/src/messageExtension/messagingExtensionAttachment.js +7 -0
  180. package/dist/src/messageExtension/messagingExtensionAttachment.js.map +1 -0
  181. package/dist/src/messageExtension/messagingExtensionParameter.d.ts +31 -0
  182. package/dist/src/messageExtension/messagingExtensionParameter.js +16 -0
  183. package/dist/src/messageExtension/messagingExtensionParameter.js.map +1 -0
  184. package/dist/src/messageExtension/messagingExtensionQuery.d.ts +84 -0
  185. package/dist/src/messageExtension/messagingExtensionQuery.js +31 -0
  186. package/dist/src/messageExtension/messagingExtensionQuery.js.map +1 -0
  187. package/dist/src/messageExtension/messagingExtensionQueryOptions.d.ts +31 -0
  188. package/dist/src/messageExtension/messagingExtensionQueryOptions.js +16 -0
  189. package/dist/src/messageExtension/messagingExtensionQueryOptions.js.map +1 -0
  190. package/dist/src/messageExtension/messagingExtensionResponse.d.ts +18 -0
  191. package/dist/src/messageExtension/messagingExtensionResponse.js +7 -0
  192. package/dist/src/messageExtension/messagingExtensionResponse.js.map +1 -0
  193. package/dist/src/messageExtension/messagingExtensionResult.d.ts +50 -0
  194. package/dist/src/messageExtension/messagingExtensionResult.js +7 -0
  195. package/dist/src/messageExtension/messagingExtensionResult.js.map +1 -0
  196. package/dist/src/messageExtension/messagingExtensionSuggestedAction.d.ts +14 -0
  197. package/dist/src/messageExtension/messagingExtensionSuggestedAction.js +7 -0
  198. package/dist/src/messageExtension/messagingExtensionSuggestedAction.js.map +1 -0
  199. package/dist/src/messages/messages.d.ts +40 -0
  200. package/dist/src/messages/messages.js +82 -0
  201. package/dist/src/messages/messages.js.map +1 -0
  202. package/dist/src/taskModule/index.d.ts +11 -0
  203. package/dist/src/taskModule/index.js +28 -0
  204. package/dist/src/taskModule/index.js.map +1 -0
  205. package/dist/src/taskModule/taskModule.d.ts +72 -0
  206. package/dist/src/taskModule/taskModule.js +210 -0
  207. package/dist/src/taskModule/taskModule.js.map +1 -0
  208. package/dist/src/taskModule/taskModuleContinueResponse.d.ts +15 -0
  209. package/dist/src/taskModule/taskModuleContinueResponse.js +7 -0
  210. package/dist/src/taskModule/taskModuleContinueResponse.js.map +1 -0
  211. package/dist/src/taskModule/taskModuleMessageResponse.d.ts +14 -0
  212. package/dist/src/taskModule/taskModuleMessageResponse.js +7 -0
  213. package/dist/src/taskModule/taskModuleMessageResponse.js.map +1 -0
  214. package/dist/src/taskModule/taskModuleRequest.d.ts +22 -0
  215. package/dist/src/taskModule/taskModuleRequest.js +7 -0
  216. package/dist/src/taskModule/taskModuleRequest.js.map +1 -0
  217. package/dist/src/taskModule/taskModuleRequestContext.d.ts +13 -0
  218. package/dist/src/taskModule/taskModuleRequestContext.js +7 -0
  219. package/dist/src/taskModule/taskModuleRequestContext.js.map +1 -0
  220. package/dist/src/taskModule/taskModuleResponse.d.ts +19 -0
  221. package/dist/src/taskModule/taskModuleResponse.js +7 -0
  222. package/dist/src/taskModule/taskModuleResponse.js.map +1 -0
  223. package/dist/src/taskModule/taskModuleResponseBase.d.ts +17 -0
  224. package/dist/src/taskModule/taskModuleResponseBase.js +7 -0
  225. package/dist/src/taskModule/taskModuleResponseBase.js.map +1 -0
  226. package/dist/src/taskModule/taskModuleTaskInfo.d.ts +38 -0
  227. package/dist/src/taskModule/taskModuleTaskInfo.js +7 -0
  228. package/dist/src/taskModule/taskModuleTaskInfo.js.map +1 -0
  229. package/dist/src/teamsAgentExtension.d.ts +30 -0
  230. package/dist/src/teamsAgentExtension.js +184 -0
  231. package/dist/src/teamsAgentExtension.js.map +1 -0
  232. package/dist/src/teamsAttachmentDownloader.d.ts +27 -0
  233. package/dist/src/teamsAttachmentDownloader.js +80 -0
  234. package/dist/src/teamsAttachmentDownloader.js.map +1 -0
  235. package/dist/src/teamsInfo.d.ts +174 -0
  236. package/dist/src/teamsInfo.js +387 -0
  237. package/dist/src/teamsInfo.js.map +1 -0
  238. package/package.json +37 -0
  239. package/src/activity-extensions/channelInfo.ts +33 -0
  240. package/src/activity-extensions/index.ts +16 -0
  241. package/src/activity-extensions/notificationInfo.ts +33 -0
  242. package/src/activity-extensions/onBehalfOf.ts +38 -0
  243. package/src/activity-extensions/teamInfo.ts +33 -0
  244. package/src/activity-extensions/teamsChannelAccount.ts +36 -0
  245. package/src/activity-extensions/teamsChannelData.ts +75 -0
  246. package/src/activity-extensions/teamsChannelDataParser.ts +17 -0
  247. package/src/activity-extensions/teamsChannelDataSettings.ts +28 -0
  248. package/src/activity-extensions/teamsConversationUpdateEvents.ts +61 -0
  249. package/src/activity-extensions/teamsMeetingInfo.ts +23 -0
  250. package/src/activity-extensions/teamsMessageEvents.ts +6 -0
  251. package/src/activity-extensions/tenantInfo.ts +23 -0
  252. package/src/client/index.ts +7 -0
  253. package/src/client/teamsConnectorClient.ts +340 -0
  254. package/src/client/teamsConnectorClient.types.ts +168 -0
  255. package/src/compat/readReceipInfo.ts +54 -0
  256. package/src/compat/teamsActivityHandler.ts +1140 -0
  257. package/src/file/fileConsentCardResponse.ts +31 -0
  258. package/src/file/fileUploadInfo.ts +34 -0
  259. package/src/file/index.ts +7 -0
  260. package/src/index.ts +10 -0
  261. package/src/meeting/index.ts +23 -0
  262. package/src/meeting/meeting.ts +307 -0
  263. package/src/meeting/meetingDetails.ts +20 -0
  264. package/src/meeting/meetingDetailsBase.ts +16 -0
  265. package/src/meeting/meetingEndEventDetails.ts +14 -0
  266. package/src/meeting/meetingEventDetails.ts +14 -0
  267. package/src/meeting/meetingInfo.ts +26 -0
  268. package/src/meeting/meetingNotification.ts +11 -0
  269. package/src/meeting/meetingNotificationBase.ts +15 -0
  270. package/src/meeting/meetingNotificationChannelData.ts +14 -0
  271. package/src/meeting/meetingNotificationRecipientFailureInfo.ts +16 -0
  272. package/src/meeting/meetingNotificationResponse.ts +16 -0
  273. package/src/meeting/meetingParticipantsEventDetails.ts +14 -0
  274. package/src/meeting/meetingStageSurface.ts +17 -0
  275. package/src/meeting/meetingStartEventDetails.ts +16 -0
  276. package/src/meeting/meetingSurface.ts +12 -0
  277. package/src/meeting/meetingTabIconSurface.ts +19 -0
  278. package/src/meeting/targetedMeetingNotification.ts +23 -0
  279. package/src/meeting/targetedMeetingNotificationValue.ts +21 -0
  280. package/src/meeting/teamsMeetingMember.ts +22 -0
  281. package/src/meeting/teamsMeetingParticipant.ts +29 -0
  282. package/src/meeting/userMeetingDetails.ts +19 -0
  283. package/src/message-actions-payload/index.ts +14 -0
  284. package/src/message-actions-payload/messageActionsPayload.ts +93 -0
  285. package/src/message-actions-payload/messageActionsPayloadApp.ts +27 -0
  286. package/src/message-actions-payload/messageActionsPayloadAttachment.ts +34 -0
  287. package/src/message-actions-payload/messageActionsPayloadBody.ts +27 -0
  288. package/src/message-actions-payload/messageActionsPayloadConversation.ts +27 -0
  289. package/src/message-actions-payload/messageActionsPayloadFrom.ts +26 -0
  290. package/src/message-actions-payload/messageActionsPayloadMention.ts +24 -0
  291. package/src/message-actions-payload/messageActionsPayloadReaction.ts +29 -0
  292. package/src/message-actions-payload/messageActionsPayloadUser.ts +31 -0
  293. package/src/messageExtension/appBasedLinkQuery.ts +20 -0
  294. package/src/messageExtension/index.ts +15 -0
  295. package/src/messageExtension/messageExtension.ts +324 -0
  296. package/src/messageExtension/messagingExtensionAction.ts +44 -0
  297. package/src/messageExtension/messagingExtensionActionResponse.ts +25 -0
  298. package/src/messageExtension/messagingExtensionAttachment.ts +16 -0
  299. package/src/messageExtension/messagingExtensionParameter.ts +28 -0
  300. package/src/messageExtension/messagingExtensionQuery.ts +51 -0
  301. package/src/messageExtension/messagingExtensionQueryOptions.ts +28 -0
  302. package/src/messageExtension/messagingExtensionResponse.ts +21 -0
  303. package/src/messageExtension/messagingExtensionResult.ts +60 -0
  304. package/src/messageExtension/messagingExtensionSuggestedAction.ts +16 -0
  305. package/src/messages/messages.ts +91 -0
  306. package/src/taskModule/index.ts +12 -0
  307. package/src/taskModule/taskModule.ts +241 -0
  308. package/src/taskModule/taskModuleContinueResponse.ts +17 -0
  309. package/src/taskModule/taskModuleMessageResponse.ts +16 -0
  310. package/src/taskModule/taskModuleRequest.ts +24 -0
  311. package/src/taskModule/taskModuleRequestContext.ts +14 -0
  312. package/src/taskModule/taskModuleResponse.ts +21 -0
  313. package/src/taskModule/taskModuleResponseBase.ts +19 -0
  314. package/src/taskModule/taskModuleTaskInfo.ts +40 -0
  315. package/src/teamsAgentExtension.ts +201 -0
  316. package/src/teamsAttachmentDownloader.ts +78 -0
  317. package/src/teamsInfo.ts +430 -0
@@ -0,0 +1,430 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { TeamsChannelAccount } from './activity-extensions/teamsChannelAccount'
7
+ import { TeamsMeetingParticipant } from './meeting/teamsMeetingParticipant'
8
+ import { MeetingInfo } from './meeting/meetingInfo'
9
+ import { MeetingNotification } from './meeting/meetingNotification'
10
+ import { MeetingNotificationResponse } from './meeting/meetingNotificationResponse'
11
+ import { Activity, Channels, ConversationReference, ConversationParameters } from '@microsoft/agents-activity'
12
+ import { TeamsConnectorClient } from './client/teamsConnectorClient'
13
+ import { parseTeamsChannelData } from './activity-extensions/teamsChannelDataParser'
14
+ import { CloudAdapter, ConnectorClient, TurnContext, TurnState } from '@microsoft/agents-hosting'
15
+ import { ChannelInfo } from './activity-extensions/channelInfo'
16
+ import { BatchFailedEntriesResponse, BatchOperationResponse, BatchOperationStateResponse, CancelOperationResponse, TeamDetails, TeamsMember, TeamsPagedMembersResult } from './client/teamsConnectorClient.types'
17
+
18
+ /**
19
+ * Provides utility methods for interacting with Microsoft Teams-specific features.
20
+ * This class includes methods for retrieving team details, meeting information, sending messages,
21
+ * and managing operations within the Teams environment.
22
+ */
23
+ export class TeamsInfo {
24
+ /**
25
+ * Gets the meeting participant information.
26
+ *
27
+ * @param {TurnContext} context - The turn context.
28
+ * @param {string} [meetingId] - The meeting ID.
29
+ * @param {string} [participantId] - The participant ID.
30
+ * @param {string} [tenantId] - The tenant ID.
31
+ * @returns {Promise<TeamsMeetingParticipant>} - The meeting participant information.
32
+ */
33
+ static async getMeetingParticipant (
34
+ context: TurnContext,
35
+ meetingId?: string,
36
+ participantId?: string,
37
+ tenantId?: string
38
+ ): Promise<TeamsMeetingParticipant<TurnState>> {
39
+ if (!context) {
40
+ throw new Error('context is required.')
41
+ }
42
+
43
+ const activity = context.activity
44
+ const teamsChannelData = parseTeamsChannelData(context.activity.channelData) // teamsGetTeamMeetingInfo(activity)
45
+
46
+ if (meetingId == null) {
47
+ meetingId = teamsChannelData.meeting?.id
48
+ }
49
+
50
+ if (!meetingId) {
51
+ throw new Error('meetingId is required.')
52
+ }
53
+
54
+ if (participantId == null) {
55
+ const from = activity.from
56
+ participantId = from?.aadObjectId
57
+ }
58
+
59
+ if (!participantId) {
60
+ throw new Error('participantId is required.')
61
+ }
62
+
63
+ if (tenantId === undefined) {
64
+ const tenant = teamsChannelData.tenant // teamsGetTenant(activity)
65
+ tenantId = tenant?.id
66
+ }
67
+
68
+ // return this.getTeamsConnectorClient(context).teams.fetchMeetingParticipant(meetingId, participantId, { tenantId })
69
+ const res = await this.getRestClient(context).fetchMeetingParticipant(meetingId, participantId, tenantId!)
70
+ return res as TeamsMeetingParticipant<TurnState>
71
+ }
72
+
73
+ /**
74
+ * Gets the meeting information.
75
+ *
76
+ * @param {TurnContext} context - The turn context.
77
+ * @param {string} [meetingId] - The meeting ID.
78
+ * @returns {Promise<MeetingInfo>} - The meeting information.
79
+ */
80
+ static async getMeetingInfo (context: TurnContext, meetingId?: string): Promise<MeetingInfo> {
81
+ if (!meetingId) {
82
+ const teamsChannelData = parseTeamsChannelData(context.activity.channelData)
83
+ meetingId = teamsChannelData.meeting?.id
84
+ }
85
+ const res = await this.getRestClient(context).fetchMeetingInfo(meetingId!)
86
+ return res as MeetingInfo
87
+ }
88
+
89
+ /**
90
+ * Gets the team details.
91
+ *
92
+ * @param {TurnContext} context - The turn context.
93
+ * @param {string} [teamId] - The team ID.
94
+ * @returns {Promise<TeamDetails>} - The team details.
95
+ */
96
+ static async getTeamDetails (context: TurnContext, teamId?: string): Promise<TeamDetails> {
97
+ if (!teamId) {
98
+ const teamsChannelData = parseTeamsChannelData(context.activity.channelData)
99
+ teamId = teamsChannelData.team?.id
100
+ }
101
+ if (!teamId) {
102
+ throw new Error('teamId is required.')
103
+ }
104
+ const res = await this.getRestClient(context).fetchTeamDetails(teamId!)
105
+ return res as TeamDetails
106
+ }
107
+
108
+ /**
109
+ * Sends a message to a Teams channel.
110
+ *
111
+ * @param {TurnContext} context - The turn context.
112
+ * @param {Activity} activity - The activity to send.
113
+ * @param {string} teamsChannelId - The Teams channel ID.
114
+ * @param {string} [appId] - The application ID.
115
+ * @returns {Promise<[ConversationReference, string]>} - The conversation reference and new activity ID.
116
+ */
117
+ static async sendMessageToTeamsChannel (context: TurnContext, activity: Activity, teamsChannelId: string, appId?: string): Promise<[ConversationReference, string]> {
118
+ if (!context) {
119
+ throw new Error('TurnContext cannot be null')
120
+ }
121
+
122
+ if (!activity) {
123
+ throw new Error('Activity cannot be null')
124
+ }
125
+
126
+ if (!teamsChannelId) {
127
+ throw new Error('The teamsChannelId cannot be null or empty')
128
+ }
129
+ const convoParams = {
130
+ isGroup: true,
131
+ channelData: {
132
+ channel: {
133
+ id: teamsChannelId,
134
+ },
135
+ },
136
+ activity,
137
+ agent: context.activity.recipient,
138
+ } as ConversationParameters
139
+
140
+ let conversationReference: Partial<ConversationReference>
141
+ let newActivityId: string
142
+ if (appId && context.adapter instanceof CloudAdapter) {
143
+ await context.adapter.createConversationAsync(
144
+ appId,
145
+ Channels.Msteams,
146
+ context.activity.serviceUrl!,
147
+ 'https://api.botframework.com',
148
+ convoParams,
149
+ async (turnContext) => {
150
+ conversationReference = turnContext.activity.getConversationReference()
151
+ newActivityId = turnContext.activity.id!
152
+ }
153
+ )
154
+ } else {
155
+ // const connectorClient = context.adapter.createConnectorClient(
156
+ // context.activity.serviceUrl
157
+ // )
158
+ const connectorClient : ConnectorClient = context.turnState.get<ConnectorClient>('connectorClient')
159
+ const conversationResourceResponse = await connectorClient.createConversationAsync(convoParams)
160
+ conversationReference = context.activity.getConversationReference()
161
+ conversationReference.conversation!.id = conversationResourceResponse.id
162
+ newActivityId = conversationResourceResponse.activityId
163
+ }
164
+
165
+ // @ts-ignore
166
+ return [conversationReference as ConversationReference, newActivityId]
167
+ }
168
+
169
+ /**
170
+ * Gets the channels of a team.
171
+ *
172
+ * @param {TurnContext} context - The turn context.
173
+ * @param {string} [teamId] - The team ID.
174
+ * @returns {Promise<ChannelInfo[]>} - The list of channels.
175
+ */
176
+ static async getTeamChannels (context: TurnContext, teamId?: string): Promise<ChannelInfo[]> {
177
+ if (!teamId) {
178
+ const teamsChannelData = parseTeamsChannelData(context.activity.channelData)
179
+ teamId = teamsChannelData.team?.id
180
+ }
181
+ if (!teamId) {
182
+ throw new Error('teamId is required.')
183
+ }
184
+ return await this.getRestClient(context).fetchChannelList(teamId!)
185
+ }
186
+
187
+ /**
188
+ * Gets the paged members of a team or conversation.
189
+ *
190
+ * @param {TurnContext} context - The turn context.
191
+ * @param {number} [pageSize] - The page size.
192
+ * @param {string} [continuationToken] - The continuation token.
193
+ * @returns {Promise<TeamsPagedMembersResult>} - The paged members result.
194
+ */
195
+ static async getPagedMembers (context: TurnContext, pageSize?: number, continuationToken?: string): Promise<TeamsPagedMembersResult> {
196
+ const teamsChannelData = parseTeamsChannelData(context.activity.channelData)
197
+ const teamId = teamsChannelData.team?.id
198
+ if (teamId) {
199
+ return await this.getPagedTeamMembers(context, teamId, pageSize, continuationToken)
200
+ } else {
201
+ const conversation = context.activity.conversation
202
+ const conversationId = conversation && conversation.id ? conversation.id : undefined
203
+ return this.getRestClient(context).getConversationPagedMember(conversationId!, pageSize!, continuationToken!)
204
+ }
205
+ }
206
+
207
+ /**
208
+ * Gets a member of a team or conversation.
209
+ *
210
+ * @param {TurnContext} context - The turn context.
211
+ * @param {string} userId - The user ID.
212
+ * @returns {Promise<TeamsChannelAccount>} - The member information.
213
+ */
214
+ static async getMember (context: TurnContext, userId: string): Promise<TeamsChannelAccount> {
215
+ const teamsChannelData = parseTeamsChannelData(context.activity.channelData)
216
+ const teamId = teamsChannelData.team?.id
217
+ if (teamId) {
218
+ return await this.getTeamMember(context, teamId, userId)
219
+ } else {
220
+ const conversationId = context.activity.conversation!.id
221
+ return await this.getMemberInternal(context, conversationId, userId)
222
+ }
223
+ }
224
+
225
+ /**
226
+ * Gets the paged members of a team.
227
+ *
228
+ * @param {TurnContext} context - The turn context.
229
+ * @param {string} [teamId] - The team ID.
230
+ * @param {number} [pageSize] - The page size.
231
+ * @param {string} [continuationToken] - The continuation token.
232
+ * @returns {Promise<TeamsPagedMembersResult>} - The paged members result.
233
+ */
234
+ static async getPagedTeamMembers (context: TurnContext, teamId?: string, pageSize?: number, continuationToken?: string): Promise<TeamsPagedMembersResult> {
235
+ if (!teamId) {
236
+ const teamsChannelData = parseTeamsChannelData(context.activity.channelData)
237
+ teamId = teamsChannelData.team?.id
238
+ }
239
+ if (!teamId) {
240
+ throw new Error('teamId is required.')
241
+ }
242
+ const pagedResults = await this.getRestClient(context).getConversationPagedMember(teamId, pageSize!, continuationToken!)
243
+ do {
244
+ if (pagedResults.continuationToken) {
245
+ const nextResults = await this.getRestClient(context).getConversationPagedMember(teamId, pageSize!, pagedResults.continuationToken)
246
+ pagedResults.members.push(...nextResults.members)
247
+ pagedResults.continuationToken = nextResults.continuationToken
248
+ }
249
+ } while (pagedResults.continuationToken)
250
+ return pagedResults
251
+ }
252
+
253
+ /**
254
+ * Gets a member of a team.
255
+ *
256
+ * @param {TurnContext} context - The turn context.
257
+ * @param {string} teamId - The team ID.
258
+ * @param {string} userId - The user ID.
259
+ * @returns {Promise<TeamsChannelAccount>} - The member information.
260
+ */
261
+ static async getTeamMember (context: TurnContext, teamId: string, userId: string): Promise<TeamsChannelAccount> {
262
+ return await this.getRestClient(context).getConversationMember(teamId, userId)
263
+ }
264
+
265
+ /**
266
+ * Sends a meeting notification.
267
+ *
268
+ * @param {TurnContext} context - The turn context.
269
+ * @param {MeetingNotification} notification - The meeting notification.
270
+ * @param {string} [meetingId] - The meeting ID.
271
+ * @returns {Promise<MeetingNotificationResponse>} - The meeting notification response.
272
+ */
273
+ static async sendMeetingNotification (context: TurnContext, notification: MeetingNotification, meetingId?: string): Promise<MeetingNotificationResponse> {
274
+ const activity = context.activity
275
+
276
+ if (meetingId == null) {
277
+ const teamsChannelData = parseTeamsChannelData(activity.channelData)
278
+ // const meeting = teamsGetTeamMeetingInfo(activity)
279
+ const meeting = teamsChannelData.meeting
280
+ meetingId = meeting?.id
281
+ }
282
+
283
+ if (!meetingId) {
284
+ throw new Error('meetingId is required.')
285
+ }
286
+
287
+ return await this.getRestClient(context).sendMeetingNotification(meetingId, notification)
288
+ }
289
+
290
+ /**
291
+ * Sends a message to a list of users.
292
+ *
293
+ * @param {TurnContext} context - The turn context.
294
+ * @param {Activity} activity - The activity to send.
295
+ * @param {string} tenantId - The tenant ID.
296
+ * @param {TeamsMember[]} members - The list of members.
297
+ * @returns {Promise<BatchOperationResponse>} - The batch operation response.
298
+ */
299
+ static async sendMessageToListOfUsers (context: TurnContext, activity: Activity, tenantId: string, members: TeamsMember[]): Promise<BatchOperationResponse> {
300
+ if (!activity) {
301
+ throw new Error('activity is required.')
302
+ }
303
+ if (!tenantId) {
304
+ throw new Error('tenantId is required.')
305
+ }
306
+ if (!members || members.length === 0) {
307
+ throw new Error('members list is required.')
308
+ }
309
+
310
+ return await this.getRestClient(context).sendMessageToListOfUsers(activity, tenantId, members)
311
+ }
312
+
313
+ /**
314
+ * Sends a message to all users in a tenant.
315
+ *
316
+ * @param {TurnContext} context - The turn context.
317
+ * @param {Activity} activity - The activity to send.
318
+ * @param {string} tenantId - The tenant ID.
319
+ * @returns {Promise<BatchOperationResponse>} - The batch operation response.
320
+ */
321
+ static async sendMessageToAllUsersInTenant (context: TurnContext, activity: Activity, tenantId: string): Promise<BatchOperationResponse> {
322
+ if (!activity) {
323
+ throw new Error('activity is required.')
324
+ }
325
+ if (!tenantId) {
326
+ throw new Error('tenantId is required.')
327
+ }
328
+
329
+ return await this.getRestClient(context).sendMessageToAllUsersInTenant(activity, tenantId)
330
+ }
331
+
332
+ /**
333
+ * Sends a message to all users in a team.
334
+ *
335
+ * @param {TurnContext} context - The turn context.
336
+ * @param {Activity} activity - The activity to send.
337
+ * @param {string} tenantId - The tenant ID.
338
+ * @param {string} teamId - The team ID.
339
+ * @returns {Promise<BatchOperationResponse>} - The batch operation response.
340
+ */
341
+ static async sendMessageToAllUsersInTeam (context: TurnContext, activity: Activity, tenantId: string, teamId: string): Promise<BatchOperationResponse> {
342
+ if (!activity) {
343
+ throw new Error('activity is required.')
344
+ }
345
+ if (!tenantId) {
346
+ throw new Error('tenantId is required.')
347
+ }
348
+ if (!teamId) {
349
+ throw new Error('teamId is required.')
350
+ }
351
+ return await this.getRestClient(context).sendMessageToAllUsersInTeam(activity, tenantId, teamId)
352
+ }
353
+
354
+ /**
355
+ * Sends a message to a list of channels.
356
+ *
357
+ * @param {TurnContext} context - The turn context.
358
+ * @param {Activity} activity - The activity to send.
359
+ * @param {string} tenantId - The tenant ID.
360
+ * @param {TeamsMember[]} members - The list of members.
361
+ * @returns {Promise<BatchOperationResponse>} - The batch operation response.
362
+ */
363
+ static async sendMessageToListOfChannels (context: TurnContext, activity: Activity, tenantId: string, members: TeamsMember[]): Promise<BatchOperationResponse> {
364
+ if (!activity) {
365
+ throw new Error('activity is required.')
366
+ }
367
+ if (!tenantId) {
368
+ throw new Error('tenantId is required.')
369
+ }
370
+ if (!members || members.length === 0) {
371
+ throw new Error('members list is required.')
372
+ }
373
+ return this.getRestClient(context).sendMessageToListOfChannels(activity, tenantId, members)
374
+ }
375
+
376
+ /**
377
+ * Gets the operation state.
378
+ *
379
+ * @param {TurnContext} context - The turn context.
380
+ * @param {string} operationId - The operation ID.
381
+ * @returns {Promise<BatchOperationStateResponse>} - The operation state response.
382
+ */
383
+ static async getOperationState (context: TurnContext, operationId: string): Promise<BatchOperationStateResponse> {
384
+ if (!operationId) {
385
+ throw new Error('operationId is required.')
386
+ }
387
+
388
+ return await this.getRestClient(context).getOperationState(operationId)
389
+ }
390
+
391
+ /**
392
+ * Gets the failed entries of an operation.
393
+ *
394
+ * @param {TurnContext} context - The turn context.
395
+ * @param {string} operationId - The operation ID.
396
+ * @returns {Promise<BatchFailedEntriesResponse>} - The failed entries response.
397
+ */
398
+ static async getFailedEntries (context: TurnContext, operationId: string): Promise<BatchFailedEntriesResponse> {
399
+ if (!operationId) {
400
+ throw new Error('operationId is required.')
401
+ }
402
+
403
+ return await this.getRestClient(context).getFailedEntries(operationId)
404
+ }
405
+
406
+ /**
407
+ * Cancels an operation.
408
+ *
409
+ * @param {TurnContext} context - The turn context.
410
+ * @param {string} operationId - The operation ID.
411
+ * @returns {Promise<CancelOperationResponse>} - The cancel operation response.
412
+ */
413
+ static async cancelOperation (context: TurnContext, operationId: string): Promise<CancelOperationResponse> {
414
+ if (!operationId) {
415
+ throw new Error('operationId is required.')
416
+ }
417
+
418
+ return await this.getRestClient(context).cancelOperation(operationId)
419
+ }
420
+
421
+ private static async getMemberInternal (context: TurnContext, conversationId: string, userId: string): Promise<TeamsChannelAccount> {
422
+ const connectorClient : ConnectorClient = context.turnState.get<ConnectorClient>('connectorClient')
423
+ return await connectorClient.getConversationMember(conversationId, userId)
424
+ }
425
+
426
+ private static getRestClient (context: TurnContext) : TeamsConnectorClient {
427
+ const connectorClient : ConnectorClient = context.turnState.get<ConnectorClient>('connectorClient')
428
+ return new TeamsConnectorClient(connectorClient)
429
+ }
430
+ }