@microsoft/agents-hosting 1.1.4-geb1c05c291 → 1.2.0-alpha.19.g21cf68366a

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 (44) hide show
  1. package/dist/package.json +4 -4
  2. package/dist/src/activityHandler.js +7 -4
  3. package/dist/src/activityHandler.js.map +1 -1
  4. package/dist/src/app/index.d.ts +1 -0
  5. package/dist/src/app/index.js +1 -0
  6. package/dist/src/app/index.js.map +1 -1
  7. package/dist/src/app/streaming/streamingResponse.d.ts +138 -88
  8. package/dist/src/app/streaming/streamingResponse.js +241 -107
  9. package/dist/src/app/streaming/streamingResponse.js.map +1 -1
  10. package/dist/src/app/teamsAttachmentDownloader.d.ts +36 -0
  11. package/dist/src/app/teamsAttachmentDownloader.js +103 -0
  12. package/dist/src/app/teamsAttachmentDownloader.js.map +1 -0
  13. package/dist/src/auth/authConfiguration.d.ts +6 -0
  14. package/dist/src/auth/authConfiguration.js +15 -9
  15. package/dist/src/auth/authConfiguration.js.map +1 -1
  16. package/dist/src/auth/authProvider.d.ts +7 -1
  17. package/dist/src/auth/msalTokenProvider.d.ts +7 -1
  18. package/dist/src/auth/msalTokenProvider.js +48 -3
  19. package/dist/src/auth/msalTokenProvider.js.map +1 -1
  20. package/dist/src/cloudAdapter.d.ts +39 -14
  21. package/dist/src/cloudAdapter.js +52 -26
  22. package/dist/src/cloudAdapter.js.map +1 -1
  23. package/dist/src/connector-client/connectorClient.js +10 -9
  24. package/dist/src/connector-client/connectorClient.js.map +1 -1
  25. package/dist/src/errorHelper.d.ts +4 -0
  26. package/dist/src/errorHelper.js +588 -0
  27. package/dist/src/errorHelper.js.map +1 -0
  28. package/dist/src/index.d.ts +1 -0
  29. package/dist/src/index.js +3 -1
  30. package/dist/src/index.js.map +1 -1
  31. package/dist/src/oauth/userTokenClient.js.map +1 -1
  32. package/package.json +4 -4
  33. package/src/activityHandler.ts +8 -5
  34. package/src/app/index.ts +1 -0
  35. package/src/app/streaming/streamingResponse.ts +252 -107
  36. package/src/app/teamsAttachmentDownloader.ts +110 -0
  37. package/src/auth/authConfiguration.ts +13 -2
  38. package/src/auth/authProvider.ts +8 -1
  39. package/src/auth/msalTokenProvider.ts +62 -3
  40. package/src/cloudAdapter.ts +56 -29
  41. package/src/connector-client/connectorClient.ts +11 -10
  42. package/src/errorHelper.ts +674 -0
  43. package/src/index.ts +1 -0
  44. package/src/oauth/userTokenClient.ts +2 -2
@@ -4,11 +4,33 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.StreamingResponse = void 0;
7
+ exports.StreamingResponse = exports.StreamingResponseResult = void 0;
8
8
  const agents_activity_1 = require("@microsoft/agents-activity");
9
9
  const citationUtil_1 = require("./citationUtil");
10
10
  const logger_1 = require("@microsoft/agents-activity/logger");
11
11
  const logger = (0, logger_1.debug)('agents:streamingResponse');
12
+ /**
13
+ * Results for streaming response operations.
14
+ */
15
+ var StreamingResponseResult;
16
+ (function (StreamingResponseResult) {
17
+ /**
18
+ * The operation was successful.
19
+ */
20
+ StreamingResponseResult["Success"] = "success";
21
+ /**
22
+ * The stream has already ended.
23
+ */
24
+ StreamingResponseResult["AlreadyEnded"] = "alreadyEnded";
25
+ /**
26
+ * The user canceled the streaming response.
27
+ */
28
+ StreamingResponseResult["UserCanceled"] = "userCanceled";
29
+ /**
30
+ * An error occurred during the streaming response.
31
+ */
32
+ StreamingResponseResult["Error"] = "error";
33
+ })(StreamingResponseResult || (exports.StreamingResponseResult = StreamingResponseResult = {}));
12
34
  /**
13
35
  * A helper class for streaming responses to the client.
14
36
  *
@@ -22,16 +44,19 @@ const logger = (0, logger_1.debug)('agents:streamingResponse');
22
44
  */
23
45
  class StreamingResponse {
24
46
  /**
25
- * Creates a new StreamingResponse instance.
26
- *
27
- * @param {TurnContext} context - Context for the current turn of conversation with the user.
28
- * @returns {TurnContext} - The context for the current turn of conversation with the user.
29
- */
47
+ * Creates a new StreamingResponse instance.
48
+ *
49
+ * @param {TurnContext} context - Context for the current turn of conversation with the user.
50
+ * @returns {TurnContext} - The context for the current turn of conversation with the user.
51
+ */
30
52
  constructor(context) {
31
53
  this._nextSequence = 1;
32
54
  this._message = '';
33
55
  this._ended = false;
34
- this._delayInMs = 1500;
56
+ this._delayInMs = 250;
57
+ this._isStreamingChannel = true;
58
+ this._canceled = false;
59
+ this._userCanceled = false;
35
60
  // Queue for outgoing activities
36
61
  this._queue = [];
37
62
  this._chunkQueued = false;
@@ -40,15 +65,16 @@ class StreamingResponse {
40
65
  this._enableGeneratedByAILabel = false;
41
66
  this._citations = [];
42
67
  this._context = context;
68
+ this.loadDefaults(context.activity);
43
69
  }
44
70
  /**
45
- * Gets the stream ID of the current response.
46
- *
47
- * @returns {string | undefined} - The stream ID of the current response.
48
- *
49
- * @remarks
50
- * Assigned after the initial update is sent.
51
- */
71
+ * Gets the stream ID of the current response.
72
+ *
73
+ * @returns {string | undefined} - The stream ID of the current response.
74
+ *
75
+ * @remarks
76
+ * Assigned after the initial update is sent.
77
+ */
52
78
  get streamId() {
53
79
  return this._streamId;
54
80
  }
@@ -59,25 +85,38 @@ class StreamingResponse {
59
85
  return this._citations;
60
86
  }
61
87
  /**
62
- * Gets the number of updates sent for the stream.
63
- *
64
- * @returns {number} - The number of updates sent for the stream.
65
- */
88
+ * Gets the number of updates sent for the stream.
89
+ *
90
+ * @returns {number} - The number of updates sent for the stream.
91
+ */
66
92
  get updatesSent() {
67
93
  return this._nextSequence - 1;
68
94
  }
69
95
  /**
70
96
  * Gets the delay in milliseconds between chunks.
97
+ * @remarks
98
+ * Teams default: 1000 ms
99
+ * Web Chat / Direct Line default: 500 ms
100
+ * Other channels: 250 ms
71
101
  */
72
102
  get delayInMs() {
73
103
  return this._delayInMs;
74
104
  }
75
105
  /**
76
- * Queues an informative update to be sent to the client.
77
- *
78
- * @param {string} text Text of the update to send.
79
- */
106
+ * Gets whether the channel supports streaming.
107
+ */
108
+ get isStreamingChannel() {
109
+ return this._isStreamingChannel;
110
+ }
111
+ /**
112
+ * Queues an informative update to be sent to the client.
113
+ *
114
+ * @param {string} text Text of the update to send.
115
+ */
80
116
  queueInformativeUpdate(text) {
117
+ if (!this.isStreamingChannel || !text.trim() || this._canceled) {
118
+ return;
119
+ }
81
120
  if (this._ended) {
82
121
  throw new Error('The stream has already ended.');
83
122
  }
@@ -93,17 +132,20 @@ class StreamingResponse {
93
132
  }));
94
133
  }
95
134
  /**
96
- * Queues a chunk of partial message text to be sent to the client
97
- *
98
- * @param {string} text Partial text of the message to send.
99
- * @param {Citation[]} citations Citations to be included in the message.
100
- *
101
- * @remarks
102
- * The text we be sent as quickly as possible to the client. Chunks may be combined before
103
- * delivery to the client.
104
- *
105
- */
135
+ * Queues a chunk of partial message text to be sent to the client
136
+ *
137
+ * @param {string} text Partial text of the message to send.
138
+ * @param {Citation[]} citations Citations to be included in the message.
139
+ *
140
+ * @remarks
141
+ * The text we be sent as quickly as possible to the client. Chunks may be combined before
142
+ * delivery to the client.
143
+ *
144
+ */
106
145
  queueTextChunk(text, citations) {
146
+ if (!text.trim() || this._canceled) {
147
+ return;
148
+ }
107
149
  if (this._ended) {
108
150
  throw new Error('The stream has already ended.');
109
151
  }
@@ -111,45 +153,79 @@ class StreamingResponse {
111
153
  this._message += text;
112
154
  // If there are citations, modify the content so that the sources are numbers instead of [doc1], [doc2], etc.
113
155
  this._message = citationUtil_1.CitationUtil.formatCitationsResponse(this._message);
156
+ if (!this.isStreamingChannel) {
157
+ return;
158
+ }
114
159
  // Queue the next chunk
115
160
  this.queueNextChunk();
116
161
  }
117
162
  /**
118
- * Ends the stream by sending the final message to the client.
119
- *
120
- * @returns {Promise<void>} - A promise representing the async operation
121
- */
122
- endStream() {
163
+ * Ends the stream by sending the final message to the client.
164
+ *
165
+ * @returns {Promise<StreamingResponseResult>} - StreamingResponseResult with the result of the streaming response.
166
+ */
167
+ async endStream() {
123
168
  if (this._ended) {
124
- throw new Error('The stream has already ended.');
169
+ return StreamingResponseResult.AlreadyEnded;
170
+ }
171
+ if (this._canceled) {
172
+ return this._userCanceled ? StreamingResponseResult.UserCanceled : StreamingResponseResult.Error;
125
173
  }
126
174
  // Queue final message
127
175
  this._ended = true;
176
+ if (!this.isStreamingChannel) {
177
+ await this.sendActivity(this.createFinalMessage());
178
+ return StreamingResponseResult.Success;
179
+ }
180
+ // Queue final message
128
181
  this.queueNextChunk();
129
182
  // Wait for the queue to drain
130
- return this.waitForQueue();
183
+ await this.waitForQueue();
184
+ return StreamingResponseResult.Success;
131
185
  }
132
186
  /**
133
- * Sets the attachments to attach to the final chunk.
134
- *
135
- * @param attachments List of attachments.
136
- */
187
+ * Resets the streaming response to its initial state.
188
+ * If the stream is still running, this will wait for completion.
189
+ */
190
+ async reset() {
191
+ await this.waitForQueue();
192
+ this._queueSync = undefined;
193
+ this._queue = [];
194
+ this._chunkQueued = false;
195
+ this._ended = false;
196
+ this._canceled = false;
197
+ this._userCanceled = false;
198
+ this._message = '';
199
+ this._nextSequence = 1;
200
+ this._streamId = undefined;
201
+ }
202
+ /**
203
+ * Set Activity that will be (optionally) used for the final streaming message.
204
+ */
205
+ setFinalMessage(activity) {
206
+ this._finalMessage = activity;
207
+ }
208
+ /**
209
+ * Sets the attachments to attach to the final chunk.
210
+ *
211
+ * @param attachments List of attachments.
212
+ */
137
213
  setAttachments(attachments) {
138
214
  this._attachments = attachments;
139
215
  }
140
216
  /**
141
- * Sets the sensitivity label to attach to the final chunk.
142
- *
143
- * @param sensitivityLabel The sensitivty label.
144
- */
217
+ * Sets the sensitivity label to attach to the final chunk.
218
+ *
219
+ * @param sensitivityLabel The sensitivty label.
220
+ */
145
221
  setSensitivityLabel(sensitivityLabel) {
146
222
  this._sensitivityLabel = sensitivityLabel;
147
223
  }
148
224
  /**
149
- * Sets the citations for the full message.
150
- *
151
- * @param {Citation[]} citations Citations to be included in the message.
152
- */
225
+ * Sets the citations for the full message.
226
+ *
227
+ * @param {Citation[]} citations Citations to be included in the message.
228
+ */
153
229
  setCitations(citations) {
154
230
  if (citations.length > 0) {
155
231
  if (!this._citations) {
@@ -173,29 +249,29 @@ class StreamingResponse {
173
249
  }
174
250
  }
175
251
  /**
176
- * Sets the Feedback Loop in Teams that allows a user to
177
- * give thumbs up or down to a response.
178
- * Default is `false`.
179
- *
180
- * @param enableFeedbackLoop If true, the feedback loop is enabled.
181
- */
252
+ * Sets the Feedback Loop in Teams that allows a user to
253
+ * give thumbs up or down to a response.
254
+ * Default is `false`.
255
+ *
256
+ * @param enableFeedbackLoop If true, the feedback loop is enabled.
257
+ */
182
258
  setFeedbackLoop(enableFeedbackLoop) {
183
259
  this._enableFeedbackLoop = enableFeedbackLoop;
184
260
  }
185
261
  /**
186
- * Sets the type of UI to use for the feedback loop.
187
- *
188
- * @param feedbackLoopType The type of the feedback loop.
189
- */
262
+ * Sets the type of UI to use for the feedback loop.
263
+ *
264
+ * @param feedbackLoopType The type of the feedback loop.
265
+ */
190
266
  setFeedbackLoopType(feedbackLoopType) {
191
267
  this._feedbackLoopType = feedbackLoopType;
192
268
  }
193
269
  /**
194
- * Sets the the Generated by AI label in Teams
195
- * Default is `false`.
196
- *
197
- * @param enableGeneratedByAILabel If true, the label is added.
198
- */
270
+ * Sets the the Generated by AI label in Teams
271
+ * Default is `false`.
272
+ *
273
+ * @param enableGeneratedByAILabel If true, the label is added.
274
+ */
199
275
  setGeneratedByAILabel(enableGeneratedByAILabel) {
200
276
  this._enableGeneratedByAILabel = enableGeneratedByAILabel;
201
277
  }
@@ -207,26 +283,26 @@ class StreamingResponse {
207
283
  this._delayInMs = delayInMs;
208
284
  }
209
285
  /**
210
- * Returns the most recently streamed message.
211
- *
212
- * @returns The streamed message.
213
- */
286
+ * Returns the most recently streamed message.
287
+ *
288
+ * @returns The streamed message.
289
+ */
214
290
  getMessage() {
215
291
  return this._message;
216
292
  }
217
293
  /**
218
- * Waits for the outgoing activity queue to be empty.
219
- *
220
- * @returns {Promise<void>} - A promise representing the async operation.
221
- */
294
+ * Waits for the outgoing activity queue to be empty.
295
+ *
296
+ * @returns {Promise<void>} - A promise representing the async operation.
297
+ */
222
298
  waitForQueue() {
223
299
  return this._queueSync || Promise.resolve();
224
300
  }
225
301
  /**
226
- * Queues the next chunk of text to be sent to the client.
227
- *
228
- * @private
229
- */
302
+ * Queues the next chunk of text to be sent to the client.
303
+ *
304
+ * @private
305
+ */
230
306
  queueNextChunk() {
231
307
  // Are we already waiting to send a chunk?
232
308
  if (this._chunkQueued) {
@@ -238,16 +314,7 @@ class StreamingResponse {
238
314
  this._chunkQueued = false;
239
315
  if (this._ended) {
240
316
  // Send final message
241
- return agents_activity_1.Activity.fromObject({
242
- type: 'message',
243
- text: this._message || 'end of stream response',
244
- attachments: this._attachments,
245
- entities: [{
246
- type: 'streaminfo',
247
- streamType: 'final',
248
- streamSequence: this._nextSequence++
249
- }]
250
- });
317
+ return this.createFinalMessage();
251
318
  }
252
319
  else {
253
320
  // Send typing activity
@@ -264,8 +331,8 @@ class StreamingResponse {
264
331
  });
265
332
  }
266
333
  /**
267
- * Queues an activity to be sent to the client.
268
- */
334
+ * Queues an activity to be sent to the client.
335
+ */
269
336
  queueActivity(factory) {
270
337
  this._queue.push(factory);
271
338
  // If there's no sync in progress, start one
@@ -277,11 +344,11 @@ class StreamingResponse {
277
344
  }
278
345
  }
279
346
  /**
280
- * Sends any queued activities to the client until the queue is empty.
281
- *
282
- * @returns {Promise<void>} - A promise that will be resolved once the queue is empty.
283
- * @private
284
- */
347
+ * Sends any queued activities to the client until the queue is empty.
348
+ *
349
+ * @returns {Promise<void>} - A promise that will be resolved once the queue is empty.
350
+ * @private
351
+ */
285
352
  async drainQueue() {
286
353
  // eslint-disable-next-line no-async-promise-executor
287
354
  return new Promise(async (resolve, reject) => {
@@ -303,12 +370,34 @@ class StreamingResponse {
303
370
  });
304
371
  }
305
372
  /**
306
- * Sends an activity to the client and saves the stream ID returned.
307
- *
308
- * @param {Activity} activity - The activity to send.
309
- * @returns {Promise<void>} - A promise representing the async operation.
310
- * @private
311
- */
373
+ * Creates the final message to be sent at the end of the stream.
374
+ */
375
+ createFinalMessage() {
376
+ var _a, _b;
377
+ const activity = (_a = this._finalMessage) !== null && _a !== void 0 ? _a : new agents_activity_1.Activity('message');
378
+ activity.type = 'message';
379
+ if (!this._finalMessage) {
380
+ activity.text = this._message || 'end of stream response';
381
+ }
382
+ (_b = activity.entities) !== null && _b !== void 0 ? _b : (activity.entities = []);
383
+ activity.attachments = this._attachments;
384
+ this._nextSequence++; // Increment sequence for final message, even if not streaming.
385
+ if (this.isStreamingChannel) {
386
+ activity.entities.push({
387
+ type: 'streaminfo',
388
+ streamType: 'final',
389
+ streamSequence: this._nextSequence
390
+ });
391
+ }
392
+ return activity;
393
+ }
394
+ /**
395
+ * Sends an activity to the client and saves the stream ID returned.
396
+ *
397
+ * @param {Activity} activity - The activity to send.
398
+ * @returns {Promise<void>} - A promise representing the async operation.
399
+ * @private
400
+ */
312
401
  async sendActivity(activity) {
313
402
  var _a, _b;
314
403
  // Set activity ID to the assigned stream ID
@@ -344,12 +433,57 @@ class StreamingResponse {
344
433
  (0, agents_activity_1.addAIToActivity)(activity, this._citations, this._sensitivityLabel);
345
434
  }
346
435
  }
347
- // Send activity
348
- const response = await this._context.sendActivity(activity);
349
- await new Promise((resolve) => setTimeout(resolve, this.delayInMs));
350
- // Save assigned stream ID
351
- if (!this._streamId) {
352
- this._streamId = response === null || response === void 0 ? void 0 : response.id;
436
+ try {
437
+ const response = await this._context.sendActivity(activity);
438
+ if (!this._streamId) {
439
+ this._streamId = response === null || response === void 0 ? void 0 : response.id;
440
+ }
441
+ await new Promise((resolve) => setTimeout(resolve, this.delayInMs));
442
+ }
443
+ catch (error) {
444
+ const { message } = error;
445
+ this._canceled = true;
446
+ this._queueSync = undefined;
447
+ this._queue = [];
448
+ // MS Teams code list: https://learn.microsoft.com/en-us/microsoftteams/platform/bots/streaming-ux?tabs=jsts#error-codes
449
+ if (message.includes('ContentStreamNotAllowed')) {
450
+ logger.warn('Streaming content is not allowed by the client side.', { originalError: message });
451
+ this._userCanceled = true;
452
+ }
453
+ else if (message.includes('BadArgument') && message.toLowerCase().includes('streaming api is not enabled')) {
454
+ logger.warn('Interaction does not support streaming. Defaulting to non-streaming response.', { originalError: message });
455
+ this._canceled = false;
456
+ this._isStreamingChannel = false;
457
+ }
458
+ }
459
+ }
460
+ /**
461
+ * Loads default values for the streaming response.
462
+ */
463
+ loadDefaults(activity) {
464
+ if (!activity) {
465
+ return;
466
+ }
467
+ if (activity.deliveryMode === agents_activity_1.DeliveryModes.ExpectReplies) {
468
+ this._isStreamingChannel = false;
469
+ }
470
+ else if (agents_activity_1.Channels.Msteams === activity.channelId) {
471
+ if (activity.isAgenticRequest()) {
472
+ // Agentic requests do not support streaming responses at this time.
473
+ // TODO: Enable streaming for agentic requests when supported.
474
+ this._isStreamingChannel = false;
475
+ }
476
+ else {
477
+ this._isStreamingChannel = true;
478
+ this._delayInMs = 1000;
479
+ }
480
+ }
481
+ else if (agents_activity_1.Channels.Webchat === activity.channelId || agents_activity_1.Channels.Directline === activity.channelId) {
482
+ this._isStreamingChannel = true;
483
+ this._delayInMs = 500;
484
+ }
485
+ else {
486
+ this._isStreamingChannel = false;
353
487
  }
354
488
  }
355
489
  }
@@ -1 +1 @@
1
- {"version":3,"file":"streamingResponse.js","sourceRoot":"","sources":["../../../../src/app/streaming/streamingResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamingResponse.js","sourceRoot":"","sources":["../../../../src/app/streaming/streamingResponse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ import { InputFile, InputFileDownloader } from './inputFileDownloader';
6
+ import { TurnContext } from '../turnContext';
7
+ import { TurnState } from './turnState';
8
+ /**
9
+ * Downloads attachments from Teams using the bots access token.
10
+ */
11
+ export declare class TeamsAttachmentDownloader<TState extends TurnState = TurnState> implements InputFileDownloader<TState> {
12
+ private _httpClient;
13
+ private _stateKey;
14
+ constructor(stateKey?: string);
15
+ /**
16
+ * Download any files relative to the current user's input.
17
+ *
18
+ * @param {TurnContext} context Context for the current turn of conversation.
19
+ * @returns {Promise<InputFile[]>} Promise that resolves to an array of downloaded input files.
20
+ */
21
+ downloadFiles(context: TurnContext): Promise<InputFile[]>;
22
+ /**
23
+ * @private
24
+ * @param {Attachment} attachment - Attachment to download.
25
+ * @returns {Promise<InputFile>} - Promise that resolves to the downloaded input file.
26
+ */
27
+ private downloadFile;
28
+ /**
29
+ * Downloads files from the attachments in the current turn context and stores them in state.
30
+ *
31
+ * @param context The turn context containing the activity with attachments.
32
+ * @param state The turn state to store the files in.
33
+ * @returns A promise that resolves when the downloaded files are stored.
34
+ */
35
+ downloadAndStoreFiles(context: TurnContext, state: TState): Promise<void>;
36
+ }