@microsoft/agents-hosting-extensions-teams 0.6.21-g3c2261b2fc → 1.1.0-alpha.10

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 (74) hide show
  1. package/dist/src/client/teamsConnectorClient.d.ts +2 -2
  2. package/dist/src/client/teamsConnectorClient.js +5 -4
  3. package/dist/src/client/teamsConnectorClient.js.map +1 -1
  4. package/dist/src/feedbackLoopData.d.ts +28 -0
  5. package/dist/src/feedbackLoopData.js +3 -0
  6. package/dist/src/feedbackLoopData.js.map +1 -0
  7. package/dist/src/file/fileConsentCardResponse.d.ts +1 -1
  8. package/dist/src/file/fileUploadInfo.d.ts +1 -1
  9. package/dist/src/index.d.ts +1 -0
  10. package/dist/src/index.js +1 -0
  11. package/dist/src/index.js.map +1 -1
  12. package/dist/src/meeting/meetingDetails.d.ts +1 -1
  13. package/dist/src/meeting/meetingDetailsBase.d.ts +1 -1
  14. package/dist/src/meeting/meetingEndEventDetails.d.ts +1 -1
  15. package/dist/src/meeting/meetingEventDetails.d.ts +1 -1
  16. package/dist/src/meeting/meetingNotificationBase.d.ts +1 -1
  17. package/dist/src/meeting/meetingNotificationChannelData.d.ts +1 -1
  18. package/dist/src/meeting/meetingNotificationRecipientFailureInfo.d.ts +1 -1
  19. package/dist/src/meeting/meetingParticipantsEventDetails.d.ts +1 -1
  20. package/dist/src/meeting/meetingStageSurface.d.ts +1 -1
  21. package/dist/src/meeting/meetingStartEventDetails.d.ts +1 -1
  22. package/dist/src/meeting/meetingTabIconSurface.d.ts +1 -1
  23. package/dist/src/meeting/targetedMeetingNotification.d.ts +1 -1
  24. package/dist/src/meeting/targetedMeetingNotificationValue.d.ts +1 -1
  25. package/dist/src/meeting/teamsMeetingMember.d.ts +1 -1
  26. package/dist/src/meeting/teamsMeetingParticipant.d.ts +1 -1
  27. package/dist/src/meeting/userMeetingDetails.d.ts +1 -1
  28. package/dist/src/taskModule/taskModuleContinueResponse.d.ts +1 -1
  29. package/dist/src/taskModule/taskModuleMessageResponse.d.ts +1 -1
  30. package/dist/src/taskModule/taskModuleRequest.d.ts +1 -1
  31. package/dist/src/taskModule/taskModuleRequestContext.d.ts +1 -1
  32. package/dist/src/taskModule/taskModuleResponse.d.ts +1 -1
  33. package/dist/src/taskModule/taskModuleResponseBase.d.ts +1 -1
  34. package/dist/src/taskModule/taskModuleTaskInfo.d.ts +1 -1
  35. package/dist/src/teamsAgentExtension.d.ts +20 -116
  36. package/dist/src/teamsAgentExtension.js +161 -248
  37. package/dist/src/teamsAgentExtension.js.map +1 -1
  38. package/dist/src/teamsAttachmentDownloader.d.ts +11 -2
  39. package/dist/src/teamsAttachmentDownloader.js +14 -2
  40. package/dist/src/teamsAttachmentDownloader.js.map +1 -1
  41. package/dist/src/teamsInfo.js +1 -1
  42. package/dist/src/teamsInfo.js.map +1 -1
  43. package/package.json +3 -5
  44. package/src/client/teamsConnectorClient.ts +8 -4
  45. package/src/feedbackLoopData.ts +31 -0
  46. package/src/file/fileConsentCardResponse.ts +1 -1
  47. package/src/file/fileUploadInfo.ts +1 -1
  48. package/src/index.ts +1 -0
  49. package/src/meeting/meetingDetails.ts +1 -1
  50. package/src/meeting/meetingDetailsBase.ts +1 -1
  51. package/src/meeting/meetingEndEventDetails.ts +1 -1
  52. package/src/meeting/meetingEventDetails.ts +1 -1
  53. package/src/meeting/meetingNotificationBase.ts +1 -1
  54. package/src/meeting/meetingNotificationChannelData.ts +1 -1
  55. package/src/meeting/meetingNotificationRecipientFailureInfo.ts +1 -1
  56. package/src/meeting/meetingParticipantsEventDetails.ts +1 -1
  57. package/src/meeting/meetingStageSurface.ts +1 -1
  58. package/src/meeting/meetingStartEventDetails.ts +1 -1
  59. package/src/meeting/meetingTabIconSurface.ts +1 -1
  60. package/src/meeting/targetedMeetingNotification.ts +1 -1
  61. package/src/meeting/targetedMeetingNotificationValue.ts +1 -1
  62. package/src/meeting/teamsMeetingMember.ts +1 -1
  63. package/src/meeting/teamsMeetingParticipant.ts +1 -1
  64. package/src/meeting/userMeetingDetails.ts +1 -1
  65. package/src/taskModule/taskModuleContinueResponse.ts +1 -1
  66. package/src/taskModule/taskModuleMessageResponse.ts +1 -1
  67. package/src/taskModule/taskModuleRequest.ts +1 -1
  68. package/src/taskModule/taskModuleRequestContext.ts +1 -1
  69. package/src/taskModule/taskModuleResponse.ts +1 -1
  70. package/src/taskModule/taskModuleResponseBase.ts +1 -1
  71. package/src/taskModule/taskModuleTaskInfo.ts +1 -1
  72. package/src/teamsAgentExtension.ts +70 -153
  73. package/src/teamsAttachmentDownloader.ts +16 -2
  74. package/src/teamsInfo.ts +1 -1
@@ -4,23 +4,14 @@ import { AgentApplication, AgentExtension, RouteHandler, RouteSelector, TurnCont
4
4
  import { parseTeamsChannelData } from './activity-extensions/teamsChannelDataParser'
5
5
  import { MessageExtension } from './messageExtension/messageExtension'
6
6
  import { TaskModule } from './taskModule/taskModule'
7
+ import { FeedbackLoopData } from './feedbackLoopData'
7
8
 
8
- /**
9
- * Microsoft Teams-specific extension for agent applications that provides event handlers and functionality
10
- * for Teams-specific activities such as message operations, member management, channel operations, and team lifecycle events.
11
- * @template TState The type of turn state, extending TurnState
12
- */
13
9
  export class TeamsAgentExtension<TState extends TurnState = TurnState> extends AgentExtension<TState> {
14
- _app: AgentApplication<TState>
15
- _meeting: Meeting<TState>
16
- _messageExtension: MessageExtension<TState>
17
- _taskModule: TaskModule<TState>
18
-
19
- /**
20
- * Creates a new instance of TeamsAgentExtension.
21
- * @param app The agent application instance to extend with Teams functionality
22
- */
23
- constructor (private app: AgentApplication<TState>) {
10
+ private _app: AgentApplication<TState>
11
+ private _meeting: Meeting<TState>
12
+ private _messageExtension: MessageExtension<TState>
13
+ private _taskModule: TaskModule<TState>
14
+ constructor (app: AgentApplication<TState>) {
24
15
  super('msteams')
25
16
  this._app = app
26
17
  this._meeting = new Meeting(app)
@@ -28,36 +19,32 @@ export class TeamsAgentExtension<TState extends TurnState = TurnState> extends A
28
19
  this._taskModule = new TaskModule(app)
29
20
  }
30
21
 
31
- /**
32
- * Gets the meeting functionality for handling Teams meeting-related activities.
33
- * @returns The Meeting instance for this extension
34
- */
35
22
  public get meeting (): Meeting<TState> {
36
23
  return this._meeting
37
24
  }
38
25
 
39
- /**
40
- * Gets the message extension functionality for handling Teams message extension activities.
41
- * @returns The MessageExtension instance for this extension
42
- */
43
26
  public get messageExtension (): MessageExtension<TState> {
44
27
  return this._messageExtension
45
28
  }
46
29
 
47
- /**
48
- * Gets the task module functionality for handling Teams task module activities.
49
- * @returns The TaskModule instance for this extension
50
- */
51
30
  public get taskModule (): TaskModule<TState> {
52
31
  return this._taskModule
53
32
  }
54
33
 
55
- /**
56
- * Registers a handler for message edit events in Teams.
57
- * @param handler The route handler to execute when a message is edited
58
- * @returns This TeamsAgentExtension instance for method chaining
59
- */
60
- onMessageEdit = (handler: RouteHandler<TurnState>) => {
34
+ onFeedback (handler: RouteHandler<TurnState>) {
35
+ const routeSel: RouteSelector = (context: TurnContext) => {
36
+ return Promise.resolve(
37
+ context.activity.type === ActivityTypes.Invoke &&
38
+ context.activity.channelId === 'msteams' &&
39
+ context.activity.name === 'message/submitAction' &&
40
+ (context.activity.value as FeedbackLoopData).actionName === 'feedback'
41
+ )
42
+ }
43
+ this._app.addRoute(routeSel, handler, true) // Invoke requires true
44
+ return this
45
+ }
46
+
47
+ onMessageEdit (handler: RouteHandler<TurnState>) {
61
48
  const routeSel: RouteSelector = (context: TurnContext) => {
62
49
  const channelData = parseTeamsChannelData(context.activity.channelData)
63
50
  return Promise.resolve(!!(context.activity.type === ActivityTypes.MessageUpdate && channelData?.eventType === 'editMessage'))
@@ -66,12 +53,7 @@ export class TeamsAgentExtension<TState extends TurnState = TurnState> extends A
66
53
  return this
67
54
  }
68
55
 
69
- /**
70
- * Registers a handler for message delete events in Teams.
71
- * @param handler The route handler to execute when a message is deleted
72
- * @returns This TeamsAgentExtension instance for method chaining
73
- */
74
- onMessageDelete = (handler: RouteHandler<TurnState>) => {
56
+ onMessageDelete (handler: RouteHandler<TurnState>) {
75
57
  const routeSel: RouteSelector = (context: TurnContext) => {
76
58
  const channelData = parseTeamsChannelData(context.activity.channelData)
77
59
  return Promise.resolve(context.activity.type === ActivityTypes.MessageDelete && channelData && channelData.eventType === 'softDeleteMessage')
@@ -80,12 +62,7 @@ export class TeamsAgentExtension<TState extends TurnState = TurnState> extends A
80
62
  return this
81
63
  }
82
64
 
83
- /**
84
- * Registers a handler for message undelete events in Teams.
85
- * @param handler The route handler to execute when a message is undeleted
86
- * @returns This TeamsAgentExtension instance for method chaining
87
- */
88
- onMessageUndelete = (handler: RouteHandler<TurnState>) => {
65
+ onMessageUndelete (handler: RouteHandler<TurnState>) {
89
66
  const routeSel: RouteSelector = (context: TurnContext) => {
90
67
  const channelData = parseTeamsChannelData(context.activity.channelData)
91
68
  return Promise.resolve(context.activity.type === ActivityTypes.MessageUpdate && channelData && channelData.eventType === 'undeleteMessage')
@@ -94,203 +71,143 @@ export class TeamsAgentExtension<TState extends TurnState = TurnState> extends A
94
71
  return this
95
72
  }
96
73
 
97
- /**
98
- * Registers a handler for when members are added to a Teams conversation.
99
- * @param handler The route handler to execute when members are added
100
- * @returns This TeamsAgentExtension instance for method chaining
101
- */
102
- onTeamsMembersAdded = (handler: RouteHandler<TurnState>) => {
74
+ onTeamsMembersAdded (handler: RouteHandler<TurnState>) {
103
75
  const routeSel: RouteSelector = (context: TurnContext) => {
104
76
  return Promise.resolve(!!(context.activity.type === ActivityTypes.ConversationUpdate &&
105
- context.activity.channelId === 'msteams' &&
106
- context.activity.membersAdded &&
107
- context.activity.membersAdded.length > 0))
77
+ context.activity.channelId === 'msteams' &&
78
+ context.activity.membersAdded &&
79
+ context.activity.membersAdded.length > 0))
108
80
  }
109
81
  this.addRoute(this._app, routeSel, handler, false)
110
82
  return this
111
83
  }
112
84
 
113
- /**
114
- * Registers a handler for when members are removed from a Teams conversation.
115
- * @param handler The route handler to execute when members are removed
116
- * @returns This TeamsAgentExtension instance for method chaining
117
- */
118
- onTeamsMembersRemoved = (handler: RouteHandler<TurnState>) => {
85
+ onTeamsMembersRemoved (handler: RouteHandler<TurnState>) {
119
86
  const routeSel: RouteSelector = (context: TurnContext) => {
120
87
  return Promise.resolve(!!(context.activity.type === ActivityTypes.ConversationUpdate &&
121
- context.activity.channelId === 'msteams' &&
122
- context.activity.membersRemoved &&
123
- context.activity.membersRemoved.length > 0))
88
+ context.activity.channelId === 'msteams' &&
89
+ context.activity.membersRemoved &&
90
+ context.activity.membersRemoved.length > 0))
124
91
  }
125
92
  this.addRoute(this._app, routeSel, handler, false)
126
93
  return this
127
94
  }
128
95
 
129
- /**
130
- * Registers a handler for when a Teams channel is created.
131
- * @param handler The route handler to execute when a channel is created
132
- * @returns This TeamsAgentExtension instance for method chaining
133
- */
134
- onTeamsChannelCreated = (handler: RouteHandler<TurnState>) => {
96
+ onTeamsChannelCreated (handler: RouteHandler<TurnState>) {
135
97
  const routeSel: RouteSelector = (context: TurnContext) => {
136
98
  const channelData = parseTeamsChannelData(context.activity.channelData)
137
99
  return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
138
- context.activity.channelId === 'msteams' &&
139
- channelData &&
140
- channelData.eventType === 'channelCreated')
100
+ context.activity.channelId === 'msteams' &&
101
+ channelData &&
102
+ channelData.eventType === 'channelCreated')
141
103
  }
142
104
  this.addRoute(this._app, routeSel, handler, false)
143
105
  return this
144
106
  }
145
107
 
146
- /**
147
- * Registers a handler for when a Teams channel is deleted.
148
- * @param handler The route handler to execute when a channel is deleted
149
- * @returns This TeamsAgentExtension instance for method chaining
150
- */
151
- onTeamsChannelDeleted = (handler: RouteHandler<TurnState>) => {
108
+ onTeamsChannelDeleted (handler: RouteHandler<TurnState>) {
152
109
  const routeSel: RouteSelector = (context: TurnContext) => {
153
110
  const channelData = parseTeamsChannelData(context.activity.channelData)
154
111
  return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
155
- context.activity.channelId === 'msteams' &&
156
- channelData &&
157
- channelData.eventType === 'channelDeleted')
112
+ context.activity.channelId === 'msteams' &&
113
+ channelData &&
114
+ channelData.eventType === 'channelDeleted')
158
115
  }
159
116
  this.addRoute(this._app, routeSel, handler, false)
160
117
  return this
161
118
  }
162
119
 
163
- /**
164
- * Registers a handler for when a Teams channel is renamed.
165
- * @param handler The route handler to execute when a channel is renamed
166
- * @returns This TeamsAgentExtension instance for method chaining
167
- */
168
- onTeamsChannelRenamed = (handler: RouteHandler<TurnState>) => {
120
+ onTeamsChannelRenamed (handler: RouteHandler<TurnState>) {
169
121
  const routeSel: RouteSelector = (context: TurnContext) => {
170
122
  const channelData = parseTeamsChannelData(context.activity.channelData)
171
123
  return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
172
- context.activity.channelId === 'msteams' &&
173
- channelData &&
174
- channelData.eventType === 'channelRenamed')
124
+ context.activity.channelId === 'msteams' &&
125
+ channelData &&
126
+ channelData.eventType === 'channelRenamed')
175
127
  }
176
128
  this.addRoute(this._app, routeSel, handler, false)
177
129
  return this
178
130
  }
179
131
 
180
- /**
181
- * Registers a handler for when a Teams channel is restored.
182
- * @param handler The route handler to execute when a channel is restored
183
- * @returns This TeamsAgentExtension instance for method chaining
184
- */
185
- onTeamsChannelRestored = (handler: RouteHandler<TurnState>) => {
132
+ onTeamsChannelRestored (handler: RouteHandler<TurnState>) {
186
133
  const routeSel: RouteSelector = (context: TurnContext) => {
187
134
  const channelData = parseTeamsChannelData(context.activity.channelData)
188
135
  return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
189
- context.activity.channelId === 'msteams' &&
190
- channelData &&
191
- channelData.eventType === 'channelRestored')
136
+ context.activity.channelId === 'msteams' &&
137
+ channelData &&
138
+ channelData.eventType === 'channelRestored')
192
139
  }
193
140
  this.addRoute(this._app, routeSel, handler, false)
194
141
  return this
195
142
  }
196
143
 
197
- /**
198
- * Registers a handler for when a Teams team is renamed.
199
- * @param handler The route handler to execute when a team is renamed
200
- * @returns This TeamsAgentExtension instance for method chaining
201
- */
202
- onTeamsTeamRenamed = (handler: RouteHandler<TurnState>) => {
144
+ onTeamsTeamRenamed (handler: RouteHandler<TurnState>) {
203
145
  const routeSel: RouteSelector = (context: TurnContext) => {
204
146
  const channelData = parseTeamsChannelData(context.activity.channelData)
205
147
  return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
206
- context.activity.channelId === 'msteams' &&
207
- channelData &&
208
- channelData.eventType === 'teamRenamed')
148
+ context.activity.channelId === 'msteams' &&
149
+ channelData &&
150
+ channelData.eventType === 'teamRenamed')
209
151
  }
210
152
  this.addRoute(this._app, routeSel, handler, false)
211
153
  return this
212
154
  }
213
155
 
214
- /**
215
- * Registers a handler for when a Teams team is archived.
216
- * @param handler The route handler to execute when a team is archived
217
- * @returns This TeamsAgentExtension instance for method chaining
218
- */
219
- onTeamsTeamArchived = (handler: RouteHandler<TurnState>) => {
156
+ onTeamsTeamArchived (handler: RouteHandler<TurnState>) {
220
157
  const routeSel: RouteSelector = (context: TurnContext) => {
221
158
  const channelData = parseTeamsChannelData(context.activity.channelData)
222
159
  return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
223
- context.activity.channelId === 'msteams' &&
224
- channelData &&
225
- channelData.eventType === 'teamArchived')
160
+ context.activity.channelId === 'msteams' &&
161
+ channelData &&
162
+ channelData.eventType === 'teamArchived')
226
163
  }
227
164
  this.addRoute(this._app, routeSel, handler, false)
228
165
  return this
229
166
  }
230
167
 
231
- /**
232
- * Registers a handler for when a Teams team is unarchived.
233
- * @param handler The route handler to execute when a team is unarchived
234
- * @returns This TeamsAgentExtension instance for method chaining
235
- */
236
- onTeamsTeamUnarchived = (handler: RouteHandler<TurnState>) => {
168
+ onTeamsTeamUnarchived (handler: RouteHandler<TurnState>) {
237
169
  const routeSel: RouteSelector = (context: TurnContext) => {
238
170
  const channelData = parseTeamsChannelData(context.activity.channelData)
239
171
  return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
240
- context.activity.channelId === 'msteams' &&
241
- channelData &&
242
- channelData.eventType === 'teamUnarchived')
172
+ context.activity.channelId === 'msteams' &&
173
+ channelData &&
174
+ channelData.eventType === 'teamUnarchived')
243
175
  }
244
176
  this.addRoute(this._app, routeSel, handler, false)
245
177
  return this
246
178
  }
247
179
 
248
- /**
249
- * Registers a handler for when a Teams team is deleted (soft delete).
250
- * @param handler The route handler to execute when a team is deleted
251
- * @returns This TeamsAgentExtension instance for method chaining
252
- */
253
- onTeamsTeamDeleted = (handler: RouteHandler<TurnState>) => {
180
+ onTeamsTeamDeleted (handler: RouteHandler<TurnState>) {
254
181
  const routeSel: RouteSelector = (context: TurnContext) => {
255
182
  const channelData = parseTeamsChannelData(context.activity.channelData)
256
183
  return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
257
- context.activity.channelId === 'msteams' &&
258
- channelData &&
259
- channelData.eventType === 'teamDeleted')
184
+ context.activity.channelId === 'msteams' &&
185
+ channelData &&
186
+ channelData.eventType === 'teamDeleted')
260
187
  }
261
188
  this.addRoute(this._app, routeSel, handler, false)
262
189
  return this
263
190
  }
264
191
 
265
- /**
266
- * Registers a handler for when a Teams team is hard deleted (permanently deleted).
267
- * @param handler The route handler to execute when a team is hard deleted
268
- * @returns This TeamsAgentExtension instance for method chaining
269
- */
270
- onTeamsTeamHardDeleted = (handler: RouteHandler<TurnState>) => {
192
+ onTeamsTeamHardDeleted (handler: RouteHandler<TurnState>) {
271
193
  const routeSel: RouteSelector = (context: TurnContext) => {
272
194
  const channelData = parseTeamsChannelData(context.activity.channelData)
273
195
  return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
274
- context.activity.channelId === 'msteams' &&
275
- channelData &&
276
- channelData.eventType === 'teamHardDeleted')
196
+ context.activity.channelId === 'msteams' &&
197
+ channelData &&
198
+ channelData.eventType === 'teamHardDeleted')
277
199
  }
278
200
  this.addRoute(this._app, routeSel, handler, false)
279
201
  return this
280
202
  }
281
203
 
282
- /**
283
- * Registers a handler for when a Teams team is restored.
284
- * @param handler The route handler to execute when a team is restored
285
- * @returns This TeamsAgentExtension instance for method chaining
286
- */
287
- onTeamsTeamRestored = (handler: RouteHandler<TurnState>) => {
204
+ onTeamsTeamRestored (handler: RouteHandler<TurnState>) {
288
205
  const routeSel: RouteSelector = (context: TurnContext) => {
289
206
  const channelData = parseTeamsChannelData(context.activity.channelData)
290
207
  return Promise.resolve(context.activity.type === ActivityTypes.ConversationUpdate &&
291
- context.activity.channelId === 'msteams' &&
292
- channelData &&
293
- channelData.eventType === 'teamRestored')
208
+ context.activity.channelId === 'msteams' &&
209
+ channelData &&
210
+ channelData.eventType === 'teamRestored')
294
211
  }
295
212
  this.addRoute(this._app, routeSel, handler, false)
296
213
  return this
@@ -12,8 +12,10 @@ import { z } from 'zod'
12
12
  */
13
13
  export class TeamsAttachmentDownloader<TState extends TurnState = TurnState> implements InputFileDownloader<TState> {
14
14
  private _httpClient: AxiosInstance
15
- public constructor () {
15
+ private _stateKey: string
16
+ public constructor (stateKey: string = 'inputFiles') {
16
17
  this._httpClient = axios.create()
18
+ this._stateKey = stateKey
17
19
  }
18
20
 
19
21
  /**
@@ -23,7 +25,7 @@ export class TeamsAttachmentDownloader<TState extends TurnState = TurnState> imp
23
25
  * @param {TState} state Application state for the current turn of conversation.
24
26
  * @returns {Promise<InputFile[]>} Promise that resolves to an array of downloaded input files.
25
27
  */
26
- public async downloadFiles (context: TurnContext, state: TState): Promise<InputFile[]> {
28
+ public async downloadFiles (context: TurnContext): Promise<InputFile[]> {
27
29
  // Filter out HTML attachments
28
30
  const attachments = context.activity.attachments?.filter((a) => !a.contentType.startsWith('text/html'))
29
31
  if (!attachments || attachments.length === 0) {
@@ -75,4 +77,16 @@ export class TeamsAttachmentDownloader<TState extends TurnState = TurnState> imp
75
77
  }
76
78
  return inputFile
77
79
  }
80
+
81
+ /**
82
+ * Downloads files from the attachments in the current turn context and stores them in state.
83
+ *
84
+ * @param context The turn context containing the activity with attachments.
85
+ * @param state The turn state to store the files in.
86
+ * @returns A promise that resolves when the downloaded files are stored.
87
+ */
88
+ public async downloadAndStoreFiles (context: TurnContext, state: TState): Promise<void> {
89
+ const files = await this.downloadFiles(context)
90
+ state.setValue(this._stateKey, files)
91
+ }
78
92
  }
package/src/teamsInfo.ts CHANGED
@@ -156,7 +156,7 @@ export class TeamsInfo {
156
156
  // context.activity.serviceUrl
157
157
  // )
158
158
  const connectorClient : ConnectorClient = context.turnState.get<ConnectorClient>('connectorClient')
159
- const conversationResourceResponse = await connectorClient.createConversationAsync(convoParams)
159
+ const conversationResourceResponse = await connectorClient.createConversation(convoParams)
160
160
  conversationReference = context.activity.getConversationReference()
161
161
  conversationReference.conversation!.id = conversationResourceResponse.id
162
162
  newActivityId = conversationResourceResponse.activityId