@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,201 @@
1
+ import { Meeting } from './meeting/meeting'
2
+ import { ActivityTypes } from '@microsoft/agents-activity'
3
+ import { AgentApplication, AgentExtension, RouteHandler, RouteSelector, TurnContext, TurnState } from '@microsoft/agents-hosting'
4
+ import { parseTeamsChannelData } from './activity-extensions/teamsChannelDataParser'
5
+ import { MessageExtension } from './messageExtension/messageExtension'
6
+ import { TaskModule } from './taskModule/taskModule'
7
+
8
+ export class TeamsAgentExtension<TState extends TurnState = TurnState> extends AgentExtension<TState> {
9
+ _app: AgentApplication<TState>
10
+ _meeting: Meeting<TState>
11
+ _messageExtension: MessageExtension<TState>
12
+ _taskModule: TaskModule<TState>
13
+ constructor (private app: AgentApplication<TState>) {
14
+ super('msteams')
15
+ this._app = app
16
+ this._meeting = new Meeting(app)
17
+ this._messageExtension = new MessageExtension(app)
18
+ this._taskModule = new TaskModule(app)
19
+ }
20
+
21
+ public get meeting (): Meeting<TState> {
22
+ return this._meeting
23
+ }
24
+
25
+ public get messageExtension (): MessageExtension<TState> {
26
+ return this._messageExtension
27
+ }
28
+
29
+ public get taskModule (): TaskModule<TState> {
30
+ return this._taskModule
31
+ }
32
+
33
+ onMessageEdit = (handler: RouteHandler<TurnState>) => {
34
+ const routeSel: RouteSelector = (context: TurnContext) => {
35
+ const channelData = parseTeamsChannelData(context.activity.channelData)
36
+ return Promise.resolve(!!(context.activity.type === ActivityTypes.MessageUpdate && channelData?.eventType === 'editMessage'))
37
+ }
38
+ this.addRoute(this._app, routeSel, handler, false)
39
+ return this
40
+ }
41
+
42
+ onMessageDelete = (handler: RouteHandler<TurnState>) => {
43
+ const routeSel: RouteSelector = (context: TurnContext) => {
44
+ const channelData = parseTeamsChannelData(context.activity.channelData)
45
+ return Promise.resolve(context.activity.type === ActivityTypes.MessageDelete && channelData && channelData.eventType === 'softDeleteMessage')
46
+ }
47
+ this.addRoute(this._app, routeSel, handler, false)
48
+ return this
49
+ }
50
+
51
+ onMessageUndelete = (handler: RouteHandler<TurnState>) => {
52
+ const routeSel: RouteSelector = (context: TurnContext) => {
53
+ const channelData = parseTeamsChannelData(context.activity.channelData)
54
+ return Promise.resolve(context.activity.type === ActivityTypes.MessageUpdate && channelData && channelData.eventType === 'undeleteMessage')
55
+ }
56
+ this.addRoute(this._app, routeSel, handler, false)
57
+ return this
58
+ }
59
+
60
+ onTeamsMembersAdded = (handler: RouteHandler<TurnState>) => {
61
+ const routeSel: RouteSelector = (context: TurnContext) => {
62
+ return Promise.resolve(!!(context.activity.type === ActivityTypes.ConversationUpdate &&
63
+ context.activity.channelId === 'msteams' &&
64
+ context.activity.membersAdded &&
65
+ context.activity.membersAdded.length > 0))
66
+ }
67
+ this.addRoute(this._app, routeSel, handler, false)
68
+ return this
69
+ }
70
+
71
+ onTeamsMembersRemoved = (handler: RouteHandler<TurnState>) => {
72
+ const routeSel: RouteSelector = (context: TurnContext) => {
73
+ return Promise.resolve(!!(context.activity.type === ActivityTypes.ConversationUpdate &&
74
+ context.activity.channelId === 'msteams' &&
75
+ context.activity.membersRemoved &&
76
+ context.activity.membersRemoved.length > 0))
77
+ }
78
+ this.addRoute(this._app, routeSel, handler, false)
79
+ return this
80
+ }
81
+
82
+ onTeamsChannelCreated = (handler: RouteHandler<TurnState>) => {
83
+ const routeSel: RouteSelector = (context: TurnContext) => {
84
+ const channelData = parseTeamsChannelData(context.activity.channelData)
85
+ return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
86
+ context.activity.channelId === 'msteams' &&
87
+ channelData &&
88
+ channelData.eventType === 'channelCreated')
89
+ }
90
+ this.addRoute(this._app, routeSel, handler, false)
91
+ return this
92
+ }
93
+
94
+ onTeamsChannelDeleted = (handler: RouteHandler<TurnState>) => {
95
+ const routeSel: RouteSelector = (context: TurnContext) => {
96
+ const channelData = parseTeamsChannelData(context.activity.channelData)
97
+ return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
98
+ context.activity.channelId === 'msteams' &&
99
+ channelData &&
100
+ channelData.eventType === 'channelDeleted')
101
+ }
102
+ this.addRoute(this._app, routeSel, handler, false)
103
+ return this
104
+ }
105
+
106
+ onTeamsChannelRenamed = (handler: RouteHandler<TurnState>) => {
107
+ const routeSel: RouteSelector = (context: TurnContext) => {
108
+ const channelData = parseTeamsChannelData(context.activity.channelData)
109
+ return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
110
+ context.activity.channelId === 'msteams' &&
111
+ channelData &&
112
+ channelData.eventType === 'channelRenamed')
113
+ }
114
+ this.addRoute(this._app, routeSel, handler, false)
115
+ return this
116
+ }
117
+
118
+ onTeamsChannelRestored = (handler: RouteHandler<TurnState>) => {
119
+ const routeSel: RouteSelector = (context: TurnContext) => {
120
+ const channelData = parseTeamsChannelData(context.activity.channelData)
121
+ return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
122
+ context.activity.channelId === 'msteams' &&
123
+ channelData &&
124
+ channelData.eventType === 'channelRestored')
125
+ }
126
+ this.addRoute(this._app, routeSel, handler, false)
127
+ return this
128
+ }
129
+
130
+ onTeamsTeamRenamed = (handler: RouteHandler<TurnState>) => {
131
+ const routeSel: RouteSelector = (context: TurnContext) => {
132
+ const channelData = parseTeamsChannelData(context.activity.channelData)
133
+ return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
134
+ context.activity.channelId === 'msteams' &&
135
+ channelData &&
136
+ channelData.eventType === 'teamRenamed')
137
+ }
138
+ this.addRoute(this._app, routeSel, handler, false)
139
+ return this
140
+ }
141
+
142
+ onTeamsTeamArchived = (handler: RouteHandler<TurnState>) => {
143
+ const routeSel: RouteSelector = (context: TurnContext) => {
144
+ const channelData = parseTeamsChannelData(context.activity.channelData)
145
+ return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
146
+ context.activity.channelId === 'msteams' &&
147
+ channelData &&
148
+ channelData.eventType === 'teamArchived')
149
+ }
150
+ this.addRoute(this._app, routeSel, handler, false)
151
+ return this
152
+ }
153
+
154
+ onTeamsTeamUnarchived = (handler: RouteHandler<TurnState>) => {
155
+ const routeSel: RouteSelector = (context: TurnContext) => {
156
+ const channelData = parseTeamsChannelData(context.activity.channelData)
157
+ return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
158
+ context.activity.channelId === 'msteams' &&
159
+ channelData &&
160
+ channelData.eventType === 'teamUnarchived')
161
+ }
162
+ this.addRoute(this._app, routeSel, handler, false)
163
+ return this
164
+ }
165
+
166
+ onTeamsTeamDeleted = (handler: RouteHandler<TurnState>) => {
167
+ const routeSel: RouteSelector = (context: TurnContext) => {
168
+ const channelData = parseTeamsChannelData(context.activity.channelData)
169
+ return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
170
+ context.activity.channelId === 'msteams' &&
171
+ channelData &&
172
+ channelData.eventType === 'teamDeleted')
173
+ }
174
+ this.addRoute(this._app, routeSel, handler, false)
175
+ return this
176
+ }
177
+
178
+ onTeamsTeamHardDeleted = (handler: RouteHandler<TurnState>) => {
179
+ const routeSel: RouteSelector = (context: TurnContext) => {
180
+ const channelData = parseTeamsChannelData(context.activity.channelData)
181
+ return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
182
+ context.activity.channelId === 'msteams' &&
183
+ channelData &&
184
+ channelData.eventType === 'teamHardDeleted')
185
+ }
186
+ this.addRoute(this._app, routeSel, handler, false)
187
+ return this
188
+ }
189
+
190
+ onTeamsTeamRestored = (handler: RouteHandler<TurnState>) => {
191
+ const routeSel: RouteSelector = (context: TurnContext) => {
192
+ const channelData = parseTeamsChannelData(context.activity.channelData)
193
+ return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
194
+ context.activity.channelId === 'msteams' &&
195
+ channelData &&
196
+ channelData.eventType === 'teamRestored')
197
+ }
198
+ this.addRoute(this._app, routeSel, handler, false)
199
+ return this
200
+ }
201
+ }
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { Attachment } from '@microsoft/agents-activity'
7
+ import { ConnectorClient, InputFile, InputFileDownloader, TurnContext, TurnState } from '@microsoft/agents-hosting'
8
+ import axios, { AxiosInstance } from 'axios'
9
+ import { z } from 'zod'
10
+ /**
11
+ * Downloads attachments from Teams using the bots access token.
12
+ */
13
+ export class TeamsAttachmentDownloader<TState extends TurnState = TurnState> implements InputFileDownloader<TState> {
14
+ private _httpClient: AxiosInstance
15
+ public constructor () {
16
+ this._httpClient = axios.create()
17
+ }
18
+
19
+ /**
20
+ * Download any files relative to the current user's input.
21
+ * @template TState - Type of the state object passed to the `TurnContext.turnState` method.
22
+ * @param {TurnContext} context Context for the current turn of conversation.
23
+ * @param {TState} state Application state for the current turn of conversation.
24
+ * @returns {Promise<InputFile[]>} Promise that resolves to an array of downloaded input files.
25
+ */
26
+ public async downloadFiles (context: TurnContext, state: TState): Promise<InputFile[]> {
27
+ // Filter out HTML attachments
28
+ const attachments = context.activity.attachments?.filter((a) => !a.contentType.startsWith('text/html'))
29
+ if (!attachments || attachments.length === 0) {
30
+ return Promise.resolve([])
31
+ }
32
+
33
+ const connectorClient : ConnectorClient = context.turnState.get<ConnectorClient>('connectorClient')
34
+ this._httpClient.defaults.headers = connectorClient.axiosInstance.defaults.headers
35
+
36
+ const files: InputFile[] = []
37
+ for (const attachment of attachments) {
38
+ const file = await this.downloadFile(attachment)
39
+ if (file) {
40
+ files.push(file)
41
+ }
42
+ }
43
+
44
+ return files
45
+ }
46
+
47
+ /**
48
+ * @private
49
+ * @param {Attachment} attachment - Attachment to download.
50
+ * @param {string} accessToken - Access token to use for downloading.
51
+ * @returns {Promise<InputFile>} - Promise that resolves to the downloaded input file.
52
+ */
53
+ private async downloadFile (attachment: Attachment): Promise<InputFile | undefined> {
54
+ let inputFile: InputFile | undefined
55
+ if (attachment.contentType === 'application/vnd.microsoft.teams.file.download.info') {
56
+ const contentSchema = z.object({ downloadUrl: z.string() })
57
+ const contentValue = contentSchema.parse(attachment.content)
58
+ const response = await this._httpClient.get(contentValue.downloadUrl, { responseType: 'arraybuffer' })
59
+ const content = Buffer.from(response.data, 'binary')
60
+ let contentType = attachment.contentType
61
+ if (contentType === 'image/*') {
62
+ contentType = 'image/png'
63
+ }
64
+ inputFile = { content, contentType, contentUrl: attachment.contentUrl }
65
+ } else if (attachment.contentType === 'image/*') {
66
+ const response = await this._httpClient.get(attachment.contentUrl!, { responseType: 'arraybuffer' })
67
+ const content = Buffer.from(response.data, 'binary')
68
+ inputFile = { content, contentType: attachment.contentType, contentUrl: attachment.contentUrl }
69
+ } else {
70
+ inputFile = {
71
+ content: Buffer.from(attachment.content as ArrayBuffer),
72
+ contentType: attachment.contentType,
73
+ contentUrl: attachment.contentUrl
74
+ }
75
+ }
76
+ return inputFile
77
+ }
78
+ }