@microsoft/agents-hosting-dialogs 1.3.0-beta.31.g024f219993 → 1.3.0-beta.40.g1dda8c3a1e

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.
@@ -129,8 +129,5 @@ export interface SortedValue {
129
129
  * Higher level functions like `findChoices()` and `recognizeChoices()` are layered above this function. In most
130
130
  * cases its easier to just call one of the higher level functions instead but this function contains
131
131
  * the fuzzy search algorithm that drives choice recognition.
132
- *
133
- * @internal
134
-
135
132
  */
136
133
  export declare function findValues(utterance: string, values: SortedValue[], options?: FindValuesOptions): ModelResult<FoundValue>[];
@@ -14,9 +14,6 @@ const tokenizer_1 = require("./tokenizer");
14
14
  * Higher level functions like `findChoices()` and `recognizeChoices()` are layered above this function. In most
15
15
  * cases its easier to just call one of the higher level functions instead but this function contains
16
16
  * the fuzzy search algorithm that drives choice recognition.
17
- *
18
- * @internal
19
-
20
17
  */
21
18
  function findValues(utterance, values, options) {
22
19
  function indexOfToken(token, startPos) {
@@ -1 +1 @@
1
- {"version":3,"file":"findValues.js","sourceRoot":"","sources":["../../../src/choices/findValues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findValues.js","sourceRoot":"","sources":["../../../src/choices/findValues.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.recognizeChoices = recognizeChoices;
4
37
  /**
@@ -7,6 +40,7 @@ exports.recognizeChoices = recognizeChoices;
7
40
  */
8
41
  const findChoices_1 = require("./findChoices");
9
42
  const logger_1 = require("@microsoft/agents-activity/logger");
43
+ const Recognizers = __importStar(require("@microsoft/recognizers-text-number"));
10
44
  const logger = (0, logger_1.debug)('dialogs:recognizeChoices');
11
45
  /**
12
46
  * High level function for recognizing a choice in a users utterance.
@@ -17,9 +51,17 @@ const logger = (0, logger_1.debug)('dialogs:recognizeChoices');
17
51
  * @returns A list of found choices, sorted by most relevant first.
18
52
  */
19
53
  function recognizeChoices(utterance, choices, options) {
54
+ var _a, _b;
20
55
  function matchChoiceByIndex(match) {
21
56
  try {
22
- const index = parseInt(match.resolution.value, 10) - 1;
57
+ if (!match.resolution || match.resolution.value === undefined || match.resolution.value === null) {
58
+ return;
59
+ }
60
+ const value = Number(match.resolution.value);
61
+ if (!Number.isFinite(value) || !Number.isInteger(value)) {
62
+ return;
63
+ }
64
+ const index = value - 1;
23
65
  if (index >= 0 && index < list.length) {
24
66
  const choice = list[index];
25
67
  matched.push({
@@ -57,24 +99,24 @@ function recognizeChoices(utterance, choices, options) {
57
99
  // a numerical index or ordinal as well.
58
100
  let matched = (0, findChoices_1.findChoices)(utterance, list, options);
59
101
  if (matched.length === 0) {
60
- // Next try finding by ordinal
102
+ // Try finding by ordinal
61
103
  if (options.recognizeOrdinals) {
62
- // TODO: Review recognizeOrdinal function
63
- // const ordinals: ModelResult[] = Recognizers.recognizeOrdinal(utterance, options.locale ?? '')
64
- const ordinals = [];
104
+ const ordinals = Recognizers.recognizeOrdinal(utterance, (_a = options.locale) !== null && _a !== void 0 ? _a : '');
65
105
  ordinals.forEach(matchChoiceByIndex);
66
106
  }
67
- // Finally try by numerical index
68
- if (matched.length === 0 && options.recognizeNumbers) {
69
- // TODO: Review recognizeNumber function
70
- // const numbers: ModelResult[] = Recognizers.recognizeNumber(utterance, options.locale ?? '').forEach(matchChoiceByIndex)
71
- const numbers = [];
107
+ // Try finding by numerical index
108
+ if (options.recognizeNumbers) {
109
+ const numbers = Recognizers.recognizeNumber(utterance, (_b = options.locale) !== null && _b !== void 0 ? _b : '');
72
110
  numbers.forEach(matchChoiceByIndex);
73
111
  }
74
- // Sort any found matches by their position within the utterance.
112
+ // Sort matches by position and remove duplicates
75
113
  // - The results from findChoices() are already properly sorted so we just need this
76
114
  // for ordinal & numerical lookups.
77
115
  matched = matched.sort((a, b) => a.start - b.start);
116
+ // Remove duplicates with overlapping spans (keep the first match for each span)
117
+ matched = matched.filter((match, index, self) => index === self.findIndex((m) => m.start === match.start && m.end === match.end));
118
+ // Remove duplicates selecting the same choice (keep the first match for each choice index)
119
+ matched = matched.filter((match, index, self) => index === self.findIndex((m) => m.resolution.index === match.resolution.index));
78
120
  }
79
121
  return matched;
80
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"recognizeChoices.js","sourceRoot":"","sources":["../../../src/choices/recognizeChoices.ts"],"names":[],"mappings":";;AAmBA,4CA0EC;AA7FD;;;GAGG;AACH,+CAA4E;AAG5E,8DAAyD;AAEzD,MAAM,MAAM,GAAG,IAAA,cAAK,EAAC,0BAA0B,CAAC,CAAA;AAEhD;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,SAAiB,EACjB,OAA4B,EAC5B,OAA4B;IAE5B,SAAS,kBAAkB,CAAE,KAAuB;QAClD,IAAI,CAAC;YACH,MAAM,KAAK,GAAW,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;YAC9D,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAW,IAAI,CAAC,KAAK,CAAC,CAAA;gBAClC,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,UAAU,EAAE;wBACV,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,KAAK;wBACL,KAAK,EAAE,CAAC;qBACT;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAC9B,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,OAAO,GAAG,MAAM,CAAC,MAAM,CACrB;QACE,MAAM,EAAE,OAAO;QACf,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACF,EACvB,OAAO,CACR,CAAA;IAED,oBAAoB;IACpB,MAAM,IAAI,GAAa,CAAC,OAAO,IAAI,EAAE,CAAC;SACnC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC1E,MAAM,CACL,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,+BAA+B;KAC3D,CAAA;IAEH,2CAA2C;IAC3C,iGAAiG;IACjG,mGAAmG;IACnG,0CAA0C;IAC1C,IAAI,OAAO,GAA+B,IAAA,yBAAW,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAC/E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,8BAA8B;QAC9B,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,yCAAyC;YACzC,gGAAgG;YAChG,MAAM,QAAQ,GAAkB,EAAE,CAAA;YAClC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;QACtC,CAAC;QAED,iCAAiC;QACjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACrD,wCAAwC;YACxC,0HAA0H;YAC1H,MAAM,OAAO,GAAkB,EAAE,CAAA;YACjC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QAED,iEAAiE;QACjE,oFAAoF;QACpF,qCAAqC;QACrC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAA2B,EAAE,CAA2B,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;IACzG,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"recognizeChoices.js","sourceRoot":"","sources":["../../../src/choices/recognizeChoices.ts"],"names":[],"mappings":"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"}
@@ -23,10 +23,3 @@ export declare function runDialog(dialog: Dialog, context: TurnContext, accessor
23
23
  * @returns {Promise<DialogTurnResult>} a promise resolving to the dialog turn result.
24
24
  */
25
25
  export declare function internalRun(context: TurnContext, dialogId: string, dialogContext: DialogContext, dialogStateManagerConfiguration?: DialogStateManagerConfiguration): Promise<DialogTurnResult>;
26
- /**
27
- * Recursively walk up the dialog context stack to find the active DC.
28
- *
29
- * @param dialogContext DialogContext for the current turn of conversation with the user.
30
- * @returns Active DialogContext.
31
- */
32
- export declare function getActiveDialogContext(dialogContext: DialogContext): DialogContext;
@@ -6,7 +6,6 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.runDialog = runDialog;
8
8
  exports.internalRun = internalRun;
9
- exports.getActiveDialogContext = getActiveDialogContext;
10
9
  const agents_activity_1 = require("@microsoft/agents-activity");
11
10
  const errorHelper_1 = require("./errorHelper");
12
11
  const dialogEvents_1 = require("./dialogEvents");
@@ -1 +1 @@
1
- {"version":3,"file":"dialogHelper.js","sourceRoot":"","sources":["../../src/dialogHelper.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAuBH,8BAuCC;AASD,kCA6CC;AAgCD,wDAOC;AArJD,gEAAqF;AACrF,+CAAsC;AAGtC,iDAA6C;AAC7C,2CAAuC;AACvC,qCAA8E;AAE9E,yDAAqD;AAErD;;;;;;GAMG;AACI,KAAK,UAAU,SAAS,CAC7B,MAAc,EACd,OAAoB,EACpB,QAAiD;IAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,iCAAe,CAAC,iBAAiB,CACrC,KAAK,EACL,oBAAM,CAAC,aAAa,CACrB,CAAA;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,iCAAe,CAAC,iBAAiB,CACrC,KAAK,EACL,oBAAM,CAAC,cAAc,CACtB,CAAA;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,iCAAe,CAAC,iBAAiB,CACrC,KAAK,EACL,oBAAM,CAAC,sBAAsB,CAC9B,CAAA;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,iCAAe,CAAC,iBAAiB,CACrC,KAAK,EACL,oBAAM,CAAC,eAAe,CACvB,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,QAAQ,CAAC,CAAA;IACzC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAErB,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAE5D,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;AACtD,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,WAAW,CAC/B,OAAoB,EACpB,QAAgB,EAChB,aAA4B,EAC5B,+BAAiE;IAEjE,kDAAkD;IAClD,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACzC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,MAAM,kBAAkB,GAAG,IAAI,2BAAkB,CAAC,aAAa,EAAE,+BAA+B,CAAC,CAAA;IAEjG,MAAM,kBAAkB,CAAC,aAAa,EAAE,CAAA;IACxC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAA;IAC9E,IAAI,gBAAgB,GAAqB,IAAI,CAAA;IAE7C,8GAA8G;IAC9G,kHAAkH;IAClH,gHAAgH;IAChH,4DAA4D;IAC5D,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,OAAO,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,gBAAgB,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;YAEnE,8CAA8C;YAC9C,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,4CAA4C;YAC5C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,2BAAY,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YAElF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,+DAA+D;gBAC/D,kFAAkF;gBAClF,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,MAAM,kBAAkB,CAAC,cAAc,EAAE,CAAA;IAEzC,4EAA4E;IAC5E,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,QAAQ,CACrB,OAAoB,EACpB,QAAgB,EAChB,aAA4B;IAE5B,gCAAgC;IAChC,IAAI,MAAM,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,CAAA;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,mCAAgB,CAAC,KAAK,EAAE,CAAC;QAC7C,MAAM,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,sBAAsB,CAAC,aAAa,CAAC,CAAA;IAE3C,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAE,aAA4B;IAClE,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAA;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAA;AACtC,CAAC;AACD,kFAAkF;AAClF;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,KAAK,EAAE,aAA4B,EAAiB,EAAE;IACnF,MAAM,UAAU,GAAG,aAAa,CAAA;IAEhC,uBAAuB;IACvB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAA;IAChF,MAAM,aAAa,GAAG,IAAI,0BAAQ,CAAC,+BAAa,CAAC,KAAK,CAAC,CAAA;IACvD,aAAa,CAAC,IAAI,GAAG,YAAY,CAAA;IACjC,aAAa,CAAC,KAAK,GAAG,+CAA+C,CAAA;IACrE,aAAa,CAAC,KAAK,GAAG,QAAQ,CAAA;IAC9B,aAAa,CAAC,KAAK,GAAG,UAAU,CAAA;IAEhC,MAAM,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;AACzD,CAAC,CAAA"}
1
+ {"version":3,"file":"dialogHelper.js","sourceRoot":"","sources":["../../src/dialogHelper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@microsoft/agents-hosting-dialogs",
4
- "version": "1.3.0-beta.31.g024f219993",
4
+ "version": "1.3.0-beta.40.g1dda8c3a1e",
5
5
  "homepage": "https://github.com/microsoft/Agents-for-js",
6
6
  "repository": {
7
7
  "type": "git",
@@ -16,14 +16,16 @@
16
16
  "main": "dist/index.js",
17
17
  "types": "dist/src/index.d.ts",
18
18
  "dependencies": {
19
- "@microsoft/agents-hosting": "1.3.0-beta.31.g024f219993",
19
+ "@microsoft/agents-hosting": "1.3.0-beta.40.g1dda8c3a1e",
20
+ "@microsoft/agents-activity": "1.3.0-beta.40.g1dda8c3a1e",
20
21
  "@types/lodash": "^4.17.23",
21
22
  "dependency-graph": "^1.0.0",
22
23
  "@microsoft/recognizers-text-suite": "^1.3.1",
23
24
  "@microsoft/recognizers-text-number": "^1.3.1",
24
25
  "@microsoft/recognizers-text-date-time": "^1.3.2",
25
26
  "@microsoft/recognizers-text-choice": "^1.3.1",
26
- "globalize": "^1.7.1"
27
+ "globalize": "^1.7.1",
28
+ "zod": "^3.25.75"
27
29
  },
28
30
  "license": "MIT",
29
31
  "files": [
@@ -139,9 +139,6 @@ export interface SortedValue {
139
139
  * Higher level functions like `findChoices()` and `recognizeChoices()` are layered above this function. In most
140
140
  * cases its easier to just call one of the higher level functions instead but this function contains
141
141
  * the fuzzy search algorithm that drives choice recognition.
142
- *
143
- * @internal
144
-
145
142
  */
146
143
  export function findValues (
147
144
  utterance: string,
@@ -6,6 +6,7 @@ import { findChoices, FindChoicesOptions, FoundChoice } from './findChoices'
6
6
  import { ModelResult } from './modelResult'
7
7
  import { Choice } from './choice'
8
8
  import { debug } from '@microsoft/agents-activity/logger'
9
+ import * as Recognizers from '@microsoft/recognizers-text-number'
9
10
 
10
11
  const logger = debug('dialogs:recognizeChoices')
11
12
 
@@ -24,7 +25,14 @@ export function recognizeChoices (
24
25
  ): ModelResult<FoundChoice>[] {
25
26
  function matchChoiceByIndex (match: ModelResult<any>): void {
26
27
  try {
27
- const index: number = parseInt(match.resolution.value, 10) - 1
28
+ if (!match.resolution || match.resolution.value === undefined || match.resolution.value === null) {
29
+ return
30
+ }
31
+ const value = Number(match.resolution.value)
32
+ if (!Number.isFinite(value) || !Number.isInteger(value)) {
33
+ return
34
+ }
35
+ const index: number = value - 1
28
36
  if (index >= 0 && index < list.length) {
29
37
  const choice: Choice = list[index]
30
38
  matched.push({
@@ -68,26 +76,32 @@ export function recognizeChoices (
68
76
  // a numerical index or ordinal as well.
69
77
  let matched: ModelResult<FoundChoice>[] = findChoices(utterance, list, options)
70
78
  if (matched.length === 0) {
71
- // Next try finding by ordinal
79
+ // Try finding by ordinal
72
80
  if (options.recognizeOrdinals) {
73
- // TODO: Review recognizeOrdinal function
74
- // const ordinals: ModelResult[] = Recognizers.recognizeOrdinal(utterance, options.locale ?? '')
75
- const ordinals: ModelResult[] = []
81
+ const ordinals: ModelResult[] = Recognizers.recognizeOrdinal(utterance, options.locale ?? '')
76
82
  ordinals.forEach(matchChoiceByIndex)
77
83
  }
78
84
 
79
- // Finally try by numerical index
80
- if (matched.length === 0 && options.recognizeNumbers) {
81
- // TODO: Review recognizeNumber function
82
- // const numbers: ModelResult[] = Recognizers.recognizeNumber(utterance, options.locale ?? '').forEach(matchChoiceByIndex)
83
- const numbers: ModelResult[] = []
85
+ // Try finding by numerical index
86
+ if (options.recognizeNumbers) {
87
+ const numbers: ModelResult[] = Recognizers.recognizeNumber(utterance, options.locale ?? '')
84
88
  numbers.forEach(matchChoiceByIndex)
85
89
  }
86
90
 
87
- // Sort any found matches by their position within the utterance.
91
+ // Sort matches by position and remove duplicates
88
92
  // - The results from findChoices() are already properly sorted so we just need this
89
93
  // for ordinal & numerical lookups.
90
94
  matched = matched.sort((a: ModelResult<FoundChoice>, b: ModelResult<FoundChoice>) => a.start - b.start)
95
+
96
+ // Remove duplicates with overlapping spans (keep the first match for each span)
97
+ matched = matched.filter((match, index, self) =>
98
+ index === self.findIndex((m) => m.start === match.start && m.end === match.end)
99
+ )
100
+
101
+ // Remove duplicates selecting the same choice (keep the first match for each choice index)
102
+ matched = matched.filter((match, index, self) =>
103
+ index === self.findIndex((m) => m.resolution.index === match.resolution.index)
104
+ )
91
105
  }
92
106
 
93
107
  return matched
@@ -149,7 +149,7 @@ async function innerRun (
149
149
  * @param dialogContext DialogContext for the current turn of conversation with the user.
150
150
  * @returns Active DialogContext.
151
151
  */
152
- export function getActiveDialogContext (dialogContext: DialogContext): DialogContext {
152
+ function getActiveDialogContext (dialogContext: DialogContext): DialogContext {
153
153
  const child = dialogContext.child
154
154
  if (!child) {
155
155
  return dialogContext
@@ -1,18 +0,0 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- import { DialogContext } from './dialogContext';
6
- /**
7
- * Defines Template interface for binding data to T.
8
- */
9
- export interface TemplateInterface<T, D = Record<string, unknown>> {
10
- /**
11
- * Given the turn context bind to the data to create the object
12
- *
13
- * @param dialogContext DialogContext.
14
- * @param data Data to bind to.
15
- * @returns Instance of T.
16
- */
17
- bind(dialogContext: DialogContext, data?: D): Promise<T>;
18
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
- /**
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the MIT License.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- //# sourceMappingURL=template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/template.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
package/src/template.ts DELETED
@@ -1,20 +0,0 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
-
6
- import { DialogContext } from './dialogContext'
7
-
8
- /**
9
- * Defines Template interface for binding data to T.
10
- */
11
- export interface TemplateInterface<T, D = Record<string, unknown>> {
12
- /**
13
- * Given the turn context bind to the data to create the object
14
- *
15
- * @param dialogContext DialogContext.
16
- * @param data Data to bind to.
17
- * @returns Instance of T.
18
- */
19
- bind(dialogContext: DialogContext, data?: D): Promise<T>;
20
- }