@microsoft/agents-hosting-dialogs 0.1.49

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 (325) hide show
  1. package/dist/index.js +20 -0
  2. package/dist/src/agentComponent.d.ts +18 -0
  3. package/dist/src/agentComponent.js +55 -0
  4. package/dist/src/agentComponent.js.map +1 -0
  5. package/dist/src/agentStateSet.d.ts +48 -0
  6. package/dist/src/agentStateSet.js +66 -0
  7. package/dist/src/agentStateSet.js.map +1 -0
  8. package/dist/src/choices/choice.d.ts +14 -0
  9. package/dist/src/choices/choice.js +7 -0
  10. package/dist/src/choices/choice.js.map +1 -0
  11. package/dist/src/choices/choiceFactory.d.ts +81 -0
  12. package/dist/src/choices/choiceFactory.js +133 -0
  13. package/dist/src/choices/choiceFactory.js.map +1 -0
  14. package/dist/src/choices/findChoices.d.ts +28 -0
  15. package/dist/src/choices/findChoices.js +46 -0
  16. package/dist/src/choices/findChoices.js.map +1 -0
  17. package/dist/src/choices/findValues.d.ts +36 -0
  18. package/dist/src/choices/findValues.js +129 -0
  19. package/dist/src/choices/findValues.js.map +1 -0
  20. package/dist/src/choices/index.d.ts +11 -0
  21. package/dist/src/choices/index.js +28 -0
  22. package/dist/src/choices/index.js.map +1 -0
  23. package/dist/src/choices/modelResult.d.ts +11 -0
  24. package/dist/src/choices/modelResult.js +3 -0
  25. package/dist/src/choices/modelResult.js.map +1 -0
  26. package/dist/src/choices/recognizeChoices.d.ts +16 -0
  27. package/dist/src/choices/recognizeChoices.js +81 -0
  28. package/dist/src/choices/recognizeChoices.js.map +1 -0
  29. package/dist/src/choices/tokenizer.d.ts +25 -0
  30. package/dist/src/choices/tokenizer.js +73 -0
  31. package/dist/src/choices/tokenizer.js.map +1 -0
  32. package/dist/src/componentDialog.d.ts +178 -0
  33. package/dist/src/componentDialog.js +252 -0
  34. package/dist/src/componentDialog.js.map +1 -0
  35. package/dist/src/componentRegistration.d.ts +22 -0
  36. package/dist/src/componentRegistration.js +32 -0
  37. package/dist/src/componentRegistration.js.map +1 -0
  38. package/dist/src/configurable.d.ts +22 -0
  39. package/dist/src/configurable.js +60 -0
  40. package/dist/src/configurable.js.map +1 -0
  41. package/dist/src/configuration.d.ts +11 -0
  42. package/dist/src/configuration.js +17 -0
  43. package/dist/src/configuration.js.map +1 -0
  44. package/dist/src/converter.d.ts +13 -0
  45. package/dist/src/converter.js +7 -0
  46. package/dist/src/converter.js.map +1 -0
  47. package/dist/src/dialog.d.ts +184 -0
  48. package/dist/src/dialog.js +201 -0
  49. package/dist/src/dialog.js.map +1 -0
  50. package/dist/src/dialogContainer.d.ts +61 -0
  51. package/dist/src/dialogContainer.js +82 -0
  52. package/dist/src/dialogContainer.js.map +1 -0
  53. package/dist/src/dialogContext.d.ts +272 -0
  54. package/dist/src/dialogContext.js +444 -0
  55. package/dist/src/dialogContext.js.map +1 -0
  56. package/dist/src/dialogContextError.d.ts +27 -0
  57. package/dist/src/dialogContextError.js +39 -0
  58. package/dist/src/dialogContextError.js.map +1 -0
  59. package/dist/src/dialogEvent.d.ts +20 -0
  60. package/dist/src/dialogEvent.js +3 -0
  61. package/dist/src/dialogEvent.js.map +1 -0
  62. package/dist/src/dialogEvents.d.ts +15 -0
  63. package/dist/src/dialogEvents.js +20 -0
  64. package/dist/src/dialogEvents.js.map +1 -0
  65. package/dist/src/dialogHelper.d.ts +32 -0
  66. package/dist/src/dialogHelper.js +116 -0
  67. package/dist/src/dialogHelper.js.map +1 -0
  68. package/dist/src/dialogInstance.d.ts +30 -0
  69. package/dist/src/dialogInstance.js +3 -0
  70. package/dist/src/dialogInstance.js.map +1 -0
  71. package/dist/src/dialogManager.d.ts +73 -0
  72. package/dist/src/dialogManager.js +156 -0
  73. package/dist/src/dialogManager.js.map +1 -0
  74. package/dist/src/dialogReason.d.ts +35 -0
  75. package/dist/src/dialogReason.js +40 -0
  76. package/dist/src/dialogReason.js.map +1 -0
  77. package/dist/src/dialogSet.d.ts +85 -0
  78. package/dist/src/dialogSet.js +138 -0
  79. package/dist/src/dialogSet.js.map +1 -0
  80. package/dist/src/dialogTurnResult.d.ts +34 -0
  81. package/dist/src/dialogTurnResult.js +3 -0
  82. package/dist/src/dialogTurnResult.js.map +1 -0
  83. package/dist/src/dialogTurnStateConstants.d.ts +12 -0
  84. package/dist/src/dialogTurnStateConstants.js +17 -0
  85. package/dist/src/dialogTurnStateConstants.js.map +1 -0
  86. package/dist/src/dialogTurnStatus.d.ts +34 -0
  87. package/dist/src/dialogTurnStatus.js +39 -0
  88. package/dist/src/dialogTurnStatus.js.map +1 -0
  89. package/dist/src/dialogsAgentComponent.d.ts +17 -0
  90. package/dist/src/dialogsAgentComponent.js +65 -0
  91. package/dist/src/dialogsAgentComponent.js.map +1 -0
  92. package/dist/src/dialogsComponentRegistration.d.ts +28 -0
  93. package/dist/src/dialogsComponentRegistration.js +45 -0
  94. package/dist/src/dialogsComponentRegistration.js.map +1 -0
  95. package/dist/src/i18n.d.ts +15 -0
  96. package/dist/src/i18n.js +28 -0
  97. package/dist/src/i18n.js.map +1 -0
  98. package/dist/src/index.d.ts +29 -0
  99. package/dist/src/index.js +48 -0
  100. package/dist/src/index.js.map +1 -0
  101. package/dist/src/intentScore.d.ts +11 -0
  102. package/dist/src/intentScore.js +3 -0
  103. package/dist/src/intentScore.js.map +1 -0
  104. package/dist/src/memory/componentMemoryScopes.d.ts +18 -0
  105. package/dist/src/memory/componentMemoryScopes.js +54 -0
  106. package/dist/src/memory/componentMemoryScopes.js.map +1 -0
  107. package/dist/src/memory/componentPathResolvers.d.ts +18 -0
  108. package/dist/src/memory/componentPathResolvers.js +52 -0
  109. package/dist/src/memory/componentPathResolvers.js.map +1 -0
  110. package/dist/src/memory/dialogPath.d.ts +17 -0
  111. package/dist/src/memory/dialogPath.js +30 -0
  112. package/dist/src/memory/dialogPath.js.map +1 -0
  113. package/dist/src/memory/dialogStateManager.d.ts +156 -0
  114. package/dist/src/memory/dialogStateManager.js +598 -0
  115. package/dist/src/memory/dialogStateManager.js.map +1 -0
  116. package/dist/src/memory/index.d.ts +12 -0
  117. package/dist/src/memory/index.js +29 -0
  118. package/dist/src/memory/index.js.map +1 -0
  119. package/dist/src/memory/pathResolvers/aliasPathResolver.d.ts +25 -0
  120. package/dist/src/memory/pathResolvers/aliasPathResolver.js +37 -0
  121. package/dist/src/memory/pathResolvers/aliasPathResolver.js.map +1 -0
  122. package/dist/src/memory/pathResolvers/atAtPathResolver.d.ts +11 -0
  123. package/dist/src/memory/pathResolvers/atAtPathResolver.js +18 -0
  124. package/dist/src/memory/pathResolvers/atAtPathResolver.js.map +1 -0
  125. package/dist/src/memory/pathResolvers/atPathResolver.d.ts +20 -0
  126. package/dist/src/memory/pathResolvers/atPathResolver.js +46 -0
  127. package/dist/src/memory/pathResolvers/atPathResolver.js.map +1 -0
  128. package/dist/src/memory/pathResolvers/dollarPathResolver.d.ts +11 -0
  129. package/dist/src/memory/pathResolvers/dollarPathResolver.js +18 -0
  130. package/dist/src/memory/pathResolvers/dollarPathResolver.js.map +1 -0
  131. package/dist/src/memory/pathResolvers/hashPathResolver.d.ts +11 -0
  132. package/dist/src/memory/pathResolvers/hashPathResolver.js +18 -0
  133. package/dist/src/memory/pathResolvers/hashPathResolver.js.map +1 -0
  134. package/dist/src/memory/pathResolvers/index.d.ts +11 -0
  135. package/dist/src/memory/pathResolvers/index.js +28 -0
  136. package/dist/src/memory/pathResolvers/index.js.map +1 -0
  137. package/dist/src/memory/pathResolvers/pathResolver.d.ts +13 -0
  138. package/dist/src/memory/pathResolvers/pathResolver.js +7 -0
  139. package/dist/src/memory/pathResolvers/pathResolver.js.map +1 -0
  140. package/dist/src/memory/pathResolvers/percentPathResolver.d.ts +11 -0
  141. package/dist/src/memory/pathResolvers/percentPathResolver.js +18 -0
  142. package/dist/src/memory/pathResolvers/percentPathResolver.js.map +1 -0
  143. package/dist/src/memory/scopePath.d.ts +18 -0
  144. package/dist/src/memory/scopePath.js +23 -0
  145. package/dist/src/memory/scopePath.js.map +1 -0
  146. package/dist/src/memory/scopes/agentStateMemoryScope.d.ts +53 -0
  147. package/dist/src/memory/scopes/agentStateMemoryScope.js +82 -0
  148. package/dist/src/memory/scopes/agentStateMemoryScope.js.map +1 -0
  149. package/dist/src/memory/scopes/classMemoryScope.d.ts +29 -0
  150. package/dist/src/memory/scopes/classMemoryScope.js +65 -0
  151. package/dist/src/memory/scopes/classMemoryScope.js.map +1 -0
  152. package/dist/src/memory/scopes/conversationMemoryScope.d.ts +15 -0
  153. package/dist/src/memory/scopes/conversationMemoryScope.js +23 -0
  154. package/dist/src/memory/scopes/conversationMemoryScope.js.map +1 -0
  155. package/dist/src/memory/scopes/dialogClassMemoryScope.d.ts +19 -0
  156. package/dist/src/memory/scopes/dialogClassMemoryScope.js +42 -0
  157. package/dist/src/memory/scopes/dialogClassMemoryScope.js.map +1 -0
  158. package/dist/src/memory/scopes/dialogContextMemoryScope.d.ts +19 -0
  159. package/dist/src/memory/scopes/dialogContextMemoryScope.js +48 -0
  160. package/dist/src/memory/scopes/dialogContextMemoryScope.js.map +1 -0
  161. package/dist/src/memory/scopes/dialogMemoryScope.d.ts +32 -0
  162. package/dist/src/memory/scopes/dialogMemoryScope.js +74 -0
  163. package/dist/src/memory/scopes/dialogMemoryScope.js.map +1 -0
  164. package/dist/src/memory/scopes/index.d.ts +15 -0
  165. package/dist/src/memory/scopes/index.js +32 -0
  166. package/dist/src/memory/scopes/index.js.map +1 -0
  167. package/dist/src/memory/scopes/memoryScope.d.ts +52 -0
  168. package/dist/src/memory/scopes/memoryScope.js +54 -0
  169. package/dist/src/memory/scopes/memoryScope.js.map +1 -0
  170. package/dist/src/memory/scopes/settingsMemoryScope.d.ts +68 -0
  171. package/dist/src/memory/scopes/settingsMemoryScope.js +216 -0
  172. package/dist/src/memory/scopes/settingsMemoryScope.js.map +1 -0
  173. package/dist/src/memory/scopes/thisMemoryScope.d.ts +26 -0
  174. package/dist/src/memory/scopes/thisMemoryScope.js +43 -0
  175. package/dist/src/memory/scopes/thisMemoryScope.js.map +1 -0
  176. package/dist/src/memory/scopes/turnMemoryScope.d.ts +29 -0
  177. package/dist/src/memory/scopes/turnMemoryScope.js +52 -0
  178. package/dist/src/memory/scopes/turnMemoryScope.js.map +1 -0
  179. package/dist/src/memory/scopes/userMemoryScope.d.ts +15 -0
  180. package/dist/src/memory/scopes/userMemoryScope.js +23 -0
  181. package/dist/src/memory/scopes/userMemoryScope.js.map +1 -0
  182. package/dist/src/memory/turnPath.d.ts +21 -0
  183. package/dist/src/memory/turnPath.js +38 -0
  184. package/dist/src/memory/turnPath.js.map +1 -0
  185. package/dist/src/prompts/activityPrompt.d.ts +101 -0
  186. package/dist/src/prompts/activityPrompt.js +166 -0
  187. package/dist/src/prompts/activityPrompt.js.map +1 -0
  188. package/dist/src/prompts/attachmentPrompt.d.ts +37 -0
  189. package/dist/src/prompts/attachmentPrompt.js +55 -0
  190. package/dist/src/prompts/attachmentPrompt.js.map +1 -0
  191. package/dist/src/prompts/choicePrompt.d.ts +83 -0
  192. package/dist/src/prompts/choicePrompt.js +116 -0
  193. package/dist/src/prompts/choicePrompt.js.map +1 -0
  194. package/dist/src/prompts/confirmPrompt.d.ts +82 -0
  195. package/dist/src/prompts/confirmPrompt.js +163 -0
  196. package/dist/src/prompts/confirmPrompt.js.map +1 -0
  197. package/dist/src/prompts/datetimePrompt.d.ts +65 -0
  198. package/dist/src/prompts/datetimePrompt.js +109 -0
  199. package/dist/src/prompts/datetimePrompt.js.map +1 -0
  200. package/dist/src/prompts/index.d.ts +13 -0
  201. package/dist/src/prompts/index.js +30 -0
  202. package/dist/src/prompts/index.js.map +1 -0
  203. package/dist/src/prompts/numberPrompt.d.ts +55 -0
  204. package/dist/src/prompts/numberPrompt.js +134 -0
  205. package/dist/src/prompts/numberPrompt.js.map +1 -0
  206. package/dist/src/prompts/prompt.d.ts +256 -0
  207. package/dist/src/prompts/prompt.js +260 -0
  208. package/dist/src/prompts/prompt.js.map +1 -0
  209. package/dist/src/prompts/promptCultureModels.d.ts +72 -0
  210. package/dist/src/prompts/promptCultureModels.js +123 -0
  211. package/dist/src/prompts/promptCultureModels.js.map +1 -0
  212. package/dist/src/prompts/textPrompt.d.ts +54 -0
  213. package/dist/src/prompts/textPrompt.js +72 -0
  214. package/dist/src/prompts/textPrompt.js.map +1 -0
  215. package/dist/src/recognizer.d.ts +43 -0
  216. package/dist/src/recognizer.js +104 -0
  217. package/dist/src/recognizer.js.map +1 -0
  218. package/dist/src/recognizerResult.d.ts +19 -0
  219. package/dist/src/recognizerResult.js +24 -0
  220. package/dist/src/recognizerResult.js.map +1 -0
  221. package/dist/src/serviceCollection.d.ts +112 -0
  222. package/dist/src/serviceCollection.js +209 -0
  223. package/dist/src/serviceCollection.js.map +1 -0
  224. package/dist/src/stringUtils.d.ts +36 -0
  225. package/dist/src/stringUtils.js +62 -0
  226. package/dist/src/stringUtils.js.map +1 -0
  227. package/dist/src/template.d.ts +18 -0
  228. package/dist/src/template.js +7 -0
  229. package/dist/src/template.js.map +1 -0
  230. package/dist/src/waterfallDialog.d.ts +101 -0
  231. package/dist/src/waterfallDialog.js +179 -0
  232. package/dist/src/waterfallDialog.js.map +1 -0
  233. package/dist/src/waterfallStepContext.d.ts +71 -0
  234. package/dist/src/waterfallStepContext.js +78 -0
  235. package/dist/src/waterfallStepContext.js.map +1 -0
  236. package/package.json +49 -0
  237. package/src/agentComponent.ts +23 -0
  238. package/src/agentStateSet.ts +75 -0
  239. package/src/choices/choice.ts +16 -0
  240. package/src/choices/choiceFactory.ts +189 -0
  241. package/src/choices/findChoices.ts +70 -0
  242. package/src/choices/findValues.ts +179 -0
  243. package/src/choices/index.ts +11 -0
  244. package/src/choices/modelResult.ts +11 -0
  245. package/src/choices/recognizeChoices.ts +94 -0
  246. package/src/choices/tokenizer.ts +93 -0
  247. package/src/componentDialog.ts +306 -0
  248. package/src/componentRegistration.ts +30 -0
  249. package/src/configurable.ts +55 -0
  250. package/src/configuration.ts +22 -0
  251. package/src/converter.ts +15 -0
  252. package/src/dialog.ts +243 -0
  253. package/src/dialogContainer.ts +90 -0
  254. package/src/dialogContext.ts +607 -0
  255. package/src/dialogContextError.ts +50 -0
  256. package/src/dialogEvent.ts +23 -0
  257. package/src/dialogEvents.ts +16 -0
  258. package/src/dialogHelper.ts +154 -0
  259. package/src/dialogInstance.ts +32 -0
  260. package/src/dialogManager.ts +202 -0
  261. package/src/dialogReason.ts +40 -0
  262. package/src/dialogSet.ts +168 -0
  263. package/src/dialogTurnResult.ts +37 -0
  264. package/src/dialogTurnStateConstants.ts +13 -0
  265. package/src/dialogTurnStatus.ts +38 -0
  266. package/src/dialogsAgentComponent.ts +71 -0
  267. package/src/dialogsComponentRegistration.ts +49 -0
  268. package/src/i18n.ts +17 -0
  269. package/src/index.ts +31 -0
  270. package/src/intentScore.ts +11 -0
  271. package/src/memory/componentMemoryScopes.ts +28 -0
  272. package/src/memory/componentPathResolvers.ts +29 -0
  273. package/src/memory/dialogPath.ts +33 -0
  274. package/src/memory/dialogStateManager.ts +661 -0
  275. package/src/memory/index.ts +12 -0
  276. package/src/memory/pathResolvers/aliasPathResolver.ts +44 -0
  277. package/src/memory/pathResolvers/atAtPathResolver.ts +14 -0
  278. package/src/memory/pathResolvers/atPathResolver.ts +45 -0
  279. package/src/memory/pathResolvers/dollarPathResolver.ts +14 -0
  280. package/src/memory/pathResolvers/hashPathResolver.ts +14 -0
  281. package/src/memory/pathResolvers/index.ts +11 -0
  282. package/src/memory/pathResolvers/pathResolver.ts +14 -0
  283. package/src/memory/pathResolvers/percentPathResolver.ts +14 -0
  284. package/src/memory/scopePath.ts +19 -0
  285. package/src/memory/scopes/agentStateMemoryScope.ts +92 -0
  286. package/src/memory/scopes/classMemoryScope.ts +71 -0
  287. package/src/memory/scopes/conversationMemoryScope.ts +19 -0
  288. package/src/memory/scopes/dialogClassMemoryScope.ts +43 -0
  289. package/src/memory/scopes/dialogContextMemoryScope.ts +51 -0
  290. package/src/memory/scopes/dialogMemoryScope.ts +79 -0
  291. package/src/memory/scopes/index.ts +15 -0
  292. package/src/memory/scopes/memoryScope.ts +70 -0
  293. package/src/memory/scopes/settingsMemoryScope.ts +239 -0
  294. package/src/memory/scopes/thisMemoryScope.ts +44 -0
  295. package/src/memory/scopes/turnMemoryScope.ts +54 -0
  296. package/src/memory/scopes/userMemoryScope.ts +19 -0
  297. package/src/memory/turnPath.ts +45 -0
  298. package/src/prompts/activityPrompt.ts +202 -0
  299. package/src/prompts/attachmentPrompt.ts +62 -0
  300. package/src/prompts/choicePrompt.ts +176 -0
  301. package/src/prompts/confirmPrompt.ts +182 -0
  302. package/src/prompts/datetimePrompt.ts +110 -0
  303. package/src/prompts/index.ts +13 -0
  304. package/src/prompts/numberPrompt.ts +117 -0
  305. package/src/prompts/prompt.ts +459 -0
  306. package/src/prompts/promptCultureModels.ts +178 -0
  307. package/src/prompts/textPrompt.ts +82 -0
  308. package/src/recognizer.ts +127 -0
  309. package/src/recognizerResult.ts +37 -0
  310. package/src/serviceCollection.ts +305 -0
  311. package/src/stringUtils.ts +62 -0
  312. package/src/template.ts +20 -0
  313. package/src/waterfallDialog.ts +215 -0
  314. package/src/waterfallStepContext.ts +96 -0
  315. package/vendor/cldr-data/README.md +5 -0
  316. package/vendor/cldr-data/main/de/numbers.json +156 -0
  317. package/vendor/cldr-data/main/en/numbers.json +159 -0
  318. package/vendor/cldr-data/main/es/numbers.json +156 -0
  319. package/vendor/cldr-data/main/fr/numbers.json +157 -0
  320. package/vendor/cldr-data/main/ja/numbers.json +120 -0
  321. package/vendor/cldr-data/main/nl/numbers.json +156 -0
  322. package/vendor/cldr-data/main/pt/numbers.json +156 -0
  323. package/vendor/cldr-data/main/zh/numbers.json +214 -0
  324. package/vendor/cldr-data/supplemental/likelySubtags.json +1844 -0
  325. package/vendor/cldr-data/supplemental/numberingSystems.json +343 -0
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PromptCultureModels = void 0;
4
+ const recognizers_text_suite_1 = require("@microsoft/recognizers-text-suite");
5
+ /**
6
+ * Class container for currently-supported Culture Models in Confirm and Choice Prompt.
7
+ */
8
+ class PromptCultureModels {
9
+ /**
10
+ * @private
11
+ */
12
+ static getSupportedCultureCodes() {
13
+ return this.getSupportedCultures().map((c) => c.locale);
14
+ }
15
+ /**
16
+ * Use Recognizers-Text to normalize various potential Locale strings to a standard.
17
+ *
18
+ * @remarks This is mostly a copy/paste from https://github.com/microsoft/Recognizers-Text/blob/master/JavaScript/packages/recognizers-text/src/culture.ts#L39
19
+ * This doesn't directly use Recognizers-Text's MapToNearestLanguage because if they add language support before we do, it will break our prompts.
20
+ * @param cultureCode Represents locale. Examples: "en-US, en-us, EN".
21
+ * @returns Normalized locale.
22
+ */
23
+ static mapToNearestLanguage(cultureCode) {
24
+ if (cultureCode) {
25
+ cultureCode = cultureCode.toLowerCase();
26
+ const supportedCultureCodes = this.getSupportedCultureCodes();
27
+ if (supportedCultureCodes.indexOf(cultureCode) < 0) {
28
+ const culturePrefix = cultureCode.split('-')[0].trim();
29
+ supportedCultureCodes.forEach(function (supportedCultureCode) {
30
+ if (supportedCultureCode.startsWith(culturePrefix)) {
31
+ cultureCode = supportedCultureCode;
32
+ }
33
+ });
34
+ }
35
+ }
36
+ return cultureCode;
37
+ }
38
+ }
39
+ exports.PromptCultureModels = PromptCultureModels;
40
+ PromptCultureModels.Chinese = {
41
+ locale: recognizers_text_suite_1.Culture.Chinese,
42
+ separator: ', ',
43
+ inlineOr: ' 要么 ',
44
+ inlineOrMore: ', 要么 ',
45
+ yesInLanguage: '是的',
46
+ noInLanguage: '不',
47
+ };
48
+ PromptCultureModels.Dutch = {
49
+ locale: recognizers_text_suite_1.Culture.Dutch,
50
+ separator: ', ',
51
+ inlineOr: ' of ',
52
+ inlineOrMore: ', of ',
53
+ yesInLanguage: 'Ja',
54
+ noInLanguage: 'Nee',
55
+ };
56
+ PromptCultureModels.English = {
57
+ locale: recognizers_text_suite_1.Culture.English,
58
+ separator: ', ',
59
+ inlineOr: ' or ',
60
+ inlineOrMore: ', or ',
61
+ yesInLanguage: 'Yes',
62
+ noInLanguage: 'No',
63
+ };
64
+ PromptCultureModels.French = {
65
+ locale: recognizers_text_suite_1.Culture.French,
66
+ separator: ', ',
67
+ inlineOr: ' ou ',
68
+ inlineOrMore: ', ou ',
69
+ yesInLanguage: 'Oui',
70
+ noInLanguage: 'Non',
71
+ };
72
+ PromptCultureModels.German = {
73
+ locale: recognizers_text_suite_1.Culture.German,
74
+ separator: ', ',
75
+ inlineOr: ' oder ',
76
+ inlineOrMore: ', oder ',
77
+ yesInLanguage: 'Ja',
78
+ noInLanguage: 'Nein',
79
+ };
80
+ PromptCultureModels.Italian = {
81
+ locale: recognizers_text_suite_1.Culture.Italian,
82
+ separator: ', ',
83
+ inlineOr: ' o ',
84
+ inlineOrMore: ' o ',
85
+ yesInLanguage: 'Si',
86
+ noInLanguage: 'No',
87
+ };
88
+ PromptCultureModels.Japanese = {
89
+ locale: recognizers_text_suite_1.Culture.Japanese,
90
+ separator: '、 ',
91
+ inlineOr: ' または ',
92
+ inlineOrMore: '、 または ',
93
+ yesInLanguage: 'はい',
94
+ noInLanguage: 'いいえ',
95
+ };
96
+ PromptCultureModels.Portuguese = {
97
+ locale: recognizers_text_suite_1.Culture.Portuguese,
98
+ separator: ', ',
99
+ inlineOr: ' ou ',
100
+ inlineOrMore: ', ou ',
101
+ yesInLanguage: 'Sim',
102
+ noInLanguage: 'Não',
103
+ };
104
+ PromptCultureModels.Spanish = {
105
+ locale: recognizers_text_suite_1.Culture.Spanish,
106
+ separator: ', ',
107
+ inlineOr: ' o ',
108
+ inlineOrMore: ', o ',
109
+ yesInLanguage: 'Sí',
110
+ noInLanguage: 'No',
111
+ };
112
+ PromptCultureModels.getSupportedCultures = () => [
113
+ PromptCultureModels.Chinese,
114
+ PromptCultureModels.Dutch,
115
+ PromptCultureModels.English,
116
+ PromptCultureModels.French,
117
+ PromptCultureModels.German,
118
+ PromptCultureModels.Italian,
119
+ PromptCultureModels.Japanese,
120
+ PromptCultureModels.Portuguese,
121
+ PromptCultureModels.Spanish,
122
+ ];
123
+ //# sourceMappingURL=promptCultureModels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptCultureModels.js","sourceRoot":"","sources":["../../../src/prompts/promptCultureModels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ import { TurnContext } from '@microsoft/agents-hosting';
6
+ import { Prompt, PromptOptions, PromptRecognizerResult, PromptValidator } from './prompt';
7
+ import { DialogContext } from '../dialogContext';
8
+ import { DialogEvent } from '../dialogEvent';
9
+ /**
10
+ * Prompts a user to enter some text.
11
+ *
12
+ * @remarks
13
+ * By default the prompt will return to the calling dialog a `string` representing the users reply.
14
+ */
15
+ export declare class TextPrompt extends Prompt<string> {
16
+ constructor(dialogId?: string, validator?: PromptValidator<string>);
17
+ /**
18
+ * Prompts the user for input.
19
+ *
20
+ * @param context TurnContext, context for the current
21
+ * turn of conversation with the user.
22
+ * @param state Contains state for the current instance of the prompt on the dialog stack.
23
+ * @param options A PromptOptions object constructed
24
+ * from the options initially provided in the call to Prompt.
25
+ * @param isRetry `true` if this is the first time this prompt dialog instance
26
+ * on the stack is prompting the user for input; otherwise, false.
27
+ * @returns A `Promise` representing the asynchronous operation.
28
+ */
29
+ protected onPrompt(context: TurnContext, state: any, options: PromptOptions, isRetry: boolean): Promise<void>;
30
+ /**
31
+ * Attempts to recognize the user's input.
32
+ *
33
+ * @param context TurnContext, context for the current
34
+ * turn of conversation with the user.
35
+ * @param _state Contains state for the current instance of the prompt on the dialog stack.
36
+ * @param _options A PromptOptions object constructed
37
+ * from the options initially provided in the call to Prompt.
38
+ * @returns A `Promise` representing the asynchronous operation.
39
+ */
40
+ protected onRecognize(context: TurnContext, _state: any, _options: PromptOptions): Promise<PromptRecognizerResult<string>>;
41
+ /**
42
+ * Called before an event is bubbled to its parent.
43
+ *
44
+ * @param _dc The DialogContext for the current
45
+ * turn of conversation.
46
+ * @param _event DialogEvent, the event being raised.
47
+ * @returns Whether the event is handled by the current dialog and further processing should stop.
48
+ * @remarks
49
+ * This is a good place to perform interception of an event as returning `true` will prevent
50
+ * any further bubbling of the event to the dialogs parents and will also prevent any child
51
+ * dialogs from performing their default processing.
52
+ */
53
+ protected onPreBubbleEvent(_dc: DialogContext, _event: DialogEvent): Promise<boolean>;
54
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextPrompt = void 0;
4
+ /**
5
+ * Copyright (c) Microsoft Corporation. All rights reserved.
6
+ * Licensed under the MIT License.
7
+ */
8
+ const agents_hosting_1 = require("@microsoft/agents-hosting");
9
+ const prompt_1 = require("./prompt");
10
+ /**
11
+ * Prompts a user to enter some text.
12
+ *
13
+ * @remarks
14
+ * By default the prompt will return to the calling dialog a `string` representing the users reply.
15
+ */
16
+ class TextPrompt extends prompt_1.Prompt {
17
+ // eslint-disable-next-line @typescript-eslint/no-useless-constructor
18
+ constructor(dialogId, validator) {
19
+ super(dialogId, validator);
20
+ }
21
+ /**
22
+ * Prompts the user for input.
23
+ *
24
+ * @param context TurnContext, context for the current
25
+ * turn of conversation with the user.
26
+ * @param state Contains state for the current instance of the prompt on the dialog stack.
27
+ * @param options A PromptOptions object constructed
28
+ * from the options initially provided in the call to Prompt.
29
+ * @param isRetry `true` if this is the first time this prompt dialog instance
30
+ * on the stack is prompting the user for input; otherwise, false.
31
+ * @returns A `Promise` representing the asynchronous operation.
32
+ */
33
+ async onPrompt(context, state, options, isRetry) {
34
+ if (isRetry && options.retryPrompt) {
35
+ await context.sendActivity(options.retryPrompt, undefined, agents_hosting_1.InputHints.ExpectingInput);
36
+ }
37
+ else if (options.prompt) {
38
+ await context.sendActivity(options.prompt, undefined, agents_hosting_1.InputHints.ExpectingInput);
39
+ }
40
+ }
41
+ /**
42
+ * Attempts to recognize the user's input.
43
+ *
44
+ * @param context TurnContext, context for the current
45
+ * turn of conversation with the user.
46
+ * @param _state Contains state for the current instance of the prompt on the dialog stack.
47
+ * @param _options A PromptOptions object constructed
48
+ * from the options initially provided in the call to Prompt.
49
+ * @returns A `Promise` representing the asynchronous operation.
50
+ */
51
+ async onRecognize(context, _state, _options) {
52
+ const value = context.activity.text;
53
+ return typeof value === 'string' && value.length > 0 ? { succeeded: true, value } : { succeeded: false };
54
+ }
55
+ /**
56
+ * Called before an event is bubbled to its parent.
57
+ *
58
+ * @param _dc The DialogContext for the current
59
+ * turn of conversation.
60
+ * @param _event DialogEvent, the event being raised.
61
+ * @returns Whether the event is handled by the current dialog and further processing should stop.
62
+ * @remarks
63
+ * This is a good place to perform interception of an event as returning `true` will prevent
64
+ * any further bubbling of the event to the dialogs parents and will also prevent any child
65
+ * dialogs from performing their default processing.
66
+ */
67
+ async onPreBubbleEvent(_dc, _event) {
68
+ return false;
69
+ }
70
+ }
71
+ exports.TextPrompt = TextPrompt;
72
+ //# sourceMappingURL=textPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textPrompt.js","sourceRoot":"","sources":["../../../src/prompts/textPrompt.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,8DAAmE;AACnE,qCAAyF;AAIzF;;;;;GAKG;AACH,MAAa,UAAW,SAAQ,eAAc;IAC5C,qEAAqE;IACrE,YAAa,QAAiB,EAAE,SAAmC;QACjE,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5B,CAAC;IAED;;;;;;;;;;;SAWK;IACK,KAAK,CAAC,QAAQ,CACtB,OAAoB,EACpB,KAAU,EACV,OAAsB,EACtB,OAAgB;QAEhB,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,2BAAU,CAAC,cAAc,CAAC,CAAA;QACvF,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,2BAAU,CAAC,cAAc,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IAED;;;;;;;;;SASK;IACK,KAAK,CAAC,WAAW,CACzB,OAAoB,EACpB,MAAW,EACX,QAAuB;QAEvB,MAAM,KAAK,GAAW,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAA;QAE3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IAC1G,CAAC;IAED;;;;;;;;;;;SAWK;IACK,KAAK,CAAC,gBAAgB,CAAE,GAAkB,EAAE,MAAmB;QACvE,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAlED,gCAkEC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ import { Activity } from '@microsoft/agents-hosting';
6
+ import { Configurable } from './configurable';
7
+ import { DialogContext } from './dialogContext';
8
+ import { RecognizerResult } from './recognizerResult';
9
+ export interface RecognizerConfiguration {
10
+ id?: string;
11
+ }
12
+ /**
13
+ * Recognizer base class.
14
+ */
15
+ export declare class Recognizer extends Configurable implements RecognizerConfiguration {
16
+ id?: string;
17
+ /**
18
+ * To recognize intents and entities in a users utterance.
19
+ *
20
+ * @param {DialogContext} _dialogContext Dialog Context.
21
+ * @param {Partial<Activity>} _activity Activity.
22
+ * @param {Record<string, string>} _telemetryProperties Additional properties to be logged to telemetry with event.
23
+ * @param {Record<string, number>} _telemetryMetrics Additional metrics to be logged to telemetry with event.
24
+ */
25
+ recognize(_dialogContext: DialogContext, _activity: Partial<Activity>, _telemetryProperties?: Record<string, string>, _telemetryMetrics?: Record<string, number>): Promise<RecognizerResult>;
26
+ /**
27
+ * Creates choose intent result in the case that there are conflicting or ambiguous signals from the recognizers.
28
+ *
29
+ * @param {Record<string, RecognizerResult>} recognizerResults A group of recognizer results.
30
+ * @returns {RecognizerResult} Recognizer result which is ChooseIntent.
31
+ */
32
+ protected createChooseIntentResult(recognizerResults: Record<string, RecognizerResult>): RecognizerResult;
33
+ /**
34
+ * Uses the RecognizerResult to create a list of properties to be included when tracking the result in telemetry.
35
+ *
36
+ * @param {RecognizerResult} recognizerResult Recognizer Result.
37
+ * @param {Record<string, string>} telemetryProperties A list of properties to append or override the properties created using the RecognizerResult.
38
+ * @param {DialogContext} _dialogContext Dialog Context.
39
+ * @returns {Record<string, string>} A collection of properties that can be included when calling the TrackEvent method on the TelemetryClient.
40
+ */
41
+ protected fillRecognizerResultTelemetryProperties(recognizerResult: RecognizerResult, telemetryProperties: Record<string, string>, _dialogContext?: DialogContext): Record<string, string>;
42
+ protected stringifyAdditionalPropertiesOfRecognizerResult(recognizerResult: RecognizerResult): string;
43
+ }
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Recognizer = void 0;
7
+ const configurable_1 = require("./configurable");
8
+ const omit_1 = __importDefault(require("lodash/omit"));
9
+ const recognizerResult_1 = require("./recognizerResult");
10
+ /**
11
+ * Recognizer base class.
12
+ */
13
+ class Recognizer extends configurable_1.Configurable {
14
+ /**
15
+ * To recognize intents and entities in a users utterance.
16
+ *
17
+ * @param {DialogContext} _dialogContext Dialog Context.
18
+ * @param {Partial<Activity>} _activity Activity.
19
+ * @param {Record<string, string>} _telemetryProperties Additional properties to be logged to telemetry with event.
20
+ * @param {Record<string, number>} _telemetryMetrics Additional metrics to be logged to telemetry with event.
21
+ */
22
+ recognize(_dialogContext, _activity, _telemetryProperties, _telemetryMetrics) {
23
+ throw new Error('Please implement recognize function.');
24
+ }
25
+ /**
26
+ * Creates choose intent result in the case that there are conflicting or ambiguous signals from the recognizers.
27
+ *
28
+ * @param {Record<string, RecognizerResult>} recognizerResults A group of recognizer results.
29
+ * @returns {RecognizerResult} Recognizer result which is ChooseIntent.
30
+ */
31
+ createChooseIntentResult(recognizerResults) {
32
+ let text = '';
33
+ let sentiment = {};
34
+ const candidates = Object.entries(recognizerResults).reduce((candidates, [key, result]) => {
35
+ text = result.text;
36
+ sentiment = result.sentiment;
37
+ const { intent, score } = (0, recognizerResult_1.getTopScoringIntent)(result);
38
+ if (intent !== 'None') {
39
+ candidates.push({
40
+ id: key,
41
+ intent,
42
+ score,
43
+ result,
44
+ });
45
+ }
46
+ return candidates;
47
+ }, []);
48
+ if (candidates.length) {
49
+ const recognizerResult = {
50
+ text,
51
+ intents: { ChooseIntent: { score: 1.0 } },
52
+ candidates,
53
+ entities: {},
54
+ };
55
+ return recognizerResult;
56
+ }
57
+ // just return a `None` intent.
58
+ const recognizerResult = {
59
+ text,
60
+ intents: { None: { score: 1.0 } },
61
+ entities: {},
62
+ sentiment,
63
+ };
64
+ return recognizerResult;
65
+ }
66
+ /**
67
+ * Uses the RecognizerResult to create a list of properties to be included when tracking the result in telemetry.
68
+ *
69
+ * @param {RecognizerResult} recognizerResult Recognizer Result.
70
+ * @param {Record<string, string>} telemetryProperties A list of properties to append or override the properties created using the RecognizerResult.
71
+ * @param {DialogContext} _dialogContext Dialog Context.
72
+ * @returns {Record<string, string>} A collection of properties that can be included when calling the TrackEvent method on the TelemetryClient.
73
+ */
74
+ fillRecognizerResultTelemetryProperties(recognizerResult, telemetryProperties, _dialogContext) {
75
+ var _a;
76
+ const { intent, score } = (0, recognizerResult_1.getTopScoringIntent)(recognizerResult);
77
+ const intents = Object.entries(recognizerResult.intents);
78
+ const properties = {
79
+ Text: recognizerResult.text,
80
+ AlteredText: (_a = recognizerResult.alteredText) !== null && _a !== void 0 ? _a : '',
81
+ TopIntent: intents.length > 0 ? intent : '',
82
+ TopIntentScore: intents.length > 0 ? score.toString() : '',
83
+ Intents: intents.length > 0 ? JSON.stringify(recognizerResult.intents) : '',
84
+ Entities: recognizerResult.entities ? JSON.stringify(recognizerResult.entities) : '',
85
+ AdditionalProperties: JSON.stringify((0, omit_1.default)(recognizerResult, ['text', 'alteredText', 'intents', 'entities'])),
86
+ };
87
+ if (telemetryProperties) {
88
+ return Object.assign({}, properties, telemetryProperties);
89
+ }
90
+ return properties;
91
+ }
92
+ stringifyAdditionalPropertiesOfRecognizerResult(recognizerResult) {
93
+ const generalProperties = new Set(['text', 'alteredText', 'intents', 'entities']);
94
+ const additionalProperties = {};
95
+ for (const key in recognizerResult) {
96
+ if (!generalProperties.has(key)) {
97
+ additionalProperties[key] = recognizerResult[key];
98
+ }
99
+ }
100
+ return Object.keys(additionalProperties).length > 0 ? JSON.stringify(additionalProperties) : '';
101
+ }
102
+ }
103
+ exports.Recognizer = Recognizer;
104
+ //# sourceMappingURL=recognizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recognizer.js","sourceRoot":"","sources":["../../src/recognizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ import { IntentScore } from './intentScore';
6
+ /**
7
+ * Value returned from a recognizer.
8
+ */
9
+ export interface RecognizerResult {
10
+ text: string;
11
+ alteredText?: string;
12
+ intents: Record<string, IntentScore>;
13
+ entities?: any;
14
+ [propName: string]: any;
15
+ }
16
+ export declare const getTopScoringIntent: (result: RecognizerResult) => {
17
+ intent: string;
18
+ score: number;
19
+ };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTopScoringIntent = void 0;
4
+ const getTopScoringIntent = (result) => {
5
+ var _a;
6
+ if (!result || !result.intents) {
7
+ throw new Error('result is empty');
8
+ }
9
+ let topIntent = '';
10
+ let topScore = -1;
11
+ for (const [intentName, intent] of Object.entries(result.intents)) {
12
+ const score = (_a = intent.score) !== null && _a !== void 0 ? _a : -1;
13
+ if (!topIntent || score > topScore) {
14
+ topIntent = intentName;
15
+ topScore = score;
16
+ }
17
+ }
18
+ return {
19
+ intent: topIntent,
20
+ score: topScore,
21
+ };
22
+ };
23
+ exports.getTopScoringIntent = getTopScoringIntent;
24
+ //# sourceMappingURL=recognizerResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recognizerResult.js","sourceRoot":"","sources":["../../src/recognizerResult.ts"],"names":[],"mappings":";;;AAiBO,MAAM,mBAAmB,GAAG,CAAC,MAAwB,EAAqC,EAAE;;IACjG,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,SAAS,GAAG,EAAE,CAAA;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAA;IACjB,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,KAAK,mCAAI,CAAC,CAAC,CAAA;QAChC,IAAI,CAAC,SAAS,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACnC,SAAS,GAAG,UAAU,CAAA;YACtB,QAAQ,GAAG,KAAK,CAAA;QAClB,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,QAAQ;KAChB,CAAA;AACH,CAAC,CAAA;AAnBY,QAAA,mBAAmB,uBAmB/B"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Factory describes a generic factory function signature. The type is generic over a few parameters:
3
+ *
4
+ * @template Type type the factory produces
5
+ * @template Initial true if the `initialValue` passed to the factory must be defined
6
+ */
7
+ export type Factory<Type, Initial extends boolean> = (initialValue: Initial extends true ? Type : Type | undefined) => Type;
8
+ /**
9
+ * DependencyFactory is a function signature that produces an instance that depends on a set of
10
+ * other services. The type is generic over a few parameters:
11
+ *
12
+ * @template Type type the factory produces
13
+ * @template Dependencies the services this factory function depends on
14
+ * @template Initial true if the `initialValue` passed to the factory must be defined
15
+ */
16
+ export type DependencyFactory<Type, Dependencies, Initial extends boolean> = (dependencies: Dependencies, initialValue: Initial extends true ? Type : Type | undefined) => Type;
17
+ /**
18
+ * ServiceCollection is an interface that describes a set of methods to register services. This, in a lighter way,
19
+ * mimics the .NET dependency injection service collection functionality, except for instances rather than types.
20
+ */
21
+ export declare class ServiceCollection {
22
+ private readonly dependencies;
23
+ /**
24
+ * `DepGraph` is a dependency graph data structure. In our case, the services we support are encoded as a
25
+ * dependency graph where nodes are named with a key and store a list of factory methods.
26
+ */
27
+ private readonly graph;
28
+ /**
29
+ * Cache constructed instances for reuse
30
+ */
31
+ private cache;
32
+ /**
33
+ * Construct a Providers instance
34
+ *
35
+ * @template S services interface
36
+ * @param defaultServices default set of services
37
+ */
38
+ constructor(defaultServices?: Record<string, unknown>);
39
+ /**
40
+ * Register an instance by key. This will overwrite existing instances.
41
+ *
42
+ * @param key key of the instance being provided
43
+ * @param instance instance to provide
44
+ * @returns this for chaining
45
+ */
46
+ addInstance<InstanceType>(key: string, instance: InstanceType): this;
47
+ /**
48
+ * Register a factory for a key.
49
+ *
50
+ * @param key key that factory will provide
51
+ * @param factory function that creates an instance to provide
52
+ * @returns this for chaining
53
+ */
54
+ addFactory<InstanceType>(key: string, factory: Factory<InstanceType, false>): this;
55
+ /**
56
+ * Register a factory for a key with a set of dependencies.
57
+ *
58
+ * @param key key that factory will provide
59
+ * @param dependencies set of things this instance depends on. Will be provided to factory function via `services`.
60
+ * @param factory function that creates an instance to provide
61
+ * @returns this for chaining
62
+ */
63
+ addFactory<InstanceType, Dependencies>(key: string, dependencies: string[], factory: DependencyFactory<InstanceType, Dependencies, false>): this;
64
+ /**
65
+ * Register a factory (that expects the initial value that is not undefined) for a key.
66
+ *
67
+ * @param key key of the instance being provided
68
+ * @param instance instance to provide
69
+ * @returns this for chaining
70
+ */
71
+ composeFactory<InstanceType>(key: string, factory: Factory<InstanceType, true>): this;
72
+ /**
73
+ * Register a factory (that expects an initial value that is not undefined) for a key
74
+ * with a set of dependencies.
75
+ *
76
+ * @param key key that factory will provide
77
+ * @param dependencies set of things this instance depends on. Will be provided to factory function via `services`.
78
+ * @param factory function that creates an instance to provide
79
+ * @returns this for chaining
80
+ */
81
+ composeFactory<InstanceType, Dependencies>(key: string, dependencies: string[], factory: DependencyFactory<InstanceType, Dependencies, true>): this;
82
+ private buildNodes;
83
+ /**
84
+ * Build a single service.
85
+ *
86
+ * @param key service to build
87
+ * @param deep reconstruct all dependencies
88
+ * @returns the service instance, or undefined
89
+ */
90
+ makeInstance<InstanceType = unknown>(key: string, deep?: boolean): InstanceType | undefined;
91
+ /**
92
+ * Build a single service and assert that it is not undefined.
93
+ *
94
+ * @param key service to build
95
+ * @param deep reconstruct all dependencies
96
+ * @returns the service instance
97
+ */
98
+ mustMakeInstance<InstanceType = unknown>(key: string, deep?: boolean): InstanceType;
99
+ /**
100
+ * Build the full set of services.
101
+ *
102
+ * @returns all resolved services
103
+ */
104
+ makeInstances<InstancesType>(): InstancesType;
105
+ /**
106
+ * Build the full set of services, asserting that the specified keys are not undefined.
107
+ *
108
+ * @param keys instances that must be not undefined
109
+ * @returns all resolve services
110
+ */
111
+ mustMakeInstances<InstancesType extends Record<string, unknown> = Record<string, unknown>>(...keys: string[]): InstancesType;
112
+ }