@microsoft/agents-hosting-dialogs 1.5.0-beta.6.ga236d9a19c → 1.5.1

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.
@@ -39,9 +39,9 @@ exports.recognizeChoices = recognizeChoices;
39
39
  * Licensed under the MIT License.
40
40
  */
41
41
  const findChoices_1 = require("./findChoices");
42
- const logger_1 = require("@microsoft/agents-activity/logger");
42
+ const agents_telemetry_1 = require("@microsoft/agents-telemetry");
43
43
  const Recognizers = __importStar(require("@microsoft/recognizers-text-number"));
44
- const logger = (0, logger_1.debug)('dialogs:recognizeChoices');
44
+ const logger = (0, agents_telemetry_1.debug)('dialogs:recognizeChoices');
45
45
  /**
46
46
  * High level function for recognizing a choice in a users utterance.
47
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"recognizeChoices.js","sourceRoot":"","sources":["../../../src/choices/recognizeChoices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recognizeChoices.js","sourceRoot":"","sources":["../../../src/choices/recognizeChoices.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ const dialogTurnStateConstants_1 = require("./dialogTurnStateConstants");
13
13
  const dialogContextError_1 = require("./dialogContextError");
14
14
  const dialogReason_1 = require("./dialogReason");
15
15
  const dialogTurnStatus_1 = require("./dialogTurnStatus");
16
+ const observability_1 = require("./observability");
16
17
  /**
17
18
  * Wraps a promise in a try-catch that automatically enriches errors with extra dialog context.
18
19
  *
@@ -159,19 +160,30 @@ class DialogContext {
159
160
  *
160
161
  */
161
162
  async beginDialog(dialogId, options) {
162
- // Lookup dialog
163
- const dialog = this.findDialog(dialogId);
164
- if (!dialog) {
165
- throw new dialogContextError_1.DialogContextError(`DialogContext.beginDialog(): A dialog with an id of '${dialogId}' wasn't found.`, this);
166
- }
167
- // Push new instance onto stack.
168
- const instance = {
169
- id: dialogId,
170
- state: {},
171
- };
172
- this.stack.push(instance);
173
- // Call dialogs begin() method.
174
- return wrapErrors(this, dialog.beginDialog(this, options));
163
+ return (0, observability_1.trace)(observability_1.DialogsTraceDefinitions.contextBegin, async ({ record }) => {
164
+ var _a;
165
+ record({
166
+ dialogId,
167
+ parentId: (_a = this.activeDialog) === null || _a === void 0 ? void 0 : _a.id,
168
+ activity: this.context.activity,
169
+ });
170
+ // Lookup dialog
171
+ const dialog = this.findDialog(dialogId);
172
+ if (!dialog) {
173
+ throw new dialogContextError_1.DialogContextError(`DialogContext.beginDialog(): A dialog with an id of '${dialogId}' wasn't found.`, this);
174
+ }
175
+ record({ name: dialog.constructor.name });
176
+ // Push new instance onto stack.
177
+ const instance = {
178
+ id: dialogId,
179
+ state: {},
180
+ };
181
+ this.stack.push(instance);
182
+ // Call dialogs begin() method.
183
+ const result = await wrapErrors(this, dialog.beginDialog(this, options));
184
+ record({ status: result === null || result === void 0 ? void 0 : result.status });
185
+ return result;
186
+ });
175
187
  }
176
188
  /**
177
189
  * Cancels all dialogs on the dialog stack, and clears stack.
@@ -191,34 +203,48 @@ class DialogContext {
191
203
  *
192
204
  */
193
205
  async cancelAllDialogs(cancelParents = false, eventName, eventValue) {
194
- eventName = eventName || dialogEvents_1.DialogEvents.cancelDialog;
195
- if (this.stack.length > 0 || this.parent !== undefined) {
196
- // Cancel all local and parent dialogs while checking for interception
197
- let notify = false;
198
- let dialogContext = this;
199
- while (dialogContext !== undefined) {
200
- if (dialogContext.stack.length > 0) {
201
- // Check to see if the dialog wants to handle the event
202
- // - We skip notifying the first dialog which actually called cancelAllDialogs()
203
- if (notify) {
204
- const handled = await dialogContext.emitEvent(eventName, eventValue, false, false);
205
- if (handled) {
206
- break;
206
+ return (0, observability_1.trace)(observability_1.DialogsTraceDefinitions.contextCancelAll, async ({ record }) => {
207
+ var _a;
208
+ eventName = eventName || dialogEvents_1.DialogEvents.cancelDialog;
209
+ const activeDialogDefinition = this.activeDialog ? this.findDialog(this.activeDialog.id) : undefined;
210
+ record({
211
+ activity: this.context.activity,
212
+ cancelParents,
213
+ dialogId: (_a = this.activeDialog) === null || _a === void 0 ? void 0 : _a.id,
214
+ eventName,
215
+ name: activeDialogDefinition === null || activeDialogDefinition === void 0 ? void 0 : activeDialogDefinition.constructor.name,
216
+ });
217
+ let result;
218
+ if (this.stack.length > 0 || this.parent !== undefined) {
219
+ // Cancel all local and parent dialogs while checking for interception
220
+ let notify = false;
221
+ let dialogContext = this;
222
+ while (dialogContext !== undefined) {
223
+ if (dialogContext.stack.length > 0) {
224
+ // Check to see if the dialog wants to handle the event
225
+ // - We skip notifying the first dialog which actually called cancelAllDialogs()
226
+ if (notify) {
227
+ const handled = await dialogContext.emitEvent(eventName, eventValue, false, false);
228
+ if (handled) {
229
+ break;
230
+ }
207
231
  }
232
+ // End the active dialog
233
+ await dialogContext.endActiveDialog(dialogReason_1.DialogReason.cancelCalled);
208
234
  }
209
- // End the active dialog
210
- await dialogContext.endActiveDialog(dialogReason_1.DialogReason.cancelCalled);
211
- }
212
- else {
213
- dialogContext = cancelParents ? dialogContext.parent : undefined;
235
+ else {
236
+ dialogContext = cancelParents ? dialogContext.parent : undefined;
237
+ }
238
+ notify = true;
214
239
  }
215
- notify = true;
240
+ result = { status: dialogTurnStatus_1.DialogTurnStatus.cancelled };
216
241
  }
217
- return { status: dialogTurnStatus_1.DialogTurnStatus.cancelled };
218
- }
219
- else {
220
- return { status: dialogTurnStatus_1.DialogTurnStatus.empty };
221
- }
242
+ else {
243
+ result = { status: dialogTurnStatus_1.DialogTurnStatus.empty };
244
+ }
245
+ record({ status: result.status });
246
+ return result;
247
+ });
222
248
  }
223
249
  /**
224
250
  * Searches for a dialog with a given ID.
@@ -284,28 +310,39 @@ class DialogContext {
284
310
  *
285
311
  */
286
312
  async continueDialog() {
287
- // if we are continuing and haven't emitted the activityReceived event, emit it
288
- // NOTE: This is backward compatible way for activity received to be fired even if you have legacy dialog loop
289
- if (!this.context.turnState.has(ACTIVITY_RECEIVED_EMITTED)) {
290
- this.context.turnState.set(ACTIVITY_RECEIVED_EMITTED, true);
291
- // Dispatch "activityReceived" event
292
- // - This fired from teh leaf and will queue up any interruptions.
293
- await this.emitEvent(dialogEvents_1.DialogEvents.activityReceived, this.context.activity, true, true);
294
- }
295
- // Check for a dialog on the stack
296
- const instance = this.activeDialog;
297
- if (instance) {
298
- // Lookup dialog
299
- const dialog = this.findDialog(instance.id);
300
- if (!dialog) {
301
- throw new dialogContextError_1.DialogContextError(`DialogContext.continueDialog(): Can't continue dialog. A dialog with an id of '${instance.id}' wasn't found.`, this);
313
+ return (0, observability_1.trace)(observability_1.DialogsTraceDefinitions.contextContinue, async ({ record }) => {
314
+ var _a;
315
+ record({
316
+ dialogId: (_a = this.activeDialog) === null || _a === void 0 ? void 0 : _a.id,
317
+ activity: this.context.activity,
318
+ });
319
+ // if we are continuing and haven't emitted the activityReceived event, emit it
320
+ // NOTE: This is backward compatible way for activity received to be fired even if you have legacy dialog loop
321
+ if (!this.context.turnState.has(ACTIVITY_RECEIVED_EMITTED)) {
322
+ this.context.turnState.set(ACTIVITY_RECEIVED_EMITTED, true);
323
+ // Dispatch "activityReceived" event
324
+ // - This fired from the leaf and will queue up any interruptions.
325
+ await this.emitEvent(dialogEvents_1.DialogEvents.activityReceived, this.context.activity, true, true);
302
326
  }
303
- // Continue execution of dialog
304
- return wrapErrors(this, dialog.continueDialog(this));
305
- }
306
- else {
307
- return { status: dialogTurnStatus_1.DialogTurnStatus.empty };
308
- }
327
+ // Check for a dialog on the stack
328
+ const instance = this.activeDialog;
329
+ let result;
330
+ if (instance) {
331
+ // Lookup dialog
332
+ const dialog = this.findDialog(instance.id);
333
+ if (!dialog) {
334
+ throw new dialogContextError_1.DialogContextError(`DialogContext.continueDialog(): Can't continue dialog. A dialog with an id of '${instance.id}' wasn't found.`, this);
335
+ }
336
+ record({ name: dialog.constructor.name });
337
+ // Continue execution of dialog
338
+ result = await wrapErrors(this, dialog.continueDialog(this));
339
+ }
340
+ else {
341
+ result = { status: dialogTurnStatus_1.DialogTurnStatus.empty };
342
+ }
343
+ record({ status: result.status });
344
+ return result;
345
+ });
309
346
  }
310
347
  /**
311
348
  * Ends a dialog and pops it off the stack. Returns an optional result to the dialog's parent.
@@ -331,23 +368,35 @@ class DialogContext {
331
368
  *
332
369
  */
333
370
  async endDialog(result) {
334
- // End the active dialog
335
- await this.endActiveDialog(dialogReason_1.DialogReason.endCalled, result);
336
- // Resume parent dialog
337
- const instance = this.activeDialog;
338
- if (instance) {
339
- // Lookup dialog
340
- const dialog = this.findDialog(instance.id);
341
- if (!dialog) {
342
- throw new dialogContextError_1.DialogContextError(`DialogContext.endDialog(): Can't resume previous dialog. A dialog with an id of '${instance.id}' wasn't found.`, this);
371
+ return (0, observability_1.trace)(observability_1.DialogsTraceDefinitions.contextEnd, async ({ record }) => {
372
+ var _a;
373
+ const activeDialogDefinition = this.activeDialog ? this.findDialog(this.activeDialog.id) : undefined;
374
+ record({
375
+ activity: this.context.activity,
376
+ dialogId: (_a = this.activeDialog) === null || _a === void 0 ? void 0 : _a.id,
377
+ name: activeDialogDefinition === null || activeDialogDefinition === void 0 ? void 0 : activeDialogDefinition.constructor.name,
378
+ });
379
+ // End the active dialog
380
+ await this.endActiveDialog(dialogReason_1.DialogReason.endCalled, result);
381
+ // Resume parent dialog
382
+ const instance = this.activeDialog;
383
+ let turnResult;
384
+ if (instance) {
385
+ // Lookup dialog
386
+ const dialog = this.findDialog(instance.id);
387
+ if (!dialog) {
388
+ throw new dialogContextError_1.DialogContextError(`DialogContext.endDialog(): Can't resume previous dialog. A dialog with an id of '${instance.id}' wasn't found.`, this);
389
+ }
390
+ // Return result to previous dialog
391
+ turnResult = await wrapErrors(this, dialog.resumeDialog(this, dialogReason_1.DialogReason.endCalled, result));
343
392
  }
344
- // Return result to previous dialog
345
- return wrapErrors(this, dialog.resumeDialog(this, dialogReason_1.DialogReason.endCalled, result));
346
- }
347
- else {
348
- // Signal completion
349
- return { status: dialogTurnStatus_1.DialogTurnStatus.complete, result };
350
- }
393
+ else {
394
+ // Signal completion
395
+ turnResult = { status: dialogTurnStatus_1.DialogTurnStatus.complete, result };
396
+ }
397
+ record({ status: turnResult.status });
398
+ return turnResult;
399
+ });
351
400
  }
352
401
  /**
353
402
  * Ends the active dialog and starts a new dialog in its place.
@@ -367,10 +416,24 @@ class DialogContext {
367
416
  *
368
417
  */
369
418
  async replaceDialog(dialogId, options) {
370
- // End the active dialog
371
- await this.endActiveDialog(dialogReason_1.DialogReason.replaceCalled);
372
- // Start replacement dialog
373
- return this.beginDialog(dialogId, options);
419
+ return (0, observability_1.trace)(observability_1.DialogsTraceDefinitions.contextReplace, async ({ record }) => {
420
+ var _a;
421
+ const activeDialogDefinition = this.activeDialog ? this.findDialog(this.activeDialog.id) : undefined;
422
+ const replacementDialog = this.findDialog(dialogId);
423
+ record({
424
+ activity: this.context.activity,
425
+ dialogId: (_a = this.activeDialog) === null || _a === void 0 ? void 0 : _a.id,
426
+ name: activeDialogDefinition === null || activeDialogDefinition === void 0 ? void 0 : activeDialogDefinition.constructor.name,
427
+ replacementDialogId: dialogId,
428
+ replacementName: replacementDialog === null || replacementDialog === void 0 ? void 0 : replacementDialog.constructor.name,
429
+ });
430
+ // End the active dialog
431
+ await this.endActiveDialog(dialogReason_1.DialogReason.replaceCalled);
432
+ // Start replacement dialog
433
+ const result = await this.beginDialog(dialogId, options);
434
+ record({ status: result === null || result === void 0 ? void 0 : result.status });
435
+ return result;
436
+ });
374
437
  }
375
438
  /**
376
439
  * Requests the active dialog to re-prompt the user for input.
@@ -1 +1 @@
1
- {"version":3,"file":"dialogContext.js","sourceRoot":"","sources":["../../src/dialogContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialogContext.js","sourceRoot":"","sources":["../../src/dialogContext.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const dialogEvents_1 = require("./dialogEvents");
12
12
  const dialogSet_1 = require("./dialogSet");
13
13
  const memory_1 = require("./memory");
14
14
  const dialogTurnStatus_1 = require("./dialogTurnStatus");
15
+ const observability_1 = require("./observability");
15
16
  /**
16
17
  * Runs a dialog from a given context and accessor.
17
18
  *
@@ -45,39 +46,46 @@ async function runDialog(dialog, context, accessor) {
45
46
  * @returns {Promise<DialogTurnResult>} a promise resolving to the dialog turn result.
46
47
  */
47
48
  async function internalRun(context, dialogId, dialogContext, dialogStateManagerConfiguration) {
48
- // map TurnState into root dialog context.services
49
- context.turnState.forEach((service, key) => {
50
- dialogContext.services.push(key, service);
51
- });
52
- const dialogStateManager = new memory_1.DialogStateManager(dialogContext, dialogStateManagerConfiguration);
53
- await dialogStateManager.loadAllScopes();
54
- dialogContext.context.turnState.push('DialogStateManager', dialogStateManager);
55
- let dialogTurnResult = null;
56
- // Loop as long as we are getting valid OnError handled we should continue executing the actions for the turn.
57
- // NOTE: We loop around this block because each pass through we either complete the turn and break out of the loop
58
- // or we have had an exception AND there was an OnError action which captured the error. We need to continue the
59
- // turn based on the actions the OnError handler introduced.
60
- let endOfTurn = false;
61
- while (!endOfTurn) {
62
- try {
63
- dialogTurnResult = await innerRun(context, dialogId, dialogContext);
64
- // turn successfully completed, break the loop
65
- endOfTurn = true;
66
- }
67
- catch (err) {
68
- // fire error event, bubbling from the leaf.
69
- const handled = await dialogContext.emitEvent(dialogEvents_1.DialogEvents.error, err, true, true);
70
- if (!handled) {
71
- // error was NOT handled, throw the exception and end the turn.
72
- // (This will trigger the Adapter.OnError handler and end the entire dialog stack)
73
- throw err;
49
+ return (0, observability_1.trace)(observability_1.DialogsTraceDefinitions.run, async ({ record }) => {
50
+ record({ activity: context.activity, dialogId });
51
+ // map TurnState into root dialog context.services
52
+ context.turnState.forEach((service, key) => {
53
+ dialogContext.services.push(key, service);
54
+ });
55
+ const dialogStateManager = new memory_1.DialogStateManager(dialogContext, dialogStateManagerConfiguration);
56
+ await dialogStateManager.loadAllScopes();
57
+ dialogContext.context.turnState.push('DialogStateManager', dialogStateManager);
58
+ let dialogTurnResult = null;
59
+ let attemptCount = 0;
60
+ // Loop as long as we are getting valid OnError handled we should continue executing the actions for the turn.
61
+ // NOTE: We loop around this block because each pass through we either complete the turn and break out of the loop
62
+ // or we have had an exception AND there was an OnError action which captured the error. We need to continue the
63
+ // turn based on the actions the OnError handler introduced.
64
+ let endOfTurn = false;
65
+ while (!endOfTurn) {
66
+ attemptCount += 1;
67
+ record({ attemptCount });
68
+ try {
69
+ dialogTurnResult = await innerRun(context, dialogId, dialogContext);
70
+ record({ status: dialogTurnResult === null || dialogTurnResult === void 0 ? void 0 : dialogTurnResult.status });
71
+ // turn successfully completed, break the loop
72
+ endOfTurn = true;
73
+ }
74
+ catch (err) {
75
+ // fire error event, bubbling from the leaf.
76
+ const handled = await dialogContext.emitEvent(dialogEvents_1.DialogEvents.error, err, true, true);
77
+ if (!handled) {
78
+ // error was NOT handled, throw the exception and end the turn.
79
+ // (This will trigger the Adapter.OnError handler and end the entire dialog stack)
80
+ throw err;
81
+ }
74
82
  }
75
83
  }
76
- }
77
- // save all state scopes to their respective agentState locations.
78
- await dialogStateManager.saveAllChanges();
79
- // return the redundant result because the DialogManager contract expects it
80
- return dialogTurnResult;
84
+ // save all state scopes to their respective agentState locations.
85
+ await dialogStateManager.saveAllChanges();
86
+ // return the redundant result because the DialogManager contract expects it
87
+ return dialogTurnResult;
88
+ });
81
89
  }
82
90
  /**
83
91
  * Executes the dialog by either continuing an existing dialog or starting a new one.
@@ -1 +1 @@
1
- {"version":3,"file":"dialogHelper.js","sourceRoot":"","sources":["../../src/dialogHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialogHelper.js","sourceRoot":"","sources":["../../src/dialogHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './metrics';
2
+ export * from './traces';
3
+ export { trace } from '@microsoft/agents-telemetry';
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation. All rights reserved.
3
+ // Licensed under the MIT License.
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.trace = void 0;
20
+ __exportStar(require("./metrics"), exports);
21
+ __exportStar(require("./traces"), exports);
22
+ var agents_telemetry_1 = require("@microsoft/agents-telemetry");
23
+ Object.defineProperty(exports, "trace", { enumerable: true, get: function () { return agents_telemetry_1.trace; } });
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/observability/index.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;;;;;;;;;;;;;;;AAElC,4CAAyB;AACzB,2CAAwB;AACxB,gEAAmD;AAA1C,yGAAA,KAAK,OAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const DialogsMetrics: {
2
+ contextCount: import("@opentelemetry/api").Counter<import("@opentelemetry/api").Attributes>;
3
+ contextDuration: import("@opentelemetry/api").Histogram<import("@opentelemetry/api").Attributes>;
4
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation. All rights reserved.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.DialogsMetrics = void 0;
6
+ const agents_telemetry_1 = require("@microsoft/agents-telemetry");
7
+ exports.DialogsMetrics = {
8
+ contextCount: agents_telemetry_1.metric.counter(agents_telemetry_1.MetricNames.DIALOGS_CONTEXT_COUNT, {
9
+ unit: 'operations',
10
+ description: 'Total number of dialog context operations'
11
+ }),
12
+ contextDuration: agents_telemetry_1.metric.histogram(agents_telemetry_1.MetricNames.DIALOGS_CONTEXT_DURATION, {
13
+ unit: 'ms',
14
+ description: 'Duration of dialog context operations in milliseconds'
15
+ })
16
+ };
17
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/observability/metrics.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;AAElC,kEAAiE;AAEpD,QAAA,cAAc,GAAG;IAC5B,YAAY,EAAE,yBAAM,CAAC,OAAO,CAAC,8BAAW,CAAC,qBAAqB,EAAE;QAC9D,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,2CAA2C;KACzD,CAAC;IAEF,eAAe,EAAE,yBAAM,CAAC,SAAS,CAAC,8BAAW,CAAC,wBAAwB,EAAE;QACtE,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,uDAAuD;KACrE,CAAC;CACH,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { Activity } from '@microsoft/agents-activity';
2
+ export declare const DialogsTraceDefinitions: {
3
+ run: import("@microsoft/agents-telemetry").TraceDefinition<{
4
+ dialogId: string;
5
+ activity: Activity;
6
+ status: string;
7
+ attemptCount: number;
8
+ }, object>;
9
+ contextBegin: import("@microsoft/agents-telemetry").TraceDefinition<{
10
+ dialogId: string;
11
+ name: string;
12
+ parentId: string;
13
+ status: string;
14
+ activity: Activity;
15
+ }, object>;
16
+ contextContinue: import("@microsoft/agents-telemetry").TraceDefinition<{
17
+ dialogId: string;
18
+ name: string;
19
+ status: string;
20
+ activity: Activity;
21
+ }, object>;
22
+ contextEnd: import("@microsoft/agents-telemetry").TraceDefinition<{
23
+ activity: Activity;
24
+ dialogId: string;
25
+ name: string;
26
+ status: string;
27
+ }, object>;
28
+ contextReplace: import("@microsoft/agents-telemetry").TraceDefinition<{
29
+ activity: Activity;
30
+ dialogId: string;
31
+ name: string;
32
+ replacementDialogId: string;
33
+ replacementName: string;
34
+ status: string;
35
+ }, object>;
36
+ contextCancelAll: import("@microsoft/agents-telemetry").TraceDefinition<{
37
+ activity: Activity;
38
+ cancelParents: boolean;
39
+ dialogId: string;
40
+ eventName: string;
41
+ name: string;
42
+ status: string;
43
+ }, object>;
44
+ };